《(推荐)宏程序编程实例与技巧方法.ppt》由会员分享,可在线阅读,更多相关《(推荐)宏程序编程实例与技巧方法.ppt(45页珍藏版)》请在三一文库上搜索。
1、单元宏 用户宏程序编程 用户宏程序编程用户宏程序编程 在数控编程中,宏程序编程灵活、高效、快捷,是 加工编程的重要补充。宏程序不仅可以实现象子程序那 样,例如,型腔加工宏程序、固定加工循环宏程序、球 面加工宏程序、锥面加工宏程序等。 lFANUC数控宏程序 lSIEMENS数控参数编程 1 1 2021/5/3 单元宏 用户宏程序编程 一、构成一、构成 1.包含变量 2.包含算术或逻辑运算(=)的程序段 3.包含控制语句(例如:GOTO,DO,END)的程序段 4.包含宏程序调用指令(G65,G66,G67或其他G代码 ,M代码调用宏程序)的程序段 FANUCFANUC数控系统用户宏程序数控系
2、统用户宏程序 2 2 2021/5/3 单元宏 用户宏程序编程 二、二、FANUCFANUC宏程序的宏程序的变量变量 FANUC数控系统变量表示形式为# 后跟14位 数字,变量种类有四种: 变量号变量类型功能 #0#0空变量该空变量该 变量总是变量总是 空,空, 没有任何值能赋给该变量没有任何值能赋给该变量 #1#1 #33#33 局部变量局部变量局部变量只能用在宏程序中存局部变量只能用在宏程序中存 储数据,例如运算结果。当断储数据,例如运算结果。当断 电时局部变量被初始化为空,电时局部变量被初始化为空, 调用宏程序时自变量对局部变调用宏程序时自变量对局部变 量赋值。量赋值。 3 3 2021
3、/5/3 单元宏 用户宏程序编程 变量号变量类型功能 #100#100 #199#199 #500#500 #999#999 公共变量公共变量 公共变量在不同的宏程序中公共变量在不同的宏程序中 的意义相同当断电时变量的意义相同当断电时变量#100 #100 #199#199初始化为空变量初始化为空变量 #500 #999 #500 #999 的数据保存即使的数据保存即使 断电也不丢失断电也不丢失 #1000#1000 系统变量系统变量 系统变量用于读和写系统变量用于读和写CNC CNC 运运 行时各种数据的变化例如刀具行时各种数据的变化例如刀具 的当前位置和补偿值等的当前位置和补偿值等 4 4
4、 2021/5/3 单元宏 用户宏程序编程 三、刀具补偿存储器三、刀具补偿存储器C C用用G10G10 指令进行设定指令进行设定 H代码的几何补偿值G10L10P R ; D代码的几何补偿值G10L12P R ; H代码的磨损补偿值G10L11P R ; D代码的磨损补偿值G10L13P R ; P:刀具补偿号 R:绝对值指令(G90)方式时的刀具补偿值。增量值 指令(G91)方式时的刀具补偿值为该值与指定的刀 具补偿号的值相加。 5 5 2021/5/3 单元宏 用户宏程序编程 四、四、 FANUCFANUC宏程序的转移和循环宏程序的转移和循环 1. 1. 无条件转移:无条件转移:GOTOn
5、GOTOn (n为顺序号,199999) 例:GOTO10为转移到N10程序段。 2. 条件转移:(IF语句) 1)IF 条件表达式 GOTOn 当指定的条件表达式满足时,转移到标有顺序号n的程序 段,如果指定的条件表达式不满足时,执行下个程序段 。 6 6 2021/5/3 单元宏 用户宏程序编程 2)IF 条件表达式 THEN 当指定的条件表达式满足时,执行预先决定的宏程序语句 。 例:IF #1EQ #2 THEN #3=0; 3. WHILE 条件表达式 DO m; (m=1,2,3) 条件满足 条件 不满 足 ENDm 注:循环允许嵌套,最多3层,但不允许交叉 7 7 2021/5/
6、3 单元宏 用户宏程序编程 8 8 2021/5/3 单元宏 用户宏程序编程 9 9 2021/5/3 单元宏 用户宏程序编程 五、运算符五、运算符 运算符运算符含义含义 EQEQ等于等于 NENE不等于不等于 GTGT大于大于 GEGE大于或等于大于或等于 LTLT小于小于 LELE小于或等于小于或等于 1010 2021/5/3 单元宏 用户宏程序编程 FANUCFANUC数控车削宏程序数控车削宏程序 l l1. 1. 概念:概念: l l“ “宏程序宏程序” ”一般指含有变量的程序。由宏程序一般指含有变量的程序。由宏程序 体和程序中调用宏程序的指令。即宏指令构体和程序中调用宏程序的指令。
7、即宏指令构 成。主要应用于抛物线、椭圆、双去想等各成。主要应用于抛物线、椭圆、双去想等各 种数控系统没有插补指令的轮廓曲线编程。种数控系统没有插补指令的轮廓曲线编程。 l l用户宏程序有两个要点:(用户宏程序有两个要点:(1)1)在宏程序中存在宏程序中存 在变量;(在变量;(2 2)宏程序能依据变量完成某个)宏程序能依据变量完成某个 具体操作。具体操作。 1111 2021/5/3 单元宏 用户宏程序编程 l l(2 2)特点)特点:1 1)可以进行变量的算术运算、)可以进行变量的算术运算、 逻辑运算和函数的混合运算。还可以使用循逻辑运算和函数的混合运算。还可以使用循 环语句、分支语句和子程序
8、调用语句。环语句、分支语句和子程序调用语句。2 2) 宏程序能依据变量,用事先指定的变量代替宏程序能依据变量,用事先指定的变量代替 直接给出的数值,在调用宏程序或宏程序本直接给出的数值,在调用宏程序或宏程序本 身执行时,得到计算好的变量值。身执行时,得到计算好的变量值。3 3)宏程)宏程 序通用性强,灵活方便,一个宏程序可以描序通用性强,灵活方便,一个宏程序可以描 述一种曲线,曲线的各种参数用变量表示。述一种曲线,曲线的各种参数用变量表示。 1212 2021/5/3 单元宏 用户宏程序编程 l(3)基本原理 l 宏程序编程是用户用变量作为数 据进行编程,变量在编程中充当 “媒介”作用。在后续
9、程序中可 以重新再赋值,原来内容被新赋 的值所取代,利用系统对变量值 进行计算和可以重新赋值的特性 ,使变量随程序的循环自动增加 并计算,实现加工过程的自动循 环,使之自动计算出整个曲线无 数个密集坐标值,从而用很短的 直线或圆弧线逼近理想的轮廓曲 线。 1313 2021/5/3 单元宏 用户宏程序编程 1414 2021/5/3 单元宏 用户宏程序编程 l l 3.3.变量与赋值变量与赋值 l l (1 1)变量表示法)变量表示法 用一个可赋值的代号用一个可赋值的代号“ “#i#i” ”(i=1,2,3)i=1,2,3)来代替具体的坐来代替具体的坐 标值或数据,这个代号标值或数据,这个代号
10、“ “#i#i” ” 就称为变量。就称为变量。 变量用变量符号变量用变量符号“ “# #” ”(变量的标志)和后续数值(变量(变量的标志)和后续数值(变量 的标号)来表示,如的标号)来表示,如#5#5,#21#21等,其后续数值不允许带等,其后续数值不允许带 小数点。小数点。 变量可以在宏程序体中使用,宏程序体中可以含有复杂变量可以在宏程序体中使用,宏程序体中可以含有复杂 的表达式,并完成很复杂的计算。而普通加工程序直接的表达式,并完成很复杂的计算。而普通加工程序直接 用用G G或数值编写,如或数值编写,如“ “G00 X50 Z50G00 X50 Z50” ”,而用户在编写宏程,而用户在编写
11、宏程 序时,数值可以直接指定或用变量指定,如序时,数值可以直接指定或用变量指定,如“ “G00 G00 X#1+#1F#3”X#1+#1F#3” 1515 2021/5/3 单元宏 用户宏程序编程 1616 2021/5/3 单元宏 用户宏程序编程 1717 2021/5/3 单元宏 用户宏程序编程 1818 2021/5/3 单元宏 用户宏程序编程 宏程序零件编制实例宏程序零件编制实例 l l 1.1.抛物线宏程序的应用抛物线宏程序的应用 l l 如图所示。已知前端椭如图所示。已知前端椭 圆的方程为抛物线,圆的方程为抛物线,Z=-Z=- X2/24.2X2/24.2。 l l 设设X X轴步
12、距为轴步距为0.060.06,原始,原始 毛坯为毛坯为30703070,T01T01为为 粗车刀,粗车刀,T02T02为精车刀,为精车刀, 各部分尺寸见图各部分尺寸见图1 1,试编,试编 写加工程序。写加工程序。 l l 计算抛物线线底的直径计算抛物线线底的直径 :将:将Z=20Z=20代入,的直径代入,的直径 为为22mm22mm。 1919 2021/5/3 单元宏 用户宏程序编程 方法一:调用子程序方法一:调用子程序 l O0010 l G00 X100 Z100 ; l T0101 S800 M03; l G40 X30; l G00 G42 Z2; l #60=30; 设定毛坯最大切
13、削量; l WHILE #60 GE 0.75; 判定毛坯余量是否大于0.75 l M98 P0009; 调用子程序 l #60=#60-2.4;每次切削量单边为1.2mm; l ENDW; l G00 G40 X100 Z100 ; l M05; l T0202;换2号精车刀; l G40 X30 ; l G00 G42 Z2; l G01 Z0 F0.1; l #60=0; 设定毛坯切削量为0 l M98 P0009;调用子程序 l ENDW; l G00G40 X100 Z100; l M30; 2020 2021/5/3 单元宏 用户宏程序编程 l l O0009O0009 l l #
14、1=0#1=0; l l #2=0#2=0; l l WHILE #2 LE 20;WHILE #2 LE 20;判定判定z z轴是否到终点轴是否到终点 l l #2=#1#2=#1* *#1/24.2; z#1/24.2; z轴变量轴变量 l l G01 X#1+#60Z-#2 F0.2;G01 X#1+#60Z-#2 F0.2;抛物线插补;抛物线插补; l l #1=#1+0.06#1=#1+0.06;设定;设定x x轴的步距为轴的步距为0.060.06; l l ENDW;ENDW; l l G01 W-5;G01 W-5; l l U3;U3; l l W-10;W-10; l l U
15、5;U5; l l G00 Z0;G00 Z0; l l M99;M99; 2121 2021/5/3 单元宏 用户宏程序编程 方法二方法二: :复合循环法复合循环法 l l O0110O0110 l l G00 X100 Z100; G00 X100 Z100; l l T0101 M03 S800;T0101 M03 S800; l l G00G40 X30 Z2;G00G40 X30 Z2; l l G73 U15 W0R7.0;G73 U15 W0R7.0; l l G71 P10Q20 X0.6 Z0.2 F0.2;G71 P10Q20 X0.6 Z0.2 F0.2; l l N10
16、 G00 G42 X0;N10 G00 G42 X0; l l G01 Z0 F0.1 S1000;G01 Z0 F0.1 S1000; l l #1=0;#1=0; l l #2=0;#2=0; l l WHILE #2LE 20; WHILE #2LE 20; 判定判定z z轴是否到终点轴是否到终点 ; l l #2=#1*#1/24.2; Z#2=#1*#1/24.2; Z轴变量轴变量 l l G01 X#1 Z-#2 G01 X#1 Z-#2 抛物线插补抛物线插补 l l #1=#1+0.06; #1=#1+0.06; 设定设定x x轴的步距为轴的步距为0.060.06 ; l l E
17、NDWENDW l l G01 Z-25; G01 Z-25; l l X25;X25; l l X25;X25; l l N20 Z-35;N20 Z-35; l l T0202;T0202; l l G70 P10 Q20;G70 P10 Q20; l l M30;M30; 2222 2021/5/3 单元宏 用户宏程序编程 l l 以以参数参数( (角度角度) )为初始变量为初始变量 l l 如图如图3 3,毛坯为,毛坯为30mm70mm30mm70mm的棒料,的棒料,4545号钢。编程原点设在右号钢。编程原点设在右 端面与中心轴线的交点上,椭圆原点在编程坐标系端面与中心轴线的交点上,椭
18、圆原点在编程坐标系(0(0,-20)-20)处。处。 l l l l 分析:三爪卡盘夹住左端,伸出55mm,手动车右端面,选择1号30外圆 车刀加工外轮廓。切削用量的选择:粗加工主轴转速为600r/min,进给量 为0.25mm/r,精加工主轴转速为800r/min,进给量为0.1mm。在椭圆坐标 系中,其标准方程为: ;参数方程为:X=14sin,Z=20cos。从零件图 上可以看出,椭圆轮廓的起点角度为0 ,终点角度为144(180- 36=144),所以适合采用以参数(角度)为初始变量,应用参数方程来 表达椭圆上点的坐标。编制程序如下。 O1234; T0101 M03 S600; GO
19、O X34 Z2.0; G73 U14 W0 R7; G73 P10 Q20 U1 W0.05 F0.25; N10 G00 X0.; G42 G01 Z0. F0.1; #1=0;(角度初始值) WHILE #1 LE 144 DO1; #2=14*SIN#1; #3=20*COS#1; G01 X2*#2 Z#3-20F0.1; #1=#1+0.5; END 1; G01 Z-40; X28; W-10; N20 G40 X33; M03 S800; G70 P10 Q20; G00 X150 Z150; M5; M30; 2323 2021/5/3 单元宏 用户宏程序编程 2424 20
20、21/5/3 单元宏 用户宏程序编程 2525 2021/5/3 单元宏 用户宏程序编程 l l 四、以四、以Z Z坐标为初始变量坐标为初始变量 l l 如图如图4 4,毛坯为,毛坯为30mm50mm30mm50mm的棒料,的棒料,4545号钢。编程原点设在右号钢。编程原点设在右 端面与中心轴线的交点上,椭圆原点在编程坐标系端面与中心轴线的交点上,椭圆原点在编程坐标系(0(0,-15)-15)处。处。 2626 2021/5/3 单元宏 用户宏程序编程 l l 四、以四、以Z Z坐标为初始变量坐标为初始变量 l l 如图如图4 4,毛坯为,毛坯为30mm50mm30mm50mm的棒料,的棒料,
21、4545号钢。编程原点设在右号钢。编程原点设在右 端面与中心轴线的交点上,椭圆原点在编程坐标系端面与中心轴线的交点上,椭圆原点在编程坐标系(0(0,-15)-15)处。处。 l l 编制程序如下:编制程序如下: l l O1235;O1235; l l G40 T0101 M03 S600;G40 T0101 M03 S600; l l GOO X34 Z2.0;GOO X34 Z2.0; l l G73 U14 W0 R7;G73 U14 W0 R7; l l G73 P10 Q20 U1 W0.05 F0.25;G73 P10 Q20 U1 W0.05 F0.25; l l N10 G00
22、 X0.;N10 G00 X0.; l l G42 G01 Z0. F0.1;G42 G01 Z0. F0.1; l l #1=15;(Z#1=15;(Z初始值初始值) ) l l WHILE #1 GE 0 DO1;WHILE #1 GE 0 DO1; l l #2=10*SQRT15*15-#1*#1/15; #2=10*SQRT15*15-#1*#1/15; l l G01 X2*#2 Z#1-15 F0.1;G01 X2*#2 Z#1-15 F0.1; l l #1=#1-0.1; END 1;#1=#1-0.1; END 1; l l G01 W-5; X28;G01 W-5; X2
23、8; l l Z-30;Z-30; l l N20 G40 X33; M03 S800; G70 P10 Q20;N20 G40 X33; M03 S800; G70 P10 Q20; l l G00 X150 Z150; M30;G00 X150 Z150; M30; 2727 2021/5/3 单元宏 用户宏程序编程 l lO1211O1211 2828 2021/5/3 单元宏 用户宏程序编程 如图5,毛坯为30mm80mm的棒料 ,45号钢。编程原点设在右端面与中心 轴线的交点上,椭圆原点在编程坐标系 (14.15,-22)处,椭圆轮廓位于零件中 间。 2929 2021/5/3 单元
24、宏 用户宏程序编程 l l 编制程序如下:编制程序如下: l l G00 X34 Z2.0;G00 X34 Z2.0; l l #1=10*SQRT20*20-14*14/20;#1=10*SQRT20*20-14*14/20; l l #2=2*17.5-#1; G00 X#2; #2=2*17.5-#1; G00 X#2; l l G01 Z-8 F0.1;G01 Z-8 F0.1; l l #3=14;(Z#3=14;(Z初始值初始值) ) l l WHILE #3 GE -14 DO1;WHILE #3 GE -14 DO1; l l #4=10*SQRT20*20-#3*#3/20#
25、4=10*SQRT20*20-#3*#3/20 l l G01 X2*17.15-#4 Z#3-22 F0.1;G01 X2*17.15-#4 Z#3-22 F0.1; l l #3=#3-0.1; END 1;#3=#3-0.1; END 1; l l G01 W-8;G01 W-8; l l 上例引入了上例引入了4 4个变量,变量个变量,变量#1#1和和#2#2的引入是为了表达曲线起点的引入是为了表达曲线起点 的坐标值,变量的坐标值,变量#3#3和和#4#4表达的是椭圆曲线上点的表达的是椭圆曲线上点的Z Z、X X值。值。 3030 2021/5/3 单元宏 用户宏程序编程 l l O00
26、03;O0003; l l G00 X100Z100LG00 X100Z100L l l T0101S500M03;T0101S500M03; l l G00 X75 Z2;G00 X75 Z2; l l G73 U22.5W0R10;G73 U22.5W0R10; l l G73P10Q20U0.3W0F0.2;G73P10Q20U0.3W0F0.2; l l N10 GOO X30;N10 GOO X30; l l G01 X-15;G01 X-15; l l #21=20;#22=10;#23=0;#21=20;#22=10;#23=0; l l WHILE -10LE#23 DO1WH
27、ILE -10LE#23 DO1 l l #24=20*SQRT#22*#22-#23#23/10;#24=20*SQRT#22*#22-#23#23/10; l l G01 X2*35-2*#24Z#23-15G01 X2*35-2*#24Z#23-15 l l #23=#23-0.05;#23=#23-0.05; l l END 1;END 1; l l N20 G01 Z-50;G00 X100Z100;M30;N20 G01 Z-50;G00 X100Z100;M30; 3131 2021/5/3 单元宏 用户宏程序编程 用户宏程序训练用户宏程序训练 3232 2021/5/3 单元宏
28、 用户宏程序编程 l l 有以角度为初始变量的椭圆宏程序编程有以角度为初始变量的椭圆宏程序编程; ;有以有以Z(X)Z(X)坐标为坐标为 初始变量的椭圆宏程序编程初始变量的椭圆宏程序编程; ;有的椭圆曲线轮廓位于零有的椭圆曲线轮廓位于零 件的最右件的最右( (左左) ) 端端; ;有的曲线位于零件中间部位。但不管有的曲线位于零件中间部位。但不管 是什么情况,椭圆宏程序编程都要有以下几个的要点。是什么情况,椭圆宏程序编程都要有以下几个的要点。 根据零件图中椭圆轮廓的形状和位置,选取合适的初根据零件图中椭圆轮廓的形状和位置,选取合适的初 始变量,角度始变量,角度 或或Z(X)Z(X)坐标。坐标。正
29、确表达椭圆曲线上点的正确表达椭圆曲线上点的 坐标。根据零件图上的尺寸标注,选择标准方程或参数坐标。根据零件图上的尺寸标注,选择标准方程或参数 方程表达椭圆上点的坐标。方程表达椭圆上点的坐标。找出找出( (有时需计算出有时需计算出) )椭圆椭圆 原点在原点在 编程坐标系中的坐标,正确表达椭圆上的点在编程坐标系中的坐标,正确表达椭圆上的点在 编程坐标系中的坐标。编程坐标系中的坐标。 3333 2021/5/3 单元宏 用户宏程序编程 六、六、 FANUCFANUC宏程序的调用宏程序的调用 1. 非模态调用G65: 格式: G65 Pp Ll 其中 p:要调用的程序号 L:调用次数(默认为1) 自变
30、量:数据传递到宏程序 例: G65 P8000 L2 A10. B2.; 调用2次程序号8000,经自变量A传递到宏程序 #1=10;自变量B传递到宏程序#2=2。 3434 2021/5/3 单元宏 用户宏程序编程 自变量指定 根据使用的字母,CNC系统自动地决定自变量指定的类 型。 地址不需要按字母顺序指定。但应符合字地址的格式。 但是,I,J 和K 需要按字母顺序指定。 3535 2021/5/3 单元宏 用户宏程序编程 自变量指定 根据使用的字母,系统自动决定自变量指定的类型。 自变量指定用于传递诸如三维坐标值的变量。 I,J,K 的下标用于确定自变量指定的顺序,在实际编程 中不写。
31、3636 2021/5/3 单元宏 用户宏程序编程 如果自变量指定和自变量指定混合指定的话,后指定 的自变量类型有效。 3737 2021/5/3 单元宏 用户宏程序编程 六、六、 FANUCFANUC宏程序的调用宏程序的调用 2. 模态调用(G66): G66 Pp Ll ; 程序点 G67;(取消模态) 例:G66 P8000 L2 A10. B2.; G00 G90 Z-10. X-5. G67 一旦发出G66 则指定模态调用,即指定沿移动轴移动的程 序段后调用宏程序。移动到Z-10,调用2次程序号8000,移 动到X-5,再调用2次程序号8000 。 3838 2021/5/3 单元宏
32、 用户宏程序编程 %1000;长半轴40、短半轴30的椭圆 G54 G90 G00 Z30 M03 S800 G00 X45 Y-15 ; Z3 G01 Z-5 F100 #0=0;给角度赋0初值 WHILE #0 LE 360; #1=40*COS#0*PI/180; #2=30*SIN#0*PI/180; G01 X#1 Y#2 ; #0=#0+1; ENDW X45 Y15; G00 Z30 X0 Y0 M05 M30 七、七、FANUCFANUC与华中系统用户宏程序编与华中系统用户宏程序编 程对照程对照 G54 G90 G00 Z30 M03 S800 G00 X45 Y-15 ; Z
33、3 G01 Z-5 F100 #10=0;给角度赋0初值 WHILE #10 LE 360 DO 1; #11=40*COS#10; #12=30*SIN#10; G01 X#11 Y#12 ; #10=#10+1; END 1 X45 Y15; G00 Z30 X0 Y0 M05 M30 3939 2021/5/3 单元宏 用户宏程序编程 SIEMENSSIEMENS数控系统参数编程数控系统参数编程 与FANUC类似,但功能要弱一些。变量以“R” 开始,如:R0、R1、R99。不包含系统变量,系 统变量以 “$”开头。 一、格式:Rn (n的缺省取值范围为0-99) 例如:R1 R2 R99
34、 二、运算符: 4040 2021/5/3 单元宏 用户宏程序编程 4141 2021/5/3 单元宏 用户宏程序编程 三、三、 SIEMENSSIEMENS参数编程程序跳转参数编程程序跳转 1. 无条件跳转 GOTOB LABEL (向后跳转,向程序头跳转) GOTOF LABEL (向前跳转,向程序尾跳转) 2. 条件跳转 IF 表达式 GOTOB LABEL(向后跳转,向程序头跳转) IF 表达式 GOTOF LABEL(向前跳转,向程序尾跳转) LABEL 为程序段标示符 4242 2021/5/3 单元宏 用户宏程序编程 IF R1R2 GOTOF MARKE1如果R1大于R2,那么
35、 跳跃到MARKE1 R7=(R8+R9)*743 GOTOB MARKE1 作为条件的复合表达式 IF R10 GOTOF MARK1允许确定一个变量( INT,REAL,BOOL或 CHAR)。如果变量值 为0(=FALSE),条件 就不能满足;对于所有 其他值,条件为TRUE IF R1=0 GOTOF MARKE1 IF R1=1 GOTOF MARKE2 同一程序段中的几个条 件 4343 2021/5/3 单元宏 用户宏程序编程 四、编程示例四、编程示例 4444 2021/5/3 单元宏 用户宏程序编程 G54 G90 G00 Z30 M03 S800 G00 X45 Y-15
36、; Z3 G01 Z-5 F100 R10=0;给角度赋0初值 AA: R11=40*COS(R10); R12=30*SIN(R10); G01 X=R11 Y=R12 ; R10=R10+1; IF R10= 360 GOTOB AA X45 Y15; G00 Z30 X0 Y0 M05 M30 五、五、SIEMENSSIEMENS与与FANUCFANUC用户宏程序编用户宏程序编 程对照程对照 长半轴40、短半轴30的椭圆 G54 G90 G00 Z30 M03 S800 G00 X45 Y-15 ; Z3 G01 Z-5 F100 #10=0;给角度赋0初值 WHILE #10 LE 360 DO 1; #11=40*COS#10; #12=30*SIN#10; G01 X#11 Y#12 ; #10=#10+1; END 1 X45 Y15; G00 Z30 X0 Y0 M05 M30 4545 2021/5/3