本使用手册及样例包目录内所包含文档、PLC程序、机床可执行程序(MPF、SPF、…)、电气图,可能与用户实际使用不同,用户可能需要先对例子程序做修改和调整,才能将其用于测试。本例程的作者和拥有者对于该例程的功能性和兼容性不负任何责任,使用该例程的风险完全由用户自行承担。由于它是免费的,所以不提供任何担保,错误纠正和热线支持,用户不必为此联系西门子技术支持与服务部门。
对于在使用中发生的人员、财产损失本公司不承担任何责任,由使用者自行承担风险。
以上声明内容的最终解释权归西门子(中国)有限公司所有,后续内容更新不做另行通知。
测量运动变换(CYCLE996)
测量运动变换(CYCLE996)通过测量标准球的空间位置,自动计算运动几何转换(TRAORI或TCARR)定义的几何矢量尺寸。
工件测头在每个回转轴的三个位置接触球体以进行测量,回转轴位置可根据机床的几何尺寸确定。
Ø 3D测头(测头类型710)
Ø 在机床工作台上安装标准球
Ø 3D测头已标定(长度和半径)
Ø 至少一组刀架数据(CYCLE800),其误差不超过±1mm
Ø 标准型机床机构(X,Y,Z互相垂直),明确的旋转轴关系,轴方向符合ISO 841-2001或DIN 66217标准(右手定则)
Ø Protocol文件(MD11420 $MN_LEN_PROTOCOL_FILE ≥ 100)
3D测头 标定基准球
每个旋转轴选取3个测量位置,进行标定测量。
使用CYCLE800或TRAORI+TOROT指令将测头定位到标准球的测量起始点,使用CYCLE996测量标准球的位置。系统根据每个旋转轴3个测量位置的数据,计算出要求的几何矢量。
如在带有回转头的机床上,旋转轴的三个测量位置:

第 1 次测量 P1(初始位置) 第 2 次测量 P2 第 3 次测量 P3
Ø 说明
在进行第 2 次和第 3 次测量时,待测回转轴旋转一个任意、尽可能大的角度。
标准球安装在工作台上,且尽可能远离待测回转轴的旋转中心安装标准球。
为测量可回转夹具的坐标回转矢量,球体必须安装在相应的夹具上。并确保测头在所有选择的回转轴位置上都可以安全、无碰撞地逼近标准球、从标准球返回。
为每根回转轴确定三个测量位置(球面位置)。请注意,这三个位置产生的球面位置应形成一个尽可能大的三角形。



正确 错误 错误
Ø 注意
1)选定标定点时,注意测量起点(DFA)的选取必须足够长,否则会报警
2)选取标定点时,注意测头与基准球的干涉,避免在标定时发生碰撞
可设置两种测量方向,
沿直线轴方向(适用于工作台旋转机械结构)
沿刀具矢量方向(适用于铣头旋转机械结构)
沿直线轴方向 沿刀具矢量方向
MD55740 $SCS_MEA_FUNCTION_MASK
Bit8 = 0:运动测量不激活TRAORI或TCARR
Bit8 = 1:运动测量中激活TRAORI或TCARR
1) 3D测头标定(长度和半径)
2) 创建标定程序
3) 手动方式下,找到所有标定点的坐标(总共测量6次),将坐标输入到测量程序中
4) 开始测量
5) 旋转轴1三个不同位置的测量
如旋转轴C第1次测量,

6) 旋转轴2三个不同位置的测量
如旋转轴A第1次测量,

7) 计算

8) 测量结果
参数MD55740 $SCS_MEA_FUNCTION_MASK Bit7设置几何矢量计算的基础。
MD55740 位7:机床运动测量,以回转轴矢量的输入值为标定基础
= 0:以计算出的定向矢量(V1xyz, V2xyz)为标定基础
= 1:以定向矢量(V1xyz, V2xyz)输入值(TCARR)为标定基础

Bit7=1 Bit7=0
建议设置MD55740 Bit7=1。
以双摆台为例,创建TOOLCARR – tool carrier (classic)。

运动类型:回转台

