From e8c97695dd6930465e66b8fac819301f03624512 Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@smartai.com> Date: 星期二, 01 八月 2023 11:19:37 +0800 Subject: [PATCH] 完善连接过程. 添加重连 --- collector/plc4x.go | 16 ++++++++-------- 1 files changed, 8 insertions(+), 8 deletions(-) diff --git a/collector/plc4x.go b/collector/plc4x.go index e35edfb..000b75c 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 + 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 + 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, err } value := readResult.GetResponse().GetValue("tag") - return nil, value.GetRaw() + return value.GetRaw(), err } -- Gitblit v1.8.0