From ffe6be2c78d522275ae19dfa1cffa74af58c0f68 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期一, 21 十月 2024 14:44:42 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 41 +++++++++++++++++++++++++++++++----------
1 files changed, 31 insertions(+), 10 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 287bcb4..aa0de4c 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -435,7 +435,7 @@
private void read10() throws InterruptedException {
ArrayList<Integer> staNos = getStaNo();
int staNoSize = staNos.size();
- OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (getStaNo().size() * 10));
+ OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (getStaNo().size() * 12));
if (result.IsSuccess) {
for (int i = 0; i < staNoSize; i++) {
Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
@@ -445,18 +445,18 @@
staProtocol.setSiteId(siteId);
station.put(siteId, staProtocol);
}
- staProtocol.setWorkNo((short) siemensS7Net.getByteTransform().TransInt32(result.Content, i * 10)); // 宸ヤ綔鍙�
- staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i*10 + 4 )); // 鐩爣绔�
- staProtocol.setMatnr((int) siemensS7Net.getByteTransform().TransInt16(result.Content, i * 10 + 6)); // 鐩爣绔�
+ staProtocol.setWorkNo((short) siemensS7Net.getByteTransform().TransInt32(result.Content, i * 12)); // 宸ヤ綔鍙�
+ staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i*12 + 4 )); // 鐩爣绔�
+ staProtocol.setMatnr(siemensS7Net.getByteTransform().TransInt32(result.Content, i * 12 + 6)); // 鐩爣绔�
}
}
Thread.sleep(200);
OperateResultExOne<byte[]> result1 = null;
- result1 = siemensS7Net.Read("DB101.0", (short) (getStaNo().size() * 10));
+ result1 = siemensS7Net.Read("DB101.10", (short) (getStaNo().size() * 12));
if (result1.IsSuccess) {
for (int i = 0; i < staNoSize; i++) {
Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
- boolean[] status = siemensS7Net.getByteTransform().TransBool(result1.Content, i*10+8, 2);
+ boolean[] status = siemensS7Net.getByteTransform().TransBool(result1.Content, i*12, 2);
StaProtocol staProtocol = station.get(siteId);
staProtocol.setAutoing(status[0]); // 鑷姩
staProtocol.setLoading(status[1]); // 鏈夌墿
@@ -475,11 +475,31 @@
}
}
+ OperateResultExOne<byte[]> readBatch = siemensS7Net.Read("DB101.240", (short) 20);
+ if (readBatch.IsSuccess){
+ String batch = siemensS7Net.getByteTransform().TransString(readBatch.Content, 0, 20, "UTF-8");
+ for (int i = 0; i < 1; i++) {
+ StaProtocol staProtocol = station.get(2106);
+ staProtocol.setBatch(batch);
+ }
+ }
+
+ OperateResultExOne<byte[]> readWeight = siemensS7Net.Read("DB101.260", (short) 2);
+ if (readWeight.IsSuccess){
+ Short weight = siemensS7Net.getByteTransform().TransInt16(readWeight.Content,0);
+ for (int i = 0; i < 1; i++) {
+ StaProtocol staProtocol = station.get(2102);
+ staProtocol.setWeight(weight);
+ }
+ }
+
+
+
// 鏉$爜鎵弿鍣�
if(slave.getId() == 2) {
Thread.sleep(200);
OperateResultExOne<byte[]> result2 = null;
- result2 = siemensS7Net.Read("DB101.194.0", (short) (8));
+ result2 = siemensS7Net.Read("DB101.232.0", (short) (8));
if (result2.IsSuccess) {
for (int i = 0; i < 1; i++) {
String barcode = siemensS7Net.getByteTransform().TransString(result2.Content, i * 8, 8, "UTF-8");
@@ -545,6 +565,7 @@
staProtocol.setOutEnable(status[3]);// 鍙嚭
staProtocol.setForce(status[4]);
staProtocol.setAmount(count);
+ staProtocol.setLow(true);
if (!staProtocol.isPakMk() && !staProtocol.isLoading()) {
@@ -747,9 +768,9 @@
}
ArrayList<Integer> staNos = getWriteStaNo();
int index = staNos.indexOf(staProtocol.getSiteId());
- OperateResult write = siemensS7Net.Write("DB100." + index*8, staProtocol.getWorkNo().intValue()); // 宸ヤ綔鍙�
- OperateResult write1 = siemensS7Net.Write("DB100." + (index*8+4), staProtocol.getStaNo()); // 鐩爣绔�
- OperateResult write2 = siemensS7Net.Write("DB100." + (index*8+6), staProtocol.getMatnr()); // 鐩爣绔�
+ 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()); // 鐩爣绔�
if (!write.IsSuccess || !write1.IsSuccess || !write2.IsSuccess) {
staProtocol = station.get(staProtocol.getSiteId());
--
Gitblit v1.9.1