图片:
IF ldp (1,Int6_重置) THEN
亮点起始位[Temp_Counts]:=0; Temp_Counts:=0; 当前点亮编号:=0; T_ON:=0;
END_IF;
IF (Int0_功能块使能) AND (Temp_Dtb) THEN
Int2_开始:=TRUE; Temp_Dtb:=FALSE;
END_IF;
Temp_LDP:=(T_ON) AND(NOT Temp_LDPS);
Temp_LDPS:=T_ON;
IF Temp_LDP THEN
Int2_开始:=FALSE; T_ON:=FALSE; Temp_Dtb:=TRUE;
END_IF;
IF (Int0_功能块使能)AND(NOT Int3_停止)THEN
Timer_T (IN:=Int2_开始,PT:=Int7_间隔时间,Q:=T_ON,ET:=Out_当前点亮时间) ;
END_IF;
IF( 当前点亮编号=0)OR(当前点亮编号=Int1_灯数长度) THEN
Temp_Counts:=0;
END_IF;
IF (Int0_功能块使能)AND(当前点亮编号=Int1_灯数长度) AND (LDP(1,T_ON)) THEN
亮点起始位[当前点亮编号-1]:=0; 当前点亮编号:=0;
END_IF;
IF (Int0_功能块使能)AND (LDP(1,Int5_更改确认))AND(Int4_随机点灯号>0 AND Int4_随机点灯号<=Int1_灯数长度) THEN
Temp_Data:=Int4_随机点灯号;
END_IF;
(*//////////////////////////////////////////////////点亮开始 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*)
IF (Int0_功能块使能)AND(Int1_灯数长度>0) AND(NOT Int3_停止)AND (LDP(1,T_ON))AND(当前点亮编号<Int1_灯数长度) AND(NOT Int6_重置) THEN
IF (Temp_Counts=0) AND( 当前点亮编号=0) AND (Temp_data=0)THEN
亮点起始位[Temp_Counts]:=1; 当前点亮编号:=Temp_Counts+1;
ELSE
IF( Temp_Data=0) THEN
Temp_Counts:=Temp_Counts+1; 亮点起始位[Temp_Counts]:=1; 亮点起始位[Temp_Counts-1]:=0; 当前点亮编号:=Temp_Counts+1;
ELSE
亮点起始位[Temp_Counts]:=0; Temp_Counts:=Temp_Data-1; 亮点起始位[Temp_Counts]:=1; 当前点亮编号:=Temp_Counts+1;
Temp_Data:=0;
END_IF;
END_IF;
END_IF;