MODBUS RTU,MODBUS ASCII所用的物理硬件接口都是串行(Serial)通讯(RS232,RS422,RS485)。而MODBUS TCP使用的硬件接口就是以太网(Ethernet)口了,也就是我们电脑上一般用的网络口了。
Modbus通信协议分为MODBUS RTU,MODBUS ASCII和MODBUS TCP三种模式。
项目 | MODBUS RTU | MODBUS TCP | MODBUS ASCII |
物理硬件接口 | 串行(Serial)通讯 | 以太网(Ethernet)口 | 串行(Serial)通讯 |
通信方式 | 靠MODBUS寄存器地址来交换数据 | 靠MODBUS寄存器地址来交换数据 | |
物理接口 | 异步串行传输,一般采用串口RS232C或RS485/422 | 以太网口 | 异步串行传输,一般采用串口RS232C或RS485/422 |
通信方式 | 数据通讯采用Maser/Slave方式 | 数据通讯采用Maser/Slave方式 | |
数据校验 | 16位CRC校验 | 没有额外规定校验 | LRC校验 |
通信数据 | 通过二进制数据方式直接传送数据 | 通过将每字节二进制数据转换为固定两位十六进制字符串,再依次串联在一起,以TCP码形式进行数据传送 |
串口是物理接口分类,一种硬件连接方式,一般来说就是指串行通讯口,常用的有RS485, RS232和RS422
modbus是数据传输协议。
设备地址 | 数据区块 | 描述 | 属性 | R/W | 功能码 |
00001至09999 | 离散输出(线圈) | Coil status | 位变量(布尔) | R/W | 01/05,0F |
10001至19999 | 离散输入(触点) | Input status | 位变量(布尔) | R | 02 |
30001至39999 | 输入寄存器(通常是模拟量输入) | Input register | 16bit整型(无符号2字节整型) | R | 04 |
40001至49999 | 保持寄存器 | Holding register | 16bit整型(无符号2字节整型) | R/W | 01/05,10 |
Modbus RTU数据帧由四部分组成,设备地址,功能码,数据和校验。
设备地址 | 功能码 | 数据 | 校验 |
1个字节 | 1个字节 | 0~252字节 | 2个字节 |
设备地址占1个字节,范围是0~255之间。0是广播地址,1~247是从站设备地址,248~255保留不用。
modbus网关是一种标准的工业通信协议传输网关,也是当下较为常用的连接工业电子设备的方法。Modbus允许通信连接到同一个RS485网络的许多设备之间,进行数据传输。例如在农业大棚中,将传感器采集到的的温度或湿度数据传输到连接Modbus网关的远程控制中心,实时监控数据并及时控制现场状况。
由于modbus网关具有双向透传的功能,因此在大部分串口端与以太网连接的情况下,可直接用modbus网关替代串口服务器实现联网需求。而有些串口服务器带有modbus网关功能,但这个功能只是实现modbus协议传输,并不能直接当modbus网关使用。所以,如果您有项目需要串口数据双向透传,并需要modbus协议转换,可考虑串口服务器或modbus网关;如果除此之外,您还需要将modbus网关作为主机或使用存储功能的话,需要选择modbus网关设备。
modbus 标准的数据请求和接收报文格式:
TX: 01 03 00 00 00 0A C5 CD ==> 地址码1+功能码1+寄存器开始地址2+读取数据长度2+CRC效验2 RX: 01 03 04 00 00 00 00 CRC ==> 地址码1+功能码2+数据长度1+数据内容N+ Crc效验2
分析
每个品牌标配的控制器不同,有的厂家标配遥控,有的厂家标配线控器。消费者们可根据自己的使用场所和需求进行选择。
&ref(): File not found: "ZigBee_体系结构.png" at page "+IoT+Modbus协议";
コメント: