RS485接口
CPU模块提供两个标准的RS485串口与其他外部设备通讯。串口定义如下图:
软件配置
MODBUS RTU从站:
CPU集成的两个标准RS485接口,可以作为MODBUS RTU从站与触摸屏等主站设备通信,此时协议选MODBUS RTU,如下图所示:
CPU内寄存器MODBUS通信地址对应表
分类前缀 | 测点类型 | 读操作功能码 | 写操作功能码 | 规约地址范围 |
0x | Q | 01 | 05 / 15 | 00000~02047 |
M | 01 | 05 / 15 | 10000~26383 | |
N | 01 | 05 / 15 | 30000~34095 | |
1x | I | 02 | 00000~02047 | |
S | 02 | 10000~14095 | ||
3x | IW | 04 | 00000~00511 | |
SW | 04 | 05000~09095 | ||
事件 | 04 | 10000~16173 | ||
4x | MW | 03 | 06 / 16 | 00000~16383 |
QW | 03 | 06 / 16 | 20000~20511 | |
NW | 03 | 06 / 16 | 21000~25095 | |
Clock | 03 | 16 | 30000~30004 | |
Clock | 03 | 06/ 16 | 19990~19996 | |
V | 03 | 06 / 16 | 31000~47383 |
MODBUS RTU主站:
CPU集成的两个标准RS485接口,可以作为MODBUS RTU主站读取变频器、智能仪表等设备的数据,此时协议选自由口,如下图所示:
功能描述
该功能模块用于实现标准 MODBUS 主站规约的数据读写功能,自动对 MODBUS 规约信文进行解析,CRC 校验核对和数据长度核对,用户只要填写数据读写地址及功能码即可完成简单的通信功能。功能块的调用需要定时触发,定时时间间隔即为数据读写的周期,最 小周期不能小于 50ms,通信过程中根据从站数据响应时间适当调整通讯时间间隔,否则有可能出现数据读取错误或者读取不到的现象。
通讯状态指示:
SW21(COM1 发送状态)、SW23(COM2 发送状态)
0:正在发送
1:发送成功
2:发送失败
SW22(COM1 接收状态)、SW24(COM2 接收状态)
0:正在接收
1:成功接收
2:串口故障
3:接收超时
4:字符间隔过长
5:超过信文最大字符数
7:返回信文不正确
8:请求信文不正确
9:检验出错
图标调用
在 LD 中的表示形式:
在 FBD 中的表示形式:
![]() |
在 IL 中的表示形式:
CAL MODRW (PORT:=Port, ADR:=Address, CODE:=Code, R:=Register, N:=Number, DATA:=Data)
在 ST 中的表示形式:
MODRW (PORT:=Port, ADR:=Address, CODE:=Code, R:=Register, N:=Number, DATA:=Data);
参数说明
例:
说明:上例表示每秒钟用 CPU 的串口 1 从地址为 1 的从站,用 03 功能码读取从 0 开始的连续 30 个寄存器的数据,读到的数据存储在%MW100 开始的连续 30 个字寄存器里。