第一章根本知识
1.1 机床运动方式 1.1.1轴的运动方式
对于一般的铣削和钻削机床,轴的线性运动具有以下方式:
a. 工作台的左/右运动 b. 工作台的上/下运动 c. 切削头的前/后运动
卧式铣削机床轴的线性运动与
之非常相似,这些类型的机床经常配置
附加的旋转工作台。
对于5轴机床,切削头也可以作旋转运动。
对于车床,刀具通常在两个方向的直
线移动就能满足要求。
- . word.zl- - -
1.1.2直线运动轴的命名
一般用字母X、Y、Z来命名各个线性运动
轴的运动方向。
a. X轴:工作台的左/右运动 b. Y轴:工作台的前/后运动 c. Z轴:工作台的上/下运动
每一个线性运动轴相对应有一个旋转运动轴,旋转运动轴用以下字母表示:
a. A轴:围绕X轴的旋转运动 b. B轴:围绕Y轴的旋转运动 c. C轴:围绕Z轴的旋转运动
对于只有两个线性运动轴的车削机床用以下方法来描述刀具的运动:
刀具的横向运动通常叫作X轴,刀具的纵向运动通常叫作Z轴。
1.1.3刀具的相对运动
铣削机床的加工无论是靠刀具的运动还
是靠工作台的运动来满足加工要求。在数控加工技术中,通常假定刀具总是运动的。操作者不必考虑机床运动的具体执行方式。
这种假定方法也适用于其它不同类型机
床的程序运行。
1.1.4位置数据
机床运动可以通过编程使某一指定轴到达指定位置。 例如:X100
这表示工作台在X方向移动100mm,或者说是刀具相对于工件在X方向移动100mm。 也可以通过程序来实现多轴联动。
例如:X100 Y100
- . word.zl- - -
1.2 工件位置表示
1.2.1机床坐标系
机床必须指定一个线性运动轴在相应方向运动的参考坐标系,以使机床或切削控制在指定位置成为可能。通常以字母X、Y、Z轴构成的直角坐标系
来描述。
按照标准DIN 66217的规定,机床刀具运动
用右手直角笛卡儿坐标系来描述,坐标系的交点叫零点或原点。
有时机床工作需要甚至必须用负的位置坐标数据,原点以左的位置坐标
通过在坐标数据前冠以“—〞号表示。
1.2.2位置定义
为了定义一个位置,假定沿着坐标轴遵
循一定的规那么。那幺现在就可以用指定的坐标方向〔X、Y、Z向〕及三个资料描述坐标系上的每一点。原点坐标为X0、Y0、Z0。
例如:
为了到达简化的目的,我们在这个例子
中只用坐标系的一个平面如XY平面来说明。图中的P1点至P4点用以下坐标值来表示:
P1 X100 Y50 P2 X-50 Y100 P3 X-105 Y-115 P4 X70 Y-75
在铣削操作中,进给深度也必须描述出
来,另外,我们需要定义第三坐标轴的值〔在这种情况下是Z轴〕。
例:图中的P1至P3点在这个例子中
用以下坐标定义:
P1 X10 Y45 Z-5 P2 X30 Y60 Z-20 P3 X45 Y20 Z-15
1.2.3极坐标系
在坐标系中用点的坐标来定义点的方
- . word.zl- - -
法叫“笛卡儿坐标〞。
这儿还有另外一种定义点的方法叫做“极坐标〞。
无论是工件还是工件的一局部用半径和角度来测量的尺寸表示点的位置
的方法叫做“极坐标〞。
例如:图中的P1点至P2点用参考极点的坐标值来描述其位置。 P1:半径100角度30° P2:半径60角度75°
1.2.4绝对坐标系
在绝对坐标系中,所有点的坐标都是参考坐标系原点而来的,适用于刀具的运动。它的含义为:用绝对坐标值描述的位置是刀具将要到达的位置。
例如:图中的P1点至P3点的绝
对坐标为:
P1 X20 Y35〔相对于原点的坐标
值〕
P2 X50 Y60〔相对于原点的坐标值〕 P3 X50 Y60〔相对于原点的坐标
值〕
1.2.5相对坐标系
在加工图样中,经常用到相对坐标。
它的尺寸不是参考坐标系的原点,而是参考工件上另外一点的坐标而得来的。
为了防止这类尺寸之间的转换,采
用相对坐标来定义点的坐标就可以解决
这一矛盾。
相对坐标是参考前一点的位置,适用于刀具的运动,它的含义是:用相对坐标值描述的是刀具移动的距离。
例如:图中的P1点至P3点的相对坐
标是:
P1 X20 Y35〔相对于原点的坐标值〕 P2 X30 Y20〔相对于P1点的坐标值〕 P3 X20 Y-35〔相对于P2点的坐标值〕
1.2.6平面定义
一个平面用两个坐标轴来定义,第三个
坐标轴垂直于这个平面,决定刀具进给的方向。 在编程过程中,为了能计算刀具的偏移量而设定工作平面是必要的。这- . word.zl-
- -
个平面和某种类型的循环编程及极坐标也有一定的联系。
工作平面在NC程序中用G17、G18、G19指令来定义。
工作平面 XY ZX YZ 定义指令 G17 G18 G19 进给方向 Z Y X 1.3 坐标系统的设定 1.3.1坐标系概述
我们应该区分以下坐标系: a. 机床坐标系 b. 根本坐标系 c. 零件坐标系
d. 当前零件坐标系
在机械运动学中,编程中常用到坐标系的转换。
注:本小节中关于特殊轴定义的说明见轴的类型一节。 1.3.2机床坐标系
机床坐标系由机床实际存在的所有
轴组成。
刀具和工作台改变的参考点在机床
坐标系中被定义。
当机床坐标系用于编程〔这在一些G功能的应用中是可能的〕时,机床的物理轴直接用其地址。不允许参考于工作坐标系而得来。
机床坐标系的设定与机床的类型有
关,坐标轴的方向遵循右手的“三手指规那么〞〔根据标准DIN 66217〕。
具体的做法是:站在机床前面,右手
的中指指向机床主轴远离进给的方向,然后根据下面方法确定:
a. 拇指指向+X方向 b. 食指指向+Y方向 c. 中指指向+Z方向
事实上,随着机床类型的不同,坐标系看起来也有很大区别。
- . word.zl-
- -
1.3.3根本坐标系
根本坐标系是一个“笛卡儿〞坐标系,这个“笛卡儿〞坐标系是机床坐
标系经过运动转换后而得来的。
假设没有运动转换,那么根本坐标系与机床坐标系的唯一区别是关于轴
的指定上。
零点偏置、比例变换等都是在根本坐标系上完成的。
定义工件加工的工作区域的坐标也是参考根本坐标系指定的。
1.3.4零件坐标系
零件的几何特征是在零件坐标系中描述的。
换句话说,数控程序中的资料是参考零件坐标系确定的。
零件坐标系是一个“笛卡儿〞坐标系并且标
识于指定零件上的坐标系。
1.3.5矩阵概念概述
矩阵概念是一个“笛卡儿〞坐标
系转换为另一个“笛卡儿〞坐标系的自定义算术规那么。
在一个矩阵中包含以下变换功
能:
a. 坐标系的零点偏置〔平移〕 b. 坐标旋转 c. 坐标镜像 d. 比例变换
这些变换功能可以单独运用,也可以综合运用。
1.3.6零件坐标系与机床轴的关系
零件坐标系的位置与根本坐标系
〔或机床坐标系〕的关系通过矩阵变换编程来决定。
在NC程序中通过如G54等指令调
出或激活零件坐标系。
- . word.zl-
- -
1.3.7当前工件坐标系
有时在一个程序中,工件需要重新定位
和旋转、镜像或比例缩放而设置新的工件原点。
在工件坐标系中,矩阵变换编程常用于
在一个适宜的位置重新设置当前的工件原点以便于重新定位〔旋转、镜像或比例缩放〕。
在同一个程序中,允许设置假设干个零
点偏置。
1.4 轴的类型
1.4.1主坐标轴〔几何坐标轴〕
主坐标轴定义一个右手坐标系,刀
具在这个坐标系中通过编程实现运动。
在数控加工技术中,主坐标轴被称
为几何轴。在这本编程手册中常用这种说法。 对于车削类机床,经常用到X轴和Z轴,有时也用到Y轴。 对于铣削类机床,经常用到X轴、Y轴、Z轴。
1.4.2附加坐标轴
相对于几何轴而言,把没有一定几何关系的坐标轴定义为附加坐标轴。 例如:车床转塔刀架的位置轴U,尾座轴V。
1.4.3第一主轴〔主切削轴〕
机床加工运动中起决定切削作用的主轴被称为第一主轴。这根主轴在机
床数据中被称为主切削轴。根据规定,主切削轴与第一主轴的说法等效。
注:这种主轴的分配可以通过指令SETMS〔主轴数字〕〔详见第5节中
的有关说明〕来改变。特定功能如螺纹切削运用这根主轴来完成。
指令:S或S0
1.4.4辅助主轴
机床加工运动中起辅助切削作用的主轴被称为第一主轴。 指令:S1,S2,S3,S4
- . word.zl-
- -
轴的类型 在编程时注意区别以下类型的轴: a. 机床轴 b. 通道轴 c. 几何轴 d. 附加轴 e. 路径轴 f. 位置轴 g. 联动轴
1.4.5机床轴
机床轴的名称在机床数据中被设定。
标准名称:X1、Y1、Z1、A1、B1、C1、U1、V1
也可以用以下标准名称来描述:AX1、AX2、……、Axn。
1.4.6通道轴
在一个通道内的运动轴叫做通道轴。 定义:X、Y、Z、A、B、C、U、V
1.4.7几何轴〔直角坐标系〕
第二章数控程序编制的根本规那么
2.1 数控程序语言的构成元素 2.1.1文字设置
以下文字在数控程序中是有效的。
大写字母:A、B、C、D、E、F、G、H、I、J、K、L、M、N、〔O〕、P、
Q、R、S、T、U、V、W、X、Y、Z。
- . word.zl-
- -
小写字母:a、b、c、d、e、f、g、h、i、j、k、l、m、n、o、p、q、r、s、
t、u、v、w、x、y、z。
注:大、小写字母之间没有明显的区别。 阿拉伯数字:
0、1、2、3、4、5、6、7、8、9。 特殊字符: 字符 含义 % 程序开场字符〔只用于外部的PC程序编制〕 〔 用于参数或注释的符号 〕 用于参数或注释的符号 [ 用于索引或地址的括号 ] 用于索引或地址的括号 < 小于 > 大于 : 主程序段 = 赋值,等于 / 除;程序段跳过执行 * 乘 + 加 - 减 “ 双引号;字符串标记 ‘ 单引号;特殊数值标记;十六进制数 $ 系统数据标记 _ 下划线,字母属性 ? 保存〔暂不指定〕 ! 保存〔暂不指定〕 . 小数点 , 逗号,参数分隔符 ; 说明、注释开场 & 文字格式,与空格字符一样 Lp 程序段完毕 Tab 分隔符 space 分隔符〔空白〕
注:无打印字符可作为空白字符。
2.1.2功能字
数控程序是由程序段组成的,每一个程序段是由功能字组成的。
数控语言中的一个功能字包含一个地址字符和一个数字或表达一个数值
的数字变量。
这个功能字的地址字符通常是一个字母。数字变量可以包含一个引导标
记符和一个十进制小数。这个引导字符总是出现在地址字符和数字变量之间。
正的引导字符〔+〕可以省略不写。
- . word.zl-
- -
2.1.2.1 地址功能字
地址有固定地址或可变地址。例如轴〔X、Y、Z〕、主轴转速〔S〕、进给速度〔F〕、圆的半径〔CR〕等等。
2.1.2.2 模态地址/非模态地址
在编程中,同一地址在出现新的数值以前一直有效的地址叫做模态地址。 模态地址在编程中,同一地址直到出现新值的程序段以前一直有效。 非模态地址只在本程序段内有效。
2.1.2.3 轴的引申地址
在轴的引申地址中,坐标轴名称插入在地址后面的中括号内。这个坐标
轴名称代表这根轴。
例如:FA[U]=400;指定轴U的进给速度。
2.1.2.4 扩展地址
扩展地址使在一个系统中同时存在几个坐标轴和几个主轴称为可能。 一个扩展地址由一个具有引申意义的数字或由一个包含在中括号中的有
效名称和一个有“=〞的算术表达式组成。 例如: X7 不需要“=〞,7是一个数值,但在这儿有一个“=〞号也是
允许的。
X4=20 将值赋给X4轴〔需要“=〞〕 CR=7.3 两个字母的地址〔需要“=〞〕 M3=5 3#主轴停顿
扩展地址表示法只有在以下直接地址中允许使用。 X、Y、Z… 轴地址 I、J、K 增量参数 S 主轴转速 SPOS,SPOSA 主轴位置 M 辅助功能 H 辅助功能 T 刀具顺序号 F 进给速度
在扩展地址表示法中的数字〔指针〕可以通过一个有效的M、H、S地址
及SPOS和SPOSA来代替。这个有效的地址名称置于中括号中。 例如:
S[SPINU]=470 SPINU主轴的转速为470rpm M[SPINU]=3 T[SPINU]=7
SPINU主轴顺时针旋转 SPINU主轴选择刀具
- . word.zl-
- -
2.1.2.5 系统固定地址
以下地址是系统固定的地址。 地址 含义 地址 含义 D 刀具偏置号 N 子程序 F 进给功能 P 程序编号 G 准备功能 R 参数变量 H 辅助功能 S 主轴转速 L 子程序调用 T 刀具顺序号 M 辅助功能 : 主程序 程序举例:
N10 G54 T9 D2 引申轴的固定地址: 地址 含义 AX 轴值〔在轴的程序段中可以变化〕 ACC 轴的加速度 AF 轴的进给
FDA 轴的手轮进给倍率 FL 轴的进给速度限制 IP 插补参数 OVRA 轴的进给倍率 POS 轴的定位 PO 多项式系数 POSA
程序举例:N10 POS[X]=100
当用引申轴编程时,这根线性运动轴置于封闭的中括号内。
2.1.2.6 地址变量
地址也可以用一个地址字母〔或地址字母以外的具有引申意义的数字〕
或者一个空余的符号定义。
变量地址在一个程序的控制中必须是唯一的。一样的地址名称不允许用
于不同类型的地址。
注意以下地址类型的区别: a. 轴值和终点地址 b. 插补参数地址 c. 进给速度地址 d. 逼近位置地址 e. 测量地址
f. 轴和主轴的地址 g. ……
变量地址字母有:A、B、C、E、I、J、K、Q、U、V、W、X、Y、Z。 用户在机床数据中可以改变这些变量地址的具体含义。 例如:
- . word.zl-
- -
X1,Y30,U2,I25,E25,E1=90,……
具有引申意义的数字序号由一个或两个数字构成,它总是固定的。
2.1.2.7 地址名称
这种地址的标记可以通过增加具有特征含义的字母加以扩展。例如: CR 圆弧半径 SPOS
2.1.2.8 操作/算术功能
代码 + - * / DIV MOD : SIN() COS() TAN() ASIN() ACOS() SQRT() ABS() POT() TRUNC() ROUND() LN() EXP() 加 减 乘 除,〔整数/整数〕=实数;例如:3/4=0.75 除,只限于可变化的整数类型〔整数DIV整数〕=整数;例:3/4=0 模数相除生成一个整除后的余数。例如:3MOD4=3 链操作 正弦函数 余弦函数 正切函数 反正弦函数 反余弦函数 平方根 绝对值 平方 取整数局部 圆整〔最后一位四舍五入〕 自然对数 指数输入功能 含义 2.1.2.9 地址赋值
在编程中,可以给地址赋一个值。赋值的类型根据地址名称的类型而定。 在以下情况下,在地址名称和数值之间必须插入一个“=〞号。 a. 地址名称由一个以上字母组成。 b. 数值由一个以上常量组成。
如果地址名是一个单一的字母和数值只有一个常量,那么“=〞号可以
省略。在地址字母的后面加引导字符和分隔符也是允许的。例如: X10 将数值10赋给地址X,不需要“=〞号。 X1=10 将数值10赋给地址X1,需要“=〞号。 FGROUP〔X1,Y2〕 通过二维数组参数赋值 AXDATA[X1]
- . word.zl-
- -
AX[X1]
X=10*(5+SIN(37.5)) 在程序中间接地将地址X1的值赋给地址AX。 通过带有“=〞号的算术表达式赋值。
2.1.2.10 重要地址
地址 A B C D F FA FL G H I IP J K L M N OVR P PO POS POSA SPOS SPOSA Q R S T U V W X Y Z AC CR AP 旋转轴 旋转轴 旋转轴 刀偏顺序号 进给速度 轴的进给 轴的进给极限 准备功能 辅助功能 插补参数 插补参数 插补参数 插补参数 子程序调用 辅助功能 子程序 倍率 程序编号 多项式系数 轴定位 轴的边界定位 主轴定向 在限制区域内主轴定向 轴 数学参数 主轴转速 刀具顺序号 轴 轴 轴 轴 轴 轴 圆弧角度 圆的半径 极坐标角度 含义 备注 变量 变量 变量 定量 定量 定量 定量 定量 定量 变量 变量 变量 变量 定量 定量 定量 定量 定量 定量 定量 定量 定量 定量 变量 定量 定量 定量 变量 变量 变量 变量 变量 变量 变量 变量 变量 - . word.zl-
- -
RP : 极坐标半径 主程序 变量 定量 2.1.2.11 地址名称
地址名称也可以用一个单词来描述〔根据标准DIN66025〕,在同一个NC
程序中,这个单词具有一样的含义,这个地址名称必须是唯一的。同一个地址名称不能用于其它的地址。
地址名可以代表以下含义: a. 变量 —系统变量 —用户变量 b. 常量 c. 关键词
d. 一些字母表示的DIN地址 e. 跳转标记 构成规那么:
a. 一个地址名可以由32个以内的有效字符组成; b. 以下字符有效: i.字母 ii.下划线 iii.数字
c.开头两个字符必须是字母或下划线,编程时操作符号不能插在分隔符之间〔见后述〕。
例如:CMIRROR,CDON
注意:留作专用的关键词不能用于地址名称,在分隔符之间制止使用操作符号。
屏幕显示对字符数量有一定的限制,在标准显示配置下,有以下限制: a. 程序名:24个字符 b. 轴名:3个字符 c. 变量名:32个字符 地址名称分配规那么
为了防止地址名称之间发生冲突,故提供以下遵循规那么:
a. 所有的以CYCLE或下划线开场的地址名称留作SIMENS循环用。 b. 所有的以CLS开头的地址名称留作SIMENS编辑循环用。 c. 用户编辑循环的地址名称以CC开头。
d. 我们建议用户选择以字母U或某种下划线以及不同于系统、编辑循
环和SIMENS循环开头的地址名称。
2.1.2.12 变量名
在用于系统的变量中,开头字符采用“$〞符号。这个字符不能用于用户
定义的变量。
例如:$P_IFRAME ,$AC_F
在用引申含义的数字表示的变量中,零可以忽略不写。〔例如R01可以用
R1代替〕。
- . word.zl-
- -
2.1.2.13 矩阵名
根本变量命名规那么也适用于矩阵命名。以矩阵名称表示的算术变量也
是有效的。
例如:R〔10〕=……
2.1.2.14 数据类型
一个变量可由某一个数值〔或一些数值〕或一个字符〔或几个字符〕组
成,例如一个地址字母。
数据允许的类型由定义的变量类型决定,系统变量和预定义的变量数据
类型的关系是确定的。
根本变量类型/数据类型 类型 INT REAL BOOL CHAR STRING AXIS FRAME 整数 实数 布尔运算符:真1和假0 ASCII码 字符串,字符数量在[]表示,不超过200字符 只用于坐标轴 矩阵,用于坐标偏移、旋转、比例、镜像的几何参数 含义 =〔2取值X围 31-1〕 ~10300=〔101,0 300〕 0~255 序列号0~255 轴数 上述根本类型也可在一个阵列中联合起来使用,也可以使用二维阵列。 常量
a. 整数常量
有引导字符或没有引导字符的整数。例如将一个数值赋给一个地址。 例如:
X100 将值+100赋给X轴 Y-100 将值-100赋给Y轴 b. 实数常量
实数例如十进制小数,有或没有引导字符的实数,例如将一个数值赋给一个地址。
例如:
X10.25 将值10.25赋给轴X X-10.25 将值-10.25赋给轴X X0.25 将值0.25赋给轴X X.25 将值0.25赋给轴X,“0”可以省略
X=-.1EX-3 将值-0.1×10
3赋给轴X
注:
十六进制常量
常量也可以在十六进制格式中用十六进制数表示。字母“A〞到“F〞分别
- . word.zl-
- -
代表数字“10〞到“15〞。
十六进制常量用单引号表示,起始字母为“H〞,后面跟十六进制数。字母和数字间也可以使用操作符。
例如:SMC_TOOL_MANAGEMENT_MASK=‘HFFFF’将十六进制的数值赋给机床数据。字符的数量受到整数类型数据取值X围的限制。
二进制常量
常量在二进制格式中也可以使用二进制数来表示。在这种情况下,只使用数字“0〞和“1〞。
二进制常量用单引号表示,起始字母为“B〞,后面跟二进制数。字母和数字间也可以使用操作符。
例如:
SMN_AUXFU_GROUP_SPEC=‘B1000001’ 0到7位赋值。字符的数量受到整数类型数据取值X围的限制。
2.1.3程序段和程序构造
一个NC程序由各个独立的NC程序段组成,一个NC程序段一般由各功
能字组成。
一个NC程序段包含一个操作步骤的所有需要的数据和一个检测字符
“LF〞〔换行〕。
注:“LF〞字符不必手动插入,它一般在你改变行的时候自动生成。
2.1.3.1 程序段长度
一个程序段最多包含242个字符〔包括注释和完毕字符“LF〞在内〕。 注:在当前的操作程序显示区,一般可以显示三个程序段,每一个程序
段不超过66个字符,注释也显示出来。在单独的信息显示区显示机床操作信息。
2.1.3.2 程序段中各个功能字的顺序
为了保证程序段构造的清晰性,程序段中功能字一般按以下顺序排列。
例如:
N10 G__ X__ Y__ Z__ F__ S__ T__ D__ M__ H__ 各功能字说明 地址 N 10 G X、Y、Z F S T D M H 子程序段的顺序号地址 程序段号 准备功能 位置数据 轴的进给速度 主轴转速 刀具号 刀具偏置号 辅助功能 辅助功能〔次要〕 含义 - . word.zl-
- -
注:一些地址在同一程序段中可以屡次使用。 〔例如G__,H__,M__〕
2.1.3.3 主程序段/子程序段
在NC程序中,有两种程序段。
a. 主程序段 b. 子程序段
在以主程序段开场的NC程序局部中,主程序段必须包含所有的完成操作所需要的信息的功能字。
注:主程序和子程序之间也可包含主程序段,在此,控制系统不检测主程序段中是否包含所有的完成操作所需要的信息。
一个子程序段包含每一个操作步骤的所有需要的信息。
2.1.3.4 NC程序段的顺序号
主程序段通过一个主程序段序号来定义。一个NC主程序段的顺序号包含字符“:〞和一个整数〔程序段顺序号〕,这个程序段序号总是出现在程序段的开场。 注:主程序段顺序号在一个程序文档中必须是唯一的。 例如:
:10 D2 F200 S900 M3
子程序段通过一个程序段顺序号来定义。一个NC子程序段的顺序号包含字符“N〞和一个整数〔程序段顺序号〕,这个程序段顺序号总是出现在程序段的开头。 例如:
N20 G1 X14 Y35 N30 X20 Y40
为了当系统搜索程序时,只有唯一的结果,子程序段顺序号在一个程序中必须是唯一的。
注:主程序段顺序号是任意的,建议采用递增的顺序号。根据实际情况,在程序中也可以不使用程序段顺序号。
2.1.4 NC程序构成
一个NC程序由一个主程序段和假设干个子程序段构成。
例如:
:10 D2 F200 S900 M3 N20 G1 X14 Y35 N30 X20 Y40 N40 Y-10
在任何程序运行时,不需要执行的程序段可以跳过。
跳过不需要执行的程序段通过在该程序段前用字符“/〞指定。
一些连续执行的程序段也可以跳过执行,跳过的程序段局部不执行,下一个没有跳过的程序段继续执行。
- . word.zl-
- -
例如:
N10 ……执行 /N20 ……跳过
N30 ……执行
/N40 ……跳过 /N50 ……跳过 /N60 ……跳过
N70 ……执行
注:跳过的程序段本身可以通过用户或控制器控制执行。 为了控制程序的执行,系统和用户变量也可以用于条件跳转。 也可用“;〞来代替“/〞,效果一样。
2.1.4.1 跳转标记
在一个NC程序中,可以用一个标记来表示跳转。 注:在高级编程指南中你将见到更详细的说明。
跳转标记名由至少2个最多32个字符〔字母、数字、下划线〕组成,开
头两个字符必须是字母或下划线,跳转标记后跟一个“:〞号。
注:在一个NC程序中跳转标记必须是唯一的。
跳转标记总是在程序段的开头。如果程序段存在序号,那么跳转标记在
程序段序号后面。
2.1.4.2 注释局部
为了便于其它用户和NC编程人员更容易地理解NC程序,建议在程序
段中参加相应的编制意图注释。
注释插入在程序段的结尾,用一个“;〞号把注释局部与NC程序段的
加工程序局部分开。
例如:
N10 G1 F100 X10 Y20;NC程序段的注释 或
N10;Qianyi jingying xuexiban. N20;qukai 2010-11-24
N50;ci kong yi jia gong.
注释可以存贮和在程序运行时显示在当前的程序显示区内。
2.2 NC程序构造和内容
一个NC程序或零件程序由一系列的描述数控机床刀具连续加工过程的
NC程序段组成。有一个关于程序构造的标准是DIN 66025标准。
这个程序也叫做“零件程序〞,因为它包含一个零件加工的全部所需指
令。
一个NC程序或零件加工程序使工件通过数字控制机床刀具自动运行进
展加工成为可能。
注:程序名的命名规那么
一个程序的名称从文件中得来。一个程序名称可以由不超过32个字符- . word.zl-
- -
〔字母、数字、下划线〕组成。但不包含一些分割符号。头两个字符必须是字母。
例如: MPF100 WELLE
只有程序名称的前24个字符可以显示。
在操作指南中你将见到更详细的程序存储方面的说明。
子程序名
在标准DIN 66025有关子程序命名的规定中,可以在具有引申意义的数字前面冠以字母“L〞“l〞〔大写和小写〕作为子程序名,引申数字前有无“0”字符是有区别的。例如“L01”和“L1”所表达的含义是不一样的。
程序完毕
在程序的最后一个程序段必须有表示“程序完毕〞的标记。 这些标记有M2、M30、M17或RET。 例如: N10 …… N20 ……
N90 M2;最后一个程序段 OR
N90 M30;最后一个程序段 OR
N90 M17;最后一个程序段 OR
N90 RET;最后一个程序段
程序信息
为了提供应用户的关于当前程序运行的机床状态信息也可以编制到程序
当中去。
在NC程序中,信息通过插入键盘字“MSG〞和后面跟一个含有用双引
号标记的信息文本内容的“〔〕〞表示。
信息也可以通过程序“MSG〔〕〞去除。 例如: N10 MSG〔“Roughing Contour〞〕插入加工信息 N20 X__ Y__ N……
N90 MSG〔〕;去除N10中的信息
报警设置
你也可以在NC程序中设置报警信息。报警信息在显示器的一个单独区
域显示。在控制过程中报警装置和它所承受到的信号之间的联系取决于报警方
- . word.zl-
- -
式。
可以通过插入键盘字“SETAL〞和后面跟一个含有报警信息序号的圆括
号的程序段报警。
报警顺序号的有效X围为60000~69999。
其中序号60000~64999是留作SIEMENS循环出错使用的。 报警信息总是通过一个单独的程序段设置的。 例如:
N100 SETAL〔65000〕;设置报警号为65000的报警信息
第三章刀具运动编程
3.1 定义初始条件 3.1.1概述
在这一节中,你将了解到一般出现在NC程序开头的常用命令介绍。 这些功能的组合方式并不是单一的一种方式,例如:工件平面的选择也
可以在NC程序中设置在另一点。
这一节和下面的几节让我们来谈一谈一个NC程序的常规构造。 我们在这儿首先讨论的程序的开场局部。
3.1.2绝对/相对坐标尺寸编程,G90/G91
编程程序格式
绝对坐标尺寸编程 G90 或
X=AC〔__〕 Y=AC(__) Z=AC〔__〕 相对坐标尺寸编程 G91 或
X=IC〔__〕 Y=IC(__) Z=IC〔__〕 参数说明 X Y Z =AC =IC 直线运动轴的名称 绝对坐标尺寸〔非模态〕 相对坐标尺寸〔非模态〕 功能
- . word.zl-
- -
G90/G91指令和非模态的坐标尺寸AC/IC
用于定义系统到达设置点的方式。
绝对坐标尺寸,G90
坐标尺寸是参考激活的坐标系原点而得来
的坐标尺寸。程序中点的坐标表示刀具将要到达点的位置。例如:在工件坐标系中。
相对坐标尺寸,G91
坐标尺寸是相对于刀具已经到达的最后一
点的坐标。你将以刀具要移动的距离来编程。
非模态的绝对尺寸和相对尺寸,AC/IC
当G91被激活时,AC可以被用于在指定程序段中允许某根轴可以单独
采用绝对尺寸编程。当G90被激活时,IC可以被用于在指定程序段中允许某根轴可以单独采用相对尺寸编程。
备注:
指令G90、G91一般应用于所有轴在后续的程序段中有效的编程情况。
两者均为模态指令。
程序举例:
刀具移动的通道在绝对坐标系中
是以工件的零点为参考点的。
圆弧插补中心点坐标I和J在绝对
坐标系中的每一个程序段中被指定,圆的中心点坐标用相对尺寸编程,而不考虑G90/G91的状态。
N10 G90;绝对尺寸编程
N20 G0 X45 Y60 Z2;到达起始点 N30 G1 Z-5 F500;刀具进给
N40 G2 X20 Y35 I=AC〔45〕 J=AC
〔35〕;圆弧中心点的绝对坐标
3.1.3旋转轴绝对尺寸〔DC、ACP、A〕编程
程序格式
A=DC(__) B=DC(__) C=DC(__)
或
A=ACP(__) B=ACP(__) C=ACP(__) 或
- . word.zl-
- -
A=A(__) B=A(__) C=A(__)
参数说明 A B C DC ACP A 功能
利用上述参数你可以定
义旋转轴按各种不同的方式逼近指定位置。
将要运动的旋转轴名称 绝对尺寸,直接逼近终点位置 绝对尺寸,顺时针方向逼近终点位置 绝对尺寸,逆时针方向逼近终点位置
利用DC的绝对尺寸编程
旋转轴在绝对坐标系中
以沿着最近的方向逼近程序指定的位置。旋转轴运动通过的区域不超过180°。
利用ACP的绝对尺寸编程
旋转轴在绝对坐标系中以顺时针方向逼近程序所指定的位置。
利用A的绝对尺寸编程
旋转轴在绝对坐标系中以逆时针方向逼近程序所指定的位置。 注:0~360°旋转X围必须在机床数据中指定〔模态记忆〕。G91或IC
必须在程序中指明,以使旋转轴在程序中以大于360°的角度旋转。你可以在前面的表达中看到更多的有关说明。
注:旋转轴的正向旋转方向〔顺时针或逆时针〕可以在机床数据中设定。
备注:
你也可以用DC、ACP、A将主
轴定向到指定位置。
例如:SPOS=DC〔45〕
程序举例:
在具有旋转工作台的机床
- . word.zl-
- -
上:刀具是静止的,刀具通过工作台以顺时针方向旋转270°加工一个圆弧槽。
N40 G0 C=DC(0);旋转工作台定位在0°位置上 N50 G1 Z-5;刀具进给
N60 C=ACP〔270〕;刀具切圆弧槽
3.1.4公制/英制尺寸编程,G70/G71
程序指令:G70/G71 指令说明:
G70 英制尺寸 G71 公制尺寸
功能
依据产品图纸的尺寸,你可以对用英制和公制尺寸交替标注的工件进展
编程。
说明
你可以通过这个指令通知控制系统转换以下几何尺寸〔所需偏差〕的单
位系统,然后直接输入它们的几何尺寸。
a. 位置坐标X、Y、Z b. 中点坐标I1、J1、K1
插补参数I、J、K和圆编程的半径CR a. 螺纹导程
b. 运动编程〔TRANS〕 c. 极半径RP
所有其它参数如进给速率、刀具偏置或零点偏置的设置通过定义机床数据的测量系统来完成。
程序举例
在默认设置为公制单位的情况下,
进展公英制转换。
- . word.zl-
- -
N10 ……;默认设置为公制单位 N20 X90
N30 G70 G1 X2.75 Y3.22 F500;以英制单位的尺寸逼近程序指定位置,
直到G71被激活之前G70一直有效。
N40 X1.18 Y3.54
N100 G71 X20 Y30;以公制单位的尺寸逼近程序指定位置。
3.1.5设置零点偏置,G54~G599
编程格式
调用指令:G54/G55/G56/G57或G505~G599 注销指令:G53或G500或SUPA
指令说明
G54~G57 G500 G53 SUPA
调用1~4个零点偏置
注销,直到下一个G54~G599指令出现 非模态注销,包括程序偏置
非模态注销,包括程序偏置和手轮偏置〔DRF〕,外部的零点偏置和预先设置的零点偏置
功能
零点偏置把根本坐标系的原点与所有轴的
工件原点联系起来。
对于工件的不同装夹位置,零点偏置可以通
过一个G指令指定一个程序零点以简化编程。
说明 设置偏置值
在控制面板上,键入以下工作台的零点偏置
值。
a. 偏置坐标
b. 工作台的旋转角度 c. 需要的比例因子
详细说明请看操作指南的有关内容。
激活零点偏置
在NC程序中,零点偏置通过指令使机床
- . word.zl-
- -
坐标系转变为工件坐标系。
在下一个NC程序段中,所有的位置参数及刀具的移动是参考当前设置
的工件原点。
注:可以设置4个有效的零点偏置。例如,在多个工件的加工操作中,
可以设置4个工件装夹位置。
附加可设置的零点偏置,G505~G599
这些指令对于需要设置附加的零点偏置是非常有效的,这些指令使你可
以创立多达100个零点偏置,这是对G54~G57指令所设置的4个零件偏置的一个补充。
注销零点偏置
指令G500可以注销所设置的零点偏置。指令G53或指令SUPA常用于
可编程的程序段注销或零点偏置的注销。
备注
在程序开场的默认设置中,例如G54或G500可以在机床数据中被设置。
程序举例
在这个例子中:在一个工作台上装夹3
个工件,通过G54~G56设置零点偏置来加工该工件。
工件的加工程序为子程序L47。
N10 G54……;调用第一个零点偏置 N20 L47;运行程序,在这种情况下采用
子程序
N30 G55……;调用第二个零点偏置 N40 L47;运行子程序
N50 G56……;调用第三个零点偏置 N60 L47;运行子程序
3.1.6选择工件平面,G17~G19
程序调用格式
G17或G18或G19
指令说明
G17 工作平面X/Y 进给方向Z G18 工作平面Z/X 进给方向Y G19 工作平面Y/Z 进给方向X
- . word.zl-
- -
注:可以用下面方法助记
X YZ XY Z
17 18 19 功能
在轮廓加工中,工作平面的指定也可以定义以下功能: a. 刀具半径补偿平面
b. 根据刀具类型、刀具长度在进给方向上进展补偿 c. 圆弧插补平面
说明
建议在程序的开场局部定义工作平面。
为了使在加工过程中,刀具的长度和半径的正确控制成为可能。当刀具
补偿用G41和G42定义时,工作平面必须被指定。在标准的系统设置中,G17〔X/Y平面〕总是处于默认状态。
倾斜面加工
在用ROT指令旋转的坐标系中,你可
以使坐标轴跟倾斜面一致,这个工作平面也跟着旋转。
倾斜平面内的刀具长度补偿
刀具长度补偿总的来说总是参考固定
点、非旋转的工作平面。
注:可以用CUT2D、CUT2DF来选择
补偿平面。
备注:
该数控装置对于工作平面的空间定义提供了方便的坐标转换功能。
程序举例 “通用〞接近方式
定义工作平面,调出刀具类型和刀具偏置,激活刀具补偿轨迹,运行加
工程序。
关于铣削刀具加工的例子:
N10 G17 T5 D8;G17调出工作平面,在这种情况下,T、D刀具参数调
出
N20 G1 G41 X10 Y30 Z-5 F500;半径补偿在X/Y平面
- . word.zl-
- -
N30 G2 X22.5 Y40 I50 J40;圆弧插补和刀具半径补偿在X/Y平面
3.1.7限制工作区域编程,G25/G26
编程格式
G25 X__ Y__ Z__;〔在同一NC程序段中编程〕 G26 X__ Y__ Z__;〔在同一NC程序段中编程〕 WALIMON,WALIMOF
指令说明
G25 X__ Y__ Z__;设定限制工作区域的最小值,值在狭义轴中设定。 G26 X__ Y__ Z__;设定限制工作区域的最大值,值在狭义轴中设定。 WALIMON;激活工作区域限制 WALIMOF;注销工作区域限制 值在根本坐标系中设定。
功能
这些指令允许你设置保护区域,以防刀具运动时超出工作区域边界。
说明
刀具的参考点定义
当刀具长度补偿被激活时,刀具的
顶点为参考点,否那么参考点是刀具装夹的参考点。如果刀具的位置在指定的工作区域之外或离开工作区域,程序将停顿运行。
可编程的工作区域限制,G25/G26
最大工作区域限制和最小工作区域
限制分别在每一根机床轴上定义,这些值
在程序运行后立即生效并且在控制系统重新启动和复位时不丧失。
注:在根本坐标系中,各机床轴的工作区域可单独应用。〔即可以单独定
义一根轴的工作区域〕
激活/注销工作区域限制
指令WALIMON激活用指令G25/G26定义的所有轴的工作区域限制。 注:指令WALIMON是缺省设置,因此只有当工作区域限制被注销后才
需要它编程。
指令WALIMONF用于注销所有轴的工作区域限制。 轴设置的数据定义了有工作区域限制的轴的有效性。
- . word.zl-
- -
备注
G25/G26也可用于用地址S表示的
主轴转速限制编程。
程序举例
在一台车床的工作区域中,一个保
护区域被定义。这个保护区域保护着一些装置〔例如刀架、测量装置等〕不被破坏。
缺省设置:WALIMON
N10 G25 X-80 Z30;定义各独立坐
标轴的最小工作区域限制
N20 G26 X80 Z330;定义各独立坐
标轴的最大工作区域限制
……
N100 WALIMOF;注销工作区域限制 N110 G1 X100;接近工作区域限制 N120 G1 X0;继续加工
N130 WALIMON;激活工作区域限制
3.1.8返回参考点
程序格式
G74 X1=0 Y1=0 Z1=0 A1=0……〔独立的NC程序段编程〕
指令说明
G74 返回参考点
X1=0 Y1=0……指定机床轴X1、Y1……返回参考点
功能
当机床接通电源时〔在增量位置测量系统中使用〕,所有轴的直线运动必
须首先返回它们的参考点。
只有满足上述条件后,直线运动轴才能被编程。
在NC程序中,用指令G74可以使机床运动轴接近参考点。
说明
直线运动轴返回参考点的速度在机床数据中予以设定,不需要编程指定。 数控系统自动检测这些轴运动的方向。
注:机床轴的地址〔X1、Y1、Z1等等〕在程序中指定。 对于用G74指令返回参考点的轴的运动可以不用程序指定。 注销运动用指令TRAFOOF
程序举例:
- . word.zl-
- -
当测量系统变化时,接近刀具运动的参考点,初始化工件零点。
N10 G74 X1=0 Y1=0 Z1=0 C1=0 LF;直线运动轴和旋转运动轴接近参考
点
N20 G54;零点偏置
N30 G0 X__ Y__ Z__;快速运动编程
3.2 运动指令编程 3.2.1概述
运动指令编程
在这一节中,所有的用于加工零件轮廓
的运动指令将逐一被介绍。
你可以用这些指令编程加工直线和圆弧。一条螺旋线可以通过这两个轮
廓指令的组合编程加工出来。
在一个加工过程开场之前,你需要将刀具定位在可以防止刀具或工件被
破坏的位置。
刀具起始点——
直线运动总是从上一次到达点的位置到程序中指定点的位置,这个定义
的位置也是下次运行的起始位置。
运动轴的数量
根据系统配置的不同,在一个程序段中最
多可以设置8个运动轴。这些轴可以是路径轴、同步运动轴、位置轴、主轴等等。
注:在一个程序段中,一个轴的地址只能
出现一次。
这些指令可以在直角坐标系或极坐标系中
编程。
- . word.zl-
- -
3.2.2用极坐标运动指令编程,G110、G111、G112、AP、RP
程序格式 极坐标定义
G110、G111或G112 X__ Y__ Z__ G110、G111或G112 AP=__ RP=__
利用极坐标进展运动编程
G0 AP=__ RP=__ G1 AP=__ RP=__ G2 AP=__ RP=__ G3 AP=__ RP=__
命令及参数说明
G110 G111 G112 AP=
极坐标尺寸,参考上一点坐标的位置
极坐标尺寸,在工件坐标系中的绝对尺寸 极坐标尺寸,参考上一次设定的有效极点
极角,角度取值X围为0~360º,角度参考垂直于工件平面的轴
RP= 极半径〔单位可以为inch或mm〕 注:所有三个指令必须在程序段中单独编程。
功能
当一个工件是以原点为中心点、角度和半
径的形式标注尺寸时,例如钻孔模式,这些极坐标指令就可以让你直接用图纸上的坐标尺寸进展编程。
说明
运动指令
通过极坐标指定位置可以用运动指令G0、G1、G2和G3进展运动编程。
工件平面
极坐标在用G17~G19指令选择的工作平面
是有效的。
- . word.zl-
- -
圆柱坐标系
垂直于工件平面的第三几何轴,也可以在笛卡儿坐标系中被定义。 这种定义方式使工件的几何参数在圆柱坐标系中编程成为可能。
极点定义G110、G111、G112
极点可以在笛卡儿坐标系或极坐标系中
定义。
G指令G110、G111、G112常用于为坐
标尺寸的参考点提供一个唯一的定义方式,相对尺寸与绝对尺寸〔AC/IC〕对于用这些G指令定义的系统没有影响。
注:如果没有极点被定义,激活的工件
坐标系的原点将被使用。
极角AP
取值X围是0~360º。
对于绝对坐标输入方式,这个角度参考
工件平面的水平轴。例如用G17定义的工作平面的X轴。角度旋转的正方向为逆时针方向。
当采用相对坐标输入时〔AP=IC〕,上
一次编程的角度位置成为这一次角度编程的参考位置。
直到新的极点定义或工作平面改变以
前,这个极坐标角度将一直被系统保存。
极半径RP
极半径
极半径用公制或英制单位表示的绝对尺寸的绝对值来定义。直到新的极
半径输入以前,极半径RP将一直被系统所保存。
一般应用: 在NC程序中,你可以在极坐标系
与笛卡儿坐标系之间来回转换。
备注:
在NC程序中,你可以在极坐标系
与笛卡儿坐标系之间来回转换。
- . word.zl-
- -
程序实例
制作一个钻模:孔的位置在极坐标系中定义。每一个孔用同样的加工时
序来加工:钻预孔、钻削至接近尺寸、扩孔等。
这个加工时序以一个子程序的形式存储在系统中。 N10 G17 G54…… 定义工作平面X/Y,定义工件零点 N20 G111 X43 Y38 定义极点 N30 G0 RP=30 AP=18 Z5 到达刀具起始点,圆柱坐标位置 N40 L10 调用子程序进展加工 N50 G91 AP=72 快速运动到下一点,极角是相对坐标尺寸,
极半径为程序段N30中极半径值,这个极半径值被系统所记忆,不需要重新定义
N60 L10 调用子程序进展加工 N70 AP=IC〔72〕 快速运动到下一点 N80 L10 调用子程序进展加工 N90 AP=IC〔72〕 快速运动到下一点 N100 L10 调用子程序进展加工 N110 AP=IC〔72〕 快速运动到下一点 N120 L10 调用子程序进展加工 N130 ……
3.2.3快速移动指令,G0
程序格式
G0 X__ Y__ Z__
G0 AP=__ RP=__
参数说明
X、Y、Z AP= RP=
在笛卡儿坐标系中的终点坐标 在极坐标系中的终点的极角 在极坐标系中的终点的极半径
功能
你可以用这个快速移动指令使刀具快速定位、工件的来回运动或者使刀
具快速接近换刀点。
注:这个指令的功能不能用于对工件的切削加工。
说明
- . word.zl-
- -
用指令G0编程的刀具运动是尽可能以最高
的速度移动〔快速移动〕。在机床数据中,快速移动速度对于每一根轴单独定义。
如果几根轴同时进展快速移动,那么快速移
动的速度取决于在每根轴的移动路径中需要时间最长的那根轴的移动速度。
备注
指令G0是一个模态指令。
程序实例
指令G0常用于刀具到达运动的起
始位置或换刀点、退刀点等。
N10 G90……
N20 G0 X30 Y20 Z2 N30 G1 Z-5 F1000 N40 X80 Y65 N50 Z2
N60 G0 X-20 Y100 Z100 绝对坐标输入 到达起始位置 刀具进给
直线插补运动
退刀
3.2.4直线插补运动编程,G1
程序格式
G1 X__ Y__ Z__ F__ G1 AP=__ RP=__ F__
参数说明
X、Y、Z AP= RP= F
笛卡儿坐标系中的终点坐标 极坐标系中的终点的极角 极坐标系中的终点的极半径 进给速度〔mm/min〕
功能
利用G1指令编程,刀具可以沿着平行于机床轴的方向运动,也可以倾
斜一个角度运动,还可以用于一些空间定位,直线运动插补使诸如3D平面、
- . word.zl-
- -
槽的加工成为可能。
说明
刀具以进给速度F沿着直线从当前的起始位置向程序指定的终点移动。 工件沿着这条路径被加工。
你既可以在笛卡儿坐标系中或也可以在极坐标系中用该指令编程逼近程
序指定点。 备注
指令G1是一个模态指令。主轴转速S和旋转方向M3/M4对于机床加工必须预先指定。FGROUP可以同时给一组轴定义进给速度。你将在第5节中见到更详细的介绍。
程序实例
加工一个槽:刀具在X/Y方向上从起
始点移动到终点,Z轴也同时进给。
N10 …G17 S400 M3;选择工作平面,主轴启
动
N20 G0 X20 Y20 Z2;到达起始位置 N30 G1 Z-2F100;进刀深度
N40 X80 Y80 Z-15;沿着一条倾斜的直线运
动
N50 G0 Z100 … ;退到换刀点
3.2.5圆弧插补,G02/G03,CIP
程序格式
G02/G03 X__ Y__ Z__ I__ J__ K__ G02/G03 AP__ RP__
G02/G03 X__ Y__ Z__ CR__ G02/G03 X__ Y__ Z__ AR__ G02/G03 I__ J__ K__ AR__
CIP X__ Y__ Z__ I1__ J1__ K1__
指令和参数说明
指令 G02 G03 CIP 指令及参数说明 沿顺时针圆弧轨迹运动 沿逆时针圆弧轨迹运动 通过中点进展圆弧插补 - . word.zl-
- -
X Y Z I J K AP= RP= CR= AR= I1= J1= K1= 直角坐标系中的终点坐标 直角坐标系中的圆心坐标〔相对于X、Y、Z方向〕 极坐标系中的极角 极坐标系中的极半径 圆弧半径 圆弧角度 直角坐标系中的中点坐标〔相对于X、Y、Z方向〕 功能
圆弧插补可以加工一个整圆也可以加工一段圆弧。
加工说明
指定工作平面
数控系统为了确定圆弧的旋转方向〔G02是顺时针、G03是逆时针〕,需要用指令G17~G18指定工作平面。
一般来说,建议在加工程序的开场局部指定工作平面。 除此之外,你也可以在选择的工作平面外加工圆弧〔不带圆弧角度及螺旋参数〕。在这种情况下,你所指定轴的终点决定圆弧平面。
考前须知
G2/G3是模态指令。
FGROUP可以被用于指定进给轴的运动。你在§5章中看到详细的说明。 数控系统提供了一系列不同的圆弧运动的编程方法,是你可以根据不同
的图纸标注方式选择编程方法。
你将在下面的篇幅中见到详细的说明。
I、用圆弧中心点及终点坐标编程
- . word.zl-
- -
圆弧运动由以下参数描述:
a. 直角坐标系中的终
点坐标X、Y、Z
b. 圆弧中心点的坐标
I、J、K
参数含义如下:
I:在X方向上的圆弧中心点的坐标
J:在Y方向上的圆弧中心点的坐标
K:在Z方向上的圆弧中心点的坐标
如果这个圆的程序中只有圆的中心点而没有终点坐标,运行结果是一个整圆。
绝对尺寸和相对尺寸输入
对于绝对坐标或相对坐标的指令G90/G91的是否是缺省设置只对圆的终
点坐标有关系。中心点的坐标I、J、K一般以参考圆的起始点坐标的增量尺寸输入。
你也可以以参考工件零点的中心点的绝对坐标进展非模态编程: I=AC〔__〕,J=AC〔__〕,K=〔__〕。
相对尺寸编程举例:
N10 G0 X67.5 Y80.211
N20 G3 X17.23 Y38.029 I-17.5 J-30.21 F500
绝对尺寸编程举例:
N10 G0 X67.5 Y80.211
N20 G3 X17.23 Y38.029 I=AC(50) J=AC(50) F500
注:插补参数I、J、K为0的参数有一个是可以被省略的,但第二个为
0的参数必须被指定。
II、用圆半径及终点坐标进展圆的加工编程
圆的插补运动用以下参数描述:
- . word.zl-
- -
a. 圆的半径CR=
b. 直角坐标系中的终点坐标X、Y、Z
除圆弧半径之外,必须用+/-号指定它的运动X围是否大于180°。正号可以省略不写。
参数含义如下:
CR=+…角度小于或等于180° CR=-…角度大于180° 例如:
N10 G0 X67.5 Y80.211
N20 G3 X17.203 Y38.029 CR=34.913 F500 注:这种程序的中心点可以不必指定。
整圆加工〔运动角度360°〕不能用CR=编程,它必须用圆的终点坐标及插补参数编程。
III、用圆弧角度和中心点坐标或终点坐标编程
圆弧插补运动用以下参数描述: a. 圆弧角度“AR=〞
b. 直角坐标系中的终点坐标X、Y、
Z
c. 中心点坐标I、J、K 参数含义如下:
AR= 圆弧角度,取值X围0~360°
对于参数I、J、K的含义参见前面的有关介绍。
注:整圆加工〔运动角度360°〕不能用CR=编程,它必须用圆的终点坐标及插补参数编程。
例如:
N10 G0 X67.5 Y80.211
N20 G3 X17.203 Y38.029 AR=140.134 F500 或 N20 G3 I–17.5 J–30.211 AR=140.134 F500
IV、用极坐标进展圆弧编程
圆弧插补运动用以下参数描述: a. 极角AP=
- . word.zl-
- -
b. 极半径RP=
参数遵循以下规那么: a. 极点位于圆的中心点 b. 极半径对应于圆的半径 例如:
N10 G0 X67.5 Y80.211 N20 G111 X50 Y50
N30 G3 RP=34.913 AP=200.052 F500
程序举例:
在下面程序中,你将看到圆的编程的各种形式。这些需要的尺寸形式是根据相应的产品图纸的尺寸标注形式而定的。
N10 G0 G90 X133 Y44.48 S800 M3;刀具到达起始点
N20 G17 G1 Z-5 F100;刀具进给
N30 G2 X115 Y113.3 I-43 J25.52;圆的终点,相对尺寸表示的中心点坐标 or
N30 G2 X115 Y113.3 I=AC(90) J=AC(70);圆的终点坐标,绝对尺寸表示的中心点坐标 or
N30 G2 X115 Y113.3 CR=-50;圆的终点坐标,圆的半径 or
N30 G2 AR=269.31 I-43 J25.52;圆弧角度,相对尺寸表示的中心点坐标 or
N30 G2 AR=269.31 X115 Y113.3;圆弧角度,圆的终点坐标
V、利用圆弧的中点坐标及终点坐标进展圆弧编程
你可以用CIP进展圆弧编程,这些圆弧在空间
- . word.zl-
- -
可以处于倾斜状态。在这种情况下,用三个方向的圆弧的中点坐标及终点坐标描述圆弧。
圆弧插补运动可用以下参数描述: a. 中点坐标I1= J1= K1= b. 终点坐标X、Y、Z 参数含义如下:
I1= ;X方向上的中点坐标 J1= ;Y方向上的中点坐标 K1= ;Z方向上的中点坐标
用绝对尺寸和增量尺寸输入
G90/G91指令的缺省状态对于圆弧中点坐标及终点坐标的绝对尺寸或相对尺寸输入是有关系的。
用G91指令时,圆弧的起始点坐标常用于中点坐标及中点坐标的参考点。
注:指令CIP是一个模态指令。
刀具运动的方向取决于圆弧起始点、中点、终点的顺序。
对于CIP编程的程序举例:
为了加工一个倾斜的环形槽,通过三个中点插补参数及三个坐标方向上的终点坐标来定义圆。
N10 G0 G90 X130 Y60 S800 M3;刀具到达起始点位置
N20 G17 G1 Z-2 F100;刀具进给
N30 CIP X80 Y120 Z-10 I1= IC(85.35)
J1=IC(-35.35) K1=-6;圆的终点和中点;三个几何轴方向的坐标输入
3.2.6螺旋插补编程,G2/G3,TURN
程序格式
G2/G3 X… Y… Z… I… J… K… TURN=
- . word.zl-
- -
G2/G3 X… Y… Z… I… J… K… TURN= G2/G3 X… Y… Z… CR=… TURN= G2/G3 AR=… I… J… K… TURN= G2/G3 AR=… X… Y… Z… TURN= G2/G3 AP… RP=… TURN=
指令和参数说明
G2 G3 X Y Z I J K CR= AR
TURN= AP= RP=
顺时针圆弧插补 逆时针圆弧插补
直角坐标系中的终点坐标 直角坐标系中的中点坐标 圆半径 圆弧角度 螺旋圈数 极角 极半径
功能
螺旋插补使诸如螺纹、油槽的加工成为可能。
说明
在螺旋插补过程中,两个运动同时执行: a. 水平方向上的圆弧插补运动 b. 垂直方向上的直线运动
圆弧插补运动在工作平面指定的轴平面运行。
例如:在指令G17指定的工作平面内,进展圆弧插补的轴为X、Y轴。
刀具进给运动在预定的进给轴向运行。在这种情况下为Z轴。
运动说明
a. 刀具到达起始点
b. 执行指令TRUN=编制的整圆加工程
序
c. 到达圆的终点。例如运行一圈
d. 通过进给深度的要求,重复执行步骤
2、3
利用螺旋插补终点坐标编程
请参见圆弧插补编程中的圆弧插补参数的详细表达。
备注:
建议定义一个螺旋插补的进给速度参数表〔CFC〕。
程序举例:
- . word.zl-
- -
……
N30 G17 G0 X27.5 Y32.99 Z3;刀具到达起始点。 N40 G17 G1 Z-5 F50;刀具进给。
N50 G3 X20 Y5 Z-20 I=AC(20) J=AC (20) TURN=2;螺旋参数:从起始点到终点走两个整圆。
3.2.7定导程螺纹切削,G33
对于具有纵向轴Z和横向轴X的车削加工的程序举例: 圆柱螺纹
G33 Z… K … SF=…* 圆锥螺纹
G33 X… Z… K… SF=…* 〔K用于锥角小于45°的锥螺纹〕 G33 X… Z… I… SF=…* 〔I用于锥角大于45°的锥螺纹〕 面螺纹
G33 X… I… SF=…*
* SF= 只用于多头螺纹的编程 参数说明
X Z 直角坐标系中的螺纹终点坐标 I K 螺纹导程
SF=起始点偏置,仅用于多头螺纹 功能
以下类型的螺纹可以用指令G33编程加工:
圆柱螺纹、圆锥管螺纹或面螺纹、单头螺纹或多头螺纹、左旋螺纹或右旋螺纹。
3.2.8刚性攻丝,G331\\G332
程序格式
G331 X… Y… Z… I… J… K… 〔攻丝〕 G332 X… Y… Z… I… J… K… 〔返回运动〕 参数说明
X Y Z 一个直角坐标系坐标表示的攻丝深度〔终点〕 I J K 螺纹导程〔在X、Y、Z方向〕 功能
你可以用G331/G332指令进展刚性攻丝加工。
- . word.zl-
- -
第四章坐标系变换
4.1 构架概念
4.1.1工件坐标系的空间描述
加工倾斜轮廓的一种方法是用适宜的工艺装备使工件平行于机床坐标轴。
加工倾斜轮廓的另一种方法是建立一个适宜工件定位的坐标系。这个坐标系可以通过构架编程进展移动或旋转。
这种方法使你作如下操作成为可能: a. 移动零点到工件的任何位置;
b. 使坐标轴与定义的旋转工作平面的
轴的平行线一致;
c. 加工外表以倾斜位置被夹紧,在不同
的角度进展钻孔加工。 d. 进展多面体机械加工。
4.1.2工作平面,刀具偏置
对于工作平面和刀具偏置必须遵守一定的约定条件——根据机械运动学——对于在倾斜工作平面中的机床操作。你在3.1节中关于工作平面的描述中可以见到更详细的说明。
4.1.3什么是构架?
构架是用一个数学规那么例如描述平移或旋转的数学表达式对一个几何形体进展描述的约定说法。
构架常用于一个自定义坐标系的位置描述。这个自定义坐标系是通过对当前坐标系改变一个坐标或一个角度而设置的。
- . word.zl-
- -
4.1.4构架组成
一个构架可以由以下数学规那么组成: a. 平移,TRANS, ATRANS b. 旋转,ROT, AROT
c. 比例,SCALE, ASCALE d. 镜像,MIRROR,AMIRROR
注:上述构架指令在单独的NC程序段中编程并按这个编程的顺序执行。
4.2 构架指令 4.2.1绝对指令
TRANS,ROT,SCALE和MIRROR指令是替换指令。
注:就是说这些指令的每一个指令取消先前编程中所有的其它构架指令。
上一次调用的用G54~G599指令设置的零点偏置作为该指令运行的参考点被使用。
增量指令
ATRANS,AROT,ASCALE和AMIRROR指令是增量指令。
当前设置的零点或上一次设置的零点在构架指令的编程中作为参考点被使用。上述指令增量于已存在的构架中。
说明:增量指令常用于子程序中。如果子程序是用SAVE属性编程的话,在主程序中定义的这些指令的根本功能在子程序完毕时不丧失。
可设置指令和可编程指令
可设置指令是可以从用G54~G57指令编程的NC程序段中调用的零点偏置指令。偏置值通过用户和控制系统中存储零点偏置的存储器中预定义。
可编程指令〔TRANS,ROT,……〕在当前的NC程序段中有效,参考可设
- . word.zl-
- -
置指令。
可编程零点偏置,TRANS,ATRANS
程序格式
TRANS X__ Y__ Z__ ;〔在单独的NC程序段中编程〕 ATRANS X__ Y__ Z__ ;〔在单独的NC程序段中编程〕 指令和参数说明
TRANS 参考当前用G54~G599设置的有效的工件零点绝对移动。 ATRANS 参考当前有效的零点设置或编程零点增量移动。 X Y Z 在指定轴方向上的偏置值。
功能
TRANS/ATRANS常常被用于对于在指定轴的方向上所有路径轴与位置轴的平移编程。这个指令允许你用不同的零点操作,例如在工件的不同位置重复一样的加工过程。
说明
绝对指令,TRANS X Y Z
通过在指定轴〔路径轴、联动轴、位置轴〕方向上的偏置值编程移动。
上一次指定的可设置的零点偏置〔G54~G599〕常常以参考点的方式被使用。
注:指令TRANS注销先前所有的构架编程。 说明:你可以用ATRANS指令对增量于已存在的构架移动编程。
增量指令,ATRANS X Y Z
通过在指定轴的方向上的偏置值编程移动。 当前设置或上一个编程零点常常作为参考点被使用。
注销可编程的移动
对于所有轴:
- . word.zl-
- -
TRANS〔不带轴的参数〕
注:在这里,所有当前的构架编程被取消。 可设置的零点偏置仍然可以编程。
程序举例
对于这种工件,图示形状在同一程序中几次重复出现。
对于这种形状的工件加工时序以一个子程序被存储在数控系统中。
你用这个平移指令去设置这些工件的一个零点,然后调出这个子程序进展加工。
N10 G17…G54… ;选定工作平面X/Y,定义工件零点
N20 G0 X0 Y0 Z2;到达起始点 N30 TRANS X10 Y10;绝对平移 N40 L10;子程序调用
N50 TRANS X50 Y10;绝对平移 N40 L10;子程序调用
N50 TRANS X50 Y10;绝对平移
…
4.4 可编程的旋转,ROT,AROT
程序格式
ROT X__ Y__ Z__ ROT RPL=__
AROT X__ Y__ Z__ AROT RPL=__
每一个指令必须在单独的NC程序段中编程。
指令和参数说明
ROT;参考当前用G54~G599指令设置的有效的工件零点绝对旋转
AROT;参考当前有效的零点设置或编程零点增量旋转
X、Y、Z;旋转空间:围绕产生旋转的几何轴 RPL;旋转平面:坐标系旋转通过的角度
功能
指令ROT/AROT可以被用于工件坐标系围绕每一根几何轴X、Y、Z旋转,
- . word.zl-
- -
或者通过一个角度参数RPL在用G17~G19选择的工作平面旋转〔或者围绕预定义的进给轴旋转〕。
这些指令允许在一个设置中加工倾斜平面或几个工件外表。
在空间旋转
绝对指令,ROT X Y Z
坐标系通过用围绕指定轴旋转的角度编程旋转。旋转中心点为上一次指定的可设置的零点偏置〔G54~G599〕。
注:指令ROT取消当前所有的可编程的构架设置。
说明:基于已存在的构架作一个新的旋转用指令AROT编程。
增量指令,AROT X Y Z
通过用在指定轴的方向上的角度编程来实现坐标系的旋转。这个旋转的中心点是当前设置的或上一次编程的零点。
考前须知
对于这两个指令,请注意指定的旋转顺序和旋转方向。
旋转方向
以下方向被定义为旋转的正方向:
在正坐标轴和顺时针旋转的方向观察。
- . word.zl-
- -
旋转顺序
你可以在一个NC程序段中三根几何轴同时旋转。 RPY标志法〔=转动〔Roll〕、摇动〔Pitch〕、摆动〔Yaw〕〕的顺序或者旋转通过的欧拉角〔Euler angle〕顺序是可以通过机床参数定义指定的。
RPY标志法是一个缺省设置。这种表示法定义的旋转顺序如下:
首先围绕第三几何轴〔Z〕旋转。 其次围绕第二几何轴〔Y〕旋转。 最后围绕第一几何轴〔X〕旋转。
如果几何轴在一个简单的程序段中编程的话,这种顺序是适合的,它也适用于不考虑输入顺序的情况。
如果只有两根轴被旋转,第三根轴的参数〔值为零〕可以被省略。
取值X围
围绕第一几何轴旋转:-180°~+180° 围绕第二几何轴旋转:-89.999°~+90° 围绕第三几何轴旋转:-180°~+180°
所有可能的旋转可以在这个取值X围内表示。超出这个取值X围的值通过在上面的取值X围中转换使之正常取值。这种取值X围适用于所有的构架变量。
说明:如果你想逐一地定义旋转的顺序,用指令AROT编程可以到达对每一根轴的旋转进展定义的要求。
- . word.zl-
- -
工作平面也可以旋转
用G17~G19指令定义的工作平面用空间旋转指令进展旋转编程。
例:在G17定义的X/Y工作平面,工件坐标系位于工件的上平面。
平移和旋转用于移动这个坐标系至它的一个侧面。
G17工作平面也相应旋转
这个特性可以被用于编程平面在X/Y坐标中指定位置和在Z方向指定进给。
注:先决条件
刀具必须定位于工作平面的垂直方向,进给轴的正方向指向刀具固定点的方向。指定指令CUT2DF在旋转平面激活刀具半径补偿。
在平面中旋转
坐标系在用G17~G19选择的工作平面中旋转。
替换指令,ROT RPL 增量指令,AROT RPL
在当前工作平面用RPL=角度参数编程进展坐标系转换。
对于更详尽的说明见“在空间中的平面旋转〞中的介绍。
注:平面变换
如果在作一个旋转之后你想用G17~G19指令进展平面变换,对于轴旋转的编
程角度仍然有效,继续适用于新的工作平面。因此建议在进展工作平面变换之前,注销旋转功能。
注销旋转功能
对于所有轴:
ROT 〔不带轴的参速〕 注:
- . word.zl-
- -
在这两种情况下,所有先前的构架编程被取消。
程序举例:平面旋转
对于这种工件,这种一样的形体在同一个程序中重复几次出现。
旋转不得在增量平移中被指定,因为这种形体不是平行于轴排列。
N10 G17…G54…;选择工作平面X/Y,定义工件零点
N20 TRANS X20 Y10;绝对平移 N30 L10;子程序调用
N40 TRANS X55 Y35;绝对平移 N50 AROT RPL=45;坐标系旋转45°角
N60 L10;子程序调用
N70 TRANS X20 Y40;增量平移 N80 AROT RPL=60;增量旋转60°角
N90 L10;子程序调用
程序举例:空间旋转
在这个例子中,工件外表在一个设置的加工坐标系中平行于一个坐标轴,与另一个坐标轴成一角度。
先决条件:在旋转的Z方向,刀具必须垂直于倾斜外表。
N10 G17…G54…;选择工作平面X/Y,工件零点
N20 TRANS X10 Y10;绝对平
- . word.zl-
- -
移
N30 L10;子程序调用
N40 ATRANS X35;增量平移 N50 AROT Y30;关于Y轴旋转 N60 ATRANS X5;增量平移 N70 L10;子程序调用
程序举例:多面体加工
在这个例子中,对于两个互相垂直的工件平面的一样形体在子程序的帮助下被加工。
在根据右手工件外表确定的新坐标系中的进给方向、工作外表、零点的设定与工件的上平面相匹配。
N10 G17…G54…;选择工作平面X/Y,工件零点 N20 L10;子程序调用
N30 TRANS X… Z-…;绝对平移
N40 AROT Y90;关于Y轴坐标系旋转 N50 AROT Z90;关于Z轴坐标系旋转 N60 L10;子程序调用
4.5 可编程的比例因子,SCALE,ASCALE
程序格式
SCALE X… Y… Z…;〔在单独的NC程序段中编程〕 ASCALE X… Y… Z…;〔在单独的NC程序段中编程〕
指令和参数说明
SCALE:参考当前用G54~G599指令设置的有效的坐标系绝对放大、缩小 ASCALE:参考当前设置的有效的坐标系或者程序坐标系增量放大、缩小。 X、Y、Z:指定轴方向上的比例因子
- . word.zl-
- -
功能
SCALE/ASCALE可以用于所有路径轴、联动轴、位移轴在指定轴向的比例因子编程。这个指令使一个形状的尺寸可以按照一定的规那么变化。你可以用此指令编制一样形状不同尺寸的零件的加工程序。
说明
绝对指令,SCALE X Y Z
对于每一轴向的扩大/缩小,可以单独定义一个比
例因子。这个比例因子参考于用G54~G57指令设置的工件坐标系。
注:这个SCALE指令取消所有先前的可编程的构架设置。
增量指令,ASCALE X Y Z
增量于已存在构架中的比例因子与新的比例因子相乘。
先前设置的坐标系或编程坐标以比例变换的参考点被使用。
注销比例因子
对于所有轴:
SCALE 〔不带轴的参数〕
在这两种情况下,所有先前的构架编程被取消。
备注:
如果你想在用SCALE比例变换后用ATRANS进展一个平移编程,这个偏置值相应的进展比例变换。
注:使用不同的比例因子要慎重。
例如:圆弧插补只能用一样的比例因子进展比例变换。
但是你可以用不同的比例因子进展变形圆的编程加工,如下图。
程序举例
对于这样的工件,两个型腔两次重复出现,但与另一个型腔的尺寸与方向不同。
型腔的加工程序存储在一个子程序当中。
- . word.zl-
- -
用平移和旋转指令设定每一个工件零点,用一个比例进展轮廓缩小,然后又一次调用这个子程序。
N10 G17…G54…;选择工作平面X/Y,工件零点 N20 TRANS X15 Y15;绝对平移 N30 L10;加工大型腔
N40 TRANS X40 Y20;绝对平移
N50 AROT RPL=35;工件平面旋转35°角 N60 ASCALE X0.7 Y0.7;小型腔的比例因子 N70 L10;加工小型腔
4.6 可编程的镜像,MIRROR,AMIRROR
程序格式
MIRROR X0 Y0 Z0;〔在单独的NC程序段中编程〕 AMIRROR X0 Y0 Z0;〔在单独的NC程序段中编程〕
指令和参数说明
MIRROR:参考当前的用G54~G599指令设置的有效的坐标系绝对镜像 AMIRROR:参考当前设置的有效的坐标系或者程序坐标系增量镜像 X Y Z:需要作镜像变换方向上的坐标轴,在这里指定的值可以自由的选择。例如X0、Y0、Z0
功能
MIRROR/AMIRROR可以用于工件形状关于坐标轴的镜像编程。所有在镜像后调用的平移运动〔例如在子程序中〕,用镜像的方式执行。
绝对指令,MIRROR X Y Z
通过在选定的工作平面中改变一个轴的方向的方法来进展加工编程。
- . word.zl-
- -
例:G17定义的工作平面X/Y中。
关于Y轴的镜像需要改变X轴的方向,随后用MIRROR X0编程。 这个轮廓随后在镜像轴Y的反方向被镜像。
镜像参考于用G54~G57设置的坐标系中的坐标轴。 注:这个MIRROR指令取消所有先前的构架编程。
增量指令,AMIRROR X Y Z
增量于已存在的构架转换中的镜像用AMIRROR指令编程。
当前的坐标系设置和上一次编程的坐标系以参考点的方式被使用。
注销镜像指令
对于所有轴:
MIRROR 〔不带轴参数〕
这个指令取消所有先前的构架编程。
备注:
这个镜像指令引起控制系统根据新的加工方向自动的改变路径补偿指令〔G41/G42或G42/G41〕。
同样它适用于圆旋转方向的改变〔G2/G3或G3/G2〕。
注:如果你在使用MIRROR指令之后用AROT附加一个旋转,必须用相反的旋转方向进展编程操作〔+/-或-/+〕。
关于几何轴的镜像是通过控制系统自动地进展变换。这也可以应用于可设置的零点偏置。
程序举例
图示轮廓中的一个轮廓用子程序编程,另外三个轮廓用一个镜像操作指令完成。
工件零点位于这些轮廓的中心。
- . word.zl-
- -
N10 G17… G54…;选定工作平面X/Y,调用工件零点 N20 L10;加工第一个轮廓,右上角
N30 MIRROR X0;关于Y轴镜像,对于X轴方向相反 N40 L10;加工第二个轮廓,左上角
N50 AMIRROR Y0;关于X轴镜像,对于Y轴方向相反 N60 L10;加工第三个轮廓,左下角
N70 MIRROR Y0;关于X轴镜像,对于X轴方向相反 N80 L10;加工第四个轮廓,右下角 N90 MIRROR;注销镜像
第五章刀具偏置
5.1 概述
为什么要用刀具偏置?
当编制程序时,你不必考虑切削刀具直径、车削刀具〔左/右偏刀具〕的刀尖位置或刀具长度。你可以直接根据产品图纸的尺寸进展刀具运动编程。
当加工一个工件时,刀具运动的轨迹必须根据刀具的几何形状控制,例如编程指定的轮廓可以用多种不同直径和长度的刀具加工。
运动轨迹的正确控制
为了到达这个目的,你必须在数控系统的刀具参数中输入所有相关刀具的数据。
在程序执行过程中,对于不同的刀具,数控系统从刀具参数中调出偏置数据和正确的刀具运动
- . word.zl-
- -
轨迹。
哪一个刀具偏置值是数控系统所需要的? 刀具长度补偿
这些值对于所使用的刀具间的差值进展补偿。 刀具长度指的是刀柄参考点和刀尖之间的距离。这个长度被测量并和可定义的磨损值一起输入到数控系统的刀具参数中。
从这些数据中,控制系统计算刀具在进给方向的运动。
对于几何轴刀具长度补偿的分配
注:刀具长度补偿总是在固定于空间的工件坐标系中起作用。补偿的方向一方面取决于G17~G19定义的加工平面和刀具类型——刀具轴的位置必须定位于选择的工作平面中和这根轴在这个平面中的初始状态。
在下面的章节中,你将见到关于铣削刀具、车削刀具和磨损刀具的精选的刀具类型的列表。
带有图解方式的所有刀具类型的完整列表在?操作指南?的“刀具偏置〞一节中给出。
刀具半径补偿
工件轮廓和刀具路径是不完全一样的,切削刀具和刀尖的半径中心必须在与轮廓等距离的一个轨迹上运动。
为此,刀具中心点编程的路径通过刀具半径和加工的方向移动,以至于切削面或刀尖沿着设计轮廓准确的移动。
控制系统在程序执行的过程中,调用需要的刀具半径值并根据这些值计算刀具的运动轨迹。
注:刀具半径补偿按照CUT2D或CUT2DF设置起作用,你将在本节的后续所述的内容中见到更详细的介绍。
- . word.zl-
- -
5.2 刀具调用,刀具长度补偿,T、D
程序格式
T… D… M6
$TC_DP1[tn,dn]…$TC_DP25[tn,dn]
参数说明
T…;调用刀具
D…;调用刀具偏置块,激活刀具长度补偿 M6;换刀,然后刀具T…被激活
$TC_DP1[tn,dn];调用通道系统变量:偏置值DP1~DP25,刀具顺序号tn,刀具偏置号dn
功能
在NC程序中,你可以用带有刀具顺序号的地址T〔例如T17〕输入当前加工操作所需要的刀具。
T功能
当带有一个刀具顺序号的地址T被调用时,例如T5,一个将要交换的刀具被指定或这把刀具被预选〔见后面表达〕。
而且存储于一个D顺序号的刀具长度补偿值必须被激活。
T的顺序号X围从1~32000,必须为正整数。
注意
注:在刀具调用编程之前,必须用指令〔G17~G19〕选定工作平面,这样确保了刀具长度补偿被正确地分配给各轴。
装入刀具,T、M6
在机床数据中,它被定义为是否用T指令调用或是用一个辅助功能指令调用,例如用M6指令构成的程序段被调用就开场进展换刀。
以下过程通常被应用
1、刀具转台
- . word.zl-
- -
当T顺序号被调用时,执行换刀过程,不必用M6指令编程。 2.刀库
T顺序号预选刀具。例如该指令只指定将要换的刀具在刀库中的位置,真正地换刀通过M6指令启动换刀过程。只有作了上述操作之后,新的刀具偏置使用。
刀具偏置数据D
刀具偏置段包括刀具的几何参数,这些值一般存贮于分配给一个刀具顺序号T的偏置段D1中。
注:所需的D顺序号必须在选择刀具长度补偿之前被编程。
没有T或D顺序号的加工
说明:在机床数据中,一个缺省的T和D顺序号可以被设置,以至于在换刀时不用再编程。例如:所有加工用一样的砂轮进展。
用不同的刀具偏置加工,D1~D9
你可以最多指派9个偏置值——D顺序号D1~D9给一个T顺序号。 这个功能可以使一把刀具定义为不同的刀具边加工成为可能。需要刀具偏置时,在NC程序中这些偏置值被调用。可以使用不同的偏置值,例如,对于一把切槽刀具的左切削面和右切削面。
当相应的T顺序号被激活时,一个D顺序号最好被激活。 在换刀后,缺省值为D1。
没有刀具偏置的加工,D0
在换刀之后,D0是一个缺省设置。如果你不输入一个D顺序号,那么你在没有刀具偏置的情况下加工。
在NC程序段中调用和修改刀具偏置
对于每一个在刀具偏置值中的值,一个系统变量被提供,你可以在NC程序中调用或修改这个变量。通过指定参数顺序号DP1~DP25、刀具顺序号T和偏置顺序号D中的一个调出所需要的参数。
$TC_DP1[Tn,Dn] … $TC_DP25[Tn,Dn] 例如:对于刀具4重磨后使用: N10 $TC_DP12[4,1]=-45.17
刀具T4的参数顺序号12〔刀具长度、磨损量〕在偏置值D1中被指定值为45.17。
注:直到下一次T或D顺序号编程时才激活修改值。 你将在前面的表达中看到单个参数顺序号的含义。
删除所有的刀具偏置〔所有的D顺序号〕 程序指令
- . word.zl-
- -
$TC_DP[T-Nr.,0]=0 创立刀具偏置存储器
在这种情况下,指定带有刀具类型代码的DP参数顺序号1。所有其它参数以0开场。
例如:
N10 $TC_DP1[4,1]=510
对于精加工切削刀具〔刀具类型510〕翻开刀具偏置存储器。
5.3 刀具半径补偿,G40、G41、G42
参数说明
G40;注销刀具半径补偿
G41;激活刀具半径补偿,沿着加工方向的轮廓左侧进展刀具半径补偿加工
G42;激活刀具半径补偿,沿着加工方向的轮廓右侧进展刀具半径补偿加工
功能
当刀具半径补偿被激活时,控制系统自动计算出对于不同刀具的等距于轮廓的刀具运动轨迹。
你可以用OFFN参数生成等距运动轨迹,例如,对于粗——精加工。
说明
为了计算刀具运动轨迹,控制系统需要获得以下信息。
1、刀具顺序号T
在适宜的地方,刀具偏置顺序号也是需要的。刀具运动轨迹和工件轮廓之间的距离根据切削刀具和刀具切削面的半径及
- . word.zl-
- -
切削面的方向计算。
2、补偿方向,G41、G42
根据这些信息,控制系统确定刀具的补偿方向。
3、选择工件加工平面,G17~G19
根据这些信息,控制系统确定平面,从而确定轴补偿的方向。 例如:
N10 G17 G41……
刀具半径补偿被指定在X/Y方向,刀具长度补偿被指定在Z方向。
注:对于二轴数控机床,刀具半径补偿只有在这个实际存在的平面是可能的,一般是G18指令指定的平面。〔见刀具长度补偿表〕
刀具半径补偿的激活/注销
注:在含有G40、G41或G42指令的一个NC程序段中,一个运动指令必须用G0或G1编程。在选定的工作平面内,这个运动指令必须至少要指定一个轴〔最好是两个轴〕。
如果你只指定一个轴处于激活状态,那么对于第二个轴的上一位置被自动地激活补偿,两个轴的运动均产生补偿。
例如:
N10 G0 X50 T1 D1 N20 G41 Y60
在程序段N10中,只有刀具长度补偿是处于激活状态,X50在没有刀具半径补偿的情况下到达指定点。在程序段N20中,刀具半径补偿处于激活状态,X50和Y60以刀具半径补偿的方式到达指定点。
- . word.zl-
- -
说明:关于补偿模式的激活和注销你可以用NORM和KONT定义道具运动轨迹。〔见后面的表达〕
刀具半径补偿方向的改变
G41/G42、G42/G41可以在没有中间过渡指令G40的情况下直接编程。
工作平面的改变
当G41/G42被激活时,改变工作平面G17~G19是不可能的。
偏置顺序号D的改变
刀具偏置顺序号D在补偿模式下是可以被修改的。
在新的D顺序号编程的程序段起作用时,一个修改的刀具半径被激活。
注:刀具半径改变或补偿运动的指定通过整个程序段。从而只有在编程的终点到达新的等距点。
对于直线运动,刀具运动在起点和终点通过一条倾斜线。螺旋运动用圆弧插补生成。
刀具半径的改变
这个功能可以通过系统变量实现,执行过程与D顺序号的改变一样。 注:修改值只在下一个T或D编程时产生影响。这个改变适用于从下一个程序段起作用的情况。
补偿方式过程
注:补偿方式只能通过一定数量的在补偿平面没有运动指令和位置参数的连续程序段中断。
这个数量可以在机床数据中定义。
程序举例
“常规的〞逼近
调用刀具、装入刀具,激活工作平面和刀具半径补偿。
N10 G0 Z100;退到换刀点
N20 G17 T1 M6;换刀 N30 G0 X0 Y0 Z1 M3 S300 D1;调用刀具偏置值,选择刀具长度补偿
N40 Z-7 F500;刀具进给 N50 G41 X20 Y20;激活刀具半径补偿,刀具在工件轮廓左侧补偿
- . word.zl-
- -
N60 Y40;铣削轮廓 N70 X40 Y70 N80 X80 Y50 N90 Y20 N100 X20
N110 G40 G0 Z100 M30;退刀,程序完毕
第六章常用固定循环
6.1 钻削固定循环 6.1.1 钻削循环CYCLE81
程序格式
CYCLE81 (RTP, RFP, SDIS, DP, DPR)
参数说明
RTP:返回平面〔绝对值〕 RFP:参考平面〔绝对值〕 SDIS:平安距离〔无符号数〕 DP:钻削深度〔绝对值〕
DPR:相对参考平面的钻削深度〔无符号数〕
- . word.zl-
- -
功能
用这个固定循环可以钻通孔或者对孔底没有要求的盲孔。
6.1.2 钻削循环CYCLE82
程序格式
CYCLE82 (RTP, RFP, SDIS, DP, DPR,DTB)
参数说明
RTP:返回平面〔绝对值〕 RFP:参考平面〔绝对值〕 SDIS:平安距离〔无符号数〕 DP:钻削深度〔绝对值〕
DPR:相对参考平面的钻削深度〔无符号数〕 DTB:孔底暂停时间 功能
用这个固定循环可以锪沉孔或镗沉孔。
6.1.3 钻削循环CYCLE83
程序格式
CYCLE83 (RTP, RFP, SDIS, DP, DPR, FDEP, FDPR, DAM, DTB, DTS, FRF, VARI)
- . word.zl-
- -
参数说明
RTP:返回平面〔绝对值〕 RFP:参考平面〔绝对值〕 SDIS:平安距离〔无符号数〕 DP:最终钻削深度〔绝对值〕
DPR:相对参考平面的钻削深度〔无符号数〕 FDEP:第一次钻削深度〔绝对值〕
FDPR:相对于参考平面的第一次钻削深度〔无符号数〕 DAM:其余每次钻削深度〔无符号数〕 DTB:孔底暂停时间〔断屑〕 DTS:在起始点和排屑点停留时间
FRF:第一次钻削深度的进给速度系数〔无符号数〕,取值X围为:0.001……1 VARI:加工方式:1-排屑 0-断屑
功能
用这个固定循环可以钻深孔。
- . word.zl-
- -
6.1.4 刚性攻丝CYCLE84
程序格式
CYCLE84 (RTP, RFP, SDIS, DP, DPR, DTB, SDAC, MPIT, PIT, POSS, SST, SST1)
参数说明
RTP:返回平面〔绝对值〕 RFP:参考平面〔绝对值〕 SDIS:平安距离〔无符号数〕 DP:攻丝深度〔绝对值〕 DPR:相对参考平面的攻丝深度〔无符号数〕
DTB:螺纹底部停留时间
SDAC:循环完毕后的旋转方向。取值:3,4或5
MPIT:用螺纹规格表示螺距。取值X围:3〔M3〕~48〔M48〕 PIT:用螺纹尺寸表示螺距。取值X围:0.001~2000.00mm POSS:攻丝循环中主轴的初始位置。〔用角度表示〕 SST:攻丝速度〔主轴转速〕 SST1:退刀速度〔主轴转速〕
- . word.zl-
- -
功能
刚性攻丝循环。
6.1.5 浮动攻丝CYCLE840
程序格式
CYCLE840(RTP, RFP, SDIS, DP, DPR, DTB, SDR, SDAC,ENC,MPIT, PIT)
参数说明
RTP:返回平面〔绝对值〕 RFP:参考平面〔绝对值〕 SDIS:平安距离〔无符号数〕 DP:攻丝深度〔绝对值〕
DPR:相对参考平面的攻丝深度〔无符号数〕
DTB:螺纹底部停留时间
SDR:退刀时的主轴旋转方向。取值:0-自动反向,3-M3,4-M4 SDAC:循环完毕后的旋转方向。取值:3,4或5
ENC:是否带编码器攻丝。取值:0-带编码器攻丝,1-不带编码器攻丝。 MPIT:用螺纹规格表示螺距。取值X围:3〔M3〕~48〔M48〕 PIT:用螺纹尺寸表示螺距。取值X围:0.001~2000.00mm 功能
- . word.zl-
- -
浮动攻丝循环。
6.1.6 镗孔循环CYCLE86
程序格式
CYCLE86 (RTP, RFP, SDIS, DP, DPR, DTB, SDIR, RPA, RPO, RPAP, POSS) 参数说明
RTP:返回平面〔绝对值〕 RFP:参考平面〔绝对值〕 SDIS:平安距离〔无符号数〕 DP:镗孔深度〔绝对值〕
DPR:相对参考平面的镗孔深度〔无符号数〕
DTB:在一定镗深下的暂停时间〔断屑〕
SDIR:主轴旋转方向。取值:3〔=M3〕或4〔=M4〕 RPA:在所选平面内的横向退刀〔相对值,带符号〕 RPO:在所选平面内的纵向退刀〔相对值,带符号〕 RPAP:在所选平面内的进给方向退刀〔相对值,带符号〕 POSS:循环停顿时主轴位置〔用度数表示〕 功能 :精镗孔
6.2 钻削固定循环的模态调用
调用程序格式
MCALL CYCLE8_ (RTP, RFP, SDIS, DP, DPR)
- . word.zl-
- -
注销程序格式 MCALL 功能
用来加工在同一平面上排列的多个孔。
6.3 规那么排列孔的钻孔循环 6.3.1 射线性排列孔的钻孔循环
程序格式
HOLES1 (SPCA, SPCO, STA1, FDIS, DBH, NUM)
参数说明
SPCA:参考点的横坐标〔绝对值〕 SPCO:参考点的纵坐标〔绝对值〕
STA1:孔中心所在直线与横坐标的夹角,取值X围:-180° DBH:孔中心距〔无符号数〕——相邻孔 NUM:孔的数量 功能:加工矩形且呈等距排列的孔 6.3.2 圆周排列孔的钻孔循环 程序格式 - . word.zl- - - HOLES2 (CPA, CPO, RAD, STA1, INDA, NUM) 参数说明 CPA:圆中心点的横坐标〔绝对值〕 CPO:圆中心点的纵坐标〔绝对值〕 RAD:圆周半径〔无符号数〕 STA1:初始角。取值X围:-180º 加工圆周等距排列的孔。 第七章算术参数与程序跳转 7.1 算术参数R 程序格式 Rn=…… 参数说明 R:算术参数 n:算术参数号,n=0到最大。最大数见机床数据或机床生产厂家的设置。缺省设置:最大为99。 注:R参数号在机床数据中设置,或者见机床生产厂家的技术要求。 功能 使用算术参数,例如,如果NC程序不仅对于分配的值有效,或如果需要计算值,所需值在程序执行期间可由控制系统设置或计算,其它可能性包括通过操作设置算术参数值,如果值已分配给算术参数,那么它们也可分配给程序中别的NC地址。这些地址值应该是可变的。 值的分配 你可在以下X围内把值分配给算术参数: - . word.zl- - - ±0.0000001~99999999 注意:一个程序段内可以有假设干个R参数或多个表达式的分配。值的分配必须在1个独立的程序段中进展。 分配给别的地址 NC程序的灵活性在于利用算术参数把这些算术参数或表达式分配给别的NC地址。 值、表达式及算术参数可分配给所有(除了N、G、L之外)地址。 分配时,字符“=〞写在地址字符后面,也可选用符号分配,分配给轴地址要求在独立的程序段。 例如:N10 G0 X=R2;分配给X轴 程序举例 1、R参数 N10 R1=R1+1;新的R1从旧的R1加1得出 N20 R1=R2+R3 R4=R5-R6 R7=R8*R9 R10=R11/R12 N30 R13=SIN(25.3);R13等于25.3度的正弦 N40 R14=R1*R2+R3;乘在加或减之前运算,R14=(R1*R2)+R3 N50 R14=R3+R2*R1;结果与程序段N40一样 N60 R15=SQRT(R1*R1+R2*R2);含义:R15=R1*R1+R2*R2的平方根。 2、分配轴值 N10 G1 G91 X=R1 Z=R2 F300 N20 Z=R3 N30 X=-R4 N40 Z=-R5 …… 7.2 无条件程序跳转 程序格式 LABEL: GOTOB LABEL 或GOTOF LABEL LABEL: 参数说明 GOTOB:带向后跳转目的的“跳转指令〞〔向程序开头〕 GOTOF:带向前跳转目的的“跳转指令〞〔向程序结尾〕 LABEL:目的〔程序内标号〕 - . word.zl- - - LABEL::跳转目的;冒号后面的跳转目的名 功能 通过缺省、主程序、子程序、循环以及中段程序依次执行被编程的程序段,程序跳转可修改此顺序。 操作顺序 带用户指定名的跳转目的可以在程序中编程,GOTOF与GOTOB命令可用于在同一程序内从其他点分出跳转目的点。然后程序随着跳转目的而立即恢复执行。 程序举例 N10…… N20 GOTOF MARKE_0;向前跳转到MARKE_0 N30…… N40…… N50 MARKE_1:R1=R2+R3 N60…… N65 GOTOF MARKE_2; 向前跳转到MARKE_2 N70…… N80…… N90 MARKE_0: N100…… N110 GOTOB MARKE_1;向后跳转到MARKE_1 N115…… N120 MARKE_2: N130…… 考前须知 无条件跳转必须在独立的程序段中编程。 在带无条件跳转的程序中,程序完毕M2/M30不一定出现在程序结尾。 7.3 有条件程序跳转 程序格式 LABEL: IF 算术表达式 GOTOB LABEL 或 IF 算术表达式 GOTOB LABEL LABEL: - . word.zl- - - 参数说明 IF:条件关键字 GOTOB:带向后跳转目的的“跳转指令〞〔向程序开头〕 GOTOF:带向前跳转目的的“跳转指令〞〔向程序结尾〕 LABEL:目的〔程序内标号〕 LABEL::跳转目的;冒号后面的跳转目的名 ==:等于 <>:不等于 >:大于 <:小于 >=:大于或等于 <=:小于或等于 <<:字符串 功能 跳转条件可以利用IF指令公式化,如果跳转条件满足,就可以执行跳转到编程跳转的目的点。 操作顺序 跳转条件可以利用任何比照或逻辑操作来编程〔结果:真或假〕。如果操作结果为真,那么程序跳转就可以执行。 假设干有条件跳转就可以在执行同一个程序段内公式化。 跳转条件例如 IF R1>R2 GOTOF MARKE1;如果R1大于R2,那么跳转到MARKE1 IF R7<=(R8+R9)*743 GOTOB MARKE1;作为条件的复合表达式 IF R10 GOTOF MARKE1;允许确定一个变量〔INT,REAL,BOOL或CHAR〕。如果变量值为0〔=假〕,条件就不能满足;对于所有其它值,条件为真。 IF R1==0 GOTOF MARKE1 IF R1==1 GOTOF MARKE2;同意程序段中的几个条件。 程序举例 N10 R1=30 R2=60 R3=10 R4=11 R5=50 R6=20;初始值的分配 N20 MA1:G0 X=R2*COS(R1)+R5 Y=R2*SIN(R1)+R6;计算并分配给轴地址 N30 R1=R1+R3 R4=R4-1;变量确定 N40 IF R4>0 GOTOB MA1;跳转语句 N50 M30;程序完毕 第八章子程序与程序段的重复 - . word.zl- - - 8.1 使用子程序 什么是子程序 原理上,子程序的构造与零件程序一样。 根本上子程序与主程序没有什么区别,子程序包含将执行假设干次的加工操作。 使用子程序 重复的加工操作在子程序中编程一次。图示包括某些重复出现的轮廓形状及加工循环。 子程序可以调用并可在任何主程序中执行。 子程序构造 子程序的构造与主程序一样,唯一的区别是子程序用M17指令表示程序完毕,这表示返回子程序调出的程序级。 说明 允许在机床数据中表达程序完毕M17〔如可获得较好的运行时间。〕 利用RET表示程序完毕 子程序也可以利用完毕语句RET代替M17表示程序完毕,RET必须在单独的程序段内编程。当G64连续轨迹方式不能通过返回中断时可使用RET语句,M17可使G64中断并执行准停。 纠正:M17不要写入它自己的子程序段,应利用运动轨迹来取代它:G1 X=YY M17必须设置在机床数据中:“PLC〞 子程序名 子程序给出1个名字,并允许它从别的之中选择,编制程序时名称可以随意选择,但应注意: 1.开头两个字符必须是字母 2.其它可以是字母,数字或下划线字符 3.最多可以使用31个字符 4.分隔符不能使用,使用原那么与主程序名一样。 例如: N10 POCKET1 - . word.zl- - - 另外,子程序允许使用地址子L…,数据有7位数〔仅为整数〕。 注:L01与L1不同。 嵌套深度 子程序也可以从子程序中调用,不仅是从主程序中调用。 此种嵌套调用形式最多可使用12个程序级,包括主程序级。 这表示:可以从主程序发出至多11次嵌套子程序调用。 注:如果你利用SIEMENS加工与测量循环工作,那么需要3级,如果循环从子程序调用,此次调用不能从9级之外发出。 8.2 子程序调用 子程序调用 利用地址L及子程序号或通过子程序名在主程序中调用子程序。 例如: N120 L100 调用主程序作为子程序 主程序也可以作为子程序调用。在这种情况下设置在主程序中的程序完毕M30按M17处理。 子程序调用必须在一个单独的NC程序段中编程。 子程序的重复调用,P 如果一个子程序被连续执行几次,那么要求的程序重复数就可以通过子程序调用输入程序段中的地址P上。 例:N40 FRAME P3 子程序FRAME必须连续执行3次。 取值X围P:1~9999 8.3 程序段重复 功能 与子程序技术相比,程序段重复允许在任何组合中进展现有程序段的重复,需要重复的程序段利用标号识别。 编程格式 重复程序段 - . word.zl- - - LABEL:xxx yyy REPEATB LABEL P=n zzz 用标号识别的程序段被重复,P=n次。 如果P未被确定,那么程序段只能重复一次。最后一次重复之后,程序在REPEATB行后的zzz行上继续运行。 用标号识别的程序段可以在REPEATB语句前后出现。 搜索指向程序开头,如果在此方向上未找到标号,那么搜索继续朝向程序结尾。 程序举例 位置重复 N10 POSITION1:X10 Y20 N20 POSITION:CYCLE(0,9,8);位置循环 N30 …… N40 REPEATB POSITION1 P=5;执行程序段N10五次 N50 REPEATB POSITION2;执行程序段N20一次 N60 …… N70 M30 编程 标号上的重复区开场 LABEL:xxx yyy REPEAT LABEL P=n zzz 带有名字与RAPEAT语句的标号之间的程序段被重复P=n次。 如果带有标号的程序段包含别的语句,那么在每次重复时将被再次重复。 如果P未被确定,那么程序段只能重复一次。 最后一次重复之后,程序在REPEATB行后的zzz行上继续运行。 标号必须出现在REPEATB语句之前,搜索只指向程序开头。 两个标号之间的重复区 START_LABEL:xxx - . word.zl- - - ooo END_LABEL:yyy ppp REPEAT START_LABEL END_LABEL P=n zzz 两个标号之间的区域被重复n次,用户指定名可以分配给标号。 重复的第1行包含开场编号,最后1行包含完毕标号。如果两个标号之间的行含有别的重复语句,那么它们将被再次执行。 如果P未被确定,那么程序段只能重复一次。 最后一次重复之后,程序在REPEATB行后的zzz行上继续运行。 需要重复的程序段可以出现在REPEAT语句前后。搜索指向程序开头,如果在此方向上未找到标号,那么搜索继续朝向程序结尾。 不允许在括号内用两个标号嵌套REPEAT语句。如果开场标号在REPEAT语句前面发现,并且完毕标号不在REPEAT语句前面,那么在开场标号与REPEAT语句之间执行重复。 在标号与完毕标号之间的重复区 LABEL:xxx ooo ENDLABEL:yyy REAPEAT LABEL P=n zzz ENDLABEL是带有固定名字的预定标号,ENDLABEL表示程序段完毕并且在程序中可以使用屡次。 使用前提 1.程序段重复可以嵌套,每次调用使用一个子程序级。 2.如果M17或RET在程序段重复处理期间被编程,那么重复中止。程序在REPEAT行后的程序段上恢复。 3.在实际程序显示中,程序段重复作为一个独立的子程序级显示。 4.如果在程序段重复期间被注销,那么程序就在程序段重复调用之后的位置恢复。 例: - . word.zl- - - N5 R10=15 N10 BEGIN:R10=R10+1 N20 Z=10-R10 N30 G1=X=R10 F200 N40 Y=R10;注销级 N50 X=-R10 N60 Y=-R10 N70 END:Z10 N80 Z10 N90 CYCLE(10,20,30) N100 REPEAT BEGIN END P=3 N120 Z10;恢复程序处理 N130 M30 5.控制构造与程序段重复可以联合使用,二者之间不会覆盖。程序段重复应该出现在控制构造分支中,或者控制构造应出现在程序段重复中。 6.如果跳转与程序段重复混合,那么程序段只能依次执行。 激活 程序段重复通过编程激活。 - . word.zl- 因篇幅问题不能全部显示,请点此查看更多更全内容