免费报名参与9月份上海工博会同期
施耐德电气 绿色+智能制造创新峰会
2019年9月19日
在论坛上写《工控人的前半生》自传体小说和发表主题为“C#编写程序读写西门子PLC”等热帖的工控前辈,今天继续为大家带来针对Modbus协议的科普帖啦。搬好小板凳,开始学习
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如下:
组态王如下:
力控如下:
另外我们有一款TCP转ModbusRTU的转换器,能够将带有Modbus RTU方式的仪表直接与PLC或上位机wincc、组态王、力控等通过ModbusTCP方式通讯,非常方便实用。
来源/中华工控网
往期精彩▼
连载丨工控人的前半生(8):我的编程和研发之路,痛并快乐着!
连载丨工控人的前半生(7):工控人的这个好习惯,总能救自己一把!
连载丨工控人的前半生(6):工控人去欧洲各国走了一圈,我旅行最大的收获是它!
连载丨工控人的前半生(4):这个德国人带我喝了两场酒,把我的剩菜都吃了!
连载丨工控人的前半生(3):在西门子德国工厂工作是怎样一种体验?
某种程度上,工控人之间连接最短的距离,只隔着一个小秘书。关注我,即可获得更多资源和资讯。小秘书将带你畅游更广泛的工业智造新世界!
——资讯小秘书
点“阅读原文”查看更多