一、FANUC—0M宏程序的H代码宏程序标准格:G65 Hm P#i Q#j R#k,今天小编就来聊一聊关于西门子有宏程序吗?接下来我们就一起去研究一下吧!

西门子有宏程序吗(西门子宏程序入门基础)

西门子有宏程序吗

一、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重复单个程序段
,