简单介绍一下Modbus的使用方法。
第一:寄存器类型
输入状态【一般对应数字量输入,DI,只读不可写,1x,对应小米网关B1X】。
线圈状态【一般对应数字量输出,DO,可读写,0x,对应小米网关B0X】。
输入类型寄存器【一般对应模拟量输入,AI,只读不可写,3x,对应小米网关W3X】。
保持寄存器【一般对应模拟量输入,AO,可读写,4x,对应小米网关W4X】。
在小米网关中,B0X、B1X 中的B 是指位,W3X、W4X 中的W 是指字。
支持Modbus协议的标准PLC一般使用1x、0x、3x、4x来表示寄存器类型。非标准厂家会用40001代表4x类型寄存器,30001代表3x类型寄存器,10001代表1x类型寄存器,00001代表0x类型寄存器。
二:注册地址
在Modbus协议中,寄存器地址是从0开始的,小米网关的地址也是从0开始的,有的厂家会用1作为起始地址(实际协议是0),所以会出现40001对应小米W4X0,常用的MODSCAN是从1开始的。
第三:比较MODSCAN
线圈
对应的小米网关为B0X0。
输入状态
对应的小米网关为B1X0。
持有登记册
对应的小米网关为W4X0。
输入寄存器
对应的小米网关为W3X0。
对应的小米网关是W3X10。
第四:32位长整型和32位单精度浮点字节顺序以及读取寄存器和写入功能码的个数。由于各个厂家对MODBUS协议的理解不同,32位数据中的字节顺序存在差异。 Mai网关需要在端口属性设备参数中设置。
有些厂家限制读取寄存器的数量,也可以在这里设置。
同样,有些厂家编写的功能码支持单一功能码,也可以在这里设置。
第五:PLC 16位寄存器转换为单精度浮点
例如,如果需要将4-20mA信号转换为带小数点的值,则在小米网关中,需要选择单精度浮点,并选择码值转换。
如果有负数,则码值转换选择为1
一般情况下,将数据进行线性转换,比如缩小100倍,在范围转换中选择函数转换,将k填充为0.01。
范围转换也适用于其他通信协议。
更多介绍:
本文采摘于网络,不代表本站立场,转载联系作者并注明出处:https://www.iotsj.com//kuaixun/3921.html
用户评论
哇,Modbus协议终于搞懂了,这篇文章太实用了!
有15位网友表示赞同!
终于找到一篇靠谱的Modbus协议介绍了!
有18位网友表示赞同!
感觉这篇文章把Modbus协议讲得特别清楚,超实用!
有5位网友表示赞同!
Modbus协议的入门必备文章,推荐收藏!
有8位网友表示赞同!
这篇文章简直是Modbus协议的“救星”!
有6位网友表示赞同!
以前对Modbus协议一知半解,现在终于明白了!
有15位网友表示赞同!
好文章!终于能用Modbus协议来控制设备了!
有9位网友表示赞同!
Modbus协议原来这么简单,感谢作者的分享!
有11位网友表示赞同!
看完这篇文章,感觉对Modbus协议的理解更深入了!
有11位网友表示赞同!
Modbus协议入门必备,强烈推荐!
有5位网友表示赞同!
以前一直想学Modbus协议,现在终于找到了一篇好文章!
有6位网友表示赞同!
太感谢了!这篇文章让我对Modbus协议的理解更清晰了!
有7位网友表示赞同!
Modbus协议的应用场景真多,学完这篇文章感觉打开了新世界的大门!
有18位网友表示赞同!
这篇文章内容丰富,而且通俗易懂,非常实用!
有19位网友表示赞同!
看完这篇文章,对Modbus协议有了全新的认识!
有14位网友表示赞同!
文章很详细,学习Modbus协议必看!
有16位网友表示赞同!
感谢作者的分享,这篇文章让我对Modbus协议的应用有了更深的了解!
有8位网友表示赞同!
Modbus协议原来这么强大,这篇文章太棒了!
有18位网友表示赞同!
文章讲解清晰,案例也很实用,值得推荐!
有12位网友表示赞同!
这篇文章让我对Modbus协议的理解更全面了!
有16位网友表示赞同!