刘 昕 石 鑫
(①青海民族大学,青海 西宁 810007;②中航工业江西洪都航空工业集团有限责任公司,江西 南昌 330001)
CORBA技术在三层C/S虚拟车削加工仿真方面的开发应用
刘昕①石鑫②
(①青海民族大学,青海 西宁 810007;②中航工业江西洪都航空工业集团有限责任公司,江西 南昌 330001)
分布式应用是现今网络时代发展的主流,其最新成果已在世界范围内得到普及使用。现通过研究数控车削加工仿真的实现过程,在分析传统数控加工仿真技术及其弊端的基础上,采用基于CORBA组件技术与OpenGL图形渲染技术实现数控虚拟车削加工模拟仿真系统,概括分析程序的运行机理,给出模型结构,并在VC++6.0开发环境下,结合OpenGL技术,最终实现跨网络、跨平台的数控虚拟车削加工的模拟仿真。结果表明:利用CORBA技术能够提高分布式虚拟加工仿真软件的开发速度,增强开发软件可靠性,可为计算机辅助加工工艺方案是否合理提供判断依据与技术支撑。
数控车削;CORBA;OpenGL;VC;虚拟加工
随着计算机技术的不断发展,分布式应用已成为当今网络时代发展的主流趋势。在计算机辅助设计与制造领域,工件数控加工过程的建模和仿真是虚拟制造技术在机械加工中的重要应用,该应用作为虚拟制造技术的基础性研究已经成为虚拟制造技术发展的关键和亟需解决的瓶颈问题[1-2]。然而,由于受到计算机软硬件技术限制,传统的单机数控加工仿真系统已经远远不能满足人们的需求。特别是随着各种DCS和基于现场总线的控制系统(FCS)不断出现,功能也越来越复杂,这就给数控仿真系统的效率提出了更高的要求。另外,传统的仿真软件开发中工程化程度还比较低,开发工作也不够规范,且这些分布的计算机往往具有不同的硬件平台及操作系统,这就使得在分布式的网络环境下开发和维护应用软件变得十分棘手且易出错,导致软件开发周期过长,劳动强度大,开发成本高,软件升级困难[3]。
近些年来,采用公共对象请求代理(common object request broker architecture,CORBA)的分布式计算模型的提出为解决上述困难找到了出路。该分布式计算模型是分布式对象系统中对象间发送和接收消息的“软总线”(结构如图1所示)[4],可以简化本地与远地对象间的通信,使之以更透明的方式实现各对象间的互连互通与互操作,免去繁琐易于出错的底层工作,使位于不同地理位置的众多客户通过网络连接便能实现数据共享,达到协同仿真制造的目的。目前,流行的分布式计算技术主要有OMG的CORBA和微软的COM/DCOM。与COM/DCOM相比,OMG的CORBA具有更好的跨平台跨网络性能,技术程度更高[5-6],故而本系统用OMG的CORBA来实现数控车削加工的虚拟仿真。
基于CORBA ORB软总线的NC加工仿真系统结构框架如图2所示。概括来说,数控加工仿真系统的基本工作就是对系统中的各类对象进行建模和仿真。那么,在分布式仿真系统中,便可根据仿真对象将整个系统体系划分成各类仿真子系统(仿真部件)。这些分布的仿真子系统分别管理着不同种类或地点的仿真运动和状态,并向外界反馈仿真对象状态、激发相关事件。与此同时,系统还应该包括仿真动态的可视化显示、仿真数据采集器、演示仿真控制器等辅助运行部件,这些部件都通过CORBA软总线进行交互与集成。类似于计算机硬件的构造模式,CORBA ORB软总线就如同计算机中的总线,那么仿真应用部件就相当于通过接口插在总线上的插件。
在基于CORBA标准的环境中,融合CORBA和VC++将会构造出VC++ ORB结构。通过ORB,客户能够在不熟知其实现细节的情况下,透明地发出请求和接收响应,实现与服务器交互的动态仿真。一个完整的车削仿真系统的建立涵盖三个方面,即建立IDL文件,依据IDL文件编写服务器端和客户端代码,编译运行代码[7]。系统运行机理的具体实现过程包含以下三步:
2.1接口定义[8-9]
IDL为模拟仿真程序模块的接口文件,其定义了服务器能够实现的功能以及客户如何去调用这些功能。假如客户要想调用模拟仿真系统中的传输机床资源信息的代码函数,唯一的一种途径就是通过调用ManufacturingResourceTransmit ( in manufacturing resourcedate machinedate)函数实现。这样,客户就可在客户端定义一个变量EmluatorServer,该变量是一个服务器对象,虽然它的实体或许并不存在于我们的机器中,但是ORB却为我们做了大量有用的工作,让我们定义和使用一个远程对象,如同调用自己程序中的东西那样容易。图3为某一IDL文件的部分描述。
2.2服务器程序实现[10]
在服务器端,在编写好服务器端界面的同时,应对每个IDL定义的每个接口编写相应的对象实现类和初始化ORB环境并等待用户客户调入的代码。本开发系统中,接口定义文件SolidGeometryEmluator.IDL用来实现IDL文件中所定义的各种功能,包含传输NC代码、传输机床资源信息、启动/停止仿真、返回实时节点数据、返回加工结果等功能模块。图4为本系统服务器程序实现代码简介。
2.3客户程序实现
在客户端,基于静态调用具有编程简单,调用便捷,运行速度快等诸多优点,故而在编写好客户端界面的同时,系统主要通过静态调用方法实现请求对象服务。静态调用要用到由IDL接口文件编译后自动生成的静态调用接口Stub,客户程序进行编译时,Stub文件会被自动连接进去。
2.4三层C/S结构模型
客户与服务器的交互过程如下[11-12]:
(1)表示层的客户端向服务器发出请求,传输NC代码与制造资源信息,找到要实现的对象标识。
(2)查找对象标示所适应的Stub,并通过该Stub向本地的ORB核心发出请求,本地的ORB再通过IIOP协议与远程ORB进行通信,远端ORB核心将请求发送给相应的对象适配器。
(3)对象适配器接受到请求后,查找相应的Skeleton,再通过对应的Skeleton激活CORBA应用对象。
(4)CORBA应用对象对客户的请求进行识别,依据客户请求的内容,直接访问资源层的数据库,或者与网络上的其它CORBA对象进行交互,共同完成客户请求,在服务器上执行数控加工仿真过程。
(5)Skeleton装载数控加工仿真结果后,会将结果通过对象请求传递和执行路径的逆向返还给客户,从而完成了一次完整的请求调用。
图5表示基于CORBA的三层C/S应用体系结构,由图5中可知,CORBA在传统的客户/服务器分布式计算模型中加入了ORB(对象请求代理)的层次。客户不再直接和服务器联系,而由ORB来定义服务器。这样,服务器的变化对于客户是透明的,客户和服务器也不受一一对应关系限制,客户可以在运行时定位和使用不同的服务器,从而实现虚拟数控车削加工的三维模拟仿真。
本系统实现了一个基于CORBA技术的数控车削加工三维模拟仿真系统。系统中各个程序模块可以分布在网络中的任何一台机器中,通过ORB进行仿真工作。当仿真服务器启动后,可以使客户端和服务器相连接起来,这时就能够执行NC代码、机床信息传输等操作。当预备条件准备好后,仿真工作即可开始进行。在仿真过程中用户还可以执行数据跟踪工作进程,由于本系统采用了较为先进的线程控制手段,所以在仿真过程中,用户能够随时暂停仿真演示,也可随时终止仿真演示。仿真运动结束后,系统会自动生成仿真结果,返回工件加工的结果数据,并绘制出带有信息标注的二维工件图。这样,用户不仅能够直观地看到整个仿真加工情况,获取结果,而且依据反馈的结果信息判断出所设计的工件是否符合实际加工要求。通过测试,程序运行稳定,各功能模块均工作良好。图6和图7分别为本系统测试进程(客户端成功传输NC代码)与测试结果(车削加工仿真结果)。
本文针对传统数控加工仿真的不足之处,提出了一个基于CORBA和OpenGL技术实现数控车削加工仿真的解决方案,实验结果表明该方案整体结构合理,系统程序运行可靠,具备维护性好、扩展性良好、模型重用方便、适应多平台、可进行分布式处理的特点。目前,本开发系统已在工程实践中得到实际应用。随着仿真技术的不断发展,CORBA技术在机械虚拟加工仿真中的应用会更加广泛,优势更加明显,其将是仿真软件业发展的必然趋势。
[1]王占礼,董超,胡艳娟,等.数控加工仿真系统研究现状与发展趋势[J].制造业自动化,2013,35(5):41-45.
[2] 郑先容,黄杰,贾焰.基于CORBA构造模型的编译器的研究与实现[J].计算机应用,2005,25(1):91-92.
[3]牟世刚.面向虚拟制造的数控加工仿真技术的研究[J].机床与液压,2009,37(9):249-251.
[4]陈雅琳,黄宏光,李燕斌.CORBA分布式系统中网络分割协议可行度分析[J].计算机应用,2013,33(8):2124-2127.
[5]赵瑜,刘勇,孔捷.基于CORBA组件的分布式网管软件设计[J].无线电工程,2012,42(7):4-6.
[6] 童恒庆,聂会琴,李锡喆.CORBA/COM/EJB三种组件模型的分析与比较[J].计算机应用研究,2004,21(4):66-67.
[7] 陈思耀.基于CORBA技术网路应用系统的IDL设计与实现[J].四川理工学院学报:自然科学版,2007,20(2):54-59.
[8] 李颖,胡明.基于C语言实现的IDL编译器[J].计算机技术与发展,2013,23(3):5-9.
[9] 李娜,王维哲.基于CORBA的异构数据库访问中间件的研究与实现[J].计算机应用与软件,2010,27(5):162-164.
[10] 张昭理,胡金柱.CORBA构建模型在分布式体系结构中的应用[J].计算机工程,2004,30(12):81-83.
[11] 张奕.基于CORBA系统的研究与现实[J].现代导航,2013(4):308-311.
[12] 卢立男,周长春,李喜旺.一种集成CORBA与WebServices的中间件[J].计算机系统应用,2011,20(4):131-135.
(编辑汪艺)
如果您想发表对本文的看法,请将文章编号填入读者意见调查表中的相应位置。
·名词解释·
专用机器人在固定地点以固定程序工作的机器人,其结构简单、工作对象单一、无独立控制系统、造价低廉,如附设在加工中心机床上的自动换刀机械手。
CAPP技术CAPP是计算机辅助工艺设计(Computer Aided Process Planning)的简称。工艺设计是生产准备工作的第一步,也是连接产品设计和产品制造之间的桥梁。工艺设计必须分析和处理大量的信息,既要考虑产品设计图上有关结构形状、尺寸公差、材料及热处理以及批量等方面的信息,又要了解加工制造中有关加工方法、加工设备、生产条件、加工成本及工时定额,甚至传统习惯等方面的信息。工艺设计包括查阅资料和手册,确定零件的加工方法,安排加工路线,选择设备、工装、切削参数,计算工序尺寸,绘制工序图,填写工艺卡片和表格文件等工作。高速发展的计算机技术为工艺设计的自动化奠定了基础。CAPP是利用计算机技术,在工艺人员较少的参与下,完成过去完全由人工进行的工艺规程设计工作的一项技术。CAPP系统不但能利用工艺人员的经验知识和各种工艺数据进行科学的决策,自动生成工艺规程,还能自动计算工艺尺寸,绘制工序图,选择切削参数,对工艺设计结果进行优化,从而设计出一致性良好、高质量的工艺规程。另外,由于计算机中存储的信息可以反复利用,从而大大提高了工艺设计的效率。
电解冶炼利用电解原理,对有色和稀有金属进行提炼和精炼。分为水溶液电解冶炼和焙盐电解冶炼两种。水溶液电解冶炼在冶金工业中广泛用于提取和精炼铜、锌、铅、 镍等金属。 例如铜的电解提纯:将粗铜(含铜99%)预先制成厚板作为阳极,纯铜制成薄片作阴极,以硫酸和硫酸铜的混和液作为电解液。通电后,铜从阳极溶解成铜离子向阴极移动,到达阴极后获得电子而在阴极析出纯铜(亦称电解铜)。粗铜中杂质如比铜活泼的铁和锌等会随铜一起溶解为离子。由于这些离子与铜离子相比不易析出,所以电解时只要适当调节电位差即可避免这些离子在阳极上析出。比铜不活泼的杂质如金和银等沉积在电解槽的底部。焙盐电解冶炼用于提取和精炼活泼金属(如钠、镁、钙、铝等)。例如,工业上提取铝:将含氧化铝的矿石进行净化处理,将获得的氧化铝放入熔融的冰晶石中,使其成为熔融状的电解体。
Application of CORBA technique in virtual simulation of three-tier NC lathe turning
LIU Xin①,SHI Xin②
(①Qinghai Nationalities University, Xining 810007, CHN; ②AVIC Jiangxi Hongdu Aviation Industry Group Corporation Limited, Nanchang 330001, CHN)
Distributed application is the developing mainstream of internet age, and its latest achievements have been applied widely throughout the world. Now with numerical control(NC) lathe turning processing simulation taken as an example, based on the analysis of traditional NC machining simulation technique and its flows, the development structure of the software is established. With the use of distributed CORBA component and OpenGL graphic technologies, a new method of realizing NC lathe turning virtual simulation system is put forward. The operation mechanism of the program is analyzed, and the model structure is discussed in detail. In VC++6.0, with OpenGL graphic technology, the NC lathe turning virtual simulation which is across platform and network is realized. Results show that using CORBA technology can improve the development and reliability of distributed virtual processing software, and it also provides reasonable judgment and technical supports for the CAPP plans.
NC lathe turning; CORBA; OpenGL; VC; virtual processing
TP391
A
刘昕,女,1981年生,硕士,讲师,研究方向为计算机应用与网络。
2015-10-20)
160111