第8章 计算机控制系统程序设计课件.ppt





《第8章 计算机控制系统程序设计课件.ppt》由会员分享,可在线阅读,更多相关《第8章 计算机控制系统程序设计课件.ppt(53页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第8章章 计算机控制系统程序设计计算机控制系统程序设计v第一节第一节 应用软件设计应用软件设计v第二节第二节 计算机控制系统的数据处计算机控制系统的数据处理方法理方法v第三节第三节 数字滤波数字滤波第一节第一节 应用软件设计应用软件设计一、计算机控制系统的应用软件一、计算机控制系统的应用软件 软件一般包括系统软件和应用软件两大部分。 系统软件由开发商提供,它包括监控管理程序,实时操作系统和各种语言的翻译程序,即汇编和编译程序系统软件。不需用户自行设计,用户只需了解它的应用,将其作为一种工具进行编程及开发。 应用软件则是面向生产过程控制,根据不同的应用场合由用户自行编制。这类程序面向不同的生产
2、对象和控制要求,因此通用性差,必须由用户自行开发及编写。v应用程序的分类 1控制算法程序 控制算法程序主要实现控制规律的计算,产生控制量。常用的控制算法有:数字PID控制算法、大林算法、Smith补偿控制算法、最少拍控制算法、串级控制算法、前馈控制算法、解耦控制算法、模糊控制算法、最优控制算法等2数据采集及处理程序 数据采集程序包括:用于检查是可靠输入数据还是故障数据的数据可靠性检查程序、A/D转换及采样程序、用于滤除干扰造成的错误数据或不宜使用的数据的数字滤波程序、用于对检测元件或变送器的非线性特性进行补偿的线性化处理程序等。3实时时钟和中断处理程序 实时时钟是计算机控制系统一切与时间有关的
3、控制过程运行的基础。 计算机控制系统中有很多任务是按时间顺序安排的,这些任务的触发和撤消由系统时钟来控制,不用操作者直接干预。 4过程管理程序 这部分程序用于生产管理,主要包括:画面显示、变化趋势分析、报警记录、统计报表打印输出等。1应用程序设计的几个特点应用程序设计的几个特点(1) 应用程序与硬件系统的密切性。程序设计者必须熟悉整个系统才能编写出高质量的应用程序。若系统硬件要作某些变动,则相应程序进行修改,否则将不能满足预定的要求。(2) 应用程序具有较强的实时性。即要求在对象允许的时间间隔内对系统进行控制、计算和处理。二、应用软件设计方法二、应用软件设计方法(3) 应用程序具有较强的针对性
4、。即每个应用程序都是根据一个具体系统的要求来设计的。(4) 应用程序要有一定的灵活性和通用性。即应用程序能适应不同系统要求。为此,可以采用模块式结构,尽量把公用的程序编写成具有不同功能的子程序。设计者的任务就是把这些具有一定功能的子程序(或中断服务程序)进行排列组合,使其成为一个能够完成特定功能的应用程序。(5) 应用程序要有较高的可靠性。在工业现场环境比较复杂,干扰源比较多,在计算机控制系统设计过程中,不仅要考虑硬件抗干扰,还要充分考虑软件抗干扰。为此,可设计一个诊断程序,使其对系统的硬件及软件不断进行检查,一旦发现错误就及时处理。此外,为了提高系统软件的可靠性,常常把调好的应用程序固化在E
5、PROM中。2应用软件设计的基本步骤 (1)问题定义; (2)程序设计; (3)汇编(或编译); (4)调试; (5)文件编制; (6)维护和再设计 3应用程序设计方法(1)模块化程序设计 模块化程序设计的出发点是把一个复杂的程序,分解为若干个功能模块,每个模块执行单一的功能,并且具有单入口单出口结构,在分别进行独立设计、编程、查错和调试之后,最终装配在一起,连接成完整的大程序。(2)结构化程序设计 结构化程序设计采用自顶向下逐步求精的设计方法和单入口单出口的控制结构。在总体设计阶段,采用自顶向下逐步求精的方法,可以把一个复杂问题的解法分解和细化成一个由许多模块组成的软件系统。在详细设计或编程
6、阶段,采用自顶向下逐步求细的方法,可以把一个模块的功能逐步分解细化为一系列具体的处理步骤或某种高级语言的语句。1控制系统软件设计的目的与原则 计算机控制系统的软件设计必须遵循如下原则:抽象、细化、模块化和信息隐藏。v抽象。抽象对系统的简化描述或规范说明。v细化。细化是软件设计中一条重要的原则。当对系统由顶向下进行设计时,第一次可能将它根据功能细化为若干子系统。再次细化时,将每个子系统又可划分为若干模块,每一个模块完成一个或一组确定的任务。v模块化。其中心思想是对较大的程序分而治之,使其每一部分都变得容易管理。 三、控制软件的设计三、控制软件的设计(4) 信息隐藏。其思路是:在相互独立的模块之间
7、,只允许传递为了完成软件功能所必需的信息,限制别的模块范围模块内部的其他细节和局部数据。信息隐藏的优点是可以简化模块接口,使软件易于设计;尤为重要的是能够在修改软件过程中减少错误在模块间的传播机会,使软件易于维护。 除了上面四个重要原则外,还有一致性、完整性和可验证性等。2. 控制系统软件设计内容控制系统软件设计内容v对控制系统来说。控制软件包括实时管理软件、过程检测及控制算法软件两大部分。v实时管理软件是对整个控制系统进行管理用的程序,相当于整个计算机控制系统的主程序。v过程监测及控制算法计算软件主要包括:数据获取与变换处理程序,如数据采样、数字滤波、单位换算、数据合理性检查、数据补偿校正等
8、;控制指令生成程序,如控制算法计算、系统状态控制、控制指令输出等;事故处理程序,如超限报警、故障处理等;信息管理程序,如数据存储、输出、打印、显示以及文件管理等。实时管理软件主要有以下功能:v(1) 完成实时时钟管理,并向各分系统提供真实时间依据,如使计算机系统以确定的时间周期重复进行采样、计算、输出等。v(2) 输入/输出信息管理,以完成数据的采集与输出。v(3) 中断管理功能,实时程序必须有一个比较完善的中断管理能力,以便分别处理不同的中断请求。v(4) 完成对各分系统程序(包括控制算法程序)运行顺序的管理,即进行任务调度。v(5) 完成人-机联系。v(6) 设置系统的初始状态。第二节第二
9、节 计算机控制系统的数据处理计算机控制系统的数据处理 由于输入通道元器件的非线性、特性漂移和环境电磁干扰等因素的存在,采集的数据中包含有噪声信号,影响了数据的有效性,所以对采集的数据需要进行各种有效的预处理,如线性化或非线性补偿、数字滤波、自校正等。 控制系统中有大量的数据,为了提高控制系统的实时性,在应用软件中需要采取合理的数据结构、存储形式和快速的数据查找技术等。 对于处理以后的数据,需要以人们易于接受的形式加以显示、打印,包括数据格式转换、标度变换等处理。 v 1、数据线性化处理 在数据采集与处理系统中,一般总希望系统的输出和输入呈简单的线性关系,这样当用仪表来检测和显示系统中的某个物理
10、量时,能得到均匀的刻度,不仅读数看起来清楚方便,而且仪表在整个范围内灵敏度一致。 为了保证这些参数能有线性输出,需要引入非线性补偿,将输出信号与被测物理量之间的非线性补偿为线性关系,这种补偿过程称为线性化处理。一、数据线性化处理和非线性补偿线性化处理的计算机实现步骤 (1)用实验法测量输入输出的非线性关系曲线y=f(x)。 (2)将测量得到的曲线进行分段,选择插值基点。分段方法要根据曲线的变化情况确定,使选取的基点更合理。分段方法主要有等距分段法和非等距分段法两种。 (3)确定并计算出各插值点的xi、yi值及两相邻插值点间拟合直线段的斜率ki,并在程序中以数据表的形式存放。 (4)通过查表找出
11、x所在的区间,取出该段直线的斜率ki和基点值xi、yi。(5)根据插值公式y=yi+ki(x-xi),计算出x点所对应的y值。 等距分段法就是沿x轴等距离选取插值基点。这种方法的主要优点是使公式中的 为常数,从而使计算变得简单,并节省内存。但该方法的缺点是,当函数曲率和斜率变化较大时,将会产生较大的误差。否则,必须把基点分得很细,这样将占用更多的内存,并使计算时间加长。 非等距分段法的特点是,函数基点的分段不是等距离的,而是根据函数曲线的形状及其变化曲率的大小来修正插值间的距离。曲率变化大的,插值间距取得小一点,反之可将插值间距取得相对大一点。2. 非线性补偿非线性补偿(1) 线性插值法v线性
12、插值原理设某传感器输入信号X和输出信号Y之间的关系如图8.1所示。YY0Y1YiYi+1YnX0XX1XiXi+1Xn8.1 传感器的输出特性曲线 从图8-1可以看出: (1)曲线斜率变化越小,替代直线越逼近特性曲线,则线性插值法带来的误差就越小。因此,线性插值法适用于斜率变化不大的特性曲线的线性化。(2)插值基点取得越多,替代直线越逼近实际的曲线,插值计算的误差就越小。因此,只要插值基点足够多,就可以获得足够的精度。b) 线性插值的计算机实现利用计算机实现线性插值的步骤如下: 用实验法测出传感器输出特性曲线,应尽可能保证该曲线的精确性。 选取插值点,将绘制好的曲线分段。 计算并存储各相邻插值
13、点间逼近曲线的斜率 。 计算 。 读出 所在区间的斜率 ,计算 。 计算输出值 。线性插值程序读入X值计算XXi用查表法找出X所在的区间,并取出Ki计算Ki(XXi)计算YXi+Ki(X-Xi)结 束图8.2 线性插值法计算流程v3. 线性插值法非线性补偿实例 根据热电偶的技术数据可以绘制出输出电压信号V和温度T之间的特性曲线,假设热电偶的输出特性曲线如图8-3所示。t( C)。t4t3t2t1V1V2V3V4Vi43211234图8.3 热电偶输出特性曲线v由图8.3可以看出,该热电偶的输出特性曲线斜率的变化不大,可以采用线性插值法进行非线性补偿。选择4个插值基点(V1,T1)、(V2,T2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第8章 计算机控制系统程序设计课件 计算机控制 系统 程序设计 课件

限制150内