为了更深入地了解
HNC-21/22T
宏程序,这里给出一个利用小直线段逼近整园的数控加工程序:
O1000
G92 X0 Z0
M98 P2 X-50 Z0 R50
;宏程序调用,加工整圆
M30
O2
; 加工整圆子程序,园心为(X,Z),半径为 R
; X -> #23 Z -> #25 R -> #17
IF [AR[#17] EQ 0] OR [#17 EQ 0] ;如果没有定义 R M99
ENDIF
IF [ AR[#23] EQ 0 ] OR [ AR[#25] EQ 0 ] ;如果没有定义圆心
M99
ENDIF
#46=#1163 ; 记录模态码#1163,是 G90 OR G91?
G91
;用相对编程 G91
IF [ AR[#23] EQ 90 ] ;如果 X 为绝对编程方式
#23=#23-#30 ; 则转为相对编程方式
ENDIF
IF [
AR[#25] EQ 90 ] ; 如果 Z 为绝对编程方式
#25 = #25-#32 ; 则转为相对编程方式
ENDIF
#0=#23+#17*COS[0];
#1=#25+#17*SIN[0]; G01 X[#0] Z[#1];
#10=1
WHILE [#10 LE 100] ;用 100 段小直线逼近圆
#0 = #17*[ COS[#10*2*PI/100]-COS[[#10-1]*2*PI/100] ]
#1 = #17*[ SIN[#10*2*PI/100]-SIN[[#10-1]*2*PI/100] ] G01 X[#0] Z[#1]
#10=#10+1
ENDW
G[#46] ;
恢复模态
M99