G65 Macro Subprogram Call Option (Group 00)

Next Generation Control Mill Operator's Manual

The Online Interactive Operator's Manual is currently available in English only.

A PDF version of the Operator's Manual is available for download in multiple languages. Click the link below to view the Operator's Manual in your language. Click "Continue" to view the online version in English.

Get a translated PDF Download Continue

G65 is the command that calls a subprogram with the ability to pass arguments to it. The format follows:

G65 Pnnnnn [Lnnnn] [arguments] ;

Arguments italicized in square brackets are optional. See the Programming section for more details on macro arguments.

The G65 command requires a P address corresponding to a program number currently located in the control’s drive. When the L address is used the macro call is repeated the specified number of times.

When a subprogram is called, the control looks for the subprogram on the active drive. If the subprogram cannot be located on the active drive, the control looks in the drive designated by Setting 251. Refer to the Setting Up Search Locations section for more information on subprogram searching. An alarm occurs if the control does not find the subprogram.

In Example 1, subprogram 1000 is called once without conditions passed to the subprogram. G65 calls are similar to, but not the same as, M98 calls. G65 calls can be nested up to 9 times, which means, program 1 can call program 2, program 2 can call program 3 and program 3 can call program 4.

Example 1:

% G65 P1000 (Call subprogram O01000 as a macro) ; M30 (Program stop) ; O01000 (Macro Subprogram) ; ... M99 (Return from Macro Subprogram) ; %

In Example 2, subprogram 9010 is designed to drill a sequence of holes along a line whose slope is determined by the X and Y arguments that are passed to it in the G65 command line. The Z drill depth is passed as Z, the feed rate is passed as F, and the number of holes to be drilled is passed as T. The line of holes is drilled starting from the current tool position when the macro subprogram is called.

Example 2:

note: The subprogram program O09010 should reside on the active drive or on a drive designated by Setting 252.
% G00 G90 X1.0 Y1.0 Z.05 S1000 M03 (Position tool) ; G65 P9010 X.5 Y.25 Z.05 F10. T10 (Call O09010) ; M30 ; O09010 (Diagonal hole pattern) ; F#9 (F=Feedrate) ; WHILE [#20 GT 0] DO1 (Repeat T times) ; G91 G81 Z#26 (Drill To Z depth) ; #20=#20-1 (Decrement counter) ; IF [#20 EQ 0] GOTO5 (All holes drilled) ; G00 X#24 Y#25 (Move along slope) ; N5 END1 ; M99 (Return to caller) ; %

Be aware: Many service and repair procedures should be done only by authorized personnel. The service technicians at your Haas Factory Outlet (HFO) have the training, experience, and are certified to do these tasks safely and correctly. You should not do machine repair or service procedures unless you are qualified and knowledgeable about the processes.

Danger: Some service procedures can be dangerous or life-threatening. DO NOT attempt a procedure that you do not completely understand. Contact your Haas Factory Outlet (HFO) and schedule a service technician visit if you have any doubts about doing a procedure.