关键词:$TC_DP6、刀具半径变量、R参数编程
引言: 在手工编程加工中半径补偿值输入CNC储存器的方法有两种。
方法一:用手动的方法将要使用的刀具半径值直接输入CNC储存器内,这种方法输入的半径值是固定不变的。
方法二:在程序中用指令$TC_DP6将对应的半径值输入到CNC储存器,这种输入的方法可以在程序运行中可以任意将半径值输到储存器内,如果通过R参数程序设半径值为一个变量再与$TC_DP6对应。那这个程序加工的轮廓就可以实现不断的变化,在手工编程中这种编程是一个灵活而又强大的功能,特别当它与宏程序结合一起使用时,将更加显出它的功能与方便。在手工编程中它是解决一些复杂编程是不可替代的用法。如轮廓的循环加工规则曲面的加工。
本文结合实际生产中$TC_DP6的应用,分别列举去实例来说明刀具补偿值在手工编程中的应用。
正文:
一、西门子(SIEMENS)刀具半径补偿值$TC_DP6的说明与使用方法。
在西门子(SIEMENS)数控系统中,$TC_DP6是一个系统值,它的使用有着严格的规定。它的格式取决于需要的刀具补偿器中。
见表、
地址 |
含义 |
说明 |
指令格式 |
$TC_DP6 |
半径补偿值 |
读或写t,d号的数值 |
$TC_DP6 |
说明:
1、t:T刀具编号1-32000,T0没有刀具(系统中最多同时存储32把刀具)
2、d: 刀具补偿号D,一个刀具可以匹配从1到9几个不同补偿的数据组,如果没有编写D指令,则D1自动生效。如果编程为D0,则刀具补偿值无效。
3、R:计算参数R
可以在程序运行时由控制器计算或设定所需要的数值:也可以通过操作面板设定参数数值。如果参数已经赋值,则它们可以在程序中对由变量确定的地址进行赋值。赋值范围为±(0.0000001~99999999)
计算参数R一共有300个可供使用
R0~R99 -可自由使用
R100~R249 -加工循环传递参数
R250~R299 -用于加工循环的内部计算参数
(如果没有使用加工循环,则这部分计算参数也可自由使用)
编程举例:
N10 R1=5
N20 $TC_DP6
表示:R1代表的值为T1D1刀具储存器中的半径补偿值,即在程序中输入刀具的半径补偿值,R值后可以是一个变量。
……
N80……….
N90 M30
用程序输入刀具补偿值的主要使用场合是R参数程序,只要两者可以灵活运用在一起那在手工编程中就可以解决轮廓的倒圆角,和需要半径补偿变化的手工编程中。
二、加工实例分析:
如下图:现有一加工图,顶面四周边需倒直角角度为27°深为10mm的直角,为了便于说明$TC_DP6的使用,在此作了一定的简化既该零件已经进行粗加工,以下仅就倒角的精加工进行详细的说明。
图1:左视图示意图
图3:立体示意图
图2:俯视图示意图
在这个加工程序中,程序需要建立了几个重要的关系,既球刀加工斜面时的高度位置关系,加工深度每次变化的运动轨迹关系,这几个关系相互影响,相互作用。
加工轨迹分析:
使用球刀进行倒角的加工,加工方向为从下向上的方式逐层提升,但球刀加工斜面时的深度问题需要数学的计算,了方便编程和轨迹描刀位点选择在刀心上,刀心与刀尖只不过是球刀的两个几何点,而刀具上的任何一点都是随着刀具整体而进行相同的“平动”的,因此当确定刀心Z轴的坐标后再减去一个刀具半径就可确定出刀尖坐标,这样不但令编程与数学计算都比较方便,还遵守了统一的对刀基准(刀尖)。
(如:图4)刀心加工斜面时与斜面形成一个相似的三角形,要计算出刀心的坐标值就需要用到此三角形。
刀心的高度位置公式如下:
(斜面高度变量由10向0变化)
R5参数边-斜面高度变量
刀尖的高度位置公式如下:
R5参数边-斜面高度变量-刀具半径
图4刀具与斜面形成的三角形
图5高度变量示意图
图6半径变量示意图
由图5与图6分析,可以得出当球心在A点处时球刀处于加工斜面的最低点,这时的半径补偿值为初始值,初始值不等于球刀的半径而是等于球刀与斜面形成三角形的直角边R6参数值表示,随着刀具沿着斜边最低点逐层提升,在每层高度上的刀具要与斜面相切半径补偿值需要不断地变化的,可以说球心不断地向内部的方向前进,导致半径补偿值不断变小。
如图6球心的位置图可以看出半径值的变化:
A点:半径补偿值=R6、
B点:半径补偿值=R6-L1、
C点:半径补偿值=R6-L2、
D点:半径补偿值=R6-L3、
E点:半径补偿值=R6-L4、
F点:半径补偿值=R6-L5、
如此推算当球心向内移动的距离大与半径补偿值初始值时可能会出现负值的补偿值。
从上述得知如果想要编出可以顺利的将斜面加工出来的程序,就要使程序中的加工高度要不断变化,半径补偿值也要不断地变化,高度值与半径补偿值的数值变化可以在程序中通过R参数的编写实现,使Z轴等于不断变化的高度值就可以解决高度变化的问题,但半径补偿值数值虽然是在程序中得到了变化,但如何将这个数值赋予储存器就是一个关键问题。由此可见,只有通过$TC_DP6将半径补偿变化值输入到储存器内再通过程序内的指令(G41)将变化后的补偿值调用才能真正的实现半径补偿值的变化。此外,从加工工艺上分析加工中参数值R8(如图5: R8代表层高)的选择就决定了程序是粗加工使用还是精加工使用,因为程序的加工路线可以看作等高环绕加工,当R8参数值数值大时可以实现粗加工,R8参数值数值细时可以实现精加工。
三、加工程序及说明
以下的参数程序,可以看出$TC_DP6如何在将半径补偿值输入存储器中实现一般手工编程无法加工规则曲面的一大亮点。
%
AAA 程序名
T1D1 采用1号刀1号刀补
G64 连续路径加工
CFTCP 关闭进给率修调,编程的进给率在刀具中心有效
M08 开启切削液
M3 S2000 主轴正转,2000r/min
G 54 G 90 G0 X70 Y0 Z50 采用G54坐标系,绝对值编程,
R1=0 变量R1附值
R2=10 10为斜面高度
R3=27 27为斜面角度
R4=5 刀具半径
R5=SIN(R3)*R4 三角形的一直角边
R6=COS(R3)*R4 三角形的一直角边
R8=0.2 刀具每层的高度
BBB: 循环体
G1 F300
R9=TAN(R3)*R1 如图(6)R9表示变化中L1-L5的值
R10=R6-R9 变化中的半径补偿值
$TC_DP6
R11=(R5-R2-R4) Z方向高度计算
Z=R11 Z方向高度下刀
G41 X50 Y0 F1000 加刀具半径补偿值
G2 X9.38 Y-19.52 CR=25
G3 X-9.38 Y-19.52 CR=15
G2 X-9.38 Y19.52 CR=-25 轮廓程序
G3 X9.38 Y19.52 CR=25
G2 X100 Y0 CR=25
G 40 G91 X5 取消刀具半径补偿,增量值编程
G90 绝对值编程
R1=R1+R8 高度每次增加一个R8代表的值0.2加工次数控制
R2=R2-R8 高度每次减小一个R8代表的值0.2
IF R1<=10 GOTOB BBB 有条件跳转:当R1>=10时跳转到BBB程序段
G0 Z50
M09 关闭切削液
M05 主轴停止
M30 程序结束
说明:
1、程序中R1参数值作为一个条件,它们的作用是控制程序加工的循环次数。
2、R2与R3为斜面倒角的几何参数(可根据斜面的变化改动),
3、R4为刀具半径参数值。
4、R5与R6分别代表球刀刀心与斜面形成三角形的两直角边(如图4)。
5、R8则为刀具每层提升的高度(注明:此参数值直接影响到直角面的表面加工质量和表面粗糙度)。
6、R9参数值为刀心向内移动距离(图6)所表示的L1-L5。
7、R10参数值为程序变化中的半径补偿值,$TC_DP6
8、R11为Z方向高度计算。
9、G40的使用也要注意,因为每一次循环中都进行了补偿所以在每一次循环结束时都要取消,否则会影响程序的运行。
参考资料:
1、SINUMERIK_840D_810Di_802D_FM_NC高级篇
西门子(中国)有限公司 自动化与驱动集团
2、陈海舟 《数控机床铣削加工宏程序及应用 机械工业出版社
3、李锋 白一凡 《数控铣削变量编程实例教程》