乾亿精英学习班——西门子840D编程学习(整理编排:曲凯)第1页共72页第一章基本知识1.1机床运动方式1.1.1轴的运动方式对于一般的铣削和钻削机床,轴的线性运动具有下列方式:a.工作台的左/右运动b.工作台的上/下运动c.切削头的前/后运动卧式铣削机床轴的线性运动与之非常相似,这些类型的机床经常配置附加的旋转工作台。对于5轴机床,切削头也可以作旋转运动。对于车床,刀具通常在两个方向的直线移动就能满足要求。乾亿精英学习班——西门子840D编程学习(整理编排:曲凯)第2页共72页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乾亿精英学习班——西门子840D编程学习(整理编排:曲凯)第3页共72页1.2工件位置表示1.2.1机床坐标系机床必须指定一个线性运动轴在相应方向运动的参考坐标系,以使机床或切削控制在指定位置成为可能。通常以字母X、Y、Z轴构成的直角坐标系来描述。按照标准DIN66217的规定,机床刀具运动用右手直角笛卡儿坐标系来描述,坐标系的交点叫零点或原点。有时机床工作需要甚至必须用负的位置坐标数据,原点以左的位置坐标通过在坐标数据前冠以“—”号表示。1.2.2位置定义为了定义一个位置,假定沿着坐标轴遵循一定的规则。那幺现在就可以用指定的坐标方向(X、Y、Z向)及三个资料描述坐标系上的每一点。原点坐标为X0、Y0、Z0。例如:为了达到简化的目的,我们在这个例子中只用坐标系的一个平面如XY平面来说明。图中的P1点至P4点用下列坐标值来表示:P1X100Y50P2X-50Y100P3X-105Y-115P4X70Y-75在铣削操作中,进给深度也必须描述出来,另外,我们需要定义第三坐标轴的值(在这种情况下是Z轴)。例:图中的P1至P3点在这个例子中用下列坐标定义:P1X10Y45Z-5P2X30Y60Z-20P3X45Y20Z-151.2.3极坐标系在坐标系中用点的坐标来定义点的方乾亿精英学习班——西门子840D编程学习(整理编排:曲凯)第4页共72页法叫“笛卡儿坐标”。这儿还有另外一种定义点的方法叫做“极坐标”。无论是工件还是工件的一部分用半径和角度来测量的尺寸表示点的位置的方法叫做“极坐标”。例如:图中的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平面定义一个平面用两个坐标轴来定义,第三个坐标轴垂直于这个平面,决定刀具进给的方乾亿精英学习班——西门子840D编程学习(整理编排:曲凯)第5页共72页向。在编程过程中,为了能计算刀具的偏移量而设定工作平面是必要的。这个平面和某种类型的循环编程及极坐标也有一定的联系。工作平面在NC程序中用G17、G18、G19指令来定义。工作平面定义指令进给方向XYG17ZZXG18YYZG19X1.3坐标系统的设定1.3.1坐标系概述我们应该区分下列坐标系:a.机床坐标系b.基本坐标系c.零件坐标系d.当前零件坐标系在机械运动学中,编程中常用到坐标系的转换。注:本小节中关于特殊轴定义的说明见轴的类型一节。1.3.2机床坐标系机床坐标系由机床实际存在的所有轴组成。刀具和工作台改变的参考点在机床坐标系中被定义。当机床坐标系用于编程(这在一些G功能的应用中是可能的)时,机床的物理轴直接用其地址。不允许参考于工作坐标系而得来。机床坐标系的设定与机床的类型有关,坐标轴的方向遵循右手的“三手指规则”(根据标准DIN66217)。具体的做法是:站在机床前面,右手的中指指向机床主轴远离进给的方向,然后根据下面方法确定:a.拇指指向+X方向b.食指指向+Y方向c.中指指向+Z方向乾亿精英学习班——西门子840D编程学习(整理编排:曲凯)第6页共72页事实上,随着机床类型的不同,坐标系看起来也有很大区别。1.3.3基本坐标系基本坐标系是一个“笛卡儿”坐标系,这个“笛卡儿”坐标系是机床坐标系经过运动转换后而得来的。假设没有运动转换,则基本坐标系与机床坐标系的唯一区别是关于轴的指定上。零点偏置、比例变换等都是在基本坐标系上完成的。定义工件加工的工作区域的坐标也是参考基本坐标系指定的。1.3.4零件坐标系零件的几何特征是在零件坐标系中描述的。换句话说,数控程序中的资料是参考零件坐标系确定的。零件坐标系是一个“笛卡儿”坐标系并且标识于指定零件上的坐标系。1.3.5矩阵概念概述矩阵概念是一个“笛卡儿”坐标系转换为另一个“笛卡儿”坐标系的自定义算术规则。在一个矩阵中包含下列变换功能:a.坐标系的零点偏置(平移)b.坐标旋转c.坐标镜像d.比例变换这些变换功能可以单独运用,也可以综合运用。1.3.6零件坐标系与机床轴的关系零件坐标系的位置与基本坐标系(或机床坐标系)的关系通过矩阵变换编程来决定。在NC程序中通过如G54等指令调出或激活零件坐标系。乾亿精英学习班——西门子840D编程学习(整理编排:曲凯)第7页共72页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或S01.4.4辅助主轴机床加工运动中起辅助切削作用的主轴被称为第一主轴。指令:S1,S2,S3,S4乾亿精英学习班——西门子840D编程学习(整理编排:曲凯)第8页共72页轴的类型在编程时注意区别下列类型的轴: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、V1.4.7几何轴(直角坐标系)乾亿精英学习班——西门子840D编程学习(整理编排:曲凯)第9页共72页第二章数控程序编制的基本规则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分隔符(空白)乾亿精英学习班——西门子840D编程学习(整理编排:曲凯)第10页共72页注:无打印字符可作为空白字符。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=53#主轴停止扩展地址表示法只有在下列直接地址中允许使用。X、Y、Z…轴地址I、J、K增量参数S主轴转速SPOS,SPOSA主轴位置M辅助功能H辅助功能T刀具顺序号F进给速度在扩展地址表示法中的数字(指针)可以通过一个有效的M、H、S地址及SPOS和SPOSA来代替。这个有效的地址名称置于中括号中。乾亿精英学习班——西门子840D编程学习(整理编排:曲凯)第11页共72页例如:S[SPINU]=470SPINU主轴的转速为470rpmM[SPINU]=3SPINU主轴顺时针旋转T[SPINU]=7SPINU主轴选择刀具2.1.2.5系统固定地址下列地址是系统固定的地址。地址含义地址含义D刀具偏置号N子程序F进给功能P程序编号G准备功能R参数变量H辅助功能S主轴转速L子程序调用T刀具顺序号M辅助功能:主程序程序举例: