From 2b2285cce415718135b6b8dd923a772098a04e96 Mon Sep 17 00:00:00 2001
From: pjb <123456>
Date: 星期六, 02 八月 2025 14:05:20 +0800
Subject: [PATCH] 1

---
 src/main/java/com/zy/core/thread/SiemensDevpThread.java |  275 ++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 213 insertions(+), 62 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index b27c739..3160107 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -45,26 +45,51 @@
     public boolean[] startSignal = new boolean[8];
     private Map<Integer, StaProtocol> station = new ConcurrentHashMap<>();
     private short heartBeatVal = 1;
-//    public static final ArrayList<Integer> staNos = new ArrayList<Integer>() {{
+    //    public static final ArrayList<Integer> staNos = new ArrayList<Integer>() {{
 //
 //    }};
     public static final ArrayList<Integer> staNos1 = new ArrayList<Integer>() {{
-        add(100);add(101);add(102);add(103);add(104);
-        add(200);add(201);add(202);add(203);add(204);
+        add(100);
+        add(101);
+        add(102);
+        add(103);
+        add(104);
+        add(200);
+        add(201);
+        add(202);
+        add(203);
+        add(204);
     }};
     public static final ArrayList<Integer> staNos2 = new ArrayList<Integer>() {{
-        add(300);add(301);add(302);add(303);add(304);
+        add(300);
+        add(301);
+        add(302);
+        add(303);
+        add(304);
+    }};
+    public static final ArrayList<Integer> staNos3 = new ArrayList<Integer>() {{
+        add(311);
+        add(312);
+        add(313);
+        add(314);
+        add(315);
     }};
 
+
     public static final ArrayList<Integer> barcode1 = new ArrayList<Integer>() {{
-        add(1); add(2);
+        add(1);
+        add(2);
     }};
 
     public static final ArrayList<Integer> barcode2 = new ArrayList<Integer>() {{
-       add(3);
+        add(3);
     }};
 
-    private Integer count=0;
+    public static final ArrayList<Integer> barcode3 = new ArrayList<Integer>() {{
+        add(4);
+    }};
+
+    private Integer count = 0;
 
     /**
      * 鍏ュ嚭搴撴ā寮�
@@ -75,7 +100,7 @@
      * 4.鍑哄簱妯″紡
      */
     public IoModeType ioModeOf2F = IoModeType.NONE;
-//    public IoModeType ioMode = IoModeType.NONE;
+    //    public IoModeType ioMode = IoModeType.NONE;
     public IoModeType ioModeOf4F = IoModeType.NONE;
 //    public IoModeType ioMode = IoModeType.NONE;
 
@@ -109,10 +134,11 @@
                     // 璇绘暟鎹�
                     case 1:
                         read();
+                        readsanqi();
                         break;
                     // 鍐欐暟鎹� ID+鐩爣绔�
                     case 2:
-                        write((StaProtocol)task.getData());
+                        write((StaProtocol) task.getData());
                         break;
                     default:
                         break;
@@ -126,13 +152,14 @@
 
         }
     }
