| | |
| | | import com.zy.core.DevpThread; |
| | | import com.zy.core.cache.MessageQueue; |
| | | import com.zy.core.cache.OutputQueue; |
| | | import com.zy.core.enums.IoModeType; |
| | | import com.zy.core.enums.SlaveType; |
| | | import com.zy.core.model.DevpSlave; |
| | | import com.zy.core.model.Task; |
| | |
| | | add(150);add(151);add(152);add(153);add(154);add(155);add(156);add(157);add(158);add(159); |
| | | add(160);add(161);add(162);add(163);add(164);add(165);add(166);add(167);add(168);add(169); |
| | | add(170);add(171);add(172);add(173);add(174);add(175);add(176);add(177);add(178);add(179); |
| | | add(180);add(181);add(182); |
| | | add(180);add(181);add(182);add(183);add(184);add(185);add(186);add(187);add(188);add(189); |
| | | add(190);add(191);add(192); |
| | | }}; |
| | | |
| | | public IoModeType ioMode = IoModeType.NONE; |
| | | |
| | | public SiemensDevpThread(DevpSlave slave) { |
| | | this.slave = slave; |
| | |
| | | * 读取状态 ====> 整块plc |
| | | */ |
| | | private void read() throws InterruptedException { |
| | | OperateResultExOne<byte[]> result = siemensS7Net.Read("DB100.0", (short) 166); |
| | | // 更新入出库模式 |
| | | updateIoMode(); |
| | | OperateResultExOne<byte[]> result = siemensS7Net.Read("DB100.0", (short) 186); |
| | | if (result.IsSuccess) { |
| | | for (int i = 0; i < 83; i++) { |
| | | Integer siteId = staNos.get(i); // 站点编号 |
| | |
| | | } |
| | | } |
| | | Thread.sleep(200); |
| | | OperateResultExOne<byte[]> result0 = siemensS7Net.Read("DB101.0", (short) 166); |
| | | OperateResultExOne<byte[]> result0 = siemensS7Net.Read("DB101.0", (short) 186); |
| | | if (result0.IsSuccess) { |
| | | for (int i = 0; i < 83; i++) { |
| | | Integer siteId = staNos.get(i); // 站点编号 |
| | |
| | | } |
| | | } |
| | | Thread.sleep(200); |
| | | OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB102.0", (short) 166); |
| | | OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB102.0", (short) 186); |
| | | if (result1.IsSuccess) { |
| | | for (int i = 0; i < 83; i++) { |
| | | Integer siteId = staNos.get(i); // 站点编号 |
| | |
| | | staProtocol.setPakMk(true); |
| | | } |
| | | } |
| | | } |
| | | |
| | | OperateResultExOne<Short> result2 = siemensS7Net.ReadInt16("DB200.0"); |
| | | if (result2.IsSuccess) { |
| | | this.ioMode = IoModeType.get(result2.Content); |
| | | } |
| | | |
| | | if (result.IsSuccess && result0.IsSuccess && result1.IsSuccess) { |
| | |
| | | } |
| | | } |
| | | |
| | | // 更新入出库模式 |
| | | private void updateIoMode() throws InterruptedException { |
| | | if (this.ioMode != IoModeType.NONE) { |
| | | if (!siemensS7Net.Write("DB200", this.ioMode.id).IsSuccess) { |
| | | OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线1F入出库模式失败。输送线plc编号={1}", slave.getId())); |
| | | log.error("写入输送线1F入出库模式失败。输送线plc编号={}", slave.getId()); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 心跳 |
| | | */ |