一、Modbus介绍
Modbus是一种通讯协议,主要应用于电子控制器上的一种通用语言。Modbus支持多种电气接口,如RS232、RS485、TCP/IP等。多数Modbus设备通信是通过串口或TCP/IP进行连接。
通常情况下 Modbus是主从架构,即通信节点是Master,其它使用Modbus协议参与通信的是slave节点(最多247个,地址范围为1-247,0节点是广播地址)。每个slave设备都具有一个唯一的地址。总线上只能有一个Master节点。
Modbus传输模式可分为 ASCII和RTU两种模式,同一网络中所有设备必须保持统一,要么是ASCII,要么统一为RTU模式,两者不可共存。相对来说RTU模式传输效率较高,
ASCII模式下,消息以冒号字符开始,以回车换行字符结束。
RTU模式下,消息发送和接收至少间隔3.5字符时间的停顿间隔作为标志。
Modbus寄存器介绍
所有数据都存在寄存器中,寄存器可指物理寄存器,也可是一块内存区域。Modbus根据数据类型及各自读写特性,将寄存器分为了4个部分,分别如下。
Modbus地址、功能码、数据域介绍
Modbus消息帧的地址,在ASCII模式下包含2个字符,在RTU模式下包含1个字符。单个设备地址实际范围是在1-247值之间。0为广播地址、248-255为保留地址。
功能码由1个字节构成,因此取值范围1-255。常用功能码如下:
01:读线圈状态