法兰克机床宏程序中应用.doc
80页1 -法法兰兰克克机机床床宏宏程程序序中中应应用用假设变量#1=5 则 G01 X#1 等同于 GO1 X5,另假设#I=#J 变量中的加法#I=#J+#K 假设#I=1 #J=2 #K=3 则此时#I=5 减法#I=#J-#K 乘法#I=#J*#K 除法#I=#J/#K 正弦#I=SIN[#J]反正弦#I=ASIN[#H] 余弦#I=COS[#J]反余弦#I=ASIN[#J] 正切#I=TAN[#J]反正切#I=ATAN[#J]/[#K] 平方根#I=SQRT[#J] 绝对值#I=ABS[#J] 上取整#I=FIX[#J] 下取整#I=FUP[#J] 逻辑中 与#I AND #J 或#I OR #J 异#I XOR #J上取整为去掉小数,下取整为把小数进位,即是 0.001 也进位.如果数值为负则不管负号 ,以正数为 取整方法.正弦为对边比斜边.正切为对边比邻边. 运算中先做括号内的在做三角函数在做乘除法在做加减法 . 逻辑运算 AND 与 有 0 得 0 如 1*1=1 1*0=0 0*0=0 OR 或 有 1 得 1 如 1+1=1 1+0=1 0+0=0 XOR 异 相同得 0,不同得 1 1-1=0 1-0=1 0-0=0 0-1=1[#0 到#33 局部变量] [#100 到#199 公共变量] [#500 到#999 公共变量] [#1000 到最大 系统变量] 局部变量为自己用.公共变量为机床与自己共用 .但不能占用机床中的公共变量 . EQ 代表= NE 代表不等于号 GT 代表> GE 代表≥ LT 代表] GOTO n 表示如果指定条件表达式满足 ,则转移到标有顺序号 n 的程序段 如果不满足指定的条件表达式 ,则顺序执行下个程序段 .如果变量#1 的值大于 100 则转移到顺序 号为 n99 的程序段. 例如:N001IF [#1GT100] GOTO 99 N002 N003 . N099 表示为,当#1>100 时,就转移到第 n099 行,如果不满足就执行第 n002 行.- 2 -IF[(条件表达式)]THEN 如果指的条件表达式满足则执行已 预先指定的宏程序语句 ,而且只能执行一个宏程序语句. 即: IF[#1EQ#2] THEN#3=10 如果#1 和#2 的值相同,把 10 赋值给#3 ,就是在 THEN 后面只能做一次赋 值运算. 例: 求 1 到 100 的和数 O O8000 #1=0 存储和数变量的初值 #2=1 被加数的初值 N5 IF[#2GT100]GOTON99 当被加数大于 100 时,转移到 n99 #1=#1+#2 计算和数 #2=#2+1 下个被加数 GOTO 5 转到 n5 N99 M30 程序结束在 WHILE 后指定一个条件表达式 , 当指定条件满足时,则执行从下一句到 END M 之间的程序段,否则,转到 END 之后的程序段. 即: WHILE[条件表达式] DO GOTO M 如果条件满足则执行下行程序 ,如果不满足则执行 M 段后的 程序段.. . . END M . .在一个程序里面可以多次重复使用这个 命令,可以套用此命令,但不能交错着使用命令格式 ,必须 第一个 DO 到 END 执行完后在重新执行 DO 到 END. WHILE[条件表达式] DO 1. WHILE[条件表达式] DO 2. . END 2 . END 1 . WHILE[条件表达式] DO 3 程序END 3 .- 3 -以下格式方法可以解决 WHILE 中的死循环,但在 IF 格式中不能套用 WHILE 格式. WHILE[条件表达式] DO 1 IF[条件表达式] GOTO n. END 1 . . n . .宏程序的非模态调用 格式: G65 P L 任何变量前面必须有 G65. P 要调用的程序号,此程序号为宏程序的程序号 L 重复次数,取值范围为 1 到 9999 例: O O0110 为一个主程序.O O9110 为一个宏程序.O O0110 . . . G65 P9110 L2 A1.0B2.0 . . . M30 O O9110 #3=#1+#2 IF[#3GE180]GOTO 99 GOO G91 X#3 n99 M99- 4 -自变量 用户宏程序 赋值 I 本体中的变量 地址A #1 - #10 S #19 B #2 H #11 T #20 C #3 - #12 U #21I #4 M #13 V #22 J #5 - #14 W #23 K #6 - #15 X #24D #7 - #16 Y #25 E #8 Q #17 Z #26 F #9 R #18 上面的公式为一 一对应的关系.在一个主程序里面,只能套用一个嵌套了不超过四级的宏程序 .其中在各级宏程序中#1 的赋值由 编程需要来决定. 主程序 宏程序(1 级) 宏程序(2 级) 宏程序(3 级) 宏程序(4 级)O0001 O0002 O0003 O0004 O0005 . . . . . . #1=2 #1=3 #1=4 #1=5 #1=1 . G65 P4 A4 G65 P5 A5 . G65 P2 A2 G65 P3 A3 . . . . . . . . . M99 M99 M99 M99 M30宏程序模态调用与取消 取消命令用 G67G66 P L P:要调用和程序号 L:重复的次数 例:O O0110 宏程序:O O9110 . . . G00 Z-#1 G66 P9010 L2 A1.0 B20 G01 Z-#2 F200 GOO G90 X10.0 . Y20.0 . X100.0 Y250.0 . G67 M99 . M30 G66 的宏程序号可以任用,但必须用 G67 来取消调用.- 5 -在参数 No.6050-No.6059 中 设定调用宏程序的 G 代码,与非模态调用(G65)同样的方法用该代码 调用宏程序. 以下参数号与程序号是相对的 ,此参数号为 G65 的 G 代码专用,在机床中可以更改.O O0100 O O9010 . . . . G50A1.0B2.0 . 其中 G65G50A1.0B2.0 相当于 G65P9010.. . . M99 . 参数号 G 代码 被调用的用户宏程序号6050 G1 O O9010 6051 G2 O O9011 6052 G3 O O9010 . . . . . . . . . 6059 G9 O O9019G65 的 M 功能专用宏程序号对应参数号 ,M80 A1.0 B2.0 相当于 G65 P9020.O O0100 O O9020 . . . . M80 A1.0 B2.0 . . . . M99 . M30 参数号 M 代码 被调用的用户6080 M1 O O9020 6081 M2 O O9021 . . . . . . 6089 M9 O O9029在 EDIT 状态下,RESET 和 DELETE 一起按的话可以永久清除所有的程序 .- 6 -车床宏程序抛物线方程:以工件最大直径为 20,抛物线的长度为 10Z=-X²/10 的方程格式.以下编程是将方程中 X 值设为变量#。





