10分钟掌握modbus485通讯协议一招区分dtu rtu

发布时间 : 星期日 文章10分钟掌握modbus485通讯协议一招区分dtu rtu更新完毕开始阅读

10分钟掌握modbus485通讯协议一招区分dturtu

听语音

? ? ?

浏览:4008 |

更新:2017-06-10 11:25

? 1

? 2

? 3

? 4

分步阅读

modbus是很常见的现场总线,但是纵观其他modbus的介绍,即使是入门教程,也是又臭又长的,既然是入门,最好不要讲数据位,校验位停止位adupdu等词汇,说这些没意思,除了给自己营造高级感外,对读者没有任何帮助

下面来说什么是modbus 协议,modbus和串口有什么区别

工具/原料 ?

modscan32

?

usb转串口 两只

方法/步骤 1. 1

估计能搜索到这篇经验的,都了解串口通信了,串口是数据透传接口,一般使用串口调试软件的默认 8n11模式就可以,高能的来了:第一点:modbus就是一次用串口连续发多个字节!!!!!就这么简单!!!!

如果想在深入一些,那我再告诉你,第二点:连续发出的多个字节是按顺序排好的就可以了

如果想要完成一个双向通信,那你还要再了解一点就是第三点:发多少个字节?字节顺序如何排列?

本篇只讲主站读,子站发,看明白之后,再点击我的用户名,查看主站写,子站接的经验

2. 2

先说一下DTU RTU区别:modbusdtu是数字数据传输协议,gsm ,gps可以用,但是如果需要采集模拟量,比如我要询问gsm设备的电池电压,那就要用rtu,,他可以采集模拟量信息,其实对于自己做产品,你都用rtu也可以。也就是说就这点儿区别

3. 3

知道了dturtu的区别,可以尝试分析和编写通信协议了,不需要了解太多,你只需要知道上面提到的第三点就可以了!

先说第三点,从机应该发多少数据给主机?答案是:主机请求N个寄存器,从站就发2N个字节(特别注意,一个寄存器是16位的,而且这个数据长度是不算报文头,不算crc,不算功能码的,下面有图说明)下面看一下真实的通信情况此处主机请求一个寄存器,主机发出10 03 00 00 00 02 c7 4a 注意数据高位在前,crc是低位在前

4. 4

这是一条完整的从机正常相应命令 返回一个寄存器的数据

5. 5

好了,通信协议,就这样的,你可以使用modscan和usb转串口设备测试一下

modscan设置如下

6. 6

现在开始实测一下,先确定电脑至少有两个串口,一个串口作为modscan的发送,一个串口用串口调试助手发数据 波特率都一样就可以,其他默认

然后modscan 点击连接后,自动下发数据

串口调试软件,收到数据后,点一下发送就可以了,可以观看到modscan已经成功收到并显示数据了

END

经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。

联系合同范文客服:xxxxx#qq.com(#替换为@)