+
     /**
      * 鍒濆鍖栫珯鐐圭姸鎬�
      */
     private void initSite() {
-        count ++;
+        count++;
         ArrayList<Integer> staNos = getStaNo();
-        if(count > 77) {
+        if (count > 77) {
             // 绔欑偣缂栧彿
             for (Integer siteId : staNos) {
                 StaProtocol staProtocol = station.get(siteId);
@@ -175,13 +202,13 @@
         siemensS7Net.setRack(slave.getRack().byteValue());
         siemensS7Net.setSlot(slave.getSlot().byteValue());
         OperateResult connect = siemensS7Net.ConnectServer();
-        if(connect.IsSuccess){
+        if (connect.IsSuccess) {
             result = true;
-            OutputQueue.DEVP.offer(MessageFormat.format( "銆恵0}銆戣緭閫佺嚎plc杩炴帴鎴愬姛 ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()));
-            News.info("SiemensDevp"+" - 1"+" - 杈撻�佺嚎plc杩炴帴鎴愬姛 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+            OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戣緭閫佺嚎plc杩炴帴鎴愬姛 ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()));
+            News.info("SiemensDevp" + " - 1" + " - 杈撻�佺嚎plc杩炴帴鎴愬姛 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
         } else {
-            OutputQueue.DEVP.offer(MessageFormat.format( "銆恵0}銆戣緭閫佺嚎plc杩炴帴澶辫触锛侊紒锛� ===>> [id:{1}] [ip:{2}] [port:{3}]  [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()));
-            News.error("SiemensDevp"+" - 2"+" - 杈撻�佺嚎plc杩炴帴澶辫触锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+            OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戣緭閫佺嚎plc杩炴帴澶辫触锛侊紒锛� ===>> [id:{1}] [ip:{2}] [port:{3}]  [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()));
+            News.error("SiemensDevp" + " - 2" + " - 杈撻�佺嚎plc杩炴帴澶辫触锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
         }
         siemensS7Net.ConnectClose();
         initSite();
@@ -208,7 +235,7 @@
                     }
                     staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i * 4));     // 宸ヤ綔鍙�
                     staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i * 4 + 2));   // 鐩爣绔�
-                    boolean[] status = siemensS7Net.getByteTransform().TransBool(result.Content, 60+i, 1);
+                    boolean[] status = siemensS7Net.getByteTransform().TransBool(result.Content, 60 + i, 1);
                     staProtocol.setAutoing(status[0]);  // 鑷姩
                     staProtocol.setLoading(status[1]);  // 鏈夌墿
                     staProtocol.setInEnable(status[2]); // 鍙叆
@@ -224,7 +251,7 @@
                 }
             } else {
                 OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戣鍙栬緭閫佺嚎plc鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
-                log.error("璇诲彇杈撻�佺嚎plc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}] ", slave.getId(), slave.getIp(), slave.getPort());
+//                log.error("璇诲彇杈撻�佺嚎plc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}] ", slave.getId(), slave.getIp(), slave.getPort());
             }
 
             //鏉$爜鎵弿鍣�
@@ -271,14 +298,15 @@
                 }
             } else {
                 OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戣鍙栬緭閫佺嚎plc鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
-                log.error("璇诲彇杈撻�佺嚎plc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}] ", slave.getId(), slave.getIp(), slave.getPort());
+//                log.error("璇诲彇杈撻�佺嚎plc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}] ", slave.getId(), slave.getIp(), slave.getPort());
             }
+
 
             //澶栧舰妫�娴�
             OperateResultExOne<byte[]> resultErr = siemensS7Net.Read("DB101.42", (short) 8);
             if (resultErr.IsSuccess) {
                 boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErr.Content, 0, 1);
-                StaProtocol staProtocol = station.get(303);
+                StaProtocol staProtocol = station.get(304);
                 staProtocol.setFrontErr(status[0]);
                 staProtocol.setBackErr(status[1]);
                 staProtocol.setHighErr(status[2]);
@@ -287,6 +315,7 @@
                 staProtocol.setWeightErr(status[5]);
                 staProtocol.setBarcodeErr(status[6]);
             }
+
 
             //鏉$爜鎵弿鍣�
             Thread.sleep(200);
@@ -306,15 +335,130 @@
         }
         // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴�
         try {
-            List<BasDevp> basDevps = new ArrayList<>();
-            for (Integer siteId : staNos) {
+            if (!station.isEmpty()) {
+                List<BasDevp> basDevps = new ArrayList<>();
+                for (Integer siteId : staNos) {
+                    StaProtocol staProtocol = station.get(siteId);
+                    basDevps.add(staProtocol.toSqlModel());
+                }
+
+                BasDevpService basDevpService = SpringUtils.getBean(BasDevpService.class);
+                if (null != basDevpService && !basDevpService.updateBatchById(basDevps)) {
+                    throw new Exception("鏇存柊鏁版嵁搴撴暟鎹け璐�");
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戞洿鏂版暟鎹簱鏁版嵁澶辫触 ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()));
+        }
+    }
+
+
+    /**
+     * 璇诲彇鐘舵�� ====> 鏁村潡plc
+     */
+    private void readsanqi() throws InterruptedException {
+        ArrayList<Integer> staNos = staNos3;
+        int staNoSize = staNos3.size();
+
+        //
+        OperateResultExOne<byte[]> resultsanqi = siemensS7Net.Read("DB101.120", (short) (staNoSize * 8));
+        if (resultsanqi.IsSuccess) {
+            for (int i = 0; i < staNoSize; i++) {
+                Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
                 StaProtocol staProtocol = station.get(siteId);
-                basDevps.add(staProtocol.toSqlModel());
+                if (null == staProtocol) {
+                    staProtocol = new StaProtocol();
+                    staProtocol.setSiteId(siteId);
+                    station.put(siteId, staProtocol);
+                }
+                staProtocol.setWorkNo((short) siemensS7Net.getByteTransform().TransInt32(resultsanqi.Content, i * 8));     // 宸ヤ綔鍙�
+                staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(resultsanqi.Content, i * 8 + 4));   // 鐩爣绔�
+                boolean[] status = siemensS7Net.getByteTransform().TransBool(resultsanqi.Content, i * 8 + 6, 1);
+                staProtocol.setAutoing(status[0]);  // 鑷姩
+                staProtocol.setLoading(status[1]);  // 鏈夌墿
+                staProtocol.setInEnable(status[2]); // 鍙叆
+                staProtocol.setOutEnable(status[3]);// 鍙嚭
+                staProtocol.setEmptyMk(status[4]);  // 绌烘澘淇″彿
+                staProtocol.setFullPlt(status[5]);  // 婊℃墭鐩�
+                staProtocol.setHigh(status[6]);     // 楂樺簱浣�
+                staProtocol.setLow(status[7]);      // 浣庡簱浣�
+//                staProtocol.setWeight(status[8]);  //鏄惁涓洪噸璐�
+                if (!staProtocol.isPakMk() && staProtocol.isLoading()) {
+                    staProtocol.setPakMk(true);
+                }
+            }
+        } else {
+            OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戣鍙栬緭閫佺嚎plc鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
+//                log.error("璇诲彇杈撻�佺嚎plc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}] ", slave.getId(), slave.getIp(), slave.getPort());
+        }
+
+
+        //澶栧舰妫�娴� 涓夋湡
+        OperateResultExOne<byte[]> resultErrsanqi = siemensS7Net.Read("DB101.160", (short) (staNoSize * 8));
+        if (resultErrsanqi.IsSuccess) {
+            for (int i = 0; i < staNoSize; i++) {
+                Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
+                boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErrsanqi.Content, i * 4, 1);
+                StaProtocol staProtocol = station.get(siteId);
+                staProtocol.setFrontErr(status[0]);
+                staProtocol.setBackErr(status[1]);
+                staProtocol.setHighErr(status[2]);
+                staProtocol.setLeftErr(status[3]);
+                staProtocol.setRightErr(status[4]);
+                staProtocol.setWeightErr(status[5]);
+                staProtocol.setBarcodeErr(status[6]);
+            }
+        }
+
+
+        //鏉$爜鎵弿鍣� 涓夋湡
+        Thread.sleep(200);
+        ArrayList<Integer> barcodeListsanqi = barcode3;
+        OperateResultExOne<byte[]> result2siqi = siemensS7Net.Read("DB101.180", (short) (barcodeListsanqi.size() * 8));
+        if (result2siqi.IsSuccess) {
+            for (int i = 0; i < barcodeListsanqi.size(); i++) {
+                Integer barcodeId = barcodeListsanqi.get(i);
+                String barcode = siemensS7Net.getByteTransform().TransString(result2siqi.Content, i * 8, 8, "UTF-8");
+                BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, barcodeId);
+                if (!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
+                    barcodeThread.setBarcode(barcode);
+                }
+            }
+        }
+
+        //鏁呴殰 涓夋湡
+        OperateResultExOne<byte[]> resultErrs = siemensS7Net.Read("DB101.220", (short) (staNoSize * 4));
+        if (resultErrs.IsSuccess) {
+            for (int i = 0; i < staNoSize; i++) {
+                Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
+                boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErrs.Content, i * 4, 1);
+                StaProtocol staProtocol = station.get(siteId);
+                staProtocol.setBreakerErr(status[0]);
+                staProtocol.setInfraredErr(status[1]);
+                staProtocol.setOutTimeErr(status[2]);
+                staProtocol.setSeizeSeatErr(status[3]);
+                staProtocol.setWrkYgoodsN(status[4]);
+                staProtocol.setInverterErr(status[5]);
+                staProtocol.setContactErr(status[6]);
+                staProtocol.setUpcontactErr(status[7]);
+
             }
 
