(*三菱work2 用ST语言求20位数组中值平均数,
要求去掉最大值和最小值 数组单精度实数类型 *)
(* 初始化*)
IF bstart THEN
IF NOT bstartOld THEN
DataMax:=0.0;
DataMin:=0.0;
DataSun:=0.0;
bstartFlg:=TRUE;
END_IF;
ELSIF bstartOld THEN
bstartFlg:=FALSE;
DataMax:=0.0;
DataMin:=0.0;
DataSun:=0.0;
END_IF;
(* 计算*)
IF bstartFlg AND NOT bstartFlgOld THEN
FOR index:=0 TO 19 DO
IF DataMax<Data[index]THEN (*求最大值*)
DataMax:=Data[index];
END_IF;
IF DataMin>Data[index]THEN (*求最小值*)
DataMin:=Data[index];
END_IF;
DataSun:=Data[index]+DataSun;(*求和*)
DataAverage:=(DataSun-DataMax-DataMin)/18.0;(*求平均值*)
END_FOR;
END_IF;
bstartOld:= bstart ;
bstartFlgOld:=bstartFlg;