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