1、1,青岛大学自动化工程学院,第3章 画面的组态,3.1 图形编辑器概述3.2 画面对象的属性3.3 组态动态的几种方法3.4 画面模板3.5控件的使用3.6 库3.7 为对象生成帮助提示,2,青岛大学自动化工程学院,3.1 图形编辑器概述,对象选项板样式选项板调色板动态向导层等等,3,青岛大学自动化工程学院,4,青岛大学自动化工程学院,3.2 画面对象的属性,可以看到:对象属性对话框包括“属性”和“事件”两个选项卡。,5,青岛大学自动化工程学院,“属性”选项卡中包括对象的几何尺寸、颜色、样式、填充等外观特性,定义对象是如何出现在画面上。可以修改对象的“属性”中的相关值来改变对象的外观,如修改圆
2、的背景颜色为红色,线颜色为绿色。,6,青岛大学自动化工程学院,“事件”选项卡包括对象的鼠标、键盘等操作设置及对象属性引发的动作设置等,如图3-13所示。可以为各种“事件”添加相应的动作和动态效果。,7,青岛大学自动化工程学院,3.3 组态动态效果,组态对话框动态对话框直接连接变量动态向导C动作VBS动作,8,青岛大学自动化工程学院,1、组态对话框,“智能对象”中的控件、I/O域、棒图、图形对象、状态显示、文本列表和“Windows对象”中的按钮、滚动条对象。,9,青岛大学自动化工程学院,练习1:组态I/O域练习2:组态按钮练习3:组态棒图练习4:组态滚动条练习5:状态显示(Tag2变量不同的值
3、对应不同的状态)练习6:文本列表,10,青岛大学自动化工程学院,2、动态对话框,练习1:根据变量Tag1来填充一个矩形对象的填充量;练习2:如果根据BOOL型变量Tag2的0/1状态使圆形对象的背景色分别为红色和蓝色,同时静态文本分别显示关闭和打开;练习3:组态I/O域,由华氏温度输入摄氏温度输出。练习4:一个I/O域中数值范围在0-60文字颜色为黑色,60-80为黄色,80-100为红色。,11,青岛大学自动化工程学院,3、直接连接,练习1:组态一个瞬时按钮,即按钮按下时变量Tag4的值为1,释放时为0;练习2:将滚动条移动改变后的值传给矩形的液位填充量属性,矩形液位填充量属性又传给静态文本
4、。拖动滚动条改变圆对象的位置。,12,青岛大学自动化工程学院,4、变量,练习1:用BOOL型变量Tag5控制圆对象的闪烁,若Tag5=1,则圆背景闪烁,若Tag5=0,则不闪烁;练习2:组态I/O域。,13,青岛大学自动化工程学院,5、动态向导,练习1:退出WinCC Runtime;练习2:组态置位复位。,14,青岛大学自动化工程学院,6、C动作,练习1,输入输出换算:I/O域1+100=I/O域2,int back;back=GetTagWord(Tag6);back=back+100;return (back);,15,青岛大学自动化工程学院,练习2,单击一下按钮就加1/减1,float
5、 temp;temp=GetTagFloat(Tag6);temp=temp+1;SetTagFloat(Tag6,temp);,16,青岛大学自动化工程学院,练习3,更改瓶子的坐标位置,使其按照某种规律运动。,17,青岛大学自动化工程学院,7、VBS动作,Dim objCircleSet objCircle=ScreenItems(圆1)objCircle.Radius=20,练习1,设置圆的直径。,18,青岛大学自动化工程学院,Dim objCircleSet objCircle=HMIRuntime.Screens(NewPdl0)objCircle.FillStyle = 131075
6、objScreen.FillColor = RGB(0, 0, 255),练习2,定义圆对象的颜色。,Dim objCircleSet objCircle=ScreenItems(圆1)objCircle.BackColor=RGB(0,0,225),定义运行画面的样式和颜色。,ScreenItems(Rectangle1).BackColor = RGB(255,0,0),19,青岛大学自动化工程学院,练习3,退出运行系统。,HMIRuntime.Stop,20,青岛大学自动化工程学院,练习4,读写一个项目变量,HMIRuntime.Tags(Tag1).Write 6,Dim objTag
7、Set objTag = HMIRuntime.Tags(Tag1)objTag.Write 7,第一种方法:,第二种方法:,21,青岛大学自动化工程学院,通常一个值传递到变量管理器然后动作处理重新开始,但有时在动作重新开始之前要确保值先被写入,则可以使用可选参数附加1来实现。,Dim objTagSet objTag = HMIRuntime.Tags(Tag1)objTag.Write 8,1,Dim objTagSet objTag = HMIRuntime.Tags(Tag1)objTag.Value = 8objTag.Write ,1,22,青岛大学自动化工程学院,练习5,单击一下
8、按钮就加1/减1,Dim aSet a=HMIRuntime.Tags(Tag1) a.Reada.Value=a.Value+100a.Write,23,青岛大学自动化工程学院,思考:一个I/O域输入数值,单击按钮设置圆的直径为该I/O域对应的数。,24,青岛大学自动化工程学院,练习6,输入输出换算:I/O域1+100=I/O域2,Dim objSet obj=HMIRuntime.Tags(Tag200) OutputValue_Trigger=obj.Read+100,25,青岛大学自动化工程学院,思考,华氏温度和摄氏温度的转换。,26,青岛大学自动化工程学院,思考,更改瓶子的坐标位置,
9、使其按照某种规律运动。,27,青岛大学自动化工程学院,综合练习,按钮对象作瞬时开关。“Off”状态以灰色显示,“On”状态以绿色显示,文本指示。,BOOL value;value=GetTagBit(“OnOff1”);value=!value;SetTagBit(“OnOff1”,(WORD)value);,28,青岛大学自动化工程学院,2、颜色改变有几种组态方法:动态向导,动态对话框,变量连接,C和VBS动作。,颜色颜色值 符号常量 (用 #定义,除了预定义) DarkRed 0x000000FF:CO_RED Red 0x00000080: CO_DKREDGreen 0x0000FF0
10、0:CO_GREEN Green 0x00008000: CO_DKGREENBlue 0x00FF0000:CO_BLUE Blue 0x00800000: CO_DKBLUECyan 0x00FFFF00:CO_CYAN Cyan 0x00808000: CO_DKCYANYellow 0x0000FFFF:CO_YELLOW Yellow 0x00008080: CO_DKYELLOWMagenta 0x00FF00FF:CO_MAGENTA Magenta 0x00800080: CO_DKMAGENTALt. Gray 0x00C0C0C0:CO_LTGRAY Gray 0x0080
11、8080: CO_DKGRAYBlack 0x00000000:CO_BLACK White 0x00FFFFFF: CO_WHITE,本例采用C动作来实现,其它实现方法请自行练习。,29,青岛大学自动化工程学院,检查一个过程变量是否超过极限值。该变量范围:从 0到1000。若Value 800: 颜色从墨绿色变为黄色;第二个 Value 900: 颜色从黄色变为红色。需要一个 I/O 域以及一个棒图。 另外,为输入数值,组态一个滚动条。 I/O 域和棒图都与过程变量连接。,任务,30,青岛大学自动化工程学院,+0,类型 I/O,31,青岛大学自动化工程学院,3.复选框 Check Box (
12、对象的事件),用变量连接组态:-Properties/ Output-input/ Selected Fields/ Dynamics:Tangram(signed 32-bit value),用动态会话使显示成为动态的,用直接连接删除显示-Source: Constant 0-Target: Tag Tangram,位地址0 /头1 /左臂2 /右臂3 /左腿4 /右腿5 /左脚6 /右脚,32,青岛大学自动化工程学院,4.选项组 Option Group (对象的事件),组态:-Events/ Option Group/ Property topics/ Output/ Input/ Se
13、lected Field/ Change/ C-action:int input;input=GetTAGDWord(level_input);switch (input) case 1: SetTagDWord(level_container,20); break; case 2: SetTagDWord(level_container,50); break; case 4: SetTagDWord(level_container,90); break; -Properties/ Option Group/ Output-input/ Selected Field/ Dynamic/ Tag
14、: level_input,组态:-Properties/ I/O field/ Output-input/ Output Value/ Dynamic: level_container,Color_input,Color value_container,组态:-Events/ Option Group/ Miscellaneous/ Object Change/ C-action:int input;input=GetTagDWord(Color_input);switch (input) case 1: SetTagDWord(Colorvalue_container,CO_RED); b
15、reak; case 2: SetTagDWord(Colorvalue_container,CO_GREEN); break; case 4: SetTagDWord(Colorvalue_container,CO_BLUE); break;- Properties/ Option Group/ Output-input/ Selected Field/ Dynamic / Tag: Color_input,33,青岛大学自动化工程学院,5.显示和隐藏帮助文字,(1)某个对象的提示信息:直接在“属性其它提示文本”输入即可。,(2)单击按钮显示或隐藏提示信息(静态文本),用直接连接。,34,青
16、岛大学自动化工程学院,练习:单击Help On或Help Off提示文本显示或隐藏,每个按钮上面有提示。,35,青岛大学自动化工程学院,(3)单击鼠标右键显示提示信息(静态文本),释放鼠标右键隐藏提示信息,用直接连接。,36,青岛大学自动化工程学院,用直接连接组态:按下鼠标右键。- Source: Constant 1- Target: Object in Picture, PictureWindow1, Display,用直接连接组态:- Source: Constant 0- Target: Current Window -Display,组态:- Properties /Miscella
17、neous /Display:No- Properties/Picturename: Eingabe_Hinweis.pdl,help.pdl,PictureWindow1,Eingabe_Hinweis.pdl,组态:-Properties/ Picture Window/ Miscellaneous / Display / Dynamic:BOOL visible;static int count=5;visible=GetVisible(lpszPictureName,lpszObjectName);if (visible)count-; if (count=0) count = 5; return 0; else return 1; return 0;,(4)指定时间之后关闭一个窗口。,37,青岛大学自动化工程学院,练习:使用系统信息,