You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1102 lines
22 KiB
1102 lines
22 KiB
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
|