APP下载

GLS与VP的虚拟数控机床仿真系统的设计开发

2022-07-23陕西烽火电子股份有限公司支朋飞吕小刚

电子世界 2022年1期
关键词:数控机床仪表面板

陕西烽火电子股份有限公司 支朋飞 吕小刚

本文研究应用以Vega Prime三维视景仿真平台与GL Studio仪表仿真软件联合开发虚拟数控机床仿真系统,提供了系统结构框架所涉及的某些关键技术的解决方法,实现了GLS仪表模型在VP三维场景中的移植显示和数据的相互通信,构造了逼真的虚拟加工操作环境。

数控仿真软件是运用虚拟现实技术通过二维或三维图形界面来模拟真实的数控加工环境,要求具有逼真的人机交互界面,避免人为误操作而达到良好的教学目的。当前主流的数控仿真加工系统均是在PC终端上实现的,部分是集成在CAM(计算机辅助制造)软件中,比如既有德国SYMPlus CNC、日本FREDAM等国际主流系统,也有上海宇龙、南京斯沃等国产系统。

本研究的重点在于结合Vega Prime(简称VP)与GL Studio各自的优势,实现二者的混合编程,使该系统具备良好的人机交互界面,将虚拟数控机床处于逼真的三维场景中,操作人员可借助一定的人机交互手段(如数据手套、3D眼镜),使训练者置身于虚拟的三维环境并沉浸其中,通过操作虚拟机床面板来模拟控制机床动作,获得与真实世界相同的体验感。

1 数控仿真系统技术路线

该系统在Windows XP Professional操作系统下,所用软件有:建模工具软件SolidWorks,模型转化软件Deep Exploration,模型建立软件Creator 3.2,仪表仿真软件GL Studio,仿真平台软件Vega Prime,编译环境为VS2008,使用上述工具便可进行模型的建立和驱动的开发。本数控仿真系统的实现主要分为两个部分:场景建模与场景驱动,如图1所示。

图1 技术路线开发流程

场景建模是运用数学方法将仿真对象的三维数据存储在计算机内,首先使用三维建模软件对数控加工中心的装配体和零部件建立三维实体模型*.sldprt/*.sldasm,然后通过Deep Exploration软件将*.sldprt/*sldasm的模型格式转换成*.3ds,最后把*.3ds导入到Creator 3.2中,将*.3ds模型格式转化为Vega Prime可识别的*.flt文件并对其进行颜色渲染。

场景驱动是将仿真对象的实时状态数据以图像的方式输出,通过使用API函数来实现对仿真对象的驱动控制,实现对虚拟仪表、虚拟部件等三维模型的实时交互操作,将VP嵌入到开发平台VS2008中完成场景配置。

2 数控机床仿真面板开发

数控加工仿真面板的主要操作过程是在GL Studio中设计完成的,包括面板仪表界面的开发、各种仪表间的逻辑关系控制及信息传递、仪表与外部Vega Prime的数据交互,开发面板执行文件的过程是一个交互循环的过程。

(1)操作面板的制作:数控机床操作面板是操作人员与数控机床系统之间进行交互的桥梁,通过面板可以实现对数控系统的查询、编程、调试、修改等输入或输出操作。

(2)仪表间的信息交互:仿真对象的运行是通过编写的代码实现驱动,比如:NC键盘信息的显示、各仪表间的逻辑控制、旋钮档位的数据传递等。

(3)面板动态链接库的生成:将GL Studio所形成的虚拟仿真界面进行保存并自动生成2个源文件和1个头文件,其中源文件win_main.cpp是程序的启动入口文件, C++容器类涵盖了仪表对象的初始化代码、显示代码、驱动代码及主循环代码。然后经过VS2008编译环境进行编译,在编译未出现错误的情况下,在start的下拉菜单中选择LiveComponent Debug后最终点击运行,便可生成*.gls模型的动态链接库文件*.dll。

3 虚拟面板在VP中的动态调用

在Vega Prime与GL Studio的数据交互方面,将GL Studio开发的虚拟仪表组件在Vega Prime中进行动态调用,在安装了与GL Studio配套的插件vp GLStudioPlugin后,可将GL Studio开发的虚拟仪表动态链接库文件(DLL)嵌入到Vega Prime编辑器中,从而实现虚拟仪表与三维视景仿真的功能相结合,虚拟三维显示效果如图2所示。

图2 数控机床仿真系统三维场景效果

4 操作面板的GLS数据向VP进行传递

在数控机床加工仿真过程中,对机床面板仪表进行操作时,需要将一些按键信息和当前仪表状态的数据传入VP中进行处理。如在控制刀具的运动过程中,需要将NC键盘输入的刀具编号以及运动数据等信息通知VP程序中的主控单元,来完成刀具运动的前期准备。

在开发过程中,采用在组件生成的DLL中导出全局变量的方法来实现机床操作面板GLS组件与VP进行数据共享,刀具移动轨迹如图5所示,详细开发步骤如下:

(1)在GLS组件的头文件中声明:__declspec(dllexport)int GlobalData,使其他组件可以访问全局变量GlobalData。比如:定义按键1的变量为int run1,然后在file的头文件中声明__declspec(dllexport)int run1,从而便可以通过变量run1来实现GLS组件向Vega Prime进行数据传递。

(2)生成*.dll和*.lib文件,并在需要使用全局变量GlobalData的组件程序中完成配置。配置过程如下:在Project属性Linker中选择general,然后在Additional Library Directories中添加*.lib的路径;在input中的Additional Dependencies中添加生成的*.lib。

(3)在VP代码中声明:extern__declspec(dllimport)int GlobalData;并将生成的*.dll文件拷贝至该组件文件夹下。这样GlobalData数据就以全局变量的形式导入到了VP中。

通过虚拟数控机床仿真系统的开发实践,使用Vega Prime与GL Studio相结合的方法联合开发数控仿真系统,证明了无论是在三维场景的仿真还是在虚拟仪表的仿真方面都能收到很好的效果,该技术可广泛应用于三维可视化仿真领域。

猜你喜欢

数控机床仪表面板
杭州华方数控机床有限公司
浙江中控自动化仪表有限公司
浙江中控自动化仪表有限公司
数控机床故障检测与维修
石材家具台面板划分方法
MasterCAM在面板类零件造型及加工中的应用
数控机床电气系统的故障诊断与维修
Photoshop CC图库面板的正确打开方法
面板塑件凸毂结构优化及模具设计
PLC在数控机床中应用