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