1引言数控加工过程仿真是虚拟制造的基层关键技术。对于多坐标数控铣手工编程或者自动编程产生 的数控程序,由于其复杂性和不可靠性,在进行产品加工前,往往要进行多次试切检查和程序调整 ,模拟零件的加工过程,检验刀位计算是否正确、加工过程是否过切、所选刀具、走刀路线、进退 刀方式是否合理、刀具和约束面是否干涉与碰撞等等。通过对已编制好的数控程序的仿真,可以有 效的减少以上过程所占用的设备生产时间和所耗费的人力及物力,同时还可以应用于对新操作者的 技术培训。三维实体模型下的仿真系统开发具有较高的技术难度和需要较大的人力投入等特点。采 用三维实体模型下的数控加工过程仿真,能真实的显示出加工过程中的零件模型、切削形状和刀具 轨迹,是否干涉、过切都一目了然。笔者采用已有的三维CAD/CAM造型系统作为仿真图形的 显示平台,大大简化了仿真系统设计的难度。同时,由于采用了产品设计过程中所产生的三维真实 设计图作仿真开始前的零件毛坯,故该系统具有从产品设计到加工生产全过程的完全内部集成特性 ,对于当前制造业的CIMS高度集成奠定了一定的基础。2仿真系统设计的关键技术多坐标(以 五坐标为例)数控铣加工中心的坐标系统包括:X、Y、Z三个空间方向坐标及A(绕X轴的旋转 )和B(绕Y轴的旋转)两个旋转坐标。对已编制好的数控程序进行模拟仿真,需*来稿日期:2 001-08-09要进行前置处理、指令识别、参数提取、坐标转换、G指令到绘图指令的翻译 和图形显示等过程。作者通过实际仿真系统的开发,建议在开发此类仿真系统时,以下各方面值得 借鉴。2.1仿真图形的三维真实感模型显示如何显示三维实体模型,是开发该系统的关键之一。 国际生产过程学会(CIRP)组成专门小组对目前及未来制造业的生产方式进行了分析评估,将 切削加工过程仿真建模问题列为制造业最重要的研究领域之一。仿真建模包括物理建模和几何建模 ,此处我们又讨论几何建模,仿真过程也以几何仿真为研究对象。目前所采用的仿真方法主要有以 下三种:(1)二维平面或将三维简化为二维平面的图形仿真。该方法较易实现,采用一般高级语 言所具有的图形绘制函数即可实现,图形显示仅进行二维平面上点、线、圆弧和区域填充等操作, 不需考虑实体和使图形能够产生真实感的环境光源的控制,对于回转体类加工如车削和平面加工如 线切割等较适用,缺点是仿真效果不真实直观,难以被操作者接受。此种方法目前已很少采用。( 2)基于三维空间真实感的自开发图形仿真。该方法通常采用VC++编程语言和OPENGL高 级图形库来实现三维图形及环境光源的控制和显示,仿真图形具有较好的真实感,但编程方法比较 复杂,需要投入大量的人力和物力去开发。生成的仿真结果也难以使人完全满意,特别是图形复杂 时,图形的显示速度和动画的连续性较差,仿真图形的可视性需进一步提高。复杂零件多坐标数控 加工时,对于毛坯、夹具等模型的建立和刀具的切削过程显示都有较大的难度。国外已开发出众多 的此类仿真系统,但对于国内的加工业而言,其适应性和价格都无法令人满意。(3)基于第三方 三维图形显示平台的图形仿真。目前已有众多的高级CAD/CAM软件为用户进行二次开发提供 了便利,例如UGII、ProE、CATIA等著名的大型CAD/CAM软件就提供了MSV C++的开发方法和接口,SolidWorks提供了基于COM和OLE技术的二次开发接口 ,通过VC++或者VB等编程工具即可对三维图形的显示和生成加以控制。由于这些高级的CA D/CAM软件采用了先进的图形内核(例如UGII、Solid-Works2000等就采 用了英国形谱公司最新的Parasolid系统为内核),显示图形有很好的逼真感和令人满意 的显示速度,甚至可以生成静态的照片级的渲染图,满足了仿真系统的图形显示要求。采用以上的 软件系统作为仿真系统的图形显示平台,其优点是:开发者无须考虑环境光源、材质等影响真实感 的因素,大大降低了编程的难度和强度;工件毛坯直接由设计过程调用,具有完全的真实形状,仿 真结果直观易懂;仿真图形易于控制,具有旋转、放大、剖切和加工过程记录等特点。但其也具有 一定的缺点,当仿真程序较长时,仿真过程明显变得缓慢;对计算机硬件要求较高(以前,上述各 种图形软件只能在专业的图形工作站上使用);在仿真过程中实现完全的实时动画还需要进一步的 研究,但随着台式PC机性能近年的飞速提高和软件系统的不断改进,上述CAD/CAM实体造 型系统均已在普通个人台式机和常用操作系统(如windowsNT4.0和windows2 000等)上得到了较好的使用,可以预见将来的计算机硬件和软件系统(包括操作系统和图形系 统)都将为开发更好的仿真系统提供更大的空间和更好的便利条件。笔者采用VisualBas ic6.0为开发工具,以Solidworks2000为仿真图形显示平台所开发的仿真系统 ,在实际生产现场取得了良好的效果。2.2仿真系统的可扩展性和通用性目前,系统的可扩展性 和通用性是软件系统的设计目标之一。数控编程代码规范在符合ISO通用规范的一致性前提下, 通过指令扩展,也形成了众多各异的编程系统(规范),例如德国MAHO数控铣采用的CNC4 32系统、CNC532系统,日本的FANUC数控铣机床所采用的FANUC0M系统、FA NUC6M系统等等,这些编程系统既有共性又有异性。仿真系统的可扩展性和通用性是指对原软 件结构不作大的改动的情况下,添加一些子功能模块或者外挂程序,即可适用于当前的编程系统( 规范),同时对以前的编程系统(规范)仍然适用,通过此种方法不断地对系统加以扩展,最终使 系统具有良好的通用性,可以适用于众多的编程系统和不同的加工设备。在数控加工过程仿真系统 中,传统的基于功能的结构化方法因功能的扩充、删除及修改困难,导致仿真系统可扩充性和可维 护性差,已无法满足数控加工过程仿真系统开发的要求。而面向对象技术的数据封装、继承和多态 机制满足了仿真系统的可重用性、可扩充性的要求,使数控加工过程仿真系统能对不同的仿真对象 进行仿真。对于符合ISO具有一致性的数控指令集(例如G0、G1、G2等等具有标准的定义 )可以建立一个基类(BaseClass),将具有共性的数控指令作为类的方法进行封装,将 数控指令所需的参数作为成员数据进行封装。不同的编程系统(规范),对基类进行继承并添加新 的成员函数和成员数据(具有异性的数控指令和对应参数),再声明类的实例(即对象),即可通 过对象实现各种定义的方法和操作。此处并不完全抛弃总体框架按功能进行模块化划分的设计方法 ,通过添加功能模块同样可以实现功能的扩展,两种方法在编程时应当灵活运用。使用以上方法进 行系统功能的扩展,需要重新编辑和修改仿真系统的源代码,只有系统的开发者才可以做到。而通 过外挂程序或者应用程序接口(API)为使用者或者第三方实现系统功能扩展提供了极为灵活的 方法,该方法无须对源代码进行编辑或修改,只要遵循一定的规范和方法进行单独编程即可实现。 目前许多高级系统都为用户提供了进行功能扩展的方法。笔者也正在进行此方面的尝试和研究。2 .3系统的容错性和可靠性采用现有的高级CAD/CAM实体造型系统作为仿真系统的图形显示 平台,仿真系统和显示系统并不是运行于同一个windows进程内,而是在windows系 统平台上独立运行的,两者依靠Windows操作系统进行数据的传递和信息的交流,因此仿真 系统并不能完全控制图形显示系统的内部过程,对于图形显示系统内部所产生的运行错误无法准确 捕获,对出现的错误不能立即提示出来,影响了后续的图形操作,从而可能导致难以预计的错误。 如果不能很好的解决这一问题,整个仿真系统将出现紊乱甚至崩溃。笔者在实际仿真系统的设计过 程中,多次遇到了此类问题。为了提高系统的容错性和可靠性,建议使用以下方法:(1)规范化 使用应用程序接口(API),注意参数类型、参数数量、参数的有效范围等问题,若有返回值, 对返回值应及时加以测试,例如对于返回的Object对象指针ObjTemp,使用“ifO bjTempisnothingthenerror-handle”语句进行测试和必要的错 误处理;(2)在向显示系统传递数据或对其进行加以控制前,应明确显示系统的当前状态,必要 时重复使用一些控制类指令,例如:清除选择(PartFile.ClearSelectio n)、重新生成(PartFile.EditRebuild)等等;(3)对于显示系统创建 图形时所出现的意外失败,仿真主控制系统应当及时处理,并注意状态记录变量值的恢复。3应用 实例德国的MAHO800C五坐标数控铣采用CNC432编程及控制系统,其编程系统具有高 级编程语言的特点,支持变量、多种数学函数的使用,任意程序段的多次循环调用,通过传递参数 进行子程序调用等等。笔者采用VisualBasic6.0简体中文版通过OLE(对象连接 及嵌入)技术,以SolidWorks2000图形系统为显示平台,以较小的投入成功的开发 出了满足实际使用要求的仿真系统。3.1系统流程(见图2)3.2仿真图形显示(见图1)图 1某数控程序仿真结果实例仿真系统还包括主控制台、刀具库浏览、机床运行参数显示、数控文件 显示等窗口,此处略。4结束语以现有的三维实体造型软件作为仿真图形平台,通过OLE接口所 开发的数控仿真系统具有投入小、开发周期短、实用性强等特点,模块化、高容错性、面向对象的 编程方法使系统不仅具有良好的可扩展性的通用性,而且运行可靠、错误提示明确。在当前NC仿真系统开发难度大、周期长、通用性差的情况下,本文所提出的方法无疑为一条十分有效的捷径。图2MAHO800C仿真系统设计流程基于三维实体模型的多坐标数控加工过程仿真@高利辉$西北工业大学!西安710072
@王润孝$西北工业大学!西安710072