1. 项目概述
在工业自动化控制系统中,PLC与变频器的通讯是实现电机精准控制的关键环节。今天我要分享的是使用三菱FX3U系列PLC通过功能块(FB)方式与多台三菱E700变频器建立通讯的完整解决方案。这个方案不仅实现了对变频器的基本控制,还能实时读取运行参数,特别适合需要集中控制多台电机的应用场景。
这个项目的核心价值在于采用了FB编程方式,使得程序结构清晰、易于维护和扩展。通过标准化的功能块设计,我们可以轻松实现对多台变频器的统一管理,大大提高了开发效率和系统的可维护性。
2. 硬件配置与接线
2.1 硬件选型要点
要实现这个控制系统,我们需要以下硬件组件:
-
PLC主机:三菱FX3U/FX3S/FX3G系列(版本1.1以上)。选择这些型号是因为它们都支持功能块编程,并且具有足够的处理能力来处理多台变频器的通讯任务。
-
通讯扩展板:FX3U-485BD通讯扩展板。这个扩展板提供了RS-485接口,是实现与变频器通讯的关键部件。选择485接口是因为它具有抗干扰能力强、传输距离远(最长1200米)等优点,非常适合工业环境。
-
变频器:三菱E700系列(兼容E500、D700、S500等支持三菱专用协议的变频器)。E700系列变频器具有优秀的调速性能和丰富的通讯功能,是工业应用中的常见选择。
2.2 接线规范与注意事项
正确的接线是保证通讯稳定的基础。以下是详细的接线步骤和注意事项:
-
PLC端接线:
- 将FX3U-485BD扩展板安装在PLC的扩展槽上
- 扩展板上的接线端子包括:SDA(发送数据A)、SDB(发送数据B)、RDA(接收数据A)、RDB(接收数据B)、SG(信号地)
-
变频器端接线:
- 每台变频器的通讯接口通常标记为PU接口
- 接口端子包括:RDA、RDB、SDA、SDB、SG
-
网络连接:
- 采用总线型拓扑结构,将所有变频器并联在485总线上
- 具体接线:
- PLC的SDA连接所有变频器的RDA
- PLC的SDB连接所有变频器的RDB
- PLC的SG连接所有变频器的SG
- 在总线两端(PLC端和最后一台变频器端)各加一个120Ω的终端电阻,以消除信号反射
重要提示:接线时务必确保所有设备的SG(信号地)连接在一起,这是保证通讯稳定的关键。同时,485总线应采用屏蔽双绞线,屏蔽层单端接地(通常在PLC端接地)。
3. 参数配置详解
3.1 变频器参数设置
要使变频器能够通过通讯方式被控制,需要正确设置以下参数:
-
基本运行模式设置:
- Pr.79 = 2(外部运行模式,通过通讯控制)
- Pr.338 = 0(通讯速率选择,0对应9600bps)
-
通讯参数设置:
- Pr.117 = 站号(0~31),例如四台变频器可分别设为0、1、2、3
- Pr.118 = 96(波特率9600bps)
- Pr.119 = 0(停止位1位)
- Pr.120 = 0(无校验)
- Pr.121 = 9999(通讯超时设置,9999表示不检测超时)
-
其他重要参数:
- Pr.1 = 上限频率(如50Hz)
- Pr.2 = 下限频率(如0Hz)
- Pr.7 = 加速时间
- Pr.8 = 减速时间
3.2 PLC参数设置
在GX Works2软件中,需要对PLC进行以下通讯参数配置:
- 打开"参数"→"PLC参数"→"PLC系统设置"
- 设置通讯格式:
- 通讯协议:专用协议(三菱变频器)
- 波特率:9600bps
- 数据位:7位
- 停止位:1位
- 校验:无
- 设置站号:通常PLC作为主站,站号设为0
4. FB功能块设计与实现
4.1 功能块接口设计
在GX Works2中创建一个名为"Freq_Control"的功能块,用于控制单台变频器。功能块的接口设计如下:
-
输入参数:
- Station_No(BYTE):变频器站号(0~31)
- Run_Stop(BOOL):运行/停止控制(ON运行,OFF停止)
- Forward_Reverse(BOOL):正转/反转控制(ON正转,OFF反转)
- Set_Freq(REAL):设定频率(Hz)
-
输出参数:
- Running_Ind(BOOL):运行指示
- Freq_Reached_Ind(BOOL):频率到达指示
- Real_Freq(REAL):实际频率
- Real_Current(REAL):实际电流
- Real_Voltage(REAL):实际电压
4.2 功能块内部逻辑实现
功能块内部主要实现以下功能:
- 频率设定:
st复制LD [Run_Stop]
MOV [Set_Freq], D100 // 将设定频率存入D100
- 运行控制:
st复制LD [Run_Stop]
LD [Forward_Reverse]
MPS
AND = K0, [Station_No]
OUT Y0 // 站号0的正转控制
MPP
AND = K0, [Station_No]
ANI [Forward_Reverse]
OUT Y1 // 站号0的反转控制
- 数据读取:
st复制LD [Station_No] = K0
RS D200 K100 // 读取变频器数据到D200开始的寄存器
FLT D200, [Real_Freq] // 转换为实数格式
4.3 主程序调用示例
在主程序中,通过多次调用功能块实现对多台变频器的控制:
st复制// 控制站号0的变频器
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
)
// 控制站号1的变频器
CALL P_Freq_Control2:Freq_Control(
Station_No := K1,
Run_Stop := M12,
Forward_Reverse := M13,
Set_Freq := D11,
Running_Ind => M23,
Freq_Reached_Ind => M24,
Real_Freq => D23,
Real_Current => D24,
Real_Voltage => D25
)
5. 触摸屏界面设计
5.1 界面布局规划
设计一个直观易用的触摸屏界面,应包括以下区域:
-
控制区:
- 运行/停止按钮
- 正转/反转选择开关
- 频率设定输入框
- 参数读写按钮
-
状态显示区:
- 实时频率显示
- 实时电流显示
- 实时电压显示
- 运行状态指示灯
- 频率到达指示灯
-
多台变频器切换:
- 变频器选择标签页或下拉菜单
- 统一的控制布局,通过切换显示不同变频器的状态
5.2 变量关联技巧
在触摸屏软件(如GT Designer)中,将界面元素与PLC变量关联:
-
按钮类:
- 运行按钮 → M10(对应站号0的Run_Stop)
- 正转按钮 → M11(对应站号0的Forward_Reverse)
-
数值显示/输入:
- 频率设定框 → D10(对应站号0的Set_Freq)
- 实际频率显示 → D20(对应站号0的Real_Freq)
-
指示灯:
- 运行指示灯 → M20(对应站号0的Running_Ind)
- 频率到达灯 → M21(对应站号0的Freq_Reached_Ind)
6. 调试与故障排除
6.1 常见问题及解决方案
在实际调试过程中,可能会遇到以下问题:
-
通讯失败:
- 检查接线是否正确,特别是SDA/RDA、SDB/RDB的对应关系
- 确认所有设备的通讯参数(波特率、数据位、停止位、校验)设置一致
- 检查终端电阻是否已正确接入
-
控制无响应:
- 确认变频器的Pr.79参数已设置为2(外部运行模式)
- 检查PLC程序中的站号设置是否与变频器一致
- 确认Run_Stop等控制信号已正确触发
-
数据读取异常:
- 检查RS指令的寄存器地址是否正确
- 确认数据转换(如FLT指令)使用正确
- 检查变频器参数中相关监控项目是否已启用
6.2 调试技巧分享
根据我的实际经验,以下调试技巧非常有用:
-
分步调试法:
- 先确保单台变频器通讯正常,再接入其他变频器
- 先测试基本控制(运行/停止),再测试频率设定和数据读取
-
监控工具使用:
- 利用GX Works2的"设备监视"功能实时查看寄存器值
- 使用变频器自带的监视器功能确认通讯数据是否正确接收
-
信号追踪:
- 在触摸屏上添加临时调试界面,显示关键信号状态
- 使用PLC的LED指示灯辅助判断输出信号状态
7. 系统扩展与优化
7.1 增加变频器数量
由于采用了FB编程方式,增加变频器数量非常简便:
- 在硬件上,只需将新变频器接入485总线,并设置唯一站号
- 在程序中,复制并修改功能块调用,指定新的站号
- 在触摸屏上,添加对应的控制界面
理论上,三菱专用协议最多支持32台设备(站号0-31)在同一总线,但实际数量受PLC处理能力和总线负载限制。
7.2 功能扩展建议
在基础功能上,还可以实现以下扩展:
-
报警监控:
- 增加变频器故障状态的读取和显示
- 实现故障历史记录功能
-
参数批量设置:
- 开发参数批量读写功能,便于批量配置相同型号变频器
- 实现参数备份和恢复功能
-
节能监控:
- 增加电能消耗计算功能
- 实现运行效率分析和优化建议
-
远程访问:
- 通过网关设备实现互联网远程监控
- 开发手机APP监控界面
这个FB方式的变频器控制方案在实际项目中表现稳定可靠,特别是在需要控制多台变频器的场合,其结构化编程的优势更加明显。通过标准化的功能块设计,不仅提高了开发效率,也大大降低了后期维护的难度。