1、第八章第八章 计算机控制系统的应用软件设计计算机控制系统的应用软件设计 学习目标:学习目标:l了解计算机控制系统应用软件设计方法了解计算机控制系统应用软件设计方法l掌握常用的几种数字滤波方法掌握常用的几种数字滤波方法l掌握线性标度变换方法掌握线性标度变换方法l了解常用的工业组态软件了解常用的工业组态软件yyyy/M/d1 软件软件系统软件系统软件应用软件应用软件操作系统:操作系统:开发系统开发系统程序设计语言:程序设计语言:汇编、高级语言汇编、高级语言(VB、VC、C+、C#、Delphi)数据库管理系统:数据库管理系统:大型数据库大型数据库(DB2、Oracle、Sybase、Informi
2、x)Web数据库数据库桌面数据库桌面数据库(Excel、Access、SQL Server)实时数据库实时数据库(InfoPlus、PI、ONSPCE)工控软件平台工控软件平台(几十种):(几十种):如组态王如组态王 KingView、KingACT;InTouch、InControl;iFIX;Citcet;WinCC、Step7过程监视:过程监视:巡回检测巡回检测数据处理(有效性检验、数字滤波、标度变换、报警数据处理(有效性检验、数字滤波、标度变换、报警)过程分析过程分析人机界面人机界面过程控制:过程控制:开环开环/闭环控制(简单、复杂、先进控制)闭环控制(简单、复杂、先进控制)信息管理信
3、息管理Windows、Unix、Linux、OS/2yyyy/M/d2第一节第一节 应用程序设计概述应用程序设计概述一、应用程序设计的特点一、应用程序设计的特点 (1 1)应用程序与硬件配置密切相关。)应用程序与硬件配置密切相关。(2 2)频繁的端口操作。)频繁的端口操作。(3 3)实时性要求。)实时性要求。(4 4)软件可靠性与抗干扰能力要求。)软件可靠性与抗干扰能力要求。二、应用程序设计的基本步骤二、应用程序设计的基本步骤 计算机控制系统的应用程序设计通常分为:问题定义、计算机控制系统的应用程序设计通常分为:问题定义、程序设计、程序编写、程序调试、系统维护和再设计等步骤。程序设计、程序编写
4、、程序调试、系统维护和再设计等步骤。应用程序设计的流程图,描述了应用软件设计的基本应用程序设计的流程图,描述了应用软件设计的基本任务和设计过程。任务和设计过程。yyyy/M/d3三、应用程序设计的基本方法三、应用程序设计的基本方法1.模块化程序设计方法模块化程序设计方法 模块化程序设计的出发点是把一个复杂的程序,分解为若干个功能模块化程序设计的出发点是把一个复杂的程序,分解为若干个功能模块,每个模块执行单一的功能,并且具有单入口单出口结构,在分别进模块,每个模块执行单一的功能,并且具有单入口单出口结构,在分别进行独立设计、编程、查错和调试之后,最终装配在一起,连接成完整的大行独立设计、编程、查
5、错和调试之后,最终装配在一起,连接成完整的大程序。程序。2.结构化程序设计方法结构化程序设计方法 结构化程序设计采用自顶向下逐步求精的设计方法和单入口单出口结构化程序设计采用自顶向下逐步求精的设计方法和单入口单出口的控制结构。在总体设计阶段,采用自顶向下逐步求精的方法,可以把一的控制结构。在总体设计阶段,采用自顶向下逐步求精的方法,可以把一个复杂问题的解法分解和细化成一个由许多模块组成的软件系统。在详细个复杂问题的解法分解和细化成一个由许多模块组成的软件系统。在详细设计或编程阶段,采用自顶向下逐步求细的方法,可以把一个模块的功能设计或编程阶段,采用自顶向下逐步求细的方法,可以把一个模块的功能逐
6、步分解细化为一系列具体的处理步骤或某种高级语言的语句。逐步分解细化为一系列具体的处理步骤或某种高级语言的语句。yyyy/M/d4四、应用软件的设计四、应用软件的设计1.控制软件设计控制软件设计 对计算机控制系统来说,控制软件包括:实时管理软件和过程监视及对计算机控制系统来说,控制软件包括:实时管理软件和过程监视及控制算法计算软件两大部分。控制算法计算软件两大部分。实时管理软件是对整个控制系统进行管理用的程序,包括对应用控制实时管理软件是对整个控制系统进行管理用的程序,包括对应用控制程序的调度、程序的调度、I/OI/O管理、中断管理、实时管理等。相当于整个计算机控制管理、中断管理、实时管理等。相
7、当于整个计算机控制系统的主程序。系统的主程序。过程监视及控制算法计算软件主要是根据采集的信息、输入的指令以过程监视及控制算法计算软件主要是根据采集的信息、输入的指令以及所设计的控制算法而编制的程序。主要包括:数据变换处理程序,如数及所设计的控制算法而编制的程序。主要包括:数据变换处理程序,如数字滤波、单位换算、数据合理性检查、数据补偿校正等;控制指令生成程字滤波、单位换算、数据合理性检查、数据补偿校正等;控制指令生成程序,如控制算法计算、系统状态控制、控制指令输出等;事故处理程序,序,如控制算法计算、系统状态控制、控制指令输出等;事故处理程序,如超限报警、故障处理等;信息管理程序,如数据存储、
8、输出、打印、显如超限报警、故障处理等;信息管理程序,如数据存储、输出、打印、显示以及文件管理等。示以及文件管理等。yyyy/M/d5典型计算机控制系统的控制软件流程图典型计算机控制系统的控制软件流程图 yyyy/M/d62.控制软件设计应注意的几个问题控制软件设计应注意的几个问题 (1 1)尽量用符号表示地址、)尽量用符号表示地址、I/OI/O设备、常数或数字参数,设备、常数或数字参数,这样使程序的可读性增强,也给程序的修改和扩充带来方便。这样使程序的可读性增强,也给程序的修改和扩充带来方便。(2 2)避免使用容易混淆的字符,尤其是和助记符相近的)避免使用容易混淆的字符,尤其是和助记符相近的字
9、符尽量避免使用。字符尽量避免使用。(3 3)程序模块不宜过大,以方便于系统调试。尽量做到)程序模块不宜过大,以方便于系统调试。尽量做到每一功能对应一个功能模块,在系统调试时可分模块调试软每一功能对应一个功能模块,在系统调试时可分模块调试软件和硬件。件和硬件。(4 4)程序模块尽量通用,这样程序的可移植性强。)程序模块尽量通用,这样程序的可移植性强。(5 5)重视程序的易读性,尽量多加注释语句,这样的程)重视程序的易读性,尽量多加注释语句,这样的程序易读性好可维护性强,同时给后续程序编制带来方便。序易读性好可维护性强,同时给后续程序编制带来方便。yyyy/M/d7 数据处理从一般意义上说应包括三
10、方面内容数据处理从一般意义上说应包括三方面内容:(1 1)对传感器输出的信号进行放大、滤波、对传感器输出的信号进行放大、滤波、I/VI/V转换等处理,转换等处理,通常称为通常称为信号调理信号调理;(2 2)对采集到计算机中的信号数据进行进行一些处理,如)对采集到计算机中的信号数据进行进行一些处理,如进行系统误差校正、进行系统误差校正、数字滤波数字滤波,逻辑判断、,逻辑判断、标度变换标度变换等处理,等处理,通常称之为通常称之为一次处理一次处理;(3 3)对经过前两步得到的测量数据进行分析,寻找规律,)对经过前两步得到的测量数据进行分析,寻找规律,判断事物性质,生成所需要的判断事物性质,生成所需要
11、的控制信号控制信号,此称为,此称为二次处理二次处理。信号调理都是由硬件完成信号调理都是由硬件完成,而一次和二次处理一般由软件实,而一次和二次处理一般由软件实现。现。一、数据处理技术概述一、数据处理技术概述第二节第二节 计算机控制系统的数据处理计算机控制系统的数据处理yyyy/M/d8二、线性化处理二、线性化处理 在数据采集与处理系统中,一般总希望系统的输出和输在数据采集与处理系统中,一般总希望系统的输出和输入呈简单的线性关系,这样当用仪表来检测和显示系统中的某入呈简单的线性关系,这样当用仪表来检测和显示系统中的某个物理量时,能得到均匀的刻度,不仅读数看起来清楚方便,个物理量时,能得到均匀的刻度
12、,不仅读数看起来清楚方便,而且仪表在整个范围内灵敏度一致。而且仪表在整个范围内灵敏度一致。但是在实际工程中,计算机从模拟量输入通道得到的现场但是在实际工程中,计算机从模拟量输入通道得到的现场信号与该信号所代表的被测物理量之间不一定是线性关系信号与该信号所代表的被测物理量之间不一定是线性关系,经经常存在着非线性关系。常存在着非线性关系。为了保证这些参数能有线性输出,需要引入非线性补偿,为了保证这些参数能有线性输出,需要引入非线性补偿,将输出信号与被测物理量之间的非线性补偿为线性关系,这种将输出信号与被测物理量之间的非线性补偿为线性关系,这种补偿过程称为线性化处理。补偿过程称为线性化处理。yyyy
13、/M/d92022-8-6101.插值法插值法 如果非线性关系不能用数学公式精确表达,还可以根据如果非线性关系不能用数学公式精确表达,还可以根据线性插值原理进行线性化处理。线性插值原理进行线性化处理。假定变量假定变量y和自变量和自变量x的关系如图所示的关系如图所示已知非线性函数已知非线性函数y(x)上的两点上的两点A(x0,y0)、B(x1,y1),现在用直线,现在用直线AB代代替弧线替弧线AB,由此可得直线方程,由此可得直线方程baxxy)(根据插值条件,应满足:根据插值条件,应满足:baxybaxy1100解上面方程组,可求出直线方程的解上面方程组,可求出直线方程的参数参数a和和b。由此可
14、求出该直线方程的表达式为由此可求出该直线方程的表达式为00000101)()()()()(yxxKyxxxxyyxy式中,式中,K为直线的斜率。为直线的斜率。2022-8-611 由上图可以看出,插值点由上图可以看出,插值点A A和和B B之间的距离越小,之间的距离越小,y(x)y(x)与与y(x)y(x)之间的之间的误差越小。因此在实际应用中,为了提高精度,经常采用几条直线来代替误差越小。因此在实际应用中,为了提高精度,经常采用几条直线来代替曲线,此方法称为分段插值法。曲线,此方法称为分段插值法。分段插值法的基本思想是将被逼近的函数分段插值法的基本思想是将被逼近的函数(或测量结果或测量结果)
15、根据其变化情根据其变化情况分成几段,各段采用线性插值法来进行处理。况分成几段,各段采用线性插值法来进行处理。例如,设例如,设x在在(xi,xi+1)区间内,则其对应的逼近值为:区间内,则其对应的逼近值为:11()()iiiiiiiiiyyyyxxxxyyk xx11iiiiiyykxx 对于这种方法,只要对于这种方法,只要n取得足够大,即分段足够多,就可获得良好的非线取得足够大,即分段足够多,就可获得良好的非线性转换精度。性转换精度。2022-8-6122.查表法查表法 计算机控制系统中,有一些非线性参数不能用一般计算机控制系统中,有一些非线性参数不能用一般算术运算求出,有的还涉及到指数、对数
16、、三角函数以及积算术运算求出,有的还涉及到指数、对数、三角函数以及积分、微分等运算。要用程序实现这些计算,不仅程序长,而分、微分等运算。要用程序实现这些计算,不仅程序长,而且很费机时,影响系统的实时性。对于这种情况,可以将事且很费机时,影响系统的实时性。对于这种情况,可以将事先计算好的结果存放在数据表格中,然后通过查表的方式进先计算好的结果存放在数据表格中,然后通过查表的方式进行线性化处理。行线性化处理。所谓查表法,就是把事先计算或测得的数据按一定所谓查表法,就是把事先计算或测得的数据按一定顺序编制成表格,查表程序的任务就是根据被测参数的值或顺序编制成表格,查表程序的任务就是根据被测参数的值或
17、者中间结果,查出最终所需要的结果。查表是一种非数值计者中间结果,查出最终所需要的结果。查表是一种非数值计算方法,利用这种方法可以完成数据补偿、计算、转换等各算方法,利用这种方法可以完成数据补偿、计算、转换等各种工作,它具有回避复杂数学运算和无规则数学运算等优点。种工作,它具有回避复杂数学运算和无规则数学运算等优点。2022-8-613(1 1)顺序查表法)顺序查表法 顺序查表法是针对无序排列表格的一种方法。即按照顺序查表法是针对无序排列表格的一种方法。即按照顺序从第一项开始逐项查找,直到找到所要查找的关键字为顺序从第一项开始逐项查找,直到找到所要查找的关键字为止。顺序查表法虽然比较止。顺序查表
18、法虽然比较“笨笨”,但对无序表格或较短表格,但对无序表格或较短表格而言,仍是一种比较常用的方法。而言,仍是一种比较常用的方法。(2 2)计算查表法)计算查表法 计算查表法通常用于要搜索的内容与表格的排列有一计算查表法通常用于要搜索的内容与表格的排列有一定关系的表格。对于这种表格,为了提高查表速度,可以不定关系的表格。对于这种表格,为了提高查表速度,可以不采用从头至尾逐一进行比较的方法,只要根据所给的元素采用从头至尾逐一进行比较的方法,只要根据所给的元素xixi,通过一定的计算,求出元素通过一定的计算,求出元素xixi所对应的数值的地址,然后将所对应的数值的地址,然后将该地址单元的内容取出即可。
19、该地址单元的内容取出即可。2022-8-614(3 3)对分查表法对分查表法 对分查表法是一种在实际应用中常使用的方法。对对分查表法是一种在实际应用中常使用的方法。对于那些表格比较长,满足从大到小或从小到大的排列顺序,于那些表格比较长,满足从大到小或从小到大的排列顺序,且难以用计算查表法进行查找的表格,可以采用对分查表法。且难以用计算查表法进行查找的表格,可以采用对分查表法。对于从小到大顺序来说,若元素大于中间值,则下一次取中对于从小到大顺序来说,若元素大于中间值,则下一次取中间值至最大值区间的中间值进行比较,否则,取最小值至中间值至最大值区间的中间值进行比较,否则,取最小值至中间值区间的中间
20、值进行比较。如此下去,直到查找完为止。间值区间的中间值进行比较。如此下去,直到查找完为止。对分查表法的速度要比顺序查表法快很多倍,而且对表格的对分查表法的速度要比顺序查表法快很多倍,而且对表格的要求又不是很严格。要求又不是很严格。实际应用中,大多数表格都能满足从大到小或从小到实际应用中,大多数表格都能满足从大到小或从小到大的排列顺序。因此,这是一种快速而有效的方法。大的排列顺序。因此,这是一种快速而有效的方法。三、标度变换三、标度变换工程量变换工程量变换有量纲的过程参数有量纲的过程参数 ,如,如:温度温度t()t()、压力压力P P(PaPa)、)、流量流量F F(m m3 3/h/h).电信
21、号(电信号(mV、010mA、420mA、15V.)传感器、变送器传感器、变送器 A/D 采样采样无量纲的数字信号无量纲的数字信号DB数据处理数据处理DB工程量工程量(标度标度)变换变换还原成具有意义的量纲,才可显还原成具有意义的量纲,才可显示、打印,以便人机交互。示、打印,以便人机交互。DB、PaPa1.为何要进行工程量变换?为何要进行工程量变换?yyyy/M/d15A2.2.工程量变换公式工程量变换公式 (适用于线性传感器或经过线性化处理的参数(适用于线性传感器或经过线性化处理的参数 )例:某烟厂用计算机数据采集系统采集烟叶发酵室的温度变化情况,该室温度测量范围是2080,采用线性温度传感
22、元件测温并用 8 位A/D转换器进行转换,对应的输出为00HFFH。某一时刻,计算机采集到的数字量为0B7H,计算所对应的温度t的大小。yyyy/M/d16解:由已知条件得:Ymax=80、Ymin=20、Nmax=FFH=255、Nx=0B7H=183、Nmin=0;因Yx=Ymin+(Ymax-Ymin)*(Nx-Nmin)/(Nmax-Nmin)则:Yx=20+(80-20)*183/255=63.06。第三节第三节 数字滤波数字滤波一、数字滤波的定义一、数字滤波的定义 为了减少对采样值的干扰,提高系统的性能,为了减少对采样值的干扰,提高系统的性能,一般在进行数据处理之前先要对采样值进行
23、数字滤波。一般在进行数据处理之前先要对采样值进行数字滤波。所谓数字滤波,就是通过一定的计算程序减少所谓数字滤波,就是通过一定的计算程序减少干扰信号在有用信号中的比重。干扰信号在有用信号中的比重。利用程序实现的滤波。只需根据滤波算法编制相利用程序实现的滤波。只需根据滤波算法编制相应的程序即可达到目的。应的程序即可达到目的。yyyy/M/d17二、数字滤波的优点二、数字滤波的优点 (1)(1)由于数字滤波是用程序实现的,因而不需要增加硬件由于数字滤波是用程序实现的,因而不需要增加硬件设备,很设备,很容易实现容易实现。同时,多个输入通道还可以共用一个滤。同时,多个输入通道还可以共用一个滤波程序。波程
24、序。(2)(2)由于数字滤波不需要硬件设备,因而由于数字滤波不需要硬件设备,因而可靠性高可靠性高,稳定稳定性好性好,各回路之间不存在阻抗匹配等问题。,各回路之间不存在阻抗匹配等问题。(3)(3)数字滤波可以数字滤波可以对频率很低的信号实现滤波对频率很低的信号实现滤波,克服了模,克服了模拟滤波器的缺陷。拟滤波器的缺陷。(4)(4)通过改写数字滤波程序,可以通过改写数字滤波程序,可以实现不同的滤波方法或实现不同的滤波方法或调整滤波参数调整滤波参数,它比改变模拟滤波器的硬件方便得多。,它比改变模拟滤波器的硬件方便得多。yyyy/M/d182022-8-619(1 1)算术平均值滤波)算术平均值滤波
25、在一个采样周期内,对被测信号在一个采样周期内,对被测信号x x的的N N次采样值进行算术平均,作次采样值进行算术平均,作为采样时刻为采样时刻k k的有效采样值。的有效采样值。NiixNkx11 N N值决定了信号平滑度和灵敏度。随着值决定了信号平滑度和灵敏度。随着N N的增大,平滑度提高,灵的增大,平滑度提高,灵敏度降低。应视具体情况选取敏度降低。应视具体情况选取N N,以便得到满意的滤波效果。,以便得到满意的滤波效果。算术平均值滤波主要用于对压力、流量等算术平均值滤波主要用于对压力、流量等周期性脉动周期性脉动的采样值进的采样值进行平滑加工,但行平滑加工,但对偶然出现的脉冲性干扰的平滑作用尚不
26、理想对偶然出现的脉冲性干扰的平滑作用尚不理想,因而,因而它不适用于脉冲性干扰比较严重的场合。它不适用于脉冲性干扰比较严重的场合。1.1.平均值滤波平均值滤波 三、几种常用的数字滤波方法三、几种常用的数字滤波方法 20例:某压力仪表采样数据如下:例:某压力仪表采样数据如下:1234567891024252027246024252623序序 号号采样值采样值采样数据明显存在采样数据明显存在被干扰被干扰现象(彩色数据)。现象(彩色数据)。采用算术平均值滤波后,其采样值为:采用算术平均值滤波后,其采样值为:Y=(24+25+20+27+24+60+24+25+26+23)/10=28干扰被平均到采样值
27、中去了干扰被平均到采样值中去了 yyyy/M/d(3 3)平均值滤波法一般适用于具有周期性干扰噪声的信号,)平均值滤波法一般适用于具有周期性干扰噪声的信号,但对但对偶然出现的脉冲干扰信号偶然出现的脉冲干扰信号,滤波效果尚不理想。,滤波效果尚不理想。特点:特点:(1 1)N N值决定了信号平滑度和灵敏度。随着值决定了信号平滑度和灵敏度。随着N N的增大,平滑的增大,平滑度提高,灵敏度降低。应该视具体情况选择度提高,灵敏度降低。应该视具体情况选择N N,以便得到满,以便得到满意的滤波效果。意的滤波效果。(2 2)对每次采样值给出相同的加权系数,即)对每次采样值给出相同的加权系数,即1/N1/N。在
28、不同采。在不同采样时刻采集数据受到同样重视。实际上某些场合需要增加新样时刻采集数据受到同样重视。实际上某些场合需要增加新采样值在平均值中的比重,可采用加权平均值滤波法。滤波采样值在平均值中的比重,可采用加权平均值滤波法。滤波公式为:公式为:Y=RY=R0 0Y Y0 0+R+R1 1Y Y1 1+R+R2 2Y Y2 2+RmYmRmYm。yyyy/M/d212022-8-622(2 2)加权算术平均值滤波)加权算术平均值滤波 有时为了提高滤波效果,将各次采样值取不同的比重,然后再相有时为了提高滤波效果,将各次采样值取不同的比重,然后再相加,此方法称为加权平均值法。加,此方法称为加权平均值法。
29、其中其中C0C0,C1C1,CN-1CN-1为各次采样值的系数,它体现了各次采样为各次采样值的系数,它体现了各次采样值在平均值中所占的比重。它可根据具体情况而定,一般采样次数愈值在平均值中所占的比重。它可根据具体情况而定,一般采样次数愈靠后,取的比例愈大,这样可增加新的采样值在平均值中的比重。这靠后,取的比例愈大,这样可增加新的采样值在平均值中的比重。这种滤波方法适用于纯滞后较大的被控对象。种滤波方法适用于纯滞后较大的被控对象。10NiiNixCkY其中:其中:110NiiC2022-8-623(3 3)滑动算术平均值滤波)滑动算术平均值滤波 把把N N个采样数据看成一个队列,队列的长度固定为
30、个采样数据看成一个队列,队列的长度固定为N N,每进行一次,每进行一次新的采样,就把新采样值放入队尾,而去掉原来队首的一个数据,这新的采样,就把新采样值放入队尾,而去掉原来队首的一个数据,这样在队列中始终有样在队列中始终有N N个个“最新最新”的数据,然后把队列中的的数据,然后把队列中的N N个数据再进个数据再进行算术平均运算,就可获得最新的滤波结果。行算术平均运算,就可获得最新的滤波结果。滑动平均值滤波滑动平均值滤波对周期性干扰有良好的抑制作用对周期性干扰有良好的抑制作用,平滑度高,灵平滑度高,灵敏度低敏度低;但;但对偶然出现的脉冲性干扰的抑制作用差对偶然出现的脉冲性干扰的抑制作用差,不易消
31、除由于脉,不易消除由于脉冲干扰引起的采样值的偏差,因此它冲干扰引起的采样值的偏差,因此它不适用于脉冲干扰比较严重的场不适用于脉冲干扰比较严重的场合合,而适用于高频振荡系统。,而适用于高频振荡系统。中位值滤波法的原中位值滤波法的原理是对被测参数连续采样理是对被测参数连续采样m m次次(m3)(m3)且是奇数,并按大且是奇数,并按大小顺序排列;再小顺序排列;再取中间值取中间值作作为本次采样的有效数据。为本次采样的有效数据。2.2.中值滤波法中值滤波法 特点特点:中位值滤波法对脉冲干扰信号等中位值滤波法对脉冲干扰信号等偶然因素引发的干扰有良好的滤波效偶然因素引发的干扰有良好的滤波效果果。如对温度、液
32、位等变化缓慢的被测参数采用此法会收到良好的滤波效果;如对温度、液位等变化缓慢的被测参数采用此法会收到良好的滤波效果;对流量、速度等快速变化的参数一般不宜采用中位值滤波法。对流量、速度等快速变化的参数一般不宜采用中位值滤波法。yyyy/M/d242022-8-625(1 1)限幅滤波法)限幅滤波法 Y(k)-Y(k-1)Y(k)-Y(k-1)YY,则,则Y(k)=Y(k)Y(k)=Y(k),取本次采样值;,取本次采样值;Y(k)-Y(k-1)Y(k)-Y(k-1)YY,则,则Y(k)=Y(k-1)Y(k)=Y(k-1),取上次采样值。,取上次采样值。其中,其中,Y(k)Y(k)是第是第k k次采
33、样值;次采样值;Y(k-1)Y(k-1)是第是第(k-1)(k-1)次采样值;次采样值;YY是相邻是相邻两次采样值可能的最大偏差,其大小取决于采样周期两次采样值可能的最大偏差,其大小取决于采样周期T T及及Y Y值的动态响值的动态响应。应。限幅滤波法限幅滤波法主要用于变化比较缓慢的参数主要用于变化比较缓慢的参数,如温度、液位等。使用时,如温度、液位等。使用时关键问题是最大允许误差关键问题是最大允许误差YY的选取:的选取:YY太大,各种干扰信号将太大,各种干扰信号将“乘机而乘机而入入”,使系统误差增大;,使系统误差增大;YY太小,又会使某些有用信号被太小,又会使某些有用信号被“拒之门外拒之门外”
34、,使计算机采样效率变低。通常可根据经验数据获取,必要时,也可由实验使计算机采样效率变低。通常可根据经验数据获取,必要时,也可由实验得出。得出。3.3.程序判断滤波程序判断滤波2022-8-626(2 2)限速滤波法)限速滤波法 当当Y(k)-Y(k-1)Y(k)-Y(k-1)Y Y时,取时,取Y(k)Y(k)输入计算机;输入计算机;当当Y(k)-Y(k-1)Y(k)-Y(k-1)Y Y时,时,Y(k)Y(k)不采用,但仍保留,继续采不采用,但仍保留,继续采样取得样取得Y(k+1)Y(k+1);当当Y(k+1)-Y(k)Y(k+1)-Y(k)Y Y时,取时,取Y(k+1)Y(k+1)输入计算机;
35、输入计算机;当当Y(k+1)-Y(k)Y(k+1)-Y(k)Y Y时,取时,取Y(k)=Y(Y(k)=Y(k)+Yk)+Y(k+1)/2(k+1)/2输入输入计算机。计算机。限速滤波是一种折衷方法,既照顾了采样的实时性,又顾及了采限速滤波是一种折衷方法,既照顾了采样的实时性,又顾及了采样值变化的连续性。但这种方法也有明显的缺点:第一是样值变化的连续性。但这种方法也有明显的缺点:第一是YY的确定不的确定不够灵活,必须根据现场的情况不断更换新值;第二是不能反映采样点够灵活,必须根据现场的情况不断更换新值;第二是不能反映采样点数数N N3 3时各采样值受干扰情况。因此,它的应用受到一定的限制。时各采
36、样值受干扰情况。因此,它的应用受到一定的限制。程序判断法程序判断法对偶然脉冲干扰信号有良好的滤波效果对偶然脉冲干扰信号有良好的滤波效果,适用于如大功率,适用于如大功率用电设备的启动或停止,造成电流的尖峰干扰或误检测,以及变送器不稳用电设备的启动或停止,造成电流的尖峰干扰或误检测,以及变送器不稳定而引起的严重失真,使得采样数据偏离实际值太远的场合。定而引起的严重失真,使得采样数据偏离实际值太远的场合。yyyy/M/d27 4.4.一阶惯性滤波一阶惯性滤波 仿照模拟系统仿照模拟系统RCRC低通滤波器的方法,将普通硬件低通滤波器的方法,将普通硬件RCRC低通滤波器的微分低通滤波器的微分方程用差分方程
37、来表示,便可以用软件来模拟硬件滤波器的功能。方程用差分方程来表示,便可以用软件来模拟硬件滤波器的功能。11)()()(sTsXsYsG离散化后,有离散化后,有 Yn=(1-)Xn+Yn-1 式中,式中,Xn为第为第n次采样值;次采样值;Yn-1为上次滤波输出值;为上次滤波输出值;Yn为第为第n次采样后的滤波输次采样后的滤波输出值;出值;为滤波平滑系数,为滤波平滑系数,T/(T+T);T为滤波环节的时间常数;为滤波环节的时间常数;T为采样周为采样周期。期。一阶低通滤波方法能一阶低通滤波方法能很好地消除周期性干扰很好地消除周期性干扰,适用于波动频繁的被测,适用于波动频繁的被测参数滤波,但对于频率高
38、于采样频率二分之一的干扰信号无法滤除。参数滤波,但对于频率高于采样频率二分之一的干扰信号无法滤除。yyyy/M/d28 前面介绍的算术平均值滤波法和中值滤波法各有优前面介绍的算术平均值滤波法和中值滤波法各有优缺点,前者不易消除由于脉冲干扰而引起的采样值偏缺点,前者不易消除由于脉冲干扰而引起的采样值偏差,而后者由于采样点数的限制,其应用范围缩小。差,而后者由于采样点数的限制,其应用范围缩小。但将二者结合,即可取长补短,即先用中值滤波原理但将二者结合,即可取长补短,即先用中值滤波原理滤除由于脉冲引起的干扰,再把剩下的采样值进行算滤除由于脉冲引起的干扰,再把剩下的采样值进行算术平均,以得出术平均,以
39、得出防脉冲干扰平均值法防脉冲干扰平均值法。其原理可用下式表示:其原理可用下式表示:若若x x1 1x x2 2x xNN(3(3NN14)14),则则 Y Y=(=(x x2 2+x x3 3+x xNN-1-1)/()/(NN-2)-2)5.5.复合滤波复合滤波yyyy/M/d29 一般来说,对于一般来说,对于变化缓慢的参数变化缓慢的参数(如温度如温度),可选用,可选用程序判断滤波和一阶惯性滤波;程序判断滤波和一阶惯性滤波;而对而对变化较快的信号变化较快的信号(如压力、流量等如压力、流量等),则可选用算,则可选用算术平均值滤波;术平均值滤波;对对要求较高的系统可选用复合滤波要求较高的系统可选
40、用复合滤波。如果不适当地应用数字滤波如果不适当地应用数字滤波(例如把真实的参数波动例如把真实的参数波动也滤掉了也滤掉了),反而会降低控制效果,以致适得其反。,反而会降低控制效果,以致适得其反。数字滤波方法的总结数字滤波方法的总结 如果同时采用几种滤波方法,一般先用如果同时采用几种滤波方法,一般先用中位值滤波中位值滤波或或限幅滤波限幅滤波,然后再用平均值滤波法然后再用平均值滤波法。如果应用不恰。如果应用不恰当,非但达不到滤波效果,反而会降低控制品质。当,非但达不到滤波效果,反而会降低控制品质。yyyy/M/d302022-8-631第四节第四节 工业组态软件技术简介工业组态软件技术简介 组态软件
41、,又称组态监控软件,译自英文组态软件,又称组态监控软件,译自英文SCADASCADA,即,即Supervisory Control and Data AcquisitionSupervisory Control and Data Acquisition(数据采集与(数据采集与监视控制)。它是指一些数据采集与过程控制的专用软件。监视控制)。它是指一些数据采集与过程控制的专用软件。它们处在自动控制系统监控层一级的软件平台和开发环境,它们处在自动控制系统监控层一级的软件平台和开发环境,使用灵活的组态方式,为用户提供快速构建工业自动控制系使用灵活的组态方式,为用户提供快速构建工业自动控制系统监控功能的
42、、通用层次的软件工具。统监控功能的、通用层次的软件工具。2022-8-632 组态软件是由系统开发环境和系统运行环境两大部分构成。组态软件是由系统开发环境和系统运行环境两大部分构成。(1 1)系统开发环境)系统开发环境 系统开发环境是自动化工程设计工程师为实施其控制方系统开发环境是自动化工程设计工程师为实施其控制方案,在组态软件的支持下进行应用程序的系统生成工作所必案,在组态软件的支持下进行应用程序的系统生成工作所必须依赖的工作环境。通过建立一系列用户数据文件,生成最须依赖的工作环境。通过建立一系列用户数据文件,生成最终的图形目标应用系统,供系统运行环境运行时使用。系统终的图形目标应用系统,供
43、系统运行环境运行时使用。系统开发环境由若干个组态程序组成,如图形界面组态程序、实开发环境由若干个组态程序组成,如图形界面组态程序、实时数据库组态程序等。时数据库组态程序等。1 1.组态软件的基本组成组态软件的基本组成一、工业组态软件的概述一、工业组态软件的概述2022-8-633 (2 2)系统运行环境)系统运行环境 在系统运行环境下,目标应用程序被装入计算机内在系统运行环境下,目标应用程序被装入计算机内存并投入实时运行。系统运行环境由若干个运行程序组成,存并投入实时运行。系统运行环境由若干个运行程序组成,如图形界面运行程序、实时数据库运行程序等。组态软件支如图形界面运行程序、实时数据库运行程
44、序等。组态软件支持在线组态技术,即在不退出系统运行环境的情况下可以直持在线组态技术,即在不退出系统运行环境的情况下可以直接进入组态环境并修改组态,使修改后的组态直接生效。接进入组态环境并修改组态,使修改后的组态直接生效。自动化工程设计工程师最先接触的一定是系统开发环自动化工程设计工程师最先接触的一定是系统开发环境,通过一定工作量的系统组态和调试,最终将目标应用程境,通过一定工作量的系统组态和调试,最终将目标应用程序在系统运行环境投入实时运行,完成一个工程项目。序在系统运行环境投入实时运行,完成一个工程项目。2022-8-634 (1 1)应用程序管理器)应用程序管理器 应用程序管理器是提供应用
45、程序的搜索、备份、解压缩、应用程序管理器是提供应用程序的搜索、备份、解压缩、建立新应用等功能的专用管理工具。在自动化工程设计工程建立新应用等功能的专用管理工具。在自动化工程设计工程师应用组态软件进行工程设计时,经常会遇到下面一些烦恼:师应用组态软件进行工程设计时,经常会遇到下面一些烦恼:经常要进行组态数据的备份;经常需要引用以往成功应用项经常要进行组态数据的备份;经常需要引用以往成功应用项目中的部分组态成果(如画面);经常需要迅速了解计算机目中的部分组态成果(如画面);经常需要迅速了解计算机中保存了哪些应用项目。虽然这些要求可以用手工方式实现,中保存了哪些应用项目。虽然这些要求可以用手工方式实
46、现,但效率低下、极易出错。有了应用程序管理器的支持,这些但效率低下、极易出错。有了应用程序管理器的支持,这些操作将变得非常简单。操作将变得非常简单。2.2.组态软件必备的典型组件组态软件必备的典型组件2022-8-635 (2 2)图形界面开发程序)图形界面开发程序 图形界面开发程序是自动化工程设计工程师为实施其控图形界面开发程序是自动化工程设计工程师为实施其控制方案,在图形编辑工具的支持下进行图形系统生成工作所制方案,在图形编辑工具的支持下进行图形系统生成工作所依赖的开发环境。通过建立一系列用户数据文件,生成最终依赖的开发环境。通过建立一系列用户数据文件,生成最终的图形目标应用系统,供图形运
47、行环境运行时使用。的图形目标应用系统,供图形运行环境运行时使用。(3 3)图形界面运行程序)图形界面运行程序 在系统运行环境下,图形目标应用系统被图形界面运行在系统运行环境下,图形目标应用系统被图形界面运行程序装入计算机内存并投入实时运行。程序装入计算机内存并投入实时运行。(4 4)实时数据库系统组态程序)实时数据库系统组态程序实时数据库系统组态程序是建立实时数据库的组态工具,实时数据库系统组态程序是建立实时数据库的组态工具,可以定义实时数据库的结构、数据来源、数据连接、数据类可以定义实时数据库的结构、数据来源、数据连接、数据类型及相关的各种参数。型及相关的各种参数。2022-8-636 (5
48、 5)实时数据库系统运行程序)实时数据库系统运行程序 在系统运行环境下,目标实时数据库及其应用系统被实在系统运行环境下,目标实时数据库及其应用系统被实时数据库系统运行程序装入计算机内存并执行预定的各种数时数据库系统运行程序装入计算机内存并执行预定的各种数据计算、数据处理任务。历史数据的查询、检索、报警的管据计算、数据处理任务。历史数据的查询、检索、报警的管理都是在实时数据库系统运行程序中完成的。理都是在实时数据库系统运行程序中完成的。(6 6)I/OI/O驱动程序驱动程序 I/OI/O驱动程序是组态软件中必不可少的组成部分,用于和驱动程序是组态软件中必不可少的组成部分,用于和I/OI/O设备通
49、讯,互相交换数据,设备通讯,互相交换数据,DDEDDE和和OPC ClientOPC Client是两个通用是两个通用的标准的标准I/OI/O驱动程序,用来和支持驱动程序,用来和支持DDEDDE标准和标准和OPCOPC标准的标准的I/OI/O设设备通讯。多数组态软件的备通讯。多数组态软件的DDEDDE驱动程序被整合在实时数据库系驱动程序被整合在实时数据库系统或图形系统中,而统或图形系统中,而OPC ClientOPC Client则多数单独存在。则多数单独存在。2022-8-6373.3.组态软件开发工程的一般步骤组态软件开发工程的一般步骤 (1 1)工程项目系统分析。)工程项目系统分析。首先
50、要了解控制系统的构成首先要了解控制系统的构成和工艺流程,弄清楚被控对象的特征,明确技术要求。然后和工艺流程,弄清楚被控对象的特征,明确技术要求。然后在此基础上进行工程的整体规划,包括系统应实现哪些功能,在此基础上进行工程的整体规划,包括系统应实现哪些功能,控制流程如何,需要什么样的用户窗口界面,实现何种动画控制流程如何,需要什么样的用户窗口界面,实现何种动画效果以及如何在实时数据库中定义数据变量。效果以及如何在实时数据库中定义数据变量。(2 2)将所有)将所有I/OI/O点的参数收集齐全,点的参数收集齐全,并填写表格,以备并填写表格,以备在监控组态软件和在监控组态软件和PLCPLC上组态时使用