From ec14c7c0b9a5d8240cfc3f2c80a48dfe1176f13e Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期四, 28 十二月 2023 08:18:59 +0800
Subject: [PATCH] 测试更新

---
 springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java |   37 +++---
 springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java     |    7 
 springboot-vue3/src/main/java/com/example/springboot/component/Plcalarm.java     |    2 
 springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java   |    4 
 springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java      |   38 +++----
 CanadaMes-ui/src/layout/index.vue                                                |  162 ++++++++++++++++++++++----------
 6 files changed, 153 insertions(+), 97 deletions(-)

diff --git a/CanadaMes-ui/src/layout/index.vue b/CanadaMes-ui/src/layout/index.vue
index 40fce67..3aafa96 100644
--- a/CanadaMes-ui/src/layout/index.vue
+++ b/CanadaMes-ui/src/layout/index.vue
@@ -66,7 +66,7 @@
               <el-menu-item index="1-1" @click="logout">{{ $t('exit') }}</el-menu-item>
               <el-menu-item index="1-2" @click="showChangePasswordDialog">{{ $t('changePassword') }}</el-menu-item>
             </el-submenu>
-            
+
           </template>
           <template>
             <el-dialog :title="$t('changePassword')" :visible.sync="dialogVisible" width="30%">
@@ -102,11 +102,19 @@
         <el-table-column prop="timeons" :label="$t('timeon')"></el-table-column>
       </el-table>
     </el-dialog>
-    <el-dialog :visible.sync="dialogFormVisible3" >
-     
-      <el-button :class="{ 'blue-button': receivedData === 1 }" @click="toggleButtonValue(1)">{{ $t('A01Abort/ResumeTasks') }}</el-button>
-    <el-button :class="{ 'blue-button': receivedData2 === 1 }" @click="toggleButtonValue(2)">{{ $t('A02Abort/ResumeTasks') }}</el-button>
-      
+    <el-dialog :visible.sync="dialogFormCountDown" :title="$t('Approximately resettable time')" top="5vh">
+            <div :style="'font-size: ' + PromptSize + 'px;text-align: center;'">
+                <!-- {{ this.CountDowns }} -->
+                {{ this.CountDowns }}
+            </div>
+        </el-dialog>
+    <el-dialog :visible.sync="dialogFormVisible3">
+
+      <el-button :class="{ 'blue-button': receivedData === 1 }" @click="toggleButtonValue(1)">{{
+        $t('A01Abort/ResumeTasks') }}</el-button>
+      <el-button :class="{ 'blue-button': receivedData2 === 1 }" @click="toggleButtonValue(2)">{{
+        $t('A02Abort/ResumeTasks') }}</el-button>
+
     </el-dialog>
 
   </el-container>
@@ -131,8 +139,8 @@
     return {
       activeTag: '', // 褰撳墠婵�娲荤殑鏍囩
       dialogVisible: false,
-      receivedData:0,
-      receivedData2:0,
+      receivedData: 0,
+      receivedData2: 0,
       formData: {
         oldPassword: '',
         newPassword: '',
@@ -149,7 +157,12 @@
       dialogFormVisible2: false,
       dialogFormVisible3: false,
       alarm: [],
-      alarm2: []
+      alarm2: [],
+      CountDowns: "0",
+      EmergencyStop: false,
+      PromptSize: 250,
+      dialogFormCountDown:false
+
     }
   },
   // components: {
