[西门子] 针对Modbus协议的科普

[复制链接]
查看27937 | 回复0 | 2024-1-6 08:14:07 | 显示全部楼层 |阅读模式

MODBUS规约是MODICOM公司开发的一个为很多厂商支持的开放规约, Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。

最主要的是它被很多组态软件所兼容,开发速度较快,受到了很多工控厂商的追捧。但是协议还是有点小麻烦的。

下面主要说一下Modbus协议中的03功能码,即4xxxx,因为03功能码常被用在一些Modbus通讯的仪器仪表上,很多客户的需求就是将仪表的数据与PLC或者上位机(如wincc、组态王等)通过Modbus通讯,实现数据的采集。

那么还有很多不太懂Modbus协议的用户,不知道4xxxx,怎么回事,比如功能码为03,寄存器地址是100,即40100,很多用户在上位机或者PLC中想要读取其数据,就直接定义为40100,比如您用Modbus调试软件,如Modbus Poll,起始地址应该定义为100,而不是40100。



但是像西门子的PLC定义为40101,如:西门子S7-200,在程序里是这样定义的



像一些上位机软件,如winc、组态王、力控等,定义方式又不一样

Wincc如下:



组态王如下:



力控如下:




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则