求PLC200 CPU224XP cn的程序

是这样,我对PLC200不是很熟悉,现在需要一个滤波程序。

大致想法是用平均值的方法,比如,采样10个周期,取这10个周期的采样平均值,再输出到某个地址,供程序调用。
最好能封装成一个子函数的形式,方便。。

谢谢大侠们。。

最佳答案

程序转载:
主程序:
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
仅供参考学习。

提问者对于答案的评价:
本程序完全符合我的想法。。
多谢多谢。。
不过用上系统自带的滤波功能,效果也不错的。。

最佳答案作者回复:
这个就是所谓条条大路通罗马,思路有多种,目的只有一个。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc209119.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年11月12日 上午10:19
下一篇 2017年11月12日 上午10:19

相关推荐

  • s7-200modbus读数据类型

    一个数据在200里储存类型既有双整数的类型,又有转换成实数类型的情况,那请问我PC用modbus读取200的这个数据是双整数的还是实数的类型,或者是按该数据最后的储存形式解码,还有…

    2017年11月25日
  • S7-200 SMART 高速计数问题

    因为第一次用高速计数,所以问题有点菜,希望各位不要见笑。型号:S7-200 SR20   我想实现的功能:1. 计数脉冲到达设定值…

    2021年7月5日
  • 接收及传送故障录波信号

    用一台PLC(CPU224)接收故障录波器的波形图再由plc传输给工控机,需要什么硬件,程序思路怎么做 最佳答案 录波器是在线传输还是离线传输?在线传输速度PLC基本无法达到还原真…

    SIMATIC S7-200 2021年7月5日
  • ppi端口转换成自由端口该怎么做

    s7200的ppi端口转换成自由端口该怎么做 最佳答案 需要使用SMB30或者SMB130,发了例子到mingtiandetianyi@163.com 提问者对于答案的评价:谢谢。…

    SIMATIC S7-200 2020年11月1日
  • vfd-f变频器与s7-200之间通讯怎样写入频率

    我按着你的指导plc和变频器能通讯上 但是写入频率那一条是不是不完整 利用传送指令将一个整数发送到vw200里 但是运行时却没有反应 这是应…

    SIMATIC S7-200 2021年7月5日
  • 200不能上传程序

    200CPU不能上传程序,用的是PPI模式,提示程序块版本问题。但我用的是V4.0,SP6,应该没问题吧,该怎么解决呢 最佳答案 1.换最新版本的编程软件2.确定你编程电缆&nbs…

    SIMATIC S7-200 2020年11月5日
  • 关于S700的SMB86超时解释

    这个超时时间是怎么定义的,固定的吗,比较困惑 最佳答案 SMB86到SMB94和SMB186到SMB194用于控制和读出接收消息指令的状态。SMB86用于端口0,接收消息状态字节。…

    SIMATIC S7-200 2020年11月1日
  • 恒液位PID 的调节阀装在水箱的出水口还是进水口

    现在用一个S7-200的PLC等,PID控制水箱液位,水箱有进水口与出水口,我看过些资料,有些说调节阀装在进水口,有些说调节阀装在出水口。装在进水口时,当出水量增大,调节阀开度增大…

    SIMATIC S7-200 2017年11月20日
  • s7 micro/win 的演示版

    官网上下载的s7 micro/win 是正式版还是演示版呢?深入浅出西门子s7 200的书上随附光盘上也有该软件,可是说是演示版。不知道正式版和演示版…

    SIMATIC S7-200 2021年7月5日
  • 【急】“硬件探测到一个组帧错误”

    请教大家:西门子PLC编程下载时候,出现"硬件探测到一个组帧错误",无法和PLC通讯, 是什么原因造成的? 最佳答案 可能是CPU的工作处于自由口模式…

    SIMATIC S7-200 2021年7月5日