modbus通信案例简单介绍

介绍:

1.仪表等其他智能设备的modbus通信协议,确定其内部功能码地址。
以型号U-MIK-P350-SCN2的杭州美控公司的压力变送器为例。查看对应手册20页。
2.PLC端的编程配置。
以西门子s71200为例。

一、如何快速确定智能仪表的MODBUS需要访问的寄存器地址以及具体实现功能读取写入呢?

1.首先解析一下MODBUS RTU协议的报文。

 

帧结构 = 从站设备地址 + 功能吗 + 数据 + 校验

 

  • 地址: 占用一个字节,范围0-255,其中有效范围是1-247,其他有特殊用途,比如255是广播地址(广播地址就是应答所有地址,正常的需要两个设备的地址一样才能进行查询和回复)。
  • 功能码:占用一个字节,功能码的意义就是,知道这个指令是干啥的,比如你可以查询从机的数据,也可以修改数据,所以不同功能码对应不同功能。
  • 数据:根据功能码不同,有不同结构,在后续的实例中有说明。
  • 校验:为了保证数据不错误,增加这个,然后再把前面的数据进行计算看数据是否一致,如果一致,就说明这帧数据是正确的。如果不一样,说明你这个数据在传输的时候出了问题,数据不对的,所以就抛弃了。

2.再了解一下。寄存器地址和功能码

 3.举例说明:

 

 二、PLC端配置 编写程序

 【待补充】

 

 三、关于modbus拓扑结构问题

RS485总线要采用上图手拉手式的总线结构,坚决杜绝星型连接和分叉连接。

 

四、关于线材的选用

通信线缆要选择两芯屏蔽双绞线,线径不低于0.5平方。双绞是因为485通讯采用差模通讯原理,双绞的抗干扰性最好。有些野路子的做法用非屏蔽非双绞线甚至是网线来敷设485通讯线,是极端错误的。

五、关于保障通信质量的几种手段

1、共地法:用1条线或者屏蔽线将所有485设备的GND地连接起来,这样可以避免所有设备之间存在影响通讯的电势差。

2、终端电阻法:在最后一台485设备的485+和485-上并联连接120欧姆的终端电阻来改善通讯质量。

3、如果通讯距离过长,建议如果超过500米就采用中继器或者485HUB来解决问题。如果负载数过多,建议如果一条总线上超过30台就采用485HUB来解决问题

 

未完待续。。。

 

posted @   YYDS123465789  阅读(506)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示