欢迎来到天天文库
浏览记录
ID:52955757
大小:390.35 KB
页数:6页
时间:2020-04-03
《控制系统CAD软件的设计与应用.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、<全国自动化科学技术应用学术会议>>2000年控制系统CAD软件的设计与应用周黎辉董泽韩璞(华北电力大学动力工程系,保定071003)摘要论述了在控制系统CAD——CAE2000系统的软件设计中,采用了面向对象的方法进行需求分析、结构设计和软件开发的软件设计过程,解决了如何组态任意控制系统的问题,使其满足方框图语言与可视化相结合的技术要求,使系统的设计更加规范,系统的可维护性、可扩展性都大为提高。关键词面向对象控制计算机辅助设计方框图语言1.引言在过去的十几年中,控制系统计算机辅助设计(CSCAD)技术已经发生了重大变化,特别是其CAD算
2、法日益成熟,已经形成了比较完善的算法体系,但是在实际应用中,往往缺乏具有较好的通用性、便利性和开放性的软件工具。由于近几年计算机软、硬件技术的快速发展,以及设计理论上的重大突破,使得大型的CSCAD平台化软件工[1]具得以能够实现,而且辅助设计、辅助分析和辅助教学等多种功能已经融合在一起。2.CAE2000系统目前国外已经出现了一些有代表性的、成熟的CSCAD软件,比如MATLAB、ISL、VisSim和MATRIXx等,其中由美国MathWorks公司推出的MATLAB软件以及与之配套的SIMULINK软件由于采用了面向方框图语言技术与
3、可视化技术,使得其成为功[2]能较完善和具有代表性的CSCAD软件之一。到九十年中期,我国新一代CSCAD软件的开发,还处于起步阶段,基本上还没有与之相当的软件面世。针对这种新的发展,我们开发了一套CSCAD系统——CAE2000系统。CAE2000系统是一个集控制系统计算机辅助分析、辅助设计和辅助教学为一体的多功能、一体化的计算机辅助工程系统。该系统除了具有一般CSCAD软件的组态、仿真功能外,还特别为接近工程实际和结合过程控制的特点,具备了实时仿真、通过过程通道设备与硬件结合仿真、软操作面板以及过程控制流程图等多种功能,这些功能是一般
4、同类软件所不具备的,同时CAE2000还提供了拟合传递函数、控制器参数寻优、控制理论分析、控制系统CAD算法以及多种现代控制器研究等一系列从工程实际到理论分析的多种工具,这些也是一般CSCAD软件所不具备的。3.CAE2000组态软件的设计CAE2000软件设计中的一个复杂问题在于如何组态任意一个控制系统。首先必须抽取典型算法模块,典型模块选择过多会造成程序界面过于繁琐,过少则使用时需要做大量转化工作;其次各模块具有许多相似的属性和操作,但往往又有细微的差别,如果不考虑这些共性,孤立地分别设计每个模块,势必造成程序庞大臃肿,同时各个模块的
5、设计者各自为政,使得程序不具备开放性和可扩展性,而如果考虑该问题,如何区分共性和个性是一个复杂问题;另外,在组态一个具体的控制系统时,理论上每个模块可能使用许多次,整个系统可能由不受限制的许多具体模块构成,模块之间又由不确定方向和数目的许多信号线连接,而且对于多文本界面,用户可以同时组态多个控制系统并同时运行它们,如何有效的管理这些系统和每个系统中模块,以及有效的如何组织系统的运行,是个重要的问题。采用传统的设计方法,在设计思想上和设计方法上存在着多方面的缺陷:把整个设计分解成一系列局部的、孤立的、静态的处理过程,不考虑这些过程与所研究对
6、象的属性之间的内在联系,同时缺乏一个符合所研究对象本身规律的规范化设计体系。对此我们采用了面向对象的方法,同时结合面向方框图语言技术与可视化技术,在整个系统从需求分析到结构设计、到软件编程的三个阶段都采用了面向对象的方法,从而使得以往软件设计中所存在的物理模型与计算机模型之间的巨大鸿沟不复存在,系统的设计更加规范、更加容易,部件的可重用性非常强,而且系统的可维护性、扩展性都大为提高。目前已构成60多种图形化、组件式的功能模块,通过鼠标拖动的方式可以直观迅速地组态任意一个控制系统,并对其进行实时或非实时仿真。在控制领域的各种设计、分析中,常
7、使用方框图来表示控制系统,方框图是由各种算法模块构成的,通过对各种算法模块的分析我们可以得知,各种算法模块的大部分属性(参数)和行为(函数)是存在共性的,如输入端、输出端、位置、方向以及名称等属性和改变模块大小、移动模块位置、在组态区画出模块、打开对话框以及计算过程等行为,这些都是每种算法模块都具有的。通过抽象与继承技术,则我们可以抽象出一个通用模块的类CBaseModel,这个类是所有具体模块类的父类,也就是说所有算法模块类都是从这个父类派生(“派生”是“继承”的逆过程)出来的,它们都继承了CBaseModel类的这些共有属性和行为,C
8、BaseModel类可以定义如下(以下分析都用的是C++语法):classCBaseModel:publicCObject{public:CBaseModel(constCRect&posit
此文档下载收益归作者所有