您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 电气安装工程 > 计算机控制系统 第八章 计算机控制系统应用软件设计
第八章计算机控制系统应用软件设计•第一节概述•第二节计算机控制系统的数据处理•第三节数字滤波第一节概述一、计算机控制系统软件组成软件一般包括系统软件和应用软件两大部分。系统软件由开发商提供,它包括监控管理程序,实时操作系统和各种语言的翻译程序,即汇编和编译程序,如8031的汇编程序、C51、TurboC、BorlandC、VB、VC语言的编译程序。系统软件不需用户自行设计,用户只需了解它的应用,将其作为一种工具进行编程及开发。应用软件则是面向生产过程控制,根据不同的应用场合由用户自行编制。这类程序面向不同的生产对象和控制要求,因此通用性差,必须由用户自行开发及编写。•应用程序大体分为以下几大类。1.控制算法程序控制算法程序主要实现控制规律的计算,产生控制量。常用的控制算法有:数字PID控制算法、大林算法、Smith补偿控制算法、最少拍控制算法、串级控制算法、前馈控制算法、解耦控制算法、模糊控制算法、最优控制算法等。2.数据采集及处理程序数据采集程序包括:用于检查是可靠输入数据还是故障数据的数据可靠性检查程序、A/D转换及采样程序、用于滤除干扰造成的错误数据或不宜使用的数据的数字滤波程序、用于对检测元件或变送器的非线性特性进行补偿的线性化处理程序等。3.实时时钟和中断处理程序实时时钟是计算机控制系统一切与时间有关的控制过程运行的基础。计算机控制系统中有很多任务是按时间顺序安排的,这些任务的触发和撤消由系统时钟来控制,不用操作者直接干预。许多实时任务,如采样周期、定时显示打印、定时数据处理等都必须利用实时时钟来实现,并由定时中断服务程序去执行相应的动作或处理动作状态标志等。另外,事故报警、掉电检测及处理、重要的事件处理等功能的实现常常使用中断技术,以便计算机能对事件做出及时处理。4.数据管理程序这部分程序用于生产管理,主要包括:画面显示、变化趋势分析、报警记录、统计报表打印输出等。二、应用软件设计方法1.应用程序设计的几个特点(1)应用程序与硬件配置密切相关计算机控制系统中的应用软件,是针对某一具体控制问题而设计的。控制对象和控制要求不同,选用的硬件配置必然不一样。(2)频繁的端口操作计算机控制系统过程通道的端口和计算机的I/O端口总是处于频繁工作状态。相应的软件设计必须保证I/O端口工作的实时性和可靠性。(3)实时性要求在控制任务较复杂时,程序的执行时间是控制系统应用软件设计必须顾及的一个问题。应特别注意采样周期、控制周期与中断周期在实时性方面能否满足要求。(4)软件可靠性与抗干扰能力要求工业现场的环境一般比较复杂、干扰源比较多,并且控制系统的高可靠性又是必须的。因此,在计算机控制系统设计过程中,除了考虑硬件抗干扰外,必须顾及软件抗干扰。2.应用软件设计的基本步骤(1)问题定义;(2)程序设计;(3)手编程序;(4)查错;(5)调试;(6)文件编制;(7)维护和再设计;图8-1给出了应用软件设计的流程图,它描述了应用软件设计的基本任务和设计过程。否是是是问题定义程序设计文件编制手编程序开始调试结束有?错?否否查错有错?维护和再设计大错?图8-1应用软件设计的流程图3.应用程序设计方法(1)模块化程序设计模块化程序设计的出发点是把一个复杂的程序,分解为若干个功能模块,每个模块执行单一的功能,并且具有单入口单出口结构,在分别进行独立设计、编程、查错和调(2)结构化程序设计结构化程序设计采用自顶向下逐步求精的设计方法和单入口单出口的控制结构。在总体设计阶段,采用自顶向下逐步求精的方法,可以把一个复杂问题的解法分解和细化成一个由许多模块组成的软件系统。在详细设计或编程阶段,采用自顶向下逐步求细的方法,可以把一个模块的功能逐步分解细化为一系列具体的处理步骤或某种高级语言的语句。4.应用软件的设计(1)控制软件的设计对计算机控制系统来说,控制软件包括:实时管理软件和过程监视及控制算法计算软件两大部分。实时管理软件是对整个控制系统进行管理用的程序,包括对应用控制程序的调度、I/O管理、中断管理、实时管理等,相当于整个计算机控制系统的主程序。过程监视及控制算法计算软件主要是根据采集的信息、输入的指令以及所设计的控制算法而编制的程序。主要包括:数据变换处理程序,控制指令生成程序,事故处理程序,信息管理程序。典型计算机控制系统的控制软件流程如图8-3所示。图8-3典型计算机控制系统的控制软件流程图(2)控制软件设计应注意的几个问题①尽量用符号表示地址、I/O设备、常数或数字参数,这样使程序的可读性增强,也给程序的修改和扩充带来方便。②避免使用容易混淆的字符,尤其是和助记符相近的字符尽量避免使用。③程序模块不宜过大,以方便于系统调试。尽量做到每一功能对应一个功能模块,在系统调试时可分模块调试软件和硬件。④程序模块尽量通用,这样程序的可移植性强。⑤重视程序的易读性,尽量多加注释语句,这样的程序易读性好可维护性强,同时给后续程序编制带来方便。第二节计算机控制系统的数据处理一、线性化处理在数据采集与处理系统中,一般总希望系统的输出和输入呈简单的线性关系,这样当用仪表来检测和显示系统中的某个物理量时,能得到均匀的刻度,不仅读数看起来清楚方便,而且仪表在整个范围内灵敏度一致。但是在实际工程中,计算机从模拟量输入通道得到的现场信号与该信号所代表的被测物理量之间不一定是线性关系,经常存在着非线性关系。为了保证这些参数能有线性输出,需要引入非线性补偿,将输出信号与被测物理量之间的非线性补偿为线性关系,这种补偿过程称为线性化处理。1.分段线性化设传感器的输入输出特性曲线如图8-4所示。由图可知,输入x和输出y之间存在非线性关系y=f(x),当已知某一输入值x后,按简单的线性关系求出其对应的y值,会造成较大的误差。为此,可将该曲线按一定要求分成若干段,然后把相邻两点用直线连接起来(如图中虚线所示)。用连接成的直线段代替该曲线,即可求出任意输入值x所对应的输出值y。yy0yiyyi+1yn0x0xixxi+1xnx图8-4分段线性插值法例如,设x在(xi,xi+1)区间内,则其对应的逼近值为:11()()iiiiiiiiiyyyyxxxxyykxx式中,,为第i段直线的斜率。11iiiiiyykxx2.线性化处理的计算机实现步骤(1)用实验法测量输入输出的非线性关系曲线y=f(x)。(2)将测量得到的曲线进行分段,选择插值基点。分段方法要根据曲线的变化情况确定,使选取的基点更合理。分段方法主要有等距分段法和非等距分段法两种。(3)确定并计算出各插值点的xi、yi值及两相邻插值点间拟合直线段的斜率ki,并在程序中以数据表的形式存放。(4)通过查表找出x所在的区间,取出该段直线的斜率ki和基点值xi、yi。(5)根据插值公式y=yi+ki(x-xi),计算出x点所对应的y值。二、标度变换生产过程中的各种参数都有不同的量纲和数值变化范围,如电压的单位为V,电流的单位为A,温度的单位为℃,压力的单位为Pa等。这些参数经传感器和A/D转换后得到一个数字量,该数字量仅表示一个代表参数大小的数值,并不一定等于原来带有物理量纲的参数值,故需将其转换成带有物理量纲的数值后才能进行显示或打印输出,这种转换称为标度变换。1.线性参数的标度变换所谓线性参数,是指参数值与A/D转换结果之间为线性关系,线性标度变换是最常用的变换方法。变换公式如下:0000()xxmmNNYYYYNN2.非线性参数的标度变换当传感器测出的数据与实际被测参数之间不是线性关系时,其标度变换公式应根据具体问题具体分析。首先应求出它们之间所对应的函数关系,如果这种函数关系可以用解析式来表示,就可以直接求出它所对应的标度变换公式来进行计算。例如,在流量测量中,从差压变送器来的信号ΔP与实际流量G成平方根关系,即:GKP式中,K为刻度系数,与流体的性质及节流装置的尺寸有关。三、查表法在计算机控制系统中,有些参数的计算是非常复杂的,用计算机计算不仅程序长,难于计算,而且需要耗费大量时间。还有一些非线性参数,它们不是用一般算术运算就可以计算出来,而是要涉及到指数、对数、三角函数、以及积分、微分等运算,所有这些运算用汇编语言编写程序都比较复杂。为了解决这些问题,可以采用查表法。查表法在计算机控制系统中应用非常广泛。所谓查表法,就是把事先计算或测得的数据按一定顺序编制成表格,查表程序的任务就是根据被测参数的值或者中间结果,查出最终所需要的结果。查表是一种非数值计算方法,利用这种方法可以完成数据补偿、计算、转换等各种工作,它具有回避复杂数学运算和无规则数学运算等优点。1顺序查表法是针对无序排列表格的一种方法。即按照顺序从第一项开始逐项查找,直到找到所要查找的关键字为止。2.计算查表法计算查表法通常用于要搜索的内容与表格的排列有一定关系的表格。使用这种查表法的关键在于找出一个计算表地址的公式,有了这样的公式进行查表,查表时间就与表的长度无关。3对分查表法是一种在实际应用中常使用的方法。对于那些表格比较长,满足从大到小或从小到大的排列顺序,且难以用计算查表法进行查找的表格,可以采用对分查表法。对于从小到大顺序来说,若元素大于中间值,则下一次取中间值至最大值区间的中间值进行比较,否则,取最小值至中间值区间的中间值进行比较。第三节数字滤波所谓数字滤波,就是通过一定的计算程序减少干扰信号在有用信号中的比重。数字滤波克服了模拟滤波器的不足,它与模拟滤波器相比有以下几个优点:(1)由于数字滤波是用程序实现的,因而不需要增加硬件设备,很容易实现。同时,多个输入通道还可以共用一个滤波程序。(2)由于数字滤波不需要硬件设备,因而可靠性高,稳定性好,各回路之间不存在阻抗匹配等问题。(3)数字滤波可以对频率很低的信号实现滤波,而模拟滤波器在低频段滤波难以取得好的滤波效果。(4)通过改写数字滤波程序,可以实现不同的滤波方法或调整滤波参数,它比改变模拟滤波器的硬件方便得多。一、程序判断滤波程序判断滤波的方法,便是根据实际经验,确定出相邻两次采样信号之间可能出现的最大偏差。若超过此偏差值,则表明该输入信号是干扰信号,应该去掉;如小于此偏差值,可将信号作为本次采样值。1限幅滤波的作法是把两次相邻的采样值相减,求出其增量(以绝对值表示),然后与两次采样允许的最大差值(由被控对象的实际情况决定)ΔY进行比较。若小于或等于ΔY,则取本次采样值;若大于ΔY,则仍取上次采样值作为本次采样值,即:|Y(k)-Y(k-1)|≤ΔY,则Y(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-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太小,又会使某些有用信号被“拒之门外”,使计算机采样效率变低。通常可根据经验数据获取,必要时,也限速滤波是一种折衷方法,既照顾了采样的实时性,又顾及了采样值变化的连续性。但这种方法也有明显的缺点:第一是ΔY的确定不够灵活,必须根据现场的情况不断更换新值;第二是不能反应采样点数N>3时各采样值受干扰情况。因此,它的应用受到一定的限制。二、中值滤波这种滤波法是将被测参数连续采样N次(
本文标题:计算机控制系统 第八章 计算机控制系统应用软件设计
链接地址:https://www.777doc.com/doc-3159259 .html