From 7e1e714c49a20468fcc7c7c37d4f65142abb2528 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期二, 20 五月 2025 11:19:12 +0800
Subject: [PATCH] #电视机增加批号
---
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 54 ++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 46 insertions(+), 8 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index db0d53d..dab59c9 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -768,11 +768,11 @@
boolean[] status = siemensS7Net.getByteTransform().TransBool(result.Content, i*4, 1);
// short tongType = siemensS7Net.getByteTransform().TransInt16(result.Content, i * 4 + 2);
short amount = siemensS7Net.getByteTransform().TransInt16(result.Content, i * 4 + 6);
- String batch = siemensS7Net.getByteTransform().TransString(result.Content,i * 4+ 8, 20, "UTF-8");
+ String batch = siemensS7Net.getByteTransform().TransString(result.Content,i * 4+ 8, 20, "UTF-8").trim();
short ban = siemensS7Net.getByteTransform().TransInt16(result.Content, i * 4 + 28);
Integer w1 = siemensS7Net.getByteTransform().TransInt32(result.Content, i * 4 + 30);
String orderNo = siemensS7Net.getByteTransform().TransString(result.Content, i * 4 + 34,22, "UTF-8");
- String matnr = siemensS7Net.getByteTransform().TransString(result.Content, i * 4 + 56,22, "UTF-8");
+ String matnr = siemensS7Net.getByteTransform().TransString(result.Content, i * 4 + 56,22, "UTF-8").trim();
StaProtocol staProtocol = station.get(siteId);
@@ -838,9 +838,23 @@
}
ArrayList<Integer> staNos = getWriteStaNo();
int index = staNos.indexOf(staProtocol.getSiteId());
- OperateResult write = siemensS7Net.Write("DB100." + index*6, staProtocol.getWorkNo().intValue()); // 宸ヤ綔鍙�
- Thread.sleep(500);
- OperateResult write1 = siemensS7Net.Write("DB100." + (index*6+4), staProtocol.getStaNo()); // 鐩爣绔�
+ OperateResult write = null;
+ OperateResult write1 = null;
+ //浠诲姟涓嬪彂娆℃暟
+ int writeCount = 0;
+ do {
+ write = siemensS7Net.Write("DB100." + index*6, staProtocol.getWorkNo().intValue()); // 宸ヤ綔鍙�
+ Thread.sleep(200);
+ write1 = siemensS7Net.Write("DB100." + (index*6+4), staProtocol.getStaNo().shortValue()); // 鐩爣绔�
+ if(write.IsSuccess && write1.IsSuccess){
+ log.error("鍐欏叆杈撻�佺嚎鍛戒护鎴愬姛銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
+ break;
+ }
+ else {
+ writeCount++;
+ log.error("鍐欏叆杈撻�佺嚎鍛戒护澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
+ }
+ }while (writeCount<5);
if (!write.IsSuccess || !write1.IsSuccess) {
staProtocol = station.get(staProtocol.getSiteId());
@@ -864,9 +878,33 @@
}
ArrayList<Integer> staNos = getWriteStaNo();
int index = staNos.indexOf(staProtocol.getSiteId());
- OperateResult write = siemensS7Net.Write("DB100." + index*10, staProtocol.getWorkNo().intValue()); // 宸ヤ綔鍙�
- OperateResult write1 = siemensS7Net.Write("DB100." + (index*10+4), staProtocol.getStaNo()); // 鐩爣绔�
- OperateResult write2 = siemensS7Net.Write("DB100." + (index*10+6), staProtocol.getMatnr()); // 鐩爣绔�
+
+ OperateResult write = null;
+ OperateResult write1 = null;
+ OperateResult write2 = null;
+ //浠诲姟涓嬪彂娆℃暟
+ int writeCount = 0;
+ do {
+ write = siemensS7Net.Write("DB100." + index*10, staProtocol.getWorkNo().intValue()); // 宸ヤ綔鍙�
+ Thread.sleep(100);
+ write1 = siemensS7Net.Write("DB100." + (index*10+4), staProtocol.getStaNo()); // 鐩爣绔�
+ Thread.sleep(100);
+ write2 = siemensS7Net.Write("DB100." + (index*10+6), staProtocol.getMatnr()); // 鐩爣绔�
+
+// write = siemensS7Net.Write("DB100." + index*6, staProtocol.getWorkNo()); // 宸ヤ綔鍙�
+
+// write1 = siemensS7Net.Write("DB100." + (index*6+4), staProtocol.getStaNo().shortValue()); // 鐩爣绔�
+
+// write2 = siemensS7Net.Write("DB100." + (index*10+6), staProtocol.getMatnr()); // 鐩爣绔�
+ if(write.IsSuccess && write1.IsSuccess && write2.IsSuccess){
+ log.error("鍐欏叆杈撻�佺嚎鍛戒护鎴愬姛銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
+ break;
+ }
+ else {
+ writeCount++;
+ log.error("鍐欏叆杈撻�佺嚎鍛戒护澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
+ }
+ }while (writeCount<5);
if (!write.IsSuccess || !write1.IsSuccess || !write2.IsSuccess) {
staProtocol = station.get(staProtocol.getSiteId());
--
Gitblit v1.9.1