第八章__计算机控制系统应用软件设计_第1页
第八章__计算机控制系统应用软件设计_第2页
第八章__计算机控制系统应用软件设计_第3页
第八章__计算机控制系统应用软件设计_第4页
第八章__计算机控制系统应用软件设计_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第八章第八章 计算机控制系统应用软件设计计算机控制系统应用软件设计 第一节第一节 概述概述 第二节第二节 计算机控制系统的数据处理计算机控制系统的数据处理 第三节第三节 数字滤波数字滤波第一节第一节 概述概述一、计算机控制系统软件组成一、计算机控制系统软件组成 软件一般包括系统软件和应用软件两大部分。 系统软件由开发商提供,它包括监控管理程序,实时操作系统和各种语言的翻译程序,即汇编和编译程序,如8031的汇编程序、C51、Turbo C、Borland C、VB、VC语言的编译程序。系统软件不需用户自行设计,用户只需了解它的应用,将其作为一种工具进行编程及开发。 应用软件则是面向生产过程控制

2、,根据不同的应用场合由用户自行编制。这类程序面向不同的生产对象和控制要求,因此通用性差,必须由用户自行开发及编写。 应用程序大体分为以下几大类。 1控制算法程序 控制算法程序主要实现控制规律的计算,产生控制量。常用的控制算法有:数字PID控制算法、大林算法、Smith补偿控制算法、最少拍控制算法、串级控制算法、前馈控制算法、解耦控制算法、模糊控制算法、最优控制算法等。 2数据采集及处理程序 数据采集程序包括:用于检查是可靠输入数据还是故障数据的数据可靠性检查程序、A/D转换及采样程序、用于滤除干扰造成的错误数据或不宜使用的数据的数字滤波程序、用于对检测元件或变送器的非线性特性进行补偿的线性化处

3、理程序等。 3实时时钟和中断处理程序 实时时钟是计算机控制系统一切与时间有关的控制过程运行的基础。 计算机控制系统中有很多任务是按时间顺序安排的,这些任务的触发和撤消由系统时钟来控制,不用操作者直接干预。 许多实时任务,如采样周期、定时显示打印、定时数据处理等都必须利用实时时钟来实现,并由定时中断服务程序去执行相应的动作或处理动作状态标志等。另外,事故报警、掉电检测及处理、重要的事件处理等功能的实现常常使用中断技术,以便计算机能对事件做出及时处理。4数据管理程序 这部分程序用于生产管理,主要包括:画面显示、变化趋势分析、报警记录、统计报表打印输出等。 二、应用软件设计方法二、应用软件设计方法1

4、应用程序设计的几个特点(1)应用程序与硬件配置密切相关计算机控制系统中的应用软件,是针对某一具体控制问题而设计的。控制对象和控制要求不同,选用的硬件配置必然不一样。 (2)频繁的端口操作计算机控制系统过程通道的端口和计算机的I/O端口总是处于频繁工作状态。相应的软件设计必须保证I/O端口工作的实时性和可靠性。(3)实时性要求在控制任务较复杂时,程序的执行时间是控制系统应用软件设计必须顾及的一个问题。应特别注意采样周期、控制周期与中断周期在实时性方面能否满足要求。(4)软件可靠性与抗干扰能力要求 工业现场的环境一般比较复杂、干扰源比较多,并且控制系统的高可靠性又是必须的。因此,在计算机控制系统设

5、计过程中,除了考虑硬件抗干扰外,必须顾及软件抗干扰。2应用软件设计的基本步骤 (1)问题定义; (2)程序设计; (3)手编程序; (4)查错; (5)调试; (6)文件编制; (7)维护和再设计; 图8-1给出了应用软件设计的流程图,它描述了应用软件设计的基本任务和设计过程。否是是是问题定义程序设计文件编制手编程序开始调试结束有?错?否否查错有错?维护和再设计大错?图8-1应用软件设计的流程图 3应用程序设计方法(1)模块化程序设计 模块化程序设计的出发点是把一个复杂的程序,分解为若干个功能模块,每个模块执行单一的功能,并且具有单入口单出口结构,在分别进行独立设计、编程、查错和调试之后,最终

