西门子S7-1200 PLC 水箱水位控制程序案例
给大家分享一个编程案例——S7-1200 PLC水箱水位控制,案例会应用到基本指令、模拟量转换指令、数据块的使用、FB和FC的使用等知识,这就要求大家要先掌握这些知识,才能更好地理解案例程序哦。话不多说,我们就开始吧。
先说明一下案例的控制要求:
1、该控制项目为水箱水位控制系统,系统中一共有3隔水箱,每隔水箱抖音一个液位传感器、输出的信号为0~10V电压信号,检测液位的高度为0~3m,液位为0.2m时为低液位,液位为2.5时为高液位。
2、每个水箱有三个进水阀和三个出水阀,进水阀分别是Y1、Y3、Y5,出水阀分别是Y2、Y4、Y6,每个水箱都有出水阀开和出水阀关两个按钮,出水阀开按钮分别是SB1、SB3、SB5,出水阀关按钮分别是SB2、SB4、SB6。
3、我们通过按SB1SB3SB5可以分别对各个水箱进行防水操作,顺序是随机的,当系统检测到水箱的“空”信号时,系统会自动打开水箱进水阀进行注水,当检测到水箱“满”信号时停止进水。水箱注水和水箱放空的顺序是相同的,而且每次只能对一个水箱进行注水的操作。
首先进行IO分配:
IO分配好之后根据IO分配的点进行接线即可,还需注意液位传感器需要接到模拟量输入模块,一共有三个液位传感器,那么可以选择SM1231 AI04的模块,分别接到通道1、通道2、通道3即可。
PLC控制程序设计:(案例源程序获取,请看文末)
1、首先进行硬件组态、配置模拟量模块的参数(案例源程序获取,请看文末)
我们选用CPU1214C DC/DC/DC型号的PLC,此外因为需要对三个水箱的水位进行采集,要使用到模拟量输入模块,我们选用的是SM1231 AI04模块,设备组态配置图如下图。
因为使用到了模拟量模块,还需要设置相应的模拟量输入信号的参数。根据液位继电器的输出信号类型进行配置,我们配置测量类型为电压,电压范围是正负10V,滤波为4个周期,启用溢出诊断和下溢诊断。通道0对应的地址是IW96,通道1对应的地址是IW98,通道2对应的地址是IW100。
2、编写模拟量处理程序
模拟量转换程序,是用来把采集到的模拟量信号转换成实际的液位,并将它与低液位和高液位做比较,从而输出是否达到低液位信号和高液位信号。因为三个水箱 计算过程是相同的,所以我们可以编写一个带形式参数的FC块,方便重复调用。具体操作是添加一个FC块,并且命名为“模拟量处理”,设置好变量并编写FC程序。
3、建立一个PLC数据类型、添加一个全局DB块
在PLC数据类型页面中添加一个PLC的数据类型,并把它命名为“Analog”,在里面建立之后需要用到的变量,包括当前水位、低水位和高水位,并且设置好这三个变量的数据类型。
此外,再新建一个全局DB块,把它命名为“水箱控制数据”,我们可以在里面建立一个名称为“模拟量”的变量名称,数据类型设置成数组Array[0..2]of “Analog”,然后把每个元素的数据类型选择成建立的PLC的数据类型。
4、编写水箱放水和进水控制程序(案例源程序获取,请看文末)
因为有三个水箱,它们的注水和放水的过程是一样的,我们就可以把水箱的注水和放水过程的程序编写成一个带形式参数的FB块,方便重复调用。具体操作是添加一个FB块,并命名为“水箱控制”,在FB的接口区建立相应的形式参数变量,然后再编写FB中的控制程序。
以上是打开放水阀程序,当按下放水阀开按钮时,放水电磁阀打开,按下放水阀关按钮或者水位达到低水位时,关闭放水阀。
以上标记水箱空标志程序,因为水箱出现空信号后可以进行注水操作,但是一次只能对一个水箱进行注水,所以当标记水箱为空标志信号为1时,才可以进行注水操作。
当水箱水位到达低水位,则说明水箱是空的,这时如果另外两个水箱的空标记信号没有,那么这个水箱的空标记信号输出为1,如果另外两个水箱已经有水箱出现空标记信号的话,那么这个水箱的空标记信号不能输出为1。
而且当这个水箱开始注水时,水箱的空标记信号需要复位。
以上是开进水阀程序,当水箱空标记为1时,就可以打开进水电磁阀,同理因为一次只能对一个水箱进行注水操作,所以如果检测到另外两个水箱有注水操作时,那么这个水箱也不能进行注水操作。当达到高水位时停止关闭进水电磁阀,停止注水操作。
5、调用模拟量处理FC块和水箱控制FB块程序(案例源程序获取,请看文末)
添加一个FB块,并命名为“水箱水位控制程序”,我们在这个FB块中调用模拟量处理FC块,模拟量处理FC块的作用是对每隔水箱的液位传感器的数据进行处理。
此外还要调用水箱控制FB块程序,需要注意调用FB块在分配背景数据块时,要选择多重实例背景,调用之后编写每隔水箱的放水和进水的程序。
(案例源程序获取,请看文末)
以上程序对应的变量表,包括名称、地址、数据类型如下图所示。
6、主程序OB1中调用水箱水位控制程序的FB块
这样,我们就完成了整个控制案例的程序设计,当然这并不是一个完整的项目,如果是应用到实际项目中,可能还会有其他需要考虑的问题哦,这个就等待大家家去思考啦~
技成培训网原创,作者:蔡慧荥,未经授权不得转载,违者必究~
编程实例|利用PLC实现汽车涂装前处理生产线中的磷化槽液位控制
磷化是汽车涂装前处理生产线中的其中一个重要环节,磷化是一种常用的金属表面处理技术,为了保证和提高汽车涂漆质量,在汽车白车身进行涂装前,应采用磷化技术对白车身内外表面进行防腐处理,磷化的目的主要是给基体金属提供保护,在一定程度上防止金属被腐蚀。本文就介绍一下汽车涂装前处理生产线中的磷化槽的液位控制,采用PLC控制实现。
汽车涂装前处理生产线中的磷化槽示意图如图所示,汽车车身挂在输送链上,经过磷化槽时会被涂上一层磷化膜。要求磷化液要保持一定的液位深度,而这个液位是由液位计来进行检测,分为高液位A、低液位B和极低液位C,液位的控制是通过加液泵和排液阀来进行实现的。
控制要求:
按下加液按钮时,加液泵启动并开始加磷化液,当液位到达低液位B 的位置时,启动输送链,当液位到达高液位A 的位置时,加液泵停止。当液位下降到低液位B时,又启动加液泵加液,如此自动进行加液控制。如果由于泄露等其他原因导致液位处于C液位时,停止输送链的运行。当磷化槽使用了一断时间之后需要换液时,按下排液按钮,打开排液阀,并停止输送链的运行,当液位处于极低液位C以下时,延时3min关闭排液阀。
IO分配:
输入继电器
功能
输出继电器
功能
I0.0
高液位开关A
Q0.0
输送链
I0.1
低液位开关B
Q0.1
加液泵
I0.2
极低液位开关C
Q0.2
排液阀
I0.3
加液按钮
I0.4
排液按钮
程序设计:
程序分析:
当按下I0.3按钮时,M0.0得电并自保持,同时计数器计数值加1,等于设定值时C0触点接通,并置位M0.1,这是工作周期的开始,开始时液化槽中是空的,三个液位传感器开关都没有信号输入,I0.0、I0.1常闭是接通的,因为M0.1接通,此时Q0.1得电并自锁,加液泵启动,开始往磷化槽加液。开始时由于液位较浅,输送链是不启动的,随着液位的增加,到达低液位,B液位传感器信号I0.1接通,I0.0也是接通的,所有Q0.0输出,启动输送链。当液位到达高液位时,A液位传感器信号I0.0接通,程序段4中的I0.0常闭点断开,Q0.1失电,加液泵停止工作。
随着汽车涂液的进行,液位会逐渐下降,当液位下降到低于B液位时,I0.0、I0.1常闭是接通的,因为M0.1没有被复位,即M0.1常闭是接通的,所以Q0.1得电,加液泵又会启动进行加液。当液位上升到A液位时,I0.0常闭断开,Q0.1失电,加液泵又停止工作,如此往复循环,使磷化槽的液位始终控制在A液位和B液位之间。无论什么原因导致液位低于C液位,I0.2常开触点断开,Q0.0断开,停止输送链的运行。
当需要更换磷化液时,按下排液按钮I0.4,Q0.2接通并保持,使排液阀打开进行排液,同时将排液标准M0.1复位。所以,当液位低于B液位时加液泵也不会启动。当液位降到C液位以下时,I0.2常闭点接通,驱动T37定时器开始延时3分钟,计时时间到时,T37常闭触点断开,Q0.2失电,排液阀关闭,排液结束。在排液期间,因为Q0.2一直使能,其常闭触点断开,就算按下加液按钮,加液泵也是不会被启动的,这就是互锁,只能等排液结束之后,才能通过加液按钮进行加液泵的启动。
这就是利用PLC实现汽车涂装前处理生产线中的磷化槽液位控制,你也可以试着自己分析一下程序哦~
(技成培训网原创,作者:蔡慧荥,未经授权不得转载,违者必究)
超全PLC学习资料
相关问答
西门子plc的液位控制器程序?
西门子PLC的液位控制器程序需要根据具体的液位控制需求进行编写,以下是一个简单的液位控制器程序示例:1.设置液位传感器输入信号和液位控制输出信号的I/O口...
液位计信号怎么接入plc?
液位计信号需要通过传感器将液位高度转换成电信号,然后将电信号接入PLC的输入端口。在PLC中,需要设置相关的输入模块,以便正确解读液位计传感器发出的信号。P...
plc排空程序怎么写?
编写PLC(可编程逻辑控制器)的排空程序有多种方法,具体取决于你所使用的PLC品牌和型号,以及你的具体应用需求。以下是一个简单的PLC排空程序的伪代码示例,供...
超声波液位计信号怎么传到plc?
超声波液位计的信号一般可以通过两种方式传输到PLC:1.4-20mA模拟量输出:超声波液位计的输出信号,采用4-20mA模拟量输出,用于链接PLC的AI模拟量输入模块,将...
投入式液位变送器与plc模拟量输入模块的接线方式。四根线,蓝色,红色,黑色,黄色?
看变送器的说明书,有2根线是24v电源。2根反馈信号线接AI+AI-看变送器的说明书,有2根线是24v电源。2根反馈信号线接AI+AI-
step7液位控制系统怎么输入液位?
该step7液位控制系统怎么输入液位如下:1.最简单控制就是在进水口装浮球阀,控制水不溢出,人工控制泵的启停。2.简单高水位,泵起;低水位泵停。在水箱内安装...
水位探针配什么控制器使用?
...1.定时控制器:通过设定特定的时间间隔来控制水位的监测和调节。2.嵌入式控制器:使用嵌入式系统来实现水位的监测和控制功能,可以根据预设的条件进行自...
uhz磁翻板液位计如何接PLC?
将液位计的信号输出端连接到plc的模拟量输入模块。将液位计的信号输出端连接到plc的模拟量输入模块。
初学西门子PLC,低液位时开阀如何实现?求程序,急(液位开关选的是浮球开关)?
浮球开关有常开常闭两种接法,你就看看低位输出的是什么信号,假如说低位信号有,电机输出浮球开关有常开常闭两种接法,你就看看低位输出的是什么信号,假如说低...
全自动洗衣机plc程序步进指令?
①按下启动按钮,洗衣机首先进水,到高水位时停止进水(手动上限),开始洗涤。②正转洗涤5s,暂停2s后反转洗涤5s,暂停2s再正向洗涤,如此循环2次,洗涤结束。...①...