宏程序标准格: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 |
| #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 | ||
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) |
| 编程语言 | 名称 | 格式 | 含义 |
| 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 | 重复单个程序段 | |
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删