From 01a6b6e2681b35b2d23ade80cf5d35b1c5946141 Mon Sep 17 00:00:00 2001
From: tqs <56479841@qq.com>
Date: 星期五, 30 八月 2024 08:08:26 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 89 +++++++++++++++++++++++++++++++-------------
1 files changed, 63 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 a8ee7b6..695b434 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -70,7 +70,7 @@
/**
* 鏉$爜鏁伴噺
*/
- private int barcodeSize = 6;
+ private int barcodeSize = 8;
/**
* 鍏ュ嚭搴撴ā寮�
@@ -194,7 +194,7 @@
// updateIoMode();
ArrayList<Integer> staNos = getStaNo();
int staNoSize = staNos.size();
- OperateResultExOne<byte[]> result = siemensS7Net.Read("DB100.0", (short) (staNoSize * 4));
+ OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (staNoSize * 8));
// OperateResultExOne<byte[]> result4 = siemensS7Net.Read("DB100.2", (short) (staNoSize*2));
if (result.IsSuccess) {
for (int i = 0; i < staNoSize; i++) {
@@ -205,25 +205,11 @@
staProtocol.setSiteId(siteId);
station.put(siteId, staProtocol);
}
- staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i * 4)); // 宸ヤ綔鍙�
-
- staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i * 4 + 2)); // 鐩爣绔�
- }
- }
-
- Thread.sleep(200);
- OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB102.2", (short) (staNoSize * 4));
- if (result1.IsSuccess) {
- for (int i = 0; i < staNoSize; i++) {
- Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
- //boolean[] status = siemensS7Net.getByteTransform().TransBool(result1.Content, i*4, 1);
- StaProtocol staProtocol = station.get(siteId);
-
staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i * 8)); // 宸ヤ綔鍙�
staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i * 8 + 4)); // 鐩爣绔�
- boolean[] status = siemensS7Net.getByteTransform().TransBool(result.Content, i * 8 + 6, 2);
+ boolean[] status = siemensS7Net.getByteTransform().TransBool(result.Content, i * 8 + 6, 2); //鐘舵��
staProtocol.setAutoing(status[0]); // 鑷姩
staProtocol.setLoading(status[1]); // 鏈夌墿
staProtocol.setInEnable(status[2]); // 鍙叆
@@ -236,15 +222,37 @@
if (!staProtocol.isPakMk() && !staProtocol.isLoading()) {
staProtocol.setPakMk(true);
}
-
- if (staProtocol.getStamp() >= 2 && !staProtocol.isLoading()) {
- staProtocol.setStamp(0);
- } else if (staProtocol.getStamp() < 2 && staProtocol.isLoading()) {
- //lfd鍏ュ簱鍗拌 褰搒tamp>=2鏃舵墠鍏ュ簱
- staProtocol.setStamp(staProtocol.getStamp() + 1);
- }
}
}
+
+// Thread.sleep(200);
+// OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB101.6", (short) (staNoSize * 4));
+// if (result1.IsSuccess) {
+// for (int i = 0; i < staNoSize; i++) {
+// Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
+// boolean[] status = siemensS7Net.getByteTransform().TransBool(result1.Content, i * 4, 1);
+// StaProtocol staProtocol = station.get(siteId);
+// staProtocol.setAutoing(status[0]); // 鑷姩
+// staProtocol.setLoading(status[1]); // 鏈夌墿
+// staProtocol.setInEnable(status[2]); // 鍙叆
+// staProtocol.setOutEnable(status[3]);// 鍙嚭
+// staProtocol.setEmptyMk(status[4]); // 绌烘澘淇″彿
+// staProtocol.setFullPlt(status[5]); // 婊℃墭鐩�
+// staProtocol.setHigh(status[6]); // 楂樺簱浣�
+// staProtocol.setLow(status[7]); // 浣庡簱浣�
+//
+// if (!staProtocol.isPakMk() && !staProtocol.isLoading()) {
+// staProtocol.setPakMk(true);
+// }
+//
+// if (staProtocol.getStamp() >= 2 && !staProtocol.isLoading()) {
+// staProtocol.setStamp(0);
+// } else if (staProtocol.getStamp() < 2 && staProtocol.isLoading()) {
+// //lfd鍏ュ簱鍗拌 褰搒tamp>=2鏃舵墠鍏ュ簱
+// staProtocol.setStamp(staProtocol.getStamp() + 1);
+// }
+// }
+// }
// Thread.sleep(200);
// OperateResultExOne<byte[]> result0 = siemensS7Net.Read("DB101.0", (short) 186);
@@ -262,8 +270,8 @@
// }
//鏉$爜鎵弿鍣�
Thread.sleep(200);
- OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.0", (short) (barcodeSize * 8));
- if (result2.IsSuccess && 1 != 1) {
+ OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.2", (short) (barcodeSize * 8));
+ if (result2.IsSuccess) {
if (slave.getId() == 1) {
for (int i = 0; i < barcodeSize / 3; i++) {
String barcode = siemensS7Net.getByteTransform().TransString(result2.Content, i * 8, 8, "UTF-8");
@@ -294,6 +302,35 @@
}
}
+
+ Thread.sleep(200);
+ OperateResultExOne<byte[]> resultError = siemensS7Net.Read("DB101.102", (short) (8));
+ if (resultError.IsSuccess) {
+ ArrayList<Integer> staNoError = new ArrayList<Integer>() {{
+ add(102);
+ add(201);
+ add(211);
+ }};
+ for (int i = 0; i < staNoError.size(); i++) {
+ Integer siteId = staNoError.get(i); // 绔欑偣缂栧彿
+ StaProtocol staProtocol = station.get(siteId);
+ if (null == staProtocol) {
+ staProtocol = new StaProtocol();
+ staProtocol.setSiteId(siteId);
+ station.put(siteId, staProtocol);
+ }
+ boolean[] status = siemensS7Net.getByteTransform().TransBool(resultError.Content, i * 4 + 2, 1);
+ staProtocol.setFrontErr(status[0]);// 鍓嶈秴闄�
+ staProtocol.setBackErr(status[1]);// 鍚庤秴闄�
+ staProtocol.setHighErr(status[2]);// 楂樿秴闄�
+ staProtocol.setLeftErr(status[3]);// 宸﹁秴闄�
+ staProtocol.setRightErr(status[4]);// 鍙宠秴闄�
+ staProtocol.setWeightErr(status[5]); // 瓒呴噸
+ staProtocol.setBarcodeErr(status[6]);// 鎵爜澶辫触
+ }
+ }
+
+
if (result.IsSuccess && result1.IsSuccess) {
OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛", DateUtils.convert(new Date()), slave.getId()));
--
Gitblit v1.9.1