From c2144e00a981be9093c2b1fe257881203d800810 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期六, 22 六月 2024 16:01:35 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/model/protocol/StaProtocol.java   |    9 +
 src/main/java/com/zy/core/model/DevpSlave.java              |   34 ++++
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  239 ++++++++++++++++++++++-------
 src/main/java/com/zy/core/MainProcess.java                  |    9 
 src/main/java/com/zy/core/thread/SiemensDevpThread.java     |   41 +++-
 src/main/resources/application.yml                          |   78 ++++++---
 src/main/java/com/zy/core/ServerBootstrap.java              |   22 +-
 7 files changed, 311 insertions(+), 121 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index c323c3b..b88f85a 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -4582,67 +4582,55 @@
     }
 
     /**
-     *  JarWrkMastExecute浠诲姟鍒涘缓   //鏈畬鎴�
-     *  寮�闂ㄣ�佸叆纭寲缃�
+     *  JarWrkMastExecute浠诲姟鍒涘缓   //瀹屾垚
      */
-    public synchronized void jarWrkMastExecuteGenerate() {
+    public synchronized void jarWrkMastExecuteGenerate(Integer sign) {
         for (JarSlave jarSlave : slaveProperties.getJar()) {
             try{
                 if (wrkMastExecuteService.getWrkMastByJarIdCount(jarSlave.getId())!=0){
                     continue;
                 }
-                List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarSlave.getId(), new ArrayList<Integer>() {{
-                    add(0);
-                    add(2);
-                }});
-                for (BasJarMast basJarMast : basJarMastList){
-                    // 鑾峰彇纭寲缃愪俊鎭�
-                    JarThread jarThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getId());
-                    JarProtocol jarProtocol = jarThread.getJarProtocol();
-                    if (jarProtocol == null) {
-                        break;
-                    }
-                    if (jarProtocol.modeType != JarModeType.AUTO){
-                        break;
-                    }
 
-                    JarThread jarOtherThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getJarOtherId());
-                    JarProtocol jarOtherProtocol = jarOtherThread.getJarProtocol();
-                    if (jarOtherProtocol == null) {
-                        break;
-                    }
+                // 鑾峰彇纭寲缃愪俊鎭�
+                JarThread jarThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getId());
+                JarProtocol jarProtocol = jarThread.getJarProtocol();
+                if (jarProtocol == null) {
+                    break;
+                }
+                if (jarProtocol.modeType != JarModeType.AUTO){
+                    break;
+                }
+
+                JarThread jarOtherThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getJarOtherId());
+                JarProtocol jarOtherProtocol = jarOtherThread.getJarProtocol();
+                if (jarOtherProtocol == null) {
+                    break;
+                }
 //                    if (jarOtherProtocol.modeType != JarModeType.AUTO){
 //                        continue;
 //                    }
 
