From bc0b7e914a378b2c40f9d2ec2470b61a19c18288 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期五, 11 八月 2023 17:05:02 +0800
Subject: [PATCH] 修改上报的数据结构, 添加plc查询接口

---
 collector/device.go |   30 ++++++++++++++++++++++++++++++
 1 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/collector/device.go b/collector/device.go
index a9fc19e..9de3d33 100644
--- a/collector/device.go
+++ b/collector/device.go
@@ -51,3 +51,33 @@
 
 	return nil
 }
+
+func HandleDeviceReadRequest(device *msg.PLCDevice) *msg.PLCResponse {
+	procCache, ok := tasksStore.Load(device.DeviceID)
+	if ok {
+		if procCache.(*collectorProc).device.DeviceIP == device.DeviceIP {
+			return plc4xRequest(procCache.(*collectorProc))
+		}
+	}
+
+	plcConnection, err := NewModbusConnection(device.DeviceIP)
+	if err != nil {
+		logger.Warn("error connecting to PLC: %s, ip: %s", device.DeviceName, device.DeviceIP)
+
+		// 涓婃姤璁惧绂荤嚎
+		return &msg.PLCResponse{
+			DeviceID:   device.DeviceID,
+			DeviceName: device.DeviceName,
+			DeviceIP:   device.DeviceIP,
+			Online:     false,
+		}
+	}
+
+	proc := collectorProc{
+		device:  device,
+		cancel:  nil,
+		plcConn: &plcConnection,
+	}
+
+	return plc4xRequest(&proc)
+}

--
Gitblit v1.8.0