背景
想要了解Modbus协议是啥。
和Hart协议有啥区别和关系。
所以去整理了一下。
Modbus协议介绍
什么是Modbus
Modbus是一种,串行通信协议。
Modbus协议是应用于电子控制器上的一种通用语言。
Modbus是全球第一个真正用于工业现场的总线协议。
Modbus是用来干啥的
Modbus协议,使得控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。
它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。
举例:
Modbus允许多个设备连接在同一个网络上进行通信。
举个例子,一个由测量温度和湿度的装置,并且将结果发送给计算机。
在数据采集与监视控制系统(SCADA)中,Modbus通常用来连接监控计算机和RTU。
Modbus的历史
Modicon(后被施耐德(电气公司)收购,现为其子品牌)于1979年,为使用可编程逻辑控制器(PLC)而设计的。
Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。
Modbus特点
- 易用
- 稳定
- 开放(open),免费(royalty-free,无授权)
- 只传输元数据->数据之上的打包(成各种其他格式),可以随意->对所谓的使用此协议的vendor(提供商)来说,就是无限制
Modbus协议分类
Modbus是个软件层面的协议,根据此软件协议,在物理上的连接方式不同,可分为:
- Serial Communication串行通讯:
- 又分两类:
- Modbus RTU):紧凑的,二进制数据
- 用的是CRC(循环冗余)校验
- Modbus ASCII:人类可读的,冗长的,普通文本形式的数据
- 用的纵向冗余校验
- 物理上,可以使用RS232,也可以使用RS485。
- 用的最多的是RS485,对应的就是一个Master,多个Slave,一拖多的效果。
- 以太网:通过TCP/IP,叫做:Modbus/TCP
- 不需要(添加)校验(值)
对于所有的这三种通信协议在数据模型和功能调用上都是相同的,只有封装方式是不同的。
Modbus RTU
RTU=Remote Terminal Unit=远程终端单元=一般指的是,被(此处,当前的Master)控制的远程(现场)设备
Modbus RTU,由于其使用起来很方便的特性,使得最后是,广泛用于BMS(Building Management Systems, 建筑管理系统)和IAS(Industrial Automation Systems,工业自动化系统)
MODBUS RTU的消息,只是一个简单的16-bit带CRC的数据。
使得可以被封装到floating point, tables, ASCII text, queues,等等结构中。
Modbus+(MB+)
Modbus 有一个扩展版本 Modbus Plus(Modbus+或者MB+)。
不过此协定是Modicon专有的,和 Modbus不同。它需要一个专门的协处理器来处理类似HDLC的高速令牌旋转。它使用1Mbit/s的双绞线,并且每个节点都有转换隔离装置,是一种采用转换/边缘触发而不是电压/水平触发的装置。
连接Modbus Plus到计算机需要特别的接口,通常是支持ISA(SA85),PCI或者PCMCIA总线的板卡。
Modbus协议架构
- 主从(Master/Slave)结构
- Modbus属于应用层级别的消息协议(an application layer messaging protocol)
- 属于OSI模型中的第七层
总结
Modbus和Hart的对比
Modbus | HART | |
整体架构 | Master/Slave | Master/Slave |
参考资料
4. 互动百科:ModBus
转载请注明:在路上 » 【整理】Modbus协议介绍