From 759ac29f4ede586002f7349abc8d9d0a8c0bf0ba Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期三, 09 三月 2022 14:31:29 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/thread/MelsecCrnThread.java | 32 +++++++++++++++++++++++++++++++-
1 files changed, 31 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/MelsecCrnThread.java b/src/main/java/com/zy/core/thread/MelsecCrnThread.java
index 0f4c004..9c8ca3b 100644
--- a/src/main/java/com/zy/core/thread/MelsecCrnThread.java
+++ b/src/main/java/com/zy/core/thread/MelsecCrnThread.java
@@ -24,6 +24,7 @@
import com.zy.core.model.protocol.CrnProtocol;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
import java.text.MessageFormat;
import java.util.Date;
@@ -39,6 +40,7 @@
private MelsecMcNet melsecMcNet;
private CrnSlave slave;
private CrnProtocol crnProtocol;
+ private short heartBeatVal = 1;
private boolean resetFlag = false;
public MelsecCrnThread(CrnSlave slave) {
@@ -49,6 +51,11 @@
@SuppressWarnings("InfiniteLoopStatement")
public void run() {
this.connect();
+// try {
+// Thread.sleep(2000);
+// } catch (InterruptedException e) {
+// e.printStackTrace();
+// }
while (true) {
try {
int step = 1;
@@ -86,6 +93,8 @@
default:
break;
}
+ // 蹇冭烦
+ heartbeat();
Thread.sleep(500);
} catch (Exception e) {
e.printStackTrace();
@@ -134,7 +143,7 @@
log.error("鍫嗗灈鏈簆lc杩炴帴澶辫触锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
initCrn();
}
- melsecMcNet.ConnectClose();
+// melsecMcNet.ConnectClose();
return result;
}
@@ -143,6 +152,11 @@
*/
private void readStatus(){
try {
+// if (this.slave.getId() == 1 && flag1.equals(0)) {
+// Thread.sleep(3000);
+// flag1=1;
+// System.out.println("===");
+// }
OperateResultExOne<byte[]> result = melsecMcNet.Read("D20", (short) 70);
if (result.IsSuccess) {
if (null == crnProtocol) {
@@ -183,6 +197,7 @@
}
}
}
+
// 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴�
BasCrnpService basCrnpService = SpringUtils.getBean(BasCrnpService.class);
@@ -272,6 +287,21 @@
melsecMcNet.ConnectClose();
}
+ /**
+ * 蹇冭烦
+ */
+ private void heartbeat(){
+ if (heartBeatVal == 1) {
+ heartBeatVal = 2;
+ } else {
+ heartBeatVal = 1;
+ }
+ OperateResult write = melsecMcNet.Write("D10", heartBeatVal);
+ if (!write.IsSuccess) {
+ log.error("杈撻�佺嚎plc缂栧彿={} 蹇冭烦澶辫触", slave.getId());
+ }
+ }
+
/******************************************************************************************/
/**************************************** 娴嬭瘯涓撶敤 *****************************************/
--
Gitblit v1.9.1