6、装配在一起,连接成完整的大程序。(2)结构化程序设计 结构化程序设计采用自顶向下逐步求精的设计方法和单入口单出口的控制结构。在总体设计阶段,采用自顶向下逐步求精的方法,可以把一个复杂问题的解法分解和细化成一个由许多模块组成的软件系统。在详细设计或编程阶段,采用自顶向下逐步求细的方法,可以把一个模块的功能逐步分解细化为一系列具体的处理步骤或某种高级语言的语句。 4应用软件的设计(1)控制软件的设计 对计算机控制系统来说,控制软件包括:实时管理软件和过程监视及控制算法计算软件两大部分。 实时管理软件是对整个控制系统进行管理用的程序,包括对应用控制程序的调度、I/O管理、中断管理、实时管理等,相当于

7、整个计算机控制系统的主程序。 过程监视及控制算法计算软件主要是根据采集的信息、输入的指令以及所设计的控制算法而编制的程序。主要包括:数据变换处理程序,控制指令生成程序,事故处理程序,信息管理程序。 典型计算机控制系统的控制软件流程如图8-3所示 。图8-3 典型计算机控制系统的控制软件流程图 (2)控制软件设计应注意的几个问题 尽量用符号表示地址、I/O设备、常数或数字参数,这样使程序的可读性增强,也给程序的修改和扩充带来方便。 避免使用容易混淆的字符,尤其是和助记符相近的字符尽量避免使用。 程序模块不宜过大,以方便于系统调试。尽量做到每一功能对应一个功能模块,在系统调试时可分模块调试软件和硬

8、件。 程序模块尽量通用,这样程序的可移植性强。 重视程序的易读性,尽量多加注释语句,这样的程序易读性好可维护性强,同时给后续程序编制带来方便。 第二节第二节 计算机控制系统的数据处理计算机控制系统的数据处理 一、线性化处理一、线性化处理 在数据采集与处理系统中,一般总希望系统的输出和输入呈简单的线性关系,这样当用仪表来检测和显示系统中的某个物理量时,能得到均匀的刻度,不仅读数看起来清楚方便,而且仪表在整个范围内灵敏度一致。但是在实际工程中,计算机从模拟量输入通道得到的现场信号与该信号所代表的被测物理量之间不一定是线性关系,经常存在着非线性关系。 为了保证这些参数能有线性输出,需要引入非线性补偿

9、,将输出信号与被测物理量之间的非线性补偿为线性关系,这种补偿过程称为线性化处理。 1.分段线性化 设传感器的输入输出特性曲线如图8-4所示。由图可知,输入x和输出y之间存在非线性关系y=f (x),当已知某一输入值x后,按简单的线性关系求出其对应的y值,会造成较大的误差。为此,可将该曲线按一定要求分成若干段,然后把相邻两点用直线连接起来(如图中虚线所示)。用连接成的直线段代替该曲线,即可求出任意输入值x所对应的输出值y。yy0yiyyi1yn0 x0 xixxi1xnx图8-4分段线性插值法 例如,设x在(xi,xi+1)区间内,则其对应的逼近值为: 11()()iiiiiiiiiyyyyxx

10、xxyyk xx式中, ,为第i段直线的斜率。11iiiiiyykxx 2.线性化处理的计算机实现步骤 (1)用实验法测量输入输出的非线性关系曲线y=f(x)。 (2)将测量得到的曲线进行分段,选择插值基点。分段方法要根据曲线的变化情况确定,使选取的基点更合理。分段方法主要有等距分段法和非等距分段法两种。 (3)确定并计算出各插值点的xi、yi值及两相邻插值点间拟合直线段的斜率ki,并在程序中以数据表的形式存放。 (4)通过查表找出x所在的区间,取出该段直线的斜率ki和基点值xi、yi。 (5)根据插值公式y=yi+ki(x-xi),计算出x点所对应的y值。 二、标度变换二、标度变换 生产过程

