西门子S7-200 Smart PLC与三台台达MS300变频器通讯程序:昆仑通态触摸屏控制...
西门子smart200与3台台达MS300变频器通讯程序 器件:西门子s7 200 smart PLC,3台台达ms300变频器,昆仑通态触摸屏(带以太网),中途可以加路由器 控制方式:触摸屏与plc以太网通讯,PLC与变频器通讯485口相连 功能:触摸屏控制变频器设定频率,启停,读取输出频率,电压 说明:是程序,非硬件。 程序有注释,变频器设置,接线都有,一应俱全
凌晨三点半的车间里,PLC柜的指示灯还在有节奏地闪烁着。这已经是我第三次尝试让第三台变频器正确返回电压值了,485总线的干扰像幽灵一样时隐时现。来,咱们直接进入正题,聊聊怎么用S7-200 SMART调教三台台达MS300。
硬件接线别急着上电!记住这个死亡组合:PLC的PORT0口3接变频器485+,8接485-。三台变频器必须手拉手并联,最后一台记得把终端电阻拨到ON。有次学徒把线序接反,变频器直接来了段死亡电音秀。
变频器参数设置记住四个咒语:
P00.04=1(命令源RS485)
西门子smart200与3台台达MS300变频器通讯程序 器件:西门子s7 200 smart PLC,3台台达ms300变频器,昆仑通态触摸屏(带以太网),中途可以加路由器 控制方式:触摸屏与plc以太网通讯,PLC与变频器通讯485口相连 功能:触摸屏控制变频器设定频率,启停,读取输出频率,电压 说明:是程序,非硬件。 程序有注释,变频器设置,接线都有,一应俱全
P01.15=3(通讯超时停车)
P08.05=1(Modbus从站地址)
P08.06=3(9600bps,8N1)
核心程序用了个轮询机制,像点名一样挨个伺候三台变频器。来看这段关键代码:
// 主程序循环
SM0.0:
CALL MODBUS_CTRL:SBR1 // 初始化Modbus主站
CALL FREQ_SWITCH:SBR2 // 切换目标变频器
CALL READ_WRITE:SBR3 // 读写操作
子程序SBR2藏着玄机,用定时中断实现自动换挡:
// 变频器轮询切换
SBR2:
TON T37, 50 // 50ms切换间隔
LD T37
= M10.0 // 切换触发信号
LD M10.0
CTU C0, 3 // 3台计数器循环
数据读写才是重头戏,注意这个报文结构:
// 读取1号机输出频率
LD SM0.0
MOVB 1, VB1000 // 从站地址
MOVB 3, VB1001 // 功能码03
MOVW 16#2100, VW1002 // 起始地址2100H
MOVW 1, VW1004 // 读取1个字
MOVW &VB1000, &VB1070 // 发送缓冲区
MOVW 6, VB1070+6 // 数据长度
XMT VB1070, 0 // 启动发送
调试时遇到过最邪门的问题?某个变频器偶尔返回乱码。后来发现是接地线在配电柜里打了个蝴蝶结,剪开后世界都清净了。触摸屏组态记得把频率设定值关联到VW200-202,别学我上次把启停按钮绑到VD区,直接让设备跳了段踢踏舞。
最后留个暗桩:当三台频率设定值相差超过10Hz时,程序会自动开启平衡模式。这招在同步传动场景下救过急,代码藏在中断程序里,有兴趣的自己翻源码找彩蛋吧。

更多推荐
所有评论(0)