宏程序常用符号和含义

合集下载

宏程序基础知识资料

宏程序基础知识资料

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

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

常量普通加工程序直接用数值指定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未定义的变量当变量值未定义时,这样的变量成为空变量。

宏程序简述

宏程序简述

EQ 等于 NE 不等于GT 大于 LT 小于GE 大于等于 LE 小于等于一变量普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0。

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

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

#1=#2+100G01 X#1 F300说明:变量的表示计算机允许使用变量名,用户宏程序不行。

变量用变量符号(#)和后面的变量号指定。

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

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

例如:#[#1+#2-12]变量的类型变量根据变量号可以分成四种类型变量号变量类型功能#0 空变量该变量总是空,没有值能赋给该变量.#1-#33 局部变量局部变量只能用在宏程序中存储数据,例如,运算结果.当断电时,局部变量被初始化为空.调用宏程序时,自变量对局部变量赋值,#100-#199#500-#999公共变量公共变量在不同的宏程序中的意义相同.当断电时,变量#100-#199初始化为空.变量#500-#999的数据保存,即使断电也不丢失.#1000 系统变量系统变量用于读和写CNC运行时各种数据的变化,例如,刀具的当前位置和补偿值.变量值的范围局部变量和公共变量可以有0值或下面范围中的值:-1047到-10-29或-10-2到-1047如果计算结果超出有效范围,则发出P/S报警NO.111.小数点的省略当在程序中定义变量值时,小数点可以省略。

例:当定义#1=123;变量#1的实际值是123.000。

变量的引用为在程序中使用变量值,指定后跟变量号的地址。

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

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

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

FANUC系统宏程式详解

FANUC系统宏程式详解

宏程序的简单调用格式:格式: G65 P 程序序号 L 重复次数变量分配变量对照表控制命令1. If [ 条件表达式 ] GOTO n2. While [ 条件表达式 ] DO mEnd m 运算符号相等:EQ 不等于: NE 大于:GT小于:LT 大于等于: GE 小于等于: LEFANUC系统宏程式FANUC系统宏程序编程一变量普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0 。

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

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

#1=#2+100G01 X#1 F300 说明:变量的表示计算机允许使用变量名,用户宏程序不行。

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

此时,表达式必须封闭在括号中例如:#[#1+#2-12]变量的类型变量根据变量号可以分成四种类型变量号变量类型功能#0空变量该变量总是空, 没有值能赋给该变量.#1-#33局部变量局部变量只能用在宏程序中存储数据,例如,运算结果.当断电时, 局部变量被初始化为空.调用宏程序时, 自变量对局部变量赋值,#100-#199 #500-#999公共变量公共变量在不同的宏程序中的意义相同.当断电时,变量#100-#199 初始化为空.变量#500-#999 的数据保存, 即使断电也不丢失.#1000系统变量系统变量用于读和写CNC运行时各种数据的变化,例如, 刀具的当前位置和补偿值.变量值的范围局部变量和公共变量可以有0 值或下面范围中的值: -1047 到-10-29 或-10-2 到-1047 如果计算结果超出有效范围,则发出P/S 报警NO.111.小数点的省略当在程序中定义变量值时,小数点可以省略。

例:当定义#1=123 ;变量#1 的实际值是123.000 。

变量的引用为在程序中使用变量值,指定后跟变量号的地址。

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

宏程序

宏程序

宏程序一、概念:含有变量的、能够根据设定数据变化而自行计算的,并运用的程序。

(一)格式:1、作为子程序的程序段。

2、作为结构化的子程序。

(用G65/G66调用)(二)分类:1、A类宏程序:调系统参数后调用即可。

2、B类宏程序:向用户开放的,自己编写的宏程序。

(三)步骤:1、工艺设计(刀具、走刀、流程)2、流程图:决定宏程序的思路,根据工艺进行设计。

二、常用指令(一)变量类型:1、局部变量:#1~#33可自由赋值,定义。

但在同一级程序中,同一个符号含义相同。

断电后初始化,清空不起作用,故称局部变量。

Ⅰ类地址宏变量Ⅰ类地址宏变量Ⅰ类地址宏变量A #1 J #5 V #22B #2 K #6 W #23C #3 M #13 X #24D #7 Q #17 Y #25E #8 R #18 Z #26F #9 S #19H #11 T #20I #4 U #21Ⅱ类地址宏变量Ⅱ类地址宏变量Ⅱ类地址宏变量A #1 J1#5 K2#9..B #2 K1#6 .......... #..........C #3 I2#7 J33#33I1#4 J2#8 K33#33使用过程中,Ⅰ类地址和Ⅱ地址可分开使用,也可以混合使用,在应用过程中,以后一个赋值为准,(即后指定的有效)CNC自动识别。

编程时I、J、K后的小数子角码不出现(CNC按顺序自动识别:I30、I50表示I1为30赋值#4,I2为50赋值于#7,即#4=30、#7=50)。

例:G65 P1000 I-3.0 I4.0 D5.0;含义为:调用O1000号子程序,其中的#4=-3.0,#7=5.0,(其中I4.0赋值#7=4.0、D5.0赋值#7=5.0,后一个有效,I4.0失效)。

2、公共变量:#100~#131、#500~#531。

在编程中,尽量避免使用公共变量,即使在不同的程序当中,同一变量含义相同,赋值也相同,在调用当中要千万小心。

3、系统变量:#2001~#2400、#11001~#12400(刀补)#4001~#4130、G、S、M等代码#5001~#5104;G54~G59等公共变量与系统变量一般都不用,重要学习的是基本Ⅰ、Ⅱ类变量的局部变量。

cnc宏程序代码大全(加工中心指令代码大全)

cnc宏程序代码大全(加工中心指令代码大全)

cnc宏程序代码大全(加工中心指令代码大全)UG编程粥2018-9-111.字母在数控程序中的意义o:程序号,设置程序号n:节目段号,设置节目序号。

g:准备功能X/Y/Z:尺寸字符,轴移动指令视听:附加轴移动指令r:圆弧半径I/J/K:圆弧中心坐标(矢量)外宾:喂,设定喂量。

s:主轴速度,设定主轴速度。

t:刀具功能,设置刀具号。

m:辅助功能,开/关控制功能H/D:刀具偏置号,设置刀具偏置号。

P/X:延迟,设置延迟时间。

p:程序号指令,设置子程序号(如子程序调用:M98P1000)L:重复,设置子程序或固定循环的重复次数(如M98 P1000 L2,L1省略L)P/W/R/Q:参数,固定周期使用的参数(如敲击G98/(G99)G84 X_ Y_ R_ Z_ P_ F_)2.通用g代码解释G00:定位或快速移动G01:线性插值G02:圆弧插补/螺旋插补CWG03:圆弧插补/螺旋插补G04:停留时间或延迟时间例如:G04 X1000(或G04 X1.0)G04 P1000表示停留1秒。

G09:准确停止检查或准确停止检查(检查是否在目标范围内)G10:可编程数据输入G17:选择XPYP平面XP: x轴或其平行轴。

G18:选择ZPXP平面的YP: Y轴或其平行轴。

G19:选择YPZP平面ZP: Z轴或其平行轴。

G20:英寸输入G21:毫米输入G28:返回参考点检测格式:G91/(G90) G28 X__ Y__ Z__通过中间点X _ _ _ _ _ Y _ _ _ _ _ Z _ _(绝对值/增量值指令)返回参考点G29:从参考点返回G91/(G90) G29 X__ Y__ Z__通过参考点从起点到目标点X__ Y__ Z__的指令(绝对值/增量值指令)。

G30返回第二、第三和第四参考点G91/(G90)G30 P2 X _ _ Y _ _ Z _ _;回到第二个参考点(P2可以省略。

)G91/(G90)G30 P3 X _ _ Y _ _ Z _ _;回到第三个参考点G91/(G90)G30 P4 X _ _ Y _ _ Z _ _;回到第四个参考点。

宏程序基本知识

宏程序基本知识

程序
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

新代系统常用小MACRO

新代系统常用小MACRO

常用简单MACRO使用G20,G21做公英制转换:G20:更改文件名为G0020,存放在C:CNC\MACRO MACRO内容:%@MACROG70;M99;G21:更改文件名为G0021,存放在C:CNC\MACRO MACRO内容:%@MACROG71;M99;全自动和半自动切换:M91:更改文件名为M0091,存放在C:CNC\MACRO MACRO内容:%@MACROWAIT();IF @11024=0THENM99;END_IF;M99P#16;配合使用PLC部分:新代系统宏程序格式1.%@MACRO起头当标题行含有关键字@MACRO时,整个档案就会以MACRO语法处理,如果该行无@MACRO时此档案就会被视为一般ISO档案格式处理,无法使用MACRO语法。

且@MACRO关键字必须是大写字母!! 2.每一行结束需加“;”3.程式最后需加M99,才能返回到主程式,当前编辑的正是主程式不用跳转的话就可以直接M30结尾4.指定变量需使用“:=”符号,不可仅用“=”符号,新代系统中等号=只是用来进行比较两值大小时所用。

对变量赋值一律使用“:=”5.档名储存需依以下原则:a)扩充G码撰写 G100 之MACRO,需将该MACRO 程序存在C:\CNC\MACRO目录底下,且文件名需为G0100,不需扩展名。

撰写 G100.1 之MACRO,需将该MACRO 程序存在C:\CNC\MACRO 目录底下,且文件名需为G100001,不需扩展名。

b)非扩充G码此时如果为主程式的话随意命名即可,如果是主程式中有调用副程式,那么例如:G65P10如上那么我们副程式需命名为O0010,保存路径为C:\CNC\NCFILES,主程式路径一样。

