用户宏程序B编程说明(初稿)

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用户宏程序应用实例①续
被调用的程序: O9500; G81 Z#26 R#18 F#9 L0;-----钻孔循环,也可以使用K0 WHILE [#11 GT 0] DO 1;---直到剩余孔数为0 #5 = #24+#4*COS[#1];------计算X轴上的孔位 #6 = #25+#4*SIN[#1];------计算Y轴上的孔位 X#5 Y#6;------------------移动到目标位置后执行钻孔 #1 = #1+#2;---------------更新角度 #11 = #11-1;--------------孔数-1 END 1; G80;----------------------取消固定循环加工 M99;
V
注意点
自变量赋值Ⅰ • 地址G,L,N,O,和P不能在自变量中使用。 • 不需要指定的地址可以省略,对应于省略地址的局部变量设为空。 • 地址不需要按字母顺序指定。但I,J,K需要按字母顺序指定。
自变量赋值II • I,J,K需要按字母顺序指定。 I,J,K的下标用于确定自变量指定的顺
序,在实际编程中不写。
WHILE [#1 LE 360] DO 1; #2 = 50 *COS[#1]; #3 = 30 *SIN[#1]; G01 X#2 Y#3 ; #1 = #1+0.5; END 1; G01 Y15.; G00 G40 X60.; Z100. M30;
结束语
• 熟练掌握宏变量的定义、引用和赋值方式,能熟 练掌握变量的运算和控制指令的使用技巧。
#j 是否> #k #j GE #k
#j 是否≥ #k
#j NE #k #j 是否≠ #k #j LT #k #j 是否< #k #j LE #k #j 是否≤ #k
2.控制指令
3、循环(WHILE语句)
-格式:WHILE [条件式] DO m;
-
……
-
END m;
-式中:m——循环执行范围的识别号,只能是1、2和3,否则系统报警。
• 特点
• 用户宏程序,除了G01 X_Y_ 等指令以外,可使用加法、除法等四则运算和三 角函数、平方根等,如像个人计算机似的可编制客户独自的软件。
• 例如:依次的进刀量逐渐改变的固定循环、作为NC功能没有具备的椭圆程序、 由立铣刀加工模式化的型腔等。
• 如果编程人员认为宏程序编程可能更简单的话,那么他们可以把机床的数控 程序根据个人的喜好改变为更适合自己的宏程序。
• 一般的手编程序没有的指令也可以用宏程序来编制。
学习目标和重点
目标: • 学习和了解用户宏程序的编程思路和程序结构。 • 掌握宏程序的调用规定及其特点。 • 中等难度的零件能运用宏程序编制加工程序。
重点: • 宏程序各种控制指令的灵活应用及技巧。 • 编制宏程序时数学模型的建立、数学关系的表达思
D
Geometry Wear
1 #2001 #2201 #2401 #2601
2 #2002 #2202 #2402 #2602
-
200 #2200 #2400 #2600 #2800
>200 #11000+ #10000+ #13000+ #12000+
(H) G90 G10 L10 P2 R5. same #2002 = 5. (D) G90 G10 L11 P2 R4. same #2402 = 4.
变 次


序、、






2.控制指令
1、无条件转移(GOTO语句) -格式:GOTO n; -式中:n——顺序号(1~9999),可用变量表示。 -举例:GOTO 1;
GOTO #10;
2、条件转移(IF语句) -格式:IF[条件式]GOTO n; -条件式:
#j EQ #k #j 是否= #k #j GT #k
• 掌握宏程序的调用方式、编程特点和使用技巧。 应具有熟练运用宏程序使数控加工程序简化的能 力。
• 尽管子程序对重复性的相同操作很有用,但仍不 能和宏程序相提并论。用户宏程序功能允许使用 变量、算术和逻辑运算、以及条件分支控制,这 便于普通加工程序的发展,如发展成打包好的自 定义的固定循环。
X, Y, Z X, Y, Z X, Y, Z X, Y, Z X, Y, Z X, Y, Z X, Y, Z
模态信息
变量号 #4000~21 #4107 #4109 #4111 #4113 #4114
功能 G 代码明细 D 代码 F 代码 H 代码 M 代码 顺序号
变量号 #4115 #4119 #4120
用户宏程序B 基础编程
本说明参考FANUC Series 16M 牧野中国PM应用部
序言
用户宏程序是由客户自己编制独立的程序(如自动循环,模式功能) 登记在存储器里,同子程序一样,必要时在程序里调用的客户独自的 程序。在这里讲的宏程序跟一般的数控程序不同,对动作和功能用特
。 定的变量通用化的程序,使类似的加工和动作可通用的程序
加工时间输入
用户宏程序应用实例①
【例1】圆周等份孔加工:在半径I的圆周上钻削H个等分孔,已知加工第一个 孔的起始角度为A,相邻两孔之间角度的增量为B,圆周中心坐标为(x,y)。
宏程序调用程序: O0003; G90 G54 G00 X0 Y0 Z100.; M03 S800; G65 P9500 X100. Y50. R10. Z-20. F300 I100. A60. B30. H4; G00 X0 Y0 Z100.; M30;
2.变量的类型和功能
宏程序调用
1. 宏程序调用指令
-格式:G65 P___ L___ <自变量赋值> ;
-式中:P-----宏程序号;
-
L-----重复调用次数(1~9999,1次时L可省略)
- <自变量赋值>----用以对宏程序中的局部变量赋值。
- 自变量赋值是由地址及数值构成。
2 .自变量赋值 -自变量赋值Ⅰ-------使用除去G、L、N、O、P以外的其他字
刀具补偿(储存器A)
Offset 1 2 99 200
Variable No #2001 - #10001 #2002 - #10002
#2099 - #10099 #2200 - #10200
当刀具偏置组数大于200时使用#10000+No.
刀具补偿(储存器C)
Offset
H
Geometry Wear
母作为 地址。
-自变量赋值Ⅱ-------使用A、B、C各1次,I、J、K 10 次为地 址,用于传递诸如三维坐标值的变量。
自变量赋值Ⅰ的地址与变量号码之间的对应关系
自变量赋值II的地址与变量号码之间的对应关系
#1 A #8 J2 #15 K4 #22 I7 #29 J9 #2 B #9 K2 #16 I5 #23 J7 #30 K9 #3 C #10 I3 #17 J5 #24 K7 #31 I10 #4 I1 #11 J3 #18 K5 #25 I8 #32 J10 #5 J1 #12 K3 #19 I6 #26 J8 #33 K10 #6 K1 #13 I4 #20 J6 #27 K8 #7 I2 #14 J4 #21 K6 #28 I9
实训项目:宏程序椭圆铣削加工
假定椭圆长轴(X向)、短轴(Y向)半长分别为A和B。 编程条件:编程原点在椭圆中心,长轴A=50,短轴B=30,椭圆轮廓为外轮廓,下 刀点在椭圆右极限点,刀具直径φ18,加工深度10mm。
O0005; G90 G54 G00 G17 G40; G43 Z50. H01 ; M03 S1000; X60. Y-15.; Z5. M08; G01 Z-12. F800 ; G42 X50. Y0. D01 F100; #1 = 0.5;(θ变量初始值0.5度)
用户宏程序应用实例②续
被调用的程序: O9800; #101 = #1;-----------------半球体的半径赋值给#101 #102 = #2;-----------------刀具的半径赋值给#102 #103 = #1-#2;--------------计算出X轴的起刀点 #104 = #7;-----------------第一刀的切入角度赋值给#104 G00 X[#103] ; G01 Z0 F120; WHILE [#104 LE 90] DO 1;---直到切入角度为90度 #110 = #103 *COS[#104];----计算X轴上的入刀位 #120 = #103 *SIN[#104];----计算Z轴上的入刀位 G01 X[#110] Z-[#120] F80 ;-斜向切入到位 G02 I-[#110];--------------顺时针圆弧插补一周 #104 = #104+#7;------------更新下一刀的切入角度 END 1; M99;
用户宏程序应用实例②
【例2】铣削内半球体:在数控铣床上用φ12球头铣刀对半球体进行精加工。若 用同一程序以及用不同半径的刀具加工不同半径的内球体,编制宏程序。
宏程序调用程序: O0004; G90 G54 G17 G00 X0 Y0; G43 Z5. H01 M08; M03 S900; G65 P9800 A35. B6. D5.; G00 Z5. M09; G91 G28 Z0; M30;
#4001 #4003 #4014 #4009 #4010
例如: #33 = #4003 ( 如果当前程序执行G90,变量号#33=90 )
位置信息
局部变量的级别
模态调用(G66)
用G代码调用宏程序的参数号和程序号之间的对应关系
• 用M代码调用宏程序的参数号和程序号之间的对应关系
用M代码调用子程序的参数号和程序号之间的对应关系
工件零点偏移值
G54 (P1) #5221 ~ #5223 G55 (P2) #5241 ~ #5243 G56 (P3) #5261 ~ #5263 G57 (P4) #5281 ~ #5283 G58 (P5) #5301 ~ #5303 G59 (P6) #5321 ~ #5323 External (P0) #5201 ~ #5203
自变量赋值I、II的混合 • CNC内部自动识别自变量赋值I和自变量赋值II。 • 如果自变量赋值I和自变量赋值II混合指定的话,后指定的自变量类
型有效。
变量的运算和控制指令
1. 算术和逻辑运算
[]



(+ - OR XOபைடு நூலகம்)
可③②①运
以加乘函算
用和和数次
减除;序
来 改
运 算
运 算

(* / AND)
功能 程序号 S 代码 T 代码
例如 : #100 = #4120 ( 储存刀具号码至变量 #100 )
G代码明细
代码 G00, G01, G02, G03 G90, G91 G54, G55, G56 ~G59 G73, G76, G81~G89 G98, G99
组别 01 03 14 09 10
-注意:DO—END循环能够按需要使用多次,即 循环嵌套。
循环嵌套:
DO--END循环嵌套: WHILE [条件式1] DO 1; …… WHILE [条件式2] DO 2; …… WHILE [条件式3] DO 3; …… END 3; …… END 2 …… END 1;
2.控制指令
-IF语句举例: 计算数值1-10的总和 O0001; #1=0; #2=1; N1 IF [#2 GT 10] GOTO 2; #1=#1+#2; #2=#2+1; GOTO 1; N2 M30;
-WHILE语句举例: 计算数值1-10的总和 O0002; #1=0; #2=1; WHILE [#2 LE 10] DO 1; #1 =#1+#2; #2=#2+1; END 1; M30;
系统变量
刀具补偿 工件零点偏移值 宏程序报警 时间信息 模态信息 位置信息 自行运行控制
#2001 ~ #2200 #5201 ~ #5328 #3000 #3001, #3002 #4000 ~ #4120 #5001 ~ #5065 #3003, #3004
路。
变量
1.变量及变量的引用
① 变量的表示
#i
----变量号i=0,1,2,3,4……
#[表达式] ----表达式必须用括号括起来
例:#8、#110、#1100 例:#[#1+#2-12]
② 变量的引用 <地址>#1 <地址>-#1
----例: F#10--当#10=20时,F20被指令。 X- #20--当#20=100.时,X-100.被指令。 G#130--当#130=2时,G2被指令。
相关文档
最新文档