PLC模拟量与通信控制应用实践
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3 采样和滤波

1.3.1 采样

1. 采样和采样定理

在模拟量控制系统中,生产过程所处理的都是连续变化的物理量,这些物理量经过传感器和变送器的变换,变成了标准的连续变化的电量(0~10V,4~20mA等)。这些电量可以直接送到由电子电路组成的模拟量控制器中进行处理。如果要送到计算机、PLC等数字量控制器中进行处理,则必须经过A/D转换成数字量才能送到数字控制器中。A/D转换是需要一定时间的,相应时间内的模拟量则不能连续进行转换。同时对数字控制器来说,对输入的A/D转换后的数字量进行处理也是需要一定时间的,如PLC的扫描时间。在PLC扫描时间内,只能通过指令读取相应的数值,而下一个数值必须等到下一个扫描周期内才能进行。由此可知,在时间上、取值上都是连续的模拟量,转换成的数字量在时间上、取值上都不是连续的,这种不连续的数字量,称为离散量。因此,有时又把数字控制称为离散控制,而把计算机、PLC等控制系统称为离散控制系统。

什么叫采样?对模拟量按规定的时间或时间间隔取值,就称为模拟量的采样。采样后得到的量即为离散量。显然,离散量在时间上是离散的,即只能代表采样瞬间的模拟量的值。采样的离散量是一个模拟数量,必须经过A/D转换才能变成与离散的模拟量最接近的二进制数字量,这个过程又称为量化。量化后的离散量为数字量,数字量在时间上与取值上都是离散的。

离散控制系统常用的有3种采样形式。

(1)周期采样:就是以相同的时间间隔进行采样,采样的时间间隔是一个常数 Ts,称为采样周期。周期采样是用得最多的采样形式。在PLC控制系统中,基本上都采用周期采样。

(2)多阶采样:多阶采样也是一种周期采样,它是对不同的时间间隔进行周期性重复采样,用得很少。

(3)随机采样:采样周期是随机的、不固定的,可在任意时刻进行采样。

一个模拟量信号经过采样变成一列离散的数字量信号,如何使采样信号能较少失真地反映原来的连续信号就成为一个需要解决的问题。图1-21所示为不同采样周期采样后的波形图。

图1-21 不同采样周期波形图示

设采样周期为Ts,则采样频率fs=1/Ts。一个连续变化的信号,如果采样频率不同,其离散数字量幅值变化波形也不同。由图1-21可以看出,采样频率越高,则数字量幅值变化越接近于连续变化的模拟量信号。但如果采样频率太高,在实时控制中,将会把许多宝贵的时间用在采样上,而失去实时控制的机会,这也不是控制系统所希望的。因此,如何确定采样频率,使得采样结果既能不失真于输入模拟信号,又不致因为采样频率过高而失去控制的机会,这就是采样频率的确定原则。

采样定理告诉我们:在进行模拟量/数字量信号的转换过程中,当采样频率 fs大于等于模拟信号中最大频率 fmax的2倍时,即 fs≥2fmax,则采样后的数字信号能完整地保留模拟量输入信号的信息。也就是说,为了不失真地恢复原始信号,采样频率至少应是原始信号最高有效频率的两倍。

但在实际应用中,不能根据采样定理去确定采样频率,这是因为它的应用受到很大的限制。例如,它要求模拟信号是有限宽带,实际上所有信号并非都是有限宽带,信号的最大频率是非常难以用理论计算出的。所以,在实际应用中,采样频率(或采样周期)大都采用经验法确定。

2. 采样周期选择

从采样定理可知,采样频率越高,即采样周期越小,则信号失真越小。但是,周期越小,则系统消耗在采样的时间上越多。而且,当采样周期太小时,此时所产生的偏差信号也会过小,数字控制器将会失去调节作用。但如果采样周期过长,又会引起信号失真,产生很大的控制误差。因此,采取周期必须综合考虑。

