基于PLC控制系统构建的水塔水位控制系统
- 格式:doc
- 大小:2.46 MB
- 文档页数:15
上传说明:本论文仅供大家学习和参考用中国石油大学(华东)PLC控制系统的构建综合实践报告****:***学号:********专业班级:自动化06-4班2010年3月8 日PLC控制系统构建综合实践报告一、概述PLC控制系统实践环节主要是以可编程序逻辑控制器PLC为核心,以STEP7-Micro/WIN软件为开发平台,以实验台上的各种设备(挂件)为对象使用梯形图语言进行PLC控制程序的开发用来控制实验台上的各种设备。
MCGS组态软件用于生成和运行水塔水位监控系统的组态工程文件。
完成构建的PLC控制系统的监控功能。
二、实验设备S21-1挂箱(S7-200可编程控制器)、S21-3挂箱(水塔水位控制)、S21-2挂箱(基本指令)、S21-4(产生模拟信号)、计算机、STEP 7 MicroWIN软件、MCGS软件。
三、具体任务及要求该实践的具体任务是组建水塔水位监控系统。
水塔系统如下图所示:水塔水池阀泵一、PLC控制程序(一)(一)控制要求1、阀、泵的自动控制在自动控制状态下,当水池水位低于水位下限时,阀Y打开,当水池水位高于水位上限时,阀Y关闭。
当水池水位高于水位下限,且水塔水位低于水位下限时,泵M1运转抽水。
当水塔水位高于水位上限时泵M1停止。
2、阀、泵的手动控制在手动控制状态下,由基本指令编程练习单元中的开关I0.1控制阀的打开与关闭,当开关闭合时阀打开,开关断开时阀关闭。
由I0.2控制泵的打开与关闭,当I0.2闭合时泵打开,当I0.2断开时泵关闭。
3、控制状态的切换与显示由I0.0实现控制状态的切换,当开关闭合时系统处于自动控制状态,当开关断开时系统处于手动控制状态。
由灯Q0.0实现控制状态的显示,灯亮表示系统处于自动控制状态,灯灭表示系统处于手动控制状态。
4、组灯控制由灯Q0.5、Q0.6、Q0.7、Q1.0、Q1.1构成组灯,以组灯的不同状态表示水流不同状态。
具体说明如下:当阀泵均处于关闭状态时,组灯灭。
当阀处于打开状态而泵处于关闭状态时,组灯中Q1.1、Q1.0、Q0.7依次循环点亮,且当其中某一灯亮时,其前一灯灭。
当阀处于关闭状态而泵处于打开状态时,组灯中Q0.7、Q0.6、Q0.5依次循环点亮,且当其中某一灯亮时,其前一灯灭。
当阀泵均处于打开状态时,组灯中Q1.1、Q1.0、Q0.7、Q0.6、Q0.5依次循环点亮,且当其中某一灯亮时,其前一灯灭。
二、PLC控制程序(二)(一)控制要求在PLC控制程序(一)的基础上添加完成如下功能:1、液位信号的读取将S21-4挂箱中电压输出单元的输出电压Ug1与Ug2分别作为水池与水塔的液位信号,信号范围为1~5VDC。
并由PLC的模拟信号输入输出模块读取液位信号。
水池液位的变化范围为0~4m,即液位信号Ug1对应的测量范围为0~4m。
水塔液位的变化范围为0~2m,即液位信号Ug2对应的测量范围为0~2m。
2、阀、泵的自动控制在自动控制状态下,当水池水位低于水位下限(1m)时,阀Y打开,当水池水位高于水位上限(3m)时,阀Y关闭。
当水池水位高于水位下限,且水塔水位低于水位下限(0.5m)时,泵M1运转抽水。
当水塔水位高于水位上限(1.5m)时泵M1停止。
3、水位报警由基本指令编程练习单元中的灯Q0.1、Q0.2实现水位报警。
当水池水位低于0.5m时,Q0.1闪烁,当水池水位高于或等于0.5m时,Q0.1灭。
当水塔水位低于0.25m时,Q0.2闪,当水塔水位高于或等于0.25m时,Q0.2灭。
三、MCGS组态程序(一)组态程序应实现的功能1、系统运行状态的显示能够显示系统的控制状态、水池和水塔的液位、阀泵的开关状态及水流状态。
2、水位限值的设置使用户能够设置水池与水塔液位的上下限值,即能够调整阀泵自动开关的条件。
3、历史数据的记录和查询能够记录一段时间内系统的控制状态、水池和水塔的液位、水池与水塔液位的上下限值以及阀泵的开关状态。
并能对历史数据进行查询。
4、报警功能当水池液位低于0.5m时,水池液位下下限报警。
当水池液位高于3.5m时,水池液位上上限报警。
当水塔液位低于0.25m时,水塔液位下下限报警。
当水塔液位高于1.75m时,水塔液位上上限报警。
5、操作权限的区分设置两个用户组分别为工程师组和操作工组。
创建分属于不同用户组的用户,两组用户均具有登录系统权限,但仅工程师组用户具有设置水位上下限值的权限。
6、工程文件的保护对组态工程文件设置密码保护。
(二)组态程序与PLC程序的连接1、在组态程序中作相应设置以建立数据连接通道。
2、必要时修改PLC程序以配合组态程序中的相关设置,完成数据读写操作。
四、实践过程(一)PLC控制程序(一)(1)PLC输入输出端口分配及硬件接线需要用到4个DI输入端来连接水塔水位开关,2个输出端来连接水泵及阀,还需要基本指令单元的3个开关,分别用来进行手自动切换,手动控制阀的状态及手动控制水泵。
还需要Q0.0显示控制状态,组灯Q0.5—Q1.1表现泵及阀的状态。
首先要给PLC供电,主机输出端1L、2L、3L与主机的M相连,主机输入端的1M、2M与主机电源L+相连。
由于各实验模块单元的信号接口均为低电平模式,因此将各实验模块的L+与主机的L+相连,M与主机的M相连即可。
S21-3挂箱S1 S2 S3 S4 M1 YS21-1挂箱I1.1 I1.2 I1.3 I1.4 Q0.3 Q0.4S21-2挂箱I0.0 I0.1 I0.2 Q0.0 Q0.5 Q0.6 Q0.7 Q1.0 Q1.1 S21-1挂箱I0.0 I0.1 I0.2 Q0.0 Q0.5 Q0.6 Q0.7 Q1.0 Q1.1 (2)PLC控制程序该任务较为简单,采用PLC中的一些基本指令即可实现,要用到阀及水泵的自锁来保证连续进水,还需要用到定时器来实现灯组的循环闪烁。
(二)PLC控制程序(二)(1)PLC 输入输出端口分配及硬件接线在(一)的基础上只需增加如下接线即可,Q0.1,Q0.2用来进行水池和水塔的低报显示,Ug1和Ug2分别用来模拟水池和水塔的液位信号。
A-,B-均接地。
S21-2挂箱 Q0.1Q0.2 S21-1挂箱 Q0.1Q0.2 为了消除干扰,可以将C+,C-短接,D+和D-短接。
另外RA 和RB 不用接。
RA 通过一电阻与A- 相连,如若接上,就相当于给Ug 后加了一个电阻,会改变给定电压值,但接不接本实验的实验结果没影响。
(2)数据转化 D=(32107-6)*V/5+6;计算一下,可以得下表水池水池液位高度/m对应电压/V 对应值 0.51.5 9708 12 129483 425586水塔水塔液位高度/m对应电压/V 对应值 0.251.5 9718 0.52 12944 1.5 4 25855 (3)PLC 程序程序与(一)很相似,只需在一的基础上加以修改即可。
S21-4挂箱 Ug1 Ug2 S21-1挂箱 A+ B+(三)MCGS组态程序MCGS共有5个窗口,主控窗口,设备窗口,用户窗口,实时数据库,运行策略。
(1)工程分析对本实践进行分析及对要求进行理解,可以得到以下信息:两个用户窗口,一个用来显示水塔水位控制的工程画面,窗口命名为水位控制,一个用来进行数据显示,定义为实时数据显示。
四个主菜单,一个为实时数据显示,一个报警数据,一个历史数据,一个系统管理。
在系统管理里面又有登录用户,密码修改及退出登录子菜单。
五个策略:启动策略,退出策略,循环策略,报警数据,历史数据策略。
循环策略用来进行报警限值的修改,报警策略用来浏览存盘报警数据,历史数据用来浏览存盘历史数据,以便在组态工程里面显示。
实时数据库里需要定义的数据对象有:水池液位,水塔液位,水泵,手自动,阀,水池液位上上限,水池液位下下限,水池液位上限,水池液位下限,水塔液位上限,水塔液位下限,及一个液位组。
(2)组态过程1.建立工程建立名为水塔水位控制的工程。
2.定义数据对象在实时数据库窗口,定义如下变量,相关设置如下。
另外根据题目要求,要给水池液位定义上上限和下下限报警,可以在属性里的报警属性里进行设置,允许进行报警处理。
水池液位上上限报警为3.5,下下限为0.5,水塔液位上上限报警值为1.75,下下限为0.25。
为了方便后续工作,给水池液位上限,下限分别赋初3,1。
水塔液位上限,下限分别赋初值1.5,0.5。
水池液位上上限,下下限的设置是为了可以随时修改报警限。
定义一个液位组,设置其存盘属性为永久存盘,存盘周期为0.5S。
这是为了查看历史数据而设置的。
组对象成员添加如上图。
3.画面组态根据S21-2挂箱上的水塔水位控制系统进行画面的制作,需要一个水塔,一个水泵,一个水池,一个阀,四个报警指示灯(水池,水塔液位高低报警),这些均可以从对象元件库中添加,保证符合实际且美观即可。
一些字体从工具箱中的标签进行添加即可,还可以设置有无底色,有无边线,字体颜色,字体大小等。
整体画面如下:4.动画链接:水池(水塔)的动态链接,动画位置连接里选择大小变化,然后在大小变化里设置表达式为液位1(液位2),大小变化连接最小变化百分比为0,表达式的值为0;最大变化百分比为100,表达式的值为4(2),这样当液位变化时,组态画面上的水池(水塔)液位即可随之变化了。
水泵及阀的动态链接:以阀为例,方法是双击水泵,弹出单元属性设置窗口。
选择数据对象中的按钮输入,选择数据对象连接为阀。
在动画连接的属性设置里面选择填充颜色,表达式设为进水阀,选择不同的填充颜色,即可在阀开闭时显示不同的颜色。
同理可见度的设置也一样,当手动时,阀的图符可见,自动时不可见。
管道内的水流效果以进水阀右边的流动快为例,在基本属性里面设置流动块的颜色为蓝色,流动方向为从右(下)左(上),流动速度为中。
然后再设置流动属性表达式为进水阀。
最终效果为当进水阀送水时,该流动块即开始流动。
手自动状态的显示开关,这个可以从工具箱中的动画按钮添加,表达式为手自动,手动式动画按钮为一种状态,自动时又为另一种状态。
5.设备连接在设备窗口里选择设备组态,在设备管理通用设备里选择串口通讯父设备,再选择PLC设备里西门子S7-200PPI即可。
由于我所用的端口为COM1,需要在设备0属性设置里面改过来,在设备1基本属性内部属性里添加Q0.0,0.3,0.4,以及DF0-20,相对应的数据对象如下图,这样就可以将PLC与MCSGS组态软件联系起来了。
6.报警循环策略设置在循环策略脚本程序中加了如下程序IF 手自动=1 THENIF 液位1<液位1下限THEN进水阀=1ENDIFIF 液位1>液位1上限THEN进水阀=0ENDIFENDIFIF 手自动=1 THENIF 液位2<液位2下限AND 液位1>液位1下限THEN水泵=1ENDIFIF 液位2>液位2上限THEN水泵=0ENDIFENDIF!SetAlmValue(液位1,液位1上上限,4 )!SetAlmValue(液位1,液位1下下限,1 )!SetAlmValue(液位2,液位2上上限,4 )!SetAlmValue(液位2,液位2下下限,1 )报警数据可以从报警信息浏览里获得,在运行策略里添加报警策略,再添加策略行在菜单组态中添加报警数据菜单,并执行报警策略,这样在运行环境下我们就可以查看报警数据了。