数控宏程序入门宝典:编程基础与快速进阶

一、FANUC—0M宏程序的H代码

宏程序标准格:G65 Hm P#i Q#j R#k

H代码意 义H代码意 义
H01#i=#j条件转移格式G65 H8× P程序段号码n Q#j R#k
H02#i=#j+#kH80无条件转移 GoTo n
H03#i=#j-#kH81#i=#j GoTo n
H04#i=#j×#kH82#i≠#j GoTo n
H05#i=#j÷#kH83#i>#j GoTo n
H21#i=#j^1/2H84#i<#j GoTo n
H22#i=‖j‖H85#i≥#j GoTo n
H23求余(丢弃小于1的分数)H86#i≤#j GoTo n
H26#i=(#i×#j)/#k
H27#i=(#j^2+#k^2)^1/2
H28#i=(#j^2-#k^2)^1/2
H31#i=#j×SIN #k
H32#i=#j×COS #k
H33#i=#j×TAN #k
H34#i=#j×ATAN #k

二、FANUC—18M宏程序的格式

1.变量的类型:

#0Always null(总是零)
#1-#33Local variables(局部变量)
#100-#149(#199);#500-#531(#999)Common variables(公用变量)
#1000-System variables(系统变量)
NOTE(注意):common variables #150 to #199 and #532 to #999 are optional。 (从#150到 #199 和#532到#999是可选的)


2.非模态调用宏程序:

程序的标准格式:G65 P(宏程序号) L(重复次数) <指定引数值>

注:每次调用都要重新写G65的标准格式,用后自动取消。


3.模态调用宏程序:

程序的标准格式:G66 P(宏程序号) L(重复次数) <指定引数值>

注:不用指定G66直接输入引数值。


4. 关于G65、G66中的引数赋值

⑴.引数赋值Ⅰ的地址和变量号码的对应关系:

A#1D#7H#11K#6R#18U#21X#24
B#2E#8I#4M#13S#19V#22Y#25
C#3F#9J#5Q#17T#20W#23Z#26

⑵.引数赋值Ⅱ的地址和变量号码的对应关系:


A#1I2#7I4#13I6#19I8#25I10#31
B#2J2#8J4#14J6#20J8#26J10#32
C#3K2#9K4#15K6#21K8#27K10#33
I1#4I3#10I5#16I7#22I9#28引数赋值Ⅰ、Ⅱ可以连用, 以后的为准
J1#5J3#11J5#17J7#23J9#29
K1#6K3#12K5#18K7#24K9#30


5. 关于G65、G66中的算术和逻辑运算:

数 学 意 义标准格式数 学 意 义标准格式
定 义#I=#j平 方 根#I=SQRT[#J]
加 法#I=#J+#K绝 对 值#I=ABS[#J]
减 法#I=#J-#K舍 入#I=ROUND[#J]
乘 法#I=#J*#K上 取 整#I=FIX[#J]
除 法#I=#J/#K下 取 整#I=FUP[#J]
正 弦#I=SIN[#J]自然对数#I=LN[#J]
反正弦#I=ASIN[#J]指数函数#I=EXP[#J]
余 弦#I=COS[#J]#I=#J OR #K
反余弦#I=ACOS[#J]异或#I=#J XOR #K
正 切#I=TAN[#J]#I=#J AND #K
反正切#I=ATAN[#J]
从BCD转为 BIN#I=BIN[#J] 用于与PMC信号交换从BIN转为BCD#I=BCD[#J] 用于与PMC信号交换
Remaindering (余数)#I=#J MODE #Kthe Remainder is determined指定的 after以后 the specified精确确定的values值 are是rounded四舍五入的 to integers整数。


6. G67宏程序的模态调用宏程序取消。


7.宏程序可以用 G××  <指定引数值> 的格式调用:

说明:①程序号用O9010~O9019;

②将程序号对应的参数设置为G代码的数值;

③调用的形式为:G(参数设定值) <指定引数值>。

宏程序主体号码与对应的参数号:


O90107550O90127552O90147554O90167556O90187558
O90117551O90137553O90157555O90177557O90197559


8.条件转移指令:

意 义标准格式条 件 表 达 式
⑴无条件转移指令GOTO n(程序号)
⑵有条件转移指令IF【<条件表达式>】GOTO n 意思:满足条件返回程序号为n的单节加工, 不满足条件加工后面的程序。标准格式数学意义
#i EQ #j#i=#j GoTo n
#i NE #j#i≠#j GoTo n
⑶无条件循环DO m……END m#i GT #j#i>#j GoTo n
⑷条件循环WHILE【<条件表达式>】DO m……END m(m=1.2.3…..) 意思:满足条件调用WHILE与END之间的程序 m次,WHILE与END后面的m数必须相同。#i LT #j#i<#j GoTo n
#i GE #j#i≥#j GoTo n
#i LE #j#i≤#j GoTo n


三、西门子(SIEMENS)宏程序的格式

1.计算参数R:

R0—R99 ——可以自由使用;

R100R249 ——加工循环传递参数;

R250—R299——用于加工循环传递的内部计算参数。

计算:遵循通常的数学运算规则,括号内的优先,乘除优先与加减。

如:R15=SQRT(R1*R1+R2*R2);意义:R15=(R1^2+R2^2)^1/2;

N10 Z=R3 表示为Z赋值;其余同18M。


2.条件跳跃:

⑴.标准格式:IF条件GoToF Label 向前跳跃

IF条件GoToB Label 向后跳跃


其中:标记符(Label):由2-8个字母或数字组成开始的两个字符必须是字母或下划线。

跳跃目标标记符的后面必须是冒号。

⑵.比较运算:


运算符意义
= =等于
< >不等于
>大于
<小于
> =大于或等于
< =小于或等于


3.算术:

数学意义标准格式数学意义标准格式
定 义R1=R2正切R1=TAN(R2)
加法R1=R2+R3反正切R1=ATANZ(R2)
减法R1=R2-R3平方根R1=SQRT(R2)
乘法R1=R2*R3平方R1=POT(R2)
除法R1=R2/R3舍去小数位R1=TRUNC(R2)
正弦R1=SIN(R2)舍入R1=ROUND(R2)
反正弦R1=ASIN(R2)绝对值R1=ABS(R2)
余弦R1=COS(R2)自然对数R1=LN(R2)
反余弦#I=ASCOS(R2)指数函数R1=EXP(R2)

四、西门子(SIEMENS)编程语言的格式

编程语言名称格式含义
G110(相对)、 G111(绝对)、 G112带极坐标 的移动命令G110,G111,G112,X_Y_Z_指定极点
G0 AP=_RP=_(模态)AP极角RP极半径
AC/IC绝对/增量AP=IC(70)
CIPCIP X_ Y _ Z_圆终点及中点
I1=IC(10)J1=IC(10)K1(10)三轴坐标


子程序和程序段重复
子程序调用L100子程序调用“L100.SPF”;还可用程序名调用子程序
M17子程序结束
FRAME P3表示子程序FRAME必须连续执行3次
程序段重复LABEL:跳跃目的;冒号后为目的名
REPEAT重复(两标号之间)
REPEATB重复单个程序段




免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空