影响采样周期的因素有如下几项。

(1)扰动频率:若干扰信号的频率高,则采样周期小。

(2)控制对象的动态特性:若控制对象的滞后性大,则采用周期可大一些。

(3)数字控制器的执行时间:若执行时间越长,则采样周期不能小于其执行时间。

(4)控制对象所要求的控制质量:一般来说,控制精度要求越高,则采样周期越短。

(5)控制回路数:控制回路越多,则采样时间越长。

采样周期的选择有两种方法:一种是计算法,由于计算复杂,计算所需的参数很难确定,所以几乎没有人采用;另一种是经验法,这是在实际应用中用得最多的方法。

经验法实际上是一种试凑法,即人们根据在工作实践中累积的经验以及被控制对象的特点,大概选择一个采样周期 T,然后进行试验,根据实际控制效果,再反复修改 T,直到满意为止。经验法所采用的周期见表1-1。

表1-1 采样周期的经验数据

表中所列采样周期仅供参考。实际采样周期必须经过现场调试后才能确定。在现场调试时,采样周期可作为稍后调节参数进行调试,在不影响其他调节的情况下,可以把采样周期逐步缩短,直到不影响调节质量为止。

1.3.2 滤波

1. 滤波和滤波方式

滤波,顾名思义就是对波形的过滤作用。一个频率为 f 的正弦波通过某种电路时,由于频率不同,会产生不同的衰减。这种对不同频率会产生不同衰减的电路称为滤波电路。

图1-22(a)所示是一个RC低通滤波器电路。由电路分析知识可知,当RC电路输入信号电压U1,输出信号电压为U2时,其幅频特性曲线如图1-22(b)所示。

图1-22 RC低通滤波器

幅频特性说明,当 RC 为常数且输入电压 U1一定时,输出电压 U2的大小与正弦波频率f 有关。f=0时(直流),U2=U1,电压传输没有衰减。而随着 f 的增大,输出电压 U2也越来越小。这就是说,该电路对较低的 f 的正弦波衰减较小,而对较高频率的正弦波则有较大的衰减。换句话说,如果输入信号电压 U1为多种频率正弦波的叠加,则输出信号电压将含有较多的低频成分正弦波,而高频成分的正弦波被过滤掉,这就是RC电路的滤波作用。如图1-22所示的RC电路又称为RC低通滤波器。

什么是滤波?在电子技术中,滤波是对信号的一种处理。其处理功能是:让有用的信号尽可能无衰减地通过,而让无用的信号尽可能衰减掉。完成这种功能的电子电路就称为滤波电路或滤波器。

上述分析虽然是对正弦波而言的,但对非正弦周期信号或非周期连续变化信号也是适用的。信号的频域分析指出,非正弦周期信号可以展开为一系列频率不同的正弦波的叠加;而非周期信号则可以展开为频率连续的无限多个正弦波之和。这就使滤波和滤波器在模拟量(连续变化的信号)控制中获得了广泛地应用。

在模拟量控制中,由于工业控制对象的环境比较恶劣、干扰较多、如环境温度、电场、磁场,所以为了减少对采样值的干扰,对输入的数据进行滤波是非常必要的。

在计算机、单片机、PLC等数字控制器引入到模拟量控制系统后,模拟量控制的滤波就有了硬件滤波和软件滤波两种方式。

硬件滤波又分为模拟滤波器和数字滤波器两大类。模拟滤波器是由电子元器件R、L、C和集成运算放大器等组成的有源或无源模拟电路。按所通过的信号频段可分为低通、高通、带通、带阻4种滤波器。

随着计算机技术和集成电路技术的发展,后来又出现了由数字集成电路组成的数字滤波器,又称为数字信号处理器。数字滤波器与模拟滤波器完全不同,它处理的对象是由采样器件将模拟信号转换而得到的数字信号。它是通过数字运算电路对输入数字信号进行运算和处理而完成滤波功能的。和模拟滤波器相比,数字滤波器无论在精度、信噪比还是可靠性上都远远优于模拟滤波器。此外,数字滤波器还具有可编程改变特性以及复用和便于集成等优点。数字滤波器在语言信号处理、图像信号处理、医学生物信号处理以及其他领域都得到了广泛应用。

