资源描述
本科实验报告
课程名称: 监控系统程序设计技术
实验项目: 加热反应炉监控系统
实验地点: 跨越机房
指导教师: 闫高伟老师
2012年 1 月 9 日
引言
一、设计任务和目的:
应用MCGS组态软件,监控加热反应炉自动控制系统。学习动画制作、控制流程的编写、变量设计、定时器构件的使用等多项操作。结合工程实例,对MCGS组态软件的组态过程、操作方法和实现功能等环节等环节进行全面的讲解,使学生对MCGS组态软件的内容、工作方法和操作步骤在短时间内有一个总体的认识。
二、监控系统分析和总体设计
2.1系统构成:本加热反应炉监控系统由上位机(MCGS)和下位机S7200CPU224PLC构成,系统构成示意图如图 所示。
2.2组态界面:
在开始组态过程之前,先对该工程进行剖析,一边从整体上把我整个工程的结构、流程、需实现的功能及如何实现这些功能。
2.3工程框架:
l 1个用户窗口:加热反应炉控制系统。主要包括:加热炉、加热电阻丝、四个阀、两个液位传感器、压力传感器、温度传感器、温度计、压力表、加热指示灯、流动管件、六个控制按钮。
l 定时器构件的使用
l 3个策略:启动策略、退出策略、循环策略
2.4数据对象:
2.5图形制作:
机械手控制系统窗口
l 加热炉、加热电阻丝、加热指示灯
l 卸放阀、进料阀、氮气阀、排气阀、温度计、压力表
l 六个控制按钮、上下液位传感器、压力传感器、温度传感器。
2.6流程控制:
按启动按钮后,系统运行;按停止按钮后,系统停止。两者信号总相反。
第一阶段:送料控制
1、检测下液面X1、炉内温度X2、炉内压力X4是否都小于给定值(都为“0”)。
若是,则开启排气阀Y1和进料阀Y2。
2、当液位上升到上液面X3时,应关闭排气阀Y1和进料阀Y2。
3、延时10s,开启氮气阀Y3,氮气进入反应炉,炉内压力上升。
4、当压力上升到给定值时,即X4=1,关断氮气阀,送料结束。
第二阶段:加热反应控制
1、接通加热炉电源Y5。
2、当温度升到给定值时(此时信号X2=1),切断加热电源,加热过程结束。
第三阶段:泄放控制
1、延时10s,打开排气阀Y1,使炉内压力降到给定值以下(此时 X4=0)。
2、打开泻放阀Y4,当炉内溶液降到下液面以下(此时X1=0),关闭泻放阀Y4和排气阀Y1。系统恢复到原始状态,准备进入下一个循环
安全机制:
对工程进行加密
三、系统的IO点表
四、监控界面设计说明:
4.1建立工程
可以按如下步骤建立样例工程:
[1]鼠标单击文件菜单中“新建工程”选项,如果MCGS安装在D盘根目录下,则会在D:\MCGS\WORK\下自动生成新建工程,默认的工程名为:“新建工程X.MCG”(X表示新建工程的顺序号,如:0、1、2等)
[2] 选择文件菜单中的“工程另存为”菜单项,弹出文件保存窗口。
[3] 在文件名一栏内输入“加热反应炉控制系统”,点击“保存”按钮,工程创建完毕
4.2 制作工程画面
4.21建立画面
[1] 在“用户窗口”中单击“新建窗口”按钮,建立“窗口0”。
[2] 选中“窗口0”,单击“窗口属性”,进入“用户窗口属性设置”。
[3] 将窗口名称改为:加热反应炉控制;窗口标题改为:加热反应炉控制;窗口位置选中“最大化显示”,其它不变,单击“确认”。
[4] 在“用户窗口”中,选中“加热反应炉控制”,点击右键,选择下拉菜单中的“设置为启动窗口”选项,将该窗口设置为运行时自动加载的窗口。
4.2.2 编辑画面
选中“加热反应炉控制”窗口图标,单击“动画组态”,进入动画组态窗口,开始编辑画面。
4.2.3制作文字框图
[1] 单击工具条中的“工具箱”按钮,打开绘图工具箱。
[2] 选择“工具箱”内的“标签”按钮,鼠标的光标呈“十字”形,在窗口顶端中心位置拖拽鼠标,根据需要拉出一个一定大小的矩形。
[3] 在光标闪烁位置输入文字“加热反应炉监控系统”,按回车键或在窗口任意位置用鼠标点击一下,文字输入完毕。
[4] 如果需要修改输入文字,则单击已输入的文字,然后敲回车键就可以进行编辑,也可以单击鼠标右键,弹出下拉菜单,选择“改字符”。
[5] 选中文字框,作如下设置:
点击(填充色)按钮,设定文字框的背景颜色为:没有填充;
点击(线色)按钮,设置文字框的边线颜色为:没有边线。
点击(字符字体)按钮,设置文字字体为:宋体;字型为:粗体;大小为:26
点击(字符颜色)按钮,将文字颜色设为:蓝色。
4.2.4 图形的绘制
[1] 画电阻丝:单击绘图工具箱中“画线”工具按钮,挪动鼠标光标,此时呈“十字”形,在窗口适当位置按住鼠标左键并拖曳出一条一定长度的直线。单击“线色”按钮选择:黑色。单击“线型”按钮,选择合适的线型。调整线的位置(按←→↑↓键或按住鼠标拖动)。调整线的长短(按Shift和←→↑↓键,或光标移到一个手柄处,待光标呈“十字”形,沿线长度方向拖动)。调整线的角度(按Shift和←→↑↓键,或光标移到一个手柄处,待光标呈“十字”形,向需要的方向拖动)。线的删除与文字删除相同。单击“保存”按钮。
[2]画矩形的液面传感器:单击绘图工具箱中的“矩形”工具按钮,挪动鼠标光标,此时呈“十字”形。在窗口适当位置按住鼠标左键并拖曳出一个一定大小的矩形。单击窗口上方工具栏中的“填充色”按钮,选择:蓝色。单击“线色”按钮,选择:没有边线。调整位置( 按键盘的←→↑↓键,或按住鼠标左键拖曳)。调整大小(同时按键盘的 Shift键 和←→↑↓键中的一个;或移动鼠标,待光标呈横向或纵向或纵向或斜向“双箭头”形,按住左键拖曳)。单击窗口其他任何一个空白地方,结束第1个矩形的编辑。画面2个矩形分别代表上下液面传感器,单击“保存”按钮。
4.2.5 构件的选取
[1] 加热炉的绘制:单击绘图工具箱中的(插入元件)图标,弹出对象元件管理对话框,如图:
图2 反应炉构件的选择
双击窗口左侧“对象元件列表”中的“反应器”,展开该列表项,单击“反应器23”,单击“确定”按钮。画面窗口中出现反应器的图形。在反应器被选中的情况下,调整位置和大小。在机械手上面输入文字标签“机械手”。单击“保存”按钮。
[2] 画其他的构件:利用“插入元件”工具,分别画出四个阀门、温度传感器、压力传感器、温度计、压力计、指示灯等将大小和位置调整好。
[3]选中工具箱内的流动块动画构件图标,鼠标的光标呈“十”字形,移动鼠标至窗口的预定位置,点击一下鼠标左键,移动鼠标,在鼠标光标后形成一道虚线,拖动一定距离后,点击鼠标左键,生成一段流动块。再拖动鼠标(可沿原来方向,也可垂直原来方向),生成下一段流动块。
[4] 画按钮:单击画图工具箱的“标准按钮” 工具,在画图中画出一定大小的按钮。调整其大小和位置。绘制六个按钮。
4.26整体画面
4.3 定义数据对象
下面以数据对象“JIEDUAN”为例,介绍一下定义数据对象的步骤:
[1] 单击工作台中的“实时数据库”窗口标签,进入实时数据库窗口页。
[2] 单击“新增对象” 按钮,在窗口的数据对象列表中,增加新的数据对象,系统缺省定义的名称为“Data1”、“Data2”、“Data3”等(多次点击该按钮,则可增加多个数据对象)。
[3] 选中对象,按“对象属性”按钮,或双击选中对象,则打开“数据对象属性设置” 窗口。
[4] 将对象名称改为:垂直移动量;对象类型选择:开关型;在对象内容注释输入框内输入:“系统所处的运行阶段”,单击“确认”。
按照此步骤,根据上面列表,设置其他21个数据对象。如下图:
图3 数据对象属性设置
4.4 动画连接
4.4.1按钮的动画设置
[1] SB1、SB2 按钮的动画连接:双击“SB1”,弹出“标准按钮构件属性设置”窗口,单击“脚本程序”标签,显示该页,输入SB1=1、SB2=0 如图3所示。选中双击“SB2”按钮。用同样的方法建立复位按钮与对应变量之间的动画连接。输入SB2=1,SB1=0单击“保存”按钮。
图4 标准按钮构件属性脚本程序设置
[2] X1、X2、X3、X4按钮的设置。“X1”按钮的连接方式略有不同,在标准按钮构件属性设置窗口中,打开操作属性标签。选中数据对象值操作,点中“?”选数据库中的“X1”参量,在前面的操作中选“取反操作”具体操作如图。其他X2、X3、X4参量设置和X1类同。
图5 标准按钮构件属性操作属性设置
4.4.2 构件动画的设置
[1] 排气阀、进料阀、氮气阀、泄放阀关断或者打开状态表示。双击排气阀构件,弹出单元设置属性菜单。打开动画连接标签,点选动画连接页面上的组合图符。点击组合图符后面的”>”,弹出动画组态属性设置页面。打开属性设置标签,选中颜色动画连接项中的填充颜色。此时在动画组态属性页面中出现填充颜色标签。打开填充颜色标签,表达式项选中数据库的Y1参量,在下面的填充颜色连接中,增添两个填充颜色,Y1的具体操作过程,由图1和图2所示。从图2动画组态单元中我们可以看出,实现动画连接主要有颜色动画连接、位置动画连接、输入输出三大类,再每大类中又有三个小项。因此在本实训中表达排气阀开关的动画同时可以采用其他的动画方式,颜色动画模式仅供参考。按照排气阀的模式,同样设置好进料阀、氮气阀及泄放阀的颜色动画设置。
图6 排气阀单元属性设置
图7 排气阀动画组态单元设置
[2] 温度传感器、压力传感器、上下液面传感器是否达到设定值的动画变化以及电阻丝的加热状态的动画表示。该类构件的动画方法都采用颜色变化方式和排气阀动画设置类似。
[3] 电热丝指示灯的动画设置。双击指示灯构件。双击排气阀构件,弹出单元设置属性菜单。打开动画连接标签,点选动画连接页面上的三维圆球。点击组合图符后面的”>”,弹出动画组态属性设置页面。打开属性设置标签,选中特殊动画连接项中的可见度。此时在动画组态属性页面中出现可见度标签。打开可见度标签,表达式项填Y5=0。对单元设置属性中的另外一个三维圆球进行同样的动画设置。由图1和图2所示。
图8 指示灯构件单元属性设置
图9 指示灯构件动画组态属性设置
[4] 反应炉水位变化及管道流动变化动画设置。反应炉液面设置,双击反应炉构件。弹出单元属性设置页面。打开动画连接标签,选中矩形,再点击“>”符号,弹出动画组态属性设置。
图10 反应炉单元属性设置
点选位置动画连接项中大小变化,在动画组态属性设置页中生成大小变化标签,打开大小变化标签,进行设置,在表达式项里,选择数据库中的水参量,在大小变化连接项目里,最小变化百分比为0,表达式值取0,最大变化百分比100,表达式值80。变化方向取向上方向,变化方式取剪切式。具体设置如下图所示。
图11 反应炉动画组态属性设置
管道流动属性动画的设置。双击排气阀两端的管道,弹出流动块属性设置页面。打开流动属性标签。表达式项填Y1=0。当表达式非零时项,选流动块开始流动。如下图所示。
图12 管道流动块构件属性设置
[5] 温度计和压力表动画属性设置。双击温度计构件,弹出单元属性设置页面。打开动画连接标签,选中百分比填充,单击“>” 弹出百分比填充构件属性设置页面。表达式选中数据库里的温度参量,在添充位置和表达式值的连接项中,0%的对应值为0,100%的对应值为100。
图13 温度计动画设置
压力计动画设置。双击压力计构件。弹出单元属性设置页面,选中旋转仪表,点击后面的“>”弹出旋转仪表构件属性设置页面,点击操作属性标签,弹出操作属性界面,在表达式项中填入压力参量,其他的指针位置和表达式的连接值不变。
图14 压力计动画设置
4.4.3 控制程序的编写
[1] 定时器的使用。单击屏幕左上角的工作台图标,弹出“工作台”窗口。单击“运行策略”选项卡,进入“运行策略”页,如图所示。选中“循环策略”,单击右侧“策略属性”按钮,弹出“策略属性设置”窗口,如图所示。在“定时循序执行,循环时间[ms]”一栏,填入200。单击“确认”按钮。选中“循环策略”,单击右侧“策略属性”按钮,弹出“策略组态:循环策略”窗口。单击“工具箱”按钮,弹出“策略工具箱”,如图所示。在工具栏找到“新增策略行”按钮,单击,在循环策略窗口出现了一个新策略,如图所示。在“策略工具箱”选中“定时器”,光标变为小手形状。单击新增策略行末端的方块,定时器被加到该策略。定时器的功能分为,启停功能:在需要的时候被启动,在需要的时候被停止。计时功能:启动后进行计时。计时时间设定功能,即可以根据需要设定时计时。状态报告功能:即是否到设定时间。复位功能,即在需要的时候重新开始记时。对定时器属性设置。双击新增策略行末端的定时器方块,出现定时器属性设置。如图所示。
图15 定时器构件的设定
在“设定值”栏填入:10,代表设定时间为12s。在“当前值”栏,填入:ZHV3。在“计时条件”一栏填入 ZHV2=1。在“复位条件”一栏,填入:ZHV2=0。在“计时状态”一栏填入ZHV1。在“内容注释”一栏,填入:定时器。单击“确认”按钮,退出定时器属性设置。保存。
[2] 脚本程序基本语句。
单击工具栏“新增策略行”按钮,在定时器下增加一行新策略。选中策略工具箱的“脚本程序”,光标变为手形。单击新增策略行末端的小方块,脚本程序被加到该策略。双击“脚本程序”策略行末端的方块。出现脚本程序编辑窗口。输入如下的程序清单。
图16 循环策略的组态
程序清单如下:
'水位变化动画效果
IF Y2=0 THEN '进料阀开
水=水+0.5
IF 水>80 THEN
水=80
ENDIF
ENDIF
IF 水>=70 then'上限液位器报警
X3=1
ELSE
X3=0
ENDIF
IF Y4=0 THEN '泻放阀开
水=水-0.5
IF 水<0 THEN
水=0
ENDIF
ENDIF
IF 水<=20 THEN '下限液位器报警
X1=0
ELSE
X1=1
ENDIF
'压力变化控制
IF Y3=0 THEN
压力=压力+0.5
IF 压力>100 THEN
压力=100
ENDIF
ENDIF
IF Y1=0 THEN
压力=压力-0.5
IF 压力<0 THEN
压力=0
ENDIF
ENDIF
IF 压力>=80 THEN
X4=1
ELSE
X4=0
ENDIF
'温度控制
IF Y5=0 THEN
温度=温度+0.5
IF 温度>100 THEN
温度=100
ENDIF
IF 温度<0 THEN
温度=0
ENDIF
ENDIF
IF 温度>=80 THEN
X2=1
ENDIF
'动作控制
IF SB2=1 THEN '按下停止按钮,所以阀断开
Y1=1
Y2=1
Y3=1
Y4=1
Y5=1
ENDIF
IF SB1=1 THEN '按下启动按钮
IF JIEDUAN=0 THEN '如果是第1阶段,则
IF X1=0 AND X2=0 AND X4=0 THEN
Y1=0 '排气,压力开始下降
Y2=0 '进料,液位开始上升
ENDIF
IF X3=1 THEN '液位升到上限
Y1=1 '停止排气
Y2=1 '停止进料
ZHV2=1 '启动定时器
ENDIF
IF ZHV1=1 THEN '时间到
Y3=0 '进氮气,压力开始上升
ENDIF
IF X4=1 THEN '压力升到给定值
Y3=1 '停止进氮气
JIEDUAN=1 '进入第2阶段
ZHV2=0 '清零并停止定时器
ENDIF
ENDIF
IF JIEDUAN=1 THEN '处于第二阶段时
IF X2=0 THEN
Y5=0 '加热,温度开始上升
ENDIF
IF X2=1 THEN '温度升到设定值
Y5=1 '停止加热
ZHV2=1 '启动定时器
JIEDUAN=2 '进入第3个阶段
ENDIF
ENDIF
温度=温度-0.1
IF JIEDUAN=2 THEN '处于第三个阶段
IF ZHV1=1 THEN
ZHV2=0 '清零并停止定时器
Y1=0 '排气,压力开始下降
Y4=0
IF 温度<=80 THEN X2=0 '放料,液位开始下降
ENDIF
IF X4=0 THEN Y1=1 '压力降到设定值以下,停止排气
IF X1=0 THEN Y4=1 '液位降到下限以下,停止放料
IF Y1=1 AND Y4=1 THEN JIEDUAN=0 '从新进入第1阶段
ENDIF
ENDIF
五、运行策略程序及说明
加入了报警策略。制作方法如下:
5.1定义报警
需设置报警的数据对象:水
具体操作如下:“水”
1、 进入实时数据库,双击对象
2、 选中“报警属性”,选中“允许进行报警处理”,报警设置域被激活
3、 选中报警设置中的“下限报警”,设为10;注释:“水快没了!”
4、 选中“上限报警”,报警值:60,注释:“水快满了!”
5、 单击“存盘属性”,点击“自动产生的报警信息”
6、 单击“确认”
同理,设计温度和压力的报警参数与之一样。
5.2制作报警显示画面
实时数据库只负责关于报警的判断、通知和存储三项工作,二报警产生后索要进行的其他处理操作(即对报警动作的响应),组态时实现,如下:
1.建立报警用户:
2.设置报警显示构件,各参数如图:
5.3报警数据浏览
1.在“运行策略”中单击“新建策略”
2.选中“用户策略”,确定。
3.在“策略1”中,单击“属性设置”,具体如图:
4.双击进入“报警策略”组态。
5.新增策略行,加入“报警数据浏览”,双击此图标,设置“报警信息浏览构件属性设置”。
6.具体如下图:
5.4设置在运行环境中看到的报警数据:
1、在MCGS工作台上,单击“主控窗口”,单击“菜单组态”进入。
2、新增惨淡,产生“操作0”菜单
3、具体如下图:
确认,“F5”进入组态环境,就可以看见如下图:
5.5修改报警值:
在实时数据库中,增加俩个变量,水位上限,水位下限
具体操作:
在报警窗口中,制作如下书签:双击 图标设置。只要设置操作属性即可。
5.6控制流程:
双击进入脚本程序编辑环节,增加
!SetAlmValue(水,水位上限,60)
!SetAlmValue(水,水位下限,10)
六、报表和曲线输出
最终效果图:
则运行时的效果:
七、封面
八、安全机制
用户描述:操作员
密码:123
确认密码:123
隶属用户组:操作员组
[1]
[2]
[3]
具体操作步骤:
[1]回到MCGS工作台,选择工具菜单“工程安全管理”中的“工程密码设置”。
这时弹出的对话框如图:
[2]在新密码,确认密码中填入123,单击确认,设置完毕。
八、总结
这次课程设计过程中,遇到一些问题。刚开始的时候,认为挺简单的,但在做的时候,感到这也不会,那也不清楚。不会的时候找同学问,不清楚的时候看书弄明白。在实验中,有一点不明白的地方,都可能造成设计的失败。这使得我们重新的去看书把要用到的知识掌握牢固。同时,设计是我从实际方面综合运用《组态软件》上的知识,知识不再是像书本上那样空洞,自然也更深刻。最后感谢指导老师的精心指导,让我的课程设计顺利完成。
参考文献
[1] 曹辉,马栋萍,王暄等主编.组态软件技术及应用.电子工业出版社
[2] 刘广瑞,刘荣福. 加热反应炉可视化控制技术[J],中国科技信息,2006,22:75-80.
[3] 袁秀英.组态控制技术[M],北京:电子工业出版社,2006.
[4] 吴作明.工控组态软件 PLC 应用技术[M].北京:北京航空航天大学出版社,2006.
[5 ]北京昆仑通态自动化软件科技有限公司 MCGS 工控组态软件用户指南[M],2003.
运行时的图:
展开阅读全文