计算机控制技术课件三.ppt
第三章第三章 常用控制程序设计常用控制程序设计3.1巡回检测程序设计巡回检测程序设计3.2数字滤波程序设计数字滤波程序设计3.3标度变换程序设计标度变换程序设计判断程序设计判断程序设计3.4上下限报警处理程序设计上下限报警处理程序设计3.5软软件抗干扰技术件抗干扰技术3.6查表技术查表技术3.7测测量数据预处理技术量数据预处理技术3.8电机控制程序设计电机控制程序设计3.9步进电机控制步进电机控制第三章第三章 常用控制程序设计常用控制程序设计 在计算机控制系统中,在计算机控制系统中,数据采集数据采集是最基本的一是最基本的一种模式。一般是通过种模式。一般是通过传感器传感器、变送器变送器把生产过程的把生产过程的各种物理参数转换成电信号,然后经各种物理参数转换成电信号,然后经A/D通道或通道或DI通道,把数字量送入计算机中。计算机在对这些数通道,把数字量送入计算机中。计算机在对这些数字量进行显示和控制之前,还必须根据需要进行相字量进行显示和控制之前,还必须根据需要进行相应的应的数据处理数据处理。数据处理数据处理离不开数值计算,而最基本的数值计离不开数值计算,而最基本的数值计算为四则运算。由于控制系统中遇到的现场环境不算为四则运算。由于控制系统中遇到的现场环境不同,采集的数据种类与数值范围不同,精度要求也同,采集的数据种类与数值范围不同,精度要求也不一样,各种数据的输入方法及表示方法也各不相不一样,各种数据的输入方法及表示方法也各不相同。因此,为了满足不同系统的需要,设计出了许同。因此,为了满足不同系统的需要,设计出了许多有效的数据处理技术方法,如多有效的数据处理技术方法,如预处理预处理,数字滤波数字滤波,标度变换标度变换,查表查表和和越限报警越限报警等。等。第三章第三章 常用控制程序设计常用控制程序设计3.1巡回检测程序设计巡回检测程序设计3.1.1概述概述3.1.2巡回检测举例巡回检测举例返回本章首页第三章第三章 常用控制程序设计常用控制程序设计3.1.1概述概述所谓的巡回检测就是对生产过程中的各个参数按所谓的巡回检测就是对生产过程中的各个参数按照一定的周期进行检查和测量,检测的数据通过照一定的周期进行检查和测量,检测的数据通过计算机处理后可以进行显示、打印和报警等操作。计算机处理后可以进行显示、打印和报警等操作。巡回检测程序主要由以下几个方面构成:巡回检测程序主要由以下几个方面构成:1.采样周期采样周期T的确定的确定2.采样开关通道号的控制采样开关通道号的控制3.A/D转换转换4.数据处理数据处理返回本节第三章第三章 常用控制程序设计常用控制程序设计3.1.2巡回检测举例巡回检测举例1.利用利用8位位A/D转换芯片(转换芯片(ADC0809)2.采用采用12位位A/D转换芯片(转换芯片(AD574A)3.采用采用8通道通道12位位A/D转换芯片(转换芯片(MAX197)例例3-1某冷冻厂需要对某冷冻厂需要对8个冷冻室进行温度巡回检个冷冻室进行温度巡回检测,要求设计一个计算机控制的温度巡回检测系测,要求设计一个计算机控制的温度巡回检测系统,使其能对各冷冻室的温度巡回检测并加以处统,使其能对各冷冻室的温度巡回检测并加以处理。假设被测温度范围为理。假设被测温度范围为-30+50,温度检测,温度检测精度要求不大于精度要求不大于1。第三章第三章 常用控制程序设计常用控制程序设计温度传感器可以选择热电阻、热敏电温度传感器可以选择热电阻、热敏电阻、阻、PN结或集成温度传感器结或集成温度传感器AD590等。被等。被测温度范围为测温度范围为-30+50,温度检测精度,温度检测精度要求不大于要求不大于1,8位位A/D转换器的分辨率转换器的分辨率为为1/256,因此可以满足精度要求,选用,因此可以满足精度要求,选用8位位A/D转换器转换器ADC0809进行进行A/D转换。转换。第三章第三章 常用控制程序设计常用控制程序设计1.利用利用8位位A/D转换芯片(转换芯片(ADC0809)图图3-8炉温巡回检测电路原理图炉温巡回检测电路原理图第三章第三章 常用控制程序设计常用控制程序设计系统的硬件电路介绍:系统的硬件电路介绍:(1)测量元件和变送器)测量元件和变送器(2)A/D转换电路转换电路(3)分频电路)分频电路第三章第三章 常用控制程序设计常用控制程序设计本本程程序序由由系系统统初初始始化化程程序序和和中中断断程程序序组组成成。初初始始化化程程序序完完成成中中断断向向量量和和定定时时器器初初值值的的设设定定;中中断断程程序序完完成成数数据据采采样样工工作作,实实现现对对8个通道的巡回检测。个通道的巡回检测。初初始始化化程程序序功功能能:设设置置定定时时器器0、外外部部中中断断0和和外外部部中中断断1的的中中断断程程序序入入口口;设设置置定定时时器器0的的工工作作方方式式为为方方式式1,定定时时时时间间为为100ms;设设置计数单元(置计数单元(30H)初值。初值。初始化程序流程框图如图初始化程序流程框图如图3-9所示。所示。图图3-9初初始始化化程程序序流流程程图图第三章第三章 常用控制程序设计常用控制程序设计初始化程序清单:初始化程序清单:ORG0000HAJMPSTARTORG0003HAJMPSAMPLE;转采样中断程序转采样中断程序ORG000BHAJMPTIME0;转转8秒定时中断程序秒定时中断程序ORG0013HAJMPEOC;转转EOC中断处理程序中断处理程序START:MOVTMOD,#01H;置定时器置定时器0为工作方式为工作方式1MOVTH0,#3CH第三章第三章 常用控制程序设计常用控制程序设计MOV TL0,#0B0H;定时器初值设定定时器初值设定MOV 30H,#00H;置计数初值置计数初值SETB IT0;中断请求信号为脉冲方式中断请求信号为脉冲方式SETB IT1;中断请求信号为脉冲方式中断请求信号为脉冲方式SETB EX0;外部中断外部中断0中断允许中断允许SETB ET0;定时器定时器0中断允许中断允许SETB EA;开中断开中断SETB TR0;启动定时器启动定时器HERE:AJMP HERE;等待中断等待中断第三章第三章 常用控制程序设计常用控制程序设计定时器中断程序流程框图如图定时器中断程序流程框图如图3-10所示。所示。图图3-10定定时时器器中中断断程程序序流流程程框框图图第三章第三章 常用控制程序设计常用控制程序设计定时器中断程序程序清单:定时器中断程序程序清单:TIME0:CLREA;关中断关中断INC30HMOVA,30HXRLA,#50H;判断是否到判断是否到8秒秒JZS_8;8秒定时到,转至秒定时到,转至S_8AJMPRECOUN;未到未到8秒,继续计时秒,继续计时S_8:SETBP3.2;触发外部中断触发外部中断0NOPCLRP3.2NOPRECOUN:MOVTH0,#3CHMOVTL0,#0B0H;设定定时器初值设定定时器初值SETBEA;开中断开中断RETI;中断返回中断返回第三章第三章 常用控制程序设计常用控制程序设计数据采样程序流程框图如图数据采样程序流程框图如图3-11所示。所示。第三章第三章 常用控制程序设计常用控制程序设计数据采样程序程序清单:数据采样程序程序清单:SAMPLE:SETB00H;设置标志位设置标志位MOVDPTR,#0F00H;设置通道初值设置通道初值MOVR6,#08H;设置通道数设置通道数MOVR7,#05H;设置采样次数设置采样次数MOVR0,#40H;设置数据区首址设置数据区首址TRAN_S:MOVX DPTR,A;启动启动A/D转换程序流程图转换程序流程图WAIT:JB00H,WAIT;标志位为标志位为1等待等待A/D转换完成中断转换完成中断第三章第三章 常用控制程序设计常用控制程序设计SETB00H;置标志位置标志位INCDPTR;通道号加通道号加1INCR0INCR0INCR0INCR0INCR0;45H为下一通道采样数据存放首址为下一通道采样数据存放首址DJNZR6,#TRAN_S;8个通道采样未完,继续采样个通道采样未完,继续采样MOVDPTR,#0F00H;8个通道采样结束,重置通道初值个通道采样结束,重置通道初值INCR0;修改采样数据存放地址修改采样数据存放地址DJNZR7,TRAN_S;未完成未完成5次采样,继续次采样,继续;数据处理程序;数据处理程序.RETI第三章第三章 常用控制程序设计常用控制程序设计2.采用采用12位位A/D转换芯片(转换芯片(AD574A)图图3-14AD574A和和8031的硬件接口电路图的硬件接口电路图第三章第三章 常用控制程序设计常用控制程序设计图图3-15AD574AA/D转换程序流程框图转换程序流程框图第三章第三章 常用控制程序设计常用控制程序设计AD574A/D转换程序清单:转换程序清单:ORG0000HAJMPSTARTORG0003HAJMPSAMPLE;转至数据采样程序转至数据采样程序START:MOVDPTR,#0000H;建立建立AD574A的地址的地址MOVR0,#40H;设置数据存储初址设置数据存储初址SETBEX0;允许外部中断允许外部中断0SETBIT0;设置外部中断设置外部中断0请求信号方式为脉冲方式请求信号方式为脉冲方式SETBEA;中断允许中断允许MOVX DPTR,A;启动启动A/D转换转换HERE:AJMPHERE;等待中断等待中断第三章第三章 常用控制程序设计常用控制程序设计中断服务程序清单:中断服务程序清单:SAMPLE:CLREA;关中断关中断MOVDPTR,#0002HMOVX A,DPTR;读读A/D转换数据的高转换数据的高8位位MOVR0,A;保存数据保存数据INCR0INCDPTRMOVX A,DPTR;读读A/D转换数据的低转换数据的低4位位SETBEA;开中断开中断RETI返回本节第三章第三章 常用控制程序设计常用控制程序设计3.2 数字滤波方法数字滤波方法 由于工业生产的现场环境由于工业生产的现场环境非常恶劣非常恶劣,各种干扰源,各种干扰源很多,计算机系统通过输入通道采集到的数据信号,很多,计算机系统通过输入通道采集到的数据信号,虽经硬件电路的滤波处理,但仍会混有虽经硬件电路的滤波处理,但仍会混有随机干扰随机干扰噪声噪声。因此,为了提高系统性能,达到准确的测量与控制,因此,为了提高系统性能,达到准确的测量与控制,一般情况下还需要进行一般情况下还需要进行数字滤波数字滤波。.第三章第三章 常用控制程序设计常用控制程序设计 数字滤波数字滤波,就是计算机系统对输入信号采样多次,就是计算机系统对输入信号采样多次,然后用某种计算方法进行数字处理,以削弱或滤除干扰然后用某种计算方法进行数字处理,以削弱或滤除干扰噪声造成的随机误差,从而获得一个噪声造成的随机误差,从而获得一个真实信号真实信号的过程。的过程。这种滤波方法只是根据预定的滤波算法编制相应的程序,这种滤波方法只是根据预定的滤波算法编制相应的程序,实质上是实质上是一种程序滤波一种程序滤波。因而可靠性高,稳定性好,修。因而可靠性高,稳定性好,修改滤波参数也容易,而且一种滤波子程序可以被多个通改滤波参数也容易,而且一种滤波子程序可以被多个通道所共用,因而成本很低。另外,数字滤波可以对各种道所共用,因而成本很低。另外,数字滤波可以对各种干扰信号,甚至极低频率的信号进行滤波。它的不足之干扰信号,甚至极低频率的信号进行滤波。它的不足之处是需要占用处是需要占用CPU的机时的机时。总之,数字滤波与硬件滤波器相比优点甚多,因此总之,数字滤波与硬件滤波器相比优点甚多,因此得到了普遍的应用。常用的数字滤波方法有:得到了普遍的应用。常用的数字滤波方法有:第三章第三章 常用控制程序设计常用控制程序设计平均值滤波平均值滤波、中值滤波中值滤波、限幅滤波限幅滤波和和惯性滤波惯性滤波等。等。3.2.1平均值滤波平均值滤波 平均值滤波就是平均值滤波就是对多个采样值对多个采样值进行进行平均算法平均算法,这,这是是消除随机误差消除随机误差最常用的方法。具体又可分为如下最常用的方法。具体又可分为如下几种。几种。1.算术平均滤波算术平均滤波算术平均值滤波的目的是寻找一个Y值,使其与各个采样值间的偏差的平方和E为最小,即 (3-1)第三章第三章 常用控制程序设计常用控制程序设计算术平均滤波是在采样周期算术平均滤波是在采样周期T内,对测量信号内,对测量信号x进行进行N次采样,次采样,把把N个采样值相加后的算术平均值作为本次个采样值相加后的算术平均值作为本次的有效采样值,即采样次数的有效采样值,即采样次数N值决定了信号的平滑度值决定了信号的平滑度和灵敏度。提高和灵敏度。提高N的值,可提高平滑度,但系统的灵的值,可提高平滑度,但系统的灵敏度随之降低,采样次数敏度随之降低,采样次数N的取值随被控对象的不同的取值随被控对象的不同而不同。一般情况下,而不同。一般情况下,流量信号流量信号可取可取10左右左右,压力压力信号信号可取可取4左右左右,温度、成分等缓变信号可取,温度、成分等缓变信号可取2甚至甚至不进行算术平均。不进行算术平均。由一元函数求极值原理,式(3-1)两边对Y取导数,并令其为0,得第三章第三章 常用控制程序设计常用控制程序设计例例3-3某一输入信号的实际幅值对应的理论数字某一输入信号的实际幅值对应的理论数字量为量为80H,考虑以下各种情况,采用算术平均,考虑以下各种情况,采用算术平均值滤波,采样次数值滤波,采样次数N=5,分析其滤波效果。,分析其滤波效果。第三章第三章 常用控制程序设计常用控制程序设计从以上分析结果可以看出,算术平均值滤波对从以上分析结果可以看出,算术平均值滤波对周期性干扰有良好的抑制效果,对脉冲性干扰周期性干扰有良好的抑制效果,对脉冲性干扰的的滤波效果并不理想,存在测量误差。的的滤波效果并不理想,存在测量误差。在编制算法程序时在编制算法程序时,N一般取一般取2、4、8等等2的整数的整数幂,以便于用移位来代替除法求得平均值。幂,以便于用移位来代替除法求得平均值。第三章第三章 常用控制程序设计常用控制程序设计2.去极值平均滤波去极值平均滤波 算术平均滤波算术平均滤波不能将明显的偶然的脉冲干扰消除,不能将明显的偶然的脉冲干扰消除,只是把其平均到采样结果中,从而降低了只是把其平均到采样结果中,从而降低了测量精度测量精度。去极值平均滤波是对连续采样的去极值平均滤波是对连续采样的m个数据进行比个数据进行比较,去掉其中的最大值与最小值,然后计算余下的较,去掉其中的最大值与最小值,然后计算余下的m-2个数据的算术平均值。个数据的算术平均值。在编制算法程序时在编制算法程序时,为便于用移位来代替除法求得为便于用移位来代替除法求得平均值,平均值,m-2应取应取2、4、8等,故等,故m取取4、6、10等。等。这种算法适用于这种算法适用于工业场合工业场合经常遇到的尖脉冲干扰的经常遇到的尖脉冲干扰的信号滤波。信号滤波。第三章第三章 常用控制程序设计常用控制程序设计3.加权平均滤波加权平均滤波 算术平均滤波算术平均滤波和和去极值平均滤波去极值平均滤波都存在都存在平滑性平滑性和和灵灵敏度的矛盾敏度的矛盾。采样次数太少则平滑效果差,次数太多。采样次数太少则平滑效果差,次数太多则灵敏度下降,对测量参数的变化趋势不敏感。为协则灵敏度下降,对测量参数的变化趋势不敏感。为协调两者关系,可采用调两者关系,可采用加权平均滤波加权平均滤波。加权平均滤波是对每次采样值不以相同的权系数而加权平均滤波是对每次采样值不以相同的权系数而以增加新鲜采样值的权重相加。以增加新鲜采样值的权重相加。(3-3)第三章第三章 常用控制程序设计常用控制程序设计 式中,第式中,第m次为最新值,次为最新值,C1、C2、Cm 为为加权系数,先小后大,且均为小于加权系数,先小后大,且均为小于1但总和等于但总和等于1的小数,的小数,即满足下式即满足下式C1+C2+Cm=1Cm Cm-1 C1 0C1、C2、Cm 的取值应视具体情况选取的取值应视具体情况选取,并通过并通过调试确定。例如调试确定。例如,某纯滞后时间为某纯滞后时间为的被控对象的被控对象,采用采用m=4的加权平均滤波算式为的加权平均滤波算式为=C1 y 1+C2 y 2+C3 y 3+C4 y 4 第三章第三章 常用控制程序设计常用控制程序设计式中权系数式中权系数,,,这种算法能协调系统的平滑度和灵敏度的矛盾,提这种算法能协调系统的平滑度和灵敏度的矛盾,提高灵敏度,更适用于纯滞后较大的对象。高灵敏度,更适用于纯滞后较大的对象。4滑动平均滤波滑动平均滤波前三种的平均滤波算法有一个前三种的平均滤波算法有一个共同点共同点:即每取得一个:即每取得一个有效采样值必须连续进行若干次有效采样值必须连续进行若干次采样采样。第三章第三章 常用控制程序设计常用控制程序设计 当系统的采样速度较慢或采样信号变化较快时,当系统的采样速度较慢或采样信号变化较快时,系统的实时性就无法得到保证。滑动平均滤波是在每系统的实时性就无法得到保证。滑动平均滤波是在每个采样周期只采样一次,将这一次采样值和过去的若个采样周期只采样一次,将这一次采样值和过去的若干次采样值一起求平均,所得结果即为干次采样值一起求平均,所得结果即为有效采样值有效采样值。具体作法可由循环队列结构方式来实现数据的存具体作法可由循环队列结构方式来实现数据的存放,比如取放,比如取m个采样值求滑动平均,只要在个采样值求滑动平均,只要在RAM中开辟中开辟m个数据暂存区,每次新采集一个数据暂存区,每次新采集一个数据便存入暂存区的队尾,个数据便存入暂存区的队尾,同时冲掉队首的一个数同时冲掉队首的一个数据,这样在存储器队列中始终保持有据,这样在存储器队列中始终保持有m个最新的数据。个最新的数据。而滑动平均滤波算法的最大优势就是实时性好,提而滑动平均滤波算法的最大优势就是实时性好,提高了系统的响应速度。高了系统的响应速度。第三章第三章 常用控制程序设计常用控制程序设计3.2.2 中值滤波中值滤波 中值滤波是将信号中值滤波是将信号y的连续的连续m次采样值按大小进行次采样值按大小进行排序,取其中间值作为本次的排序,取其中间值作为本次的有效采样值有效采样值。本算法为取。本算法为取中值,故采样次数中值,故采样次数m应为奇数,一般应为奇数,一般35次即可。次即可。编制中值滤波的算法程序,首先把编制中值滤波的算法程序,首先把m个采样值从小个采样值从小到大(或从大到小)进行排队,这可采用几种常规的排到大(或从大到小)进行排队,这可采用几种常规的排序算法如序算法如冒泡算法冒泡算法,然后再取中间值。,然后再取中间值。中值滤波中值滤波对缓变过程中的偶然因素引起的波动或采对缓变过程中的偶然因素引起的波动或采样器不稳定造成的误差所引起的脉动干扰比较有效,而样器不稳定造成的误差所引起的脉动干扰比较有效,而对快速变化过程对快速变化过程(如流量如流量)的信号采样则不适用。的信号采样则不适用。第三章第三章 常用控制程序设计常用控制程序设计3.2.3 限幅滤波限幅滤波 经验说明,生产过程中许多物理量的变化需要一经验说明,生产过程中许多物理量的变化需要一定的时间,因此相邻两次采样值之间的变化幅度应在定的时间,因此相邻两次采样值之间的变化幅度应在一定的限度之内。一定的限度之内。限幅滤波限幅滤波就是把两次相邻的采样值就是把两次相邻的采样值相减,求其增量的绝对值,再与两次采样所允许的最相减,求其增量的绝对值,再与两次采样所允许的最大差值大差值 Y进行比较,如果小于或等于进行比较,如果小于或等于 Y,表,表示本次采样值示本次采样值y(k)是真实的,则取是真实的,则取y(k)为有效采为有效采样值;反之,样值;反之,y(k)是不真实的,是不真实的,则取上次采样值则取上次采样值y(k 1)作为本次有效采样值。作为本次有效采样值。第三章第三章 常用控制程序设计常用控制程序设计当当|y(k)y(k 1)|Y时,则取时,则取y(k)=y(k)当当|y(k)y(k 1)|Y时,则取时,则取y(k)=y(k-1)式中:式中:y(k)t=kT时的采样值;时的采样值;y(K-1)t=(k-1)T时的采样值;时的采样值;Y相邻两次采样值所允许的相邻两次采样值所允许的最大偏差最大偏差,其大小取,其大小取决于控制系统采样周期决于控制系统采样周期T和信号和信号Y的正常变化率。的正常变化率。限幅滤波对随机干扰或采样器不稳定引起的失真有良限幅滤波对随机干扰或采样器不稳定引起的失真有良好的滤波效果。好的滤波效果。第三章第三章 常用控制程序设计常用控制程序设计3.4.4 惯性滤波惯性滤波惯性滤波惯性滤波是模拟硬件是模拟硬件RC低通滤波器的数字实现。常用低通滤波器的数字实现。常用的的RC滤波器的滤波器的传递函数传递函数是是(3-5)其中,其中,Tf=RC是滤波器的滤波时间常数,其大小是滤波器的滤波时间常数,其大小直接关系到滤波效果。一般说来,直接关系到滤波效果。一般说来,Tf 越大,则滤波越大,则滤波器的器的截止频率截止频率(滤出的干扰频率)越低,滤出的电压(滤出的干扰频率)越低,滤出的电压纹波较小纹波较小,但输出滞后较大。由于大的时间常数及高精但输出滞后较大。由于大的时间常数及高精度的度的RC电路不易制作,所以硬件电路不易制作,所以硬件RC 滤波器不可能对滤波器不可能对极低频率的信号进行极低频率的信号进行滤波滤波。为此可以模仿式。为此可以模仿式(3-5)中硬中硬件件RC滤波器的特性参数,用软件做成低通数字滤波器,滤波器的特性参数,用软件做成低通数字滤波器,从而实现一阶惯性的从而实现一阶惯性的数字滤波数字滤波。第三章第三章 常用控制程序设计常用控制程序设计将式将式(3-5)写成差分方程写成差分方程(3-6)整理后得整理后得(3-7)第三章第三章 常用控制程序设计常用控制程序设计式中:式中:y(k)第第k次采样的滤波输出值;次采样的滤波输出值;x(k)第第k次采样的滤波输入值,即第次采样的滤波输入值,即第k次采样次采样值值y(k-1)第第(k-1)次采样的滤波输出值次采样的滤波输出值;a滤波系数滤波系数a=T/(Tf+T)T采样周期采样周期Tf滤波环节的时间常数滤波环节的时间常数一般一般T远小于远小于Tf,即远小于,即远小于1,表明本次有效采样值,表明本次有效采样值(滤波输出值滤波输出值)主要取决于上次有效采样值主要取决于上次有效采样值(滤波输出值滤波输出值),而本次采样值仅起到一点修正作用。而本次采样值仅起到一点修正作用。第三章第三章 常用控制程序设计常用控制程序设计通常,采样周期通常,采样周期T 足够小,则足够小,则a T/Tf,滤波算法的,滤波算法的截止频率为截止频率为(3-8)当采样周期当采样周期T一定时,滤波系数一定时,滤波系数 a越小,数字滤波器越小,数字滤波器的截止频率的截止频率 f就越低。例如当就越低。例如当T=0.5秒秒(即每秒采样即每秒采样2次次),a=1/32时:时:f=(1/32)/(23.140.5)0.01Hz这对于变化缓慢的采样信号这对于变化缓慢的采样信号(如大型贮水池的水位信如大型贮水池的水位信号号),其滤波效果是很好的。,其滤波效果是很好的。第三章第三章 常用控制程序设计常用控制程序设计 惯性滤波器的程序编制可按式惯性滤波器的程序编制可按式(3-7)进行。设计时,进行。设计时,应根据采样周期与截止频率适当选取应根据采样周期与截止频率适当选取 a值,使得滤波值,使得滤波器的输出既无明显纹波,又不太滞后。显然,该算法器的输出既无明显纹波,又不太滞后。显然,该算法比较简单,比起平均值滤波法要快比较简单,比起平均值滤波法要快,能很好地消除能很好地消除周周期性干扰期性干扰和和较宽频率较宽频率的的随机干扰信号随机干扰信号。以上讨论了几种数字滤波方法,各有其特点。在以上讨论了几种数字滤波方法,各有其特点。在实际应用中,究竟采用不采用、以及采用哪一种数字实际应用中,究竟采用不采用、以及采用哪一种数字滤波,都应视具体情况而定。可能有的系统并不需要滤波,都应视具体情况而定。可能有的系统并不需要进行数字滤波或者应用得不恰当,非但达不到滤波效进行数字滤波或者应用得不恰当,非但达不到滤波效果还会果还会降低控制品质降低控制品质,而有的系统采用了复合滤波方,而有的系统采用了复合滤波方法法即把几种滤波方法结合起来使用,可能会取得即把几种滤波方法结合起来使用,可能会取得更好的滤波效果。更好的滤波效果。第三章第三章 常用控制程序设计常用控制程序设计和模拟滤波装置相比,数字滤波有以下几个优点:和模拟滤波装置相比,数字滤波有以下几个优点:(1)数数字字滤滤波波通通过过程程序序实实现现,不不需需硬硬件件设设备备,系系统统的的可可靠性较高。靠性较高。(2)数字滤波可实现多通道共用。数字滤波可实现多通道共用。(3)可对低频信号(如可对低频信号(如0.01Hz)实现滤波。实现滤波。(4)采采用用不不同同的的算算法法和和参参数数就就可可实实现现对对不不同同信信号号的的滤滤波波,使用起来灵活、方便。使用起来灵活、方便。返回本节第三章第三章 常用控制程序设计常用控制程序设计 3.3 3.3 标度变换算法标度变换算法 生产中的各种参数都有着不同的生产中的各种参数都有着不同的量纲量纲和和数值数值,但在,但在计算机控制系统的采集、计算机控制系统的采集、A/DA/D转换转换过程中已变为无量纲过程中已变为无量纲的数据,当系统在进行显示、记录、打印和报警等操作的数据,当系统在进行显示、记录、打印和报警等操作时,必须把这些测得的数据还原为相应量纲的物理量,时,必须把这些测得的数据还原为相应量纲的物理量,这就需要进行这就需要进行标度变换标度变换。标度变换标度变换的任务是把计算机系统检测的对象参数的的任务是把计算机系统检测的对象参数的二进制数值还原变换为原物理量的工程实际值。图二进制数值还原变换为原物理量的工程实际值。图3-16为标度变换原理图,这是一个温度测控系统,某种热电为标度变换原理图,这是一个温度测控系统,某种热电偶传感器把现场中的温度偶传感器把现场中的温度 0 1200转变为转变为0 48mV信信号,经输入通道中的运算放大器放大到号,经输入通道中的运算放大器放大到0 5V,再由,再由8位位A/D转换成转换成00FFH的数字量,这一系列的转换过程的数字量,这一系列的转换过程是由输入通道的是由输入通道的硬件电路硬件电路完成的。完成的。第三章第三章 常用控制程序设计常用控制程序设计CPU 读入该数字信号在送到显示器进行显示以前,必读入该数字信号在送到显示器进行显示以前,必须把这一无量纲的二进制数值再还原变换成原量纲为须把这一无量纲的二进制数值再还原变换成原量纲为的温度信号。比如,最小值的温度信号。比如,最小值00H应变换对应为应变换对应为0、最大值最大值FFH应变换对应为应变换对应为1200。图3-16 标度变换原理图 这个标度变换的过程是由这个标度变换的过程是由算法软件程序算法软件程序来完成的,标来完成的,标度变换有各种不同的算法,它取决于被测参数的工程度变换有各种不同的算法,它取决于被测参数的工程量与转换后的无量纲数字量之间的量与转换后的无量纲数字量之间的函数关系函数关系。一般而。一般而言,输入通道中的言,输入通道中的放大器放大器、A/D转换器转换器基本上是线性基本上是线性的,因此,传感器的输入输出特性就大体上决定了的,因此,传感器的输入输出特性就大体上决定了第三章第三章 常用控制程序设计常用控制程序设计这个函数关系的不同表达形式,也就决定了不同的标这个函数关系的不同表达形式,也就决定了不同的标度变换方法。度变换方法。主要方法有:主要方法有:线性式变换线性式变换、非线性式变换非线性式变换、多项式变多项式变换换以及以及查表法查表法。3.3.1 线性式变换线性式变换 线性标度变换线性标度变换是最常用的标度变换方式,其前提条是最常用的标度变换方式,其前提条件是传感器的件是传感器的输出信号输出信号与被测参数之间呈与被测参数之间呈线性关系线性关系,如图如图3-17所示。所示。第三章第三章 常用控制程序设计常用控制程序设计图3-17 线性关系的标度变换第三章第三章 常用控制程序设计常用控制程序设计数字量Nx对应的工程量Ax的线性标度变换公式为:(3-9)式中:A0一次测量仪表的下限(测量范围最小值);Am一次测量仪表的上限(测量范围最大值);Ax实际测量值(工程量);N0仪表下限所对应的数字量;Nm仪表上限所对应的数字量;Nx实际测量值所对应的数字量。第三章第三章 常用控制程序设计常用控制程序设计式式(3-9)为线性标度变换的通用公式,其中为线性标度变换的通用公式,其中A0,Am,N0,Nm对某一个具体的被测参数与输入通道来说都对某一个具体的被测参数与输入通道来说都是常数,不同的参数有着不同的值。为使程序设计简是常数,不同的参数有着不同的值。为使程序设计简单,一般把一次测量仪表的单,一般把一次测量仪表的下限下限A0所对应的所对应的A/D转换转换值置为值置为0,即,即N0=0。这样式。这样式(3-9)可写成:可写成:(3-10)在很多测量系统中,仪表下限值在很多测量系统中,仪表下限值A0=0,此时进,此时进一步简化为一步简化为(3-11)第三章第三章 常用控制程序设计常用控制程序设计式式(3-9)、(3-10)和和(3-11)即为在不同情况下的线性标度即为在不同情况下的线性标度变换公式变换公式。据此,编程用的标度变换。据此,编程用的标度变换子程序公式子程序公式分别分别简化为简化为:(3-12)其中其中 (3-13)其中其中 Ax3=a3Nx(3-14)第三章第三章 常用控制程序设计常用控制程序设计其中其中 例:某加热炉温度测量仪表的量程为例:某加热炉温度测量仪表的量程为200 800,在,在某一时刻计算机系统采样并经数字滤波后的数字量为某一时刻计算机系统采样并经数字滤波后的数字量为CDH,求此时的温度值是多少?,求此时的温度值是多少?(设该仪表的量程是线设该仪表的量程是线性的性的)。解:根据式解:根据式(3-10)已知,已知,A0=200,Am=800,Nx=CDH=(205)D,Nm=FFH=(255)D。所以此时。所以此时的温度为的温度为=682第三章第三章 常用控制程序设计常用控制程序设计3.3.2 非线性式变换非线性式变换如果传感器的输出信号与被测参数之间呈如果传感器的输出信号与被测参数之间呈非线性关系非线性关系时,上面的线性变换式均不适用,需要建立新的标度时,上面的线性变换式均不适用,需要建立新的标度变换公式。由于非线性参数的变化规律各不相同,故变换公式。由于非线性参数的变化规律各不相同,故应根据不同的情况建立不同的非线性变换式,但前提应根据不同的情况建立不同的非线性变换式,但前提是它们的函数关系可用是它们的函数关系可用解析式解析式来表示。来表示。例如,在例如,在差压法测流量差压法测流量中,中,流量流量与与差压差压间的关系为间的关系为:(3-15)式中:式中:Q 流体流量流体流量;K 刻度系数刻度系数,与流体的性质及节流,与流体的性质及节流装置的尺寸有关;装置的尺寸有关;第三章第三章 常用控制程序设计常用控制程序设计 P节流装置前后的差压节流装置前后的差压。可见,流体的流量与被测流体流过节流装置前后产可见,流体的流量与被测流体流过节流装置前后产生的压力差的平方根成正比,于是得到测量流量时生的压力差的平方根成正比,于是得到测量流量时的标度变换公式为的标度变换公式为(3-16)式中:式中:Q0 差压流量仪表的下限值;差压流量仪表的下限值;Qm 差压流量仪表的上限值;差压流量仪表的上限值;Qx 被测液体的流量测量值;被测液体的流量测量值;第三章第三章 常用控制程序设计常用控制程序设计N0 差压流量仪表下限所对应的数字量;差压流量仪表下限所对应的数字量;Nm 差压流量仪表上限所对应的数字量;差压流量仪表上限所对应的数字量;Nx 差压流量仪表测得差压值所对应的数字量。差压流量仪表测得差压值所对应的数字量。对于流量仪表,一般下限皆为对于流量仪表,一般下限皆为0,即,即Q0=0,所以上式可简化为所以上式可简化为(3-17)若取流量表的下限对应的数字量若取流量表的下限对应的数字量N0=0,便可,便可进一步简化为:进一步简化为:(3-18)第三章第三章 常用控制程序设计常用控制程序设计式式(3-16)、(3-17)、(3-18)即为不同初始条件下的即为不同初始条件下的流流量量标度变换公式。与标度变换公式。与线性线性标度变换公式一样,由于标度变换公式一样,由于Qo、Qm、N0、Nm都是常数,故以上三式可分别都是常数,故以上三式可分别简化为编程用的标度变换子程序公式。简化为编程用的标度变换子程序公式。(3-19)其中其中(3-20)第三章第三章 常用控制程序设计常用控制程序设计其中其中(3-21)其中其中 第三章第三章 常用控制程序设计常用控制程序设计3.3.3 多项式变换多项式变换 还有些传感器的输出信号与被测参数之间虽为非线还有些传感器的输出信号与被测参数之间虽为非线性关系性关系,但它们的函数关系无法用一个解析式来表示,但它们的函数关系无法用一个解析式来表示,或者解析式过于复杂而难于直接计算。这时可以采用一或者解析式过于复杂而难于直接计算。这时可以采用一种既计算简便又能满足实际工程要求的近似表达式种既计算简便又能满足实际工程要求的近似表达式插值多项式插值多项式来进行标度变换。来进行标度变换。插值多项式是用一个插值多项式是用一个n次多项式来代替某种非线性函次多项式来代替某种非线性函数关系的方法。其插值原理是:被测参数数关系的方法。其插值原理是:被测参数y与传感器的输与传感器的输出值出值x具有的函数关系为具有的函数关系为y=f(x),只知道在,只知道在n+1个相异个相异点处的函数值为:点处的函数值为:f(x0)=y0,f(x1)=y1,f(xn)=yn。现构造一个。现构造一个n次多项式次多项式Pn(x)=anxn+an-1xn-1+a1x+a0 去逼近函数去逼近函数y=f(x),把,把y=f(x)中这中这n+1个相异点处的值作为插值代入个相异点处的值作为插值代入n次多项式次多项式Pn(x),便便可以获得可以获得n+1个一次方程组:个一次方程组:第三章第三章 常用控制程序设计常用控制程序设计anx0n+an-1 x0n-1+a1 x0+a0=y0anx1n+an-1 x1n-1+a1 x1+a0=y1 anx2n+an-1 x2n-1+a1 x2+a0=y2 anxnn+an-1 xnn-1+a1 xn+a0=yn 式中式中x0,x1,xn是已知的传感器的输出值,是已知的传感器的输出值,y0,y1,yn是被测参数,可以求出是被测参数,可以求出n+1个待定系数个待定系数a0、a1、,an,从而构造成功一个可代替这种函,从而构造成功一个可代替这种函数关系的可插值多项式数关系的可插值多项式Pn(x)。第三章第三章 常用控制程序设计常用控制程序设计下面用下面用热敏电阻热敏电阻测量温度的例子来说明这一过程。热测量温度的例子来说明这一过程。热敏电阻具有灵敏度高、价格低廉等特点,但是热敏电敏电阻具有灵敏度高、价格低廉等特点,但是热敏电阻的阻值与温度之间的关系是阻的阻值与温度之间的关系是非线性非线性的,而且只能以的,而且只能以表表的方式表示。现构造一个三阶多项式的方式表示。现构造一个三阶多项式P3(R)来逼近来逼近这种函数关系。这种函数关系。温度 t()阻值R(k)温度 t()阻值R(k)表表 7-1 热敏电阻的温度热敏电阻的温度-电阻特性电阻特性 10 8.0000 26 6.0606 11 7.8431 27 5.9701 12 7.6923 28 5.8823 13 7.5471 29 5.7970 14 7.4074 30 5.7142 15 7.2727 31 5.6337 16 7.1428 32 5.5554 17 7.0174 33 5.4793 18 6.8965 34 5.4053 19 6.7796 35 5.3332 20 6.6670 36 5.2630 21 6.