6.系统在执行加工时对于MACRO程式会事先预解,因此MACRO 执行速度会超前G。

Mcode指令,因此变量指定或资料读取时须与G。

Mcode指令发出时间相同时,请对变量指定或资料读取前加WAIT()指令,否则该变量指定或资料读取无法与G、MCODE同步。

宏程序编程代码

宏程序编程代码

宏程序编程代码常见宏程序符号与代码归类2.1 A类宏程序的运算和转移指令表指令 H 码功能定义 G65 H01 定义、替换 #i=#jG65 H02 加 #i=#j+#k G65 H03 减 #i=#j-#k G65 H04 乘#i=#j×#k G65 H05 除 #i=#j?#k G65 H11 逻辑或 #i=#jOR#k G65 H12 逻辑与 #i=#jAND#k G65 H13异或 #i=#jXOR#k G65 H21 平方根 # i,?# j G65 H22 绝对值 # i,|# j| G65 H23 求余 # i,# j-trunc,# j/# k,? # k G65 H24 十进制码变二进制 # i,BIN,# j,G65 H25 二进制码变十进制 # i,BCD,# j, G65 H26 复合乘/除# i,,# i × # j,?# k G65 H27 复合平方根1 # i,?# j2,# k2 G65 H28 复合平方根2 # i,?#j2-# k2 G65 H31 正弦 # i,# j ? SIN ,# k, G65 H32 余弦 # i,# j ? COS ,# k, G65 H33 正切 # i,# j ? TAN,# k, G65 H34 反正切 # i,ATAN,# j/# k, G65 H80 无条件转移 GO TO n G65 H81 条件转移1(EQ) IF # j,# k,GOTOn G65 H82 条件转移2(NE) IF # j?# k,GOTOn G65 H83 条件转移3(GT) IF # j,# k,GOTOn G65 H84 条件转移4(LT) IF # j,# k,GOTOn G65 H85 条件转移5(GE) IF # j?# k,GOTOn G65 H86 条件转移6(LE) IF # j?# k,GOTOn G65 H99 产生P/S报警 PS报警号500,n出现2.2 B类宏程序的运算和转移指令表功能格式备注与示例定义、转换 #i=#j #100=#1,#100=30.0 加#i=#j+#k #100=#1+#2#100=100.0-#2 减 #i=#j-#k#100=#1*#2 乘 #i=#j*#k#100=#1/30 除 #i=#j/#k正弦 #i=SIN[#j] #100=SIN[#1]#100=COS[#36.3+#2] 反正弦 #i=ASIN[#j]#100=ATAN[#1]/[#2] 余弦 #i=COS[#j]反余弦 #i=ACOS[#j]正切 #i=TAN[#j]反正切 #i=ATAN[#j]/[#k]平方根 #i=SQRT[#j] #100=SQRT[#1*#1-100]#100=EXP[#1] 绝对值 #i=ABS[#j]舍入 #i=ROUND[#j]上取整 #i=FIX[#j]下取整 #i=FUP[#j]自然对数 #i=LN[#j]指数函数 #i=EXP[#j]或 #i=#j OR #k 逻辑运算一位一位地按二进制执行异或 #i=#j XOR #k与 #i=#j AND #kBCD转BIN BIN #i=BIN[#j] 用于与PMC的信号交换 BIN转BCD BCD #i=BCD[#j]数控车床加工中常用的B类宏程序分析3.1 双曲线程序曲线方程编程原点曲线方程原点#1#101 为方程中Z坐标(起点Z=72)#102 为方程中X坐标(起点半径X=3.5) #103 为工件坐标系中Z坐标,#103=#101-72.0 #104 为工件坐标系中 X坐标,#104=R2*2; 精加工程序如下: O001……G00 X9.0 Z2.0; 宏程序起点 #101=72.0;#102=3.5;N100 #103=#101-72.0; 跳转目标程序段 #104=#102*2;G01 X#104 Z#103;#101=#101-0.2; Z坐标每次增量为-0.2 mm#101=36/#101+3; 变量运算出X坐标 IF[#101GE2.0] GOTO100; 有条件跳转G28 U0 W0 M303.2正弦曲线程序正弦曲线#101 为正弦曲线角度变量#102 为正弦曲线各点X坐标#103 为正弦曲线各点Z坐标O0001……#101=90.0; 正弦曲线角度赋初值 #103=-20; 曲线Z坐标赋初值N100#102=34+6*SIN[#101] 变量X坐标值 G01X#102 Z#103 F0.15; 直线段拟合曲线 #101=#101-0.5 角度增量为-0.5度 #103=#103-0.05 Z坐标增量为-0.05mmIF[#101GE-630.0]GOTO100 条件判断M303.3 椭圆曲线程序椭圆方程椭圆中点#101 为椭圆长轴值#102 为椭圆短轴值#103 为椭圆Z坐标起点O001……#101=90;#102=48;#103=90;WHILE[#103GE0.0]DO1; 条件判断 #104=#102*SQRT[#101*#101-#103*#103]/#101; X函数值变量 G01 X[2*#104] Z#103;#103=#103-0.2; Z坐标增量-0.2mmEND1;……M303.4抛物线程序抛物线方程O001……#101=0 抛物线Z轴起始值-20*#101 ,;X函数值变量 N100#102=2*SQRT,G01 X[2*#2] Z#1;Z坐标增量-0.5mm #101=#101-0.5;IF,#1GE-10,GOTO100; 条件判断……M30数控加工宏程序实例在第三章中分析了在数控车床加工中常遇到的宏程序编程方式问题,在本章将进行实例对B类宏程序的两种不同的语句(IF GOTO和WHILE DO)进行说明.程序以FAUNC-Oi系统的格式编写4.1 IF语句实例1、程序计算说明: 2由抛物线方程Z=-X/10得X=10 ,故直线段起点X坐标值X=20。

