You are on page 1of 3

Haas Parameter O Code Haas Parameter M Macro Call

91 9010 81 9000
92 9011 82 9001
93 9012 83 9002
94 9013 84 9003
95 9014 85 9004
96 9015 86 9005
97 9016 87 9006
98 9017 88 9007
99 9018 89 9008
100 9019 90 9009

.
G Code Aliasing M Code Aliasing

Setting an aliasing parameter to 0 disables aliasing for the associated subrou-


#$%&'()*(+%(+,$+-$%.(/+0+1&#&0($-(-&#(#2(+(34526&(+%6(#7&(+--25$+#&6(-89028#$%&(
is not in memory, then an alarm will be given.

COMMUNICATION WITH EXTERNAL DEVICES - DPRNT[ ]

Programming
Macros allow additional capabilities to communicate with peripheral devices.
One can do digitizing of parts, provide runtime inspection reports, or synchro-
%$:&(52%#02,-(;$#7(8-&0(/02<$6&6(6&<$5&-'(=7&(5211+%6-(/02<$6&6(*20(#7$-(+0&(
>?>@AB(C>DA=E(F(+%6(>GH?I'

Communication Preparatory Commands


POPEN and PCLOS are not required on the Haas mill. It has been included so
that programs from different controls can be sent to the Haas control.

Formatted Output
=7&(C>DA=(-#+#&1&%#(+,,2;-(#7&(/02.0+11&0(#2(-&%6(*201+##&6(#&J#(#2(#7&(-&-
0$+,(/20#'(K%L(#&J#(+%6(+%L(<+0$+9,&(5+%(9&(/0$%#&6(#2(#7&(-&0$+,(/20#'(=7&(*201(2*(
#7&(C>DA=(-#+#&1&%#($-(+-(*2,,2;-M(C>DA=(EN#&J#O(NP%%%%E;*FO'''(F(Q
C>DA=(18-#(9&(#7&(2%,L(5211+%6($%(#7&(9,25R'()%(#7&(/0&<$28-(&J+1/,&B(
N#&J#O($-(+%L(57+0+5#&0(*021(K(#2(S(20(#7&(,&##&0-(TUB4BVBWB(+%6(#7&(-/+5&X'(Y7&%(
+%(+-#&0$-R($-(28#/8#B($#($-(52%<&0#&6(#2(+(-/+5&'(=7&(NP%%%%E;*FO($-(+(<+0$+9,&(
*2,,2;&6(9L(+(*201+#'(=7&(<+0$+9,&(%819&0(5+%(9&(+%L(1+502(<+0$+9,&'(=7&(*20-
mat [wf] is required and consists of two digits within square brackets. Remem-
ber that macro variables are real numbers with a whole part and a fractional
/+0#'(=7&(Z0-#(6$.$#($%(#7&(*201+#(6&-$.%+#&-(#7&(#2#+,(/,+5&-(0&-&0<&6($%(#7&(
28#/8#(*20(#7&(;72,&(/+0#'(=7&(-&52%6(6$.$#(6&-$.%+#&-(#7&(#2#+,(/,+5&-(0&-&0<&6(
*20(#7&(*0+5#$2%+,(/+0#'(=7&(#2#+,(/,+5&-(0&-&0<&6(*20(28#/8#(5+%%2#(9&(&[8+,(#2(
:&02(20(.0&+#&0(#7+#(&$.7#'(=78-(#7&(*2,,2;$%.(*201+#-(+0&($,,&.+,M(E\\F((E"!F((E!"F((
E]^F((VW(%2#(,&.+,(*201+#-(WV
A decimal point is printed out between the whole part and the fractional part.
=7&(*0+5#$2%+,(/+0#($-(028%6&6(#2(#7&(,&+-#(-$.%$Z5+%#(/,+5&'(Y7&%(:&02(/,+5&-(
+0&(0&-&0<&6(*20(#7&(*0+5#$2%+,(/+0#B(#7&%(%2(6&5$1+,(/2$%#($-(/0$%#&6(28#'(=0+$,-
ing zeros are printed if there is a fractional part. At least one place is reserved
for the whole part, even when a zero is used. If the value of the whole part has
96-8000 Rev AN !"
April 2012 Original Instructions
fewer digits than have been reserved, then leading spaces are output. If the
<+,8&(2*(#7&(;72,&(/+0#(7+-(120&(6$.$#-(#7+%(7+-(9&&%(0&-&0<&6B(#7&%(#7&(Z&,6(
is expanded so that these numbers are printed.
K(5+00$+.&(0&#80%($-(-&%#(28#(+*#&0(&<&0L(C>DA=(9,25R'
C>DA=E(F(@J+1/,&-

Code Output
A (P _( '"!]^(Q
A`(C>DA=EaP E!!FWSP E\]FW=P E!\FF(Q a '"!]^(S( '"!!(=((
A](C>DA=EWWWb@KIcD@CW)AI)C@WC)Kb b@KIcD@C()AI)C@(C)Kb@=@D
@=@DWWWF(Q
A!(C>DA=EF(Q (no text, only a carriage return)
A"(P _ `]'!"^def(Q
A^(C>DA=Ea4P E`"FF(Q a4 `]'!"^df(Q
Execution
C>DA=(-#+#&1&%#-(+0&(&J&58#&6(+#(9,25R($%#&0/0&#+#$2%(#$1&'(=7$-(1&+%-(#7+#(
#7&(/02.0+11&0(18-#(9&(5+0&*8,(+928#(;7&0&(#7&(C>DA=(-#+#&1&%#-(+//&+0($%(
the program, particularly if the intent is to print out.
3 \]($-(8-&*8,(*20(,$1$#$%.(,22R+7&+6'()*(L28(;+%#&6(#2(,$1$#(,22R+7&+6($%#&0/0&-
tation to one block, you would include the following command at the beginning
2*(L280(/02.0+1M(T=7$-(+5#8+,,L(0&-8,#-($%(+(#;2(9,25R(,22R+7&+6'X
(((3 \](> Q
=2(5+%5&,(#7&(,22R+7&+6(,$1$#B(57+%.&(#7&(5211+%6(#2(3 \](>\'(3 \](5+%%2#(
be used when cutter compensation is active.

Editing
Improperly structured or improperly placed macro statements will generate an
+,+01'(g&(5+0&*8,(;7&%(&6$#$%.(&J/0&--$2%-Q(90+5R&#-(18-#(9&(9+,+%5&6'
=7&(C>DA=E(F(*8%5#$2%(5+%(9&(&6$#&6(1857(,$R&(+(5211&%#'()#(5+%(9&(6&,&#&6B(
moved as a whole item, or individual items within the bracket can be edited.
Variable references and format expressions must be altered as a whole entity.
If you wanted to change [24] to [44], place the cursor so that [24] is highlighted,
enter [44] and press the write key. Remember, you can use the jog handle to
1+%&8<&0(#7028.7(,2%.(C>DA=E(F(&J/0&--$2%-'
Addresses with expressions can be somewhat confusing. In this case, the
+,/7+9&#$5(+660&--(-#+%6-(+,2%&'(h20($%-#+%5&B(#7&(*2,,2;$%.(9,25R(52%#+$%-(+%(
address expression in X:
(((3 (3f\(a(EG?I(Ef\FF(i]'\Q(( G?DD@G=
Here, the X and brackets stand-alone and are individually editable items. It is
possible, through editing, to delete the entire expression and replace it with a
j2+#$%.4/2$%#(52%-#+%#'

146 96-8000 Rev AN


Original Instructions April 2012
(((3 (3f\(a(\(i]'\(Q(( ( YD?A3
=7&(+92<&(9,25R(;$,,(0&-8,#($%(+%(+,+01(+#(08%#$1&'(=7&(5200&5#(*201(,22R-(+-(
follows:
(((3 (3f\(a\(i]'\Q( ( ( G?DD@G=
A2#&(#7+#(#7&0&($-(%2(-/+5&(9&#;&&%(#7&(a(+%6(#7&(S&02(T\X'(D@b@bg@D(;7&%(
you see an alpha character standing alone it is an address expression.

FANUC-STYLE MACRO FEATURES NOT INCLUDED IN HAAS CNC

=7$-(-&5#$2%(,$-#-(#7&(hKAcG(1+502(*&+#80&-(#7+#(+0&(%2#(+<+$,+9,&(2%(#7&(k++-(
control.

b(K,$+-$%.(D&/,+5&(3^"(>%%%%(;$#7(b%%(>D?3I(f\`\4f\`f'
3^^ Modal call in every motion block
3^^' Modal call in every motion block

Programming
3^d Modal cancel
M98 K,$+-$%.B(=(526&(>D?3(f\\\B(lKD(
#149, enable bit
M98 K,$+-$%.B(I(G26&(>D?3(f\`fB(lKD(
P !dB(&%+9,&(9$#
M98 K,$+-$%.B(g(G26&(>D?3(f\`eB(lKD(
#146, enable bit
SKIP/N N=1..9
P]\\d b$0020($1+.&(2%(j+.(&+57(+J$-

#4201-#4320 Current block modal data


P" \ 4P" \^ Current servo deviation
A+1&-(*20(l+0$+9,&-(*20(C$-/,+L(>80/2-&-
K=KA(E(FVE(F K05#+%.&%#B(hKAcG(<&0-$2%
g)A(E(F G2%<&0-$2%(*021(gGC(=?(g)A
gGC(E(F G2%<&0-$2%(*021(g)A(=?(gGC
hc>(E(F =08%5+#&(*0+5#$2%(5&$,$%.
LN [ ] Natural logarithm
EXP [ ] g+-&(@(@J/2%&%#$+#$2%
KC>(E(F Re-Scale variable to whole number
g>DA=(E(F
=7&(*2,,2;$%.(5+%(9&(8-&6(+-(+,#&0%+#$<&(1&#726-(*20(+57$&<$%.(#7&(-+1&(0&-
-8,#-(*20(+(*&;(2*(#7&(8%+<+$,+9,&(hKAcG(1+502(*&+#80&-'
3?=?4%%%%
Searching for a block to jump in the negative direction, i.e. backwards through
a program, is not necessary if you use unique N address codes.
A block search is made starting from the current block being interpreted. When
the end of the program is reached, searching continues from the top of the
program until the current block is encountered.

96-8000 Rev AN !d
April 2012 Original Instructions

You might also like