From 6193eddf242c4b879402367704b8b5b2e8df84a4 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期六, 19 七月 2025 13:29:40 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 133 ++-----------------------------------------
1 files changed, 8 insertions(+), 125 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 7a914aa..6bba288 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -48,7 +48,7 @@
private Map<Integer, StaProtocol> station = new ConcurrentHashMap<>();
private short heartBeatVal = 1;
public static final ArrayList<Integer> staNos1 = new ArrayList<Integer>() {{
- add(100);add(101);add(102);add(103);add(104);add(105);add(106);add(107);
+ add(100);add(200);
}};
/*public static final ArrayList<Integer> staNos2 = new ArrayList<Integer>() {{
add(200);add(201);add(202);add(203);
@@ -73,7 +73,7 @@
/**
* 鏉$爜鏁伴噺
*/
- private int barcodeSize = 7;
+ private int barcodeSize = 1;
/**
* 鍏ュ嚭搴撴ā寮�
@@ -204,7 +204,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("DB1000.0", (short) (staNoSize*8));
if (result.IsSuccess) {
for (int i = 0; i < staNoSize; i++) {
Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
@@ -233,80 +233,12 @@
}
}
}
-
- OperateResultExOne<byte[]> resultAgvAndPlc = siemensS7Net.Read("DB102.0", (short) 30);
- if (resultAgvAndPlc.IsSuccess) {
- for (int i = 0; i < staNoSize; i++) {
- int sign =(i+2)/2-1;
- if ((i+2)%2!=0){
- Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
- StaProtocol staProtocol = station.get(siteId);
- if (null == staProtocol) {
- staProtocol = new StaProtocol();
- staProtocol.setSiteId(siteId);
- station.put(siteId, staProtocol);
- }
- staProtocol.setAgvStartPick(siemensS7Net.getByteTransform().TransInt16(resultAgvAndPlc.Content, sign*6+4)); // 鍏佽鍙栬揣
- staProtocol.setAgvStartPlace((short)0); // 鍏佽鏀捐揣
- continue;
- }
- Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
- StaProtocol staProtocol = station.get(siteId);
- if (null == staProtocol) {
- staProtocol = new StaProtocol();
- staProtocol.setSiteId(siteId);
- station.put(siteId, staProtocol);
- }
- staProtocol.setAgvStartPick(siemensS7Net.getByteTransform().TransInt16(resultAgvAndPlc.Content, sign*6)); // 鍏佽鍙栬揣
- staProtocol.setAgvStartPlace(siemensS7Net.getByteTransform().TransInt16(resultAgvAndPlc.Content, sign*6 + 2)); // 鍏佽鏀捐揣
- }
- }
-
- OperateResultExOne<byte[]> resultAgvAndPlcOk = siemensS7Net.Read("DB132.0", (short) 30);
- if (resultAgvAndPlcOk.IsSuccess) {
- for (int i = 0; i < staNoSize; i++) {
- int sign =(i+2)/2-1;
- if ((i+2)%2!=0){
- Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
- StaProtocol staProtocol = station.get(siteId);
- if (null == staProtocol) {
- staProtocol = new StaProtocol();
- staProtocol.setSiteId(siteId);
- station.put(siteId, staProtocol);
- }
- staProtocol.setAgvTargetPick(siemensS7Net.getByteTransform().TransInt16(resultAgvAndPlcOk.Content, sign*6+4)); // 鍏佽鍙栬揣
- staProtocol.setAgvTargetPlace((short)0); // 鍏佽鏀捐揣
- continue;
- }
- Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
- StaProtocol staProtocol = station.get(siteId);
- if (null == staProtocol) {
- staProtocol = new StaProtocol();
- staProtocol.setSiteId(siteId);
- station.put(siteId, staProtocol);
- }
- try{
- staProtocol.setAgvTargetPick(siemensS7Net.getByteTransform().TransInt16(resultAgvAndPlcOk.Content, sign*6)); // 鍙栬揣瀹屾垚
- if (staProtocol.getAgvTargetPick()!=0){
- System.out.println(staProtocol.getAgvTargetPick());
- }
- staProtocol.setAgvTargetPlace(siemensS7Net.getByteTransform().TransInt16(resultAgvAndPlcOk.Content, sign*6 + 2)); // 鏀捐揣瀹屾垚
- if (staProtocol.getAgvTargetPlace()!=0){
- System.out.println(staProtocol.getAgvTargetPlace());
- }
- }catch (Exception e){
- log.error(""+e);
- }
- }
- }
-
-
if (slave.getId() == 1) {
//鏉$爜
//Thread.sleep(200);
- OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.840.0", (short) 32);
+ OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB1000.100.0", (short) 16);
if (result2.IsSuccess) {
- for (int i = 0; i < 4; i++) {
+ for (int i = 0; i < 2; i++) {
String barcode = siemensS7Net.getByteTransform().TransString(result2.Content, i * 8, 8, "UTF-8");
BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i + 1);
if (!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
@@ -314,56 +246,9 @@
}
}
}
-
-
- OperateResultExOne<byte[]> resultErr = siemensS7Net.Read("DB13.2", (short) (staNoSize * 4));
- if (resultErr.IsSuccess) {
- for (int i = 0; i < staNoSize; i++) {
- Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
- boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErr.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]);
-
- }
- }
-
}
-
-
-// //RGV鍙拌溅浣嶇疆
-// Thread.sleep(200);
-// OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB100.0",(short)4);
-// if (result3.IsSuccess) {
-// for (int i = 0; i < 2; i++) {
-// Integer siteId = i==0 ? 1 : 2; // 绔欑偣缂栧彿
-// StaProtocol staProtocol = station.get(siteId);
-// if (null == staProtocol) {
-// staProtocol = new StaProtocol();
-// staProtocol.setSiteId(siteId);
-// station.put(siteId, staProtocol);
-// }
-// staProtocol.setNearbySta(String.valueOf(siemensS7Net.getByteTransform().TransInt16(result3.Content, i*2)));
-//// String aa = staProtocol.getNearbySta();
-//// System.out.println(siteId + "===>>" + staProtocol.getNearbySta());
-// }
-// }
-
-// OperateResultExOne<Short> result2 = siemensS7Net.ReadInt16("DB200.0");
-// if (result2.IsSuccess) {
-// this.ioMode = IoModeType.get(result2.Content);
-// }
-
if (result.IsSuccess ) {
-
OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId()));
-
// 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴�
try {
List<BasDevp> basDevps = new ArrayList<>();
@@ -371,7 +256,6 @@
StaProtocol staProtocol = station.get(siteId);
basDevps.add(staProtocol.toSqlModel());
}
-
BasDevpService basDevpService = SpringUtils.getBean(BasDevpService.class);
if (null != basDevpService && !basDevpService.updateBatchById(basDevps)) {
throw new Exception("鏇存柊鏁版嵁搴撴暟鎹け璐�");
@@ -381,7 +265,6 @@
OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戞洿鏂版暟鎹簱鏁版嵁澶辫触 ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()));
log.error("鏇存柊鏁版嵁搴撴暟鎹け璐� ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot());
}
-
DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
deviceErrorService.deleteDeviceError("devp", slave.getId());
} else {
@@ -490,11 +373,11 @@
//浠诲姟涓嬪彂鎴愬姛鏍囪瘑
boolean writeFlag = false;
while(writeCount < 5){
- OperateResult writeResult1 = siemensS7Net.Write("DB100." + index*6, staProtocol.getWorkNo().intValue()); // 宸ヤ綔鍙�
- OperateResult writeResult2 = siemensS7Net.Write("DB100." + (index*6+4), staProtocol.getStaNo()); // 鐩爣绔�
+ OperateResult writeResult1 = siemensS7Net.Write("DB1000." + index*8, staProtocol.getWorkNo().intValue()); // 宸ヤ綔鍙�
+ OperateResult writeResult2 = siemensS7Net.Write("DB1000." + (index*8+4), staProtocol.getStaNo()); // 鐩爣绔�
if(writeResult1.IsSuccess && writeResult2.IsSuccess){
Thread.sleep(200);
- OperateResultExOne<byte[]> readResult = siemensS7Net.Read("DB100." + index*6, (short)6);
+ OperateResultExOne<byte[]> readResult = siemensS7Net.Read("DB1000." + index*8, (short)6);
if(readResult.IsSuccess){
Integer workNo = siemensS7Net.getByteTransform().TransInt32(readResult.Content, 0);
short staNo = siemensS7Net.getByteTransform().TransInt16(readResult.Content, 4);
--
Gitblit v1.9.1