□ 毛文亮□ 杨小平
1.甘肃机电职业技术学院 甘肃天水741001
2.甘肃农业大学科学技术处 兰州730000
随着现代制造业智能化、数字化、网络化的发展,精密复杂零件“设计-加工-测量-补偿加工”一体化制造成为了趋势。近年来,国内外学者对此进行了深入研究。Mou等[1]开发了一种基于计算机辅助设计CAD/CAM/CAI的在机检测系统。Kramer等[2]对基于零件表面特征的检测系统进行了研究。Yoon等[3]对基于PCNC(Personal Computer based Numerical Control)的在机检测系统进行了研究。Kim等[4]研发了一款将检测路径用G代码格式传送给数控机床的在机检测系统。孙志海[5]介绍了基于CAD的加工中心在线检测系统的设计。辛娜[6]研究了加工中心在线检测编程技术。陈欢等[7]开发了基本体在线检测宏程序。陈明娟[8]研究了基本体在线检测路径规划。总之,国外的在线检测系统技术相对成熟,但价格非常昂贵。国内的在线检测系统检测功能相对比较单一,无法对复杂零件进行全面精确测量。因此,开发一套功能全面、价格低廉的数控机床在线检测系统,对精密复杂零件 “加工-检测-补偿加工”一体化制造具有重要意义。
数控机床在线检测系统主要由测头、数控机床、信号接收装置和计算机组成。在线检测时,在检测系统中导入零件CAD模型,选取检测点,生成检测程序,进行仿真校验。仿真校验无误后,计算机通过数控机床通信接口将检测程序传送给数控机床,数控机床驱动测头按检测路径运动,当测头接触到零件后,发出触发信号,信号被接收装置接收,并传给转换器,转换器把信号处理后传给数控机床控制系统,机床停止运动,测点坐标被保存下来。然后进行下一点测量,等所有点测量完毕,测点坐标通过通信接口传输给计算机,计算机对检测数据进行后续处理,生成检测报告。数控加工在线检测原理如图1所示。
▲图1 数控加工在线检测原理
笔者开发的数控机床在线检测系统是以配置FANUC 0i MC数控系统的加工中心为执行设备,以UG NX10.0三维制图软件为平台,借助UG/Open GRIP、UG/Open Menu Script[9]等UG二次开发工具,将矩阵工厂数学软件MATLAB 2016和数控加工仿真系统VERICUT 8.0集成于UG操作环境下,进行在线检测的一款数控机床在线检测系统。这一在线检测系统具有检测模型测点选取、检测程序生成、检测仿真、加工中心串口通信、检测误差补偿计算及数据处理等功能。主要由UG、MATLAB和VERICUT三大模块组成。
检测点信息是检测系统获取检测零件表面数据信息的主要依据。主要指曲面检测点的三维坐标、检测点相对于检测曲面的法向矢量、检测点相对于检测曲面的切向矢量等[10]。数控机床在线检测时,首先要对检测曲面检测点的数据信息进行提取,为实现上述功能,在二次开发中,笔者用UG/Open GRIP以NURBS曲面在U、V两个方向的节点矢量,均匀划分采样网格,设置步长,生成节点,以节点作为曲面检测点。检测点确定后,定义surf为曲面变量,pt(200)为测点变量,fxl(3)为检测点相对检测曲面的法向矢量,qxlu(3)为检测点相对检测曲面的U向切向矢量,qxlv(3)为检测点相对于检测曲面的V向切向矢量。编写检测点信息读取程序,调用函数IDENT,选取检测曲面和检测点,保存变量,用FETCH和READ命令读取检测点三维坐标。调用函数SPARF,求取检测点U、V参数值。调用函数SNORF,求取检测点相对于检测曲面的法向矢量。调用函数SDDUF,求取检测曲面在U向的切向矢量。调用函数SDDVF,求取检测曲面在V向的切向矢量。调用函数IF、JUMP循环语句,重复上述操作,待检测曲面所有检测点的三维坐标、法向矢量、切向矢量信息获取后,用PRINT语句以*.txt格式输出到列表,检测曲面检测点数据信息提取完毕。
曲面检测点数据信息提取后,利用软件MATLAB 2016读取检测点信息,按照测头沿检测点法向矢量检测的原则,规划三轴联动加工中心在线检测路径。在线检测路径规划完成后,根据建立的三轴联动加工中心运动模型,编制后置处理程序,生成NC检测代码,并把NC检测代码传输给加工中心,加工中心驱动测头按照规划的检测路径运动,就可以实现加工中心对零件的在线检测。为实现上述功能,在二次开发中,笔者对编制的MATLAB 2016源程序进行了打包处理,并以*.dll的文件格式进行了保存。在UG10.0环境下,通过UG/Open Menu Script开放的端口函数,用*.men文件对编制的MATLAB 2016源程序*.dll文件进行了调用,使MATLAB 2016与UG10.0在程序调用和数据信息转换间实现了对接[11]。
为避免干涉,在线检测前需要调用VERICUT8.0对检测路径进行仿真。为实现上述功能,通过新建系统环境变量,增设VERICUT8.0程序运行图标,实现了UG10.0与VIRECUT8.0的无缝连接。具体操作过程为:在电脑属性中打开系统属性对话框,选择高级,新建系统变量CGTECH_INSTALL,输入变量值D:Program Filesvericut 8.0VERICUT,点击确定;新建系统变量CGTECH_PRODUCTS,输入变量值D:Program Filesvericut 8.0VERICUTwindows64,点击确定;新建系统变量LSERVOPTS, 输入变量值-s"C:ProgramDataCGTechlicensecgtech.lf",点击确定;新建系统变量LSHOST,输入变量值GYZX6-PC,点击确定;新建变量UGII_VENDOR_DIR,输入变量值D:ProgramFilesvericut8.0VERICUTwindows64 xNX10english,点击确定。通过新建上述系统变量,并赋值,就使UG10.0与VIRECUT8.0实现了对接。新建系统环境变量如图2所示。具体使用时,打开UG10.0进入加工环境,在工具条上单击VERICUT8.0图标,进入VERICUT8.0界面,就可以对检测路径进行仿真、优化。
▲图2 新建系统环境变量
为验证基于UG NX 10.0二次开发的数控机床在线检测系统的可行性和有效性,笔者在三轴数控机床上进行了试验验证。具体过程为,在UG NX 10.0中创建检测零件CAD模型,用UG/Open GRIP选取检测曲面,确定检测点,调用相应函数,提取检测点坐标矢量信息,并保存。检测零件曲面测点分布如图3所示。检测点信息提取后,在UG10.0环境下调用MATLAB 2016软件,读取检测点三维坐标、法向矢量、切向矢量信息,自动规划检测路径,路径规划好后,设置测头半径、进给率、定位距离,后置处理程序生成在线检测NC代码,保存到指定文件夹路径位置。在UG NX 10.0环境下启动软件VERICUT8.0,根据加工中心和检测零件模型,读取在线检测NC代码,对在线检测过程进行仿真,仿真无误后,将在线检测NC代码导入加工中心,加工中心驱动测头对零件进行在线检测,加工中心接收到的检测程序如图4所示。
▲图3 检测零件曲面测点分布
▲图4 加工中心接收的检测程序
试验中,笔者对检测零件曲面上五个测点的在线检测数据与三坐标测量机检测数据进行了对比,结果显示,基于UG NX 10.0二次开发的数控机床在线检测系统检测数据与三坐标测量机检测数据的最大误差为0.05 mm。考虑到检测零件二次装夹定位中产生的测量系统误差的存在,笔者认为基于UG NX 10.0二次开发的数控机床在线检测系统是可行有效的。曲面零件在线检测如图5所示,曲面零件三坐标测量机检测如图6所示,曲面零件五个测点的在线检测数据与三坐标测量机检测数据的比较见表1。
▲图5 曲面零件在线检测
▲图6 曲面零件三坐标测量机检测
表1 曲面零件五个测点的检测数据比较mm
通过UG/OpenGRIP、UG/OpenMenu Script等UG二次开发工具,将软件MATLAB 2016和VERICUT8.0与UG NX 10.0软件进行了有效集成,在UG NX 10.0环境下,通过MATLAB 2016、VERICUT8.0与UG NX 10.0之间的数据信息转换,实现了加工中心对加工零件的在线检测,有效提高了精密复杂零件数控加工质量和效率,也为精密复杂零件“加工-检测-补偿加工”一体化制造提供了参考依据。