@@ -157,8 +170,8 @@
   // },
   created() {
 
-   
- 
+
+
     selectList(this.menuListForm).then(res => {
       this.menuList = res.data
 
@@ -178,25 +191,25 @@
     toggleButtonValue(buttonNumber) {
 
       MessageBox.confirm(this.$t('Are you sure to perform this operation?'), this.$t('prompt'), {
-    confirmButtonText: this.$t('confirm'),
-    cancelButtonText: this.$t('cancel'),
-    type: 'warning'
-  }).then(() => {
-    // 鐐瑰嚮纭鎸夐挳鍚庢墽琛岀殑鎿嶄綔
-      if (buttonNumber === 1) {
-        this.receivedData = this.receivedData === 0 ? 1 : 0;
-      } else if (buttonNumber === 2) {
-        this.receivedData2 = this.receivedData2 === 0 ? 1 : 0;
-      }
-console.log(this.receivedData,this.receivedData2)
+        confirmButtonText: this.$t('confirm'),
+        cancelButtonText: this.$t('cancel'),
+        type: 'warning'
+      }).then(() => {
+        // 鐐瑰嚮纭鎸夐挳鍚庢墽琛岀殑鎿嶄綔
+        if (buttonNumber === 1) {
+          this.receivedData = this.receivedData === 0 ? 1 : 0;
+        } else if (buttonNumber === 2) {
+          this.receivedData2 = this.receivedData2 === 0 ? 1 : 0;
+        }
+        console.log(this.receivedData, this.receivedData2)
 
 
         const data3 = [];
-        const resetButtonValues3 = [this.receivedData,this.receivedData2];
+        const resetButtonValues3 = [this.receivedData, this.receivedData2];
 
         // 灏嗗緱鍒扮殑鍊兼坊鍔犲埌 data 鏁扮粍涓�
         data3.push(resetButtonValues3.flat());
-      
+
         // 鍦� data3 鏁扮粍鍓嶉潰娣诲姞涓や釜绌烘暟缁�
 
         // 鍒涘缓 jsonObject3 瀵硅薄锛屽苟娣诲姞 data3 灞炴��
@@ -207,13 +220,13 @@
         console.log("鎬ュ仠鍚庝腑姝�/缁х画閫夋嫨:", jsonString3);
         socket?.send(jsonString3);
         setTimeout(() => {
-      this.dialogFormVisible3 = false;
-    }, 1000); // 寤惰繜鏃堕棿涓�1绉掞紙1000姣锛�
+          this.dialogFormVisible3 = false;
+        }, 1000); // 寤惰繜鏃堕棿涓�1绉掞紙1000姣锛�
       }).catch(() => {
-    // 鐐瑰嚮鍙栨秷鎸夐挳鍚庢墽琛岀殑鎿嶄綔
-  });
-     
-      
+        // 鐐瑰嚮鍙栨秷鎸夐挳鍚庢墽琛岀殑鎿嶄綔
+      });
+
+
 
 
     },