-            BasDevpService basDevpService = SpringUtils.getBean(BasDevpService.class);
-            if (null != basDevpService && !basDevpService.updateBatchById(basDevps)) {
-                throw new Exception("鏇存柊鏁版嵁搴撴暟鎹け璐�");
+        }
+        // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴�
+        try {
+            if (!station.isEmpty()) {
+                List<BasDevp> basDevps = new ArrayList<>();
+                for (Integer siteId : staNos) {
+                    StaProtocol staProtocol = station.get(siteId);
+                    basDevps.add(staProtocol.toSqlModel());
+                }
+
+                BasDevpService basDevpService = SpringUtils.getBean(BasDevpService.class);
+                if (null != basDevpService && !basDevpService.updateBatchById(basDevps)) {
+                    throw new Exception("鏇存柊鏁版嵁搴撴暟鎹け璐�");
+                }
             }
         } catch (Exception e) {
             e.printStackTrace();
@@ -332,7 +476,14 @@
         ArrayList<Integer> staNos = getStaNo();
         OperateResult write = null;
         OperateResult write1 = null;
-        int index = staNos.indexOf(staProtocol.getSiteId());
+        int index;
+        int index2 = 0;
+        if (staProtocol.getSiteId() >= 310) {
+            index = staNos3.indexOf(staProtocol.getSiteId());
+            index2 = 66;
+        } else {
+            index = staNos.indexOf(staProtocol.getSiteId());
+        }
 
         //// 鍐�2鍙疯緭閫佺嚎
         //if (slave.getId() == 1) {
@@ -356,17 +507,17 @@
             int writeCount = 0;
             //浠诲姟涓嬪彂鎴愬姛鏍囪瘑
             boolean writeFlag = false;
-            while(writeCount < 5){
+            while (writeCount < 5) {
                 // 鍐�2鍙疯緭閫佺嚎
-                write = siemensS7Net.Write("DB100." + index * 4, array);    // 宸ヤ綔鍙枫�佺洰鏍�
-                if(write.IsSuccess){
+                write = siemensS7Net.Write("DB100." + (index * 4 + index2), array);    // 宸ヤ綔鍙枫�佺洰鏍�
+                if (write.IsSuccess) {
                     Thread.sleep(200);
-                    OperateResultExOne<byte[]> readResult = siemensS7Net.Read("DB100." + index*4, (short)4);
+                    OperateResultExOne<byte[]> readResult = siemensS7Net.Read("DB100." + (index * 4 + index2), (short) 4);
                     //OperateResultExOne<byte[]> readResult = siemensS7Net.Read("DB1000." + index*4, (short)4);
-                    if(readResult.IsSuccess){
+                    if (readResult.IsSuccess) {
                         short workNo = siemensS7Net.getByteTransform().TransInt16(readResult.Content, 0);
                         short staNo = siemensS7Net.getByteTransform().TransInt16(readResult.Content, 2);
-                        if(staProtocol.getWorkNo().equals(workNo) && staProtocol.getStaNo().equals(staNo)){
+                        if (staProtocol.getWorkNo().equals(workNo) && staProtocol.getStaNo().equals(staNo)) {
                             //浠诲姟鍛戒护鍐欏叆鎴愬姛
                             writeFlag = true;
                             log.info("鍐欏叆杈撻�佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝骞朵笖鍥炶鎴愬姛銆傝緭閫佺嚎plc缂栧彿={}锛寋}锛屽啓鍏ユ鏁�={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
@@ -374,7 +525,7 @@
                         } else {//杩斿洖缁撴灉鏄垚鍔熶簡锛屼絾鏄湡瀹炲�间笉鐩稿悓
                             writeCount++;
                             OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝浣嗘槸璇诲彇浠诲姟鍊间笉涓�鑷淬�傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2},鍐欏叆娆℃暟={3}",
-                                    slave.getId(), JSON.toJSON(staProtocol),writeCount));
+                                    slave.getId(), JSON.toJSON(staProtocol), writeCount));
                             log.error("鍐欏叆杈撻�佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝浣嗘槸璇诲彇浠诲姟鍊间笉涓�鑷淬�傝緭閫佺嚎plc缂栧彿={}锛寋}锛屽啓鍏ユ鏁�={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
                         }
                     } else {
@@ -386,16 +537,16 @@
                 } else {
                     writeCount++;
                     OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎鍛戒护澶辫触銆傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2},鍐欏叆娆℃暟={3}",
-                            slave.getId(), JSON.toJSON(staProtocol),writeCount));
+                            slave.getId(), JSON.toJSON(staProtocol), writeCount));
                     log.error("鍐欏叆杈撻�佺嚎鍛戒护澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
                 }
                 Thread.sleep(200);
             }
 
             //鍐欏懡浠ゅ皾璇曚簡5娆¤繕鏄け璐ヤ簡
