FUNCTION_BLOCK BS_DelayGroupVavle VAR_EXTERNAL END_VAR VAR_INPUT LOCK :INT:=0; BOOL_GroupSet :BOOL; INT_GroupSet :INT; REAL_GroupSet :REAL; REAL_IN :ARRAY[0..10] OF REAL; INT_IN :ARRAY[0..10] OF INT; BOOL_IN :ARRAY[0..10] OF BOOL; END_VAR VAR_OUTPUT REAL_OUT :ARRAY[0..10] OF REAL; INT_OUT :ARRAY[0..10] OF INT; BOOL_OUT :ARRAY[0..10] OF BOOL; END_VAR VAR REAL_GroupSetP :REAL; BOOL_GroupSetP :BOOL; INT_GroupSetP :INT; Delay_Ton1 :TON; Delay_Ton2 :TON; Delay_Ton3 :TON; END_VAR (*Automatically declared*) VAR_EXTERNAL END_VAR (** {* **) (** **) (** 时 间:20191008 **) (** 版 本:1.1 **) (** 作 者:姚立 **) (** 名 称:变量延时批量赋值 **) (** 说 明:用于变量延时批量赋值,可选锁定单体变量输入 **) (** 1-5s分别赋值1-10变量/1-5s分别赋值11-20变量; **) (** LOCK 0均不锁定;1锁定BOOL;2,锁定INT;3,锁定REAL; **) (** 备 注:支持10组BOOL,10组REAL,10组INT **) (** 依赖块:无 **) (** **) (** *} **) (** {**********一个REAL型总变量对50个变量赋值,50个变量也可单独赋值*************} **) (** Delay_Ton1(PT :=t#5s ); **) (* call - Stmt *) CAL Delay_Ton1 ( PT := t#5s ) (** if REAL_GroupSet<>REAL_GroupSetP and Delay_Ton1.Q=0 then **) (* if - Cond *) LD REAL_GroupSet NE REAL_GroupSetP AND ( Delay_Ton1.Q EQ 0 ) JMPCN ODK_SKIP_000000000000001_000000000000001 (* then - Stmts *) (** Delay_Ton1.IN:=1; **) (* assign - Stmt *) LD 1 ST Delay_Ton1.IN JMP ODK_END_IF_000000000000001 (** end_if; **) (* if - End *) ODK_SKIP_000000000000001_000000000000001: ODK_END_IF_000000000000001: (** if Delay_Ton1.Q=1 then **) (* if - Cond *) LD Delay_Ton1.Q EQ 1 JMPCN ODK_SKIP_000000000000002_000000000000001 (* then - Stmts *) (** Delay_Ton1.IN:=0; **) (* assign - Stmt *) LD 0 ST Delay_Ton1.IN JMP ODK_END_IF_000000000000002 (** end_if; **) (* if - End *) ODK_SKIP_000000000000002_000000000000001: ODK_END_IF_000000000000002: (** **) (** Delay_Ton2(PT :=t#5s ); **) (* call - Stmt *) CAL Delay_Ton2 ( PT := t#5s ) (** if BOOL_GroupSet<>BOOL_GroupSetP and Delay_Ton2.Q=0 then **) (* if - Cond *) LD BOOL_GroupSet NE BOOL_GroupSetP AND ( Delay_Ton2.Q EQ 0 ) JMPCN ODK_SKIP_000000000000003_000000000000001 (* then - Stmts *) (** Delay_Ton2.IN:=1; **) (* assign - Stmt *) LD 1 ST Delay_Ton2.IN JMP ODK_END_IF_000000000000003 (** end_if; **) (* if - End *) ODK_SKIP_000000000000003_000000000000001: ODK_END_IF_000000000000003: (** if Delay_Ton2.Q=1 then **) (* if - Cond *) LD Delay_Ton2.Q EQ 1 JMPCN ODK_SKIP_000000000000004_000000000000001 (* then - Stmts *) (** Delay_Ton2.IN:=0; **) (* assign - Stmt *) LD 0 ST Delay_Ton2.IN JMP ODK_END_IF_000000000000004 (** end_if; **) (* if - End *) ODK_SKIP_000000000000004_000000000000001: ODK_END_IF_000000000000004: (** **) (** Delay_Ton3(PT :=t#5s ); **) (* call - Stmt *) CAL Delay_Ton3 ( PT := t#5s ) (** if INT_GroupSet<>INT_GroupSetP and Delay_Ton3.Q=0 then **) (* if - Cond *) LD INT_GroupSet NE INT_GroupSetP AND ( Delay_Ton3.Q EQ 0 ) JMPCN ODK_SKIP_000000000000005_000000000000001 (* then - Stmts *) (** Delay_Ton3.IN:=1; **) (* assign - Stmt *) LD 1 ST Delay_Ton3.IN JMP ODK_END_IF_000000000000005 (** end_if; **) (* if - End *) ODK_SKIP_000000000000005_000000000000001: ODK_END_IF_000000000000005: (** if Delay_Ton3.Q=1 then **) (* if - Cond *) LD Delay_Ton3.Q EQ 1 JMPCN ODK_SKIP_000000000000006_000000000000001 (* then - Stmts *) (** Delay_Ton3.IN:=0; **) (* assign - Stmt *) LD 0 ST Delay_Ton3.IN JMP ODK_END_IF_000000000000006 (** end_if; **) (* if - End *) ODK_SKIP_000000000000006_000000000000001: ODK_END_IF_000000000000006: (** **) (** if Delay_Ton1.IN=1 then **) (* if - Cond *) LD Delay_Ton1.IN EQ 1 JMPCN ODK_SKIP_000000000000007_000000000000001 (* then - Stmts *) (** **) (** if Delay_Ton1.et>t#0.0s then REAL_OUT[01]:=REAL_GroupSet; end_if; **) (* if - Cond *) LD Delay_Ton1.et GT t#0.0s JMPCN ODK_SKIP_000000000000008_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD REAL_GroupSet ST REAL_OUT[01] JMP ODK_END_IF_000000000000008 (* if - End *) ODK_SKIP_000000000000008_000000000000001: ODK_END_IF_000000000000008: (** if Delay_Ton1.et>t#0.5s then REAL_OUT[02]:=REAL_GroupSet; end_if; **) (* if - Cond *) LD Delay_Ton1.et GT t#0.5s JMPCN ODK_SKIP_000000000000009_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD REAL_GroupSet ST REAL_OUT[02] JMP ODK_END_IF_000000000000009 (* if - End *) ODK_SKIP_000000000000009_000000000000001: ODK_END_IF_000000000000009: (** if Delay_Ton1.et>t#1.0s then REAL_OUT[03]:=REAL_GroupSet; end_if; **) (* if - Cond *) LD Delay_Ton1.et GT t#1.0s JMPCN ODK_SKIP_00000000000000A_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD REAL_GroupSet ST REAL_OUT[03] JMP ODK_END_IF_00000000000000A (* if - End *) ODK_SKIP_00000000000000A_000000000000001: ODK_END_IF_00000000000000A: (** if Delay_Ton1.et>t#1.5s then REAL_OUT[04]:=REAL_GroupSet; end_if; **) (* if - Cond *) LD Delay_Ton1.et GT t#1.5s JMPCN ODK_SKIP_00000000000000B_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD REAL_GroupSet ST REAL_OUT[04] JMP ODK_END_IF_00000000000000B (* if - End *) ODK_SKIP_00000000000000B_000000000000001: ODK_END_IF_00000000000000B: (** if Delay_Ton1.et>t#2.0s then REAL_OUT[05]:=REAL_GroupSet; end_if; **) (* if - Cond *) LD Delay_Ton1.et GT t#2.0s JMPCN ODK_SKIP_00000000000000C_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD REAL_GroupSet ST REAL_OUT[05] JMP ODK_END_IF_00000000000000C (* if - End *) ODK_SKIP_00000000000000C_000000000000001: ODK_END_IF_00000000000000C: (** if Delay_Ton1.et>t#2.5s then REAL_OUT[06]:=REAL_GroupSet; end_if; **) (* if - Cond *) LD Delay_Ton1.et GT t#2.5s JMPCN ODK_SKIP_00000000000000D_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD REAL_GroupSet ST REAL_OUT[06] JMP ODK_END_IF_00000000000000D (* if - End *) ODK_SKIP_00000000000000D_000000000000001: ODK_END_IF_00000000000000D: (** if Delay_Ton1.et>t#3.0s then REAL_OUT[07]:=REAL_GroupSet; end_if; **) (* if - Cond *) LD Delay_Ton1.et GT t#3.0s JMPCN ODK_SKIP_00000000000000E_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD REAL_GroupSet ST REAL_OUT[07] JMP ODK_END_IF_00000000000000E (* if - End *) ODK_SKIP_00000000000000E_000000000000001: ODK_END_IF_00000000000000E: (** if Delay_Ton1.et>t#3.5s then REAL_OUT[08]:=REAL_GroupSet; end_if; **) (* if - Cond *) LD Delay_Ton1.et GT t#3.5s JMPCN ODK_SKIP_00000000000000F_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD REAL_GroupSet ST REAL_OUT[08] JMP ODK_END_IF_00000000000000F (* if - End *) ODK_SKIP_00000000000000F_000000000000001: ODK_END_IF_00000000000000F: (** if Delay_Ton1.et>t#4.0s then REAL_OUT[09]:=REAL_GroupSet; end_if; **) (* if - Cond *) LD Delay_Ton1.et GT t#4.0s JMPCN ODK_SKIP_00000000000000G_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD REAL_GroupSet ST REAL_OUT[09] JMP ODK_END_IF_00000000000000G (* if - End *) ODK_SKIP_00000000000000G_000000000000001: ODK_END_IF_00000000000000G: (** if Delay_Ton1.et>t#4.5s then REAL_OUT[10]:=REAL_GroupSet; end_if; **) (* if - Cond *) LD Delay_Ton1.et GT t#4.5s JMPCN ODK_SKIP_00000000000000H_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD REAL_GroupSet ST REAL_OUT[10] JMP ODK_END_IF_00000000000000H (* if - End *) ODK_SKIP_00000000000000H_000000000000001: ODK_END_IF_00000000000000H: JMP ODK_END_IF_000000000000007 (** **) (** elsif REAL_GroupSet=REAL_GroupSetP then **) (* elseif - Cond *) ODK_SKIP_000000000000007_000000000000001: LD REAL_GroupSet EQ REAL_GroupSetP JMPCN ODK_SKIP_000000000000007_000000000000002 (* elsif - Stmts *) (** REAL_OUT[01]:=REAL_IN[01]; **) (* assign - Stmt *) LD REAL_IN[01] ST REAL_OUT[01] (** REAL_OUT[02]:=REAL_IN[02]; **) (* assign - Stmt *) LD REAL_IN[02] ST REAL_OUT[02] (** REAL_OUT[03]:=REAL_IN[03]; **) (* assign - Stmt *) LD REAL_IN[03] ST REAL_OUT[03] (** REAL_OUT[04]:=REAL_IN[04]; **) (* assign - Stmt *) LD REAL_IN[04] ST REAL_OUT[04] (** REAL_OUT[05]:=REAL_IN[05]; **) (* assign - Stmt *) LD REAL_IN[05] ST REAL_OUT[05] (** REAL_OUT[06]:=REAL_IN[06]; **) (* assign - Stmt *) LD REAL_IN[06] ST REAL_OUT[06] (** REAL_OUT[07]:=REAL_IN[07]; **) (* assign - Stmt *) LD REAL_IN[07] ST REAL_OUT[07] (** REAL_OUT[08]:=REAL_IN[08]; **) (* assign - Stmt *) LD REAL_IN[08] ST REAL_OUT[08] (** REAL_OUT[09]:=REAL_IN[09]; **) (* assign - Stmt *) LD REAL_IN[09] ST REAL_OUT[09] (** REAL_OUT[10]:=REAL_IN[10]; **) (* assign - Stmt *) LD REAL_IN[10] ST REAL_OUT[10] JMP ODK_END_IF_000000000000007 (** **) (** end_if; **) (* if - End *) ODK_SKIP_000000000000007_000000000000002: ODK_END_IF_000000000000007: (** **) (** **) (** {**********一个BOOL型总变量对50个变量赋值,50个变量也可单独赋值*************} **) (** **) (** if Delay_Ton2.IN=1 then **) (* if - Cond *) LD Delay_Ton2.IN EQ 1 JMPCN ODK_SKIP_00000000000000I_000000000000001 (* then - Stmts *) (** **) (** if Delay_Ton2.et>t#0.0s then BOOL_OUT[01]:=BOOL_GroupSet; end_if; **) (* if - Cond *) LD Delay_Ton2.et GT t#0.0s JMPCN ODK_SKIP_00000000000000J_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD BOOL_GroupSet ST BOOL_OUT[01] JMP ODK_END_IF_00000000000000J (* if - End *) ODK_SKIP_00000000000000J_000000000000001: ODK_END_IF_00000000000000J: (** if Delay_Ton2.et>t#0.5s then BOOL_OUT[02]:=BOOL_GroupSet; end_if; **) (* if - Cond *) LD Delay_Ton2.et GT t#0.5s JMPCN ODK_SKIP_00000000000000K_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD BOOL_GroupSet ST BOOL_OUT[02] JMP ODK_END_IF_00000000000000K (* if - End *) ODK_SKIP_00000000000000K_000000000000001: ODK_END_IF_00000000000000K: (** if Delay_Ton2.et>t#1.0s then BOOL_OUT[03]:=BOOL_GroupSet; end_if; **) (* if - Cond *) LD Delay_Ton2.et GT t#1.0s JMPCN ODK_SKIP_00000000000000L_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD BOOL_GroupSet ST BOOL_OUT[03] JMP ODK_END_IF_00000000000000L (* if - End *) ODK_SKIP_00000000000000L_000000000000001: ODK_END_IF_00000000000000L: (** if Delay_Ton2.et>t#1.5s then BOOL_OUT[04]:=BOOL_GroupSet; end_if; **) (* if - Cond *) LD Delay_Ton2.et GT t#1.5s JMPCN ODK_SKIP_00000000000000M_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD BOOL_GroupSet ST BOOL_OUT[04] JMP ODK_END_IF_00000000000000M (* if - End *) ODK_SKIP_00000000000000M_000000000000001: ODK_END_IF_00000000000000M: (** if Delay_Ton2.et>t#2.0s then BOOL_OUT[05]:=BOOL_GroupSet; end_if; **) (* if - Cond *) LD Delay_Ton2.et GT t#2.0s JMPCN ODK_SKIP_00000000000000N_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD BOOL_GroupSet ST BOOL_OUT[05] JMP ODK_END_IF_00000000000000N (* if - End *) ODK_SKIP_00000000000000N_000000000000001: ODK_END_IF_00000000000000N: (** if Delay_Ton2.et>t#2.5s then BOOL_OUT[06]:=BOOL_GroupSet; end_if; **) (* if - Cond *) LD Delay_Ton2.et GT t#2.5s JMPCN ODK_SKIP_00000000000000O_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD BOOL_GroupSet ST BOOL_OUT[06] JMP ODK_END_IF_00000000000000O (* if - End *) ODK_SKIP_00000000000000O_000000000000001: ODK_END_IF_00000000000000O: (** if Delay_Ton2.et>t#3.0s then BOOL_OUT[07]:=BOOL_GroupSet; end_if; **) (* if - Cond *) LD Delay_Ton2.et GT t#3.0s JMPCN ODK_SKIP_00000000000000P_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD BOOL_GroupSet ST BOOL_OUT[07] JMP ODK_END_IF_00000000000000P (* if - End *) ODK_SKIP_00000000000000P_000000000000001: ODK_END_IF_00000000000000P: (** if Delay_Ton2.et>t#3.5s then BOOL_OUT[08]:=BOOL_GroupSet; end_if; **) (* if - Cond *) LD Delay_Ton2.et GT t#3.5s JMPCN ODK_SKIP_00000000000000Q_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD BOOL_GroupSet ST BOOL_OUT[08] JMP ODK_END_IF_00000000000000Q (* if - End *) ODK_SKIP_00000000000000Q_000000000000001: ODK_END_IF_00000000000000Q: (** if Delay_Ton2.et>t#4.0s then BOOL_OUT[09]:=BOOL_GroupSet; end_if; **) (* if - Cond *) LD Delay_Ton2.et GT t#4.0s JMPCN ODK_SKIP_00000000000000R_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD BOOL_GroupSet ST BOOL_OUT[09] JMP ODK_END_IF_00000000000000R (* if - End *) ODK_SKIP_00000000000000R_000000000000001: ODK_END_IF_00000000000000R: (** if Delay_Ton2.et>t#4.5s then BOOL_OUT[10]:=BOOL_GroupSet; end_if; **) (* if - Cond *) LD Delay_Ton2.et GT t#4.5s JMPCN ODK_SKIP_00000000000000S_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD BOOL_GroupSet ST BOOL_OUT[10] JMP ODK_END_IF_00000000000000S (* if - End *) ODK_SKIP_00000000000000S_000000000000001: ODK_END_IF_00000000000000S: JMP ODK_END_IF_00000000000000I (** **) (** elsif BOOL_GroupSet=BOOL_GroupSetP then **) (* elseif - Cond *) ODK_SKIP_00000000000000I_000000000000001: LD BOOL_GroupSet EQ BOOL_GroupSetP JMPCN ODK_SKIP_00000000000000I_000000000000002 (* elsif - Stmts *) (** BOOL_OUT[01]:=BOOL_IN[01]; **) (* assign - Stmt *) LD BOOL_IN[01] ST BOOL_OUT[01] (** BOOL_OUT[02]:=BOOL_IN[02]; **) (* assign - Stmt *) LD BOOL_IN[02] ST BOOL_OUT[02] (** BOOL_OUT[03]:=BOOL_IN[03]; **) (* assign - Stmt *) LD BOOL_IN[03] ST BOOL_OUT[03] (** BOOL_OUT[04]:=BOOL_IN[04]; **) (* assign - Stmt *) LD BOOL_IN[04] ST BOOL_OUT[04] (** BOOL_OUT[05]:=BOOL_IN[05]; **) (* assign - Stmt *) LD BOOL_IN[05] ST BOOL_OUT[05] (** BOOL_OUT[06]:=BOOL_IN[06]; **) (* assign - Stmt *) LD BOOL_IN[06] ST BOOL_OUT[06] (** BOOL_OUT[07]:=BOOL_IN[07]; **) (* assign - Stmt *) LD BOOL_IN[07] ST BOOL_OUT[07] (** BOOL_OUT[08]:=BOOL_IN[08]; **) (* assign - Stmt *) LD BOOL_IN[08] ST BOOL_OUT[08] (** BOOL_OUT[09]:=BOOL_IN[09]; **) (* assign - Stmt *) LD BOOL_IN[09] ST BOOL_OUT[09] (** BOOL_OUT[10]:=BOOL_IN[10]; **) (* assign - Stmt *) LD BOOL_IN[10] ST BOOL_OUT[10] JMP ODK_END_IF_00000000000000I (** **) (** end_if; **) (* if - End *) ODK_SKIP_00000000000000I_000000000000002: ODK_END_IF_00000000000000I: (** **) (** **) (** {**********一个INT型总变量对50个变量赋值,50个变量也可单独赋值*************} **) (** **) (** if Delay_Ton3.IN=1 then **) (* if - Cond *) LD Delay_Ton3.IN EQ 1 JMPCN ODK_SKIP_00000000000000T_000000000000001 (* then - Stmts *) (** **) (** if Delay_Ton3.et>t#0.0s then INT_OUT[01]:=INT_GroupSet; end_if; **) (* if - Cond *) LD Delay_Ton3.et GT t#0.0s JMPCN ODK_SKIP_00000000000000U_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD INT_GroupSet ST INT_OUT[01] JMP ODK_END_IF_00000000000000U (* if - End *) ODK_SKIP_00000000000000U_000000000000001: ODK_END_IF_00000000000000U: (** if Delay_Ton3.et>t#0.5s then INT_OUT[02]:=INT_GroupSet; end_if; **) (* if - Cond *) LD Delay_Ton3.et GT t#0.5s JMPCN ODK_SKIP_00000000000000V_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD INT_GroupSet ST INT_OUT[02] JMP ODK_END_IF_00000000000000V (* if - End *) ODK_SKIP_00000000000000V_000000000000001: ODK_END_IF_00000000000000V: (** if Delay_Ton3.et>t#1.0s then INT_OUT[03]:=INT_GroupSet; end_if; **) (* if - Cond *) LD Delay_Ton3.et GT t#1.0s JMPCN ODK_SKIP_00000000000000W_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD INT_GroupSet ST INT_OUT[03] JMP ODK_END_IF_00000000000000W (* if - End *) ODK_SKIP_00000000000000W_000000000000001: ODK_END_IF_00000000000000W: (** if Delay_Ton3.et>t#1.5s then INT_OUT[04]:=INT_GroupSet; end_if; **) (* if - Cond *) LD Delay_Ton3.et GT t#1.5s JMPCN ODK_SKIP_00000000000000X_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD INT_GroupSet ST INT_OUT[04] JMP ODK_END_IF_00000000000000X (* if - End *) ODK_SKIP_00000000000000X_000000000000001: ODK_END_IF_00000000000000X: (** if Delay_Ton3.et>t#2.0s then INT_OUT[05]:=INT_GroupSet; end_if; **) (* if - Cond *) LD Delay_Ton3.et GT t#2.0s JMPCN ODK_SKIP_00000000000000Y_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD INT_GroupSet ST INT_OUT[05] JMP ODK_END_IF_00000000000000Y (* if - End *) ODK_SKIP_00000000000000Y_000000000000001: ODK_END_IF_00000000000000Y: (** if Delay_Ton3.et>t#2.5s then INT_OUT[06]:=INT_GroupSet; end_if; **) (* if - Cond *) LD Delay_Ton3.et GT t#2.5s JMPCN ODK_SKIP_00000000000000Z_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD INT_GroupSet ST INT_OUT[06] JMP ODK_END_IF_00000000000000Z (* if - End *) ODK_SKIP_00000000000000Z_000000000000001: ODK_END_IF_00000000000000Z: (** if Delay_Ton3.et>t#3.0s then INT_OUT[07]:=INT_GroupSet; end_if; **) (* if - Cond *) LD Delay_Ton3.et GT t#3.0s JMPCN ODK_SKIP_000000000000010_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD INT_GroupSet ST INT_OUT[07] JMP ODK_END_IF_000000000000010 (* if - End *) ODK_SKIP_000000000000010_000000000000001: ODK_END_IF_000000000000010: (** if Delay_Ton3.et>t#3.5s then INT_OUT[08]:=INT_GroupSet; end_if; **) (* if - Cond *) LD Delay_Ton3.et GT t#3.5s JMPCN ODK_SKIP_000000000000011_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD INT_GroupSet ST INT_OUT[08] JMP ODK_END_IF_000000000000011 (* if - End *) ODK_SKIP_000000000000011_000000000000001: ODK_END_IF_000000000000011: (** if Delay_Ton3.et>t#4.0s then INT_OUT[09]:=INT_GroupSet; end_if; **) (* if - Cond *) LD Delay_Ton3.et GT t#4.0s JMPCN ODK_SKIP_000000000000012_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD INT_GroupSet ST INT_OUT[09] JMP ODK_END_IF_000000000000012 (* if - End *) ODK_SKIP_000000000000012_000000000000001: ODK_END_IF_000000000000012: (** if Delay_Ton3.et>t#4.5s then INT_OUT[10]:=INT_GroupSet; end_if; **) (* if - Cond *) LD Delay_Ton3.et GT t#4.5s JMPCN ODK_SKIP_000000000000013_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD INT_GroupSet ST INT_OUT[10] JMP ODK_END_IF_000000000000013 (* if - End *) ODK_SKIP_000000000000013_000000000000001: ODK_END_IF_000000000000013: JMP ODK_END_IF_00000000000000T (** **) (** elsif INT_GroupSet=INT_GroupSetP then **) (* elseif - Cond *) ODK_SKIP_00000000000000T_000000000000001: LD INT_GroupSet EQ INT_GroupSetP JMPCN ODK_SKIP_00000000000000T_000000000000002 (* elsif - Stmts *) (** INT_OUT[01]:=INT_IN[01]; **) (* assign - Stmt *) LD INT_IN[01] ST INT_OUT[01] (** INT_OUT[02]:=INT_IN[02]; **) (* assign - Stmt *) LD INT_IN[02] ST INT_OUT[02] (** INT_OUT[03]:=INT_IN[03]; **) (* assign - Stmt *) LD INT_IN[03] ST INT_OUT[03] (** INT_OUT[04]:=INT_IN[04]; **) (* assign - Stmt *) LD INT_IN[04] ST INT_OUT[04] (** INT_OUT[05]:=INT_IN[05]; **) (* assign - Stmt *) LD INT_IN[05] ST INT_OUT[05] (** INT_OUT[06]:=INT_IN[06]; **) (* assign - Stmt *) LD INT_IN[06] ST INT_OUT[06] (** INT_OUT[07]:=INT_IN[07]; **) (* assign - Stmt *) LD INT_IN[07] ST INT_OUT[07] (** INT_OUT[08]:=INT_IN[08]; **) (* assign - Stmt *) LD INT_IN[08] ST INT_OUT[08] (** INT_OUT[09]:=INT_IN[09]; **) (* assign - Stmt *) LD INT_IN[09] ST INT_OUT[09] (** INT_OUT[10]:=INT_IN[10]; **) (* assign - Stmt *) LD INT_IN[10] ST INT_OUT[10] JMP ODK_END_IF_00000000000000T (** **) (** end_if; **) (* if - End *) ODK_SKIP_00000000000000T_000000000000002: ODK_END_IF_00000000000000T: (** **) (** case lock of **) (** {*0时,均不锁定,1锁定BOOL;2,锁定INT;3,锁定REAL;*} **) (** 0: **) (* case - Elm *) ODK_SKIP_000000000000014_000000000000000: (* case - Cond *) LD lock EQ 0 JMPC ODK_CASE_000000000000014_000000000000001 JMP ODK_SKIP_000000000000014_000000000000001 (* case - Stmts *) ODK_CASE_000000000000014_000000000000001: (** BOOL_GroupSetP:=BOOL_GroupSet; **) (* assign - Stmt *) LD BOOL_GroupSet ST BOOL_GroupSetP (** INT_GroupSetP:=INT_GroupSet; **) (* assign - Stmt *) LD INT_GroupSet ST INT_GroupSetP (** REAL_GroupSetP:=REAL_GroupSet; **) (* assign - Stmt *) LD REAL_GroupSet ST REAL_GroupSetP JMP ODK_END_CASE_000000000000014 (** 1: **) (* case - Elm *) ODK_SKIP_000000000000014_000000000000001: (* case - Cond *) LD lock EQ 1 JMPC ODK_CASE_000000000000014_000000000000002 JMP ODK_SKIP_000000000000014_000000000000002 (* case - Stmts *) ODK_CASE_000000000000014_000000000000002: (** INT_GroupSetP:=INT_GroupSet; **) (* assign - Stmt *) LD INT_GroupSet ST INT_GroupSetP (** REAL_GroupSetP:=REAL_GroupSet; **) (* assign - Stmt *) LD REAL_GroupSet ST REAL_GroupSetP JMP ODK_END_CASE_000000000000014 (** 2: **) (* case - Elm *) ODK_SKIP_000000000000014_000000000000002: (* case - Cond *) LD lock EQ 2 JMPC ODK_CASE_000000000000014_000000000000003 JMP ODK_SKIP_000000000000014_000000000000003 (* case - Stmts *) ODK_CASE_000000000000014_000000000000003: (** BOOL_GroupSetP:=BOOL_GroupSet; **) (* assign - Stmt *) LD BOOL_GroupSet ST BOOL_GroupSetP (** REAL_GroupSetP:=REAL_GroupSet; **) (* assign - Stmt *) LD REAL_GroupSet ST REAL_GroupSetP JMP ODK_END_CASE_000000000000014 (** 3: **) (* case - Elm *) ODK_SKIP_000000000000014_000000000000003: (* case - Cond *) LD lock EQ 3 JMPC ODK_CASE_000000000000014_000000000000004 JMP ODK_SKIP_000000000000014_000000000000004 (* case - Stmts *) ODK_CASE_000000000000014_000000000000004: (** BOOL_GroupSetP:=BOOL_GroupSet; **) (* assign - Stmt *) LD BOOL_GroupSet ST BOOL_GroupSetP (** INT_GroupSetP:=INT_GroupSet; **) (* assign - Stmt *) LD INT_GroupSet ST INT_GroupSetP JMP ODK_END_CASE_000000000000014 (** end_case; **) (* case - End *) ODK_SKIP_000000000000014_000000000000004: ODK_END_CASE_000000000000014: (** **) END_FUNCTION_BLOCK