西门子1200PLC在换热站自控系统中的应用:双循环泵与双补水泵自动切换控制
X01-1西门子1200PLC换热站自控系统2个循环泵 X01-1西门子1200PLC换热站自控系统2个循环泵2个补水泵循环泵与补水泵采用一用一备按设置时间自动切换硬件:昆仑通泰触摸屏程序有完整注释和简易电路图供参考,打开软件版本博图V14及以上最近在折腾西门子1200PLC的换热站自控项目现场配置了2台循环泵2台补水泵的经典组合。这种一用一备的配置最怕的就是切换逻辑出问题今天咱们来拆解几个关键代码块看看怎么实现稳定可靠的自动切换。先说循环泵的自动轮换逻辑。核心思路是用两个TON定时器配合标志位做倒班控制这里用SCL写的逻辑看着更直观// 主循环泵运行计时 IF #主泵运行 THEN #主泵运行计时(IN:TRUE, PT:T#24H); IF #主泵运行计时.Q THEN #切换请求 : TRUE; END_IF; END_IF; // 切换执行逻辑 IF #切换请求 AND NOT #切换中 THEN #切换中 : TRUE; // 先停当前运行泵 #主泵停止 : TRUE; #备用泵启动 : TRUE; // 复位计时器 RESET_TIMER(#主泵运行计时); END_IF;这里埋了个小彩蛋——定时器用TON而不是TOF主要考虑现场遇到过电网闪断的情况用TON能保证累计运行时间不会因为短暂断电清零。实际调试中发现切换前最好加个0.5秒的延时避免接触器还没完全断开就启动备用泵这个坑踩过的都懂。触摸屏上的状态监控用了个取巧的方法把泵的状态字直接绑定到HMI的矢量图元件上// HMI数据块映射 #HMI_Data.主泵运行 : #主泵运行; #HMI_Data.备用泵运行 : #备用泵运行; #HMI_Data.累计运行时间 : #主泵运行计时.ET / 3600000; // 转小时昆仑通泰的触摸屏有个特点位状态切换用上升沿触发比直接赋值更稳定特别是在网络偶尔丢包的时候。画面上除了运行状态还做了个简易的趋势图显示水泵电流用PLC的模拟量输入模块直接读取电机电流值。X01-1西门子1200PLC换热站自控系统2个循环泵 X01-1西门子1200PLC换热站自控系统2个循环泵2个补水泵循环泵与补水泵采用一用一备按设置时间自动切换硬件:昆仑通泰触摸屏程序有完整注释和简易电路图供参考,打开软件版本博图V14及以上补水泵的控制有个细节要注意它的启停不仅要看压力设定值还得和循环泵联锁。这里用了个简单的互锁逻辑// 补水泵启动条件 IF #循环泵运行 AND (#压力设定值 - #实际压力) 0.05 AND NOT #补水完成标志 THEN #补水泵启动 : TRUE; ELSE #补水泵启动 : FALSE; END_IF;调试时发现压力传感器的噪声会影响判断后来在程序里加了移动平均滤波才稳定下来。硬件接线方面模拟量输入模块记得要接屏蔽线现场电磁干扰严重的时候软件滤波也救不回来。项目里还藏了个实用技巧——用PLC的本地时钟自动生成运行日志。每天0点把关键数据写入DB块配合触摸屏的导出功能运维人员可以直接用U盘拷贝运行数据比用上位机软件方便得多// 每日数据归档 IF NOT #日期归档标志 AND #PLC_Time.DAY #昨日记录.DAY THEN #运行记录[#记录索引] : #运行数据; #记录索引 : #记录索引 1; #日期归档标志 : TRUE; END_IF;这个项目最深的体会是自动化程序不是越复杂越好。特别是换热站这种要运行十年八年的系统逻辑清晰、注释完整比炫技更重要。比如每个FC块开头都写了明了的注释连IO点的物理位置都标出来了三年后维护时绝对谢天谢地。硬件组态时容易踩的坑ET200SP接口模块的电源配置记得要给每个组单独供电数字量输出点带接触器线圈时一定要并RC吸收回路。曾经有个点的续流二极管烧了导致整个输出模块报废血的教训啊。