1. 项目概述与硬件配置
在工业自动化控制系统中,PLC与变频器的通讯是实现电机精准控制的关键环节。本项目采用三菱FX3U系列PLC通过485总线与三菱E740变频器建立Modbus RTU通讯,实现电机启停、频率调节、运行参数监控等核心功能。系统架构包含三个主要组成部分:
- 控制核心:三菱FX3U PLC(型号FX3U-32MT/ES-A)搭配FX3U-485BD通讯扩展板,提供Modbus RTU主站功能
- 执行单元:三菱FR-E740系列变频器(支持Modbus RTU从站协议,站号默认为1)
- 人机界面:昆仑通态TPC7062KX触摸屏或威纶通MT8071iE,用于参数设置和状态显示
硬件连接示意图如下:
code复制[PLC]FX3U-485BD(RDA/RDB/SDA/SDB/GND)
⇅ 双绞线屏蔽电缆(终端电阻120Ω)
[变频器]FR-E740(RJ45端口:SDA/SDB/RDA/RDB)
2. Modbus RTU通讯协议解析
2.1 三菱变频器寄存器映射表
E740变频器采用标准Modbus寄存器地址映射,关键操作地址如下:
| 功能描述 | 寄存器地址 | 访问类型 | 数据格式 | 备注 |
|---|---|---|---|---|
| 运行指令 | 0x2000 | 读/写 | 16位无符号 | 位0:启动/停止(1/0) |
| 频率设定值 | 0x2001 | 写 | 16位无符号 | 单位0.01Hz(500=5.00Hz) |
| 输出频率监测 | 0x2103 | 读 | 16位无符号 | 实际运行频率 |
| 输出电流监测 | 0x2104 | 读 | 16位无符号 | 单位0.01A |
| 加速时间设定 | 0x2002 | 写 | 16位无符号 | 单位0.1秒(50=5.0秒) |
| 减速时间设定 | 0x2003 | 写 | 16位无符号 | 单位0.1秒(30=3.0秒) |
2.2 通讯帧格式示例
读取输出频率(功能码0x03):
code复制主站请求:01 03 21 03 00 01 CRC16
从站响应:01 03 02 01 F4 CRC16
(解析:0x01F4=500→5.00Hz)
写入运行指令(功能码0x06):
code复制主站启动命令:01 06 20 00 00 01 CRC16
从站响应:01 06 20 00 00 01 CRC16
3. PLC程序实现详解
3.1 通讯初始化设置
在GX Works2中配置FX3U-485BD模块参数:
ladder复制// 特殊寄存器设置
MOV K2 D8120 // 通讯格式:9600bps,8,N,1
// 位定义:b0=1(无校验),b3=0(1停止位)
// b7-b4=0100(9600bps)
MOV K1 D8121 // 站号设置(主站设为1)
MOV H0C96 D8129 // 超时设置:3300ms
3.2 功能块程序设计
3.2.1 频率设定程序
ladder复制LD M100 // 频率修改触发信号
MOV D100 D112 // D100=设定频率(0.01Hz单位)
RS D110 K8 D120 K0 // 发送Modbus指令
// D110-D117: 发送缓冲区
// 帧内容:01 06 20 01 D100高字节 D100低字节 CRC
3.2.2 运行状态监测
ladder复制LD M8000 // 常ON触点
RS D200 K8 D210 K6 // 周期性读取状态
// 请求帧:01 03 21 03 00 02 CRC
// 响应解析:
// D210: 站号
// D211: 功能码
// D212: 字节数
// D213: 频率高字节
// D214: 频率低字节
// D215: 电流高字节
// D216: 电流低字节
3.3 错误处理机制
ladder复制LD M8123 // 接收完成标志
AND<> D211 K3 // 检查功能码异常
MOVP K4 M1000 // 置位通讯错误标志
LD M8129 // 超时标志
MOVP K5 M1000 // 置位超时错误标志
4. 触摸屏界面设计要点
4.1 昆仑通态TPC7062KX配置
- 设备窗口添加FX3U驱动和Modbus RTU驱动
- 变量连接建立关键数据点:
- 频率设定:RW类型,地址对应PLC的D100
- 实际频率:R类型,地址对应D213-D214
- 运行状态:B类型,地址对应M0
4.2 威纶通MT8071iE配置
xml复制<HMI>
<Tag Name="Set_Freq" Type="INT" Address="D100"/>
<Tag Name="Actual_Freq" Type="INT" Address="D213"/>
<Element Type="NumericDisplay" Tag="Actual_Freq" Format="0.00Hz"/>
<Element Type="Slider" Tag="Set_Freq" Min="0" Max="5000"/>
</HMI>
5. 调试经验与故障排查
5.1 典型问题解决方案
| 故障现象 | 可能原因 | 解决方法 |
|---|---|---|
| 通讯超时 | 波特率不匹配 | 检查D8120设置与变频器参数 |
| CRC校验错误 | 线路干扰或接线错误 | 使用屏蔽双绞线,加终端电阻 |
| 变频器无响应 | 站号设置错误 | 确认PLC和变频器站号一致 |
| 数据读写异常 | 寄存器地址映射错误 | 核对变频器手册寄存器表 |
5.2 关键调试技巧
-
信号质量检测:
- 使用示波器测量485差分信号(SDA-SDB)
- 正常波形应为规整的方波,峰峰值2-5V
-
通讯测试工具:
python复制import serial ser = serial.Serial('COM3', 9600, timeout=1) # 读取频率指令 cmd = bytes.fromhex('01 03 21 03 00 01 A5 C3') ser.write(cmd) print(ser.read(7).hex()) -
参数优化建议:
- 在变频器Pr.117-Pr.124设置Modbus参数
- 调整Pr.340通讯等待时间为50ms(避免响应超时)
6. 系统扩展与优化
6.1 多变频器控制方案
通过修改站号实现1:N控制:
ladder复制LD X001 // 站号切换触发
MOV K2 D8121 // 将站号改为2
RS D300 K8 D310 K0 // 发送到2号变频器
6.2 通讯效率优化
-
批量读取技术:
ladder复制// 单次读取多个参数 MOV H2103 D400 // 起始地址 MOV H0004 D401 // 读取4个字 RS D410 K8 D420 K0 -
轮询策略优化:
- 关键参数(频率、电流)100ms轮询
- 非关键参数(温度、电压)1s轮询
在实际项目中验证,这套系统可实现±0.1Hz的频率控制精度,平均响应时间小于200ms。通过增加信号隔离器(如ADAM-4520)可进一步提升工业环境下的通讯可靠性。
