From 06cff5f59c72d36b745515d98b9e645e92bb91a3 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期三, 23 八月 2023 20:14:23 +0800 Subject: [PATCH] 修改获取工艺参数等待超时,修改生产进度返回值参数 --- api/v1/plc.go | 13 +++++-------- 1 files changed, 5 insertions(+), 8 deletions(-) diff --git a/api/v1/plc.go b/api/v1/plc.go index 0d91e0e..3f8238d 100644 --- a/api/v1/plc.go +++ b/api/v1/plc.go @@ -9,7 +9,8 @@ "apsClient/pkg/logx" "apsClient/pkg/plc" "apsClient/service" - "encoding/json" + "encoding/binary" + "fmt" "github.com/gin-gonic/gin" ) @@ -44,7 +45,7 @@ valueType = pc.Type dataLength = pc.Length } - ipAddr = plcConfig.Address + ipAddr = fmt.Sprintf("%s:%v", plcConfig.Address, plcConfig.Port) } resp := new(response.ProductProgress) @@ -54,15 +55,12 @@ return } conn, err := plc.NewModbusConnection(ipAddr) - if conn != nil { - defer conn.Close() - } - if err != nil { ctx.OkWithDetailed(resp) logx.Errorf("GetProductProgress 杩炴帴plc澶辫触: %v", err.Error()) return } + defer conn.Close() rawData, err := plc.ReadHoldingRegister(conn, startAddress, dataLength) if err != nil { @@ -70,8 +68,7 @@ logx.Errorf("GetProductProgress 鑾峰彇plc鏁版嵁澶辫触: %v", err.Error()) return } - var finishNumber interface{} - err = json.Unmarshal(rawData, &finishNumber) + resp.FinishNumber = int(binary.BigEndian.Uint16(rawData)) if err != nil { ctx.OkWithDetailed(resp) logx.Errorf("GetProductProgress 鑾峰彇鐢熶骇杩涘害鏁版嵁瑙f瀽澶辫触: %v, data: %v, valueType:%v", err.Error(), rawData, valueType) -- Gitblit v1.8.0