@@ -238,40 +251,57 @@
         socket.onmessage = function (msg) {
           //console.log("鏀跺埌鏁版嵁====" + msg.data);
           let obj = JSON.parse(msg.data);
-          if(obj.alarmmg){
+          if (obj.alarmmg) {
 
-         
-          if (obj.alarmmg[0].length > 0) {
-            if (this.alarm.length > 0) {
-              if (this.alarm[this.alarm.length - 1].id != obj.alarmmg[0][obj.alarmmg[0].length-1].id) {
+
+            if (obj.alarmmg[0].length > 0) {
+              if (this.alarm.length > 0) {
+                if (this.alarm[this.alarm.length - 1].id != obj.alarmmg[0][obj.alarmmg[0].length - 1].id) {
+                  this.alarm = obj.alarmmg[0];
+                  this.dialogFormVisible2 = true;
+                }
+              } else {
                 this.alarm = obj.alarmmg[0];
                 this.dialogFormVisible2 = true;
               }
             } else {
               this.alarm = obj.alarmmg[0];
-              this.dialogFormVisible2 = true;
-            }
-          }else{
-              this.alarm = obj.alarmmg[0];
               this.dialogFormVisible2 = false;
+            }
+            //鏄惁鎬ュ仠
+            if (obj.emergencystop != null) {
+              this.EmergencyStop = obj.emergencystop[0];
+            }
+
+            //澶嶄綅鍊掕鏃�
+            console.log(obj.countdown);
+            if (obj.countdown != null) {
+              if ((obj.countdown[0] == true && this.CountDowns == 0) || this.EmergencyStop == true) {
+                this.CountDown();
+              }
+            }
+
+            //澶嶄綅瀹屾垚淇″彿
+            if (obj.reset != null) {
+              this.reset = obj.reset[0];
+            }
           }
-        }
 
 
 
-          
-          
-         
 
-if(obj.Abort){
 
-          if (obj.Abort[0].length > 0) {
-            this.receivedData=obj.Abort[0][0];
-            this.receivedData2=obj.Abort[0][1];
-           this.dialogFormVisible3 = true;
+
+
+          if (obj.Abort) {
+
+            if (obj.Abort[0].length > 0) {
+              this.receivedData = obj.Abort[0][0];
+              this.receivedData2 = obj.Abort[0][1];
+              this.dialogFormVisible3 = true;
+            }
           }
-        }
-        this.$forceUpdate();
+          this.$forceUpdate();
 
         }.bind(this);
         //鍏抽棴浜嬩欢
@@ -283,6 +313,36 @@
           console.log("websocket鍙戠敓浜嗛敊璇�");
         }
       }
+    },
+    //45绉掑浣嶅�掓暟璁℃椂
+    CountDown() {
+      let count = 45;
+      let timer = setInterval(
+        () => {
+          if (this.EmergencyStop == true) {
+            this.dialogFormCountDown = false;
+            clearInterval(timer);
+            this.CountDowns = "0";
+          } else {
+            if (count > 0) {
+              this.PromptSize = 500;
+              this.CountDowns = count;
+              count--;
+              this.dialogFormCountDown = true;
+            }
+            else {
+              this.PromptSize = 200;
+              this.CountDowns = "Waiting for reset";
+              if (this.reset == true) {
+                clearInterval(timer);
+                this.dialogFormCountDown = false;
+              }
+            }
+          }
+        },
+        1000
+      );
+
     },
     logout: function () {
       removeToken()
@@ -436,10 +496,12 @@
     margin-left: 10px;
   }
 }
+
 .blue-button {
   background-color: green;
   color: white;
 }
