From adc5f83146f898cd2743313e619fff47141799f7 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期一, 28 八月 2023 10:46:25 +0800
Subject: [PATCH] 去掉获取工艺参数重试,增加plc写入失败重试
---
pkg/plc/plc4x.go | 4 ++--
api/v1/task.go | 17 +++++------------
2 files changed, 7 insertions(+), 14 deletions(-)
diff --git a/api/v1/task.go b/api/v1/task.go
index 7514b80..83c199e 100644
--- a/api/v1/task.go
+++ b/api/v1/task.go
@@ -267,29 +267,22 @@
}
logx.Info("----------------寮�濮嬩笅鍙戝伐鑹哄弬鏁�-----------------")
- var missNumbers int
+ var failedNumbers int
for k, v := range paramsMap {
if address, ok := plc_address.Get(k); ok {
result, err := plc.WriteHoldingRegister(conn, address, v)
if err != nil {
- logx.Errorf("WriteHoldingRegister err:%v, address: %v, key: %v value: %v", err.Error(), address, k, v)
+ failedNumbers++
+ logx.Errorf("plc write err:%v, address: %v, key: %v value: %v", err.Error(), address, k, v)
} else {
delete(paramsMap, k)
- logx.Infof("WriteHoldingRegister ok: key: %v, value: %v, result: %v", k, v, result)
+ logx.Infof("plc write ok: key: %v, value: %v, result: %v", k, v, result)
}
} else {
logx.Errorf("miss param address, k:%v, v:%v", k, v)
- missNumbers++
}
}
- if missNumbers >= 1 {
- caller := nsq.NewCaller(fmt.Sprintf(constvar.NsqTopicGetPlcAddress, conf.Conf.NsqConf.NodeId), fmt.Sprintf(constvar.NsqTopicSendPlcAddress, conf.Conf.NsqConf.NodeId))
- var addressResult common.ResponsePlcAddress
- err := caller.Call(common.RequestPlcAddress{DeviceId: conf.Conf.System.DeviceId}, &addressResult, time.Second*2)
- if err != nil {
- logx.Infof("SendParams2 err: %v", err.Error())
- return err
- }
+ if failedNumbers >= 1 { //鍐欏叆plc澶辫触, 閲嶈瘯
tryTimes++
return SendParams(paramsMap, tryTimes)
}
diff --git a/pkg/plc/plc4x.go b/pkg/plc/plc4x.go
index d38ac67..0c1812b 100644
--- a/pkg/plc/plc4x.go
+++ b/pkg/plc/plc4x.go
@@ -46,8 +46,8 @@
return conn, nil
}
}
- // 鍒涘缓涓�涓笂涓嬫枃锛屽苟璁剧疆 5 绉掕秴鏃�
- ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
+ // 鍒涘缓涓�涓笂涓嬫枃锛屽苟璁剧疆 3 绉掕秴鏃�
+ ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)
defer cancel()
conn, err := NewGetModbusConnection(ctx, ipAddr)
if err != nil {
--
Gitblit v1.8.0