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.
 
 
 
 
 
 

1310 lines
30 KiB

FUNCTION_BLOCK IJ_LCB0610
VAR_EXTERNAL
END_VAR
VAR_INPUT
LOCK :int:=0;
LightGroup_Input :array[0..6,0..10] of bool;
CM :bool;
Delay :time:=t#50ms;
END_VAR
VAR_OUTPUT
LightGroup_Output :array[0..6,0..10] of bool;
END_VAR
VAR
LightGroup_OutputP :array[0..10] of bool;
LightGroup_InputP :array[0..10] of bool;
Delay_ton1 :ton;
Delay_ton2 :ton;
Delay_ton3 :ton;
Delay_ton4 :ton;
Delay_ton5 :ton;
Delay_ton6 :ton;
i :int;
j1 :int;
j2 :int;
j3 :int;
j4 :int;
j5 :int;
j6 :int;
k :int;
END_VAR
(*Automatically declared*)
VAR_EXTERNAL
END_VAR
(** {* **)
(** **)
(** 时 间:20200731 **)
(** 版 本:1.1 **)
(** 作 者:姚立 **)
(** 名 称:照明电控箱控制程序 **)
(** 说 明: **)
(** CM 为群组控制启用和失效 **)
(** LOCK 为锁定模式 0不锁定 1锁定 **)
(** Delay 为回路延时设定,默认为50ms **)
(** LightGroup_Input 照明分组变量输入 array[0..6,0..10] 前部分为分组,后部分为回路 **)
(** LightGroup_Output 照明分组变量输出 array[0..6,0..10] 前部分为分组,后部分为回路 **)
(** **)
(** 1.新云控制同步功能 **)
(** **)
(** CM=0 不接收群组控制 **)
(** CM=1 接收群组控制 **)
(** **)
(** 2.延时赋值功能 **)
(** 用于变量延时批量赋值 **)
(** 回路非锁输出,输出延时间隔可设定,默认50ms **)
(** **)
(** 3.控制锁定功能 **)
(** LOCK 0不锁定;非0锁定; **)
(** **)
(** **)
(** 备 注:支持6种灯具分组,每种10组灯具; **)
(** 依赖块:无 **)
(** **)
(** *} **)
(** **)
(** {*DEMO **)
(** if CM =1 then **)
(** **)
(** if LightGroup_Input[x,0]<>LightGroup_InputP[x] then **)
(** LightGroup_Output[x,0]:=LightGroup_Input[x,0]; **)
(** end_if; **)
(** **)
(** end_if; **)
(** **)
(** if LightGroup_Output[x,0]<>LightGroup_OutputP[x] then **)
(** **)
(** Delay_tonx(PT :=Delay ); **)
(** Delay_tonx.in:= not Delay_tonx.q; **)
(** if Delay_tonx.q=1 then **)
(** j:=j+1; **)
(** LightGroup_Output[x,j] :=LightGroup_Output[x,0]; **)
(** if j=30 then **)
(** j:=0; **)
(** LightGroup_OutputP[x]:=LightGroup_Output[x,0]; **)
(** end_if; **)
(** end_if; **)
(** **)
(** else **)
(** if Lock=0 then **)
(** LightGroup_Output[x,1] :=LightGroup_Input[x,1] ; **)
(** LightGroup_Output[x,2] :=LightGroup_Input[x,2] ; **)
(** LightGroup_Output[x,3] :=LightGroup_Input[x,3] ; **)
(** LightGroup_Output[x,4] :=LightGroup_Input[x,4] ; **)
(** LightGroup_Output[x,5] :=LightGroup_Input[x,5] ; **)
(** LightGroup_Output[x,6] :=LightGroup_Input[x,6] ; **)
(** LightGroup_Output[x,7] :=LightGroup_Input[x,7] ; **)
(** LightGroup_Output[x,8] :=LightGroup_Input[x,8] ; **)
(** LightGroup_Output[x,9] :=LightGroup_Input[x,9] ; **)
(** LightGroup_Output[x,10]:=LightGroup_Input[x,10]; **)
(** LightGroup_Output[x,11]:=LightGroup_Input[x,11]; **)
(** LightGroup_Output[x,12]:=LightGroup_Input[x,12]; **)
(** LightGroup_Output[x,13]:=LightGroup_Input[x,13]; **)
(** LightGroup_Output[x,14]:=LightGroup_Input[x,14]; **)
(** LightGroup_Output[x,15]:=LightGroup_Input[x,15]; **)
(** LightGroup_Output[x,16]:=LightGroup_Input[x,16]; **)
(** LightGroup_Output[x,17]:=LightGroup_Input[x,17]; **)
(** LightGroup_Output[x,18]:=LightGroup_Input[x,18]; **)
(** LightGroup_Output[x,19]:=LightGroup_Input[x,19]; **)
(** LightGroup_Output[x,20]:=LightGroup_Input[x,20]; **)
(** LightGroup_Output[x,21]:=LightGroup_Input[x,21]; **)
(** LightGroup_Output[x,22]:=LightGroup_Input[x,22]; **)
(** LightGroup_Output[x,23]:=LightGroup_Input[x,23]; **)
(** LightGroup_Output[x,24]:=LightGroup_Input[x,24]; **)
(** LightGroup_Output[x,25]:=LightGroup_Input[x,25]; **)
(** LightGroup_Output[x,26]:=LightGroup_Input[x,26]; **)
(** LightGroup_Output[x,27]:=LightGroup_Input[x,27]; **)
(** LightGroup_Output[x,28]:=LightGroup_Input[x,28]; **)
(** LightGroup_Output[x,29]:=LightGroup_Input[x,29]; **)
(** LightGroup_Output[x,30]:=LightGroup_Input[x,30]; **)
(** end_if; **)
(** end_if; **)
(** **)
(** LightGroup_InputP[x]:=LightGroup_Input[x,0]; **)
(** *} **)
(** **)
(** {**************************************************分组1****************************************************} **)
(** if CM =1 then **)
(* if - Cond *)
LD CM
EQ 1
JMPCN ODK_SKIP_000000000000001_000000000000001
(* then - Stmts *)
(** **)
(** if LightGroup_Input[1,0]<>LightGroup_InputP[1] then {*主控CPU群组控制--》新云/本地控制*} **)
(* if - Cond *)
LD LightGroup_Input[1,0]
NE LightGroup_InputP[1]
JMPCN ODK_SKIP_000000000000002_000000000000001
(* then - Stmts *)
(** LightGroup_Output[1,0]:=LightGroup_Input[1,0]; **)
(* assign - Stmt *)
LD LightGroup_Input[1,0]
ST LightGroup_Output[1,0]
JMP ODK_END_IF_000000000000002
(** end_if; **)
(* if - End *)
ODK_SKIP_000000000000002_000000000000001:
ODK_END_IF_000000000000002:
JMP ODK_END_IF_000000000000001
(** **)
(** end_if; **)
(* if - End *)
ODK_SKIP_000000000000001_000000000000001:
ODK_END_IF_000000000000001:
(** **)
(** if LightGroup_Output[1,0]<>LightGroup_OutputP[1] then **)
(* if - Cond *)
LD LightGroup_Output[1,0]
NE LightGroup_OutputP[1]
JMPCN ODK_SKIP_000000000000003_000000000000001
(* then - Stmts *)
(** **)
(** Delay_ton1(PT :=Delay ); **)
(* call - Stmt *)
CAL Delay_ton1 (
PT := Delay
)
(** Delay_ton1.in:= not Delay_ton1.q; **)
(* assign - Stmt *)
LD Delay_ton1.q
NOT
ST Delay_ton1.in
(** if Delay_ton1.q=1 then **)
(* if - Cond *)
LD Delay_ton1.q
EQ 1
JMPCN ODK_SKIP_000000000000004_000000000000001
(* then - Stmts *)
(** j1:=j1+1; **)
(* assign - Stmt *)
LD j1
ADD 1
ST j1
(** LightGroup_Output[1,j1] :=LightGroup_Output[1,0]; **)
(* assign - Stmt *)
LD LightGroup_Output[1,0]
ST LightGroup_Output[1,j1]
(** if j1=10 then **)
(* if - Cond *)
LD j1
EQ 10
JMPCN ODK_SKIP_000000000000005_000000000000001
(* then - Stmts *)
(** j1:=0; **)
(* assign - Stmt *)
LD 0
ST j1
(** LightGroup_OutputP[1]:=LightGroup_Output[1,0]; **)
(* assign - Stmt *)
LD LightGroup_Output[1,0]
ST LightGroup_OutputP[1]
JMP ODK_END_IF_000000000000005
(** end_if; **)
(* if - End *)
ODK_SKIP_000000000000005_000000000000001:
ODK_END_IF_000000000000005:
JMP ODK_END_IF_000000000000004
(** end_if; **)
(* if - End *)
ODK_SKIP_000000000000004_000000000000001:
ODK_END_IF_000000000000004:
JMP ODK_END_IF_000000000000003
(** **)
(** else {*保持非锁定*} **)
(* else *)
ODK_SKIP_000000000000003_000000000000001:
(* else - Stmts *)
(** if Lock=0 then **)
(* if - Cond *)
LD Lock
EQ 0
JMPCN ODK_SKIP_000000000000006_000000000000001
(* then - Stmts *)
(** LightGroup_Output[1,1] :=LightGroup_Input[1,1] ; **)
(* assign - Stmt *)
LD LightGroup_Input[1,1]
ST LightGroup_Output[1,1]
(** LightGroup_Output[1,2] :=LightGroup_Input[1,2] ; **)
(* assign - Stmt *)
LD LightGroup_Input[1,2]
ST LightGroup_Output[1,2]
(** LightGroup_Output[1,3] :=LightGroup_Input[1,3] ; **)
(* assign - Stmt *)
LD LightGroup_Input[1,3]
ST LightGroup_Output[1,3]
(** LightGroup_Output[1,4] :=LightGroup_Input[1,4] ; **)
(* assign - Stmt *)
LD LightGroup_Input[1,4]
ST LightGroup_Output[1,4]
(** LightGroup_Output[1,5] :=LightGroup_Input[1,5] ; **)
(* assign - Stmt *)
LD LightGroup_Input[1,5]
ST LightGroup_Output[1,5]
(** LightGroup_Output[1,6] :=LightGroup_Input[1,6] ; **)
(* assign - Stmt *)
LD LightGroup_Input[1,6]
ST LightGroup_Output[1,6]
(** LightGroup_Output[1,7] :=LightGroup_Input[1,7] ; **)
(* assign - Stmt *)
LD LightGroup_Input[1,7]
ST LightGroup_Output[1,7]
(** LightGroup_Output[1,8] :=LightGroup_Input[1,8] ; **)
(* assign - Stmt *)
LD LightGroup_Input[1,8]
ST LightGroup_Output[1,8]
(** LightGroup_Output[1,9] :=LightGroup_Input[1,9] ; **)
(* assign - Stmt *)
LD LightGroup_Input[1,9]
ST LightGroup_Output[1,9]
(** LightGroup_Output[1,10]:=LightGroup_Input[1,10]; **)
(* assign - Stmt *)
LD LightGroup_Input[1,10]
ST LightGroup_Output[1,10]
JMP ODK_END_IF_000000000000006
(** end_if; **)
(* if - End *)
ODK_SKIP_000000000000006_000000000000001:
ODK_END_IF_000000000000006:
(** end_if; **)
(* if - End *)
ODK_END_IF_000000000000003:
(** **)
(** LightGroup_InputP[1]:=LightGroup_Input[1,0]; **)
(* assign - Stmt *)
LD LightGroup_Input[1,0]
ST LightGroup_InputP[1]
(** **)
(** {**************************************************分组2****************************************************} **)
(** if CM =1 then **)
(* if - Cond *)
LD CM
EQ 1
JMPCN ODK_SKIP_000000000000007_000000000000001
(* then - Stmts *)
(** **)
(** if LightGroup_Input[2,0]<>LightGroup_InputP[2] then {*主控CPU群组控制--》新云/本地控制*} **)
(* if - Cond *)
LD LightGroup_Input[2,0]
NE LightGroup_InputP[2]
JMPCN ODK_SKIP_000000000000008_000000000000001
(* then - Stmts *)
(** LightGroup_Output[2,0]:=LightGroup_Input[2,0]; **)
(* assign - Stmt *)
LD LightGroup_Input[2,0]
ST LightGroup_Output[2,0]
JMP ODK_END_IF_000000000000008
(** end_if; **)
(* if - End *)
ODK_SKIP_000000000000008_000000000000001:
ODK_END_IF_000000000000008:
JMP ODK_END_IF_000000000000007
(** **)
(** end_if; **)
(* if - End *)
ODK_SKIP_000000000000007_000000000000001:
ODK_END_IF_000000000000007:
(** **)
(** if LightGroup_Output[2,0]<>LightGroup_OutputP[2] then **)
(* if - Cond *)
LD LightGroup_Output[2,0]
NE LightGroup_OutputP[2]
JMPCN ODK_SKIP_000000000000009_000000000000001
(* then - Stmts *)
(** **)
(** Delay_ton2(PT :=Delay ); **)
(* call - Stmt *)
CAL Delay_ton2 (
PT := Delay
)
(** Delay_ton2.in:= not Delay_ton2.q; **)
(* assign - Stmt *)
LD Delay_ton2.q
NOT
ST Delay_ton2.in
(** if Delay_ton2.q=1 then **)
(* if - Cond *)
LD Delay_ton2.q
EQ 1
JMPCN ODK_SKIP_00000000000000A_000000000000001
(* then - Stmts *)
(** j2:=j2+1; **)
(* assign - Stmt *)
LD j2
ADD 1
ST j2
(** LightGroup_Output[2,j2] :=LightGroup_Output[2,0]; **)
(* assign - Stmt *)
LD LightGroup_Output[2,0]
ST LightGroup_Output[2,j2]
(** if j2=10 then **)
(* if - Cond *)
LD j2
EQ 10
JMPCN ODK_SKIP_00000000000000B_000000000000001
(* then - Stmts *)
(** j2:=0; **)
(* assign - Stmt *)
LD 0
ST j2
(** LightGroup_OutputP[2]:=LightGroup_Output[2,0]; **)
(* assign - Stmt *)
LD LightGroup_Output[2,0]
ST LightGroup_OutputP[2]
JMP ODK_END_IF_00000000000000B
(** end_if; **)
(* if - End *)
ODK_SKIP_00000000000000B_000000000000001:
ODK_END_IF_00000000000000B:
JMP ODK_END_IF_00000000000000A
(** end_if; **)
(* if - End *)
ODK_SKIP_00000000000000A_000000000000001:
ODK_END_IF_00000000000000A:
JMP ODK_END_IF_000000000000009
(** **)
(** else {*保持非锁定*} **)
(* else *)
ODK_SKIP_000000000000009_000000000000001:
(* else - Stmts *)
(** if Lock=0 then **)
(* if - Cond *)
LD Lock
EQ 0
JMPCN ODK_SKIP_00000000000000C_000000000000001
(* then - Stmts *)
(** LightGroup_Output[2,1] :=LightGroup_Input[2,1] ; **)
(* assign - Stmt *)
LD LightGroup_Input[2,1]
ST LightGroup_Output[2,1]
(** LightGroup_Output[2,2] :=LightGroup_Input[2,2] ; **)
(* assign - Stmt *)
LD LightGroup_Input[2,2]
ST LightGroup_Output[2,2]
(** LightGroup_Output[2,3] :=LightGroup_Input[2,3] ; **)
(* assign - Stmt *)
LD LightGroup_Input[2,3]
ST LightGroup_Output[2,3]
(** LightGroup_Output[2,4] :=LightGroup_Input[2,4] ; **)
(* assign - Stmt *)
LD LightGroup_Input[2,4]
ST LightGroup_Output[2,4]
(** LightGroup_Output[2,5] :=LightGroup_Input[2,5] ; **)
(* assign - Stmt *)
LD LightGroup_Input[2,5]
ST LightGroup_Output[2,5]
(** LightGroup_Output[2,6] :=LightGroup_Input[2,6] ; **)
(* assign - Stmt *)
LD LightGroup_Input[2,6]
ST LightGroup_Output[2,6]
(** LightGroup_Output[2,7] :=LightGroup_Input[2,7] ; **)
(* assign - Stmt *)
LD LightGroup_Input[2,7]
ST LightGroup_Output[2,7]
(** LightGroup_Output[2,8] :=LightGroup_Input[2,8] ; **)
(* assign - Stmt *)
LD LightGroup_Input[2,8]
ST LightGroup_Output[2,8]
(** LightGroup_Output[2,9] :=LightGroup_Input[2,9] ; **)
(* assign - Stmt *)
LD LightGroup_Input[2,9]
ST LightGroup_Output[2,9]
(** LightGroup_Output[2,10]:=LightGroup_Input[2,10]; **)
(* assign - Stmt *)
LD LightGroup_Input[2,10]
ST LightGroup_Output[2,10]
JMP ODK_END_IF_00000000000000C
(** end_if; **)
(* if - End *)
ODK_SKIP_00000000000000C_000000000000001:
ODK_END_IF_00000000000000C:
(** end_if; **)
(* if - End *)
ODK_END_IF_000000000000009:
(** **)
(** LightGroup_InputP[2]:=LightGroup_Input[2,0]; **)
(* assign - Stmt *)
LD LightGroup_Input[2,0]
ST LightGroup_InputP[2]
(** {**************************************************分组3****************************************************} **)
(** if CM =1 then **)
(* if - Cond *)
LD CM
EQ 1
JMPCN ODK_SKIP_00000000000000D_000000000000001
(* then - Stmts *)
(** **)
(** if LightGroup_Input[3,0]<>LightGroup_InputP[3] then {*主控CPU群组控制--》新云/本地控制*} **)
(* if - Cond *)
LD LightGroup_Input[3,0]
NE LightGroup_InputP[3]
JMPCN ODK_SKIP_00000000000000E_000000000000001
(* then - Stmts *)
(** LightGroup_Output[3,0]:=LightGroup_Input[3,0]; **)
(* assign - Stmt *)
LD LightGroup_Input[3,0]
ST LightGroup_Output[3,0]
JMP ODK_END_IF_00000000000000E
(** end_if; **)
(* if - End *)
ODK_SKIP_00000000000000E_000000000000001:
ODK_END_IF_00000000000000E:
JMP ODK_END_IF_00000000000000D
(** **)
(** end_if; **)
(* if - End *)
ODK_SKIP_00000000000000D_000000000000001:
ODK_END_IF_00000000000000D:
(** **)
(** if LightGroup_Output[3,0]<>LightGroup_OutputP[3] then **)
(* if - Cond *)
LD LightGroup_Output[3,0]
NE LightGroup_OutputP[3]
JMPCN ODK_SKIP_00000000000000F_000000000000001
(* then - Stmts *)
(** **)
(** Delay_ton3(PT :=Delay ); **)
(* call - Stmt *)
CAL Delay_ton3 (
PT := Delay
)
(** Delay_ton3.in:= not Delay_ton3.q; **)
(* assign - Stmt *)
LD Delay_ton3.q
NOT
ST Delay_ton3.in
(** if Delay_ton3.q=1 then **)
(* if - Cond *)
LD Delay_ton3.q
EQ 1
JMPCN ODK_SKIP_00000000000000G_000000000000001
(* then - Stmts *)
(** j3:=j3+1; **)
(* assign - Stmt *)
LD j3
ADD 1
ST j3
(** LightGroup_Output[3,j3] :=LightGroup_Output[3,0]; **)
(* assign - Stmt *)
LD LightGroup_Output[3,0]
ST LightGroup_Output[3,j3]
(** if j3=10 then **)
(* if - Cond *)
LD j3
EQ 10
JMPCN ODK_SKIP_00000000000000H_000000000000001
(* then - Stmts *)
(** j3:=0; **)
(* assign - Stmt *)
LD 0
ST j3
(** LightGroup_OutputP[3]:=LightGroup_Output[3,0]; **)
(* assign - Stmt *)
LD LightGroup_Output[3,0]
ST LightGroup_OutputP[3]
JMP ODK_END_IF_00000000000000H
(** end_if; **)
(* if - End *)
ODK_SKIP_00000000000000H_000000000000001:
ODK_END_IF_00000000000000H:
JMP ODK_END_IF_00000000000000G
(** end_if; **)
(* if - End *)
ODK_SKIP_00000000000000G_000000000000001:
ODK_END_IF_00000000000000G:
JMP ODK_END_IF_00000000000000F
(** **)
(** else {*保持非锁定*} **)
(* else *)
ODK_SKIP_00000000000000F_000000000000001:
(* else - Stmts *)
(** if Lock=0 then **)
(* if - Cond *)
LD Lock
EQ 0
JMPCN ODK_SKIP_00000000000000I_000000000000001
(* then - Stmts *)
(** LightGroup_Output[3,1] :=LightGroup_Input[3,1] ; **)
(* assign - Stmt *)
LD LightGroup_Input[3,1]
ST LightGroup_Output[3,1]
(** LightGroup_Output[3,2] :=LightGroup_Input[3,2] ; **)
(* assign - Stmt *)
LD LightGroup_Input[3,2]
ST LightGroup_Output[3,2]
(** LightGroup_Output[3,3] :=LightGroup_Input[3,3] ; **)
(* assign - Stmt *)
LD LightGroup_Input[3,3]
ST LightGroup_Output[3,3]
(** LightGroup_Output[3,4] :=LightGroup_Input[3,4] ; **)
(* assign - Stmt *)
LD LightGroup_Input[3,4]
ST LightGroup_Output[3,4]
(** LightGroup_Output[3,5] :=LightGroup_Input[3,5] ; **)
(* assign - Stmt *)
LD LightGroup_Input[3,5]
ST LightGroup_Output[3,5]
(** LightGroup_Output[3,6] :=LightGroup_Input[3,6] ; **)
(* assign - Stmt *)
LD LightGroup_Input[3,6]
ST LightGroup_Output[3,6]
(** LightGroup_Output[3,7] :=LightGroup_Input[3,7] ; **)
(* assign - Stmt *)
LD LightGroup_Input[3,7]
ST LightGroup_Output[3,7]
(** LightGroup_Output[3,8] :=LightGroup_Input[3,8] ; **)
(* assign - Stmt *)
LD LightGroup_Input[3,8]
ST LightGroup_Output[3,8]
(** LightGroup_Output[3,9] :=LightGroup_Input[3,9] ; **)
(* assign - Stmt *)
LD LightGroup_Input[3,9]
ST LightGroup_Output[3,9]
(** LightGroup_Output[3,10]:=LightGroup_Input[3,10]; **)
(* assign - Stmt *)
LD LightGroup_Input[3,10]
ST LightGroup_Output[3,10]
JMP ODK_END_IF_00000000000000I
(** end_if; **)
(* if - End *)
ODK_SKIP_00000000000000I_000000000000001:
ODK_END_IF_00000000000000I:
(** end_if; **)
(* if - End *)
ODK_END_IF_00000000000000F:
(** **)
(** LightGroup_InputP[3]:=LightGroup_Input[3,0]; **)
(* assign - Stmt *)
LD LightGroup_Input[3,0]
ST LightGroup_InputP[3]
(** {**************************************************分组4****************************************************} **)
(** if CM =1 then **)
(* if - Cond *)
LD CM
EQ 1
JMPCN ODK_SKIP_00000000000000J_000000000000001
(* then - Stmts *)
(** **)
(** if LightGroup_Input[4,0]<>LightGroup_InputP[4] then {*主控CPU群组控制--》新云/本地控制*} **)
(* if - Cond *)
LD LightGroup_Input[4,0]
NE LightGroup_InputP[4]
JMPCN ODK_SKIP_00000000000000K_000000000000001
(* then - Stmts *)
(** LightGroup_Output[4,0]:=LightGroup_Input[4,0]; **)
(* assign - Stmt *)
LD LightGroup_Input[4,0]
ST LightGroup_Output[4,0]
JMP ODK_END_IF_00000000000000K
(** end_if; **)
(* if - End *)
ODK_SKIP_00000000000000K_000000000000001:
ODK_END_IF_00000000000000K:
JMP ODK_END_IF_00000000000000J
(** **)
(** end_if; **)
(* if - End *)
ODK_SKIP_00000000000000J_000000000000001:
ODK_END_IF_00000000000000J:
(** **)
(** if LightGroup_Output[4,0]<>LightGroup_OutputP[4] then **)
(* if - Cond *)
LD LightGroup_Output[4,0]
NE LightGroup_OutputP[4]
JMPCN ODK_SKIP_00000000000000L_000000000000001
(* then - Stmts *)
(** **)
(** Delay_ton4(PT :=Delay ); **)
(* call - Stmt *)
CAL Delay_ton4 (
PT := Delay
)
(** Delay_ton4.in:= not Delay_ton4.q; **)
(* assign - Stmt *)
LD Delay_ton4.q
NOT
ST Delay_ton4.in
(** if Delay_ton4.q=1 then **)
(* if - Cond *)
LD Delay_ton4.q
EQ 1
JMPCN ODK_SKIP_00000000000000M_000000000000001
(* then - Stmts *)
(** j4:=j4+1; **)
(* assign - Stmt *)
LD j4
ADD 1
ST j4
(** LightGroup_Output[4,j4] :=LightGroup_Output[4,0]; **)
(* assign - Stmt *)
LD LightGroup_Output[4,0]
ST LightGroup_Output[4,j4]
(** if j4=10 then **)
(* if - Cond *)
LD j4
EQ 10
JMPCN ODK_SKIP_00000000000000N_000000000000001
(* then - Stmts *)
(** j4:=0; **)
(* assign - Stmt *)
LD 0
ST j4
(** LightGroup_OutputP[4]:=LightGroup_Output[4,0]; **)
(* assign - Stmt *)
LD LightGroup_Output[4,0]
ST LightGroup_OutputP[4]
JMP ODK_END_IF_00000000000000N
(** end_if; **)
(* if - End *)
ODK_SKIP_00000000000000N_000000000000001:
ODK_END_IF_00000000000000N:
JMP ODK_END_IF_00000000000000M
(** end_if; **)
(* if - End *)
ODK_SKIP_00000000000000M_000000000000001:
ODK_END_IF_00000000000000M:
JMP ODK_END_IF_00000000000000L
(** **)
(** else {*保持非锁定*} **)
(* else *)
ODK_SKIP_00000000000000L_000000000000001:
(* else - Stmts *)
(** if Lock=0 then **)
(* if - Cond *)
LD Lock
EQ 0
JMPCN ODK_SKIP_00000000000000O_000000000000001
(* then - Stmts *)
(** LightGroup_Output[4,1] :=LightGroup_Input[4,1] ; **)
(* assign - Stmt *)
LD LightGroup_Input[4,1]
ST LightGroup_Output[4,1]
(** LightGroup_Output[4,2] :=LightGroup_Input[4,2] ; **)
(* assign - Stmt *)
LD LightGroup_Input[4,2]
ST LightGroup_Output[4,2]
(** LightGroup_Output[4,3] :=LightGroup_Input[4,3] ; **)
(* assign - Stmt *)
LD LightGroup_Input[4,3]
ST LightGroup_Output[4,3]
(** LightGroup_Output[4,4] :=LightGroup_Input[4,4] ; **)
(* assign - Stmt *)
LD LightGroup_Input[4,4]
ST LightGroup_Output[4,4]
(** LightGroup_Output[4,5] :=LightGroup_Input[4,5] ; **)
(* assign - Stmt *)
LD LightGroup_Input[4,5]
ST LightGroup_Output[4,5]
(** LightGroup_Output[4,6] :=LightGroup_Input[4,6] ; **)
(* assign - Stmt *)
LD LightGroup_Input[4,6]
ST LightGroup_Output[4,6]
(** LightGroup_Output[4,7] :=LightGroup_Input[4,7] ; **)
(* assign - Stmt *)
LD LightGroup_Input[4,7]
ST LightGroup_Output[4,7]
(** LightGroup_Output[4,8] :=LightGroup_Input[4,8] ; **)
(* assign - Stmt *)
LD LightGroup_Input[4,8]
ST LightGroup_Output[4,8]
(** LightGroup_Output[4,9] :=LightGroup_Input[4,9] ; **)
(* assign - Stmt *)
LD LightGroup_Input[4,9]
ST LightGroup_Output[4,9]
(** LightGroup_Output[4,10]:=LightGroup_Input[4,10]; **)
(* assign - Stmt *)
LD LightGroup_Input[4,10]
ST LightGroup_Output[4,10]
JMP ODK_END_IF_00000000000000O
(** end_if; **)
(* if - End *)
ODK_SKIP_00000000000000O_000000000000001:
ODK_END_IF_00000000000000O:
(** end_if; **)
(* if - End *)
ODK_END_IF_00000000000000L:
(** **)
(** LightGroup_InputP[4]:=LightGroup_Input[4,0]; **)
(* assign - Stmt *)
LD LightGroup_Input[4,0]
ST LightGroup_InputP[4]
(** {**************************************************分组5****************************************************} **)
(** if CM =1 then **)
(* if - Cond *)
LD CM
EQ 1
JMPCN ODK_SKIP_00000000000000P_000000000000001
(* then - Stmts *)
(** **)
(** if LightGroup_Input[5,0]<>LightGroup_InputP[5] then {*主控CPU群组控制--》新云/本地控制*} **)
(* if - Cond *)
LD LightGroup_Input[5,0]
NE LightGroup_InputP[5]
JMPCN ODK_SKIP_00000000000000Q_000000000000001
(* then - Stmts *)
(** LightGroup_Output[5,0]:=LightGroup_Input[5,0]; **)
(* assign - Stmt *)
LD LightGroup_Input[5,0]
ST LightGroup_Output[5,0]
JMP ODK_END_IF_00000000000000Q
(** end_if; **)
(* if - End *)
ODK_SKIP_00000000000000Q_000000000000001:
ODK_END_IF_00000000000000Q:
JMP ODK_END_IF_00000000000000P
(** **)
(** end_if; **)
(* if - End *)
ODK_SKIP_00000000000000P_000000000000001:
ODK_END_IF_00000000000000P:
(** **)
(** if LightGroup_Output[5,0]<>LightGroup_OutputP[5] then **)
(* if - Cond *)
LD LightGroup_Output[5,0]
NE LightGroup_OutputP[5]
JMPCN ODK_SKIP_00000000000000R_000000000000001
(* then - Stmts *)
(** **)
(** Delay_ton5(PT :=Delay ); **)
(* call - Stmt *)
CAL Delay_ton5 (
PT := Delay
)
(** Delay_ton5.in:= not Delay_ton5.q; **)
(* assign - Stmt *)
LD Delay_ton5.q
NOT
ST Delay_ton5.in
(** if Delay_ton5.q=1 then **)
(* if - Cond *)
LD Delay_ton5.q
EQ 1
JMPCN ODK_SKIP_00000000000000S_000000000000001
(* then - Stmts *)
(** j5:=j5+1; **)
(* assign - Stmt *)
LD j5
ADD 1
ST j5
(** LightGroup_Output[5,j5] :=LightGroup_Output[5,0]; **)
(* assign - Stmt *)
LD LightGroup_Output[5,0]
ST LightGroup_Output[5,j5]
(** if j5=10 then **)
(* if - Cond *)
LD j5
EQ 10
JMPCN ODK_SKIP_00000000000000T_000000000000001
(* then - Stmts *)
(** j5:=0; **)
(* assign - Stmt *)
LD 0
ST j5
(** LightGroup_OutputP[5]:=LightGroup_Output[5,0]; **)
(* assign - Stmt *)
LD LightGroup_Output[5,0]
ST LightGroup_OutputP[5]
JMP ODK_END_IF_00000000000000T
(** end_if; **)
(* if - End *)
ODK_SKIP_00000000000000T_000000000000001:
ODK_END_IF_00000000000000T:
JMP ODK_END_IF_00000000000000S
(** end_if; **)
(* if - End *)
ODK_SKIP_00000000000000S_000000000000001:
ODK_END_IF_00000000000000S:
JMP ODK_END_IF_00000000000000R
(** **)
(** else {*保持非锁定*} **)
(* else *)
ODK_SKIP_00000000000000R_000000000000001:
(* else - Stmts *)
(** if Lock=0 then **)
(* if - Cond *)
LD Lock
EQ 0
JMPCN ODK_SKIP_00000000000000U_000000000000001
(* then - Stmts *)
(** LightGroup_Output[5,1] :=LightGroup_Input[5,1] ; **)
(* assign - Stmt *)
LD LightGroup_Input[5,1]
ST LightGroup_Output[5,1]
(** LightGroup_Output[5,2] :=LightGroup_Input[5,2] ; **)
(* assign - Stmt *)
LD LightGroup_Input[5,2]
ST LightGroup_Output[5,2]
(** LightGroup_Output[5,3] :=LightGroup_Input[5,3] ; **)
(* assign - Stmt *)
LD LightGroup_Input[5,3]
ST LightGroup_Output[5,3]
(** LightGroup_Output[5,4] :=LightGroup_Input[5,4] ; **)
(* assign - Stmt *)
LD LightGroup_Input[5,4]
ST LightGroup_Output[5,4]
(** LightGroup_Output[5,5] :=LightGroup_Input[5,5] ; **)
(* assign - Stmt *)
LD LightGroup_Input[5,5]
ST LightGroup_Output[5,5]
(** LightGroup_Output[5,6] :=LightGroup_Input[5,6] ; **)
(* assign - Stmt *)
LD LightGroup_Input[5,6]
ST LightGroup_Output[5,6]
(** LightGroup_Output[5,7] :=LightGroup_Input[5,7] ; **)
(* assign - Stmt *)
LD LightGroup_Input[5,7]
ST LightGroup_Output[5,7]
(** LightGroup_Output[5,8] :=LightGroup_Input[5,8] ; **)
(* assign - Stmt *)
LD LightGroup_Input[5,8]
ST LightGroup_Output[5,8]
(** LightGroup_Output[5,9] :=LightGroup_Input[5,9] ; **)
(* assign - Stmt *)
LD LightGroup_Input[5,9]
ST LightGroup_Output[5,9]
(** LightGroup_Output[5,10]:=LightGroup_Input[5,10]; **)
(* assign - Stmt *)
LD LightGroup_Input[5,10]
ST LightGroup_Output[5,10]
JMP ODK_END_IF_00000000000000U
(** end_if; **)
(* if - End *)
ODK_SKIP_00000000000000U_000000000000001:
ODK_END_IF_00000000000000U:
(** end_if; **)
(* if - End *)
ODK_END_IF_00000000000000R:
(** **)
(** LightGroup_InputP[5]:=LightGroup_Input[5,0]; **)
(* assign - Stmt *)
LD LightGroup_Input[5,0]
ST LightGroup_InputP[5]
(** {**************************************************分组6****************************************************} **)
(** if CM =1 then **)
(* if - Cond *)
LD CM
EQ 1
JMPCN ODK_SKIP_00000000000000V_000000000000001
(* then - Stmts *)
(** **)
(** if LightGroup_Input[6,0]<>LightGroup_InputP[6] then {*主控CPU群组控制--》新云/本地控制*} **)
(* if - Cond *)
LD LightGroup_Input[6,0]
NE LightGroup_InputP[6]
JMPCN ODK_SKIP_00000000000000W_000000000000001
(* then - Stmts *)
(** LightGroup_Output[6,0]:=LightGroup_Input[6,0]; **)
(* assign - Stmt *)
LD LightGroup_Input[6,0]
ST LightGroup_Output[6,0]
JMP ODK_END_IF_00000000000000W
(** end_if; **)
(* if - End *)
ODK_SKIP_00000000000000W_000000000000001:
ODK_END_IF_00000000000000W:
JMP ODK_END_IF_00000000000000V
(** **)
(** end_if; **)
(* if - End *)
ODK_SKIP_00000000000000V_000000000000001:
ODK_END_IF_00000000000000V:
(** **)
(** if LightGroup_Output[6,0]<>LightGroup_OutputP[6] then **)
(* if - Cond *)
LD LightGroup_Output[6,0]
NE LightGroup_OutputP[6]
JMPCN ODK_SKIP_00000000000000X_000000000000001
(* then - Stmts *)
(** **)
(** Delay_ton6(PT :=Delay ); **)
(* call - Stmt *)
CAL Delay_ton6 (
PT := Delay
)
(** Delay_ton6.in:= not Delay_ton6.q; **)
(* assign - Stmt *)
LD Delay_ton6.q
NOT
ST Delay_ton6.in
(** if Delay_ton6.q=1 then **)
(* if - Cond *)
LD Delay_ton6.q
EQ 1
JMPCN ODK_SKIP_00000000000000Y_000000000000001
(* then - Stmts *)
(** j6:=j6+1; **)
(* assign - Stmt *)
LD j6
ADD 1
ST j6
(** LightGroup_Output[6,j6] :=LightGroup_Output[6,0]; **)
(* assign - Stmt *)
LD LightGroup_Output[6,0]
ST LightGroup_Output[6,j6]
(** if j6=10 then **)
(* if - Cond *)
LD j6
EQ 10
JMPCN ODK_SKIP_00000000000000Z_000000000000001
(* then - Stmts *)
(** j6:=0; **)
(* assign - Stmt *)
LD 0
ST j6
(** LightGroup_OutputP[6]:=LightGroup_Output[6,0]; **)
(* assign - Stmt *)
LD LightGroup_Output[6,0]
ST LightGroup_OutputP[6]
JMP ODK_END_IF_00000000000000Z
(** end_if; **)
(* if - End *)
ODK_SKIP_00000000000000Z_000000000000001:
ODK_END_IF_00000000000000Z:
JMP ODK_END_IF_00000000000000Y
(** end_if; **)
(* if - End *)
ODK_SKIP_00000000000000Y_000000000000001:
ODK_END_IF_00000000000000Y:
JMP ODK_END_IF_00000000000000X
(** **)
(** else {*保持非锁定*} **)
(* else *)
ODK_SKIP_00000000000000X_000000000000001:
(* else - Stmts *)
(** if Lock=0 then **)
(* if - Cond *)
LD Lock
EQ 0
JMPCN ODK_SKIP_000000000000010_000000000000001
(* then - Stmts *)
(** LightGroup_Output[6,1] :=LightGroup_Input[6,1] ; **)
(* assign - Stmt *)
LD LightGroup_Input[6,1]
ST LightGroup_Output[6,1]
(** LightGroup_Output[6,2] :=LightGroup_Input[6,2] ; **)
(* assign - Stmt *)
LD LightGroup_Input[6,2]
ST LightGroup_Output[6,2]
(** LightGroup_Output[6,3] :=LightGroup_Input[6,3] ; **)
(* assign - Stmt *)
LD LightGroup_Input[6,3]
ST LightGroup_Output[6,3]
(** LightGroup_Output[6,4] :=LightGroup_Input[6,4] ; **)
(* assign - Stmt *)
LD LightGroup_Input[6,4]
ST LightGroup_Output[6,4]
(** LightGroup_Output[6,5] :=LightGroup_Input[6,5] ; **)
(* assign - Stmt *)
LD LightGroup_Input[6,5]
ST LightGroup_Output[6,5]
(** LightGroup_Output[6,6] :=LightGroup_Input[6,6] ; **)
(* assign - Stmt *)
LD LightGroup_Input[6,6]
ST LightGroup_Output[6,6]
(** LightGroup_Output[6,7] :=LightGroup_Input[6,7] ; **)
(* assign - Stmt *)
LD LightGroup_Input[6,7]
ST LightGroup_Output[6,7]
(** LightGroup_Output[6,8] :=LightGroup_Input[6,8] ; **)
(* assign - Stmt *)
LD LightGroup_Input[6,8]
ST LightGroup_Output[6,8]
(** LightGroup_Output[6,9] :=LightGroup_Input[6,9] ; **)
(* assign - Stmt *)
LD LightGroup_Input[6,9]
ST LightGroup_Output[6,9]
(** LightGroup_Output[6,10]:=LightGroup_Input[6,10]; **)
(* assign - Stmt *)
LD LightGroup_Input[6,10]
ST LightGroup_Output[6,10]
JMP ODK_END_IF_000000000000010
(** end_if; **)
(* if - End *)
ODK_SKIP_000000000000010_000000000000001:
ODK_END_IF_000000000000010:
(** end_if; **)
(* if - End *)
ODK_END_IF_00000000000000X:
(** **)
(** LightGroup_InputP[6]:=LightGroup_Input[6,0]; **)
(* assign - Stmt *)
LD LightGroup_Input[6,0]
ST LightGroup_InputP[6]
(** **)
(** **)
(** **)
END_FUNCTION_BLOCK