+
 .el-header {
 
   background-color: #576574;
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/Plcalarm.java b/springboot-vue3/src/main/java/com/example/springboot/component/Plcalarm.java
index 2d0c98d..4de113f 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/Plcalarm.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/Plcalarm.java
@@ -28,7 +28,7 @@
     FileInputStream fileInputStream;
     try {
       // 浠庢枃浠朵腑璇诲彇瀛楄妭鏁版嵁瀛樺叆 fileInputStream
-      fileInputStream = new FileInputStream("D:/canadames/Alarm.json");
+      fileInputStream = new FileInputStream("D:/code/canadames/Alarm.json");
       // 璇诲彇 fileInputStream 涓瓧鑺傚苟灏嗗叾瑙g爜涓哄瓧绗�
       InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream, "utf-8");
       // 鎻愰珮璇诲彇鏁堢巼锛屽湪 BufferedReader 鍐呭寘瑁� InputStreamReader
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java b/springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
index bbff53e..47b88f7 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
@@ -39,10 +39,7 @@
 
     private Configuration config;
 
-
-
-    private  StorageCageService storageCageService;
-
+    private StorageCageService storageCageService;
 
     public Plchome() throws IOException {
         config = new Configuration("config.properties");
@@ -124,8 +121,11 @@
             // 鑾峰彇杩涚墖杞︾姸鎬�
             List<Short> datas1ListState = S7control.getinstance().ReadWord("DB106.8",
                     1);// 鑾峰彇杩涚墖杞︾姸鎬�
-            boolean exist1 = datas1ListState.contains((short) 0);
+            if(datas1ListState!=null){
+                boolean exist1 = datas1ListState.contains((short) 0);
             jsonObject.append("zhuangtai", exist1);
+            }
+            
             // 鑾峰彇杩涚墖鐜荤拑淇℃伅
             List<Short> inglassInfo = S7control.getinstance().ReadWord("DB106.24", 1);
             if (inglassInfo != null) {
@@ -171,19 +171,18 @@
                 jsonObject.append("emergencystop", emergencystop);
             }
 
-            //缁堟缁х画鎸夐挳
+            // 缁堟缁х画鎸夐挳
             List<String> niuanaddressList3 = Arrays.asList(config.getProperty("Parameter2.stop").split(","));
             List<Boolean> anniuread = S7control.getinstance().readBits(niuanaddressList3);
-//            Boolean[] value4 = { false, false};
-//    List<Boolean> anniuread = new ArrayList<>(Arrays.asList(value4));
-//            Boolean[] value5 = { true};
-//            List<Boolean> resets = new ArrayList<>(Arrays.asList(value5));
+            // Boolean[] value4 = { false, false};
+            // List<Boolean> anniuread = new ArrayList<>(Arrays.asList(value4));
+            // Boolean[] value5 = { true};
+            // List<Boolean> resets = new ArrayList<>(Arrays.asList(value5));
             short[] anniuparams = new short[anniuread.size()];
             for (int i = 0; i < anniuread.size(); i++) {
                 boolean value = anniuread.get(i);
                 anniuparams[i] = value ? (short) 1 : (short) 0;
             }
-
 
             short[] resets2 = new short[resets.size()];
             for (int i = 0; i < resets.size(); i++) {
@@ -191,17 +190,14 @@
                 resets2[i] = value ? (short) 1 : (short) 0;
             }
 
-           System.out.println(resets);
             for (short number : resets2) {
 
                 if (number == 1) {
-                    System.out.println(resets);
                     jsonObject.append("Abort", anniuparams);
 
                 }
 
             }
-
 
             // 閾濇绾夸氦浜�
 
@@ -245,15 +241,13 @@
 
                     if (webserver != null) {
 
-
                         List<String> messages = webserver.getMessages();
 
                         if (!messages.isEmpty()) {
                             // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
                             String lastMessage = messages.get(messages.size() - 1);
-//        System.out.println("lastMessage锛�" + lastMessage);
+                            // System.out.println("lastMessage锛�" + lastMessage);
                             JSONArray messageArray = new JSONArray(lastMessage);
-
 
                             try {
                                 // 妫�鏌ョ储寮曟槸鍚︽湁鏁�
@@ -275,8 +269,8 @@
                                                 boolean val = "1".equals(cleanedValue.trim());
                                                 // 灏嗗竷灏斿�兼坊鍔犲埌甯冨皵鍊煎垪琛ㄤ腑
                                                 sValue.add(val);
-                                                System.out.println("messageValue: " + Arrays.asList(val) + " added to the list");
-
+                                                System.out.println(
+                                                        "messageValue: " + Arrays.asList(val) + " added to the list");
 
                                             } catch (NumberFormatException e) {
                                                 // 濡傛灉鏃犳硶瑙f瀽涓� boolean 绫诲瀷锛屽垯蹇界暐璇ラ儴鍒�
@@ -284,7 +278,7 @@
                                             }
                                         }
                                     }
-// 缁堟杩涚墖浠诲姟
+                                    // 缁堟杩涚墖浠诲姟
                                     boolean Value1 = sValue.get(0);
                                     boolean Value2 = sValue.get(1);
 
@@ -301,7 +295,8 @@
 
                                         // 璋冪敤 S7control.getinstance().WriteBit 鏂规硶灏嗗竷灏斿�煎垪琛ㄥ啓鍏ュ湴鍧�鍒楄〃
                                         S7control.getinstance().WriteBit(niuanaddressList3, sValue);
-                                        System.out.println("Values " + sValue + " written to PLC at address " + niuanaddressList3);
+                                        System.out.println(
+                                                "Values " + sValue + " written to PLC at address " + niuanaddressList3);
                                     }
                                 }
                             } catch (Exception e) {
@@ -309,7 +304,6 @@
                             }
                             webserver.clearMessages();
                         }
