宏程序基础知识

合集下载

数控车床华中系统用户宏程序编程

数控车床华中系统用户宏程序编程
可以公用的,可以人工赋值。HNC-21/22T子程序嵌套调用的深度最多可以有8层,每一层子程序 都有自己独立的局部变量(变量个数为50)。
③系统变量:系统变量为#1000~#1199,它能获取包含在机床处理器或NC内存 中的只读或读/写信息,包括与机床处理器有关的交换参数、机床状态获取参 数、加工参数等系统信息
格式(ii) : IF 条件表达式 … ENDIF
.
7
5、 循环语句WHILE,ENDW
❖ 格式:WHILE 条件表达式 ❖… ❖ ENDW
.
8
6、 宏程序/子程序调用的参数传递规则
❖ G 代码在调用宏(子程序或固定循环, 下同)时,系统会将当前程序段各字 段(A~Z共26个字段,如果没有定义 则为零)的内容拷贝到宏执行时的局 部变量#0 ~ #25,同时拷贝调用宏时 当前通道九个轴(轴0~轴8)的绝对 位置(机床绝对坐标)到宏执行时的局 部变量#30 ~ #38。 ❖ 宏程序的调用格式为: ❖ M98 P(宏程序名)<变量赋值> ❖ 或G65 P(宏程序名)<变量赋值>。
.
12
用户宏程序训练
.
13
数控车削加工中公式曲线宏程序编程模板的 应用
一、公式曲线宏程序编程模板的原理和使用步骤 1、如何选定自变量 1)公式曲线中的X和Z坐标任意一个都可以被定义为自变量
2)一般选择变化范围大的一个作为自变量,如图1 ★ 3)根据表达式方便情况来确定X或Z作为自变量,如图3★
4)为了表达方便,在这里将和X坐标相关的变量设为#1、 #11、#12等,将和Z坐标相关的变量设为#2、#21、#22等。 际中变量的定义完全可根据个人习惯进行定义
❖ 分别用宏变量#1、#2代替上式中的X、Z,即得因变量#1相 对于自变量#2的宏表达式:

宏程序基础知识

宏程序基础知识

瑞鹄汽车模具有限公司内部教材第一章宏程序基础知识第一节常量与变量的含义常量与变量的含义及编程案例数控程序中含有变量的程序称为宏程序。

虽然子程序对编制相同的加工程序非常有用,但用户宏程序由于允许使用变量、算术和逻辑运算及条件转移,使得编制同样的加工程序更简便。

常量普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0。

变量使用用户宏程序时,数值可以直接指定或用变量指定。

当用变量时,变量值可用程序或用MDI面板上的操作改变。

#1=#2+100G01 X#1 F300变量用变量符号(#)和后面的变量号指定。

例如:#1表达式可以用于指定变量号。

此时,表达式必须封闭在括号中。

例如:#[#1+#2-12]变量根据变量号可以分成四种类型:1.空变量2.局部变量3.公共变量4.系统变量1.空变量:#0 该变量总是空,没有值能赋给该变量.2.局部变量:#1-#33局部变量只能用在宏程序中存储数据,例如,运算结果.当断电时,局部变量被初始化为空. 调用宏程序时,自变量对局部变量赋值.3.公共变量#100-#199 #500-#999公共变量在不同的宏程序中的意义相同.当断电时,变量#100-#199初始化为空.变量#500-#999的数据保存,即使断电也不丢失.4.系统变量:#1000以上的变量系统变量用于读和写CNC的各种数据,例如刀具补偿,当前位置信息,变量的引用为在程序中使用变量值,指定后跟变量号的地址。

当用表达式指定变量时,要把表达式放在括号中。

