
#s_p (CLK := #i_GatherPulse,
Q => #s_FP);
//初始化
IF #i_Initializing = True OR "FirstScan"THEN
#s_n := 0;
#s_i := 0;
#s_j := 0;
#s_Max := 0.0;
#s_Min := 0.0;
#s_SUM := 0.0;
#s_AverageDistance := 0.0;
#o_DistancePoor := 0.0;
FOR #s_i := 0 TO 1000 DO
#"s_Distance Group"[#s_i]:=0.0;
END_FOR;
END_IF;
//***************************位移取值******************
IF #i_GatherStart = True AND #s_FP = TRUE AND #s_n <= 1000 THEN
#s_MaxTime := 0;
#s_MinTime := 0;
#s_MaxCache := 0.0;
#s_MinCache := 0.0;
#s_MinTrance := 0;
#s_MaxTrance := 0;
#"s_Distance Group"[#s_n] := #i_DistanceCurValue;
#s_n := #s_n + 1;
END_IF;
//***********************************************************
//取最大/最小值
IF #i_GatherStart = FALSE THEN
//过滤掉三组最小值
IF #s_MinTime < 3 THEN
//给最小值附一个初始值
#s_MinCache := #"s_Distance Group"[0];
//定位最小值
FOR #i := 0 TO 100 DO
IF #s_MinCache > #"s_Distance Group"[#i] AND #"s_Distance Group"[#i] >= 4.0 THEN
#s_MinTrance := #i;
#s_MinCache := #"s_Distance Group"[#i];
END_IF;
IF #i = 100 THEN
#s_MinTime := #s_MinTime + 1;
END_IF;
END_FOR;
//清除最大值,清除次数加1
#"s_Distance Group"[#s_MinTrance] := 0.0;
END_IF;
//过滤掉五组最大值
IF #s_MaxTime < 5 THEN
//给最大值附一个初始值
#s_MaxCache := #"s_Distance Group"[0];
//定位最大值
FOR #j := 0 TO 100 DO
IF #s_MaxCache < #"s_Distance Group"[#j] AND #"s_Distance Group"[#j] >= 4.0 THEN
#s_MaxTrance := #j;
#s_MaxCache := #"s_Distance Group"[#j];
END_IF;
IF #j = 100 THEN
#s_MaxTime := #s_MaxTime + 1;
END_IF;
END_FOR;
//清除最小值,清除次数加1
#"s_Distance Group"[#s_MaxTrance] := 0.0;
END_IF;
//获取过滤后的最小值/最大值
FOR #k := 0 TO 100 DO
IF #k = 0 AND #s_Min = #s_Max = 0 THEN
//将最大值与最小值的缓存地址赋一个初始值
//由于前五组可能正好是最大值被清除,所以要进行判断
FOR #m := 0 TO 4 DO
IF #"s_Distance Group"[#m] <> 0 THEN
#s_Min := #s_Max := #"s_Distance Group"[0];
EXIT;
END_IF;
END_FOR;
END_IF;
IF #"s_Distance Group"[#k] < #s_Min AND #"s_Distance Group"[#k] > 4.0 THEN
#s_Min := #"s_Distance Group"[#k];
END_IF;
IF #"s_Distance Group"[#k] > #s_Max THEN
#s_Max := #"s_Distance Group"[#k];
END_IF;
END_FOR;
//计算极差
#o_DistancePoor := #s_Max - #s_Min;
END_IF;
FB115_DistanceCollect.TXT
这个文件格式是SCL我改成TXT的