元素 | 设置 |
旋转轴1&2 |
|
属性 |
|
; TCARR_MEAS_CYC800_TRACK.MPF
CYCLE800()
CYCLE832(0,_OFF,1)
G54 G17 G90 G64
$SCS_MEA_RESULT_DISPLAY=3
T="3D_999"
; M6
; GOTOF _ONLY_CALC
SUPA G0 A0 C0
SUPA G0 X-38.5 Y-343
SUPA G0 Z-315.5
STOPRE
; $P_UIFR[($P_GG[8]-1)]=CTRANS(X,$AA_IM[X],Y,$AA_IM[Y],Z,($AA_IM[Z]-17.5-$P_TOOLL[1]))
STOPRE
G54
CYCLE997(1102109,1,1,25,5,5,0,90,0,0,0,5,5,5,10,10,10,0,1,,1,)
STOPRE
G54
; ----------------- 回转轴C第 1次测量:C0 A0 -----------------
CYCLE800(5,"TC1",200000,39,0,0,0,0,0,0,0,0,0,1,20,1)
G0 X0 Y0
G0 Z17.5
CYCLE996(20201,1,1,25,0,0,0,0,0,0,0,20,5,5,1,,1,)
; ----------------- 回转轴C第 2次测量:C120 A0 -----------------
TOFFL=17.5
CYCLE800(0,"TC1",200010,192,0,0,0,0,120,0,0,0,0,1,20,1)
TOFFL=0
G0 X0 Y0
G0 Z17.5
CYCLE996(20202,1,1,25,0,0,0,0,0,0,0,20,5,5,1,,1,)
; ----------------- 回转轴C第 3次测量:C240 A0 -----------------
TOFFL=17.5
CYCLE800(0,"TC1",200010,192,0,0,0,0,240,0,0,0,0,1,20,1)
TOFFL=0
G0 X0 Y0
G0 Z17.5
CYCLE996(20203,1,1,25,0,0,0,0,0,0,0,20,5,5,1,,1,)
; ----------------- 回转轴A第 1次测量:C0 A0 -----------------
TOFFL=17.5
CYCLE800(0,"TC1",200010,192,0,0,0,0,0,0,0,0,0,1,20,1)
TOFFL=0
G0 X0 Y0
G0 Z17.5
CYCLE996(10201,1,1,25,0,0,0,0,0,0,0,20,5,5,1,,1,)
; ----------------- 回转轴A第 2次测量:C0 A45 -----------------
TOFFL=17.5
CYCLE800(0,"TC1",200010,39,0,0,0,0,45,0,0,0,0,1,20,1)
TOFFL=0
G0 X0 Y0
G0 Z17.5
CYCLE996(10202,1,1,25,0,0,0,0,0,0,0,20,5,5,1,,1,)
; ----------------- 回转轴A第 3次测量:C0 A90 -----------------
TOFFL=17.5
CYCLE800(0,"TC1",200010,39,0,0,0,0,90,0,0,0,0,1,20,1)
TOFFL=0
G0 X0 Y0
G0 Z17.5
CYCLE996(10203,1,1,25,0,0,0,0,0,0,0,20,5,5,1,,1,)
TOFFL=17.5
CYCLE800(0,"TC1",200010,39,0,0,0,0,0,0,0,0,0,1,20,1)
CYCLE800()
; MHOME("1","2")
TOFFL=0
_ONLY_CALC:
; ----------------- 计算坐标转换矢量 -----------------
; WITH SCALING
CYCLE996(3201200,1,1,25,0,0,0,-225.971,-550.753,0.2,0.03,20,5,5,1,,1,101)
; WITHOUT SCALING
; CYCLE996(1200,2,1,25,0,0,0,0,0,0,0,20,5,5,1,,1,100)
;T0
;M6
M17
; TCARR_MEAS_TRAORI.MPF
CYCLE800()
CYCLE832(0,_OFF,1)
G54 G17 G90 G64
$SCS_MEA_RESULT_DISPLAY=3
; MHOME("1","2")
T="3D_999"
; M6
; GOTOF _ONLY_CALC
SUPA G0 A0 C0
SUPA G0 X-38.5 Y-343
SUPA G0 Z-315.5
STOPRE
FL[C]=1000
FL[A]=1000
; $P_UIFR[($P_GG[8]-1)]=CTRANS(X,$AA_IM[X],Y,$AA_IM[Y],Z,($AA_IM[Z]-17.5-$P_TOOLL[1]))
STOPRE
G54
CYCLE997(1102109,1,1,25,5,5,0,90,0,0,0,5,5,5,10,10,10,0,1,,1,)
STOPRE
G54
ORIMKS
; ----------------- 回转轴C第 1次测量:C0 A0 -----------------
TRAORI(1)
G0 X0 Y0 C0 A0
G0 Z17.5
TRAFOOF
CYCLE996(20201,1,1,25,0,0,0,0,0,0,0,20,5,5,1,,1,)
; ----------------- 回转轴C第 2次测量:C120 A0 -----------------
TOFFL=17.5
TRAORI(1)
G0 C120 A0 X0 Y0 Z0
TOFFL=0
TRAFOOF
CYCLE996(20202,1,1,25,0,0,0,0,0,0,0,20,5,5,1,,1,)
; ----------------- 回转轴C第 3次测量:C240 A0 -----------------
TOFFL=17.5
TRAORI(1)
G0 C240 A0 X0 Y0 Z0
TOFFL=0
TRAFOOF
CYCLE996(20203,1,1,25,0,0,0,0,0,0,0,20,5,5,1,,1,)
; ----------------- 回转轴A第 1次测量:C0 A0 -----------------
TOFFL=17.5
TRAORI(2)
G0 C0 A0 X0 Y0 Z0
TOFFL=0
TRAFOOF
CYCLE996(10201,1,1,25,0,0,0,0,0,0,0,20,5,5,1,,1,)
; ----------------- 回转轴A第 2次测量:C0 A45 -----------------
TOFFL=17.5
TRAORI(1)
G0 C0 A45 X0 Y0 Z0
TOFFL=0
TRAFOOF
CYCLE996(10202,1,1,25,0,0,0,0,0,0,0,20,5,5,1,,1,)
; ----------------- 回转轴A第 3次测量:C0 A90 -----------------
TOFFL=17.5
TRAORI(1)
G0 C0 A90 X0 Y0 Z0
TOFFL=0
TRAFOOF
CYCLE996(10203,1,1,25,0,0,0,0,0,0,0,20,5,5,1,,1,)
TOFFL=17.5
TRAORI(1)
G0 C0 A0 X0 Y0 Z0
TOFFL=0
TRAFOOF
FL[C]=99999
FL[A]=99999
; MHOME("1","2")
_ONLY_CALC:
; ----------------- 计算坐标转换矢量 -----------------
; WITH SCALING
CYCLE996(3201200,1,1,25,0,0,0,-225.971,-550.753,0.2,0.03,20,5,5,1,,1,101)
; WITHOUT SCALING
;CYCLE996(1200,2,1,25,0,0,0,0,0,0,0,20,5,5,1,,1,100)
;T0
;M6
M17

