恭喜,你发布的帖子
发布于 2022-12-21 21:19:39
14楼
你好,楼主。
PLC通过Modbus与仪表或变频器通讯时,确实存在读到寄存器(Word)的值处于0~65535(数据类型为Uint)或者-32768~32767(Int)的情况。比如说PLC与某国产变频器进行Modbus通讯,读到400023(最大工作频率)的值为5000,此时,我们需要将读到的值除以100后得到实际值50.00Hz;再比如说,读到400007(额定电流)的值为420,我们除以10后得到额定电流为42.0A。具体缩放倍数需要查看相应的说明书。
Modbus通讯,字寄存器的最大值就是0~65535或-32768~32767。如果是前者取值范围(无符号整型),不能用编程软件自带指令I_DI、DI_R去转换计算(自带的均为有符号整型转换,转换后会出现负数的情况),需要用到无符号数据类型进行转换,才不会出现转换异常的情况,详见下面链接;当然如果是后者的取值范围,则不存在转换异常的情况。楼主想要的值超过了这个范围,可能是楼主把缩放倍数搞错了,有的值是缩小10倍,有的是缩小100倍,详见说明书。
链接:
请填写推广理由:
分享
只看
楼主