From 3b604eb218a3b167144cc6e5d9c86cd95e16157c Mon Sep 17 00:00:00 2001 From: yxFwq <1> Date: 星期六, 10 五月 2025 08:08:24 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/thread/SiemensDevpThread.java | 119 ++++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 93 insertions(+), 26 deletions(-) diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java index ebce4ea..db5ca80 100644 --- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java +++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java @@ -10,6 +10,8 @@ import com.core.common.SpringUtils; import com.core.exception.CoolException; import com.zy.asrs.entity.BasDevp; +import com.zy.asrs.entity.RgvOneSign; +import com.zy.asrs.mapper.RgvOneSignMapper; import com.zy.asrs.service.BasDevpService; import com.zy.core.DevpThread; import com.zy.core.News; @@ -45,6 +47,8 @@ private Map<Integer, StaProtocol> station = new ConcurrentHashMap<>(); public boolean charge0; //璇锋眰鍏呯數 public boolean charge1; //璇锋眰鍏呯數 + private short weight464; + private String matnr464; private short heartBeatVal = 1; public static final ArrayList<Integer> staNos1 = new ArrayList<Integer>() {{ add(100);add(101);add(102);add(103);add(104);add(105);add(106);add(107); @@ -347,6 +351,31 @@ } } } + } else if (slave.getId()==1){ + try{ + OperateResultExOne<byte[]> resultSignOne = siemensS7Net.Read("DB293.106", (short) (16)); + + int smallEmpty = siemensS7Net.getByteTransform().TransInt16(resultSignOne.Content, 0);// 灏忔枡绌烘墭 + int bigEmpty = siemensS7Net.getByteTransform().TransInt16(resultSignOne.Content, 2);// 澶ф枡绌烘墭 + int smallTurn = siemensS7Net.getByteTransform().TransInt16(resultSignOne.Content, 4);// 灏忔枡缈昏浆 + int bigTurn = siemensS7Net.getByteTransform().TransInt16(resultSignOne.Content, 6);// 澶ф枡缈昏浆 +// int LineUp131 = siemensS7Net.getByteTransform().TransInt16(resultSignOne.Content, 8);// 131鎺掗槦 +// int LineUp126 = siemensS7Net.getByteTransform().TransInt16(resultSignOne.Content, 10);// 126鎺掗槦 +// int LineUp312 = siemensS7Net.getByteTransform().TransInt16(resultSignOne.Content, 12);// 312鎺掗槦 +// int LineUp310 = siemensS7Net.getByteTransform().TransInt16(resultSignOne.Content, 14);// 310鎺掗槦 + + updateRgvOneSign("smallEmpty",smallEmpty); + updateRgvOneSign("bigEmpty",bigEmpty); + updateRgvOneSign("smallTurn",smallTurn); + updateRgvOneSign("bigTurn",bigTurn); +// updateRgvOneSign("LineUp131",LineUp131); +// updateRgvOneSign("LineUp126",LineUp126); +// updateRgvOneSign("LineUp312",LineUp312); +// updateRgvOneSign("LineUp310",LineUp310); + + } catch (Exception e){ + log.error("璇诲彇杈撻�佺嚎鏁伴噺鏍囪鍑虹幇寮傚父锛�"+e); + } } @@ -356,7 +385,7 @@ if (result2.IsSuccess) { int[] staNosRgv = new int[]{281,292,173,214,120}; if (slave.getId()==2){ - staNosRgv = new int[]{453,460,508,534,611}; + staNosRgv = new int[]{453,460,518,532,607}; } for (int i = 0; i < barcodeSize; i++) { //1:281 2:292 3:174(173) 4:214 5:120 @@ -388,6 +417,18 @@ } } } + + try{ + OperateResultExOne<byte[]> resultW464 = siemensS7Net.Read("DB100.1874", (short) 2); + weight464 = siemensS7Net.getByteTransform().TransInt16(resultW464.Content, 0);// 閲嶉噺464 + OperateResultExOne<byte[]> resultM464 = siemensS7Net.Read("DB100.1882", (short) 16); + matnr464 = siemensS7Net.getByteTransform().TransString(resultM464.Content, 0,16, "UTF-8"); + matnr464 = matnr464.replaceAll("\\s+", ""); + } catch (Exception e){ + log.error("璇诲彇464绔欑偣淇℃伅澶辫触"); + weight464 = 0; + matnr464 = ""; + } } // //RGV灏忚溅 @@ -413,7 +454,14 @@ List<BasDevp> basDevps = new ArrayList<>(); for (Integer siteId : staNos) { StaProtocol staProtocol = station.get(siteId); - basDevps.add(staProtocol.toSqlModel()); + if (siteId == 464){ + BasDevp basDevp = staProtocol.toSqlModel(); + basDevp.setGrossWt(Double.valueOf(weight464)); + basDevp.setDecDesc(matnr464); + basDevps.add(basDevp); + } else { + basDevps.add(staProtocol.toSqlModel()); + } } try{ @@ -619,7 +667,7 @@ do { try{ if(!result1.IsSuccess){ - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); + log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�1 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); result1 = siemensS7Net.Write(resultV1, resultS1); Thread.sleep(100); writeCount++; @@ -631,14 +679,14 @@ if (status == 1){ break; } else { - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); + log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�2 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); result1 = siemensS7Net.Write(resultV1, resultS1); Thread.sleep(100); writeCount++; continue; } } else { - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); + log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�3 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); result1 = siemensS7Net.Write(resultV1, resultS1); Thread.sleep(100); writeCount++; @@ -663,7 +711,7 @@ do { try{ if(!result2.IsSuccess){ - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); + log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�4 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); result2 = siemensS7Net.Write(resultV1, resultS2); Thread.sleep(100); @@ -676,14 +724,14 @@ if (status == resultS2){ break; } else { - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); + log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�5 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); result2 = siemensS7Net.Write(resultV1, resultS2); Thread.sleep(100); writeCount++; continue; } } else { - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); + log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�6 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); result2 = siemensS7Net.Write(resultV1, resultS2); Thread.sleep(100); writeCount++; @@ -765,7 +813,7 @@ do { try{ if(!result1.IsSuccess){ - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); + log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�7 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); result1 = siemensS7Net.Write(resultV1, resultS1); Thread.sleep(100); writeCount++; @@ -778,14 +826,14 @@ if (statusR1 == resultS1){ break; } else { - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); + log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�8 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); result1 = siemensS7Net.Write(resultV1, resultS1); Thread.sleep(100); writeCount++; continue; } } else { - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); + log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�9 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); result1 = siemensS7Net.Write(resultV1, resultS1); Thread.sleep(100); writeCount++; @@ -804,7 +852,7 @@ do { try{ if(!result2.IsSuccess){ - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); + log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�10 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); result2 = siemensS7Net.Write(resultV1, resultS2); Thread.sleep(100); writeCount++; @@ -817,7 +865,7 @@ if (statusR1 == resultS2){ break; } else { - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); + log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�11 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); result2 = siemensS7Net.Write(resultV1, resultS2); Thread.sleep(100); @@ -825,7 +873,7 @@ continue; } } else { - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); + log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�12 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); result2 = siemensS7Net.Write(resultV1, resultS2); Thread.sleep(100); writeCount++; @@ -882,7 +930,7 @@ do { try{ if(!result1.IsSuccess){ - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); + log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�13 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); result1 = siemensS7Net.Write(resultV1, resultS1); Thread.sleep(100); writeCount++; @@ -894,14 +942,14 @@ if (transInt16 == resultS1){ break; } else { - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); + log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�14 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); result1 = siemensS7Net.Write(resultV1, resultS1); Thread.sleep(100); writeCount++; continue; } } else { - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); + log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�15 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); result1 = siemensS7Net.Write(resultV1, resultS1); Thread.sleep(100); writeCount++; @@ -917,7 +965,7 @@ do { try{ if(!result2.IsSuccess){ - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); + log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�16 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); result2 = siemensS7Net.Write(resultV2, resultS1); Thread.sleep(100); writeCount++; @@ -929,14 +977,14 @@ if (transInt16 == resultS1){ break; } else { - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); + log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�17 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); result2 = siemensS7Net.Write(resultV2, resultS1); Thread.sleep(100); writeCount++; continue; } } else { - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); + log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�18 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount); result2 = siemensS7Net.Write(resultV2, resultS1); Thread.sleep(100); writeCount++; @@ -978,33 +1026,33 @@ do { try{ if(!result.IsSuccess){ - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(devNo),writeCount); + log.error("鍐欏叆澶ф枡绠辫緭閫佺嚎椤跺崌涓嬮檷淇″彿澶辫触锛岄噸鏂颁笅鍙戜换鍔�19 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(devNo),writeCount); result = siemensS7Net.Write(resultV1, true); Thread.sleep(100); writeCount++; continue; } - OperateResultExOne<byte[]> resultRead1 = siemensS7Net.Read("resultV1", (short) 1); + OperateResultExOne<byte[]> resultRead1 = siemensS7Net.Read("DB500.0", (byte) 1); if (resultRead1.IsSuccess) { boolean[] status = siemensS7Net.getByteTransform().TransBool(resultRead1.Content, 0, 1); if (status[devNo-1]){ break; } else { - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(devNo),writeCount); + log.error("鍐欏叆澶ф枡绠辫緭閫佺嚎椤跺崌涓嬮檷淇″彿澶辫触锛岄噸鏂颁笅鍙戜换鍔�20 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(devNo),writeCount); result = siemensS7Net.Write(resultV1, true); Thread.sleep(100); writeCount++; continue; } } else { - log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(devNo),writeCount); + log.error("鍐欏叆澶ф枡绠辫緭閫佺嚎椤跺崌涓嬮檷淇″彿澶辫触锛岄噸鏂颁笅鍙戜换鍔�21 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(devNo),writeCount); result = siemensS7Net.Write(resultV1, true); Thread.sleep(100); writeCount++; continue; } }catch (Exception e){ - log.error("鍐欏叆鏁版嵁鍚庡洖璇诲嚭閿�,寮傚父锛�"+e); + log.error("鍐欏叆澶ф枡绠辫緭閫佺嚎椤跺崌涓嬮檷淇″彿鍥炶鍑洪敊,寮傚父锛�"+e); } writeCount++; } while (writeCount<6); @@ -1040,13 +1088,32 @@ * 璁剧疆鍏ュ簱鏍囪 */ @Override - public void setPakMk(Integer siteId, boolean pakMk) { + public void setPakMk(Integer siteId, boolean pakMk,Integer i) { StaProtocol staProtocol = station.get(siteId); if (null != staProtocol) { + log.info("閿佸畾鍏ュ簱鏍囪锛岀珯鐐瑰彿={};pakMk={};鏃堕棿={};鏍囪={}",siteId,pakMk,new Date(),i); staProtocol.setPakMk(pakMk); } } + public void updateRgvOneSign(String signType,Integer oneSign){ + RgvOneSignMapper rgvOneSignMapper = SpringUtils.getBean(RgvOneSignMapper.class); + + try{ + RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign(signType); + if (!Cools.isEmpty(rgvOneSign)){ + rgvOneSign.setRgvOneSign(oneSign); + rgvOneSignMapper.updateById(rgvOneSign); + } + } catch (Exception e){ + RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign(signType); + if (!Cools.isEmpty(rgvOneSign)){ + rgvOneSign.setRgvOneSign(999); + rgvOneSignMapper.updateById(rgvOneSign); + } + } + } + @Override public void close() { siemensS7Net.ConnectClose(); -- Gitblit v1.9.1