wmw186
级别: 略有小成
精华主题: 0
发帖数量: 56 个
工控威望: 314 点
下载积分: 131 分
在线时间: 55(小时)
注册时间: 2021-11-09
最后登录: 2024-11-02
查看wmw186的 主题 / 回贴
楼主  发表于: 2022-11-21 09:40
各位大神,小弟求助关于三菱work2 用ST语言求20位数组中值平均数,要求去掉最大值和最小值。数组单精度实数类型,求各位大声不吝赐教!!!!!!!!!!!!!!!!!!!
yzdz66
级别: 探索解密
精华主题: 0
发帖数量: 60 个
工控威望: 162 点
下载积分: 640 分
在线时间: 51(小时)
注册时间: 2016-09-23
最后登录: 2024-09-13
查看yzdz66的 主题 / 回贴
1楼  发表于: 2022-11-22 23:17
(*三菱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;
本帖最近评分记录:
  • 下载积分:+1(wmw186)