数控宏程序知识讲解,看完你也牛逼了

数控宏程序知识讲解,看完你也牛逼了

数控宏程序知识讲解,看完你也牛逼了01何为宏程序用变量的方式进行数控编程的方法就叫做数控宏程序编程。

我们普通程序(如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 ,如果后面的数字都是一样,当系统使用#1的时候,它也会发生糊涂,到底让我用哪个呢?所以为了区分它们,就把后面的数字写成不同的,比如#1,#2,#3。

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

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

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

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

03变量是多少?比如把#1,#2等变量当做的银行卡,你往这些卡里存了多钱,那么这些卡里就有多钱(比如:往#1里面存了500元,此时#1就相当于500,又取走了300此时#1里面就有200)04变量的赋值往#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算结果赋值给#605宏程序IF…GOTO语句直观意思是:如果...就跳转到哪(或者是做什么事)。

数控宏程序基本知识,看懂你也基本入门了

数控宏程序基本知识,看懂你也基本入门了

数控宏程序基本知识,看懂你也基本入门了数控宏程序编程,是用变量的方式进行一般说来,华中的数控机床用的是B类宏程序,优点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)
#1195~~#1199为系统内状态变量(可调用,不可改变)
三. 运算符与表达式
1. 算术运算符 + - x / 2. 条件运算符 EQ(=), NE(≠), GT(>) GE(≥), LT(<) , LE(≤) 3.逻辑运算符 AND,OR,NOT 4. 函数 SIN(正弦)、 COS(余弦) 、
六. 手工编椭圆程序
x2 y2 2 1 2 a b
椭圆的解析方程
y
t 椭圆的参数方程: x a b
x a cos(t ) y b sin(t )
(1)华中铣床 例1
短半轴为20mm
椭圆长半轴为40mm
%1234
WHILE #1 GE 0
#1=2*PI (角度变量 t )

