简介
SAMRT200 PLC 是一款针对中国市场的新型小型 PLC,具有较强的实用性和性价比。其联网通讯和下载功能非常方便,Modbus RTU 协议作为一种通用协议,在很多用户与第三方设备进行通讯时都会用到。本文将分享本人在工程实践中积累的一些心得体会,希望能帮助大家顺利实现 SAMRT200 PLC 的 Modbus RTU 通讯。准备工作
在进行 Modbus RTU 通讯之前,需要做好以下准备工作: 1. 安装 Modbus RTU 通信模块:SAMRT200 PLC 需要安装专用的 Modbus RTU 通信模块才能实现 Modbus RTU 通讯。 2. 配置 PLC 通讯参数:在 PLC 程序中配置通讯参数,包括串口号、波特率、校验位等。 3. 配置第三方设备通讯参数:根据第三方设备的通讯要求配置其串口号、波特率、校验位等参数。Modbus RTU通讯原理
Modbus RTU 通讯是一种主从模式的通讯协议,其中一个设备为主站,其他设备为从站。主站向从站发送请求报文,从站收到请求报文后进行数据处理并返回响应报文。 Modbus RTU 报文包含以下字段: | 字段 | 长度 | 描述 | |---|---|---| | 起始符 | 1 字节 | ASCII 码 0x01 | | 设备地址 | 1 字节 | 从站地址 | | 功能码 | 1 字节 | 指明要执行的操作 | | 数据 | 可变长度 | 传输的数据 | | CRC 校验 | 2 字节 | 校验报文的正确性 |SAMRT200 PLC Modbus RTU 通讯设置
读取寄存器 读取寄存器使用功能码 0x03。报文格式如下: ``` 起始符 (0x01) + 设备地址 + 功能码 (0x03) + 起始寄存器地址 (2 字节) + 读取寄存器数量 (2 字节) + CRC 校验 ``` 例如:读取寄存器地址为 0x0000 的 10 个寄存器,设备地址为 1,报文如下: ``` 0x01 0x01 0x03 0x00 0x00 0x00 0x0A 0x10 0x4B ``` 写入寄存器 写入寄存器使用功能码 0x10。报文格式如下: ``` 起始符 (0x01) + 设备地址 + 功能码 (0x10) + 起始寄存器地址 (2 字节) + 数据长度 (1 字节) + 数据 (可变长度) + CRC 校验 ``` 例如:写入寄存器地址为 0x0000 的值为 100,设备地址为 1,报文如下: ``` 0x01 0x01 0x10 0x00 0x00 0x020x64 0x00 0x3D 0xC3 ``` 其他功能码 除了读取和写入寄存器外,Modbus RTU 协议还有其他功能码,例如: | 功能码 | 描述 | |---|---| | 0x01 | 读线圈状态 | | 0x02 | 读取输入状态 | | 0x05 | 写入单个线圈 | | 0x06 | 写入单个保持寄存器 | | 0x07 | 读取异常状态 | | 0x08 | 诊断 | | 0x17 | 读文件记录 | 更多详细信息请参考 Modbus RTU 协议规范。常见问题
通讯失败 检查通讯参数是否正确配置。 检查串口线是否连接正确。 检查发送和接收的报文是否正确。 返回异常报文 检查设备地址是否正确。 检查功能码是否正确。 检查数据是否正确。总结
SAMRT200 PLC Modbus RTU 通讯设置较为简单,只需按照本文介绍的方法配置参数并发送报文即可实现通讯。通过掌握 Modbus RTU 协议的基本原理和 SAMRT200 PLC 通讯设置的要点,用户可以轻松实现 SAMRT200 PLC 与第三方设备的 Modbus RTU 通讯。本文原创来源:电气TV网,欢迎收藏本网址,收藏不迷路哦!
添加新评论