O9128(G128 Macro Rev 9.4) (REV 9.4 Suffix Tool Supported) (updated 06/24/2005 TOOL SUFFIX ERROR CORRECTED) (updated 01/25/2005 to accept an S value for G43.4) ( COORDINATE ADJUSTMENT FOR INTEGREX ) #3003=0 #3004=0 #133=PEEK[11,307,1,0,0] #134=FIX[#133/256](TOOL SUFFIX) #135=[#133AND255](TOOL DIRECTION) #137=PEEK[11,332,1,0,0](TOOL NUMBER) IF[#134GE10] GOTO311(skip suffix 10) GOTO313 N311 #134=#134+1 IF[#134GE20] GOTO312 (skip suffix 20) GOTO313 N312 #134=#134+1 N313 #135=#135*100 #136=[[#135+#134]/10000]+#137 (T##.ddss) N10 ( DATA CONFIRMATION) IF[#20NE#0]GOTO11 #123=PEEK[11,332,1,0,0] #124=PEEK[11,338,1,0,0] #124=[[[#124-1008]*.10]+#123] #20=#136 (T##.ddss*******) N11 IF[[FIX[#20]]GT120.0]GOTO110 IF[[FIX[#20]]LT1.0]GOTO110 IF[[#20-FIX[#20]]GT0.1]GOTO120 IF[[#20-FIX[#20]]EQ#0]GOTO120 IF[#17EQ1.0]GOTO20 IF[#17EQ2.0]GOTO20 #17=0 N20(MACHINE DATA) #100=PEEK[5,3,263,0,0] #101=PEEK[5,3,234,0,0] #102=PEEK[1,1,#20,1,0] #103=PEEK[1,1,#20,2,0] #104=PEEK[1,1,#20,3,0] #105=PEEK[1,1,#20,4,0] #106=PEEK[2,1,#20,5,0] #107=#5021 #108=#5022 #109=#5024 #110=#5025 #111=#9101 #117=PEEK[5,3,264,0,0](PARAMETER B264 VALUE---------) #120=PEEK[4,1,19,2,1] IF[#120EQ0]GOTO21 IF[#120EQ1]GOTO22 IF[#120EQ2]GOTO22 IF[#120EQ3]GOTO23 IF[#120EQ5]GOTO22 IF[#120GT5]GOTO140 N21#121=1000. GOTO24 N22#121=10000. GOTO24 N23#121=100000. N24 #100=#100/#121 #101=#101/#121 #117=#117/#121 IF[#109NE0]GOTO130 IF[#17EQ1.0]GOTO30 #106=0 N30(EXTENDED TOOL LENGTH) IF[#100EQ0]GOTO140 IF[#101EQ#0]GOTO150 IF[#102EQ#0]GOTO160 IF[#103EQ#0]GOTO170 #112=#101+#103+#105-0.5*#106 (********* For G43.4 H-- **************) (**************************************) IF[#8NE1]GOTO39 #112=#103-#117 G10L2P1N1X#100 Z[#9101-#101+#19]C#9102(G54 C- Z-) #[14000+#20]=#112 IF[[PEEK[4,1,16,0,0]AND8]EQ8]GOTO2112 G52 GOTO5150 N2112 G52.5 N5150 G4X.05 G54 GOTO151 N39 (IF[[#20-FIX[#20]]EQ0]GOTO40) IF[#135EQ0]GOTO40 #112=0.5*[ABS[#100]+#102-#106]+#104 N40(TOOL LENGTH X/Z) #113=#112*SIN[#110] #114=#112*COS[#110] IF[#17NE2.0]GOTO50 #113=0 #114=0 N50(CREATED WPC) #115=#107-2.0*#113-#100 #116=#101+#108-#111-#114 #115=ROUND[#115*#121]/#121 #116=ROUND[#116*#121]/#121 #3013=1 G50X#115Z#116 G50W-[#19] IF[#24NE#0]GOTO51 #24=0 N51 IF[#25NE#0]GOTO52 #25=0 N52 IF[#26NE#0]GOTO54 #26=0 N54 IF[#18NE1]GOTO151 G68.5X[#24*2]Y#25Z#26I0J1K0R#110 N151 #17=#0 #18=#0 #19=#0 #24=#0 #25=#0 #26=#0 #8=#0 #3004=0 #3003=0 M99 N100(ALARMS) N110 #3000=31( ILLEGAL TOOL NO.) N120 M98Q151 #3000=32( ILLEGAL SUFFIX- .0 OR .1 ONLY) N130 M98Q151 #3000=33( ILLEGAL Y POSITION) N140 M98Q151 #3000=34( PARAMETER B263 ERROR) N150 M98Q151 #3000=35( PARAMETER B234 ERROR) N160 M98Q151 #3000=36( ILLEGAL TOOL SET X) N170 M98Q151 #3000=37( ILLEGAL TOOL SET Z) N180 M98Q151 #3000=38( PARAMETER P19 ERROR) M30