FX3U采用FB方式实现与四台三菱E700变频器的专用协议通讯示例
在工业自动化系统中,PLC与变频器之间的通信控制应用广泛。本文介绍一种基于FX3U系列PLC,使用功能块(FB)编程方式,通过RS485接口与四台支持三菱专用协议的E700变频器进行通讯的完整方案。内容涵盖硬件配置、接线方法、参数设定、PLC程序结构设计以及触摸屏界面开发。
一、所需硬件设备
- PLC主机:FX3U、FX3S 或 FX3G 系列(固件版本需为 Ver1.1 及以上)
- 通讯扩展模块:配套的485BD通讯板
- 变频器设备:支持三菱专用通讯协议的型号,如 E500、E700、D700、S500 等系列
二、系统接线说明
将485BD通讯扩展板安装至FX3U PLC本体上,确保连接稳固。针对每台变频器的RS485通讯端口进行如下连接:
- PLC侧485BD的 SDA 接至变频器的 RDA
- PLC侧485BD的 SDB 接至变频器的 RDB
- 所有设备的 SG 端子共地连接,以保证信号稳定性
四台变频器均按上述方式并联接入同一485总线,注意终端电阻可根据距离决定是否启用。
三、参数设置
(1)变频器侧参数调整
为确保通讯正常,需对各变频器进行以下关键参数设置:
- Pr.79:设为“2”,选择外部运行模式,便于由PLC统一控制启停和频率
- Pr.117 - Pr.124:用于设定通讯相关参数:
- Pr.117:站号依次设为 0、1、2、3(对应四台变频器)
- Pr.118:波特率设为96,即9600bps
- Pr.119:停止位设为0,表示1位停止位
- Pr.120:奇偶校验设为0,表示无校验
- Pr.338:通讯速率选择,通常设为0,对应9600bps
- 其他运行参数:根据实际工况设置频率上下限,例如:
- Pr.1:上限频率(Hz)
- Pr.2:下限频率(Hz)
(2)PLC侧参数配置
在GX Works2软件中打开项目,进入PLC参数设置界面,配置485BD通道的通讯参数,确保与变频器设定保持一致,包括波特率、数据位、停止位和校验方式等,以保障通信链路稳定。
四、PLC程序设计(基于FB功能块方式)
采用功能块(Function Block, FB)方式进行编程,可提升程序模块化程度,增强可读性和可扩展性,方便后续增加更多变频器节点。
(1)创建通用控制功能块
在GX Works2中新建一个功能块,命名为“Freq_Control”,用于封装单台变频器的控制逻辑与数据交互功能。
(2)功能块接口定义
输入参数:
- Station No:变频器站号,BYTE类型,用于区分不同从站设备
Run
:Run_Stop 控制信号,BOOL类型,ON为启动,OFF为停止Stop- Forward_Reverse:旋转方向控制,BOOL类型,ON为正转,OFF为反转
Set
:Set Freq 频率设定值,REAL类型,单位HzFreq
输出参数:
- Running Ind:运行状态反馈,BOOL类型,变频器运行时置ON
Freq- Reached Ind:频率到达标志,BOOL类型,达到设定频率后置ON
Real
:Real Frequency 实际运行频率,REAL类型,单位HzFreq- Real Current:实时电流值,REAL类型,单位A
Real
:Real Voltage 输出电压,REAL类型,单位VVoltage
(3)功能块内部逻辑简述(部分代码示意)
在功能块内部程序中,首先依据输入的运行/停止与正反转信号生成对应的控制字,并将设定频率写入指定寄存器;随后利用RS指令向对应站号的变频器发送读取命令,获取当前频率、电流、电压等实时数据。
收到的数据经过类型转换处理后,分别赋值给相应的输出参数变量,供主程序或HMI调用。
// 频率设定
LD [Run_Stop]
MOV [Set_Freq], D100 // 将设定频率值存入D100,D100为与变频器通讯相关的数据寄存器
// 运行控制
LD [Run_Stop]
LD [Forward_Reverse]
MPS
AND = K0, [Station_No]
OUT Y0 // 站号为0时,正转信号输出到Y0
MPP
AND = K0, [Station_No]
ANI [Forward_Reverse]
OUT Y1 // 站号为0时,反转信号输出到Y1
// 读取实时频率
LD [Station_No] = K0
RS D200 K100 // RS指令用于通讯读取,从变频器读取实时频率数据存入D200开始的寄存器区
FLT D200, [Real_Freq] // 将读取的整数频率数据转换为实数类型赋给输出参数Real_Freq
(4)主程序中的功能块调用
在主程序(如Main)中,重复调用“Freq_Control”功能块四次,每次传入不同的站号参数(0、1、2、3),从而实现对四台变频器的独立控制与状态监控。
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
)
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
)
// 类似方式调用站号为2和3的功能块
该结构清晰明了,易于维护,若需扩展至更多变频器,仅需新增功能块实例即可。
五、触摸屏界面开发
(1)人机界面布局设计
设计一个直观的操作主界面,包含以下元素:
- 每台变频器对应的【启动/停止】按钮
- 【正转/反转】切换按钮
- 频率设定数值输入框
- 实时数据显示区:当前频率、电流、电压
- 状态指示灯:运行中、频率到达
(2)变量绑定设置
将触摸屏上的控件与PLC程序中的变量一一关联:
- 频率设定输入框 → 功能块中的“Set Freq”输入参数
- 启动按钮 → “Run_Stop”信号
- 正反转按钮 → “Forward_Reverse”信号
- 运行指示灯 → “Running Ind”输出
- 频率到达灯 → “Reached Ind”输出
- 实时数据显示框 → 分别绑定“Real Frequency”、“Real Current”、“Real Voltage”
总结
本案例展示了如何使用FX3U PLC结合485BD模块,通过FB模块化编程方式,高效实现与四台三菱E700变频器的通讯控制。系统具备完整的启停、方向控制、频率设定及多参数实时监测能力,同时支持灵活扩展。
借助功能块的封装特性,程序结构清晰,便于调试与后期维护,适用于多电机协同控制的中小型自动化项目。



雷达卡


京公网安备 11010802022788号







