From 0718b07276198334437f52aa5c6c07cca2002225 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期四, 10 八月 2023 18:17:32 +0800
Subject: [PATCH] 完善数据上报程序, 添加测试

---
 config.json            |    7 
 msg/send.go            |   32 ++
 config/config.go       |   19 
 msg/msg.go             |   16 
 collector/device.go    |   10 
 log/plc-recorder.log   |  722 ++++++++++++++++++++++++++++++++++++++++++++++++
 main.go                |    7 
 collector/collector.go |   32 -
 util/util.go           |   14 
 9 files changed, 813 insertions(+), 46 deletions(-)

diff --git a/collector/collector.go b/collector/collector.go
index 6a3f3f9..12e8f2e 100644
--- a/collector/collector.go
+++ b/collector/collector.go
@@ -11,7 +11,7 @@
 	plc4go "github.com/apache/plc4x/plc4go/pkg/api"
 )
 
-var mapTask sync.Map
+var tasksStore sync.Map
 
 type collectorProc struct {
 	device *msg.PLCDevice
@@ -19,22 +19,7 @@
 }
 
 func InitTask() {
-	//device := msg.PLCDevice{
-	//	DeviceID:   "0",
-	//	DeviceName: "test",
-	//	DeviceIP:   "192.168.1.188",
-	//	Brand:      "sim",
-	//	Method:     "modbus",
-	//	PortName:   "",
-	//	Frequency:  1,
-	//	Details: []*msg.PLCAddress{&msg.PLCAddress{
-	//		StartAddress: 17021,
-	//		Length:       1,
-	//		Type:         "int",
-	//		FieldName:    "count",
-	//	}},
-	//}
-
+	logger.Debug("init task")
 	devices, err := getDeviceList()
 	if err != nil {
 		return
@@ -46,7 +31,16 @@
 			continue
 		}
 
+		logger.Debug("add collector task,device %s", dev.DeviceName)
 		addTask(&devices[idx])
+	}
+}
+
+func stopTask(device *msg.PLCDevice) {
+	if task, ok := tasksStore.Load(device.DeviceID); ok {
+		// 瀛樺湪鐨勪换鍔�, 鍏堝仠姝㈡帀, 鐒跺悗閲嶆柊寮�鍚竴涓�
+		task.(collectorProc).cancel()
+		tasksStore.Delete(device.DeviceID)
 	}
 }
 
@@ -57,7 +51,7 @@
 		cancel: cancel,
 	}
 
-	mapTask.Store(device.DeviceID, &proc)
+	tasksStore.Store(device.DeviceID, &proc)
 
 	go connectingDevice(ctx, device)
 }
@@ -124,7 +118,7 @@
 						Length:       addr.Length,
 						Type:         addr.Type,
 						FieldName:    addr.FieldName,
-						Data:         result,
+						RawData:      result,
 					})
 				}
 			}
