From 18dfd899e47fd2c0876251389941891388a2ebb6 Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期四, 01 二月 2024 09:50:38 +0800
Subject: [PATCH] 优化出片逻辑,更换DB区读取方式

---
 springboot-vue3/src/main/java/com/example/springboot/component/PlcHoldNew.java |  136 ++++++++++++++++++---------------------------
 1 files changed, 55 insertions(+), 81 deletions(-)

diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/PlcHoldNew.java b/springboot-vue3/src/main/java/com/example/springboot/component/PlcHoldNew.java
index e9f8a63..5c979bf 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/PlcHoldNew.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/PlcHoldNew.java
@@ -37,49 +37,31 @@
       spianService = WebSocketServer.applicationContext.getBean(SpianService.class);
       spianMapper = WebSocketServer.applicationContext.getBean(SpianMapper.class);
       jdbcConnections = WebSocketServer.applicationContext.getBean(JdbcConnections.class);
-      // 鏍规嵁鐜荤拑id鑾峰彇璁㈠崟鍙�,鍗曠嫭鏁版嵁婧�
-      // try {
-      // north_glass_buffer1 glass = jdbcConnections.selectGlass(112);
-      // // System.out.println(glass.getOrderId());
-      // } catch (SQLException e) {
-      // // TODO Auto-generated catch block
-      // e.printStackTrace();
-      // }
+
       //璇诲彇DB105鍖烘枃浠�
-      PlcParameterObject plcParameterObjects=PLCAutoMes.PlcMesObject;
+      PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
       //璇�106
-      PlcParameterObject plcParameterObjects2=PLCAutoMes.PlcReadObject;
-      // List<String> addresses105 = new ArrayList<>();
-      // addresses105.add("OutRequest");// 鍑虹墖璇锋眰瀛�
-      // List<String> addresses106 = new ArrayList<>();
-      // addresses106.add("OutActivate");// 鍑虹墖鍚姩  
+      PlcParameterObject plcread=PLCAutoMes.PlcReadObject;
+      //璇�103
+      PlcParameterObject plcstate=PLCAutoMes.plcStateObject;
+      String OutRequest=plcread.getPlcParameter("OutRequest").getValue();//鍑虹墖璇锋眰
+      String OutActivate=plcmes.getPlcParameter("OutActivate").getValue();//鍑虹墖鍚姩
       
-      String OutActivate=plcParameterObjects2.getPlcParameter("OutActivate").getValue();
-      
+
+     
+      S7control.getinstance().WriteWord( plcmes.getPlcParameter("1231").getAddress(plcmes.getPlcParameter("1231").getAddressIndex()), (short) 0);
       // 鍑虹墖浠诲姟
-      boolean Plcout = spianService.listbool("DB106.64"); 
-      boolean Plcout2 = spianService.listbool("DB105.18"); 
       
