线下实训
HOME
线下实训
正文内容
plc编程水位 西门子S7-1200 PLC 水箱水位控制程序案例
发布时间 : 2025-03-13
作者 : 小编
访问数量 : 23
扫码分享至微信

西门子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块

这样,我们就完成了整个控制案例的程序设计,当然这并不是一个完整的项目,如果是应用到实际项目中,可能还会有其他需要考虑的问题哦,这个就等待大家家去思考啦~

技成培训网原创,作者:蔡慧荥,未经授权不得转载,违者必究~

西门子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块

相关问答

step7液位控制系统怎么输入液位?

该step7液位控制系统怎么输入液位如下:1.最简单控制就是在进水口装浮球阀,控制水不溢出,人工控制泵的启停。2.简单高水位,泵起;低水位泵停。在水箱内安装...

plc怎么识别水位传感器?

你好,PLC可以通过读取水位传感器的模拟信号或数字信号来识别水位传感器。对于模拟信号的水位传感器,PLC需要使用模拟输入模块进行读取,并根据信号的电压值转换...

plc这个液位浮球模拟量怎么弄呢?

这个有2种方法第一种三个液位限位三个限位开关分别设在0.1m1.4m6.1m,到点之后对应的限位动作,需要进行位置状态判断进行输出这种是开关量的也是最经济的。第...

西门子plc的液位控制器程序?

西门子PLC的液位控制器程序需要根据具体的液位控制需求进行编写,以下是一个简单的液位控制器程序示例:1.设置液位传感器输入信号和液位控制输出信号的I/O口...

液位计如何接入plc再连接电脑?

液位计连接PLC和电脑的方法如下:1.液位计接入PLC:(1)选择合适的PLC通讯模块(如西门子的CP341或CP343等)和液位计的输出信号类型(如4-20mA电流信号或0-1...

液位开关怎么把信号传给plc?

液位开关可以通过接线板或接口模块将信号传递给PLC,一般情况下,液位开关有两种输出信号:开关量信号和模拟量信号。对于开关量信号的输出,可以将其连接到PLC...

液位传感器与plc接法?

2:如果液位计如我所说的那样,那电路就好接了,就相当于一个按钮接入PLC输入端,比如1M:接"+24V","I0.0"接液位计上一根线,液位计另一根线接&quo...

其中一个水位恒定控制的案例我总看不懂:设给定量为满水位...

[最佳回答]PID不是算出来的它是几个参数通过这几个参数可以调整系统的控制性能P》》》比例I》》》》积分D》》》》微分P决定系统调整快慢性能...

24V二线制超生波液位计怎样和PLC连接?

24V二线制超声波液位计怎么和PLC连接?超声波液位计有一般有两线制和四线制两种接线方式,而题目说的是两线制超声波液位计。两线制超声波液位计输出的是无源信...

要使模拟量(比如压力,液位)在触摸屏(MCGS)显示实时数值出来,那我在PLC内部要写程序吗?

CH0的值是工程值也就是PLC模拟模块儿转换出来的实际的模拟信号对应的数字如果要显示成压力或者液位的话,是需要写程序进行转换的例如:现在的模拟信号输入范...

 bipv什么意思  陶信 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部