您现在的位置是:首页 > PLC技术 > PLC技术

OMRON C系列PLC实现模拟量输入信号滤波的程序设计

来源:艾特贸易2017-06-04

简介一、应用背景与需求 在实际的 PLC 控制系统中,来自控制现场的模拟量信号,如传感器输出的信号电压值、电流值等,常常会因为现场的瞬时干扰而产生较大的波动,使得 PLC 所采集到

    一、应用背景与需求    在实际的PLC控制系统中,来自控制现场的模拟量信号,如传感器输出的信号电压值、电流值等,常常会因为现场的瞬时干扰而产生较大的波动,使得PLC所采集到的信号出现不真实性。如果仅仅用瞬时采样值来进行控制计算,就会产生较大的误差,因此需要对输入信号进行数字滤波,来获得一个较为准确的输入值。    对输入信号进行数字滤波,主要是在用户程序设计中利用软件的方法来消除干扰所带来的随机误差。随机误差混杂在有用信号之中,或累加于有用信号之上,使PLC输入信号的信噪比减小,甚至将有用信号淹没。    对于PLC的模拟量输入信号,可以采用数字滤波方法来消除采样过程中的随机误差。常用的数字滤波方法有惯性滤波法、平均值滤波法、中间值滤波法等。本例重点针对惯性滤波和平均值滤波这两种数字滤波方法,说明其基本原理和PLC中的梯形图设计方法。    二、输入信号的惯性滤波法及其梯形图设计    惯性滤波法是一种以数字形式实现低通滤波的动态滤波方法。在模拟量输入通道中,常用一阶低通RC模拟滤波器来削弱干扰,但要设计大时间常数及高精度的RC滤波器是很困难的,而以软件方法实现对输入信号的惯性滤波则可以很好地克服上述缺点。    低通滤波器的传递函数为:    (9-1)    式中,乃为时间常数。    将上式离散化,可得:    (9-2)    式中,α=1-e-T/Tf    T为采样周期;    YK-1为第K-1次采样后滤波器的输出。    从物理意义上讲,T远小于Tf,故α≈T/Tf    根据式9-2就可以进行程序设计,计算流程如下。    (1)开机运行时进行初始化,即:0YK-1    (2)计算α值。    (3)采样时间到,则读入数据XK    (4)根据XKYK-1值,计算YK    (5) YKYK-1,为下一次计算做准备。    根据上述流程,选用F1系列PLC设计的梯形图,如图9.6所示。其中T451为自脉冲发生器,构成采样时钟。在采样时间内,CH410通道的模拟量值被采样存入D704通道。    三、输入信号的平均值滤波法及其梯形图设计    与输入信号的惯性滤波法一样,平均值滤波法也是消除PLC模拟量输入信号中随机误差的有效方法。平均值滤波法又包括算术平均值滤波法和加权平均值滤波法两种。从广义上讲,算术平均值滤波法是加权平均值滤波法的一种特殊情况。
实现惯性滤波法的梯形图
实现惯性滤波法的梯形图
    9.6    实现惯性滤波法的梯形图    1.算术平均值法滤波    算术平均值法滤波的主要思想是要寻找一个Y值,使该值与各采样值Xk之间的误差的平方和最小,即:    实现惯性滤波法的梯形图(9-3)    根据一元函数求极值的原理,可得:    (9-4)    根据该式就可以求输入信号的算术平均值。    可见,平均值法是用Ⅳ次采样值的平均值(或加权平均值)来代替当前值,是一种很有效的滤波方法,并且采样次数越多,效果越好,程序的设计也简单。    2.加权平均值滤波法    对输入信号的算术平均值滤波方法的依据来自于统计规律。根据随机过程和数理统计的理论,随机误差虽然具有不可预见性,但总体上服从于统计规律。在多次检测中,随机误差绝对值的波动是有一定的界限的,且正负误差出现的概率几乎相同,故此随机误差的算术平均值趋于零。    为了取得更好的滤波效果,还可以采用加权平均值滤波法,即:在平均区段中,各点的权值是不相同的,中心点附近的数据权值大,愈偏离中心,权值愈小。这样,就减小了对有用信号的平滑作用,可以减少滤波方法本身所引起的方法误差。    加权平均值滤波法中加权系数可以根据最小二乘法获得。例如,对于5个点的加权平均值滤波,其处理公式可以为:      (9-5)    但是,常规的平均值滤波法要求连续多次进行数据采集,然后再求其平均值,计算量和占用的扫描时间较多。根据PLC循环扫描的工作机制,下面介绍一种适合PLC特点的特殊平均值滤波法——平移式平均值滤波法。    平移式平均值滤波法的滤波原理为:若要采样Ⅳ次,则每采样一次就将采样值存储起来,然后将这个采样值与前N-1次的采样值进行算术平均值运算,结果作为本次采样的滤波值。这样,每个扫描周期只需要采样一次,但取Ⅳ个采样值来计算滤波值。每采样一次,采样值就向前平移一次,为下一次滤波值计算做准备。    9.7所示为平移式平均值滤波法的程序流程图。
平移式平均值滤波法的程序流程图
    9.7    平移式平均值滤波法的程序流程图
实现平移式平均值滤波法的梯形图
    9.8    实现平移式平均值滤波法的梯形图    根据平移式平均值滤波法的程序流程图,以实现5次采样的平移式平均值滤波法为例,并选用OMRON C系列PLC16位),所设计的梯形图如图9.8所示,其中用10300作为采样的启动信号:    为便于阅读程序,表9.2列出了程序中的变量定义。    9.2    平移式平均值滤波程序中的变量定义表
平移式平均值滤波程序中的变量定义表
    四、总结与评价    工业生产环境中,各类干扰的存在是不可避免的。控制现场中模拟量参数在检测过程中受到干扰的影响是十分严重的。虽然在PLC硬件设计中已采取了许多抗干扰措施,如硬件滤波、屏蔽等技术,但是还不能忽视在PLC应用程序设计中采用软件滤波的方法来进一步消除噪声和干扰。    研究表明,外部干扰所带来的随机误差虽然具有不可预见性,但总体上服从于统计规律,在多次检测中,随机误差的绝对值的波动是有一定的界限的,且正负误差出现的概率几乎相同。根据这一特点,采用软件滤波的方法可以在PLC硬件滤波的基础上,进一步消除随机误差所带来的影响。    为了消除控制现场信号数据采集过程中的随机误差,对于PLC的模拟量输入信号可以采取多种软件滤波的方法。惯性滤波法和平均值滤波法是其中十分有效的方法,具有实现简单、效果好的特点,使用较为广泛。    本例给出了两种方法的编程实例,所采用的方法充分考虑了PLC的特点,当前值的滤波值总与历史值有关,这样既削弱了瞬时干扰的影响,又充分利用了PLC的循环扫描工作机制;与每采样N次求平均值一次的方法相比,反应速度快,梯形图的编制也易于完成,是一种简单实用的方法。