Page 32 - 网络电信2023年12月刊
P. 32

光    通    信

                3.1 编码器速度信号缓存的程序编写                                   3.2 算术平均值滤波算法系统的程序编写
                在TIA  Portal  V15编程环境下,新建一个FB块,命名                    有时候为了去除抖动,会将最大值和最小值去掉,然后求
            FB5011_FIFO_Real,用来将PLC采集到的放线旋转编码速度信                 剩下的数的平均数,这种算法简单、实用,适用于信号在某个
            号按设定的频率周期循环缓存在数组中。FIFO数据队列缓存变                        值上下范围内波动滤波。在TIA  Portal  V15编程环境下,新建
            量声明如图1所示。编码器信号FIFO程序SCL代码解析如图2所                      一个FB块,命名FB5012_Arithmetic Average Filter。算术平
            示。                                                   均值滤波算法程序变动量声明如图3所示。算术平均值滤波算法
                其中:                                              SCL程序代码如图4所示。
                init  Data:当该参数的值为真时,将队列初始化。内部上                      其中:
            升沿信号处理。                                                  data:计算出的算术平均值。
                put  Data:当该参数的值为真时,将数据data放入队列。                     data Max:编码器信号缓存于数组中的最大值。
            内部上升沿信号处理。                                               data Min:编码器信号缓存于数组中的最小值。
                get  Data:当该参数的值为真时,将从队列中取出一个数                       elements Number:采样编码器信号的样本数量。
            据。内部上升沿信号处理。                                             source Queue:输入/输出参数“source Queue”是一个可
                data:要入队的数据。                                     变数组。
                done:操作完成(该信号会保持)。
                                                                  图3:算术平均值滤波算法程序变量声明
                error:操作出错。
                data Q:从队列中出来的数据。
                counter:队列中数据的数量。
                err Code:错误代码(1=存储区满,3=存储区空)。
                ring  Bufffer:使用不定长数组实现的环型存储区(不要
            在队列初始化完成后更改其上下限值)。

             图1:FIFO数据队列缓存变量声明







                                                                  图4:算术平均值滤波算法SCL程序代码













             图2:FIFO程序SCL代码解析













                                                                     3.3 算术平均值滤波算法模型分析
                                                                     采集一段时间里龙门放线架电机的速度,将采集的速度信
                                                                 号存入数组,为防止干扰因素导致将采集的信号数据在数组中
                                                                 去除最大值和最小值进行滤波。然后将其他数值相加除以数值
                                                                 的个数即可得到算术平均值。算术平均值滤波模型实例见图5。


            58                                        网络电信 二零二三年十二月
   27   28   29   30   31   32   33   34   35   36   37