图元开发的概述
图元是iCentroView在组态中提供的一个重要的功能。图元是组态中针对某一应用场景下的展示单元。图库是一组图元的集合。
通过图元制作,用户可将组态上的相类似效果、规则及工艺逻辑,封装在一组图元中。在组态编辑时,通过设置已开发图元的自定义属性,指定在画面上的图元实例自有特性(包括整形数据、字符串数据、画面名称、颜色及变量点等),即可实现对相似工艺的组态开发工作。
图元开发过程中,开发人员可随时启动调试,设置图元相关的自有特性值,直接查看图元展示效果,验证图元设计的逻辑。
图元修改后,组态画面中图元实例的对象、脚本、事件、方法等将自动更新。
图元为应用团队提供了自己的组态工艺单元的开发能力,增强了组态原件复用能力,使组态内容维护更加方便有效,提高了组态开发的工作效率。
本节内容主要包括:
更多图库设计器的使用参见图库系统介绍。
图元首先可以用在对象模式中,因为对象模式的高度相似性,当一个对象要控制的变量是同一个对象不同实例的时候,设计一个图元会比较合适。
示例场景:在前面的变量->对象模式的变量中,我们已经配置了类,此处示例,我们结合来做一个门的控制的图元,当变量值为1的时候,显示打开,变量值为0的时候,显示关闭。
绘制图元:
❖在全局配置-资源管理下,双击图库管理,会打开图库管理的界面,选择“添加图库”按钮,会进入图库的编辑器界面。
❖进入图库编辑器之后,会跳出新建图元的对话框,在这里,命名图库名称为“door.clb”,然后,在下方的“图元浏览”中,右单击,在弹出菜单中,选择“添加图元”。在空白面板中,绘制两个线条,作为门的示意线条,并保存为door。
解释,这里第一个保存的名称,为图库的名称,每个图库中,又可以包含n个图元,所以,第二个名称为图元的具体名称。
❖关联类:在页面右边的“关联变量及属性”窗口,绑定类和变量。
❖给图元设置动画:绑定类模板和类属性之后,绑定动画,在动画中,绑定变量时,跟组态变量不同,此时,要用选定的类的属性来绑定动画,按照图的示例绑定好后,保存这个图元,并关闭、签入。
❖在组态页面中使用图元:新建一副组态画面,将图元拉到页面上,如图:
❖保存页面,将modbus模拟器运行起来,即可以看到效果。
注:这个图库要运行起来的前提条件,要配置对象模式下的变量,具体可参考对象模式下的变量这个章节。
示例场景:图元弹出的控制页面可以控制一个阀对应的7个变量,并且可以实时显示这7个变量的开关状态,这7个变量如下图:
绘制图库
❖在全局配置-资源管理下,双击图库管理,会打开图库管理的界面,选择“添加图库”按钮,会进入图库的编辑器界面。
❖进入图库编辑器之后,会跳出新建图元的对话框,在这里,命名图库名称为“valve.clb”,然后,在下方的“图元浏览”中,右单击,在弹出菜单中,选择“添加图元”。在空白面板中,绘制两个线条,多边形,并保存为阀,具体示意图如下。
❖关联自定义变量:在页面右边的“关联变量及属性”窗口,新增自定义变量,如图示。
❖给图元设置动画:绑定自定义变量之后,在动画中,绑定变量时,跟组态变量不同,此时,要用选定的自定义属性来绑定动画,按照图的示例绑定
❖根据选择的自定义属性,编写脚本,这个脚本,是要让这个图元的动作为:点击这个图元,可以打开这个图元的控制页面,通过这个控制页面,来控制图元上的状态。
Sub SELF_OnClick()
page.GetAttrValue "SELF","TagName",strTagName
sys.HandlePage "valve.bsp/pageparams:" & strTagName & "/pagetitle:"& strTagName & "的状态","@@@",strTagName
End Sub
❖在组态中,新建图元对应的控制页面。
控制页面上的按钮,会去控制传进来的7个变量,的脚本如下:
Dim objectName
Sub page_OnLoad()
objectName= page.Param1
MsgBox objectName
Text3.Text =objectName +"****除了变的东西以外的字符串"
End Sub
'手动
Sub BSButton1_OnClick()
nameOfvalvecurrentTag = objectName+"_manual"
MsgBox nameOfvalvecurrentTag
sys.WriteValue nameOfvalvecurrentTag, 1
End Sub
'自动
Sub BSButton2_OnClick()
nameOfvalvecurrentTag = objectName+"_auto"
sys.WriteValue nameOfvalvecurrentTag, 1
End Sub
Sub BSButton4_OnClick()
nameOfvalvecurrentTag = objectName+"_open"
sys.WriteValue nameOfvalvecurrentTag, 1
End Sub
Sub BSButton5_OnClick()
nameOfvalvecurrentTag = objectName+"_close"
sys.WriteValue nameOfvalvecurrentTag, 1
End Sub
Sub BSButton8_OnClick()
nameOfvalvecurrentTag = objectName+"_stop"
sys.WriteValue nameOfvalvecurrentTag, 1
End Sub
Sub BSButton6_OnClick()
nameOfvalvecurrentTag = objectName+"_remote"
sys.WriteValue nameOfvalvecurrentTag, 1
End Sub
Sub BSButton7_OnClick()
nameOfvalvecurrentTag = objectName+"_local"
sys.WriteValue nameOfvalvecurrentTag, 1
End Sub
'退出icv系统
Sub BSButton16_OnClick()
sys.ExitVFC
End Sub
❖在组态页面中使用图元:新建一幅组态画面,将图元拉到页面上,如图:
❖为页面上的绑定自定义属性:图元拉到页面上后,为图元绑定自定义属性,不同的图元绑定不同的变量,使得不同的图元可以根据不同的变量动画。
❖保存页面,将modbus模拟器运行起来,即可以看到效果。
注:这个图库要运行起来的前提条件,要配置设备模式下的变量,具体可参考设备模式下的变量这个章节。