1. 项目概述
在工业自动化控制系统中,PLC与变频器的通讯是实现电机精准控制的关键环节。三菱FX3U系列PLC通过485BD通讯扩展板,采用功能块(FB)编程方式与多台三菱E700变频器建立通讯,是一种高效可靠的解决方案。这种架构在风机控制、流水线调速、泵站控制等场景中应用广泛。
我最近在一个食品包装产线改造项目中,就采用了FX3U-48MT/ES-A PLC通过485总线同时控制4台E700变频器驱动输送带电机。相比传统的硬接线控制方式,这种通讯控制方案节省了60%的接线工作量,且参数调整更加灵活。下面将详细介绍实现这一方案的具体方法和注意事项。
2. 硬件配置与接线
2.1 硬件选型要点
PLC选型:必须使用FX3U/FX3S/FX3G系列PLC,且固件版本需在1.1以上。早期版本可能不支持完整的通讯功能块。建议选用FX3U-48MT/ES-A这种带晶体管输出的型号,输出响应更快。
通讯扩展板:必须使用原装FX3U-485BD通讯板。市面上有些兼容板虽然便宜,但在多设备通讯时容易出现数据丢包。485BD板的通讯距离理论可达1200米,但实际应用中建议控制在500米以内。
变频器选型:支持三菱专用协议的E500/E700/D700/S500系列均可。需要注意变频器的功率要与电机匹配,且留有一定余量。例如驱动7.5kW电机时,建议选用E740-7.5K变频器。
2.2 接线规范与注意事项
正确的接线是通讯稳定的基础。485总线应采用屏蔽双绞线,如BELDEN 9841。接线时需注意:
-
终端电阻设置:在总线两端的设备(第一台和最后一台变频器)的RDA-RDB之间需接入120Ω终端电阻,中间设备不接。这能有效抑制信号反射。
-
接地处理:所有设备的SG端子必须可靠连接,且最好单点接地。接地线截面积不小于2.5mm²,接地电阻小于100Ω。
-
极性一致:所有变频器的RDA接PLC的SDA,RDB接SDB,绝对不能接反。我曾遇到因极性接反而导致通讯时好时坏的案例。
-
接线顺序:建议先接好所有线后再上电,避免带电操作损坏接口。接线端子要压接牢固,工业现场振动大容易导致接触不良。
3. 参数配置详解
3.1 变频器参数设置
每台变频器需要设置以下关键参数:
-
Pr.79:设置为2(外部运行模式),这样变频器才能接受PLC的启停和频率指令。
-
Pr.117:站号设置,四台变频器分别设为0、1、2、3。站号不能重复,否则会导致通讯冲突。
-
Pr.118:通讯速率设为96(对应9600bps)。虽然E700支持更高波特率,但FX3U的485BD板在9600bps时最稳定。
-
Pr.119:停止位设为0(1位停止位)。
-
Pr.120:校验方式设为0(无校验)。有些工程师喜欢用偶校验,但在工业现场发现无校验反而更可靠。
-
Pr.121:通讯重试次数,建议设为3。当通讯异常时,变频器会自动重试3次。
-
Pr.122:通讯校验时间间隔,设为9999(不进行通讯校验)。设置校验间隔会导致定期中断运行进行校验,影响控制连续性。
-
Pr.338:通讯速率选择设为0(9600bps),与Pr.118保持一致。
3.2 PLC参数设置
在GX Works2中设置PLC的通讯参数:
-
打开"参数"-"PLC参数"-"PLC系统设置2"
-
通道设置选择"通道1",通讯协议选择"专用通讯协议"
-
数据长度设为"8位",停止位设为"1位",校验设为"无"
-
传输速率设为"9600bps",头码和结束码都设为"无"
-
站号设置保持默认的"00",因为PLC是主站,不需要设置站号
4. 功能块(FB)程序设计
4.1 功能块接口设计
在GX Works2中创建名为"Freq_Control"的功能块,接口定义如下:
输入参数:
Station_No(BYTE):变频器站号(0-3)Run_Stop(BOOL):运行/停止控制Forward_Reverse(BOOL):正转/反转控制Set_Freq(REAL):设定频率(0.0-50.0Hz)
输出参数:
Running_Ind(BOOL):运行状态指示Freq_Reached_Ind(BOOL):频率到达指示Real_Freq(REAL):实际输出频率Real_Current(REAL):输出电流Real_Voltage(REAL):输出电压
内部变量:
Cmd_Buffer(WORD[10]):指令发送缓冲区Rcv_Buffer(WORD[20]):数据接收缓冲区Comm_Status(WORD):通讯状态标志
4.2 核心程序逻辑
功能块内部主要实现以下功能:
- 频率设定:
st复制LD SM400 // 常ON触点
MOVP K5000, D100 // 写入频率设定指令代码5000
MOVP [Set_Freq], D101 // 将设定频率值存入D101
CALL P_SEND_CMD // 调用发送子程序
- 运行控制:
st复制LD [Run_Stop]
AND [Forward_Stop]
MOVP K5001, D100 // 正转指令代码
CALL P_SEND_CMD
LD [Run_Stop]
ANI [Forward_Stop]
MOVP K5002, D100 // 反转指令代码
CALL P_SEND_CMD
- 数据读取:
st复制LD SM412 // 1秒时钟脉冲
MOVP K5010, D100 // 频率读取指令
CALL P_SEND_CMD
RS D200 K10 D210 K20 // 读取返回数据
FLT D210, [Real_Freq] // 转换为实数
4.3 主程序调用示例
在主程序中调用功能块控制四台变频器:
st复制// 变频器1控制
CALL P_Freq_Control1:Freq_Control(
Station_No := K0,
Run_Stop := M10,
Forward_Reverse := M11,
Set_Freq := D10,
Running_Ind => M20,
Freq_Reached_Ind => M21,
Real_Freq => D20,
Real_Current => D21,
Real_Voltage => D22
)
// 变频器2控制
CALL P_Freq_Control2:Freq_Control(
Station_No := K1,
Run_Stop := M12,
Forward_Reverse := M13,
Set_Freq := D11,
Running_Ind => M22,
Freq_Reached_Ind => M23,
Real_Freq => D24,
Real_Current => D25,
Real_Voltage => D26
)
// 类似方式调用变频器3和4
5. 触摸屏界面设计
5.1 画面布局规划
采用GT Designer3设计触摸屏界面,主要包含:
- 主控制画面:
- 四台变频器的独立控制区域
- 每台包含启停按钮、正反转切换开关
- 频率设定数值输入框
- 运行状态指示灯
- 监控画面:
- 实时频率、电流、电压的数值显示
- 运行曲线趋势图
- 报警信息显示区
- 参数设置画面:
- 变频器参数读写界面
- 密码保护功能
5.2 关键元件关联示例
以第一台变频器为例,元件关联如下:
| 元件类型 | 画面元件 | PLC地址 |
|---|---|---|
| 位按钮 | 启动按钮 | M10 |
| 位开关 | 正反转切换 | M11 |
| 数值输入 | 频率设定 | D10 |
| 位指示灯 | 运行指示 | M20 |
| 数值显示 | 实际频率 | D20 |
6. 调试技巧与故障排除
6.1 常见问题及解决方法
- 通讯失败:
- 现象:所有变频器无响应
- 检查:接线极性、终端电阻、波特率设置
- 工具:用万用表测量SDA-SDB间电压,正常应有2-6V波动
- 个别变频器不响应:
- 现象:特定站号的变频器无反应
- 检查:该变频器的站号设置、接线质量
- 方法:单独测试该变频器,确认其通讯功能
- 数据不稳定:
- 现象:读取的数据跳动大
- 检查:接地是否良好、附近有无强干扰源
- 措施:增加磁环滤波器,使用质量更好的屏蔽线
6.2 调试步骤建议
- 先单独测试一台变频器,确认基本通讯正常
- 逐步增加变频器数量,观察系统稳定性
- 使用GX Works2的通讯监控功能,查看实际收发数据
- 长时间运行测试,检查有无通讯中断情况
- 模拟现场干扰,验证系统抗干扰能力
7. 项目优化建议
-
增加心跳检测:在功能块中加入通讯状态检测,当通讯中断时自动报警。
-
参数备份功能:定期将重要参数读取保存到PLC的数据寄存器,防止意外丢失。
-
故障自诊断:当检测到电流异常、过载等情况时,自动降低频率或停机保护。
-
扩展性考虑:FB设计时应预留接口,方便后续增加更多变频器或功能。
在实际应用中,这种基于FB的通讯控制方式比传统的硬接线控制节省了约75%的IO点,布线工作量减少60%,参数调整时间从原来的小时级缩短到分钟级。特别是在需要频繁修改参数的场合,优势更加明显。
