组态控制技术题目:储液罐水位监控系统的设计方案院系:电子工程学院班级:13321学号:12姓名:赵旭朝2015年10月储液罐系统监控软件的设计与调试1、工程的建立在菜单“文件”中选择“新建工程”菜单项,如果MCGS安装在D:根目录下,则会在D:\MCGS\WORK\下自动生成新建工程,默认的工程名为新建工程X.MCG(X表示新建工程的顺序号,如:0、1、2等)。如下图:2、建立新画面在MCGS组态平台上,单击“用户窗口”,在“用户窗口”中单击“新建窗口”按钮,则产生新“窗口0”,即:选中“窗口0”,单击“窗口属性”,进入“用户窗口属性设置”,将“窗口名称”改为:水位控制;将“窗口标题”改为:水位控制;在“窗口位置”中选中“最大化显示”,其它不变,单击“确认”。选中刚创建的“水位控制”用户窗口,单击“动画组态”,进入动画制作窗口。单击“工具”菜单,选中“对象元件库管理”或单击工具条中的“工具箱”按钮,则打开动画工具箱,工具箱中的图标用于从对象元件库中读取存盘的图形对象;图标用于把当前用户窗口中选中的图形对象存入对象元件库中。从“对象元件库管理”中的“储藏罐”中选取中意的罐,按“确认”,则所选中的罐在桌面的左上角,可以改变其大小及位置,如罐17、罐53。从“对象元件库管理”中的“阀”和“泵”中分别选取2个阀(阀44、阀58)、1个泵(泵40)。流动的水是由MCGS动画工具箱中的“流动块”构件制作成的。选中工具箱内的“流动块”动画构件()。移动鼠标至窗口的预定位置,(鼠标的光标变为十字形状),点击一下鼠标左键,移动鼠标,在鼠标光标后形成一道虚线,拖动一定距离后,点击鼠标左键,生成一段流动块。再拖动鼠标,生成下一段流动块。当用户想结束绘制时,双击鼠标左键即可。当用户想修改流动块时,先选中流动块,鼠标指针指向小方块,按住左键不放,拖动鼠标,就可调整流动块的形状。用工具箱中的图标,分别对阀,罐进行文字注释,方法见上面做“水位控制系统演示工程”。最后生成的画面如下图所示:选择菜单项“文件”中的“保存窗口”,则可对所完成的画面进行保存。4、定义数据变量在前面我们讲过,实时数据库是MCGS工程的数据交换和数据处理中心。数据变量是构成实时数据库的基本单元,建立实时数据库的过程也即是定义数据变量的过程。定义数据变量的内容主要包括:指定数据变量的名称、类型、初始值和数值范围,确定与数据变量存盘相关的参数,如存盘的周期、存盘的时间范围和保存期限等。下面介绍水位控制系统数据变量的定义步骤。分析变量名称:下表列出了样例工程中与动画和设备控制相关的变量名称。变量名称类型注释水泵开关型控制水泵“启动”、“停止”的变量调节阀开关型控制调节阀“打开”、“关闭”的变量出水阀开关型控制出水阀“打开”、“关闭”的变量液位1数值型水罐1的水位高度,用来控制1#水罐水位的变化液位2数值型水罐2的水位高度,用来控制2#水罐水位的变化液位1上限数值型用来在运行环境下设定水罐1的上限报警值液位1下限数值型用来在运行环境下设定水罐1的下限报警值液位2上限数值型用来在运行环境下设定水罐2的上限报警值液位2下限数值型用来在运行环境下设定水罐2的下限报警值液位组组对象用于历史数据、历史曲线、报表输出等功能构件鼠标点击工作台的“实时数据库”窗口标签,进入实时数据库窗口页。按“新增对象”按钮,在窗口的数据变量列表中,增加新的数据变量,多次按该按钮,则增加多个数据变量,系统缺省定义的名称为“Data1”、“Data2”、“Data3”等选中变量,按“对象属性”按钮或双击选中变量,则打开对象属性设置窗口。指定名称类型:在窗口的数据变量列表中,用户将系统定义的缺省名称改为用户定义的名称,并指定类型,在注释栏中输入变量注释文字。本系统中要定义的数据变量如下图所示,以“液位1”变量为例。在基本属性中,对象名称为:液位1;对象类型为:数值;其它不变。液位组变量属性设置,在基本属性中,对象名称为:液位组;对象类型为:组对象;其它不变。在存盘属性中,数据对象值的存盘选中定时存盘,存盘周期设为5秒。在组对象成员中选择“液位1”,“液位2”。具体设置如下图:水泵、调节阀、出水阀三个开关型变量,属性设置只要把对象名称改为:水泵、调节阀、出水阀;对象类型选中“开关”,其它属性不变。如下图:5、动画连接由图形对象搭制而成的图形界面是静止不动的,需要对这些图形对象进行动画设计,真实地描述外界对象的状态变化,达到过程实时监控的目的。MCGS实现图形动画设计的主要方法是将用户窗口中图形对象与实时数据库中的数据对象建立相关性连接,并设置相应的动画属性。在系统运行过程中,图形对象的外观和状态特征,由数据对象的实时采集值驱动,从而实现了图形的动画效果。在用户窗口中,双击水位控制窗口进入,选中水罐1双击,则弹出单元属性设置窗口。选中折线,则会出现,单击则进入动画组态属性设置窗口,按下图所示修改,其它属性不变。设置好后,按确定,再按确定,变量连接成功。对于水罐2,只需要把“液位1”改为“液位2”;最大变化百分比100,对应的表达式的值由10改为6即可。如图:在用户窗口中,双击水位控制窗口进入,选中调节阀双击,则弹出单元属性设置窗口。选中组合图符,则会出现,单击则进入动画组态属性设置窗口,按下图所示修改,其它属性不变。设置好后,按确定,再按确定,变量连接成功。水泵属性设置跟调节阀属性设置一样。出水阀属性设置,我们可以在“属性设置”中调入其它属性,如下图:在用户窗口中,双击水位控制窗口进入,选中水泵右侧的流动块双击,则弹出流动块构件属性设置窗口。按下图所示修改,其它属性不变。水罐1右侧的流动块与水罐2右侧的流动块在流动块构件属性设置窗口中,只需要把表达式相应改为:调节阀=1,出水阀=1即可,如下图:到此动画连接我们已经做好了,让我们先让工程运行起来,看看我们自己的劳动成果。在运行之前我们需要做一下设置。在“用户窗口”中选中“水位控制”,单击鼠标右键,点击“设置为启动窗口”,这样工程运行后会自动进入“水位控制”窗口。在菜单项“文件”中选“进入运行环境”或直接按“F5”或直接按工具条中图标,都可以进入运行环境。这时我们看见的画面并不能动,移动鼠标到“水泵”、“调节阀”、“出水阀”上面的红色部分,会出现一只小“手”,单击一下,红色部分变为绿色,同时流动块相应地运动起来。但水罐仍没有变化,这是由于我们没有信号输入,也没有人为地改变其值。我们现在可以用如下方法改变其值,使水罐动起来。先在“工具箱”中单击“常用符号”构件,在它的工具箱中选中图标,当鼠标变为“十”后,拖动鼠标到适当大小。再选中矩形图标,在凹平面上拖动适当大小,留出凹平面四周轮廓。然后双击矩形进入属性设置窗口,点击填充颜色下拉框选中“填充效果”,在渐进色属性页中选择双色,设置“颜色1”为蓝灰色,“颜色2”为白色。底纹样式选择为“横向”,点击变形的第一个样式效果(从上到下,由颜色1向颜色2渐变)。设置如下:在“工具箱”中选中滑动输入器图标,当鼠标变为“十”后,在以上“填充效果”框内拖动鼠标到适当大小,然后双击进入属性设置,具体操作如下图所示,以液位1为例:在“滑动输入器构件属性设置”的“操作属性”中,把对应数据对象的名称改为:液位1,可以通过单击图标,到库中选,自己输入也可;“滑块在最右边时对应的值”为:10。在“滑动输入器构件属性设置”的“基本属性”中,在“滑块指向”中选中“指向左(上)”,其它不变。在“滑动输入器构件属性设置”的“刻度与标注属性”中,把“主划线数目”改为:5,即能被10整除,其它不变。属性设置好后,效果如下图所示:这时您再按“F5”或直接按工具条中图标,进入运行环境后,可以通过拉动滑动输入器而使水罐中的液面动起来。为了能准确了解,水罐1、水罐2的值,我们可以用数字显示其值,具体操作如下:在“工具箱”中单击“标签”图标,调整大小放在水罐下面,双击进行属性设置如图:在“工具箱”中单击“旋转仪表”图标,调整大小放在水罐下面,双击进行属性设置如图:这时您再按“F5”或直接按工具条中图标,进入运行环境后,可以通过拉动滑动输入器使整个画面动起来。6、模拟设备在“设备窗口”中双击“设备窗口”进入,点击工具条中的“工具箱”图标,打开“设备工具箱”,如图:如果在“设备工具箱”中没有发现“模拟设备”,请单击“设备工具箱”中的“设备管理”进入。在“可选设备”中您可以看到我们MCGS组态软件所支持的大部分硬件设备。在“通用设备”中打开“模拟数据设备”,双击“模拟设备”,按确认后,在“设备工具箱”中就会出现“模拟设备”,双击“模拟设备”,则会在“设备窗口”中加入“模拟设备”。双击,进入模拟设备属性设置,具体操作如下:在“设备属性设置”中,点击“内部属性”,会出现图标,单击进入“内部属性”设置,把通道1的最大值设为10,通道2的最大值设为6,其它不变,设置好后按”确认”按钮退到“基本属性”页。在“通道连接”中“对应数据对象”中输入变量,第一个通道对应输入液位1,第二个通道对应输入液位2,或在所要连接的通道中单击鼠标右键,到实时数据库中选中“液位1”“液位2”双击也可把选中的数据对象连接到相应的通道。在“设备调试”中您就可看到数据变化。这时您再进入“运行环境”,您就会发现您所做的“水位控制系统”自动地运行起来了。7、编写控制流程在“运行策略”中,双击“循环策略”进入,双击图标进入“策略属性设置”,如下图,只需要把“循环时间”设为:200ms,按确定即可。在策略组态中,单击工具条中的“新增策略行”图标,则显示如下图:在策略组态中,如果没有出现策略工具箱,请单击工具条中的“工具箱”图标,弹出“策略工具箱”,如下图:单击“策略工具箱”中的“脚本程序”,把鼠标移出“策略工具箱”,会出现一个小手,把小手放在上,单击鼠标左键,则显示如下:双击进入脚本程序编辑环境,按下图输入:IF液位19THEN水泵=1ELSE水泵=0ENDIFIF液位21THEN出水阀=0ELSE出水阀=1ENDIFIF液位11and液位26THEN调节阀=1ELSE调节阀=0ENDIF按”确认”退出,则脚本程序就编写好了,这时您再进入运行环境,就会按照您所需要的控制流程,出现相应的动画效果。8、报警显示与报警数据对于“液位1”变量,在实时数据库中,双击“液位1”,在报警属性中,选中“允许进行报警处理”;在报警设置中选中“上限报警”,把报警值设为:9米;报警注释为:水罐1的水已达上限值;在报警设置中选中“下限报警”,把报警值设为:1米;报警注释为:水罐1没水了。在存盘属性中,选中“自动保存产生的报警信息”。对于液位2变量来说,只需要把“上限报警”的报警值设为:4米,其它一样。如下图:属性设置好后,按“确认”即可。9、报警显示在MCGS组态平台上,单击“用户窗口”,在“用户窗口”中,选中“水位控制”窗口,双击“水位控制”或单击“动画组态”进入。在工具条中单击“工具箱”,弹出“工具箱”,从“工具箱”中单击“报警显示”图标,变“十”后用鼠标拖动到适当位置与大小。如下图:双击,再双击弹出如下图:在“报警显示构件属性设置”中,把“对应的数据对象的名称”改为:液位组,“最大记录次数”为:6,其它不变。按“确认”后,则报警显示设置完毕。10、工程效果图工程组态好后,最终效果图如下: