实训2 超限报警
一、学习目标
1.掌握组态软件工具箱和“对象元件库管理”功能的使用。
2.掌握实时数据库中开关型对象和字符型对象的定义及使用方法。
3.熟悉循环策略编程中脚本程序的设计方法。
二、设计任务
1.一个整数从零开始每隔1000ms加1,界面中的储藏罐的液位随着累加数增加而上升,同时界面中的仪表指针随着累加数增加而转动。
2.当整数累加值达到8时,停止累加,储藏罐的液位停止上升,界面中的指示灯变换颜色,同时界面中出现提示信息“数值超限!”。
三、任务实现
1.建立新工程项目
二维码2-1 新建工程项目
双击桌面“MCGS组态环境”图标,进入MCGS组态环境。
1)单击“文件”菜单,从下拉菜单中选择“新建工程”命令,出现工作台窗口。
2)单击“文件”菜单,从下拉菜单中选择“工程另存为”命令,弹出“保存为”对话框,将文件名改为“超限报警”,单击“保存”按钮(此时建立的工程文件保存在指定文件夹中),进入工作台窗口。
3)单击工作台“用户窗口选项卡中的“新建窗口”按钮,在工作台窗口中新建“窗口0”。
4)选中“窗口0”,单击“窗口属性”按钮,弹出“用户窗口属性设置”对话框。将窗口名称改为“超限报警”,将窗口标题改为“超限报警”,在窗口内容注释文本框内输入“储藏罐液位报警”,窗口位置改为“最大化显示”,单击“确认”按钮。此时“窗口0”变为“超限报警”。
5)选择工作台窗口中的“主控窗口”选项卡,单击“系统属性”按钮,弹出“主控窗口属性设置”对话框,在“启动属性”选项卡中,将“用户窗口列表”中的“超限报警”增加到“自动运行窗口”中。
6)右击工作台“用户窗口”选项卡中的“超限报警”图标,在弹出的快捷菜单中选择“设置为启动窗口”命令。
2.制作图形界面
二维码2-2 制作图形画面
在工作台“用户窗口”选项卡中双击“超限报警”图标,进入“动画组态超限报警”窗口,此时工具箱自动加载(如果未加载,执行“查看”→“绘图工具箱”命令)。
1)添加1个“仪表”元件。单击工具箱中的“插入元件”图标,系统弹出“对象元件库管理”对话框,选择仪表库中的一个仪表对象(如仪表12),如图2-33所示,单击“确定”按钮,所设计的图形界面中出现选择的仪表元件。
图2-33 实训2选择仪表对象
2)添加1个“储藏罐”元件。单击工具箱中的“插入元件”图标,系统弹出“对象元件库管理”对话框,选择储藏罐库中的一个储藏罐对象(如罐50),单击“确定”按钮,所设计的图形界面中出现所选择的储藏罐元件。
3)添加一个“输入框”构件。单击工具箱中的“输入框”构件图标,然后将鼠标指针移动到所设计的图形界面上,单击空白处并拖动鼠标,画出一个适当大小的矩形框,这样就出现“输入框”构件。
4)添加1个“指示灯”元件。单击工具箱中的“插入元件”图标,系统弹出“对象元件库管理”对话框,选择指示灯库中的一个指示灯对象(如指示灯2),单击“确定”按钮,所设计的图形界面中出现所选择的指示灯元件。
5)添加一个“按钮”构件。单击工具箱中的“标准按钮”构件图标,然后将鼠标指针移动到界面上,单击空白处并拖动鼠标,画出一个适当大小的矩形框,这样就出现“按钮”构件。双击“按钮”构件,系统弹出“标准按钮构件属性设置”对话框,在“基本属性”选项卡将按钮标题改为“关闭”。
设计完的图形界面如图2-34所示。
图2-34 实训2图形界面
3.定义数据对象
二维码2-3 定义数码对象
在工作台窗口“实时数据库”选项卡,单击“新增对象”按钮,再双击新出现的对象,系统弹出“数据对象属性设置”对话框。
(1)定义1个数值型对象
在“基本属性”选项卡中,将对象名称改为“num”,对象类型选“数值”,小数位设为“0”,对象初值设为“0”,最小值设为“0”,最大值设为“100”,如图2-35所示。
定义完成后,单击“确认”按钮,会发现在工作台窗口“实时数据库”选项卡中增加了1个数值型对象“num”。
(2)定义1个字符型对象
在“基本属性”选项卡中,将对象名称改为“str”,对象类型选“字符”,对象初值设为“正常!”,如图2-36所示。
图2-35 实训2对象“num”属性设置
图2-36 实训2对象“str”属性设置
定义完成后,单击“确认”按钮,会发现在工作台窗口“实时数据库”选项卡中增加了1个字符型对象“str”。
(3)定义1个开关型对象
在“基本属性”选项卡中,将对象名称改为“灯”,对象类型选“开关”。
定义完成后,单击“确认”按钮,在工作台窗口“实时数据库”选项卡中增加了1个开关型对象“灯”。
建立的实时数据库如图2-37所示。
图2-37 实训2实时数据库
4.建立动画连接
二维码2-4 建立动画连接
在工作台窗口“用户窗口”选项卡中,双击“超限报警”图标,进入“动画组态超限报警”窗口。
(1)建立“仪表”元件的动画连接
双击窗口中“仪表”元件,系统弹出“单元属性设置”对话框。在“动画连接”选项卡中,图元名选择“标签”,其右侧出现按钮,如图2-38所示。单击按钮进入“动画组态属性设置”对话框,在“显示输出”选项卡中,在表达式中选择数据对象“num”,输出值类型选“数值量输出”,整数位数设为“2”,其他属性设置如图2-39所示。
图2-38 实训2仪表“单元属性设置”对话框
单击“确认”按钮回到“单元属性设置”对话框。
在“动画连接”选项卡,图元名选择“旋转仪表”,右侧会出现按钮。单击按钮进入“旋转仪表构件属性设置”对话框,在“操作属性”选项卡,在表达式中选择数据对象“num”,其他属性值设置如图2-40所示。
图2-39 实训2仪表“标签”属性设置
图2-40 实训2旋转仪表构件属性设置
单击“确认”按钮回到“单元属性设置”对话框,会发现连接表达式中出现连接的对象“num”,如图2-41所示。
单击“确认”按钮完成“仪表”元件的动画连接。
(2)建立“储藏罐”元件的动画连接
双击窗口中的“储藏罐”元件,系统弹出“单元属性设置”对话框。在“动画连接”选项卡中,选择图元名“矩形”,连接类型为“大小变化”,其右侧会出现按钮,如图2-42所示。单击按钮进入“动画组态属性设置”对话框,在“大小变化”选项卡中,表达式选择数据对象“num”,最小及最大表达式的值分别设为“0”和“10”,如图2-43所示。
图2-41 实训2出现仪表动画连接的对象“num”
图2-42 实训2储藏罐动画连接设置
图2-43 实训2储藏罐动画组态属性设置
单击“确认”按钮回到“单元属性设置”对话框,会发现动画连接表达式中出现连接的对象“num”。
再次单击“确认”按钮完成“储藏罐”元件的动画连接。
(3)建立“灯”元件的动画连接
双击窗口中的“灯”元件,系统弹出“单元属性设置”对话框。在“动画连接”选项卡中,在列表框的第一行中选择图元名“三维圆球”,连接类型为“可见度”,右侧出现按钮,如图2-44所示。单击按钮进入“动画组态属性设置”对话框,在“可见度”选项卡中,表达式选择数据对象“灯”,当表达式非零时选择“对应图符可见”,如图2-45所示,单击“确认”按钮回到“单元属性设置”对话框。
图2-44 实训2指示灯单元属性设置
图2-45 实训2指示灯动画组态属性设置
在列表框的第二行中选择图元名“三维圆球”,按上述步骤设置属性,表达式选择数据对象“灯”,当表达式非零时选择“对应图符不可见”。
单击“确认”按钮回到“单元属性设置”对话框,动画连接表达式中出现连接的对象“灯”,如图2-46所示。
图2-46 实训2指示灯动画连接
单击“确认”按钮完成“灯”元件的动画连接。
(4)建立“输入框”构件动画连接
双击窗口中的“输入框”构件,出现“输入框构件属性设置”对话框。在“操作属性”选项卡中将对应数据对象的名称设为“str”,如图2-47所示。
单击“确认”按钮完成“输入框”构件动画连接。
(5)建立“关闭”按钮构件的动画连接
双击“关闭”按钮构件,出现“标准按钮构件属性设置”对话框,如图2-48所示。在“操作属性”选项卡中,选择“关闭用户窗口”,在右侧下拉列表框中选择“超限报警”。
图2-47 实训2“输入框构件属性设置”对话框
图2-48 实训2“标准按钮构件属性设置”对话框
单击“确认”按钮完成“关闭”按钮动画连接。
5.策略编程
二维码2-5 策略编程
在工作台窗口的“运行策略”选项卡中双击“循环策略”项,系统弹出“策略组态:循环策略”编辑窗口,策略工具箱会自动加载(如果未加载,右击,选择“策略工具箱”命令)。
单击组态环境窗口工具条中的“新增策略行”按钮,在“策略组态:循环策略”编辑窗口中出现新增策略行。选中策略工具箱中的“脚本程序”,将鼠标指针移动到策略块图标上,通过单击添加“脚本程序”构件。
双击“脚本程序”策略块,进入“脚本程序”编辑窗口,在编辑区输入程序,如图2-49所示。
单击“确定”按钮,完成程序的输入。
关闭“策略组态:循环策略”编辑窗口,保存程序,返回到工作台窗口的“运行策略”选项卡中,选择“循环策略”项,单击“策略属性”按钮,系统弹出“策略属性设置”对话框,如图2-50所示,将策略执行方式的定时循环时间设置为1000ms,单击“确认”按钮完成设置。
图2-49 实训2编写脚本程序
图2-50 实训2“策略属性设置”对话框
6.程序运行
二维码2-6 程序运行
单击组态环境窗口工具条中的“进入运行环境”按钮或按下键盘上的〈F5〉键,系统开始运行工程。
可以看到,一个整数从零开始每隔1000ms加1,储藏罐液位逐渐上升,界面中仪表指针随着累加数增加而转动;当整数累加至8时,停止累加,指示灯颜色改变,界面中出现提示信息“数值超限!”。
程序运行界面如图2-51所示。
图2-51 实训2程序运行界面