三菱FX5U与3台三菱E700变频器通讯程序(SL5U-24) 通讯说明:用三菱FX5U的PLC实现与3台三菱E700变频器modbus通讯 器件:三菱FX5U PLC,3台三菱E700变频器,昆仑通态TPC7022NI触摸屏 功能:触摸屏上设置每台频率,监控每台输出频率,控制启停 说明:已经通过测试运行可行。 程序带有注释,接线方式,参数设置

最近完成了一个挺有意思的项目,用三菱FX5U的PLC实现与3台三菱E700变频器的modbus通讯,还搭配了昆仑通态TPC7022NI触摸屏,功能也挺丰富,能在触摸屏上设置每台变频器频率、监控输出频率以及控制启停,而且已经通过测试稳定运行啦,现在就来跟大家分享分享。
器件准备
这次用到的器件有三菱FX5U PLC 、3台三菱E700变频器以及昆仑通态TPC7022NI触摸屏。它们几个各司其职,PLC作为核心控制,变频器负责电机调速,触摸屏则提供人机交互界面。
接线方式
具体的接线可是个关键活。PLC与变频器之间通过RS - 485通讯线连接,以实现稳定的Modbus通讯。在实际接线时,一定要注意A、B线的对应连接,千万别接反咯,不然通讯可就出问题啦。比如说,PLC的RS - 485接口的A端要对应变频器的A端,B端对应B端。
参数设置
变频器这边的参数设置也马虎不得。以三菱E700变频器为例,要设置Pr.117~Pr.124这些通讯相关参数,比如站号设置(Pr.117),要确保3台变频器站号各不相同,分别设为1、2、3 ,这样PLC才能准确识别每一台变频器。还有波特率设置(Pr.118),要和PLC设置的一致,一般常用9600bps。

PLC这边同样要配置好通讯参数,确保与变频器适配。
通讯程序
下面咱们看看关键的通讯程序部分,代码如下(以三菱GX Works3编程软件为例):
ladderlogic
// 初始化部分
LD M8000
MOV K1 D100 // 设置变频器1的站号
MOV K2 D101 // 设置变频器2的站号
MOV K3 D102 // 设置变频器3的站号
// 读取变频器1输出频率
LD X0 // 假设X0为读取触发信号
MODRD D100 H006F K2 D200 // 从变频器1读取输出频率,存储到D200开始的寄存器
// MODRD指令说明:第一个参数D100为变频器站号,H006F是变频器存储输出频率的寄存器地址,K2表示读取2个字节数据,D200为存储数据的PLC寄存器起始地址
// 读取变频器2输出频率
LD X1 // 假设X1为读取触发信号
MODRD D101 H006F K2 D210 // 从变频器2读取输出频率,存储到D210开始的寄存器
// 读取变频器3输出频率
LD X2 // 假设X2为读取触发信号
MODRD D102 H006F K2 D220 // 从变频器3读取输出频率,存储到D220开始的寄存器
// 设置变频器1频率
LD X3 // 假设X3为设置频率触发信号
MOV D300 D400 // D300为触摸屏设置的频率值,先传送到D400
MODWR D100 H00ED K2 D400 // 将频率值写入变频器1,H00ED是变频器存储目标频率的寄存器地址
// MODWR指令说明:第一个参数D100为变频器站号,H00ED是寄存器地址,K2表示写入2个字节数据,D400为要写入的频率值所在PLC寄存器
// 设置变频器2频率
LD X4 // 假设X4为设置频率触发信号
MOV D310 D410 // D310为触摸屏设置的频率值,先传送到D410
MODWR D101 H00ED K2 D410 // 将频率值写入变频器2
// 设置变频器3频率
LD X5 // 假设X5为设置频率触发信号
MOV D320 D420 // D320为触摸屏设置的频率值,先传送到D420
MODWR D102 H00ED K2 D420 // 将频率值写入变频器3
// 控制变频器1启停
LD X6 // 假设X6为启动触发信号
MODWR D100 H00FA K1 K1 // 启动变频器1,H00FA是控制启停的寄存器地址,K1表示启动
LD X7 // 假设X7为停止触发信号
MODWR D100 H00FA K1 K0 // 停止变频器1,K0表示停止
// 控制变频器2启停
LD X10 // 假设X10为启动触发信号
MODWR D101 H00FA K1 K1 // 启动变频器2
LD X11 // 假设X11为停止触发信号
MODWR D101 H00FA K1 K0 // 停止变频器2
// 控制变频器3启停
LD X12 // 假设X12为启动触发信号
MODWR D102 H00FA K1 K1 // 启动变频器3
LD X13 // 假设X13为停止触发信号
MODWR D102 H00FA K1 K0 // 停止变频器3
上面这段程序,首先在初始化部分设置了3台变频器各自的站号。接着就是读取和设置频率以及控制启停的操作。以读取频率为例,通过MODRD指令,PLC能从变频器特定寄存器中获取输出频率数据,并存储到PLC自身的寄存器中。而设置频率和控制启停则是利用MODWR指令,将PLC寄存器中的数据写入到变频器对应的寄存器,从而实现对变频器的精准控制。

触摸屏这边的程序主要是与PLC进行数据交互,把设置的频率值传送给PLC,同时从PLC读取变频器的输出频率数据进行显示。

通过这次项目,深刻体会到不同设备之间通讯协作的魅力,只要参数设置正确、程序逻辑清晰,就能实现预期的各种功能。希望这篇分享能给大家在类似项目中提供一些参考和帮助。