From 2df84cdc7faf29cc8a2512b627a36a3881276b9f Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期四, 26 十月 2023 16:29:15 +0800 Subject: [PATCH] plc4x读写加入长度 --- service/plc.go | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/service/plc.go b/service/plc.go index 1d9d5e9..01b95a5 100644 --- a/service/plc.go +++ b/service/plc.go @@ -97,13 +97,15 @@ if len(value) == 2 { val = binary.BigEndian.Uint16(value) } else if len(value) == 4 { - val = binary.BigEndian.Uint32(value) + low16Val := uint32(binary.BigEndian.Uint16(value[:2])) + high16 := uint32(binary.BigEndian.Uint16(value[2:])) << 16 + val = low16Val + high16 } else { logx.Errorf("plc read get an unknown int value: %v, address:%v", value, address) return nil, errors.New(fmt.Sprintf("unknown int value锛�%v", value)) } } - logx.Infof("plc read ok, address: %v, result: %v", address, val) + logx.Infof("plc read ok, address: %v, result: %v, dataLength: %v, valueLength: %v", address, val, dataLength, len(value)) return val, nil } else if plcConfig.Method == constvar.PlcMethodSerial { ipAddr = conf.Conf.Services.Serial -- Gitblit v1.8.0