From 4f0617f8fcc7f1c91f3c2dc8056e195ae71aad83 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期三, 19 十一月 2025 11:10:03 +0800
Subject: [PATCH] 侧面入库下发码盘层数变更为第一版
---
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 83 ++++++++++++++++++++++++++++++++++-------
1 files changed, 69 insertions(+), 14 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index fa86ccd..6199eb5 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -164,6 +164,11 @@
write3((StaProtocol) task.getData());
read();
break;
+ // 渚ч潰鐮佺洏瀹屾垚涓婃姤wms鎴愬姛鍚庨噸缃畃lc
+ case 4:
+ write4((StaProtocol) task.getData());
+ read();
+ break;
default:
break;
}
@@ -296,6 +301,15 @@
}
}
}
+
+ // 璇讳晶闈㈢爜鐩樺畬鎴愪俊鍙�
+// OperateResultExOne<byte[]> resultMp = siemensS7Net.Read("DB79.362", (short) 4);
+// if (resultMp.IsSuccess) {
+// StaProtocol staProtocol207 = station.get(207);
+// StaProtocol staProtocol212 = station.get(212);
+// staProtocol207.setMpCompletedFlag(siemensS7Net.getByteTransform().TransInt16(resultMp.Content, 0));
+// staProtocol212.setMpCompletedFlag(siemensS7Net.getByteTransform().TransInt16(resultMp.Content, 2));
+// }
// 璇诲彇姝i潰鏉$爜
OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB103.0", (short) (5 * 40));
@@ -589,7 +603,7 @@
}
}
- OperateResult writeResult4 = siemensS7Net.Write("DB79" + offset, bytes);
+ OperateResult writeResult4 = siemensS7Net.Write("DB79." + offset, bytes);
if (writeResult4.IsSuccess) {
log.info("渚ч潰鍑哄簱鍒帮細{}绔欑偣锛岀粰杈撻�佺嚎鍐欐潯鐮侊細{}鎴愬姛", staNo, barcode);
} else {
@@ -663,9 +677,10 @@
int lx = 0,mp = 0,lev = 0;
switch (staProtocol.getSiteId()) {
- case 205: lx = 16;mp = 18;lev=344;break;
+ case 202: lev=366;break;
+ case 206: lev=368;break;
case 207: lx = 24;mp = 26;lev=348;break;
- case 210: lx = 36;mp = 38;lev=354;break;
+ case 211: lev=370;break;
case 212: lx = 44;mp = 46;lev=358;break;
default:
log.error("鍐欑爜鐩樹俊鎭珯鐐规湁璇細{}" , staProtocol.getSiteId());
@@ -679,24 +694,64 @@
//浠诲姟涓嬪彂鎴愬姛鏍囪瘑
boolean writeFlag = false;
while (writeCount < 5) {
- OperateResult writeResult1 = siemensS7Net.Write(addressPre + lx, staProtocol.getLx()); // 宸ヨ绫诲瀷
- OperateResult writeResult2 = siemensS7Net.Write(addressPre + mp, staProtocol.getMp()); // 鏄惁鐮佺洏
- OperateResult writeResult3 = siemensS7Net.Write(addressPre + lev, staProtocol.getLev()); // 鐮佺洏灞傛暟
- if (writeResult1.IsSuccess && writeResult2.IsSuccess && writeResult3.IsSuccess) {
+ if (staProtocol.getSiteId() == 202 || staProtocol.getSiteId() == 206 || staProtocol.getSiteId() == 211) {
+ OperateResult writeResult3 = siemensS7Net.Write(addressPre + lev, staProtocol.getLev()); // 鐮佺洏灞傛暟
+ if (writeResult3.IsSuccess) {
writeFlag = true;
- log.info("鐮佺洏淇℃伅鍐欏叆杈撻�佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝骞朵笖鍥炶鎴愬姛銆傝緭閫佺嚎plc缂栧彿={}锛寋}锛屽啓鍏ユ鏁�={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
+ log.info("鍏ュ簱鐮佺洏淇℃伅鍐欏叆杈撻�佺嚎鍛戒护鍚庤繑鍥炴垚鍔熴�恵},{},{},{}銆戯紝骞朵笖鍥炶鎴愬姛锛屽啓鍏ユ鏁�={}", staProtocol.getSiteId(), staProtocol.getMp(), staProtocol.getLx(), staProtocol.getLev(), writeCount);
break;
+ } else {
+ writeCount++;
+ log.error("鍏ュ簱鐮佺洏淇℃伅鍐欏叆杈撻�佺嚎鍛戒护澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
+ }
} else {
- writeCount++;
- log.error("鐮佺洏淇℃伅鍐欏叆杈撻�佺嚎鍛戒护澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
+ OperateResult writeResult1 = siemensS7Net.Write(addressPre + lx, staProtocol.getLx()); // 宸ヨ绫诲瀷
+ OperateResult writeResult2 = siemensS7Net.Write(addressPre + mp, staProtocol.getMp()); // 鏄惁鐮佺洏
+ OperateResult writeResult3 = siemensS7Net.Write(addressPre + lev, staProtocol.getLev()); // 鐮佺洏灞傛暟
+ if (writeResult1.IsSuccess && writeResult2.IsSuccess && writeResult3.IsSuccess) {
+ writeFlag = true;
+ log.info("鍑哄簱鐮佺洏淇℃伅鍐欏叆杈撻�佺嚎鍛戒护鍚庤繑鍥炴垚鍔熴�恵},{},{},{}銆戯紝骞朵笖鍥炶鎴愬姛锛屽啓鍏ユ鏁�={}", staProtocol.getSiteId(), staProtocol.getMp(), staProtocol.getLx(), staProtocol.getLev(), writeCount);
+ break;
+ } else {
+ writeCount++;
+ log.error("鍑哄簱鐮佺洏淇℃伅鍐欏叆杈撻�佺嚎鍛戒护澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
+ }
}
}
//鍐欏懡浠ゅ皾璇曚簡5娆¤繕鏄け璐ヤ簡
- if (!writeFlag) {
- //閲嶆柊娣诲姞鏁版嵁鍒颁换鍔¢槦鍒�
- MessageQueue.offer(SlaveType.Devp, 1, new Task(3, staProtocol));
- log.error("鐮佺洏淇℃伅鍐欏叆杈撻�佺嚎鍛戒护灏濊瘯5娆″け璐ラ噸鏂版帹閫侀槦鍒椼�傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={}", slave.getId(), JSON.toJSON(staProtocol));
+// if (!writeFlag) {
+// //閲嶆柊娣诲姞鏁版嵁鍒颁换鍔¢槦鍒�
+// MessageQueue.offer(SlaveType.Devp, 1, new Task(3, staProtocol));
+// log.error("鐮佺洏淇℃伅鍐欏叆杈撻�佺嚎鍛戒护灏濊瘯5娆″け璐ラ噸鏂版帹閫侀槦鍒椼�傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={}", slave.getId(), JSON.toJSON(staProtocol));
+// }
+ }
+
+ private void write4(StaProtocol staProtocol){
+
+ int offset = 0;
+
+ switch (staProtocol.getSiteId()) {
+ case 207: offset = 362;break;
+ case 212: offset = 364 ;break;
+ default:
+ log.error("閲嶇疆鐮佺洏淇″彿绔欑偣鏈夎锛歿}" , staProtocol.getSiteId());
+ return;
+ }
+
+ String addressPre = "DB79.";
+
+ //浠诲姟涓嬪彂娆℃暟
+ int writeCount = 0;
+ while (writeCount < 5) {
+ OperateResult writeResult1 = siemensS7Net.Write(addressPre + offset, (short) 0);
+ if (writeResult1.IsSuccess) {
+ log.info("渚ч潰鐮佺洏瀹屾垚涓婃姤wms鎴愬姛鍚庨噸缃俊鍙峰啓鍏ヨ緭閫佺嚎鍛戒护鍚庤繑鍥炴垚鍔熴�恵}銆戯紝骞朵笖鍥炶鎴愬姛锛屽啓鍏ユ鏁�={}", staProtocol.getSiteId(), writeCount);
+ break;
+ } else {
+ writeCount++;
+ log.error("渚ч潰鐮佺洏瀹屾垚涓婃姤wms鎴愬姛鍚庨噸缃俊鍙峰啓鍏ヨ緭閫佺嚎鍛戒护澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
+ }
}
}
--
Gitblit v1.9.1