参数 | 值 |
N13210 $MN_MEAS_TYPE 分布式驱动器上的测量方式 | 0:集中式测量 |
p0680[0...7] Central measuring probe, input terminal [0] 中央测量头1输入端子 [1] 中央测量头2输入端子 | [0]=3 ; DI/DO 11 (X122.13) [1]=6 ; DI/DO 15 (X132.13) |
p0488[0...2] Measuring probe 1 input terminal 伺服测量头1 的输入端子 | [0]=0 |
N51740 $MNS_MEA_FUNCTION_MASK 测量循环的设定,工件测量/刀具测量 | Bit 0 =1;工件测量,标定状态监控功能激活 Bit 1 =1;工件测量,测头长度的参照物为测球球面 Bit 2 =1;工件测量,补偿刀具时考虑刀架 Bit 6=1;在测量循环中测量程序段(MEAS)进给率100%(进给倍率>0时) Bit 15=1;工件测量,测量程序段采用G60准停 Bit 16 =1;刀具测量,补偿刀具时考虑刀架
|
N51770 $MNS_J_MEA_CAL_RING_DIAM 手动测量环规的直径 | -1 |
N52005 $MCS_DISP_PLANE_MILL 铣削平面选择 | 0 |
N54600 $SNS_MEA_WP_BALL_DIAM 工件测球的直径 | 测头半径标定完成后,自动输入 |
N54760 $SNS_MEA_FUNCTION_MASK_PIECE 自动工件测量的输入屏幕定 | Bit 1 =1;程序编辑画面显示软键‘3D测量’ Bit 3 =1;激活测头组选项 Bit 4 =1;激活标定测量进给率输入栏 Bit 22 =1;激活标定选项‘以未知中心标定’或‘以已知中心标定’ Bit 27 =1;在运动测量中未使能时,选择线性矢量公差 |
N54780 $SNS_J_MEA_FUNCTION_MASK_PIECE 手动工件测量的输入屏幕设定 | Bit 2 =1;激活选项‘电子工件测头标定’ Bit 3 =1;激活测头标定数据字段的选择 Bit 9 =1;激活零偏补偿选项‘可设置框架’ Bit 17 =1;激活选项‘在切换方向校准工件测头’
|
N55613 $SCS_MEA_RESULT_DISPLAY 测量结果图显示选项 | 3: 显示测量结果图,测量循环会被一个系统自设的M0停止。按下“CYCLE START”后,测量循环会继续,测量结果图被取消。 |
N55628 $SCS_MEA_TP_FEED_MEASURE 标定刀具侧头时的进给率 | 300 mm/min |
N55630 $SCS_MEA_FEED_MEASURE 标定工件测头时的进给率 | 300 mm/min |
N55637 $SCS_MEA_FEED_POS_DEG 两次测量之间定位回转轴时的进给率 | 10 rpm |
N55638 $SCS_MEA_FEED_FAST_MEASURE 快速测量进给率 | 900 mm/min |
N55640 $SCS_MEA_FEED_CIRCLE 圆弧测量和球测量进给率 | 1000 mm/min |
N55644 $SCS_MEA_KIN_DM_TOL 运动测量:标准球的直径公差 | 0 |
N55740 $SCS_MEA_FUNCTION_MASK 测量循环的设定,工件测量/刀具测量 | Bit 0 =1;工件测量,中间定位中的碰撞监控 Bit 7 =1;机床运动,回转轴矢量输入值的标定基础 Bit 8 =1;机床运动,测量带有回转(TCARR)或有效的TRAORI Bit 10 =1;使用参考基准测量整个运动 Bit 11 =1;运动,测量校正球时的测量点数量 0:在圆弧轨道上测量时有10个测量点 1:在圆弧轨道上测量时有8个测量点
|
顾向清
2019-09-10
版本 | 日期 | 修改内容 |
V1.0 | 2019.09.10 | |