问题解答

针对Modbus协议的详解演示实例

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

针对ModbusTCP/ModbusRTU转换器,下面进行一下Modbus协议的科普,能将带有Modbus RTU方式的仪表直接与PLC或上位机WinCC、组态王、力控等通过ModbusTCP方式通讯,非常方便实用!

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

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

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

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

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

Wincc如下:

组态王如下:

力控如下:

ModbusTCP/ModbusRTU转换器外观如下: