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