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
西门子没找到传字的位移指令,也没找到累加指令,求助解决方法
iamwcq009
级别: 略有小成
精华主题: 0
发帖数量: 106 个
工控威望: 224 点
下载积分: 826 分
在线时间: 89(小时)
注册时间: 2013-12-16
最后登录: 2024-12-19
查看iamwcq009的 主题 / 回贴
1楼  发表于: 2022-02-10 15:57
IF Cou < Data_filtering THEN
    Temp6          :=  Temp5 + Temp6;
    Cou               :=  Cou + 1;
ELSE
    Conv_Value  := DINT_TO_INT(REAL_TO_DINT( Temp6 / INT_TO_REAL(Data_filtering)));
    Temp6          := 0.0;
    Cou              := 0;
END_IF;
iamwcq009
级别: 略有小成
精华主题: 0
发帖数量: 106 个
工控威望: 224 点
下载积分: 826 分
在线时间: 89(小时)
注册时间: 2013-12-16
最后登录: 2024-12-19
查看iamwcq009的 主题 / 回贴
2楼  发表于: 2022-02-10 15:59
三菱中的数据滤波,使用ST语言可以轻松搞定,Data_filtering滤波次数设定多少次都可以,之后完成滤波,得出平均值!