随着计算机技术的飞速发展,计算机辅助设计系统在各行各业得到了越来越广泛的应用。而Windows操作系统的推出,大大加快了这一进程。目前,基于Windows平台的CAD软件正成为计算机辅助设计系统的主流。
面向对象的软件开发方法已成为当前最重要的一种软件开发方法,C++语言作为应用最为广泛的面向对象的程序设计语言,成为软件开发者不可或缺的重要工具。其中Microsoft Visual C++把完全的可视化与真正的面向对象和C++的高效率完美地结合起来,使得程序设计更为方便和可靠,大大地简化了开发者的工作,并使得程序易于维护和扩展。
电器产品,如继电器等,集电、磁、热于一体,而且许多产品还兼具电、热、磁等耦合效应,有些还需考虑应力变形、机械强度、机构运动和气动力学等问题。
多年来电器产品的设计主要依据经验法和静态特性,或参照已有产品的结构参数和技术性能参数,进行若干特定的设计计算,提出设计模型,进行产品试制。往往需要多次重复这一过程才能得到较为理想的结果,这导致产品开发周期很长、成本很高。极化继电器特别是微型密封极化继电器,是电磁继电器中难度最大、技术最先进的产品。由信息产业部电子第四十研究所研制的KJHW-1M型微型密封极化继电器代表了目前我国继电器的最高水平。它的零件很多而且精密、结构极其复杂,体积为10??.5??1mm3,质量为2g。传统的"设计-试制-改进设计-再试制"的设计模式将无法保证设计进度和产品质量。因此,采用CAD技术进行产品设计,利用计算机进行电场、磁场、热场的分析计算,对电磁机构进行特性计算和优化设计,显得尤为必要。这样可以缩短设计时间、提高设计质量,具有极高的经济效益和社会效益。
一、面向对象编程(OOP)
面向对象的基本理论 二十世纪九十年代起,面向对象(OO)这一概念在全世界范围内成为热点。面向对象是一系列相关技术的总称,包括面向对象分析(OOA)、面向对象设计(OOD)和面向对象编程(OOP),有人预言OO方法将是软件开发的一场革命。
OO方法起源于面向对象的编程语言(OOPL),OOP是结构化程序设计的自然延伸。面向对象的分析与设计方法最基本的思想就是把客观世界看成一个个相对独立而又互相联系的实体,称为对象。每个对象都有自己的状态和行为,完成一定的功能。在面向对象中,状态称为属性,对应C++中类的数据成员;行为称为方法,对应C++中类的成员函数。对象的属性和方法具有紧密的联系,方法行为的目标就是对象属性,而属性的改变就是方法实施的结果。面向对象的思想就是把方法和属性结合起来,把它们看成一个有机整体,这个过程被称为封装。在面向对象的理论中,抽象化的对象称为类,对象之间通过消息实现来发生作用。面向对象的系统分析着重于弄清系统是什么样,有什么东西;而面向对象系统设计着重于理解类的实现,系统怎样工作。
极化继电器计算机辅助设计与面向对象 如前所述,继电器是一个集电、磁、热、力等物理量于一体的客观对象。在程序设计中,把继电器抽象成由数据结构和操作函数组成的抽象模型,通过C++中的类的封装、继承及多重继承可构造出大量模型类库。把分析设计看作一个对象,在使用该对象时,可以不管其内部处理如何复杂,而只关心其外部特性。再通过和其它对象和函数结合起来,可构成更高层次的对象。Microsoft Visual C++再把每个对象加入到设计中,和对话框、图标、窗口等Windows对象联系起来,形成应用程序。
这种设计思想,比以往的结构化程序设计而言,更易于编写中、大型程序,能更好地体现现实世界的客观实际,并能化繁为简,提高系统可靠性,降低软件开发成本。
二、极化继电器CAD软件的功能特点
本软件是以Microsoft公司的Visual C++6.0为工具开发的、基于Windows操作平台上的可视化、图、文、数据合一的CAD系统。程序充分利用了Windows系统的多任务、人机交互性好等特点,集成了机构设计、电磁设计、特性分析、优化设计于一身,能完成零件三维造型设计、装配设计、结构化参数设计、运动机构的动作模拟、装配过程模拟、工程制图、继电器特性分析计算、优化设计、产品性能评估等功能。各功能模块既相对独立、能完成特定的设计功能,又可将本模块的设计数据传递给其它功能模块,改变了以往的CAD软件只能进行造型设计或只能进行特性计算的功能单一的情况,很方便设计者使用。
图1所示即为极化继电器CAD系统,软件主要由以下功能模块组成:
1.结构设计
这部分采用美国Autodesk公司的Mechanical Desktop(MDT)作为支撑软件。MDT是以Auto CAD R14为基础的一个三维实体造型通用型平台,具有较强的两维与三维图形处理功能。我们进行了二次开发,建立了极化继电器的零件库、设计了用户菜单,实现了结构化参数设计。设计者只需在对话框内输入必要的数据,或直接调出库中零件调整参数即可得到所需零件,与该零件相关的各尺寸均会根据新的参数自动进行调整。这样可以大大简化设计工作,使设计者把精力投入到与产品性能有关的设计中,无须在点、线、面等问题上花费时间和精力;软件也能自动根据设计者的要求输出工程图纸。
图2所示为用户菜单中的标题栏栏目填充对话框。
除了直接改变尺寸来修改零件实体造型以外,MDT还可建立数表来驱动零件的实体造型。这样,结构、形状相似但尺寸不同的多个零件可通过数表驱动来构造。
其实现步骤为:
(1)选择Part->Design Variables打开变量设置对话框定义变量。有两种变量类型:Part(零件的)和Global(全局的),前者只能用于本零件,后者则可以用于同一图形文件中的多个零件。
(2)在变量设置对话框中定义完变量后,点选Setup->Create按钮建立一个电子数表(Excel),至此完成数表驱动设置。
(3)在Desktop Browser浏览框中选用不同的数表即得到相应的零件。
图3所示即为极化继电器的静触头的变量和数表,以及在MDT的工程中的三维造型
2 .运动机构动作和装配过程模拟
这部分利用了Autodesk公司的三维动画软件3D Studio MAX(3DS MAX)作为工具。在结构设计模块中得到的各零件,根据它们的装配关系和运动关系,用3DS MAX处理成动画数据,供主程序调用。若微机中装有3DS MAX软件,程序也可以调用它,以便设计者随时进行修改和调整。
3. 特性分析计算
这部分是整个CAD系统中最重要的核心部分。设计得到的继电器性能如何,将通过特性分析计算的结果显示出来。这一部分是我们采用Microsoft Visual C++6.0完全自主开发出来的,其最大的特点是对继电器的电磁机构进行动态计算,根据实际的工作过程与状态变化,计算出不同时刻点上的各个参量,让设计者对真正的动态过程有所了解。
样品继电器KJHW-1M型微型密封极化继电器是属于带有永磁磁钢的桥式磁系统结构,其装配图如图4所示。它是非线性、又存在着漏磁的三维复杂系统。在进行特性分析计算时,我们建立了等效磁路网络, 采用网络拓扑的方法来进行分析计算。
4. 优化设计和产品性能评估
对于极化继电器的设计来说,设计完结构参数、计算出动态过程的各参数变化是远远不够的。如何调整各部分的参数,使其相互配合得到的继电器的动态性能最佳,得到最优化的产品是设计的最终目的。为使设计者能够做到心中有数、有的放矢,我们的CAD系统也包括了优化设计部分。对于一些关键的零、部件的尺寸公差及配合对继电器性能的影响,我们采用了正交试验的方法进行优化:设计者选定了要试验的因素和水平数目后,软件自动构造出正交表,根据零件的有关尺寸进行动特性计算,计算结果作为试验依据,这样设计者就能根据系统的试验结果有针对性地进行一些优化设计。
对于极化继电器产品的优化设计而言,目标函数和约束函数均为非线性,而且目标函数又是多值函数,往往要求是动作快、灵敏度高、寿命长、工作可靠,而且要体积小、重量轻、成本低、功耗小。对于这种非线性约束优化问题,遗传算法(GA)以其对优化设计的限制较少、对目标函数及其约束条件既不要求可微、也不要求连续,又能搜索到整个解空间,找到全局最优解等优点,近年来在优化设计中得到了广泛的应用,但在电磁继电器的优化设计中应用还较少。本CAD系统中的优化设计中也包括了遗传算法的应用,可以对多个目标进行全局优化。
考虑到极化继电器在批量生产中产品性能存在着离散性,影响动态特性配合的诸多因素不都是确定量,往往带有模糊性与经验性。为使设计者能对批量生产中的产品性能有所认识,软件提供了产品性能评估的功能。主要是采用了模糊聚类分析和综合评判,将影响动特性配合的因素建立起因素集U,评价优劣采用五个等级:优、良、一般、较差、差,根据对动特性影响的大小对每个因素加上不同的权重系数,运用模糊聚类分析方法处理后得到模糊评判矩阵和模糊综合评判结果。
通过这个评判结果,设计者能了解评判对象在所判的特性方面的分布状态,可以针对性地改进、提高批量生产中的产品性能。