From 2aaf47ead1a69ccbaf6a0167ae161aafd3622114 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期四, 27 十一月 2025 08:14:35 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/thread/impl/ZyStationThread.java |   35 ++++++++++++++++++++++++-----------
 1 files changed, 24 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/impl/ZyStationThread.java b/src/main/java/com/zy/core/thread/impl/ZyStationThread.java
index 5c0d73c..d54012a 100644
--- a/src/main/java/com/zy/core/thread/impl/ZyStationThread.java
+++ b/src/main/java/com/zy/core/thread/impl/ZyStationThread.java
@@ -1,7 +1,5 @@
 package com.zy.core.thread.impl;
 
-import HslCommunication.Profinet.Siemens.SiemensPLCS;
-import HslCommunication.Profinet.Siemens.SiemensS7Net;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.zy.asrs.entity.BasDevp;
@@ -26,9 +24,7 @@
 import com.zy.core.network.entity.ZyStationStatusEntity;
 
 import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
@@ -55,6 +51,20 @@
     @SuppressWarnings("InfiniteLoopStatement")
     public void run() {
         this.connect();
+
+        //璁惧璇诲彇
+        Thread readThread = new Thread(() -> {
+            while (true) {
+                try {
+                    readStatus();
+                    Thread.sleep(200);
+                } catch (Exception e) {
+                    log.error("StationThread Fail", e);
+                }
+            }
+        });
+        readThread.start();
+
         while (true) {
             try {
                 int step = 1;
@@ -63,10 +73,6 @@
                     step = task.getStep();
                 }
                 switch (step) {
-                    // 璇绘暟鎹�
-                    case 1:
-                        readStatus();
-                        break;
                     case 2:
                         sendCommand((StationCommand) task.getData());
                         break;
@@ -143,8 +149,7 @@
 
     @Override
     public boolean connect() {
-        SiemensS7Net siemensS7Net = new SiemensS7Net(SiemensPLCS.S1200, deviceConfig.getIp());
-        zyStationConnectDriver = new ZyStationConnectDriver(siemensS7Net, deviceConfig);
+        zyStationConnectDriver = new ZyStationConnectDriver(deviceConfig);
         new Thread(zyStationConnectDriver).start();
         DeviceConnectPool.put(SlaveType.Devp, deviceConfig.getDeviceNo(), zyStationConnectDriver);
         return true;
@@ -175,4 +180,12 @@
        return commandResponse;
     }
 
+    @Override
+    public Map<Integer, StationProtocol> getStatusMap() {
+        Map<Integer, StationProtocol> map = new HashMap<>();
+        for (StationProtocol stationProtocol : statusList) {
+            map.put(stationProtocol.getStationId(), stationProtocol);
+        }
+        return map;
+    }
 }

--
Gitblit v1.9.1