From fbae58e8f6e6159325ef41b85917ddb468d1b98a Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期六, 16 九月 2023 18:17:23 +0800 Subject: [PATCH] 读写plc连续失败20次认为失去心跳 --- service/plc.go | 18 ++---------------- 1 files changed, 2 insertions(+), 16 deletions(-) diff --git a/service/plc.go b/service/plc.go index aaa58f2..8b00c7d 100644 --- a/service/plc.go +++ b/service/plc.go @@ -116,12 +116,6 @@ var ( ipAddr string ) - - if plcConfig.CurrentTryTimes > plcConfig.MaxTryTimes { - logx.Errorf("plc write try time beyond max try times, err: %v", plcConfig.CurrentErr) - return plcConfig.CurrentErr - } - plcConfig.CurrentTryTimes++ if plcConfig.Method == constvar.PlcMethodModbusTCP { ipAddr = fmt.Sprintf("%s:%v", plcConfig.Address, plcConfig.Port) //conn, err := plc.GetModbusConnection(ipAddr) @@ -135,8 +129,7 @@ err = modbusx.Write(ipAddr, uint16(address), value) if err != nil { logx.Errorf("plc write failed, address: %v, value: %v, err: %v", address, value, err.Error()) - plcConfig.CurrentErr = err - return PlcWriteDirect(plcConfig, address, value) + return err } logx.Infof("plc write ok, address: %v, value: %v", address, value) } else if plcConfig.Method == constvar.PlcMethodSerial { @@ -154,12 +147,6 @@ var ( ipAddr string ) - - if plcConfig.CurrentTryTimes > plcConfig.MaxTryTimes { - logx.Errorf("plc read try time beyond max try times, err: %v", plcConfig.CurrentErr) - return nil, plcConfig.CurrentErr - } - plcConfig.CurrentTryTimes++ if plcConfig.Method == constvar.PlcMethodModbusTCP { ipAddr = fmt.Sprintf("%s:%v", plcConfig.Address, plcConfig.Port) //conn, err := plc.GetModbusConnection(ipAddr) @@ -170,8 +157,7 @@ //value, err := plc.ReadHoldingRegister(conn, address, dataLength) value, err := modbusx.Read(ipAddr, uint16(address), uint16(dataLength)) if err != nil { - plcConfig.CurrentErr = err - return PlcReadDirect(plcConfig, address, dataLength, valueType) + return nil, err } switch valueType { case constvar.PlcStartAddressValueTypeString: -- Gitblit v1.8.0