计算机控制系统 第2版 教学课件 ppt 作者 李正军 第7章

上传人:E**** 文档编号:89336670 上传时间:2019-05-23 格式:PPT 页数:139 大小:498.50KB
返回 下载 相关 举报
计算机控制系统 第2版 教学课件 ppt 作者 李正军 第7章_第1页
第1页 / 共139页
计算机控制系统 第2版 教学课件 ppt 作者 李正军 第7章_第2页
第2页 / 共139页
计算机控制系统 第2版 教学课件 ppt 作者 李正军 第7章_第3页
第3页 / 共139页
计算机控制系统 第2版 教学课件 ppt 作者 李正军 第7章_第4页
第4页 / 共139页
计算机控制系统 第2版 教学课件 ppt 作者 李正军 第7章_第5页
第5页 / 共139页
点击查看更多>>
资源描述

《计算机控制系统 第2版 教学课件 ppt 作者 李正军 第7章》由会员分享,可在线阅读,更多相关《计算机控制系统 第2版 教学课件 ppt 作者 李正军 第7章(139页珍藏版)》请在金锄头文库上搜索。

1、第7章 计算机控制系统的软件设计,计算机控制系统有了硬件设备之后,如果要实现其测量与控制功能,还需要有相应的软件支持。 软件是计算机控制系统的灵魂。在计算机技术发展的早期,系统相当简单,软件工作就是编程,软件工作被看做是一门艺术,所强调的是编程的技巧和诀窍。随着系统复杂性的增加,以艺术方式开发的软件变得越来越难以理解和维护,可靠性下降,软件开发和维护的成本急剧上升,在20世纪70年代初现了所谓的软件危机。此后,软件工作逐步从艺术走向工程,开始强调工程的基本特征:设计、施工和标准化。 时至今日,软件的开发、运行和维护,已经形成一门学科,即软件工程。软件工程的知识体系包括了软件的需求分析、设计、构

2、造、测量、维护和管理以及软件工程等各个方面,许多内容所涉及的是工程及管理的知识。,7.1 计算机控制系统软件的组成和功能 7.1.1 计算机控制系统软件的组成,计算机控制系统软件可分为系统软件和应用软件两大部分。系统软件指的是计算机控制系统应用软件开发平台和操作平台,而应用软件可按用途划分为监控平台软件、基本控制软件、先进控制软件、局部优化软件、操作优化软件、最优调度软件和企业计划决策软件等,计算机控制系统软件组成框图如图7-1所示。,图7-1 计算机控制系统软件组成框图,从系统功能的角度划分,最基本的计算机控制系统应用软件由直接程序、规范服务性程序和辅助程序等组成。 直接程序是指与控制过程或

3、采样/控制设备直接有关的程序,这类程序参与系统的实际控制过程,完成与各类I/O模板相关的信号采集、处理和各类控制信号的输出任务,其性能直接影响系统的运行效率和精度,是软件系统设计的核心部分。 规范服务性程序是指完成系统运行中的一些规范服务功能的程序,如报表打印输出、报警输出、算法运行、各种画面显示等。 辅助程序包括接口驱动程序、检验程序等,特别是设备自诊断程序,当检测到错误时,启用备用通道并自动切换,这类程序虽然与控制过程没有直接关系,但却能增加系统的可靠性,是应用软件不可缺少的组成部分。 软件的设计过程如图7-2所示。,7.1.2计算机控制系统软件的功能和性能指标,1软件的功能 计算机控制系

4、统软件一般至少由系统组态程序,前台控制程序,后台显示、打印、管理程序以及数据库等组成。具体实现如下功能: 实时数据采集 完成现场过程参数的采集与处理。 控制运算 包括模拟控制、顺序控制、逻辑控制和组合控制等功能。 控制输出 根据设计的控制算法所计算的结果输出控制信号,以跟踪输入信号的变化。 报警监视 完成过程参数越界报警及设备故障报警等功能。,画面显示和报表输出 实时显示过程参数及工艺流程,并提供操作画面、报表显示和打印功能。 可靠性功能 包括故障诊断、冗余设计、备用通道切换等功能。 流程画面制作功能 用来生成应用系统的各种工艺流程画面和报表等功能。 管理功能 包括文件管理、数据库管理、趋势曲

5、线、统计分析等功能。 通信功能 包括控制单元之间、操作站之间、子系统之间的数据通信功能。 OPC接口 通过OPC Server实现与上层计算机的数据共享和远程数据访问功能。 2软件的性能指标 判断计算机控制系统软件的性能指标如下:,(1)系统功能是否完善,能否提供足够多的控制算法(包括若干种高级控制算法)。 (2)系统内各种功能能否协调运行,如进行实时采样和控制输出的同时,又能显示画面、打印管理报表和进行数据通信。 (3)人机接口是否良好,要有丰富的画面和报表形式,有较多的操作指导信息,操作方便灵活。 (4)系统的可扩展性如何,能否不断的满足用户的新要求。 由于控制系统软件功能和指标的特殊性,