软件滤波又称为数字滤波。它是利用数字控制器的强大而快速的运算功能,对采样信号编制滤波处理程序,由计算机对滤波程序进行运算处理,从而消除或削弱干扰信号的影响,提高采样值的可靠性和精度,达到滤波的目的。

2. 数字滤波

和硬件滤波相比,数字滤波的特点如下:

(1)数字滤波不需要硬件,只要在采样信号进入后,附加一段数字滤波程序即可。这样可靠性高,不存在阻抗匹配问题,尤其是数字滤波可以对频率很高或很低的信号进行滤波,这是模拟滤波器做不到的。

(2)模拟滤波器不能共用,一个滤波器只能供一个采样信号使用,而数字滤波是用软件算法实现的,多输入通道可共用一个软件“滤波器”,从而降低系统成本。

(3)只要适当改变软件滤波器的滤波程序或运行参数,就能方便地改变其滤波特性,这个对于低频、脉冲干扰、随机噪声等特别有效。

数字滤波是通过运行滤波程序而进行的,这就带来了占用程序容量和速度响应的问题,这就是数字滤波的缺点。因此,如果因为运算滤波程序而影响了模拟量的响应速度,从而进一步影响了控制质量,就必须考虑采用硬件滤波的方式来代替软件滤波。

目前,在工业控制上常用的数字滤波程序设计方法有两类。一类为静态数字滤波程序设计,其方法是对采样值进行平滑加工处理,用以消除随机脉冲干扰和电子噪声。常用的处理方法有限幅、平均值计算等。另一类为动态数字滤波程序设计。它是用软件算法来模拟硬件模拟滤波器的功能,达到模拟滤波器的滤波功能。其特点是当前滤波值输出都与上次滤波值输出有关。常用的是一阶惯性滤波法。

1.3.3 常用数字滤波方法

(1)非线性滤波法:克服由外部环境偶然因素引起的突变性扰动或内部不稳定造成的尖脉冲干扰,是数据处理的第一步。通常采用简单的非线性滤波法,有限幅滤波、中值滤波等。

(2)线性滤波法:用于抑制小幅度高频电子噪声、电子器件热噪声、A/D量化噪声等。通常采用具有低通特性的线性滤波法,有算术平均滤波法、加权平均滤波法、滑动加权平均滤波法、一阶滞后滤波法等。

(3)复合滤波法:在实际应用中,有时既要消除大幅度的脉冲干扰,又要做到数据平滑。因此,常把前面介绍的两种以上的方法结合起来使用,形成复合滤波法。有中位值平均滤波法、限幅平均滤波法等。

下面分别进行介绍。

1. 限幅滤波(又称程序判断滤波法)

限幅滤波法是通过程序判断被测信号的变化幅度,从而消除缓变信号中的尖脉冲干扰。

其方法是把两次相邻的采样值相减,求出其增量(以绝对值表示)。然后与两次采样允许的最大差值ΔY 进行比较,ΔY 的大小由被测对象的具体情况而定,若小于或等于ΔY,则取本次采样的值;若大于ΔY,则取上次采样值作为本次采样值,即

|Yn - Yn - 1|≤ΔY,Yn有效,

|Yn - Yn - 1|>ΔY,Yn - 1有效。

式中,Yn——第n次采样的值;

Yn -1——第(n -1)次采样的值;

ΔY——相邻两次采样值允许的最大偏差。

限幅滤波法的优点是能有效克服因偶然因素引起的脉冲干扰(随机干扰)和采样信号不稳定引起的失真;缺点是无法抑制那种周期性的干扰平滑误差。它适用于变化比较缓慢的被测量值。

