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