diff --git a/collector/device.go b/collector/device.go
index 9812adc..7444a40 100644
--- a/collector/device.go
+++ b/collector/device.go
@@ -10,7 +10,7 @@
 )
 
 func getDeviceList() ([]msg.PLCDevice, error) {
-	responseBody, err := util.HttpPost(config.Options.ApsDeviceWebApi, nil)
+	responseBody, err := util.HttpPost(config.Options.DeviceListWebApi, nil)
 	if err != nil {
 		logger.Warn("get device list from aps error:%s", err.Error())
 		return nil, err
@@ -32,16 +32,16 @@
 func HandleDeviceUpdate(message []byte) error {
 	var device msg.PLCDevice
 
+	logger.Debug("receive device update msg: %s", string(message))
+
 	err := json.Unmarshal(message, &device)
 	if err != nil {
 		logger.Error("unmarshal device update msg error:%s", err.Error())
 		return err
 	}
 
-	if task, ok := mapTask.Load(device.DeviceID); ok {
-		// 瀛樺湪鐨勪换鍔�, 鍏堝仠姝㈡帀, 鐒跺悗閲嶆柊寮�鍚竴涓�
-		task.(collectorProc).cancel()
-	}
+	// 鍏堝仠鎺夋鍦ㄦ墽琛岀殑浠诲姟
+	stopTask(&device)
 
 	// 鍒ゆ柇鏄惁鏄噸鏂板惎鍔ㄧ殑鐘舵��, 鍚姩涓�涓柊鐨勪换鍔�
 	if device.Status == 0 {
diff --git a/config.json b/config.json
index 9b57b67..ea218f2 100644
--- a/config.json
+++ b/config.json
@@ -1,5 +1,8 @@
 {
     "nsq_server": "fai365.com:4150",
-    "plc_data_topic": "aps.factory.plc.livedata",
-    "plc_set_topic": ""
+    "pub_plc_data_topic": "aps.guangsheng.plc.livedata",
+    "write_plc_data_topic": "aps.guangsheng.plc.write",
+    "sub_device_topic": "aps.guangsheng.plc.device",
+    "device_List_webapi": "http://192.168.20.119:9081/api-s/v1/device/devicePlcList",
+    "post_plc_data_webapi": "http://192.168.20.119:9081/api-s/v1/schedule/reportPlcData"
 }
\ No newline at end of file
diff --git a/config/config.go b/config/config.go
index 091e4f8..a963dd8 100644
--- a/config/config.go
+++ b/config/config.go
@@ -9,12 +9,12 @@
 )
 
 type Config struct {
-	NsqServer        string `json:"nsq_server"`          // nsq TCP鏈嶅姟绔湴鍧�
-	PubPLCDataTopic  string `json:"plc_data_topic"`      // 鍙戝竷plc鏁版嵁鐨則opic
-	PLCSetTopic      string `json:"plc_set_topic"`       // 鎺ユ敹plc閰嶇疆鏁版嵁鐨則opic
-	SubDeviceTopic   string `json:"sub_device_topic"`    // 鎺ユ敹璁惧鍙樻洿閫氱煡鐨則opic
-	ApsDeviceWebApi  string `json:"aps_device_webapi"`   // 鑾峰彇璁惧鍒楄〃鐨勬帴鍙�, aps 鎻愪緵, http鎺ュ彛
-	ApsPLCDataWebApi string `json:"aps_plc_data_webapi"` // 涓婁紶缁檃ps plc鏁版嵁鐨勬帴鍙e湴鍧�. aps 鎻愪緵, http鎺ュ彛
+	NsqServer         string `json:"nsq_server"`           // nsq TCP鏈嶅姟绔湴鍧�
+	PubPLCDataTopic   string `json:"pub_plc_data_topic"`   // 鍙戝竷plc鏁版嵁鐨則opic
+	WritePLCDataTopic string `json:"write_plc_data_topic"` // 鎺ユ敹plc閰嶇疆鏁版嵁鐨則opic
+	SubDeviceTopic    string `json:"sub_device_topic"`     // 鎺ユ敹璁惧鍙樻洿閫氱煡鐨則opic
+	DeviceListWebApi  string `json:"device_List_webapi"`   // 鑾峰彇璁惧鍒楄〃鐨勬帴鍙�, aps 鎻愪緵, http鎺ュ彛
+	PostPLCDataWebApi string `json:"post_plc_data_webapi"` // 涓婁紶缁檃ps plc鏁版嵁鐨勬帴鍙e湴鍧�. aps 鎻愪緵, http鎺ュ彛
 }
 
 const configPath = "config.json"
@@ -24,9 +24,10 @@
 func DefaultConfig() {
 	Options.NsqServer = "fai365.com:4150"
 	Options.PubPLCDataTopic = "aps.factory.plc.livedata"
-	Options.PLCSetTopic = ""
-	Options.ApsDeviceWebApi = ""
-	Options.ApsPLCDataWebApi = ""
+	Options.WritePLCDataTopic = "aps.factory.plc.write"
+	Options.SubDeviceTopic = ""
+	Options.DeviceListWebApi = "aps.factory.plc.device"
+	Options.PostPLCDataWebApi = ""
 }
 
 func Load() {
diff --git a/log/plc-recorder.log b/log/plc-recorder.log
new file mode 100644
index 0000000..e82242d
--- /dev/null
+++ b/log/plc-recorder.log
@@ -0,0 +1,722 @@
+2023/08/10 16:38:24 [I] [main.go:29] plc-recorde start!
+2023/08/10 16:38:24 [E] [client.go:41] 鍒涘缓nsq娑堣垂瀹㈡埛绔け璐�, invalid topic name
+2023/08/10 16:38:24 [W] [device.go:15] get device list from aps error:Post "aps.factory.plc.device": unsupported protocol scheme ""
+2023/08/10 16:38:24 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[1 0 0 0]}]}
+2023/08/10 16:38:28 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[2 0 0 0]}]}
+2023/08/10 16:38:31 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[3 0 0 0]}]}
+2023/08/10 16:38:34 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[4 0 0 0]}]}
+2023/08/10 16:38:37 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[5 0 0 0]}]}
+2023/08/10 16:38:40 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[6 0 0 0]}]}
+2023/08/10 16:38:43 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[7 0 0 0]}]}
+2023/08/10 16:38:46 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[8 0 0 0]}]}
+2023/08/10 16:38:49 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[9 0 0 0]}]}
+2023/08/10 16:38:52 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[10 0 0 0]}]}
+2023/08/10 16:38:55 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[11 0 0 0]}]}
+2023/08/10 16:38:58 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[12 0 0 0]}]}
+2023/08/10 16:39:01 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[13 0 0 0]}]}
+2023/08/10 16:39:11 [I] [main.go:29] plc-recorde start!
+2023/08/10 16:39:11 [E] [client.go:41] 鍒涘缓nsq娑堣垂瀹㈡埛绔け璐�, invalid topic name
+2023/08/10 16:39:11 [W] [device.go:15] get device list from aps error:Post "aps.guangsheng.plc.device": unsupported protocol scheme ""
+2023/08/10 16:39:11 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[1 0 0 0]}]}
+2023/08/10 16:39:14 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[2 0 0 0]}]}
+2023/08/10 16:39:17 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[3 0 0 0]}]}
+2023/08/10 16:39:20 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[4 0 0 0]}]}
+2023/08/10 16:39:23 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[5 0 0 0]}]}
+2023/08/10 16:39:26 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[6 0 0 0]}]}
+2023/08/10 16:39:29 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[7 0 0 0]}]}
+2023/08/10 16:39:32 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[8 0 0 0]}]}
+2023/08/10 16:39:35 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[9 0 0 0]}]}
+2023/08/10 16:39:38 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[10 0 0 0]}]}
+2023/08/10 16:39:41 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[11 0 0 0]}]}
+2023/08/10 16:39:44 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[12 0 0 0]}]}
+2023/08/10 16:39:47 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[13 0 0 0]}]}
+2023/08/10 16:39:50 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[14 0 0 0]}]}
+2023/08/10 16:39:54 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[15 0 0 0]}]}
+2023/08/10 16:39:57 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[16 0 0 0]}]}
+2023/08/10 16:40:00 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[17 0 0 0]}]}
+2023/08/10 16:40:03 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[18 0 0 0]}]}
+2023/08/10 16:40:06 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[19 0 0 0]}]}
+2023/08/10 16:40:09 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[20 0 0 0]}]}
+2023/08/10 16:40:12 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[21 0 0 0]}]}
+2023/08/10 16:40:15 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[22 0 0 0]}]}
+2023/08/10 16:40:18 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[23 0 0 0]}]}
+2023/08/10 16:40:21 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[24 0 0 0]}]}
+2023/08/10 16:40:24 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[25 0 0 0]}]}
+2023/08/10 16:40:27 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[26 0 0 0]}]}
+2023/08/10 16:40:30 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[27 0 0 0]}]}
+2023/08/10 16:40:33 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[28 0 0 0]}]}
+2023/08/10 16:40:36 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[29 0 0 0]}]}
+2023/08/10 16:40:39 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[30 0 0 0]}]}
+2023/08/10 16:40:42 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[31 0 0 0]}]}
+2023/08/10 16:40:45 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[32 0 0 0]}]}
+2023/08/10 16:40:48 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[33 0 0 0]}]}
+2023/08/10 16:40:51 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[34 0 0 0]}]}
+2023/08/10 16:40:54 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[35 0 0 0]}]}
+2023/08/10 16:40:57 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[36 0 0 0]}]}
+2023/08/10 16:41:23 [I] [main.go:29] plc-recorde start!
+2023/08/10 16:41:23 [E] [client.go:41] 鍒涘缓nsq娑堣垂瀹㈡埛绔け璐�, invalid topic name
+2023/08/10 16:41:23 [W] [device.go:15] get device list from aps error:Post "aps.guangsheng.plc.device": unsupported protocol scheme ""
+2023/08/10 16:41:23 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:41:26 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:41:29 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:41:32 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:41:35 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:41:38 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:41:42 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:41:45 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:41:48 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:41:51 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:41:54 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:41:57 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:42:00 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:42:03 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:42:06 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:42:09 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:42:12 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:42:15 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:42:18 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:42:21 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:42:24 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:42:27 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:42:30 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:42:33 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:42:36 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:42:39 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:42:42 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:42:45 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:42:48 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:42:51 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:42:54 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:42:57 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:43:01 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:43:04 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:43:07 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:43:10 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:43:13 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:43:16 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:43:19 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:43:22 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:43:25 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:43:28 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:43:31 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:43:34 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:43:37 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:43:40 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:43:43 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:43:46 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:43:49 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:43:52 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:43:55 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:43:58 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:44:01 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:44:04 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:44:07 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:44:10 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:44:13 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:44:17 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:44:20 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:44:23 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:44:26 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:44:29 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:44:32 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:44:35 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:44:38 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:44:41 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:44:44 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:44:47 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:44:50 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:44:53 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:44:56 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:44:59 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:45:02 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:45:05 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:45:08 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:45:11 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:45:14 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:45:17 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:45:20 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:45:23 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:45:26 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:45:29 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:45:32 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:45:35 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:45:39 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:45:42 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:45:45 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:45:48 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:45:51 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:45:54 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:45:57 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:46:00 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:46:03 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:46:06 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:46:09 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:46:12 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:46:15 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:46:18 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:46:21 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:46:24 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:46:27 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:46:30 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:46:33 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:46:36 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:46:39 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:46:42 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:46:45 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:46:48 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:46:51 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:46:55 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:46:58 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:47:01 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:47:04 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:47:07 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:47:10 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:47:13 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:47:16 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:47:19 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:47:22 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:47:25 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:47:28 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:47:31 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:47:34 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:47:37 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:47:40 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:47:43 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:47:46 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:47:49 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:47:52 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:47:55 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:47:58 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:48:01 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:48:04 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:48:07 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:48:10 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:48:14 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:48:17 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:48:20 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:48:23 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:48:26 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:48:29 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:48:32 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:48:35 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:48:38 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:48:41 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:48:44 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:48:47 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:48:50 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:48:53 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:48:56 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:48:59 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:49:02 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:49:05 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:49:08 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:49:11 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:49:14 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:49:17 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:49:20 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:49:23 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:49:26 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:49:29 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:49:33 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:49:36 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:49:39 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:49:42 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:49:45 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:49:48 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:49:51 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:49:54 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:49:57 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:50:00 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:50:03 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:50:06 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:50:09 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:50:12 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:50:15 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:50:18 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:50:21 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:50:24 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:50:27 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:50:30 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:50:33 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:50:36 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:50:39 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:50:42 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:50:45 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:50:48 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:50:51 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:50:55 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:50:58 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:51:01 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:51:04 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:51:07 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:51:10 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:51:13 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:51:16 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:51:19 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:51:22 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:51:25 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:51:28 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:51:31 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:51:34 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:51:37 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:51:40 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:51:43 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:51:46 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:51:49 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:51:52 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:51:55 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:51:58 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:52:01 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:52:04 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:52:07 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:52:10 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:52:13 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:52:16 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:52:20 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:52:23 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:52:26 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:52:29 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:52:32 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:52:35 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:52:38 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:52:41 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:52:44 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:52:47 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:52:50 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:52:53 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:52:56 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:52:59 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:53:02 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:53:05 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:53:08 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:53:11 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:53:14 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:53:17 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:53:20 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:53:23 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:53:26 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:53:29 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:53:32 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:53:35 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:53:38 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:53:42 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:53:45 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:53:48 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:53:51 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:53:54 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:53:57 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:54:00 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:54:03 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:54:06 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:54:09 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:54:12 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:54:15 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:54:18 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:54:21 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:54:24 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:54:27 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:54:30 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:54:33 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:54:36 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:54:39 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:54:42 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:54:45 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:54:48 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:54:51 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:54:54 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:54:57 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:55:00 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:55:03 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:55:07 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:55:10 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:55:13 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:55:16 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:55:19 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:55:22 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:55:25 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:55:28 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:55:31 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:55:34 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:55:37 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:55:40 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:55:43 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:55:46 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:55:49 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:55:52 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:55:55 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:55:58 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:56:01 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:56:04 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:56:07 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:56:10 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:56:13 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:56:16 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:56:19 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:56:22 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:56:26 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:56:29 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:56:32 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:56:35 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:56:38 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:56:41 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:56:44 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:56:47 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:56:50 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:56:53 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:56:56 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:56:59 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:57:02 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:57:05 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:57:08 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:57:11 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:57:14 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:57:17 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:57:20 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:57:23 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:57:26 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:57:29 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:57:32 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:57:35 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:57:38 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:57:41 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:57:44 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:57:48 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:57:51 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:57:54 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:57:57 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:58:00 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:58:03 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:58:06 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:58:09 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:58:12 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:58:15 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:58:18 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:58:21 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:58:24 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:58:27 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:58:30 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:58:33 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:58:36 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:58:39 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:58:42 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:58:45 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:58:48 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:58:51 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:58:54 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:58:57 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:59:00 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:59:03 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:59:06 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:59:10 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:59:13 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:59:16 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:59:19 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:59:22 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:59:25 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:59:28 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:59:31 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:59:34 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:59:37 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:59:40 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:59:43 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:59:46 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:59:49 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:59:52 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:59:55 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 16:59:58 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:00:01 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:00:04 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:00:07 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:00:10 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:00:13 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:00:16 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:00:19 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:00:22 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:00:25 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:00:28 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:00:32 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:00:35 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:00:38 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:00:41 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:00:44 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:00:47 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:00:50 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:00:53 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:00:56 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:00:59 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:01:02 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:01:05 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:01:08 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:01:11 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:01:14 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:01:17 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:01:20 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:01:23 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:01:26 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:01:29 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:01:32 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:01:35 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:01:38 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:01:41 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:01:44 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:01:48 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:01:51 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:01:54 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:01:57 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:02:00 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:02:03 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 17:02:07 [I] [main.go:29] plc-recorde start!
+2023/08/10 17:05:04 [I] [main.go:29] plc-recorde start!
+2023/08/10 18:07:35 [I] [main.go:29] plc-recorde start!
+2023/08/10 18:08:33 [I] [main.go:29] plc-recorde start!
+2023/08/10 18:08:33 [D] [collector.go:22] init task
+2023/08/10 18:08:33 [D] [device.go:26] get device list total:6
+2023/08/10 18:08:33 [D] [collector.go:34] add collector task,device 娴嬭瘯wn1
+2023/08/10 18:08:33 [D] [collector.go:34] add collector task,device 娴嬭瘯wn11
+2023/08/10 18:08:33 [D] [collector.go:34] add collector task,device 33
+2023/08/10 18:08:33 [D] [collector.go:34] add collector task,device produce_attr
+2023/08/10 18:08:33 [D] [collector.go:34] add collector task,device impectu
+2023/08/10 18:08:33 [D] [collector.go:34] add collector task,device 璁惧9搴�8澶�8浜�-8
+2023/08/10 18:08:33 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:08:33 [W] [collector.go:75] error connecting to PLC: 娴嬭瘯wn1, ip: 
+2023/08/10 18:08:33 [D] [send.go:14] plc live data: &{DeviceID:11 DeviceName:娴嬭瘯wn1 DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:08:33 [W] [collector.go:75] error connecting to PLC: produce_attr, ip: 
+2023/08/10 18:08:33 [D] [send.go:14] plc live data: &{DeviceID:attr1 DeviceName:produce_attr DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:08:33 [W] [collector.go:75] error connecting to PLC: 璁惧9搴�8澶�8浜�-8, ip: 
+2023/08/10 18:08:33 [D] [send.go:14] plc live data: &{DeviceID:MA-JWW-8 DeviceName:璁惧9搴�8澶�8浜�-8 DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:08:33 [W] [collector.go:75] error connecting to PLC: 娴嬭瘯wn11, ip: 
+2023/08/10 18:08:33 [D] [send.go:14] plc live data: &{DeviceID:122 DeviceName:娴嬭瘯wn11 DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:08:33 [W] [collector.go:75] error connecting to PLC: 33, ip: 255.255.255.33
+2023/08/10 18:08:33 [D] [send.go:14] plc live data: &{DeviceID:33 DeviceName:33 DeviceIP:255.255.255.33 Online:false Message: PLCData:[]}
+2023/08/10 18:08:36 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:08:39 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:08:42 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:08:45 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:08:48 [I] [main.go:29] plc-recorde start!
+2023/08/10 18:08:48 [D] [collector.go:22] init task
+2023/08/10 18:08:48 [D] [device.go:26] get device list total:6
+2023/08/10 18:08:48 [D] [collector.go:34] add collector task,device 娴嬭瘯wn1
+2023/08/10 18:08:48 [D] [collector.go:34] add collector task,device 娴嬭瘯wn11
+2023/08/10 18:08:48 [D] [collector.go:34] add collector task,device 33
+2023/08/10 18:08:48 [D] [collector.go:34] add collector task,device produce_attr
+2023/08/10 18:08:48 [D] [collector.go:34] add collector task,device impectu
+2023/08/10 18:08:48 [D] [collector.go:34] add collector task,device 璁惧9搴�8澶�8浜�-8
+2023/08/10 18:08:48 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:08:48 [W] [collector.go:75] error connecting to PLC: 娴嬭瘯wn11, ip: 
+2023/08/10 18:08:48 [D] [send.go:14] plc live data: &{DeviceID:122 DeviceName:娴嬭瘯wn11 DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:08:48 [W] [collector.go:75] error connecting to PLC: produce_attr, ip: 
+2023/08/10 18:08:48 [D] [send.go:14] plc live data: &{DeviceID:attr1 DeviceName:produce_attr DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:08:48 [W] [collector.go:75] error connecting to PLC: 娴嬭瘯wn1, ip: 
+2023/08/10 18:08:48 [D] [send.go:14] plc live data: &{DeviceID:11 DeviceName:娴嬭瘯wn1 DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:08:48 [W] [collector.go:75] error connecting to PLC: 33, ip: 255.255.255.33
+2023/08/10 18:08:48 [D] [send.go:14] plc live data: &{DeviceID:33 DeviceName:33 DeviceIP:255.255.255.33 Online:false Message: PLCData:[]}
+2023/08/10 18:08:48 [W] [collector.go:75] error connecting to PLC: 璁惧9搴�8澶�8浜�-8, ip: 
+2023/08/10 18:08:48 [D] [send.go:14] plc live data: &{DeviceID:MA-JWW-8 DeviceName:璁惧9搴�8澶�8浜�-8 DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:08:52 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:08:55 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:08:58 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:09:01 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:09:04 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:09:07 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:10:02 [I] [main.go:29] plc-recorde start!
+2023/08/10 18:10:02 [D] [collector.go:22] init task
+2023/08/10 18:10:02 [D] [device.go:26] get device list total:6
+2023/08/10 18:10:02 [D] [collector.go:34] add collector task,device 娴嬭瘯wn1
+2023/08/10 18:10:02 [D] [collector.go:34] add collector task,device 娴嬭瘯wn11
+2023/08/10 18:10:02 [D] [collector.go:34] add collector task,device 33
+2023/08/10 18:10:02 [D] [collector.go:34] add collector task,device produce_attr
+2023/08/10 18:10:02 [D] [collector.go:34] add collector task,device impectu
+2023/08/10 18:10:02 [D] [collector.go:34] add collector task,device 璁惧9搴�8澶�8浜�-8
+2023/08/10 18:10:02 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:10:02 [W] [collector.go:75] error connecting to PLC: produce_attr, ip: 
+2023/08/10 18:10:02 [D] [send.go:14] plc live data: &{DeviceID:attr1 DeviceName:produce_attr DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:10:02 [W] [collector.go:75] error connecting to PLC: 娴嬭瘯wn11, ip: 
+2023/08/10 18:10:02 [D] [send.go:14] plc live data: &{DeviceID:122 DeviceName:娴嬭瘯wn11 DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:10:02 [W] [collector.go:75] error connecting to PLC: 娴嬭瘯wn1, ip: 
+2023/08/10 18:10:02 [D] [send.go:14] plc live data: &{DeviceID:11 DeviceName:娴嬭瘯wn1 DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:10:02 [W] [collector.go:75] error connecting to PLC: 璁惧9搴�8澶�8浜�-8, ip: 
+2023/08/10 18:10:02 [D] [send.go:14] plc live data: &{DeviceID:MA-JWW-8 DeviceName:璁惧9搴�8澶�8浜�-8 DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:10:02 [W] [collector.go:75] error connecting to PLC: 33, ip: 255.255.255.33
+2023/08/10 18:10:02 [D] [send.go:14] plc live data: &{DeviceID:33 DeviceName:33 DeviceIP:255.255.255.33 Online:false Message: PLCData:[]}
+2023/08/10 18:10:05 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:10:09 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:10:12 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:10:15 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:10:18 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:10:21 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:10:23 [W] [collector.go:75] error connecting to PLC: impectu, ip: 119.255.22.22
+2023/08/10 18:10:23 [D] [send.go:14] plc live data: &{DeviceID:IMP DeviceName:impectu DeviceIP:119.255.22.22 Online:false Message: PLCData:[]}
+2023/08/10 18:10:24 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:10:27 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:10:30 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:10:32 [W] [collector.go:75] error connecting to PLC: 33, ip: 255.255.255.33
+2023/08/10 18:10:32 [D] [send.go:14] plc live data: &{DeviceID:33 DeviceName:33 DeviceIP:255.255.255.33 Online:false Message: PLCData:[]}
+2023/08/10 18:10:32 [W] [collector.go:75] error connecting to PLC: 娴嬭瘯wn1, ip: 
+2023/08/10 18:10:32 [D] [send.go:14] plc live data: &{DeviceID:11 DeviceName:娴嬭瘯wn1 DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:10:32 [W] [collector.go:75] error connecting to PLC: 璁惧9搴�8澶�8浜�-8, ip: 
+2023/08/10 18:10:32 [D] [send.go:14] plc live data: &{DeviceID:MA-JWW-8 DeviceName:璁惧9搴�8澶�8浜�-8 DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:10:32 [W] [collector.go:75] error connecting to PLC: produce_attr, ip: 
+2023/08/10 18:10:32 [D] [send.go:14] plc live data: &{DeviceID:attr1 DeviceName:produce_attr DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:10:32 [W] [collector.go:75] error connecting to PLC: 娴嬭瘯wn11, ip: 
+2023/08/10 18:10:32 [D] [send.go:14] plc live data: &{DeviceID:122 DeviceName:娴嬭瘯wn11 DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:10:33 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:10:36 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:10:39 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:10:42 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:10:45 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:10:48 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:10:51 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:10:54 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:10:57 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:11:00 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:11:02 [W] [collector.go:75] error connecting to PLC: 33, ip: 255.255.255.33
+2023/08/10 18:11:02 [D] [send.go:14] plc live data: &{DeviceID:33 DeviceName:33 DeviceIP:255.255.255.33 Online:false Message: PLCData:[]}
+2023/08/10 18:11:02 [W] [collector.go:75] error connecting to PLC: 璁惧9搴�8澶�8浜�-8, ip: 
+2023/08/10 18:11:02 [D] [send.go:14] plc live data: &{DeviceID:MA-JWW-8 DeviceName:璁惧9搴�8澶�8浜�-8 DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:11:02 [W] [collector.go:75] error connecting to PLC: produce_attr, ip: 
+2023/08/10 18:11:02 [D] [send.go:14] plc live data: &{DeviceID:attr1 DeviceName:produce_attr DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:11:02 [W] [collector.go:75] error connecting to PLC: 娴嬭瘯wn1, ip: 
+2023/08/10 18:11:02 [D] [send.go:14] plc live data: &{DeviceID:11 DeviceName:娴嬭瘯wn1 DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:11:02 [W] [collector.go:75] error connecting to PLC: 娴嬭瘯wn11, ip: 
+2023/08/10 18:11:02 [D] [send.go:14] plc live data: &{DeviceID:122 DeviceName:娴嬭瘯wn11 DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:11:03 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:11:06 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:11:09 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:11:12 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:11:14 [W] [collector.go:75] error connecting to PLC: impectu, ip: 119.255.22.22
+2023/08/10 18:11:14 [D] [send.go:14] plc live data: &{DeviceID:IMP DeviceName:impectu DeviceIP:119.255.22.22 Online:false Message: PLCData:[]}
+2023/08/10 18:11:15 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:11:18 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:11:21 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:11:24 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:11:27 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:11:31 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:11:32 [W] [collector.go:75] error connecting to PLC: 33, ip: 255.255.255.33
+2023/08/10 18:11:32 [D] [send.go:14] plc live data: &{DeviceID:33 DeviceName:33 DeviceIP:255.255.255.33 Online:false Message: PLCData:[]}
+2023/08/10 18:11:32 [W] [collector.go:75] error connecting to PLC: 璁惧9搴�8澶�8浜�-8, ip: 
+2023/08/10 18:11:32 [D] [send.go:14] plc live data: &{DeviceID:MA-JWW-8 DeviceName:璁惧9搴�8澶�8浜�-8 DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:11:33 [W] [collector.go:75] error connecting to PLC: 娴嬭瘯wn1, ip: 
+2023/08/10 18:11:33 [D] [send.go:14] plc live data: &{DeviceID:11 DeviceName:娴嬭瘯wn1 DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:11:33 [W] [collector.go:75] error connecting to PLC: produce_attr, ip: 
+2023/08/10 18:11:33 [D] [send.go:14] plc live data: &{DeviceID:attr1 DeviceName:produce_attr DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:11:33 [W] [collector.go:75] error connecting to PLC: 娴嬭瘯wn11, ip: 
+2023/08/10 18:11:33 [D] [send.go:14] plc live data: &{DeviceID:122 DeviceName:娴嬭瘯wn11 DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:11:34 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:11:37 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:11:40 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:11:43 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:11:46 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:11:49 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:11:52 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:11:55 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:11:58 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:12:01 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:12:02 [W] [collector.go:75] error connecting to PLC: 33, ip: 255.255.255.33
+2023/08/10 18:12:02 [D] [send.go:14] plc live data: &{DeviceID:33 DeviceName:33 DeviceIP:255.255.255.33 Online:false Message: PLCData:[]}
+2023/08/10 18:12:02 [W] [collector.go:75] error connecting to PLC: 璁惧9搴�8澶�8浜�-8, ip: 
+2023/08/10 18:12:02 [D] [send.go:14] plc live data: &{DeviceID:MA-JWW-8 DeviceName:璁惧9搴�8澶�8浜�-8 DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:12:03 [W] [collector.go:75] error connecting to PLC: 娴嬭瘯wn1, ip: 
+2023/08/10 18:12:03 [D] [send.go:14] plc live data: &{DeviceID:11 DeviceName:娴嬭瘯wn1 DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:12:03 [W] [collector.go:75] error connecting to PLC: produce_attr, ip: 
+2023/08/10 18:12:03 [D] [send.go:14] plc live data: &{DeviceID:attr1 DeviceName:produce_attr DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:12:03 [W] [collector.go:75] error connecting to PLC: 娴嬭瘯wn11, ip: 
+2023/08/10 18:12:03 [D] [send.go:14] plc live data: &{DeviceID:122 DeviceName:娴嬭瘯wn11 DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:12:04 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:12:05 [W] [collector.go:75] error connecting to PLC: impectu, ip: 119.255.22.22
+2023/08/10 18:12:05 [D] [send.go:14] plc live data: &{DeviceID:IMP DeviceName:impectu DeviceIP:119.255.22.22 Online:false Message: PLCData:[]}
+2023/08/10 18:12:07 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:12:10 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:12:13 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:12:16 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:12:19 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:12:22 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:12:25 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:12:28 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:12:31 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:12:32 [W] [collector.go:75] error connecting to PLC: 33, ip: 255.255.255.33
+2023/08/10 18:12:32 [D] [send.go:14] plc live data: &{DeviceID:33 DeviceName:33 DeviceIP:255.255.255.33 Online:false Message: PLCData:[]}
+2023/08/10 18:12:32 [W] [collector.go:75] error connecting to PLC: 璁惧9搴�8澶�8浜�-8, ip: 
+2023/08/10 18:12:32 [D] [send.go:14] plc live data: &{DeviceID:MA-JWW-8 DeviceName:璁惧9搴�8澶�8浜�-8 DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:12:32 [W] [collector.go:75] error connecting to PLC: 娴嬭瘯wn1, ip: 
+2023/08/10 18:12:32 [D] [send.go:14] plc live data: &{DeviceID:11 DeviceName:娴嬭瘯wn1 DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:12:33 [W] [collector.go:75] error connecting to PLC: produce_attr, ip: 
+2023/08/10 18:12:33 [D] [send.go:14] plc live data: &{DeviceID:attr1 DeviceName:produce_attr DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:12:33 [W] [collector.go:75] error connecting to PLC: 娴嬭瘯wn11, ip: 
+2023/08/10 18:12:33 [D] [send.go:14] plc live data: &{DeviceID:122 DeviceName:娴嬭瘯wn11 DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:12:34 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:12:37 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:12:40 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:12:43 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:12:47 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:12:50 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:12:53 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:12:56 [W] [collector.go:75] error connecting to PLC: impectu, ip: 119.255.22.22
+2023/08/10 18:12:56 [D] [send.go:14] plc live data: &{DeviceID:IMP DeviceName:impectu DeviceIP:119.255.22.22 Online:false Message: PLCData:[]}
+2023/08/10 18:12:56 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:12:59 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:13:02 [W] [collector.go:75] error connecting to PLC: 33, ip: 255.255.255.33
+2023/08/10 18:13:02 [D] [send.go:14] plc live data: &{DeviceID:33 DeviceName:33 DeviceIP:255.255.255.33 Online:false Message: PLCData:[]}
+2023/08/10 18:13:02 [W] [collector.go:75] error connecting to PLC: 璁惧9搴�8澶�8浜�-8, ip: 
+2023/08/10 18:13:02 [D] [send.go:14] plc live data: &{DeviceID:MA-JWW-8 DeviceName:璁惧9搴�8澶�8浜�-8 DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:13:02 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:13:02 [W] [collector.go:75] error connecting to PLC: 娴嬭瘯wn1, ip: 
+2023/08/10 18:13:02 [D] [send.go:14] plc live data: &{DeviceID:11 DeviceName:娴嬭瘯wn1 DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:13:03 [W] [collector.go:75] error connecting to PLC: produce_attr, ip: 
+2023/08/10 18:13:03 [D] [send.go:14] plc live data: &{DeviceID:attr1 DeviceName:produce_attr DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:13:03 [W] [collector.go:75] error connecting to PLC: 娴嬭瘯wn11, ip: 
+2023/08/10 18:13:03 [D] [send.go:14] plc live data: &{DeviceID:122 DeviceName:娴嬭瘯wn11 DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:13:06 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:15:16 [I] [main.go:29] plc-recorde start!
+2023/08/10 18:15:16 [D] [collector.go:22] init task
+2023/08/10 18:15:16 [D] [device.go:26] get device list total:6
+2023/08/10 18:15:16 [D] [collector.go:34] add collector task,device 娴嬭瘯wn1
+2023/08/10 18:15:16 [D] [collector.go:34] add collector task,device 娴嬭瘯wn11
+2023/08/10 18:15:16 [D] [collector.go:34] add collector task,device 33
+2023/08/10 18:15:16 [D] [collector.go:34] add collector task,device produce_attr
+2023/08/10 18:15:16 [D] [collector.go:34] add collector task,device impectu
+2023/08/10 18:15:16 [D] [collector.go:34] add collector task,device 璁惧9搴�8澶�8浜�-8
+2023/08/10 18:15:16 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:15:16 [W] [collector.go:75] error connecting to PLC: produce_attr, ip: 
+2023/08/10 18:15:16 [D] [send.go:14] plc live data: &{DeviceID:attr1 DeviceName:produce_attr DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:15:16 [W] [collector.go:75] error connecting to PLC: 璁惧9搴�8澶�8浜�-8, ip: 
+2023/08/10 18:15:16 [D] [send.go:14] plc live data: &{DeviceID:MA-JWW-8 DeviceName:璁惧9搴�8澶�8浜�-8 DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:15:16 [W] [collector.go:75] error connecting to PLC: 娴嬭瘯wn1, ip: 
+2023/08/10 18:15:16 [D] [send.go:14] plc live data: &{DeviceID:11 DeviceName:娴嬭瘯wn1 DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:15:16 [W] [collector.go:75] error connecting to PLC: 娴嬭瘯wn11, ip: 
+2023/08/10 18:15:16 [D] [send.go:14] plc live data: &{DeviceID:122 DeviceName:娴嬭瘯wn11 DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:15:16 [W] [collector.go:75] error connecting to PLC: 33, ip: 255.255.255.33
+2023/08/10 18:15:16 [D] [send.go:14] plc live data: &{DeviceID:33 DeviceName:33 DeviceIP:255.255.255.33 Online:false Message: PLCData:[]}
+2023/08/10 18:15:17 [D] [device.go:35] receive device update msg %!(EXTRA string=test msg)
+2023/08/10 18:15:17 [E] [device.go:38] unmarshal device update msg error:invalid character 'e' in literal true (expecting 'r')
+2023/08/10 18:15:20 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:15:20 [D] [device.go:35] receive device update msg %!(EXTRA string=test msg)
+2023/08/10 18:15:20 [E] [device.go:38] unmarshal device update msg error:invalid character 'e' in literal true (expecting 'r')
+2023/08/10 18:15:23 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:15:25 [D] [device.go:35] receive device update msg %!(EXTRA string=test msg)
+2023/08/10 18:15:25 [E] [device.go:38] unmarshal device update msg error:invalid character 'e' in literal true (expecting 'r')
+2023/08/10 18:15:27 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:15:30 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:15:33 [D] [device.go:35] receive device update msg %!(EXTRA string=test msg)
+2023/08/10 18:15:33 [E] [device.go:38] unmarshal device update msg error:invalid character 'e' in literal true (expecting 'r')
+2023/08/10 18:15:33 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:15:36 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:15:37 [W] [collector.go:75] error connecting to PLC: impectu, ip: 119.255.22.22
+2023/08/10 18:15:37 [D] [send.go:14] plc live data: &{DeviceID:IMP DeviceName:impectu DeviceIP:119.255.22.22 Online:false Message: PLCData:[]}
+2023/08/10 18:15:39 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:15:43 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:15:46 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:15:46 [W] [collector.go:75] error connecting to PLC: 璁惧9搴�8澶�8浜�-8, ip: 
+2023/08/10 18:15:46 [D] [send.go:14] plc live data: &{DeviceID:MA-JWW-8 DeviceName:璁惧9搴�8澶�8浜�-8 DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:15:46 [W] [collector.go:75] error connecting to PLC: 33, ip: 255.255.255.33
+2023/08/10 18:15:46 [D] [send.go:14] plc live data: &{DeviceID:33 DeviceName:33 DeviceIP:255.255.255.33 Online:false Message: PLCData:[]}
+2023/08/10 18:15:47 [W] [collector.go:75] error connecting to PLC: 娴嬭瘯wn1, ip: 
+2023/08/10 18:15:47 [D] [send.go:14] plc live data: &{DeviceID:11 DeviceName:娴嬭瘯wn1 DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:15:47 [W] [collector.go:75] error connecting to PLC: 娴嬭瘯wn11, ip: 
+2023/08/10 18:15:47 [D] [send.go:14] plc live data: &{DeviceID:122 DeviceName:娴嬭瘯wn11 DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:15:47 [W] [collector.go:75] error connecting to PLC: produce_attr, ip: 
+2023/08/10 18:15:47 [D] [send.go:14] plc live data: &{DeviceID:attr1 DeviceName:produce_attr DeviceIP: Online:false Message: PLCData:[]}
+2023/08/10 18:15:49 [D] [device.go:35] receive device update msg %!(EXTRA string=test msg)
+2023/08/10 18:15:49 [E] [device.go:38] unmarshal device update msg error:invalid character 'e' in literal true (expecting 'r')
+2023/08/10 18:15:49 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:15:52 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
+2023/08/10 18:15:56 [D] [send.go:14] plc live data: &{DeviceID:0000 DeviceName:test DeviceIP:0.0.0.0 Online:true Message: PLCData:[{StartAddress:100 Length:1 Type:int FieldName:鐢熶骇璁℃暟 RawData:[123 0 0 0]}]}
diff --git a/main.go b/main.go
index fd296d0..a828d4b 100644
--- a/main.go
+++ b/main.go
@@ -1,6 +1,7 @@
 package main
 
 import (
+	"plc-recorder/msg"
 	"runtime"
 
 	"plc-recorder/collector"
@@ -24,6 +25,7 @@
 	if runtime.GOOS == "windows" {
 		logFilePath = "log/plc-recorder.log"
 	}
+
 	logger.InitLog(logFilePath, "debug", 15, false)
 	logger.Info("plc-recorde start!")
 
@@ -31,9 +33,12 @@
 	nsqclient.InitNsqProducer()
 
 	// 璁㈤槄璁惧鍙樻洿
-	nsqclient.InitNsqConsumer(config.Options.SubDeviceTopic, "sensor01", collector.HandleDeviceUpdate)
+	go nsqclient.InitNsqConsumer(config.Options.SubDeviceTopic, "plc-recorder", collector.HandleDeviceUpdate)
 
 	collector.InitTask()
 
+	// 娴嬭瘯鏁版嵁
+	go msg.TestSendDeviceLiveData()
+
 	select {}
 }
diff --git a/msg/msg.go b/msg/msg.go
index dce1c24..09d2504 100644
--- a/msg/msg.go
+++ b/msg/msg.go
@@ -12,6 +12,13 @@
 	Details    []*PLCAddress `gorm:"-" json:"Details"`
 }
 
+type PLCAddress struct {
+	StartAddress int    `json:"startAddress"` // 鏁版嵁璧峰鍦板潃
+	Length       int    `json:"length"`       // 鏁版嵁闀垮害
+	Type         string `json:"type"`         // 鏁版嵁绫诲瀷
+	FieldName    string `json:"fieldName"`    // 瀵瑰簲绯荤粺瀛楁
+}
+
 type PLCResponse struct {
 	DeviceID   string    `json:"deviceId"`
 	DeviceName string    `json:"deviceName"`
@@ -21,19 +28,12 @@
 	PLCData    []PLCData `json:"plcData"`
 }
 
-type PLCAddress struct {
-	StartAddress int    `json:"startAddress"` // 鏁版嵁璧峰鍦板潃
-	Length       int    `json:"length"`       // 鏁版嵁闀垮害
-	Type         string `json:"type"`         // 鏁版嵁绫诲瀷
-	FieldName    string `json:"fieldName"`    // 瀵瑰簲绯荤粺瀛楁
-}
-
 type PLCData struct {
 	StartAddress int    `json:"startAddress"` // 鏁版嵁璧峰鍦板潃
 	Length       int    `json:"length"`       // 鏁版嵁闀垮害
 	Type         string `json:"type"`         // 鏁版嵁绫诲瀷
 	FieldName    string `json:"fieldName"`    // 瀵瑰簲绯荤粺瀛楁
-	Data         []byte // 浠巔lc璇诲彇鐨勫師濮嬫暟鎹�
+	RawData      []byte `json:"rawData"`      // 浠巔lc璇诲彇鐨勫師濮嬫暟鎹�
 }
 
 type ApsDeviceApiResponse struct {
diff --git a/msg/send.go b/msg/send.go
index 334d112..3e2d822 100644
--- a/msg/send.go
+++ b/msg/send.go
@@ -3,6 +3,7 @@
 import (
 	"encoding/json"
 	"plc-recorder/util"
+	"time"
 
 	"plc-recorder/config"
 	"plc-recorder/logger"
@@ -17,10 +18,37 @@
 	nsqclient.Produce(config.Options.PubPLCDataTopic, b)
 
 	// aps 鍙戝竷
-	if config.Options.ApsPLCDataWebApi != "" {
-		_, err := util.HttpPost(config.Options.ApsPLCDataWebApi, b)
+	if config.Options.PostPLCDataWebApi != "" {
+		_, err := util.HttpPost(config.Options.PostPLCDataWebApi, b)
 		if err != nil {
 			logger.Warn(err.Error())
 		}
 	}
 }
+
+func TestSendDeviceLiveData() {
+	for i := 1; i > 0; i++ {
+
+		countData := util.IntToBytes(123)
+
+		response := PLCResponse{
+			DeviceID:   "0000",
+			DeviceName: "test",
+			DeviceIP:   "0.0.0.0",
+			Online:     true,
+			Message:    "",
+			PLCData: []PLCData{{
+				StartAddress: 100,
+				Length:       1,
+				Type:         "int",
+				FieldName:    "鐢熶骇璁℃暟",
+				RawData:      countData,
+			},
+			},
+		}
+
+		SendDeviceLiveData(&response)
+
+		time.Sleep(3 * time.Second)
+	}
+}
diff --git a/util/util.go b/util/util.go
new file mode 100644
index 0000000..c48552d
--- /dev/null
+++ b/util/util.go
@@ -0,0 +1,14 @@
+package util
+
+import (
+	"bytes"
+	"encoding/binary"
+)
+
+func IntToBytes(n int) []byte {
+	x := int32(n)
+	bytesBuffer := bytes.NewBuffer([]byte{})
+	binary.Write(bytesBuffer, binary.LittleEndian, x)
+
+	return bytesBuffer.Bytes()
+}

--
Gitblit v1.8.0