2. 中位值滤波

中位值滤波是一种典型的非线性滤波,它运算简单,在滤除脉冲噪声的同时可以很好地保护信号的细节信息。

其方法是连续采样N次(N取奇数),把N次采样值按大小排列,取中间值作为本次采样的有效数据。

中位值滤波的优点是能有效克服因偶然因素引起的波动(脉冲)干扰;缺点是对流量、速度等快速变化的参数不宜。它对温度、液位的变化缓慢的被测参数有良好的滤波效果。

3. 算术平均值滤波法

算术平均值滤波法是对 N 个连续采样值相加,然后取其算术平均值作为本次测量的滤波值。

N 的取值对滤波效果有一定影响,当 N 取值较大时,信号平滑度较高,但灵敏度较低;当N取值较小时,信号平滑度较低,但灵敏度较高。N值的选取:流量,N=12;压力,N=4。

算术平均值滤波的优点是对滤除混杂在被测信号上的随机干扰信号非常有效。被测信号的特点是有一个平均值,信号在某一数值范围附近上下波动。其缺点是不易消除脉冲干扰引起的误差。算术平均值滤波法无法在采样速度较慢或要求数据更新率较高的实时系统中使用。它比较浪费内存。

4. 滑动平均滤波法

对于采样速度较慢或要求数据更新率较高的实时系统,应采用滑动平均滤波法。滑动平均滤波法是把N个测量数据看成一个队列,队列的长度固定为N,每进行一次新的采样,把测量结果放入队尾,而去掉原来队首的一个数据(先进先出原则),这样在队列中始终有 N个“最新”的数据。对这N个数据进行算术平均值运算,然后取其结果作为本次测量的滤波值。N值的选取:流量,N=12;压力,N=4;液面,N=4~12;温度,N=1~4。

滑动平均滤波法的优点是对周期性干扰有良好的抑制作用,平滑度高,适用于高频振荡的系统。其缺点是灵敏度低,对偶然出现的脉冲性干扰的抑制作用较差,不易消除由于脉冲干扰所引起的采样值偏差,不适用于脉冲干扰比较严重的场合。它占用内存较多。

以上介绍的各种平均滤波算法有一个共同点,即每取得一个有效采样值必须连续进行若干次采样,当采样速度较慢(如双积分型A/D转换)或目标参数变化较快时,系统的实时性不能保证。

5. 加权平均滤波法

算术平均滤波法存在前面所说的平滑和灵敏度之间的矛盾。采样次数太少,平滑效果差;采样次数太多,灵敏度下降,对参数的变化趋势不敏感。协调两者关系,可采用加权平均滤波,对连续N次采样值,分别乘上不同的加权系数之后再求累加和。加权系数一般先小后大,以突出后面若干采样的效果,加强系统对参数的变化趋势辩的辨识。各个加权系数均为小于1的小数,且满足总和等于1的约束条件。这样,加权运算之后的累加和即为有效采样值。为方便计算,可取各个加权系数均为整数,且总和为256,加权运算后的累加和除以256后便是有效采样值。

加权平均滤波法的优点是适用于有较大纯滞后时间常数的对象和采样周期较短的系统。其缺点是对于纯滞后时间常数较小、采样周期较长、变化缓慢的信号不能迅速反应系统当前所受干扰的严重程度,滤波效果差。

6. 一阶滞后滤波法

一阶滞后滤波器(又称为一阶低通滤波法、惯性滤波法)是用软件的方法实现硬件的RC滤波,以抑制干扰信号。在模拟量输入通道中,常用一阶滞后RC模拟滤波器来抑制干扰,如图1-23所示。用此种方法来实现对低频干扰时,首先遇到的问题是要求滤波器有大的时间常数(时间常数=RC)和高精度的RC网络。时间常数越大,要求 RC值越大,其漏电流也必然增大,从而使RC网络精度下降。采用一阶滞后的数字滤波方法,能很好地克服这种模拟量滤波器的缺点,在滤波常数要求较大的场合,此法更适合。

