From d9cea3d7757a8d580bb0574d419ba6dd9c2478e7 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期五, 13 十二月 2024 15:11:50 +0800
Subject: [PATCH] #search shuttle
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/JxgtDevpThread.java | 53 ++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 36 insertions(+), 17 deletions(-)
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/JxgtDevpThread.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/JxgtDevpThread.java
index bba1dd3..3e7eec7 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/JxgtDevpThread.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/JxgtDevpThread.java
@@ -119,7 +119,7 @@
staProtocol.setSiteId(siteId);
station.put(siteId, staProtocol);
}
-
+ Thread.sleep(300);
staProtocol.setAutoing(siemensS7Net.getByteTransform().TransInt16(result.Content, i * 18) == 1); // 鑷姩
staProtocol.setLoading(siemensS7Net.getByteTransform().TransInt16(result.Content, i * 18 + 2) == 1); // 鏈夌墿
staProtocol.setInEnable(siemensS7Net.getByteTransform().TransInt16(result.Content, i * 18 + 4) == 1); // 鍙叆
@@ -139,10 +139,10 @@
}
}
- OperateResultExOne<byte[]> resultBarcode = siemensS7Net.Read("DB100.166", (short) 8);
+ OperateResultExOne<byte[]> resultBarcode = siemensS7Net.Read("DB100.166", (short) 9);
if (resultBarcode.IsSuccess) {
//鏉$爜鏁版嵁
- String barcode = siemensS7Net.getByteTransform().TransString(resultBarcode.Content,0,8, "UTF-8");// 鏉$爜
+ String barcode = siemensS7Net.getByteTransform().TransString(resultBarcode.Content,0,9, "UTF-8");// 鏉$爜
BasConveyorStaService basConveyorStaService = SpringUtils.getBean(BasConveyorStaService.class);
DeviceBarcodeService deviceBarcodeService = SpringUtils.getBean(DeviceBarcodeService.class);
BasConveyorSta basConveyorSta = basConveyorStaService.getOne(new LambdaQueryWrapper<BasConveyorSta>().eq(BasConveyorSta::getSiteNo, 31002));
@@ -269,20 +269,39 @@
OperateResult write1 = null; // 宸ヤ綔鍙�
OperateResult write2 = null; // 鐩爣绔�
-// write1 = siemensS7Net.Write(workNoAddress, workNo); // 宸ヤ綔鍙�
-// write2 = siemensS7Net.Write(staNoAddress, staNo); // 鐩爣绔�
-
- write1 = siemensS7Net.Write(workNoAddress, (int) workNo); // 宸ヤ綔鍙�
- write2 = siemensS7Net.Write(staNoAddress, (int) staNo); // 鐩爣绔�
-
- if ((write1.IsSuccess && write2.IsSuccess)) {
- log.info("鍐欏叆杈撻�佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝骞朵笖鍥炶鎴愬姛銆傝緭閫佺嚎plc缂栧彿={}锛寋},{}", siteId, JSON.toJSON(workNo), JSON.toJSON(staNo));
- return true;
- }else {
- OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎绔欑偣鏁版嵁澶辫触銆傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2}", device.getId(), JSON.toJSON(array)));
- log.error("鍐欏叆杈撻�佺嚎绔欑偣鏁版嵁澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={}", device.getId(), JSON.toJSON(array));
- return false;
- }
+ //浠诲姟涓嬪彂娆℃暟
+ int writeCount = 0;
+ do {
+ write1 = siemensS7Net.Write(workNoAddress, (int) workNo); // 宸ヤ綔鍙�
+ write2 = siemensS7Net.Write(staNoAddress, (int) staNo);
+ if ((write1.IsSuccess && write2.IsSuccess)) {
+ OperateResultExOne<byte[]> readResult = siemensS7Net.Read(staNoAddress, (short) 8);
+ if (readResult.IsSuccess) {
+ int staNo2 = siemensS7Net.getByteTransform().TransInt32(readResult.Content, 0);
+ int workNo2 = siemensS7Net.getByteTransform().TransInt32(readResult.Content, 4);
+ if (workNo == workNo2 && staNo == staNo2) {
+ //浠诲姟鍛戒护鍐欏叆鎴愬姛
+ log.info("鍐欏叆杈撻�佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝骞朵笖鍥炶鎴愬姛銆傝緭閫佺嚎plc缂栧彿={}锛寋},{}锛屽啓鍏ユ鏁�={}", siteId, JSON.toJSON(workNo), JSON.toJSON(staNo), writeCount);
+ return true;
+ } else {//杩斿洖缁撴灉鏄垚鍔熶簡锛屼絾鏄湡瀹炲�间笉鐩稿悓
+ writeCount++;
+ log.error("鍐欏叆杈撻�佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝浣嗘槸璇诲彇浠诲姟鍊间笉涓�鑷淬�傝緭閫佺嚎plc缂栧彿={}锛寋},{}锛屽啓鍏ユ鏁�={}", siteId, JSON.toJSON(workNo), JSON.toJSON(staNo), writeCount);
+ }
+ } else {
+ writeCount++;
+ log.error("鍐欏叆杈撻�佺嚎鍛戒护鍚庤鍙栧け璐ャ�傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},{},鍐欏叆娆℃暟={}", siteId, JSON.toJSON(workNo), JSON.toJSON(staNo), writeCount);
+ }
+ }else {
+ writeCount++;
+ }
+ }while (writeCount < 5) ;
+// StaProtocol staProtocol = station.get(siteId);
+// if (staProtocol.getWorkNo() == 0 && staProtocol.getStaNo() ==0) {
+// staProtocol.setPakMk(true);
+// }
+ OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎绔欑偣鏁版嵁澶辫触銆傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2}", device.getId(), JSON.toJSON(array)));
+ log.error("鍐欏叆杈撻�佺嚎绔欑偣鏁版嵁澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={}", device.getId(), JSON.toJSON(array));
+ return false;
}
@Override
--
Gitblit v1.9.1