module 1 graphics builder 图形组态工具及与点无关的图形 1. 读取 graphic builder...
DESCRIPTION
Module 1 Graphics Builder 图形组态工具及与点无关的图形 1. 读取 Graphic Builder 工具 2. Graphic Builder 组态环境 3. 建立与点无关的图形 ARC & Rubberband (BACKGROUND) LINE (BACKGROUND) CIRCLE & ELLIPSE (BACKGROUND) POLIGON (BACKGROUND) RECTANGLE (BACKGROUND) DOT (BACKGROUND) OL_RECTANGLE (BACKGROUND) - PowerPoint PPT PresentationTRANSCRIPT
1
Module 1Graphics Builder 图形组态工具及与点无关的图形
1. 读取 Graphic Builder 工具
2. Graphic Builder 组态环境
3. 建立与点无关的图形ARC & Rubberband (BACKGROUND) LINE (BACKGROUND)CIRCLE & ELLIPSE (BACKGROUND)POLIGON (BACKGROUND)RECTANGLE (BACKGROUND)DOT (BACKGROUND)OL_RECTANGLE (BACKGROUND)MULTI_TEXT (BACKGROUND)SHAPE (BACKGROUND)TIME & DATE (FOREGROUND)OL_BUTTON FOR POKE TYPE 2 (KEYBOARD)
2
4. 使用图形中的线模式 line patterns 、线宽 line widths 、填充图形fill patterns 和文本属性 text attributes :
LINE_PATLINE_WIDTHFILL_PATText attributes
5. 在二个 GB 组态界面拷贝图形。
3
图号范围 :
!!!!!!!!!!! 流程图的类型 !!!!!!!!!!!!!!!
4
Module 2 建立与点有关的图形
1. 动态图的类型 :PROCESS_PT: 模拟量记录区的读取 (AV, ED, EU, etc.)BAROL_CYLINDEROL_GAUGEPLOT with shapeTRENDXY plot
2. 图形中的条件语句 :Simple expressionsCompound expressionsCASE expressionsQUALITY expressionsSET expressions
5
3. 利用条件语句组态动态图 : COLOR TEXT SHAPE BLINK PROCESS_PT LINE_PAT SHAPE_PAT
4. 生成激活区 ( Poke Type ):
Poke Type 0 Poke Type 9
6
条件语句
• Simple Expressions( 简单句 )
• Compound Expressions( 复合句 )
• Case Expressions(Case 语句 )
• Quality Expressions( 质量句 )
• Set Expressions(Set 语句 )
7
简单条件语句
Syntax:(operand1 rel_op operand2) [ logic_op (operand1 rel_opoperand2) ... ]
Examples:COLOR FG cyan (A100 AV < 50) yellow
COLOR FG red ((A100 AV > 50) AND (A100 1W = HDWRFAIL) OR (D200 = ALARM)) blue
8
参数 :
A100 AV = 10
SET2 = 20
A200 LL > 100.45
A100 AS = ALARM
D200 DS = RESET
A100 RT = LA
D200 RT = LD
Set5 > 50
Set20 = A100 GS
A100 AV > $CONST1
9
复合条件语句
Syntax:{ simple_expression1 conditional_value1 simple_expression2conditional_value2 ... simple_expressionN conditional_valueN }
Examples:
COLOR FG magenta {(A100 AV > 50) blue (A100 1W = HDWRFAIL) red} BG white
10
Case 条件语句Syntax:(CASE) pt_name rec_fld initial_val increment count cond_val
Example:COLOR FG magenta (CASE) A100 AV 1 2 3 green blue red
if A100 < 3 magentaif 3 <= A100 < 5 greenif 5 <= A100 < 7 blueif 7 <= A100 < 9 redif A100 >= 9 magenta
11
质量条件语句
Syntax:(QUALITY) pt_name fair_quality_cond_value
poor_quality_cond_valuebad_quality_cond_valuetimedout_quality_cond_value
Example:
COLOR FG cyan (QUALITY) D200 green yellow red blue
12
Set 条件语句
Syntax:(SETx) N conditional_values
Example:COLOR FG red (SET2) 4 green blue black white
if SET2=1 or SET2>5 redif SET2=2 greenif SET2=3 blueif SET2=4 blackif SET2=5 white
13
Module 3 生成公共特性图及图符
1. 生成静态图符 .
2. 生成不同的图形 : macros 宏图 pop-up windows 弹出窗口图
3. 窗口图 • 图形类型 : 窗口图• 允许图号• $W 变量• Poke type 8: window
14
5. 使用源文件编辑图形• GB 源编辑器• 外部编辑器
6. 宏图组态• 宏的概念 • 变量类型 • 图组 • 保存• 使用宏
15
Macros 宏图 - 命名方式
macroN.diag, macroN.src, macroN.bmp,
macroN.notes
其中 :n = 宏图图号 (1 到 65,535)
16
Macros - 宏图变量
• $Dn 宏图点变量 , n = 1 到 99.
• “$Tn” 前景区字串变量 , n = 1 到 50.
• “$Tn” 背景区字串变量 , n = 1 到 50.
• $SETn SET 变量 , n = 1 到 256.
• $CONSTn 常数变量 , n = 1 到 256.
• $STATUS 状态字变量 , n = 1 到 256.
17
Module 4 生成控制回路接口图
1. 设计完成开关量回路的开关面板 - 使用以下的激活区及应用程序 :
Poke type 7 ( 无条件执行程序应用 )Program 6 ( 应用程序:激活二个算法,调用一个TRIGGER ,对 SET 寄存器送某个数 )Poke type 23 ( 有条件执行多个应用程序 )Program 28 ( 数字量开应用程序 )Program 29 ( 数字量关应用程序 )Program 32 ( 切手动应用程序 )Program 33 ( 切自动应用程序 )
18
2. 设计完成模拟量控制回路的操作面板 - 使用以下的激活区及应用程序 :
Poke type 7 ( 无条件执行程序应用 )Program 6 ( 应用程序:激活二个算法,调用一个TRIGGER ,对 SET 寄存器送某个数 )Poke type 23 ( 有条件执行多个应用程序 )Program 30 ( 设定值增加应用程序 )Program 31 ( 设定值减少应用程序 )Program 32 ( 切手动应用程序 )Program 33 ( 切自动应用程序 )Program 34 ( 输出值增加应用程序 )Program 35 ( 输出值减少应用程序 )
19
用于应用程序的激活区 :
20
CNTRL_POKE (6)
POKE_FLD x y w h state poke_type num_of_progs prog_numdiag_num num_of_args point1 point2 trig_num set_num setval
其中 :x, y, w, h, state, = 标准的激活区参数 .poke_type = 激活区类型 (7 是对应的激活区类型号 ).num_of_progs = 被执行的应用程序序号 ( 通常为 1, 若有多个应用程序使用,则有相应的数 ).prog_num = 应用程序序号 6. diag_num = 图形号 ( 若在此应用程序中不用,则为 0 ).
21
num_of_args = 参数的总数 . 对此应用为 5 。point1 = 算法点名 ID
point2 = 算法点名 ID
trig_num = 需要执行的 TRIGGER 号set_num = Set 寄存器号。setval =SET 寄存区送的整数 .
CNTRL_POKE (6) (续)
22
Program 28 ( 数字量开应用程序 )
POKE_FLD x y w h state poke_type num_of_progs prog_numdiag_num num_of_args
其中 :x, y, w, h, state = 标准的激活区参数 .poke_type = 激活区类型 (23 是对应的激活区类型号 ).num_of_progs = 被执行的应用程序序号 ( 通常为 1, 若有多个应用程序使用,则有相应的数 ).prog_num = 应用程序序号 28. diag_num = 图形号 ( 若在此应用程序中不用,则为 0 ). num_of_args = 参数的总数 . 对此应用为 0 。
23
Program 29 ( 数字量关应用程序 )
POKE_FLD x y w h state poke_type num_of_progs prog_numdiag_num num_of_args
其中 :x, y, w, h, state = 标准的激活区参数 .poke_type = 激活区类型 (23 是对应的激活区类型号 ).num_of_progs = 被执行的应用程序序号 ( 通常为 1, 若有多个应用程序使用,则有相应的数 ).prog_num = 应用程序序号 29. diag_num = 图形号 ( 若在此应用程序中不用,则为 0 ). num_of_args = 参数的总数 . 对此应用为 0 。
24
Program 32 ( 切手动应用程序 )
POKE_FLD x y w h state poke_type num_of_progs prog_numdiag_num num_of_args
其中 :x, y, w, h, state = 标准的激活区参数 .poke_type = 激活区类型 (23 是对应的激活区类型号 ).num_of_progs = 被执行的应用程序序号 ( 通常为 1, 若有多个应用程序使用,则有相应的数 ).prog_num = 应用程序序号 32. diag_num = 图形号 ( 若在此应用程序中不用,则为 0 ). num_of_args = 参数的总数 . 对此应用为 0 。
25
Program 33 ( 切自动应用程序 )
POKE_FLD x y w h state poke_type num_of_progs prog_numdiag_num num_of_args
其中 :x, y, w, h, state = 标准的激活区参数 .poke_type = 激活区类型 (23 是对应的激活区类型号 ).num_of_progs = 被执行的应用程序序号 ( 通常为 1, 若有多个应用程序使用,则有相应的数 ).prog_num = 应用程序序号 33. diag_num = 图形号 ( 若在此应用程序中不用,则为 0 ). num_of_args = 参数的总数 . 对此应用为 0 。
26
AUTO
MAN
START
STOP
PUMP CONTROL
STOPPED RUNNING
STARTING
OPERATION TAGOUT
SERVICE
27
Program 30 ( 设定值增加应用程序 )
POKE_FLD x y w h state poke_type num_of_progs prog_numdiag_num num_of_args
其中 :x, y, w, h, state = 标准的激活区参数 .poke_type = 激活区类型 (23 是对应的激活区类型号 ).num_of_progs = 被执行的应用程序序号 ( 通常为 1, 若有多个应用程序使用,则有相应的数 ).prog_num = 应用程序序号 30. diag_num = 图形号 ( 若在此应用程序中不用,则为 0 ). num_of_args = 参数的总数 . 对此应用为 0 。
28
POKE_FLD x y w h state poke_type num_of_progs prog_numdiag_num num_of_args
其中 :x, y, w, h, state = 标准的激活区参数 .poke_type = 激活区类型 (23 是对应的激活区类型号 ).num_of_progs = 被执行的应用程序序号 ( 通常为 1, 若有多个应用程序使用,则有相应的数 ).prog_num = 应用程序序号 31. diag_num = 图形号 ( 若在此应用程序中不用,则为 0 ). num_of_args = 参数的总数 . 对此应用为 0 。
Program 31 ( 设定值减少应用程序 )
29
POKE_FLD x y w h state poke_type num_of_progs prog_numdiag_num num_of_args
其中 :x, y, w, h, state = 标准的激活区参数 .poke_type = 激活区类型 (23 是对应的激活区类型号 ).num_of_progs = 被执行的应用程序序号 ( 通常为 1, 若有多个应用程序使用,则有相应的数 ).prog_num = 应用程序序号 34. diag_num = 图形号 ( 若在此应用程序中不用,则为 0 ). num_of_args = 参数的总数 . 对此应用为 0 。
Program 34 ( 输出值增加应用程序)
30
POKE_FLD x y w h state poke_type num_of_progs prog_numdiag_num num_of_args
其中 :x, y, w, h, state = 标准的激活区参数 .poke_type = 激活区类型 (23 是对应的激活区类型号 ).num_of_progs = 被执行的应用程序序号 ( 通常为 1, 若有多个应用程序使用,则有相应的数 ).prog_num = 应用程序序号 35. diag_num = 图形号 ( 若在此应用程序中不用,则为 0 ). num_of_args = 参数的总数 . 对此应用为 0 。
Program 35 ( 输出值减少应用程序 )
31
TANK LEVEL CONTROL
AUTO
MAN
????? ????? ?????
TRK
PRA
PLW
MANUAL AUTO
MRE
32
窗口调用应用程序 (117)
POKE_FLD x y w h state poke_type num_of_progs prog_numdiag_num num_of_args group dispx dispy type num_of _pointspoint_list其中:x, y, w, h, state = 标准的激活区参数 .poke_type = 激活区类型 (7 是对应的激活区类型号 ).num_of_progs = 被执行的应用程序序号 ( 通常为 1, 若有多个应用程序使用,则有相应的数 ).prog_num = 应用程序序号 117. diag_num = 图形号 ( 此应用程序中可是: 7000 ~ 8500 ). num_of_args = 参数的总数 .
33
group = PDS 组号 . 有以下几种选择方式 : 0 = 无组与图对应-1 = 与主图的 PDS 组一致 1 到 5000 = PDS 图组号dispx = 窗口图在调出时的 X 轴位置 . 当前不起作用。dispy = 窗口图在调出时的 Y 轴位置 . 当前不起作用 .type = 0
num_of_points = 窗口图中 $W 变量的个数 . 若无填 0.point_list = 窗口图中 $W 变量的点名清单 , 点名的寄存器名为 ID.
窗口调用应用程序 (117)
POKE_FLD x y w h state poke_type num_of_progs prog_numdiag_num num_of_args group dispx dispy type num_of _pointspoint_list
其中 :
34
•XPID_DIGITAL (121) : 在操作面板上加数值输入区
•使用 $P 变量 :将一个马达旋转起来
附加练习
35
36
DIAGRAM MAIN 0 0 0 505 333 gold3 ZOOMABLE 0 0 0 16384 16384 1 DEFAULT_POSITION DEFAULT_SIZE
BACKGROUND POINTER $P1 255 0PTR_VALUE $P1 $I0 1
FOREGROUNDCOLOR FG black BG white ER white OL 0 BLINK FG OFF BG OFFELLIPSE 7410 6301 2433 3862 3 solid unfilledCOLOR FG gray50 ($P1 $I0 = 1) black BG white ER white OL 0 BLINK FG OFF BG OFFLINE 7494 9988 7494 2706 3 solidCOLOR FG gray50 ($P1 $I0 = 2) black BG white ER white OL 0 BLINK FG OFF BG OFFLINE 9474 8069 5288 4576 3 solidCOLOR FG gray50 ($P1 $I0 = 3) black BG white ER white OL 0 BLINK FG OFF BG OFFLINE 5353 8315 9506 4723 3 solid
PTR_Value $P1 $I0 [+1]IF ($P1 $I0 = 4) PTR_VALUE $P1 $I0 1endif