图1-23 一阶RC低通滤波器

将普通硬件RC低通滤波器的微分方程用差分方程来近似,可以采用软件算法来模拟硬件滤波的功能。经推导,低通滤波算法如下:

Yn = (1- α)Xn + αYn - 1

式中,Yn——本次滤波的输出值;

Xn——本次采样值;

Yn -1——上次的滤波输出值;

α ——滤波系数,

τ ——RC电路时间常数;

T ——采样周期。

由上式可以看出,本次滤波的输出值主要取决于上一次滤波的输出值(注意,不是上一次的采样值,这和加权平均滤波是有本质区别的)。本次采样值对滤波输出的贡献是比较小的,但多少有些修正作用,这种算法便模拟了具体有较大惯性的低通滤波器功能。

滤波系数α 取值范围为0%~99%,α 越大,滤波效果越好,但动态响应会变坏。一般先选取50%,再根据响应要求适当调整。

一阶滞后滤波法对周期性干扰具有良好的抑制作用适用于波动频率较高的场合。其缺点是相位滞后,灵敏度低,滞后程度取决于α 值大小,不能消除滤波频率高于采样频率的1/2的干扰信号。

7. 中位值平均滤波法

中位值平均滤波法(又称为防脉冲干扰平均滤法)相当于“中位值滤波法”+“算术平均滤波法”。

中位值平均滤波法是连续采样 N 个数据,去掉一个最大值和一个最小值然后计算 N -2个数据的算术平均值。N值的选取:3~14。

它的优点是融合了两种滤波法的优点,这种方法既能抑制随机干扰,又能滤除明显的脉冲干扰。其缺点是测量速度较慢,和算术平均滤波法一样,比较浪费内存。

8. 限幅平均滤波法

在脉冲干扰较严重的场合,如果采用一般的平均值法,则干扰会平均到结果中去。限幅平均滤波法相当于“限幅滤波法”+“滑动平均滤波法”。

限幅平均滤波法是将每次采样到的新数据先进行限幅处理,再送入队列进行滑动平均滤波处理。

它融合了两种滤波法的优点,对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差。限幅平均滤波法适用于缓慢变化信号。

1.3.4 数字滤波编程举例初学者可以跳过这一节的学习,待学完第3章三菱FX2N模拟量模块应用后再来学习本节内容。

FX2N-2AD是FX系列的模拟量输入功能模块,与FX2N-4AD等不同的是2AD模块没有平均值输入,只有当前值输入。因此,可以在数据从2AD读入到PLC后,在PLC里添加下面例子所编制的数字滤波程序,这样可以达到抑制干扰的目的。

1. 中位值平均滤波程序

【例1】编制中位值平均滤波程序。

程序要求:基本单元为FX2N-32MR,A/D模块为FX2N-2AD(位置编号1#)。采样次数10。电压输入。

存储器分配:A/D转换后数据输入D0;

中位置平均滤波后输出数据D100;

采样次数Z0;

排序前数据存储D1~D10;

排序后数据存储D11~D20。

程序如图1-24所示。

图1-24 中位值平均滤波程序

图1-24 中位值平均滤波程序(续)

2. 算术平均值滤波程序

【例2】编制算术平均值滤波程序。

程序要求同【例1】。

存储器分配:数据输入D100、D101;

累加D114、D115;

采样次数D118;

算术平均值输出D110、D111。

程序如图1-25所示。

图1-25 算术平均值滤波程序

3. 算术平均值滤波程序

【例3】编制一阶滞后滤波程序。

程序要求同【例1】。

存储器分配:数据输入Xn、D10;

滤波后输出Yn、D100;

滤波系数α D102(0<α<1);

滤波公式:Yn = Xn + α(Yn - 1 - Xn)。

程序如图1-26所示。

图1-26 一阶滞后滤波程序