1. 项目概述:三菱FX3U通过FB块实现变频器群控
手里有FX3U PLC和三台台达VFD-E变频器的同行们,今天分享一个硬核实操案例——用功能块(FB)实现Modbus RTU通讯控制。这个方案不仅实现了基础的正反转控制,还能实时读取变频器的运行参数。我在去年一个自动化产线改造项目中实际应用过这套方案,稳定运行至今已超过8000小时。
这个方案的核心价值在于:
- 采用结构化编程,维护扩展更方便
- 一套程序兼容多台变频器控制
- 实时监控关键参数(电流/电压/频率)
- 触摸屏集中监控,操作更直观
2. 硬件配置与接线要点
2.1 硬件清单
- 主控单元:三菱FX3U-32MT/ES-A(建议用MT型号,继电器输出型响应速度不够)
- 通讯模块:FX3U-485-BD(注意是BD板不是ADP模块)
- 变频器:台达VFD-E系列三台(型号建议VFD004E21A,4kW规格)
- HMI:MCGS TPC7062KX(7寸屏,性价比高)
2.2 关键接线规范
-
485总线接线:
- 使用AWG22规格双绞屏蔽线(我用的是Belden 3106A)
- 总线终端接120Ω终端电阻(变频器拨码开关设置)
- 屏蔽层单端接地(接在PLC侧的接地端子)
-
变频器参数设置:
plaintext复制P00=03 // 频率指令源=通讯
P01=01 // 运行命令源=通讯
P112=9 // 波特率9600(对应值9)
P113=08 // 数据位8位
P114=01 // 停止位1位
P115=00 // 无校验
P117=01 // 站号设置(三台分别设1/2/3)
特别注意:参数修改后必须断电重启才能生效,这是台达变频器的特殊要求。
3. PLC程序设计详解
3.1 通讯初始化
assembly复制MOV H0C96 D8120 // 通讯格式设置:
// 0C96H = 1100 1001 0110
// 对应:9600bps/8数据位/无校验/1停止位
MOV K3 D8121 // 超时设置3秒(实测值,兼顾响应和容错)
3.2 FB功能块设计
st复制FUNCTION_BLOCK VFD_Control
VAR_INPUT
StationNo: BYTE; // 站号1-3
RunCmd: BOOL; // TRUE=启动 FALSE=停止
Direction: BOOL; // TRUE=正转 FALSE=反转
Frequency: REAL; // 0.0-50.0Hz
END_VAR
VAR_OUTPUT
Current: REAL; // 输出电流(A)
Voltage: REAL; // 直流母线电压(V)
Status: WORD; // 状态字
END_VAR
VAR
CmdWord: WORD;
FrequencyRaw: INT;
END_VAR
3.3 核心通讯逻辑
- 运行命令构造:
assembly复制MOV StationNo D100 // 站号
MOV H06 D101 // 功能码06
MOV H2000 D102 // 命令寄存器地址
MOV K1 D103 // 正转命令(反转=K2)
CALL RS D100 K8 // 发送8字节指令
- 频率设定转换:
st复制FrequencyRaw := INT(Frequency * 80.0); // 50Hz对应4000(16#0FA0)
MOV FrequencyRaw D104
MOV H06 D105
MOV H1000 D106 // 频率设定地址1000H
CALL RS D100 K8
4. 触摸屏界面设计
MCGS触摸屏的关键配置:
-
变量映射:
- 频率设定:关联PLC的D200-D202(REAL类型)
- 运行命令:关联M0-M5(每台变频器占用2个位)
-
安全防护:
plaintext复制频率输入框属性:
- 最小值:0.0
- 最大值:50.0
- 增量步长:0.5
- 输入超限自动复位
- 状态监控区:
- 电流显示带颜色预警(>额定值90%变黄色)
- 故障状态用闪烁图标提示
5. 调试避坑指南
5.1 典型故障处理
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| 通讯超时 | 波特率设置不一致 | 检查所有设备的P112参数 |
| 数据乱码 | 接线极性反接 | 交换SDA/SDB接线 |
| 偶发通讯中断 | 终端电阻未接 | 末端变频器拨码开关设置 |
5.2 关键注意事项
-
轮询间隔:
- 单台变频器建议300ms间隔
- 三台轮询时总周期控制在1s内
-
数据转换:
st复制// 电流值处理(16位有符号数)
IF Status.13 THEN // 故障位检测
Current := -1.0; // 异常标志
ELSE
Current := INT_TO_REAL(ReceivedData) * 0.1; // 0.1A/bit
END_IF
- 接地规范:
- 所有设备共地
- 接地线径≥2.5mm²
- 接地电阻<4Ω
6. 工程文件说明
完整项目包含:
-
PLC程序:
- 主程序(带详细注释)
- 功能块库(可复用)
- 通讯错误处理子程序
-
MCGS工程:
- 画面组态文件
- 变量定义表
- 报警历史配置
-
技术文档:
- 接线图(CAD格式+PDF)
- 参数设置速查表
- 测试记录模板
这套方案在实际应用中表现稳定,特别是在电机频繁启停的包装产线上,相比传统的I/O控制方式,通讯控制减少了80%的接线工作量。有个细节提醒:变频器的散热风扇方向要检查,我遇到过因为风扇反转导致过热保护的案例。