例如:G01X[#1+#2]F#3;被引用变量的值根据地址的最小设定单位自动地舍入。

例如:当G00X#1;以1/1000mm的单位执行时,CNC把123456赋值给变量#1,实际指令值为G00X12346.改变引用变量的值的符号,要把负号(-)放在#的前面。

例如:G00X-#1当引用未定义的变量时,变量及地址都被忽略。

例如:当变量#1的值是0,并且变量#2的值是空时,G00X#1 Y#2的执行结果为G00X0未定义的变量当变量值未定义时,这样的变量成为空变量。

宏程序入门基础学习资料

宏程序入门基础学习资料

宏程序入门基础学习资料其实说起来宏就是用公式来加工零件的,比如说椭圆,如果没有宏的话,我们要逐点算出曲线上的点,然后慢慢来用直线逼近,如果是个光洁度要求很高的工件的话,那么需要计算很多的点,可是应用了宏后,我们把椭圆公式输入到系统中然后我们给出Z坐标并且每次加10um那么宏就会自动算出X坐标并且进行切削,实际上宏在程序中主要起到的是运算作用..宏一般分为A类宏和B类宏.A类宏是以G65 Hxx P#xx Q#xx R#xx的格式输入的,而B类宏程序则是以直接的公式和语言输入的和C语言很相似在0i系统中应用比较广.由于现在B类宏程序的大量使用很多书都进行了介绍这里我就不再重复了,但在一些老系统中,比如法兰克OTD系统中由于它的MDI键盘上没有公式符号,连最简单的等于号都没有,为此如果应用B类宏程序的话就只能在计算机上编好再通过RSN-32接口传输的数控系统中,可是如果我们没有PC机和RSN-32电缆的话怎么办呢,那么只有通过A类宏程序来进行宏程序编制了,下面我介绍一下A类宏的引用;A类宏是用G65 Hxx P#xx Q#xx R#xx或G65 Hxx P#xx Qxx Rxx格式输入的xx的意思就是数值,是以um级的量输入的,比如你输入100那就是0.1MM~~~~~.#xx就是变量号,关于变量号是什么意思再不知道的的话我也就没治了,不过还是教一下吧,变量号就是把数值代入到一个固定的地址中,固定的地址就是变量,一般OTD系统中有#0~~~#100~#149~~~#500~#531关闭电源时变量#100~#149被初始化成“空”,而变量#500~#531保持数据.我们如果说#100=30那么现在#100地址内的数据就是30了,就是这么简单.好现在我来说一下H代码,大家可以看到A类宏的标准格式中#xx和xx都是数值,而G65表示使用A类宏,那么这个H就是要表示各个数值和变量号内的数值或者各个变量号内的数值与其他变量号内的数值之间要进行一个什么运算,可以说你了解了H代码A类宏程序你基本就可以应用了,好,现在说一下H代码的各个含义:以下都以#100和#101和#102,及数值10和20做为例子,应用的时候别把他们当格式就行,基本指令:H01赋值;格式:G65H01P#101Q#102:把#102内的数值赋予到#101中G65H01P#101Q#10:把10赋予到#101中H02加指令;格式G65 H02 P#101 Q#102 R#103,把#102的数值加上#103的数值赋予#101G65 H02 P#101 Q#102 R10G65 H02 P#101 Q10 R#103G65 H02 P#101 Q10 R20上面4个都是加指令的格式都是把Q后面的数值或变量号内的数值加上R后面的数值或变量号内的数值然后等于到P后面的变量号中.H03减指令;格式G65 H03 P#101 Q#102 R#103,把#102的数值减去#103的数值赋予#101G65 H03 P#101 Q#102 R10G65 H03 P#101 Q10 R#103G65 H03 P#101 Q20 R10上面4个都是减指令的格式都是把Q后面的数值或变量号内的数值减去R后面的数值或变量号内的数值然后等于到P后面的变量号中.H04乘指令;格式G65 H04 P#101 Q#102 R#103,把#102的数值乘上#103的数值赋予#101G65 H04 P#101 Q#102 R10G65 H04 P#101 Q10 R#103G65 H04 P#101 Q20 R10上面4个都是乘指令的格式都是把Q后面的数值或变量号内的数值乘上R后面的数值或变量号内的数值然后等于到P后面的变量号中.H05除指令;格式G65 H05P#101 Q#102 R#103,把#102的数值除以#103的数值赋予#101G65 H05 P#101 Q#102 R10G65 H05 P#101 Q10 R#103G65 H05 P#101 Q20 R10上面4个都是除指令格式都是把Q后面的数值或变量号内的数值除以R后面的数值或变量号内的数值然后等于到P后面的变量号中.(余数不存,除数如果为0的话会出现112报警)三角函数指令:H31 SIN正玄函数指令:格式G65 H31 P#101 Q#102 R#103;含义Q后面的#102是三角形的斜边R后面的#103内存的是角度.结果是#101=#102*SIN#103,也就是说可以直接用这个求出三角形的另一条边长.和以前的指令一样Q和R后面也可以直接写数值.H32 COS余玄函数指令:格式G65 H32 #101 Q#102 R#103;含义Q后面的#102是三角形的斜边R后面的#103内存的是角度.结果是#101=#102*COS#103,也就是说可以直接用这个求出三角形的另一条边长.和以前的指令一样Q和R后面也可以直接写数值.H33和H34本来应该是TAN 和ATAN的可是经过我使用得数并不准确,希望有知道的人能够告诉我是为什么?开平方根指令:H21;格式G65 H21 P#101 Q#102 ;意思是把#102内的数值开了平方根然后存到#101中(这个指令是非常重要的如果在车椭圆的时候没有开平方跟的指令是没可能用宏做到的.无条件转移指令:H80;格式:G65 H80 P10 ;直接跳到第10程序段有条件转移指令:H81 H82 H83 H84 H85 H86 ,分别是等于就转的H81;不等于就转的H82;小于就转的H83;大于就转的H84;小于等于就转的H85;大于等于就转的H86;格式:G65 H8x P10 Q#101 R#102;将#101内的数值和#102内的数值相比较,按上面的H8x的码带入H8x中去,如果条件符合就跳到第10程序段,如果不符合就继续执行下面的程序段.用户宏程序能完成某一功能的一系列指令像子程序那样存入存储器,用一个总指令来它们,使用时只需给出这个总指令就能执行其功能。

宏程序基础知识资料

宏程序基础知识资料

瑞鹄汽车模具有限公司内部教材第一章第一节宏程序基础知识常量与变量的含义常量与变量的含义及编程案例数控程序中含有变量的程序称为宏程序。

虽然子程序对编制相同的加工程序非常有用,但用户宏程序由于允许使用变量、算术和逻辑运算及条件转移,使得编制同样的加工程序更简便。

常量普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0。

变量使用用户宏程序时,数值可以直接指定或用变量指定。

当用变量时,变量值可用程序或用MDI面板上的操作改变。

#1=#2+100G01 X#1 F300变量用变量符号(#)和后面的变量号指定。

例如:#1表达式可以用于指定变量号。

此时,表达式必须封闭在括号中。

例如:#[#1+#2-12]变量根据变量号可以分成四种类型:1.空变量2.局部变量3.公共变量4.系统变量1.空变量:#0 该变量总是空,没有值能赋给该变量.2.局部变量:#1-#33局部变量只能用在宏程序中存储数据,例如,运算结果.当断电时,局部变量被初始化为空. 调用宏程序时,自变量对局部变量赋值.3.公共变量#100-#199 #500-#999公共变量在不同的宏程序中的意义相同.当断电时,变量#100-#199初始化为空.变量#500-#999的数据保存,即使断电也不丢失.4.系统变量:#1000以上的变量系统变量用于读和写CNC的各种数据,例如刀具补偿,当前位置信息,变量的引用为在程序中使用变量值,指定后跟变量号的地址。

当用表达式指定变量时,要把表达式放在括号中。

例如:G01X[#1+#2]F#3;被引用变量的值根据地址的最小设定单位自动地舍入。

例如:当G00X#1;以1/1000mm的单位执行时,CNC把123456赋值给变量#1,实际指令值为G00X12346.改变引用变量的值的符号,要把负号(-)放在#的前面。

例如:G00X-#1当引用未定义的变量时,变量及地址都被忽略。

例如:当变量#1的值是0,并且变量#2的值是空时,G00X#1Y#2的执行结果为G00X0未定义的变量当变量值未定义时,这样的变量成为空变量。

数控车宏程序编程方法及技巧课件

数控车宏程序编程方法及技巧课件

常见问题三:条件语句使用不当导致逻辑错误
条件语句使用不当、条件判断过于复杂、条件判断错误。
在宏程序中,条件语句可以根据条件控制程序的流程。如果条件语句使用不当,可能导致程序逻辑错误;条件判断过于复杂 ,会使程序难以理解和维护;条件判断错误,会导致程序结果不正确。
06 数控车宏程序编 程的未来发展趋 势与展望

THANKS
感谢观看
发展趋势一:智能化编程技术的普及与应用
智能化编程技术是指通过人工智能和机器学习等技术,实现数控车宏程序的自动化 和智能化。
随着技术的发展,越来越多的企业开始应用智能化编程技术,以提高生产效率和加 工质量。
未来,智能化编程技术将在数控车宏程序编程中得到广泛应用,并成为主流趋势。
发展趋势二
01
02
03
变量命名不规范、变量初始化不正确、变量值未更新。
在宏程序中,变量的使用是相当频繁的。如果变量命名不规范,可能导致程序混 乱;变量初始化不正确,将影响程序计算;变量值未更新,会导致程序结果不正 确。
常见问题二:循环嵌套过深导致程序复杂化
循环嵌套过深、循环次数过多、循环条件过于复杂。
在宏程序中,循环结构的使用可以简化编程,但过度使用循环可能导致程序复杂化。如果循环嵌套过 深,会使程序难以理解和维护;循环次数过多,会浪费程序运行时间;循环条件过于复杂,可能增加 程序出错的风险。
SELECT语句
根据不同的条件,执行不同的程序 段。
CASE语句
对多个条件进行判断,执行对应的 程序段。
宏程序中的函数与变量
函数
可以进行数学运算、逻辑运算、字符 串处理等操作。
变量
可以存储数据,作为函数参数传递等 。
04 数控车宏程序应 用实例

加工中心宏程序编程入门讲解

加工中心宏程序编程入门讲解

加工中心宏程序编程入门讲解
一、宏程序编程的概念
宏程序编程是一种编程技术,它可以让程序员在编写程序时,使用一组特定的指令来实现某些功能。

宏程序编程的优点在于,它可以让程序员在编写程序时,使用更少的代码来实现更多的功能,从而提高程序的效率。

二、宏程序编程的基本原理
宏程序编程的基本原理是,程序员可以使用一组特定的指令来实现某些功能,而不是使用更多的代码。

宏程序编程的基本原理是,程序员可以使用一组特定的指令来实现某些功能,而不是使用更多的代码。

宏程序编程的基本原理是,程序员可以使用一组特定的指令来实现某些功能,而不是使用更多的代码。

宏程序编程的基本原理是,程序员可以使用一组特定的指令来实现某些功能,而不是使用更多的代码。

三、宏程序编程的应用
宏程序编程可以应用于各种编程语言,如C、C++、Java等,它可以用来实现自动化任务,如
自动生成代码、自动检查代码格式、自动更新文件等。

此外,宏程序编程还可以用于实现更复杂的功能,如自动生成报表、自动处理数据等。

宏程序基础知识资料

宏程序基础知识资料

第一章宏程序基础知识第一节常量与变量的含义常量与变量的含义及编程案例数控程序中含有变量的程序称为宏程序。

虽然子程序对编制相同的加工程序非常有用,但用户宏程序由于允许使用变量、算术和逻辑运算及条件转移,使得编制同样的加工程序更简便。

常量普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0。

变量使用用户宏程序时,数值可以直接指定或用变量指定。

当用变量时,变量值可用程序或用MDI面板上的操作改变。

#1=#2+100G01 X#1 F300变量用变量符号(#)和后面的变量号指定。

例如:#1表达式可以用于指定变量号。

此时,表达式必须封闭在括号中。

例如:#[#1+#2-12]变量根据变量号可以分成四种类型:1.空变量2.局部变量3.公共变量4.系统变量1.空变量:#0 该变量总是空,没有值能赋给该变量.2.局部变量:#1-#33局部变量只能用在宏程序中存储数据,例如,运算结果.当断电时,局部变量被初始化为空. 调用宏程序时,自变量对局部变量赋值.3.公共变量#100-#199 #500-#999公共变量在不同的宏程序中的意义相同.当断电时,变量#100-#199初始化为空.变量#500-#999的数据保存,即使断电也不丢失.4.系统变量:#1000以上的变量系统变量用于读和写CNC的各种数据,例如刀具补偿,当前位置信息,变量的引用为在程序中使用变量值,指定后跟变量号的地址。

当用表达式指定变量时,要把表达式放在括号中。

例如:G01X[#1+#2]F#3;被引用变量的值根据地址的最小设定单位自动地舍入。

例如:当G00X#1;以1/1000mm的单位执行时,CNC把123456赋值给变量#1,实际指令值为G00X12346.改变引用变量的值的符号,要把负号(-)放在#的前面。

例如:G00X-#1当引用未定义的变量时,变量及地址都被忽略。

例如:当变量#1的值是0,并且变量#2的值是空时,G00X#1 Y#2的执行结果为G00X0未定义的变量当变量值未定义时,这样的变量成为空变量。

宏程序基本知识

宏程序基本知识

程序
G54G17G90G40
G00Z30M03S2000 定位于G54上方30mm处
X=R24Y=R25 移动刀具至圆心上方
AA:Z=-R4+1
接近工件
R4=R4+R17
指定当前加工高度
G01Z=-R4F50 下刀至加工位置
L10
调用子程序加工当前层
IF R4<R2-R17 GOTOB AA 如果当前加工深度比预定的还少一个层间距以上时,
G03I=-R8
逆时针走全圆
IF R8<R6-R5 GOTOB BB当当前偏移距离比最大走圆半径还少一个行距以上
时,继续加工
G01X=R24+R6
否则刀具移动到最大圆的走刀起点
G03I=-R6
逆时针走全圆
G00Z=-R4+0.5
提刀0.5mm
X=R24Y=R25
移动至孔的中心位置
RET
子程序结束,返回主程序
运算
控制指令
程序一般是顺序执行,使用控制指令起到控制程序流向的作用,常用的有下列三种: 1、无条件分支 格式:GOTOn 例:GOTO100,含义为程序转向N100程序段处。 2、条件分支 格式:IF[条件表达式]GOTOn 含义:若条件表达式成立,则程序转向段号为n的程序段处,否则继续执行下一句程序。 3、循环 格式:WHILE[条件表达式]DOm(m=1、2、3) ------- ENDm 含义:当条件满足时,招待WHILE与END之间的程序段,否则执行ENDm下一句程序段。
关量,电源关时不消失。 (3)系统变量(#2000~):如刀具补偿值#2000~#2200,工件偏置#5201~#5326. 3、变量的使用 在地址符(O、N、G、L、P及/除外)后接变量,如: F#1:如果#1=100.0,则表示F100 Z-#26:如果#26=3.0,则表示Z-3.0

宏程序

宏程序

数控宏程序一.什么是宏程序?什么是数控加工宏程序?简单地说,宏程序是一种具有计算能力和决策能力的数控程序。

宏程序具有如下些特点:1.使用了变量或表达式(计算能力),例如:(1)G01 X[3+5] ;有表达式3+5(2)G00 X4 F[#1] ;有变量#1(3)G01 Y[50*SIN[3]] ;有函数运算2.使用了程序流程控制(决策能力),例如:(1)IF #3 GE 9 ;有选择执行命令……ENDIF(2)WHILE #1 LT #4*5 ;有条件循环命令……ENDW二.用宏程编程有什么好处?1.宏程序引入了变量和表达式,还有函数功能,具有实时动态计算能力,可以加工非圆曲线,如抛物线、椭圆、双曲线、三角函数曲线等;2.宏程序可以完成图形一样,尺寸不同的系列零件加工;3.宏程序可以完成工艺路径一样,位置不同的系列零件加工;4.宏程序具有一定决策能力,能根据条件选择性地执行某些部分;5.使用宏程序能极大地简化编程,精简程序。

适合于复杂零件加工的编程。

一.宏变量及宏常量1.宏变量先看一段简单的程序:G00 X25.0上面的程序在X轴作一个快速定位。

其中数据25.0是固定的,引入变量后可以写成:#1=25.0 ;#1是一个变量G00 X[#1] ;#1就是一个变量宏程序中,用“#”号后面紧跟1~4位数字表示一个变量,如#1,#50,#101,……。

变量有什么用呢?变量可以用来代替程序中的数据,如尺寸、刀补号、G指令编号……,变量的使用,给程序的设计带来了极大的灵活性。

使用变量前,变量必需带有正确的值。

如#1=25G01 X[#1] ;表示G01 X25#1=-10 ;运行过程中可以随时改变#1的值G01 X[#1] ;表示G01 X-10用变量不仅可以表示坐标,还可以表示G、M、F、D、H、M、X、Y、……等各种代码后的数字。

如:#2=3G[#2] X30 ;表示G03 X30例1 使用了变量的宏子程序。

宏程序基础理论

宏程序基础理论

数控宏程序编程,是用变量的方式进行数控编程的方法。

数控宏程序分为A类和B类宏程序,其中A类宏程序比较老,编写起来也比较费时费力,B类宏程序类似于C语言的编程,编写起来也很方便。

不论是A类还B类宏程序,它们运行的效果都是一样的。

一般说来,华中的数控机床用的是B类宏程序,广州数控机床用的是A类宏程序。

优点1.可以编写一些非圆曲线,如宏程序编写椭圆,双曲线,抛物线等。

2.编写一些大批相似零件的时候,可以用宏程序编写,这样只需要改动几个数据就可以了,没有必要进行大量重复编程。

使用方法A类宏程序1)变量的定义和替换#i=#j编程格式G65 H01 P#i Q#j例G65 H01 P#101 Q1005;(#101=1005)G65 H01 P#101 Q-#112;(#101=-#112)2)加法#i=#j+#k编程格式G65 H02 P#i Q#j R#k例G65 H02 P#101 Q#102 R#103;(#101=#102+#103) 3)减法#i=#j-#k编程格式G65 H03 P#i Q#j R#k例G65 H03 P#101 Q#102 R#103;(#101=#102-#103) 4)乘法#i=#j×#k编程格式G65 H04 P#i Q#j R#k例G65 H04 P#101 Q#102 R#103;(#101=#102×#103) 5)除法#i=#j / #k编程格式G65 H05 P#i Q#j R#k例G65 H05 P#101 Q#102 R#103;(#101=#102/#103)6)平方根#i=编程格式G65 H21 P#i Q#j例G65 H21 P#101 Q#102;(#101= )7)绝对值 #i=│#j│编程格式G65 H22 P#i Q#j例G65 H22 P#101 Q#102;(#101=│#102│)8)复合平方根1 #i=编程格式G65 H27 P#i Q#j R#k例G65 H27 P#101 Q#102 R#103;( #101=9)复合平方根2 #i=编程格式G65 H28 P#i Q#j R#k例G65 H28 P#101 Q#102 R#1031)逻辑或 #i=#j OR #k编程格式G65 H11 P#i Q#j R#k例G65 H11 P#101 Q#102 R#103;(#101=#102 OR #103) 2)逻辑与 #i=#j AND #k编程格式G65 H12 P#i Q#j R#k例G65 H12 P#101 Q#102 R#103;#101=#102 AND #103 (3)三角函数指令1)正弦函数#i=#j×SIN(#k)编程格式G65 H31 P#i Q#j R#k (单位:度) .例G65 H31 P#101 Q#102 R#103;(#101=#102×SIN(#103)) 2)余弦函数#i=#j×COS(#k)编程格式G65 H32 P#i Q#j R#k (单位:度)例G65 H32 P#101 Q#102 R#103;(#101=#102×COS(#103)) 3)正切函数#i=#j×TAN#k编程格式G65 H33 P#i Q#j R#k (单位:度)例G65 H33 P#101 Q#102 R#103;(#101=#102×TAN(#103)) 4)反正切#i=ATAN(#j/#k)编程格式G65 H34 P#i Q#j R#k (单位:度,0o≤#j ≤360o) 例G65 H34 P#101 Q#102 R#103;(#101=ATAN(#102/#103)(4)控制类指令编程格式G65 H80 Pn (n为程序段号)例G65 H80 P120;(转移到N120)2)条件转移1 #j EQ #k(=)编程格式G65 H81 Pn Q#j R#k (n为程序段号)例G65 H81 P1000 Q#101 R#102当#101=#102,转移到N1000程序段;若#101≠#102,执行下一程序段。

法兰克fanuc系统编程用户宏程序教程

法兰克fanuc系统编程用户宏程序教程

法兰克Fanuc系统编程用户宏程序教程一、认识法兰克Fanuc系统法兰克Fanuc系统是数控机床领域中广泛应用的一种控制系统,其强大的编程功能为用户提供了极大的便利。

在本教程中,我们将重点介绍用户宏程序的编写与应用,帮助您更好地掌握法兰克Fanuc系统的编程技巧。

二、宏程序基础知识1. 宏程序概念宏程序是一种简化编程过程的方法,它允许用户将复杂的操作步骤封装成一个程序,以便在后续编程中重复调用。

通过使用宏程序,可以大大提高编程效率。

2. 宏程序分类法兰克Fanuc系统中的宏程序分为两类:系统宏程序和用户宏程序。

本教程主要针对用户宏程序进行讲解。

3. 宏程序编写原则(1)简洁明了:尽量使宏程序结构清晰,便于阅读和维护。

(2)通用性强:编写宏程序时,要考虑其在不同场景下的适用性。

(3)易于扩展:预留接口,方便后期对宏程序进行功能扩展。

三、用户宏程序编写步骤1. 确定宏程序功能在编写宏程序之前,要明确宏程序需要实现的功能。

例如,可以实现一个用于加工圆形轮廓的宏程序。

2. 设计宏程序结构(1)宏程序参数:定义输入输出参数,以便在不同场景下调用。

(2)宏程序主体:实现宏程序功能的代码部分。

(3)宏程序调用:在其他程序中调用宏程序。

3. 编写宏程序代码(1)宏程序参数定义:100 = 圆心X坐标101 = 圆心Y坐标102 = 半径103 = 起始角度104 = 终止角度(2)宏程序主体:200 = 100 + 102 COS[103]201 = 101 + 102 SIN[103]G01 X[200] Y[201]IF [103 LT 104] THEN103 = 103 + 1GOTO 100ENDIF(3)宏程序调用:G65 P1000 A100 B101 C102 D103 E104法兰克Fanuc系统编程用户宏程序教程五、实战演练:编写一个钻孔宏程序在这一部分,我们将通过一个具体的实例,来实践如何编写一个用于钻孔的宏程序。

宏程序的基本概念知识讲解

宏程序的基本概念知识讲解

数控铣削宏程序编程(一)一、宏程序的基本概念1、宏程序的定义以一组子程序的形式存储并带有变量的程序称为用户宏程序,简称宏程序;调用宏程序的指令称为“用户宏程序指令”,或宏程序调用指令(简称宏指令)。

宏程序与普通程序相比较,普通的程序字为常量,一个程序只能描述一个几何形状,所以缺乏灵活性和适用性。

而在用户宏程序的本体中,可以使用变量进行编程,还可以用宏指令对这些变量进行赋值、运算等处理。

通过使用宏程序能执行一些有规律变化(如非圆二次曲线轮廓)的动作。

宏程序分A类和B类两种,FANUCi系统采用B类宏程序进行编程。

2、宏程序中的变量在常规的主程序和子程序内,总是将一个具体的数值赋给一个地址,为了使程序更加具有通用性、灵活性,故在宏程序中设置了变量。

1)、变量的表示:一个变量由符号“#”和变量序号组成,如:#I(I=1,2,……)。

此外,变量还可以用表达式进行表示,但其表达式必须全部写入方括号“[]”中。

例:#100,#500,#5,#[#1+#2+#10];2)、变量的引用:将跟随在地址符后的数值用变量来代替的过程称为引用变量。

同样,引用变量也可以用表达式。

例G01X#100 Y—#101F[#101+#103];当#100=100.0、#101=50.0、#103=80.0时,上例即表示为G01 X100.0 Y50.0 F130;3)、变量的种类:变量分为局部变量、公共变量(全局变量)和系统变量三种。

在A、B类宏程序中,其分类均相同。

A、局部变量(#1~#33)是在宏程序中局部使用的变量。

当宏程序C调用宏程序D而且都有变量#1时,由于变量#1服务于不同的局部,所以C中的#1与D中的#1不是同一个变量,因此可以赋予不同得不偿失值,且互不影响。

关闭电源时,局部变量被初始化成“空”。

宏调用时,自变量分配给局部变量。

B、公共变量(#100~#149/#199;#500~#549/#599)贯穿于整个程序过程。

FANUC宏程序基础篇

FANUC宏程序基础篇

FANUC宏程序基础篇吐槽愉快东北这两天真是冷到,⼤爷⼤妈都认不出来了!这两天齐齐哈尔的最低温度-32°C,体感温度竟然达到了-39°C,真是三九不南⾛,四九冻成狗啊!⼀、宏程序的概述虽然⼦程序对⼀个重复操作很有⽤,但若使⽤⽤户宏程序功能,则还可以使⽤变量、运算指令以及条件转移,使⼀般程序(如型腔加⼯和⽤户⾃定义的固定循环等)的编写变得更加容易。

加⼯程序可以⽤⼀个简单的指令调⽤⽤户宏程序,就像调⽤⼦程序⼀样。

普通的加⼯程序直接⽤数值指定G 代码和移动量,例如G00 X100.0。

使⽤⽤户宏程序时,除了可直接指定数值外,还可以指定变量号,可通过程序或MDI ⾯板上操作来改变该数值。

例如:①#1=#2+100 ;②G01 X#1 F300 ;⼆、变量的表达⽅式当指定⼀个变量时,在符号“#”的后⾯指定变量号。

#i (i=1,2,3,4,.....)[例]#5#109#1005或者使⽤后⾯将要叙述的“运算指令”项⽬中的<表达式>,按照如下⽅式表达#[<表达式>][例]#[#100]#[#1001-1]#[#6/2]三、变量的引⽤可以⽤变量指定紧接地址之后的数值。

如果编制⼀个<地址>#i 或<地址>‐#i 的程序,则意味着原样使⽤变量值,或者将其补码作为该地址的指令值。

[例] 当F#33、#33=1.5 时,与指定了F1.5 时的情形相同。

当Z-#18、#18=20.0 时,与指定了Z-20.0 时的情形相同。

当G#130、#130=3.0 时,与指定了G3 时的情形相同。

四、注意事项1、不可引⽤地址/、:、O 和N 中的变量。

[例] 不可编制诸如O#27、N#1 或N[#1]的程序。

2、不可将可选程序段跳过/n 的n(n=1~9)作为变量来使⽤。

不能直接⽤变量来指定变量号。

[例] ⽤#30 来替换#5 的5 时,代之以指定##30,指定#[#30]。

3、不能指定超过每个地址中所确定的最⼤指令值的值。

数控宏程序入门知识讲解

数控宏程序入门知识讲解

数控宏程序入门知识讲解1,何为宏程序?用变量的方式进行数控编程的方法就叫做数控宏程序编程。

我们普通程序(如G01X100.Y100.F200)X,Y地址后面都是些常量,如果我们把这些常量用变量来编写如G01X#1 Y#2 F200,这就是我们所谓的宏程序。

备注*:FUNC系统是用#1,#2等等来表示变量的。

机床系统不同表示的方式也不同,在这以FUNC系统为例)FUNC系统是用#1,#2等等来表示变量的。

即“#”和“数字”组成的。

如#1,#2……#33等。

这些#后面的数子1,2,3等等有什么含义吗?其实它只是宏变量的代号而已。

举个最简单的例子:如果有三个人,他们的名字都叫小李。

那么当你呼叫小李的时候,会发生一个问题,这三个人都会回答,但你其实只想喊其中的一个。

这就分不清了。

同理,#1 ,如果后面的数字都是一样,当系统使用#1的时候,它也会发生糊涂,到底让我用哪个呢?所以为了区分它们,就把后面的数字写成不同的,比如#1,#2,#3。

此时如果系统使用#1,就不会发生混乱了。

2,何为变量?,变量是一个会变化的量,与之对应的是常量。

(常量比如:1,2,22,65等等阿拉伯数字。

变量比如:#1,#2,#5等等,#1,#2的值到底是多少?因为它是变量,一个会变化量)。

3,变量是多少?比如把#1,#2等变量当做的银行卡,你往这些卡里存了多钱,那么这些卡里就有多钱(比如:往#1里面存了500元,此时#1就相当于500,又取走了300此时#1里面就有200)。

4,变量的赋值往#1里面存了500元等这么一个过程就叫变量赋值。

如果你不在往“#1“里面存钱,或取钱,那么#1就相当于500.也就是说#1不发生运算的情况下就是500.如果有这么一个程序段G0X#1,也就等同于此程序段G0X500.那么变量在数控机床中是怎么赋值的呢?,格式如下:(机床中的赋值中文解释备注)#5=100把100这个数值赋给变量#5把常量赋给了#5#1=#1-1把#1-1这个运算结果赋值给#1把表达式结果赋值给了#1#6= [#11 #15 3]把[#11 #15 3]这个表达式的运算结果赋值给#6把表达式结果赋值给了#65,宏程序IF…GOTO语句直观意思是:如果...就跳转到哪(或者是做什么事)。

宏程序基础

宏程序基础

第一章宏程序的基础1.1概述一、宏程序的分类首先我们来讲一下宏程序的分类,A类和B类.首先在数控车系统比较老的时候,我们系统里面有A类宏,A类宏格式为G65格式,现在已经基本淘汰。

随着科技发达,系统的升级优化,现在的数控系统大多支持B类宏程序,总体而言,现在B类宏是一个主流发展趋势,所以接下来我们的实例讲解都以B类宏程序为例.二、宏程序的概念简单来理解宏程序是什么?可以这样理解,宏程序就是利用数学公式,函数等计算方式,配合数控系统中的G代码编制出的一种程序,主要加工一些像椭圆,曲线,各类大螺距螺纹和刀具路线相识的一些零件。

随着科技发达,像椭圆,抛物线,等线性零件,用软件或则系统自代G代码可以完成加工,而大螺距异型螺纹这类零件,软件还没达到成熟,所以我们学会宏程序在加工中可以起到一个非常大的作用。

可以弥补多年来数控车对大螺距螺纹的编程难的一个提高。

三、宏程序的特征1.赋值在宏程序中我们通常用法最多的就是变量,比如:#1=1 它就是一个变量.我们把这一过程,称为赋值.也就是说,我们把等号后面的数值1,赋值给#1。

而现在#1的值就等于1,也可以理解为#1就是一个代号,用来代替数值1。

2.变量和应用比如:#1=2(把数值2赋值给#1)#2=1(把数值1赋值给#2)#2=#1(程序从上往下执行,思考一下现在#2的值等于多少?)解:当程序执行第一步的时候#1的值等于2,当执行第二步的时候#2的值等于1,当执行第三步的时候这里要注意了,刚才讲过赋值过程,是等号后面的值赋值给等号前面,所以当#1在第一步赋值以后,#1已经等于2了,所以在执行第三步的时候#2的值应该等于2,不在是第二步的1了.从这里我们可以看出,当程序中有相同的变量#的时候,后面的#号代替前面的#号。

比如:#1=2#1=3最后结果#1的值因该是等于3的。

所以说后面的代替前面的.四、变量的取值范围1.局部变量(#1-#33)什么叫局部变量,局部变量就是在局部或则可以理解为在单个程序中有效。

项目五宏程序基本知识.

项目五宏程序基本知识.
任务二 宏程序的基本知识
1.用户宏程序概念
一组以子程序的形式存储并带有变量的程序称为用户宏程序,简称宏程 序;调用宏程序的指令称为“用户宏程序指令”或宏程序调用指令(简称 宏指令)。 宏程序与普通程序相比较,普通程序的程序字为常量,一个程序只能描 述一个几何形状,所以缺乏灵活性和适用性。而在用户宏程序的本体中, 可以使用变量进行编程,还可以用宏指令对这些变量进行赋值、运算等处 理。通过使用宏程序能执行一些有规律变化(如非圆二次曲线轮廓)的动 作。 用户宏程序分为A、B两类,FANUC 0i系统则采用B类宏程序
#i LT #j
#i LE #j
小于(< )
小于等于(≤)
IF [#5 LT #6] GOTO 20
IF [#5 LE #6] GOTO 20
任务二 宏程序的基本知识
(3)循环语句 格式:WHILE [条件表达式] DO m;(m=1、2、3)
„„
END m; 当条件满足时,就循环执行WHILE与END之间的程序段;当条件不满足时,就执行END m的下一个程序段。DO和END后的m是指定程序执行范围的标号。 例如:下面的程序计算数值1到10的总和。 O0001; #1=0; #2=1; WHILE [#2 LE 10] DO 1; #1=#1+#2; #2=#2+1; END 1;
任务二 宏程序的基本知识
例:如图所示,用宏程序在指定位置切槽。 (却图) 调用宏程序的主程序: O0003; G50 X100.0 Z200.0; S1000 M03; G66 P9110 U5.0 F0.5; U表示槽深,F槽加工的进给速度
G00 X60.0 Z80.0;
Z50.0; Z30.0; G67;

宏程序基础知识

宏程序基础知识

宏程序基础知识针对目前很多同行兄弟对宏程序不了解,本人按照自己的经验,循序渐进的引导大家去揭开宏程序的真实面目。

当然,想通过我这篇文章完全掌握宏那是不可能的,因为这需要你实际去多应用,才可能掌握的。

所以如果你想一步到位,那可以关闭本文了,本文没有这功效,如果你还有一点想法,那就开始吧,一步一步告诉你怎么样去编辑和应用宏程序:1相对编程O0001G0 X0 Z0G1 U1 W1 G98 F100M30定位到X0 Z0位置后,X/Z轴均相对插补1,终点坐标为X1 Z1,程序结束。

2相对编程重复执行同样的程序段O0002G0 X0 Z0G1 U1 W1 G98 F100U1 W1M30定位到X0 Z0位置后,X/Z轴相对插补1后,再相对插补1,终点坐标为X2 Z2,程序结束。

3调用子程序重复执行同样的程序段O0003(程序1)G0 X0 Z0N10 G1 U1 W1 G98 F100M99 P10M30定位到X0 Z0位置后,X/Z轴相对插补1后,下一段为强制返回N10段,所以再相对插补1,然后又强制返回,所以本程序将一直插补,不能结束。

O0004(程序2)G0 X0 Z0N10 G1 U1 W1 G98 F100IF #5041=10 GOTO 20(当X轴坐标=20,跳到N20段,如果不等于20,顺序执行)M99 P10N20 M30本程序与O0003程序的区别是在M99强制返回前加了一段判断语句,该判断句的意思是如果#5041=10(#5041是一个系统宏变量,表示当前X轴坐标,不同系统处理可能不同,这里仅做示例),则跳到N20段执行,如果不等于10,则顺序执行。

从程序中可以看出:第一次插补后,X轴坐标为1,不符合该判断条件,所以顺序执行下一段M99 P10,此段又将程序返回到插补段执行,执行完为X2,也不符合条件,就这样重复执行插补,直到X轴插到10,则符合条件,跳到N20段执行,结束程序,终点坐标为X10 Z10。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

瑞鹄汽车模具有限公司内部教材第一章宏程序基础知识第一节常量与变量的含义常量与变量的含义及编程案例数控程序中含有变量的程序称为宏程序。

虽然子程序对编制相同的加工程序非常有用,但用户宏程序由于允许使用变量、算术和逻辑运算及条件转移,使得编制同样的加工程序更简便。

常量普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0。

变量使用用户宏程序时,数值可以直接指定或用变量指定。

当用变量时,变量值可用程序或用MDI面板上的操作改变。

#1=#2+100G01 X#1 F300变量用变量符号(#)和后面的变量号指定。

例如:#1表达式可以用于指定变量号。

此时,表达式必须封闭在括号中。

例如:#[#1+#2-12]变量根据变量号可以分成四种类型:1.空变量2.局部变量3.公共变量4.系统变量1.空变量:#0 该变量总是空,没有值能赋给该变量.2.局部变量:#1-#33局部变量只能用在宏程序中存储数据,例如,运算结果.当断电时,局部变量被初始化为空. 调用宏程序时,自变量对局部变量赋值.3.公共变量#100-#199 #500-#999公共变量在不同的宏程序中的意义相同.当断电时,变量#100-#199初始化为空.变量#500-#999的数据保存,即使断电也不丢失.4.系统变量:#1000以上的变量系统变量用于读和写CNC的各种数据,例如刀具补偿,当前位置信息,变量的引用为在程序中使用变量值,指定后跟变量号的地址。

当用表达式指定变量时,要把表达式放在括号中。

例如:G01X[#1+#2]F#3;被引用变量的值根据地址的最小设定单位自动地舍入。

例如:当G00X#1;以1/1000mm的单位执行时,CNC把123456赋值给变量#1,实际指令值为G00X12346.改变引用变量的值的符号,要把负号(-)放在#的前面。

例如:G00X-#1当引用未定义的变量时,变量及地址都被忽略。

例如:当变量#1的值是0,并且变量#2的值是空时,G00X#1 Y#2的执行结果为G00X0未定义的变量当变量值未定义时,这样的变量成为空变量。

变量#0总是空变量。

它不能写,只能读。

当#1= (空)时G90 X100 Y#1实际与 G90 X100运行结果一样当#1=0 时G90 X100 Y#1实际与 G90 X100 Y0 运行结果一样运算除了用<空>赋值以外,其余情况下<空>与0 相同。

限制程序号,顺序号和任选程序段跳转号不能使用变量。

例:下面情况不能使用变量:○#1;错误使用方法/#2G00X100.0; 错误使用方法N#3Y200.0; 错误使用方法系统变量系统变量能用来读写内部NC数据,如刀具补偿值和当前位置数据。

然而,注意:有些系统变量是只读变量。

对于扩展自动化操作和一般的程序,系统变量是必须的。

刀具补偿值:使用这类系统变量可以读写刀具补偿值。

可用的变量数取决于能使用的补偿对数,当补偿对数不大于200时,可以用变量#2001~#2400。

用于刀具补偿内存A的系统变量补偿号系统变量1 : 200 #10001(#2001):#10200(#2200)用于刀具补偿内存B的系统变量补偿号几何补偿磨损补偿1 : #11001(#2201):#10001(#2001):200#11200(#2400)#10200(#2200)宏报警:用于宏报警的系统变量:变量号功能#3000 当#3000中有0~99间的某一值时,NC停止并显示报警信息。

报警信息不超过26个字符,例:#3000=1(TOOL NOT FOUND);报警屏幕显示“3001 TOOL NOT FOUND。

”时间信息:时间信息可以读写。

用于时间信息的系统变量:变量号功能#3001 这个变量是一个以1毫秒为增量一直记数的记时器,上电或达到65535毫秒时复值为0。

#3002 这个变量是一个以1小时为增量、当循环启动灯亮时记数的记时器,电源关闭后记时器值依然保持,达到1145324.612小时时复值为0。

#3011 这个变量用于读当前年/月/日数据,该数据以十进制数显示。

例:March 28,1993表示成19930328。

#3012 这个变量用于读当前时/分/秒数据,该数据以十进制数显示。

例:下午3点34分56秒表示成153456。

自动操作控制:自动操作的控制状态可以改变。

自动操作控制的系统变量#3003#3003单段辅助功能的完成使能要等待1无效要等待2使能不要等待3无效不要等待☆上电时该变量值为0。

☆当不能执行单段停止时,单段停止操作不能执行,即使单段开关有效。

☆当没有指定是否等待辅助功能(M、S、T)完成时,在辅助功能完成之前,程序执行到下一段,定位完成信号DEN不发出。

自动操作控制的系统变量#3004#3004进给保持进给倍率精确停止使能使能使能1无效使能使能2使能无效使能3无效无效使能4使能使能无效5无效使能无效6使能无效无效7无效无效无效☆上电时该变量值为0。

☆当不能执行进给保持时:进给保持按钮按下并保持时,机床以单段停止方式停止,但单段方式若因变量#3003而无效时,不执行单段停止操作。

进给保持按钮按下又释放时,进给保持灯亮,但机床不停止;程序继续进行,机床停在最先含有进给保持使能的段。

☆当进给倍率无效时,倍率定在100%,忽略机床操作面板上的倍率开关。

☆当精确停止无效时不执行精确停止检查(定位检查),即使是包含有不执行切削的段。

☆例如G84攻丝循环时进给速度,转速,单段操作都无效,其内部程序就指定了#3003=3 #3004=7模态信息:表中指定的模信息可以读出。

见下表:变量号功能#4001G00,G01,G02,G03,G33 (01组)#4002G17,G18,G19 (02组)#4003G90,G91 (03组)#4004(04组)#4005G94,G95 (05组)#4006G20,G21 (06组)#4007G40,G41,G42 (07组)#4008G43,G44,G49 (08组)#4009G73,G74,G76,G80~G89 (09组)#4010G98,G99 (10组)#4011G50,G51 (11组)#4012G65,G66,G67 (12组)#4014 G54~G59(14组)#4015 G61~G64(15组)#4016G68,G69 (16组)::#4022(22组)#4102B码#4107D码#4109F码#4111H码#4113M码#4114顺序号#4115程序号#4119S码#4120T码例:当执行#1=#4001时,#1=0,1,2,3或33当前位置:位置信息变量不能写只能读。

见下表:变量号位置信息坐标系刀具补偿值移动期间的读操作#5001~#5004段结束点工件坐标系不包括使能#5021~#5024当前位置机床坐标系包括无效#5041~#5044当前位置工件坐标系#5061~#5064跳段信号位置使能#5081~#5084刀偏值无效#5101~#5104偏差的伺服位置☆首位数(从1~ 4)分别代表轴号,数1代表X轴,数2代表Y轴,数3代表Z轴,数4代表第四轴。

☆执行当前的刀偏值,而不是立即执行保持在变量#5081~#5088里的值。

☆在含有G31(跳段)的段中发出跳段信号时,刀具的位置保持在变量#5061~#5068里,如果不发出跳段信号,指定段的结束点位置保持在这些变量中。

☆移动期间读变量无效时,表示由于缓冲(准备)区忙,所希望的值不能读。

工件坐标系补偿值(工件零点偏置值):工件零点偏置值变量可以读写,见下表:变量号功能#5201~#5204第一轴外部工件零点偏置值~第四轴外部工件零点偏置值#5221~#5224第一轴G54工件零点偏置值~第四轴G54工件零点偏置值#5241~#5244第一轴G55工件零点偏置值~第四轴G55工件零点偏置值#5261~#5264第一轴G56工件零点偏置值~第四轴G56工件零点偏置值#5281~#5284第一轴G57工件零点偏置值~第四轴G57工件零点偏置值#5301~#5304第一轴G58工件零点偏置值~第四轴G58工件零点偏置值#5321~#5324第一轴G59工件零点偏置值~第四轴G59工件零点偏置值#7001~#7004第一轴工件零点偏置值(G54P1)~第四轴工件零点偏置值#7021~#7024第一轴工件零点偏置值(G54P2)~第四轴工件零点偏置值:#7941~#7944第一轴工件零点偏置值(G54P48)~第四轴工件零点偏置值注:对于工件坐标系,变量#5201~#5328是可选变量。

算术和逻辑操作对于附加的48工件坐标系,变量#7001~#7948(G54P1~G54P48)是可选变量。

在下表中列出的操作可以用变量进行。

操作符右边的表达式,可以含有常数和(/或)由一个功能块或操作符组成的变量。

表达式中的变量#J和#K可以用常数替换。

左边的变量也可以用表达式替换。

见下表:功能格式注释赋值#i=#j加#i=#j+#k减#i=#j—#k乘#i=#j*#k除#i=#j/#k正弦#i=SIN[#j] 角度以度为单位,如:90度30分表示余弦#i=COS[#j]成90.5度正切#i=TAN[#j]反正切#i=ATAN[#j]平方根#i=SQRT[#j]绝对值#i=ABS[#j]进位#i=ROUND[#j]下进位#i=FIX[#j]上进位#i=FUP[#j]OR(或)#i=#jOR#k 用二进制数按位进行逻辑操作。

XOR(异或)#i=#jXOR#kAND(与)#i=#jAND#k将BCD码转换成BIN码#i=BIN[#j] 用于与PMC间信号的交换。

将BIN码转换成BCD码#i=BCD[#j]角度单位:在SIN,COS,TAN,ATAN中所用的角度单位是度。

ATAN功能:在ATANT之后的两个变量用“/”分开,结果在0°和360°之间。

例:当#1=ATANT[1]/[—1]时,#1=135.0ROUND功能:☆当ROUND功能包含在算术或逻辑操作、IF语句、WHILE语句中时,将保留小数点后一位,其余位进行四舍五入。

例:#1=ROUND[#2];其中#2=1.2345,则#1=1.0☆当ROUND出现在NC语句地址中时,进位功能根据地址的最小输入增量四舍五入指定的值。

例:编一个程序,根据变量#1、#2的值进行切削,然后返回到初始点。

假定增量系统是1/1000mm,#1=1.2345,#2=2.3456则G00 G91 X—#1;移动1.235mmG01 X—#2 F300;移动2.346mmG00 X[#1+#2];因为1.2345+2.3456=3.5801移动3.580mm,不能返回到初始位置。

相关文档
最新文档