更新时间:2022-08-25 13:13
实时数字控制的目的是要按预定的控制策略(算法),实时地对一个或多个对象进行控制,以期达到给定的指标。
控制过程中,所有的数据采集、控制命令的发出都严格按实时时钟的节拍控制。
1.实时时钟管理。任何.一个实时控制系统都至少有一一个实时时钟。它不同于计算机内部的时钟,而是用来控制外部通道的动作。要通过程序对一个或多个时钟进行管理,这包括时钟状态的设置、时间常数的装入及中断状态的设定等。对于多个时钟源,尤其要注意各个时钟间的关系及中断响应的优先级。
2.中断管理。数字控制的实时性无一例外地都是通过中断来实现的。产生中断请求的中断源除了实时时钟外,还有一些通道器件或外部设备,以实现对某些状态(如转换结束、越限报警等)的及时处理。除了要设计高质量的中断服务程序外,在实时控制程序中,必不可少地要包含对中断的管理程序。如中断方式、中断矢量、中断控制状态的没置及中断优先级的管理等。
3.程序运行速度要求苛刻。为了保证控制的实时性,必须要求程序在指定的时间内执行完毕。尤其是当利用一台微计算机对多个通道进行控制时,由于一般是采用分时控制方式,所以,分配给每一通道的数据采集、变换、控制算法计算及控制量输出等的时间是有限的。因此,在这有限的时间内要求上述程序都必须运行完毕。为此,除了对CPU等硬件速度有要求外,对程序设计采用的语言及编程质量都有比较高的要求,以获得较高的运算和处理速度。有些控制方案可能在理论上能达到很高的控制精度,但由于算法过于复杂,无法实时运行,所以,对实际的控制系统也没有什么实际意义。
既然是实时控制程序,就要求操作者能设置程序的状态,并随机干预程序的运行或检测程序的运行情况。
1.应具有较强的人机对话功能。初始参数的装定、程序运行状态的监视及运行过程的人工干预都是通过人机对话的形式实现的。人机的交互接口主要是键盘及显示器。屏幕上显示的信息应尽量简洁、清晰、醒目。此外,还可借助声(语言、音乐、声响)、光(指示灯)等方式实现人机联系。通过程序控制、管理实现很强的人机联系,这也是计算机控制系统一大优点。
2.通道管理功能。计算机控制系统的输入、输出通道包含了很多部件。这些部件的启动、选通及状态的改变、数据的采集及控制量的输出等大都是由程序实现控制的。为了设计这部分程序,必须对通道接口地址以及各种控制信号的产生方法有十分清晰的了解。
控制的对象往往是实际的生产过程,为了保证产品的质量及生产的安全,要求控制软件必须是十分可靠的。除了要采取必要的容错及冗余措施外,一个完整的实时控制软件还应包括自检、诊断及报警功能。
在系统启动或维护时,能借助于诊断软件检查全部内存及接口的好坏。若有故障,还要能诊断出产生故障的大致位置。在程序运行过程中,当出现越限、掉电等异常时,能自动产生报警信号,提醒操作人员及时处理。从而提高了程序的可靠性。
用软件提高系统的可靠性及可维护性已发展成了一种专门的技术。软件可靠性技术一般包括两部分内容:利用软件提高系统的可靠性及提高软件本身的可靠性。
数字控制和传统的模拟控制的一大区别是系统由硬件、软件两部分组成。恰当地使用软件可靠性技术可以提高系统整体的可靠性,在一定程度上弥补了硬件的不足,这也是数字系统的优点之一。利用软件提高系绞对靠性的措施大致有以下几方面:
1.增加系统信息管理软件,与硬件配合,对信息进行保护。
2.在信息传送过程中,利用软件冗余校验技术防止出现误码。
3.设计诊断程序,能及时发现故障,并指示故障的部位,缩短维修时间, 增加系统可维护性。
4.用软件进行系统调度。
至于提高软件本身的可靠性,一般可采用以下几个措施:
1.采用程序分段和层次结构,将程序分成若干具有独立功能的子程序块,各程序块可单独,也可和其它程序块一起使用。各程序块之问通过固定单元进行通讯。这样,使各个程序块能独立地调整和修改,而不影响其它程序块。
2.提高可测性的设计。纯属软件的故障一般在设计或运行的初期产生,需在各种可能条件下,重复运行,反复测试才能发现。为便于测试程序的状态,在程序设计时就要把测试手段作为程序开发的一部分统筹考虑。
3.对软件进行测试。测试的基本方法是:给软件一个典型的输入,观测输出是否符合要求。如果正确,能给出相应提示,如果有错,尽可能给出错误范围,便于修改。在对软件进行测试时,一般是按程序单元到整个系纸,由局部到整体的顺序进的。
可靠性永远是系统设计中最重要的问题,这就需要熟知系统运行的真实的环境条件。
在实时控制程序的设计中,包含了在一般科学计算或仿真程序中所没有的许多功能。这些功能一般是通过一个个相对独立的功能程序模块实现的。一个比较完整的控制程序一般应包括以下一些功能模块。
1.初始化模块。其中包括中断方式、中断矢量设置、时间常数的装定等。 对于一些可编程接口器件,在使用前必须经初始化确定其状态,方式后才能正常工作。
2.参数设定模块。控制算法中的参数一般都是通过人机对话的方式设定的,这些参数包括设定值、采样周期、控制器参数、越限报警的阀值等。
3.控制算法模块。这部分是数字控制器的具体体现。一般算法程宇都是通过中断服务的形式出现的。根据所采集到的数据,按既定策略计算出相应的控制量,及其它所需信息。因此,该模块应包含数据采集及通道管理程亭。
4.自检和诊断模块。应包括主机及接口的开机自检及故障诊断,并能通过人机对话方式,给出自检和诊断结果。
5.故障报警模块。当硬件或软件出现故障时,能及时作出处理,并给出相应的报警和指示信息。这是保证系统安全运行的必不可少的部分。
6.控制台管理模块。控制台是人和系统的接口,随着系统的不同,控制台的规模及包含的内容相差很大。但一般都包括显示器(CRT、数码管、指示灯等)、通用或专用键盘、报警指示等。因此,控制程序中应含对这些设备的管理程序。如自定义键盘的扫描和译码程序、指示仪表的控制程序及系统实时时钟显示等。
实时控制程序的设计可以分为以下八个步骤:
1、分析任务(包括对象的输入、输出量、控制指标、运行环境等),确定合理的控制方案。
2、进行数字或混合仿真,对方案进行论证。若不满意时转l。
3、选择主机,设计接口。尽量选用通用接口器件,要考虑性能/价格比。
4、选择程序设计语言,分别设计各个控制模块程序。
5、分级调试,分别调试各个模块。如不满意时转4。
6、联机调试,测试系统指标,并对系统进行考核。
7、程序固化,装入系统运行。
8、日常维护。