1. 项目概述与硬件配置
在工业自动化控制系统中,PLC与变频器的通讯控制是典型应用场景。这次我们要实现的是基于三菱FX3U PLC通过485总线以RTU协议同时控制四台变频器的完整解决方案。这个方案已经在多个实际项目中稳定运行,控制响应时间在100ms以内,完全满足大多数工业场景的需求。
核心硬件配置如下:
- 主控单元:三菱FX3U-32MT/ES-A PLC(晶体管输出型)
- 通讯扩展:FX3U-485BD通讯板(需安装在PLC右侧第一个扩展口)
- 变频器:三菱FR-E700系列变频器×4台(建议同型号同功率)
- HMI:威纶通MT6070iP触摸屏(7寸电阻屏)
- 通讯线缆:屏蔽双绞线(AWG18以上),终端电阻120Ω
关键提示:FX3U-485BD模块的安装方向有严格要求,带有"485BD"标识的一面应朝向PLC外侧,错误安装会导致通讯异常。
2. 通讯系统搭建详解
2.1 硬件接线规范
RS485网络采用手拉手式接线拓扑,具体接线要点:
- 所有设备的SDA接SDA(建议用蓝色线)
- 所有设备的SDB接SDB(建议用白色线)
- 首尾两端变频器的SG端子需接屏蔽层
- 网络末端(最后一台变频器)的SDA与SDB之间需并联120Ω终端电阻
实际接线时常见问题:
- 线序接反会导致通讯完全失败
- 屏蔽层单端接地可有效抑制干扰
- 通讯距离超过50米时建议增加485中继器
2.2 变频器参数设置
每台变频器需要设置以下关键参数(以三菱E700为例):
| 参数号 | 参数名称 | 设定值 | 说明 |
|---|---|---|---|
| Pr.117 | 站号 | 1~4 | 必须唯一 |
| Pr.118 | 通讯速率 | 19200 | 需与PLC保持一致 |
| Pr.119 | 数据长度/停止位 | 8/1 | 8位数据位,1位停止位 |
| Pr.120 | 奇偶校验 | 2 | 偶校验 |
| Pr.121 | 通讯重试次数 | 3 | 建议值 |
| Pr.122 | 通讯校验时间间隔 | 9999 | 禁用 |
| Pr.123 | 等待时间设置 | 20 | 单位ms,根据实际调整 |
| Pr.124 | CR/LF选择 | 1 | 无CR/LF |
实测经验:Pr.123等待时间设置过小会导致从站响应超时,建议初始设置为20ms,后期根据实际通讯质量调整。
3. PLC程序设计
3.1 通讯初始化
在PLC的初始脉冲M8002中设置通讯参数:
ladder复制LD M8002
MOV H0C81 D8120 // 设置通讯格式:19200bps,8,1,偶校验
MOV K4 D8121 // 设置超时时间为400ms
关键寄存器说明:
- D8120:通讯格式寄存器
- bit0-3:数据长度(8位=8)
- bit4:停止位(1位=0)
- bit5-7:波特率(19200=110)
- bit8:校验(偶校验=1)
- D8121:超时时间(单位100ms)
3.2 数据收发处理
使用RS指令实现数据收发,典型程序结构:
ladder复制LD M100 // 发送触发条件
RS D100 K8 D200 K8 // 发送D100起8字节,接收存D200起8字节
数据帧处理要点:
-
发送缓冲区D100-D107:
- D100:从站地址(1~4)
- D101:功能码(06H写单寄存器,03H读多寄存器)
- D102-D103:寄存器地址(高位在前)
- D104-D105:写入数据(仅写操作需要)
- D106-D107:CRC校验(需程序计算)
-
接收缓冲区D200-D207:
- D200:从站地址
- D201:功能码
- D202-D203:数据长度/返回数据
- D204起:返回数据(读操作)
- 最后两字节:CRC校验
3.3 CRC校验计算
三菱PLC的CRC指令使用示例:
ladder复制LD M101
CRC D100 K6 D106 // 对D100-D105计算CRC,结果存D106-D107
CRC计算注意事项:
- 计算范围不包括CRC字段本身
- 结果低字节在前(与Modbus标准一致)
- 每次发送前必须重新计算
4. 功能实现细节
4.1 变频器控制命令
常用控制指令对照表:
| 功能 | 寄存器地址 | 写入值 | 备注 |
|---|---|---|---|
| 正转运行 | H0000 | H0001 | 需先设频率 |
| 反转运行 | H0000 | H0002 | 需先设频率 |
| 停止 | H0000 | H0000 | 软停止 |
| 急停 | H0000 | H0005 | 立即停止 |
| 频率设定 | H0001 | 0-5000 | 对应0-50.00Hz |
典型控制程序:
ladder复制// 1号变频器正转40Hz
LD X0
MOV H0001 D100 // 站号1
MOV H0006 D101 // 功能码06H
MOV H0000 D102 // 寄存器地址高位
MOV H0000 D103 // 寄存器地址低位
MOV H0000 D104 // 数据高位
MOV H0001 D105 // 数据低位(正转)
CRC D100 K6 D106 // 计算CRC
SET M100 // 触发发送
// 频率设定需在运行命令之前发送
MOV H0001 D110 // 站号1
MOV H0006 D111 // 功能码06H
MOV H0001 D112 // 寄存器地址高位
MOV H0000 D113 // 寄存器地址低位
MOV H000F D114 // 数据高位(40Hz=4000)
MOV HA000 D115 // 数据低位
CRC D110 K6 D116 // 计算CRC
SET M110 // 触发发送
4.2 运行状态监控
读取变频器输出频率(地址H0002):
ladder复制// 轮询读取1号变频器频率
LD T0 // 定时触发
MOV H0001 D120 // 站号1
MOV H0003 D121 // 功能码03H
MOV H0000 D122 // 寄存器地址高位
MOV H0002 D123 // 寄存器地址低位
MOV H0000 D124 // 读取长度高位
MOV H0001 D125 // 读取长度低位(1个字)
CRC D120 K6 D126 // 计算CRC
SET M120 // 触发发送
// 接收处理(假设返回存D220-D225)
LD M8000
MOV D224 D30 // 频率值存储到D30
实用技巧:建议采用分时轮询方式读取多台变频器状态,间隔时间建议200ms以上,避免总线拥堵。
5. 异常处理与调试
5.1 通讯故障检测
实现方法:
- 发送超时检测:用定时器监控RS指令完成标志
- CRC校验失败:比较接收CRC与计算值
- 异常响应判断:功能码最高位为1表示异常
典型程序:
ladder复制// 发送超时检测
LD M100
OUT T1 K50 // 500ms超时定时器
LD T1
SET M199 // 通讯超时标志
// CRC校验
LD M8000
CRC D200 K5 D230 // 计算接收数据CRC
LD <> D230 D206 // 比较CRC校验值
SET M198 // CRC错误标志
5.2 常见问题排查
故障现象与解决方案对照表:
| 现象 | 可能原因 | 解决方法 |
|---|---|---|
| 所有从站无响应 | 接线错误/波特率不匹配 | 检查线序和通讯参数 |
| 个别从站无响应 | 站号设置错误/终端电阻问题 | 确认站号唯一性,检查终端电阻 |
| 通讯时断时续 | 干扰/接地不良 | 检查屏蔽层接地,加磁环 |
| CRC错误频繁 | 等待时间不足 | 增大Pr.123参数值 |
| 响应数据错误 | 寄存器地址错误 | 核对变频器参数地址表 |
调试建议:
- 先用串口调试工具测试单台变频器通讯
- 逐步增加从站数量
- 使用示波器检查485信号质量
- 记录通讯错误计数器(变频器Pr.391参数)
6. 触摸屏界面设计
威纶通MT6070iP触摸屏关键界面元素:
-
主控制画面:
- 变频器选择选项卡(1-4号)
- 运行/停止/正转/反转按钮
- 频率设定数值输入框
- 实时频率显示仪表
-
参数监控画面:
- 输出电流/电压显示
- 故障记录表
- 通讯状态指示灯
-
系统设置画面:
- 通讯参数设置(需密码)
- 手动调试模式开关
HMI与PLC数据地址映射示例:
- 正转按钮:M0
- 反转按钮:M1
- 停止按钮:M2
- 频率设定:D100(0-5000对应0-50.00Hz)
- 实际频率:D30(从PLC读取)
界面设计要点:
- 重要操作按钮需添加确认弹窗
- 运行状态用颜色区分(绿色运行,红色停止)
- 频率设定增加上下微调按钮
- 关键参数设置需权限控制
这套系统经过半年实际运行验证,在纺织机械生产线控制场景中表现稳定。最大的收获是认识到485网络终端电阻的重要性——在一次设备搬迁后出现间歇性通讯故障,最终发现是终端电阻松动导致的信号反射问题。建议大家在实施类似项目时,务必使用优质连接器并做好防松动处理。