11、中的各种参数都有不同的量纲和数值变化范围,如电压的单位为V,电流的单位为A,温度的单位为,压力的单位为Pa等。这些参数经传感器和A/D转换后得到一个数字量,将数字量转换成带有物理量纲的数值这种转换称为标度变换。 1线性参数的标度变换 所谓线性参数,是指参数值与A/D转换结果之间为线性关系,线性标度变换是最常用的变换方法。变换公式如下:0000()xxmmNNYYYYNN 2非线性参数的标度变换 当传感器测出的数据与实际被测参数之间不是线性关系时,其标度变换公式应根据具体问题具体分析。首先应求出它们之间所对应的函数关系,如果这种函数关系可以用解析式来表示,就可以直接求出它所对应的标度变换公式来进

12、行计算。 例如,在流量测量中,从差压变送器来的信号P与实际流量G成平方根关系,即: GKP式中,K为刻度系数,与流体的性质及节流装置的尺寸有关。 三、查表法三、查表法 在计算机控制系统中,有些参数的计算是非常复杂的,用计算机计算不仅程序长,难于计算,而且需要耗费大量时间。还有一些非线性参数,它们不是用一般算术运算就可以计算出来,而是要涉及到指数、对数、三角函数、以及积分、微分等运算,所有这些运算用汇编语言编写程序都比较复杂。为了解决这些问题,可以采用查表法。查表法在计算机控制系统中应用非常广泛。 所谓查表法,就是把事先计算或测得的数据按一定顺序编制成表格,查表程序的任务就是根据被测参数的值或者

13、中间结果,查出最终所需要的结果。 查表是一种非数值计算方法,利用这种方法可以完成数据补偿、计算、转换等各种工作,它具有回避复杂数学运算和无规则数学运算等优点。 1顺序查表法 顺序查表法是针对无序排列表格的一种方法。即按照顺序从第一项开始逐项查找,直到找到所要查找的关键字为止。 2计算查表法 计算查表法通常用于要搜索的内容与表格的排列有一定关系的表格。使用这种查表法的关键在于找出一个计算表地址的公式,有了这样的公式进行查表,查表时间就与表的长度无关。 3对分查表法 对分查表法是一种在实际应用中常使用的方法。对于那些表格比较长,满足从大到小或从小到大的排列顺序,且难以用计算查表法进行查找的表格,可

14、以采用对分查表法。对于从小到大顺序来说,若元素大于中间值,则下一次取中间值至最大值区间的中间值进行比较,否则,取最小值至中间值区间的中间值进行比较。 第三节第三节 数字滤波数字滤波 所谓数字滤波,就是通过一定的计算程序减少干扰信号在有用信号中的比重。数字滤波克服了模拟滤波器的不足,它与模拟滤波器相比有以下几个优点: (1)由于数字滤波是用程序实现的,因而不需要增加硬件设备,很容易实现。同时,多个输入通道还可以共用一个滤波程序。 (2)由于数字滤波不需要硬件设备,因而可靠性高,稳定性好,各回路之间不存在阻抗匹配等问题。 (3)数字滤波可以对频率很低的信号实现滤波,而模拟滤波器在低频段滤波难以取得

15、好的滤波效果。 (4)通过改写数字滤波程序,可以实现不同的滤波方法或调整滤波参数,它比改变模拟滤波器的硬件方便得多。 一、程序判断滤波一、程序判断滤波 程序判断滤波的方法,便是根据实际经验,确定出相邻两次采样信号之间可能出现的最大偏差。若超过此偏差值,则表明该输入信号是干扰信号,应该去掉;如小于此偏差值,可将信号作为本次采样值。 1限幅滤波法 限幅滤波的作法是把两次相邻的采样值相减,求出其增量(以绝对值表示),然后与两次采样允许的最大差值(由被控对象的实际情况决定)Y进行比较。若小于或等于Y,则取本次采样值;若大于Y,则仍取上次采样值作为本次采样值,即: Y (k)-Y (k-1)Y,则Y (

16、k)=Y (k),取本次采样值; Y (k)-Y (k-1)Y,则Y (k)=Y (k-1),取上次采样值。 其中,Y (k)是第k次采样值;Y (k-1)是第(k-1)次采样值;Y是相邻两次采样值可能的最大偏差,其大小取决于采样周期T及Y值的动态响应。 2限速滤波法 限速滤波是用三次采样值来决定采样结果。其方法是,当Y (n)-Y (n-1)Y时,再采样一次,取得Y (n+1),然后根据Y (n+1)-Y (n)与Y的大小关系来决定本次采样值。具体判别式如下: 设顺序采样时刻tn-1,tn,tn+1所采集的参数分别为Y (n-1),Y (n),Y (n+1), 那么: 当Y (n)-Y (n

17、-1)Y时,取Y (n)输入计算机; 当Y (n)-Y (n-1)Y时,Y (n)不采用,但仍保留,继续采样取得Y (n+1); 当Y (n+1)-Y (n)Y时,取Y (n+1)输入计算机;当Y (n+1)-Y (n)Y时, 取Y (n)=Y (n)+Y (n+1)/2输入计算机。 限幅滤波法,主要用于变化比较缓慢的参数,如温度、液位等。使用时关键问题是最大允许误差Y的选取:Y太大,各种干扰信号将“乘机而入”,使系统误差增大;Y太小,又会使某些有用信号被“拒之门外”,使计算机采样效率变低。通常可根据经验数据获取,必要时,也可由实验得出。 限速滤波是一种折衷方法,既照顾了采样的实时性,又顾及了

