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