-            if(!writeFlag){
+            if (!writeFlag) {
                 staProtocol = station.get(staProtocol.getSiteId());
-                if (staProtocol.getWorkNo() == 0 && staProtocol.getStaNo() ==0) {
+                if (staProtocol.getWorkNo() == 0 && staProtocol.getStaNo() == 0) {
                     staProtocol.setPakMk(true);
                 }
                 OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎鍛戒护灏濊瘯5娆″け璐ャ�傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2}", slave.getId(), JSON.toJSON(staProtocol)));
@@ -407,11 +558,11 @@
                 return;
             } else {
                 OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆� 杈撻�佺嚎鍛戒护涓嬪彂鎴愬姛 [id:{1}] >>>>> {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(staProtocol)));
-                log.info("杈撻�佺嚎鍛戒护涓嬪彂 [id:{}] >>>>> 鍛戒护涓嬪彂鎴愬姛锛� {}",  slave.getId(), JSON.toJSON(staProtocol));
+                log.info("杈撻�佺嚎鍛戒护涓嬪彂 [id:{}] >>>>> 鍛戒护涓嬪彂鎴愬姛锛� {}", slave.getId(), JSON.toJSON(staProtocol));
 
                 Integer siteId = staProtocol.getSiteId();
                 staProtocol = station.get(siteId);
-                if ((siteId == 101 || siteId == 201)&&(staProtocol.getWorkNo() == 0 && staProtocol.getStaNo() ==0)) {
+                if ((siteId == 101 || siteId == 201) && (staProtocol.getWorkNo() == 0 && staProtocol.getStaNo() == 0)) {
                     staProtocol.setPakMk(true);
                 }
             }
@@ -422,21 +573,21 @@
             int writeCount = 0;
             //浠诲姟涓嬪彂鎴愬姛鏍囪瘑
             boolean writeFlag = false;
-            while(writeCount < 5){
+            while (writeCount < 5) {
                 // 鍐�2鍙疯緭閫佺嚎
-                write = siemensS7Net.Write("DB100." + index * 6, staProtocol.getWorkNo().intValue());    // 宸ヤ綔鍙�
+                write = siemensS7Net.Write("DB100." + (index * 6 + index2), staProtocol.getWorkNo().intValue());    // 宸ヤ綔鍙�
                 Thread.sleep(200);
-                write1 = siemensS7Net.Write("DB100." + (index * 6 + 4), staProtocol.getStaNo());    // 鐩爣绔�
-                if(write.IsSuccess){
+                write1 = siemensS7Net.Write("DB100." + (index * 6 + 4 + index2), staProtocol.getStaNo());    // 鐩爣绔�
+                if (write.IsSuccess) {
                     Thread.sleep(200);
-                    OperateResultExOne<byte[]> readResult = siemensS7Net.Read("DB100." + index*6, (short)4);
+                    OperateResultExOne<byte[]> readResult = siemensS7Net.Read("DB100." + (index * 6 + index2), (short) 4);
                     Thread.sleep(200);
-                    OperateResultExOne<byte[]> readResult1 = siemensS7Net.Read("DB100." + (index*6+4), (short)2);
+                    OperateResultExOne<byte[]> readResult1 = siemensS7Net.Read("DB100." + (index * 6 + 4 + index2), (short) 2);
                     //OperateResultExOne<byte[]> readResult = siemensS7Net.Read("DB1000." + index*4, (short)4);
-                    if(readResult.IsSuccess && readResult1.IsSuccess){
+                    if (readResult.IsSuccess && readResult1.IsSuccess) {
                         int workNo = siemensS7Net.getByteTransform().TransInt32(readResult.Content, 0);
                         short staNo = siemensS7Net.getByteTransform().TransInt16(readResult1.Content, 0);
-                        if(staProtocol.getWorkNo().equals((short)workNo) && staProtocol.getStaNo().equals(staNo)){
+                        if (staProtocol.getWorkNo().equals((short) workNo) && staProtocol.getStaNo().equals(staNo)) {
                             //浠诲姟鍛戒护鍐欏叆鎴愬姛
                             writeFlag = true;
                             log.info("鍐欏叆杈撻�佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝骞朵笖鍥炶鎴愬姛銆傝緭閫佺嚎plc缂栧彿={}锛寋}锛屽啓鍏ユ鏁�={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
@@ -444,7 +595,7 @@
                         } else {//杩斿洖缁撴灉鏄垚鍔熶簡锛屼絾鏄湡瀹炲�间笉鐩稿悓
                             writeCount++;
                             OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝浣嗘槸璇诲彇浠诲姟鍊间笉涓�鑷淬�傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2},鍐欏叆娆℃暟={3}",
-                                    slave.getId(), JSON.toJSON(staProtocol),writeCount));
+                                    slave.getId(), JSON.toJSON(staProtocol), writeCount));
                             log.error("鍐欏叆杈撻�佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝浣嗘槸璇诲彇浠诲姟鍊间笉涓�鑷淬�傝緭閫佺嚎plc缂栧彿={}锛寋}锛屽啓鍏ユ鏁�={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
                         }
                     } else {
@@ -456,16 +607,16 @@
                 } else {
                     writeCount++;
                     OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎鍛戒护澶辫触銆傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2},鍐欏叆娆℃暟={3}",
-                            slave.getId(), JSON.toJSON(staProtocol),writeCount));
+                            slave.getId(), JSON.toJSON(staProtocol), writeCount));
                     log.error("鍐欏叆杈撻�佺嚎鍛戒护澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
                 }
                 Thread.sleep(200);
             }
 
             //鍐欏懡浠ゅ皾璇曚簡5娆¤繕鏄け璐ヤ簡
