「PLC」编写一个模板程序,可用于控制泵、阀等一类设备的启停
系列视频《WinCC+PLC综合实战演练》已经累计发布了十余期了,鉴于有网友要求对一些关键知识点形成文字资料,因此,特别概括性的做一些总结,以弥补视频中遗漏的、未提到的部分,供有需要的小伙伴做参考。
前文总结了WinCC画面中,沉降池水位的动态跟踪及液位超限(太高或太低)时,如何在画面中实现报警。本文把启停控制程序捋一遍(泵的启停、阀的开合用的同一套程序)。
"启停"程序(on_off)写在FC1中,其调用时的管脚图如图1所示,其中定义输入管脚4个,输入/输出管脚3个,输出管脚4个。为什么要这样定义呢?接下来我们细细道来。
一、程序体分解释疑
为了方便说明,我们先逐段说明一下程序,再解释为何要将接口定义成图1那种方式(
1、启停控制
如图2所示,"程序段1"中的程序为"启停控制程序"。
"#order"为启停命令,其为图1中输出接口的一个,信号最终与Q点相连; "#start"为启动信号、"#stop"为停止信号,其指令来自画面(如图3所示),用于启动或停止泵(阀); 当"#order"为1时,通过"复位"指令,复位"#start"的信号,这样做的目的是使"#start"端的信号变为一个脉冲信号,方便信号处理。而由于"#start"既作为输入接收来自画面的指令,又作为"线圈"被"复位"指令复位,因此要将该信号接口定义为"输入/输出接口"; "#fault"为故障信号,当其为1时,停泵、关阀。2、"#start"、"#stop"、"#ack"信号的脉冲化处理
"#start"、"#stop"及"#ack"指令均来自WinCC画面(如图3所示),画面侧通过点击相应的按钮,发过来一个高电平信号,为了简化信号处理,统一在程序使其"脉冲化",如图4所示。
逻辑也很简单:
当泵(或阀)启动命令发出后("#order"上升沿),复位"#start"; 当泵(或阀)停止命令发出后("#order"下降沿),复位"#stop"; "#ack"为故障确认信号,当"#ack"发出确认指令且故障清除后("#fault"下降沿),复位"#ack"。3、状态反馈"响应时间"监控
"#T_no"是定时器的形参地址,实际调用该FC块时,需要关联一个实际的定时器号。(1)"程序段4"的逻辑是,当"#order"为1时,启动定时器;
"程序段5"的逻辑是,在定时器计时完成(计时完成后,常闭触点"#T_no")前检测到运行反馈信号"#fbk",此时说明泵(或阀)启动正常,则复位定时器。
故障确认指令"#ack"也会复位定时器。
4、"运行信号"判定
"程序段6"和"程序段7"用于判定泵(或阀)是否正在运行。
当有输出命令("#order"=1)且有反馈信号("#fbk"=1)时,说明泵(或阀)正在运行; 当无输出("#order"=0)或有故障("#fault=1")时,认为泵(或阀)处于停止状态。5、"故障"判定及确认
当以下情况发生时,认为泵(或阀)有故障:
在正常运行("#running=1")时,反馈信号("#fbk")突然丢失,此时系统判定主回路由于某种原因失电,从而触发故障; 在启动命令发出后,规定的时间内(定时器"T_no"计时完成)未检测到反馈信号("#fbk"),系统认为泵(或阀)启动失败,触发故障。"#ack"接入"SR触发器"的复位端,用于做故障确认。
6、状态字
"状态字"定义的核心指令为:MOVE指令。满足不同条件时,将不同的值送给状态字"#status"。
二、接口定义
经过前面对程序的"逐段"分析,我们对"接口"为什么做如是定义,也有了基本的了解,再补充以下几点:
"#start"、"#stop"和"#ack"之所以定义为"输入/输出"接口类型,是因为它们既接受外部的信号,在程序中又作为"线圈"输出。 "定时器号"的形式参数的数据类型为"Timer"。 "#sim_on"是预留的仿真用接口,目前的程序中,它是没用的。 FC中定义的接口变量,在本块中寻址方式为:"#+符号名",如"#start"、"#status"等。相关视频:
《PLC编程实现“泵”的启停控制,如何自定义运行状态及状态字》
《程序“pumb1_FC"的勘误和优化,完善故障的类别信息》
上一篇《「视频随手文档」WinCC实现“液位”的动态跟踪以及超限报警》
西门子、三菱PLC实例:抽水自动水泵控制程序、梯形图
根据用水量的大小由PLC控制工作泵数量的增减及变频器对水泵的调速,实现恒压供水。同时系统通过软件设计具有定时换泵和系统声、光报警及多种保护功能
更多PLC实例,移步戳进去领--->PLC编程实例大全(100例)
相关问答
用PLC控制一台水泵电机,应该是什么样的电路?
具体要搞清楚控制的目的,如果只是开关控制,只要用PLC的一个输出端口控制中间继电器,再驱动接触器控制电机运行,如果是要正反转那就要用两个输出端口,如果要...
计量泵怎么用plc实现定量控制?
计量泵可以通过PLC实现定量控制。首先,在PLC中设置一个计量泵控制程序,包括设定流量、设定时间等参数。然后,将传感器与PLC连接,实时监测流量或时间,并与设...
通过操作电脑通过PLC控制水泵的启停等,请问电脑和PLC是怎么通信的?
首先要弄清楚PLC的通讯口的电气接法,是232的还是485的,如果是232的可以和计算机的串口直接连接,如果不是,就需要转换.其次,弄清楚PLC的通讯协议.再次,购买一个...
PLC控制水泵电机手动和自动如何切换?
设备手动和自动切换的程序实现方法一:当远程就地信号为1时,即表示现场的控制柜(箱)上的转换开关打到了远程位置,可进行PLC的自动控制;当其为0时,则表示是...
plc控制变频器pid参数设置?
变频调速恒压供水变频器参数设置:1、系统的水压反馈信号P2,接到PLC,2、系统启动后,PLC比较P和P2,经过PID后得到P1,P1送至变频器,同时PLC的DO控制...
求助泵的控制-盖德问答-化工人互助问答社区
我觉得仪表已经差不多了。你再买些电缆什么的,把两个变送器和plc连接好,在plc里组态好逻辑。再把plc输出的启停泵信号连接到控制泵的开关柜上就ok了...
水泵现场控制箱的手动控制启停按钮(就一个按钮)通过PLC来实现好,(这样可以用24V)?
如果考虑成本,用2个按钮24V启停按钮来实现为好。如果考虑成本,用2个按钮24V启停按钮来实现为好。
中间继电器接触器控制水泵电路?
用一个时控开关(可以按设定时间自动切换)控制中间继电器的吸合线圈,中间继电器的常闭主触点控制一台水泵的交流接触器吸合线圈,常开主触点控制另一台水泵的交...
消防喷淋泵控制柜怎么接线?_住范儿家装官网
现在消防局要求水泵的直启为了减少控制环节,取消控制模块,而是采用直启终端器来实现。直启终端器输出有:泵启动信号:输出有源24V信号接到控制柜上...
一台变频器控制三台1.5KW的水泵,2用一备,如何接线实现变频控制?
这个可以实现,2台交替使用时各有一个输出,通过输出控制中间继电器,然后通知水泵的接触器,如果要备用泵,那么就必须有装置来判断水泵是否出现故障,然后把信...