| | |
| | | case 1: |
| | | read(); |
| | | break; |
| | | // 写数据 |
| | | // 写数据 ID+目标站 |
| | | case 2: |
| | | write((StaProtocol)task.getData()); |
| | | break; |
| | | // 写数据 ID |
| | | case 3: |
| | | writeId((StaProtocol)task.getData()); |
| | | break; |
| | | // 写数据 目标站 |
| | | case 4: |
| | | writeStaNo((StaProtocol)task.getData()); |
| | | break; |
| | | default: |
| | | break; |
| | |
| | | } |
| | | |
| | | /** |
| | | * 写入 =====> 单站点写入 |
| | | * 写入 ID+目标站 =====> 单站点写入 |
| | | */ |
| | | private void write(StaProtocol staProtocol){ |
| | | if (null == staProtocol) { |
| | |
| | | } |
| | | OperateResult write = siemensS7Net.Write("DB100." + (staProtocol.getSiteId() - 1) * 2, staProtocol.getWorkNo()); // 工作号 |
| | | OperateResult write1 = siemensS7Net.Write("DB100." + ((staProtocol.getSiteId() - 1) * 2 + 20), staProtocol.getStaNo()); // 目标站 |
| | | boolean[] status = new boolean[8]; |
| | | status[0] = staProtocol.isAutoing(); |
| | | status[1] = staProtocol.isLoading(); |
| | | status[2] = staProtocol.isInEnable(); |
| | | status[3] = staProtocol.isOutEnable(); |
| | | status[4] = staProtocol.isEmptyMk(); |
| | | OperateResult write2 = siemensS7Net.Write("DB100." + ((staProtocol.getSiteId() - 1) + 40), status); // 状态 |
| | | if (!write.IsSuccess || !write1.IsSuccess || !write2.IsSuccess) { |
| | | // boolean[] status = new boolean[8]; |
| | | // status[0] = staProtocol.isAutoing(); |
| | | // status[1] = staProtocol.isLoading(); |
| | | // status[2] = staProtocol.isInEnable(); |
| | | // status[3] = staProtocol.isOutEnable(); |
| | | // status[4] = staProtocol.isEmptyMk(); |
| | | // OperateResult write2 = siemensS7Net.Write("DB100." + ((staProtocol.getSiteId() - 1) + 40), status); // 状态 |
| | | if (!write.IsSuccess || !write1.IsSuccess) { |
| | | OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线站点数据失败。输送线plc编号={1},站点数据={2}", slave.getId(), JSON.toJSON(staProtocol))); |
| | | log.error("写入输送线站点数据失败。输送线plc编号={},站点数据={}", slave.getId(), JSON.toJSON(staProtocol)); |
| | | } else { |
| | | OutputQueue.DEVP.offer(MessageFormat.format("【{0}】[id:{1}] >>>>> 命令下发: {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(staProtocol))); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 写入 ID =====> 单站点写入 |
| | | */ |
| | | private void writeId(StaProtocol staProtocol){ |
| | | if (null == staProtocol) { |
| | | return; |
| | | } |
| | | OperateResult write = siemensS7Net.Write("DB100." + (staProtocol.getSiteId() - 1) * 2, staProtocol.getWorkNo()); // 工作号 |
| | | if (!write.IsSuccess ) { |
| | | OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线站点数据失败。输送线plc编号={1},站点数据={2}", slave.getId(), JSON.toJSON(staProtocol))); |
| | | log.error("写入输送线站点数据失败。输送线plc编号={},站点数据={}", slave.getId(), JSON.toJSON(staProtocol)); |
| | | } else { |
| | | OutputQueue.DEVP.offer(MessageFormat.format("【{0}】[id:{1}] >>>>> {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(staProtocol))); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 写入 目标站 =====> 单站点写入 |
| | | */ |
| | | private void writeStaNo(StaProtocol staProtocol){ |
| | | if (null == staProtocol) { |
| | | return; |
| | | } |
| | | OperateResult write = siemensS7Net.Write("DB100." + ((staProtocol.getSiteId() - 1) * 2 + 20), staProtocol.getStaNo()); // 目标站 |
| | | if (!write.IsSuccess ) { |
| | | OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线站点数据失败。输送线plc编号={1},站点数据={2}", slave.getId(), JSON.toJSON(staProtocol))); |
| | | log.error("写入输送线站点数据失败。输送线plc编号={},站点数据={}", slave.getId(), JSON.toJSON(staProtocol)); |
| | | } else { |