-            if(!writeFlag){
+            if (!writeFlag) {
                 staProtocol = station.get(staProtocol.getSiteId());
-                if (staProtocol.getWorkNo() == 0 && staProtocol.getStaNo() ==0) {
+                if (staProtocol.getWorkNo() == 0 && staProtocol.getStaNo() == 0) {
                     staProtocol.setPakMk(true);
                 }
                 OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎鍛戒护灏濊瘯5娆″け璐ャ�傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2}", slave.getId(), JSON.toJSON(staProtocol)));
@@ -477,20 +628,20 @@
                 return;
             } else {
                 OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆� 杈撻�佺嚎鍛戒护涓嬪彂鎴愬姛 [id:{1}] >>>>> {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(staProtocol)));
-                log.info("杈撻�佺嚎鍛戒护涓嬪彂 [id:{}] >>>>> 鍛戒护涓嬪彂鎴愬姛锛� {}",  slave.getId(), JSON.toJSON(staProtocol));
+                log.info("杈撻�佺嚎鍛戒护涓嬪彂 [id:{}] >>>>> 鍛戒护涓嬪彂鎴愬姛锛� {}", slave.getId(), JSON.toJSON(staProtocol));
 
                 Integer siteId = staProtocol.getSiteId();
                 staProtocol = station.get(siteId);
-                if ((siteId == 101 || siteId == 201)&&(staProtocol.getWorkNo() == 0 && staProtocol.getStaNo() ==0)) {
+                if ((siteId == 101 || siteId == 201) && (staProtocol.getWorkNo() == 0 && staProtocol.getStaNo() == 0)) {
                     staProtocol.setPakMk(true);
                 }
             }
 
         }
 
