|  |  | 
 |  |  |     private short heartBeatVal = 1; | 
 |  |  |     public static final ArrayList<Integer> staNos = new ArrayList<Integer>() {{ | 
 |  |  |         add(100);add(101);add(102);add(103);add(104);add(105);add(106); | 
 |  |  |     }}; | 
 |  |  |  | 
 |  |  |     public static final ArrayList<Integer> staNos1 = new ArrayList<Integer>() {{ | 
 |  |  |         add(110);add(111);add(112);add(113);add(114);add(115);add(116); | 
 |  |  |         add(200);add(201);add(202);add(203);add(204);add(205); | 
 |  |  |         add(300);add(301);add(302);add(303);add(304);add(305); | 
 |  |  | 
 |  |  |     /** | 
 |  |  |      * 条码数量 | 
 |  |  |      */ | 
 |  |  |     private int barcodeSize = 1; | 
 |  |  |     private int barcodeSize = 8; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 入出库模式 | 
 |  |  | 
 |  |  |      * 3.出库启动中 (不能生成入库工作档) | 
 |  |  |      * 4.出库模式 | 
 |  |  |      */ | 
 |  |  |     public IoModeType ioModeOf2F = IoModeType.NONE; | 
 |  |  |     public IoModeType ioModeOf4F = IoModeType.NONE; | 
 |  |  |     public IoModeType ioModeOf1F1 = IoModeType.NONE; | 
 |  |  |     public IoModeType ioModeOf1F2 = IoModeType.NONE; | 
 |  |  |     public IoModeType ioModeOf1F3 = IoModeType.NONE; | 
 |  |  |     public IoModeType ioModeOf1F4 = IoModeType.NONE; | 
 |  |  |     public IoModeType ioModeOf2F1 = IoModeType.NONE; | 
 |  |  |     public IoModeType ioModeOf2F2 = IoModeType.NONE; | 
 |  |  |     public IoModeType ioModeOf3F1 = IoModeType.NONE; | 
 |  |  |     public IoModeType ioModeOf3F2 = IoModeType.NONE; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     public SiemensDevpThread(DevpSlave slave) { | 
 |  |  |         this.slave = slave; | 
 |  |  | 
 |  |  |      * 读取状态 ====> 整块plc | 
 |  |  |      */ | 
 |  |  |     private void read() throws InterruptedException { | 
 |  |  | //        // 更新入出库模式 | 
 |  |  | //        updateIoMode(); | 
 |  |  |         // 更新入出库模式 | 
 |  |  |         updateIoMode(); | 
 |  |  |         int staNoSize = staNos.size(); | 
 |  |  |         OperateResultExOne<byte[]> result = siemensS7Net.Read("DB100.0", (short) (staNoSize*2)); | 
 |  |  |         OperateResultExOne<byte[]> result4 = siemensS7Net.Read("DB101.0", (short) (staNoSize*2)); | 
 |  |  | 
 |  |  |  | 
 |  |  |     // 更新入出库模式 | 
 |  |  |     private void updateIoMode() throws InterruptedException { | 
 |  |  |         if (this.ioModeOf2F != IoModeType.NONE) { | 
 |  |  |             if (!siemensS7Net.Write("DB100.180", this.ioModeOf2F.id).IsSuccess) { | 
 |  |  |                 OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线2F入出库模式失败。输送线plc编号={1}", slave.getId())); | 
 |  |  |                 log.error("写入输送线2F入出库模式失败。输送线plc编号={}", slave.getId()); | 
 |  |  |         if (this.ioModeOf1F1 != IoModeType.NONE) { | 
 |  |  |             if (!siemensS7Net.Write("DB100.300", this.ioModeOf1F1.id).IsSuccess) { | 
 |  |  |                 OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线1F1入出库模式失败。输送线plc编号={1}", slave.getId())); | 
 |  |  |                 log.error("写入输送线1F1入出库模式失败。输送线plc编号={}", slave.getId()); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         if (this.ioModeOf1F2 != IoModeType.NONE) { | 
 |  |  |             if (!siemensS7Net.Write("DB100.180", this.ioModeOf1F2.id).IsSuccess) { | 
 |  |  |                 OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线1F2入出库模式失败。输送线plc编号={1}", slave.getId())); | 
 |  |  |                 log.error("写入输送线1F2入出库模式失败。输送线plc编号={}", slave.getId()); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         if (this.ioModeOf1F3 != IoModeType.NONE) { | 
 |  |  |             if (!siemensS7Net.Write("DB100.180", this.ioModeOf1F3.id).IsSuccess) { | 
 |  |  |                 OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线1F3入出库模式失败。输送线plc编号={1}", slave.getId())); | 
 |  |  |                 log.error("写入输送线1F3入出库模式失败。输送线plc编号={}", slave.getId()); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         if (this.ioModeOf1F4 != IoModeType.NONE) { | 
 |  |  |             if (!siemensS7Net.Write("DB100.180", this.ioModeOf1F4.id).IsSuccess) { | 
 |  |  |                 OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线1F4入出库模式失败。输送线plc编号={1}", slave.getId())); | 
 |  |  |                 log.error("写入输送线1F4入出库模式失败。输送线plc编号={}", slave.getId()); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         if (this.ioModeOf2F1 != IoModeType.NONE) { | 
 |  |  |             if (!siemensS7Net.Write("DB100.180", this.ioModeOf2F1.id).IsSuccess) { | 
 |  |  |                 OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线2F1入出库模式失败。输送线plc编号={1}", slave.getId())); | 
 |  |  |                 log.error("写入输送线2F1入出库模式失败。输送线plc编号={}", slave.getId()); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         if (this.ioModeOf2F2 != IoModeType.NONE) { | 
 |  |  |             if (!siemensS7Net.Write("DB100.180", this.ioModeOf2F2.id).IsSuccess) { | 
 |  |  |                 OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线2F2入出库模式失败。输送线plc编号={1}", slave.getId())); | 
 |  |  |                 log.error("写入输送线2F2入出库模式失败。输送线plc编号={}", slave.getId()); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         if (this.ioModeOf3F1 != IoModeType.NONE) { | 
 |  |  |             if (!siemensS7Net.Write("DB100.180", this.ioModeOf3F1.id).IsSuccess) { | 
 |  |  |                 OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线3F1入出库模式失败。输送线plc编号={1}", slave.getId())); | 
 |  |  |                 log.error("写入输送线3F1入出库模式失败。输送线plc编号={}", slave.getId()); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         if (this.ioModeOf3F2 != IoModeType.NONE) { | 
 |  |  |             if (!siemensS7Net.Write("DB100.180", this.ioModeOf3F2.id).IsSuccess) { | 
 |  |  |                 OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线3F2入出库模式失败。输送线plc编号={1}", slave.getId())); | 
 |  |  |                 log.error("写入输送线3F2入出库模式失败。输送线plc编号={}", slave.getId()); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |     } |