「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,水泵自动补水编程分解(附程序与图片下载)
这一节讲如何用西门子S7-200 PLC控制水泵自动补水,要实现的功能是,按下启动按钮水泵启动开始补水,当水位到达高位时水泵自动停止,当水位下降到低水位时水泵自动启动补水。这是一个比较经典并且非常实用的控制系统,大家通过这节的学习,既可以掌握西门子PLC开关量的编程方法,又能学会一个工业控制领域经常用到的控制电路,在以后实际工作中如果你遇到类似的控制可以直接拿来使用,在文章的最后我会附上这个控制的实际程序和本节高清图片的下载方式 ,有需要的可以自己下载,通过仿真软件自己慢慢研究。
首先看第一张图片,图0 ,就是水泵自动补水系统的硬件连接示意图,高低水位开关在没有水时是常开状态,当水位到达后就会变成闭合状态,它们两个被连接到PLC的开关量输入端,用来做自动补水的控制信号。水泵通过交流接触器被连接到PLC的开关量输出端。下面讲解程序的执行过程。
图1 ,是PLC的输入输出接线图和实际程序(黑色部分),在图中还是用灯泡的亮 和灭 来表示程序中开关量的接通和关断,图1中是程序PLC上电以后内部的初始运行状态,我们看到因为PLC外部的启动和停止按钮都没有按下,所以程序没有任何输,水泵也就不会启动。说明一下,程序中的M2.0 是西门子PLC内部的,通用寄存器M的一个开关量触点,作用相当于我们常规继电气控制系统中的中间继电器,它不直接对外输入或输出,只在内部起到中转的作用。
看图2 ,我们按下启动按钮,(第一段程序)常开触点I0.0被接通,常闭触点I0.3通,线圈M2.0就接通,触点M2.0接通形成自锁。(第二段程序)常开触点M2.0接通,常闭触点I0.6通,常闭触点I0.7通,线圈Q0.6接通,输出点Q0.6就有了输出,水泵启动运行开始补水。并且常开触点Q0.6形成自锁,以确保当低水位开关闭合时,Q0.6继续有输出。
图3 ,的动作是虽然我们松开启动按钮,常开触点I0.0断开,但线圈M2.0依然是通的,这因为有常开触点M2.0的自锁。所以Q0.6依然是有输出的,水泵继续补水运行。
图4 ,这时我们看到水位已经到了水罐的中部,这时低水位开关已经闭合,常开触点I0.6断开,但线圈Q0.6依然接通,这因为常开触点Q0.6早已经形成了自锁。所以Q0.6依然有输出,水泵还是继续补水运行。
再看图5 ,当水位到达高水位时,高水位开关闭合,常闭触点I0.7就会断开,之后线圈Q0.6就没有了输出,常开触点Q0.6也跟着断开解除自锁,水泵也就跟着停止了补水。实现了自动停止功能。
图6 ,当水位开始下降并低于高水位开关时,高水位开关断开,常闭触点I0.7接通,但因为水位还没有下降到低水位开关,所以常闭触点I0.6还是断开状态,线圈Q0.6也就没有输出。水泵依然在停止状态。
图7 ,当水位下降到低水位开关时,低水位开关断开,常闭触点I0.6接通,因常闭触点I0.7也早已经接通,所以线圈Q0.6接通也就有了输出,并常开触点Q0.6接通,形成自锁。这时水泵启动运行补水,从而实现了水泵的自动运行。只要我们不按下停止按钮,水泵就会按照这个控制程序周而复始的自动运行。
图8 ,是水泵的手动停止操作,当我们按下停止按钮后,常闭触点I0.3断开,线圈M2.0也就断开没有了输出,同时常开触点M2.0也跟着断开,之后线圈Q0.6断开没有了输出,水泵停止补水。实现了手动停止功能,因为是手动停止,常开触点M2.0始终在断开状态,所以无论水位开关在什么状态都不会自己启动,直到我们手动再次按下启动按钮。这就是水泵自动补水程序的步骤分解,通过这种图形化的讲解相信大家还是能够很容易理解的。如果还是不太明白,可以通过下面的方法自己把程序下载下来,用仿真软件运行调试一下就能明白了。
如果有需要本节西门子S7-200 PLC水泵自动补水程序 和本节高清图片 的朋友,可以发私信,发(编程软件 )这四个字,给大话工控, 下载链接就会自动发送到你的手机私信中,自己复制一下链接,在电脑或手机的浏览器打开下载就行了。已经发过私信的朋友就不用发了,还是下载软件的那个链接和密码,再进去下载就行。
相关问答
PLC该如何控制水泵?
PLC可以通过编写逻辑控制程序来控制水泵的启停、转速和运行时间等参数。首先,通过输入模块将水泵所需的传感器信号输入PLC,如水位传感器、压力传感器等,然后...
plc怎样用水位传感器控制水泵?
您好,PLC可以通过以下步骤使用水位传感器控制水泵:1.连接水位传感器到PLC的输入端口。水位传感器可以是压力传感器、浮球开关、电极式传感器等。2.编写PLC...
pid恒压供水plc程序讲解?
pid恒压供水plc的程序讲解:1、系统的水压反馈信号P2,接到PLC,2、系统启动后,PLC比较P和P2,经过PID后得到P1,P1送至变频器,同时PLC的DO控制水泵1的...
怎样控制水泵自动上水?
控制水泵自动上水通常涉及以下几种方法和组件:1.浮球开关:这是最简单的自动控制系统之一。浮球随水位上下移动,当水位达到设定高度时,浮球触发开关,使水泵...
通过操作电脑通过PLC控制水泵的启停等,请问电脑和PLC是怎么通信的?
首先要弄清楚PLC的通讯口的电气接法,是232的还是485的,如果是232的可以和计算机的串口直接连接,如果不是,就需要转换.其次,弄清楚PLC的通讯协议.再次,购买一个...
水泵控制箱内PLC上的ERR错误灯亮起怎么解决?
要根据具体的错误类型来解决,但一般情况下需要以下步骤:明确需要先查看PLC手册或错误代码手册,确定错误类型并进行相关检查和处理。当PLC上的ERR错误灯亮起时...
循环水泵控制柜,PLCEAST-100故障报警,水泵停止运行?
不一定和PID有关,如果你能打开程序的话看看触发报警的是那几个因素。触发报警的一般有:电机过载、压力传感器故障等。不一定和PID有关,如果你能打开程序的话...
采用PLC控制的变频器一拖三恒压供水技术方案?
基于PLC和变频器串行通讯的变频恒压供水系统摘要:介绍了一种基于PLC和变频器采用串行总线方式通讯的变频恒压供水系统的构成和工作原理。系统采用变频调速方...
西门子plc控制泵机启停选择控制方案?
西门子PLC控制泵机的启停需要考虑到多方面的因素,包括泵的类型、流量、压力、启停条件等。以下是一些常见的控制方案:1.模糊控制(FuzzyControl):模糊控制是...
多台水泵互为备用,定期自动切换,西门子PLC如何实现?
自动切换,就是把原来的A输出换成B了,可以做几个子程序,到时间调用,或者用几个梯形图块,都做同样功能,但输出不用,用万年历继电器来切换,肯定自己编啦,其...自...