G2 X20 Y10 R10 G1 Y-10 G2 X10 Y-20 R10 G1 X-10 G2 X-20 Y-10 R10 G1 Y0 G3 X-30 Y10 R10 G40 G1 X-35 Y2 Y0 #1=#1+PI/180 ENDW G0 Z50 X0 Y0 M05 M30
3华中车床 例3车床车椭圆

%4321 T0101 M03 S800 F100 G0 X10 Z10 G1 X0 Z0 #1=0 WHILE #1 LE PI/2 G01 X[#3] Z[#2] F200 #1=#1+PI/180 #2=50*COS[#1]-50 #3=40*SIN[#1] ENDW G00 语 句
格式: 宏变量 = 常数 或 表达式 赋值: 把常数或表达式的值传给一个宏变量

宏程序常用符号和含义

宏程序常用符号和含义

宏程序的常用符号和含义符号含义符号含义GT 大于 NE 不等于GE 大于或等于 ABS 绝对值LT 小于 AND 与LE 小于或等于 OR 或者EQ 等于____________________________________________________________________________________________ WHILE 当 IF 如果G0T0n 执行_段号(n为数值,需和IF同时使用)D0n执行_段号(n为数值,取值1-99。

需和WHILE同时使用)END n结束程序(n与开头n的数值对应,需和Don以及WHILE同时使用)_____________________________________________________________________________________IF[#1LT0]THEN#1=0如果#1小于0强制#1等于0宏变量的取值范围1、局部变量(#1-#33)什么叫局部变量,局部变量就是在局部或则可以理解为在单个程序中有效。

断电以后系统自动清零。

____________________________________________________________________________________________2、公共变量(#100-#199,#500-#999)而#100-#199和#500-#999的区别在于,前者断电清零,而后者不会清零会一直保存系统内部。

比如:#500=TAN[15]#500一旦赋值就将保存在系统内部,下次直接调用#500使用。

____________________________________________________________________________________________3、系统变量(#1000-#17200)系统变量是用于我们机床系统存储的一些刀补数据参数等等的东西,我们可以不用管它。

宏程序

宏程序

宏程序数控程序中含有变量的程序称为宏程序。

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

例如型腔加工宏程序和用户开发固定循环。

使用时,加工程序可用一条简单指令调出用户宏程序,和调用子程序完全一样。

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

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

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

#1=#2+100;G01 X#1 F300;说明变量的表示一般编程方法允许对变量命名,但用户宏程序不行。

变量用变量符号(#)和后面的变量号指定。

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

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

例如:#[#1+#2-12]变量的类型变量根据变量号可以分成四种类型。

变量值的范围局部变量和公共变量可以为0 值或下面范围中的值:-1047 到-10-29或10-29 到1047如果计算结果超出有效范围,则发出P/S 报警No.111小数点的省略当在程序中定义变量值时,小数点可以省略。

例:当定义#1=123;变量#1 的实际值是123.000。

变量的引用在地址后指定变量号即可引用其变量值。

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

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

例如:当系统的最小输入增量为1/1000mm 单位,指令G00X#1,并将12.3456 赋值给变量#1,实际指令值为G00X12.346;。

改变引用变量的值的符号,要把负号(—)放在#的前面。

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

例如:当变量#1 的值是0,并且变量#2 的值是空时,G00X#1 Y#2 的执行结果为G00X0;。

双轨迹(双轨迹控制)的公共变量对双轨迹控制,系统为每一轨迹都提供了单独的宏变量。

宏程序

宏程序

宏程序什么是宏程序?数控程序中含有变量的程序称为宏程序宏程序由于允许使用变量、算术和逻辑运算以及条件转移等使得编制相同的加工程序更简便。

宏程序主要用于编写二次曲线加工程序和加工类似零件以及其它特殊场合什么是变量?相对于常量而言,变量就是指可以根据用户的需要随时变化的量变量的表示方法:◆变量符号(#)+变量号如:#1 #100◆变量号可用表达式来代替表示如:#[#1+2] 表达式必须封闭在[ ] 内⏹变量的使用1、在地址符后面直接指定变量号或公式格式:<地址符>#I<地址符>-#I<地址符>[公式]例:F#1 设#1=100 则为F100Z-#2 设#2=200 则为Z-200X[#3+TAN[#4]]2、变量号可以用变量代替例:#[#10] 设#10=10 则为#103、程序号、顺序号和程序跳转号不能使用变量例:O#1 /#2 G00 X100 N#3 Z1004、地址符引用的变量号所对应的变量都有具体的数值范围例:#10=150 则M#10是不允许的5、#0为空变量,没有定义变量值的变量都是空变量6、程序定义变量值时可省略小数点例:#123=150⏹变量值的范围局部变量和公共变量可以为0或下面范围中的值-1047~-10-29或10-29~1047⏹变量的引用在地址符后指定变量号即可引用其变量值。

如:G01 X#1 F0.1当用表达式指定变量时,要把表达式放在括号中。

如:G01 X[#1+#2] F#3被引用变量的值根据地址的最小设定单位自动地舍入如:系统的最小输入增量为1/1000mm 时 #1=12.3456 当指定G01 X#1时,实际指令值为G01 X12.346引用空变量时,地址本身也被忽略变量的分类根据变量号分类系统变量系统变量用于读和写NC 内部数据,系统变量是自动控制和通用程序开发的基础。

1、接口信号接口信号是可编程机床控制器(PMC)和用户宏程序之间交换的信号。

宏程序简述

宏程序简述

EQ 等于 NE 不等于GT 大于 LT 小于GE 大于等于 LE 小于等于一变量普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0。

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

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

#1=#2+100G01 X#1 F300说明:变量的表示计算机允许使用变量名,用户宏程序不行。

变量用变量符号(#)和后面的变量号指定。

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

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

例如:#[#1+#2-12]变量的类型变量根据变量号可以分成四种类型变量号变量类型功能#0 空变量该变量总是空,没有值能赋给该变量.#1-#33 局部变量局部变量只能用在宏程序中存储数据,例如,运算结果.当断电时,局部变量被初始化为空.调用宏程序时,自变量对局部变量赋值,#100-#199#500-#999公共变量公共变量在不同的宏程序中的意义相同.当断电时,变量#100-#199初始化为空.变量#500-#999的数据保存,即使断电也不丢失.#1000 系统变量系统变量用于读和写CNC运行时各种数据的变化,例如,刀具的当前位置和补偿值.变量值的范围局部变量和公共变量可以有0值或下面范围中的值:-1047到-10-29或-10-2到-1047如果计算结果超出有效范围,则发出P/S报警NO.111.小数点的省略当在程序中定义变量值时,小数点可以省略。

例:当定义#1=123;变量#1的实际值是123.000。

变量的引用为在程序中使用变量值,指定后跟变量号的地址。

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

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

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

新代数控车床宏程序说明

新代数控车床宏程序说明

一.用户宏程序的基本概念用一组指令构成某功能,并且象子程序一样存储在存储器中,再把这些存储的功能由一个指令来代表,执行时只需写出这个代表指令,就可以执行其相应的功能。

在这里,所存储的一组指令叫做宏程序体(或用户宏程序),简称为用户宏。

其代表指令称为用户宏命令,也称作宏程序调用指令。

用户宏有以下四个主要特征:1)在用户用户宏程序中可以使用变量,即宏程序体中能含有复杂的表达式;2)能够进行变量之间的各种运算;3)可以用用户宏指令对变量进行赋值,就象许多高级语言中的带参函数或过程,实参能赋值给形参;4)容易实现程序流程的控制。

使用用户宏时的主要方便之处在于由于可以用变量代替具体数值,因而在加工同一类的工件时.只得将实际的值赋予变量既可,而不需要对每个不同的零件都编一个程序。

二.基本书写格式数控程序文档中,一般以“%”字符作为第一行的起头,该行将被视为标题行。

当标题行含有关键字“@MACRO”时整个文档就会以系统所定义的MACRO语法处理。

如果该行无“@MACRO”关键词此档案就会被视为一般ISO程序文档格式处理,此时将不能编写用户宏和使用其MACRO 语法。

而当书写ISO程序文档时标题行一般可以省略,直接书写数控程序。

“@MACRO”关键词必须是大写字母。

对于程序的注释可以采用“//……”的形式,这和高级语言C++一样。

例一:MACRO格式文档% @MACRO //用户宏程序文档,必须包含“@MACRO”关键词IF @1 = 1 THENG00 X100.;ELSEG00 Z100.;END_IF;M99;例二:ISO格式文档% 这是标题行,可当作档案用途说明,此行可有可无G00 X100.;G00 Z100.;G00 X0;G00 Z0;M99;三.用户宏程序的编写如前所述,变量是指可以在用户宏程序中的地址码后代替具体数值,在调用宏程序时进行赋值的符号#i (i=1,2,3,…)。

使用变量可以使用户宏程序具有通用性。

宏程序的基本概念

宏程序的基本概念

数控铣削宏程序编程(一)一、宏程序的基本概念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)贯穿于整个程序过程。

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

宏程序的常用符号和含义
符号含义符号含义
GT 大于 NE 不等于
GE 大于或等于 ABS 绝对值
LT 小于 AND 与
LE 小于或等于 OR 或者
EQ 等于
____________________________________________________________________________________________ WHILE 当 IF 如果
G0T0n 执行_段号(n为数值,需和IF同时使用)
D0n执行_段号(n为数值,取值1-99。

需和WHILE同时使用)
END n结束程序(n与开头n的数值对应,需和Don以及WHILE同时使用)
_____________________________________________________________________________________
IF[#1LT0]THEN#1=0
如果#1小于0强制#1等于0
宏变量的取值范围
1、局部变量(#1-#33)
什么叫局部变量,局部变量就是在局部或则可以理解为在单个程序中有效。

断电以后系统自动清零。

____________________________________________________________________________________________
2、公共变量(#100-#199,#500-#999)
而#100-#199和#500-#999的区别在于,前者断电清零,而后者不会清零会一直保存系统内部。

比如:
#500=TAN[15]
#500一旦赋值就将保存在系统内部,下次直接调用#500使用。

____________________________________________________________________________________________
3、系统变量(#1000-#17200)
系统变量是用于我们机床系统存储的一些刀补数据参数等等的东西,我们可以不用管它。

(不会用的,慎用!)
____________________________________________________________________________________________
总结:一般情况下我们写程序用#1-#33,当有子程序的时候我们用#100-#199。

常用三角函数运算
1.TAN(正切)
例如:#1=2*TAN[20]中括号里面是角度。

2.SIN(正玄)
例如:#1=3*SIN[3]中括号里面是角度。

3.COS(余玄)
例如:#1=COS[15]中括号里面是角度。

4.SQRT(数学中的开平方的意思,和数学中根号一样)
例如:#1=SQRT[9]那么计算出来#1的值等于3。

正六边形
图形 详解。

相关文档
最新文档