FX5U与宇电多路温控模块通讯示例分享
一、硬件配置与通讯协议选择
硬件配置
RS485:通过FX5U的COM口(如COM1)连接宇电模块,使用MODBUS RTU协议。
以太网:若温控模块支持以太网,可通过FX5U的以太网接口直接通讯。
PLC型号:三菱FX5U-32MT/ES(支持以太网和RS485接口)。
温控模块:宇电7048多路PID温度控制器(支持MODBUS RTU/TCP协议)。
通讯方式:
协议选择
MODBUS RTU:适用于串口通讯,需设置波特率(如19200)、数据位(8)、停止位(1)、偶校验。
MODBUS TCP:适用于以太网通讯,需配置IP地址和端口号(默认502)。
二、通讯参数设置(以MODBUS RTU为例)
FX5U参数设置
添加MODBUS RTU协议,选择功能码(如03读取保持寄存器、06写入单个寄存器)。
配置发送/接收数据包格式(如寄存器地址、长度、超时时间)。
在GX Works3中,进入“参数”→“FX5U CPU”→“模块参数”→“串口1”。
设置波特率、数据位、停止位、校验方式,与宇电模块一致。
串口参数:
通讯协议支持功能:
宇电模块参数设置
进入温控器参数设置界面,设置波特率、校验方式等,与FX5U一致。
示例:站号=1,波特率=19200,偶校验,8位数据位,1位停止位。
站号设置:通过温控器面板设置站号(如1-8),确保与FX5U中配置的站号一致。
通讯参数:
三、PLC程序编写与通讯实现
读取温度示例
使用
MODBUS RTU MASTER
指令(如MB_READ_HOLDING
)发送读取请求。将接收到的温度值存储到D寄存器(如D100),供HMI或上位机显示。
读取宇电模块的当前温度值(假设寄存器地址为0000H)。
发送数据包格式:
[站号][功能码][起始地址高字节][起始地址低字节][寄存器数量高字节][寄存器数量低字节][CRC低字节][CRC高字节]
示例(站号=1,读取2个寄存器):
01 03 00 00 00 02 C4 0B
功能码03(读取保持寄存器):
PLC程序逻辑:
写入设定温度示例
使用
MODBUS RTU MASTER
指令(如MB_WRITE_SINGLE
)发送写入请求。将HMI或上位机输入的温度值转换为16位整数后写入寄存器。
向宇电模块写入目标温度值(假设寄存器地址为0001H)。
发送数据包格式:
[站号][功能码][寄存器地址高字节][寄存器地址低字节][写入值高字节][写入值低字节][CRC低字节][CRC高字节]
示例(站号=1,写入温度=50.0℃):
01 06 00 01 00 32 84 0A
功能码06(写入单个寄存器):
PLC程序逻辑:
四、调试与优化
通讯测试
使用串口调试工具(如Modbus Poll)模拟宇电模块,验证FX5U的发送/接收数据是否正确。
检查CRC校验是否通过,确保数据完整性。
故障排查
检查寄存器地址是否正确(宇电模块的寄存器映射表需参考说明书)。
确认数据类型(如温度值是否为16位有符号整数)。
检查接线是否正确(如A/B线是否反接)。
确认站号、波特率等参数是否一致。
问题1:通讯失败(无响应)。
问题2:数据读取错误。
性能优化
轮询周期:根据实际需求调整读取频率(如每500ms读取一次温度)。
数据缓存:在PLC中设置数据缓存区,避免频繁通讯导致性能下降。
五、应用案例
塑料挤出机温度控制
场景:通过FX5U控制4路宇电温控模块,实现挤出机各区温度精确控制。
效果:温度波动≤±1℃,满足生产工艺要求。
热处理炉温度监控
场景:FX5U通过以太网连接8台宇电模块,实现多区温度实时监控与报警。
效果:数据上传至SCADA系统,支持历史曲线查询与报表生成。