- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
数控加工中宏程序的应用技巧
作者:徐州机电工程高等职业学校徐昆鹏张欣
宏程序简介
在编程工作中,我们经常把能完成某一功能的一系列指令像子程序那样存人存储器,用一个总指令来代表它们,使用时只需给出这个总指令就能执行其功能所存人的这一系列指令称作用户宏程序本体,简称宏程序。这个总指令称作用户宏程序调用指令。在编程时,编程员只要记住宏指令而不必记住宏程序。
用户宏程序与普通程序的区别在于:在用户宏程序本体中,能使用变量,可以给变量赋值,变量间可以运算,程序可以跳转;而普通程序中,只能指定常量,常量之间不能运算,程序只能顺序执行,不能跳转,因此功能是固定的,不能变化。用户宏功能是用户提高数控机床性能的一种特殊功能,在相类似工件的加工中巧用宏程序将起到事半功倍的效果。
宏程序本体既可以由机床生产厂提供,也可以由机床用户自己编制。使用时,先将用户宏主体像子程序一样存人到内存里,然后用子程序调用指令调用。
用户宏程序本体的编写格式
用户宏程序本体的编写格式与子程序的格式相同。
在用户宏程序本体中,可以使用普通的NC指令,采用变量的NC指令、运算指令和控制指令。格式如下:
Oxxxx;
#26=#4+#18xCos[#1〕;G90GOOX#26;
……
……
IF[#22GE#9〕GOTO9;
……
N9M99
变量可以用于宏程序本体,可以指定运算和控制指令。用宏程序调用命令赋予变量实际值。
应用实例
圆弧均布孔位计算宏程序的编程
工程上经常使用圆弧均布的联接孔,而这些孔在图样上往往是不给出每点的坐标,在编程时需要逐点计算,因而增加了编程员的工作量。圆弧孔可用极坐标来描述,若圆心不在坐标原点上,编程不太方便。现在有的系统提供了圆弧均布孔位计算宏指令,可供直接使用。这里给出扇形面上的圆弧孔的宏程序的编制方法。
宏程序调用指令
G65P9010I-J-R-A-B-H-;
式中:I,J-圆弧中心坐标,不赋值为坐标原点;
R-圆弧半径;
A-第1孔的角度值,省略时为0;
B-孔间角,当B>0。时为逆时针方向加工,B<0。时为顺时针方向加工。当B
省略时为整圆周均布孔,此时的加工方向为逆时针;
H-孔数,包括第1孔;如图1所示
可在参数NO.220中设置70(自定),即G70=G65P9010,
宏程序本体
O9010(圆弧均布孔)
IF[#11EQ#0〕GOTO9;孔数不赋值报警IF[#18EQ#0]GOTO9;圆弧半径不赋值报警IF〔#2NE#0」GOTO2;
#2二360.。/#11;圆弧均布孔间角N2#33=#4003;保存03组G代码#3之。;孔加工计数初值WHILE[#3LT#1〕加1;
G90X[#4+#18*COs[#1+#3*#2丑〕;
X孔位坐标
Y[#5+#18二SIN[#1+#3二#2〕];
Y孔位坐标#3二#3+1;ENDI;GOTO10;
N9#3000=1;N10G#30M99;
编程举例(零件如图2所示)
......G81...
......
#100=32.0/7;孔间角
G70A41.2B96.0H24108.0;2Xφ8孔位
......
G70A78.0B-#100H8R108.0;左侧8Xφ4孔位
G70A102.0B#100H8R108.0;右侧8Xφ4孔位
2.2椭圆形加工宏程序的编程
实际应用中,还经常会遇到各种各样的椭圆形加工特征。在现今的数控系统中,
无论硬件数控系统,还是软件数控系统,其插补的基本原理是相同的,只是实现插补运算的方法有所区别。常见的是直线插补和圆弧擂补,没有椭圆插补,手工常规编程无法编制出椭圆加工程序,常需要用电脑逐一编程,但这有时受设备和条件的限制。这时可以采用拟合计算,用宏程序方式,手工编程即可实现,简捷高效,并且不受条件的限制。加工如图3所示的椭圆形的半球曲面,刀具为R8的球铣刀。利用椭圆的参数方程和圆的参数方程来编写宏程序。
椭圆的参数方程为X=A*COS&Z=B*SIN&
其中,A为椭圆的长轴,B为椭圆的短轴。
编制参考宏程序如下:
%0012
#1=0
#2=20
#3=30
#4=1
#5=90
WHILE#5GE#1DO1
#6=#3*COS[#5*PI/180]+4#7=#2*SIN[#5*PI/180]G01X[#6]F800
Z[#7]#8=360
#9=0
WHILE#9LE#8DO2
#10=#6
文档评论(0)