《Siemens_840D数控编程》由会员分享,可在线阅读,更多相关《Siemens_840D数控编程(99页珍藏版)》请在金锄头文库上搜索。
1、第一讲:基本概念1、西门子系统简介:常见系统有 802S/C 系统、802D 系统、810D 系统和 840D 系统。其中,西门子 802S/C 系统是西门子公司专门针对中国用户开发的一款系统。目前西门子系统在中国市场得到了广泛的应用,西门子 840D 更是以高端系统出现。西门子系统与 FANUC系统的比较2、基本概念2.1 插补功能:指定刀具沿直线轨迹或圆弧轨迹移动的功能称为插补功能。它属于准备功能,用 G 代码后跟若干位数字来表示。2.2 进给功能:用于指定刀具运动速度的功能。单位为 mm/min。用 F 指令2.3 参考点:一个固定的点,是机床生产商通过行程开关设定的一个特定位置。在数控
2、操作中所谓的“回零”回的就是此点。2.4 机床原点(零点) :即机床坐标系的原点,也是一个固定点。它是机床制造商在制造、校正机床时设定的一个特殊位置。2.5 坐标系:在数控系统中提到共四个坐标系,即机床坐标系、机床参考坐标系、工件坐标系和编程坐标系。数控系统中的坐标系均为右手笛卡尔坐标系,如图示:1 / 992.5.1 机床坐标系:是机床制造商在设计机床时设定的一个坐标系2.5.2 机床参考坐标系:是机床生产商通过行程开关设定的一个坐标系2.5.3 工件坐标系:为确定工件在机床中的准确位置而建立的一个坐标系,即后面所学到的可设定零点偏置确定的坐标系。2.5.4 编程坐标系:在程序编制过程中,在
3、零件图纸上建立的坐标系2.6 主轴功能:用于确定主轴转速的功能,即 S 指令主轴定位用 SPOS=XX 格式表示2.7 切削速度:切削工件时刀具与工件的相对速度称为切削速度 v.S=1000v/d其中:S:主轴转速V:切削速度D:刀具直径例:假设用直径160mm 的刀具,以 100m/min 的切削速度加工工件,试求其主轴转速?注: 进给速度 Vf=机床转速 n*刀具齿数 Z*每齿切削深度 fz,单位是 毫米/分钟2.8 辅助功能:指令机床部件启停操作的功能。用 M 指令表示2 / 992.9 主程序和子程序:2.10 准备功能:用来控制刀具(或工作台)运动轨迹的机能。即 G 指令2.11 刀
4、具长度与半径补偿功能:2.12 极坐标:以极点用圆周半径(极半径)和角度(极角)来表示工件的坐标的位置2.13 绝对尺寸、增量尺寸即所谓的 G90G912.14 模态、非模态用于说明指令的时效性,如果一个指令指定以后直到被同组的其他指令取代才失效,否则持续有效。这样的指令即为具有模态第二讲:准备功能 1一、复习回顾:提问:数控机床中的坐标系是一个什么样的坐标系?方向如何判断?数控机床中的坐标系有哪些?它们有什么异同?二、新课:1、西门子 840D 系统程序命名规则a、前一个符号必须是字母或数字(或一个字符有下划线)b、其余符号可以是字母、数字及下划线c、程序名最多有 24 个字符d、字符间不允
5、许使用分隔符2、常见程序段格式NG.XYZFSDTM说明:N 程序段号G 准备功能XYZ 坐标终点3 / 99F 进给速度S 主轴转速D 刀沿号T 刀具号M 辅助功能3、平面选择指令每两个坐标轴确定一个平面。第三个坐标轴始终垂直于该平面,并定义刀具进给深度(比如用于 2 D 加工) 。在编程时要求告知控制系统在哪一个平面上加工,从 而可以正确地计算刀具补偿。对于确定的圆弧编程方式和极坐标系中,平面的定义同样很有必要。指令格式:G17、G18、G19G17: XY 平面G18: YZ 平面G19: ZX 平面4、G90/G91指令作用:用于确定坐标输入方式指令格式:G90 绝对坐标输入G91 增
6、量坐标输入指令应用:绝对坐标:P1 为 X20 Y35P2 为 X50 Y60P3 为 X70 Y20在相对尺寸系统中,点 P1 到 P3 的位置为:P1 为 X20 Y35 (以零点为基准)P2 为 X30 Y25 以 P1 为基准P3 为 X20 Y-40 以 P2 为基准5、可设定零点偏置调用G54 或者 G55 或者 G56 或者 G57 或者 G505 G5994 / 99取消G53 或者 G500 或者 SUPA 或者 G153指令说明G53 以程序段方式取消当前可设定零点偏移和可编程零点偏移。G54 d 到 G57 调用第二个到第五个可设定零点偏移/框架G153 以程序段方式抑制
7、可设定、可编程和整个基本框架。G500 G500=零框架, 标准设定, (不包括偏移、旋转、镜像或者标度)取消可设定零点偏移/框架(G54到 G599) ,直至下一次调用。 激活整个基本框架 ($P_ACTBFRAME).G500 不等于 0 激活第一个可设定的零点偏移/框架($P_UIFR0) 和激活整个基本框架($P_ACTBFRAME),或者激活一个已修改的 基本框架。SUPA 程序段方式取消,包括编程的偏移、手轮偏移(DRF) 、外部零点偏移和 PRESET 偏移。G505 . G599 调用第 6 到第 99 可设定的零点偏移。功能通过可设定的零点偏移 在所有轴中,工件零点以基本坐标
8、系中的零点为基准进行调节。这样可以通过 G指令,在不同的程序之间调用不同夹具时的零点。编程举例在此示例中有 3 个工件,它们分别固定在随行夹具中并与零点偏移值 G54 到 G56 相对应,一个一个进行加工。N10 G0 G90 X10 Y10 F500 T1 返回N20 G54 S1000 M3 调用第一个零点偏移,主轴右旋N30 L47 程序运行,在此作为子程序N40 G55 G0 Z200 调用第二个零点偏移 Z,在障碍物之后N50 L47 程序作为子程序运行N60 G56 调用第三个零点偏移N70 L47 程序作为子程序运行N80 G53 X200 Y300 M30 零点偏移抑制,程序结
9、束6、公英制转换调用G70 或者 G715 / 99G700 或者 G710 自软件版本 SW5 起指令说明G70 英制尺寸说明 (长度 inch)G71 公制尺寸说明 (长度 mm)G700 英制尺寸说明 (长度 inch; 进给 inch/minG710 公制尺寸说明 (长度 mm; 进给 mm/min)功能在生产图纸中工件相关的几何数据可以用公制尺寸编程,也可以用英制尺寸编程。自软件版本 SW5 起,G70/G71 功能可以用 G700/G710 扩展。这里,除了几何尺寸之外,工艺尺寸诸如进给率 F 在零件程序执行过程中,也可以在通过 G700/G710 设定的尺寸系统中说明。操作顺序G
10、70 或者 G71下面的几何参数可以由控制系统 (带必要的偏差) 换算为没有设定的尺寸系统, 从而可以直接输入 (举例) : 位移信息 X, Y, Z, 在圆弧编程时的中间点坐标 I1, J1, K1 插补参数 I, J, K 和圆弧半径 CR 螺距 可编程的零点偏移 (TRANS) 极半径 RP所有其它的参数,诸如进给、刀具补偿或者可设定零点偏移(使用 G70/G71 时)以主要尺寸系统说明(MD10240:SCALING_SYSTEM_IS_METRIC)。系统变量和机床数据的描述同样与 G70/G71 文本无关。G700 或者 G710自软件版本 SW5 起,在使用 G700/G710
11、时与 G70/G71 相反,所有的进给均由控制系统在编程的尺寸系统中说明。G700/G710 代码在 G70/G71 相同的组中。编程的进给值模态有效,因此在后面 G70/G71/G700/G710 转换时不能自动改变。如果要求 G70/G71/G700/G710 中的进给值生效,则必须编程一个新 F 值。编程举例在基本尺寸系统为公制时,在英制尺寸和公制尺寸之间进行交换(G70/G71) 。N10 G0 G94 X20 Y30 Z2 S2000 M3 T1 基本尺寸系统公制6 / 99N20 G1 Z-5 F500 Z 轴进给mm/minN30 X90N40 G70 X2.75 Y3.22 位
12、置以英制输入,G70 一直有效,直至用 G71 撤销或者至程序结束。N50 X1.18 Y3.54N60 G71 X 20 Y30 位置输入,单位毫米N70 G0 Z2 M30 快速移动,程序结束第三讲:准备功能 2一、复习回顾:提问:G70、G71 在程序编制时会影响哪些数据?G54G57(G54G59)指的是什么?有什么用途?二、新课:1、快速定位指令G00编程:G0 X Y Z G0 AP= RP=RTLIOF, RTLION (SW 6.1 及更高版本)参数说明X Y Z 直角坐标的终点AP= 极坐标的终点,这里指极角RP= 极坐标的终点,这里指极半径RTLIOF 用 G0 非线性的插
13、补(每个轨迹轴作为单轴插补)RTLION 用 G0 线性插补(轨迹轴共同插补)功能您可以通过快速运行进行刀具的快速定位,工件的绕行或者返回换刀位置。这项功能不适用于工件加工!操作顺序用 G0 来编程的刀具运行将以可能的最快速度运行(快速运行) 。在每个机床数据中,每个轴的快速运行速7 / 99度都是单独定义的。如果同时在多个轴上执行快速运行,那么快速运行速度由对轨迹运行所需时间最长的轴来决定。其它说明G0 模态有效。铣削编程举例:G0 可以用于回到起始位置或者刀具换刀点,刀具空运转等等。N10 G90 S400 M3 绝对尺寸,主轴顺时针N20 G0 X30 Y20 Z2 回到起始位置N30
14、G1 Z-5 F1000 刀具横向进给N40 X80 Y65 直线运行N50 G0 Z2N60 G0 X-20 Y100 Z100 M30 退刀,程序结束2、直线插补指令G01编程:G1 X Y Z FG1 AP= RP= F参数说明X Y Z 直角坐标的终点AP= 极坐标的终点,这里指极角RP= 极坐标的终点,这里指极半径F 进给率,单位为毫米/分钟功能刀具用 G1 在与轴平行,倾斜的或者在空间里任意摆放的直线方向上运动。可以用直线插补功能加工 3D 平面,槽等。操作顺序刀具以进给率 F 从当前起始点向编程的目标点直线运行。工件在这个轨迹上进行加工。您可以在直角坐标或者极坐标中给出目标点。举
15、例:8 / 99G1 G90 X100 Y20 Z30 A40 F100以进给 100 毫米/分钟的进给率逼近 X,Y,Z 上的目标点;回转轴 A 作为同步轴来处理,以便能同时完成四个运动。其它说明G1 模态有效。在加工时必须给出主轴转速 S 和主轴旋转方向 M3/M4。编程举例加工一个槽:刀具沿 X/Y 方向从起始点向终点运行。同时在 Z 方向横向进给。N10 G17 S400 M3 选择工作平面,主轴顺时针N20 G0 X20 Y20 Z2 回到起始位置N30 G1 Z-2 F40 刀具横向进给N40 X80 Y80 Z-15 沿一条倾斜方向的直线运行N50 G0 Z100 M30 空运转
16、至刀具换刀3、圆弧插补指令编程:G2/G3 X Y Z I J KG2/G3 AP= RP=G2/G3 X Y Z CR=G2/G3 AR= I J KG2/G3 AR= X Y ZCIP X Y Z I1= J1= K1=CT X Y Z指令和参数说明G2 顺时针方向沿圆弧轨迹运行G3 逆时针方向沿圆弧轨迹运行CIP 通过中间点进行圆弧插补CT 切线过渡的圆弧X Y Z 直角坐标系的终点I J K 直角坐标系的圆弧圆心(在 X,Y,Z 方向)AP= 极坐标的终点,这里指极角9 / 99RP= 极坐标的终点,这里指符合圆弧半径的极半径CR= 圆弧半径AR= 圆弧角I1= J1= K1= 直角坐
17、标的中间点(在 X,Y,Z 方向)功能圆弧插补允许对整圆或圆弧进行加工。操作顺序工作平面说明控制系统需要工作平面参数以确定圆弧旋转方向(G17 至 G19) ,G2 顺时针方向/G3 逆时针方向。最好是工作平面的普遍说明。例外:您也可以在选择的工作平面(不在圆弧角说明和螺旋线上)之外加工圆弧。在这种情况下,作为圆弧终点给出的轴地址将决定圆弧平面。其它说明G2/G3 模态有效。用圆心和终点进行圆弧编程圆弧运动通过以下几点来描述: 在直角坐标 X,Y,Z 中的终点和 地址 I,J,K 上的圆弧圆心分别表示:I: 圆弧中点在 X 方向的坐标J: 圆弧中点在 Y 方向的坐标K: 圆弧中点在 Z 方向的
18、坐标如果圆弧以圆心编程,尽管没有终点,仍产生一个整圆。绝对和增量尺寸的输入默认的 G90/G91 绝对或者增量坐标只对圆弧终点有效。 中心点坐标 I,J,K 通常以增量尺寸并参考圆弧起点输入。您可以参考工件零点用以下程序编程绝对中心点: I=AC(), J=AC(), K=AC()增量尺寸举例:N10 G0 X67.5 Y80.21110 / 99N20 G3 X17.203 Y38.029 I17.5 J30.211 F500绝对尺寸举例:N10 G0 X67.5 Y80.211N20 G3 X17.203 Y38.029 I=AC(50) J=AC(50)一个插补参数 I,J,K 的值如果
19、是 0 就可以取消,但是第二个相关参数必须给出。用半径和终点进行圆弧编程圆弧运动通过以下几点来描述: 圆弧半径 CR= 和 在直角坐标 X,Y,Z 中的终点除了圆弧半径,您还必须用符号/表示运行角度是否应该大于或者小于 180。正符可以不注明。识别符表示:CR=+:角度小于或者等于 180CR=:角度大于 180举例:N10 G0 X67.5 Y80.211N20 G3 X17.203 Y38.029 CR=34.913 F500在这种处理方式下您不一定要给出中点。整圆(运行角度 360)不能用 CR=来编程,而是通过圆弧终点和插补参数来编程。用圆弧角和圆心或者终点进行圆弧编程圆弧运动通过以下
20、几点来描述: 圆弧角 AR= 和 在直角坐标 X,Y,Z 中的终点或者 地址 I,J,K 上的圆弧中点分别表示:AR=:圆弧角,取值范围 0 至 360I,J,K 的意义参见前面几页。整圆(运行角度 360)不能用 AR=来编程,而是通过圆弧终点和插补参数来编程。举例:N10 G0 X67.5 Y80.211N20 G3 X17.203 Y38.029 AR=140.134 F50011 / 99或者N20 G3 I17.5 J30.211 AR=140.134 F500用极坐标进行圆弧编程圆弧运动通过以下几点来描述: 极角 AP= 和极半径 RP=在这种情况下,适用以下规定:极点在圆心。极半
21、径和圆弧半径相符。举例:N10 G0 X67.5 Y80.211N20 G111 X50 Y50N30 G3 RP=34.913 AP=200.052 F500编程举例以下程序是圆弧编程举例。必需的尺寸在右边的加工图纸中。N10 G0 G91 X133 Y44.48 S800 M3 回到起始点N20 G17 G1 Z-5 F1000 刀具横向进给N30 G2 X115 Y113.3 I-43 J25.52 用增量尺寸表示的圆弧终点,圆心或者N30 G2 X115 Y113.3 I=AC(90) J=AC(70) 用绝对尺寸表示的圆弧终点,圆心或者N30 G2 X115 Y113.3 CR=-5
22、0 圆弧终点,圆弧半径或者N30 G2 AR=269.31 I-43 J25.52 用增量尺寸表示的圆弧角,中心点或者N30 G2 AR=269.31 X115 Y113.3 圆弧角,圆弧终点N40 M30 程序结束4、螺旋线插补 G2/G3TURN编程:G2/G3 X Y Z I J K TURN=12 / 99G2/G3 X Y Z I J K 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 直角坐
23、标的圆心AR 圆弧角TURN= 附加圆弧运行次数的范围从 0 至 999AP= 极角RP= 极半径功能螺旋线插补可以用来加工如螺纹或油槽 (延迟线插补)。操作顺序在螺旋线插补时,两个运动是叠加的并且并列执行。 水平圆弧运动 垂直直线运动圆弧运动在工作平面确定的轴上进行。举例:工作平面 G17,针对圆弧插补的轴 X 和 Y。然后在垂直的横向进给轴上进行横向进给运动,这里是 Z 轴。运动顺序1. 回到起始点2. 执行用 TURN= 编程的整圆3. 回到圆弧终点,例如:作为部分旋转4. 执行第 2,3 步穿过进刀深度加工螺旋线所需的螺距 = 整圆数 + 编程的终点 -穿过的进刀深度。编程举例螺旋线插
24、补13 / 99N10 G17 G0 X27.5 Y32.99 Z3 回到起始位置N20 G1 Z-5 F50 刀具横向进给N30 G3 X20 Y5 Z-20 I=AC(20) J=AC (20) TURN=2带以下参数的螺旋线:从起始位置执行两个整圆,然后回到终点N40 M30 程序结束5、暂停指令 G04指令格式:G04 FG04 S参数说明:F以秒为单位的时间S用主轴旋转次数来确定暂停时间*为非模态指令6、倒角指令编程:CHF=CHR=RND=RNDM=FRC=FRCM=指令说明CHF= 轮廓角倒棱 值 = 倒角的长度(由 G70/G71 确定测量单位)CHR= 轮廓角倒棱(SW 3.
25、5 及更高版本) 。 在初始运动方向上的倒角编程。度(测量单位同上)RND= 轮廓角倒圆值 = 圆的半径(尺寸单位符合 G70/G71)RNDM= 模态倒圆:以同样方法对几个连续轮廓角进行倒圆。值 = 圆的半径 (尺寸单位符合 G70/G71)0: 取消模态倒圆14 / 99值 = 运动方向中的倒角宽FRC= 倒角/倒圆的非模态进给率值 = 进给率单位毫米/分钟(G94)或毫米/转(G95) ;FRC 0FRCM= 倒角/倒圆的模态进给率值 = 进给率单位毫米/分钟(G94)或毫米/转(G95)0: 为倒角/倒圆编程的进给率 F 有效功能您可以将以下元素插入一个轮廓拐角:倒角,或倒圆如果希望用
26、同样的方法对若干轮廓拐角连续进行倒圆,那么用 RNDM“模态倒圆”命令达到。 可以用 FRC(非模态)或 FRCM(模态)命令给倒角/倒圆编程进给率。 如果没有编程 FRC/FRCM,那么就应用普通的轨迹进给率 F。倒角, CHF/CHR若倒角插入其他直线部分,倒角在直线和圆弧轮廓的组合之间进行。倒角插在编程的程序段后面。倒角总是在用 G17 到 G19 激活的平面中。举例: N30 G1 X Z F CHR=2N40 G1 X Z或者N30 G1 X Z F CHF=2 (cos 2)N40 G1 X Z倒圆, RND圆弧轮廓可以在直线和圆弧轮廓的组合之间用切线相交插入。 倒圆总是在用 G1
27、7 至 G19 激活的平面上。右图为在两条直线之间倒圆。举例: N30 G1 X Z F RND=2右图就是在直线和圆弧之间进行倒圆。N30 G1 X Z F RND=2N40 G3 X Z I K第四讲:辅助功能15 / 99一、复习回顾1、在圆弧插补指令使用时,如何判断圆弧插补方向?2、圆弧的表达方式有几种?分别是什么?如何表示?3、终点+半径式编制圆弧加工程序时,CR 取值如何确定?与 FANUC 系统有何异同?二、新课1、辅助功能 M 指令的作用:辅助功能主要用于机床开关量的控制。如主轴的启停、冷却液的启闭等2、辅助功能的种类:辅助功能有前指令和后指令之分前指令:与坐标轴移动一起执行的
28、指令。后指令:坐标轴移动后才移动的指令。3、常用辅助功能M0*编程停止M1*可选的停止M2*主程序结束,返回程序开始M30*程序结束,如 M2M17*子程序结束M3主轴顺时针旋转M4主轴逆时针旋转M5主轴停止M6刀具更换(缺省设定)M70主轴转换到轴运行方式16 / 99M40自动换档M41齿轮级 1M42齿轮级 2M43齿轮级 3M44齿轮级 4M45齿轮级 5M0 与 M1 的异同:两者均表示程序停止,但前者表示无条件停止,而后者为计划停止M2 与 M30 的异同:两者均为程序结束,但前者是结束后光标返回程序头,而后者表示结束后光标停在 M30 处,如果继续运行该程序,必须按复位键。#M
29、指令除一些通用的(即 ISO 标准)外,其他没有指定的,在不同的系统中有着不同的含义。注意区别西门子与 FANUC 系统中不同之处第五讲:刀具补偿功能及应用一、复习回顾辅助功能二、新课1、刀具功能 T 指令在数控加工程序中可以通过 T 指令来指定所用刀具。如 T01 表示 1 号刀具17 / 9918 / 992、刀具刀沿号 D 指令编程D.D0参数说明Dx 刀补号:没有 WZV1. 8 或带 WZV (自软件版本 SW5)1.12x x 用于 D 号: 0-32000D0 撤销刀具补偿,没有补偿生效功能对于一个确定的刀具,可以用不同的刀具补偿程序段,相应地分配 1 到 8(12)个刀沿。由此
30、可以对于一个刀具定义不同的刀沿,这样就可以在程序段中根据需要进行调用。比如,如果是一个切槽车刀可以有不同的补偿值,用于左刀沿和右刀沿。一个专用刀沿的长度补偿可以调用 D 激活。如果编程 D0,则刀具的补偿无效。如果没有编程 D 字,则在换刀时机床数据中的标准设定生效。 如果编程 D 号,则刀具长度补偿有效。 此外,刀具半径补偿必须通过 G41/G42 开启。19 / 993、刀具补偿功能3.1、刀具补偿有什么作用?在编程时,您无需考虑铣刀的直径、车刀的刀沿位置(车刀的左边/右边)以及刀具长度。您可以直接编程工件尺寸,比如加工图纸中如何标注就可以如何编程。在加工工件时控制刀具的行程(取决于刀具的
31、几何参数) ,使其能够加工出编程的轮廓。20 / 993.2、刀具补偿的种类刀具补偿分为刀具长度补偿和刀具半径补偿3.2.1、3.2.2、3.3、刀具半径补偿, G40, G41, G42编程G40G41G42OFFN=21 / 99指令说明G40 取消刀具半径补偿G41 刀具半径补偿接通,刀具在轮廓的左侧沿加工方向加工G42 刀具半径补偿接通,刀具在轮廓的右侧沿加工方向加工OFFN= 编程轮廓的加工余量(轮廓补偿正常)功能使用刀具半径补偿后,控制系统自动计算不同刀具时等距离的刀具位移。使用 OFFN 时,可以产生等距离的轨迹,比如用于半精加工。22 / 99刀具半径补偿的接通/取消在有 G4
32、0、G41 或者 G42 的程序段中,必须编程一个带 G0 或者 G1 的运行指令。在此运行指令中,必须对所选择的工作平面中至少一个轴作出说明。在接通时如果仅说明一个轴,则自动补充第二个轴的最后位置,并在两个轴上运行。说明:两个轴必须作为 GEOAX 在通道中有效。这可以通过编程 GEOAX 加以保证。举例:N10 G0 X50 T1 D1N20 G1 G41 Y50 F200N30 Y100在程序段 N10 中仅接通刀具长度补偿。X50 没有补偿返回。在程序段 N20 中接通半径补偿,点 X50/Y50 补偿后返回。23 / 99补偿方向的更换G41/G42, G42/G41 可以无需中间的
33、 G40 编程。编程举例“传统”的方法如下:刀具调用,刀具更换,工作平面接通和刀具半径补偿使用。24 / 99N10 G0 Z100 空运行,用于换刀N20 G17 T1 M6 换刀N30 G0 X0 Y0 Z1 M3 S300 D1 调用刀具补偿值,选择长度补偿N40 Z-7 F500 刀具进给N50 G41 X20 Y20 刀具半径补偿接通,刀具在轮廓的左侧加工N60 Y40 铣削轮廓N70 X40 Y70N80 X80 Y50N90 Y20N100 X20N110 G40 G0 Z100 M30 刀具空运行,程序结束3.4 G40、G41、G42 使用中的注意事项a、刀具半径补偿的建立和
34、取消必须在直线段上进行b、刀具半径补偿的建立和取消必须在所确定的加工平面内c、建立或取消的直线段长度不易过小d、在数控铣削加工中,精加工通常采用顺铣左补偿e、刀具补偿的建立和取消必须在零件外进行第六讲:G33、G63 等指令一、复习回顾1、在数控加工中,刀具补偿的种类有哪些?2、在西门子系统中的 D 指令与 FANUC 系统中的 D 指令有什么异同?25 / 993、刀具半径补偿的三个阶段是什么?4、为什么要进行刀具半径补偿?在进行刀具半径补偿时应注意什么问题?二、新课1、G33 指令带恒定螺距的切削螺纹,G33带纵向轴 Z 和横向轴 X 的车床编程举例圆柱螺纹G33Z K SF=*圆锥螺纹G
35、33X Z K SF=*G33X Z I SF=*平面螺纹G33X I SF=* SF= 编制复式螺纹程序时才需要(K 表示圆锥角 45)参数说明X Z直角坐标的终点I K螺纹螺距(在 X,Z 方向)SF=起始点偏移,仅用于复式螺纹26 / 99圆柱螺纹圆柱螺纹通过螺纹长度和螺纹螺距来描述。螺纹长度用一个直角坐标 X,Y 或 Z 以绝对尺寸增量尺寸来输入。在车床加工时要输入 Z 方向。进给加速或减速时,导入行程和导出行程必须要留有余量。螺纹螺距在地址 I,J,K 上输入,在车床上主要是用 K。I在 X 方向的螺纹螺距J在 Y 方向的螺纹螺距K在 Z 方向的螺纹螺距举例:K4 表示每转 4 mm
36、 螺距螺距值的范围:0.001 至 2000.00 毫米/转分别表示:27 / 99圆锥螺纹圆锥螺纹通过在纵向和平面方向的终点(圆锥轮廓)以及螺纹螺距来描述。圆锥轮廓用直角坐标 X,Y,Z 以绝对尺寸或增量尺寸输入,车床加工时优先在 X 和 Z 方向。进给加速或减速时,导入行程和导出行程必须要留有余量。地址 I,J,K 上输入螺纹螺距。I, J, K 的含义参见圆柱螺纹。螺距参数由圆锥角(从纵向轴到圆锥外侧计算)来决定。圆锥角 45时:螺距在平面方向,例如:I螺距= 45时,可以指定 I 或 K。起点偏移 SF 加工复合螺纹偏移螺纹切削通过确定 G33 程序段中的起点偏移进行编程。起点偏移在地
37、址 SF=上被定义为绝对角度位置。相关的设置数据作相应的改变。举例:SF=45表示:起始偏移 4528 / 99取值范围:0.0000 至 359.999 度如果没有给出起始点偏移,那么使用在设置数据中确定的“螺纹起始角”。右旋/左旋螺纹按照主轴方向来设定右旋或左旋螺纹:M3:顺时针方向M4:逆时针方向还可以在地址 S 下编程所希望达到的转速。在用 G33 进行螺纹切削时,不能改变主轴转速倍率开关。(动态转速变化)。进给倍率开关在 G33 程序段中不起作用。编程举例用起点偏置 180加工双圆柱螺纹。螺距为 429 / 99N10 G1 G54 X99 Z10 S500 F100 M3零点偏置,
38、回到起始点,打开主轴N20 G33 Z-100 K4圆柱螺纹:在 Z 上的终点N30 G0 X102N40 G0 Z10N50 G1 X99回到起始位置N60 G33 Z-100 K4 SF=180第二次切削:起始点偏移 180N70 G0 X110刀具退出N80 G0 Z10程序结束N90 M302、G63 指令带补偿夹具的攻丝,G63编程:G63X Y Z参数说明30 / 99X Y Z钻孔深度(终点,在直角坐标中给出)功能用 G63 可以带补偿夹具的攻丝。 夹具将补偿出现在轨迹中的任何偏差。操作顺序攻丝编程直角坐标中的钻孔深度主轴转速和主轴方向进给率后退运行同样用 G63 来编程,但是主
39、轴旋转方向相反。进给速度编程的进给率必须和转速与攻丝的螺纹螺距的比例相匹配。公式:进给率 F (毫米/分钟) = 主轴转速 S (转/分钟)x 螺纹螺距(毫米/转)用 G63 把进给率和主轴转速倍率开关设置为 100%。其它说明G63 模态有效。在一个用 G63 编程的程序段之后,最后编程的插补指令 G0,G1,G2 会被再次激活。编程举例带补偿夹具的攻丝:在此例中,要加工一个 M5 攻螺纹。M5 螺纹的螺距总计 0.8(表中已经规定)。选择转速 200 转/分钟时,进给率 F 为 160 毫米/分31 / 99N10 G1 X0 Y0 Z2 S200 F1000 M3回到起始点,打开主轴N2
40、0 G63 Z-50 F160攻丝,钻孔深度 50N30 G63 Z3 M4回程,编程换向N40 M30程序结束钟。3、G74 指令指令格式:G74 X0Y0Z0说明:G74 为非模态指令,只能用于 NC 独立的程序段中。机床关机重启后,所有轴必须重新回参考点,此时可以利用 G74 自动返回到参考点方式。4、G94、G95 指令功能:用于进给速度单位变换说明:G94:直线进给率 FG95:旋转进给率 F编程示例:N10 G94N20S300M3F120N30 G95N40S300M3F0.2第七讲:标准循环132 / 99一、复习回顾1、G33 指令的作用?2、G63 指令的作用?二、新课1、
41、引入数控生产厂家为了方便编程人员编程,简化程序而特殊设计的。利用一条指令即可由数控自动控制完成一系列固定加工的循环动作2、循环调用指令 MCALLMCALL 为模态调用指令,用于调用所使用的固定循环3、常用固定循环33 / 994、钻削,定中心CYCLE8134 / 9935 / 995、钻削CYCLE8236 / 995、深孔钻削CYCLE8337 / 9938 / 996、攻丝,不带补偿衬套CYCLE8439 / 9940 / 997、攻丝,带补偿衬套CYCLE84041 / 998、镗孔 1CYCLE8542 / 998、精镗孔CYCLE8643 / 999、其他固定循环CYCLE87C
42、YCLE88CYCLE89CYCLE90第八讲:标准循环 2一、复习回顾:1、在孔加工循环中,孔加工循环的一般工艺是什么?2、CYCLE81 循环提刀速度为 G1 速度吗?3、在使用 CYCLE81 编程时,是否需要给定 F?二、新课44 / 991、引入:在孔加工过程中,有时所加工的孔数很多且成规律状分布,如何简单快捷的编制所需要的程序啊?2、线性孔排列循环45 / 9946 / 993、圆周孔排列循环47 / 9948 / 99第九讲:习题课1、编制图所示零件上所有孔的加工程序。2、图所示零件上的20 孔已预制,且外形的粗加工也已完成,试编制精铣削外形和铣削槽的数控加工程序,要求使用两把不
43、同的刀具和刀具补偿功能。49 / 99第十讲:局部坐标系一、复习回顾二、新课1、引入加工如图示零件50 / 99我们发现,如果把坐标原点设定在左下角,程序编制及基点计算十分复杂,能否简化?2、可编程零件偏移编程TRANS X Y Z (在独立程序段中编程)ATRANS X Y Z (在独立程序段中编程)指令和参数说明TRANS零点偏移 绝对值,以当前有效的、 用 G54到 G599设定的工件零点为基准。ATRANS 与 TRANS 相同,但是有附加的零点偏移 X Y Z 在所给定的几何轴方向的偏移值编程举例在一个工件中,一个程序之内多次出现所说明的形状。该形状的加工顺序存储在子程序中。通过零点
44、偏移,您可以只设置所需要的工件零点,然后调用子程序。N10 G1 G54 工作平面 X/Y,工件零点51 / 99N20 G0 X0 Y0 Z2 回起始点N30 TRANS X10 Y10 绝对偏移N40 L10 子程序调用N50 TRANS X50 Y10 绝对偏移N60 L10 子程序调用N70 M30 程序结束3、可编程的旋转, ROT, AROT编程ROT X Y ZROT RPL=AROTX Y ZAROT RPL=所有指令必须在独立的程序段中编程。指令和参数说明ROT, 绝对旋转,以当前用 G54到 G599设定的工件零点为基准AROT, 附加旋转,以当前设定的或者编程的零点为基准
45、X Y Z 空间旋转:围绕几何轴旋转RPL, 平面中旋转:坐标系旋转的角度(平面用 G17-G19设定)功能52 / 99使用 ROT/AROT,工件坐标系可以围绕几何轴 X/Y/Z 中的一个进行旋转,或者在所选择的工作平面 G17到 G19平面中(或者垂直方向的进刀轴)围绕角度 RPL 进行旋转。这样,就可以在一个同样的装夹位置时对斜置平面进行加工,或者对几个工件面进行加工。操作顺序:空间旋转可替代的指令, TRANS X Y Z坐标系围绕所给定的轴旋转编程的角度。最后说明的可设定的零点偏移 G54到 G599作为旋转中心。使用指令 ROT,复位事先设置的、可编程框架的所有框架部件。要求在当
46、前的框架上建立一个新的旋转,请用 AROT 编程。附加指令, AROT X Y Z 旋转,在所给定轴方向编程的角度值当前设定的或者最后编程的零点作为旋转中心。53 / 99旋转方向确定正向转角: 观察坐标轴的正向,顺时针旋转。操作顺序:在平面中旋转坐标系在用 G17到 G19选择的平面中旋转。可替代的指令,ROT RPL附加指令,AROT RPL54 / 99坐标系在当前的平面中旋转用 RPL=编程的转角。其它的说明参见空间中的旋转。三、综合应用:将引例通过所学知识进行解答四、注意事项:第十一讲:可编程比例放缩、镜像功能一、复习回顾1、可编程零点偏置指令的格式?2、可编程旋转指令的格式?角度如
47、何确定?二、新课1、可编程的比例系数, SCALE, ASCALE编程SCALE X Y Z (在独立程序段中编程)ASCALE X Y Z (在独立程序段中编程)指令和参数说明SCALE, 绝对放大/缩小,以当前有效的、用 G54至 G599设定的坐标系为基准ASCALE, 附加放大/缩小,以当前有效的、设定的或者编程的坐标系为基准55 / 99X Y Z 在所给定的几何轴方向的比例系数功能使用 SCALE/ASCALE,可以对所有的轨迹轴、同步轴和定位轴在所给定轴方向编程比例系数。由此一个形状的大小可以进行改变。这样,您就可以编程几何形状相似的轮廓或者不同收缩率的材料。附加指令, ASCA
48、LE X Y Z要求在当前的框架上建立一个比例修改,请用 ASCALE 编程。这种情况下,最后有效的框架用新的比例系数相乘。当前设定的或者最后编程的坐标系作为比例修改的基准。取消比例系数 对于所有轴:SCALE (没有轴参数)在此之前编程的框架所有部件均被复位。编程举例56 / 99在这个工件中出现两个形状相同的槽,所不同的是尺寸大小不同,并且相互扭转。加工顺序在子程序中编程。通过零点偏移和旋转可以设定所需的工件零点,通过缩放再缩小轮廓,然后再次调用该子程序。N10 G17 G54 工作平面 X/Y,工件零点N20 TRANS X15 Y15 绝对偏移N30 L10 加工大的凹槽N40 TRA
49、NS X40 Y20 绝对偏移N50 AROT RPL=35 平面中旋转 35N60 ASCALE X0.7 Y0.7 比例系数,用于较小的凹槽N70 L10 加工小的凹槽N80 G0 X300 Y100 M30 位移行程,程序结束2、可编程的镜像, MIRROR, AMIRROR57 / 99编程MIRROR X0 Y0 Z0 (在独立的 NC 程序段中编程)AMIRROR X0 Y0 Z0 (在独立的 NC 程序段中编程)指令和参数说明MIRROR, 绝对镜像,以当前有效的、用 G54至 G599设定的坐标系为基准AMIRROR, 附加镜像,以当前有效的、设定的或者编程的坐标系为基准X Y
50、 Z 几何轴,必须更换其方向这里所给定的值可以自由选择,比如 X0 Y0 Z0。功能使用 MIRROR/AMIRROR 可以镜像坐标系中的工件形状。在调用子程序编程的镜像后,所有的运行均执行镜像功能。操作顺序可替代的指令, MIRROR X Y Z在所选择的工作平面中,通过轴向方向更换编程镜像功能。举例:工作平面 G17 X/Y在 Y 轴上的镜像要求在 X 轴上变换方向,然后用 MIRROR X0进行编程。 然后轮廓镜像到镜像轴 Y 的对面,并进行加工。58 / 99镜像功能针对用 G54到 G57设定的坐标轴。用指令 MIRROR 清除所有以前设置的可编程的框架。附加指令, AMIRROR
51、X Y Z要求以当前的转换为基础建立的一个镜像,请用 AMIRROR 编程。当前设定的或者最后编程的坐标系作为基准。取消镜像对于所有轴:MIRROR (没有轴参数)在此之前编程的框架所有部件均被复位。59 / 99其它说明按照改变后的加工方向,控制系统使用镜像指令自动转换轨迹修正指令(G41/G42或者 G42/G41) 。同样这也适用于圆弧旋转方向(G2/G3或者 G3/G2) 。如果在 MIRROR 之后用 AROT 编程一个附加旋转,则根据情况您必须使用相反的旋转方向(正向/负向或者负向/正向) 。 对于几何轴的镜像,控制系统会自动换算成旋转,有时则换算成机床数据设定的镜像轴的镜像。这也
52、适用于可设定的零点偏移。60 / 99编程举例这里给出的轮廓您可以作为子程序编程。其它的3个轮廓通过镜像产生。 工件零点设定在轮廓中心。N10 G17 G54 工作平面 X/Y,工件零点N20 L10 右上方的第一个轮廓被加工。61 / 99N30 MIRROR X0 X 轴镜像(X 轴方向对调)N40 L10 左上方的第二个轮廓被加工N50 AMIRROR Y0 Y 轴镜像(Y 轴方向对调)N60 L10 左下方的第三个轮廓被加工。N70 MIRROR Y0 MIRROR 复位以前的框架。Y 轴镜像(Y 轴方向对调)N80 L10 右下方的第四个轮廓被加工。N90 MIRROR 取消镜像。N
53、100 G0 X300 Y100 M30 位移行程,程序结束第十二讲:习题课编程举例:平面旋转在一个工件中,一个程序之内多次出现所说明的形状。除了零点偏移之外,还必须进行旋转,因为这些工件形状并不是轴向排列的。62 / 99N10 G17 G54 工作平面 X/Y,工件零点N20 TRANS X20 Y10 绝对偏移N30 L10 子程序调用N40 TRANS X55 Y35 绝对偏移N50 AROT RPL=45 坐标系旋转 45N60 L10 子程序调用N70 TRANS X20 Y40 绝对偏移(复位所有到目前为止的偏移)N80 AROT RPL=60 附加旋转 60N90 L10子程序
54、调用N100 G0 X100 Y100 位移行程N110 M30 程序结束63 / 99编程举例:空间旋转在此示例中,轴向平行的和斜置的工件表面必须在一个夹装中进行加工。前提条件:刀具必须垂直于斜置平面,对准到旋转后的 Z 轴方向。N10 G17 G54工作平面 X/Y,工件零点N20 TRANS X10 Y10 绝对偏移N30 L10 子程序调用N40 ATRANS X35 附加偏移N50 AROT Y30 围绕 Y 轴旋转N60 ATRANS X5 附加偏移N70 L10 子程序调用N80 G0 X300 Y100 M30 位移行程,程序结束第十三讲:R 参数编程64 / 99一、复习回顾
55、:可编程比例放缩功能镜像功能二、新课1、计算参数 R编程Rn=.说明R计算参数n计算参数个数,n= 0 至最大值。最大值参见机床数据或者机床制造商资料,缺省设定为:最大值 = 0-99机床制造商(MH10.1)R 参数通过机床数据设定,也可以参见机床制造商说明。功能如果一个 NC 程序不仅仅适用于所确定的值,或者您必须计算值,则可以使用计算参数。在程序运行时,所需要的值可以通过控制系统计算或者设置。另一个方法就是通过操作设定计算参数值。如果计算参数赋值,它们可以在程序中赋值其它数值可设定的 NC 地址。赋值计算参数有以下的赋值范围:65 / 99(0.000 0001 . 99999999)(
56、8 位数字,加符号和小数点) 。在整数值中小数点可以取消正号可以不用写举例:R0=3.5678 R1=-37.3 R2=2 R3=-7R4=-45678.1234使用指数符号可以赋值一个扩展的数值范围:举例: (10-300. 10+300)指数数值写在 EX 符号之后;最大的字符数:10(包括符号和小数点)EX 的值范围: -300 . +300举例:R0=-0.1EX-5;意义: R0 = -0,000 001R1=1.874EX8;意义: R1 = 187 400 000注释:一个程序段中可以有几个赋值指令;也可以赋值计算表达式。必须在一个独立的程序段中分配数值。赋值到其它地址一个 NC
57、 程序的灵活性主要体现在:把这些计算参数或者计算表达式用计算参数赋值到其它的 NC 地66 / 99址。在赋值时,在地址符之后写符号“” 。也可以带一个负号赋值。如果给一个轴地址赋值(运行指令) ,则需要一个独立的程序段。举例:10 G0 X=R2 ;赋值到 X 轴2、算术运算和功能在使用运算符/计算功能时,必须要遵守通常的数学运算规则。优先执行的过程通过园括号设置。其它情况下,按照先乘除后加减运算。在三角函数中单位使用度。编程举例:R 参数值、计算表达式或者计算参数可以赋值到所有的地址;例外:地址 N, G 和 L.在赋值时,在地址符之后写符号“” 。也可以带一个负号赋值。 如果给一个轴地址
58、赋值(运行指令) ,则需要一个独立的程序段。举例:N10 G0 X=R2 ;赋值到 X 轴算术运算和功能在使用运算符/计算功能时,必须要遵守通常的数学运算规则。优先执行的过程通过园括号设置。其它情况下,按照先乘除后加减运算。在三角函数中单位使用度。编程举例:R 参数N10 R1= R1+1新的 R1 等于旧的 R1 加 167 / 99N20 R1=R2+R3 R4=R5-R6 R7=R8* R9R10=R11/R12N30 R13=SIN(25.3) R13 等同于正弦 25.3 度N40 R14=R1*R2+R3先乘除后加减 R14=(R1*R2)+R3N50 R14=R3+R2*R1结果
59、,与程序段 N40 相同N60 R15=SQRT(R1*R1+R2*R2)意义:R15= R12+R22 的平方根编程举例:赋值轴数值N10 G1 G91 X=R1 Z=R2 F300N20 Z=R3N30 X=-R4N40 Z=-R5.3、应用举例用镗孔循环 LCYC85 加工图所示矩阵排列孔,无孔底停留时间,安全间隙 2mm。N10 G0 G17 G90 F1000 T2 D2 S500 M3N20 X10 Y10 Z105N30 R1=0N40 R101=105 R102=2 R103=102 R104=77 R105=0 R107=200 R108=10068 / 99N50 R115
60、=85 R116=30 R117=20R118=10R119=5 R120=0 R121=10N60 MARKE1:LCYC60N70 R1=R1+1 R117=R117+10N80 IF R15 GOTOB MARKE1N90 G0 G90 X10 Y10 Z105N100 M2第十四讲:程序跳跃一、复习回顾:1、R 参数如何引用?2、R 参数常见的运算有哪些?如何使用?二、新课69 / 991、绝对程序跳转编程GOTOB GOTOF GOTO/GOTOC 说明GOTOB 跳转指令 跳转目标向后 (方向:程序起始)GOTOF跳转指令,跳转目标向前(方向:程序结束)GOTO跳转指令,首先向前,
61、然后向后(方向首先向程序结束处,然后向程序起始处)GOTOC抑制报警 14080“没有找到跳转目标” 。跳转指令,带跳转目标查询,首先向前然后向后(方向首先向程序结束处,然后向程序起始处)跳转目标参数,用于标签、程序段号,或者字符串变量标签跳转指令时的跳转目标标签:在一个程序之内标记跳转目标程序段号主程序段号或者副程序段号作为跳转目标(比如:: 200, N300)字符串变量类型字符串变量,包括一个标签或者一个程序段号。功能正常情况下,主程序、子程序、循环和中断程序均按照编程的顺序执行。通过程序跳转可以改变此顺序。70 / 99操作顺序在一个程序中,跳转目标可以选择用户定义的名称。在同一个程序
62、中任意一个位置,可以使用指令GOTOF 或者 GOTOB 跳转到一个目标位置。执行完跳转指令后,程序继续执行跳转指令之后的指令。没有找到跳转目标如果跳转目标没有找到,则程序停止执行,给出报警 14080“跳转目标未找到” 。制此报警。指令 GOTOC 之后的程序继续执行。跳转目标向后1.有标签的跳转 Label_1: ;跳转目标.GOTOB Label_1跳转目标向前2. 跳转到某程序段号GOTOF N100.N100 ;跳转目标间接跳转3. 跳转到程序段号N5 R10=100N10 GOTOF NR10;跳转到程序段,其程序段号在 R10 中71 / 99使用指令 GOTOC 抑N90N10
63、0;跳转目标.4. 跳转到标签DEF 字符串20 目标目标 = 标签 2;跳转GOTOF 目标 ;变量跳转目标标签 1:T=孔 1.标签 2:T=孔 2;跳转目标其它说明在绝对跳转时,在一个独立的程序段中编程。在有绝对跳转的程序中,程序结束 M2/M30 并不一定位于程序结束处。编程举例N10 N20 GOTOF MARKE_0;向前跳转到 MARKE_0N30 N40 MARKE_1: R1=R2+R3;跳转目标 MARKE_1N50 72 / 99N60 MARKE_0:;跳转目标 MARKE_0N70 N80 GOTOB MARKE_1;向后跳转到 MARKE_1N90 2、有条件程序跳
64、转编程IF 表达式 GOTOB IF 表达式 GOTOF IF 表达式 GOTO/GOTOC 指令说明IF条件关键字GOTOB 跳转指令 跳转目标向后 (方向:程序起始)GOTOF跳转指令,跳转目标向前(方向:程序结束)GOTO跳转指令带目标查询,首先向前,然后向后 (方向首先向程序结束处,然后向程序起始处)GOTOC抑制报警 14080“没有找到跳转目标” 。跳转指令,带跳转目标查询,首先向前然后向后(方向首先向程序结束处,然后向程序起始处)跳转目标参数,用于标签、程序段号,或者字符串变量标签跳转指令时的跳转目标标签:在一个程序之内标记跳转目标73 / 99程序段号主程序段号或者副程序段号作
65、为跳转目标(比如:200, N300)字符串变量类型字符串变量,包括一个标签或者一个程序段号。比较运算和逻辑运算=等于不等于大于=大于或者等于 - Y=R2*SIN(R1)+R6 计算和轴地址赋值N42 R1=R1+R3 R4=R4-1变量说明74 / 99N43 IF R40 GOTOB MA1跳转指令,带标签N44 M30程序结束第十六讲:子程序 1一、复习回顾跳转语句有哪些类型?典型的语句格式是什么?二、新课1、子程序是什么?原则上讲,一个子程序的结构与一个零件程序一样。它由带运行指令和开关指令的 NC 程序段组成。从本质上说,主程序与子程序没有区别。子程序中包含了要多次运行的工作过程或
66、者工作步骤。2、使用子程序总是反复出现的加工步骤在子程序中仅编程一次。比如说某个确定的轮廓,它们总是反复出现,或者是一个加工循环。子程序可以在任意一个主程序中调用和执行。3、子程序结构子程序的结构与主程序的结构一样,子程序用 M17 结束程序。这就表示返回到所调用的程序界面。4、以 RET 结束子程序在子程序中也可以编程指令 RET 代替 M17 返回到程序调用处。RET 要求一个自身的程序段。 如果一个 G64 轨迹控制运行不要由于返回而中断,则需要使用 RET 指令。这只有当此子程序没有 SAVE 性能时才可以。75 / 99如果在一个独立的程序段中编程 M17,则中断 G64 并产生准停
67、。解决方法:不要在一个子程序的程序段中单独写 M17, 而是写一个程序段带有其它指令, 比如运行位移: G1 X=YYM17 必须通过机床数据设置:“没有 M17 来自 PLC” 。5、子程序名称为了能够从众多的子程序中挑选出一个确定的子程序,则子程序必须要有名称。在编制程序时可以自由选择名称,但是必须遵守以下规定: 开始的两个字符必须是字母 其它的可以是字母、数字或者下划线 最多可以使用 31 个字符 不能使用分隔符(参见章节“编程语言的语言单元” )适用主程序命名的同样规则。举例:N10 TASCHE1另外在子程序中还可以使用地址字 L. 。其值可以是 7 位数(仅整数) 。注意:地址 L
68、 中,数字前的零有意义,用于区别。举例:N10 L12376 / 99N20 L0123N30 L001236、嵌套深度子程序不仅可以在一个主程序中调用,而且还可以在另一个子程序中调用。对于这样的嵌套调用,总共可以最多有 12 个程序级别可以使用;包括主程序级别。 这表明: 从一个主程序可以调用 11 个嵌套的子程序。上面示例中为三个不同的子程序。7、子程序调用子程序调用 在主程序中调用子程序时,可以使用地址 L,也可以使用子程序号,或者直接使用程序名称。举例:.77 / 99调用主程序作为子程序一个主程序也可以作为子程序调用。主程序中设置的程序结束 M30 此时作为 M17 (程序结束,返回
69、到调用的程序) 使用。通过给出程序名称编程此调用。举例:N10 MPF739 或者N10 WELLE378 / 99子程序的重复调用如果要求多次连续地执行某一子程序,则在编程时必须在所调用子程序的程序名后的地址P下写入调用次数,最大次数可以为9999(P1P9999) 。举例:N30 L003 P5; 调用子程序 L003,运行 5 次编程实例(使用子程序和增量尺寸功能编程举例)编写图示零件上槽的加工程序。解:1) 、工艺设计槽深较浅,采用一次加工到尺寸,并采用垂直下刀方式;槽宽由刀具直径直接保证,所以选择的加工刀具为8 键槽铣刀。编程原点选择在零件上表面的左侧中点处,与零件设计基准统一。主轴
70、转速 500 转/分钟,工进速度 50mm/分钟。79 / 992) 、走刀路线安全高度为 150mm,接近高度 2mm,槽深 1.2mm。由于槽宽是由刀具直径保证的,所以图中槽的中心线就是加工轨迹,因为各槽形状和尺寸相同,且是沿 X 坐标轴方向等距分布的,所以可利用子程序和增量尺寸功能进行编程。走刀路线主要由子程序描述,如图所示。P0 点是子程序调用的起点,也是下刀点,P1 点处插入一圆角指令,P2 是当前槽的抬刀点,P3 点是下一槽的下刀点,也是子程序结束的终点。P0 和 P3 点的坐标差应等于相邻两槽的间隔距离。3) 、数值计算第一个槽的 P0 点的坐标为绝对坐标(X20,Y21 ) ,
71、其它各点采用增量坐标,它们间的Y 坐标可由图中直接等到,从P0 到 P1、从 P1 到 P2 点的 X 坐标的计算如图所示:80 / 99注意:在增量坐标的子程序中,子程序从起点到终点的所有尺寸增量的代数和应等于两次调用间的坐标增量。如本例中,子程序每执行一次后,刀具将沿X 方向的正向移动30mm,即两槽的间隔距离。4) 、编写程序主程序:N5 G54 G90 G17 F50 S500 T1 M3;设定工艺参数N10 G0 X20 Y21;快速移动下刀点N15 Z2;快速下刀至接近N20 SLOT P6;调用子程序 SLOT.SPF 6次N25 G90 G0 Z150;绝对尺寸方式,抬刀至安全
72、高度N30 M5;主轴停N35 M2;程序结束子程序SLOT.SPF (子程序名)N100 G91;增量尺寸方式N105 G1 Z-3.2 F20;慢速下刀至槽N110 X-12.124 Y-21 RND=10 F50;加工槽81 / 99N115 X12.124 Y-21N120 Z3.2;抬刀至接近高度N125 G0 X30 Y42;快速移动至下一槽的下刀点N130 RET;子程序返回提示:在使用增量尺寸编制子程序时,应注意子程序返回后,上一级程序的尺寸方式的改变。对于需多次调用的子程序,应注意整个子程序的增量变化。例如,子程序被重复调用两次,若希望第二次调用点仅相对与第一次调用点沿 X
73、轴方向移动 30mm,Y 轴和 Z 轴方向不变,则子程序内所有X 坐标的代数和应等 30,所有 Y 坐标的代数和应等于零,所有 Z 坐标的代数和应等于零。第十七讲:子程序 2一、复习回顾1、子程序命名规则是什么?2、子程序如何调用?二、新课子程序典型应用编程实例 1: (使用子程序和可编程零点偏置功能编程举例)编写图所示零件上三个“T”字形凹槽的加工程序。82 / 99解:1、工艺设计槽深较浅,采用一次加工到尺寸,并采用垂直下刀方式;槽宽由刀具直径直接保证,所以选择的加工刀具为6 键槽铣刀。编程原点选择在零件上表面的左下角点处,与零件设计基准统一。主轴转速 600 转/分钟,工进速度 50mm
74、/分钟。2、走刀路线安全高度为 100mm,接近高度 2mm,槽深 1.2mm。由于槽宽是由刀具直径保证的,所以图中槽的中心线就是加工轨迹,因为各槽形状和尺寸相同,采用子程序编程,各槽的分布不具有规律,需使用可编程零点偏置功能重新为将各槽编程新的局部坐标系后才能调用子程序。子程序的走刀路线图如图所示。P0 是第一个下刀点,切削进给至 P1 点后抬刀至接近高度,然后快速移动至 P2,P2 点是第二个下刀点,切削进给至 P3 点后抬刀结束槽的加工。83 / 993、数值计算由于是在使用可编程零点偏置功能后,再调用子程序,子程序可以绝对尺寸编程,各基点的坐标为当前局部坐标系内的绝对坐标值,因此计算变
75、得简单,故计算过程省略。4、编写程序主程序:N5 G54 G90 G17 F50 S500 T1 M3;设定工艺参数N10 G158 X21 Y30;零点偏置至第一个局部坐标系原点N15 TSLOT;第一次调用 TSLOT 子程序N20 G158 X45 Y50;零点偏置至第一个局部坐标系原点N25 TSLOT;第二次调用 TSLOT 子程序N30 G158 X60 Y20;零点偏置至第一个局部坐标系原点N35 TSLOT;第三次调用 TSLOT 子程序N40 G158;取消可编程零点偏置N45 G0 Z150;抬刀至安全高度N50 M5;主轴停N55 M2;程序结束84 / 99子程序:TS
76、LOT.SPF( 子程序名 )N100 G0 X-10 Y0;快速移动至第一个下刀点N105 Z2;快速下刀至接近高度N110 G1 Z-1.2;慢速下刀至槽深N115 X10 F50;加工横向槽N120 G1 Z2;抬刀至接近高度N125 X0 Y-8;快速移动至第二个下刀点N130 G1 Z-1.2;慢速下刀至槽深N135 X0;加工纵向槽N140 G1 Z2;抬刀至接近高度N145 RET;子程序返回编程实例 2: (子程序的嵌套功能编程举例)编写图所示零件上6 个直槽的加工程序。85 / 99解:1、工艺设计由于槽深较大,虽可一次加工到尺寸,但应采用斜向下刀方式;槽宽由刀具直径直接保证
77、,所以选择的加工刀具为10 立铣刀。编程原点选择在零件上表面的左下角点处,与零件设计基准统一。主轴转速 500 转/分钟,工进速度 50mm/分钟2、走刀路线由于槽的尺寸相同,且按三行两列规律分布,故采用三级子程序结构编程。最低一级即第三级子程序用于描述单个直槽的加工轨迹,走刀路线如图所示,刀具从P0 点斜向进刀至 P1 点后,再水平进给至P2 点,P2 点在 P0 点的正下方,然后抬刀回到P0 点,最后快速移动至 P3 点为下一次调用作好准备。第二级子程序将第三级子程序调用三次,从而完成一列中的三个直槽的加工;第一级主程序再调用第二级子程序两次,即可完成全部六个直槽的加工,其全部走刀路线如图
78、所示。86 / 993、数值计算第一次子程序调用点的坐标: X0=10 Y0=15 Z0=2子程序内的增量坐标:X1=30Y1=0Z1=-7X2=-30Y2=0Z2=0X3=0Y3=0Z3=7X4=0Y4=15Z4=04、编写程序主程序:N5 G54 G90 G17 F50 S500 T1 M3;设定工艺参数N10 G0 X10 Y15;移动至下刀点N15 Z2;快速下刀至接近高度N20 SUB1 P2;调用子程序SUB1.SPF两次N25 G90;设定绝对尺寸方式N30 G0 Z150;抬刀至安全高度N35 M5;主轴停N40 M2;程序结束87 / 99子程序:SUB1.SPF (第二级子
79、程序名)N100 G91;增量尺寸方式N105 SUB2 P3;调用子程序 SUB2.SPF三次N110 G0 X50 Y-45;快速移动至下一次调用位置RET;子程序返回SUB2.SPF (第三级子程序名)N200 G91;增量尺寸方式N205 G1 X30 Z-7 F50;斜向下刀N210 X-30;加工直槽N215 Z7;抬刀至接近高度N220 G0 Y15;快速移动至下一次调用位置RET;子程序返回编程实例 3:(子程序和可编程坐标轴旋转功能编程举例)编写图所示环形零件上8 个凹槽的加工程序。88 / 99解:1、工艺设计槽深一次加工到尺寸,采用斜向下刀方式;刀具半径不得大于凹槽上最小
80、圆角半径,选择加工刀具为6 立铣刀。编程原点是零件上表面和轴线的交点。主轴转速 500 转/分钟,工进速度 30mm/分钟。2、走刀路线由于采用子程序和可编程坐标轴旋转功能编程,只须设计出处于线,如图所示。位置上的凹槽的走刀路图中, P0 点为调用子程序的起点,P0 至 P1 点为斜向下刀, P4 是抬刀点,也是子程序返回时所在的位置。89 / 993、数值计算在上述走刀路线中,基点P2、P3 的坐标值需计算。如图所示,要得到P2、P3 两点的 XY 坐标,需求出线段和的长度。在图形中已知:求解:X2=X3=X1+=20+11.67=31.67Y2= -=-1.97Y3=+=+1.9790 /
81、 994、编写程序主程序:N5 G54 G90 G17 S500 F30 T1 M3;设定工艺参数N10 G0 X0 Y0 Z150;快速移动至安全高度N15 SUB P8;调用 8 次 SUB.SPF 子程序N20 ROT;取消可编程序坐标轴旋转N35 G0 Z150;快速抬刀至安全高度N40 M5;主轴停N45 M2;程序结束子程序:SUB.SPF (子程序名)N100 G0 X24 Y0 Z2;快速移动至下刀点N105 G1 X20 Z-4;斜向下刀N110 X31.67 Y-1.97;切削槽的侧壁N115 G3 Y1.97 CR=-2N120 G1 X20 Y0N125 Z2;抬刀至接
82、近高度N130 AROT RPL=22.5;附加坐标轴旋转为下次调用做准备N135 RET;子程序返回91 / 99第十八讲:重复语句一、复习回顾二、新课1、程序部分重复功能相对于子程序调用技术,程序部分重复 是指在一个程序中,可以任意组合重复已经编写的程序部分。在此,通过标签标记需要重复的程序段或者程序部分。说明LABEL:跳转目标;在跳转目标名称之后跟一个冒号REPEAT重复(重复几行)REPEATB重复程序段(仅重复一行)编程重复程序段LABEL: xxxyyyREPEATB LABEL P=nzzz用一个标签标记的程序行重复 P=n 次。 如果没有说明 P,则程序段仅重复一次。在重复最
83、后一次之后,继续执行 REPEATB 行之后的程序 zzz。 使用标签标记的程序段可以在 REPEATB 指令之前,或者在其之后。首先在向程序起始的方向搜索。 如果在此方向没有找到,则向程序结束的方向查询。92 / 99编程举例位置重复N10 POSITION1: X10 Y20N20 POSITION2: CYCLE(0,9,8)位置循环N30.N40 REPEATB POSITION1 P=5执行程序段 N10 五次N50 REPEATB POSITION2执行程序段 N20 一次N60.N70 M30编程2、自标签处开始重复LABEL: XxxYyyREPEAT LABEL P=nZzz
84、在标签(带任意一个名称)和 REPEAT 指令之间的程序部分重复 P=n 次。如果带标签的程序段中还有其它的指令,则在每次重复时它们均重新执行。如果没有说明 P,则程序部分仅重复一次。 在重复最后一次之后,继续执行 REPEAT 行之后的程序zzz。93 / 99标签必须位于 REPEAT 指令之前。首先在向程序起始的方向搜索。编程举例加工 5 次正方形,每次宽度均增加N5 R10=15N10 BEGIN: R10=R10+1宽度N20 Z=10-R10N30 G1 X=R10 F200N40 Y=R10N50 X=-R10N60 Y=-R10N70 Z=10+R10N80 REPEAT BE
85、GIN P=4执行 N10 到 N70 程序部分 4 次N90 Z10N100 M303、编程重复两个标签之间的区域START_LABEL: xxxoooEND_LABEL: yyy94 / 99pppREPEAT START_LABEL END_LABEL P=nzzz在两个标签之间的区域(程序部分)重复执行 P=n 次。这些标签可以定义任意的名称。 重复程序部分的第一行中有起始标签,最后一行有结束标签。如果带起始/结束标签的程序段中还有其它的指令,则在每次重复时它们均重新执行。 如果没有说明 P,则程序部分仅重复一次。在重复最后一次之后,继续执行REPEAT 行之后的程序 zzz。待重复执
86、行的程序部分可以位于 REPEAT 指令之前,也可以在其之后。首先在向程序起始的方向搜索。如果在此方向没有找到起始标签,则从REPEAT 指令起向程序结束方向查找。不可以用两个标签刮号REPEAT 指令。如果在 REPEAT 指令之前找到起始标签,但在 REPEAT 指令之前找不到结束标签,则重复执行起始标签和 REPEAT 指令之间的程序部分。编程举例重复 BEGIN 与 END 之间的程序部分N5 R10=15N10 开始: R10=R10+1宽度N20 Z=10-R10N30 G1 X=R10 F200N40 Y=R10N50 X=-R10N60 Y=-R10N70 END:Z=1095
87、 / 99N80 Z10N90 CYCLE(10,20,30)N100 REPEAT BEGIN END P=3执行 N10 到 N70 程序部分 3 次N110 Z10N120 M30第十九讲:习题课1、编制铣削图所示零件上 8 个 U 型槽的数控加工程序,要求使用子程序功能编程,槽宽 12 由铣刀直径保证,槽深要分层加工。2、编制铣加工图所示零件的数控加工程序,零件的总长、总宽和总高尺寸已加工完成。96 / 99第二十讲:特殊功能简介一、复习回顾重复语句有哪些?如何应用?二、新课1、TRAILON 联动指令打开功能TRAILON 一般用于多轴龙门钻铣床或双面镗铣床中,要求双轴或多轴联动进行
88、加工。一般情况下,机床的几何轴设为 X、Y、Z 三轴作为主动轴,其他如 Y2、Z2 就作为跟随轴。指令格式TRAILON(Y2,Y1)TRAILON(Z2,Z1)说明TRAILON(Y2,Y1)Y2 轴跟随 Y1 轴作联动运动TRAILON(Z2,Z1)Z2 轴跟随 Z1 轴作联动运动2、TRAILOF 联动指令关闭功能用于取消 TRAILON 联动功能。用 TRAILON 必须用 TRAILOF 来取消格式97 / 99TRAILOF(Y2,Y1)TRAILOF(Z2,Z1)说明TRAILOF(Y2,Y1)取消 Y2 轴跟随 Y1 轴作联动运动TRAILOF(Z2,Z1)取消 Z2 轴跟随
89、Z1 轴作联动运动3、编程实例N10 G0G54X0Y1=0Y2=0设定 Y1、Y2 起始位置N20 TRAILON (Y2,Y1)设定 Y1、Y2 联动运动N30 G0Y1=100 Y1、Y2 同时达到 Y100 位置N40 N80 G0Y1=200Y1、Y2 同时达到 Y200 位置N90 TRAILOF(Y2,Y1)取消 Y2 轴跟随 Y1 轴作联动运动N10 M304、GEOAX 几何轴给定功能用于双轴龙门铣或双面镗铣床等多轴机床,通常情况下机场参数设定 X、Y(Y1) 、Z(Z1)三轴为机床的几何轴,Y2、Z2 设定为通道轴,G2/G3 只能在几何轴的情况下可以编程,通道轴不可以编制圆弧。若将Y2、Z2 转换成几何轴,则通过 GEOAX 功能来设定指令格式98 / 99GEOAX(2,Y2,3,Z2)说明2指的是第二几何轴3指的是第三几何轴取消几何轴的设定格式GEOAX(2,Y1,3,Z1)或 GEOAX()说明恢复 Y1 为第二几何轴,Z1 为第三几何轴编程实例N10 G0G54X50Y2=0N20 GEOAX(2,Y2,3,Z2)N30 G2X50Y0I-50J0F200N40 GEOAX()N50 M3099 / 99