18、采样值变化的连续性。但这种方法也有明显的缺点:第一是Y的确定不够灵活,必须根据现场的情况不断更换新值;第二是不能反应采样点数N3时各采样值受干扰情况。因此,它的应用受到一定的限制。 二、中值滤波二、中值滤波 这种滤波法是将被测参数连续采样N次(一般N取奇数),然后把采样值按大小顺序排列,再取中间值作为本次的采样值。 中值滤波对于去掉偶然因素引起的波动或采样器不稳定而造成的误差所引起的脉动干扰比较有效。若变量变化比较缓慢,采用中值滤波效果比较好,但对快速变化的参数,如流量,则不宜采用。 三、算术平均值滤波三、算术平均值滤波 这种方法就是在一个采样期内,对信号x的N次测量值进行算术平均,作为时刻k

19、的输出,即 NiixNkx11 其中N为采样次数,xi为第i次的采样值。显然,N越大,平滑度越高,但是灵敏度越低,N的值应视具体情况而定。一般流量信号取N=10,压力信号取N=5,温度、成份等缓慢变化的信号取N=2。 算术平均值法适用于一般的具有随机干扰信号的滤波。它特别适合于信号本身在某一数值范围附近作上下波动的情况,如流量、液位等信号的测量。 四、加权算术平均值滤波四、加权算术平均值滤波 算术平均值对于N次以内所有的采样值来说,所占的比例是相同的,亦即取每次采样值的1/N。有时为了提高滤波效果,将各采样值取不同的比例,然后再相加,此方法称为加权平均值法,即: 10NiiNixCkY110N

20、iiC其中 其中C0,C1,CN-1为各次采样值的系数,它体现了各次采样值在平均值中所占的比例。它可根据具体情况而定,通常采样次数愈靠后,取的比例越大。 五、移动算术平均值滤波五、移动算术平均值滤波 不管是算术平均值滤波,还是加权平均值滤波,都需连续采样N个数据,这种方法适合于有脉动干扰的场合。但是由于必须采样N次,需要时间较长,可能导致采样周期和控制周期过长。为了克服这一缺点,可采用滑动平均值滤波法,即在每个采样周期只采一次,在内存单元内依次存放N次采样值,每采进一个新数据,就将最早采集的那个数据丢掉,然后求包含新值在内的N个数据的算术平均值或加权平均值。 六、惯性滤波六、惯性滤波 对于慢速随机变化的参数,采用在短时间内连续采样求平均值的方法,其滤波效果不够好,在这种情况下,通常采用动态滤波方法,如一阶滞后滤波法,其表达式为 Yn=(1-)Xn+Yn-1 式中,Xn为第n次采样值;Yn-1为上次滤波输出值;Yn为第n次采样后的滤波输出值;为滤波平滑系数 T/(T+T); T为滤波环节的时间常数;T为采样周期。 通常,采样周期T远小于滤波环节的时间常数T,T和T的选择可根据具体情况确定,只要使被滤波的信号不产生明显的波纹即可。 惯性滤波也称为一阶滞后滤波,适用于波

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论