-
 
                     }
 
diff --git a/springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java b/springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java
index 8fc312a..d64b920 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java
@@ -17,24 +17,25 @@
         //
         System.out.println("鍚姩瀹屾垚");
 
- //new PlcHold().start();
+        new PlcHold().start();
 
-//        new Plchome().start();
-//
-//           new Plcalarm().start();
-//
-//           new Plcsign().start();
-//
-//
-//           new Plcstate().start();
-//           new PlcPositioning1().start();
-//
-//          new PlcParameter2().start();
-//
-//           new PLCAutomaticParameterSetting().start();
-//           new PlcManualonePosition().start();
-//           new PlcManualonePosition2().start();
-//           new PlcServoManualone().start();
-//           new PLCManualJog().start();
+        new Plchome().start();
+
+        new Plcalarm().start();
+
+        new Plcsign().start();
+
+        new Plcstate().start();
+        new PlcPositioning1().start();
+
+        new PlcParameter2().start();
+
+        new PLCAutomaticParameterSetting().start();
+
+        new PlcManualonePosition().start();
+        new PlcManualonePosition2().start();
+        new PlcServoManualone().start();
+        new PLCManualJog().start();
+        new Plclog().start();
     }
 }
\ No newline at end of file
diff --git a/springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java b/springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java
index 2bcdc37..55e5cf8 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java
@@ -16,7 +16,7 @@
     @Select("select COUNT(if(a.state1=0,cell,0))as cell,ROUND(id/2)as id from (select *,max(state)as state1 from storage_cage a  GROUP BY cage,cell)as a where (a.cage=#{cage1}-1 or a.cage=#{cage1}+1)and if(a.cage<6,a.cage>0 and a.cage<6,a.cage>5) and disabled=0 GROUP BY cage ORDER BY cell desc LIMIT 1")
     int selectCage(int cage1);
     // 鑾峰彇璁㈠崟鍙锋帓搴忕殑绌鸿鍗曠瀛�
-    @Select("select a.cage,FrameBarcode,COUNT(if(a.order_id=#{orderids},a.order_id,null))as orderid,b.shu,c.shu2,a.cell,min(a.state)as state1,disabled,FrameBarcode from storage_cage a left join (select COUNT(*)shu,cage from storage_cage  where order_id=#{orderids} GROUP BY cage)as b on a.cage=b.cage left join(select cage ,COUNT(glass_id)as shu2 from storage_cage GROUP BY cage)c  on a.cage=c.cage where (order_id=#{orderids} or ''='') GROUP BY cage,cell HAVING state1=0 ORDER BY FrameBarcode=#{Fbarcode} desc,shu desc,shu2,cage asc; ")
+    @Select("select a.cage,FrameBarcode,COUNT(if(a.order_id=#{orderids},a.order_id,null))as orderid,b.shu,c.shu2,a.cell,min(a.state)as state1,disabled,FrameBarcode from storage_cage a left join (select COUNT(*)shu,cage from storage_cage  where order_id=#{orderids} GROUP BY cage)as b on a.cage=b.cage left join(select cage ,COUNT(glass_id)as shu2 from storage_cage GROUP BY cage)c  on a.cage=c.cage where (order_id=#{orderids} or ''='') GROUP BY cage,cell HAVING state1=0 ORDER BY (FrameBarcode=#{Fbarcode} or ''='') desc,shu desc,shu2,cage asc; ")
     List<StorageCage> selectAll(String orderids,String Fbarcode);
 
     // 鑾峰彇鍒ゆ柇璇ユ牸瀛愭槸鍚﹂渶瑕佹妸澶栫墖鎺ㄥ叆鍐呯墖浣嶇疆
