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

最近在车间搞了个变频器控制项目,用FX5U的PLC通过Modbus协议控制三台台达Ms300变频器。折腾了两天终于跑通,把关键点整理出来给大伙儿避坑。

硬件接线是基础

RS485通讯必须用双绞线!PLC的SL5U-20模块接线端子是SDA-、SDA+,对应变频器的485端子是P5-24V、P5-0V。注意终端电阻拨码开关,最后一台设备要打开终端电阻(SW5拨到ON)。

# 变频器参数设置(以1号机为例)
P00=03(频率指令源设为通讯)
P01=03(运转指令设为通讯)
P88=01(Modbus从站地址)
P89=03(波特率19200)
P92=01(RTU模式)

PLC程序核心是ADPRW指令

FX5U的通讯指令比老款PLC简单很多,重点在于地址换算。比如读取输出频率(H70DAH),需要转成十进制地址:

// 读取1号变频器输出频率
ADPRW D100 K1 K3 H70DA K1
// 解释:
// K1: 从站地址
// K3: 功能码03(读取保持寄存器)
// H70DA: 寄存器地址(十进制为28954)
// 接收数据存到D100-D101(32位浮点数)

频率换算有门道

读回来的数据要除以100才是实际频率。比如D100里是5000,对应50.00Hz。加减速时间要转成毫秒单位,注意台达的加速时间参数是P003(别和运行时间搞混)。

触摸屏绑定技巧

昆仑通态屏用Modbus TCP协议连接PLC,注意寄存器偏移量。比如:

  • 启停控制绑定M100(0停止/1运行)
  • 频率设定用D200(浮点数格式)
  • 实际频率显示D100(浮点数读取)
-- 触摸屏按钮脚本示例
if GetData("M100") == 0 then
    SetData(1, "M100") -- 启动
else
    SetData(0, "M100") -- 停止
end

调试踩过的坑

  1. 波特率不一致导致乱码(务必所有设备统一)
  2. 浮点数高低字节顺序反了(用SMOV指令调整)
  3. 急停信号没做互锁(安全回路必须独立于通讯)

程序里加了详细的注释,把每个站的操作分开处理。比如D300开始是2号机参数区,D500是3号机,这样维护时一目了然。实测通讯周期控制在200ms内,完全满足产线需求。

最后附上接线图二维码,手机扫码就能看高清大图。源码已打包,需要的老铁评论区留言。

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