-      if (Plcout == false&&Plcout2==true) {
-        S7control.getinstance().WriteWord("DB105.18", (short) 0);// 鍑虹墖浠诲姟鍚姩鏀逛负0
-        System.out.println("鍏抽棴鍑虹墖鍚姩" + LocalDateTime.now());// 鍑虹墖浠诲姟鍙戦�佸瓧鏀逛负0
+      if (OutActivate.equals("1") == false&&OutRequest.equals("1")==true) {
+        S7control.getinstance().WriteWord("DB105.18", (short) 0);// 鍑虹墖浠诲姟鍚姩鏀逛负0  
       }
-      boolean Plcadd = spianService.listbool("DB106.24"); // 杩涚墖璇锋眰瀛�
-      boolean Plcadd2 = spianService.listbool("DB105.16"); // 杩涚墖鍚姩
-      if (Plcadd == false&&Plcadd2==true) {
+      String FeedRequest=plcread.getPlcParameter("FeedRequest").getValue();// 杩涚墖璇锋眰瀛�
+      String AddActivate=plcmes.getPlcParameter("AddActivate").getValue();// 杩涚墖鍚姩
+      if (FeedRequest.equals("1") == false&&AddActivate.equals("1")==true) {
         S7control.getinstance().WriteWord("DB105.16", (short) 0);//杩涚墖浠诲姟鍚姩鏀逛负0
-        System.out.println("鍏抽棴杩涚墖鍚姩" + LocalDateTime.now());// 杩涚墖浠诲姟鍙戦�佸瓧鏀逛负0
-      }
-      
-
-
-      // StringBuilder writedstrIdOut = new StringBuilder();
-      // 鑾峰彇宸蹭笅鍙戠殑鍑虹墖id
-      byte[] writedglassidbytesOut = S7control.getinstance().ReadByte("DB105.30", 14);
-      String writedstrIdOut = new String(writedglassidbytesOut);
-
+      }     
    
-      if (Plcout == true) {
+      if (OutActivate.equals("1") == true) {
         // 鍒ゆ柇褰撳墠鏄惁鏈夋湭鎵ц鐨勪换鍔�
         int outnum = spianMapper.SelectOutSliceshu();//鏄惁鏈夋鍦ㄥ嚭鐗囩殑浠诲姟
         int cageoutsum = spianMapper.Selectcageout(3);//绗煎瓙鍐呮槸鍚﹁繕鏈夊湪鍑虹墖鐨勭幓鐠�
@@ -104,89 +86,81 @@
      
       }
 
-      ///////////// 杩涚墖浠诲姟
-      List<Short> datas1List = S7control.getinstance().ReadWord("DB106.24", 1);// 鑾峰彇prc杩涚墖璇锋眰鏁版嵁
-      List<Short> datas1ListState = S7control.getinstance().ReadWord("DB106.8", 1);// 鑾峰彇杩涚墖杞︾姸鎬�
-      List<Short> datas1ListState2 = S7control.getinstance().ReadWord("DB105.16", 1);// 鑾峰彇杩涚墖杞︿换鍔℃槸鍚﹀惎鍔�
-      
+      ///////////// 杩涚墖浠诲姟      
 
-      boolean B01backs = spianService.listbool("DB106.60");// b01姹囨姤
-      boolean B02backs = spianService.listbool("DB106.62");// b02姹囨姤
-      StringBuilder B01glassid = spianService.queGlassid("DB103.184", 14);// BO1鐨勭幓鐠僫d
-      StringBuilder B02glassid = spianService.queGlassid("DB103.212", 14);// B02鐨勭幓鐠僫d
+      String B01backs = plcread.getPlcParameter("B01CompleteTheReport").getValue();// b01姹囨姤
+      String B02backs = plcread.getPlcParameter("B02CompleteTheReport").getValue();// b02姹囨姤
+      
+      String B01glassid = plcstate.getPlcParameter("B01ID1").getValue();// BO1鐨勭幓鐠僫d
+      String B02glassid = plcstate.getPlcParameter("B02ID1").getValue();// B02鐨勭幓鐠僫d
 
       // 褰撹繘鐗囧皬杞﹀畬鎴愪换鍔℃椂
-      if (B01backs == true) {
+      if (B01backs.equals("1") == true) {
         // 鍒ゆ柇鏄惁姹囨姤姝g‘鐨刬d
         int HB = spianMapper.SelectHB(B01glassid.toString());
         if (HB > 0) {
-          // 褰揃01灏忚溅姹囨姤瀹屾垚鏃舵洿鏀圭幓鐠冪姸鎬� 涓�1
-          S7control.getinstance().WriteWord("DB105.48", (short) 1);// 鎭㈠B01灏忚溅搴旂瓟鏀逛负1
-          boolean yingda = spianService.listbool("DB105.48");// b01姹囨姤
-          if (yingda == true) {
+          // 鎭㈠B01灏忚溅搴旂瓟鏀逛负1
+          S7control.getinstance().WriteWord(plcmes.getPlcParameter("B01report").getAddress(plcmes.getPlcParameter("B01report").getAddressIndex()), (short) 1);
+          String yingda =plcmes.getPlcParameter("B01report").getValue();// b01姹囨姤
+          if (yingda.equals("1")) {
             spianService.overtask(B01glassid.toString());// 瀹屾垚浠诲姟
-          }
-          System.out.println("姹囨姤鏃禕01|绗�" + aaa + "娆�" + B01glassid + "搴旂瓟" + yingda);
-          aaa += 1;
+          }       
         }
 
       }else{
-        S7control.getinstance().WriteWord("DB105.48", (short) 0);// 鎭㈠B01灏忚溅搴旂瓟鏀逛负1
+        // 鎭㈠B01灏忚溅搴旂瓟鏀逛负0
+        S7control.getinstance().WriteWord(plcmes.getPlcParameter("B01report").getAddress(plcmes.getPlcParameter("B01report").getAddressIndex()), (short) 0);
       }
 
       // 褰撳嚭鐗囧皬杞﹀畬鎴愪换鍔℃椂
-      if (B02backs == true) {
+      if (B02backs.equals("1") == true) {
         // 鍒ゆ柇鏄惁姹囨姤姝g‘鐨刬d
-        int HB = spianMapper.SelectHB(B02glassid.toString());
-        System.out.println("姹囨姤鏃禕02|" + B02glassid);
+        int HB = spianMapper.SelectHB(B02glassid);
         if (HB > 0) {
-          // 褰揃02灏忚溅姹囨姤瀹屾垚鏃舵洿鏀圭幓鐠冪姸鎬佷负0
-
-          S7control.getinstance().WriteWord("DB105.50", (short) 1);// 鎭㈠B02灏忚溅搴旂瓟鏀逛负1
-          System.out.println("姹囨姤鏃禕02ID|" + B02glassid);
-          boolean yingda = spianService.listbool("DB105.50");// b02姹囨姤
-          if (yingda == true) {
-            spianService.overtask(B02glassid.toString());// 瀹屾垚浠诲姟
-          }
-          System.out.println("姹囨姤鏃禕02|绗�" + aaa + "娆�" + B02glassid + "搴旂瓟" + yingda);
+          // 鎭㈠B02灏忚溅搴旂瓟鏀逛负1
+          S7control.getinstance().WriteWord(plcmes.getPlcParameter("B02report").getAddress(plcmes.getPlcParameter("B02report").getAddressIndex()), (short) 1);
+          String yingda =plcmes.getPlcParameter("B01report").getValue();// b02搴旂瓟
+          if (yingda.equals("1") == true) {
+            spianService.overtask(B02glassid);// 瀹屾垚浠诲姟
+          }    
         }
       }else{
-         S7control.getinstance().WriteWord("DB105.50", (short) 0);// 鎭㈠B02灏忚溅搴旂瓟鏀逛负0
+        S7control.getinstance().WriteWord(plcmes.getPlcParameter("B02report").getAddress(plcmes.getPlcParameter("B02report").getAddressIndex()), (short) 0);
       }
 
 
       // 鑾峰彇DO1鏁版嵁
-      StringBuilder queueid1 = spianService.queGlassid("DB106.26", 14);// 鑾峰彇璇锋眰鐨刬d璺烡O1鍚屾椂娓�
+      String Do1ID=plcread.getPlcParameter("FeedID").getValue();// 鑾峰彇璇锋眰鐨刬d璺烡O1鍚屾椂娓�
       // 鑾峰彇DO2鏁版嵁
-      StringBuilder queueid2 = spianService.queGlassid("DB103.58", 14);
+      String Do2ID=plcread.getPlcParameter("FeedID").getValue();// 鑾峰彇璇锋眰鐨刬d璺烡O1鍚屾椂娓�
 
-      int questate = spianMapper.Selectquecount(queueid1.toString());// 鍒ゆ柇鎵爜浣嶆槸鍚︽湁鐜荤拑宸茬‘璁�
+
+      int questate = spianMapper.Selectquecount(Do1ID.toString());// 鍒ゆ柇鎵爜浣嶆槸鍚︽湁鐜荤拑宸茬‘璁�
       // queueid1.toString().isEmpty()
-      north_glass_buffer1 glass1 = spianMapper.selectGlass(queueid1.toString());// D01鐨勭幓鐠冧俊鎭�
-      north_glass_buffer1 glass2 = spianMapper.selectGlass(queueid2.toString());// D02鐜荤拑淇℃伅
+      north_glass_buffer1 glass1 = spianMapper.selectGlass(Do1ID);// D01鐨勭幓鐠冧俊鎭�
+      north_glass_buffer1 glass2 = spianMapper.selectGlass(Do2ID);// D02鐜荤拑淇℃伅
       // 褰撴壂鐮佷綅鐜荤拑id涓虹┖鏃� 瀹藉害涓�0
-      if (queueid1 != null && questate == 0) {
+      if (Do1ID != null && questate == 0) {
         // 鍐欏叆D01鐨勬暟鎹埌涓婄墖闃熷垪琛�
         if (glass1 == null) { // 褰撴病鏈夊�兼椂浼犵┖
           spianMapper.Updatequeue(null, null, null, null, 0, null, null, null, null, 1);
         } else {
-
-          spianMapper.Updatequeue(queueid1.toString(), glass1.getordernumber(), glass1.getlistnumber(),
-              glass1.getboxnumber(), 0, glass1.getglasslengthmm().toString(), glass1.getglassheightmm().toString(),
-              glass1.getglasslength().toString(), glass1.getglassheight().toString(), 1);
+          spianMapper.Updatequeue(Do1ID.toString(), glass1.getordernumber(), glass1.getlistnumber(),
+          glass1.getboxnumber(), 0, glass1.getglasslengthmm().toString(), glass1.getglassheightmm().toString(),
+          glass1.getglasslength().toString(), glass1.getglassheight().toString(), 1);
         }
 
       }
 
-      if (queueid2 != null) {
+      if (Do2ID != null) {
         // 鍐欏叆D02鐨勬暟鎹埌涓婄墖闃熷垪琛�
         if (glass2 == null) {
           spianMapper.Updatequeue(null, null, null, null, 0, null, null, null, null, 2);
         } else {
-          spianMapper.Updatequeue(queueid2.toString(), glass2.getordernumber(), glass2.getlistnumber(),
-              glass2.getboxnumber(), 0, glass2.getglasslengthmm().toString(), glass2.getglassheightmm().toString(),
-              glass2.getglasslength().toString(), glass2.getglassheight().toString(), 2);
-          spianMapper.overqueue2(queueid2.toString(), 0, 1);// 鏇存敼鎵爜浣嶄换鍔¤〃鐨勭姸鎬佷负0
+          spianMapper.Updatequeue(Do2ID.toString(), glass2.getordernumber(), glass2.getlistnumber(),
+          glass2.getboxnumber(), 0, glass2.getglasslengthmm().toString(), glass2.getglassheightmm().toString(),
+          glass2.getglasslength().toString(), glass2.getglassheight().toString(), 2);
+          spianMapper.overqueue2(Do2ID.toString(), 0, 1);// 鏇存敼鎵爜浣嶄换鍔¤〃鐨勭姸鎬佷负0
           S7control.getinstance().WriteWord("DB105.16", (short) 0);// 鍏抽棴浠诲姟鍚姩
         }
 

--
Gitblit v1.8.0