资源描述
第一章 基本知识
1.1 机床运动方式
1.1.1 轴的运动方式
对于一般的铣削和钻削机床,轴的线性运动具有下列方式:
a. 工作台的左/右运动
b. 工作台的上/下运动
c. 切削头的前/后运动
卧式铣削机床轴的线性运动与之非常相似,这些类型的机床经常配置附加的旋转工作台。
对于5轴机床,切削头也可以作旋转运动。
对于车床,刀具通常在两个方向的直线移动就能满足要求。
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
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 极坐标系
在坐标系中用点的坐标来定义点的方法叫“笛卡儿坐标”。
这儿还有另外一种定义点的方法叫做“极坐标”。
无论是工件还是工件的一部分用半径和角度来测量的尺寸表示点的位置的方法叫做“极坐标”。
例如:图中的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 平面定义
一个平面用两个坐标轴来定义,第三个坐标轴垂直于这个平面,决定刀具进给的方向。
在编程过程中,为了能计算刀具的偏移量而设定工作平面是必要的。这个平面和某种类型的循环编程及极坐标也有一定的联系。
工作平面在NC程序中用G17、G18、G19指令来定义。
工作平面
定义指令
进给方向
XY
G17
Z
ZX
G18
Y
YZ
G19
X
1.3 坐标系统的设定
1.3.1 坐标系概述
我们应该区分下列坐标系:
a. 机床坐标系
b. 基本坐标系
c. 零件坐标系
d. 当前零件坐标系
在机械运动学中,编程中常用到坐标系的转换。
注:本小节中关于特殊轴定义的说明见轴的类型一节。
1.3.2 机床坐标系
机床坐标系由机床实际存在的所有轴组成。
刀具和工作台改变的参考点在机床坐标系中被定义。
当机床坐标系用于编程(这在一些G功能的应用中是可能的)时,机床的物理轴直接用其地址。不允许参考于工作坐标系而得来。
机床坐标系的设定与机床的类型有关,坐标轴的方向遵循右手的“三手指规则”(根据标准DIN 66217)。
具体的做法是:站在机床前面,右手的中指指向机床主轴远离进给的方向,然后根据下面方法确定:
a. 拇指指向+X方向
b. 食指指向+Y方向
c. 中指指向+Z方向
事实上,随着机床类型的不同,坐标系看起来也有很大区别。
1.3.3 基本坐标系
基本坐标系是一个“笛卡儿”坐标系,这个“笛卡儿”坐标系是机床坐标系经过运动转换后而得来的。
假设没有运动转换,则基本坐标系与机床坐标系的唯一区别是关于轴的指定上。
零点偏置、比例变换等都是在基本坐标系上完成的。
定义工件加工的工作区域的坐标也是参考基本坐标系指定的。
1.3.4 零件坐标系
零件的几何特征是在零件坐标系中描述的。换句话说,数控程序中的资料是参考零件坐标系确定的。
零件坐标系是一个“笛卡儿”坐标系并且标识于指定零件上的坐标系。
1.3.5 矩阵概念概述
矩阵概念是一个“笛卡儿”坐标系转换为另一个“笛卡儿”坐标系的自定义算术规则。
在一个矩阵中包含下列变换功能:
a. 坐标系的零点偏置(平移)
b. 坐标旋转
c. 坐标镜像
d. 比例变换
这些变换功能可以单独运用,也可以综合运用。
1.3.6 零件坐标系与机床轴的关系
零件坐标系的位置与基本坐标系(或机床坐标系)的关系通过矩阵变换编程来决定。
在NC程序中通过如G54等指令调出或激活零件坐标系。
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
轴的类型
在编程时注意区别下列类型的轴:
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。
小写字母: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 功能字
数控程序是由程序段组成的,每一个程序段是由功能字组成的。
数控语言中的一个功能字包含一个地址字符和一个数字或表达一个数值的数字变量。
这个功能字的地址字符通常是一个字母。数字变量可以包含一个引导标记符和一个十进制小数。这个引导字符总是出现在地址字符和数字变量之间。
正的引导字符(+)可以省略不写。
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
SPINU主轴顺时针旋转
T[SPINU]=7
SPINU主轴选择刀具
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。
用户在机床数据中可以改变这些变量地址的具体含义。
例如:
X1,Y30,U2,I25,E25,E1=90,……
具有引申意义的数字序号由一个或两个数字构成,它总是固定的。
2.1.2.7 地址名称
这种地址的标记可以通过增加具有特征含义的字母加以扩展。例如:
CR
圆弧半径
SPOS
2.1.2.8 操作/算术功能
代码
含 义
+
加
-
减
*
乘
/
除,(整数/整数)=实数;例如:3/4=0.75
DIV
除,只限于可变化的整数类型(整数DIV整数)=整数;例:3/4=0
MOD
模数相除生成一个整除后的余数。例如:3MOD4=3
:
链操作
SIN()
正弦函数
COS()
余弦函数
TAN()
正切函数
ASIN()
反正弦函数
ACOS()
反余弦函数
SQRT()
平方根
ABS()
绝对值
POT()
平方
TRUNC()
取整数部分
ROUND()
圆整(最后一位四舍五入)
LN()
自然对数
EXP()
指数输入功能
2.1.2.9 地址赋值
在编程中,可以给地址赋一个值。赋值的类型根据地址名称的类型而定。
在下列情况下,在地址名称和数值之间必须插入一个“=”号。
a. 地址名称由一个以上字母组成。
b. 数值由一个以上常量组成。
如果地址名是一个单一的字母和数值只有一个常量,则“=”号可以省略。在地址字母的后面加引导字符和分隔符也是允许的。例如:
X10
将数值10赋给地址X,不需要“=”号。
X1=10
将数值10赋给地址X1,需要“=”号。
FGROUP(X1,Y2)
通过二维数组参数赋值
AXDATA[X1]
AX[X1]
在程序中间接地将地址X1的值赋给地址AX。
X=10*(5+SIN(37.5))
通过带有“=”号的算术表达式赋值。
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
极坐标角度
变量
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代替)。
2.1.2.13 矩阵名
基本变量命名规则也适用于矩阵命名。以矩阵名称表示的算术变量也是有效的。
例如:R(10)=……
2.1.2.14 数据类型
一个变量可由某一个数值(或一些数值)或一个字符(或几个字符)组成,例如一个地址字母。
数据允许的类型由定义的变量类型决定,系统变量和预定义的变量数据类型的关系是确定的。
基本变量类型/数据类型
类型
含 义
取值范围
INT
整数
=(2-1)
REAL
实数
=(10~10)
BOOL
布尔运算符:真1和假0
1,0
CHAR
ASCII码
0~255
STRING
字符串,字符数量在[]表示,不超过200字符
序列号0~255
AXIS
只用于坐标轴
轴数
FRAME
矩阵,用于坐标偏移、旋转、比例、镜像的几何参数
上述基本类型也可在一个阵列中联合起来使用,也可以使用二维阵列。
常量
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赋给轴X
注:
十六进制常量
常量也可以在十六进制格式中用十六进制数表示。字母“A”到“F”分别代表数字“10”到“15”。
十六进制常量用单引号表示,起始字母为“H”,后面跟十六进制数。字母和数字间也可以使用操作符。
例如:SMC_TOOL_MANAGEMENT_MASK=‘HFFFF’将十六进制的数值赋给机床数据。字符的数量受到整数类型数据取值范围的限制。
二进制常量
常量在二进制格式中也可以使用二进制数来表示。在这种情况下,只使用数字“0”和“1”。
二进制常量用单引号表示,起始字母为“B”,后面跟二进制数。字母和数字间也可以使用操作符。
例如:
SMN_AUXFU_GROUP_SPEC=‘B1000001’ 0到7位赋值。字符的数量受到整数类型数据取值范围的限制。
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
辅助功能(次要)
注:一些地址在同一程序段中可以多次使用。
(例如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
在任何程序运行时,不需要执行的程序段可以跳过。
跳过不需要执行的程序段通过在该程序段前用字符“/”指定。
一些连续执行的程序段也可以跳过执行,跳过的程序段部分不执行,下一个没有跳过的程序段继续执行。
例如:
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个字符(字母、数字、下划线)组成。但不包含一些分割符号。头两个字符必须是字母。
例如:
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程序中设置报警信息。报警信息在显示器的一个单独区域显示。在控制过程中报警装置和它所接受到的信号之间的联系取决于报警方式。
可以通过插入键盘字“SETAL”和后面跟一个含有报警信息序号的圆括号的程序段报警。
报警顺序号的有效范围为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
相对坐标尺寸(非模态)
功能
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、ACN)编程
程序格式
A=DC(__) B=DC(__) C=DC(__)
或
A=ACP(__) B=ACP(__) C=ACP(__)
或
A=ACN(__) B=ACN(__) C=ACN(__)
参数说明
A B C
将要运动的旋转轴名称
DC
绝对尺寸,直接逼近终点位置
ACP
绝对尺寸,顺时针方向逼近终点位置
ACN
绝对尺寸,逆时针方向逼近终点位置
功能
利用上述参数你可以定义旋转轴按各种不同的方式逼近指定位置。
利用DC的绝对尺寸编程
旋转轴在绝对坐标系中以沿着最近的方向逼近程序指定的位置。旋转轴运动通过的区域不超过180°。
利用ACP的绝对尺寸编程
旋转轴在绝对坐标系中以顺时针方向逼近程序所指定的位置。
利用ACN的绝对尺寸编程
旋转轴在绝对坐标系中以逆时针方向逼近程序所指定的位置。
注:0~360°旋转范围必须在机床数据中指定(模态记忆)。G91或IC必须在程序中指明,以使旋转轴在程序中以大于360°的角度旋转。你可以在前面的叙述中看到更多的有关说明。
注:旋转轴的正向旋转方向(顺时针或逆时针)可以在机床数据中设定。
备注:
你也可以用DC、ACP、ACN将主轴定向到指定位置。
例如:SPOS=DC(45)
程序举例:
在具有旋转工作台的机床上:刀具是静止的,刀具通过工作台以顺时针方向旋转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
所有其它参数如进给速率、刀具偏置或零点偏置的设置通过定义机床数据的测量系统来完成。
程序举例
在默认设置为公制单位的情况下,进行公英制转换。
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
调用1~4个零点偏置
G500
注销,直到下一个G54~G599指令出现
G53
非模态注销,包括程序偏置
SUPA
非模态注销,包括程序偏置和手轮偏置(DRF),外部的零点偏置和预先设置的零点偏置
功能
零点偏置把基本坐标系的原点与所有轴的工件原点联系起来。
对于工件的不同装夹位置,零点偏置可以通过一个G指令指定一个程序零点以简化编程。
说明
设置偏置值
在控制面板上,键入下列工作台的零点偏置值。
a. 偏置坐标
b. 工作台的旋转角度
c. 需要的比例因子
详细说明请看操作指南的有关内容。
激活零点偏置
在NC程序中,零点偏置通过指令使机床坐标系转变为工件坐标系。
在下一个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;运行子程
展开阅读全文