恒压供水一拖二程序,smart200+西门子触摸屏程序,定时换泵

厂房角落里那台老水泵最近终于升级了,用S7-200 SMART PLC加西门子触摸屏搞了个一拖二恒压控制。这玩意儿最狠的地方在于能定时换泵,防止某台泵007式加班到报废。

硬件配置别抠门

主泵M1和备用泵M2接在PLC的Q0.0和Q0.1,压力传感器丢到AIW0口。触摸屏直接怼了个KTP700,用来设目标压力值和看实时曲线。重点来了——两台泵的切换逻辑全藏在PLC的定时器里,触摸屏上还能手动强切,电工老张调试时叼着烟说了句:“这比值班表好使。”

PLC代码的暴力美学

定时换泵的核心代码就五六行,但藏着细节:

LDN    M1_Running  // 主泵没启动时初始化  
MOVW   0, T37  
A      M1_Running  // 主泵运行时开始计时  
TON    T37, 3600  // 1小时倒计时(单位:秒)  
LDW>=  T37, 3600   // 时间到就搞事情  
S      M2_Start, 1 // 拉起备用泵  
R      M1_Stop, 1  // 干翻主泵  

这里用了双线圈互锁:当T37累计到3600秒(触摸屏可改这个值),立马把M1的运行标志位RST,同时SET备用泵M2。关键是定时器必须用断电保持型,万一中途停电,复电能接着计时,避免两台泵同时嗝屁。

触摸屏上的小心机

在WinCC Flexible里拖了个骚气的进度条,变量绑到VW100(当前压力值),红色阈值设成VW200(目标压力)。最骚的是做了个隐藏菜单——长按压力设定区域5秒,直接弹出高级参数页,里面能改泵的累积运行时间阈值,防止车间主任乱调参数。

实战踩坑记录
  1. 切换抖动:最初没加延时,导致压力突变时两台泵疯狂互切。后来在输出线圈前塞了个5秒脉冲发生器,用SM0.5配合计数器搞定。
  2. 模拟量飘移:半夜压力值突然跳变,查了半天是传感器接地和PLC的M端没共地。并了个104电容在AIW0端口,世界安静了。
  3. 手动模式埋雷:自动模式下切换泵很正常,但手动启动时忘了复位定时器,导致下次切泵时间错乱。后来在手动按钮的上升沿加了条复位定时器指令,稳如老狗。

现在这系统跑起来,两台泵每班次准时换岗,压力波动控制在±0.2bar以内。维修班老王说唯一缺点是——现在泵坏了他找不到理由摸鱼了。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