From 948a99d54d4974dee3cf41b34a5ff644fdf3e972 Mon Sep 17 00:00:00 2001
From: lsh <lsh123456>
Date: 星期二, 25 十月 2022 18:44:30 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/thread/SiemensCrnThread.java | 36 ++++++++++++++++++++++++++----------
1 files changed, 26 insertions(+), 10 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index ffa25f4..5d4dc1f 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -45,6 +45,7 @@
@Override
@SuppressWarnings("InfiniteLoopStatement")
public void run() {
+ initCrnProtocol();
this.connect();
while (true) {
try {
@@ -91,6 +92,22 @@
}
}
+ /**
+ * 鍒濆鍖栧爢鍨涙満
+ */
+ private void initCrnProtocol(){
+ crnProtocol = new CrnProtocol();
+ crnProtocol.setMode((short) 0);
+ crnProtocol.setStatus((short) 0);
+ crnProtocol.setTaskNo((short) 0);
+ crnProtocol.setTaskFinish((short) 0);
+ crnProtocol.setValid((short) 0);
+ crnProtocol.setBay((short) 0);
+ crnProtocol.setLevel((short) 0);
+ crnProtocol.setRow((short) 0);
+ crnProtocol.setLane((short) 0);
+ }
+
@Override
public boolean connect() {
boolean result = false;
@@ -131,6 +148,10 @@
crnProtocol.setLane(siemensNet.getByteTransform().TransInt16(result.Content, 20)); // 22
// 寮傚父
+ crnProtocol.setAlarm1(0);
+ crnProtocol.setAlarm2(0);
+ crnProtocol.setAlarm3(0);
+ crnProtocol.setAlarm4(0);
boolean[] err1 = siemensNet.getByteTransform().TransBool(result.Content, 28, 1); // 30
if (err1[0]) { crnProtocol.setAlarm1(1); }
if (err1[1]) { crnProtocol.setAlarm1(2); }
@@ -219,11 +240,6 @@
if (err15[4]) { crnProtocol.setAlarm4(71); }
if (err15[5]) { crnProtocol.setAlarm4(72); }
if (err15[6]) { crnProtocol.setAlarm4(73); }
-
-// crnProtocol.setAlarm1(siemensNet.getByteTransform().TransInt32(result.Content, 28)); // 30
-// crnProtocol.setAlarm2(siemensNet.getByteTransform().TransInt32(result.Content, 32)); // 34
-// crnProtocol.setAlarm3(siemensNet.getByteTransform().TransInt32(result.Content, 36)); // 38
-// crnProtocol.setAlarm4(siemensNet.getByteTransform().TransInt32(result.Content, 40)); // 42
boolean[] bool1 = siemensNet.getByteTransform().TransBool(result.Content, 60, 1); // 62
crnProtocol.setConnStatus(bool1[0]);
@@ -314,6 +330,7 @@
BasCrnpService basCrnpService = SpringUtils.getBean(BasCrnpService.class);
BasCrnp basCrnp = new BasCrnp();
basCrnp.setCrnNo(slave.getId());
+ basCrnp.setCrnSts((int)crnProtocol.getMode());
if (!basCrnpService.updateById(crnProtocol.toSqlModel(basCrnp))){
log.error("鍫嗗灈鏈簆lc鏁版嵁搴撴洿鏂板け璐� ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot());
}
@@ -352,16 +369,16 @@
array[7] = command.getSourceStaNo();
array[8] = command.getDestinationStaNo();
// 浣滀笟淇℃伅
- OperateResult result = siemensNet.Write("DB1000.0", array);
+ OperateResult result = siemensNet.Write("DB10.0", array);
// 浠诲姟鍙� + 瀹屾垚浣�
short[] array2 = new short[2];
array2[0] = command.getTaskNo();
array2[1] = command.getAckFinish();
- OperateResult result1 = siemensNet.Write("DB1000.24", array2);
+ OperateResult result1 = siemensNet.Write("DB10.24", array2);
// 缁撴潫浣�
if (command.getAckFinish() == 0) {
- OperateResult result2 = siemensNet.Write("DB1000.28.1", true);
+ OperateResult result2 = siemensNet.Write("DB10.28.1", true);
}
// 鏃ュ織璁板綍
@@ -390,8 +407,7 @@
} catch (Exception ignore) {}
if (result.IsSuccess && result1.IsSuccess) {
-
- log.info("鍫嗗灈鏈哄懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), JSON.toJSON(command));
+ log.warn("鍫嗗灈鏈哄懡浠や笅鍙慬id:{},鏃堕棿锛歿}] >>>>> {}", slave.getId(), DateUtils.convert(new Date(), DateUtils.yyyyMMddHHmmsssss_F), JSON.toJSON(command));
OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> 鍛戒护涓嬪彂锛� {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(command)));
return true;
} else {
--
Gitblit v1.9.1