西门子有宏程序吗(西门子宏程序入门基础)
一、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+#k | H80 | 无条件转移 GoTo n |
H03 | #i=#j-#k | H81 | #i=#j GoTo n |
H04 | #i=#j×#k | H82 | #i≠#j GoTo n |
H05 | #i=#j÷#k | H83 | #i>#j GoTo n |
H21 | #i=#j^1/2 | H84 | #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.变量的类型:
#0 | Always null(总是零) |
#1-#33 | Local 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 | #1 | D | #7 | H | #11 | K | #6 | R | #18 | U | #21 | X | #24 |
B | #2 | E | #8 | I | #4 | M | #13 | S | #19 | V | #22 | Y | #25 |
C | #3 | F | #9 | J | #5 | Q | #17 | T | #20 | W | #23 | Z | #26 |
⑵.引数赋值Ⅱ的地址和变量号码的对应关系:
A | #1 | I2 | #7 | I4 | #13 | I6 | #19 | I8 | #25 | I10 | #31 |
B | #2 | J2 | #8 | J4 | #14 | J6 | #20 | J8 | #26 | J10 | #32 |
C | #3 | K2 | #9 | K4 | #15 | K6 | #21 | K8 | #27 | K10 | #33 |
I1 | #4 | I3 | #10 | I5 | #16 | I7 | #22 | I9 | #28 | 引数赋值Ⅰ、Ⅱ可以连用,以后的为准 | |
J1 | #5 | J3 | #11 | J5 | #17 | J7 | #23 | J9 | #29 | ||
K1 | #6 | K3 | #12 | K5 | #18 | K7 | #24 | K9 | #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 #K | the Remainder is determined指定的 after以后 the specified精确确定的values值 are是rounded四舍五入的 to integers整数。 |
6. G67宏程序的模态调用宏程序取消。
7.宏程序可以用 G×× <指定引数值> 的格式调用:
说明:①程序号用O9010~O9019;
②将程序号对应的参数设置为G代码的数值;
③调用的形式为:G(参数设定值) <指定引数值>。
宏程序主体号码与对应的参数号:
O9010 | 7550 | O9012 | 7552 | O9014 | 7554 | O9016 | 7556 | O9018 | 7558 |
O9011 | 7551 | O9013 | 7553 | O9015 | 7555 | O9017 | 7557 | O9019 | 7559 |
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) | |
CIP | CIP X_ Y _ Z_ | 圆终点及中点 | |
I1=IC(10)J1=IC(10)K1(10) | 三轴坐标 |
子程序和程序段重复 | ||
子程序调用 | L100 | 子程序调用“L100.SPF”;还可用程序名调用子程序 |
M17 | 子程序结束 | |
FRAME P3 | 表示子程序FRAME必须连续执行3次 | |
程序段重复 | LABEL: | 跳跃目的;冒号后为目的名 |
REPEAT | 重复(两标号之间) | |
REPEATB | 重复单个程序段 |
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com