敬告:阅读本文前需要对HMI组态有一定的基础。
参考自:
《昆仑通态初级教程》
《昆仑通态中级教程》
《昆仑通态组态模板》
MCGS 嵌入版包括组态环境和运行环境两部分,它的组态环境能够在基于Microsoft 的各种 32 位 Windows 平台上运行,运行环境则是在实时多任务嵌入式操作系统WindowsCE 中运行。
1 MCGS 嵌入版组态软件的组成
由主控窗口、设备窗口、用户窗口、实时数据库和运行策略五个部分构成:
主控窗口:用于对整个工程相关的参数进行配置,可设置封面窗口、运行工程的权限、启动画面、内存画面、磁盘预留空间等。
设备窗口:通过设备构件把外部设备的数据采集进来,送入实时数据库,或把实时数据库中的数据输出到外部设备。
用户窗口:工程里所有可视化的界面都是在用户窗口里面构建的
实时数据库:从外部设备采集来的实时数据送入实时数据库,系统其它部分操作的数据也来自于实时数据库
运行策略:通过对运行策略的定义,使系统能够按照设定的顺序和条件操作任务,实现对外部设备工作过程的精确控制
2软件的基本操作
2.1设备窗口的基本操作
设备窗口编辑界面有设备组态画面和设备工具箱两部分组成。
设备组态画面用于配置该工程需要通讯的设备。设备工具箱(右键菜单唤出)里是常用的设备,要添加或删除设备工具箱中的设备驱动时,可点击设备工具箱顶部的“设备管理”按钮,此处展示所有设备。
MCGS软件中把设备分成两个层次:父设备和子设备。
父设备与硬件接口相对应,可以设置串口号、波特率、数据位、停止位、校验方式。
子设备放在父设备下,用于与该父设备对应的接口所连接的设备进行通讯。其设备编辑窗口分为驱动信息区、设备属性区和通道连接区。
- 驱动信息区:显示该设备驱动版本、路径等信息。
- 设备属性区:设置采集周期、设备地址、通讯等待时间等通讯参数。
- 通道连接区:用于构建下位机寄存器与MCGS软件变量之间的映射。下位机寄存器地址在 MCGS 组态软件中叫做通道。
——通道处理:对从设备中采集到的数据或输出到设备的数据进行前处理,以得到实际需要的工程物理量。McgsPro组态软件从上到下顺序进行计算处理,每行计算结果作为下一行计算输入值,通道值等于最后计算结果值。
2.2用户窗口的基本操作
用户设备主界面可执行的操作
- 新建窗口
- 动画组态:功能同等于双击窗口图标,可以进入该窗口的编辑界面
- 窗口属性:包括基本属性、子窗口属性(将本窗口作为脚本使用)和脚本设置(启动脚本、循环脚本和退出脚本)
窗口编辑界面的主要部分是工具箱和窗口编辑区域。
不同构件的属性设置界面不同。
报警相关构件参见【报警】章节。
2.2.1常用控件简述
注意:所有控件都可以通过右下角状态栏设置控件左上角的坐标以及大小:
标签
MCGS最重要的控件之一,拥有多种属性。其基本属性设置界面分为属性设置页面、扩展属性页面,此外在任意combobox中进行勾选,将出现新的标签页。
此处对一些常用的、难以从字面意义上理解的属性进行注释。
- 属性设置:
颜色动画链接(根据设置,运行显示 颜色动画 所属分段点 填充/边线/字符 颜色)
位置动画连接
输入输出连接
——按钮输入:弹出变量值输入窗口,需要额外配置键盘属性
关于键盘类型
·系统默认键盘:输入时弹出系统默认样式键盘,系统默认键盘可以根据关联数据类型弹出对应形态的输入键盘。
·当前窗口键盘:输入时输入框不弹出键盘,而是通过物理键盘或窗口中已经组态的键盘进行输入操作。
·其它窗口键盘:其它窗口键盘是用户自定义的键盘窗口。“键盘窗口”指定用户自定义键盘所在的窗口位置; “自定义位置”指定键盘弹出的位置。
可见度:仅可设置可见和不可见,无法设置为渐变
背景图:勾选此选项后,标签可实现图片展示
所谓动画连接,实际上是将用户窗口内创建的图形对象与变量管理中定义的变量,建立起对应的关系,用变量的值来驱动图形对象的状态改变。
标准按钮
其基本属性设置界面分为基本属性页面、操作属性页面、脚本程序、安全属性。
标准按钮似乎不支持自锁状态,因而需要通过动画按钮实现。
动画按钮
动画按钮构件是一种特殊的按钮构件,专门用于实现多档开关的效果。
变量属性:动画按钮构件可以关联两个变量:显示变量和设置变量。
设置变量和显示变量间没有必然的联系。如果只有显示变量,构件没有按钮动作;如果只有设置变量,构件只有按钮动作,没有变量显示的功能;如果设置变量和显示变量关联同一个变量,构件执行按钮动作的同时改变自身的显示状态。
动画显示
通过和显示变量建立连接,动画显示构件用显示变量的值驱动切换显示多幅图像、文字。
2.3通道连接
2.3.1先添加通道,再关联变量
-
添加位通道:在设备窗口,双击相应驱动进入“设备编辑窗口”,单击“增加设备通道”按钮,弹出“添加设备通道”对话框,选择通道类型,数据类型,通道地址,通道个数和读写方式。
——
McgsPro组态软件的设备中一般都包含有一个或多个用来读取或者输出数据的物理通道(模拟量输入/输出、开关量输入/输出),这样的物理通道称为设备通道。
设备构件的每个设备通道及其输入/输出数据的类型由硬件本身决定,因而连接的设备通道与对应的变量的类型必须匹配,否则连接无效。 -
通道关联变量:在设备编辑窗口选择“快速连接变量”按钮,进入“快速连接”对话框,选择“默认设备变量连接”,点击“确认”回到设备编辑窗口,将为所有空连接列表自动生成变量名。在设备编辑窗口点击“确认”,系统弹出“添加数据对象”的提示框,选择“全部添加”,所建立的变量会自动添加到实时数据库。
——
通道连接,指由用户指定设备通道与变量之间的对应关系
2.3.2先添加变量,再关联通道
通常推荐这种方式。
在实际应用中,开始可能并不知道系统所采用的硬件设备,可以利用McgsPro组态软件系统的设备无关性,先在实时数据库中定义所需要的变量,组态完成整个应用系统,在最后的调试阶段,再把所需的硬件设备接上,进行设备窗口的组态,建立设备通道和对应变量的连接。
2.4在线模拟
按图中标识序号顺序操作,即可实现在线模拟:
3报警
在报警形式上分为字报警、位报警、多状态报警、弹出窗口显示报警信息。
多状态报警:值不同时,提示不同的故障信息
在报警构件上,有报警条(走马灯)、报警显示构件、报警浏览构件
3.1报警形式
3.1.1弹出窗口方式报警
用子窗口弹出来实现,运用报警策略来及时判断报警是否发生,并设置子窗口显示的大小和坐标。
- 变量的报警属性设置:切换到“实时数据库”,打开相关变量的属性设置对话框,在报警属性页,勾选“允许进行报警处理”,设置报警类型、报警值和报警注释
- 配置报警窗口:添加新窗口并设置显示信息,注意设置窗口大小
- 配置报警开始策略:在运行策略窗口中新建报警策略,右击菜单新增策略行,然后右击菜单打开策略工具箱,选中策略行图示区域,然后点击工具箱中的脚本程序,将该区域设置为脚本程序按钮;
双击下图中图标,进入策略属性设置,设置策略名称、选择变量(数据对象)、对应的报警状态(执行条件),此处设置为报警 “产生时,执行一次”
4. 双击下图中图标,进入脚本程序设置,添加脚本条件**!OpenSubWnd(参数1, 参数2, 参数3, 参数4, 参数5, 参数6)**来打开报警窗口。
参数解释:
参数1,用户窗口名
参数2,打开子窗口相对于本窗口的X坐标iLeft
参数3,打开子窗口相对于本窗口的Y坐标iTop
参数4,打开子窗口的宽度iWidth,此处设置为同子窗口大小一致
参数5,打开子窗口的高度iHeight,此处设置为同子窗口大小一致
参数6,打开子窗口的类型,此处设置为0
举例:
!OpenSubWnd(窗口1,0,0,400,240,2)
在位置(0,0)打开大小为400*200,子窗口名为“窗口1”的菜单子窗口
- 配置报警结束策略:弹出的报警窗口无法直接关闭,为此还需要采用同样的方式新建报警结束策略,对应的报警状态选择“报警结束时,执行一次”,脚本程序为
!CloseSubWnd(窗口 1 )
在 MCGS 嵌入版中,脚本语言是一种语法上类似 Basic 的编程语言。
4动画
4.1闪烁
可以使用标签的 特殊动画连接-闪烁效果 来实现动画闪烁(部分控件也支持此功能)。
勾选“闪烁效果”后,在闪烁效果标签页的表达式一栏输入关联变量,此处填写 1,表示条件永远成立。可以选择标签是通过可见度闪烁还是颜色闪烁。
4.2移动
分为水平移动和垂直移动,仍然可以通过标签实现(部分控件也支持此功能),使用标签的 位置动画连接-水平移动/垂直移动 来实现动画移动。
以水平移动为例,勾选“水平移动”,在水平移动标签页中添加关联变量,在“水平移动连接”中,移动偏移量即表示标签水平移动的距离(像素点为单位),最小移动偏移量同变量值1相对应,最大移动偏移量同变量值2相对应。图中填入的值表示,当i值为0时,标签不动;当i值为100时,标签移动200个像素点:
为了使变量值有所变化,可以通过为用户窗口添加脚本来实现。
以循环脚本为例,在 用户窗口属性设置-循环脚本 添加如下程序段:
其含义为标签每100ms水平移动一次,距离为两个像素点,当标签移动到终点时,i值清零使标签回到原点。
4.3棒图
棒图通常需要两个控件,一个控件作为坐标平面、一个控件作为棒图。
本例以矩形控件作为坐标平面和棒图。坐标平面为静态,所以只需设置动态的棒图。
勾选“大小变化”,在大小变化标签页中添加关联变量,在“大小连接”中,变化百分比即表示当前棒图高度最高高度的百分比,最小变化百分比同变量值1相对应,最大变化百分比同变量值2相对应。图中填入的值表示,当i值为0时,棒图指示为百分之零,此时棒图消失;当i值为100时,棒图指示为百分之百。
此外还需进行变化方向设置。
同样需要通过为用户窗口添加脚本来实现动画效果,可参考“移动”章节。
5配方
可以将配方存储于PLC或HMI中。
本节以后者为例,此模式的配方功能,所有配方数据均存储于 HMI 中,运行时可以利用组态软件的配方功能方便地进行查看和修改,如果需要查看 PLC 中当前使用的数据,可将 PLC 中对应地址的数据通过通道读取上来并显示在组态中。
-
添加变量
新建相应变量,随后新建组对象(组对象也是一种变量,在“对象类型”中勾选“组对象”),将之前创建的变量设置为组成员(在组对象的“组对象成员”标签页中添加)。创建变量的目的是关联显示配方数据。 -
添加和配置PLC设备
像之前那样。 -
使用配方组态工具
•主菜单>工具(T)>配方组态设计,打开配方组态设计工具。
•新建配方组并重命名(菜单中修改)。
•格式(M)>增加一行(I),新建相应的配方成员,一个配方成员对应一个此前创建的变量(右键弹出变量选择菜单)。
•点击“使用变量名作列标题名”按钮,使配方成员名与变量名一致。
•编辑(E)>编辑配方(E),打开配方修改对话框。在配方修改对话框中点击“增加”按钮,即可增加一个配方项,在此填入相关参数。
•保存并退出。 -
界面组态
-
脚本编写
下载配方到PLC:
设备字符串 = !StrFormat("%g,%g,%g", 面粉, 水, 糖)
!SetDevice(设备 0, 6, "WriteBlock(V,100,[WUB][WUB][WUB], 1, 设备字符串)")
查看HMI配方数据:
!RecipeLoadByDialog("面包配方","请选择一个面包配方" )
编辑HMI配方数据:
!RecipeModifyByDialog("面包配方")