恭喜,你发布的帖子
发布于 2015-11-01 07:59:37
7楼
FUNCTION_BLOCK FB1
VAR_INPUT
data:WORD;
END_VAR
VAR_OUTPUT
max_data:REAL;
min_data:REAL;
average:REAL;
sum_data:REAL;
END_VAR
VAR
i:INT;
data1:REAL;
input_data:ARRAY[1..7] OF REAL;
END_VAR
data1:= INT_TO_REAL( WORD_TO_INT(data));
IF data1 > 27648.0 THEN
data1:=0.0;
END_IF;
FOR i:= 1 TO 7 BY 1 DO
input_data[i]:=data1;
min_data:= input_data[1]; //每次运行默认第一个采样值为最小值,开始进行比较
IF input_data[i] <= min_data THEN min_data:= input_data[i]; END_IF; //求最小值
IF input_data[i] >= max_data THEN max_data:= input_data[i]; END_IF; //求最大值
IF i=1 THEN sum_data:= input_data[i];
ELSE sum_data:= sum_data + input_data[i]; //求总和
END_IF;
IF i=7 THEN average:=(sum_data - max_data -min_data)/(i-2); //求平均值
END_IF;
END_FOR;
END_FUNCTION_BLOCK
用SCL才是最好吧!可以学习下六楼的这个
请填写推广理由:
分享
只看
楼主