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.
 
 
 
 
 
 

723 lines
26 KiB

FUNCTION_BLOCK IJ_LCB1030
VAR_EXTERNAL
END_VAR
VAR_INPUT
LOCK :int:=0;
LightGroup_Input :array[0..10,0..30] of bool;
CM :bool;
Delay :time:=t#50ms;
END_VAR
VAR_OUTPUT
LightGroup_Output :array[0..10,0..30] 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;
Delay_ton7 :ton;
Delay_ton8 :ton;
Delay_ton9 :ton;
Delay_ton10 :ton;
i :int;
j1 :int;
j2 :int;
j3 :int;
j4 :int;
j5 :int;
j6 :int;
j7 :int;
j8 :int;
j9 :int;
j10 :int;
k :int;
END_VAR
(*
20200731
1.1
CM 为群组控制启用和失效
LOCK 为锁定模式 0不锁定 1锁定
Delay 为回路延时设定50ms
LightGroup_Input 照明分组变量输入 array[0..10,0..30] 前部分为分组
LightGroup_Output 照明分组变量输出 array[0..10,0..30] 前部分为分组
1.
CM=0 不接收群组控制
CM=1 接收群组控制
2.
50ms
3.
LOCK 0不锁定;0锁定;
10种灯具分组30组灯具;
*)
(*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 LightGroup_Input[1,0]<>LightGroup_InputP[1] then (*CPU--/*)
LightGroup_Output[1,0]:=LightGroup_Input[1,0];
end_if;
end_if;
if LightGroup_Output[1,0]<>LightGroup_OutputP[1] then
Delay_ton1(PT :=Delay );
Delay_ton1.in:= not Delay_ton1.q;
if Delay_ton1.q=1 then
j1:=j1+1;
LightGroup_Output[1,j1] :=LightGroup_Output[1,0];
if j1=30 then
j1:=0;
LightGroup_OutputP[1]:=LightGroup_Output[1,0];
end_if;
end_if;
else (**)
if Lock=0 then
LightGroup_Output[1,1] :=LightGroup_Input[1,1] ;
LightGroup_Output[1,2] :=LightGroup_Input[1,2] ;
LightGroup_Output[1,3] :=LightGroup_Input[1,3] ;
LightGroup_Output[1,4] :=LightGroup_Input[1,4] ;
LightGroup_Output[1,5] :=LightGroup_Input[1,5] ;
LightGroup_Output[1,6] :=LightGroup_Input[1,6] ;
LightGroup_Output[1,7] :=LightGroup_Input[1,7] ;
LightGroup_Output[1,8] :=LightGroup_Input[1,8] ;
LightGroup_Output[1,9] :=LightGroup_Input[1,9] ;
LightGroup_Output[1,10]:=LightGroup_Input[1,10];
LightGroup_Output[1,11]:=LightGroup_Input[1,11];
LightGroup_Output[1,12]:=LightGroup_Input[1,12];
LightGroup_Output[1,13]:=LightGroup_Input[1,13];
LightGroup_Output[1,14]:=LightGroup_Input[1,14];
LightGroup_Output[1,15]:=LightGroup_Input[1,15];
LightGroup_Output[1,16]:=LightGroup_Input[1,16];
LightGroup_Output[1,17]:=LightGroup_Input[1,17];
LightGroup_Output[1,18]:=LightGroup_Input[1,18];
LightGroup_Output[1,19]:=LightGroup_Input[1,19];
LightGroup_Output[1,20]:=LightGroup_Input[1,20];
LightGroup_Output[1,21]:=LightGroup_Input[1,21];
LightGroup_Output[1,22]:=LightGroup_Input[1,22];
LightGroup_Output[1,23]:=LightGroup_Input[1,23];
LightGroup_Output[1,24]:=LightGroup_Input[1,24];
LightGroup_Output[1,25]:=LightGroup_Input[1,25];
LightGroup_Output[1,26]:=LightGroup_Input[1,26];
LightGroup_Output[1,27]:=LightGroup_Input[1,27];
LightGroup_Output[1,28]:=LightGroup_Input[1,28];
LightGroup_Output[1,29]:=LightGroup_Input[1,29];
LightGroup_Output[1,30]:=LightGroup_Input[1,30];
end_if;
end_if;
LightGroup_InputP[1]:=LightGroup_Input[1,0];
(**************************************************2****************************************************)
if CM =1 then
if LightGroup_Input[2,0]<>LightGroup_InputP[2] then (*CPU--/*)
LightGroup_Output[2,0]:=LightGroup_Input[2,0];
end_if;
end_if;
if LightGroup_Output[2,0]<>LightGroup_OutputP[2] then
Delay_ton2(PT :=Delay );
Delay_ton2.in:= not Delay_ton2.q;
if Delay_ton2.q=1 then
j2:=j2+1;
LightGroup_Output[2,j2] :=LightGroup_Output[2,0];
if j2=30 then
j2:=0;
LightGroup_OutputP[2]:=LightGroup_Output[2,0];
end_if;
end_if;
else (**)
if Lock=0 then
LightGroup_Output[2,1] :=LightGroup_Input[2,1] ;
LightGroup_Output[2,2] :=LightGroup_Input[2,2] ;
LightGroup_Output[2,3] :=LightGroup_Input[2,3] ;
LightGroup_Output[2,4] :=LightGroup_Input[2,4] ;
LightGroup_Output[2,5] :=LightGroup_Input[2,5] ;
LightGroup_Output[2,6] :=LightGroup_Input[2,6] ;
LightGroup_Output[2,7] :=LightGroup_Input[2,7] ;
LightGroup_Output[2,8] :=LightGroup_Input[2,8] ;
LightGroup_Output[2,9] :=LightGroup_Input[2,9] ;
LightGroup_Output[2,10]:=LightGroup_Input[2,10];
LightGroup_Output[2,11]:=LightGroup_Input[2,11];
LightGroup_Output[2,12]:=LightGroup_Input[2,12];
LightGroup_Output[2,13]:=LightGroup_Input[2,13];
LightGroup_Output[2,14]:=LightGroup_Input[2,14];
LightGroup_Output[2,15]:=LightGroup_Input[2,15];
LightGroup_Output[2,16]:=LightGroup_Input[2,16];
LightGroup_Output[2,17]:=LightGroup_Input[2,17];
LightGroup_Output[2,18]:=LightGroup_Input[2,18];
LightGroup_Output[2,19]:=LightGroup_Input[2,19];
LightGroup_Output[2,20]:=LightGroup_Input[2,20];
LightGroup_Output[2,21]:=LightGroup_Input[2,21];
LightGroup_Output[2,22]:=LightGroup_Input[2,22];
LightGroup_Output[2,23]:=LightGroup_Input[2,23];
LightGroup_Output[2,24]:=LightGroup_Input[2,24];
LightGroup_Output[2,25]:=LightGroup_Input[2,25];
LightGroup_Output[2,26]:=LightGroup_Input[2,26];
LightGroup_Output[2,27]:=LightGroup_Input[2,27];
LightGroup_Output[2,28]:=LightGroup_Input[2,28];
LightGroup_Output[2,29]:=LightGroup_Input[2,29];
LightGroup_Output[2,30]:=LightGroup_Input[2,30];
end_if;
end_if;
LightGroup_InputP[2]:=LightGroup_Input[2,0];
(**************************************************3****************************************************)
if CM =1 then
if LightGroup_Input[3,0]<>LightGroup_InputP[3] then (*CPU--/*)
LightGroup_Output[3,0]:=LightGroup_Input[3,0];
end_if;
end_if;
if LightGroup_Output[3,0]<>LightGroup_OutputP[3] then
Delay_ton3(PT :=Delay );
Delay_ton3.in:= not Delay_ton3.q;
if Delay_ton3.q=1 then
j3:=j3+1;
LightGroup_Output[3,j3] :=LightGroup_Output[3,0];
if j3=30 then
j3:=0;
LightGroup_OutputP[3]:=LightGroup_Output[3,0];
end_if;
end_if;
else (**)
if Lock=0 then
LightGroup_Output[3,1] :=LightGroup_Input[3,1] ;
LightGroup_Output[3,2] :=LightGroup_Input[3,2] ;
LightGroup_Output[3,3] :=LightGroup_Input[3,3] ;
LightGroup_Output[3,4] :=LightGroup_Input[3,4] ;
LightGroup_Output[3,5] :=LightGroup_Input[3,5] ;
LightGroup_Output[3,6] :=LightGroup_Input[3,6] ;
LightGroup_Output[3,7] :=LightGroup_Input[3,7] ;
LightGroup_Output[3,8] :=LightGroup_Input[3,8] ;
LightGroup_Output[3,9] :=LightGroup_Input[3,9] ;
LightGroup_Output[3,10]:=LightGroup_Input[3,10];
LightGroup_Output[3,11]:=LightGroup_Input[3,11];
LightGroup_Output[3,12]:=LightGroup_Input[3,12];
LightGroup_Output[3,13]:=LightGroup_Input[3,13];
LightGroup_Output[3,14]:=LightGroup_Input[3,14];
LightGroup_Output[3,15]:=LightGroup_Input[3,15];
LightGroup_Output[3,16]:=LightGroup_Input[3,16];
LightGroup_Output[3,17]:=LightGroup_Input[3,17];
LightGroup_Output[3,18]:=LightGroup_Input[3,18];
LightGroup_Output[3,19]:=LightGroup_Input[3,19];
LightGroup_Output[3,20]:=LightGroup_Input[3,20];
LightGroup_Output[3,21]:=LightGroup_Input[3,21];
LightGroup_Output[3,22]:=LightGroup_Input[3,22];
LightGroup_Output[3,23]:=LightGroup_Input[3,23];
LightGroup_Output[3,24]:=LightGroup_Input[3,24];
LightGroup_Output[3,25]:=LightGroup_Input[3,25];
LightGroup_Output[3,26]:=LightGroup_Input[3,26];
LightGroup_Output[3,27]:=LightGroup_Input[3,27];
LightGroup_Output[3,28]:=LightGroup_Input[3,28];
LightGroup_Output[3,29]:=LightGroup_Input[3,29];
LightGroup_Output[3,30]:=LightGroup_Input[3,30];
end_if;
end_if;
LightGroup_InputP[3]:=LightGroup_Input[3,0];
(**************************************************4****************************************************)
if CM =1 then
if LightGroup_Input[4,0]<>LightGroup_InputP[4] then (*CPU--/*)
LightGroup_Output[4,0]:=LightGroup_Input[4,0];
end_if;
end_if;
if LightGroup_Output[4,0]<>LightGroup_OutputP[4] then
Delay_ton4(PT :=Delay );
Delay_ton4.in:= not Delay_ton4.q;
if Delay_ton4.q=1 then
j4:=j4+1;
LightGroup_Output[4,j4] :=LightGroup_Output[4,0];
if j4=30 then
j4:=0;
LightGroup_OutputP[4]:=LightGroup_Output[4,0];
end_if;
end_if;
else (**)
if Lock=0 then
LightGroup_Output[4,1] :=LightGroup_Input[4,1] ;
LightGroup_Output[4,2] :=LightGroup_Input[4,2] ;
LightGroup_Output[4,3] :=LightGroup_Input[4,3] ;
LightGroup_Output[4,4] :=LightGroup_Input[4,4] ;
LightGroup_Output[4,5] :=LightGroup_Input[4,5] ;
LightGroup_Output[4,6] :=LightGroup_Input[4,6] ;
LightGroup_Output[4,7] :=LightGroup_Input[4,7] ;
LightGroup_Output[4,8] :=LightGroup_Input[4,8] ;
LightGroup_Output[4,9] :=LightGroup_Input[4,9] ;
LightGroup_Output[4,10]:=LightGroup_Input[4,10];
LightGroup_Output[4,11]:=LightGroup_Input[4,11];
LightGroup_Output[4,12]:=LightGroup_Input[4,12];
LightGroup_Output[4,13]:=LightGroup_Input[4,13];
LightGroup_Output[4,14]:=LightGroup_Input[4,14];
LightGroup_Output[4,15]:=LightGroup_Input[4,15];
LightGroup_Output[4,16]:=LightGroup_Input[4,16];
LightGroup_Output[4,17]:=LightGroup_Input[4,17];
LightGroup_Output[4,18]:=LightGroup_Input[4,18];
LightGroup_Output[4,19]:=LightGroup_Input[4,19];
LightGroup_Output[4,20]:=LightGroup_Input[4,20];
LightGroup_Output[4,21]:=LightGroup_Input[4,21];
LightGroup_Output[4,22]:=LightGroup_Input[4,22];
LightGroup_Output[4,23]:=LightGroup_Input[4,23];
LightGroup_Output[4,24]:=LightGroup_Input[4,24];
LightGroup_Output[4,25]:=LightGroup_Input[4,25];
LightGroup_Output[4,26]:=LightGroup_Input[4,26];
LightGroup_Output[4,27]:=LightGroup_Input[4,27];
LightGroup_Output[4,28]:=LightGroup_Input[4,28];
LightGroup_Output[4,29]:=LightGroup_Input[4,29];
LightGroup_Output[4,30]:=LightGroup_Input[4,30];
end_if;
end_if;
LightGroup_InputP[4]:=LightGroup_Input[4,0];
(**************************************************5****************************************************)
if CM =1 then
if LightGroup_Input[5,0]<>LightGroup_InputP[5] then (*CPU--/*)
LightGroup_Output[5,0]:=LightGroup_Input[5,0];
end_if;
end_if;
if LightGroup_Output[5,0]<>LightGroup_OutputP[5] then
Delay_ton5(PT :=Delay );
Delay_ton5.in:= not Delay_ton5.q;
if Delay_ton5.q=1 then
j5:=j5+1;
LightGroup_Output[5,j5] :=LightGroup_Output[5,0];
if j5=30 then
j5:=0;
LightGroup_OutputP[5]:=LightGroup_Output[5,0];
end_if;
end_if;
else (**)
if Lock=0 then
LightGroup_Output[5,1] :=LightGroup_Input[5,1] ;
LightGroup_Output[5,2] :=LightGroup_Input[5,2] ;
LightGroup_Output[5,3] :=LightGroup_Input[5,3] ;
LightGroup_Output[5,4] :=LightGroup_Input[5,4] ;
LightGroup_Output[5,5] :=LightGroup_Input[5,5] ;
LightGroup_Output[5,6] :=LightGroup_Input[5,6] ;
LightGroup_Output[5,7] :=LightGroup_Input[5,7] ;
LightGroup_Output[5,8] :=LightGroup_Input[5,8] ;
LightGroup_Output[5,9] :=LightGroup_Input[5,9] ;
LightGroup_Output[5,10]:=LightGroup_Input[5,10];
LightGroup_Output[5,11]:=LightGroup_Input[5,11];
LightGroup_Output[5,12]:=LightGroup_Input[5,12];
LightGroup_Output[5,13]:=LightGroup_Input[5,13];
LightGroup_Output[5,14]:=LightGroup_Input[5,14];
LightGroup_Output[5,15]:=LightGroup_Input[5,15];
LightGroup_Output[5,16]:=LightGroup_Input[5,16];
LightGroup_Output[5,17]:=LightGroup_Input[5,17];
LightGroup_Output[5,18]:=LightGroup_Input[5,18];
LightGroup_Output[5,19]:=LightGroup_Input[5,19];
LightGroup_Output[5,20]:=LightGroup_Input[5,20];
LightGroup_Output[5,21]:=LightGroup_Input[5,21];
LightGroup_Output[5,22]:=LightGroup_Input[5,22];
LightGroup_Output[5,23]:=LightGroup_Input[5,23];
LightGroup_Output[5,24]:=LightGroup_Input[5,24];
LightGroup_Output[5,25]:=LightGroup_Input[5,25];
LightGroup_Output[5,26]:=LightGroup_Input[5,26];
LightGroup_Output[5,27]:=LightGroup_Input[5,27];
LightGroup_Output[5,28]:=LightGroup_Input[5,28];
LightGroup_Output[5,29]:=LightGroup_Input[5,29];
LightGroup_Output[5,30]:=LightGroup_Input[5,30];
end_if;
end_if;
LightGroup_InputP[5]:=LightGroup_Input[5,0];
(**************************************************6****************************************************)
if CM =1 then
if LightGroup_Input[6,0]<>LightGroup_InputP[6] then (*CPU--/*)
LightGroup_Output[6,0]:=LightGroup_Input[6,0];
end_if;
end_if;
if LightGroup_Output[6,0]<>LightGroup_OutputP[6] then
Delay_ton6(PT :=Delay );
Delay_ton6.in:= not Delay_ton6.q;
if Delay_ton6.q=1 then
j6:=j6+1;
LightGroup_Output[6,j6] :=LightGroup_Output[6,0];
if j6=30 then
j6:=0;
LightGroup_OutputP[6]:=LightGroup_Output[6,0];
end_if;
end_if;
else (**)
if Lock=0 then
LightGroup_Output[6,1] :=LightGroup_Input[6,1] ;
LightGroup_Output[6,2] :=LightGroup_Input[6,2] ;
LightGroup_Output[6,3] :=LightGroup_Input[6,3] ;
LightGroup_Output[6,4] :=LightGroup_Input[6,4] ;
LightGroup_Output[6,5] :=LightGroup_Input[6,5] ;
LightGroup_Output[6,6] :=LightGroup_Input[6,6] ;
LightGroup_Output[6,7] :=LightGroup_Input[6,7] ;
LightGroup_Output[6,8] :=LightGroup_Input[6,8] ;
LightGroup_Output[6,9] :=LightGroup_Input[6,9] ;
LightGroup_Output[6,10]:=LightGroup_Input[6,10];
LightGroup_Output[6,11]:=LightGroup_Input[6,11];
LightGroup_Output[6,12]:=LightGroup_Input[6,12];
LightGroup_Output[6,13]:=LightGroup_Input[6,13];
LightGroup_Output[6,14]:=LightGroup_Input[6,14];
LightGroup_Output[6,15]:=LightGroup_Input[6,15];
LightGroup_Output[6,16]:=LightGroup_Input[6,16];
LightGroup_Output[6,17]:=LightGroup_Input[6,17];
LightGroup_Output[6,18]:=LightGroup_Input[6,18];
LightGroup_Output[6,19]:=LightGroup_Input[6,19];
LightGroup_Output[6,20]:=LightGroup_Input[6,20];
LightGroup_Output[6,21]:=LightGroup_Input[6,21];
LightGroup_Output[6,22]:=LightGroup_Input[6,22];
LightGroup_Output[6,23]:=LightGroup_Input[6,23];
LightGroup_Output[6,24]:=LightGroup_Input[6,24];
LightGroup_Output[6,25]:=LightGroup_Input[6,25];
LightGroup_Output[6,26]:=LightGroup_Input[6,26];
LightGroup_Output[6,27]:=LightGroup_Input[6,27];
LightGroup_Output[6,28]:=LightGroup_Input[6,28];
LightGroup_Output[6,29]:=LightGroup_Input[6,29];
LightGroup_Output[6,30]:=LightGroup_Input[6,30];
end_if;
end_if;
LightGroup_InputP[6]:=LightGroup_Input[6,0];
(**************************************************7****************************************************)
if CM =1 then
if LightGroup_Input[7,0]<>LightGroup_InputP[7] then (*CPU--/*)
LightGroup_Output[7,0]:=LightGroup_Input[7,0];
end_if;
end_if;
if LightGroup_Output[7,0]<>LightGroup_OutputP[7] then
Delay_ton7(PT :=Delay );
Delay_ton7.in:= not Delay_ton7.q;
if Delay_ton7.q=1 then
j7:=j7+1;
LightGroup_Output[7,j7] :=LightGroup_Output[7,0];
if j7=30 then
j7:=0;
LightGroup_OutputP[7]:=LightGroup_Output[7,0];
end_if;
end_if;
else (**)
if Lock=0 then
LightGroup_Output[7,1] :=LightGroup_Input[7,1] ;
LightGroup_Output[7,2] :=LightGroup_Input[7,2] ;
LightGroup_Output[7,3] :=LightGroup_Input[7,3] ;
LightGroup_Output[7,4] :=LightGroup_Input[7,4] ;
LightGroup_Output[7,5] :=LightGroup_Input[7,5] ;
LightGroup_Output[7,6] :=LightGroup_Input[7,6] ;
LightGroup_Output[7,7] :=LightGroup_Input[7,7] ;
LightGroup_Output[7,8] :=LightGroup_Input[7,8] ;
LightGroup_Output[7,9] :=LightGroup_Input[7,9] ;
LightGroup_Output[7,10]:=LightGroup_Input[7,10];
LightGroup_Output[7,11]:=LightGroup_Input[7,11];
LightGroup_Output[7,12]:=LightGroup_Input[7,12];
LightGroup_Output[7,13]:=LightGroup_Input[7,13];
LightGroup_Output[7,14]:=LightGroup_Input[7,14];
LightGroup_Output[7,15]:=LightGroup_Input[7,15];
LightGroup_Output[7,16]:=LightGroup_Input[7,16];
LightGroup_Output[7,17]:=LightGroup_Input[7,17];
LightGroup_Output[7,18]:=LightGroup_Input[7,18];
LightGroup_Output[7,19]:=LightGroup_Input[7,19];
LightGroup_Output[7,20]:=LightGroup_Input[7,20];
LightGroup_Output[7,21]:=LightGroup_Input[7,21];
LightGroup_Output[7,22]:=LightGroup_Input[7,22];
LightGroup_Output[7,23]:=LightGroup_Input[7,23];
LightGroup_Output[7,24]:=LightGroup_Input[7,24];
LightGroup_Output[7,25]:=LightGroup_Input[7,25];
LightGroup_Output[7,26]:=LightGroup_Input[7,26];
LightGroup_Output[7,27]:=LightGroup_Input[7,27];
LightGroup_Output[7,28]:=LightGroup_Input[7,28];
LightGroup_Output[7,29]:=LightGroup_Input[7,29];
LightGroup_Output[7,30]:=LightGroup_Input[7,30];
end_if;
end_if;
LightGroup_InputP[7]:=LightGroup_Input[7,0];
(**************************************************8****************************************************)
if CM =1 then
if LightGroup_Input[8,0]<>LightGroup_InputP[8] then (*CPU--/*)
LightGroup_Output[8,0]:=LightGroup_Input[8,0];
end_if;
end_if;
if LightGroup_Output[8,0]<>LightGroup_OutputP[8] then
Delay_ton8(PT :=Delay );
Delay_ton8.in:= not Delay_ton8.q;
if Delay_ton8.q=1 then
j8:=j8+1;
LightGroup_Output[8,j8] :=LightGroup_Output[8,0];
if j8=30 then
j8:=0;
LightGroup_OutputP[8]:=LightGroup_Output[8,0];
end_if;
end_if;
else (**)
if Lock=0 then
LightGroup_Output[8,1] :=LightGroup_Input[8,1] ;
LightGroup_Output[8,2] :=LightGroup_Input[8,2] ;
LightGroup_Output[8,3] :=LightGroup_Input[8,3] ;
LightGroup_Output[8,4] :=LightGroup_Input[8,4] ;
LightGroup_Output[8,5] :=LightGroup_Input[8,5] ;
LightGroup_Output[8,6] :=LightGroup_Input[8,6] ;
LightGroup_Output[8,7] :=LightGroup_Input[8,7] ;
LightGroup_Output[8,8] :=LightGroup_Input[8,8] ;
LightGroup_Output[8,9] :=LightGroup_Input[8,9] ;
LightGroup_Output[8,10]:=LightGroup_Input[8,10];
LightGroup_Output[8,11]:=LightGroup_Input[8,11];
LightGroup_Output[8,12]:=LightGroup_Input[8,12];
LightGroup_Output[8,13]:=LightGroup_Input[8,13];
LightGroup_Output[8,14]:=LightGroup_Input[8,14];
LightGroup_Output[8,15]:=LightGroup_Input[8,15];
LightGroup_Output[8,16]:=LightGroup_Input[8,16];
LightGroup_Output[8,17]:=LightGroup_Input[8,17];
LightGroup_Output[8,18]:=LightGroup_Input[8,18];
LightGroup_Output[8,19]:=LightGroup_Input[8,19];
LightGroup_Output[8,20]:=LightGroup_Input[8,20];
LightGroup_Output[8,21]:=LightGroup_Input[8,21];
LightGroup_Output[8,22]:=LightGroup_Input[8,22];
LightGroup_Output[8,23]:=LightGroup_Input[8,23];
LightGroup_Output[8,24]:=LightGroup_Input[8,24];
LightGroup_Output[8,25]:=LightGroup_Input[8,25];
LightGroup_Output[8,26]:=LightGroup_Input[8,26];
LightGroup_Output[8,27]:=LightGroup_Input[8,27];
LightGroup_Output[8,28]:=LightGroup_Input[8,28];
LightGroup_Output[8,29]:=LightGroup_Input[8,29];
LightGroup_Output[8,30]:=LightGroup_Input[8,30];
end_if;
end_if;
LightGroup_InputP[8]:=LightGroup_Input[8,0];
(**************************************************9****************************************************)
if CM =1 then
if LightGroup_Input[9,0]<>LightGroup_InputP[9] then (*CPU--/*)
LightGroup_Output[9,0]:=LightGroup_Input[9,0];
end_if;
end_if;
if LightGroup_Output[9,0]<>LightGroup_OutputP[9] then
Delay_ton9(PT :=Delay );
Delay_ton9.in:= not Delay_ton9.q;
if Delay_ton9.q=1 then
j9:=j9+1;
LightGroup_Output[9,j9] :=LightGroup_Output[9,0];
if j9=30 then
j9:=0;
LightGroup_OutputP[9]:=LightGroup_Output[9,0];
end_if;
end_if;
else (**)
if Lock=0 then
LightGroup_Output[9,1] :=LightGroup_Input[9,1] ;
LightGroup_Output[9,2] :=LightGroup_Input[9,2] ;
LightGroup_Output[9,3] :=LightGroup_Input[9,3] ;
LightGroup_Output[9,4] :=LightGroup_Input[9,4] ;
LightGroup_Output[9,5] :=LightGroup_Input[9,5] ;
LightGroup_Output[9,6] :=LightGroup_Input[9,6] ;
LightGroup_Output[9,7] :=LightGroup_Input[9,7] ;
LightGroup_Output[9,8] :=LightGroup_Input[9,8] ;
LightGroup_Output[9,9] :=LightGroup_Input[9,9] ;
LightGroup_Output[9,10]:=LightGroup_Input[9,10];
LightGroup_Output[9,11]:=LightGroup_Input[9,11];
LightGroup_Output[9,12]:=LightGroup_Input[9,12];
LightGroup_Output[9,13]:=LightGroup_Input[9,13];
LightGroup_Output[9,14]:=LightGroup_Input[9,14];
LightGroup_Output[9,15]:=LightGroup_Input[9,15];
LightGroup_Output[9,16]:=LightGroup_Input[9,16];
LightGroup_Output[9,17]:=LightGroup_Input[9,17];
LightGroup_Output[9,18]:=LightGroup_Input[9,18];
LightGroup_Output[9,19]:=LightGroup_Input[9,19];
LightGroup_Output[9,20]:=LightGroup_Input[9,20];
LightGroup_Output[9,21]:=LightGroup_Input[9,21];
LightGroup_Output[9,22]:=LightGroup_Input[9,22];
LightGroup_Output[9,23]:=LightGroup_Input[9,23];
LightGroup_Output[9,24]:=LightGroup_Input[9,24];
LightGroup_Output[9,25]:=LightGroup_Input[9,25];
LightGroup_Output[9,26]:=LightGroup_Input[9,26];
LightGroup_Output[9,27]:=LightGroup_Input[9,27];
LightGroup_Output[9,28]:=LightGroup_Input[9,28];
LightGroup_Output[9,29]:=LightGroup_Input[9,29];
LightGroup_Output[9,30]:=LightGroup_Input[9,30];
end_if;
end_if;
LightGroup_InputP[9]:=LightGroup_Input[9,0];
(**************************************************10****************************************************)
if CM =1 then
if LightGroup_Input[10,0]<>LightGroup_InputP[10] then (*CPU--/*)
LightGroup_Output[10,0]:=LightGroup_Input[10,0];
end_if;
end_if;
if LightGroup_Output[10,0]<>LightGroup_OutputP[10] then
Delay_ton10(PT :=Delay );
Delay_ton10.in:= not Delay_ton10.q;
if Delay_ton10.q=1 then
j10:=j10+1;
LightGroup_Output[10,j10] :=LightGroup_Output[10,0];
if j10=30 then
j10:=0;
LightGroup_OutputP[10]:=LightGroup_Output[10,0];
end_if;
end_if;
else (**)
if Lock=0 then
LightGroup_Output[10,1] :=LightGroup_Input[10,1] ;
LightGroup_Output[10,2] :=LightGroup_Input[10,2] ;
LightGroup_Output[10,3] :=LightGroup_Input[10,3] ;
LightGroup_Output[10,4] :=LightGroup_Input[10,4] ;
LightGroup_Output[10,5] :=LightGroup_Input[10,5] ;
LightGroup_Output[10,6] :=LightGroup_Input[10,6] ;
LightGroup_Output[10,7] :=LightGroup_Input[10,7] ;
LightGroup_Output[10,8] :=LightGroup_Input[10,8] ;
LightGroup_Output[10,9] :=LightGroup_Input[10,9] ;
LightGroup_Output[10,10]:=LightGroup_Input[10,10];
LightGroup_Output[10,11]:=LightGroup_Input[10,11];
LightGroup_Output[10,12]:=LightGroup_Input[10,12];
LightGroup_Output[10,13]:=LightGroup_Input[10,13];
LightGroup_Output[10,14]:=LightGroup_Input[10,14];
LightGroup_Output[10,15]:=LightGroup_Input[10,15];
LightGroup_Output[10,16]:=LightGroup_Input[10,16];
LightGroup_Output[10,17]:=LightGroup_Input[10,17];
LightGroup_Output[10,18]:=LightGroup_Input[10,18];
LightGroup_Output[10,19]:=LightGroup_Input[10,19];
LightGroup_Output[10,20]:=LightGroup_Input[10,20];
LightGroup_Output[10,21]:=LightGroup_Input[10,21];
LightGroup_Output[10,22]:=LightGroup_Input[10,22];
LightGroup_Output[10,23]:=LightGroup_Input[10,23];
LightGroup_Output[10,24]:=LightGroup_Input[10,24];
LightGroup_Output[10,25]:=LightGroup_Input[10,25];
LightGroup_Output[10,26]:=LightGroup_Input[10,26];
LightGroup_Output[10,27]:=LightGroup_Input[10,27];
LightGroup_Output[10,28]:=LightGroup_Input[10,28];
LightGroup_Output[10,29]:=LightGroup_Input[10,29];
LightGroup_Output[10,30]:=LightGroup_Input[10,30];
end_if;
end_if;
LightGroup_InputP[10]:=LightGroup_Input[10,0];
END_FUNCTION_BLOCK