360 likes | 584 Views
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)
E N D
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) • MULTI_TEXT (BACKGROUND) • SHAPE (BACKGROUND) • TIME & DATE (FOREGROUND) • OL_BUTTON FOR POKE TYPE 2 (KEYBOARD)
4. 使用图形中的线模式line patterns 、线宽line widths 、填充图形 • fill patterns和文本属性text attributes: • LINE_PAT • LINE_WIDTH • FILL_PAT • Text attributes • 5. 在二个GB组态界面拷贝图形。
图号范围: !!!!!!!!!!!流程图的类型!!!!!!!!!!!!!!!
Module 2 • 建立与点有关的图形 • 1. 动态图的类型: • PROCESS_PT: 模拟量记录区的读取 (AV, ED, EU, etc.) • BAR • OL_CYLINDER • OL_GAUGE • PLOT with shape • TREND • XY plot • 2. 图形中的条件语句: • Simple expressions • Compound expressions • CASE expressions • QUALITY expressions • SET expressions
3. 利用条件语句组态动态图: • COLOR • TEXT • SHAPE • BLINK • PROCESS_PT • LINE_PAT • SHAPE_PAT • 4. 生成激活区( Poke Type ): • Poke Type 0 • Poke Type 9
条件语句 •Simple Expressions(简单句) • Compound Expressions(复合句) • Case Expressions(Case语句) • Quality Expressions(质量句) • Set Expressions(Set语句)
简单条件语句 Syntax: (operand1 rel_op operand2) [ logic_op (operand1 rel_op operand2) ... ] Examples: COLOR FG cyan (A100 AV < 50) yellow COLOR FG red ((A100 AV > 50) AND (A100 1W = HDWRFAIL) OR (D200 = ALARM)) blue
参数: 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
复合条件语句 Syntax: { simple_expression1 conditional_value1 simple_expression2 conditional_value2 ... simple_expressionN conditional_valueN } Examples: COLOR FG magenta {(A100 AV > 50) blue (A100 1W = HDWRFAIL) red} BG white
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 magenta if 3 <= A100 < 5 green if 5 <= A100 < 7 blue if 7 <= A100 < 9 red if A100 >= 9 magenta
质量条件语句 Syntax: (QUALITY) pt_name fair_quality_cond_value poor_quality_cond_value bad_quality_cond_value timedout_quality_cond_value Example: COLOR FG cyan (QUALITY) D200 green yellow red blue
Set 条件语句 Syntax: (SETx) N conditional_values Example: COLOR FG red (SET2) 4 green blue black white if SET2=1 or SET2>5 red if SET2=2 green if SET2=3 blue if SET2=4 black if SET2=5 white
Module 3 • 生成公共特性图及图符 • 1. 生成静态图符. • 2. 生成不同的图形: • macros宏图 • pop-up windows弹出窗口图 • 3. 窗口图 • 图形类型: 窗口图 • 允许图号 • $W 变量 • Poke type 8: window
5. 使用源文件编辑图形 • GB 源编辑器 • 外部编辑器 • 6. 宏图组态 • 宏的概念 • 变量类型 • 图组 • 保存 • 使用宏
Macros宏图 - 命名方式 macroN.diag, macroN.src, macroN.bmp, macroN.notes 其中: n = 宏图图号 (1 到 65,535)
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.
Module 4 • 生成控制回路接口图 • 1. 设计完成开关量回路的开关面板 - 使用以下的激活区及应用程序: • Poke type 7 (无条件执行程序应用) • Program 6 (应用程序:激活二个算法,调用一个TRIGGER,对SET寄存器送某个数) • Poke type 23 (有条件执行多个应用程序) • Program 28 (数字量开应用程序) • Program 29 (数字量关应用程序) • Program 32 (切手动应用程序) • Program 33 (切自动应用程序)
2.设计完成模拟量控制回路的操作面板 - 使用以下的激活区及应用程序: • Poke type 7 (无条件执行程序应用) • Program 6 (应用程序:激活二个算法,调用一个TRIGGER,对SET寄存器送某个数) • Poke type 23 (有条件执行多个应用程序) • Program 30 (设定值增加应用程序) • Program 31 (设定值减少应用程序) • Program 32 (切手动应用程序) • Program 33 (切自动应用程序) • Program 34 (输出值增加应用程序) • Program 35 (输出值减少应用程序)
CNTRL_POKE (6) POKE_FLD x y w h state poke_type num_of_progs prog_num diag_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 ).
CNTRL_POKE (6)(续) num_of_args = 参数的总数. 对此应用为5。 point1 = 算法点名 ID point2 = 算法点名 ID trig_num = 需要执行的TRIGGER号 set_num = Set 寄存器号。 setval =SET 寄存区送的整数.
Program 28 (数字量开应用程序) POKE_FLD x y w h state poke_type num_of_progs prog_num diag_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。
Program 29 (数字量关应用程序) POKE_FLD x y w h state poke_type num_of_progs prog_num diag_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。
Program 32 (切手动应用程序) POKE_FLD x y w h state poke_type num_of_progs prog_num diag_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。
Program 33 (切自动应用程序) POKE_FLD x y w h state poke_type num_of_progs prog_num diag_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。
PUMP CONTROL STARTING STOPPED RUNNING OPERATION TAGOUT SERVICE AUTO START MAN STOP
Program 30 (设定值增加应用程序) POKE_FLD x y w h state poke_type num_of_progs prog_num diag_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。
Program 31 (设定值减少应用程序) POKE_FLD x y w h state poke_type num_of_progs prog_num diag_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 34 (输出值增加应用程序) POKE_FLD x y w h state poke_type num_of_progs prog_num diag_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 35 (输出值减少应用程序) POKE_FLD x y w h state poke_type num_of_progs prog_num diag_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。
TANK LEVEL CONTROL ????? ????? ????? MANUAL AUTO AUTO MAN MRE PRA TRK PLW
窗口调用应用程序 (117) POKE_FLD x y w h state poke_type num_of_progs prog_num diag_num num_of_args group dispx dispy type num_of _points point_list 其中: x, y, w, h, state =标准的激活区参数. poke_type =激活区类型 (7 是对应的激活区类型号). num_of_progs =被执行的应用程序序号 (通常为 1,若有多个应用程序使用, 则有相应的数). prog_num =应用程序序号117. diag_num =图形号 (此应用程序中可是:7000 ~ 8500 ). num_of_args =参数的总数.
窗口调用应用程序 (117) POKE_FLD x y w h state poke_type num_of_progs prog_num diag_num num_of_args group dispx dispy type num_of _points point_list 其中: group = PDS组号. 有以下几种选择方式: 0 = 无组与图对应 -1 = 与主图的PDS组一致 1 到 5000 = PDS图组号 dispx = 窗口图在调出时的X轴位置. 当前不起作用。 dispy =窗口图在调出时的Y轴位置. 当前不起作用. type = 0 num_of_points = 窗口图中$W变量的个数. 若无填0. point_list =窗口图中$W变量的点名清单, 点名的寄存器名为ID.
附加练习 • XPID_DIGITAL (121) : 在操作面板上加数值输入区 • 使用$P变量: • 将一个马达旋转起来
DIAGRAM MAIN 0 0 0 505 333 gold3 ZOOMABLE 0 0 0 16384 16384 1 DEFAULT_POSITION DEFAULT_SIZE BACKGROUND POINTER $P1 255 0 PTR_VALUE $P1 $I0 1 FOREGROUND COLOR FG black BG white ER white OL 0 BLINK FG OFF BG OFF ELLIPSE 7410 6301 2433 3862 3 solid unfilled COLOR FG gray50 ($P1 $I0 = 1) black BG white ER white OL 0 BLINK FG OFF BG OFF LINE 7494 9988 7494 2706 3 solid COLOR FG gray50 ($P1 $I0 = 2) black BG white ER white OL 0 BLINK FG OFF BG OFF LINE 9474 8069 5288 4576 3 solid COLOR FG gray50 ($P1 $I0 = 3) black BG white ER white OL 0 BLINK FG OFF BG OFF LINE 5353 8315 9506 4723 3 solid PTR_Value $P1 $I0 [+1] IF ($P1 $I0 = 4) PTR_VALUE $P1 $I0 1 endif