-   }
+    }
 
-    ///**
+    /// **
     // * 鍐欏叆 ID+鐩爣绔� =====> 鍗曠珯鐐瑰啓鍏�
     // */
     //private void write(StaProtocol staProtocol) throws InterruptedException {
@@ -531,7 +682,7 @@
         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()));
-                News.error("SiemensDevp"+" - 6"+" - 鍐欏叆杈撻�佺嚎2F鍏ュ嚭搴撴ā寮忓け璐ャ�傝緭閫佺嚎plc缂栧彿={}", slave.getId());
+                News.error("SiemensDevp" + " - 6" + " - 鍐欏叆杈撻�佺嚎2F鍏ュ嚭搴撴ā寮忓け璐ャ�傝緭閫佺嚎plc缂栧彿={}", slave.getId());
             }
         }
     }
@@ -539,7 +690,7 @@
     /**
      * 蹇冭烦
      */
-    private void heartbeat(){
+    private void heartbeat() {
         if (heartBeatVal == 1) {
             heartBeatVal = 2;
         } else {
@@ -547,7 +698,7 @@
         }
         OperateResult write = siemensS7Net.Write("DB100.50", heartBeatVal);
         if (!write.IsSuccess) {
-            News.error("SiemensDevp"+" - 7"+" - 杈撻�佺嚎plc缂栧彿={} 蹇冭烦澶辫触", slave.getId());
+            News.error("SiemensDevp" + " - 7" + " - 杈撻�佺嚎plc缂栧彿={} 蹇冭烦澶辫触", slave.getId());
         }
     }
 
@@ -571,15 +722,15 @@
 //        System.out.println(staNos1.indexOf(129));
 //        System.out.println(staNos1.size());
 //        for (int i = 0; i<staNos1.size(); i++) {
-////            System.out.println(i*2);
-////            System.out.println(i*2 + 200);
-////            System.out.println(i);
+
+    /// /            System.out.println(i*2);
+    /// /            System.out.println(i*2 + 200);
+    /// /            System.out.println(i);
 //        }
 //        int index = staNos1.indexOf(128);
 //        System.out.println(index*2);
 //        System.out.println(index*2 + 200);
 //    }
-
     public static void main(String[] args) throws Exception {
         DevpSlave slave = new DevpSlave();
         slave.setId(1);

--
Gitblit v1.9.1