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