• 1. 计算机数控技术及理论研究生数控技术第12次课 开课时间:1a 开课单位:机械工程学院
    • 2. 7 控制机床功能的基本代码7.1 理解M代码 7.2 M06——刀具更换 7.3 M03、M04、M05——打开或关闭主轴 7.4 M07、M08、M09——冷却液控制 7.5 M30、M02——结束程序(15分钟) 7.6 M00、M01——中断程序执行 7.7 程序段删除(/) 7.8 辅助功能
    • 3. 7.1 理解M代码 除了G代码,有许多控制从刀具更换装置到冷却液控制的不同机床功能的代码。这些代码称为辅助代码或简称M代码。M代码由M地址和后面的数字组成。地址和数字组合形成M字或简称M代码。 M地址+数字=M字
    • 4. 7.1 理解M代码表7-1列出一些数控编程中更常用的M代码。M代码功能M00程序停M01任意程序停M03主轴打开——向前M04主轴打开——逆向M05主轴停M06刀具更换M07冷却液打开——雾状M08冷却液打开——液态(缺省)M09冷却液关闭M30程序停、复位
    • 5. 7.1 理解M代码 调用M代码方式与调用G代码方式相似。它们单独放在程序段中或为节省时间放在程序段尾。许多M代码是单独指令实现例如使主轴关闭的功能。一些M代码也结合其它地址实现一些功能。例如,打开主轴代码没有太大意义,除非输入S地址主轴速度。
    • 6. 7.1 理解M代码 我们必须意识到一些能够适当应用M代码的细节。首先,几家控制系统厂商调研表明,当执行M代码时,有一些内在连续性。当相同程序段中包括像G代码的M代码时,M代码可能在开始或操作完成后执行——这取决于厂家。例如,以下程序段为例: N100 G01 X2.0 Y2.0 F10.0 M08 该程序段命令机床进给到X、Y位置,冷却液打开(M08)。然而,一些控制系统冷却液直到程序段结束才打开,而其它控制系统会立即打开。如果冷却液未立即打开,刀具可能被损坏。
    • 7. 7.1 理解M代码 围绕非连续性的安全方法是确定M代码在其它指令完成后执行。然后我们调用前面程序段中M代码覆盖基础以确保关键功能初始化: N90 M08(冷却液打开) N100 G01 X2.0 Y2.0 F10.0 M代码其它重要方面是多数控制系统仅允许一个M代码在一个程序段中。如果我们在一个程序段中放多个M代码,那么会引起控制系统错误或只有一个M代码开始。无条件接受。
    • 8. 7.2 M06——刀具更换 刀具更换通过调用M06代码实现。然而,因为每台机床行为稍有不同,了解你整操作的特殊控制系统或损坏可能导致的结果非常重要。 特殊机床需要刀具更换类型有几种可能性。这些可能性基于机床物理结构和控制系统的内部逻辑。几种常用结果如下所列。 ◆手动刀具更换 ◆绝对定位的自动刀具更换 ◆增量定位的自动刀具更换
    • 9. 7.2 M06——刀具更换 多数现代计算机数控机床装有自动刀具更换装置(ATC),去除了手动操作干涉。直到加工需要,刀具存放在转塔、圆盘传送带、刀库或相似设备中。控制系统沿着两个轨迹之一跟踪刀具。最常用的方法是分配每个存放位置一个识别码。反馈设备,如旋转编码器或距离传感器,通常装在你存储设备上,确保当调用时安装正确刀具。目前,这是最安全、最有效的构造。
    • 10. 7.2 M06——刀具更换 多数基于系统先进性的控制系统用反馈设备信息跟踪几个轨迹之一的刀具所在轴。许多机床用绝对可转位系统允许程序员直接说明刀具更换装置位置。另一方面,少数现代机床用增量可转位系统来进行刀具定位。具有增量系统,每个刀具位置根据当前刀具位置说明。增量系统更难编程,更容易产生操作错误——幸运的是,多数系统已废弃。
    • 11. 7.2 M06——刀具更换 在以上任何设计中将自动刀具更换装置移动到机床起始点这一参考点通常很重要。存储设备通常转位到第一个位置,然后机床将其分配作为第一位置。从那开始,跟踪刀具所在轴。 你必须意识到的另一个陷阱是当遇到M06代码时机床如何行为——再次很大程度取决于机床厂家。两种常用构造如下: ◆存储设备随主轴运动(或刀具在机床上快速行进) ◆存储设备是固定的 本质区别很关键,因为机床在错误位置调用刀具更换装置可能发生严重碰撞。
    • 12. 7.2 M06——刀具更换 运行存储设备构造有时在加工中心找到,但是更常在车削中心找到。这些设计引起更快刀具更换,但是要更加小心。车床转塔是运行设计的实例。所有刀具沿着当前操作应用的刀具移动。你也会发现加工中心设计装有附加在主轴箱上的存储设备。在以上任何情况下,刀具夹持件在你调用刀具更换装置前返回,远离工件。否则,你将冒着刀具碰撞工件或夹具的风险,如图7-1所示。图7-1 必须小心谨慎,理解使用前主轴箱和自动刀具更换装置的运动。当调用刀具更换时,如果机床定位与工作台或夹具太近,一些构造允许碰撞
    • 13. 7.2 M06——刀具更换 其它设计的机床装有固定存储设备。在这种情况下,为了完成更换,机床必须返回至预定义位置。这意味着刀具更换会更长,但是错误概率会更小。编程员必须了解机床到达刀具更换位置的路径。装有固定存储设备的加工中心尤其只需要沿Z轴正方向直向上移动进行刀具更换。然而,在没有咨询操作员手动或观察机床的情况下,你不必考虑机床。
    • 14. 7.2 M06——刀具更换 刀具更换一般形式是把M代码放在程序段中,跟在T字后面说明你希望安装的刀具。与刀具相关的数字在存放设备中要么是绝对位置,要么是增量位置。出于所有实际目的,多数现代机床使用绝对位置,所以你只说明绝对刀具位置: M06 T01(更换为刀具1)
    • 15. 7.2 M06——刀具更换 代码通常以任意顺序排列,但是逻辑上看似调用刀具更换更有意义,然后说明刀具号。这更常是类型问题,训练许多编程员把T字放在M字前。多数控制系统允许任何顺序,但是你应咨询操作员手动的正确详细说明。
    • 16. 7.2 M06——刀具更换 立即在刀具更换后,你需要说明刀具长度补偿。方法变化,但是常用G43代码跟在H字后表明补偿值。为避免混淆,常用刀具与长度补偿相同的数字: G43 H01(选择第一个高度补偿) 装有不太先进的控制系统的一些更古老的机床需要程序员说明长度补偿的方向。正方向用G43代码实现,负方向用G44代码实现。你也许想象得出有些困惑;现在标准方法是只用G43高度补偿。
    • 17. 7.2 M06——刀具更换让我们看一下更长程序相关的刀具更换: % O0001 (程序7.1) N10 G20 G40 G49 G54 G80 G90 G98 N20 M06 T01(刀具更换) N30 G43 H01(选择长度补偿) N40 M03 S1200 N50 G00 X0.00 Y0.0 M08 N60 G00 Z.2 N70 G01 Z-.5 F5.0 N80 G01 X1.0 Y1.0 N90 G01 Z.2 N100 M05 %
    • 18. 7.2 M06——刀具更换 程序内刀具更换稍有不同。不管是否需要,总移动刀具至安全位置是个好习惯。该技术使你处于合适的思维模式,当用运行储存设备机床时,使你避免制造错误。在下面的例子中,以进给速度编程刀具移动,在工件顶部定位0.200英寸。下一步,以快速横切速度移动到N80、N90程序段的移出位置。 N90 G01 Z.2 N100 G00 Z10.0(向上移动刀具) N110 G00 X-5.0 Y5.0(移动刀具至安全位置) N120 M05 N130 G49(取消刀具长度补偿) N140 M06 T02(选择刀具更换) N150 G43 H02 N160 M03 S1500
    • 19. 7.2 M06——刀具更换 在调用刀具前,你也许也立即注意到了G49。G49取消刀具长度补偿,为了避免你忘记调用新的高度补偿,它用作安全预防措施。当调用M06时,一些控制系统会自动取消长度补偿,但是不要假设,除非你完全支持特殊控制系统的行为。调用新刀具长度补偿失效会将旧的补偿存放在内存中。如果新刀具比前面的更长,会引起碰撞。
    • 20. 7.2 M06——刀具更换 实现移动到安全位置的更好方法是用G28代码自动将机床送到原位,如下所示。一些机床只需Z轴复位来更换刀具,而其它机床也需要X、Y轴复位。 N90 G01 Z.2 N100 M05 N110 G49 N120 G91 G28 Z.0(返回Z轴原位) N130 M06 T02(选择刀具更换) N140 G43 H02 N150 M03 S1500
    • 21. 7.2 M06——刀具更换可供选择地,你可以用以下代码: N90 G01 Z.2 N100 M05 N110 G49 N120 G91 G28 X.0 Y.0 Z.0(返回原位) N130 M06 T02(选择刀具更换) N140 G43 H02 N150 M03 S1500
    • 22. 7.2 M06——刀具更换 如果有任何如夹紧件或夹具障碍,你要选择中间点确保不会发生接触。 N120 G90 G28 X2.0 Z5.0(返回通过中间点) 一些厂家选择简化刀具更换,无论何时调用刀具更换,使Z轴原位复位并关闭轴。一遇到刀具更换代码,机床就会快速横切移动。出于安全原因,刀具首先定位在工件上方,在你调用刀具更换前,很明显要避开障碍。
    • 23. 7.3 M03、M04、M05——打开或关闭主轴 刀具更换后,在打算实现任何金属切削前打开主轴是个好主意。这用M03、M04代码完成。M03与M04间唯一的区别是旋转方向。M03是向前旋转,M04向反方向旋转。那么,哪个方向是哪个方向?如果你面对主轴末端,向前方向(M03)定义为逆时针旋转。相反,反方向(M04)定义为顺时针旋转。图7-2说明这些方向。图7-2 M03是端铣刀和钻刀最常用的旋转方向。偶尔会遇到左旋切削刀具,它们需要M04
    • 24. 7.3 M03、M04、M05——打开或关闭主轴 实际所有你会遇到的端铣刀、钻刀、相似刀具都是右旋,结果用M03。然而,有时使用左旋刀具,你必须用M04。当转塔定位在背面时,在车削操作中也常用M04,但是你必须决定在刀具与刀具基础上用那个代码。
    • 25. 7.3 M03、M04、M05——打开或关闭主轴 主轴在旋转前必须给定转每分钟速度。主轴速度用字母S说明,后面跟速度。不需要小数点,因为多数控制系统只识别整数。一些编程员喜欢颠倒M和S顺序,但是在现代控制系统中有点重要。 N20 M06 T01 N30 G43 H01 N40 M03 S1200(主轴以1200转每分速度向前转) N50 G00 X.0 Y.0 M08 N60 G00 Z.2
    • 26. 7.3 M03、M04、M05——打开或关闭主轴同样,主轴需要按反方向运行: N20 M06 T02 N30 G43 H02 N40 M04 S1200(主轴以1200转每分速度向反向转) N50 G00 X.0 Y.0 M08 N60 G00 Z.2
    • 27. 7.3 M03、M04、M05——打开或关闭主轴 最后一个考虑什么时候打开主轴的细节是齿轮选择。一些机床配有优于加工选择的多速齿轮箱。然而,不同机床的设计与构造有很大变化,在编程前,你应彻底研究机床说明书。 一些机床基于编程主轴速度会自动选择齿轮范围。其它需要在打开主轴前编制齿轮范围。在假设任何齿轮范围前查询操作手册。
    • 28. 7.3 M03、M04、M05——打开或关闭主轴 M41、M42是常用齿轮选择代码。M41用于低速齿轮,M42用于选择高速范围。使用适于手动任务的齿轮或你在主轴发动机上施加额外拉紧力很重要。情况与驾车类似。如果你试图以高速齿开上山,发动机推动太困难而且会熄火。相似地,一下山坡,你可能用更高速齿或发动机危险地快速旋转。
    • 29. 7.3 M03、M04、M05——打开或关闭主轴 下面代码实例表明齿轮选择优于打开主轴。然而,在决定齿轮选择前,你应查询操作手册。附加可获得齿轮范围、缺省值、M代码、电开关。 N20 M06 T10(3.0端面铣刀) N30 G43 H02 N40 M41 (选择低速齿轮) N50 M03 S1200
    • 30. 7.4 M07、M08、M09——冷却液控制 冷却液可受几个M代码之一控制。冷却液经常用于机加工来延长刀具寿命、冲走切屑、提高表面粗糙度。多数机床配有液态冷却系统,它能将连续液体冷却液流喷射入切屑区贯穿弯曲的孔。其它机床也是用雾状冷却系统,它可以将雾状压缩空气和冷却液喷到刀具上。 M08是打开冷却系统的通用代码。然而,M07用于区分配有两种系统的机床的液态和雾状系统。
    • 31. 7.4 M07、M08、M09——冷却液控制 M09用于关闭冷却液。在刀具更换中为了避免冷却液喷入关键区域,关闭冷却液是使之有效的。当编程中检测刀具或工件需要停止时,关闭冷却液是个好想法。(溅落冷却液令人困扰,也很危险)当调用刀具更换或当程序用M30代码重置时,许多更新控制器会自动使冷却液暂停;然而,许多编程员出于习惯使用M09,如以下代码实例。 N120 G49 N130 M09(关闭冷却液) N140 M06 T02 N150 G43 H02 如果由于一些原因,你决定停止冷却液,那么在恢复机加工或可能导致损伤前,确定再次打开它。
    • 32. 7.4 M07、M08、M09——冷却液控制 通常很难确保冷却液按正确目标连续流动。随着刀具长度变化,冷却液必须重新调整,冷却刀具并冲走切屑。为了补救这个问题,一些厂家研发了可编程冷却液喷嘴(如图7-3所示),它可在程序中自动在任意点重定位。图7-3 用于将液态冷却液指向适当目标的可编程冷却液喷嘴(哈斯Courtesy自动化公司)
    • 33. 7.5 M30、M02——结束程序 准备结束程序需要两个不同行为。首先,你必须定位刀具与工件,这样便于安装或卸载工件。其次,程序必须重置到准备下一循环的起始位置。 M30是用来表示控制结束程序的最常用代码。无论机床当前位于哪儿,M30都会停止机床,重置内存至程序顶部。机床会准备下一循环: N210 M05 N220 G49 N230 M09 N240 G91 G28 X.0 Y.0 Z.0(返回原位) N250 M30(结束程序并重置) %
    • 34. 7.5 M30、M02——结束程序 完全返回原位是没用的。可供选择的是将机床移动到中间点,使操作员在不过分移动机床情况下容易接入夹具。通常不管X、Y位置,移动Z轴到原点。这不是无用的,因为在程序开始刀具更换可能初始化Z轴原点。 N210 M05 N220 G49 N230 M09 N240 G91 G28 Z.0(返回Z原位) N250 G90 G00 X4.0 Y8.0(定位表) N260 M30 %
    • 35. 7.5 M30、M02——结束程序 注意当程序终止时,任何激活的模态代码在下一循环开始时仍处于激活状态,这是很重要的。这就是程序开始使用安全线的原因。然而,你一不再需要代码时就要习惯取消会引起问题的代码。 M30可用在程序任何位置。例如,我们只需运行已有程序的前半部分。而不是删除部分程序,我们只需在我们希望终止执行处插入M30代码即可。 M02是另一个用于表示程序的代码。M02多数用M30替代,但是有时也会遇到它。它没有M30那么灵活,只用在程序末端。M02不能重置内存;操作员必须手动按重置钮。
    • 36. 7.6 M00、M01——中断程序执行 为了完成一些任务,有些情况你必须在执行中中断程序。例如,你需要停止程序清除切削区或钻刀中的切屑。其它时候,几个操作组合成一个程序;这也许包括车削零件或移动夹紧件至新位置。 两个代码会自动引起程序终止的中断:M00、M01。首先,M00是无条件停止。当控制系统读入M00代码时,它会停止所有轴运动,直到操作员再次按循环启动按钮。主轴会继续旋转,当前操作中的其它功能会继续。一重新启动,程序在程序停止后在安全线会立即继续。 N240 G00 Z8.0 M09 N250 M05(停止主轴) N260 M00(停止,清除切屑) N270 M03 S1500(重启主轴) N280 G00 Z.2 M08
    • 37. 7.6 M00、M01——中断程序执行 重要的安全警示,在到达机加区清除切屑或调整前关闭主轴和冷却液。只确定在恢复机加前再次重启动。 有些情况你想要偶尔停止程序执行。M01代码称为可选程序终止;它允许操作员覆盖停止,直到需要为止。M01功能与M00一致,除了当操作员是可选停止按钮在控制系统中起作用时它才起作用。对于已知问题或在继续前检测刀具损伤来说很有用。基于可选停止按钮位置的以下程序段行为不同,细节如表7-2所示。 N150 M06 T02 N160 G43 H02 N170 M01(检测刀具损伤) N180 M03 S1500控制系统可选停止开关机床行为开程序执行会停止,程序会等待操作员按循环启动按钮。关程序执行不中断。表7-2 可选停止行为
    • 38. 7.7 程序段删除(/) 程序段删除是个有用的功能,允许操作员完全跳过程序中某些程序段。这通过在每行开始放一个镶嵌的斜线(/)来实现。程序段删除不是真的删除程序内的行;程序段仍旧在那。然而,它确实导致控制系统忽略它们。 为了忽视行,程序段以与可选停止相关的必须激活的控制系统开关的相同方式起作用。如果打开程序段删除开关,控制系统读入程序段删除,它就会跳到下一行。如果关闭程序段删除开关,控制器读入程序段删除,程序段就会正常执行。
    • 39. 7.7 程序段删除(/) 在以下例子中,相同程序段用于两个相似部分,除了B有钻孔的额外行。如果程序段删除开关设置为开,程序段就会被忽略,细节如表7-3所示。 N80 G81 X0.0 Y1.0 Z-1.0 R.2 F5.0(钻孔,行一) N90 X.0 Y2.0 N100 X.0 Y3.0 /N110 X1. Y1.0(行二,只用于B) /N120 X1. Y2.0 /N130 X1. Y3.0 N140 M05控制系统程序段删除开关机床行为开用“/”开始的程序段不执行关用“/”开始的程序段正常执行表7-3 程序段删除行为
    • 40. 7.8 辅助功能M19——定向主轴停 M19引起主轴旋转至参考位置并锁定。夹具上有效槽口或断片用来使刀具与定向位置对齐。当使用或存储中必须对齐刀具时,这个功能有用。