From 0c7545a03d2525700288760edd26901962bb4f77 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期二, 01 八月 2023 14:37:26 +0800
Subject: [PATCH] 修复重连机制
---
collector/plc4x.go | 20 ++++++++++----------
1 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/collector/plc4x.go b/collector/plc4x.go
index e35edfb..5e7966d 100644
--- a/collector/plc4x.go
+++ b/collector/plc4x.go
@@ -9,7 +9,7 @@
"github.com/apache/plc4x/plc4go/pkg/api/transports"
)
-func NewModbusConnection(ipAddr string) (error, plc4go.PlcConnection) {
+func NewModbusConnection(ipAddr string) (plc4go.PlcConnection, error) {
// 鍒涘缓椹卞姩绠$悊鍣�
driverManager := plc4go.NewPlcDriverManager()
@@ -29,37 +29,37 @@
// 鍒ゆ柇鏄惁杩炴帴鎴愬姛
if err := connectionResult.GetErr(); err != nil {
- return err, nil
+ return nil, err
}
- return nil, connectionResult.GetConnection()
+ return connectionResult.GetConnection(), nil
}
-func ReadHoldingRegister(connection plc4go.PlcConnection, address int) (error, []byte) {
+func ReadHoldingRegister(connection plc4go.PlcConnection, address int) ([]byte, error) {
tagAddress := fmt.Sprintf("holding-register:%d:DINT", address)
// 璇绘ā寮�
readRequest, err := connection.ReadRequestBuilder().AddTagAddress("tag", tagAddress).Build()
if err != nil {
- fmt.Printf("Error preparing read-request:%s\n", err.Error())
- return err, nil
+ fmt.Printf("preparing read-request:%s\n", err.Error())
+ return nil, err
}
// 鎵ц
readResult := <-readRequest.Execute()
if err := readResult.GetErr(); err != nil {
- fmt.Printf("Error execting read-request:%s\n", err.Error())
- return err, nil
+ fmt.Printf("execting read-request:%s\n", err.Error())
+ return nil, err
}
// 鍒ゆ柇鍝嶅簲鐮佹槸鍚︽纭�
if readResult.GetResponse().GetResponseCode("tag") != apiModel.PlcResponseCode_OK {
fmt.Printf("error an non-ok return code: %s", readResult.GetResponse().GetResponseCode("tag").GetName())
- return err, nil
+ return nil, nil
}
value := readResult.GetResponse().GetValue("tag")
- return nil, value.GetRaw()
+ return value.GetRaw(), err
}
--
Gitblit v1.8.0