西门子840D编程学习.docx
- 文档编号:5059087
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:105
- 大小:866.92KB
西门子840D编程学习.docx
《西门子840D编程学习.docx》由会员分享,可在线阅读,更多相关《西门子840D编程学习.docx(105页珍藏版)》请在冰豆网上搜索。
西门子840D编程学习
第一章根本知识
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。
也可以通过程序来实现多轴联动。
例如:
X100Y100
1.2工件位置表示
1.2.1机床坐标系
机床必须指定一个线性运动轴在相应方向运动的参考坐标系,以使机床或切削控制在指定位置成为可能。
通常以字母X、Y、Z轴构成的直角坐标系来描述。
按照标准DIN66217的规定,机床刀具运动用右手直角笛卡儿坐标系来描述,坐标系的交点叫零点或原点。
有时机床工作需要甚至必须用负的位置坐标数据,原点以左的位置坐标通过在坐标数据前冠以“—〞号表示。
1.2.2位置定义
为了定义一个位置,假定沿着坐标轴遵循一定的规那么。
那幺现在就可以用指定的坐标方向〔X、Y、Z向〕及三个资料描述坐标系上的每一点。
原点坐标为X0、Y0、Z0。
例如:
为了到达简化的目的,我们在这个例子中只用坐标系的一个平面如XY平面来说明。
图中的P1点至P4点用以下坐标值来表示:
P1X100Y50
P2X-50Y100
P3X-105Y-115
P4X70Y-75
在铣削操作中,进给深度也必须描述出来,另外,我们需要定义第三坐标轴的值〔在这种情况下是Z轴〕。
例:
图中的P1至P3点在这个例子中用以下坐标定义:
P1X10Y45Z-5
P2X30Y60Z-20
P3X45Y20Z-15
1.2.3极坐标系
在坐标系中用点的坐标来定义点的方法叫“笛卡儿坐标〞。
这儿还有另外一种定义点的方法叫做“极坐标〞。
无论是工件还是工件的一局部用半径和角度来测量的尺寸表示点的位置的方法叫做“极坐标〞。
例如:
图中的P1点至P2点用参考极点的坐标值来描述其位置。
P1:
半径100角度30°
P2:
半径60角度75°
1.2.4绝对坐标系
在绝对坐标系中,所有点的坐标都是参考坐标系原点而来的,适用于刀具的运动。
它的含义为:
用绝对坐标值描述的位置是刀具将要到达的位置。
例如:
图中的P1点至P3点的绝对坐标为:
P1X20Y35〔相对于原点的坐标值〕
P2X50Y60〔相对于原点的坐标值〕
P3X50Y60〔相对于原点的坐标值〕
1.2.5相对坐标系
在加工图样中,经常用到相对坐标。
它的尺寸不是参考坐标系的原点,而是参考工件上另外一点的坐标而得来的。
为了防止这类尺寸之间的转换,采用相对坐标来定义点的坐标就可以解决这一矛盾。
相对坐标是参考前一点的位置,适用于刀具的运动,它的含义是:
用相对坐标值描述的是刀具移动的距离。
例如:
图中的P1点至P3点的相对坐标是:
P1X20Y35〔相对于原点的坐标值〕
P2X30Y20〔相对于P1点的坐标值〕
P3X20Y-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功能的应用中是可能的〕时,机床的物理轴直接用其地址。
不允许参考于工作坐标系而得来。
机床坐标系的设定与机床的类型有关,坐标轴的方向遵循右手的“三手指规那么〞〔根据标准DIN66217〕。
具体的做法是:
站在机床前面,右手的中指指向机床主轴远离进给的方向,然后根据下面方法确定:
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
辅助功能
:
主程序
程序举例:
N10G54T9D2
引申轴的固定地址:
地址
含义
AX
轴值〔在轴的程序段中可以变化〕
ACC
轴的加速度
AF
轴的进给
FDA
轴的手轮进给倍率
FL
轴的进给速度限制
IP
插补参数
OVRA
轴的进给倍率
POS
轴的定位
PO
多项式系数
POSA
程序举例:
N10POS[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.以下字符有效:
.字母
.下划线
.数字
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数据类型
一个变量可由某一个数值〔或一些数值〕或一个字符〔或几个字符〕组成,例如一个地址字母。
数据允许的类型由定义的变量类型决定,系统变量和预定义的变量数据类型的关系是确定的。
根本变量类型/数据类型
类型
含义
取值X围
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’将十六进制的数值赋给机床数据。
字符的数量受到整数类型数据取值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程序段中各个功能字的顺序
为了保证程序段构造的清晰性,程序段中功能字一般按以下顺序排列。
例如:
N10G__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.4NC程序段的顺序号
主程序段通过一个主程序段序号来定义。
一个NC主程序段的顺序号包含字符“:
〞和一个整数〔程序段顺序号〕,这个程序段序号总是出现在程序段的开场。
注:
主程序段顺序号在一个程序文档中必须是唯一的。
例如:
:
10D2F200S900M3
子程序段通过一个程序段顺序号来定义。
一个NC子程序段的顺序号包含字符“N〞和一个整数〔程序段顺序号〕,这个程序段顺序号总是出现在程序段的开头。
例如:
N20G1X14Y35
N30X20Y40
为了当系统搜索程序时,只有唯一的结果,子程序段顺序号在一个程序中必须是唯一的。
注:
主程序段顺序号是任意的,建议采用递增的顺序号。
根据实际情况,在程序中也可以不使用程序段顺序号。
2.1.4NC程序构成
一个NC程序由一个主程序段和假设干个子程序段构成。
例如:
:
10D2F200S900M3
N20G1X
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西门子 840 编程 学习