【modbus】modbus是否支持双点遥信DPOS

如图1,保持寄存器地址为793,实际上每个比特位都表示不同的物理含义(如图2所示);也就是需要将一个16位保持寄存器按照bit拆分成不同数据点,其中modbus插件提供了 .BIT属性可以支持。但若如图2所示,BIT15和BIT14两个bit组成一个数据点位,这种双BIT组合方式在电力储能行业比较常见,叫做双点遥信DPOS, 如图2所示为固德威逆变器,华为逆变器等都支持这种双BIT组合方式;请问这种方式在neuron的modbus配置中应该如何实现 ?

官方neuron目前不支持,你可以定义一个地址格式,然后对应处理数据。
不做代码更改的话可以使用 ekuiper 组合两个 bit 点位。

1 个赞

若modbus扩展uint8/int8 用于双点遥信,除了个别分支需要增加uint8/int8的case语句意外,仅仅需要在modbus_value_handle函数的uint8/int8 case中对两个 bit进行拼装即可。 这个逻辑可以固化下来a,也无需动态调用ekuiper了。亲测可用