From 3752991d9feb22b65204d602c03a6e4c547445ee Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期五, 14 三月 2025 10:10:09 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/model/protocol/StaProtocol.java | 14 +++
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 167 ++++++-----------------------------------
2 files changed, 37 insertions(+), 144 deletions(-)
diff --git a/src/main/java/com/zy/core/model/protocol/StaProtocol.java b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
index 0e2be39..005a242 100644
--- a/src/main/java/com/zy/core/model/protocol/StaProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -15,7 +15,10 @@
// ----------------------------------------------------------------
// 宸ヤ綔鍙�
- private Integer workNo = 0;
+ private Short workNo = 0;
+
+ //
+ private Short finishWorkNo = 0;
// ----------------------------------------------------------------
// 鐩爣绔�
@@ -34,6 +37,15 @@
// 鍙嚭
private boolean outEnable;
+ //绌洪棽
+ private boolean idle;
+
+ //
+ private String barcode;
+
+ //
+ private Integer weight;
+
// 绌烘澘淇″彿
private boolean emptyMk;
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index d8f138c..0a45d1d 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -69,7 +69,7 @@
/**
* 鏉$爜鏁伴噺
*/
- private int barcodeSize = 6;
+ private int barcodeSize = 2;
/**
* 鍏ュ嚭搴撴ā寮�
@@ -145,7 +145,7 @@
staProtocol.setSiteId(siteId);
station.put(siteId, staProtocol);
}
- staProtocol.setWorkNo(0); // ID
+ staProtocol.setWorkNo((short) 0); // ID
staProtocol.setAutoing(false); // 鑷姩
staProtocol.setLoading(false); // 鏈夌墿
staProtocol.setInEnable(false); // 鍙叆
@@ -189,7 +189,7 @@
// updateIoMode();
ArrayList<Integer> staNos = getStaNo();
int staNoSize = staNos.size();
- OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (staNoSize*8));
+ OperateResultExOne<byte[]> result = siemensS7Net.Read("DB82.4", (short) (staNoSize*26));
if (result.IsSuccess) {
for (int i = 0; i < staNoSize; i++) {
Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
@@ -199,154 +199,35 @@
staProtocol.setSiteId(siteId);
station.put(siteId, staProtocol);
}
- staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt32(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*26, 2);
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]); // 浣庡簱浣�
+ staProtocol.setIdle(status[1]); //绌洪棽
+ staProtocol.setLoading(status[2]); // 鏈夌墿
+// staProtocol.setInEnable(status[2]); // 鍙叆
+// staProtocol.setOutEnable(status[3]);// 鍙嚭
+ staProtocol.setBackErr(status[5]);
+ staProtocol.setLeftErr(status[6]);
+ staProtocol.setRightErr(status[7]);
+ staProtocol.setHighErr(status[8]);
+ staProtocol.setWeightErr(status[9]);
+ staProtocol.setLow(status[10]);
+ staProtocol.setHigh(status[11]);
+
+
+ staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i*26+2)); // 宸ヤ綔鍙�
+ staProtocol.setFinishWorkNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i*26+6)); //宸插畬鎴愬伐浣滃彿
+ staProtocol.setBarcode(siemensS7Net.getByteTransform().TransString(result.Content,i*26+10,12, "UTF-8").trim()); //鏉$爜
+ staProtocol.setWeight(siemensS7Net.getByteTransform().TransInt32(result.Content, i*26+22)); //閲嶉噺
+
+
+
if (!staProtocol.isPakMk() && !staProtocol.isLoading()) {
staProtocol.setPakMk(true);
}
}
- }
- BasRgvMapService basRgvMapService = SpringUtils.getBean(BasRgvMapService.class);
- //RGV灏忚溅1
-// Thread.sleep(100);
- OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB50.200",(short)10);
- if (result3.IsSuccess) {
- BasRgvMap basRgvMap = basRgvMapService.selectByRgvNo((int) siemensS7Net.getByteTransform().TransInt16(result3.Content, 0));
- if (!Cools.isEmpty(basRgvMap)){
- Integer siteId = 1;
- StaProtocol staProtocol = station.get(siteId);
- if (null == staProtocol) {
- staProtocol = new StaProtocol();
- staProtocol.setSiteId(siteId);
- station.put(siteId, staProtocol);
- }
- staProtocol.setAutoing(true);
- staProtocol.setNearbySta(String.valueOf(siemensS7Net.getByteTransform().TransInt16(result3.Content, 8)));
- }
- }
- //RGV灏忚溅2
-// Thread.sleep(100);
- OperateResultExOne<byte[]> result4 = siemensS7Net.Read("DB50.212",(short)10);
- if (result4.IsSuccess) {
- BasRgvMap basRgvMap = basRgvMapService.selectByRgvNo((int) siemensS7Net.getByteTransform().TransInt16(result4.Content, 0));
- if (!Cools.isEmpty(basRgvMap)){
- Integer siteId = 2;
- StaProtocol staProtocol = station.get(siteId);
- if (null == staProtocol) {
- staProtocol = new StaProtocol();
- staProtocol.setSiteId(siteId);
- station.put(siteId, staProtocol);
- }
- staProtocol.setAutoing(true);
- staProtocol.setNearbySta(String.valueOf(siemensS7Net.getByteTransform().TransInt16(result4.Content, 8)));
- }
- }
-
- //RGV灏忚溅3
-// Thread.sleep(100);
- OperateResultExOne<byte[]> result5 = siemensS7Net.Read("DB50.224",(short)10);
- if (result5.IsSuccess) {
- BasRgvMap basRgvMap = basRgvMapService.selectByRgvNo((int) siemensS7Net.getByteTransform().TransInt16(result5.Content, 0));
- if (!Cools.isEmpty(basRgvMap)){
- Integer siteId = 3;
- StaProtocol staProtocol = station.get(siteId);
- if (null == staProtocol) {
- staProtocol = new StaProtocol();
- staProtocol.setSiteId(siteId);
- station.put(siteId, staProtocol);
- }
- staProtocol.setAutoing(true);
- staProtocol.setNearbySta(String.valueOf(siemensS7Net.getByteTransform().TransInt16(result5.Content, 8)));
- }
- }
-
- //鏉$爜鎵弿鍣�
- ArrayList<Integer> barcodeList = BarcodeList;
- OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.840", (short) (barcodeList.size() * 8));
- if (result2.IsSuccess) {
- for (int i = 0; i < barcodeList.size(); i++) {
- Integer barcodeId = barcodeList.get(i);
- String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,i*8,8, "UTF-8");
- BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, barcodeId + 1);
- if(!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
- barcodeThread.setBarcode(barcode);
- }
- }
- }
- //澶栧舰妫�娴�
- ArrayList<Integer> staNoErrs = staNosErrList;
- int staNoErrsSize = staNoErrs.size();
- OperateResultExOne<byte[]> resultErr = siemensS7Net.Read("DB101.800", (short) (staNoErrsSize*8));
- if (resultErr.IsSuccess){
- for (int i = 0;i<3;i++){
- Integer siteId = staNoErrs.get(i); // 绔欑偣缂栧彿
- boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErr.Content, i*4+2, 1);
- StaProtocol staProtocol = station.get(siteId);
- 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]);
- }
- }
-
- OperateResultExOne<byte[]> resultErr2 = siemensS7Net.Read("DB13.2", (short) (staNoSize*4));
- if (resultErr2.IsSuccess) {
- for (int i = 0; i < staNoSize; i++) {
- Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
- boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErr2.Content, i*4, 1);
- StaProtocol staProtocol = station.get(siteId);
- staProtocol.setBreakerErr(status[0]);
- staProtocol.setInfraredErr(status[1]);
- staProtocol.setOutTimeErr(status[2]);
- staProtocol.setSeizeSeatErr(status[3]);
- staProtocol.setWrkYgoodsN(status[4]);
- staProtocol.setInverterErr(status[5]);
- staProtocol.setContactErr(status[6]);
- staProtocol.setUpcontactErr(status[7]);
-
- }
- }
- OperateResultExOne<byte[]> resultErr3 = siemensS7Net.Read("DB13.400", (short) 3);
- if (resultErr3.IsSuccess) {
- if (staError1 == null){
- staError1 = new StaError1();
- }
- boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErr3.Content, 0, 3);
- staError1.setEMERGENCY_Stop_Core(status[0]);
- staError1.setEMERGENCY_STOP1(status[1]);
- staError1.setEMERGENCY_STOP2(status[2]);
- staError1.setEMERGENCY_STOP3(status[3]);
- staError1.setEMERGENCY_STOP4(status[4]);
-
- staError1.setDoor_EMERGENCY_STOP1(status[5]);
- staError1.setDoor_EMERGENCY_STOP2(status[6]);
- staError1.setDoor_EMERGENCY_STOP3(status[7]);
- staError1.setDoor_EMERGENCY_STOP4(status[8]);
- staError1.setDoor_EMERGENCY_STOP5(status[9]);
- staError1.setDoor_EMERGENCY_STOP6(status[10]);
-
- staError1.setDoor_Open_Err1(status[11]);
- staError1.setDoor_Open_Err1(status[12]);
- staError1.setDoor_Open_Err1(status[13]);
- staError1.setDoor_Open_Err1(status[14]);
- staError1.setDoor_Open_Err1(status[15]);
- staError1.setDoor_Open_Err1(status[16]);
-
}
--
Gitblit v1.9.1