1、接口及协议
通信接口:RS485
数据位:8个
奇偶校验位:无
停止位:1个
波特率:9600
输出编码格式:ModbusRTU
2、设备组态
添加新设备(PLC)->设备和网络管理->点击PLC->看到硬件目录选择通信板->点到点->CB1241(RS485)->看到6ES7241-1CH30-1XB0选择添加,如图
3、程序块中编程
在通信->通信处理模块->MODBUS(选择不带RTU的通信指令块)
执行Modbus_Comm_Load以对ModbusRTU协议的端口进行组态
REQ:首次启动的脉冲信号 M1.0
PORT:组态后的硬件标识符 270 对应自己组态后自动生成的
BAUD:9600 波特率对应自己使用的
MB_BD:调用数据块用的 对应MB_SLAVE自动创建额背景DB块%DB5
DONE:0:事务未完成
1:事务完成,且无任何错误
ERROR:0–未检测到错误
MB_ADDR:站号1~255
MB_HOLD_REG:指向Modbus保持寄存器数据块的指针 我这里指向了自定义的DB块数据中一个INT数组
在线后可看到加载正常,可以使用调试助手模拟主站对从站进行读写操作
串口助手报文读写操作
注意:接线时,TRA接485调试模块的B- TRB接调试模块的A+