海天精工机床有限公司 海天精工博客

 宏程序在加工中心在线测量中的应用 - 加工中心

宏程序在加工中心在线测量中的应用 加工中心在线测量系统是构成精工机床质量保证体系的一个重要环节。目前可以利用在加工中心上直接配备触发式测头进行在线检测,它将加工和检测集成在一起,减少了测量时间,同时可实现部分三坐标测量机的测量功能。但是利用这种方法测量零件,其检测程序的编制往往比较繁琐、易错、无通用性。将精工宏程序引入到在线检测中,用户可以自行开发出一些宏程序库,并通过对宏程序赋值调用的方法,生成所需要的实际测量程序,控制加工中心自动完成测量任务。尤其对于复杂零件,可以极大地减少编程量,提高测量效率和准确性。1 检测对象 加工中心在线检测系统的检测对象为在加工中心上进行加工的零件。加工中心一般适宜加工比较复杂、工序多、要求高的零件。实际上这些复杂的零件大多是由几种基本体组合而成的,也就是常说的组合体。我们可以将一个复杂零件按照不同特征分解为不同的基本体,分别对这些基本体进行测量,然后进行数据处理,获得组合体的测量数据。例如在检测两孔中心距的过程中,可通过两次调用测量圆孔的宏程序得出两孔的中心坐标,再计算出两圆孔中心距。 基本体的测量包括常见的点、线、面、圆孔、圆柱、圆锥,凸台类、凹槽类、球、椭圆等等。可对这些基本体分别开发出相应的测量宏程序组成宏程序库,对于使用较多的形体还可以随时加入到库中,不断完善和丰富用户宏程序库。2 检测路径的规划 加工中心在线检测系统是一种通过采样来进行测量的系统,对于采到的点可以肯定地判断是否在公差允许的范围内,对于未采到的点却不能。这样一来,虽然采到的点全部在公差允许的范围内,但据此并不能保证未采到的点也在公差范围内。而且采样点的数量及分布的不同往往会有不同的测量结果。通常情况下,采用增加测量点个数的方法来提高测量精度,但测量点数的增加会使测量效率大大降低。如何协调两者的关系是在线检测系统研究的主要内容。对测量点的选择原则是:首先要满足检测精度的要求;其次要尽量提高测量效率。在生成检测 路径时,尽可能使测量路径最短。例如圆孔的测量可采用4点测量方法,先沿y向进行圆心找正,然后沿x 向测量,再沿y向测量。其测量路径轨迹如图1所示。 在进行在线检测的路径规划时,首先要对零件所有特征的可测性进行检查,然后按照可测性将零件的特征进行分组。对基准特征的检测必须在以其为基准的其它特征检测之前进行,因此零件初次装夹之后,有关的基准特征应该是可测的。3宏程序库的建立3.1 引入宏程序的意义 在实际应用中,通常希望表示某一类零件的形状和尺寸的程序指令是一个变量而不是一个确定值,针对这一类零件,可以通过赋值的方法获得它的实际尺寸,我们把这类程序称为宏程序体,简称宏程序。由此可以看出,精工语言的编制规则及指令形式虽与计算机语言不同,但使用方法是一致的。其中的宏程序就相当于计算机语言中的子程序,只有调用赋值时才能运行。因此在测量过程中可以利用宏程序的这一特点编制测量宏程序库,通过调用赋值自动生成测量程序。图2为宏程序的调用示意图。 摘要: 分析了宏程序编制的基本原则,开发出了多种基本体和组合体的测量宏程序库。通过对宏程序的调用赋值,可以自动完成各种复杂零件的测量任务,提高了测量效率。 两圆孔中心距的测量主程序表 主程序 %O7401; G54G90G00X0Y0Z0;G65P7400B5.C500.F50.S5.T2.A50.D70.;#14=#120;#15=#121; G65P7400B5.C500.F50.S5.T2.A100.D45.; #4=SQR((#14-#120)*(#14-#120)+(#15-#121)*(#15-#121));POPEN;DPRNT[A#4[35]];PCLOS;M30;% 说明 程序开始标志 程序号 工件坐标系设定调用测量圆孔1的宏程序 取出圆孔中心坐标X值取出圆孔中心坐标Y值调用测量圆孔2的宏程序 计算两孔中心距打开通讯口输出两孔中心距值关闭通讯口程序结束程序结束标志3.2用户宏程序基本检测指令 G31是在线检测程序中最常用的基本检测指令,它 是精工系统自定义的带有续效性的跳步指令。指令工作原理是:当测头碰触工件表面时,接触信号发生,控制系统接收此信号并同时将x、y、z坐标值储存起来并保持不变,仅当下一个跳越信号发出后才能改变,然后立即停止执行该程序段的剩余部分,转向下一个程序段。G92是工件坐标系设定指令,工件坐标系的原点就是程序的原点(或编程零点)。这是一个非运动指令,设定工件坐标系的原点。M02为程序结束指令,它的功能是在完成程序段的所有指令后,使主轴进给等停止。外部输出指令是加工中心在线测量系统与外部处理器进行通讯的重要指令,它包括开通指令POPEN;关闭指令PCLOS;数据输出指令BPRNT和DPRNT。3.3 用户宏程序中变量的种类 变量可分为局部变量、公用变量和系统变量三类,各类变量的用途和性质是不同的。局部变量#1 ̄#33,它是在一个宏程序中局部使用的变量,用于自变量的转换。公用变量#100 ̄#149和#500 ̄#509,它对于由主程序调用的各宏程序是公用的,断电将清除#100 ̄#149的公用变量,而#500 ̄#509的公用变量却不被清除,具有断电保护功能。系统变量有明确的使用规定,用户不能随意使用。3.4 用户宏程序开发的原则 每个宏程序开发过程都不是孤立的。为了形成一个功能强大的检测系统,宏程序的开发就必须遵循某些共同约定,以形成一套完整的宏程序功能体系。因此,针对完成某一种测量功能的宏程序的开发,编程者往往要考虑以下几个问题: (1)由于精工系统不同,宏程序变量和精工指令也不尽相同。为了得到一个通用的宏程序体系,编程者要对各种系统进行广泛的比较和分析。 (2)机床类型与测头类型也会影响宏程序的编制。由于机床和测头类型的不同组合可使不可测面与可测面相互转化。比如:三轴立式加工中心上,若工件位置不动,单向测头无法测垂直于Z轴的孔,而对垂直分布式测头来说则成为可能。 (3) 要明确测量对象属序前测量还是属序中或序后测量。序前测量时不知被测零件的位置坐标,需手动导引测头进入测量区;而序中或序后测量由于有准确的位置坐标,可通过程序实现自动测量。 (4)根据不同的测量对象,选定与之相匹配的测量方法,规划最优检测路径。 (5)所用公用变量是否与整个宏程序系统相统一。若#500~#504用来保存特定信息或其它重要参数,就不能用它来保存坐标值。即对于一个完整的宏程序系统,其公用变量的使用尤其是保持型公用变量的使用都要遵循最初的设计和安排。做到这一点可保证子程序间无误地传递数据。 (6)由于局部变量担负着调用子程序时参数传递的 任务,因此对于局部变量的使用也要注意进行适当的规划,保证所有参数含义的一致,例如宏程序都使用C传递接触速度,S传递测球直径等。3.5用户宏程序开发举例 下面以测量两个圆孔中心距为例来说明宏程序在加工中心在线检测系统中的应用,两圆孔直径分别为50mm和100mm。测量设备为FANUC6M精工系统、MAKINO立式加工中心、RENISHAWMP3型测头。在线检测软件界面如图3所示。 在检测之前先确定机床类型、测头种类及精工系统类型,然后设定测量参数,像测球直径、后退距离、测量重复次数等。调用测量圆孔的宏程序,根据第一个孔的测量参数进行赋值,生成第一个孔的测量程序,并在程序编辑区显示出来,再次调用圆孔的测量宏程序,重复上一步骤,显示出第二个孔的实际测量程序,然后再对检测程序作进一步的编辑,最终生成两孔中心距的检测程序。经编辑后的测量两孔中心距的测量主程序为下表所示。最后将生成的测量程序通过串行通讯接口传输给加工中心进行检测。