Modbus是一种串行通讯协议,是Modicon公司于1979年为使用可编程逻辑控制器PLC通讯而发表。Modbus是工业领域通讯协议的业界标准,是工业电子设备之间经常使用的链接方式。Modbus在工业控制领域通讯协议中被普遍使用基于如下几个特色:编程
Modbus协议定义了一个控制器能认识使用的消息结构,而无论它们是通过何种网络进行通讯的。它描述了一控制器请求访问其它设备的过程,若是回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。 服务器
经过此协议,控制器相互之间、或控制器经由网络(如以太网)能够和其它设备之间进行通讯。Modbus协议使用的是主从通信技术,即由主设备主动查询和操做从设备。通常将主控设备方所使用的协议称为Modbus Master,从设备方使用的协议称为Modbus Slave。典型的主设备包括工控机和工业控制器等;典型的从设备如PLC可编程控制器等。Modbus通信物理接口能够选用串口(包括RS23二、RS485和RS422),也能够选择以太网口。其通讯遵循如下的过程:网络
当在一Modbus网络上通讯时,此协议决定了每一个控制器需要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。若是须要回应,控制器将生成反馈信息并用Modbus协议发出。在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。异步
Modbus的工做方式是请求/应答,每次通信都是主站先发送指令,能够是广播,或是向特定从站单播,从站响应指令,并按要求应答,或者报告异常;当主站不发送请求时,从站不会本身发出数据,从站和从站之间不能直接通信。测试
Modbus协议可以应用在不一样类型的总线或者网络。对应不一样的总线或网络,Modbus协议引入一些附加域映射成应用数据单元(ADU),即ADU = 附加域 + PDU。例如:编码
MODBUS 使用一个‘big-Endian’ 表示地址和数据项。这意味着当发射多个字节时,首先发送最高有效位。 例如:
spa
Register size : 16 - bits |
value: 0x1234 |
the first byte sent is :3d 0x12orm |
then:blog 0x34 |
MODBUS 以一系列具备不一样特征表格上的数据模型为基础。四个基本表格为:
有三类Modbus功能码。分别是:
1.公共功能码:
2.用户定义功能码:
3.保留功能码:
4.公共功能码定义以下表所示: