362775017
级别: 探索解密
精华主题: 0
发帖数量: 14 个
工控威望: 106 点
下载积分: 615 分
在线时间: 9(小时)
注册时间: 2016-01-05
最后登录: 2022-06-25
查看362775017的 主题 / 回贴
楼主  发表于: 2020-06-19 18:52
smart200用485通讯读取变频器输出电流,存储于VW0内,由于输出电流波动较大,希望能将此值滤波,
我一直玩的三菱和仿三菱,没玩过西门子,
三菱的方式,用SFR指令,将vw0内的值循环写入VW100~VW109内,再将VW100~VW109内的值累加,再除以10
西门子没找到传字的位移指令,也没找到累加指令,求助解决方法
mr_liu
学海无涯,划水度日
级别: 论坛先锋
精华主题: 0
发帖数量: 372 个
工控威望: 1034 点
下载积分: 576 分
在线时间: 125(小时)
注册时间: 2021-04-13
最后登录: 2024-07-11
查看mr_liu的 主题 / 回贴
1楼  发表于: 2021-10-25 16:35
#SUM := 0;
#SUM_D := 0;
#Date_1 := #Date_2;
#Date_2 := #Date_3;
#Date_3 := #Date_4;
#Date_4 := #Date_5;
#Date_5 := #Date_6;
#Date_6 := #Date_7;
#Date_7 := #Date_8;
#Date_8 := #Date_9;
#Date_9 := #Date_10;
#AD_RT_D := INT_TO_DINT(#AD_RT);
#Date_10 := #AD_RT_D;
#Date_MAX := MAX(IN1 := #Date_1, IN2 := #Date_2,IN3 := #Date_3,IN4 := #Date_4
                 ,IN5 := #Date_5,IN6 := #Date_6,IN7 := #Date_7,IN8 := #Date_8
                 ,IN9 := #Date_9,IN10 := #Date_10);
#Date_MIN := MIN(IN1 := #Date_1, IN2 := #Date_2, IN3 := #Date_3, IN4 := #Date_4
                 , IN5 := #Date_5, IN6 := #Date_6, IN7 := #Date_7, IN8 := #Date_8
                 , IN9 := #Date_9, IN10 := #Date_10);
#SUM := #Date_1 + #Date_2 + #Date_3 + #Date_4 + #Date_5 + #Date_6 + #Date_7 + #Date_8 + #Date_9 + #Date_10;
#SUM_D := #SUM - #Date_MAX - #Date_MIN;
#SUM_R := DINT_TO_REAL(#SUM_D);
#AD_RTO := #SUM_D / 8;
这个是我之前博图里写的,可以改成梯形图,放循环中断里面就好了