找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
转载:
主程序:
LD SM0.1
CALL SBR_0
LD SM0.0
CALL SBR_1
子程序SBR_0
//定于采样次数(次数×采样时间=平均值输出时间)
LD SM0.0
MOVW +10, VW0
//采样值存储器清零
LD SM0.0
FILL +0, VW2, 11
//这些都是对应的地址清零
LD SM0.0
MOVD +0, VD200
MOVD +0, VD204
MOVD +0, VD208
MOVD +0, VD212
MOVD +0, VD216
MOVD +0, VD308
MOVD +0, VD224
子程序SBR_1
//调出模拟信号
LD SM0.0
MOVW AIW0, VW200
//定义采样时间
LD SM0.0
AN T37
TON T37, 1
//将模拟量值存入表格
LD T37
ATT VW200, VW0
//将值转化为实数
LD SM0.0
ITD VW200, VD204
DTR VD204, VD208
MOVW VW2, VW300
//求采样和
LD T37
+R VD208, VD212
//采样次数到,求平均值,采样和减去采样第一次值
LDW> VW300, +9
ITD VW300, VD216
DTR VD216, VD220
MOVR VD212, VD224
/R VD220, VD224
FIFO VW0, VW306
ITD VW306, VD308
DTR VD308, VD312
-R VD312, VD212
//转换为整数输出
LD SM0.0
ROUND VD224, VD228
DTI VD228, VW232
仅供参考学习。
滑动平均值滤波最大的好处就是每次读AI都能得到一个有效值,其次就是滤波效果很好。缺点就是有效值跟随实际值的速度慢,而且次数(如16次)越大跟随速度越慢。
不过,软件滤波不管用什么算法,都不能代替硬件抗干扰措施,我的习惯是“全浮空”,电源、IO、通讯全部隔离。模拟量用隔离器,常用的有4~20mA入/4~20mA出、热电偶入(根据分度号选型)/4~20mA出、热电阻入(如PT-100)/4~20mA出。这样做的另一个好处就是PLC的AI全部都用一种型号的(如331-7KF02),备件只准备一种就够了。
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!