理论教育 数字控制系统软件设计优化方案

数字控制系统软件设计优化方案

时间:2023-06-27 理论教育 版权反馈
【摘要】:它只是软件设计完成之后的一个具体化过程,即编程不等于设计。在完成详细设计之后,就完成了软件的设计工作,软件设计的目标是要取得最佳的设计方案。为避免这种情况的发生,在软件设计时,可以采用设立陷阱的方法加以克服。Watchdog由两个计数器组成,计数器靠系统时钟或分频后的脉冲信号进行计数。

数字控制系统软件设计优化方案

计算机控制程序通常可以包括监控程序设计和控制程序设计,程序设计不但要保证功能正确,而且要求程序编制方便、简洁,容易阅读、修改和调试。

1.软件设计的基本方法

对于软件设计,许多人认为,不就是使用有关的程序语言一条一条地编写实现有关功能的程序吗?实际上,对于“软件设计”这个概念来说,用程序语言编写有关具体的程序只是整个软件设计工作中的一个很小的环节,甚至可以说不属于软件设计的范围。它只是软件设计完成之后的一个具体化过程,即编程不等于设计。

一个软件在研制者了解了软件的功能要求之后着手进行设计,其工作可分为两个阶段:总体设计(概要设计)和详细设计。

1)总体设计中应完成以下工作:

●程序结构的总体设计——决定软件的总体结构,包括软件分为哪些部分,各部分之间的联系,以及功能在各部分间的分配。

数据结构设计——决定数据系统的结构或数据的模式,以及完整性、安全性设计。

●完成设计说明书——将软件的总体结构和数据结构的设计作一文字总结,作为下一阶段设计的依据,也是整个设计中应有的重要文档之一。

●制定初步的测试计划——完成总体设计之后,应对将来的软件测试方法、步骤等提出较为明确的要求,尽管一开始这个计划是不十分完善的,但在此基础上经过进一步完善和补充,可作为测试工作的重要依据。

●总体设计的评审——在以上工作完成后,组织对总体设计工作质量的评审,对有缺陷的地方加以弥补,特别应重视以下几个方面:软件的整个结构和各子系统的结构、各部分之间的联系、软件的结构如何保证需求的实现等。

2)详细设计要完成的工作包括:

●确定软件各个组成部分的算法以及各个部分的内部数据结构。

●使用程序流程图N-S图等方式,对各个算法进行描述,并完成整个软件系统的流程图或N-S图。

●对详细设计进行评审。

在完成详细设计之后,就完成了软件的设计工作,软件设计的目标是要取得最佳的设计方案。“最佳”的涵义是指在若干个候选方案中,在节省研制费用、降低资源消耗、缩短研制时间的条件下,赢得较高的工作效率,以及较高的软件可靠性可维护性

软件设计是软件开发的关键,它要比具体程序的编写重要得多,软件设计工作做得充分,程序的编写将非常容易。

2.交流电机微机控制系统软件设计的具体问题

对于电力电子系统控制软件而言,其特点是与硬件的密切联系和实时性。因此在设计时,通常是硬件、软件同时进行考虑,强调“软硬兼施”的能力。其一般原则是在保证实时控制的条件下,尽量采用软件。但这也是一个要依据实时性和性能价格的比来综合平衡的问题,一味地硬件软件化并不是一个好的方案。(www.daowen.com)

另外,对于数字实时控制和反馈等方面,还涉及到连续系统的离散化、输入输出量化及字长处理、采样频率等诸多问题,都需要在设计阶段进行考虑。

3.数字控制系统的软件抗干扰措施

要使数学控制系统正常工作,除采用硬件抗干扰措施外,在软件上也要采取一定的抗干扰措施。下面介绍几种提高软件可靠性的方法。

(1)数字滤波 尽管采取了硬件抗干扰措施,外界的干扰信号总是或多或少地进入微机控制系统,可以采取数字滤波的方法来减少干扰信号的影响。数字滤波的方法有程序判断滤波、中值滤波、算术平均滤波、加权平均滤波、滑动平均滤波、RC低通滤波、复合数字滤波等。

(2)程序高速循环法 在应用程序编制中,采用从头到尾执行程序,进行高速循环,使执行周期远小于执行机构的动作时间,一次偶然的错误输出不会造成事故。

(3)设立软件陷阱 外部的干扰或机器内部硬件瞬间故障会使程序计数器偏离原定的值,造成程序失控。为避免这种情况的发生,在软件设计时,可以采用设立陷阱的方法加以克服。

具体的做法是,在ROM或RAM中,每隔一些指令(通常为十几条指令即可),把连续的几个单元置成“NOP”(空操作)。这样,当出现程序失控时,只要失控的单片机进入这众多的软件陷阱中的任何一个,都会被捕获,连续进行几个空操作。执行这些空操作后,程序自动恢复正常,继续执行后面的程序。这种方法虽然浪费一些内存单元,但可以保证程序不会飞掉。这种方法对用户是不透明的,即用户根本感觉不到程序是否发生错误操作。

(4)时间监视器 在控制系统中,采用设立软件陷阱的方法只能在一定程度上解决程序失控的问题,但并非在任何时候都有效。因为只有当程序控制转入陷阱区内才能被捕获。但是失控的程序并不总是进入陷阱区的,比如程序进入死循环。

为防止程序进入死循环,经常采用时间监视器,即“看门狗”(Watchdog),用以监视程序的正常运行。

Watchdog由两个计数器组成,计数器靠系统时钟或分频后的脉冲信号进行计数。当计数器计满时,计数器会产生一个复位信号,强迫系统复位,使系统重新执行程序。在正常情况下,每隔一定时间(根据系统应用程序执行的长短而定),程序使计数器清零,这样计数器就不会计满,因而不会产生复位。但是如果程序运行不正常,例如陷入死循环等,计数器将会计满而产生溢出,此溢出信号用来产生复位信号,使程序重新开始启动。

(5)输入/输出软件的抗干扰措施 为了提高输入输出的可靠性,在软件上也要采取相应的措施。

●对于开关量的输入,为了确保信息正确无误,在软件上可采取多次读入的方法。

●软件冗余。对于条件控制的一次采样、处理、控制输出,改为循环地采样、处理、控制输出。

●在某些控制系统中,对于可能酿成重大事故的输出控制,要有充分的人工干预措施。

●采用保护程序,不断地把输出状态表的内容传输到各输出接口的端口寄存器中,以维持正确的输出控制。

此外,还有输出反馈、表决、周期刷新等措施,还可以采取实时诊断技术提高控制系统的可靠性。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