#525=31.(Y.AXIS.START.PT); *#525設為31,作者注解為Y軸起始點*
#526=450.(Y.AXIS.END.PT); *#526設為450,作者注解為Y軸終點*
#527=1.0(INCREMENT); *#527設為1*
IF[#525 GE #526]GOTO10;*假如#525大於或同於#526執行10,
#525=31,#526=450,所以31沒有>=450,
條件不成立繼續執行下一行*
#528=#525-#526; *#528的值為#525-#526也就是31-450=-419,
#528=-419*
IF[#528 LE0]GOTO5; *假如#528小於或等於0執行N5,#528現在是-419小於
0,條件成立執行N5*
GOTO2;[img][/img] *執行行號N2*
N5;
#528=[1.0*#528]; *#528的值為1×#528,也就是1×-419= -419沒有意義
的指令 *
N2;
#529=FUP[#528/#527/1]; *#529的值為#528/#529/1再取小數點後面的
值,也就是-419/1/1=-419.0取小數點後面的值
,那就是#529=0*
#527=#528/#529/1; *#527的值為#528/#529/1,也就是-419/0/1=0*
G19;
T1 M6;
GO G90 G54 X-60. Y-31. S880.M3;
G43 Z3. H1 M8;
G1 Z3. F40;
N1;
G90 G1 T77.831 Z-13.915 R85.76 F250; *為何G0會有T77.831R85.76?*
Y107.922 Z-8.385;
Y111.59 Z3.;
#525=[#525+#530]; *#525的值等於#525加#530,因整個程式未定義
#530的值,以暫且當為1所以#525等於31+1=32
IF[#525 GT#526]GOTO10; *假如#525大於#526去執行N10*
G90 G0 Y[#525]; *#525=32,Y到32的位置*
X#528; *528= -419 ,X到-419的位置*
GOTO1;*去執行N1,這裡產生一個迴圈#525=32+1會累加一直到#525大於
#526時才會跳出迴圈執行下一行,如果#530小於0那就永遠跳不出
來了*
G1 Z3. F200;
N10;
G91 G28 Z0.M5;
G28 Y0. M9;
M30;
這是MACRO B的格式,我不知道你那裡取得的程式,亂無章法,很多指令在此根本不須要,寫了一堆結果只做G0快速定位根本沒有切削。??? |