「PLC」编写一个模板程序,可用于控制泵、阀等一类设备的启停
系列视频《WinCC+PLC综合实战演练》已经累计发布了十余期了,鉴于有网友要求对一些关键知识点形成文字资料,因此,特别概括性的做一些总结,以弥补视频中遗漏的、未提到的部分,供有需要的小伙伴做参考。
前文总结了WinCC画面中,沉降池水位的动态跟踪及液位超限(太高或太低)时,如何在画面中实现报警。本文把启停控制程序捋一遍(泵的启停、阀的开合用的同一套程序)。
"启停"程序(on_off)写在FC1中,其调用时的管脚图如图1所示,其中定义输入管脚4个,输入/输出管脚3个,输出管脚4个。为什么要这样定义呢?接下来我们细细道来。
一、程序体分解释疑
为了方便说明,我们先逐段说明一下程序,再解释为何要将接口定义成图1那种方式(注意,程序中所有带"#"标识的触点、线圈变量都为FC1块中定义的接口或临时变量 )。
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来控制它们:
(1)电动水泵:电动水泵是最常见的水泵类型之一。PLC可以通过控制电动水泵的启动、停止和调速来实现对水流的控制。你可以使用PLC输出接点或数字量输出来控制水泵的开关,通过连接PLC和水泵的控制线路来控制水泵的电源。
(2)变频水泵:变频水泵是通过调节电机转速来实现流量调节的水泵。PLC可以通过连接变频器和水泵之间的通信接口,发送控制命令给变频器,以达到控制水泵转速和流量的目的。你可以使用PLC的数字量输出或模拟量输出来发送控制信号给变频器。
(3)液位控制泵:液位控制泵根据液位高度的变化来控制水泵的启停。PLC可以通过读取液位传感器的信号,在达到预设的高位和低位液位时控制水泵的启停。你可以将液位传感器连接到PLC的数字量输入端口,然后编写逻辑程序根据液位信号来控制水泵的运行状态。
(4)在使用PLC控制水泵时,需要编写相应的PLC程序。程序中应包含适应不同情况下的水泵控制逻辑,如启动、停止、调速、液位控制等。可以利用PLC提供的定时器、计数器等功能,在程序中添加必要的延时、计数等处理。此外,还可以添加安全保护措施,如过载保护、短路保护等。
在编写PLC程序之前,需要详细了解水泵系统的工作原理、控制需求,以及PLC的编程语言和功能。通常使用类似Ladder Diagram(梯形图)、Function Block Diagram(函数块图)或Structured Text(结构化文本)等编程语言来编写PLC程序。具体的控制方式和细节可根据具体的水泵类型和控制需求来选择和配置。
如果您需要能够控制水泵工作的PLC,可以私信评论找我。
晚上,我们“广成工控”直播间也会聊相关内容,欢迎观看。
相关问答
plc怎样用水位传感器控制水泵?
您好,PLC可以通过以下步骤使用水位传感器控制水泵:1.连接水位传感器到PLC的输入端口。水位传感器可以是压力传感器、浮球开关、电极式传感器等。2.编写PLC...
西门子plc控制泵机启停选择控制方案?
西门子PLC控制泵机的启停需要考虑到多方面的因素,包括泵的类型、流量、压力、启停条件等。以下是一些常见的控制方案:1.模糊控制(FuzzyControl):模糊控制是...
西门子PLC上面的24小时交替使用(两台水泵)应该怎样编写程序,梯形图,求完整点的,谢谢?
这个要看你的具体控制思路了,如果是每隔24小时切换一次的话,那就做一个状态切换程序。同一个辅助继电器M的两个状态的切换(ON和OFF),分别接一个水泵的控制...
用PLC控制一台水泵电机,应该是什么样的电路?
具体要搞清楚控制的目的,如果只是开关控制,只要用PLC的一个输出端口控制中间继电器,再驱动接触器控制电机运行,如果是要正反转那就要用两个输出端口,如果要...
水泵如何变频控制?
变频调速恒压供水变频器参数设置:1、假定PLC的恒压给定为P,2、假定变频器的模拟量输出设置为输出频率F,3、P1为PLC的一个模拟量输出,接到变频器的模拟...
我这里的润滑油泵由PLC控制的,现在我写参数会提示写保护,怎...
[最佳回答]1、一般都是数控系统内置PLC控制导轨润滑油泵的工作和间隙时间的,要进入系统参数调整。一般机床出厂都相对会调大参数。你这情况比较特殊。你可以联...
雷弗蠕动泵与plc怎么连接?
雷弗蠕动泵可以通过PLC(可编程逻辑控制器)进行控制和自动化操作。下面是一些连接雷弗蠕动泵和PLC的步骤:1.首先,确定PLC的输入和输出类型,以及雷弗蠕动泵...
能具体说明吗,另外,如果想用PLC现地控制的话_汽配人问答
[最佳回答]即将高电压,大电流变换成低电压,弱电流。轴温一般采用PT100,具体看多大的电机,一般厂家会提供其型号及接口。如果用PLC控制,需不需变频就看需要了...
怎样控制水泵自动上水?
控制水泵自动上水通常涉及以下几种方法和组件:1.浮球开关:这是最简单的自动控制系统之一。浮球随水位上下移动,当水位达到设定高度时,浮球触发开关,使水泵...
PLc恒压供水原理?
PLC恒压供水系统原理该系统主要是由PLC、变频器、动力控制线路以及水泵等组成。通过安装在出水管网上的压力传感器,把出口压力信号通过A/D变换变成标准数字信...