210 likes | 372 Views
2005 第一届技师培训班. 教学内容 - 用户宏程序. 北京航空航天大学 宋放之 E-mail : songfangzhi@buaa.edu.cn Tel:010-82317720. 宏程序的编制方法简单地解释就是: 利用变量编程的方法。 用户利用数控系统提供的变量、数学运算功能、逻辑判断功能、程序循环功能等功能,来实现一些特殊的用法。. 宏指令既可以在主程序体中使用, 也可以当作子程序来调用。. 放在主程序体中. …… N50 #100=30.0 N60 #101=20.0 N70 G01 X#100 Y#101 F500.0 …….
E N D
2005第一届技师培训班 • 教学内容-用户宏程序 • 北京航空航天大学 • 宋放之 • E-mail:songfangzhi@buaa.edu.cn • Tel:010-82317720
宏程序的编制方法简单地解释就是: 利用变量编程的方法。 用户利用数控系统提供的变量、数学运算功能、逻辑判断功能、程序循环功能等功能,来实现一些特殊的用法。
宏指令既可以在主程序体中使用, 也可以当作子程序来调用。
放在主程序体中 …… N50 #100=30.0 N60 #101=20.0 N70 G01 X#100 Y#101 F500.0 ……
当作子程序调用: 主程序 …… G65 P1000 X30.0 Y20.0 …… 宏程序: O1000 …… #100 = #24 #101 = #25 …… M99
宏程序中变量的类型: 局部变量:#1~#33 公共变量:#100~#149,#500~#509 系统变量:#1000~#5335
G65 A1.0B2.0I-3.0I4.0D5.0 P1000 变量: #1:1.0 #2:2.0 #4:-3.0 #7:4.0 #7:5.0
算数式 加法:#i=#j + #k 减法: #i=#j - #k 乘法: #i=#j * #k 除法: #i=#j / #k
正弦 #i=SIN [#j] 单位:度 余弦 #i=COS [#j] 单位:度 正切 #i=TAN [#j] 单位:度 反正切 #i=ATAN [#j] / [#k] 单位:度 平方根 #i=SQRT [#j] 绝对值 #i=ABS [#j] 取整 #i=ROUND [#j]
逻辑运算: 等于: EQ 格式: #j EQ #k 不等于: NE 格式: #j NE #k 大于: GT 格式: #j GT #k 小于: LT 格式: #j LT #k 大于等于:GE 格式: #j GE #k 小于等于:LE 格式: #j LE #k
条件转移语句1 I F [ 条件表达式 ] GOTO n 当条件满足时,程序就跳转到同一程序 中语句标号为n的语句上继续执行 当条件不满足时,程序执行下一条语句
条件转移语句2 WHILE [ 条件表达式 ] DO m ... … END m 当条件满足时,从DO m到ENDm之间的程序就重复执行。 当条件不满足时,程序就执行ENDm下一条语句
椭圆的解析方程: 椭圆的参数方程: y b t x a
例题1:椭圆 • O0001 • N2#100=1 角度步长 • N4#101=0 初始角度 • N6#102=361 终止角度 • N8#103=45 长半轴 • N10#104=25 短半轴 • N12#105=-10.0 深度 • N13G90G00X[#103+20]Y0Z100.0 刀具运行到(65,0,100)的位置 • N14S1000M03 • N15G01Z[#105]F1000.0 刀具下到-10mm • N16#114=#101 赋初始值 • N18#112=#103*COS[#114] 计算X坐标值 • N20#113=#104*SIN[#114] 计算Y坐标值 • N22G01G42X[ROUND[#112]]Y[ROUND[#113]]D02F500.0 • 走到第一点,并运行一个步长 • N24#114=#114+#100 变量#114增加一个角度步长 • N26IF[#114LT#102]GOTO18 条件判断#114是否小于361,满足则返回18 • N28G01G40X[#103+20]Y0 取消刀具补偿,回到(65,0) • N30G90G00Z100.0M05 快速抬刀 • N32M30 程序结束
主程序: % O0001 N1G90G00G54X0Y0Z100S1000M03 N10 G65 P2000 A45B25C1I0J361K-10 N30 G90 G00 Z100.0 M05 N40 M30 宏程序: O2000 ; N2 #100 = #3 N4 #101 = #4 N6 #102 = #5 N8 #103 = #1 N10 #104 = #2 N12 #105 = #6 N13 G90 G00 X[#103+20] Y0 Z100.0 N14 G01 Z[#105] F1000.0 N16 #114 = #101 N18 #112 = #103*COS[#114] N20 #113 = #104*SIN [#114] N22 G01 G42 X[ROUND[#112]] Y[ROUND[#113]]D02 F500.0 N24 #114 = #114+#100 N26 IF [#114 LT #102] GOTO 18 N28 G01 G40 X[#103+20] Y0 N30 G90 G00 Z100.0 N32 M99 变量对应关系:#1 #2 #3 #4 #5 #6
宏程序: O2000 ; N2 #100 = #3 N4 #101= #4 N6 #102 = #5 N8 #103 = #1 N10 #104 = #2 N12 #105 = #6 N13 G90 G00 X[#103+20] Y0 Z100.0 N14 G01 Z[#105] F1000.0 N16 #114 = #101 N17 WHILE [#114 LT #102] DO 1 N18 #112 = #103*COS[#114] N20 #113 = #104*SIN [#114] N22 G01 G42 X[ROUND[#112]] Y[ROUND[#113]]D02 F500.0 N24 #114 = #114+#100 N26 END 1 N28 G01 G40 X[#103+20] Y0 N30 G90 G00 Z100.0 N32 M99 主程序: % O0001 N1 G90 G00 X0 Y0 Z100 S1000 M03 … … N10 G65 P2000 A45B25C1I0J361K-10 … … … … … … … N30 G90 G00 Z100.0 M05 N40 M30 变量对应关系:#1 #2 #3 #4 #5 #6
例题2:圆柱倒圆角 O0003 N0#100=10.0 步长 N5#101=0 初始角度 N10#102=90.0 终止角度 N15#103=5.0(R) 圆角半径 N20#104=5.0(TR) 刀具半径 N25#105=#103+#104 刀具半径+圆角半径 N30#106=20.0 圆柱半径 N32#107=#106+#104 圆柱半径+刀具半径 N35G90G00X[#107+20]Y0Z100.0 N40S1000M03 N45G01Z-[#105]F500.0 N50G01X[#107]Y0F500 N55#114=#101 赋初始值0 N60#115=#114+#100 初始值加一个角度步长 N65#112=[#105*COS[#115]]-[#105*COS[#114]] 计算X相对坐标值 N70#113=[#105*SIN[#115]]-[#105*SIN[#114]] 计算Z相对坐标值 N75G91G01X[ROUND[#112]]Z[ROUND[#113]] 刀具移动一个相对值 N77#116=#107-ABS[#112] 圆柱半径+刀具半径-减去X相对值 N80G02X0Y0I-[ROUND[#116]]J0 刀具切圆 N82#107=#116 用过的I值当作下一步I的初始值 N85#114=#114+#100 变量#114增加一个角度步长 N90IF[#114LT#102]GOTO60 条件判断#114是否小于90,满足则返回到60 N95G01Z10 N100G90G00Z100.0M05 N105M30
O0005 主程序 N0#100=10.0 N5#101=0 N10#102=90.0 N15#103=5.0(R) N20#104=5.0(TR) N25#105=#103+#104 N30#106=20.0 N35G90G00X[#106+20]Y0Z100.0 N40S1000M03 N45G01Z-[#105]F500.0 N55#114=#101 N60#115=#114+#100 N65#112=[#105*COS[#115]]-[#105*COS[#114]] N70#113=[#105*SIN[#115]]-[#105*SIN[#114]] N75G91G01Z[ROUND[#113]] N77#2001=#104-ABS[#112] (G10 L10 PR) M98P0006 N82#104=#2001 N85#114=#114+#100 N90IF[#114LT#102]GOTO60 N95G01Z10.0 N100G90G00Z100.0M05 N105M30 O0006 子程序 N50G90G01G41D01X[#106]Y0F500.0 G01X20.0Y-10.0 G02X10.0Y-20.0R10.0 G01X-10.0Y-20.0 G02X-20.0Y-10.0R10.0 G01X-20.0Y10.0 G02X-10.0Y20.0R10.0 G01X10.0Y20.0 G02X20.0Y10.0R10.0 G01X20.0Y0 G01G40X[#106+20]Y0 M99 例题3:方柱倒圆角 边长40×40, 矩形圆角为R10 圆弧倒角为R5