@@ -75,8 +75,7 @@
     void UpdataAddCage(String orderid, String glassid, double width, int cage, int cell, int id, int state);
 
     @Update("update storage_cage set state=#{state},glass_id=#{glassid},order_id=#{glass.ordernumber},glasswidth=#{glass.glasslengthmm},glassheight=#{glass.glassheightmm},glasswidthmm=#{glass.glasslength},glassheightmm=#{glass.glassheight},listid=#{glass.listnumber},boxid=#{glass.boxnumber},FrameBarcode=#{glass.FrameBarcode} where id=#{id};")
-    void UpdataAddCage2(String orderid, String glassid, north_glass_buffer1 glass, int cage, int cell, int id,
-            int state);
+    void UpdataAddCage2(String orderid, String glassid, north_glass_buffer1 glass, int cage, int cell, int id,int state);
 
     // 淇敼绗煎瓙淇℃伅(澶氱墖杩涚墖)
     @Update("update storage_cage set state=#{state},glass_id=#{glassid},order_id=#{orderid},glasswidth=#{width} where cage=#{cage} and cell=#{cell} and tier=#{tier};")
@@ -95,7 +94,7 @@
     void UpdataOutCage1(double width, int cage, int cell);
 
     // 璋冩嫧鏇存崲绗煎瓙淇℃伅
-    @Update("update storage_cage as a,(select*from storage_cage b where b.cage=#{cage} and b.cell=#{cell} and b.tier=#{tier})as b set a.glass_id=b.glass_id,a.order_id=b.order_id,a.state=2,a.glasswidth=b.glasswidth,a.glassheight=b.glassheight,a.glasswidthmm=b.glasswidthmm,a.glassheightmm=b.glassheightmm,a.listid=b.listid,a.boxid=b.boxid where a.id=#{id1}")
+    @Update("update storage_cage as a,(select*from storage_cage b where b.cage=#{cage} and b.cell=#{cell} and b.tier=#{tier})as b set a.glass_id=b.glass_id,a.order_id=b.order_id,a.state=1,a.glasswidth=b.glasswidth,a.glassheight=b.glassheight,a.glasswidthmm=b.glasswidthmm,a.glassheightmm=b.glassheightmm,a.listid=b.listid,a.boxid=b.boxid where a.id=#{id1}")
     void UpdateDBCage(int id1, int cage, int cell, int tier);
 
     // @Insert("insert into user(name, date, address, user_no) values (#{name},
diff --git a/springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java b/springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java
index 898fc50..b46dad5 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java
@@ -96,7 +96,7 @@
                     spianMapper.UpdataAddCage1(widths, cage1, cells);// 鍑忓皯鏍煎瓙瀹藉害
                     spianMapper.Inserttask(0, 0, 1000, ids, glassid.toString(), prctier);// 鏂板浠诲姟
                     S7control.getinstance().WriteWord(adddresslist, datas);
-                    System.out.println("鍑虹墖浠诲姟|" + datas);
+                    System.out.println("杩涚墖浠诲姟|" + datas);
 
                 } else {
                     // 鏁版嵁搴撲慨鏀圭瀛愯〃鏂板涓�鏉$幓鐠�
@@ -105,7 +105,7 @@
                     spianMapper.UpdataAddCage1(widths, cage1, cells);// 鍑忓皯鏍煎瓙瀹藉害
                     spianMapper.Inserttask(0, 0, 1000, ids, glassid.toString(), prctier);// 鏂板浠诲姟
                     S7control.getinstance().WriteWord(adddresslist, datas);
-                    System.out.println("鍑虹墖浠诲姟|" + datas);
+                    System.out.println("杩涚墖浠诲姟|" + datas);
 
                     // S7control.getinstance().WriteByte("DB105.16",glassid);
                 }

--
Gitblit v1.8.0