王秋菊
(大连职业技术学院,辽宁 大连 116037)
随着数控(NC)技术的发展,微机性能的不断提升,CAD/CAM软件不断涌现,如PROE,CAXA,CATIA,UG则为其中的佼佼者。这些软件功能十分强大,集产品造型、NC程序编制、零件加工过程三维动态仿真、力学分析于一身,在现在制造企业中应用十分广泛,发挥了巨大的作用。但是对于一些中小企业而言,这些优秀的软件大多价格昂贵,对硬件要求较高,操作复杂,而且一般要经过二次开发,对使用者提出了很高的要求。所以,一些中小企业提出符合自身情况的CAD/CAM一体化解决方案。本文结合某工厂异地制造中的CAD/CAM一体化需求,提出了一种切实可行的集成方案,并研制开发了数控加工集成环境系统。
由于一些企业规模以及技术能力的限制,没有像PROE一类的CAD/CAM软件,没有专门的CAD/CAM人才,甚至连编写NC程序的人员都很缺乏,需要利用其他企业(或技术中心)技术优势,通过网络或异地制造的方式参与市场竞争。企业间交流时,需要浏览零件3D图形、以此检验待加工件设计图是否符合要求,对NC代码进行校验以保证NC代码的正确性,以及把NC代码正确、方便地输送到数控加工设备。其异地制造策略如图1所示。
图1 异地制造策略
将本地需要加工的零件信息,通过Internet传给异地制造技术中心,异地制造技术中心编制数控加工代码,再通过Internet传回。本地通过NC加工集成环境中的NC代码仿真模块,对NC代码进行校验,通过浏览器确认后,传输到NC加工设备进行实际加工。
从以上分析可以看出,系统的功能至少要包括:零件图预览、NC代码校验和代码传输共3个功能模块。结合现有的计算机与网络技术,笔者提出如下设计思路。
将计算机仿真技术与OpenGL 3D动画技术相结合,以零件描述文件浏览器为基础,以NC机床刀具中心(简称刀心)轨迹的仿真器为中心,结合Win32多线程以及串口通信技术建立数控加工集成环境。
数控加工集成环境的设计,主要解决信息集成和界面集成。信息集成,主要是指集成环境中3个系统之间的信息能互相利用与共享。界面集成主要是为用户提供一个高效、友好、简洁的集成用户界面,充分发挥软件的功能[1]。在设计时对集成环境系统进行功能分解,通过定义统一的数据格式,利用接口文件实现信息的传输,从而达到信息的集成。
集成界面应该包括下列功能:菜单驱动和管理窗口功能及其管理图形显示、文件操作与管理、在线帮助(包括提示信息、错误警告信息、容错处理等)及接口程序。本文研究的数控加工集成环境集成了零件模型的3D动态交互浏览、加工零件NC代码的刀具轨迹的包络面仿真、以及加工零件NC代码的传输与控制。系统总体结构框架如图2所示。
图2 系统结构框架
集成环境并不是所有模块的简单组合。在集成软件设计时,应该考虑如下几个方面:
(1)软件系统的人性化。就是说软件必须尽可能地与人们的思维习惯保持一致、直观、易于理解、人机交互部分易于操作等。菜单的设计要有层次性,但最终命令子菜单不宜过深,以免影响了易操作性。图标设计形象,易于理解,并尽可能地给出提示,位置的摆放要遵循一定的顺序,如从上到下,从左到右等。
(2)设计时必须搞清楚各模块间信息流动、逻辑关系,以及各模块的输入输出。其中,信息流动的载体,可以是文件,也可以是结构变量,这个载体必须能很容易地被各模块,甚至其他软件系统所接受,这样才能扩展了自身的应用范围和实用性。
(3)VRML(Virtual Reality Modeling Language)—虚拟现实建模语言,被广泛地应用于Internet上创建虚拟的三维空间,可以创建虚拟的三维物体,还可以创建具有和浏览者的交互性更接近于现实世界的虚拟空间。VRML文件是虚拟三维空间的文本描述[2],后缀为WRL。PROE等大型CAD/CAM软件均支持VRML文件。所以VRML文件适合做文件接口。另外3DS文件是一种非常普遍的数据格式,以3DS格式保存的三维图形文件非常丰富,而且有非常丰富的3DS文件库,所以也可以作为文件接口。
基于以上原则建立的系统的流程如图3所示。
图3 系统工作流程图
(1)VRML文件浏览器。基于OpenGL建立系统的三维真实感图形浏览器,它包括3个组件:语法分析器,场景图,高真感图形呈现。3DS文件浏览器与VRML相似,其概念模型如图4所示。
语法分析器负责读取VRML文件,并将节点的信息保存到图元信息中,以便于场景图使用。场景图包括一个执行引擎,其作用是建立显示列表,将图元信息通过列表管理、并且通过层次转换修改图元中的信息。高真感图形呈现主要是将处理后的图元信息呈现出来,并且根据其图元中或用户自定义的光照、材质、纹理信息生成真实感三维图形。
图4 VRML文件浏览器概念模型图
(2)NC代码刀具轨迹仿真器。NC代码刀具轨迹仿真器,包括3个部分:语法分析器,轨迹生成器与动画生成。
语法分析器,主要是分析NC代码,构造符号表和变量表,为轨迹生成器提供必要的输入。轨迹生成器构造轨迹链表加入节点。动画生成通过构造显示链表,用OpenGL命令备都提供RS-232串口通信功能。利用Win32 API提供的串口操作函数CreateFile()打开并设置串行口,再用WriteFile()把要传输的NC代码段写到串行口,即可以很方便地实现代码传输。为了更好的控制传输的行为,采用了Windows多线程技术,创建用户界面线程、串行口监视线程和代码传输线程,分别实现用户终止传输命令,串行口状态显示,传输进度显示;向用户界面返回串行口状态,代码传输和向用户界面返回传输进度等。
利用VC++6.0 AppWizard建立SDI工程框架,应用了静态切分窗口,用到了3个视图:NC代码视图,文件列表视图和3D场景显示视图(如图5),分别负责NC代码、文件和刀心轨迹包络面及零件模型的显示与交互命令的解释。为了能更好地观察零件模型和刀心轨迹包络面,可以对其余两个视图进行消隐,并进行全屏显示效果。
图5 数控加工集成环境界
本文开发的数控加工集成环境,用NC代码刀心轨迹包络面仿真实现代码正确性检验。利用的VRML、3DS等文件格式进行数据交换,减少了对PROE等大型软件的依赖,增加了灵活性。利用Win32提供的串口操作函数,完成了PC向NC加工设备的数据传输,通过错误校验、人机交互控制、状态显示和Win32多线程技术,增加了集成系统的可靠性,而且界面友好、易操作。该软件解决了企业异地制造中零件图3D交互式浏览、NC代码仿真验证、RS-232串口传输控制、数据共享和交换等问题,并在企业获得了成功的应用。
[1]张 洁,顾 健,刘延山,蔡 兰.FMS集成开发环境的研究[J].江苏理工大学学报,1997,(5):74-77.
[2]阳化冰,刘忠丽,刘忠轩,王庆华.虚拟现实构造语言VRML[M].北京:北京航空航天大学出版社,2000.