-                    BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
-                    if (Cools.isEmpty(basJar)){
-                        log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
-                        break;
-                    }
-
-                    //闂ㄤ綔涓�  鏃�
-                    //鑷姩銆佺┖闂层�佸彸闂ㄥ叧闂��   Other宸﹂棬鍏抽棴
-                    if (jarProtocol.isAutoing() && !jarProtocol.isRightDoor() && jarProtocol.jarErr==0
-                            && jarProtocol.leftDoorOpen==0  && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0  && jarProtocol.rightDoorClose==0
-                            && !jarOtherProtocol.isLeftDoor() && jarOtherProtocol.leftDoorOpen==0  && jarOtherProtocol.leftDoorClose==0){
-                        if (jarProtocol.statusType == JarStatusType.IDLE && !jarProtocol.isLeftDoor() && basJarMast.getStatus()==0){
-                            //鐢熸垚寮�闂ㄤ换鍔� OpenTheDoor
-                            if (!jarWrkMastExecuteGenerateExecute(basJar,basJarMast,new int[]{basJar.getEnterSteNo(),basJar.getEnterRgvId(),1,1})){
-                                log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast));
-                            }
-                            return;
-                        } else if (jarProtocol.statusType == JarStatusType.MOVING && jarProtocol.isLeftDoor()){
-                            //鐢熸垚鍏ョ~鍖栫綈浠诲姟
-                            if (!jarWrkMastExecuteGenerateExecute(basJar,basJarMast,new int[]{basJar.getEnterSteNo(),basJar.getEnterRgvId(),5,1})){
-                                log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast));
-                            }
-                            return;
-                        } else if (jarProtocol.statusType == JarStatusType.IDLE && jarProtocol.isLeftDoor()){
-                            log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬬~鍖栫綈绌洪棽浣嗘槸闂ㄦ湭鍏�===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast));
-                        }
-                    }
+                BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
+                if (Cools.isEmpty(basJar)){
+                    log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
                     break;
+                }
+
+                //闂ㄤ綔涓�  鏃�
+                //鑷姩銆佺┖闂层�佸彸闂ㄥ叧闂��   Other宸﹂棬鍏抽棴
+                if (jarProtocol.isAutoing() && jarProtocol.jarErr==0
+                        && jarProtocol.leftDoorOpen==0  && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0  && jarProtocol.rightDoorClose==0){
+                    switch (sign){
+                        case 0:
+                        case 2:
+                            if (jarWrkMastExecuteGenerate1(jarSlave,sign)){
+                                break;
+                            }
+                        case 3:
+//                            if (jarWrkMastExecuteGenerate2(jarSlave,sign)){
+//                                break;
+//                            }
+                    }
                 }
             } catch (Exception e){
                 log.error("{}鍙风~鍖栫綈JarWrkMastExecute浠诲姟鍒涘缓寮傚父,寮傚父鍘熷洜={}",jarSlave.getId(),e.getMessage());
@@ -4651,10 +4639,147 @@
     }
 
     /**
+     *  JarWrkMastExecute浠诲姟鍒涘缓   //瀹屾垚
+     *  寮�闂ㄤ换鍔�
+     *  鐢熸垚鍏ョ~鍖栫綈浠诲姟
+     */
+    public synchronized boolean jarWrkMastExecuteGenerate1(JarSlave jarSlave,Integer sign) {
+        try{
+            if (wrkMastExecuteService.getWrkMastByJarIdCount(jarSlave.getId())!=0){
+                return false;
+            }
+            List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarSlave.getId(), new ArrayList<Integer>() {{
+                add(0);
+                add(2);
+            }});
+            for (BasJarMast basJarMast : basJarMastList){
+                // 鑾峰彇纭寲缃愪俊鎭�
+                JarThread jarThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getId());
+                JarProtocol jarProtocol = jarThread.getJarProtocol();
+                if (jarProtocol == null) {
+                    return false;
+                }
+                if (jarProtocol.modeType != JarModeType.AUTO){
+                    return false;
+                }
+
+                JarThread jarOtherThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getJarOtherId());
+                JarProtocol jarOtherProtocol = jarOtherThread.getJarProtocol();
+                if (jarOtherProtocol == null) {
+                    return false;
+                }
+//                    if (jarOtherProtocol.modeType != JarModeType.AUTO){
+//                        continue;
+//                    }
+
+                BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
+                if (Cools.isEmpty(basJar)){
+                    log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
+                    return false;
+                }
+
+                //闂ㄤ綔涓�  鏃�
+                //鑷姩銆佺┖闂层�佸彸闂ㄥ叧闂��   Other宸﹂棬鍏抽棴
+                if (jarProtocol.isAutoing() && !jarProtocol.isRightDoor() && jarProtocol.jarErr==0
+                        && jarProtocol.leftDoorOpen==0  && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0  && jarProtocol.rightDoorClose==0
+                        && !jarOtherProtocol.isLeftDoor() && jarOtherProtocol.leftDoorOpen==0  && jarOtherProtocol.leftDoorClose==0){
+                    if (jarProtocol.statusType == JarStatusType.IDLE && !jarProtocol.isLeftDoor() && basJarMast.getStatus()==0){
+                        //鐢熸垚寮�闂ㄤ换鍔� OpenTheDoor
+                        if (!jarWrkMastExecuteGenerateExecute(basJar,basJarMast,new int[]{basJar.getEnterSteNo(),basJar.getEnterRgvId(),1,1})){
+                            log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast));
+                        }
+                        return true;
+                    } else if (jarProtocol.statusType == JarStatusType.MOVING && jarProtocol.isLeftDoor()){
+                        //鐢熸垚鍏ョ~鍖栫綈浠诲姟
+                        if (!jarWrkMastExecuteGenerateExecute(basJar,basJarMast,new int[]{basJar.getEnterSteNo(),basJar.getEnterRgvId(),5,1})){
+                            log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast));
+                        }
+                        return true;
+                    } else if (jarProtocol.statusType == JarStatusType.IDLE && jarProtocol.isLeftDoor()){
+                        log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬬~鍖栫綈绌洪棽浣嗘槸闂ㄦ湭鍏�===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast));
+                    }
+                }
+                return false;
+            }
+        } catch (Exception e){
+            log.error("{}鍙风~鍖栫綈JarWrkMastExecute浠诲姟鍒涘缓寮傚父,寮傚父鍘熷洜={}",jarSlave.getId(),e.getMessage());
+        }
+        return false;
+    }
+
+    /**
+     *  JarWrkMastExecute浠诲姟鍒涘缓   //鏈畬鎴�
+     *  鍏冲叆鏂欓棬銆佸紑鍑烘枡闂ㄣ�佸叧鍑烘枡闂�
+     */
+    public synchronized boolean jarWrkMastExecuteGenerate2(JarSlave jarSlave,Integer sign) {
+        try{
+            if (wrkMastExecuteService.getWrkMastByJarIdCount(jarSlave.getId())!=0){
+                return false;
+            }
+            List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarSlave.getId(), new ArrayList<Integer>() {{
+                add(0);
+                add(2);
+            }});
+            for (BasJarMast basJarMast : basJarMastList){
+                // 鑾峰彇纭寲缃愪俊鎭�
+                JarThread jarThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getId());
+                JarProtocol jarProtocol = jarThread.getJarProtocol();
+                if (jarProtocol == null) {
+                    return false;
+                }
+                if (jarProtocol.modeType != JarModeType.AUTO){
+                    return false;
+                }
+
+                JarThread jarOtherThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getJarOtherId());
+                JarProtocol jarOtherProtocol = jarOtherThread.getJarProtocol();
+                if (jarOtherProtocol == null) {
+                    return false;
+                }
+//                    if (jarOtherProtocol.modeType != JarModeType.AUTO){
+//                        continue;
+//                    }
+
+                BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
+                if (Cools.isEmpty(basJar)){
+                    log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
+                    return false;
+                }
+
+                //闂ㄤ綔涓�  鏃�
+                //鑷姩銆佺┖闂层�佸彸闂ㄥ叧闂��   Other宸﹂棬鍏抽棴
+                if (jarProtocol.isAutoing() && !jarProtocol.isRightDoor() && jarProtocol.jarErr==0
+                        && jarProtocol.leftDoorOpen==0  && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0  && jarProtocol.rightDoorClose==0
+                        && !jarOtherProtocol.isLeftDoor() && jarOtherProtocol.leftDoorOpen==0  && jarOtherProtocol.leftDoorClose==0){
+                    if (jarProtocol.statusType == JarStatusType.IDLE && !jarProtocol.isLeftDoor() && basJarMast.getStatus()==0){
+                        //鐢熸垚寮�闂ㄤ换鍔� OpenTheDoor
+                        if (!jarWrkMastExecuteGenerateExecute(basJar,basJarMast,new int[]{basJar.getEnterSteNo(),basJar.getEnterRgvId(),1,1})){
+                            log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast));
+                        }
+                        return true;
+                    } else if (jarProtocol.statusType == JarStatusType.MOVING && jarProtocol.isLeftDoor()){
+                        //鐢熸垚鍏ョ~鍖栫綈浠诲姟
+                        if (!jarWrkMastExecuteGenerateExecute(basJar,basJarMast,new int[]{basJar.getEnterSteNo(),basJar.getEnterRgvId(),5,1})){
+                            log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast));
+                        }
+                        return true;
+                    } else if (jarProtocol.statusType == JarStatusType.IDLE && jarProtocol.isLeftDoor()){
+                        log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬬~鍖栫綈绌洪棽浣嗘槸闂ㄦ湭鍏�===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast));
+                    }
+                }
+                return false;
+            }
+        } catch (Exception e){
+            log.error("{}鍙风~鍖栫綈JarWrkMastExecute浠诲姟鍒涘缓寮傚父,寮傚父鍘熷洜={}",jarSlave.getId(),e.getMessage());
+        }
+        return false;
+    }
+
+    /**
      *  JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц   //鏈畬鎴�
      */
     public synchronized boolean jarWrkMastExecuteGenerateExecute(BasJar basJar,BasJarMast basJarMast,int[] digit) {
-        try{
+        try {
             WrkMastExecute wrkMastExecute = new WrkMastExecute(basJarMast);
             wrkMastExecute.setJarId(digit[3]==2? basJar.getBurial():basJar.getJarNo());
             wrkMastExecute.setSteId(digit[0]);//绌挎鏉縄D
@@ -4662,20 +4787,8 @@
             wrkMastExecute.setIoType(digit[2]);//浠诲姟绫诲瀷 0: 鏈煡  1: 寮�杩涙枡闂�  2: 鍏宠繘鏂欓棬  3: 寮�鍑烘枡闂�  4: 鍏冲嚭鏂欓棬  5: 鍏ョ~鍖栫綈  6: 鍏ュ喎鍗存Ы  7: 绌挎杞﹁繘鍐峰嵈妲�  8: 绌挎杞︾寮�鍐峰嵈妲�  9: 鍑哄喎鍗存Ы
             wrkMastExecute.setType(digit[3]);//璁惧  0: 鏈煡  1: 纭寲缃�  2: 鍐峰嵈妲�  3: 纭寲缃�==>鍐峰嵈妲�
             return wrkMastExecuteService.insert(wrkMastExecute);
-        }catch (Exception e){
+        } catch (Exception e) {
             log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯稿師鍥狅細"+e.getMessage());
-        }
-        return false;
-    }
-
-    /*
-     * 寮�闂ㄤ换鍔″垱寤�
-     * */
-    public synchronized boolean jarWrkMastExecuteGenerate2(){
-        try{
-
-        } catch (Exception e){
-            log.error("{}鍙风~鍖栫綈OpenTheDoorGenerate==銆婮arWrkMastExecute浠诲姟鍒涘缓寮傚父,寮傚父鍘熷洜={}",null,e.getMessage());
         }
         return false;
     }
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 69ad5fe..50418ca 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -36,6 +36,9 @@
         thread = new Thread(() -> {
             while (!Thread.currentThread().isInterrupted()) {
                 try {
+                    k++; if (k>10) k=0;
+                    i++; if (i>5) i=0;
+                    j++; if (j>5) j=0;
 
                     // 闂撮殧
                     Thread.sleep(1000);
@@ -76,10 +79,6 @@
                         mainService.storeFinishedTwo();
                     }
 
-                    i++;
-                    if (i>5){
-                        i=0;
-                    }
 
 //                    // 寮傚父淇℃伅璁板綍
 //                    mainService.recErr();
@@ -97,7 +96,7 @@
                     /************************************JAR璋冨害************************************/
 
                     //寮�闂ㄣ�佸叆纭寲缃�
-                    mainService.jarWrkMastExecuteGenerate();
+                    mainService.jarWrkMastExecuteGenerate(k);
                     //Jar浠诲姟鍒涘缓  //瀹屾垚
                     mainService.jarMastGenerate();
 
diff --git a/src/main/java/com/zy/core/ServerBootstrap.java b/src/main/java/com/zy/core/ServerBootstrap.java
index 15c8d16..75fd83d 100644
--- a/src/main/java/com/zy/core/ServerBootstrap.java
+++ b/src/main/java/com/zy/core/ServerBootstrap.java
@@ -57,10 +57,10 @@
         for (Slave crn : slaveProperties.getCrn()) {
             MessageQueue.init(SlaveType.Crn, crn);
         }
-        // 鍒濆鍖朢GVmq
-        for (Slave rgv : slaveProperties.getRgv()) {
-            MessageQueue.init(SlaveType.Rgv, rgv);
-        }
+//        // 鍒濆鍖朢GVmq
+//        for (Slave rgv : slaveProperties.getRgv()) {
+//            MessageQueue.init(SlaveType.Rgv, rgv);
+//        }
         // 鍒濆鍖栬緭閫佺嚎mq
         for (Slave devp : slaveProperties.getDevp()) {
             MessageQueue.init(SlaveType.Devp, devp);
@@ -101,13 +101,13 @@
             map.put(crnThread, thread);
             SlaveConnection.put(SlaveType.Crn, crn.getId(), crnThread);
         }
-        // 鍒濆鍖栫┛姊溅绾跨▼
-        log.info("鍒濆鍖朢GV绾跨▼...................................................");
-        for (RgvSlave rgv : slaveProperties.getRgv()) {
-            RgvThread rgvThread = new RgvThread(rgv);
-            new Thread((Runnable) rgvThread).start();
-            SlaveConnection.put(SlaveType.Rgv, rgv.getId(), rgvThread);
-        }
+//        // 鍒濆鍖栫┛姊溅绾跨▼
+//        log.info("鍒濆鍖朢GV绾跨▼...................................................");
+//        for (RgvSlave rgv : slaveProperties.getRgv()) {
+//            RgvThread rgvThread = new RgvThread(rgv);
+//            new Thread((Runnable) rgvThread).start();
+//            SlaveConnection.put(SlaveType.Rgv, rgv.getId(), rgvThread);
+//        }
         // 鍒濆鍖栬緭閫佺嚎绾跨▼
         log.info("鍒濆鍖栬緭閫佺嚎绾跨▼...................................................");
         for (DevpSlave devp : slaveProperties.getDevp()) {
diff --git a/src/main/java/com/zy/core/model/DevpSlave.java b/src/main/java/com/zy/core/model/DevpSlave.java
index 8c3eda1..3c59f64 100644
--- a/src/main/java/com/zy/core/model/DevpSlave.java
+++ b/src/main/java/com/zy/core/model/DevpSlave.java
@@ -40,6 +40,10 @@
 
     private List<Sta> inRgvSta = new ArrayList<>();
 
+    private List<Rgv> enterRgv = new ArrayList<>();
+
+    private List<Rgv> endRgv = new ArrayList<>();
+
     @Data
     public static class Sta {
 
@@ -51,4 +55,34 @@
 
     }
 
+    @Data
+    public static class Rgv {
+
+        private Integer rgvNo;//RGV缂栧彿
+
+        private Integer steNo;//Ste缂栧彿
+
+        private Integer jarNo;//Jar缂栧彿
+
+        private Integer jarRegin;//鍖哄煙
+
+        private Integer burial;//鍐峰嵈
+
+        private List<Site> staNoEnter = new ArrayList<>();//鍏ュ簱绔欑偣
+
+        private List<Site> staNoEnd = new ArrayList<>();//鍑哄簱绔欑偣
+
+    }
+
+    @Data
+    public static class Site {
+
+        private Integer devpPlcId;//RGV缂栧彿
+
+        private Integer staNo;//RGV缂栧彿
+
+        private Integer row;//鐐逛綅
+
+    }
+
 }
diff --git a/src/main/java/com/zy/core/model/protocol/StaProtocol.java b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
index 1fb2cc4..9dd2d40 100644
--- a/src/main/java/com/zy/core/model/protocol/StaProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -78,6 +78,15 @@
     // 鎵爜澶辫触
     private boolean barcodeErr;
 
+    private short endRow;//灏忚溅鐩爣浣�
+    private short nowRow;//灏忚溅褰撳墠浣�
+    private boolean RGV1;//灏忚溅鏃犺揣绌洪棽
+    private boolean RGV2;//灏忚溅杈撻�佺嚎鍙栬揣鍒颁綅
+    private boolean RGV3;//灏忚溅杩愯涓�
+    private boolean RGV4;//灏忚溅鏀瑰乏渚ц揣鐗╃洰鏍囩珯
+    private boolean RGV5;//灏忚溅鏀瑰彸渚ц揣鐗╃洰鏍囩珯
+    private boolean RGV6;//涓婁綅鏈烘竻闄ゅ钩绉昏溅璧勬枡
+
     public BasDevp toSqlModel(){
         BasDevp basDevp = new BasDevp();
         basDevp.setDevNo(siteId);
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index baf9974..f3acc49 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -289,20 +289,33 @@
                 staProtocol.setBarcodeErr(status[6]);// 鎵爜澶辫触
             }
         }
-//        Thread.sleep(200);
-//        OperateResultExOne<byte[]> result0 = siemensS7Net.Read("DB101.0", (short) 186);
-//        if (result0.IsSuccess) {
-//            for (int i = 0; i < 93; i++) {
-//                Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
-//                StaProtocol staProtocol = station.get(siteId);
-//                if (null == staProtocol) {
-//                    staProtocol = new StaProtocol();
-//                    staProtocol.setSiteId(siteId);
-//                    station.put(siteId, staProtocol);
-//                }
-//                staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result0.Content, i*2));   // 鐩爣绔�
-//            }
-//        }
+        if (slave.getId()==2){
+            Thread.sleep(200);
+            int[] staNosRgv = {623,624,625,626};
+            for (int i = 0; i < staNosRgv.length; i++) {
+                OperateResultExOne<byte[]> resultRgv = siemensS7Net.Read("DB100."+(1800+i*6), (short) 5);
+                if (resultRgv.IsSuccess) {
+                    Integer siteId = staNosRgv[i]; // 绔欑偣缂栧彿
+                    StaProtocol staProtocol = station.get(siteId);
+                    if (null == staProtocol) {
+                        staProtocol = new StaProtocol();
+                        staProtocol.setSiteId(siteId);
+                        station.put(siteId, staProtocol);
+                    }
+                    staProtocol.setEndRow(siemensS7Net.getByteTransform().TransInt16(result.Content, 0));     // 灏忚溅鐩爣浣�
+
+                    staProtocol.setNowRow(siemensS7Net.getByteTransform().TransInt16(result.Content, 2));   // 鐩爣绔�
+
+                    boolean[] status = siemensS7Net.getByteTransform().TransBool(result.Content, 4, 1);
+                    staProtocol.setRGV1(status[0]);  // 鑷姩
+                    staProtocol.setRGV2(status[1]);  // 鏈夌墿
+                    staProtocol.setRGV3(status[2]); // 鍙叆
+                    staProtocol.setRGV4(status[3]);// 鍙嚭
+                    staProtocol.setRGV5(status[4]);  // 绌烘澘淇″彿
+                    staProtocol.setRGV6(status[5]);  // 婊℃墭鐩�
+                }
+            }
+        }
 //        Thread.sleep(200);
 //        OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB100.100", (short) (staNoSize * 2));
 //        if (result1.IsSuccess) {
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 5906c83..2560f02 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -234,34 +234,6 @@
       row: 25
       bay: 1
       lev: 1
-  # RGV绌挎杞�1
-  rgv[0]:
-    id: 1
-    ip: 192.168.18.77
-    port: 502
-    rack: 0
-    slot: 0
-    #RGV鍏ュ簱婧愮珯鐐�
-    rgvInSStn[0]:
-      devpPlcId: ${wcs-slave.devp[1].id}
-      staNo: 100
-    rgvInSStn[1]:
-      devpPlcId: ${wcs-slave.devp[1].id}
-      staNo: 101
-    #RGV鍑哄簱婧愮珯鐐�
-    rgvOutSStn[0]:
-      devpPlcId: ${wcs-slave.devp[1].id}
-      staNo: 110
-    rgvOutSStn[1]:
-      devpPlcId: ${wcs-slave.devp[1].id}
-      staNo: 112
-    #RGV鐩爣绔欑偣
-    rgvDestStn[0]:
-      devpPlcId: ${wcs-slave.devp[1].id}
-      staNo: 102
-    rgvDestStn[1]:
-      devpPlcId: ${wcs-slave.devp[1].id}
-      staNo: 103
 
   # 杈撻�佺嚎
   devp[0]:
@@ -307,6 +279,56 @@
     # 绌烘澘鍏ュ簱鍙�1(涓存椂)
     emptyInSta[0]:
       staNo: 511
+    # 鍏ョ~鍖栫綈RGV
+    enterRgv[0]:
+      rgvNo: 623
+      steNo: 1
+      jarRegin: 1
+      burial: 1
+      staNoEnter[0]:
+        devpPlcId: ${wcs-slave.devp[1].id}
+        staNo: 113
+        row: 1
+      staNoEnter[1]:
+        devpPlcId: ${wcs-slave.devp[1].id}
+        staNo: 114
+        row: 3
+    # 鍏ョ~鍖栫綈RGV
+    enterRgv[1]:
+      rgvNo: 624
+      steNo: 1
+      jarRegin: 1
+      burial: 1
+      staNoEnter[0]:
+        devpPlcId: ${wcs-slave.devp[1].id}
+        staNo: 113
+        row: 1
+      staNoEnter[1]:
+        devpPlcId: ${wcs-slave.devp[1].id}
+        staNo: 114
+        row: 3
+    # 鍑虹~鍖栫綈RGV
+    endRgv[0]:
+      rgvNo: 625
+      steNo: 1
+      jarNo: 1
+      jarRegin: 1
+      burial: 1
+      staNoEnd[0]:
+        devpPlcId: ${wcs-slave.devp[1].id}
+        staNo: 114
+        row: 1
+    # 鍑虹~鍖栫綈RGV
+    endRgv[1]:
+      rgvNo: 626
+      steNo: 1
+      jarNo: 1
+      jarRegin: 1
+      burial: 1
+      staNoEnd[0]:
+        devpPlcId: ${wcs-slave.devp[1].id}
+        staNo: 114
+        row: 1
 
   # 鏉$爜鎵弿浠�
   barcode[0]:

--
Gitblit v1.9.1