西门子基于RS485通讯恒压供水一拖二S7-200SMART_PLC 程序样例为一拖二恒压供水,采样S7-200SMART_PLC+smart700触摸屏与ABB变频器MdbusRTU_rs485通讯执行变频器PID实现恒压供水 程序为实际项目案例,程序带有注释说明,恒压供水动作说明,ABB变频器参数设置说明,施工用电路图纸。 工艺说明: 1、自动启动----1号变频启动 2、当压力低时(反馈压力低于“设定压力-压力下偏差”)并延时5秒后倒泵 3、倒泵过程是1号变频停止,同时1号工频启动,延时3秒后2号变频启动 4、当反馈压力大于“设定压力-压力下偏差”时,并保持10秒后关掉1号工频 5、2号变频运行时当压力低于“设定压力-压力下偏差”并延时5秒后倒泵 6、倒泵过程是2号变频停止,同时2号工频启动,延时3秒后1号变频启动,,如此循环 7、当1号变频正常运行时,设定的倒泵时间达到,并选择为YES,同时反馈压力大于“设定压力-压力下偏差”时启动倒泵 8、倒泵是停止1号变频并延时3秒启动2号变频 9、反之当2号变频正常运行时,设定的倒泵时间达到,并选择为YES,同时反馈压力大于“设定压力-压力下偏差”时启动倒泵 10、倒泵是停止2号变频并延时3秒启动1号变频
恒压供水系统在工业现场就像个不知疲倦的调度员,今天拆解的这个S7-200 SMART项目用双泵切换玩出了新花样。项目核心是1号2号水泵的变频/工频双模式切换,搭配ABB变频器的PID调节,咱们直接上干货。
PLC程序里的倒泵玄机
核心逻辑藏在OB1主程序里,看这段关键代码:
NETWORK 1 LD M0.0 //自动启动标志 AN T37 //5秒倒泵延时 A VW100<=VW102 //实际压力≤(设定值-偏差) TON T37, 50 //5秒延时定时器 = Q0.0 //1号变频启动这里用T37做压力低状态的"耐心检测",防止压力抖动误触发。当压力持续5秒低于阈值,触发倒泵流程——先掐断变频,再切工频,最后启动备用变频泵,像接力赛交接棒。
ABB变频器的MODBUS参数调教
通讯配置是项目成败关键,这几个参数得拿捏死:
5302=3 //PID给定源选择RS485 5303=3 //PID反馈源选AI1 4001=22 //启停命令来自通讯注意在PLC里设置的40001保持寄存器(对应变频器0100h地址)要匹配,功能码06写单寄存器,03读保持寄存器。调试时拿USB转485工具抓包,能少走很多弯路。
定时切换的优雅实现
很多同行在定时切换功能上翻过车,看这个时间判断的经典写法:
NETWORK 7 LD Q0.0 //1号变频运行中 A T38 //倒泵时间到 A VW100>=VW102 //压力正常 AN M1.0 //切换允许标志 TON T38, 36000 //10小时倒泵定时 = M1.0 //触发切换这里用T38累计运行时间,当达到预设值且压力稳定时触发无扰动切换。注意定时器基值是100ms,36000对应的是3600秒也就是1小时,别被数值唬住。
HMI上的小心机
Smart700触摸屏藏着两个魔鬼细节:
- 压力设定值做了上下限幅,防止手滑输错
- 倒泵时间显示格式是"XX小时XX分",比直接显示秒数更符合操作工直觉
用符号IO域绑定VW102寄存器时,记得设置小数位精度,压力值显示到0.01MPa才够专业。
实际调试中发现个反直觉的现象:当变频切工频时,电机接触器吸合瞬间的电流冲击可能引起485通讯闪断。解决办法是在PLC程序里加了通讯超时复位机制,同时给变频器控制回路单独供电,避开动力线干扰。
这个项目最妙的是用轮换机制平衡了两台泵的磨损,像太极的阴阳转换。程序里那些3秒、5秒的延时不是拍脑袋定的——比接触器物理动作时间多留1秒余量,给机械部件足够的反应时间。搞工控的得学会在电气特性和程序逻辑之间找平衡点,这才是真功夫。