1、仿真的 不建议参考基于PLC控制系统构建的水塔水位控制系统中国石油大学(华东)PLC控制系统的构建综合实践报告学生姓名:苏豪育学 号:06050318专业班级:自动化06-4班 2010年 3月 8 日PLC控制系统构建综合实践报告一、概述PLC控制系统实践环节主要是以可编程序逻辑控制器PLC为核心,以STEP7-Micro/WIN软件为开发平台,以实验台上的各种设备(挂件)为对象使用梯形图语言进行PLC控制程序的开发用来控制实验台上的各种设备。MCGS组态软件用于生成和运行水塔水位监控系统的组态工程文件。完成构建的PLC控制系统的监控功能。二、实验设备S21-1挂箱(S7-200可编程控制器
2、)、S21-3挂箱(水塔水位控制)、S21-2挂箱(基本指令)、S21-4(产生模拟信号)、计算机、STEP 7 MicroWIN软件、MCGS软件。三、具体任务及要求该实践的具体任务是组建水塔水位监控系统。水塔系统如下图所示:一、PLC控制程序(一)(一)控制要求 1、阀、泵的自动控制在自动控制状态下,当水池水位低于水位下限时,阀Y打开,当水池水位高于水位上限时,阀Y关闭。当水池水位高于水位下限,且水塔水位低于水位下限时,泵M1运转抽水。当水塔水位高于水位上限时泵M1停止。2、阀、泵的手动控制在手动控制状态下,由基本指令编程练习单元中的开关I0.1控制阀的打开与关闭,当开关闭合时阀打开,开关
3、断开时阀关闭。由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依次循环点亮,且当其中某一灯亮时,其前一灯灭。当阀处于关闭状态而泵处于
4、打开状态时,组灯中Q0.7、Q0.6、Q0.5依次循环点亮,且当其中某一灯亮时,其前一灯灭。当阀泵均处于打开状态时,组灯中Q1.1、Q1.0、Q0.7、Q0.6、Q0.5依次循环点亮,且当其中某一灯亮时,其前一灯灭。二、PLC控制程序(二)(一)控制要求在PLC控制程序(一)的基础上添加完成如下功能: 1、液位信号的读取 将S21-4挂箱中电压输出单元的输出电压Ug1与Ug2分别作为水池与水塔的液位信号,信号范围为15VDC。并由PLC的模拟信号输入输出模块读取液位信号。 水池液位的变化范围为04m,即液位信号Ug1对应的测量范围为04m。水塔液位的变化范围为02m,即液位信号Ug2对应的测量
5、范围为02m。 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、系统运行状态的显示 能够显示系统的控
6、制状态、水池和水塔的液位、阀泵的开关状态及水流状态。2、水位限值的设置 使用户能够设置水池与水塔液位的上下限值,即能够调整阀泵自动开关的条件。3、历史数据的记录和查询 能够记录一段时间内系统的控制状态、水池和水塔的液位、水池与水塔液位的上下限值以及阀泵的开关状态。并能对历史数据进行查询。4、报警功能当水池液位低于0.5m时,水池液位下下限报警。当水池液位高于3.5m时,水池液位上上限报警。当水塔液位低于0.25m时,水塔液位下下限报警。当水塔液位高于1.75m时,水塔液位上上限报警。5、操作权限的区分 设置两个用户组分别为工程师组和操作工组。创建分属于不同用户组的用户,两组用户均具有登录系统权
7、限,但仅工程师组用户具有设置水位上下限值的权限。6、工程文件的保护 对组态工程文件设置密码保护。(二)组态程序与PLC程序的连接1、在组态程序中作相应设置以建立数据连接通道。2、必要时修改PLC程序以配合组态程序中的相关设置,完成数据读写操作。四、实践过程(一)PLC控制程序(一)(1)PLC输入输出端口分配及硬件接线需要用到4个DI输入端来连接水塔水位开关,2个输出端来连接水泵及阀,还需要基本指令单元的3个开关,分别用来进行手自动切换,手动控制阀的状态及手动控制水泵。还需要Q0.0显示控制状态,组灯Q0.5Q1.1表现泵及阀的状态。首先要给PLC供电,主机输出端1L、2L、3L与主机的M相连
8、,主机输入端的1M、2M与主机电源L+相连。由于各实验模块单元的信号接口均为低电平模式,因此将各实验模块的L+与主机的L+相连,M与主机的M相连即可。S21-3挂箱S1S2S3S4M1YS21-1挂箱I1.1I1.2I1.3I1.4Q0.3Q0.4S21-2挂箱I0.0I0.1I0.2Q0.0Q0.5Q0.6Q0.7Q1.0Q1.1S21-1挂箱I0.0I0.1I0.2Q0.0Q0.5Q0.6Q0.7Q1.0Q1.1(2)PLC控制程序 该任务较为简单,采用PLC中的一些基本指令即可实现,要用到阀及水泵的自锁来保证连续进水,还需要用到定时器来实现灯组的循环闪烁。(二)PLC控制程序(二) (1
9、)PLC输入输出端口分配及硬件接线 在(一)的基础上只需增加如下接线即可,Q0.1,Q0.2用来进行水池和水塔的低报显示,Ug1和Ug2分别用来模拟水池和水塔的液位信号。A-,B-均接地。S21-2挂箱Q0.1Q0.2S21-1挂箱Q0.1Q0.2S21-4挂箱Ug1Ug2S21-1挂箱A+B+为了消除干扰,可以将C+,C-短接,D+和D-短接。另外RA和RB不用接。RA通过一电阻与A- 相连,如若接上,就相当于给Ug后加了一个电阻,会改变给定电压值,但接不接本实验的实验结果没影响。(2)数据转化 D=(32107-6)*V/5+6; 计算一下,可以得下表 水池水池液位高度/m对应电压/V对应
10、值0.51.5970812129483425586水塔水塔液位高度/m对应电压/V对应值0.251.597180.52129441.5425855 (3)PLC程序 程序与(一)很相似,只需在一的基础上加以修改即可。(三)MCGS组态程序 MCGS共有5个窗口,主控窗口,设备窗口,用户窗口,实时数据库,运行策略。 (1)工程分析对本实践进行分析及对要求进行理解,可以得到以下信息:两个用户窗口,一个用来显示水塔水位控制的工程画面,窗口命名为水位控制,一个用来进行数据显示,定义为实时数据显示。四个主菜单,一个为实时数据显示,一个报警数据,一个历史数据,一个系统管理。在系统管理里面又有登录用户,密码
11、修改及退出登录子菜单。五个策略:启动策略,退出策略,循环策略,报警数据,历史数据策略。循环策略用来进行报警限值的修改,报警策略用来浏览存盘报警数据,历史数据用来浏览存盘历 史数据,以便在组态工程里面显示。实时数据库里需要定义的数据对象有:水池液位,水塔液位,水泵,手自动,阀,水池液位上上限,水池液位下下限,水池液位上限,水池液位下限,水塔液位上限,水塔液位下限,及一个液位组。(2)组态过程 1建立工程 建立名为水塔水位控制的工程。 2.定义数据对象 在实时数据库窗口,定义如下变量,相关设置如下。另外根据题目要求,要给水池液位定义上上限和下下限报警,可以在属性里的报警属性里进行设置,允许进行报警
12、处理。水池液位上上限报警为3.5,下下限为0.5,水塔液位上上限报警值为1.75,下下限为0.25。为了方便后续工作,给水池液位上限,下限分别赋初3,1。水塔液位上限,下限分别赋初值1.5,0.5。水池液位上上限,下下限 的设置是为了可以随时修改报警限。 定义一个液位组,设置其存盘属性为永久存盘,存盘周期为0.5S。这是为了查看历史数据而设置的。组对象成员添加如上图。3.画面组态 根据S21-2挂箱上的水塔水位控制系统进行画面的制作,需要一个水塔,一个水泵,一个水池,一个阀,四个报警指示灯(水池,水塔液位高低报警),这些均可以从对象元件库中添加,保证符合实际且美观即可。一些字体从工具箱中的标签
13、进行添加即可,还可以设置有无底色,有无边线,字体颜色,字体大小等。整体画面如下:4动画链接:水池(水塔)的动态链接,动画位置连接里选择大小变化,然后在大小变化里设置表达式为液位1(液位2),大小变化连接最小变化百分比为0,表达式的值为0;最大变化百分比为100,表达式的值为4(2),这样当液位变化时,组态画面上的水池(水塔)液位即可随之变化了。 水泵及阀的动态链接:以阀为例, 方法是双击水泵,弹出单元属性设置窗口。选择数据对象中的按钮输入,选择数据对象连接为阀。在动画连接的属性设置里面选择填充颜色,表达式设为进水阀,选择不同的填充颜色,即可在阀开闭时显示不同的颜色。同理可见度的设置也一样,当手
14、动时,阀的图符可见,自动时不可见。 管道内的水流效果以进水阀右边的流动快为例,在基本属性里面设置流动块的颜色为蓝色,流动方向为从右(下)左(上),流动速度为中。然后再设置流动属性表达式为进水阀。最终效果为当进水阀送水时,该流动块即开始流动。手自动状态的显示开关,这个可以从工具箱中的动画按钮添加,表达式为手自动,手动式动画按钮为一种状态,自动时又为另一种状态。 5设备连接在设备窗口里选择设备组态,在设备管理通用设备里选择串口通讯父设备,再选择PLC设备里西门子S7-200PPI即可。由于我所用的端口为COM1,需要在设备0属性设置里面改过来,在设备1基本属性内部属性里添加Q0.0,0.3,0.4
15、,以及DF0-20,相对应的数据对象如下图,这样就可以将PLC与MCSGS组态软件联系起来了。6.报警循环策略设置在循环策略脚本程序中加了如下程序IF 手自动=1 THENIF 液位1液位1上限 THEN 进水阀=0 ENDIFENDIFIF 手自动=1 THEN IF 液位2液位1下限 THEN 水泵=1 ENDIF IF 液位2液位2上限 THEN 水泵=0 ENDIF ENDIF!SetAlmValue(液位1,液位1上上限,4 )!SetAlmValue(液位1,液位1下下限,1 )!SetAlmValue(液位2,液位2上上限,4 )!SetAlmValue(液位2,液位2下下限,1
16、 )报警数据可以从报警信息浏览里获得,在运行策略里添加报警策略,再添加策略行在菜单组态中添加报警数据菜单,并执行报警策略,这样在运行环境下我们就可以查看报警数据了。7.数据显示功能 在用户窗口里新建一个窗口,定义为数据显示窗口,其功能是用来显示实时数据,在窗口组态环境中加入一个数据表格如下,并给表格连接上相应数据即可实时观测各个数据。 历史数据显示采用的方法是在运行策略中添加了历史数据策略,并添加如下策略行,存盘数据浏览数据来源为液位组,显示为所有存盘数据。然后在菜单组态中添加菜单历史数据,并让其运行历史数据策略即可以在运行环境下看到历史数据了。8.操作权限区分系统权限管理:进入主控窗口,在系
17、统属性里设置系统运行权限为许可工程师组和操作员组可以进入此系统,并设置为进入登陆,退出不登录。操作权限设置:进入用户窗口,在水池液位上限,下限,水塔液位上限,下限权限设置为工程师组。经过以上处理,工程师组和操作员组均可以登录系统,但只有工程师组的用户才可以修改上下限值。此外还可以设置工程文件的密码保护。9.PLC程序 由于原PLC程序与现在的系统不适应,所以应做相应修改。以下几行程序是为了将AIW0,2里的数字转化为对应的水池或水塔液位而用的。AIW0里的数据为16位的,要想将其转化为浮点实数,需要先转化为32位的,再转化为R的,然后进行运算即可。由于液位对应的电压为15V,所以中间加了一句判
18、断,当转化成的电压大于1V时,才将其转化为液位,否则我们调电压时可能会出现负值。VD0即为转化后的水池液位,VD4为转化后的水塔液位VD8-VD20里放的是上下限,判断阀和泵的状态而使用的。五 .实验总结通过进一周的实习,对PLC编程及MCGS组态软件的使用均有了一定程度的了解,在实验过程中锻炼了自己的编程能力及自学能力。该实验的实验内容(一),(二)均较为简单,可以只采用简单的梯形图语句就可以实现,前两个实验内容花费时间较少。MCGS组态软件则由于是初次使用,在掌握和熟悉上有一定难度。在实验过程中经常遇到问题,但通过思考,讨论,均顺利解决。长话短说,通过近一周的实习收获还是挺大的。真诚地感谢老师近一周的尽心指导!
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1