使用脱机编程,编写的程序结构优化、层次分明,能实现参数化编程,可以完成各种复杂的测量任务,编程时合理使用子程序还可以提高编程效率。以圆周对称的某零件顶部斜面上的6个孔的测量为例,介绍了脱机编程在三坐标自动测量中的实际应用。
三坐标测量机(CMM)作为保障产品质量的有效工具,在机械行业得到了越来越广泛的应用。自动测量相比人工测量可以节约大量的工时,测量精度更高,测量结果更稳定。测量程序的生成主要有自学习方式和脱机编程方式。自学习方式智能化程度高,简便易,适合初者。机编程又叫离线编程,即在编程过程中只使用测量软件提供的编程语言进行编程,利用软件提供的变量、函数、指令、语句、条件、循环、文件操作、子程序等功能,可以实现几乎所有测量机功能的编程。使用脱机编程编写出的程序结构合理,简捷易读,并可通过参数化编程的方法来实现同种类型工件的程序共用,提高编程及工作效率。某零件如图1所示,由5轴定位加工而成,零件是圆周对称的,各对应特征的加工精度要求相同,现需要对顶部斜面上的6个孔的尺寸精度进行测量。
确定可以看到6个孔均在斜面上,每个圆孔的测量方法和评价都是相同的,相邻孔轴线之间的夹角相同,只是矢量方向不同,所以每测量一个孔,测头需要旋转一个相同的角度。如果采用自学习编程的方式进行测量,对每个孔都要进行相同的操作,效率低下。因此采用脱机编程,并编写子程序,孔的测量和评价均在子程序内进行,测头的旋转也可以通过程序循环实现。
编写测量程序前要预先建立名为B,的零件坐标系,该坐标系的原点位于零件底面中心。在编写程序时需要调用该坐标系。
测量主程序的流程如图2所示
2.1 测头角度调整
测量时要选择合适的测头,为了使测针与斜面垂直,取得最佳测量效果,测量时将测头A轴旋转60,B轴的旋转角度范围为-180~+180,每测完一个孔B轴需要自动旋转60。程序中使用PROBE-NO(Str)指令设置测头角度,Str为一字符串,它在此可取值为A60B30,A60B90A60B150,A60В–30,А60В-90 А60В-150,8 序中使用如下语句实现测头角度的自动调整:
V100 = V100-60!调整B角度
V101 = V100!中间变量
S$2=STR$(V101)!字符串转化
S$1 ="A60B"+S$2!字串运算
PROBE-NO(S$1)!旋转测头
程序中使用了数值转化为字符串指令Str$(Value)。根据测量的起始孔不同,需要将B轴初始化为不同的角度,此例B轴的初始角度为150,因此V100的初始取值为210。
2.2 构造局部坐标系
斜面和孔是构造局部坐标系的基准元素,在斜面上和孔内采点,创建“平面-S"和"圆-s",使用如下指令构造局部坐标系G::
ALIGN-TO("平面-S","-Z")!构造局部坐示系POFFSET("平面-S","Z")
POFFSET("圆-S","X,Y")
SAVE-COORSYS("C1")!保存局部坐标系
LOAD-COORSYS("CI")!调用调用局部坐标系
2.3.子程序编写和调用
对于经常使用的程序段或检测程序,把它编辑成独立的子程序,以后涉及相关参数检测时,直接调用该子程序实现自动检测而不必再编新的程序。测孔子程序的流程图如图3所示。
子程序必须位于主程序之后,根据流程图编写的子程序代码如下:
SUBROUTINE CEKONG
FOR(V1,1,PO)
V2 =360/6*(V1-1)
V3=P1/2*COS(V2)
V4=P1/2*SIN(V2)
V17=(P1/2-3)*COS(V2)
V18=(P1/2-3)*SIN(V2)
MOVE-TO(V17,V18,P4)
READPROBE(V3,V4,P4)
NEXT
TOL("LAD",P1,P2,P3)!对孔尺寸公差进行评定
SET-OUTPUT("LAD")!评定输出
CIRCLE("")
SUBEND
在子程序中,PO,P1,P2,P3和P4用来接收主程序传递来的参数,PO表示自动测量时的采点数,P1表示孔的名义尺寸值,P2表示上偏差,P3表示下偏差,P4表示测量深度。
使用如下语句调用子程序:
CALL CEKONG(5,40,0.02,0,3)!调用子程序
2.4. 调整零件坐标系
调用子程序后需要立即调整零件坐标系B,,为下一个孔的测量做准备:
LOAD-COORSYS("B1")!
ROTATION("Z",-60)!!
SAVE-COORSYS("B1")!
利用AEH-MQ8106三坐标机进行测量,如图4所示,测量软件为AC-DMIS 5.0。程序运行一次,可将所有孔的尺寸都检测出来。
测量结果如表1所示,从程序自动给出的评定看出,第2个孔的公差超出了给定公差范围。
在三坐标测量中,针对不同零件,合理采用脱机编程,并调用子程序,可以缩短程序长度、优化程序结构、提高程序的利用率。但是脱机编程需要更准确深入掌握编程指令,对测量者要求较高。