6、因此对计算机控制系统软件的设计也提出了较高的要求,设计者不仅应具备一定的自动控制理论基础和工程实践经验,还需要掌握计算机系统软件技术,包括程序设计能力和数据结构、数据库、操作系统等方面的知识。,7.2.1 实时多任务系统 7.2.1 实时系统和实时操作系统,1实时系统 实时计算机系统的定义是:能够在确定的时间内运行其功能并对外部异步事件作出响应的计算机系统。 应注意到,“确定的时间”是对实时系统最根本的要求,实时系统处理的正确性不仅取决于处理结果逻辑上的正确性,更取决于获得该结果所需的时间。 例如,一个在大多数情况下能在50s作出响应,但是偶然需要50ms响应时间的系统,它的实时性要劣于一个能

7、在任何情况下以1ms作出响应的系统。,高性能的实时系统,其硬件结构应该具有计算速度快、中断处理和I/O通信能力强的特点,但是应该认识到,“实时”和“快速”是两个不同的概念。计算机系统处理速度的快慢,主要取决于它的硬件系统,尤其是所采用的处理器的性能。对于一个特定的计算机系统,它的处理速度无论怎样高,如果采用的是普通操作系统,就没有实时性可言。在计算机控制系统中,实时操作系统是实时系统的核心。 2实时操作系统 操作系统是计算机运行以及所有资源的管理者,包括任务管理、任务间的信息传递、I/O设备管理,内存管理和文件系统的管理等。从外部来看,操作系统提供了与使用者、程序及硬件的接口。操作系统与计算机

8、I/O硬件设备的接口是设备驱动器,应用程序与操作系统之间的接口是系统调用。,通用计算机系统中运行的是桌面操作系统,Windows和UNIX或Linux。计算机控制系统主要使用实时操作系统。大多数实时操作系统的结构仿照UNIX操作系统的风格,所以它们又称为“类UNIX”操作系统。 现代的实时操作系统的内核(Kernel)通常采用客户/服务者方式,或称为微内核(Microkernel)方式,如图7-3所示。,微内核通常只保留任务调度和任务间通信等几项功能,它依据客户-服务者模型概念,把所有其它的操作系统功能都变成一个个用户态的服务器,而用户任务则被当作客户。客户要用到操作系统时,其实就是通过微内核

9、与服务器通信而已,微内核验证消息的有效性,在客户和服务器之间传递它们并核准对硬件的存取,这样,微内核仅仅称为传递消息的工具。,7.2.2实时多任务系统,处理多任务的理想方法之一是采用紧耦合多处理机系统,让每个处理机各处理一个任务。这种方法真正做到了同一时刻运行多个任务,称为并行处理。 分布式控制系统中的各个节点普遍使用单处理机系统。单处理机系统在实时操作系统调度下,可以使若干个任务并发地运行,构成所谓多任务系统,事实上,无论是大型的分布式系统还是小型的嵌入式系统,实时控制系统大多数是以这种方式运行的。并发处理是指在一段时间里调度若干任务“同时”运行,其实具体到任何时刻,系统中只能有一个任务在运

10、行,因为只有一个处理机。并发处理被看做是一种伪并行机制。,任务及任务切换 (1)任务 在操作系统管理下,复杂的应用被分解为若干任务,每个任务执行一项特定的工作。如前所说,任务就是运行中的程序,每个任务所对应的程序通常是一个顺序执行的无限循环,好像是占用着全部CPU的资源,而事实上对于单处理机系统,任何时刻只可能有一个任务在运行,诸多任务是在操作系统的调度下交错地运行。 一个任务的状态转移如图7-4所示。,运行态,任务正在运行。在任何时刻,只可能有一个任务处在运行态。在待命态排队的任务,可以受调度器的派遣(Dispatch)而进入运行态。,待命态,任务准备好可以运行,但目前还未运行,需要得到调度

11、器的派遣才能进入运行态。处在待命态的任务,以某种规则排队等待进入运行态。处在运行态的任务可以因各种原因(与调度方式和调度策略有关)被调度器重新安排到待命队列去排队。 阻塞态,正在运行的任务可能因为操作系统调用等待一个外部事件任务而被阻塞,此时只有被外部事件产生的中断所唤醒(激活),才能从阻塞态进入待命态;任务也可能在请求一个资源时需要等待而被阻塞,例如一个想使用打印机的任务,必须等待其它任务使用完打印机之后才能继续工作。 (2)任务上下文切换,每个任务除了包括程序和相应的数据之外,还有一个用来描述该任务的数据结构,称之为任务控制块(TCB)。 TCB中包括了任务的当前状态、优先级、要等待的事件

