第3章 画面的组态

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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