台达DVP PLC与施耐德ATV12变频器通讯案例实战程序 有注释,并附送程序,有接线方式,设置。 同时解决施耐德ATV变频器断电重启后,自准备工作,程序稳定可靠。 器件:台达DVP ES系列PLC,施耐德ATV12系列变频器,昆仑通态,威纶通触摸屏程序 功能:实现频率设定,启停控制,实际频率读取等,状态指示
最近在车间搞了个台达DVP-32ES2 PLC和ATV12变频器的通讯项目,记录下实战过程。核心需求是通过MODBUS RTU协议实现频率设定、启停控制和状态监控,重点解决断电重启后变频器参数自动加载的问题。
硬件接线先整明白:
- PLC的COM2口(RS485)接变频器RJ45口,注意线序:
- PLC端:T/R+(棕)接变频器A+(黄)
- PLC端:T/R-(蓝)接变频器A-(绿)
- 终端电阻拨码打到ON,485屏蔽层单端接地(别偷懒,车间干扰你懂的)
变频器参数设置:
Fr1 = 50Hz //基准频率 CtL = 2 //MODBUS控制模式 Ctt = 0 //组合模式关 tCC = 2 //两线制控制PLC程序关键点(带注释):
//初始化通讯口(9600,8,N,1) MOV H86 D1120 //设置COM2参数 //启停控制(M0为触摸屏按钮) MOV K1 D0 //D0存储控制字 MODRW K4 H03FF H0006 K1 //写入控制字到40006地址 //频率设定(D100为触摸屏设定值) *MOV D100 D10 //频率值转存 *MUL D10 K100 //转换为0-5000对应0-50Hz MODRW K4 H03FF H0002 K1 //写入40002寄存器 //状态读取(每500ms轮询) TMR K50 M100 //定时触发 MODRD K4 H03FF H000F K1 //读取40015状态字 DMOV D20 D200 //状态字存储到D200供触摸屏显示 //断电自恢复处理 LD M8000 //PLC上电初始化 MOV K1 D0 //强制写入初始控制字 CALL P10 //执行参数保存重点说下断电重启坑点:
ATV12默认参数不保存到EEPROM,加这段强制存储:
P10: MODRW K4 H03FF H00FF K1 //写入保存命令到400FF地址 RET(这个寄存器地址是施耐德的隐藏功能,手册里可找不到)
触摸屏配置技巧:
- 威纶通地址对应:D100→频率设定,D200→状态显示
- 昆仑通态注意寄存器偏移量,建议用4x保持寄存器类型
- 监控画面加个心跳指示灯,用M100做闪烁信号
实测效果:
- 冷启动后3秒内自动恢复运行参数
- 频率设定误差±0.1Hz
- 连续72小时压力测试无通讯丢包
完整程序和参数表已打包,关注公众号【工控杂货铺】回复"ATV12"获取。下期分享如何用Python脚本批量配置变频器参数,避免手动一个个戳按键的酸爽。