12、或资源、任务程序代码的起始地址、初始堆栈指针等信息,如图7-5所示。,图7-5任务控制块TCB,调度器在唤醒一个任务时,要用到任务控制块。为了保持系统的一致性,任务不能直接对自己的TCB寻址,只能通过系统调用加以修改。 TCB中的大部分内容构成任务的上下文(Context)。任务的上下文是指一个运行中的任务被阻塞(或重新运行)时,所要保存(或恢复)的所有状态信息,例如当前程序计数器值、堆栈指针以及各个通用寄存器的内容等。 任务切换(Task Switch)是指一个任务停止运行,而另一个任务开始运行。 实时任务调度 (1)实时任务的时间特征 一个实时任务有两个最基本的特征,重要性和时间特性,与任

13、务调度有关的所有问题,都是围绕着这两个基本特性展开的。实时任务的重要性可以用优先级来确定。实时任务按时间特性可分为三类: 周期性任务,是指被以固定的时间间隔发生的事件所激活的任务。,非周期性任务,是指被无规则的或者随机的外部事件所激活的任务。 偶发任务,也可以归类为非周期性任务,只是事件发生的频率低。 任务的时间特性包括: 限定时间。根据对限定时间的要求,可以把实时任务分为硬实时、强实时、弱实时和非实时等类型。 最坏情况下的执行时间。通常定义为,在没有更高优先级任务的干扰的情况下,任务执行时所需的最长时间。 执行周期(对周期性任务而言)。 典型的周期性任务的例子是数字反馈系统,例如,三个闭环反

14、馈控制任务以不同的频率控制三个独立的被控对象,它们都是具有严格定义周期的任务。 此外,定期的数据采集,时钟定时触发以及显示更新等,都是周期性任务的例子。,(2)任务调度器 实时应用中,根据需要可以把应用分解为强实时、弱实时和非实时不同等级的任务,用某种调度方式安排运行。实时内核中有一个调度器,专门用于调度应用任务。实时操作系统中的任务调度方法有许多种,其中最广泛使用的是基于优先级的抢先调度方式及轮转调度方式。 调度器的基本功能是管理待命队列和阻塞队列,并负责控制每个任务在各个状态之间的切换。 中断处理 在实时操作系统管理下的控制系统是事件驱动的系统,许多优先级的任务切换是被中断所引起的,或者说

15、,任务被外部事件(例如I/O事件)驱动而运行。当外部事件未出现时,处理该外部事件的任务处在阻塞态,等待着被唤醒。外部事件引起中断后,进入中断服务程序,在中断服务程序中,通过系统调用与相应的处理任务通信并唤醒该任务。,7.3现场控制层的软件系统平台 7.3.1软件系统平台的选择,随着微控制器性能的不断提高,嵌入式应用越来越广泛。 目前市场上的大型商用嵌入式实时系统,如VxWorks, pSOS, Pharlap, Qnx等等,己经十分成熟,并为用户提供了强有力的开发和调试工具。 但这些商用嵌入式实时系统价格昂贵而且都针对特定的硬件平台。此时,采用免费软件和开放代码不失为一种选择。C/OS-II是

16、一种免费的、源码公开的、稳定可靠的嵌入式实时操作系统,已被广泛应用于嵌入式系统中,并获得了成功,因此计算机控制系统的现场控制层采用C/OS-II是完全可行的。,C/OS-II是专门为嵌入式应用而设计的实时操作系统,是基于静态优先级的占先式(Preemptive)多任务实时内核。采用C/OS-II作为软件平台,一方面是因为它已经通过了很多严格的测试,被确认是一个安全的、高效的实时操作系统;另一个重要的原因,是因为它免费提供了内核的源代码,通过修改相关的源代码,就可以比较容易地构造用户所需要的软件环境,实现用户需要的功能。 基于计算机控制系统现场控制层实时多任务的需求以及C/OS-II优点的分析,可以选用C/OS-II v2.52作为现场控制层的软件系统平台。,7.3.2 C/OS-II内核调度基本原理,1.时钟触发机制 嵌入式多任务系统中,内核提供的基本服务是任务切换,而任务切换是基于硬件定时器中断进行的。在80x86 PC及其兼容机(包括很多流行的基于x86平台的微型嵌入式主板)中,使用8253/54 PIT 来产生时钟中断。定时器的中断周

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号