From a28d328cdad3ff4599e11e68fa3975d86fb3dd3e Mon Sep 17 00:00:00 2001
From: TQS <56479841@qq.com>
Date: 星期三, 22 二月 2023 17:22:27 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 32 ++++++++++++++++++++++++++++++++
1 files changed, 32 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 497ca67..a31efdc 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -15,6 +15,7 @@
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.OutputQueue;
import com.zy.core.cache.SlaveConnection;
+import com.zy.core.enums.IoModeType;
import com.zy.core.enums.SlaveType;
import com.zy.core.model.DevpSlave;
import com.zy.core.model.Task;
@@ -58,6 +59,17 @@
this.slave = slave;
}
+ /**
+ * 鍏ュ嚭搴撴ā寮�
+ * 0锛氭湭鐭�
+ * 1锛氬叆搴撳惎鍔ㄤ腑
+ * 2.鍏ュ簱妯″紡
+ * 3.鍑哄簱鍚姩涓� 锛堜笉鑳界敓鎴愬叆搴撳伐浣滄。锛�
+ * 4.鍑哄簱妯″紡
+ */
+ public IoModeType ioModeOf1F = IoModeType.NONE;
+ public IoModeType ioModeOf2F = IoModeType.NONE;
+
@Override
@SuppressWarnings("InfiniteLoopStatement")
public void run() {
@@ -77,6 +89,8 @@
// 鍐欐暟鎹� ID+鐩爣绔�
case 2:
write((StaProtocol)task.getData());
+ Thread.sleep(300);
+ read();
break;
default:
break;
@@ -114,6 +128,8 @@
* 璇诲彇鐘舵�� ====> 鏁村潡plc
*/
private void read() throws InterruptedException {
+ // 鏇存柊鍏ュ嚭搴撴ā寮�
+ updateIoMode();
OperateResultExOne<byte[]> result = siemensS7Net.Read("DB100.0", (short) 50);
if (result.IsSuccess) {
for (int i = 0; i < 25; i++) {
@@ -238,6 +254,22 @@
}
}
+ // 鏇存柊鍏ュ嚭搴撴ā寮�
+ private void updateIoMode() throws InterruptedException {
+ if (this.ioModeOf1F != IoModeType.NONE) {
+ if (!siemensS7Net.Write("DB100.180", this.ioModeOf1F.id).IsSuccess) {
+ OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎103鍏ュ嚭搴撴ā寮忓け璐ャ�傝緭閫佺嚎plc缂栧彿={1}", slave.getId()));
+ News.error("鍐欏叆杈撻�佺嚎103鍏ュ嚭搴撴ā寮忓け璐ャ�傝緭閫佺嚎plc缂栧彿={}", slave.getId());
+ }
+ }
+ if (this.ioModeOf2F != IoModeType.NONE) {
+ if (!siemensS7Net.Write("DB100.182", this.ioModeOf2F.id).IsSuccess) {
+ OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎203鍏ュ嚭搴撴ā寮忓け璐ャ�傝緭閫佺嚎plc缂栧彿={1}", slave.getId()));
+ News.error("鍐欏叆杈撻�佺嚎203鍏ュ嚭搴撴ā寮忓け璐ャ�傝緭閫佺嚎plc缂栧彿={}", slave.getId());
+ }
+ }
+ }
+
/**
* 蹇冭烦
*/
--
Gitblit v1.9.1