zhangqian
2023-11-07 c84a97df024e2a1fbbb6d50a7bcb4b2e2a0838b8
plc结果支持int32解析
2个文件已修改
14 ■■■■ 已修改文件
constvar/const.go 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/plc.go 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
constvar/const.go
@@ -21,7 +21,8 @@
const (
    PlcStartAddressValueTypeString PlcStartAddressValueType = "string"
    PlcStartAddressValueTypeInt    PlcStartAddressValueType = "int"
    PlcStartAddressValueTypeInt16  PlcStartAddressValueType = "int16"
    PlcStartAddressValueTypeInt32  PlcStartAddressValueType = "int32"
)
const (
service/plc.go
@@ -100,7 +100,16 @@
        switch valueType {
        case constvar.PlcStartAddressValueTypeString:
            return string(value), nil
        case constvar.PlcStartAddressValueTypeInt:
        case constvar.PlcStartAddressValueTypeInt32:
            if len(value) == 2 {
                val = binary.BigEndian.Uint16(value)
            } else if len(value) == 4 {
                val = binary.BigEndian.Uint32(value)
            } 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))
            }
        default:
            if len(value) == 2 {
                val = binary.BigEndian.Uint16(value)
            } else if len(value) == 4 {