Haas VB Series Mill Operation Manual Supplement v3 PDF

1 of 482
1 of 482

Summary of Content for Haas VB Series Mill Operation Manual Supplement v3 PDF

Haas Technical Publications Manual_Archive_Cover_Page Rev A

June 6, 2013

This content is for illustrative purposes.

Historic machine Service Manuals are posted here to provide information for Haas machine owners.

Publications are intended for use only with machines built at the time of original publication.

As machine designs change the content of these publications can become obsolete.

You should not do mechanical or electrical machine repairs or service procedures unless you are qualified and knowledgeable about the processes.

Only authorized personnel with the proper training and certification should do many repair procedures.

HAAS SERVICE AND OPERATOR MANUAL ARCHIVE

WARNING: Some mechanical and electrical service procedures can be extremely dangerous or life-threatening. Know your skill level and abilities.

All information herein is provided as a courtesy for Haas machine owners for reference and illustrative purposes only. Haas Automation cannot be held responsible for repairs you perform. Only those services and repairs that are provided by authorized Haas Factory Outlet distributors are guaranteed.

Only an authorized Haas Factory Outlet distributor should service or repair a Haas machine that is protected by the original factory warranty. Servicing by any other party automatically voids the factory warranty.

VB-Series Operators Manual 96-8500 RevC English June 2001

.

.

Haas Technical Publications Manual_Archive_Safety_Pages Rev A

June 6, 2013

.

READ BEFORE OPERATING THIS MACHINE: Onlyauthorizedpersonnelshouldworkonthismachine.Untrainedpersonnelpresentahazardtothemselvesandthe

machine,andimproperoperationwillvoidthewarranty.

Useappropriateeyeandearprotectionwhileoperatingthemachine.ANSIapprovedimpactsafetygogglesandOSHA approvedearprotectionarerecommendedtoreducetherisksofsightdamageandhearingloss.

Donotoperatethemachineunlessthedoorsareclosedandthedoorinterlocksarefunctioningproperly.Rotatingcut- tingtoolscancausesevereinjury.Whenaprogramisrunning,themilltableandspindleheadcanmoverapidlyatany timeinanydirection.

TheEmergencyStopbuttonisthelarge,circularredswitchlocatedontheControlPanel.PressingtheEmergencyStop buttonwillinstantlystopallmotionofthemachine,theservomotors,thetoolchanger,andthecoolantpump.Usethe EmergencyStopbuttononlyinemergenciestoavoidcrashingthemachine.

Theelectricalpanelshouldbeclosedandthekeyandlatchesonthecontrolcabinetshouldbesecuredatalltimes exceptduringinstallationandservice.Atthosetimes,onlyqualifiedelectriciansshouldhaveaccesstothepanel.When themaincircuitbreakerison,thereishighvoltagethroughouttheelectricalpanel(includingthecircuitboardsandlogic circuits)andsomecomponentsoperateathightemperatures.Therefore,extremecautionisrequired.Oncethema- chineisinstalled,thecontrolcabinetmustbelockedandthekeyavailableonlytoqualifiedservicepersonnel.

Consultyourlocalsafetycodesandregulationsbeforeoperatingthemachine.Contactyoudealeranytimesafetyis- suesneedtobeaddressed.

DONOTmodifyoralterthisequipmentinanyway.Ifmodificationsarenecessary,allsuchrequestsmustbehandledby HaasAutomation,Inc.AnymodificationoralterationofanyHaasMillingorTurningCentercouldleadtopersonalinjury and/ormechanicaldamageandwillvoidyourwarranty.

Itistheshopownersresponsibilitytomakesurethateveryonewhoisinvolvedininstallingandoperatingthemachine isthoroughlyacquaintedwiththeinstallation,operation,andsafetyinstructionsprovidedwiththemachineBEFORE theyperformanyactualwork.Theultimateresponsibilityforsafetyrestswiththeshopownerandtheindividualswho workwiththemachine.

Thismachinecancausebodilyinjury.

Donotoperatewiththedooropen.

Donotoperatewithoutpropertraining.

Alwayswearsafetygoggles.

Themachineisautomaticallycontrolledandmaystartatanytime.

Theelectricalpowermustmeetthespecificationsinthismanual.Attemptingtorunthemachinefromanyother sourcecancauseseveredamageandwillvoidthewarranty.

DonotpressPOWERUP/RESTARTonthecontrolpaneluntilaftertheinstallationiscomplete.

Donotattempttooperatethemachinebeforealloftheinstallationinstructionshavebeencompleted.

Neverservicethemachinewiththepowerconnected.

Improperlyclampedpartsmachineathighfeeds/feedmaybeejectedandpuncturethesafetydoor.Machining oversizedormarginallyclampedpartsisnotsafe.

Windowsmustbereplacedifdamagedorseverelyscratched-Replacedamagedwindowsimmediately.

Thespindleheadcandropwithoutnotice.Personnelmustavoidtheareadirectlyunderthespindlehead.

Donotresetacircuitbreakeruntilthereasonforthefaultisinvestigated.OnlyHaas-trainedservicepersonnel shouldtroubleshootandrepairtheequipment.

Haas Technical Publications Manual_Archive_Safety_Pages Rev A

June 6, 2013

Followtheseguidelineswhileperformingjobsonthemachine:

Normaloperation-Keepthedoorclosedandguardsinplace,whilemachineisoperating. PartloadingandunloadingAnoperatoropensthedoororguard,completestask,closesdoororguardbeforepress- ingcyclestart(startingautomaticmotion). ToolloadingorunloadingAmachinistentersthemachiningareatoloadorunloadtools.Exittheareacompletely beforeautomaticmovementiscommanded(forexample,nexttool,ATC/TurretFWD/REV). Machiningjobset-upPressemergencystopbeforeaddingorremovingmachinefixtures. Maintenance/MachineCleanerPressemergencystoporpoweroffthemachinebeforeenteringenclosure. Donotenterthemachiningareaanytimethemachineisinmotion;severeinjuryordeathmayresult.

UnattendedOperation FullyenclosedHaasCNCmachinesaredesignedtooperateunattended;however,yourmachiningprocessmaynotbe safetooperateunmonitored.

Asitistheshopownersresponsibilitytosetupthemachinessafelyandusebestpracticemachiningtechniques,itis alsotheirresponsibilitytomanagetheprogressofthesemethods.Themachiningprocessmustbemonitoredtopre- ventdamageifahazardousconditionoccurs.

Forexample,ifthereistheriskoffireduetothematerialmachined,thenanappropriatefiresuppressionsystemmust beinstalledtoreducetheriskofharmtopersonnel,equipmentandthebuilding.Asuitablespecialistmustbecontacted toinstallmonitoringtoolsbeforemachinesareallowedtorununattended.

Itisespeciallyimportanttoselectmonitoringequipmentthatcanimmediatelyperformanappropriateactionwithout humaninterventiontopreventanaccident,shouldaproblembedetected.

DONOTmodifyoralterthisequipmentinanyway.Ifmodificationsarenecessary,allsuchrequestsmustbehandledby HaasAutomation,Inc.AnymodificationoralterationofanyHaasmachiningcentercouldleadtopersonalinjuryand/or mechanicaldamageandwillvoidyourwarranty.

MODIFICATIONSTOTHEMACHINE

Haas Technical Publications Manual_Archive_Safety_Pages Rev A

June 6, 2013

TohelpensurethatCNCtooldangersarequicklycommunicatedandunderstood,hazardsymboldecalsareplacedon HaasMachinesinlocationswherehazardsexist.Ifdecalsbecomedamagedorworn,orifadditionaldecalsareneeded toemphasizeaparticularsafetypoint,contactyourdealerortheHaasfactory.

Neveralterorremoveanysafetydecalorsymbol.

Eachhazardisdefinedandexplainedonthegeneralsafetydecal,locatedatthefrontofthemachine.Particularloca- tionsofhazardsaremarkedwithwarningsymbols.Reviewandunderstandthefourpartsofeachsafetywarning, explainedbelow,andfamiliarizeyourselfwiththesymbolsonthefollowingpages.

NEVEROPERATETHISMACHINEWITHTHEDOORSOPEN.

SAFETYDECALS Haas Technical Publications

Manual_Archive_Safety_Pages Rev A June 6, 2013

MILLWARNINGDECALS

Haas Technical Publications Manual_Archive_Safety_Pages Rev A

June 6, 2013

.

LATHEWARNINGDECALS

Haas Technical Publications Manual_Archive_Safety_Pages Rev A

June 6, 2013

Otherdecalsmaybefoundonyourmachine,dependingonthemodelandoptionsinstalled:

..

OTHERSAFETYDECALS

Haas Technical Publications Manual_Archive_Safety_Pages Rev A

June 6, 2013

INSTALLATION

1

O MPERATORS ANUAL

96-8500 rev C

June 2001

1. INSTALLING THE VB-1

1.1 MACHINE FOOTPRINT

SIDE VIEW

172.61

79.93

31.61

409.58

23.03

52.00 52.50

259.00 101.49

437.89

54.38 Coolant Tank

SPINDLE HEAD DIMENSIONS 1

.2 5

x

2 "

11.050

8.086

9.225

R6.800

1.286

40 Travel 42.006

TOP VIEW

2

INSTALLATION O MPERATORS ANUAL

96-8500 rev C

June 2001

VB-1 SHIPPING DIMENSIONS

INSTALLATION

3

O MPERATORS ANUAL

96-8500 rev C

June 2001

H A A S

H A A S

H A A S

X-Axis Bracket (Front Side)

Y-Axis Brackets

C-Axis Brackets

Six 4 X 6 Wood Blocks

X-Axis Bracket (Rear Side)

B-Axis Bracket

2 X 4 Wood Brace

144

145

337

Cable

Rear View

2 X 4 Wood Brace

Way Cover Holding Brackets

4

INSTALLATION O MPERATORS ANUAL

96-8500 rev C

June 2001

1.2 SERVICE REQUIREMENTS

GENERAL REQUIREMENTS

Operating Temperature Range 41F to 104F (5 to 40C) Storage Temperature Range -4F to 158F (-20 to 70C) Ambient Humidity: less than 90% relative humidity, non-condensing Altitude: 0-7000 ft.

ELECTRICITY REQUIREMENTS

IMPORTANT! REFER TO LOCAL CODE REQUIREMENTS BEFORE WIRING MACHINES.

ALL MACHINES REQUIRE: Three phase 50 or 60Hz power supply. Line voltage that does not fluctuate more than +/-5%

40-30 HP System Voltage Requirements (195-260V)

Power Supply 125 AMP Haas Circuit Breaker 100 AMP If service run from ele.panel is less than 100' use: 2 GA. WIRE If service run from ele. panel is more than 100' use: 0 GA. WIRE

WARNING!

A separate earth ground wire of the same conductor size as the input power is required to be connected to the chassis of the machine. This ground wire is required for operator safety and for proper operation. This ground must be supplied from the main plant ground at the service entrance, and should be routed in the same conduit as the input power to the machine. A local cold water pipe, or ground rod adjacent to the machine cannot be used for this purpose. Input power to the machine must be grounded. For wye power, the neutral must be grounded. For delta power, a central leg ground or one leg ground should be used. The machine will not function properly on ungrounded power. (This is not a factor with the External 480V Option)

The maximum voltage leg-to-leg or leg-to-ground should not exceed 260 volts or 504 volts for high voltage machines with the internal 400V option.

The high voltage requirements shown reflect the Internal 400V option which is available only in Europe. Domes- tic and all other users must use the External 480V option.

The current requirements shown in the table reflect the circuit breaker size internal to the machine. This breaker has an extremely slow trip time. It may be necessary to size the external service breaker up by 20- 25%, as indicated by power supply, for proper operation.

INSTALLATION

5

O MPERATORS ANUAL

96-8500 rev C

June 2001

AIR REQUIREMENTS

The VB-1 requires a minimum of 100 PSI at 4 scfm at the input to the pressure regulator on the back of the machine. This should be supplied by at least a two horsepower compressor, with a minimum 20-gallon tank, that turns on when the pressure drops to 100 PSI.

Machine Type Main Air Regulator Input Airline HoseSize

VB-1 85 psi 3/8" I.D.

The recommended method of attaching the air hose is to the barb fitting at the back of the machine with a hose clamp. If a quick coupler is desired, use a 3/8".

NOTE: Excessive oil and water in the air supply will cause the machine to malfunction. The air filter/regulator has an automatic bowl dump that should be empty before starting the machine. This must be checked for proper operation monthly. Also, excessive contaminants in the air line may clog the dump valve and cause oil and/or water to pass into the machine.

NOTE: The nipple between the air filter/regulator and the Bijur oil lubricator (See illustration in "Air Connection" section) reservoir tank below the control box on the back of the machine is for the optional rotary table. DO NOT use this as a connection for an auxiliary air line. Auxiliary connections should be made on the left side of the air filter/regulator.

CAUTION! When the machine is operating and the pressure gauge (on the machine regulator) drops by more than 10 psi during tool changes, insufficient air is being supplied to the machine.

6

INSTALLATION O MPERATORS ANUAL

96-8500 rev C

June 2001

1.3 UNPACKING THE VB-1

INSTALLATION TOOLS REQUIRED

Precision bubble level (0.0005 inch per 10") Test indicator (0.0005) 1 1/8" hex wrench or ratchet 3/4" wrench 1 1/2" wrench Claw hammer

NOTE: Unless you are certain that you will not be shipping the machine, the crate and packing materials should be stored for reuse. Be careful not to damage the crate and the other packing materials.

CAUTION! Use extreme caution not to damage the pressurized hydraulic coun terbalance when moving the machine .

SETTING IN PLACE

CAUTION! Do not lift the machine any farther than necessary off the floor when moving it, and move as slowly and cautiously as possible. Dropping the machine, even from a height of a few inches, can cause injury, result in expensive repairs, and void the warranty.

WARNING!

When lifting the machine with a forklift, be careful not to damage the sheet metal aprons with the forks.

Thread the leveling screws through the casting until they extend about an inch out of the bottom of the ma- chine. If a screw is excessively hard to turn, remove it, dress the threads in the hole with a 1-14 tap, and inspect the screw. If the screw has dings, dress the threads with a 60o V file. (You must have good control over these screws because they are used to precision level the machine.)

Move the machine to where it will be located. Grease the dimple in each leveling pad, and locate them under the leveling screws. Then lower the machine.

Remove all banding and packing material around the control panel and the doors. Remove the pendant support. Remove any shipping braces.

INSTALLATION

7

O MPERATORS ANUAL

96-8500 rev C

June 2001

1.4 INITIAL SETUP

WARNING!

At this point, there should be NO electrical connection to the machine. The electrical panel should be closed and the three latches on the door should be secured at all times except during installation and service. At those times, only qualified electricians should have ac- cess to the panel. When the main switch is on, there is high voltage throughout the electrical panel (including the circuit boards and logic circuits) and some components operate at high temperatures. There- fore, you must exercise extreme caution when you are working in the panel.

1. Set the main switch at the upper right of the electrical panel on the back of the machine to OFF.

2. Using a screwdriver, unlock the two latches on the panel door, unlock the cabinate with the key, and open the door.

3. Take sufficient time to check all the components and connectors associated with the circuit boards. With the power off, push on them gently to make sure that they are seated in their sock- ets. Look for any cables that have become disconnected, look for any signs of damage and loose parts in the bottom of the panel box. If there are any signs that the machine was mishandled, be extremely careful in powering up the machine (be ready to shut it off IMMEDIATELY). Or if there are obvious problems, call the factory BEFORE proceeding.

8

INSTALLATION O MPERATORS ANUAL

96-8500 rev C

June 2001

AIR CONNECTION

WARNING!

Working with the air service required for VB-1 can be hazardous. Make sure that pressure has been removed from the air line before you connect it to the machine, disconnect it from the machine, or service parts of the air system on the machine.

1. When the machine leaves the factory, the air filter is empty, and air lubricator and the lubricator reservoir tank are full. However, they should be checked and serviced if required before compressed air is supplied to the machine.

2. With the pressure off in the air line, connect the air supply to the hose barb next to the air filter/ regulator (below the electrical panel). If the fitting supplied is not compatible, simply replace it.

3. Start the compressor, set it between 100 and 150 PSI. Set the regulator on the machine to 85 to 90 PSI.

4. Prime the lubricator to make sure it is working. To prime the lubrication system, pull up on the handle on top of the reservoir tank. CAUTION! NEVER push down on the primer handle! It gradu- ally returns to the down position by itself, and the corresponding pressure increase can be seen on the pressure gauge.

NOTE: Depending on the position of the cam that drives it, the lubrication system may not activate until a few minutes after the machine is started. However, if there is a problem with the system, an alarm will stop the machine.

MAINTENANCE

During normal operation, most chips are discharged from the machine at the discharge tube. However, very small chips may flow through the drain and collect in the coolant tank strainer and pan coolant drain (under the pan). To prevent drain blockage, clean this trap regularly. Should the drain become clogged and cause coolant to collect in the machines pan, stop the machine, loosen the chips blocking the drain, and allow the coolant to drain. Empty the coolant tank strainer, then resume operation.

INSTALLATION

9

O MPERATORS ANUAL

96-8500 rev C

June 2001

ELECTRICAL CONNECTIONS

NOTE: The machine must have air pressure at the air gauge, or a "Low Air Pressure" alarm will be present on power up.

CAUTION! Working with the electrical services required for the VMC can be extremely hazardous. The electrical power must be off and steps must be taken to ensure that it will not be turned on while you are working with it. In most cases this means turning off a circuit breaker in a panel and then locking the panel door. However, if your connection is different or you are not sure how to do this, check with the appropriate personnel in your organization or otherwise obtain the necessary help BEFORE you continue.

WARNING!

The electrical panel should be closed and the three latches on the door should be secured at all times except during installation and service. At those times, only qualified electricians should have ac- cess to the panel. When the main circuit breaker is on, there is high voltage throughout the electrical panel (including the circuit boards and logic circuits) and some components operate at high tempera- tures. Therefore, extreme caution is required.

1. Hook up the three power lines to the terminals on top of the main switch at upper right of electrical panel and the separate ground line to the ground bus to the left of the terminals.

NOTE: Make sure that the service wires actually go into the terminal-block clamps. (It is easy to miss the clamp and tighten the screw. The connection looks fine but the machine runs intermittently or has other problems, such as servo over- loads.) To check, simply pull on the wires after the screws are tightened.

10

INSTALLATION O MPERATORS ANUAL

96-8500 rev C

June 2001

2. After the line voltage is connected to the machine, make sure that main circuit breaker (at top- right of rear cabinet) is OFF (rotate the shaft that connects to the breaker counterclockwise until it snaps OFF). Turn ON the power at the source. Using an accurate digital voltmeter and appropriate safety procedures, measure the voltage between all three pair phases at the main circuit breaker and write down the readings. The voltage must be between 195 and 260 volts (360 and 480 volts for high voltage option).

NOTE: Wide voltage fluctuations are common in many industrial areas; you need to know the minimum and maximum voltage which will be supplied to the machine while it is in operation. U.S. National Electrical Code specifies that machines should operate with a variation of +5% to -5% around an average supply voltage. If problems with the line voltage occur, or low line voltage is suspected, an external transformer may be required. If you suspect voltage problems, the voltage should be checked every hour or two during a typical day to make sure that it does not fluctuate more than +5% or -5% from an average.

CAUTION! Make sure that the main breaker is set to OFF and the power is off at your supply panel BEFORE you change the transformer connections. Make sure that all three black wires are moved to the correct terminal block and that they are tight.

3. Check the connections on the transformer at the bottom-right corner of the rear cabinet. The three black wires labeled 74, 75, and 76 must be moved to the terminal block triple which corresponds to the average voltage measured in step 2 above. There are four positions for the input power for the 260 volt transformer and five positions for the 480 volt transformer. The labels showing the input voltage range for each terminal position are as shown in the following illustrations:

4. Transformer T5 supplies 24VAC used to power the main contactor. There are two versions of this transformer for use on 240 and 400V machines (32-0964B and 32-0965B, respectively). The 240V transformer has two input connectors located about two inches from the transformer, which allow it to be connected to either 240V or 200V. Users that have 220V-240V RMS input power should use the connector labeled 200V. Users with the External High Voltage Option should use the 240V connector if they have 420V-510V 60Hz power or the 200V connector if they have 50Hz power. Failure to use the correct input connector will result in either overheating of the main contactor or failure to reliably engage the main contactor.

INSTALLATION

11

O MPERATORS ANUAL

96-8500 rev C

June 2001

5. Set the main switch to ON (rotate the shaft that engages the handle on the panel door clockwise until it snaps into the ON position). Check for evidence of problems, such as the smell of overheat- ing components or smoke. If such problems are indicated, set the main switch to OFF immedi- ately and call the factory before proceeding.

WARNING!

Through the Spindle Coolant (TSC) pump is a three phase pump and must be phased correctly! Improper phasing will cause damage to the TSC pump and void the warranty. Refer to the TSC start up section IF YOUR MACHINE IS EQUIPPED WITH TSC.

6. After the power is on, measure the voltage across the upper terminals on the contactor K1 (located below the main circuit breaker). It should be the same as the measurements where the input power connects to the main breaker. If there are any problems, check the wiring.

7. Apply power to the control by pressing the Power-On switch on the front panel. Check the high voltage buss on the Vector Drive (pin 2 with respect to pin 3 on the terminal bus at the bottom of the drive). It must be between 310 and 360 volts. If the voltage is outside these limits, turn off the power and recheck steps 2 and 3. If the voltage is still outside these limits, call the factory. Next, check the DC voltage displayed in the second page of the Diagnostic data on the CRT. It is labeled DC BUS. Verify that the displayed voltage matches the voltage measured at pins 2 and 3 of the Vector Drive +/- 7 VDC.

8. Electrical power must be phased properly to avoid damage to your equipment. The Power Supply Assembly PC board incorporates a "Phase Detect" circuit with neon indicators, shown below. When the orange neon is lit (NE5), the phasing is incorrect. If the green neon is lit (NE6), the phasing is correct. If both neon indicators are lit, then you have a loose wire. Adjust phasing by swapping L1 and L2 of the incoming power lines at the main circuit breaker.

12

INSTALLATION O MPERATORS ANUAL

96-8500 rev C

June 2001

WARNING!

ALL POWER MUST BE TURNED OFF AT THE SOURCE PRIOR TO ADJUSTING PHASING.

9. Turn off the power (rotate the shaft that engages the handle on the panel door counterclockwise until it snaps into the OFF position). Also, set the main switch handle on the panel door to OFF. (Both the handle and the switch must be set to OFF before the door can be closed). Close the door, lock the latches, and turn the power back on.

10. Remove the key from the control cabinet and give it to the shop manager.

INSTALLATION PROCEDURE FOR EXTERNAL 480V TRANSFORMER

Introduction

The external transformer adds to overall machine reliability and performance, however it does require extra wiring and a place to locate it. The external transformer provides electrostatically shielded isolation. This type of transformer acts to isolate all common mode line transients and improve EMI conducted emissions.

The external transformer has a 45 KVA rating.

Installation

The transformer should be located as close to the machine as possible. The input and output wiring of the transformer should conform to the local electrical codes and should be performed by a licensed electrician. The following is for guidance only, and should not be construed to alter the requirements of local regulations.

The input wire should not be smaller than the 6AWG for the 45KVA transformer. Cable runs longer than 100 will require at least one size larger wire. The output wire size should be 4 AWG.

The transformer is 480V to 240V isolation transformers with delta wound primary and secondary windings. The primary windings offer 7 tap positions, 2 above and 4 below the nominal input voltage of 480V.

INSTALLATION

13

O MPERATORS ANUAL

96-8500 rev C

June 2001

For domestic installations and all others using 60Hz power, the primary side should be wired as follows:

Input Voltage Range Tap 493-510 1 (504) 481-492 2 (492) 469-480 3 (480) 457-468 4 (468) 445-456 5 (456) 433-444 6 (444) 420-432 7 (432)

This should produce a voltage on the secondary side of 234-243 V RMS L-L. Verify this and readjust the taps as required. At the machine, connect the cables at the input of the internal 230V transformer to the 227-243V taps. Apply power to the machine and verify that the DC voltage between pins 2 and 3 of the Vector Drive (2nd and 3rd pins from the left) is 329-345VDC. If not, return to the 480V isolation transformer and readjust the taps as required. Do not use the taps on the internal 230V transformer to adjust the voltage.

50Hz Installations

The external transformers are 60Hz rated, and cannot be used at 50Hz without derating the input voltage. For these applications, the internal 230V transformer should be tapped on the lowest setting (195-210V RMS). The external transformer should be tapped according to the table shown below. If these tap setting do not produce a DC bus voltage between pins 2 and 3 on the Vector Drive between 320 and 345VDC, readjust the taps on the external transformer as required. DO NOT move the taps on the internal transformer from the lowest position.

Input Voltage Range Tap 423-440 1 (504) 412-422 2 (492) 401-411 3 (480) 391-400 4 (468) 381-390 5 (456) 371-380 6 (444) 355-370 7 (432)

14

INSTALLATION O MPERATORS ANUAL

96-8500 rev C

June 2001

SPINDLE HEAD COOLER INSTALLATION

WARNING

Do not attempt to start up this cooler until you have read through the instructions completely. Improper start-up will void the cooler war- ranty and damage the machine.

Unpacking and Inspection

Retain all cartons and packing material until the unit is operated and found to be in good condition. If the unit shows external or internal damage, or does not operate properly, contact the factory.

Cooler Placement

The coolers are designed for indoor operation in a clean industrial environment. The units are air cooled. The air intake is at the front of the unit and warm air discharge is at the rear. The unit must be placed in an area where the air intake and discharge are not impeded. Lack of adequate cool air will cause a reduction in cooling capacity and/or completely shutdown the refrigeration compressor. The cooler is provided with an air intake filter, which must be kept clean.

Description

The coolers are designed to provide a continuous supply of clean, water based coolant to liquid cooled spindles. The unit is completely self-contained, consisting of a reservoir, temperature controller, recirculating pump and air cooled refrigeration system. After the unit is filled and the proper electrical and plumbing connec- tions are made, the cooler will operate virtually maintenance free, supplying cooling fluid at constant tempera- ture and pressure.

The cooler is designed for use indoors in a clean industrial environment. Ambient temperature should not fall below 55F (13C) or rise above 110F (43C).

Coolant Connections

Make hose connections to the 3/8 quick disconnect fittings on the rear panel tagged DISCHARGE and RETURN. Coolant flow will be out the DISCHARGE connection.

Coolant

A mixture of 95% deionized water with 5% light oil (hydraulic oil Mobile DTE 24, 25 or equivalent) is recom- mended.

Electrical Connections

Plug the power cord directly into the control cabinet. The receptacle is located on the left side of the cabinet as viewed from the rear.

Temperature Adjustment

The cooler is supplied with an adjustable thermostat with a range from 15C to 50C. Set the thermostat to 20C.

INSTALLATION

15

O MPERATORS ANUAL

96-8500 rev C

June 2001

Start-up

Once the cooler has been filled with coolant and the proper plumbing and electrical connections have been made, it can be started by powering up the mill. The ON/OFF switch on the cooler has been bypassed so that the mill controls the ON/OFF condition. When the mill is powered up, an internal green light will energize and the pump, compressor and fan will start and run continuously. Check immediately for plumbing leaks and make any necessary repairs. Check the coolant level after the few minutes it takes for the pump to circulate coolant through the external coolant loop. Add more coolant as necessary to fill the tank to the top of the level gauge.

NOTE: If the mill is setting idle for any length of time (1/2 hr. or longer), turning the mill off will reduce power consumption of the cooler and extend the life of the unit.

Operation

When the mill is powered up the pump, compressor and fan will start and run continuously. When the thermo- stat calls for cooling the solenoid valve on the liquid line is opened and refrigerant flows through the expansion valve to absorb heat and evaporate in the evaporator/heat exchanger. When the thermostat is satisfied, the solenoid valve on the liquid line closes, stopping the flow of refrigerant to the expansion valve. The compressor keeps pumping refrigerant out of the evaporator causing the suction pressure to drop. When the suction pressure drops to about 25 psi, the hot gas bypass valve opens allowing hot refrigerant gas to bypass the condenser and enter directly into the evaporator where it is cooled by the recirculating coolant. The cooler should now be ready for continuous operation.

Do not run the pump dry. Make sure the reservoir has been properly filled with the desired coolant fluid. If the unit is shut off for any reason, allow it to remain off for 5 minutes before restarting. The refrigeration compressor will stall ( a clicking sound will be heard) if time is not allowed for the equalization of refrigerant pressures.

Pump Pressure

The coolant is recirculated at a rate of 4 GPM by a rotary vane, positive displacement type pump. An adjust- able pressure relief bypass valve has been installed in the discharge line to limit the maximum pump pressure that can be developed. The factory set pressure limit is 60 psi. The pressure has been preset at 40 psi. at the factory.

Maintenance

The coolers pull substantial amounts of air through the front panel and across a fin coil refrigerant to air heat exchanger. A cleanable air filter has been provided but a build up of dust or debris on the heat exchange fins will interfere with the transfer of heat and prevent proper operation of the system. Periodic vacuuming of the front condenser fins will prevent a loss of cooling capacity. A visual inspection should be made monthly after initial installation. Vacuum accumulated dust when necessary. Clean the air filter when needed.

Check the coolant level in the system reservoir weekly. Replenish as required any loss due to evaporation. The coolant must be kept clean, and should be changed every 2000 hours of operation or at least once a year.

16

INSTALLATION O MPERATORS ANUAL

96-8500 rev C

June 2001

1.5 MACHINE START UP

1. Before POWERING UP machine, make sure all shiping material is removed

2. Remove the shipping bracket under the spindle head.

3. With the main switch on the electrical panel set to ON, press and release POWER ON at the upper left of the control panel. You will hear a click in the back of the machine and the fans will energize. (If you dont hear these sounds, the machine is not getting power and, with all neces- sary safety precautions, you should check the connections to the electrical panel.) After a few seconds, the display will appear on the screen.

CAUTION! DO NOT press POWER UP/RESTART on the control panel while the shipping bracket is under the spindle.Also, do not touch the X, Y, or Z buttons or the jog handle while the shipping bracket is located under the spindle.

4. Press and release SETNG GRAPH. Then page down to the last page (press and release PAGE DOWN several times). Cursor to Setting 53, JOG W/O ZERO RETURN (with the cursor down key). Press and release the cursor right key and then press and release the WRITE key at the extreme lower right of the control panel to turn this setting on. Turning on JOG W/O ZERO RETURN bypasses the zero return interlock.

NOTE: This setting, like many others, resets to OFF when the machine is powered up. This prevents the machine from operating until a zero return has been executed the machine control cannot determine position until it has been set by a zero return routine. For this reason, it is important that you execute a zero return immediately each time the machine is started for normal operation BUT NOT FOR THIS START-UP ROUTINE.

5. Press and release the RESET button twice, or until you have no alarms, to turn the servos on. (The message ALARM appears at the lower right of the screen if one or more alarms are in effect.)

NOTE: If any alarms are present and cannot be cleared with the RESET button, press and release the ALARM MESGS button for more information on the alarms. If you are unable to clear the alarms, write down the alarm numbers and call the factory.

6. Press and release the HANDLE JOG button and check the screen for the JOGGING Z AXIS HANDLE .001 message. Verify that the head will travel SLOWLY (not more than 0.001 inch per impulse the ".001" part of the Z-axis message). If the message does not read .001, press and release the .001 button next to the HANDLE JOG button.

NOTE: The upper numbers on the buttons next to HANDLE JOG are for the jog handle use, and the lower numbers the jog speed in inches per minute when using the JOG buttons on the keypad. If the "JOGGING__" message shows the X- or Y-axis instead of Z, press and release the +Z button.

INSTALLATION

17

O MPERATORS ANUAL

96-8500 rev C

June 2001

7. Once you are certain that the Z-axis is working correctly (that it operates smoothly and there are no strange noises, etc.), make sure that all alarms are clear check for the ALARM message at the lower right of the screen. Next, close the doors and press and release the ZERO RETURN button followed by the AUTO ALL AXES button. The Z-axis moves up slowly. Then, after it has reached its home position, the X- and Y-axes move to their home positions.

CAUTION! If you hear any strange noises, hit the EMERGENCY STOP button immedi- ately and call the factory.

IMPORTANT!! To verify correct hydraulic counterbalance pressure, jog the head to the top of its travel and check pressure with those printed below and on the tank.

OIL/COOLANT SEPARATOR INSTALLATION

1. Install drain tube (Item #1) into 1/2 pipe threaded hole at the rear of the machine base with pipe sealant compound or Teflon tape.

2. Install Oil/Coolant Separator assembly (Item #2) onto drain tube (Item #1) using the 3/4 compres- sion fitting on the assembly. Be sure to level the separator assembly using the bubble level in front of the separator.

3. Add a cup full of coolant through the outlet line to prime the unit.

4. Install 1/2 polytube Coolant Return Hose (see illustration below) to outlet fitting on separator and place the opposite end of the tube in coolant tank. Polytube should drain downhill into tank.

18

INSTALLATION O MPERATORS ANUAL

96-8500 rev C

June 2001

COOLANT TANK INSTALLATION

1. Position the coolant tank on the left side of the machine as shown.

NOTE: It is important that the coolant tank is in place before leveling the machine to ensure there is adequate clearance between the bottom of the discharge tube and the tank.

2. Connect the main coolant line (3/4" O.D.) to the main pump.

3. Connect the main pump power line to the outlet on the right side of the electrical panel.

4. If machine includes Through the Spindle Coolant option, attach the 1/2" O.D. coolant line to the TSC pump.

NOTE: The TSC power line is hard wired to the main pump power line. The TSC pump is a three phase pump and must be properly phased. Refer to the next section (TSC Setup) for proper phasing instructions.

5. Route the coolant return hose as shown. The coolant return hose must slope downward to the coolant tank. When installing the coolant return hose, pour a cup of coolant through the return hose to charge the unit.

NOTE: Never reuse waste oil from the Oil/Coolant Separator. Dispose of properly.

6. Fill coolant tank with water base coolant only*.

* Mineral cutting oils will damage rubber components throughout the machine.

NOTE: Before operating the coolant system, ensure the drain is positioned half way over tank strainer.

INSTALLATION

19

O MPERATORS ANUAL

96-8500 rev C

June 2001

AUXILIARY FILTER FOR STANDARD COOLANT SYSTEMS

Installation

1. Place the Auxiliary Filter system next to the coolant tank of the machine.

2. Connect the output of the Standard Coolant pump to the input of the Auxiliary Filter.

3. Connect the Auxiliary Filter output hose to the coolant hose of the machine.

4. The Auxiliary Filter tank must be filled with coolant before use.

5. To fill the Auxiliary Filter tank from the Standard Coolant tank, perform the following steps:

Turn on the Standard Coolant Pump. Open the ball valve, located on the top of the Auxiliary Filter tank. Wait for coolant to appear in the drain-back hose. Close the ball valve; the Auxiliary Filter tank is full.

AUXILIARY FILTER REPLACEMENT (STANDARD COOLANT)

The condition of the filter element should be inspected regularly to ensure proper operation. With a clean filter, the two pressure gauges will read equally. A pressure difference of 10 psi indicates the filter is dirty and needs to be replaced. The pressure difference between the two gauges should not exceed 15 psi. Pressure should be checked with the coolant pump running and the coolant ball valves open.

NOTE: The bottom pressure gauge will drop in pressure as the filter becomes dirty.

HAAS recommends using 25-micron rated filter bags; one is provided with the unit. Replacement bags can be purchased from your local filter supplier or from HAAS (P/N 93-9130). Finer micron ratings can be used if desired.

20

INSTALLATION O MPERATORS ANUAL

96-8500 rev C

June 2001

1.6 OPTIONAL AUXILIARY FILTER FOR TSC SYSTEM

APPLICATION

This Auxiliary Filter is used to protect the high pressure TSC pump from particle damage. It is recommended for customers doing medium to high production machining of cast aluminum, cast iron or titanium. It may also be useful for customers who perform high speed milling operations and produce small powder-like chips.

The filter unit consists of a #2 filter bag, filter housing, pipe fittings and hoses. The large size of the filter bag will extend the time interval between bag changes. To reduce wear and prolong the filter system, a small plastic hose is connected between the filter housing and the primary coolant pump to prime the system with coolant. The filter is automatically topped off whenever P-Cool is used. The amount of flow through the priming hose has an unnoticeable effect on normal coolant operation.

Figure 1.0 Standard Filtration Setup Figure 2.0 Optional Auxiliary Filter setup

INSTALLATION

1. Place the filter assembly approximately six inches behind the coolant tank.

2. Attach the hose from the top of the auxilary filter to the hose connector on the coolant pump.

3. Disconnect the 1/2 check valve from the 45 elbow at the base of the normal coolant pump. Install the 1/2 street-tee from the kit between the 45 elbow and the check valve. Install the pipe reducer from the kit into the side outlet of the street-tee. Install the 1/4" push-in elbow into the pipe re- ducer. (See figure 3.0).

NOTE: The cap of the check valve should point upward for the check valve to function properly.

INSTALLATION

21

O MPERATORS ANUAL

96-8500 rev C

June 2001

Figure 3.0 Auxiliary Filter Priming System

4. Insert the 1/4" OD plastic hose into the push-in elbow on the pump. Route the hose along the intake filter hose and around the hinge of the auxiliary filter. Trim the plastic hose to length and insert it into the push-in elbow at the top of the filter. Secure the plastic hose to the inlet hose with the supplied cable ties. (See figure 3.0).

5. Attach the hose from the bottom of the auxiliary filter to the inlet of the TSC gear pump.

6. Check that the filter lid is securely closed. Using a wrench handle or metal bar, tighten the two rear bar nuts first and then the front pair. Torque the bar nuts according to the manufacturer's recom- mendations. (approximately 30-50 ft-lbs)

7. Run the primary coolant system for four minutes to prime the bag filter housing before using the TSC system.

Figure 4.0 Filter Gauge Indicator

REPLACEMENT FILTER BAGS

Change the filter bag when the filter gauge indicator displays a vacuum level of -5 inHg or more. Do not allow the suction to exceed -10 inHg or pump damage may occur (refer to figure 4.0). HAAS recommends using 25 micron rated filter bags (one is provided with the unit). Replacement bags can be purchased from local filter suppliers (#2 trade size filter bag) or from HAAS (Part No. 93-9130). Finer micron ratings can be used if desired.

22

INSTALLATION O MPERATORS ANUAL

96-8500 rev C

June 2001

1.7 CHIP AUGER INSTALLATION

1. Unpack the discharge tube.

2. Install the discharge tube into place. Attach with eight SHCS and locking washers and tighten uniformly.

3. After machine start-up, check the operation of the auger to ensure the direction of rotation will move the chips toward the discharge tube. If the auger is turning so that the chips are not being moved toward the discharge tube, change the bit switch in PARAM 209 from 1 to 0 or 0 to 1 to establish a new forward direction.

MAINTENANCE

During normal operation, most chips are discharged from the machine at the discharge tube. However, very small chips may flow through the drain and collect in the coolant tank strainer. To prevent drain blockage, clean this trap regularly. Should the drain become clogged and cause coolant to collect in the machines pan, stop the machine, loosen the chips blocking the drain, and allow the coolant to drain. Empty the coolant tank strainer, then resume operation.

NOTE: Augers and discharge tube are subject to wear. Abrasive swarf, hard steel chips and continuous use will accelerate this wear.

NOTE: On a machine with a safety circuit, the chip auger will only run with the door closed regardless of the Conveyor Door Override bit.

INSTALLATION

23

O MPERATORS ANUAL

96-8500 rev C

June 2001

1.8 LEVELING PROCEDURE

SQUARING PACKAGE AND COMPONENT LIST

(2) "D" and (2) "C" leveling bolts each column. Reference Bridge Twist, Leveling the Bridge and Bridge Align- ment.

TOOL LIST: 1. 3/4" ALLEN WRENCH 2. 3/4" DRIVE RATCHET 3. 3/4" ALLEN SOCKET 4. 3/4" SOCKET 5. .0001 INDICATOR 6. LARGE MAG BASE 7. 3 FT. GRANITE 8. TRI-GRANITE 9. 12.00 GROUND TOOL 10. SHIM STK 11. BOTTLE JACK 12. LEVEL 13. GROUND MAGNET

24

INSTALLATION O MPERATORS ANUAL

96-8500 rev C

June 2001

LEVEL THE BED

1. Home the Z-axis and loosen the (9) 1-8 UNC SHCS holding the column to the bed.

2. Place electronic or spirit levels along the X and Y axes. Place two levels at right angles to each other as close as possible to the center of the table (one will show the level across the width of the table and the other will show the level along the length of the table).

3. Start the leveling between the columns. A zero reading at this position should be achieved.

4. Jog the X-axis from one end to the other and level the machine (NTE .0005"/20").

WORST CONDITION MEASURED VALUE: X-AXIS____________________

(NTE .0005/Full travel) Y-AXIS____________________

INSTALLATION

25

O MPERATORS ANUAL

96-8500 rev C

June 2001

TABLE ALIGNMENT

1. Place a magnetic base on the C-axis plate and indicate the inside of the center T-slot.

2. Jog X-axis the full travel of the table.

3. If adjustment is necessary loosen the 16 M12 bolts and align the table.

MEASURED VALUE______________ (NTE .0005/20")

FULL TRAVEL___________________ (NTE .0015)

26

INSTALLATION O MPERATORS ANUAL

96-8500 rev C

June 2001

BRIDGE TWIST

1. Tighten all the bolts holding the columns to the bed.

2. Place differential level on top of ram and jog the Y-axis. (NTE .0005"/20")

3. Loosen bolts holding the column to the bed and raise or lower the column leveling bolts to elimi- nate the twist.

4. Re-tighten the bolts and repeat step 2. The bridge does not need to be level as long as the read- ings on the differential levels stay the same.

WORST CONDITION MEASURED VALUE: X-AXIS____________________

(NTE .0005/20") Y-AXIS____________________

INSTALLATION

27

O MPERATORS ANUAL

96-8500 rev C

June 2001

LEVELING THE BRIDGE (X,Y PARALLELISM)

1. Place 3ft granite at the center of the table along the Y-axis. (make sure all surfaces are clean prior to starting).

2. Jog the Y-axis over the granite, using a .0001 dial indicator measure parallelism. (NTE. .0005"/ 20')

3. Loosen the bolts holding the column to the bed and raise or lower one column to adjust X,Y axis parallelism.

4. Tighten the bolts holding the column to the base. Repeat step 2.

MEASURED VALUE_______________________ (NTE .0005/20")

28

INSTALLATION O MPERATORS ANUAL

96-8500 rev C

June 2001

BRIDGE ALIGNMENT (X,Y PERPENDICULARITY)

1. Place a triangular granite at the center of the table and zero the X-axis travel (see figure).

2. Jog the indicator along the Y-axis, using a .0001 indicator check parallelism (NTE .0005" / 20").

3. If adjustment is necessary, loosen the bolts holding the column to the bridge and adjust with the jacking bolt to achieve X,Y perpendicularity.

4. Tighten the bolts holding the column to the bridge. Repeat step 2.

MEASURED VALUE_______________________ (NTE .0005/20")

INSTALLATION

29

O MPERATORS ANUAL

96-8500 rev C

June 2001

RAM ALIGNMENT (X,Z PERPENDICULARITY)

1. Place a 3 ft granite at the center of the table along the X-axis.

2. Jog the X-axis, and zero the granite. Shims may have to be used in order to achieve a zero reading on the granite (do not exceed .0005" shim).

3. Place a triangular granite on top of the 3 ft granite. Zero the triangular granite in the Y-axis.

4. Jog the Z-axis up and down the length of the granite. Measure the Z,X perpendicularity. (NTE .0005"/20")

5. Loosen the bolts holding the columns to the bed and tilt both columns equally to adjust Z,X perpendicularity (one front pull pin each side should be removed for squaring).

6. Tighten the bolts and repeat step 4.

X Axis

YAxis

Granite Blocks

Pull Pin (4)

Mag Base

Z Axis

MEASURED VALUE_______________________ (NTE .0005/20")

EXAMPLE: Along a 24.00 Plate

30

INSTALLATION O MPERATORS ANUAL

96-8500 rev C

June 2001

SUBPLATE ALIGNMENT (Y,Z PERPENDICULARITY)

1. Place a 3 ft granite at the center of the table along the Y-axis.

2. Jog the Y-axis, and zero the 3 ft granite. Shims may have to be used in order to achieve a zero reading on the granite (do not exceed .0005" shim).

3. Place a triangular granite on top of the 3 ft granite. Zero the triangular granite in the X-axis.

4. Jog the Z-axis up and down the length of the triangular granite. Measure the Y,Z perpendicularity. (NTE .0005"/20")

5. Loosen the bolts holding the subplate to the ram, with a bottle jack tilt the subplate along the Y- axis to adjust perpendicularity.

6. Tighten the bolts and repeat step 4.

MEASURED VALUE_______________________ (NTE .0005/20")

INSTALLATION

31

O MPERATORS ANUAL

96-8500 rev C

June 2001

C-AXIS SWEEP (C -AXIS / X -AXIS PERPENDICULARITY)

1. Place magnetic base on C-axis plate.

2. Place gauge blocks on the table as shown. (1,2,3,4)

3. Rotate C-axis at the center of the table and take readings at each of the gauge blocks. (NTE .0005/20" DIA.)

4. If adjustment is necessary, loosen the bolts holding the C-axis mounting plate to the ram. Add shims to adjust C-axis perpendicularity. Add shims by each bolt to incorporate a gradual slope and not a deflected plate (See Example).

5. Tighten the bolts and repeat step 3.

MEASURED VALUE (NTE .0005/20 DIA.) (1)_____________

(2)_____________ (3)_____________ (4)_____________

X-AXIS TOTAL__________________ (Difference between positions 2 & 4) Y-AXIS TOTAL__________________ (Difference between positions 1 & 3)

Detail A

Detail B

32

INSTALLATION O MPERATORS ANUAL

96-8500 rev C

June 2001

SPINDLE RUNOUT

1. Place 12" ground tool in a tool holder and install the tool holder in the spindle. Find the high spot of the 12" ground tool, take readings 2" from the gauge line.

2. Rotate spindle at the center of the table and take readings at each of the numbered positions. (NTE .0001/180)

MEASURED VALUE (NTE .0001/180) (1)_____________

(2)_____________ (3)_____________ (4)_____________

X-AXIS TOTAL__________________ (Difference between positions 2 & 4) Y-AXIS TOTAL__________________ (Difference between positions 1 & 3)

Detail A

Detail B

INSTALLATION

33

O MPERATORS ANUAL

96-8500 rev C

June 2001

SPINDLE SWEEP (SPINDLE / X-AXIS PERPENDICULARITY)

1. Place an indicator bar in a tool holder and install in the spindle.

2. Place gauge blocks on the table as shown (1,2,3,4).

3. Rotate spindle at the center of the table and take readings at each of the gauge blocks. (NTE .0005/20" DIA.)

4. If Y-axis adjustment is necessary, loosen the (6) 8mm SHCS, (4) 10mm SHCS each side, and tilt the spindle with alignment tool.

5. If X-axis adjustment is necessary, change parameter 213. The larger the value entered for param- eter 213 the father the spindle will move from zero. The B-axis must be zeroed before a reading can be taken.

MEASURED VALUE (NTE .0005/20 DIA.) (1)_____________

(2)_____________ (3)_____________ (4)_____________

X-AXIS TOTAL__________________ (Difference between positions 2 & 4) Y-AXIS TOTAL__________________ (Difference between positions 1 & 3)

34

INSTALLATION O MPERATORS ANUAL

96-8500 rev C

June 2001

CONCENTRICITY OF C-AXIS AND SPINDLE

1. Place 12" ground tool in a tool holder and install the tool holder in the spindle. Find the high spot of the 12" ground tool, take readings 2" from the gauge line.

2. Rotate C-axis and take readings at each of the numbered positions. (NTE .0005/180)

3. If X-axis adjustment is necessary, loosen the (6) 8mm SHCS, (4) 10mm SHCS each side, (8) 3/8- 16 SHCS and tighten the side the spindle needs to be pulled towards, to achieve concentricity. Use the 1/4-20 jacking bolts in order to pull plate.

4. If Y-axis adjustment is necessary, loosen the (4) 1/2-13 SHCS, (4) 1/2-13 Hex bolt, 4 clamps, and move the head assembly.

5. Check B-axis motor pulley. Engage E-stop, pulley should turn easily by hand.

MEASURED VALUE (NTE .0005/180) (1)_____________

(2)_____________ (3)_____________ (4)_____________

X-AXIS TOTAL__________________ (Difference between positions 1 & 3) Y-AXIS TOTAL__________________ (Difference between positions 2 & 4)

INSTALLATION

35

O MPERATORS ANUAL

96-8500 rev C

June 2001

C-AXIS ALIGNMENT

1. Place 12" ground tool in a tool holder and install the tool holder in the spindle. Find the high spot of the 12" ground tool, take readings 10" from the gauge line.

2. Rotate B-axis to 90 and zero the .0001 indicator.

3. Rotate C-axis 180 and take reading (NTE .0005/180)

4. If alignment is necessary, change the value of parameter 212.

X Axis

YAxis

Z Axis

Mag Base

Ground Tool

180 O

MEASURED VALUE__________________ (NTE .0005/ 20" DIA.)

36

INSTALLATION O MPERATORS ANUAL

96-8500 rev C

June 2001

PIVOT LENGTH

1. Put B-axis at 90 and zero the indicator

2. Jog Z-axis up, rotate B-axis 180

3. Place ground magnet on spindle face.

4. Jog X-axis over to zero indicator, total X-travel divided by two is the pivot length

5. Use DEBUG mode to input pivot length value (Setting 116).

X Axis

YAxis

Z Axis

Mag Base

Ground Magnet

180 O

PIVOT LENGTH MEASURED VALUE______________ (Value range 8.000 to 8.200)

INSTALLATION

37

O MPERATORS ANUAL

96-8500 rev C

June 2001

TABLE FLATNESS

1. Place a magnetic base on the C-axis plate and indicate the table.

2. Jog X-axis the full travel of the table and take the reading.

3. Jog Y-axis the full travel of the table and take the reading

4. Scape the table if necessary.

MEASURED VALUE______________ (NTE .0005/10")

FULL TRAVEL___________________ (NTE .0015)

38

INSTALLATION O MPERATORS ANUAL

96-8500 rev C

June 2001

1.9 SPINDLE RUN-IN

CAUTION! Spindle run-in program must be run before spindle can be run above 1000 RPM. Failure to run this program can result in spindle over heating and failure.

Before running the spindle, a spindle run-in must be performed. A program has been supplied with the machine, which will slowly run the spindle up to speed (approx. 2 hrs.). This will purge out any oil which may have settled at the nose of the spindle, due to long idle time. The program is # 002021 Spindle Run-In and will be used for all spindle types and RPM's. Adjust spindle speed override depending on maximum spindle speed of machine: Set override 50% for 5,000 RPM machines; Set at 100% for 7,500 and 10,000 RPM machines; Set at 150% for 15,000 RPM machines. For machies equipped with a 50 taper spindle, run spindle speed override at 50%.

N100 S750M3 G04 P600.; S2500M3; G04 P600.; S5000M3; G04 P900.; N200 M97 P1000 L15 M97 P2000 L15 M30;

N1000 S7500M3; G04 P30.; S500 M3; G04 P150.; M99;

N2000 S10000M3; G04 P30.; S500M3; G04 P150.; M99; %

HSK 63A Feamat Spindle requires a toolholder in the spindle and the chiller to be set at 20C while the spindle is running.

The spindle should be checked periodically for spindle temperature rise. If the temperature rises above 150 degrees, start the program from the beginning. If the temperature rises above 150 degrees a second time, contact your dealer.

INSTALLATION

39

O MPERATORS ANUAL

96-8500 rev C

June 2001

1.10 G54 Z SETUP PROCEDURE

H A A S

H A A S

H A A S

-Y

+ Z

- Z

Y

B-AXIS TRAVEL

- X

+ X

+Y

C-AXIS TRAVEL

HOME

0 HOME

0 HOME

Figure 3-3 VB-1 Five Axis Motion

NOTE: The following instructions are only a guide offering suggestions and tips to aid in machine setup and operation. Numerous methods are used to build the stack or determine the total distance between the tip of the tool and the pivot point of the machine. Use one that works best for your application.

Loading Tools

Determine the tools needed and get them ready. TOOLCHANGER GUIDELINES: - Maximum of 8 tools - 12 lb. maximum per tool - Extremely heavy tool weights should be distributed evenly.

*All tools must be loaded through the spindle.

The master tool shipped with the machine is inscribed with the pivot length of the machine, the gauge length of the master tool, and the machine serial number. This information is necessary for machine set-up and used as a reference when programming the machine using a CAM system.

Set the work coordinates for X and Y using a dial indicator.

The master tool is used to set G54 Z. Depending on how the program is posted, the pivot length of the machine (stamped on the master tool) must be input into G54 Z as well as true machine postition Z (distance from Z home)

40

INSTALLATION O MPERATORS ANUAL

96-8500 rev C

June 2001

Enter the Z machine position in the Z-work coordinate offset register using the Part Zero Set button on the control panel. The pivot length may need to be added to the Z-work coordinate offset register. (This may not be necessary depending on the CAM system used).

Setting G54 Example:

This set-up method for G54 is for posts programs calculated from the the pivot legnth.

1. Place the master tool or reference tool into the spindle. 2. Jog the Z-axis down to Part Zero position. 3. Go to the Offsets page and cursor down to G54 Z position. 4. Press the Part Zero button. 5. In the Offsets page, add the Pivot length of the machine to calculate.

For example:

machine position -16.1250 pivot length -13.4661 G54 Z -29.5910

Figure 4-2. Pivot and Gauge length calculation

Measure the length of the tools against the master tool or use a tool setter. The difference between the two is used to determine the gauge length of the tools. Both the gauge length and the pivot length are required by CAM systems to generate accurate tool paths.

Tool lengths do not need to be entered in the tool offset register when posting the pivot and gauge length of the tool.

INSTALLATION

41

O MPERATORS ANUAL

96-8500 rev C

June 2001

The control will not recognize the tool length register if you do not use tool length compensation G43 or G143 and an H-code.

NOTE: It is a good practice to use G49 and H00 for safe positioning (this will cancel any H values and tool height compensation that could cause an overtravel or crash.

Setting the work height offset. Use the master gauge or the tip of a tool, touch the top of the part or the program Z-zero location.

Prove out the program using 5% to 25% rapids and single block mode where necessary to insure the machine is set up properly and the tool path is correct.

Use caution when commanding the B-axis to be tilted while machining close to the table, fixture, or workpiece. Check for proper clearances.

Using a Check Block

It's good practice to mount a permanent check block (block with a hole drilled, bored and a hardened bushing installed) to your table or subplate for verifying the machines position.

Assign an offset to this position such as G129. To check for positioning accuracy, use the following command in MDI;

G00 G129 G90 X0 Y0 A0 B0

Jog the Z-axis down and sweep the bore with a tenth indicator to check for positioning accuracy. This will indicate whether the A-axis and B axes are out-of-tram.

For more information, refer to the "FIFTH AXIS SETUP" in the Options section of this manual.

42

INSTALLATION O MPERATORS ANUAL

96-8500 rev C

June 2001

SERVO CONTROL BRACKET INSTALLATION (OPTIONAL)

1. Remove tool holder bracket from pendant shelf.

2. Use tool holder bracket hardware (10-32 X 3/8) to attach the Servo Control pendant bracket to pendant shelf into the front pemnuts. Use a scribe to mark the location of the two holes to be drilled by back probing through the pemnut holes up into the pendant shelf. Remove the bracket and drill two (0.25) holes through the pendant shelf in the middle of the scribed circles just made. Reinstall the Servo Control pendant bracket to pendant shelf using four 10-32 X 3/8 button head cap screws.

3. Attach the tool holder bracket to the Servo Control pendant bracket with the remaining two button head cap screws.

4. Remove servo control rear rubber feet and screws. Slide servo control into the bracket from the back. Slide forward until the rear servo control baseplate threaded holes line up with the two holes in the Servo Control bracket and reinstall the screws into the servo control baseplate, through the bracket, without the rubber feet.

5. Mount the table or indexer to the mill table. Route the cable lead(s) over the mills sheet metal enclosure. Make sure the leads do not limit the table travels. Attach the leads to the rear panel of the single axis control box. Note: the control must be powered off when connecting or disconnect- ing the leads.

Installed Servo Control Bracket

MAINTENANCE

43

O MPERATORS ANUAL

96-8500 rev C

June 2001

2. MAINTENANCE SCHEDULE

The following is a list of required regular maintenance for the HAAS VB Series Machining Centers. Listed are the frequency of service, capacities, and type of fluids required. These required specifications must be followed in order to keep your machine in good working order and protect your warranty.

INTERVAL MAINTENANCE PERFORMED

DAILY Check coolant level each eight hour shift (especially during heavy usage). Check way lube lubrication tank level. Clean chips from way covers and bottom pan. Clean chips from tool changer. Wipe spindle taper with a clean cloth rag and apply light oil.

WEEKLY Check automatic dump air lines water trap for proper operation. Check air gauge/regulator for 85 psi. Clean exterior surfaces with mild cleaner. DO NOT use solvents. Check the hydraulic counterbalance pressure according to the machines specifications. Check the coolant level of the spindle head cooler (95% deionized water with 5% light oil - hydraulic oil, Mobile DTE 24, 25 or equivalent).

MONTHLY Place a dab of grease on the V-flange of tools. Clean the chip basket on the coolant tank. Remove the tank cover and remove any sediment inside the tank. Be careful to disconnect the coolant pump from the controller and POWER OFF the control before working on the coolant tank. Inspect way covers for proper operation and lubricate with light oil, if necessary. Place a dab of grease on the outside edge of the guide rails of the tool changer and run through all tools. Check oil level in the Drawbar tank, located on top of the bridge under the sheetmetal cover. (use Mobil DTE 25 oil) Clean the air filter and front condeser fins of the spindle head cooler

SIX MONTHS Replace coolant and thoroughly clean the coolant tank. Check all hoses and lubrication lines for cracking.

ANNUALLY Check oil filter and clean out residue at bottom of filter. Change spindle head cooler fluid (95% deionized water with 5% light oil - hydraulic oil, Mobile DTE 24, 25 or equivalent). Replace air filter on control box every (2) years.

MAINTENANCE

44

O MPERATORS ANUAL

96-8500 rev C

June 2001

2.1 LUBRICATION CHART

METSYS SCITAMUENPDNAEBULYAW KNATTNALOOC sixAB&A

NOITACOL ehtforaerehttalenaplortnocehtrednU enihcam

enihcamfoediS eldnipsehtevobA

NOITPIRCSED .emitelcycetunim03htiwpmupnotsiP gninrutsieldnipsnehwnoylnosipmuP

.gnivomsisixanehwro

SETACIRBUL eldnipsdnastunllab,sediugraeniL raeGmroW

YTITNAUQ elytspmupnognidneped.stQ5.2-2 snollaG041 .stq-5sixaA stq-4sixaB

TNACIRBUL 2#artcaVliboM *ylnotnaloocesabretaW 036CHSelivboM

* Mineral cutting oils will damage rubber components throughout the machine

Use of coolants with extremely low lubricity can damage the TSC coolant tip and pump.

To clean the filter: Turn off the coolant pump. Remove the filter. Clean and reinstall filter.

MAINTENANCE

45

O MPERATORS ANUAL

96-8500 rev C

June 2001

2.2 LUBRICATION SYSTEM

All machine lubrication is supplied by the external lubrication system. The reservoir is located on the lower rear of the machine (see Figure below). Current lube level is visible in the reservoir. If additional lube needs to be added, remove the cap from the fill port and add lube to proper level.

External Lubrication System

WARNING!

DO NOT ADD LUBE ABOVE THE HIGH LINE MARKED ON THE RESERVOIR. DO NOT ALLOW THE LUBE LEVEL TO GO BELOW THE LOW LINE MARKED ON THE RESERVOIR AS MACHINE DAMAGE COULD RESULT.

To lubricate the system, pull up on the primer pull-tab located next to the fill port. The primer will automatically send 3cc of lube through the system.

2.3 CHIP AUGER

MAINTENANCE

During normal operation, most chips are discharged from the machine at the discharge tube. However, very small chips may flow through the drain and collect in the coolant tank strainer. To prevent drain blockage, clean this trap regularly. Should the drain become clogged and cause coolant to collect in the machines pan, stop the machine, loosen the chips blocking the drain, and allow the coolant to drain. Empty the coolant tank strainer, then resume operation.

MAINTENANCE

46

O MPERATORS ANUAL

96-8500 rev C

June 2001

47

O MPERATORS ANUAL

INTRODUCTION

96-8500 rev C

June 2001

3. OPERATION

This section contains information on the following:

Basic machine overview

Basic programming

3.1 MACHINE OVERVIEW

This section provides the basic programming and operation principles necessary to begin operating the ma- chine. The remainder of this manual is divided into more detailed Programming and Operation sections.

In an NC (Numerically Controlled) machine, the tool is controlled by a code system that enables it to be operated with minimal supervision and with a great deal of repeatability. CNC (Computerized Numerical Control) is the same type of operating system, with the exception that the machine tool is monitored by a computer.

The same principles used in operating a manual machine are used in programming an NC or CNC machine. The main difference is that instead of cranking handles to position a slide to a certain point, the dimension is stored in the memory of the machine control once. The control will then move the machine to these positions each time the program is run.

The operation of the Machining Center requires that a part program be designed, written, and entered into the memory of the control. The most common way of writing part programs is off-line, that is, away from the CNC in a facility that can save the program and send it to the CNC control. The most common way of sending a part program to the CNC is via an RS-232 interface. The HAAS Machining Center has an RS-232 interface that is compatible with most existing computers and CNCs.

In order to operate and program a CNC controlled machine, a basic understanding of machining practices and a working knowledge of math is necessary. It is also important to become familiar with the control console and the placement of the keys, switches, displays, etc., that are pertinent to the operation of the machine.

This manual can be used as both an operators manual and as a programmers manual. It is intended to give a basic understanding of CNC programming and its applications. It is not intended as an in-depth study of all ranges of machine use, but as an overview of common and potential situations facing CNC programmers. Much more training and information is necessary before attempting to program on the machine.

The programming section of this manual is meant as a supplementary teaching aid to users of the HAAS Vertical Machining Center. The information in this section may apply in whole or in part to the operation of other CNC machines. Its use is intended only as an aid in the operation of the HAAS Machining Center.

INTRODUCTION

48

O MPERATORS ANUAL

96-8500 rev C

June 2001

THE COORDINATE SYSTEM

The first diagram we are concerned with is called a NUMBER LINE. This number line has a reference point zero that is called ABSOLUTE ZERO and may be placed at any point along the line.

Horizontal number line.

The number line also has numbered increments on either side of absolute zero. Moving away from zero to the right are positive increments. Moving away from zero to the left are negative increments. The +, or positive increments, are understood, therefore no sign is needed.

We use positive and negative along with the increments value to indicate its relationship to zero on the line. In the case of the previous line, if we choose to move to the third increment on the minus (-) side of zero, we would call for -3. If we choose the second increment in the plus range, we would call for 2. Our concern is with distance and direction from zero.

Remember that zero may be placed at any point along the line, and that once placed, one side of zero has negative increments and the other side has positive increments.

The illustration below shows the three directions of travel on a vertical machining center. To carry the number line idea a little further, imagine such a line placed along each axis of the machine.

The first number line is easy to conceive as belonging to the left-to-right, or X, axis of the machine. If we place a similar number line along the front-to-back, or Y, axis, the increments toward the operator are the negative increments, and the increments on the other side of zero away from the operator are the positive increments.

H A A S

H A A S

H A A S

-Y

+ Z

- Z

Y

B-AXIS TRAVEL

- X

+ X

+Y

C-AXIS TRAVEL

HOME

0 HOME

0 HOME

Axis lines.

0 1 2 3-1-2-3

0

1

2

3

-1

-2

-3

V e r t i c a l

n u m b e r

l i n e

49

O MPERATORS ANUAL

INTRODUCTION

96-8500 rev C

June 2001

The final axis of travel on our machine is the up-and-down, or Z, axis. When we place a number line on the Z travel, the positive increments are up above zero and the negative values are down below zero. Actu- ally, the increments on each number line on the HAAS machining centers equals .0001 inches. Also, while a line theoretically travels infinitely in either direction once established, the three lines placed along the X, Y, and Z axes of the machine do not have unlimited accessibility. That is to say, we are limited by the range of travel on the machine.

Remember, when we are moving the machine, we are concerned with positioning the spindle. Although the machine table is the moving part, we have to keep in mind our coordinates are based off our theoretical spindle movement.

Keep in mind that the zero position may be placed at any point along each of the three number lines, and in fact will probably be different for each setup of the machine. It is noteworthy to mention here that the Z-axis is usually set with the machine zero position in the full upward position, or the tool change position. This will place all the Z moves in a negative range of travel. However, the work zero in the Z-axis is usually set at the top of the part surface, and this will be entered in the tool length offset as a negative value.

The diagram below shows a top view of the grid as it would appear on the machine tool. This view shows the X and Y axes as the operator faces the machine tool. Note that at the intersection of the two lines, a common zero point is established. The four areas to the sides and above and below the lines are called QUADRANTS and make up the basis for what is known as rectangular coordinate programming.

OPERATOR

-X, +Y +X, +Y

-X, -Y +X, -Y

1 2 3-1-2-3

1

2

3

-1

-2

-3

View of X,Y grid from above.

THE TOP LEFT QUADRANT IS = X- , Y+ THE BOTTOM LEFT QUADRANT IS = X- , Y- THE TOP RIGHT QUADRANT IS = X+ , Y+ THE BOTTOM RIGHT QUADRANT IS= X+ , Y-

INTRODUCTION

50

O MPERATORS ANUAL

96-8500 rev C

June 2001

Whenever we set a zero somewhere on the X-axis and somewhere on the Y-axis, we have automatically caused an intersection of the two lines. This intersection where the two zeros come together will automatically have the four quadrants to its sides, above, and below it. How much of a quadrant we will be able to access is determined by where we placed the zero within the travel of the machine axis.

For example, if we set zero exactly in the middle of the travel of X and Y (table center), we have created four quadrants that are 10 inches by 8 inches in size.

MACHINE HOME

The principal may be seen when doing a manual reference return of all machine axes. When a zero return (ZERO RET) is performed at machine start up, all three axes are brought to the extreme positive direction until the limit switch is reached. When this condition is satisfied, the only way to move any of the three axes is in the negative direction. This is because a new zero was set for each of the three axes automatically when the machine was brought Home. This is placed at the edge of each axes travel. In effect, now the positive quad- rants cannot be reached, and all the X and Y moves will be found to be in the X-, Y- quadrant. It is only by setting a new part zero somewhere within the travel of each axis that other quadrants are able to be reached.

X-, Y+ X-, Y+

XO, YO

X+, Y- X+, Y-

All four quadrants will have to be accessed to machine this part.

Sometimes it is useful in the machining of a part to utilize more than one of the X,Y quadrants. A good example of this is a round part that has its datum lines running through the center. The setup of such a part may look like the figure above.

These are just some examples of how to make use of the four quadrants of the X and Y axes on the machine. As more experience is gained in the machine tool programming and setup techniques, each programmer and setup person develops their own methods and style. Some methods will be faster than others, but each individual will have to determine the needs of each job in question, and reflect back on notes and the previous jobs completed.

51

O MPERATORS ANUAL

INTRODUCTION

96-8500 rev C

June 2001

ABSOLUTE AND INCREMENTAL POSITIONING

Up to this point, we have dealt with a system of positioning the tool that is known as absolute programming. In absolute, all coordinate points are given with regard to their relationship to the origin, a fixed zero point, or considered as part zero. This is the most common type of positioning.

Another type of positioning is called incremental positioning. Incremental positioning concerns itself with distance and direction. A new coordinate is entered in terms of its relationship to the previous position, and not from a fixed zero or origin. In other words, after a block of information has been executed, the position that the tool is now at is the new zero point for the next move to be made.

An example of the use of the incremental system is below. Note that to move from X 4.25 to X 2.025 on the scale, an incremental move of X -2.225 was made, even though the move still places the tool on the plus side of the scale. Therefore the move was determined from the last point, with no regard for the zero position. The + and - signs are used in terms of direction, and not in regard to the position of zero.

4 5 6

X -2.225

X 2.025 X 4.250

X0

An example of an incremental move.

Keep in mind that when positioning in absolute, we are concerned with distance and direction from a fixed zero reference point, and when positioning in incremental we are concerned with distance and direction from the last position.

INTRODUCTION

52

O MPERATORS ANUAL

96-8500 rev C

June 2001

3.2 BASIC PROGRAMMING

PROGRAMMING WITH CODES

A program is written as a set of instructions given in the order they are to be performed. The instructions, if given in English, might look like this:

LINE #1 = SELECT CUTTING TOOL. LINE #2 = TURN THE SPINDLE ON AND SELECT THE RPM. LINE #3 = TURN THE COOLANT ON. LINE #4 = RAPID TO THE STARTING POSITION OF THE PART. LINE #5 = CHOOSE THE PROPER FEED RATE AND MAKE THE CUT(S). LINE #6 = TURN OFF THE SPINDLE AND THE COOLANT. LINE #7 = RETURN TOOL TO HOLDING POSITION AND SELECT NEXT TOOL.

and so on. But our machine control understands only these messages when given in machine code.

Before considering the meaning and the use of codes, it is helpful to lay down a few guidelines:

1. Codes come in groups. Each group has an alphabetical address. The rule is, with thexception of G codes and macro calls, codes with the same alphabetical address cannot be used more than once on the same line.

2. A G code come in groups. Each G code group has a specific group number. G codes from the same group cannot be used more then once on the same line.

3. There are modal G codes which, once established, remain effective until replaced with another code from the same group.

4. There are non-modal G codes which, once called, are effective only in the calling block, and are immediately forgotten by the control.

The rules above govern the use of all codes for programming the Haas (and other) controls. The concept of grouping codes and rules that apply will have to be remembered if we are to effectively program the machine tool. The following is a discussion of the codes most basic to the operation of the machine.

53

O MPERATORS ANUAL

INTRODUCTION

96-8500 rev C

June 2001

G CODES:

G00 Rapid traverse motion; Used for positioning and during non-cutting moves. G01 Linear interpolation motion; Used for actual machining and metal removal. Governed by pro-

grammed feed rate. G02 Circular interpolation - Clockwise G03 Circular interpolation - Counterclockwise G28 Machine home (Rapid traverse) G40 Cutter compensation cancel G41 Cutter compensation to left of path G42 Cutter compensation to right of path G43 Read tool length compensation G54 Work coordinate #1 (Part zero) G80 Canned cycle cancel G81 Drill canned cycle G82 Spot drill canned cycle G83 Peck drill canned cycle G84 Tapping canned cycle G90 Absolute programming G91 Incremental programming G98 Initial point return G99 Reference plane return

M CODES:

M00 Program stop. Press CYCLE START button to continue. M01 Optional program stop. Press optional stop key on control panel on M01 code. M02 End of program. Cannot continue. M03 Start spindle forward (Clockwise). Must be accompanied by a spindle speed. M04 Start spindle reverse (Counterclockwise). Must have a spindle speed. M05 Spindle stop M06 Tool change command. Must have a tool number in the same line. This command will

automatically stop the spindle. M08 Coolant ON command M09 Coolant OFF command M30 Program end and rewind to beginning of program M97 Local subroutine call M98 Subprogram call M99 Subprogram return, or loop

NOTE: Only one M code can be used per line. The M code will be the last item of code to be performed, regardless of where it is located in the line.

INTRODUCTION

54

O MPERATORS ANUAL

96-8500 rev C

June 2001

MACHINE DEFAULTS

A default is an automatic function of the machine tool control. When powering up the machine, the control looks for the home position of all axes, then will read the default values or the preset G codes. If you have ever wondered why the machine went to the part zero that was entered in the G54 column when it was never specified in the actual program, it is because the machine automatically reads the G54 column upon start-up. That is a default.

The defaults for the Haas mill are indicated by an asterisk ( * ) in the "Preparatory Functions (G Codes)" section of this manual.

The control automatically reads these G codes when power is turned on:

G00 Rapid traverse G17 X,Y Circular plane selection G20 Select inches G40 Cutter Compensation cancel G49 Tool length compensation cancel G54 Work coordinate zero #1 (1 of 26 available) G64 Exact stop cancel G80 Canned cycle cancel G90 Absolute programming G94 Feed per minute mode G98 Initial point return

There is no default FEED RATE (F code), but once an F code is programmed, it will apply until another is entered or the machine is turned off.

PROGRAM FORMAT

Program format, or style, is an important part of CNC machining. Each individual will format their programs differently and, in most cases, a programmer could not identify a program written by themselves. The point is that a programmer needs to be consistent and efficient, writing code in the way it is listed and in the order it appears in the program. For example:

X, Y, Z is in order of appearance. The machine will read X, Y, or Z in any order, but we want to be consistent. Write X first, Y second, Z third.

The first line or block in a program using active G codes should be a tool number and tool change command. This would be a good safety measure.

The second line or block will contain a rapid command (G00), an absolute or incremental command (G90, G91), a work zero for X and Y (G54), a positioning X and Y coordinate, a spindle speed command (S____), and a spindle ON clockwise command (M03).

55

O MPERATORS ANUAL

INTRODUCTION

96-8500 rev C

June 2001

The third line or block will contain a Read tool length compensation command (G43), a tool length offset number (H01), a Z-axis positioning move (Z.1), and an optional coolant ON command (M08).

An example programs first three lines will look like this:

T1 M06; G00 G90 G54 X0 Y0 S2500 M03; G43 H01 Z.1 M08;

All the necessary codes for each operation are listed above. This format is a good practice and will separate your style from other programmers.

QUESTION:

If G00, G90, and G54 are defaults, why do we list them in the second line of a program and for each different tool?

ANSWER:

G00, G90, and G54 are listed for an operator/setup persons aid. They show that the machine will rapid to positions, the machine is in absolute coordinate mode, and the work zero coordinates. The work zero is always different between setups, and multiple work zeros are very common.

QUESTION:

Can we combine the second and third lines, excluding the M08 code? If so, why do we write the lines sepa- rate?

ANSWER:

Yes. The four G codes G00, G90, G54, and G43 all belong to different groups. Remember, no two G codes of the same group can be listed on the same line. However the main reason for using two lines is SAFETY. Remember, only one line of information can be executed at a time. The X and Y coordinates will position first, then the tool length and the Z coordinate will execute. If combined, all three axes will move simultaneously, and any interfering clamps or fixtures can be struck and/or destroyed. When combining X, Y, and Z in positioning, chances of crashing the machine are greater.

INTRODUCTION

56

O MPERATORS ANUAL

96-8500 rev C

June 2001

Tool length offset and tool length compensation. (show on a VMC)

Tool number should always remain numerically matched with the tool length offset number. Setting 15 (the H & T agreement) will ensure the tool number and tool length offset will match. (Ex. T1 in line #1 should have H01 in line #3, and T2 should have H02 in line #3.)

When viewing the program, a block is the same as a line of text. Blocks shown on the CRT are always termi- nated by the ; symbol which is called an EOB. Blocks are made up of alphabetical address codes and the / symbol. Address codes are always an alphabetical character followed by a numeric value. For instance, the specification of the position to move the X-axis would be a number preceded by the X symbol.

The / symbol, sometimes called a slash, is used to define an optional block. A block that contains this symbol can be optionally deleted with the BLKDEL button when running a program.

There is no positional requirement for the address codes. They may be placed in any order within the block. The following is a sample program as it would appear on the CRT. The words following the : are not part of the program but are put here as further explanation.

57

O MPERATORS ANUAL

INTRODUCTION

96-8500 rev C

June 2001

This program will drill four holes and mill a two-inch hole in a four-inch square plate with X and Y zero at the center. The program with comment statements would appear like this:

% :PROGRAM MUST BEGIN AND END WITH % O1234 (OP1 SAMPLE MILL PART) :PROGRAM # AND COMMENT STATEMENT N1 (TOOL #1 IS A INCH STUB DRILL) :(******) NOTES TO OPERATOR N5 G40 G49 T#1 M06 : N100 G00 X0 Y0 Z.5 G43 H1 M3 S1400 T2 :RAPID TO POS, OFFSET 1, SPIN FWD N101 G01 Z.2 F30. :FEED 30 INCH/MINUTE TO Z DEPTH N102 G83 G98 Z-.625 R.03 Q.2 F5. :PECK TO Z-.625 START .03 ABOV N103 X1.5 Y1.5 :DRILL ANOTHER HOLE AT NEW X,Y N104 Y-1.5 :DRILL 3RD HOLE, PECK DEPTH IS .20 N105 X-1.5 :DRILL FOURTH HOLE N106 Y1.5 :DRILL FIFTH HOLE N107 G00 G80 Z.5 :CANCEL CANNED CYCLE N108 T2 M06 :TOOL CHANGE TO TOOL #2 N2 (T #2 IS 5/8 90 DEG. COUNTERSINK) :N### ARE LINE NUMBERS N200 G00 X0 Y0 Z.5 G43 H2 M3 S500 :OFFSET 2, SPINDLE SPEED 500 RPM N201 G01 Z.2 F30. :FEED TO Z AT 30 INCH PER MINUTE N202 G82 G98 Z-.27 R.0 F5. :SPOT DRILL CYCLE, DRILL AT X0 Y0 N203 X1.5 Y1.5 :SEC HOLE R=START PLANE ABOVE ZERO N204 Y-1.5 :3RD HOLE G98=RETURN TO INIT POINT N205 X-1.5 :FOURTH HOLE N206 Y1.5 :FIFTH HOLE N207 G00 G80 Z.5 :RAPID TO Z.5 N208 G28 X0 Y0 Z2.0 :ZERO RETURN AFTER MOVE TO X0, Y0 N209 T#3 M06 :TOOL CHANGE N3 (TOOL #3 IS A END MILL) :N #S ARE FOR YOUR CONVENIENCE (SET DIAMETER VALUE TOOL #3) :COMMENTS ARE IGNORED BY CONTROL N300 G00 X0 Y0 Z.5 G43 H3 M3 S1000 :G43 = OFFSET Z IN MINUS DIRECTION N301 G01 Z.2 F30. :G01 CAN BE SPECIFIED AS G1 N302 Z-.625 F5. :FEED TO DEPTH N303 G01 G41 X-1.00 :COMPENSATE CUTTER LEFT OF LINE N304 G03 I1.0 D1 :CUT CIRCLE CCW WITH TOOL DIA D1 N305 G00 G40 X00 :RAPID TO CENTER, G40 CANCELS COMP N306 G00 Z.5 :RAPID OUT OF PART N307 G28 :ZERO RETURN, Z GOES FIRST THAN X,Y M30 :RESET PROGRAM TO BEGINNING % :END OF TAPE

Please note that each tool has some slight variations. This is done to show the flexibility of the control. For example, to change tools, all that is needed is an M06 even without a G28 in the previous line. Also, a G28 can be specified as G28 X0 Y0 Z0 or simply as G28. A T command can be put in with the M06 or it can be specified earlier in the program. This gives the maximum compatibility with other controls.

More than one program can be stored in the memory of the CNC. Every program stored has an Onnnn address code to define the number of that program. Those numbers are used to identify the program for selection as the main program being run or as a subprogram called from a main program.

INTRODUCTION

58

O MPERATORS ANUAL

96-8500 rev C

June 2001

MACHINE WORK COORDINATE SYSTEM

Most machines have three linear axes named X, Y, and Z. The X-axis moves the table left and right, the Y-axis moves it to and from the operator and the Z moves the milling head up and down. The machine zero position is the upper right corner of the mill table. All moves from this point are in a negative machine direction. If a rotary table is connected, an additional A-axis work offset is provided.

The work offset display is found on the offset display by pushing the PAGE UP key. You can display and manually enter work offsets from here. The work coordinate systems on a control with a fifth axis have all been expanded to accommodate B, the fifth axis. Work coordinate offsets can be set for the B axis in the offset display. Note that the auxiliary axes C, U, V, and W do not have any offsets; they are always programmed in machine coordinates.

The Home or Machine-Zero position is X0, Y0, Z0. Travel of these axes is limited in the negative direction by stored stroke limits defined in the parameters. Travel in the positive direction for the X and Y axes is limited simply to values less than zero. Positive travel for the Z-axis is limited to the highest position used for tool changing (about Z4.5). In addition, positive travel for all axes is limited by the home switch which acts as a limit switch.

Before a tool can machine your part, the control must know where your part is. The work coordinate system tells the control the distance from the work zero point of your part to the machine zero position. The work zero point of the part is decided by the programmer and usually is the common point where all print dimensions are referenced from. The machine zero position is fixed by the machine on power up and does not change. The operator must determine this distance and enter the value.

This control automatically chooses the G54 system on power up. If you do not wish to use this system, zero out the values in the G54 X, Y, and Z or select another work offset.

The G54 through G59 or G110 through G129 offsets can be set by using the PART ZERO SET key. Position the axes to the work zero point of your part. Using the cursor, select the proper axis and work number. Press the PART ZERO SET key and the current machine position will be automatically stored in that address. This will work with only the work zero offsets display selected. Note that entering a nonzero Z work offset will interfere with the operation of an automatically entered tool length offset.

Work coordinate numbers are usually entered as positive numbers, except when Parameter 57, bit "Neg. Work Offset" is set to 1. In this case, the work coordinate numbers are entered as negative numbers.

Work coordinates are entered into the table as a number only. To enter an X value of X2.00 into G54, you would cursor over to the X column and enter the number 2.0 only.

The mirror function can change the direction of motion along any of the axes. If any one of these are selected, the display will show the status. Mirror image will reflect programmed motion around your work coordinate zero point. Be careful that mirror of only one of X or Y will cause the cutter to move along the opposite side of a cut. In addition, if mirror is selected for only one axis of a circular motion plane, circular motion G02 and G03 are reversed and left side and right side cutter compensation G41 and G42 are reversed. Settings 45 through 48 are used to select mirror image.

See the sections on G52, G92, and Setting 33 for more on work coordinate systems.

Offsets can be sent and received with the RS-232 port. See the "Data Input / Output" section for information on how to do this.

59

O MPERATORS ANUAL

INTRODUCTION

96-8500 rev C

June 2001

CANNED CYCLES

A canned cycle is used to simplify programming of a part. Canned cycles are defined for most common Z-axis repetitive operations such as drilling, tapping, and boring. Once selected, a canned cycle is active until can- celed with the G80 code. There are six operations involved in every canned cycle:

1. Positioning of X and Y axes (optional A, rotary axis). 2. Rapid traverse to the reference plane. 3. Drilling, boring, or tapping action. 4. Operation at the bottom of the hole. 5. Retraction to the reference plane. 6. Rapid traverse to the initial starting point.

A canned cycle is presently limited to operations in the Z-axis; that is, only the G17 plane is allowed. This means the canned cycle will be executed in the Z-axis whenever a new position is selected in the X or Y axis. The operation of a canned cycle will vary according to whether incremental (G91) or absolute (G90) is active. Incremental motion in a canned cycle is often useful as a loop count (L) and can be used to repeat the opera- tion with an incremental X and/or Y move. G98 and G99 are modal commands which change the way the canned cycles operate. When G98 (the system default) is active, the Z-axis will be returned to the starting position at the completion of the canned cycle. When G99 is active, the Z-axis will be returned to the reference plane when the canned cycle is completed.

NOTE: If an L0 is in the canned cycle line, the cycle will not execute until the control reads an X or Y location.

For more detailed information on canned cycles, refer to the "G Codes" section of this manual.

MACHINE TRAVEL LIMITS

Travel limits in this machine are defined by a limit switch in the positive direction and by stroke limits set by parameter in the negative direction. Prior to establishing the home positions with the POWER UP/RESTART or AUTO ALL AXES buttons, there are no travel limits and the user must be careful not to run the table into the stops and damage the screws or way covers. Hard limits built into the axes so that you cannot damage the way covers.

Prior to establishing the home positions (POWER UP/RESTART or AUTO ALL AXES), jogging is normally not allowed. Setting 53 can be turned on to allow jogging prior to zero return but this defeats the travel limits and you may damage the machine running the axes into the stops.

NOTE: All motion is in a negative direction from machine zero except for the Z-axis that can move about 4.5 inches up from machine zero. There are no travel limits for the fourth, A, axis. Travel limits for any auxiliary axes are set into those single axis controls.

When jogging, an attempt to move past the travel limits will not cause an alarm but the axis will stop at the limit. The JOG handle inputs may be ignored in this case.

When running a program, an attempt to move outside of the travel limits will cause an alarm prior to starting the motion and the program will stop. An exception is a circular motion which starts and ends inside of the travel limits but moves outside of the limits during the motion. This will cause an alarm to occur part way through the motion.

Travel limits apply even when running a program in Graphics mode. An alarm is generated and the program will stop.

OPERATION

60

O MPERATORS ANUAL

96-8500 rev C

June 2001

3.3 OPERATORS CONTROL PANEL

Control panel keypad with operating and display keys highlighted.

In operation, it is important to be aware of the operating mode selected for the CNC. There are six operating modes and one simulation mode in this control. The operating mode is selected with the six buttons labeled:

EDIT To edit a program already in memory

MEM To run a program stored in memory

MDI / DNC To directly run manually entered program or to select DNC mode

HANDLE JOG To use jog keys or jog handle

ZERO RET To establish machine zero

LIST PROG To list, send, or receive programs

OPERATION

61

O MPERATORS ANUAL

96-8500 rev C

June 2001

The Graphics simulation mode is entered with the DISPLAY select buttons.

In MEM or MDI mode, a program can be started with the CYCLE START button. While a program is running, you cannot change to another mode; you must wait until it finishes or press RESET to stop the program.

When already in MDI, a second push of the MDI button will select DNC if the DNC mode is enabled by settings and parameters in your machine.

In any of the above modes, you can select any of the following displays using the eight DISPLAY buttons:

PRGRM / CNVRS To show the program selected

POSIT To show the axes positions

OFSET To show or enter working Offsets

CURNT COMDS To show Current Commands and times

ALARM / MESGS To show Alarms and user messages

PARAM / DGNOS To show Parameters or Diagnostic data

SETNG / GRAPH To show or enter Settings or to select Graphics simulation mode

HELP / CALC To show the Help data and calculator

In addition to the above displays, when a program is already running, you may press LIST PROG to select a list of the programs in memory. This is useful to determine what programs can be edited in BACKGROUND EDIT. BACKGROUND EDIT is selected from the PROGRAM DISPLAY.

All operation of the CNC is controlled from the operators panel. The control panel is composed of the CRT display, the keypad, On/Off switch, Load meter, Handle, EMERGENCY STOP, CYCLE START, and FEED HOLD buttons.

The keypad is a flat membrane type that requires approximately eight (8) ounces of pressure. The SHIFT button replaces the function of the numeric buttons with the white characters in the upper left corner. The SHIFT button must be pressed once before each shifted character. Pressing the SHIFT button twice will turn off shift.

The load meter measures the power to the spindle motor. At 100%, the spindle motor can be operated continuously. The 150% level can be sustained for no more than ten (10) minutes, and at 200% level no more than three (3) minutes. After the specified time, the spindle may begin to slow and even stall. A 200% load should be reduced to 150% by reducing spindle speed or decreasing the feed rate. Spindle load may increase temporarily during speed changes.

OPERATION

62

O MPERATORS ANUAL

96-8500 rev C

June 2001

The jog handle is used to jog one of the axes. Each step of the crank can be set to 0.0001, 0.001, 0.01 or 0.1 inch (0.001, 0.01, 0.1, or 1.0 degree per step for a rotary axis). When using metric units, the smallest handle step is 0.001 mm and the largest is 1.0 mm. The handle has 100 steps per rotation. It can also be used to move the screen cursor while in EDIT mode, or to change feed/spindle overrides by +/-1%.

An optional remote jog handle, with all the capabilities of the standard jog handle, is also available. Refer to the "Manual Operation" section for more information.

The EMERGENCY STOP button will instantly stop all motion of the machine including the servo motors, the spindle, the tool changer, and the coolant pump. It will also stop any auxiliary axes. When Through the Spindle Coolant (TSC) is ON, this button performs a slightly different function, as described in the TSC section of this manual.

CYCLE START will start a program running in MEM or MDI mode, continue motion after a FEED HOLD, or continue after a SINGLE BLOCK stop. The CYCLE START button on the optional remote jog handle performs exactly the same functions.

FEED HOLD will stop all axis motion until the CYCLE START is pressed. The FEED HOLD button on the optional remote jog handle will perform exactly the same functions.

WARNING!

FEED HOLD will not stop the spindle, the tool changer, or the coolant pump. It will not stop motion of any auxiliary axes.

The optional Memory Lock Key Switch will prevent the operator from editing programs and from altering settings when turned to the locked position. The following describes the hierarchy of locks:

Key switch locks Settings and all programs Setting 7 locks parameters - parameters 57, 209 and 278 lock other features Setting 8 locks all programs Setting 23 locks 9xxx programs Setting 119 locks offsets Setting 120 locks macro variables

The SINGLE BLOCK button on the keypad will turn on and off the SINGLE BLOCK condition. When in SINGLE BLOCK, the control will operate one block and stop. Every press of the START button will then operate one more block.

The RESET button on the keypad will always stop motion of the servos, the spindle, the coolant pump, and tool changer. It will also stop the operation of a running program. This is not, however, a recommended method to stop the machine as it may be difficult to continue from that point. SINGLE BLOCK and FEED HOLD provide for continuation of the program. RESET will not stop motion of any auxiliary axes but they will stop at the end of any motion in progress. When Through the Spindle Coolant is ON, this button performs a slightly different function, as described in the TSC section of this manual.

The CRT is the only display or readout device in the control. All status and position data is shown on the CRT.

OPERATION

63

O MPERATORS ANUAL

96-8500 rev C

June 2001

The F1, F2, F3, and F4 buttons perform different functions depending on what display and mode is selected. The following is a quick summary of the Fn buttons:

F1 In EDIT mode and PROGRAM DISPLAY, this will start a block definition.

In LIST PROG mode, F1 will duplicate a program already stored and give it a new name from the com- mand line.

In offsets display, F1 will set the entered value into the offsets.

F2 In EDIT mode, PROGRAM DISPLAY, this will end a block definition.

F3 In EDIT and MDI modes, the F3 key will copy the highlighted circular help line into the data entry line at the bottom of the screen. This is useful when you want to use the solution developed for a circular motion. Push INSERT to add that circular motion command line to your program.

In the calculator Help function, this button copies the value in the calculator window to the highlighted data entry for Trig, Circular, or Milling Help.

F4 In MEM mode and PROGRAM DISPLAY, this will select either BACKGROUND EDIT or PROGRAM REVIEW. BACKGROUND EDIT is selected by entering Onnnnn with the program number to edit. Program review is selected with just F4. Program review shows the running program on the left half of the screen and allows the operator to review the program on the right half of the screen.

In the Calculator Help function, this button uses the highlighted Trig, Circular, or Milling data value to load, add, subtract, multiply, or divide with the calculator.

REAL TIME CLOCK

Included in the software is a real time clock. The current date and time are displayed on the diagnostics screen. The date and time are also applied to any alarms that are generated. The alarm history will display the alarm, the date and time that it occured (see the alarms section on how to access the alarm history). Floppy disk directory contains file creation date and time. When files are saved to the floppy disk, the directory will now show the file creation date and time. Note that this feature also requires floppy disk driver software rev. 2.0 or later. When outputting a parameter file to a floppy disk or the serial port, it will contain two comments near the top containing the current date and time.

Macro variables are used to set the date and time. Macro variable #3011 contains the date in the format yymmdd (two digit year* 10000+ month* 100+ day). Macro variable #3012 contains the time in the format hhmmss (hours* 10000 + minutes* 100 + seconds).

OPERATION

64

O MPERATORS ANUAL

96-8500 rev C

June 2001

DISPLAY BRIGHTNESS ADJUSTMENT

Remove plug to access the brightness adjustment knob. Be sure to replace plug.

KEYPAD

The control panel keyboard consists of 130 keys and is divided into nine separate regions. They are:

RESET keys Three (3) keys FUNCTION keys Eight (8) keys JOG keys Fifteen (15) keys OVERRIDES Fifteen (15) keys DISPLAYS Eight (8) keys CURSOR keys Eight (8) keys ALPHA keys Thirty (30) keys MODE keys Thirty (30) keys NUMERIC keys Fifteen (15) keys

A detailed description of how and where these keys are used can be found through use of the index. The following are short descriptions of the control panel keys usage.

RESET KEYS: The RESET keys are in the upper left corner of the control panel.

RESET Stops all machine motion and places the program pointer to the top of the current program.

POWER UP/ Automatically initializes the machine at power up. After initial power up, when RESTART this key is pressed, the axes zero return and tool one is put in the spindle.

TOOL CHANGER Restores the tool changer to normal operation after the tool changer has RESTORE encountered an interruption during a tool change. The button initiates a user

prompt screen to assist the operator in recovering from a tool changer crash.

OPERATION

65

O MPERATORS ANUAL

96-8500 rev C

June 2001

FUNCTION KEYS: Below the reset keys are the function keys. There are eight function keys. They are used to execute special functions implemented throughout the control software.

F1-F4 Used in editing, graphics, background edit, and the help/calculator to execute special functions.

Further Explanation of the F1, F2, F3, F4 keys:

The F1, F2, F3, and F4 buttons perform different functions depending on what display and mode is selected. The following is a quick summary of the Fn buttons:

F1 In EDIT mode and PROGRAM DISPLAY, this will start a block definition. In LIST PROG mode, F1 will duplicate a program already stored and give it a new name from the command line. In OFSET display, F1 will set the entered value into the offsets.

F2 In EDIT mode, PROGRAM DISPLAY, this will end a block definition. In OFSET display, F2 will set the negative of the entered value into the offsets.

F3 In EDIT and MDI modes, the F3 key will copy the highlighted circular help line into the data entry line at the bottom of the screen. This is useful when you want to use the solution developed for a circular motion. Push INSERT to add that circular motion command line to your program. In the calculator HELP function, this button copies the value in the calculator window to the highlighted data entry for Trig or Circular Help.

F4 When in EDIT mode with no program running, entering Onnnnn in the input line and pressing F4 will change the program being edited to Onnnnn.

When in MEM mode and PROGRAM DISPLAY, F4 can be pressed to select either BACK GROUND EDIT or PROGRAM REVIEW. BACKGROUND EDIT is selected by entering the pro- gram number at the input line and pressing F4. BACKGROUND EDIT can only be selected when a program is running. PROGRAM REVIEW can be selected whether or not a program is running, simply by pressing F4. If a program is running, PROGRAM REVIEW will show the running program on the left half of the screen, and allows the operator to review the program on the right half of the screen.

In the calculator HELP function, F4 uses the highlighted Trig, Circular, or Milling data value to load, add, subtract, multiply or divide with the calculator.

TOOL OFSET Used to record tool length offsets in the offset page during part setup. MESUR

NEXT TOOL Used to select the next tool during part setup.

OPERATION

66

O MPERATORS ANUAL

96-8500 rev C

June 2001

TOOL RELEASE Releases the tool from the spindle when in MDI mode, zero return, or handle jog. (The remote TOOL RELEASE button is located on the front of the cover to the spindle head. It operates the same as the one on the keypad. It must be held for second before the tool will be released, and the tool will remain released for second after the button is released. While the tool is unclamped, air is forced down the spindle to clear chips, oil, or coolant away from the tool holder.

PART ZERO SET Used to automatically set work coordinate offsets during part setup.

JOG KEYS: The jog keys are on the left below the function keys. These keys select which axes the jog handle sends signals to and provides for continuous jogging. When a key is pressed briefly, that axis is selected for use by the jogging handle. When a key is pressed and held down, that axis is moved as long as the key is held down. If a + key is pressed and held, the axis is moved so that the tool position is changed in a positive direction relative to the work coordinates. If a - key is pressed and held, the axis is moved so that the tool position is changed in a negative direction relative to the work coordinates. The jog keys are locked out if the machine is running.

+A, -A Selects the A axis. Selects the B axis when used with the shift key and control is configured with a fifth-axis option.

+Z, -Z Selects the Z axis. +Y, -Y Selects the Y axis. +X, -X Selects the X axis.

JOG LOCK When pressed prior to one of the above keys, the axis is moved in a continuous motion without the need to hold the axis key depressed. Another press of the JOG LOCK key stops jogging motion.

To the left side of the jog keys are three keys to control the chip auger. If the auger is enabled with Parameter 209, these keys perform the following functions:

CHIP FWD Turns the auger in a direction that removes chips from the work cell. CHIP STOP Stops auger movement. CHIP REV Turns the chip auger in the reverse direction.

To the right side of the jog keys are three keys to control the optional automatic spigots. If the spigot is enabled with Parameter 57, these keys perform the following functions:

CLNT UP Pressing this key positions the coolant stream direction one position higher, if possible.

CLNT DOWN Pressing this key positions the coolant stream direction one position lower, if possible. AUX CLNT Pressing this key while in MDI mode will turn on the Through the Spindle Coolant

system, and pressing it again will shut off the system.

OPERATION

67

O MPERATORS ANUAL

96-8500 rev C

June 2001

OVERRIDES: The overrides are at the lower left of the control panel. They give the user the ability to override the speed of rapid traverse motion, as well as programmed feeds and spindle speeds.

HANDLE CONTROL Allows jog handle to be used to control feedrate in +/-1% increments (from 0 to FEEDRATE 999%). -10 Decreases current feed rate by 10% (from 10 to 200%). 100% Sets control feed rate to programmed feed rate. +10 Increases current feed rate by 10% (from 10 to 200%). HANDLE CONTROL Allows jog handle to be used to control spindle speed in +-1% increments (from 0 SPINDLE to 999%). -10 Decreases current spindle speed by 10% (from 10 to 150%). 100% Sets spindle speed to programmed speed. +10 Increases current spindle speed by 10% (from 10 to 150%). SPINDLE Not a key. CW Starts the spindle in the clockwise direction. Except on CE machines. STOP Stops the spindle. CCW Starts the spindle in the counterclockwise direction. Except on CE machines. 5% RAPID Limits rapid traverse to 5 percent of maximum. 25% RAPID Limits rapid traverse to 25 percent of maximum. 50% RAPID Limits rapid traverse to 50 percent of maximum. 100% RAPID Allows rapid traverse to feed at its maximum.

Further Explanation of the Feed/Rapid/Spindle Override keys:

The feed rate can be varied from 10% to 200% of the programmed value while in operation. This is done with the feed rate +10%, -10% and 100% buttons. The FEED RATE override is ineffective during G74 and G84 tapping cycles. FEED RATE override does not change the speed of any auxilliary axes. During manual jogging, the feed rate override will adjust the rates selected from the keypad. This allows for fine control of the jog speed.

The spindle speed can also be varied, from 10% to 150%, using the SPINDLE overrides as above. It is also ineffective for G74 and G84. In the SINGLE BLOCK mode, the spindle may be stopped. It will automatically start up upon continuing the program.

By pressing the HANDLE CONTROL FEEDRATE key, the jog handle can be used to control feedrate from 0% to 999% in +/-1% increments. By pressing the HANDLE CONTROL SPINDLE key, the jog handle can be used to control spindle speed in +-1% increments (from 0 to 999%).

Rapid moves (G00) may be limited to 5, 25, or 50 % of maximum using the keypad. If the 100% rapid is too fast, it may be set to 50% of maximum by Setting 10.

In the Setting page, it is possible to disable the override keys so that the operator cannot select them. This is Setting 19, 20 and 21.

The FEED HOLD button acts as an override button as it sets the rapid and feed rates to zero when it is pressed. The CYCLE START must be pressed to proceed after a FEED HOLD. When in a FEED HOLD, the bottom left of the screen will indicate this. The door switch on the enclosure also has a similar result but it will display "Door Hold" when the door is opened. When the door is closed, machine operation will continue normally. Door hold can be prevented with Setting 51. Door Hold and FEED HOLD do not stop any auxiliary axes.

OPERATION

68

O MPERATORS ANUAL

96-8500 rev C

June 2001

When Parameter 57 flag DOOR STOP SP is set to 1, the door switch will stop the servos and the spindle. In addition, the maximum spindle speed is 750 RPM with the doors open.

There is also an override function for the coolant supply. This is done from the Setting 32. The "NORMAL" setting checks the low coolant alarm and turns the pump on and off with M codes. The "OFF" setting ignores the coolant alarm but will alarm if an attempt is made to turn the coolant on. The "IGNORE" setting is used to ignore all coolant commands and the low coolant alarm.

At any time a program is running, the operator may override the coolant setting by pressing the MDI Coolant button. The pump will remain either on or off until the next M command or operator action.

Overrides can now be reset through to defaults upon processing M30 and/or RESET. This feature is selected by Setting #83.

DISPLAYS: The display keys are in the center at the top. These eight keys provide access to the different displays and operational information and help routines available to the user. Some of these keys are multi-action keys in that they will display different screens when pressed multiple times. The current display is always displayed on the top left line of the video screen.

PRGRM / CONVRS Displays the currently selected program. Also used in Quick Code applications.

POSIT Displays the position of the machine axes. Pressing PAGE UP and PAGE DOWN will show operator, machine, work, and distance-to-go formats in large letter format.

OFSET Displays the tool length and radius offsets. PAGE UP will display the values of the axes' work offsets. If the ORIGIN button is pressed while the offsets are dis- played, the control will promp the user: ZERO ALL (Y/N)? Entering Y will zero all the offsets, in the section displayed.

CURNT COMDS Displays the current program, modal program values, and position during run time. Succeeding presses of the PAGE DOWN key will display modal values, system timers, macro variables, tool life and tool load information.

ALARM / MESGS Shows the full text of an alarm when the alarm message is flashing. Pressing the left or right arrow keys will display an alarm history. Pressing PAGE DOWN will display a page for user messages and notes.

PARAM / DGNOS Displays and allows changing of parameters that define machine character. Pressing PAGE UP will display lead screw compensation values. Successive PAGE DOWN presses will display general parameters as well as the X, Y, Z, A and B parameters. A second press of the PARAM key will display the first page of diagnostic data. The first page of diagnostic data is discrete inputs and outputs. Pressing PAGE DOWN will display the second page of diagnostic data that consists of additional inputs and analog data.

OPERATION

69

O MPERATORS ANUAL

96-8500 rev C

June 2001

SETNG / GRAPH Displays and allows changing of user settings. Pressing the SETNG key twice enables graphics mode where the user can debug the current program and view the programs generated tool path.

HELP / CALC Displays a brief, on-line manual. Pressing HELP a second time will display the help calculator. There are three pages of calculator help. Pressing the PAGE DOWN key will display milling and tapping help, trigonometry help, or circle help.

CURSOR KEYS: The cursor keys are in the center of the control panel. They give the user the ability to move to various screens and fields in the control. They are used extensively for editing of CNC programs.

HOME Context-sensitive key that generally moves the cursor to the topmost item on the screen. In editing, this is the top block of the program. In graphics zoom, it will select full view.

(UP ARROW) The up arrow moves up one item, block, or field. In graphics, the zoom window is moved up.

PAGE UP Used to change displays, move up one page in the editor, or zoom out when in graphics.

(LEFT ARROW) Used to select individually editable items within the editor, moves cursor to the left. It selects optional data in fields of the settings page and moves the zoom window left when in graphics.

(RIGHT ARROW) Used to select individually editable items within the editor, moves cursor to the right. It selects optional data in fields of the settings page and moves the zoom window right when in graphics.

END Context-sensitive key that generally moves the cursor to the bottom most item on the screen. In editing, this is the last block of the program.

(DOWN ARROW) The down arrow moves down one item, block, or field. In graphics, the zoom window is moved down.

PAGE DOWN Used to change displays, move down one page in the editor, or zoom closer when in graphics.

OPERATION

70

O MPERATORS ANUAL

96-8500 rev C

June 2001

ALPHA KEYS: The alpha keys allow the user to enter the 26 letters of the alphabet along with some special characters.

SHIFT The shift key provides access to the white characters on the keyboard. Pressing SHIFT and then the white character will cause that character to be sent to the control. When entering text, UPPER CASE is the default. To access lower case characters, press and hold the SHIFT key while pressing the appropri ate characters. The SHIFT key can also be continuously held down while a number of other keys are pressed.

When a control has a fifth-axis installed, the B axis is selected for jogging by pressing SHIFT and then the +,-A keys.

EOB This is the END-OF-BLOCK character. It is displayed as a semicolon on the screen and it signifies the end of a programming block. It is the same as a carriage return and then a line feed.

( ) The parenthetical brackets are used to separate CNC program commands from user comments. They must always be entered as a pair and may or may not have additional characters separating them. Any time an invalid line of code is received through the RS-232 port while receiving a program, it is added to the program between these two brackets.

/ The right slash is used as a block delete flag. If this symbol is the first symbol in a block and a BLOCK DELETE is enabled, then that block is ignored at run time. The symbol is also used for division in macro expressions.

In some FANUC compatible controls, the block delete symbol can be used to choose between two options when the "/" symbol is not at the beginning of the line. For instance, in the following line, T2 is executed when the block delete option is off, and when the block delete option is on, T1 is executed.

T1 / T2; N1 G54

This cannot be done on a HAAS control.

A coding method for achieving the same results on a HAAS control follows:

/ T2 M99 (T2 executed when block delete is off) T1 (T1 executed when block delete is on) N1 G54

[ and ] Square brackets are used in macro expressions and functions.

OPERATION

71

O MPERATORS ANUAL

96-8500 rev C

June 2001

MODE KEYS: The mode keys are in the upper right part of the control panel. These keys change the operational state of the CNC machine tool. There are six major operation modes. The user can enter a specific mode by pressing the desired arrow shaped key on the left. The keys in the same row as the pressed mode key are then made available to the user. Otherwise, these keys are not available. The current mode is always displayed on the top line just to the right of the current display on the video screen.

EDIT Selects edit mode.

INSERT Inserts the text in the input buffer after the current cursor location. Also used to copy blocks of code in a program.

ALTER Changes the item that the cursor is on to the text in the input buffer. Places an MDI program in the program list.

DELETE Deletes the item that the cursor is on.

UNDO Backs out or undoes up to the last 10 edit changes.

Further Explanation of the UNDO Key

A very powerful keyboard button available in this control is the UNDO button. When editing, this button will allow you to basically undo any changes or edits you have made but wish you hadnt. Any time you use the INSERT, ALTER, or DELETE buttons, the condition of the original block is saved and can be restored with the UNDO button. In fact, the previous nine changes can be undone in the opposite order that they were entered by pressing the UNDO button for each change that is to be backed out.

The UNDO button can be used in EDIT, BACKGROUND EDIT, and MDI. But if you change operating modes between EDIT and MDI, you cannot use the UNDO button as the list of saved data is cleared.

MEM Selects MEM mode.

SINGLE Turns single block on so that when the cycle start button is pressed, BLOCK only one block of the program running is executed.

DRY RUN Used to check actual machine movement without cutting a part. Pro- grammed feeds are replaced by the speed keys in the handle jog row.

OPT STOP Turns on optional stops. If an M01 code is encountered in the program and OPT STOP is on, a stop is executed. Depending on the lookahead function, it may not stop immediately. If the program has been interpreted many blocks ahead, and OPT STOP is pressed, then the nearest M01 may not be commanded. See G103.

1. OPT STOP will take effect on the line after the highlighted line when OPT STOP is pressed.

2. M01 is not allowed during cutter compensation. Alarm 349 will be generated in this case, as for M02, M30, and M00.

OPERATION

72

O MPERATORS ANUAL

96-8500 rev C

June 2001

BLOCK Blocks with a slash ("/") as the first item are ignored or not executed DELETE when this option is enabled. If a slash is within a block, address codes

after the slash will be ignored until after the block, if this option is enabled.

1. When not in cutter compensation, block delete will take effect two lines after BLOCK DELETE is pressed.

2 When in cutter compensation, blocks must be processed ear- lier. Therefore, block delete will not take effect until at last four lines after the highlighted line when BLOCK DELETE is pressed.

3 If BLOCK DELETE changes state during the processing of the first block of a chamfering/rounding pair, and at least one of the pair is blockdeleted, the behavior is undefined. (This was true before, but because BLOCK DELETE took effect so far in ad vance of the running block, it was harder to reproduce.)

4 Processing will slow down for paths containing block deletes during high-speed machining, because the lookahead queue will be emptied as processing approaches the block-deleted line(s). This limits the speed at which the previous blocks can run.

MDI/DNC Selects MDI or DNC mode.

COOLNT Turns the coolant on and off.

ORIENT Rotates the spindle to a known position and then locks the spindle. SPINDLE Can be used during setup to indicate parts.

ATC FWD Rotates the tool turret forward to the next sequential tool. If Tnn is in the input buffer, the turret will advance to tool nn. Except on CE machines.

ATC REV Rotates the tool turret backward to the previous tool. If Tnn is in the input buffer, the turret will advance to tool nn. Except on CE machines.

HANDLE JOG Selects Jogging mode.

.0001, .1 .0001 inches or .001 mm for each division on the jog handle. For dry run .1 inches/min.

.001, 1. .001 inches or .01 mm for each division on the jog handle. For dry run 1. inches/min.

.01, 10. .01 inches or .1 mm for each division on the jog handle. For dry run 10. inches/min.

.1, 100. 0.1 inches or 1.0 mm for each division on the jog handle. For dry run 100. inches/min.

OPERATION

73

O MPERATORS ANUAL

96-8500 rev C

June 2001

ZERO RET Selects Zero Return mode.

AUTO ALL AXES Searches for all axes machine zero.

ORIGIN Zeros out various displays and timers.

ZERO SINGL Searches for machine zero on the axis that is specified in the input buffer.

HOME G28 Returns all axes to machine zero in rapid motion. Does not search.

SINGLE AXIS Either the X, Y, Z, A, or B axis can be returned to zero alone. The HOME G28 operator enters 'X','Y','Z','A' or 'B', then presses the HOME G28 key.

Pressing HOME G28 without first entering an axis letter will cause all enabled axes to be returned to zero. If the chosen axis is disabled, the message DISABLED AXIS will be generated. CAUTION! There is no warning message to alert the operator of any possible collision. For example, if the Z-axis is down in amongst parts on the table when X or Y is zeroed a crash can result.

SECOND HOME When this button is pressed, the control will rapid all axes (which have the 2ND HOME BTN bit =1) to the coordinates specified in Work Offset G129. The sequence is as follows: First, assuming the X or Y axis need to be moved, the Z axis is returned to zero, then the X and Y axes are moved to their final positions, then the Z axis is moved to its final position. G129 Work Offsets must be set to the desired values for this feature to work correctly. This feature will work in any mode except DNC, just like the HOME G28 button.

LIST PROG Selects Program List mode and displays a list of the programs in the control.

SELECT PROG Makes the highlighted program on the program list the current program. The current program will have an asterisk preceding it in the program list.

SEND RS232 Transmits programs out the RS-232 serial port. If ALL is highlighted, all the programs will be sent with one % at the beginning and one at the end of the stream.

RECV RS232 Receives programs from the RS-232 serial port. Unless ALL is high- lighted, enter a valid program name in the form Onnnnn before pressing RECV RS232. If ALL is highlighted, do not enter a program name. The program names will be entered automatically from the input stream data.

ERASE PROG Erases the highlighted program or the program specified in the input buffer.

OPERATION

74

O MPERATORS ANUAL

96-8500 rev C

June 2001

NUMERIC KEYS: The numeric keys give the user the ability to enter numbers and a few special characters into the control.

CANCEL The Cancel key is used to delete the last character entered during editing or field input.

SPACE This is a space and can be used to format comments placed into pro- grams.

WRITE / This acts as the general purpose enter key. Any time that user needs to ENTER change any information in the control, this key is pressed.

-, . Used to negate numbers, or provide decimal precision.

+, =, These symbols are accessed by first pressing the SHIFT key and then #, and * the key with these symbols. They are used in macro expressions.

?, %, $,!, These are additional symbols, accessed by pressing the SHIFT key. &, @, and : They can be used in program comments.

POWER ON / OFF

Power On

There is only one way to turn on this CNC. This is by pressing the green On button at the top left of the control panel. The main breaker at the rear of the mill must be on before this button will turn on the mill. Any interruption to power will turn the mill off and this button must be used to turn power back on again.

Upon power up, the machine must find its fixed reference point before any operations can occur. After power on, pressing the POWER UP/RESTART will establish this point. The ZERO RET mode and AUTO ALL AXES button may also be used to initialize the system after all alarms are cleared. A single axis can be selected by first pushing the X, Y, Z, A, or B key and then the ZERO SINGL AXIS key. The position thus found is used as machine zero. Note that the Z-axis will shift downwards about five inches as the search for zero is finished; so, keep clear.

WARNING!

After power on, the machine does not know its home position or stored stroke limits until it has been zero returned by the POWER UP/ RESTART key or the ZERO RET/AUTO ALL AXES key. It is possible to jog the machine with the handle or jog keys at the lower feeds. If it is jogged unchecked in either direction, you may damage the sheet metal covers or overload the ball screws. To avoid this, always properly ZERO RET the machine immediately after power on before doing any- thing else.

NOTE: Tool changer goes to tool #1 first, then to tool designated in Setting 81. After initializing, all machine Position displays are reset to zero.

OPERATION

75

O MPERATORS ANUAL

96-8500 rev C

June 2001

The HOME G28 key should be used any time after the initial power up. This will return the Z-axis first and then the X, Y, A, and B axes all at rapid rate. If the Z-axis is positioned above the machine zero, the X, Y, A, and B axes are moved first. This key will work in any of the operating modes. The manual G28 button does not use any intermediate return point the way the programmed G28 does. Any auxiliary axes (A, U, ...) are returned to home after X, Y, Z, A, and B.

NOTE: Repairs to the motor, ball screw, or home switch will affect the zero return point and must be done only by a factory trained technician. Serious damage to the ball screw, way covers, linear guides, or tool changer may occur if the zero return point is not properly set.

Power Off

Pressing the red POWER OFF button will remove power to the machine instantly. The machine can also be programmed to turn off at an end of cycle (M30) or after a preset amount of time that the machine sees no activity. These are Settings 1 and 2.

A sustained overvoltage condition or sustained overheat condition will also shut this machine off automatically. If either of these conditions exists for 4.5 minutes, the machine will start the 30 second auto-shutdown. Alarm 176 is displayed when an overheat shutdown begins and Alarm 177 is displayed when an overvoltage shutdown begins.

Any power interruption, including the rear cabinet main circuit breaker, will also turn this machine off. Power must be restored and the POWER ON button pressed to restore operation.

OPERATION

76

O MPERATORS ANUAL

96-8500 rev C

June 2001

3.4 MANUAL OPERATION

MANUAL DATA INPUT (MDI)

Manual data input allows you to enter data that can be executed on a line by line basis instantly without having to use the EDIT and MEM modes. In this control, MDI is actually a scratch pad memory that can execute many lines of instruction without having to disturb your main program in memory. The data in MDI will be retained even when switching modes or in power off.

Editing with MDI is the same as memory editing.

The MDI mode also allows for manual operation of coolant, spindle, and tool changer.

A program in MDI can be saved as a normal named program in memory by placing the cursor at the beginning of the first line (HOME), typing Onnnnn (new program number), then pushing ALTER. This will add that name to the program list and clear MDI.

The entire MDI program may be cleared by pressing the ERASE PROG key while in MDI.

A fast way to select a tool is to type Tnn and, instead of INSERT, press either ATC FWD or ATC REV. This will directly select that tool.

When DNC is enabled with Setting 55, a second push of the MDI button will put the control into DNC mode.

When the Parameter 57 flag DOOR STOP SP is set to 1, the maximum spindle speed is 750 RPM with the doors open.

HANDLE/JOG

Manually moving the axes is accomplished by pressing the mode button labeled HANDLE JOG and then by using the JOG keys or the Handle to move the axis. Both the JOG buttons and the Handle are enabled simulta- neously without needing to select between them. The display is changed to the Position Display and the currently selected axis for jogging will blink.

Jog feed rate or handle resolution is selected by the four keys to the right of the HANDLE JOG key. Jog feeds from .1 inch per minute to 100 inch per minute or handle divisions from .0001 inch to .1 inch are selectable. Auxiliary axes can be manually jogged from the front panel.

During jogging, the FEED RATE override buttons will adjust the rates selected from the keypad. This allows for very fine control of the jog speed. It does not change the handle step size.

In the center of the jog buttons is a key labeled JOG LOCK. This key will cause the axis you are jogging to continue jogging even after you release the key. Press this key and then press the selected axis motion key to start. Motion will stop as soon as the JOG LOCK button is pressed again, or RESET is pressed.

NOTE: Selecting another axis will cause that axis to move.

OPERATION

77

O MPERATORS ANUAL

96-8500 rev C

June 2001

In order to select another axis for jogging while using the handle, use +/- X, Y, Z, or A buttons. When one of these buttons is pressed, that axis is selected for HANDLE JOG but does not move unless the button is held down for more than second. After second, that axis is moved in the selected direction and at the selected feed rate.

All aspects of handle jogging for the fifth axis work as they do for the other axes. The exception is the method of selecting jog between axis A and axis B. By default the +A and -A keys will select the A axis for jogging. The display will show JOGGING A AXIS HANDLE .01 while you are jogging the A axis. The B axis can be selected by pressing the SHIFT key, and then either the +A or -A key. When this is done the control will switch to jogging the B axis and the display will change to JOGGING B AXIS HANDLE .01.

The axis assigned to the +A and -A keys will remain selected for jogging even if the operating mode is changed or if the machine is turned off. The selected axis for +A and -A can be toggled by pressing the shift key prior to pressing the +A or -A keys.

VECTOR JOGGING

This enables the operator to manually jog a tool in or out of an angled hole. In this context V refers to vector jogging, not to a V auxiliary axis. This feature accomplishes a vector movement by controlling the motion of the X, Y and Z axes only. The C and B axis are not moved. To use this feature, enter the letter "V" on the control panel, select handle jog and then use the hand wheel to move along the vector.

NOTES: Parameter 278 bit 16 GIMBAL SPNDL must be set to 1. All axes (X,Y,Z,C,B) must have already been enabled and zero returned. Once in vector jog mode, two jog speeds are available: 0.0001 in/sec and 0.001 in/sec. Any V axis jogging motion will be stopped when any one of X, Y, or Z reaches the end of its travel. HOME G28 is not available during vector jog. It is availabe only for X,Y,Z singleaxis jogging.

OPERATION

78

O MPERATORS ANUAL

96-8500 rev C

June 2001

REMOTE JOG HANDLE

The operation of the Remote Jog Handle is exactly the same as the standard jog handle, except that the desired axis and jog increments can be selected by switches on the remote handle.

The jog axis switch on the remote handle may be switched to OFF, X, Y, Z, A, B, C, or V. When it is set to OFF, the standard jog handle on the control works normally. When X, Y, Z, A, B, C, or V is selected, that axis is selected for jogging by the remote handle. The jog increments switch may be switched to X1, X10, or X100. These correspond to the .0001/.1, .001/1., and .01/10 buttons, respectively, on the keypad.

The CYCLE START and FEED HOLD buttons on the remote jog handle perform the same exact functions as the same buttons on the control. They cannot be turned off, and can be used at any time.

X100

CYCLE START

FEED

HOLD

OFF X Y

Z

A

B

CV

X1 X10

5050 40

60

3 0

7 0

2 0

8 0

10 90

0 0 90

10

8 0

2 0

7 0

3 0

60

40

Remote Jog Handle

OPERATION

79

O MPERATORS ANUAL

96-8500 rev C

June 2001

3.5 AUTOMATIC OPERATION

OPERATION MODE

There are six modes of operation of the VB Series CNC Mill. They are:

EDIT Used to make manual changes to a part program.

MEM Used to run a users part program stored in memory.

MDI/DNC Used to quickly manually enter and run a program.

HANDLE/JOG Used to move the axes with the handle or JOG buttons.

ZERO RET Used to search for machine zero and to return to machine zero automatically.

LIST PROG Used to list, send, receive and delete programs.

Changes to the mode are made by pressing of the buttons on the top right quadrant of the keypad that have the above labels. If an operation is started, such as running a program, you cannot change modes until the opera- tion is stopped. The six mode selection buttons are arranged vertically and, generally, the keys to their right apply only in that selected mode.

PROGRAM SELECTION

Program selection is done from the LIST PROG mode. This mode will list all of the programs stored in memory and allow you to select one as the current program. This is the program that will be run when you press START in MEM mode. It is the program with the * on the LIST PROG display. The selected program will also be seen on the EDIT display.

To select an existing program, press the CURSOR up or down buttons until the program you want is high- lighted and then press the SELECT PROG button. The * will move to that program.

To select a new program (create a new program) or to select an existing program, you may also enter Onnnnn from the keyboard and then the press SELECT PROG button.

There is a maximum of 500 programs stored in this control at a time.

OPERATION

80

O MPERATORS ANUAL

96-8500 rev C

June 2001

STARTING AUTOMATIC OPERATION

Before you can run a program, it must be loaded in the current memory. To select a program, push the LIST PROG mode key. Use the cursor to find the desired program and then push SELECT PROG. The program list includes the program name and the first comment. If the control was turned off while running, that program will automatically be in current memory and selected.

If the machine has just powered up, you need to first push the POWER UP / RESTART key. This will initialize all axes and the tool changer, display the Current Commands, and go to MEM mode with the control ready to run. Pushing the CYCLE START button in the lower left of the control panel will begin execution.

To start a program other than at the beginning, scan to the block number using the down arrow or PAGE DOWN until you reach the desired starting place. Push the MEM key and CYCLE START to begin. The Program Restart function, selected from Setting 36, will change the way a program operates if you start from other than the first block. The setting called Program restart ON will ensure that the correct tool and axis positions are selected when you start from part way through a program.

Any errors in your program will cause an alarm and stop the running of the program. Typical alarms are travel limits and missing I, J, and Q codes. Attempts to move outside of the limits of travel will also cause an alarm.

When cutting materials that produce hot chips, it is important to use coolant.

At any time that a program is running, the bottom left corner of the CRT will show RUNNING. If it does not show this, the program has completed, has been stopped by the operator, or has been stopped by a fault condition.

PROGRAM RESTART

Program Restart is designed to help the operator start a program from the middle while still properly interpreting all of the preceding lines of the program. To use program restart, turn on setting 36, move the cursor pointer to where you want to start (the restart point), and press Cycle Start. You do this by using the CURSOR up and down keys in MEM mode. The control will begin "invisible" interpretation of the program from the beginning and you will see the cursor move through the program. When it gets to line you wanted to start on, the control will establish all of the conditions that would normally have been true at the end of the previous line and then execute the highlighted line and the rest of your program. Most program interpretation alarms which you might have gotten in the invisible phase will not occur until after the line at your restart point is complete.

As an example, if the following program were to restart at the T2 line, the control would change to T1 and then change to T2 before start axes motion. If the H and T agreement setting (15) was on, you would still not get an alarm. The double tool change is probably the most difficult to understand. The control does that because it insures that everything that must be true on the previous line is established and that means go tool 1. It then executes the restart line which says go to tool 2 .

O0123 ; T1 M06 : G00 G90 G54 X0 Y0 : G01 F20. Z-2. ; T2 M06 H03 ; Restart here G00 G90 G54 X0 Y0 ; G01 F20. Z-2 ; G28 ; M30 ;

OPERATION

81

O MPERATORS ANUAL

96-8500 rev C

June 2001

STOPPING AUTOMATIC OPERATION

There are several ways a program can be stopped. They include both normal stops and abnormal, or alarm caused, stops. The normal stops are:

1. Normal completion at M00, M01, M02, or M30.

2. A FEED HOLD stop by the operator. The program is continued by pressing CYCLE START again.

3. A SINGLE BLOCK stop when operator selected. The program is continued by pressing CYCLE START again.

4. Door Hold stop caused by operator opening the enclosure doors. The program continues when the doors are closed.

The abnormal stops are:

1. Operator Reset

This stops all axes motion, stops the tool changer, turns off the spindle, and turns off the coolant pump. Program operation cannot be continued from the stopping point. If Setting 31 is On, the program pointer is reset to the beginning.

2. Emergency Stop

This stops all axes motion, disables the servos, stops the tool changer, turns off the spindle, and turns off the coolant pump. Program operation cannot be continued from the stopping point. This will also stop any auxiliary axes motion. RESET must be used at least twice to remove the alarms and start again.

3. Alarm Condition

This can occur any time an alarm comes on during program operation. Since a program cannot be restarted until RESET is pressed, a program execution cannot be continued from the stopping point. Alarms can be caused by programming errors or machine faults. Use the Graphics simula- tion mode to test your program first for errors.

4. Power-Off

This will stop all motors within one second but does not guarantee any conditions when the machine is powered-on again.

OPERATION

82

O MPERATORS ANUAL

96-8500 rev C

June 2001

EMERGENCY STOP SWITCH

The EMERGENCY STOP switch is normally closed. If the switch opens or is broken, power to the servos will be removed instantly. This will also shut off the tool changer, spindle drive, and coolant pump. The EMER- GENCY STOP switch will shut down motion even if the switch opens for as little 0.005 seconds.

Be careful of the fact that Parameter 57 contains a status switch that, if set, will cause the control to be powered down when EMERGENCY STOP is pressed.

You should not normally stop a tool change with EMERGENCY STOP as this will leave the tool changer in an abnormal position that takes special action to correct.

Note the tool changer alarms can be easily corrected by first correcting any mechanical problem, pressing RESET until the alarms are clear, selecting ZERO RETURN mode, and selecting AUTO ALL AXES.

If the shuttle should become jammed, the control will automatically come to an alarm state. To correct this, push the EMERGENCY STOP button and remove the cause of the jam. Push the RESET key to clear any alarms. Push the ZERO RETURN and the AUTO ALL AXES keys to reset the Z-axis and tool changer. Never put your hands near the tool changer when powered unless the EMERGENCY STOP button is pressed.

WORK BEACONS

The red and green work beacons located directly on top of the control arm allow the operator to monitor the machine status.

While a program is running normally, the GREEN beacon will be on.

The beacon will flash GREEN if: - the operator selects FEEDHOLD or SINGLE BLOCK stop.

- the control is in a M00, M01, M02, M30. It will stop flashing when RESET is pressed. It will stop flashing when RESET is pressed. If the control is in an M02 or M30, and door hold overide is not on, the beacon will stop flashing when the door is opened.

The beacon will flash RED if: - the control encounters an alarm, such as when EMERGENCY STOP is pressed. It will stop flashing when RESET is pressed to clear all alarms.

OPERATION

83

O MPERATORS ANUAL

96-8500 rev C

June 2001

3.6 CREATING, EDITING AND STORING PROGRAMS

When using anything other than HELP or Messages function, alphanumeric key entries are displayed along the bottom line of the CRT. This is called the data entry line. When the line contains what you want to enter, press the WRITE, ALTER, or INSERT key as appropriate.

When the HELP display is selected, the alphanumeric keys are used to select one of the topics; so they are not displayed on the data entry line of the CRT.

When the Message function is selected, the cursor is positioned on the screen and you type directly into the display.

CREATING PROGRAMS

To create a new program, you must be in the PRGRM/CONVRS display and LIST PROG mode. Enter O (letter, not number) and a four digit program number and press SELECT PROG key or ENTER. The selected program is the Main program and is the one you will see in the MEM and EDIT modes. Press EDIT to show the new program. A new program will begin and consist of only the Onnnnn and an EOB (;). All further entries are made by typing a letter followed by a numeric value and pressing INSERT, ALTER, or WRITE. All items entered into a program are either addressed data (a letter of the alphabet followed by a number), or a comment (text sur- rounded by parenthesis), or the End-Of-Block (EOB or ;).

The CURSOR up and down keys can be used to search for the entered value. Simply enter the value to search for on the bottom line and press the CURSOR up or down keys. The CURSOR up key will search for the entered item backwards to the start of the program. The CURSOR down key will search forward to the end of the program. Searching also works in MEM mode. If you enter a letter without a number, the search will stop on the first use of that letter with any value.

NOTE : When INSERT is pressed, the new data is put in after the highlighted data. The CURSOR up, down, left, and right keys are used to select the entered item to search for. The PAGE UP and PAGE DOWN keys move farther distances and the HOME and END keys go to the start or end of the program. All of these keys work in EDIT, MEM, and MDI modes.

A comment can be edited without entering the entire comment again. Simply highlight the characters (by cursoring into the text) you wish to change, enter the new characters, and press ALTER. To add characters move the cursor to where text is to be added, enter the new characters, and press INSERT. To remove charac- ters highlight the characters and press DELETE. Use the UNDO button to reverse any changes. The UNDO button will work for the last nine entries.

After creating a program, the program number can be very easily changed by simply altering the Onnnnn on the first line. If the maximum number of programs are already present, the message DIR FULL will be dis- played and the program cannot be created. The maximum number of programs in memory is 500.

OPERATION

84

O MPERATORS ANUAL

96-8500 rev C

June 2001

EDITING PROGRAMS

The EDIT mode is used to make changes to a program already in memory. If a program does not exist yet, the LIST PROG mode is used to create it. A newly created program contains only the program Onnnnn name and an EOB.

To enter the EDIT mode, press the EDIT mode key. The screen will display the current program. If no program file exists, program O00000 will be displayed. To change a program name, move the cursor to the existing Onnnnn, type in the letter O followed by a five digit number, such as O12345, and press the ALTER key. The upper right hand screen will display the new program number. Your data will first appear in the lower left screen and will be input to the upper screen upon pressing INSERT, ALTER, or WRITE.

To enter a program from the keypad, type in the data you wish and press the INSERT key. More than one code, such as X, Y, and Z, can be entered before you press INSERT. After a program is entered, you may wish to change the data. Highlight the characters you wish to change, enter the new characters, and press ALTER. To add characters move the cursor to where text is to be added, enter the new characters, and press INSERT. To remove characters highlight the characters and press DELETE. Use the UNDO button to reverse any changes. The UNDO button will work for the last nine entries.

The CURSOR up and down keys can be used to search for the entered value. Simply enter the value being searched for on the bottom line and press the CURSOR up or down keys. The CURSOR up key will search for the entered item backwards to the start of the program. The CURSOR down key will search forward to the end of the program. Searching also works in MEM mode. If you enter a letter without a number, the search will stop on the first use of that letter with any value.

You can change to a different program while in the EDIT or MEM mode by using the CURSOR up and down keys, enter Onnnnn on the input line and then press the CURSOR up and down keys or the F4 key. Onnnnn is the program you wish to change to.

The jog handle can be used to move the cursor during editing. Parameter 57 is used to enable this function. If enabled, the handle will act like the CURSOR left and right buttons.

Background editing is also possible with this machine and is now a standard feature. If background editing is available on your control, all of the above editing functions can be used while a program is running in MEM.

Background edit is described in detail later on in this chapter.

Editing error messages:

Guarded Code You tried to remove the Onnnnn from start of a program. Bad Code A line contained invalid data or comment over 80 characters. Editing Error Some previous edit was not completed; fix the problem or press UNDO. Bad Name Program name Onnnnn is invalid or missing. Invalid Number The number with an alphabet code was invalid. Block Too Long A block may only be 256 characters. No Code An insert was done without any data to insert. Cant Undo May only use undo for previous nine changes. End Of Prg End of prog EOB cannot be deleted.

OPERATION

85

O MPERATORS ANUAL

96-8500 rev C

June 2001

BACKGROUND EDIT

As a standard feature, this machine is shipped with a BACKGROUND EDIT capability. With BACKGROUND EDIT, you may edit a program in memory while any other program is being run. BACKGROUND EDIT can be enabled and disabled by Parameter 57.

BACKGROUND EDIT is selected from MEM mode when in PROGRAM DISPLAY by typing Onnnnn for the program you want to edit and pressing F4. If you do not enter the Onnnnn, you will instead get the PROGRAM REVIEW display.

While in BACKGROUND EDIT, you may perform any of the operations available in the EDIT mode. The last five lines of the CRT will, however, display the status of the running program and the top line will show the name and line number of the running program.

Selecting any other display or pressing F4 will exit from BACKGROUND EDIT. In order to list the programs that are in memory, a display function is available to view the program memory list while a program is running. This display is called LIST. It is selected by pressing the LIST PROG button while a program is running. The display is just like the LIST PROG mode display but it does not allow any send, receive, copy, select, or erase func- tions.

The CYCLE START button may not be used while in BACKGROUND EDIT. If the program contains an M00 stop, you must exit BACKGROUND EDIT and then press CYCLE START to resume the program.

All of the changes made during BACKGROUND EDIT are saved in a different memory area until the running program stops. This means that you can even edit the program that is running, or any of its subprograms, and those changes will not effect the running program.

The first time you select a program for BACKGROUND EDIT, you will get the message PROG EXISTS if the program is already in memory or NEW PROG if it is not. The NEW PROG message means that the program is being created and will be initially empty. In either case, you will then be able to edit that program. The second time you select a program for BACKGROUND EDIT without stopping the running program, you will get the message SECOND EDIT.

When you are in BACKGROUND EDIT and the running program finishes, the display will automatically change to the PROGRAM DISPLAY and will show the program that just finished running. To continue editing your program, you must select it with LIST PROG and then display it in EDIT mode.

BACKGROUND EDIT is not available from MDI or from DNC operating modes

DELETING PROGRAMS

To delete an existing program, you must be in LIST PROG mode. The programs will be listed here by program number. Use the CURSOR up or down keys to highlight the program number, or type in the program number at the blinking cursor, then press the ERASE PROG key.

All the programs in the list may be deleted by selecting ALL at the end of the list and pressing the ERASE PROG key. Use caution when deleting single programs, and read all prompts, to ensure that ALL programs are not selected. The UNDO key will not recover programs that are deleted.

OPERATION

86

O MPERATORS ANUAL

96-8500 rev C

June 2001

SPECIAL FUNCTION KEYS

The F1, F2, F3, and F4 buttons perform different functions depending on what display and mode is selected. The following is a quick summary of the Fn buttons:

F1 In EDIT mode and PROGRAM DISPLAY, this will start a block definition. In LIST PROG mode, F1 will duplicate a program already stored and give it a new name from the command line. In OFSET display, F1 will set the entered value into the offsets.

F2 In EDIT mode, PROGRAM DISPLAY, this will end a block definition.

In OFSET display, F2 will set the negative of the entered value into the offsets.

F3 In EDIT and MDI modes, the F3 key will copy the highlighted circular help line into the data entry line at the bottom of the screen. This is useful when you want to use the solution developed for a circular motion. Push INSERT to add that circular motion command line to your program. In the calculator HELP function, this button copies the value in the calculator window to the highlighted data entry for Trig or Circular Help.

F4 When in EDIT mode with no program running, entering Onnnnn in the input line and pressing F4 will change the program being edited to Onnnnn.

When in MEM mode and PROGRAM DISPLAY, F4 can be pressed to select either BACK GROUND EDIT or PROGRAM REVIEW. BACKGROUND EDIT is selected by entering the pro gram number at the input line and pressing F4. BACKGROUND EDIT can only be selected when a program is running. PROGRAM REVIEW can be selected whether or not a program is running, simply by pressing F4. If a program is running, PROGRAM REVIEW will show the running program on the left half of the screen, and allows the operator to review the program on the right half of the screen.

In the calculator HELP function, F4 uses the highlighted Trig, Circular, or Milling data value to load, add, subtract, multiply or divide with the calculator.

THE UNDO KEY

A very powerful keyboard button available in this control is the UNDO button. When editing, this button will allow you to basically undo any changes or edits you have made but wish you hadnt. Any time you use the INSERT, ALTER, or DELETE buttons, the condition of the original block is saved and can be restored with the UNDO button. In fact, the previous nine changes can be undone in the opposite order that they were entered by pressing the UNDO button for each change that is to be backed out.

The UNDO button can be used in EDIT, BACKGROUND EDIT, and MDI. But if you change operating modes between EDIT and MDI, you cannot use the UNDO button as the list of saved data is cleared.

OPERATION

87

O MPERATORS ANUAL

96-8500 rev C

June 2001

BLOCK OPERATIONS

Block operations can be performed on a group of one or more blocks of the program. These operations include BLOCK DUPLICATE, BLOCK MOVE, and BLOCK DELETE. Prior to a block being defined, the bottom right of the screen shows how to define a block; the F1 key is pressed when the cursor is on the first line of the block and the F2 key is pressed when the cursor is on the last line of the block.

Once a block is defined, the lower right of the screen shows how to manipulate the block; the INSERT key is used to duplicate the defined block wherever the cursor is positioned, the DELETE key is used to delete the block, the ALTER key is used to move the block, and the UNDO key cancels the block definition.

When a block is defined, the cursor is indicated by the > symbol and is always at the beginning of a line. When a block is copied or moved, the lines are added after the block with the cursor. Only whole command lines may be moved with the block functions.

Parts of programs can be copied from one program to another with the block copy feature. This is done by highlighting the section of code that is to be copied using the F1 and F2 keys. Once a section of code is highlighted, you then change to another program by selecting an existing program or create a new one. Cursor to the location that the previously defined block is to be inserted and press the INSERT or write key. A copy of the defined block will be inserted into the current program and the copied code segment becomes the cur- rently-defined block. Press the UNDO key to exit the BLOCK COPY mode.

Blocks of code can be copied into an MDI program, but blocks of code cannot be copied from an MDI program into another program. You can always rename the MDI program and then copy its text to any other program in the manner described above.

OPERATION

88

O MPERATORS ANUAL

96-8500 rev C

June 2001

3.7 PART PROGRAM INPUT / OUTPUT

RS-232 DATA INPUT / OUTPUT

Programs are sent or received through the first RS-232 port located on the rear control box pendant side. Note that this is the top connector. All data sent or received is ASCII. In order to use this port, you will need to obtain a cable and connectors with the following wiring:

pin #1 Shield Ground pin #2 TXD-Transmit Data

pin #3 RXD-Receive Data pin #4 RTS (optional)

pin #5 CTS (optional) pin #7 Signal Ground

Cables for the RS- 232 must be shielded

All other pins are optional and are not usually used. The RS-232 connector is a DB-25 and is wired as a DTE. This means that we send data on the TXD wire and receive data on the RXD wire. If you do not understand this, your dealer will be glad to help. The simplest connection would be to an IBM PC that can be done with a standard cable made up of a DB-25 male on one end and a DB-25 female on the other. Pin 2 at one end is wired to pin 3 at the other end, pin 3 to pin 2 and pin 7 is wired to pin 7.

All RS-232 data is ASCII but the number of bits, parity and speed can be changed from settings. The number of data bits is selected with Setting 37 for either 7 or 8. Parity is selected with Setting 12 and is none, even, odd, or zero. Zero parity will always set the parity bit to 0. The data speed is selected with Setting 11.

Once the connection to your computer has been made and verified, go to the Setting page and set the baud rate, parity, number of stop bits, end of block (EOB) format, and leader parameters to match your require- ments.

OPERATION

89

O MPERATORS ANUAL

96-8500 rev C

June 2001

All programs sent to the control must begin with a line containing a single % and must end with a line contain- ing a single %. All programs sent by the control will have these % symbols.

To receive a program, push the LIST PROG key. Move the cursor to the word ALL and push the RECV RS-232 key and the control will receive all main and sub programs until it receives a % sign indicating end of input. Please note that when using ALL, all your programs must have an address Oxxxx to be filed. If you do not have a program number, type in the program number before you push RECV RS-232 and the program will be stored under that number. You can also select an existing program for input and it will be replaced. An ASCII EOF character (code 04) will also terminate input. The colon character (:) may be used in place of the O for a program name, but it is always displayed as O.

When receiving RS-232 data, there is a status message at the bottom of the screen. It will update as follows:

WAITING When you first press RECV RS-232.

LOADING XXX When first % is received; if in XMODEM, XXX is the current block being loaded.

LOADING Onnnnn When program name is received.

RS232 DONE When complete and last % is received.

RS232 ABORT When anything causes abnormal stop.

To send a program, use the cursor as above to select the program and push the SEND RS-232 key. You can select ALL to send all of the programs in memory. A setting can be turned on to add spaces to the RS-232 output and improve the readability of your programs.

The synchronization protocol used to send data to slower computers is selected from the Setting 14. Setting 14 may be set to XON/XOFF, RTS/CTS, DC CODES, or XMODEM. Transmission can be stopped with either the XON/XOFF characters or the RTS/CTS wires.

Parameters, settings, offsets, and macro variables pages may also be sent individually via RS-232 by selecting the LIST PROG mode, selecting the desired display screen, and pushing the SEND key. They can be re- ceived by pushing the RECV key.

The settings that control RS-232 are:

11 BAUD RATE 12 PARITY 13 STOP BITS 14 SYNCHRONIZATION 24 LEADER TO PUNCH 25 EOB PATTERN 37 NUMBER DATA BITS

The EOB (semicolon) character is not normally sent by the RS-232 port. If it is received by the input port, it will cause a blank line in the program.

OPERATION

90

O MPERATORS ANUAL

96-8500 rev C

June 2001

The format of data sent and received for parameters, settings, and offsets is the following:

% N0 Vnnnnnn N1 Vnnnnnn N2 Vnnnnnn . . . %

The following table shows the use of the N numbers in the output file when offsets are saved to RS-232 or disk.

Tool length: Tool/function length wear diameter wear

1 001 201 401 601 2 002 202 402 602 3 003 203 403 603 : : : : : 200 200 400 600 800

The nnn numbers for work offsets are as follows:

Offset/axis X Y Z A B G52 801 802 803 804 805 G54 806 807 808 809 810 G55 811 812 813 814 815 : : : : : : G59 831 832 833 834 835 G110 836 837 838 839 840 G111 841 842 843 844 845| : : : : : : G128 926 927 928 929 930 G129 931 932 933 934 935

The nnnn numbers for coolant spigot positions are as follows:

1 936 2 937 3 938 : : 200 1135

The format of data sent and received for macro variables is the same as above except there is a line N9999, and no line N0. The N number is the data number and V is the value. N0 is a CRC code that is computed by the control prior to sending the data. The N0 value is mandatory with parameters but is optional with settings and offsets. If you make a change to some saved data value and leave the old CRC, you will get an alarm when you try to load that data. With settings and offsets, you should delete the N0 line if you make changes to the saved data.

NOTE: Data will be loaded even though an alarm has been generated.

OPERATION

91

O MPERATORS ANUAL

96-8500 rev C

June 2001

Data that is received garbled is usually converted into a comment and stored into your program while an alarm is generated. In addition, any parity errors or framing errors will generate an alarm and they will also stop the receive operation.

At the end of a send or receive function, the bottom left corner of the display will show either: RS232 DONE for normal completion or RS232 ABORT if any errors cause it to stop. The actual errors are listed in the ALARM display.

The Haas CNC serial ports optionally support the full DC1, DC2, DC3, DC4 code sequence that is compatible with paper tape readers and punches. Setting 14 is used to select this mode of operation. Setting 14 can be set to DC CODES. When this setting is selected, the following occurs:

1. When sending out of the serial port, a DC2 (0x12) will precede all other data. This code is used to turn on a paper punch.

2. When sending out of the serial port, a DC4 (0x14) will follow all other data. This code is used to turn off a paper tape punch.

3. When receiving from the serial port, a DC1 (0x11 Xon) is sent first. This code is used to turn on a paper reader.

4. When receiving from the serial port, a DC3 (0x13 Xoff) is sent after the last % is received. This code is used to turn off a paper tape reader.

Note that the Setting 14 selection XON/XOFF is similar to the DC CODES selection. Both of these settings use the DC1/DC3 XON/XOFF codes to start/stop the sender when data is received too fast. When DC CODES is selected for Setting 14 (synchronization), serial port #1 will transmit an XON (DC1) if a character has not been received for five (5) seconds.

XMODEM may also be selected in setting 14. It is a receiverdriven communications protocol that sends data in blocks of 128 bytes. Setting synchronization to XMODEM gives your RS-232 communication an added level of reliability because each block is checked for integrity. If the receiver determines that the most recently sent block is in error, it will request that the sender try to send the block again.

In order to use XMODEM, parity must be none, and RS-232 data bits must be set to 8. Also, the computer that is sending the data must be equipped with a communications package that supports the XMODEM protocol. It must be set to XMODEM to operate.

This version of XMODEM supports checksum verification only. Also, 512 bytes of memory must be available before using XMODEM with DNC. XMODEM must use 8 data bits and no parity.

WARNING!

One of the biggest causes of electronic damage is a lack of a good earth ground on both the CNC and the computer that is connected by RS-232. A ground fault condition (i.e., a lack of good ground on both) will damage the CNC or the computer, or both.

Port #2 on the side cabinet is dedicated to auxiliary axes communication. See Auxiliary Axis Control for further more information.

OPERATION

92

O MPERATORS ANUAL

96-8500 rev C

June 2001

DIRECT NUMERICAL CONTROL (DNC)

As a standard feature, this machine is shipped with a DNC capability. With DNC, there is no limit to the size of your CNC programs. The programs are directly executed by the control as they are sent over the RS-232 interface. Note, that this is the first serial port or the top connector. Do not confuse DNC with RS-232 uploading and downloading.

If you wish to use DNC, it is enabled by Parameter 57 and Setting 55.

NOTE: Floppy disk DNC is selected by entering the floppy disk file name and pressing MDI a second time when already in MDI mode. Do not press MDI three consecutive times or a DISK ABORT will result.

When enabled, DNC is selected by pressing MDI a second time when already in MDI. DNC mode will not be enabled unless there is a minimum of 512 bytes of user memory available. When DNC is selected, the PRO- GRAM DISPLAY will show:

WAITING FOR DNC...

This means that no DNC data has been received yet and you may begin sending data. You must start sending the program to the control before the CYCLE START button can be pushed. After the beginning of the program is seen by the control, the display will show part of the program and a message at the bottom, left of the CRT will show DNC PROG FOUND. After the program is found, you may push CYCLE START just like running any other program from Memory.

If you try to press CYCLE START before receiving a program, you will get the message: NO DNC PROG YET. The reason for not allowing the command of CYCLE START before receiving the DNC program is for safety. If the operation is allowed to start from a remote location, the operator may not be present to ensure that the machine is operating safely.

While a DNC program is executing, you are not allowed to change modes. You must first press RESET to stop the program.

When the end of the DNC program is received, the message DNC END FOUND is displayed. When the DNC program is finished running, the PROGRAM DISPLAY will show the last few lines of the program. You must press RESET or exit the DNC mode before you can run any other programs. If you try to press CYCLE START before RESET of the previous DNC, you will get the message: RESET FIRST.

DNC supports Dripmode. The control will execute one block at a time from the RS-232 port. Each block entered will be executed immediately with no block lookahead buffering. The exception is that Cutter Compen- sation requires three blocks of motion commands to be buffered prior to a compensated block being executed.

There are several restrictions on what can be in a DNC program. An M30 is not allowed as it is not possible to start over at the beginning. Canned cycles G70, G71, G72, and G73 cannot be programmed while in DNC, since they require the control to look ahead.

OPERATION

93

O MPERATORS ANUAL

96-8500 rev C

June 2001

The program must begin with a % just like any other program sent over RS-232 and the program must end with a %. The data rate selected for the RS-232 port by settings must be fast enough to keep up with the rate of block execution of your program. If the data rate is too slow, the tool may be stopped in a cut when you might otherwise expect continuous cutter motion. The highest standard RS-232 data rate available is 115,200 bits per second.

It is recommended that DNC be run with Xmodem or parity selected because an error in transmission will then be detected and will stop operation of the DNC program without crashing. The settings page is used to select parity. The recommended RS-232 settings for DNC are:

9600 or 19200 BITS PER SECOND EVEN PARITY 1 STOP BIT XON/XOFF

Full duplex communication during DNC is possible by using the G102 command or DPRNT to output axes coordinates back to the controlling computer. When DNC is running, BACKGROUND EDIT is not available.

To run DNC in graphics, you must select DNC first , then go to graphics display and send your program to the CNC.

FLOPPY DISK OPERATION

All files must be on MS-DOS formatted 1.44M floppy disks and must reside in the root directory. Parameter 209 DISK ENABLE must be 1.

NOTE: In order to enable the floppy disk drive, an unlock code must be entered. If necessary contact the Service Department for more information.

NOTE: Use an empty (containing no other files) floppy disk for faster operation.

All programs must begin with a line containing a single % and must end with a line containing a single %. All programs saved by the control will have these % symbols.

Programs may be loaded and saved from the floppy disk. To LOAD a program, press the LIST PROG key with PRGM selected. Enter the floppy disk file name and press F3 and the control will receive all main and sub programs until it receives a % sign indicating end of input. Please note that when using ALL, all your pro- grams must have an address Oxxxxx to be filed. An ASCII EOF character (code 04) will also terminate input. The colon character (:) may be used in place of the O for a program name, but it is always displayed as O.

When loading floppy disk data, there is a status message at the bottom of the screen. It will update as follows:

LOADING Onnnnn When program name is received. DISK DONE When complete and last % is received. DISK ABORT When anything causes abnormal stop.

OPERATION

94

O MPERATORS ANUAL

96-8500 rev C

June 2001

To SAVE a program to floppy disk, press the LIST PROG key with PRGM selected. Enter the floppy disk file name, use the cursor as above to select the program, and press the F2 key. You can select ALL to send all of the programs in memory.

NOTE: To load or save a program numbered greater than 9000, Setting 23 must be off.

Parameters, Settings, Macro Variables, and Offsets may also be sent individually to the floppy disk by selecting the LIST PROG mode, entering the floppy disk file name, selecting the desired display screen (PARAM, SETNG, OFSET, or the Macro Variables page of CRNT CMDS), and pressing the F2 key. They can be received by pressing the F3 key.

If an EOB (semicolon) is loaded, it will cause a blank line in the program.

The format of data sent and received for settings, offsets, and parameters is the following:

% N0 Vnnnnnn N1 Vnnnnnn N2 Vnnnnnn . . . %

The following table shows the use of the N numbers in the output file when offsets are saved to RS-232 or disk.

Tool length: Tool/function length wear diameter wear

1 001 201 401 601 2 002 202 402 602 3 003 203 403 603 : : : : : 200 200 400 600 800

The nnn numbers for work offsets are as follows:

Offset/axis X Y Z A B G52 801 802 803 804 805 G54 806 807 808 809 810 G55 811 812 813 814 815 : : : : : : G59 831 832 833 834 835 G110 836 837 838 839 840 G111 841 842 843 844 845| : : : : : : G128 926 927 928 929 930 G129 931 932 933 934 935

OPERATION

95

O MPERATORS ANUAL

96-8500 rev C

June 2001

The nnnn numbers for coolant spigot positions are as follows:

1 936 2 937 3 938 : : 200 1135

The N number is the data number and V is the value. N0 is a CRC code that is computed by the control prior to sending the data. The N0 value is mandatory with parameters but is optional with settings and offsets. If you make a change to some saved data value and leave the old CRC, you will get an alarm when you load that data. With settings and offsets, you should delete the N0 line if you make changes to the saved data.

Data that is received garbled is usually converted into a comment and stored into your program while an alarm is generated. Errors generating an alarm may also stop the receive operation.

To get a DIRECTORY LISTING, select the PRGM/LIST PROG mode, and press F4. This will generate a Disk Directory Listing that will be saved in program 0xxxx where xxxx is defined in parameter 227. The default value is 8999.

On the List Prog page, type "DEL " where is the name of a file on the floppy disk. Press write. The message "DISK DELETE" will appear, and the file will be deleted from the floppy disk.

At the end of a save or load function, the bottom left corner of the display will show either: FLOPPY DONE for normal completion or DISK ABORT if any errors cause it to stop. The actual errors are listed in the ALARM display.

DRY RUN OPERATION

The DRY RUN function is used to check a program quickly without actually cutting parts. DRY RUN is selected by pressing the DRY RUN button while in MEM or MDI mode. When in DRY RUN, all rapids and feeds are run at the DRY RUN speed selected from the JOG speed buttons. The bottom of the screen will display the rate as 100, 10, 1.0 or 0.1 inches per minute.

DRY RUN cannot be turned on while a program is running. It can only be turned on or off when a program has completely finished or is reset. The first push of the DRY RUN button turns on this function and the second push will turn it off again. DRY RUN will still make all of the requested tool changes. The speed used in DRY RUN can be changed at any time and the operator can then check that the motions that are programmed are exactly what were intended. Note that Graphics mode is just as useful and may be even safer since it does not begin moving the machine before the program is checked.

OPERATION

96

O MPERATORS ANUAL

96-8500 rev C

June 2001

3.8 DISPLAYS

You can select any of the following displays using the eight DISPLAY select buttons:

PRGRM / CONVRS To show or edit the program selected OR to select conversational mode (QuickCode)

POSIT To show the axes positions.

OFSET To show or enter working offsets.

CURNT COMDS To show current commands and times.

ALARM / MESGS To show alarms and user messages.

PARAM / DGNOS To show parameters and diagnostic data.

SETNG / GRAPH To show or enter settings OR to select graphics simulation mode.

HELP / CALC To show the help data and calculator.

In addition, when a program is running, you may press LIST PROG to select a list of the programs in memory. This is helpful in determining which programs can be edited in BACKGROUND EDIT, which is selected from the PROGRAM display.

OPERATION

97

O MPERATORS ANUAL

96-8500 rev C

June 2001

MESSAGES

The screen will ALWAYS show some of the current conditions selected in the control. These are fixed status displays that describe the condition of the machine. The following conditions are displayed on the screen:

The selected display in the top left corner, The selected mode in parentheses, The presently selected program in the top right corner, The most recent line number in the top right corner, Up to 18 lines of variable display data, Any of the following conditions that apply:

ALARM Blinking in lower right corner when alarm occurs. BLKDEL BLOCK DELETE is turned on. BUF When next block is ready in continuous path. DOOR HOLD An open door has stopped the program. DRYRUN DRY RUN is selected. DWELL When a G04 is being performed. FEED When a feed motion is in progress FEED % Feed rate override is active. FEED HOLD FEED HOLD is active. OPTSTP OPTIONAL STOP is turned on.

RAPID % Rapid override is active. RUNNING When a program is running. SINGBK SINGLE BLOCK is turned on. SINGBK STOP When a program is stopped in SINGLE BLOCK. SPIND % Spindle speed override is active. TOOL UNCLP Reverse video when the tool is unclamped. XYZA-MIR These axes are set to mirror image.

The following error messages are received when the wrong button is pressed.

OPERATION

98

O MPERATORS ANUAL

96-8500 rev C

June 2001

ALARM ON Cannot start an operation until alarms are reset. ALTER The selected text can now be altered. AUX AXIS BUSY One or more auxiliary axes are busy in an operation. BAD CODE Code entered is not understood. BAD FILE NAME Not a valid file name. BAD NAME Name entered is not Onnnnn. BLOCK TOO LONG Block being edited would be too long. CAN NOT COPY The selected program can not be copied. CAN'T RENAME The selected program cannot be renamed. CAN'T UNDO! The last function can not be undone. CNVEYR DISABLED Chip conveyor has been disabled by parameters. COOLANT OFF Coolant pump is off. COOLANT ON Coolant pump is on. DEL ALL (Y/N) ? Delete all, yes or no ? DELETE Deleting text as requested. DIR FULL Maximum number of programs exceeded. DIR NOT FOUND Directory of floppy disk not found. DISABLED AXIS Requested axis has been disabled, and cannot be jogged. DISK ABORT Something caused an abnormal stop. DISK DIR The directory of files on the floppy disk. DISK DONE When complete, and last % is received. DISK FOUND Floppy disk drive is present. DISK NAME REQ Floppy disk file must be named. DISK NOT ENBLED Floppy disk drive has not been enabled by parameters. DISK NOT IN DRV No disk in floppy disk drive. DISK NOT RDABLE Floppy disk cannot be read by control. DISK READ Reading from floppy disk drive. DISK WRITE Writing to floppy disk drive. DISK WRT PROTECT Cannot save to floppy disk, it is write protected. DISPLAYS OFF Indicates that M76 was used to turn off displays. DIVIDE BY ZERO An attempt was made to divide by zero in calculator mode, or system

error exists. DNC END FOUND The end of a DNC program has been found. DNC PROG READY The DNC program is ready to run. DOOR IS OPEN The door is open; some functions not allowed. EMPTY PROG No program found between the % and %. END FOUND End of program has been received. END OF PROG The program being run has completed. EOF FOUND End of file is found. EXIT BG EDIT Must exit Background Edit mode to perform this function. FILE NOT FOUND The file was not found. FUNCTION ABORT Requested function has been aborted. FUNCTION LOCKED Function attempted is locked from settings. GUARDED CODE Cannot remove Onnnnn at start of program. INSERT Selected text now being inserted. INSUF DSK SPACE Insufficient disk space to save the selected file. INVALID AXIS Selected axis is invalid. INVALID NUMBER Number entered is invalid. JOG COMD An axis jog has been commanded. LOADING... Reading programs or data from RS-232. LOW AIR PR Air pressure is low. LOW COOLANT Low level in coolant tank. MACHINE LOCKED Front panel has been locked by setting.

OPERATION

99

O MPERATORS ANUAL

96-8500 rev C

June 2001

MACRO LOCKED Macros 9000 to 9099 are locked by setting. MEMORY FULL Memory space is full. MEMORY LOCKED Memory lock is set in settings. MV SHUT TO STBY The control is preventing the operator from zeroing the machine. Move the

tool shuttle to the Standby Position; this is the only safe place for the shuttle to be when zeroing the machine.

NEW PROGRAM A new programa may be entered. NO DNC PROG YET Attempted to start program before it was completely received. NO DISK FOUND Cannot find the floppy disk drive. NO INPUT Cannot alter until something has been entered. NO NAME ENTRY No file name has been entered.| NO PROG YET Cannot press Cycle Start until a program is received. NO ZERO A Cannot run machine until search for zero is complete on A-axis. NO ZERO X Cannot run machine until search for zero is complete on X-axis. NO ZERO Y Cannot run machine until search for zero is complete on Y-axis. NO ZERO Z Cannot run machine until search for zero is complete on Z-axis. NOT AVAILABLE Function requested is not available at that time. NOT FOUND Item not found during search in editor. NOT IN DRYRUN The function requested applies to DRY RUN, but control is not presently

in that mode. ONE BIT ONLY Only 0 or 1 is accepted to alter a parameter switch. ONE PROG ONLY Program name being selected cannot be ALL. OVERWRITE (Y/N) Do you want to overwrite the file, yes or no ? PLEASE WAIT Wait until spindle is stopped. PROG EXISTS Cannot rename to an existing program. PROG NOT FOUND Requested program not in memory. PROG READY Program has been received and is ready to run. PROGRAM END Cannot remove last EOB in program. PROGRAM IN USE Program is already in use. RANGE ERROR Data being entered is outside of the valid range. RESET FIRST Must press RESET before performing this function. RIGID TAP Rigid tapping is being performed. RS-232 ABORT RS-232 was aborted by operator action. RS-232 DONE RS-232 operation is complete. RS-232 ERROR RS-232 error (shown in alarms). SEARCHING... Searching program for requested text or G code. SEL HI GEAR High gear selected in program. SEL LOW GEAR Low gear selected in program. SENDING OFFSET Sending offsets via RS-232. SENDING PARS Sending parameters via RS-232. SENDING SETTING Sending settings via RS-232. SENDING VARS Sending variables via RS-232. SENDING... RS-232 output is in process. SERVO IS OFF When servos are off, you cannot start a program. SERVO IS ON! Parameter change was attempted with servo on. This is dangerous! SHUTTLE IN Tool changer is in position for a tool change. SPEED COMD A spindle speed must be commanded. SPINDLE CCW Spindle is turning counterclockwise. SPINDLE CW Spindle is turning clockwise. SPINDLE HIGH Spindle is in high gear. SPINDLE IN USE Spindle is being controlled by program - manual controls not available

at this time. SPINDLE LOCKED Spindle is locked in place. SPINDLE LOW Spindle is in low gear.

OPERATION

100

O MPERATORS ANUAL

96-8500 rev C

June 2001

SPINDLE ORI Spindle is being oriented. SPINDLE STOP Spindle is not turning. STRING TOO LONG The text being entered is too long.

SYSTEM ERROR Call your dealer. TOOL CH LOCKED Tool changer has been disabled by parameter 57 bit 1. TOOL CLAMP The tool is in the spindle. TOOL OVERLOAD Cutting tool is overloaded. TOOL UNCLAMP The tool has been unclamped. TURRET IN The tool changer is in position for a tool change. TURRET OUT The tool changer is out of position for a tool change. WAIT OR RESET Cannot perform requested function until program finishes or RESET is

pressed. WAIT... Requested function is being performed. WAITING... Waiting for RS-232 input. WRONG MODE Function requested is available only in another mode.

And the following responses, only when in graphics mode:

CIRCULAR A circular motion is being performed. LINEAR A linear motion is being performed. M30 FOUND End of program found and execution stopped M00 AFTER M06 Cannot have an M00 after M06. NO ZOOM IN 3D Zoom is not allowed in 3D graphics mode. RAPID A rapid motion is being performed.

In addition, the CRT display can show one of the following eight types of data in the 18 lines of variable display:

Program Displays:

The PROGRAM DISPLAY is used to show your program while in either MEM, EDIT, or MDI modes.

Position Display:

The POSITION DISPLAY is used to select the X, Y, Z, or A axes positions in any of several coordinate sys- tems. The PAGE UP and PAGE DOWN keys select between these.

Offsets Display:

The OFFSETS DISPLAY is used to enter and display tool length offsets, tool radius offsets, and work offsets. The PAGE UP and PAGE DOWN keys will scroll between these.

Current Commands Display:

The CURRENT COMMANDS DISPLAY is used to display the Program Command Check, the Current Com- mands, Running Timers, Tool Life Timers, Tool Load Monitor, and Axis Load Monitor. The PAGE UP and PAGE DOWN keys select between these.

OPERATION

101

O MPERATORS ANUAL

96-8500 rev C

June 2001

Alarms / Messages Displays:

The ALARMS/MESSAGES DISPLAY is used to display alarms and to enter and display user messages. The second push of the ALARM button will select messages display. The CURSOR up and down buttons will display additional alarms if there is more than will fit on one page.

Parameters / Diagnostics Displays:

The PARAMETERS DISPLAY shows all of the machine dependent control parameters and the Diagnostic data. The second push of the PARAM / DGNOS button will select the diagnostic display. The PAGE UP, PAGE DOWN, up and down cursor keys, and the jog handle can be used to scroll through the parameter display screens in the control. The left and right cursor keys are used to scroll through the bits in a single parameter.

Settings / Graphics Displays:

The SETTINGS DISPLAY is used to display and change user controlled parameters. The second push of the SETNG / GRAPH button will select the Graphics display.

Help / Calculator Displays:

The HELP DISPLAY shows a mini-manual on the CRT along with a directory of available help information. Each alphabet button will select a different topic within the HELP display. The second push of the HELP button will select the Calculator display. The PAGE UP and PAGE DOWN buttons will select different calcula- tor functions.

PROGRAM DISPLAYS

The PROGRAM DISPLAY is used to show a program being edited in EDIT mode or a program being run in MEM. In MEM mode, there is also a PROGRAM REVIEW display available.

The PROGRAM DISPLAY uses 18 lines of the text display area of the CRT to show the command blocks of a CNC program. The display is 40 positions wide and blocks that are longer than 40 positions are continued on the next line of the display.

The PROGRAM REVIEW function is available whenever a program is being run. This allows you to review the program that is running. This is selected by pressing F4 while in MEM mode and PROGRAM DISPLAY. The screen is changed to an 80 column display with the normal MEM display on the left and PROGRAM REVIEW on the right. The CURSOR and PAGE UP and PAGE DOWN keys can be used to change the display on the right to a different part of the program. The display on the left will show the progress of the running program. To exit PROGRAM REVIEW, select any other display.

While you are running a program, the BACKGROUND EDIT function is available as a standard feature. BACK- GROUND EDIT allows you to edit any named program in memory while any program is being run in memory. BACKGROUND EDIT is selected from MEM mode in PROG display by entering Onnnnn with the program number and pressing F4. The display will change to the selected program while still running the first program. BACKGROUND EDIT is enabled by parameters if it is available in your machine.

OPERATION

102

O MPERATORS ANUAL

96-8500 rev C

June 2001

POSITION DISPLAYS

The following are the five position displays in this control:

Home Page

This display shows the four displays simultaneously in small characters. The PAGE UP and PAGE DOWN keys will change displays. The other displays are shown in large characters. The last display selected will be shown in CURNT COMDS and SETNG / GRAPH displays when they are selected.In this display, any axis that is at the zero position will be highlighted. In the other four displays, the selected axis will be blinking.

Operator Display

This display is for the operator/setup person to use as desired, and is not used by the control for any position- ing functions. In JOG mode, and with this display selected, the ORIGIN button can be used to set the zero position. This display will then show position relative to the selected zero position.

Work Display

This display shows how far the tool is away from the X, Y and Z zero of the programmed part. On power up, it will display the value in work offset G54 automatically. It can only be changed by G54 through G59, G110 through G129, or by a G92 command. The machine uses this coordinate system to run the part.

Machine Display

This display is the machine coordinate system that is automatically set on power up and the first ZERO RET. It cannot be changed by the operator or any work coordinate systems, and will always show the distance from machine zero. It can be used by a non-modal G53 command.

Distance To Go

This display is an incremental display that shows the travel distance remaining before the axes stop. When in the ZERO RET mode, this display shows a diagnostic value. When in JOG mode, this display shows the total distance jogged. In rigid tapping, this number decreases to zero at the bottom of the hole and then increases again as the reverse stroke occurs.

OFFSETS DISPLAY

Tool length and part zero offsets are displayed and can be entered in the Tool Offsets display. There are 200 H and D codes possible. The same offset number for both Z-axis offset (H1) and tool diameter compensation (D1) can be used because the offset contains separate values for each. Work offsets can also be specified for the fifth axis B address, in the work offset display. If the fifth axis is enabled (Setting 78), then additional data fields are made available for the fifth axis.

PAGE DOWN in the OFSET display will go through all 200 possible tool offsets and then change to the work zero offsets. PAGE UP will go directly to work zero offsets. The jog handle can also be used to scroll through the offsets. Work zero offsets may be entered and displayed from this page or using the PART ZERO SET key. Refer to the "Setup Procedures" section for more information on using this key.

OPERATION

103

O MPERATORS ANUAL

96-8500 rev C

June 2001

When entering offsets, pressing F1 will set the value to your entry. Pressing WRITE will cause the new value to be added to the old value. This allows small adjustments to be made to the offsets. Note that entering a negative entry and pressing WRITE will decrease the value of the offset. F2 will set the negative of the entered value into the offsets.

There is a geometry and wear value with each offset and these are added together by the control during operation. The initial value is entered into the geometry column by the setup person. During operation, the operator makes minor wear changes in the wear column. This method allows the operator to see actual tool wear by limiting it to the wear column. The geometry values can also be entered automatically by using the TOOL OFSET MESUR key during setup procedures. Note that this automatic offset measurement works with G43 only. Refer to the "Setup Procedures" section for more information on using the TOOL OFSET MESUR key.

The function of the offset display page has been modified slightly to accommodate multiple axes. Only the axes that are enabled are displayed on the work offset display. For example, if the fourth axis is enabled (Setting 30), and the fifth axis is not, then the display will show X,Y,Z,A. In this case, all axes can be dis- played on the entire display. If only the fifth axis is enabled, then the display will show X,Y,Z,B. Since the fourth axis is disabled, there is no need to display it.

If both the A and B axes are enabled, then the last column of the offsets display serves a dual purpose. Either A or B can be accessed in the last column. By using the left or right arrow keys, the screen cursor can be moved into the axis field that is to be set. When the rightmost field is highlighted by the cursor and the top of the column indicates A, then the values in this column represent A axis offsets. If you press the right arrow key once, the cursor stays in the same place, but the column and its values will change to B axis parameters. You can view and modify work offsets in this manner using the left and right arrow keys when both axes are enabled.

Setting 15, "H & T Code Agreement", may be used to force the spindle tool number and offset number to be equal; otherwise an alarm will occur. This is the preferred setting as it avoids crashes.

Tool diameter may be entered as either radius or diameter. Setting 40 is used to select between these. The value used for cutter compensation is the sum of the geometry and wear values.

OPERATION

104

O MPERATORS ANUAL

96-8500 rev C

June 2001

Cutter compensation is controlled by G41 and G42 and the selected tool diameter (D value). Positive values for cutter compensation work normally. Negative values for cutter compensation cause the opposite side cutter compensation to be used. This means that G41 with a negative number will be the same as G42 with the same but positive number.

Offsets may be sent and received with the RS-232 port. Refer to the "Data Input / Output" section for a description of how to do this.

When the COOLANT SPGT of Parameter 57 is enabled, the CLNT POS column of the offset display is acces- sible. The spigot can be positioned when an M08 is encountered in a program. The current H code is used by the M08 to determine where to position the coolant spigot. If offset #5 (H05) has 10 entered under the CLNT POS column, the spigot will be moved to position 10. When the cursor is positioned on the CLNT POS column, the current spigot position will be shown at the bottom of the display. If the spigot has not been zeroed, the position will be blank.

The permissible values that can be entered into this column are controlled by Parameter 206, SPIGOT POSI- TIONS. Entering a value of zero (0) indicates that the spigot will not be moved when an M08 code sequence is encountered.

The following code sequence demonstrates how the spigot can be commanded:

NOTE: That the tool length and radius offset numbers usually are the same as the tool number

O0001 (Sample coolant positioning) T1 M06 G90 G54 G00 X_ Y_S1400 M03 G43 H01 Z_ M08 (Moves spigot to H1 position) . . . T2 M06 G90 G54 X_ Y_ S900 M03 G43 H02 Z_ M08 (Moves spigot to H2 position) . . . G43 H42 Z.1M08 (Position to new location with a second offset H42)

(More than one offset number can be used for a tool if needed) . . . M30

OPERATION

105

O MPERATORS ANUAL

96-8500 rev C

June 2001

CURRENT COMMANDS DISPLAY

The following are the seven current command displays in this control:

Program Command Check (Home Page), Current Display Command, Operation Timers, Macro Variables, Tool Life Timers, Tool Load Monitor,

and Axis Load Monitor.

The PAGE UP and PAGE DOWN keys are used to select among these displays.

Program Command Check Display

This display, which is the Home Page for the Current Commands Display, shows a current overview of the important commands. It shows the programmed spindle speed (Snnnnn), the spindle speed commanded to the spindle drive (CMDnnnnn), and if Parameter 278 bit ACT DISPLAY is set to 1, the actual encoder spindle speed (ACTnnnnn). In addition, this display shows the CW, CCW, or stopped command being sent to the spindle and the current gear position.

This display also shows the position of the axes. The coordinates displayed (operator, work, machine, or distance to go) are selected using the cursor up and down keys.

If the spigot is enabled, the current spigot position will be displayed.

Current display command

This display shows all of the alphabetical address codes (i.e. G, M, S, H, D) and their current value. These values may not be changed in this display. The default value is shown for the address codes that are not being used in the current program.

Macro Variables Display

This display shows a list of the macro variables and their present values. As the control interprets a program, the variable changes are displayed on this page and the results can be viewed. The variables may be modified in this display. For more information on this display, refer to the "Macros" section of this manual.

Operation Timers Display

This display shows the current power-on time, cycle start time, and the feed time. These times may be reset to zero by using the cursor up and down keys to highlight the desired title and pressing the ORIGIN button.

Listed below these times are two M30 counters that are used for counting completed parts. They may be set to zero independently to provide for the number of parts per shift and total parts. Both counters are increased when an M30 is operated.

OPERATION

106

O MPERATORS ANUAL

96-8500 rev C

June 2001

Tool Life Display

This display shows the time the tool is in feed (Feed-Time), the time the tool is in the spindle (Total-Time), and the number of times the tool has been selected (Usage). This information can be used to assist in predicting tool life. The values in this display can be reset to zero using the Cursor and ORIGIN buttons. This is done by putting the cursor on the title line, and pressing ORIGIN to zero all of the data in that column.

This display may also be used to generate an alarm when a tool has been used a specific number of times. The last column is labeled "Alarm", and if the number for a tool is not zero, an alarm will be generated when that count is reached. This number can be changed by the operator. Alarm 362 is generated when the count is reached, and may be cleared with RESET.

The tool that is currently in the spindle is highlighted.

Tool Load Monitor and Display

With the tool load display, the operator can enter the maximum load that is expected for each tool, and when this load is exceeded in a feed, a certain action will be taken. This display provides for the entry of this alarm point and also displays the largest load that tool has seen in any previous feed.

The tool load monitor function operates whenever the machine is in a feed operation (G01, G02, or G03). The values entered into the tool load display are checked against the actual spindle motor load. If the limit is exceeded, the tool overload action specified in Setting 84 (alarm, feedhold, beep, or Autofeed) will be taken. If "alarm" is selected and the limit is exceeded, Alarm 174, "Tool Load Exceeded", will be generated. This alarm will stop the axis motors and the spindle motor, turn off the coolant, and disable the servos.

If, during a feed the load exceeds the tool limit and the AUTOFEED feature, is selected, it will automatically override the feed rate (reduce it) down to the percentage specified by parameter 301 (i.e. 1%) at the rate specified by parameter 300 (i.e. 0% per second). If the tool load later falls below 95% of the tool load limit percentage, the AUTOFEED feature will automatically override the feed rate (increase it) back to the feed rate that was in effect at the start of the feed at the rate specified by parameter 299 (i.e. 0% per second). These adjustments will be made in 0.1 second increments.

Axis Load Monitor

Axis load is 100% to represent the maximum continuous load. Up to 250% can be shown, and above 100% can lead to an axis overload alarm.

OPERATION

107

O MPERATORS ANUAL

96-8500 rev C

June 2001

Periodic Maintenance

A periodic maintenance page has been added to the Current Commands screens (titled SCHEDULED MAINTE- NANCE and accessed by pressing PAGE UP or PAGE DOWN) which allows the operator to activate and deactivate a series of checks (see list below). An item on the list can be selected by pressing the up and down arrow keys. The selected item is then activated or deactivated by pressing ORIGIN. If an item is active, the remaining hours will be displayed to the right. If an item is deactivated, will be displayed instead. Items are tracked either by the time accumulated while power is on (ON-TIME) or by cycle-start time (CS- TIME). When power is applied, and every hour thereafter, the remaining time for each item is decremented. When it reaches zero (or has gone negative) the message MAINTENANCE DUE is displayed at the bottom of the screen. A negative number of hours indicates the hours past expiration. This message is not an alarm and does not interfere with machine operation in any way. The intent is to warn the operator that one of the items on the list requires attention. After the necessary maintenance has been performed, the operator can select that item on the SCHEDULED MAINTENANCE screen, press ORIGIN to deactivate it, then press ORIGIN again to reactivate it, and the countdown begins again with a default number of hours remaining (this value is determined by the software and cannot be altered by the operator.)

Items available for checking are:

COOLANT - needs replacement 100 ON-TIME AIR FILTER in control enclosure - replace 250 ON-TIME OIL FILTER - replace 250 ON-TIME GEARBOX OIL - replace 1800 ON-TIME COOLANT TANK - check level, leakage, oil in coolant 10 ON-TIME WAY LUBE SYSTEM - check level 50 CS-TIME GEARBOX OIL - check level 250 ON-TIME SEALS/WIPERS missing, torn, leaking - check 50 CS-TIME AIR SUPPLY FILTER - check for water 10 ON-TIME HYDRAULIC OIL - check level 250 ON-TIME

ALARMS / MESSAGES DISPLAY

The ALARMS DISPLAY can be selected at any time by pressing the ALARM / MESGS button. When there are no alarms, the display will show NO ALARM. If there are any alarms, they will be listed with the most recent alarm at the bottom of the list. The CURSOR and PAGE UP and PAGE DOWN buttons can be used to move through a large number of alarms. The CURSOR right and left buttons can be used to turn on and off the ALARM history display.

The MESSAGE DISPLAY can be selected at any time by pressing the ALARM / MESGS button a second time. This is an operator message display and has no other effect on operation of the control. Any message can be typed into the message display and called up later.

You may leave an electronic note to yourself or anyone else by using this feature. The note may be for the operator to change tools after running a number of parts or it may be a diary for machine maintenance intervals that are performed. Data is automatically stored and maintained even in a power off state. The message display page will be come up during power up if there are no alarms present.

To enter messages, press the ALARM / MESGS button twice. You may now enter data by simply typing directly onto the screen. The cancel and space keys can be used to remove existing messages. The DELETE button can be used to remove an entire line.

OPERATION

108

O MPERATORS ANUAL

96-8500 rev C

June 2001

PARAMETER / DIAGNOSTIC DISPLAY

The PARAMETER DISPLAY can be selected at any time by pressing the PARAM DGNOS button. Changes to parameters can be made when in any mode except when running a program. The CURSOR up and down buttons move to different parameters and the PAGE UP and PAGE DOWN buttons move through groups of parameters. Parameters 1, 15, 29, 43, and 57 are displayed as a single page of discrete flags. Selecting among the flags is done with the CURSOR left and right buttons. Parameters cannot be changed with the servos on. The EMERGENCY STOP button can be used to turn off the servos.

For machines with the fifth axis option, the parameter display organization has been modified to accommodate the extra axis parameters. Parameter numbers have remained the same as in a four-axis control. Additional parameters have been added for the fifth axis.

The parameters have been reorganized, so that logically-associated parameters are grouped together. These logical groupings are placed together into contiguous screens called pages. The most commonly changed parameters have been placed at the beginning of the page list. A list of the parameter pages and the order of succession in the control follows.

PAGE TITLE DATA DESCRIPTION

COMMON SWTCH Non-axis bit switches. COMMON PAGE1 First page of non-axis parameters. COMMON PAGE2 Second page of non-axis parameters. COMMON PAGE3 Third page of non-axis parameters. MACRO M CALL Parameters that alias M codes to subroutines. MACRO G CALL Parameters that alias G codes to macros. X BIT SWITCH Bit switches for the X axis. X PARAMETERA First page of X axis parameters. X PARAMETERB Second page of X axis parameters. Y BIT SWITCH Bit switches for the Y axis. Y PARAMETERA First page of Y axis parameters. Y PARAMETERB Second page of Y axis parameters. Z BIT SWITCH Bit switches for the Z axis. Z PARAMETERA First page of Z axis parameters. Z PARAMETERB Second page of Z axis parameters. A BIT SWITCH Bit switches for the A axis. A PARAMETERA First page of A axis parameters. B BIT SWITCH Bit switches for the B axis. B PARAMETERA First page of B axis parameters. B PARAMETERB Second page of B axis parameters. X SCREW COMP X axis screw compensation value. Y SCREW COMP Y axis screw compensation value. Z SCREW COMP Z axis screw compensation value.

The HOME key displays the first parameter page COMMON SWTCH. Pressing the PAGE DOWN key will display the next page of parameters in the above list. The END key displays the last parameter page B PARAMETERB. Pressing the PAGE UP key will display the preceding page of parameters in the above list. All other features on the parameters display have remained the same. So, if you are unfamiliar with the new format of the parameters, you can still search by parameter number. Enter the number of the parameter you want to see or view and press the up or down arrow key. The page that the parameter is on will be displayed and the parameter being searched for will be highlighted. Refer to the "Parameters" section for more information.

OPERATION

109

O MPERATORS ANUAL

96-8500 rev C

June 2001

The DIAGNOSTIC DATA DISPLAY can be selected at any time by pressing the PARAM DGNOS button a second time. There are two pages of diagnostic data and the PAGE UP and PAGE DOWN buttons are used to select between them. After this, the current run time and the number of tool changes is displayed.

A five-axis control has additional diagnostic data to be aware of:

The first page of diagnostic data shows two discrete outputs that control the rotary axes brakes; they are labeled Brake 4th Axis and Brake 5th Axis. The 4th axis is synonymous with the A-axis, and the 5th axis is synonymous with the B-axis. If the Air Brake Parameter for the axis is set to 1, the HAAS control unclamps the brake whenever motion is commanded to the rotary axis and sets the brake back to its previous state as soon as the motion stops. The brake is activated by a relay. The two discrete outputs show the state of the brake relays. If the output is high (1) the brake is unclamped. When the machine is first powered up the brake will be unclamped, so the output will be low (0). When the brake is unclamped the message A UNCLMP or B UNCLMP is displayed in the message area near the bottom of the display.

The M11 and M13 codes command the brake to be unclamped. When these codes are in effect, the axis brake will remain unclamped even after motion has stopped.

The second page of diagnostic data shows the status of inputs from the motor interface board. Additional inputs for the expanded motor interface board are listed under INPUTS4. These bits are monitored by the control to determine if the interface for the B axis is working correctly. Refer to the "Technical Reference" section of this manual for a description of the diagnostic page inputs.

SETTING / GRAPHIC DISPLAY FUNCTION

The SETTINGS DISPLAY can be selected at any time by pressing the SETNG / GRAPH button. When the settings are displayed, changes can be made to any of the settings. There are some special functions in the settings; refer to the "Settings" section for a more detailed description.

The GRAPHICS FUNCTION is a visual dry run of your part program without the need to move the axes and risk tool damage from programming errors. This function is far more powerful than using the DRY RUN mode because all of your work offsets, tool offsets, and travel limits can be checked before any attempt is made to move the machine. The risk of a crash during setup is greatly reduced.

To run a program in Graphics, you must be in either MEM or MDI mode.

After loading the program into memory, select MEM (or MDI) and press the SETNG/GRAPH key twice to select the Graphics Simulation mode. This function operates the same as if running a program on the machine except no physical machine action occurs.

The graphics screen is composed of the following areas:

DISPLAY TITLE AREA

The title area is on the top left line of the screen and indicates the display (GRAPHICS), the mode you are in (MEM or MDI), the program number, and the current program line being executed. It is the same as the top line of all displays.

KEY HELP AREA

The right side of the top line is the function key help area. Function keys that are currently available are displayed here with a brief description of their usage.

OPERATION

110

O MPERATORS ANUAL

96-8500 rev C

June 2001

LOCATOR WINDOW

The lower right part of the screen has two functions: it can display the whole table area and indicate where the tool is currently located during simulation, or it can be used to display four lines of the program that is being executed. The F4 key can be used to toggle between these two modes.

TOOL PATH WINDOW

In the center of the display is a large window that represents a look down perspective of the X-Y axis. It displays tool paths during a graphics simulation of a CNC program. Rapid moves are displayed as coarse dotted lines, while feed motion is displayed as fine continuous lines. The rapid path can be disabled by Setting 4. The places where a drill can or canned cycle can be executed are marked with an X. The drill mark can be disabled by Setting 5.

The tool path window can be scaled. After running a program, you can scale any portion of the tool path by pressing F2 and then using the PAGE DOWN key and the ARROW keys to select the portion of the tool path that you want to see enlarged. During this process, a rectangle will appear within the TOOL PATH window and the Locator window indicating what the TOOL PATH window will represent when the zoom process is complete. The KEY HELP AREA will flash, indicating that the user is rescaling the view. The locator window always portrays the entire table with an outline of where the TOOL PATH window is zoomed to. The PAGE UP key unzooms the rectangle one step. After sizing or moving the rectangle, pressing the WRITE key will complete the zoom process and re-scale the TOOL PATH window. Pressing F2 and then the HOME key will expand the TOOL PATH window to cover the entire table. After the TOOL PATH window is re-scaled, the TOOL PATH window is cleared and you must rerun the program, or a portion of it, to see the tool path. The tool path is not retained in the control.

The scale and position of the TOOL PATH window is saved in Settings 65 through 68. Any scaling performed on the TOOL PATH window is retained. You can leave graphics to edit your program and when you return, your previous scaling is still in effect.

Z AXIS WINDOW

A long window on the rightmost part of the screen shows the location of the Z-axis and indicates spindle movement. A horizontal line in the top part of this window represents the tool change position.

CONTROL STATUS

The lower left portion of the screen displays control status. It is the same as the last four lines of all other displays.

POSITION WINDOW

The location of all enabled axes can be viewed in this window. By default it is OFF. This window can be opened by pressing the F3 key. Additional presses of the F3 key will display the various position formats that the control keeps track of. This window also displays the current scale of the tool path window and the current simulated tool number. The value represented by the vertical dimension of the Tool Path window is labeled Y-SIZE. At power-on, this will be the full Y-axis table travel. When you zoom into a table area, this value will become smaller, indicating that you are viewing a smaller portion of the table. In addition to the above, a perspective 3D graphics view is also selected by Setting 3.

To exit the Graphic mode, select any other display or mode. When you exit Graphics, the graphics image is lost and must be built again by running the program.

OPERATION

111

O MPERATORS ANUAL

96-8500 rev C

June 2001

HELP / CALCULATOR FUNCTION

The HELP FUNCTION is selected by pressing the HELP display button. This will bring a mini-manual up on the CRT. There are 26 topic areas selectable with the A-Z keys. Pressing the D key will display a directory of the topics. The topics covered are:

A START UP AND RUNNING B PROG. REVIEW / DNC / BGEDIT / POWER DOWN C G/M/S/T COMMAND CODES D RETURN TO THIS DIRECTORY E EDITING PROGRAMS F SETTING PAGE G SPECIAL G CODES H TROUBLE SHOOTING I MDI / MANUAL DATA INPUT J JOGGING / HANDLE FUNCTION K CRT DISPLAY / KEYBOARD L ALARMS / MESSAGES M MAINTENANCE REQUIREMENTS N SET UP PROCEDURES O OVERRIDES: FEED/SPIN/COOLANT P PARAMETERS / DIAGNOSTICS Q POSITION DISPLAYS R RECV / SEND PROGRAMS S SAMPLE PROGRAM T TOOL OFS/TOOL LIFE/LOAD U GRAPHIC FUNCTION V TOOL CHANGER W WORK COORDINATES X CREATING PROGRAMS Y SPECIAL FUNCTIONS Z ZERO RETURN

The PAGE UP and PAGE DOWN buttons move to the adjacent topic. The CURSOS up and down buttons move through the text of each topic. When the HELP display is selected, the alphanumeric keys cannot be used to input data on the data entry line of the screen.

The CALCULATOR FUNCTION is selected by pressing the HELP key a second time. There are three calcula- tor pages: Trig Help, Circular Interpolation Help, and Milling/Tapping Help. All of these have a simple calculator and an equation solver. Trig, Circular, and Milling Help are selected using the PAGE UP and PAGE DOWN keys. The Fn keys also allow data to be moved from other displays to/from the calculator.

All of the Calculator Help functions have a calculator for simple add, subtract, multiply, and divide operations. When one of these functions (Trig, Circular, or Milling) is selected, a calculator window appears in the upper left corner of the screen, and below it the possible operations (LOAD + - * and /). LOAD is initially highlighted, and the other options can be selected with the left and right cursor arrows. Numbers are entered by typing them in at the cursor in the lower left corner of the screen and pressing the WRITE key. When a number is entered and LOAD is selected, that number will be entered into the calculator window directly. When a number is entered when one of the other functions (+ - * /) is selected, that calculation will be performed with the number just entered and any number that was already in the calculator window.

OPERATION

112

O MPERATORS ANUAL

96-8500 rev C

June 2001

The calculator will also accept a mathematical expression such as 23*4-5.2+6/2. It will evaluate it (doing multiplication and division first) and place the result 89.8 in this case) in the register (the window).

F3 In EDIT and MDI modes the F3 key will copy the highlighted triangle/circular/milling/tapping value into the data entry line at the bottom of the screen. This is useful when you want to use the solution developed for a program input. In the Calculator Help function, this button copies the value in the calculator window to the highlighted data entry for Trig, Circular or Milling/Tapping Help.

F4 In the Calculator Help function, this button uses the highlighted Trig, Circular or Milling/Tapping data value to load, add, subtract, multiply, or divide with the calculator.

Trigonometry Help Function

The Trig Help page will help you solve a triangular problem. You enter the lengths and the angles of a triangle and when enough data has been entered, the control will solve for the triangle and display the rest of the values. Use the CURSOR up and down buttons to select the value to be entered with WRITE. For inputs that have more than one solution, entering the last data value a second time will cause the next possible solution to be displayed. The F3 and F4 buttons perform special data import and export functions:

Circular Interpolation Help

The Circular Help page will help you solve a circle problem. You enter the center, radius, angles, start and end points and when enough data has been entered, the control will solve for the circular motion and display the rest of the values. In addition, it will list the four ways that such a move could be programmed with a G02 or G03. Those four lines can be selected using the CURSOR up or down buttons, and the F3 button will import the highlighted line into a program you are editing. Use the CURSOR up and down buttons to select the value to be entered with WRITE.

For inputs that have more than one solution, entering the last data value a second time will cause the next possible solution to be displayed. The CW/CCW entry is changed to the other value by pressing WRITE.

Milling/Tapping Help

The Milling/Tapping Help page will help you solve three equations relating to milling and tapping. They are:

1. SFM = CUTTER DIAMETER (IN.) * RPM * 3.14159 / 12 2. CHIP LOAD (IN.) = FEED (IN./MIN.) / RPM / #FLUTES 3. FEED (IN./MIN.) = RPM / (THREAD PITCH)

With all three equations, you may enter all but one of the values and the control will compute the remaining value and display it. Note that the RPM value for equations 1 and 2 are the same entry.

When Metric units are selected, the units displayed change to millimeters, mm per minute, threads per mm, and meters, respectively.

OPERATION

113

O MPERATORS ANUAL

96-8500 rev C

June 2001

Materials

The Milling calculator has been enhanced to include a new field called MATERIAL, which when highlighted, allows the operator to select a type of material from the list below using the left and right arrow keys. Note that one of the materials is always selected (the first in the list is the default) and the list wraps around at the end.

LOW CARBON UNALLOYED STEEL MEDIUM CARBON UNALLOYED STEEL HIGH CARBON UNALLOYED STEEL NORMAL CONDITION LOW ALLOY STEEL HEAT TREATED TO 32 Rc LOW ALLOY STEEL NORMAL CONDITION HIGH ALLOY STEEL HEAT TREATED TO 32Rc HIGH ALLOY STEEL FERRITIC/MARTENSITIC STAINLESS STEEL AUSTENITIC STAINLESS STEEL I AUSTENITIC STAINLESS STEEL II AUSTENITIC PRECIP. HARDENED STAINLESS IRON BASED HEAT RESISTANT ALLOY NICKEL BASED HEAT RESISTANT ALLOY COBALT BASED HEAT RESISTANT ALLOY TITANIUM HEAT RESISTANT ALLOY GRAY CLASS 20 CAST IRON GRAY CLASS 30, CLASS 40 CAST IRON NODULAR CAST IRON ALUMINUM ALLOY BRASS - BRONZE ALLOY HI-VELOCITY MACHINING ALUMINUM ALLOY

A recommended surface speed and chip load will be displayed based on the material chosen, as shown below on the right.

SURFACE SPEED *.*** FT/MIN RECOMMENDED **** TO ***** CHIP LOAD *.*** IN RECOMMENDED *.*** TO *.***

Also, the required horsepower will be calculated and displayed as shown below on the right.

CUT DEPTH *.*** IN REQUIRED POWER *.* HP

When in metric mode, the required power is displayed as KW. The remaining calculator functions are un- changed.

OPERATION

114

O MPERATORS ANUAL

96-8500 rev C

June 2001

3.9 FIVE-AXIS CRASH RECOVERY PROCEDURE

If the machine crashes while cutting a five-axis part, it can often be difficult to clear the tool away from the part due to the angles involved. DO NOT immediately press the TOOL CHANGER RESTORE key or turn the power off. To recover from a crash in which the spindle is stopped while the tool is still in a cut, retract the spindle using the V-axis vector jog. By selecting the letter V from the control panel, select handle jog and use the hand wheel to move along that axis. This feature will allow motion along any axes determined by C and/or B axis.

If the tool is not in a cut when it is crashed, press the TOOL CHANGER RESTORE key and answer the questions that appear on the screen. This will move the spindle head away from the part in the Z-axis, then return the tool changer to the shuttle "out" position.

CAUTION! When TOOL CHANGER RESTORE is pressed, the spindle head will retract the tool in C, B and Z axes simultaneously. If the tool is in a cut at an angle, it will crash when this key is pressed.

CAUTION! If the power is turned off, the angle the tool entered the cut is lost. Vector jog can no longer be used to retract the tool.

Crash Recovery Notes:

Vector Jog This feature is intended to allow the operator to clear the cutting tool from the part in an extreme situation as a result of a crash or an alarm condition.

IF THE TOOL IS IN AN ANGULAR CUT DURING A CRASH OR ALARM STATE USE VECTOR JOG TO RECOVER!

Vector jog will allow you to move the axes along the vector that the machine is stopped at. References to "Up the vector" or "down the vector" is dependent on the direction that the jog handle is turned. Note that vector jog will stop when the maximum travel in the X, Y, or Z-axes is reached.

To use Vector Jog, press V on the keypad then press the handle jog button. Two speeds are allowed while in the vector jog mode, .0001 and .001. Only the X, Y, and Z-axes are in motion while in this mode, C and B are held at the vector.

G28 is not available in the vector jog mode; it is only available for the X, Y, Z C and B when select- ing single axis.

If there was a loss of power during a cut vector jog will not work as the control requires a reference position. Other means of clearing the tool from the part will be necessary.

Setting 53 (Jog without zero return) may be used to clear a tool from a workpiece, in event of power loss. Depending on the orientation of the axes, damage to the workpiece or tooling may be unavoidable.

OPERATION

115

O MPERATORS ANUAL

96-8500 rev C

June 2001

Use extreme caution when in jog mode, it is possible to jog into a hard stop and cause damage to the machine.

Tool changer recovery: Should a tool become stuck in the spindle during a tool change, the machine will alarm. To recover from this state:

1. Reset all of the alarms 2. Press the Zero Return button 3. Then press the Zero Single Axes button 4. This will send the tool changer home.

*The tool changer restore button will also help clear the situation.

Use the Tool Changer Restore button when there is a tool in the spindle and the tool changer is away from its home position. The control will prompt you on screen for information regarding the state of the machine and assist you through the recovery process.

DO NOT USE THE TOOL CHANGER RESTORE BUTTON, ZERO SINGLE AXIS, OR ATC FOR- WARD, ATC REVERSE, OR THE POWER-UP RESTART BUTTON WHEN THE TOOL IS IN AN ANGULAR CUT. DAMAGE COULD RESULT!

The tool changer restore button will cause the machine to do thte following:

C, B, and Z-axes will move simultaneously to the home position.

The Power-up Restart button will send the Z-axis home directly then home the remaining axes.

OPERATION

116

O MPERATORS ANUAL

96-8500 rev C

June 2001

3.10 C, B AXIS RE-ALIGNMENT

If tramming the C/B axes is neccessary, sweep a 10 diameter circle on the table with a dial indicator mounted to the spindle.

To select C or B axis when in the jog mode, use the shift key on the keyboard then select C or B axis.

The display will indicate which axis is enabled. It is recommended that when jogging the C and B axes, the operator use only the .0001, .0010, or .0100 increments.

C rule of thumb is that for every .001 out of position, you add or subtract 100 from the appropriate parameter. This will re-calibrate the distance from the C/B axes home switch. Parameters 212 and 213 are the tool change offset parameters for the C and B-axis. These parameters also control the tram of the C-axis and B- axes. It is advised that you record the factory set values before changing parameters 212 and 213 in the event that you enter an invalid number and have to start over.

When adjusting the tram, it is recommended that you use same feedrate to home the C/B axes between checking the sweep. This will allow the machine to repeat more accurately. The C-axis and B-axis should be trammed individually to reduce the possibility of error.

3.11 FIVE AXIS TOOL OFFSETS

Work offsets can be specified for the fourth (C) and fifth (B) axes.

The work offset display is found on the offset display page. If the fifth axis is enabled (setting 78), then addi- tional data fields are made available for the fifth axis.

The last column of the offsets display serves a dual purpose. Either C or B can be accessed in the last column. By using the left or right arrow keys, the screen cursor can be moved into the axis field that is to be set. When the right-most field is highlighted by the cursor and the top of the column indicates C, then the values in this column represent C-axis offsets. If you press the right arrow key once, the cursor stays in the same place, but the column and its values will change to B-axis parameters. Work offsets can be viewed or modified in this manner using the left and right arrow keys when both axes are enabled.

OPERATION

117

O MPERATORS ANUAL

96-8500 rev C

June 2001

3.12 FEED/RAPID/SPINDLE OVERRIDES

The feed rate can be varied from 10% to 200% of the programmed value while in operation. This is done with the feed rate +10%, -10% and 100% buttons. The FEED RATE override is ineffective during G74 and G84 tapping cycles. FEED RATE override does not change the speed of any auxilliary axes. During manual jogging, the feed rate override will adjust the rates selected from the keypad. This allows for fine control of the jog speed.

The spindle speed can also be varied, from 10% to 150%, using the SPINDLE overrides as above. It is also ineffective for G74 and G84. In the SINGLE BLOCK mode, the spindle may be stopped. It will automatically start up upon continuing the program.

By pressing the HANDLE CONTROL FEEDRATE key, the jog handle can be used to control feedrate from 0% to 999% in +/-1% increments. By pressing the HANDLE CONTROL SPINDLE key, the jog handle can be used to control spindle speed in +-1% increments (from 0 to 999%).

Rapid moves (G00) may be limited to 5, 25, or 50 % of maximum using the keypad. If the 100% rapid is too fast, it may be set to 50% of maximum by Setting 10.

In the Setting page, it is possible to disable the override keys so that the operator cannot select them. This is Setting 19, 20 and 21.

The FEED HOLD button acts as an override button as it sets the rapid and feed rates to zero when it is pressed. The CYCLE START must be pressed to proceed after a FEED HOLD. When in a FEED HOLD, the bottom left of the screen will indicate this. The door switch on the enclosure also has a similar result but it will display "Door Hold" when the door is opened. When the door is closed, machine operation will continue normally. Door hold can be prevented with Setting 51. Door Hold and FEED HOLD do not stop any auxiliary axes.

When Parameter 57 flag DOOR STOP SP is set to 1, the door switch will stop the servos and the spindle. In addition, the maximum spindle speed is 750 RPM with the doors open.

There is also an override function for the coolant supply. This is done from the Setting 32. The "NORMAL" setting checks the low coolant alarm and turns the pump on and off with M codes. The "OFF" setting ignores the coolant alarm but will alarm if an attempt is made to turn the coolant on. The "IGNORE" setting is used to ignore all coolant commands and the low coolant alarm.

At any time a program is running, the operator may override the coolant setting by pressing the MDI Coolant button. The pump will remain either on or off until the next M command or operator action.

Overrides can now be reset through to defaults upon processing M30 and/or RESET. This feature is selected by Setting #83.

OPERATION

118

O MPERATORS ANUAL

96-8500 rev C

June 2001

3.13 HIGH SPEED MACHINING

High speed machining makes it possible for an increase in the removal rate of material, improve surface finish, and reduce cutting forces. This will reduce machining costs and extend the life of the tools. An additional advantage to using high speed machining is to utilize the more current tool cutting edge materials and tool coatings that are available. The only limitation to high speed machining is the need for rigid, powerful machines capable of the required speeds and feeds, and having a fixture strong enough to hold the workpiece.

Recommended Tooling

Balanced tools and tool holders are a must to maintain excellent machining conditions. Vibrations during chip cuttings relate directly to early tool failure, poor part finish and even possible spindle damage. Therefore the design of the tool holder increases in importance as the speed increases.

The items necessary for proper high speed machining are toolholder taper cone accuracy, concentric relation- ship of the cutting tool pocket to the tool holder cone, and actual size tolerance of the tool pocket. The fit between the tool holder and the spindle is the starting point for the machining center. An improved fit for these two items is essential for hi-speed machining success. Size and tolerance of toolholding features such as bore or pilot size should not exceed two or three ten-thousandths of an inch. Concentricity of the toolholding feature (bore or pilot) relative to the tapered shank this should also be within two or three thousandths of an inch.

Where possible use the minimum collet envelope relative to bore size. In other words use the largest bore size for the smallest collet envelope to achieve high grip force with reduced tool holder mass. This also helps in keeping the amount of centrifugal force low and will allow the highest speed possible in relation to the balance specification limitations.

The tool assembly must be balanced to a degree of accuracy that matches the machine spindle requirement. This means a balancing operation will have to be performed, or check the balanced condition of the assembly, each time there is a new tool assembly created or a significant change is made to the existing tool assembly. A significant change could be adjusting cutting tools, changing any part of the tool holder, regrinding or altering a cutting tool, or changing to a new cutting tool or a new tool holder. In order to thoroughly balance the tool holder the retention knob and cutting tool must be in place. Commercial balancing machines give accurate measurement regarding the balance of the tool assembly. Such equipment would be necessary for the initial balancing and eventual rebalancing operations.

The tool holders should be an AT-3 or better with a nylon back-up screw. The tolerances maintained in the AT-3 design are the minimum that would be recommended for a high speed process. The nylon back-up screw increases collet grip on the tool and creates a better seal to aid in coolant transfer.

Use single angle collet chucks and collets for best grip and concentricity. These collet systems are made up of a long single angle located in the holder. The angle per side should be eight degrees or less for best results. Avoid double angle collet systems when maximum rigidity and close tolerance are dictated. It is recommended that minimum engagement of 2/3 of the full length of the bore in the double split single angle collet. However for better results 3/4 to full engagement is preferred if possible.

Collet envelope is the combination of the maximum bore size and the outside shape designation.

Consult the tool holder manufacturer for the current specifications and capabilities of their tool holders. This would include the AT rating and maximum RPM that the tool holder is rated for.

PROGRAMMING

119

O MPERATORS ANUAL

96-8500 rev C

June 2001

This section contains the following:

Alphabetical Address Codes Five-Axis Programming Cutter Compensation Subroutines Functions

4. PROGRAMMING

4.1 WORK COORDINATE SYSTEM

These machines have three linear axes named X, Y, and Z. The X axis moves the table left and right, the Y axis moves it to and from the operator and the Z moves the milling head up and down. The machine zero position is the upper right corner of the mill table. All moves from this point are in a negative machine direction. If a rotary table is connected, an additional A-axis work offset is provided.

Work offsets are found in the Offset display by pushing the PAGE UP key. You can display and manually enter work offsets from here. The work coordinate systems on a control with a fifth axis have all been expanded to accommodate B, the fifth axis. Work coordinate offsets can be set for the B axis in the offset display. Note that the auxiliary axes C, U, V, and W do not have any offsets; they are always programmed in machine coordinates.

The Home or machine zero position is X0, Y0, Z0. Travel of these axes from machine zero is limited in the negative direction by stored stroke limits defined in the parameters. Travel in the positive direction for the X and Y axes is limited simply to values less than zero. Positive travel for the Z axis is limited to the highest position used for tool changing (about Z4.5). In addition, positive travel for all axes is limited by the home switch, which acts as a limit switch.

Before a tool can machine your part, the control must know where your part is. The work coordinate system tells the control the distance from the work zero point of your part to the machine zero position. The work zero point of the part is decided by the programmer and usually is the common point from which all print dimensions are referenced. The machine zero position is fixed by the machine on power-up and does not change. The operator must determine this distance and enter the work zero offset value.

This control automatically chooses the G54 offeset values on power-up. If you do not wish to use these, zero out the values in the G54 X, Y, and Z columns or select another work offset.

The G54 through G59 or G110 through G129 offsets can be set by using the PART ZERO SET key. Position the axes to the work zero point of your part. Using the cursor, select the proper axis and work offset number. Press the PART ZERO SET key and the current machine position will be automatically stored in that address. This will work only with the work zero offses display selected. Note that entering a nonzero Z work offset will interfere with the operation of an automatically entered tool length offset.

Work coordinates are usually entered as positive numbers, except when Parameter 57, bit :Neg. Work Offset is set to 1. In this case, the work coordinates are entered as negative numbers.

Work coordinates are entered into the display using numbers only. To enter anX value of X2.00 into G54, you would cursor over to the X column and enter the number 2.0 only.

PROGRAMMING

120

O MPERATORS ANUAL

96-8500 rev C

June 2001

See the sections on G52, G92, and Setting 33 for more on work coordinate systems. Offsets can be sent and received with the RS-232 port. See the "Data Input / Output" section for information on how to do this.

Five-Axis Coordinate System Overview

IMPORTANT! Parameters and Settings labeled as "A-axis" are used to control the "C-axis" of the ma- chine.

The layout of the C and B axes on the HAAS five-axis control are depicted below. The C axis is the motion about the Z axis, while the B axis is motion about the Y axis.

The right hand rule can be used to determine axis rotation for the C and B axes. When placing the thumb of the right hand along the positive Z axis, the fingers of the right hand will point in the direction of tool movement for a positive C-axis command. Likewise, when placing the thumb of the right hand along the positive Y axis, the fingers of the right hand will point in the direction of tool movement for a positive B-axis command.

H A A S

H A A S

H A A S

-Y

+ Z

- Z

Y

B-AXIS TRAVEL

- X

+ X

+Y

C-AXIS TRAVEL

HOME

0 HOME

0 HOME

Axis motion on the Bridge Mill.

The work coordinate offsets can be set for the C and B axes in the offsets display.

PROGRAMMING

121

O MPERATORS ANUAL

96-8500 rev C

June 2001

4.2 PROGRAM STRUCTURE

A CNC part program consists of one or more blocks of commands. When viewing the program, a block is the same as a line of text. Blocks shown on the CRT are always terminated by the ; symbol which is called an EOB. Blocks are made up of alphabetical address codes and the / symbol. Address codes are always an alphabetical character followed by a numeric value. For instance, the specification of the position to move the X- axis would be a number preceded by the X symbol.

The / symbol, sometimes called a slash, is used to define an optional block. A block that contains this symbol can be optionally deleted with the BLKDEL button when running a program.

There is no positional requirement for the address codes. They may be placed in any order within the block. The following is a sample program as it would appear on the CRT. The words following the : are not part of the program but are put here as further explanation.

This program will drill four holes and mill a two-inch hole in a four-inch square plate with X and Y zero at the center. The program with comment statements would appear like this.

% :PROGRAM MUST BEGIN AND END WITH % O1234 (OP1 SAMPLE MILL PART) :PROGRAM # AND COMMENT STATEMENT N1 (TOOL #1 IS A INCH STUB DRILL) :(******) NOTES TO OPERATOR N5 G40 G49 T#1 M06 : N100 G00 X0 Y0 Z.5 G43 H1 M3 S1400 T2 :RAPID TO POS, OFFSET 1, SPIN FWD N101 G01 Z.2 F30. :FEED 30 INCH/MINUTE TO Z DEPTH N102 G83 G98 Z-.625 R.03 Q.2 F5. :PECK TO Z-.625 START .03 ABOVE N103 X1.5 Y1.5 :DRILL ANOTHER HOLE AT NEW X,Y N104 Y-1.5 :DRILL 3RD HOLE, PECK DEPTH IS .20 N105 X-1.5 :DRILL FOURTH HOLE N106 Y1.5 :DRILL FIFTH HOLE N107 G00 G80 Z.5 :CANCEL CANNED CYCLE N108 T2 M06 :TOOL CHANGE TO TOOL #2 N2 (T #2 IS 5/8 90 DEG. COUNTERSINK) :N### ARE LINE NUMBERS N200 G00 X0 Y0 Z.5 G43 H2 M3 S500 :OFFSET 2, SPINDLE SPEED 500 RPM N201 G01 Z.2 F30. :FEED TO Z AT 30 INCH PER MINUTE N202 G82 G98 Z-.27 R.0 F5. :SPOT DRILL CYCLE, DRILL AT X0 Y0 N203 X1.5 Y1.5 :SEC HOLE R=START PLANE ABOVE ZERO N204 Y-1.5 :3RD HOLE G98=RETURN TO INIT POINT N205 X-1.5 :FOURTH HOLE N206 Y1.5 :FIFTH HOLE N207 G00 G80 Z.5 :RAPID TO Z.5 N208 G28 X0 Y0 Z2.0 :ZERO RETURN AFTER MOVE TO X0, Y0 N209 T#3 M06 :TOOL CHANGE N3 (TOOL #3 IS A END MILL) :N #S ARE FOR YOUR CONVENIENCE (SET DIAMETER VALUE TOOL #3) :COMMENTS ARE IGNORED BY CONTROL N300 G00 X0 Y0 Z.5 G43 H3 M3 S1000 :G43 = OFFSET Z IN MINUS DIRECTION N301 G01 Z.2 F30. :G01 CAN BE SPECIFIED AS G1 N302 Z-.625 F5. :FEED TO DEPTH N303 G01 G41 X-1.00 :COMPENSATE CUTTER LEFT OF LINE N304 G03 I1.0 D1 :CUT CIRCLE CCW WITH TOOL DIA D1 N305 G00 G40 X00 :RAPID TO CENTER, G40 CANCELS COMP N306 G00 Z.5 :RAPID OUT OF PART N307 G28 :ZERO RETURN, Z GOES FIRST THAN X,Y M30 :RESET PROGRAM TO BEGINNING % :END OF TAPE

PROGRAMMING

122

O MPERATORS ANUAL

96-8500 rev C

June 2001

Please note that each tool is different, which shows the flexibility of the control. For example, to change tools, all that is needed is an M06 command even without a G28 in the previous line. Also, a G28 command can be specified as G28 X0 Y0 Z0 or simply as G28. A T command can be put in with the M06 or it can be specified earlier in the program. This gives maximum compatibility with other controls.

More than one program can be stored in the memory of the CNC. Every program stored has an Onnnnn program name address code to define the number of that program. Those numbers are used to identify the program for selection as the main program being run or as a subprogram called from a main program.

4.3 ALPHABETICAL ADDRESS CODES

The following is a list of the address codes used in programming the CNC.

A Fourth axis rotary motion The A address character is used to specify motion for the optional fourth, A, axis. It specifies an angle in degrees for the rotary axis. It is always followed by a signed number and up to three decimal positions. If no decimal point is entered, the last digit is assumed to be 1/1000 degree. The smallest magnitude is 0.001 degree, the most negative value is -99999.000 degrees, and the largest number is 99999.000 degrees.

B Fifth axis rotary motion The B address character is used to specify motion for the optional fifth, B, axis. It specifies an angle in degrees for the rotary axis. It is always followed by a signed number and up to three decimal positions. If no decimal point is entered, the last digit is assumed to be 1/1000 degree. The smallest magnitude is 0.001 degree, the most negative value is -8380.000 degrees, and the largest number is 8380.000 degrees.

C Auxiliary external rotary axis The C address character is used to specify motion for the optional external sixth, C, axis. It specifies an angle in degrees for the rotary axis. It is always followed by a signed number and up to three decimal positions. If no decimal point is entered, the last digit is assumed to be 1/1000 degree. The smallest magnitude is 0.001 degree, the most negative value is -8380.000 degrees, and the largest number is 8380.000 degrees.

D Tool diameter selection The D address character is used to select the tool diameter or radius used for cutter compensation. The number following must be between 0 and 200. D0 specifies that the tool size is zero and serves to cancel a previous Dn. Any other value of D selects the numbered entry from the tool diameter/radius list in the Offsets display.

E Contouring accuracy The E address character is used, with G187, to select the accuracy required when cutting a corner during high- speed machining operations. The range of values possible for the E code is 0.0001 to 0.25. Refer to the Contouring Accuracy section for more information.

F Feed rate The F address character is used to select the feed rate applied to any interpolation functions, including pocket milling and canned cycles. It is either in inches per minute with four fractional positions or mm per minute with three fractional positions. When G93 (Inverse Time) is programmed, F is in blocks per minute, up to a maxi- mum of 15400.0000 inches per minute (39300.000 millimeters per minute).

PROGRAMMING

123

O MPERATORS ANUAL

96-8500 rev C

June 2001

G Preparatory functions (G codes) The G address character is used to specify the type of operation to occur in a block. The G is followed by a two- or three-digit number between 00 and 187. Each G code is part of a numbered group. The Group 0 codes are non-modal; that is, they specify a function applicable to this block only and do not affect other blocks. The other groups are modal and the specification of one code in the group cancels the previous code applicable from that group. A modal G code applies to all subsequent blocks so those blocks do not need to re-specify the same G code. Multiple G codes can be placed in a block in order to specify all of the setup conditions for an operation, provided no two are from the same numbered group. See Section 3 for a detailed list of G codes.

H Tool length offset selection The H address character is used to select the tool length offset entry from the offsets memory. The H is followed by a number between 0 and 200. H0 will cause no offset to be used and Hn will use the tool length entry n from the Offsets display. Note that G49 is the default condition and will clear the tool length offsets, so you must select either G43 or G44 to activate tool length offsets. The TOOL OFSET MESUR button will enter a value into the offsets to correspond to the use of G43.

I Canned cycle and circular optional data The I address character is used to specify data for some canned cycles and circular motions, either in inches with four fractional positions or mm with three fractional positions. I is followed by a signed number between - 15400.0000 and 15400.0000 in inches or between -39300.000 and 39300.000 mm for metric.

J Canned cycle and circular optional data The J address character is used to specify data for some canned cycles and circular motions. It is formatted just like the I data. J is followed by a signed number between -15400.0000 and 15400.0000 in inches or between -39300.000 and 39300.000 mm for metric.

K Canned cycle and circular optional data The K address character is used to specify data for some canned cycles and circular motions. It is formatted just like the I data. K is followed by a signed number between -15400.0000 and 15400.0000 in inches or between -39300.000 and 39300.000 mm for metric.

L Loop count for repeated cycles The L address character is used to specify a repetition count for some canned cycles and auxiliary functions. It is followed by an unsigned number between 0 and 32767.

M M Code miscellaneous functions The M address character is used to specify an M code for a block. These codes are used to control miscella- neous machine functions. Note that only one M code is allowed per block of the CNC program and all M codes are performed at the end of the block. See the M Codes section for a detailed list of M codes.

N Number of block The N address character is entirely optional. It can be used to identify or number each block of a program. It is followed by a number between 0 and 99999. The M97 function must reference an N line number.

O Program number/name The O address character is used to identify a program. It is followed by a number between 0 and 99999. A program saved in memory always has an Onnnnn identification in the first block; it cannot be deleted. Altering the O in the first block causes the program to be renamed. An Onnnnn can be placed in other blocks of a program but will have no effect and can be confusing to the reader. A colon (:) may be used in the place of O in a program, but is always displayed as O.

PROGRAMMING

124

O MPERATORS ANUAL

96-8500 rev C

June 2001

P Delay time or program number The P address character is used to enter either a time in seconds or a program number for a subroutine call. If it is used as a time (for a G04 dwell), it may be a positive decimal between 0.001 and 1000.0. If it is used as a program name (for an M98) or a line number (for an M97), the value may be a positive number without a decimal point, up to 9999.

Q Canned cycle optional data The Q address character is used in canned cycles and is followed by a signed number, between 0 and 8380.000 for inches or between 0 and 83800.00 for metric.

R Canned cycle and circular optional data The R address character is used in canned cycles and circular interpolation. It is either in inches with four fractional positions or mm with three fractional positions. R is followed by a signed number between -15400.0000 and 15400.0000 for inches or between -39300.000 and 39300.000 for millimeters. It is usually used to define the reference plane for canned cycles.

S Spindle speed command The S address character is used to specify the spindle speed in conjunction with M41 and M42. The S is followed by an unsigned number between 1 and 99999. The S command does not turn the spindle on or off; it only sets the desired speed. If a gear change is required in order to set the commanded speed, this command will cause a gear change to occur even if the spindle is stopped. If the spindle is running, a gear change operation will occur and the spindle will continue running at the new speed.

T Tool selection code The T address character is used to select the tool for the next tool change. The number following T must be a positive number between 1 and the number in Parameter 65. It does not cause the tool change operation to occur. The Tn may be placed in the same block that starts the tool change (M6 or M16) or in any previous block.

U Auxiliary external linear axis The U address character is used to specify motion for the optional external linear, U, axis. It specifies a position or distance along the U axis. It is either in inches with three or four fractional positions or millimeters with three fractional positions. U is followed by a signed number between -838.0000 and 838.0000 in inches or - 8380.000 and 8380.000 in millimeters. If no decimal point is entered, the last digit is assumed to be 1/1000 inch or 1/1000 mm.

V Auxiliary external linear axis The V address character is used to specify motion for the optional external linear, V, axis. It specifies a posi- tion or distance along the V axis. It is either in inches with three or four fractional positions or millimeters with three fractional positions. V is followed by a signed number between -838.0000 and 838.0000 in inches or -8380.000 and 8380.000 in millimeters. If no decimal point is entered, the last digit is assumed to be 1/1000 inch or 1/1000 mm.

W Auxiliary external linear axis The W address character is used to specify motion for the optional external linear, W, axis. It specifies a position or distance along the W axis. It is either in inches with three or four fractional positions or millimeters with three fractional positions. W is followed by a signed number between -838.0000 and 838.0000 in inches or -8380.000 and 8380.000 in millimeters. If no decimal point is entered, the last digit is assumed to be 1/1000 inch or 1/1000 mm.

PROGRAMMING

125

O MPERATORS ANUAL

96-8500 rev C

June 2001

X Linear X-axis motion The X address character is used to specify motion for the X axis. It specifies a position or distance along the X axis. It is either in inches with four fractional positions or mm with three fractional positions. It is followed by a signed number between -15400.0000 and 15400.0000 for inches or between -39300.000 and 39300.000 for millimeters. If no decimal point is entered, the last digit is assumed to be 1/10,000 inches or 1/1000 mm.

Y Linear Y-axis motion The Y address character is used to specify motion for the Y axis. It specifies a position or distance along the Y axis. It is either in inches with four fractional positions or mm with three fractional positions. It is followed by a signed number between -15400.0000 and 15400.0000 for inches or between -39300.000 and 39300.000 for millimeters. If no decimal point is entered, the last digit is assumed to be 1/10,000 inches or 1/1000 mm.

Z Linear Z-axis motion The Z address character is used to specify motion for the Z axis. It specifies a position or distance along the Z axis. It is either in inches with four fractional positions or mm with three fractional positions. It is followed by a signed number between -15400.0000 and 15400.0000 for inches or between -39300.000 and 39300.000 for millimeters. If no decimal point is entered, the last digit is assumed to be 1/10,000 inches or 1/1000 mm.

FIVE-AXIS ALPHABETICAL ADDRESS CODES

The C and B address codes are used to program the fourth and fifth axes, respectively. Their descriptions are as follows:

C Fourth axis rotary motion

The C address character is used to specify motion for the fourth (C) axis. It specifies an angle in degrees for this axis. It is always followed by a signed number and up to three fractional decimal positions. If no decimal point is entered, the last digit is assumed to be 1/1000 degrees. The smallest magnitude is 0.001 degrees, the most negative value is -220.000 degrees, and the largest number is +220.000 degrees.

B Fifth axis rotary motion

The B address character is used to specify motion for the fifth (B) axis. It specifies an angle in degrees for this axis. It is always followed by a signed number and up to three fractional decimal positions. If no decimal point is entered, the last digit is assumed to be 1/1000 degrees. The smallest magnitude is 0.001 degrees, the most negative value is -120.000 degrees, and the largest number is +120.000 degrees.

PROGRAMMING

126

O MPERATORS ANUAL

96-8500 rev C

June 2001

4.4 FIVE-AXIS PROGRAMMING NOTES

Important!

Read the following notes before programming the machine. They are applicable for five axis programming only. Each topic is discussed in more detail later in the chapter.

Machine Travels C-axis maximum travel is limited to +/-220.00 degrees. B-axis maximum travel is limited to +/-120.00 degrees.

G Codes

All G codes that have an option for an C axis motion command can also simultaneously command fifth axis (B) motion. Since address B is modal, it can be entered on any line.

The C and B axes can be commanded in the following G codes:

G00 G03 G29 G73 G77 G83 G86 G89 G101 G01 G10 G31 G74 G81 G84 G87 G92 G102 G02 G28 G36 G76 G82 G85 G88 G100 G136

Fifth-axis programming is not affected by the selection of inch (G20) or metric (G21). The C and B axes are always programmed in degrees.

G141 3D+ CUTTER COMPENSATION Group 07

This feature performs 3d+ cutter diameter compensation. The form is:

G141 Xnnn Ynnn Znnn Dnn Innn Jnnn Knnn

Subsequent lines can be of the form:

G01 Fnnn Xnnn Ynnn Znnn Innn Jnnn Knnn or:

G00 Xnnn Ynnn Znnn Innn Jnnn Knnn

The 3d+ G141 cutter compensation is not just for 5 axes work. Any CAD system can output the I, J, K values to shift the tool by the amount in the offsets memory of the control, even if the motions are only in 2 or 3 axes. In the Haas version, only G00 and G01 will get G141 cutter compensation. No other functions or canned cycles will get the offset. G91 incremental motion also cannot be used. The G141 is used to indicate without any doubt, what type of compensation is being requested. G40 will cancel 3d+ cutter compensation. The Dnn code selects which radius of diameter offset to use. G141 is modal with G40, G41, and G42. Inverse time is usually used with this type of motion but is not required. The I, J, and K values point in the direction that the cutter compensation is to be applied. When G141 is active, commanded motion of X, Y, or Z will have a vector component of the tool diameter added to the motion according to the direction vector defined by I, J, and K.

PROGRAMMING

127

O MPERATORS ANUAL

96-8500 rev C

June 2001

For example:

T1 M06 G00 G90 G54 X0 Y0 Z0 A0 B0 G141 D01 X0.Y0. Z0. (RAPID POSIT WITH 3 AX C COMP) G01 G93 X.01 Y.01 Z.01 I.1 J.2 K.9747 F300. (FEED INV TIME) X.02 Y.03 Z.04 I.15 J.25 K.9566 F300. X.02 Y.055 Z.064 I.2 J.3 K.9327 F300 . . . X2.345 Y.1234 Z-1.234 I.25 J.35 K.9028 F200. (LAST MOTION) G94 F50. (CANCEL G93) G0 G90 G40 Z0 (RAPID TO ZERO, CANCEL 3 AXIS C COMP) X0 Y0 M30

NOTE: G141 is a group 7 G code, G40 cancels G141, G91 is not compatible with G141, G141 uses a D code.

G143 5 Axes Tool Length Compensation + Group 08

This allows the user to correct for variations in the length of cutting tools without the need to revert to CAD/ CAM or post- processing steps. 5 axes length compensation applies only to machines where all rotary motion is movement of the cutting tool. It does not apply to machines where any of the rotary axes involve motion of the part or fixture. An H code is required to select the tool length from the existing length compensation tables. Selecting G49 or H00 will cancel 5 axes compensation. If only normal (Z-axis) cutter length compensation is desired, simply program G43 or G44. For G143 to work correctly, there must be two rotary axis, C and B. G90 must be active for absolute positioning mode and G91 must not be used. Work position 0,0 for the C and B axes must be such that the tool is parallel with Z axes motion.

G143 tool length compensation works only with rapid (G00) and feed (G01) motions. No other feed functions (G02 or G03) or canned cycles (drilling, tapping, etc.) can be used. When G143 is active, a commanded motion of X,Y, or Z will have a vector component of the tool length added to the motion according to the work coordinates of the C and B axes. For a positive length of the tool, this will move Z upward or in the + direction. If one of X,Y, or Z is not programmed, there will be no motion of that axes, even if the motion of C or B causes a new vector for the tool length. Thus a typical program would use all 5 axes on one block of data.

NOTE: The intention behind G143 is that it could be used to compensate for the difference in tool legnth between the originally posted tool and a substitute tool. Using G143 allows you to run the program without having to repost a new tool length.

G01 and G00 are the only motion codes allowed while G143 is in effect.

G90 must be active.

G91 is not allowed.

Canned cycles are not supported.

Radial moves, G02 or G03, are not allowed.

PROGRAMMING

128

O MPERATORS ANUAL

96-8500 rev C

June 2001

Helical motion is not supported.

G143 and H-codes are modal and in effect until the code is cancelled or changed by another code from the same group.

G49 or H00 should be used to cancel the G143 and H-code in effect.

Insert G143 into the program after the tool call and the corresponding H-code. Enter the tool length compensation in the corresponding tool geometry column associated with the H code called out in the program.

The absolute work-Z-axis position on the display, does not reflect the actual programmed position for the Z- axis. This is due to compensation being applied to all of the axes and the control not updating the screen accordingly.

The feed rate in G143 is complicated by the vector offset added to XYZ. Thus inverse feed (G93) is strongly recommended. If the inverse feed rate was correct before applying G143, it will still be correct with any length of compensation unless the maximum speed of an axes is exceeded. An example follows:

T1 M06 G00 G90 G54 X0 Y0 Z0 C0 B0 G143 H01 X0. Y0. Z0. A-20. B-20. (RAPID POSIT W. 5AX COMP) G01 G93 X.01 Y.01 Z.01 A-19.9 B-19.9 F300. (FEED INV TIME) X0.02 Y0.03 Z0.04 A-19.7 B-19.7 F300. X0.02 Y0.055 Z0.064 A-19.5 B-19.6 F300 X2.345 Y.1234 Z-1.234 A-4.127 B-12.32 F200. (LAST MOTION) G94 F50. (CANCEL G93) G0 G90 G49 Z0 (RAPID TO ZERO, CANCEL 5 AXS COMP) X0 Y0 M30

5 Axes Tool Length Compensation is canceled by G49.

G93 Inverse Time Feed Mode Group 05

G93 inverse time must be in effect for simultaneous 5-axis motion.

When in G93 mode, the maximum feed rate will include the combination of all axis motion in one block of code. The limit is set by the control and looks at encoder steps programmed for all axes in a block of code.

Limit your post processor if possible, the maximum speed in G93 mode is 200 degrees pe rminute. This will result in smoother motion which may be necessary when fanning around tilted walls.

Cutter compensation(G41, G42) is not supported in the 5-axis mode.

Canned cycles are not supported in the 5-axis mode. The CAM system must generate the desired code, for example: a drill cycle must be done using only G01 for entry and retraction of a hole.

PROGRAMMING

129

O MPERATORS ANUAL

96-8500 rev C

June 2001

Feed Rates

- Feed rate must be command for each block. - Maximum feed rate for the A-axis 250 deg/min, B-axis is 250 deg/min. - Limit the feed rates when 5-axis drilling to less than 75 ipm. - Recommended feeds for finish machining in 3-axis work should not exceed 50 to 60 IPM with at least .0500 to .0750 stock remaining for the finish operation.

- If the program exceeds the maximum allowable feed rate, a "limit feed" message will be displayed on the screen.

RAPID MOVES ARE NOT ALLOWED.!

Rapid motions, entering and exiting holes (full retract peck-drill cycle) are not supported. Rapid positioning can result in a broken tools or damaged parts or both.

Drilling:

The feed rate should not exceed 75 IPM when entering or exiting the part. This will ensure accurate positioning. Higher feed rates may have unexpected results.

When programming simultaneous 5-axis motion, less material allowance is required and higher feedrates may be permitted. Depending on finish allowance, length of cutter and type of profile being cut, higher feed rates may be possible. For example, when cutting mold lines or long flowing contours, feedrates may exceed 100 IPM.

Programming Tips

Use a tight synchronization cut across resolution of geometry in the CAM system will allow smooth flowing contours and a more accurate part.

Positioning the machine to an approach vector should only be done at a safe distance above or to the side of the workpiece. When in the rapid mode, the axes will arrive at the programmed position at different times; the axis with shortest distance from target will arrive first, longest distance last and so forth. A high feed rate will force the axes to arrive at the commanded position at the same time avoiding the possibility of a crash.

When cutting in the 5-axis mode, set the post to look for G93 and post M11 and M13 (unlock the C/B brakes) just before the simultaneously motion begins.

Important! It is highly recommended that the C/B brakes be engaged when doing any non 5-axis motion. Cutting with the brakes off can cause excessive wear in the gear sets.

High Speed Machining Setting 85, In Position Accuracy, is set to .0500 for the VB-1.

G187 with E0. ### overrides Setting 85 within a program. This will allows for better control of machine motion in critical areas of the program.

PROGRAMMING

130

O MPERATORS ANUAL

96-8500 rev C

June 2001

FIVE-AXIS M CODES

M Codes Fourth and fifth axes braking is accomplished using M-codes.

Important! It is highly recommended that the C/B brakes be engaged when doing any non- 5-axis motion. Cutting with the brakes off can cause excessive wear in the gear sets.

M10 engages the C-axis M11 disengages the C-axis M12 engages the B-axis M13 disengages the B-axis

When in a 5-axis cut, the machine will pause between blocks. This dwell due to the release of the C/B brakes. To avoid this dwell in motion and allow for smoother program execution, program an M11 and M13 just before G93 (5-axis motion begins). The M-codes will disengage the brakes, resulting in a smother motion and an uninterrupted flow of motion. If the brakes are never re-engaged, they will remain off indefinitely.

M19 is used to orient the spindle to a tool change position. P-codes may be entered on a line with the M19. This will allow you to orient the spindle to a specified angle off the tool change mark or home position. Example: M19 P90 in this example the spindle will orient to 90 degrees.

When a tool change is commanded the spindle will automatically orient to the toolchange position as con- trolled by the parameters in the control. If required, the operator can program spindle orientation to a specified angle.

Settings

Setting 85 should be set to .0500 for 5-axis cutting. Settings lower than .0500 will move the machine closer to an exact stop and cause jerky motion in 5-axis modes.

Use G187 E0. ### in the program to slow the axes down.

CAUTION! When cutting in 5-axis mode mispositioning and overtravel can occur if the H## is not canceled. To alleviate this problem use G90 G40, H00 and G49 in your first blocks after a tool change. This problem can occur when mixing 3-axis and 5-axis programming, restarting a program or when starting a new job and the H## is still in effect.

The following four M codes affect operation of the fourth and fifth-axis brakes:

Important! It is highly recommended that the C/B brakes be engaged when doing any non 5-axis motion. Cutting with the brakes off can cause excessive wear in the gear sets.

M10 Engage 4th Axis Brake

The M10 code is used to apply the brake to the 4th axis. The brake is normally engaged, so M10 is only required when M11 is used to release the brake.

PROGRAMMING

131

O MPERATORS ANUAL

96-8500 rev C

June 2001

M11 activates a relay that releases the brake. M10 deactives this relay, engaging the brake.

M11 Release 4th Axis Brake

The M11 code will "pre-release" the 4th axis brake. This is useful in preventing the delay that otherwise occurs when the 4th axis is used with a brake, and a motion is commanded in that axis. It is not required but, without a prior M11, there will be a delay in motion in order to release the air.

If an M10 does not follow an M11 code, the brake will never be engaged.

M12 Engage 5th Axis Brake

The M12 code is used to apply the brake to the 5th axis. The brake is normally engaged, so M12 is only required when M13 is used to release the brake.

M13 activates a relay that releases the brake. M12 deactives this relay, engaging the brake.

M13 Release 5th Axis Brake

The M13 code will "pre-release" the 5th axis brake. This is useful in preventing the delay that otherwise occurs when a 5th axis is used with a brake and a motion is commanded in that axis. It is not required but, without a prior M13, there will be a delay in motion in order to release the air.

PROGRAMMING

132

O MPERATORS ANUAL

96-8500 rev C

June 2001

CREATING FIVE-AXIS PROGRAMS

Most five-axis programs are rather complex and must be written using a CAD/CAM package. It is necessary to determine the machine's pivot length and gauge length, which are discussed below, and input them into these programs.

Each machine has a specific pivot length. This is the distance from the spindle head's center of rotation to the bottom surface of the master tool holder (see figure below). The pivot length can be found in Setting 116, PIVOT LENGTH, and is also engraved into the master tool holder that is shipped with the machine.

When setting up a program, it will be necessary to determine each tool's gauge length. The gauge length is the distance from the bottom flange of the master tool holder to the tip of the tool. This distance can be calcu- lated by setting a magnetic base indicator on the table, indicating the bottom surface of the master tool holder, and setting this point as Z0 in the control. Then, insert each tool, and calculate the distance from the tool tip to the Z0; this is the gauge length.

The total length is the distance from the spindle head's center of rotation to the tip of the tool. It can be calculated by adding the gauge length and pivot length. This number is entered into the CAD/CAM program, which will use the value for it's calculations.

PROGRAMMING

133

O MPERATORS ANUAL

96-8500 rev C

June 2001

4.4 TIPS AND TRICKS

General Tips

D Cursor Searching for a Program. When in EDIT or MEM mode, you can select and display another program quickly by entering the program number (Onnnnn) you want and pressing either the up or down cursor arrow or F4.

D Searching for a Program Command. Searching for a specific command in a program can be done in either MEM or EDIT mode. Enter the address letter code (A, B, C, etc.) or address letter code with the value (A1.23), and press the up or down cursor arrow. If you enter just the address code and no value, the search will stop at the next use of that letter, regardless of the value

D Spindle Command. You can stop or start the spindle with CW or CCW any time youre at a Single Block stop or a Feed Hold. When you restart the program with CYCLE START, the spindle will be turned back on to the previously defined speed.

D Coolant Pump. The coolant pump can be turned on or off manually while a program is running, by pressing the COOLNT button. This will override what the program is doing until another M08 or M09 coolant command is ex- ecuted. This also applies to the chip conveyor.

D Coolant Spigot Position. The coolant spigot position can be changed manually when a program is running, with the CLNT UP or CLNT DOWN key. This will override what the program commands until another spigot position is commanded with an Hnn or M08 command.

D Optional Stop. Takes effect on the line after the highligted line when pressed.

D Block Delete. Takes effect four lines after that key is pressed when Cutter Compensation is in use, or two lines later when Cutter Compensation is not in use.

D Block Look-Ahead. This control actually does look ahead for block interpretation, up to 20 blocks. This is not needed for high-speed operation. It is instead used to ensure that DNC program input is never starved, and to allow Cutter Compensation to have non-XY moves inserted while Cutter Compensation is On.

D Memory Lock Key Switch. This is a machine option that prevents the operator from editing programs and

from altering settings when in the locked position.

D Chip Conveyor. The chip conveyor can be turned on or off when a program is running, either manually using the control keys or in the program using M codes. The M code equivalent to CHIP FWD is M31, CHIP REV is M32, and CHIP STOP is M33. You can set the Conveyor Cycle time (in minutes) with Setting 114, and the Conveyor On-Time (in minutes) with Setting 115.

D Transferring an MDI Program. You can transfer and save a program in MDI to your list of programs. When in the MDI display, make sure that the cursor is at the beginning of the MDI program. Enter a program number (Onnnnn) thats not being used. Then press ALTER and this will transfer the MDI data into your list of programs under that program number.

PROGRAMMING

134

O MPERATORS ANUAL

96-8500 rev C

June 2001

D To Rapid an Axis Home. You can rapid all axes to machine zero by pressing the HOME G28 key. You can also send just one axis (X, Y, Z, A or B) to machine zero in rapid motion. Enter the letter X, Y, Z, A or B, then press HOME G28 and that axis alone will rapid home. CAUTION! There is no warning to alert you of any possible collision! For example, if the Z axis is down near the part or fixture on the table, and then the X or Y axis is sent home using HOME G28, a crash may result. Care must be exercised. (Any Mill Control ver. 9.49 and above; any Lathe Control ver. 2.24 and above.)

D Rotate Tool Carousel without Changing Tools (M39). You can rotate the tool carousel without changing tools by using M39 and Tnn. This can be used to recover from some unusual conditions. However, it will also tell the control you have a different tool in the spindle, which may not be the case. (Any Mill Control ver. 2.3 and above.)

PRGRM /CONVRS

D Program Review. In the PRGRM display, Program Review allows you to cursor through and review the active program on the right side of the display screen, while also viewing the same program as its running on the left side of the screen. To bring up Program Review, press F4 while running a program in MEM mode and PRGRM display.

D Background Edit. This feature allows you to edit a program in MEM mode and PRGRM display while a program is running. Type in the program number you want to edit (Onnnnn) and press F4. You can then do simple edits (INSERT, ALTER, DELETE and UNDO) either to an existing program, a new program or even the program that is presently running. However, edits to the program that is running will not take effect until that program cycle ends with an M30 or RESET.

POSIT

D Quick Zero on DIST-TO-GO Display. To clear out and get a quick zero position display, for a distance reference move, use the DIST-TO-GO position display. When youre in the POSIT display and in HANDLE JOG mode, press any other operation mode (EDIT, MEM, MDI, etc.) and then go back to HANDLE JOG. This will zero out all axes on the DIST-TO-GO display and begin showing the distance moved.

D To Origin the POS-OPER Display. This display is used for reference only. Each axis can be zeroed out independently, to then show its position relative to where you selected to zero that axis. To zero out a specific axis, PAGE UP or PAGE DOWN in the POSIT display to the POS-OPER large-digit display page. When you Handle Jog the X, Y or Z axis and then press ORIGIN, the axis that is selected will be zeroed. Or, you can press an X, Y or Z letter key and then ORIGIN to zero that axis display. You can also press the X, Y or Z key and enter a number (X2.125), then press ORIGIN to enter the number in that axis display.

D Jog Keys. The JOG keys (+X, -X, +Y, -Y, +Z, -Z, +A, -A, +B, -B) use the jog speeds of 100., 10., 1. and .1 inches per minute listed next to the HANDLE JOG key (jogging with the handwheel uses the .1, .01, .001 and .0001 inch increments). You can also adjust feedrate using the FEED RATE OVERRIDE buttons, which allow you to increase or decrease feedrate in 10% increments, up to 200%.

D Jog Keys. You can also select an axis for jogging by entering the axis letter on the input line and then press- ing the HANDLE JOG button. This works for the X, Y, Z, and A axes as well as the B, C, U, and V auxiliary axes.

PROGRAMMING

135

O MPERATORS ANUAL

96-8500 rev C

June 2001

OFSET

D Entering Offsets. Pressing WRITE/ENTER will add the number in the input buffer to the cursor-selected offset value. Pressing F1 will replace the selected offset with the number in the input buffer.

D Entering Offsets. Pressing OFSET again will toggle back and forth between the Tool Length Offsets and Work Zero Offsets pages.

D Entering Offsets. In the OFSET display, F1 will set the entered value into the offsets. F2 will set the nega- tive of the entered value into the offsets.

D Coolant Spigot Position. The coolant spigot can be programmed to move to the location entered in the OFSET display, on the Tool Geometery Offset page under CLNT POS. You can adjust the coolant nozzle up to 10 different positions for a tool. Position 1 is the farthest up and 10 is the farthest down. The nozzle will shift to that position whenever an M08 or Hnn code is executed in the program. When you cursor onto the CLNT POS column, the coolant nozzle location is displayed in the lower left corner.

D Clearing All Offsets and Macro Variables. When youre in the Tool Length Offset display, you can clear all the offsets by pressing the ORIGIN key. The control will prompt: ZERO ALL (Y/N)? to make sure this is what you really want to do. If Y is entered, all the offsets in the area being displayed will be zeroed. The Work Zero Offset page and the Macro Variables page in the CURNT COMDS display will do the same thing. (Any Mill Control ver. 10.02 and above; any Lathe Control ver. 3.00 and above.)

D The Mill Offers up to 200 Tool Offsets. Mills now offer up to 200 tool offsets. In all previous versions, the maximum number available was 100 tool offsets. (Any Mill Control ver. 10.22 and above.)

CURNT COMDS

D Current Commands. You can see the programmed spindle speed and feedrate on the first page of the CURNT COMDS display, by looking at PGM Fnnnn and PGM Snnnn in the column on the far right. You can verify the actual feedrate and commanded spindle speed in the same column, with ACT Fnnnn and CMD Snnnn. The actual speed and feed are what the spindle speed and feedrate are really operating at with any adjustments to the OVERRIDE keys.

D Tool Life Management. In the CURNT COMDS display, you can PAGE DOWN to the Tool Life manage- ment page. On this page the tool Usage register is added to every time that tool is called up in the spindle. You enter the number of times you want that tool to be used in the Alarm column. When the Usage number for that tool reaches the number of uses in the Alarm column, it will stop the machine with an alarm. This will help you monitor tools to prevent them from breaking and parts being scrapped.

D Tool Load Management. The next PAGE DOWN in CURNT COMDS will bring you to the Tool Load page. Spindle load condition can be defined for a particular tool, and the machine will stop if it reaches the spindle load limit defined for that tool. A tool overload condition can result in one of four actions by the control. The action is determined by Setting 84. ALARM will generate an alarm when overload occurs; FEEDHOLD will stop with a Feed Hold when overload occurs; BEEP will sound an audible alarm when overload occurs; or AUTOFEED will automatically decrease the feedrate. This will also help you monitor tools.

D Clearing Current Commands Values. The values in the CURNT COMDS display pages for Tool Life, Tool Load and Timer registers can be cleared by cursor-selecting the one you wish to clear and pressing ORIGIN. To clear everything in a column, cursor to the top of that column (onto the title) and press ORIGIN.

PROGRAMMING

136

O MPERATORS ANUAL

96-8500 rev C

June 2001

HELP

D Helpful Information. The HELP display has a list of all the Gand Mcodes available. To see them, press the HELP display key and then the letter C. For a listing of all the different subjects available in the Help directory, press the letter D, then press the letter thats next to the subject area you wish to see.

CALC

D Transferring Simple Calculations. While in the Trigonometry, Circular or Milling and Tapping calculator, the number in the simple calculator box (in the upper left corner) can be transferred down to any cursor- selected data line. Cursor to the register you wish to transfer the calculator number to and press F3.

D Transferring Calculated Values. You can transfer the highlighted value in a Trig, Circular, or Milling data register into the calculator box by pressing F4. Use the up and down arrow keys to select the data registers, including the calculator box, and the left and right arrows to select LOAD + * /. To enter a highlighted data value into the calculator box, LOAD must be selected when you press F4. If one of the operations is selected, pressing F4 will perform that operation using the number in the highlighted data register and the number in the calculator box.

D Transferring to EDIT or MDI. In either EDIT or MDI mode, pressing F3 will transfer the number in the calculator box (when the cursor is on the number in the box) to either the EDIT or MDI input buffer. You will need to enter the letter (X, Y or Z) you wish to use with the number from the calculator.

D Circular Calculator. The Circular Calculator will list four different ways that a circular move can be pro- grammed using the values entered for a calculated solution. Four different program lines for executing the circular move will be listed at the bottom of the display. One of the four program lines can be transferred to either EDIT or MDI.

1. In the circular calculator, cursor onto the program line you wish to use.

2. Press either EDIT or MDI, where you wish to insert the circular move.

3. Press the F3 key, which will transfer the circular move that you highlighted into the input buffer line at the bottom of the EDIT or MDI display.

4. Press INSERT to add that circular command line into your program.

D One-Line Expressions. The CALC display will now accept and evaluate a simple expression. This is a new feature; previously it was only possible to enter a number into the input line of the calculator. Now, the calcula- tor allows you to enter a simple, one-line expression without parentheses, such as 23*45.2+6/2. It will be evaluated when the WRITE/ENTER key is pressed and the result (89.8 in this case) displayed in the calculator box. Multiplication and division are performed before addition and subtraction. (Any Mill Control ver. 9.49 and above; any Lathe Control ver. 2.24 and above.)

SETNG

D Scrolling through Settings with Jog Handle. The jog handle can now be used to scroll through the settings. (Any Mill Control ver. 10.15 and above; any Lathe Control ver. 3.05 and above.)

PROGRAMMING

137

O MPERATORS ANUAL

96-8500 rev C

June 2001

D There are so many settings which give the user powerful and helpful command over the control that you should read the entire Settings section of the operators manual. Here are some of the useful settings, to give you an idea of what is possible.

Setting 1 AUTO POWER OFF TIMER. This turns the machine off after it is idle for the number of minutes defined in this setting.

Setting 2 POWER OFF AT M30. This will power off the machine when an M30 command is executed. In addition, for safety reasons, the control will turn itself off if an over-voltage or overheat condition is detected for longer than four minutes.

Setting 8 PROG MEMORY LOCK. When this is Off, control program memory can be modified. When this setting is turned On, memory edits cannot be done and programs cannot be erased.

Setting 9 DIMENSIONING. This changes the machine control from inch to metric, which will change all offset values and position displays accordingly. This setting will not change your program to either inch or metric.

Setting 31 RESET PROGRAM POINTER. When this is On, the RESET key will send the cursor (program pointer) back to the beginning of the program.

Setting 77 SCALE INTEGER F. This can be used to change how the control interprets a feedrate. A feedrate that is entered in your program can be misinterpreted if you do not enter a decimal point in the Fnn command. The selections for this setting are Default, which assumes a 4-place decimal if no decimal point is entered (i.e., if you enter a 1, it assumes you mean 0.0001); Integer, which assumes a whole number (enter a 1, it assumes 1.0); or .1 (enter 1, it assumes 0.1), .01 or .001 (you get the idea), or .0001, which is the same as the Default setting.

Setting 84 TOOL OVERLOAD ACTION. This is used to determine tool overload conditions as defined by the Tool Load monitor page in the CURNT COMDS display (use PAGE DOWN to get there). A tool overload condi- tion can result in one of four actions by the control, depending on Setting 84. ALARM will generate an alarm when overload occurs; FEEDHOLD will stop with a Feed Hold when overload occurs; BEEP will sound an audible alarm when overload occurs; or AUTOFEED will automatically decrease the feedrate.

Setting 85 MAX CORNER ROUNDING. On a Haas control, this setting is used to set the corner rounding accuracy required by the user. The accuracy defined in Setting 85 will be maintained even at maximum feedrate. The control will only slow at corners when it is needed. (This setting defeats all the years of discus- sion by competitors who say you need multiple blocks of look-ahead.)

Setting 88 RESET RESETS OVERRIDE. When this is On, the RESET key sets all overrides back to 100%.

Setting 103 CYC START / FH SAME KEY. This is really good to use when youre carefully running through a program. When this setting is On, the CYCLE START button functions as the Feed Hold key as well. When CYCLE START is pressed and held in, the machine will run through the program; when its released, the machine will stop in a Feed Hold. This gives you much better control when setting up a new program. When youre done using this feature, turn it Off. This setting can be changed while running a program. It cannot be On when Setting 104 is On. (Any Mill Control ver. 9.06 and above.)

Setting 104 JOG HANDL TO SNGL BLK. When running a program in MEM mode in the Program or Graphics display, you can use the SINGLE BLOCK key to cycle through your program one line at a time, with each press of the CYCLE START button, whether the machine is in operation or youre in Graphics. If you turn Setting 104 On, then each counterclockwise click of the jog handle will step through a program line. Turning the handle clockwise will cause a Feed Hold. This setting can be changed while running a program. It cannot be On when Setting 103 is On. (Any Mill Control ver. 9.06 and above.)

PROGRAMMING

138

O MPERATORS ANUAL

96-8500 rev C

June 2001

Setting 114 CONVEYOR CYCLE (MIN). If this is set to zero, the conveyor will operate normally. If another number is entered, it defines how long (in minutes) each cycle will be when the chip conveyor is turned on. The chip conveyor cycle is started with either an M code (M31 or M32) or with the control CHIP FWD/REV keys. It will stay on for the time defined in Setting 115, then turn off and not restart until the cycle time in Setting 114 has elapsed.

Setting 115 CONVEYOR ON TIME (MIN). This setting works with Setting 114, which defines the conveyor cycle time. Setting 115 defines how long the chip conveyor will stay on during each cycle.

Setting 118 M99 BUMPS M30 CNTRS. When this setting is Off, the feature is disabled. When it is On, an M99 command that is used to run a program repeatedly will activate the M30 counters that are in the CURNT COMNDS display (PAGE DOWN twice). Note that an M99 will only activate the counters when it is used in a loop mode in a main program, not a subprogram. An M99 thats used as a subprogram return or with a P value to jump to another part of the program won't be counted. (Any Mill Control ver. 9.58 and above. Any Lathe Control ver. 3.00 and above.)

Setting 130 RIG. TAP RETRACT MULT. This feature augments one introduced in version 10.13, the quick reversal out of a G84 rigid-tapped hole. If it is set to 0 or 1, the machine behaves normally. Setting it to 2 is the equivalent of a G84 command with a J value of 2. That is, the spindle will retract twice as fast as it went in. If this setting is set to 3, the spindle will retract three times as fast. Note that specifying a J value in a G84 command for rigid tapping will override Setting 130. (Any Mill Control ver. 10.18 and above).

GRAPH

D Zooming in. In Graphics display, use F2 to zoom in on the graphic. After pressing F2, press PAGE DOWN to zoom in further and PAGE UP to expand the view. Use the cursor arrows ( p  q  t   u ) to position the zoom window over the section of the part that you wish to view in close-up. Press WRITE/ENTER to save the new zoom window, and CYCLE START to see the close-up graphic run. Press F2 and then HOME to get back to the original full table view.

PARAM

D Changing Parameters. Parameters are seldom-modified values that change the operation of the machine. These include servo motor types, gear ratios, speeds, stored stroke limits, lead screw compensations, motor control delays and macro call selections. Modifying some of these functions will void the warranty on the machine. If you need to change parameters, contact Haas Automation or your dealer. Parameters are protected from being changed by Setting 7. Be sure to download and save a copy of your machine parameters so youll have a back-up if needed (refer to the LIST PROG section to see how to save your offsets, settings and param- eters to a floppy disk).

DGNOS

This display is used to show the status of the machine for diagnostics and servicing.

ALARM

D Alarm History Display. There is an alarm history that displays the previous 100 alarms. Pressing the right or left cursor arrow ( t   u ) while in the Alarm display will list the last 100 alarms, with their date and time. You will need to use the cursor up arrow ( p ) to see the alarms previous to the last one. Pressing either the left or right arrow again will bring you back to the normal Alarm display.

PROGRAMMING

139

O MPERATORS ANUAL

96-8500 rev C

June 2001

D Alarm History Saved to Disk or RS232. The last 100 alarms can be saved to a floppy disk by entering a file name and pressing F2 while on the Alarm history page. Alternately, the alarm history can be sent to a PC using RS232 by pressing SEND RS232. (Any Mill control ver. 10.22 and abov; any Lathe control ver. 3.08 and above.)

MESGS

D Leaving Messages. You can enter a message in the MESGS display for the next person, or for yourself. It will be the first display shown when you power up the machine, if there are no alarms other than the usual 102 SERVOS OFF alarm. If the machine was powered down using EMERGENCY STOP, the MESGS display will not show up when you turn the machine on again. Instead, the control will display the active alarm generated by the emergency stop. In this case, you would have to press the ALARM/MESGS key to view a message.

EDIT

D The Edit Display. When you press EDIT, the first display you see is the Advanced Editor display. This display has menus in the upper left that allow the user to access features of the Advanced Editor; the menus are activated by pressing F1. Pressing the PRGRM/CONVRS key will bring up the (visually) larger Edit display. Pressing PRGRM/CONVRS a second time will get you into the Quick Code editor, which can also be ac- cessed from the Advanced Editor within the F1: HELP pull-down menu.

D Advanced Editor Menus. Pressing F1 in the Advanced Editor will activate the menus. The menu selections are made with the jog handle, turning it either clockwise or counterclockwise, or with the cursor arrow keys ( p  q  t   u ). Press the WRITE/ENTER key to activate the cursor-selected menu item.

D Advanced Editor On-line Help. In the Advanced Editor, after pressing F1 to access the menus, on-line Help is displayed in the lower right corner of the screen. To scroll through the Help text, use the PAGE UP, PAGE DOWN, HOME, and END keys (remember, the cursor arrows move you through the menu items, not the Help text). In addition, if the F1 key is pressed during the use of a menu option, the Help text is likewise displayed. Pressing F1 again will exit the Help display. (Any Mill Control ver. 9.32 and above; any Lathe Control ver. 2.16 and above.)

D Lower-Case Text. In the Editor, you can enter lower-case text if its between parentheses (that is, for comments only). Press the SHIFT key first (or hold it in) and then the letter you want in lower case (remember, this works for parenthetical comments only). When lower-case text is selected (highlighted), it will appear in caps; deselected, it returns to lower case. To type the white symbol in the upper left corner of the numeric keys, press SHIFT and then the key. These symbols are used for parenthetical comments or for macros.

D Editing in the Advanced Editor. In the 80-column Advanced Editor you can select a program block and copy it to another location, move it from one location to another, or delete it. To start the block definition, press F1 to get into the menus, use the jog handle or the cursor arrows to select to select the EDIT menu and the SELECT TEXT menu item, then press WRITE/ENTER. Another way to begin text selection is to put the cursor on the program line where you want the selection to begin and press F2. In either case, once youve defined the beginning, you then use the cursor arrows to go to the line where the selection should end, and press F2 or WRITE/ENTER. This will highlight the section you want to copy, move or delete. Then, use the EDIT menu (or the EDIT keys) to copy (INSERT), move (ALTER) or delete (DELETE) the selected block.

D To Undo an Edit. Pressing UNDO will change back as many as the last ten simple edits (INSERT, ALTER, DELETE) that were done. Sometimes you can even edit some code, run the program, and then if you need to change it back after running it, it may let you do that using the UNDO key. UNDO does not undo program edits in Block Edit. In Block Edit, it only deselects text.

PROGRAMMING

140

O MPERATORS ANUAL

96-8500 rev C

June 2001

D Block Editing in the Advanced Editor. You can copy a line or a block of lines from one program into another. Select the program block you wish to transfer to another program using the method outlined above (in the Editing in the Advanced Editor paragraph). Then press SELECT PROG (or use the PROGRAM menu), scroll to the program you want to copy to, and press WRITE/ENTER to select it. It will open up on the right side of the screen. Cursor to where you want the selected text to be placed and press INSERT (to deselect text after its been moved, press UNDO). Use the EDIT key to go back and forth between two open programs on the screen.

D Block Editing in the Larger Editor Display. You can move a block of lines from one program to another in the (visually) larger Editor display (press EDIT and then PRGRM/CONVRS once to get to the larger editor). In this Editor, define the first block by pressing F1, and then cursor to the last line you want in the selection and press F2. This will highlight that section of the program. Then select another program using LIST PROG and copy the selection into the new program by pressing INSERT.

D Exiting Block Edit. You can turn off Block Edit highlighting by pressing the UNDO key; the cursor will remain where youre at in the program. UNDO will not change back an edit done in Block Edit. RESET will also turn off the block highlight, but the cursor will go back to the beginning of the program.

D Advanced Editor Searching. When the SEARCH menu FIND TEXT item is used and the text is found, the next press of F1 to activate the menus will automatically select the FIND AGAIN option. Likewise, when the SELECT TEXT function on the EDIT menu is used, the next activation of the menus will cause the COPY SELECTED TEXT option to be highlighted.

D Editing Two Versions of the Same Program. In Edit mode, F4 is the hot key that displays another version of the active program for editing. The same program will be displayed on both halves of the screen, and each program can be edited alternately by using the EDIT key to switch from one side to the other. Both programs will be updated with the edits done while youre switching back and forth. This is useful for editing a long program; you can view and edit one section of the program on one side of the screen and another section on the other side.

D A Quick Cursor Arrow in the Advanced Editor. You can call up a cursor arrow with which to scroll through your program quickly, line by line, when youre in the Advanced Editor. For the quick cursor arrow, press F2 once; then you can use the jog handle to scroll line by line through the program. To get out of this quick-cursor mode and remain where you are in the program, just press the UNDO key. (Any Mill Control ver. 9.49 and above; any Lathe Control ver. 2.24 and above.)

PROGRAMMING

D Program Format at the Beginning and End. Programs written on a PC and sent to the control from a floppy disk or through the RS-232 port must start and end with a % sign, on a line by itself. The second line in a program received via floppy or RS-232 (which will be the first line the operator sees) must be Onnnnn, a six- character program number that starts with the letter O followed by five digits. When you create a program on the Haas control the percent (%) signs will be entered automatically, though you wont see them displayed.

D Program Format with M06. It is not necessary to turn off the coolant (M09), stop the spindle (M05), or move the Z axis home (G28) prior to a tool change. The control will do these tasks for you during a tool change M06 command. However, you may decide to program these commands anyway for convenience and timely execution of a tool change sequence. If youre using Single Block to step through a program you will be able to see the commands when you stop on that line.

PROGRAMMING

141

O MPERATORS ANUAL

96-8500 rev C

June 2001

D Tapping with G84 or G74. When tapping, you dont need to start the spindle with an M03 or M04 com- mand. The control starts the spindle for you automatically with each G84 or G74 cycle, and it will in fact be faster if you dont turn on the spindle with an M03 or M04. The control stops the spindle and turns it back on again in the G84 or G74 tapping cycle to get the feed and speed in sync. The operator just needs to define the spindle speed.

D Quick Reverse Out of a G84 Rigid Tapping Cycle. This feature for rigid tapping has the spindle back out faster than it went into a tapped hole. The way to specify this is with a J code on the G84 command line. J2 retracts twice as fast as the entry motion; J3 retracts three times as fast, and so on, up to J9. A J code of zero will be ignored. If a J code less than 0 or greater than 9 is specified, Alarm 306 INVALID I, J, K or Q is generated. The J code is not modal and must be specified in each block where this effect is wanted. The J value should not contain a decimal point. (Any Mill Control ver. 10.13 and above.)

D M19 (Orient Spindle) with a P Value. This feature works on any vector drive mill. Previously, the M19 command would simply orient the spindle to only one position that suitable for a tool change. Now, a P value can be added that will cause the spindle to be oriented to a particular position (in degrees). If a whole number is used for the P value, no decimal point is needed. For example, M19 P270 will orient the spindle to 270 degrees. Note that P270.001 (or any other fraction) will be truncated to P270, and P365 will be treated as P5. (Any Mill Control ver. 9.49 and above. Any Lathe Control ver. 2.21 and above.)

D M19 (Orient Spindle) with a Fractional R Value. This feature works on any vector drive mill. An M19 R123.4567 command will position the spindle to the angle specified by the R fractional value; up to 4 decimal places will be recognized. This R command now needs a decimal point: if you program M19 R60, the spindle will orient to 0.060 of a degree. Previously, R commands were not used for this purpose and only integer P values could be used. (Any Mill Control ver. 9.49 and above; any Lathe Control ver. 2.29 and above.)

D Duplicating a Program in LIST PROG. In the LIST PROG mode, you can duplicate an existing program by cursor-selecting the program number you wish to duplicate, typing in a new program number (Onnnnn), and then pressing F1. You can also go to the Advanced Editor menu to duplicate a program, using the PROGRAM menu and the DUPLICATE ACTIVE PROGRAM item.

COMMUNICATIONS

D Program Format to Receive. You can receive program files from a floppy disk or the RS-232 port into the Haas control. Each program must begin and end with a % sign on a line with nothing else on that line. There also must be an Onnnnn program number on the line after the % sign in each program. If there is a (Program Name), it should be entered between parentheses, either after the program number on the same line or on the next line. The program name will appear in the program list.

D Receiving Program Files from a Floppy Disk. You can load program files from a floppy disc using the I/O menu and the FLOPPY DIRECTORY item of the Advanced Editor. Pressing WRITE/ENTER when this menu item is selected will display a list of the programs on the floppy disk. Use the cursor arrow keys or the handwheel to select the file you need to load, and press WRITE/ENTER. After loading that file, the floppy directory will remain on display to allow more files to be selected and loaded into the control. RESET or UNDO will exit this display.

PROGRAMMING

142

O MPERATORS ANUAL

96-8500 rev C

June 2001

D I/O Menu SEND RS232 or SEND FLOPPY Commands. You can send programs to the RS232 port or a floppy disk from the Advanced Editor. After selecting the menu item you want (SEND RS232 or SEND FLOPPY), a program list will appear. Select the program you want to save, or ALL (at the end of the list) if you wish to send all programs under one file name. You can also select any number of programs using the up and down cursor arrow keys or the handwheel and the INSERT key to mark the specific programs to send. If no programs are selected from the list using the INSERT key, the currently highlighted program will be sent.

D Sending Multiple Programs Under One File Name. In the Advanced Editor, you can send multiple program files via the RS232 port or a floppy disk, using the SEND 4S232 or SEND FLOPPY commands under the I/O menu (see the previous paragraph for how to do this). The Advanced Editor allows you to choose several pro- grams (select them using the cursor and the INSERT key) and save them under one file name that you type in; then press WRITE/ENTER to save and send it. (Any Mill Control ver. 9.49 and above; any Lathe Control ver. 3.00 and above.)

D Sending Multiple Programs Using Program Numbers. The SEND FLOPPY item from the I/O menu of the Advanced Editor allows the operator to select one or more programs to be saved to floppy disk. It will prompt you to ENTER FLOPPY FILENAME. In previous versions, the control would insist on a file name. Now, however, if you do not enter a file name, but simply press WRITE/ENTER, the control will save each program (the ones you selected using the cursor and the INSERT key) to a separate file on the floppy and use the five-digit program number as the file name. For example, if programs O00123 and O45678 are selected, the new file names created will be O00123 and O45678. (Any Mill Control ver. 9.49 and above; any Lathe Control ver. 3.00 and above.)

D Sending a Program File from LIST PROG Display. You can send a file or files to a floppy disk or through the RS-232 port from the LIST PROG display. Use the cursor arrows and the INSERT key to select the program(s) you want, or ALL if you want to send all of them under one file name. When you press F2 to send the selected program(s), the control will ask for a floppy file name, which can be up to eight characters long with a three-letter extension (8CHRCTRS.3XT). Then press F2 again to send it. You can also use the I/O menu in the Advanced Editor to send and receive program files.

D Sending Multiple Programs from LIST PROG Using SEND RS232. Several programs can be sent to the serial port by typing all the program names together on the input line without spaces (e.g., O12345O98765O45678) and pressing SEND RS232.

D RS-232 Communications Using X-Modem. If you are seeing occasional errors when using RS-232 com- munications, X-Modem (Setting 14) is a standard communications mode which is very reliable when only a few errors occur. Our control supports this, as do almost all software communication packages for PCs.

D Haas Rotary Table Using the Serial Port and Macros. It is possible to regulate a Haas rotary table using the serial port and macros from the Haas control, or any Fanuc-compatible control. There is a set of sample macros available from the Haas applications department.

D Send and Receive Offsets, Settings, Parameters and Macro Variables to/from Disk. You can save offsets, settings, and parameters to a floppy disk. Press LIST PROG first, then select an OFSET, SETNG or PARAM display page. Type in a file name and then press F2 to write that display information to disk (or F3 to read that file from a disk). You can also do this with the macro variables by pressing LIST PROG first, then selecting the macro variable display page (PAGE DOWN from CURNT COMDS).

PROGRAMMING

143

O MPERATORS ANUAL

96-8500 rev C

June 2001

D Send and Receive Offsets, Settings, Parameters and Macro Variables to/from RS232. You can also save offsets, settings, and parameters via the RS-232 port. Press LIST PROG first, and then select an OFSET, SETNG, or PARAM display page. Press SEND RS232 to send that display page to the RS-232 port under the file name that you enter. Press RECV RS232 to read the file via RS-232. You can also do this with the macro variables by pressing LIST PROG first, then selecting the macro variable display page (PAGE DOWN from CURNT COMDS).

D Deleting a Program File from a Floppy Disk. A file can be erased from the floppy drive. On the LIST PROG display, type DEL file name where file name is the name of the file on the floppy disk. Do not use the program number, unless its also the file name. Press WRITE/ENTER. The message FLOPPY DELETE will appear, and the file will be deleted from the floppy disk. Note that this feature requires the latest floppy driver EPROM chip version 2.11. (Any Mill Control ver. 10.02 and above; any Lathe Control ver. 3.00 and above.)

FUNCTIONS

144

O MPERATORS ANUAL

96-8500 rev C

June 2001

4.5 SUBROUTINES

One of the more important programming features of a CNC machine is called subroutines. Subroutines allow the CNC programmer to define a series of commands which might be repeated several times in a program and, instead of repeating them many times, they can be called. A subroutine call is done with M97 or M98 and a Pnnnn. The P code is the same as the O number of the subroutine to be called.

It is important to note that there is little difference between the main program and the subroutines. In the LIST PROG display, they all appear as numbered programs. When starting execution of a program, the LIST PROG display is used to select the main program and any subroutines used are called from within the main program.

Local subroutines can be used with M97. This can be even easier to use than M98 because the subroutine is part of a single main program, without the need to define a different Onnnn program. With local subroutines, you can code an M30 for the end of your main program, followed by a line number and a subroutine that ends with an M99.

The subroutine call causes the blocks in the subroutine to be executed just as if they were included in the main program. In order to return control to the main program, subroutines must end with an M99.

Another very important feature of subroutines is that the M98 call block may also include an L or repeat count. If there is an L, the subroutine call is repeated that number of times before the main program continues with the next block.

The most common use of subroutines is in the definition of a series of holes which must first center drilled, then peck-drilled, tapped, and chamfered. If a subroutine is defined that consists only of the X-Y position of the holes, the main program can call that subroutine after defining a canned cycle to do each of the operations. Thus, the X-Y positions can be used several times and need not be repeated for each tool. An example follows:

FUNCTIONS

145

O MPERATORS ANUAL

96-8500 rev C

June 2001

O0100 (MAIN PROGRAM FOR EXAMPLE OF SUBROUTINES) ; G54 G00 G90 X0. Y0. ; T01 M06 (CENTER DRILL) ; G81 R0.2 Z-0.1 F20. L0 (NO OPERATION HERE, JUST DEFINE CANNED CYCLE) ; S2000 M03 ; M98 P0200 (CENTER DRILL EACH HOLE) ; T02 M06 (PECK DRILL) ; G83 R0.2 Z-1. F10. L0 (NO OPERATION HERE, JUST DEFINE CANNED CYCLE) ; S1000 M03 ; M98 P0200 (PECK DRILL EACH HOLE) ; T03 M06 (TAP IN FLOATING HOLDER OR HARD TAP) ; G84 R0.2 Z-1. F10. L0 (NO OPERATION HERE, JUST DEFINE CANNED CYCLE) ; S200 (1/4-20) ; M98 P0200 (TAP EACH HOLE) ; T04 M06 (CHAMFER) ; G81 R0.2 Z-0.1 F20. L0 (NO OPERATION HERE, JUST DEFINE CANNED CYCLE) ; S2000 M03 ; M98 P0200 (CHAMFER EACH HOLE) ; G28 M30 (END OF MAIN PROGRAM) ; O0200 (SUBROUTINE EXAMPLE LISTING ALL HOLE POSITIONS) ; X0. Y0. ; X1. Y0. ; X2. Y0. ; X0. Y1. ; X1. Y1. ; X2. Y1. ; X0. Y2. ; X1. Y2. ; X2. Y2. ; M99 (END OF SUBROUTINE) ;

O0300 (EXAMPLE USING A LOCAL SUBROUTINE) G54 G00 G90 X0. Y0.; G81 R0.2 Z-0.1 F20 L0 (NO OPERATION HERE, JUST DEFINE CANNED CYCLE); S2000 M03; M97 P0500 (CENTER DRILL EACH HOLE); T02 M06 (PECK DRILL); G83 R0.2 Z-1. F10. L0 (NO OPERATION HERE, JUST DEFINE CANNED CYCLE); S1000 M03; M97 P0500 (PECK DRILL EACH HOLE); G28 M30 (END OF MAIN PROGRAM);

N0500 (LOCAL SUBROUTINE EXAMPLE LISTING ALL HOLE POSITIONS); X0. Y0,; X1. Y0.; X2. Y0. X0. Y1. X1. Y1. X2. Y1. X0. Y2. X1. Y2. X2. Y2. M99 (END OF SUBROUTINE);

FUNCTIONS

146

O MPERATORS ANUAL

96-8500 rev C

June 2001

4.6 TOOL FUNCTIONS (Tnn)

The Tnn code is used to select the next tool to be placed in the spindle from the tool changer. The T address does not start the tool change operation; it only selects which tool will be used next. M06 and M16 are used to start a tool change operation. The Tnn does not need to be in a block prior to the M06 or M16; it can be in the same block.

NOTE: There is no X or Y motion required prior to performing a tool change and it would waste time in most cases to return X or Y to the home position. However, if your work piece or fixture is quite large, you may need to position X or Y prior to a tool change in order to prevent a crash between the tools and your fixture.

Other controls may require the programmer to position the Z axis to machine zero prior to a tool change but this is not required with the Haas control. You may command a tool change with the X, Y, and Z axes in any position and the control will bring the Z axis up to the machine zero position prior to starting the tool change. The control will move the Z axis to a position above machine zero during a tool change, but will never move below machine zero. At the end of a tool change, the Z axis will be at machine zero.

The tool changer is an all electric fixed shuttle type. Tools are always loaded through the spindle and should never be installed directly in the carousel in order to avoid crashes. The pocket open to the spindle must always be empty in the retracted position.

The tool holders used for the Five-Axis machines are HSK 63A. The tool holders used for the Three-Axis machines are 50T.

Tool holders must be in good condition. Clean the tool tapers with a lightly oiled rag to leave a film to prevent rusting. Tools that make a loud bang when being released indicate a problem and should be checked before serious damage to the shuttle occurs. When the TOOL RELEASE button is pressed the tool should be pushed out of the spindle by a small amount (approximately 0.07 Inch).

Low air pressure or insufficient volume will reduce the pressure applied to the tool unclamp piston and will slow down tool change time or will not release the tool.

CAUTION! Follow these guidelines to load the Five-Axis tool changer: 12 lb. maximum per tool, 200 lb. maximum total tool weight. Maximum tool diameter is 6 inches Maximum tool length (from gauge line) is 11 inches Heavy tools should be distributed evenly.

Follow these guidelines to load the Three-Axis tool changer: 25 lb. maximum per tool, 300 lbs. maximum tool weight. Extremely heavy tools should be distributed evenly.

After POWER UP/RESTART and ZERO RET, the control will insure that the tool changer is in a normal posi- tion. To load a new tool, select MDI mode, put the tool in the spindle with the TOOL RELEASE button and then push the ATC FWD or ATC REV and the machine will put the tool in the carousel. Use the CURNT COMDS display to see what tool is currently in the spindle.

NOTE: Tool changer goes to tool #1 first, then to tool designated in Setting 81.

FUNCTIONS

147

O MPERATORS ANUAL

96-8500 rev C

June 2001

To manually select another tool, use the ATC FWD or ATC REV key while in the MDI mode. To select a tool other than an adjacent one, enter the T number first. That is: T8 ATC FWD will place tool 8 in the spindle.

If the shuttle should become jammed, the control will automatically come to an alarm state. To correct this, push the EMERGENCY STOP button and remove the cause of the jam. Push the RESET key to clear any alarms. Push the "Tool Changer Restore" button to reset the tool changer.

CAUTION! Never put your hands near the tool changer when powered unless the EMERGENCY STOP button is pressed first.

The tool changer is protected by fuse FU5, located on the POWER PCB. It might be blown by an overload or jam of the tool changer. Operation of the tool changer can also be interrupted by problems with the tool clamp/ unclamp and the spindle orientation mechanism.

There are some other M codes which will also cause tool operations to occur:

M19 Will orient the tool for special user functions M39 Will rotate the tool turret without changing tools (be careful of crashes) M82 Will unclamp the tool (be careful, it will fall!) M86 Will clamp the tool

FUNCTIONS

148

O MPERATORS ANUAL

96-8500 rev C

June 2001

4.7 SPINDLE SPEED FUNCTIONS

SPINDLE SPEED COMMANDS

Spindle speed functions are controlled primarily by the S address code. The S address specifies RPM in integer values from 1 to maximum spindle speed (Parameter 131, NOT TO BE CHANGED BY USER!).

Speeds from S1 to the Parameter 142 value (Highlo/Low Gear Change; usually 1200) will automatically select low gear, and speeds above Parameter 142 will select high gear. Two M codes can be used to override the gear selection: M41 for low gear override and M42 for high gear override. Low gear operation above S1250 is not recommended. High gear operation below S100 may lack torque or speed accuracy.

If there is no gear box in your machine (VF-0), the gear box is disabled by parameters, it is always in high gear, and M41 and M42 commands are ignored.

Three M codes are used to start and stop the spindle. M03 starts the spindle clockwise, M04 starts the spindle counterclockwise, and M05 stops the spindle.

Note that only one M code is allowed in a block. This means that if you wish to override the gear with M41 or M42, you must put the Snnnn and M41 (or M42) in one block and the M03 (or M04) in the next block. The Snnn should always be in the same block as the M41 or M42, as an unneeded double gear change might otherwise be performed.

FUNCTIONS

149

O MPERATORS ANUAL

96-8500 rev C

June 2001

4.8 HIGH SPEED MACHINING

High Speed Machining is an option that can be added to any Haas mill. It is most often required for the machining of smoothly sculpted shapes as is typical of mold making.

High speed machining means many different things to different people. Sometimes it is taken to mean high speed spindle; the Haas control has 7500 RPM standard and up to 15000 RPM as an option. Sometimes it is taken to mean high feedrates; the Haas control has 500 inches per minute in G01 (linear motion) standard. Sometimes it is taken to mean high blocks per second rate; the Haas control has 1000 blocks per second standard. The most important feature, though, is block lookahead.

The Haas option for High Speed Machining increases the amount of lookahead to 80 blocks and allows full speed (500 inches per minute) blending of feed strokes. Determining when you need the High Speed Machin- ing option can be done with the following table of stroke lengths:

Machine Type VF0..VF2 VF3..VF5 VF6..VF9 HS,VB1 VF10,VR11

Feed in/min: Stroke Length in inches

20 0.0039 0.0051 0.0077 0.0154 50 0.0241 0.0321 0.0482 0.0963 100 0.0963 0.1284 0.1927 0.3853 150 0.2167 0.2890 0.4335 0.8670 200 0.3853 0.5138 0.7707 1.5413 300 0.8670 1.1560 1.7340 3.4680 400 1.5413 2.0551 3.0826 6.1652 500 2.4083 3.2111 4.8166 9.6332

To use the above table starting with your machine and feedrate, find the listed stroke length. If you are using linear moves longer than the stroke length, you do not need high speed machining. If you are using linear moves shorter than the stroke length, you do need high speed machining.

To use the above table starting with your machine and stroke length, find the listed feedrate. If you are using a feedrate lower than the listed rate, you do not need high speed machining. If you are using a feedrate higher than the listed rate, you do need high speed machining.

It is important to understand that high speed machining works best with smoothly blended shapes where the feedrate can remain high through the blend of one stroke to the next. If there are sharp corners, the control will always need to slow down; even if you have the high speed machining option. Sharp corners can never occur at high speed; either rounding of the corners occurs or the control must slow the feedrate.

The affect that blending of strokes can have on feedrate is always to slow down motion. It can never speed up motion. The programmed feedrate (F) is thus a maximum and the control will sometimes go slower than that in order to achieve the required accuracy.

Remember that too short of a stroke length can result in too many data points and that can result in a blocks per second demand which is above what the control can do. Check how your CAD system generates data points to insure that you do not exceed 1000 blocks per second.

Also remember that too few data points can result in either facetting or blending angles which are so great that the control must slow down the feedrate. Facetting is where the desired smooth path is actually made up of short, flat, strokes that are not close enough to the desired smoothness of the path. When the angle of blending of strokes is too large, the control must reduce the feedrate in order to get that sharp angle.

FUNCTIONS

150

O MPERATORS ANUAL

96-8500 rev C

June 2001

4.9 TAPPING

Making tapped holes with the VB Series CNC Mill can be done with several devices. Threads may be gener- ated with a tap held in a rigid tool holder (called rigid tapping), a floating tap holder, a reversing tapping head, or helical thread milling. Each method has distinct advantages.

Tapping is done using canned cycles. You must select the tapping RPM and, using the pitch (threads per inch), calculate the feedrate that is entered in the F command. The HELP/CALC page will compute these numbers for you.

RIGID TAPPING

Rigid tapping eliminates the cost of special tap holders since taps can be held in drill collet holders. The spindle is accurately synchronized with the Z-axis feed, thereby producing threads as accurately as a lead screw tapper. No side forces are generated on the flanks of the threads and tighter thread tolerances are produced. Rigid tapping also eliminates the pullout and distortion of the first thread that occurs on all spring compression/tension devices and tapping heads. While this is not usually a problem on medium to coarse threads, small diameter, fine pitch or soft material tapped holes can have their last thread damaged when the tap pops out of the hole. You can also re-tap a hole without cross-threading, provided the tap and Z depths have not been changed. Rigid tapping is used with canned cycles G74 and G84. Example:

N100 G84 Z-1. R.3 F37.5 (for a 20-pitch thread at 750 RPM)

A word of caution on rigid tapping: As the term implies, the tap is rigidly held in place. This requires that runout be less than 0.001 TIR or the tap will generate an oversized thread. This problem can be minimized by using a small diameter drill extension to provide flex, a radial floating tool holder, or specially-designed chucks for holding taps, because tap shanks are not common collet sizes.

The mill can retract from a tap faster than it went in. The way to specify this is to use a J code in the line that commands the tap. J2 retracts twice as fast as the entry motion, J3 retracts three times as fast, and so on, up to J9. A J code of zero will be ignored. If a J code less than zero or greater than nine is specified , alarm 306, INVALID I, J, K, or Q is generated. The J code is not modal, and must be specified in each block where the effect is wanted.

Rigid tapping is enabled with the Parameter 57 Rigid Tap flag. In addition, if the REPT RIG TAP flag in Parameter 57 is set, every repetition of a tapping operation will control the orientation of the spindle so that the tapping is repeatable.

Pitch control is within 0.0005 inch. Bottom depth control is 0.020 inch and repeatability is 0.005 inch. Rigid tapping will operate from 100 to 2000 RPM and up to 100 inches per minute feed. Bottom depth control is better at lower speeds. Thread pitch is limited, from 4 to 100 TPI.

The pitch of a tapped hole is defined by the ratio between the feedrate and spindle speed. When rigid tapping is selected, these two must be set exactly. An encoder mounted with the spindle tracks the position of the spindle and the Z axis is moved precisely to match the pitch of the thread. If the repeatable option is selected, a position pulse from the encoder is used to synchronize the starting of the Z motion with the position of the spindle.

FUNCTIONS

151

O MPERATORS ANUAL

96-8500 rev C

June 2001

Note that with G74 and G84, you do not ever need to use M03, M04, or M05. These canned cycles start and stop the spindle automatically. This applies to using normal or rigid tapping.

The second page of diagnostic data will show the actual spindle speed.

USING FLOATING TAP HOLDERS

Floating tap holders are probably the most common method of tapping holes. The tap is held in a quick change holder that can float up and down slightly. This is done to allow the tap to follow the hole it is tapping and compensate for differences in the acceleration and deceleration of the spindle versus the feed of the Z axis. Upon reaching the bottom of the hole, the feed stops and the spindle reverses; if you watch closely, you will see the tap pull the floating holder out slightly. Upon reversal, the tap will be pushed back into the holder.

If the holder is pulled out or pushed in to its mechanical limits while tapping, you can break the tap, damage the threaded part, or pull the tap completely out of the holder. Carefully watch for this condition when setting up a job, because it usually becomes a problem after the job has been running a while. Also, tapping of diameters less than 5/16 of an inch while below 1201 rpm (low gear shift point parameter 142) should be done in high gear. Spindle reversal is quicker in high gear and will minimize tap pullout. This is done by putting an M42 code with the speed command, such as: M42 S900. Tapping is done with G74 and G84 cycles which automatically reverse the spindle at Z depth. The feedrate can be calculated by using the HELP display paging down to the tapping calculator and inputting your speed and tap pitch into the control to obtain your feedrate which is then input to the F command of the cycle. Example:

N100 G84 Z-1.0 R.3 F46.875 (for 32 pitch tap at 1500 RPM)

AUTOREVERSING TAPPING HEADS

Auto reversing tapping heads eliminates the need for the spindle to reverse at the bottom, and provides for high production rates. The reversing function of the tapping head requires an arm to prevent the body from rotating. This must be considered when changing tools so as not to interfere with operation. The tool block on the VB Series CNC Mill will accommodate the Tapmatic series of heads. Several sizes are available and should be chosen dependent on tap size. Choose the head specifically for NC use as they have a 1:1 feedrate. Manual types have a faster withdrawral rate that leads to clatter on the upstroke. A disadvantage to these types of heads is that when the inevitable crash occurs, you can destroy an expensive device.

Use the G85 or G89 (dwells at bottom) cycle when using a tapping head. Example:

N100 G98 G85 Z-1.0 R0.25 F46.875

FUNCTIONS

152

O MPERATORS ANUAL

96-8500 rev C

June 2001

THREAD MILLING

Thread milling uses a cutter formed with the pitch of the thread to mill the thread. The cutters are solid carbide, fragile and expensive. Some companies sell replaceable insert holders that are more economical. Internal holes smaller than 3/8 inch may not be possible or practical. It does allow for making thread diameter compensation and external threads. For large threads, port threads and blind hole threads, thread milling can be the most economical method.

Thread milling is accomplished with helical milling. Use a standard G02 or G03 move to create the circular move in X-Y and then insert a Z move on the same block corresponding to the thread pitch. The feedrate is selected as in standard milling practice. This will generate one turn of the thread. The multiple teeth of the cutter will generate the rest. A typical line would be as follows:

N100 G02 I-1.0 Z-.05 F5. (generates a 1-inch radius for 20-pitch thread)

FUNCTIONS

153

O MPERATORS ANUAL

96-8500 rev C

June 2001

4.10 AUTOMATIC CHIP AUGER

The automatic chip auger assists the user in removal of chips for jobs with heavy material removal. When running, the chip auger will sense auger motor overcurrent and reverse direction momentarily, thus attempting to free up chip jams. This procedure will be repeated until chips are cleared or auger retry limit (Parameter 219) is reached. If the chip auger is running and the door is opened, the chip auger will stop, thus adding a degree of safety to auger operation. If there is no axis motion or keyboard action within the time set in Parameter 255, the auger will automatically shut off.

NOTE: It is recommended that the chip auger be used intermittently. Continuous operation will cause the motor to overheat.

NOTE: On a machine with a safety circuit, the chip auger will only run with the door closed regardless of the Conveyor Door Override bit.

AUGER KEYBOARD COMMANDS

The auger can be started at anytime from the keyboard. The auger can be enabled in either direction by pressing the CHIP FWD or CHIP REV and stopped by pressing the CHIP STOP key. The auger will also stop by pressing the RESET key.

AUGER PROGRAM COMMANDS

Use M codes M31, M32 and M33 to control the auger from within a program or in MDI. M31 commands the auger forward, M32 commands the auger in reverse and M33 stops the auger. Refer to the "M Codes" section for a more detailed description.

AUGER PARAMETERS

The following are the parameters that control the auger.

CNVYR RELAY DELAY Parameter 216 CNVYR IGNORE OC TIM Parameter 217 CNVYR RETRY REV TIM Parameter 218 CNVYR RETRY LIMIT Parameter 219 CNVYR RETRY TIMEOUT Parameter 220 CNVYR TIMEOUT Parameter 255

A complete description of auger parameters is given in the Parameters Section of the this manual.

FUNCTIONS

154

O MPERATORS ANUAL

96-8500 rev C

June 2001

AUGER M CODES

M31 Chip Conveyor Forward M31 starts the chip auger motor in the forward direction. The forward direction is defined as the direction that the auger must move to transport chips out of the work cell. If the auger motor is on, then the auger will be stopped and restarted in the forward direction.

M32 Chip Conveyor Backward M32 starts the chip auger motor in the reverse direction. The reverse direction is defined as the direction opposite of forward. If the auger motor is on, then the auger will be stopped and restarted in the reverse direc- tion.

M33 Chip Conveyor Stop M33 Stops Auger motion.

FUNCTIONS

155

O MPERATORS ANUAL

96-8500 rev C

June 2001

4.11 WARMUP COMPENSATION

When the machine is powered on, if Setting 109, and at least one of Settings 110, 111 or 112, are set to a nonzero value, the following warning will be displayed:

CAUTION! Warm up Compensation is specified! Do you wish to activate

Warm up Compensation (Y/N)?

If the operator responds Y, the control immediately applies the total compensation (setting 110,111 and/ or 112), and the compensation begins to decrease as the time elapses. For instance, after 50% of the time in Setting 109 has elapsed, the compensation distance for the X axis, in Setting 110, will be 50%.

As with other settings, the Warm up Compensation settings can be changed at any time. Updating the Warm- up Compensation Time may activate compensation, but changes to the X, Y or Z distance settings will not activate compensation. To restart the time period, it is necessary to power the machine off and on, and then answer yes to the compensation query at start-up.

WARNING!

Changing settings 110, 111 or 112 while compensation is in progress can cause a sudden movement of up to 0.0044 inch.

The amount of remaining warmup time is displayed on the bottom right hand corner of the Diagnostics Inputs 2 screen using the standard hh:mm:ss format. The initial amount of warmup time to be used, starting when power is applied, is specified in Setting 109, WARMUP TIME IN MIN.

FUNCTIONS

156

O MPERATORS ANUAL

96-8500 rev C

June 2001

4.12 HOW THE CONTROL MOVES THE MACHINE

Acceleration and deceleration are what the machine does when it is changing speed. Acceleration means the speed is increasing and deceleration means it is slowing down. The machine cannot change speed instantly, so a change of speed occurs over some amount of time and distance.

Changes in speed affect both rapid motion and feed motion. Rapid motion occurs independently for each axis in motion and uses the acceleration set for each axis. Feed motion coordinates one or more axes to acceler- ate in unison, move in unison, and decelerate in unison. This type of feed motion is called acceleration before interpolation and uses a fixed acceleration rate for all axes.

RAPID MOTION

Rapid motion uses constant acceleration and deceleration, with maximum acceleration and maximum speed set as parameters per axis. End-point arrival in rapid motion occurs with S-curve velocity to prevent shock vibration to the machine. A rapid motion followed by another rapid motion is blended with a rounded corner controlled by a parameter called In Position Limit. It is usually about 0.06 inch. A rapid motion followed by a feed motion or a rapid motion in Exact Stop mode will always decelerate to an exact stop before the next motion.

S-curve velocity control refers to the rate of change of acceleration or deceleration. Without S-curve, there may be abrupt changes in deceleration resulting in machine vibration. With S-curve at the end of a rapid move, there are only gradual changes to deceleration and thus machine vibration is reduced.

FEED MOTION

A feed motion coordinates or interpolates the motion of multiple axes. Feed motions always use constant acceleration before interpolation. With the Haas control, up to five axes can be in motion in a feed. These are X, Y, Z, A and B. Maximum feedrate is 500 inches per minute for the linear (XYZ) axes and 300 degrees per minute for the rotary (AB) axes.

Blending of a feed motion followed by a feed motion is controlled by Setting 85 (Max Corner Rounding) and the G187 command. Blending of a feed to feed appears as a rounded corner. Setting 85 and G187 provide for a continuously adjustable range of corner rounding between an exact stop and inexact stop. The value of the setting is the maximum deviation allowed from the exact programmed path.

A linear move (G01) started at an exact stop and ending at an exact stop will have zero positioning error. That is, it will follow exactly that programmed path. It is only at the start or end at speed that blending or corner rounding can occur. This blending action should not be confused with overshoot. Overshoot is where a control would go past a corner and then reverse back onto the required path. The Haas control does not overshoot under any circumstances.

Circular moves (G02 or G03) are not treated any differently than a linear feed motion. If a feed starts at an exact stop and ends at an exact stop, there is no positional error introduced no matter what the feedrate. Feed in a circular motion is limited to 300 inches per minute. Corner rounding can still occur when a circular motion is blended with a linear or a circular motion, but is also controlled by Setting 85 and G187.

FUNCTIONS

157

O MPERATORS ANUAL

96-8500 rev C

June 2001

FEED PATH LOOK-AHEAD

Block look-ahead is something that is needed when the distance which the control requires to get up to speed is more than half the length of the programmed linear strokes programmed. Without look-ahead, the control will simply overlap the deceleration of one stroke with the acceleration of the next stroke. This would limit the speed of the motion based on the length of those strokes. The Haas control has block look-ahead standard, but without the High-Speed Machining option it is limited. With look-ahead, blending of one stroke to another can occur at full speed, but the angle of blending is small without the High-Speed Machining option.

CUTTER COMPENSATION

158

O MPERATORS ANUAL

96-8500 rev C

June 2001

4.13 CUTTER COMPENSATION

Cutter compensation is a method of shifting the tool path so that the actual finished cut is moved to either the left or right of the programmed path. Normally cutter compensation is programmed to shift by exactly the radius of the tool so that the finished cut matches the programmed path. The Offset display is used to enter the amount for the tool to be shifted. The offset can be entered as either diameter or radius for both the geometry and wear values. The effective value is the sum of the geometry and wear values. Setting 40 is used to select either diameter or radius. If diameter is specified, the shift amount is half of the value entered. Cutter radius compensation is only available in the X and Y axes (G17). For 3D machining, cutter radius compensation is available in the X and Y axes (G141).

GENERAL DESCRIPTION OF CUTTER COMPENSATION

G41 will select cutter compensation left; that is, the tool is moved to the left of the programmed path to compensate for the size of the tool. A Dnnn must also be programmed to select the correct tool size from compensation memory. If compensation memory contains a negative value for cutter size, cutter compensation will operate as though G42 was specified. Cutter path compensation in this machine applies only to motion in the X and Y axes.

G42 will select cutter compensation right; that is, the tool is moved to the right of the programmed path to compensate for the size of the tool. A Dnnn must also be programmed to select the correct tool size from compensation memory. If compensation memory contains a negative value for cutter size, cutter compensation will operate as though G41 was specified.

The code G40 will cancel cutter compensation and is the default condition when a machine is powered on. When canceled, the programmed path is the same as the center of the cutter path. You may not end a program (M30, M00, M01, or M02) with cutter compensation active.

If cutter radius compensation is selected (G41 or G42), you may only use the X-Y plane for circular motions (G17). Cutter radius compensation is only available in the X and Y axes.

There is a simple rule about cutter compensation which helps to make clear the motions the control uses to compensate for tool size. The control operates on one motion block at a time. It will look ahead, however, to check the next two blocks containing X or Y motions. The interference checks are performed on these three motions. Setting 58 controls how this part of cutter compensation works. It can be set to Fanuc or Yasnac.

When Setting 58 is set to Yasnac, the control must be able to position the tool edge along all of the programmed cuts without overcutting the next two motions. All outside angles are joined by a circular motion.

When Setting 58 is set to Fanuc, the control does not require that the tool cutting edge be placed along all programmed cuts. Overcutting, however, is still prevented, and if overcutting cannot be prevented, an alarm will still occur. Outside angles less than or equal to 270 degrees are joined by a square corner and outside angles of more than 270 degrees are joined by an extra linear motion.

The following four diagrams show how cutter compensation works for the two possible values of Setting 58. Note that a small cut of less than tool radius and at a right angle to the previous motion will only work with the Fanuc setting. In Yasnac it will cause an alarm and stop the program.

CUTTER COMPENSATION

159

O MPERATORS ANUAL

96-8500 rev C

June 2001

CUTTER COMPENSATION

160

O MPERATORS ANUAL

96-8500 rev C

June 2001

CUTTER COMPENSATION

161

O MPERATORS ANUAL

96-8500 rev C

June 2001

ENTRY AND EXIT FROM CUTTER COMPENSATION

When entering and exiting cutter compensation or when changing from left side to right side compensation, there are special considerations to be aware of. Cutting should not be performed during any of these three moves. In a block that turns on cutter compensation, the starting position of the move is the same as the programmed position, but the ending position of the move will be offset by the cutter compensation size. In a block that turns off cutter compensation, the starting point is offset and the ending point is not offset. Similarly, when a block changes from left to right compensation, the starting point is shifted in one direction and the ending point is shifted in the other direction. The result of all this is that the tool is moved through a path that may not be the same as the intended path or direction.

If cutter compensation is turned on or off in a block without any X-Y move, there is no change made to cutter compensation until the next X or Y move is encountered. To enter cutter compensation, a nonzero D code must be specified and either G41 or G42 specified. To exit from cutter compensation, you may specify either D0 or G40, or both.

You should always turn off cutter compensation in a move which clears the tool away from the part being cut. If a program is terminated with cutter compensation still active, an alarm is generated. In addition, you cannot turn cutter compensation on or off during a circular move (G02 or G03); otherwise an alarm will be generated.

An offset selection of D0 will use zero as the offset size and have the effect of turning off cutter compensation. If a new value from offset memory is selected while cutter compensation is active, the starting point of a move will reflect the old value and the ending point will reflect the new value. This will have the effect of shifting the motion to something other than what was intended by the programmer. You cannot change the offset code or side during a circular motion block.

When turning on cutter compensation in a move that is followed by a second move at an angle that is less than 90 degrees, there are two ways of computing the first motion: cutter compensation type A and type B (setting 43). Type A is the default in setting 43 and is what is normally needed; the tool moves directly to the pro- grammed start point for the second cut. Type B is used when clearance around a fixture or clamp is needed, or in rare cases when part geometry demands it. The diagrams on the following pages illustrate the differences between type A and type B for both Fanuc and Yasnac settings (Setting 58).

FEED ADJUSTMENTS IN CUTTER COMPENSATION

When using cutter compensation in circular moves, there is the possibility of speed adjustments to what has been programmed. If the intended finish cut is on the outside of a circular motion, the tool should be slowed down to ensure that the surface feed does not exceed what was intended by the programmer. There are problems, however, when the speed is slowed by too much. For this reason, Setting 44 is used to limit the amount by which the feed is adjusted in this case. It can be set between 1% and 100%. If set to 100%, there will be no speed changes. If set to 1% the speed can be slowed to 1% of the programmed feed.

When the cut is on the inside of a circular motion, there is no speed-up adjustment made to the rate feed.

CUTTER COMPENSATION

162

O MPERATORS ANUAL

96-8500 rev C

June 2001

CUTTER COMPENSATION ENTRY (Yasnac)

CUTTER COMPENSATION

163

O MPERATORS ANUAL

96-8500 rev C

June 2001

CUTTER COMPENSATION ENTRY (Fanuc style)

CUTTER COMPENSATION

164

O MPERATORS ANUAL

96-8500 rev C

June 2001

FIVE AXES CUTTER LENGTH COMPENSATION

The Haas control now has the capability for 5 axes cutter length compensation. This capability is most useful for the VB series of machines with B and C axes motion built into the machine head. It allows the user to correct for variations in the length of cutting tools without the need to revert to CAD/CAM or post processing steps. 5 axes length compensation applies only to machines where all rotary motion is movement of the cutting tool. It does not apply to machines where any of the rotary axes involve axes motion of the part or fixture.

Five axes cutter length compensation in the Haas CNC uses G143. An Hnnn code is required to select the tool length from the existing length compensation tables. G143 is modal and is in the group 8 G codes. It is thus mutualy exclusive with G43, G44 and G49. Selecting G49 or H00 will cancel 5 axes compensation. If only normal (Z axes) cutter length compensation is desired, simply program G43 or G44. For G143 to work cor- rectly, there must be two rotary axes, B and C. G90 must be active for absolute positioning mode and G91 must not be used. Work position 0,0 for the B and C axis must be such that the tool is parallel with Z axes motion.

When G 143 is active, and commanded motion of X,Yor Z will have a vector component of the tool length added to the motion according to the work coordinates of the A and B axes. For a positive length of the tool, this will move Z upward or in the + direction. If one of X, Y or Z is not programmed, there will be no motion of that axes, even if motion of B or C cause a new vector for tool length. Thus a typical program would use all 5 axes on one block of data. If G91, incremental, is used, positioning results are incorrect.

Feed rate in G143 is complicated by the vector offseet added to XYZ. Thus inverse feed (G93) is strongly recommended. If the inverse feed rate was correct before applying G143, it will still be correct with any length of compensation unless the maximum speed of an axes is exceeded.

An example follows:

T1 M06 ; G00 G90 G54 X0 Y0 Z0 A0 B0 ; G143 H01 X0. Y0. Z0. A-20. B-20. (RAPID POSIT W. 5 AX COMP) ; G01 H01 X0. Y0. Z0. A-19.9 B-19.9 F300. (FEED INV TIME) ; X0.02 Y0.03 Z0.04 A-19.7 B-19.7 F300. ; X0.02 Y0.055 Z0.064 A-19.5 B-19.6 F300. ; X2.345 Y.1234 Z-1.234 A-4.127 B12.32 F200. (LAST MOTION) ; G94 F50. (CANCEL G93) ; G0 G90 G49 Z0 (RAPID TO ZERO, CANCEL 5 AXIS COMP) ; X0 Y0 ; M30 ;

The following parameters have been added for G143:

Common switch SW 3: 5 AX TOFS -X Set to 1 to negate X Comp. direction 5 AX TOFS -Y Set to 1 to negate Y Comp. direction 5 AX C MOV B Set to 1 if C axis moves B axis

When G143 is active, rotation of the C axes causes length compensation motion of the Y axes and rotation of the B axes causes length compensation motion of the X axes. The direction of these motions can be reversed with the above parameters. The B axes normally moves the C axes, but if this is not true, the "C MOV B" bit can be set to change which is the inner axes.

165

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

5. G CODES

The following is a summary of the G codes. A * indicates the default within each group, if there is one:

Code: Group: Function: Description On Page:

G00 01* Rapid Motion 167 G01 01 Linear Interpolation Motion 168 G02 01 CW Interpolation Motion 168 G03 01 CCW Interpolation Motion 170 G04 00 Dwell 170 G09 00 Exact Stop 170 G10 00 Set Offsets 171 G12 00 CW Circular Pocket Milling (Yasnac) 172 G13 00 CCW Circular Pocket Milling (Yasnac) 173 G17 02* XY Plane Selection 173 G18 02 ZX Plane Selection 174 G19 02 YZ Plane Selection 174 G20 06* Select Inches 174 G21 06 Select Metric 174 G28 00 Return To Reference Point 175 G29 00 Return From Reference Point 175 G31 00 Feed Until Skip (optional) 176 G35 00 Automatic Tool Diameter Measurement (optional) 176 G36 00 Automatic Work Offset Measurement (optional) 177 G37 00 Automatic Tool Offset Measurement (optional) 176 G40 07* Cutter Comp Cancel 177 G41 07 2D Cutter Compensation Left 177 G42 07 2D Cutter Compensation Right 178 G43 08 Tool Length Compensation + 178 G44 08 Tool Length Compensation - 178 G47 00 Text Engraving 178 G49 08* G43/G44/G143 Cancel 178 G50 11 G51 Cancel 180 G51 11 Scaling (optional) 180 G52 12 Select Work Coordinate System G52 (Yasnac) 186 G52 00 Set Local Coordinate System (Fanuc) 186 G52 00 Set Local Coordinate System (HAAS) 186 G53 00 Non-Modal Machine Coordinate Selection 186 G54 12* Select Work Coordinate System 1 186 G55 12 Select Work Coordinate System 2 186 G56 12 Select Work Coordinate System 3 186 G57 12 Select Work Coordinate System 4 186 G58 12 Select Work Coordinate System 5 186 G59 12 Select Work Coordinate System 6 186 G60 00 Unidirectional Positioning 186 G61 13 Exact Stop Modal 187 G64 13* G61 Cancel 187 G65 00 Macro Subroutine Call (optional) 399 G68 16 Rotation (optional) 183 G69 16 G68 Cancel (optional) 185 G70 00 Bolt Hole Circle (Yasnac) 187 G71 00 Bolt Hole Arc (Yasnac) 187

166

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

G72 00 Bolt Holes Along an Angle (Yasnac) 187 G73 09 High Speed Peck Drill Canned Cycle 192 G74 09 Reverse Tap Canned Cycle 194 G76 09 Fine Boring Canned Cycle 195 G77 09 Back Bore Canned Cycle 196 G80 09* Canned Cycle Cancel 197 G81 09 Drill Canned Cycle 197 G82 09 Spot Drill Canned Cycle 198 G83 09 Normal Peck Drill Canned Cycle 199 G84 09 Tapping Canned Cycle 201 G85 09 Boring Canned Cycle 202 G86 09 Bore/Stop Canned Cycle 203 G87 09 Bore/Stop/Manual Retract Canned Cycle 204 G88 09 Bore/Dwell/Manual Retract Canned Cycle 205 G89 09 Bore and Dwell Canned Cycle 206 G90 03* Absolute 206 G91 03 Incremental 206 G92 00 Set Work Coordinates - FANUC or HAAS 207 G92 00 Set Work Coordinates - YASNAC 207 G93 05 Inverse Time Feed Mode 207 G94 05* Feed Per Minute Mode 208 G98 10* Initial Point Return 208 G99 10 R Plane Return 208 G100 00 Cancel Mirror Image 208 G101 00 Enable Mirror Image 208 G102 00 Programmable Output To RS-232 209 G103 00 Limit Block Buffering 210 G107 00 Cylindrical Mapping 210 G110 12 Select Work Coordinate System 7 214 G111 12 Select Work Coordinate System 8 214 G112 12 Select Work Coordinate System 9 214 G113 12 Select Work Coordinate System 10 214 G114 12 Select Work Coordinate System 11 214 G115 12 Select Work Coordinate System 12 214 G116 12 Select Work Coordinate System 13 214 G117 12 Select Work Coordinate System 14 214 G118 12 Select Work Coordinate System 15 214 G119 12 Select Work Coordinate System 16 214 G120 12 Select Work Coordinate System 17 214 G121 12 Select Work Coordinate System 18 214 G122 12 Select Work Coordinate System 19 214 G123 12 Select Work Coordinate System 20 214 G124 12 Select Work Coordinate System 21 214 G125 12 Select Work Coordinate System 22 214 G126 12 Select Work Coordinate System 23 214 G127 12 Select Work Coordinate System 24 214 G128 12 Select Work Coordinate System 25 214 G129 12 Select Work Coordinate System 26 214 G136 00 Automatic Work Offset Center Measurement 177 G141 07 3D+ Cutter Compensation 214 G143 08 5 AX Tool Length Compensation 215 G150 00 General Purpose Pocket Milling 216 G153 09 5-Axis High Speed Peck Drilling Canned Cycle 219 G154 09 5-Axis Reverse Tap Canned Cycle 221

167

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

G161 09 5-Axis Drill Canned Cycle 222 G162 09 5-Axis Spot Drill Canned Cycle 223 G163 09 5-Axis Normal Peck Drilling Canned Cycle 224 G164 09 5-Axis Tapping Canned Cycle 225 G165 09 5-Axis Boring Canned Cycle 226 G166 09 5-Axis Bore and Stop Canned Cycle 227 G169 09 5-Axis Bore and Dwell Canned Cycle 227 G174 00 CCW General Rigid Tap 228 G184 00 CW General Rigid Tap 228 G187 00 Accuracy Control for High Speed Machining 229

Each G code defined in this control is part of a group of G codes. The Group 00 codes are non-modal; that is, they specify a function applicable to this block only to the block they are in and do not affect other blocks. The other groups are modal and apply to all subseuent blocks until the end of the program or until replaced by a different G code from the same group. A modal G code means blocks between G code group members do not need to re-specify the same G code for each block.

There is also one case where the Group 01 G codes will cancel the Group 9 (canned cycles) codes. If a canned cycle is active (G73 through G89), the use of G00 or G01 will cancel the canned cycle.

The control will now store up to 500 G-code programs in memory.

RAPID POSITION COMMANDS (G00)

G00 Rapid Motion Positioning Group 01

X Optional X-axis motion command Y Optional Y-axis motion command Z Optional Z-axis motion command A Optional A axis motion command

This G code is used to cause a rapid traverse of the three or four axes of the machine. The auxiliary axes B, C, U, V, and W can also be moved with a G00. This G code is modal so that a previous block with G00 causes all following blocks to be rapid motions until another Group 01 code is specified. The rapid traverse rate is depen- dent on the maximum speed possible for each axis independently as modified by the RAPID override keys.

Generally, rapid motions will not be in straight lines. All of the axes specified are moved at the same speed but will not necessarily complete their motions at the same time. The control will wait until all motions are com- plete. Only the axes specified are moved and the incremental or absolute modal conditions (G90 or G91) will change how those values are interpreted. Parameter 57 can change how closely the machine waits for a precise stop before and after a rapid move.

168

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

INTERPOLATION COMMANDS (G01, G02, G03)

G01 Linear Interpolation Motion Group 01

F Feed rate in inches (mm) per minute X Optional X-axis motion command Y Optional Y-axis motion command Z Optional Z-axis motion command A Optional A axis motion command

This G code provides for straight line (linear) motion from point to point. Motion can occur in 1, 2 or 3 axes. All axes will start and finish motion at the same time. The rotary axis may also be commanded and this will provide a helical motion. The speed of all axes is controlled so that the feed rate specified is achieved along the actual path. Rotary axis feed rate is dependent on the rotary axis diameter setting (Setting 34) and will provide a helical motion. The F command is modal and may be specified in a previous block. Only the axes specified are moved and the incremental or absolute modal commands (G90 or G91) will change how those values are interpreted. The auxiliary axes B, C, U, V, and W can also be moved with a G01 but only one axis is moved at a time.

G02 CW Circular Interpolation Motion Group 01

F Feed rate in inches (mm) per minute I Optional distance along X-axis to center of circle J Optional distance along Y-axis to center of circle K Optional distance along Z-axis to center of circle R Optional radius of circle X Optional X-axis motion command Y Optional Y-axis motion command Z Optional Z-axis motion command A Optional A axis motion command

This G code is used to specify a clockwise circular motion of two of the linear axes. Circular motion is possible in any two of X, Y, and Z axes as selected by G17, G18, and G19. The X, Y, and Z are used to specify the end point of the motion that can use either absolute (G90) or incremental (G91) motion. If any of the X, Y, or Z for the selected plane is not specified, the endpoint of the arc is the same as the starting point for that axis. There are two ways to specify the center of the circular motion; the first uses I, J, or K to specify the distance from the starting point to the center of the arc; the second uses R to specify the radius of the arc. These are further described below:

I, J, K: When I, J, or K are used to specify the center of the arc, R may not be used. Only the I, J, or K specific to the selected plane (IJ for G17, IK for G18, JK for G19) are allowed. If only one of the I, J, K is specified, the others are assumed to be zero. The I, J, or K is the signed distance from the starting point to the center of the circle. Small errors in these values are tolerated up to 0.0010 inches. Use of I, J, or K is the only way to cut a complete 360 degree arc; in this case, the starting point is the same as the ending point and no X, Y, or Z is needed.

To cut a complete circle of 360 degrees (360O), you do not need to specify an ending point X, Y, or Z; just program I, J, or K to define the center of the circle. The following line will cut a complete circle:

169

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

G02 I3.0 J4.0 (Assumes G17; XY plane)

In cases where you are cutting less than a complete circle, it is much easier to use R instead of I, J, K.

R: When R is used to specify the center of the circle, a complete 360 degree arc is not possible. X, Y, or Z is required to specify an endpoint different from the starting point. R is the distance from the starting point to the center of the circle. With a positive R, the control will generate a path of 180 degrees or less; to generate an angle of over 180 degrees, specify a negative R. Small errors in this value are tolerated up to 0.0010 inches.

The following line will cut an arc less than 180 degrees (180o):

170

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

G01 X3.0 Y4.0 G02 X-3.0 R5.0

and the following line will cut an arc of more than 180 degrees (1800):

G01 X3.0 Y4.0 G02 X-3.0 R-5.0

G03 CCW Circular Interpolation Motion Group 01

G03 will generate counterclockwise circular motion but is otherwise the same as G02.

HELICAL

A helical motion is possible with G02 or G03 by programming the linear axis that is not in the selected plane. This third axis will be interpolated along the specified axis in a linear manner while the other two axes will be moved in the circular motion. The speed of each axis will be controlled so that the helical rate matches the programmed feed rate.

MISCELLANEOUS G CODES (G04, G09)

G04 Dwell Group 00 P The dwell time in seconds or milliseconds

G04 is used to cause a delay or dwell in the program. The block containing G04 will delay for the time specified in the P code. If the P has no fraction part, the delay is in milliseconds (0.001 seconds); otherwise the delay is in seconds.

G09 Exact Stop Group 00

The G09 code is used to specify exact stop. It is non-modal and does not affect the following blocks. Rapid and interpolated moves will decelerate to an exact stop before another block is processed. In exact stop, moves will take a longer time and continuous cutter motion will not occur. This may cause deeper cutting where the tool stops.

171

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

PROGRAMMABLE OFFSET SETTING (G10)

G10 Set Offsets Group 00 L Selection of length, length wear, diameter, diameter wear, or work coordinates. P Selection of offset number. R Offset value or increment for length and diameter. X Optional X-axis zero location. Y Optional Y-axis zero location. Z Optional Z-axis zero location. A Optional A-axis zero location.

G10 can be used to change the tool length and work offsets from inside of a program. The following codes are used for selection of offsets:

L2 Work coordinate origin for G52 and G54-G59 L10 Length offset amount (for H code) L1 or L11 Tool wear offset amount (for H code) L12 Diameter offset amount (for D code) L13 Diameter wear offset amount (for D code) L20 Auxiliary work coordinate origin for G110-G129

The P code is used to index the appropriate offsets.

P1-P100 Used to reference D or H code offsets, L10-L13 P0 G52 references work coordinate L2 P1-P6 G54-G59 references work coordinates L2 P1-P20 G110-G129 references auxiliary coordinates L20

The R, X, Y, Z, and A codes are signed numbers with fractions in inches (or MM). The R, X, Y, Z, and A values are absolute or incremental, depending on the current G90/G91 modal value.

G10 Examples:

G10 L2 P1 G91 X6.0 {Move coordinate G54 6.0 to the right.}; G10 L20 P2 G90 X10. Y8. {Set work coordinate G111 to X10.0 ,Y8.0}; G10 L10 G90 P5 R2.5 {Set offset for Tool #5 to 2.5.}; G10 L12 G90 P5 R.375 {Set diameter for Tool #5 to 3/8.};

172

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

CIRCULAR POCKET MILLING (G12, G13)

There are two G codes that will provide for pocket milling of a circular shape. They are different only in which direction of rotation is used. Both are only functional in the default XY circular plane selection mode (G17).

G12 Circular Pocket Milling Clockwise Group 00

*D Tool Radius Or Diameter Selection I Radius Of First Circle (Or Finish If No K) K Radius Of Finished Circle (If Specified) L Loop count for repeating deeper cuts Q Radius Increment (Must Be Used With K) F Feed Rate in inches (mm) per minute Z Z depth of cut or increment

*In order to get the exact programmed circle diameter, the control uses the selected D code tool size. If this compensation is not desired, program D0.

This G Code implies the use of G42.

The tool must be positioned at the center of the circle either in a previous block or in this block using X and Y. The cut is performed entirely with circular motions of varying radius. To remove all the material within the circle use an I and Q value less than tool diameter and a K value equal to circle radius. To cut circle radius only use an I value set to circle radius and no K or Q value. G12 belongs to Group zero and thus is non-modal. If G91 (incremental) is specified and an L count is included, the Z increment is repeated Ltimes at the F feed rate.

173

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

G13 Circular Pocket Milling Counterclockwise Group 00

This G Code implies the use of G41 and is otherwise similar to G12. G13 belongs to Group 00 and thus is non-modal.

% O0100 (SAMPLE G12 AND G13) (OFFSET D01 SET TO APPROX. TOOL SIZE) (TOOL 1 IS A 0.5 INCH DIAMETER END MILL) T1 M06 G54 G00 G90 X0. Y0. G43 Z.1 H01 S2000 M03 G42 D01 X-5. Y-5. (SET CUTTER COMP AND MOVE TO CIRCLE CENTER) G12 I.4 K 1.4 Q.4 F10. Z-.25 (REMOVE ALL MATERIAL IN CIRCLE TO 2.8 DIA) G00 Z.1 G12 I1.5 F10. Z-.25 (FINISH CUT CIRCLE O.D. TO 3.00 DIA) G41 D01 X-9. Y-5. (SET CUTTER COMP AND MOVE TO CIRCLE CENTER) G13 I.4 K1.4 Q.4 F10. Z-.25 (REMOVE ALL MATERIAL IN CIRCLE TO 2.8 DIA) G00 Z.1 G13 I1.5 F10. Z-.25 (FINISH CUT CIRCLE O.D. TO 3.0 DIA) G00 Z.1 G28 Y0. G40 M30 %

CIRCULAR PLANE SELECTION (G17, G18, G19)

The plane used for circular motions must be comprised of two of X, Y, or Z. There are three G codes used to select the plane; G17 for XY, G18 for XZ, and G19 for YZ. Each are modal and apply to all following circular motions until another group 02 G code is found.

G17 XY Plane Selection Group 02

The G17 code is used to select the XY plane for circular motion. It is modal and applies to all following circular motions until another Group 02 is found. In this plane, circular motion is defined as clockwise for the operator looking down onto the X-Y table from above. This is the motion of the tool relative to the table.

174

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

G18 ZX Plane Selection Group 02

The G18 code is used to select the ZX plane for circular motion. It is modal and applies to all following circular motions until another Group 02 is found. In the X-Z plane (G18), circular motion is defined as clockwise for the operator looking from the rear of the machine toward the front control panel.

G19 YZ Plane Selection Group 02

The G19 code is used to select the YZ plane for circular motion. It is modal and applies to all following circular motions until another Group 02 is found. In the Y-Z plane (G19), circular motion is defined as clockwise for the operator looking across the table from the side of the machine the control panel is mounted. Plane selection applies also to G12 and G13 circular pocket milling of which must always be in the X-Y plane (G17).

The default plane selection when the machine is powered on is G17 for the X-Y plane. This means that a circular motion in the plane of the X-Y table may be programmed without first selecting G17.

A helical motion is possible with G02 or G03 by programming the linear axis which is not in the selected plane. This third axis will be interpolated along the specified axis in a linear manner while the other two axes will be moved in the circular motion. The speed of each axis will be controlled so that the helical rate matches the programmed feed rate.

If cutter radius compensation is selected (G41 or G42), you may only use the X-Y plane for circular motions (G17). Cutter radius compensation is only available in the X and Y axes.

INCH / METRIC SELECTION (G20, G21)

G20 Select Inches Group 06 G21 Select Metric Group 06

The standard G codes G20 and G21 are sometimes used to select between inch and metric BUT, in this control, the G20 (inch) and G21 (mm) codes can only be used to ensure that the inch/metric setting is set correctly for that program.

Selection between inch and metric programming can only be done from the Setting 9.

175

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

REFERENCE POINT DEFINITION AND RETURN

G28 Return To Reference Point, set optional G29 REFERENCE point Group 00

The G28 code is used to return to the machine zero position on all axes. If an X, Y, Z, or A axis is specified on the same block, only those axes will move and return to the machines' zero point. The movements of machine zero will be through the specified point after applying the relevant work and tool offsets. This point is called the G29 reference point and is saved for use in G29. If no X, Y, Z, or A is specified, all axes will be moved directly to machine zero. Any auxiliary axes (B, C,...) are returned to home after the X, Y, Z, and A axes. After using the current offsets in moving to machine zero, G28 cancels tool legth offsets for following blocks.

Example 1

Work Offset G54 is Z=-2.0 Tool 2 Length is -12.0

Program segment:

G90 G54; G43 H02; G28 Z0.; G00 Z1.

The G28 block will move to machine coordinates Z=-14.0 before moving to Z=0. The following G00 Z1. block will move to machine coordinates Z=-1.

Example 2

Same work and tool offsets as example 1

Program segment: G91 G54; G43 H02; G28 Z0

The G28 block will move directly to machine coordinates Z=0 since incremental coordinates are in effect.

G29 Return From REFERENCE point Group 00

The G29 code is used to move the axes to a commanded X, Y, Z, or A position. The axes that are selected in this block are moved to the G29 reference point saved or recorded in G28 and then moved to X,Y,Z or A specified in the G29 command point. The positions are interpreted in the current coordinate system.

176

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

SKIP FUNCTION (G31)

G31 Feed Until Skip (This G-code is optional and requires a probe) Group 00 F Feed rate in inches (mm) per minute X Optional X-axis motion command Y Optional Y-axis motion command Z Optional Z-axis motion command A Optional A-axis motion command

The skip function is a non-modal operation that causes a linear move to the specified X, Y, Z, and A position. It applies only to the block in which G31 is specified. A feed rate must be defined previously or in this block. The specified move is started and continues until the end point or the skip signal. The skip signal is a discrete input that usually indicates that the end of travel has been reached; this is usually a probe. The keypad will beep when the end of travel is reached. Cutter compensation may not be active during a skip function. M78 or M79 may be used to test if the skip signal was received.

An M75 can be used to mark the probed point as the reference point for G35 or G136.

AUTOMATIC TOOL MEASUREMENT (G35, G37)

G35 Automatic Tool Diameter Measurement (This G-code is optional and requires a probe) Group 00 G37 Automatic Tool Offset Measurement (This G-code is optional and requires a probe) Group 00

F Feed rate in inches (mm) per minute D Tool diameter offset number (G35) H Tool offset number (G37) Z Required Z-axis offset

The automatic tool offset measurement operation (G37) is a non-modal operation that causes a linear move of the Z-axis until the skip signal is received or the end of Z travel limits. A nonzero H code must be active, G43 or G44 must be active, a Z value must be specified, and a feed rate must be defined. No X, Y, or A code is allowed. When the move is terminated, the specified Z and the final Z positions are used to set the specified (Hnnn) tool offset. The active coordinate system is taken into account.

The coordinate system (G54..G59, G110..G129) and tool length offset (H01..H200) may be selected in this block or in a previous block. The end point of the Z move is controlled only by the maximum travel limits defined for the machine.

The resulting tool offset value is such that a subsequent move to the Z value specified in the G37 will move the tool to the position where the skip signal was sensed. The skip signal is a discrete input that usually indicates that the end of travel has been reached; this is sometimes a probe. Cutter compensation may not be active during a skip function. M78 or M79 may be used to test if the skip signal was received. The resulting tool offset is the offset between the work zero and the point where the probe is touched.

The automatic tool diameter measurement function (G35) is used to set the tool diameter (or radius) using two different probe passes; one on each side of the tool. The first point is set with a G31 block using an M75 and the second point is set with the G35 block. The distance between these two points is set into the Dnnn value active. A nonzero D code must be selected. Setting 63 is used to reduce this measurement by the width of the tool probe.

177

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

AUTOMATIC WORK OFFSET MEASUREMENT (G36 , G136)

G36 Automatic Work Offset Center Measurement (This G-code is optional and requires a probe)

Group 00 G136 Automatic Work Offset Center Measurement Group 00

F Feed rate in inches (mm) per minute I Optional offset distance along X-axis J Optional offset distance along Y-axis K Optional offset distance along Z-axis X Optional X-axis motion command Y Optional Y-axis motion command Z Optional Z-axis motion command A Optional A-axis motion command

The automatic work offset measurement operation is a non-modal operation that causes a linear move of the X, Y, Z, and A axes until the skip signal is received or the end of the programmed motion. The X, Y, Z, and A axes are moved to the programmed position in a linear move but will stop early if the skip signal is received. Tool offsets must not be active when this function is performed. M78 or M79 may be used to test if the skip signal was received. The currently active work coordinate system is set for each axis that is programmed. The point where the skip signal is received becomes the work zero position. The work coordinate system may be se- lected in this block or in a previous block.

The points probed are offset by the values in Settings 59 through 62.

A G36 will set the work coordinates to the point where the probe is hit. The G136 will set the work coordinates to a point at the center of a line between the probed point and the point set with M75. This allows the center of a part to be found using two separated probed points.

Note that the X, Y, Z, or A programmed into this block are interpreted in the coordinate system that is about to be set. Thus, the end point of the move will be interpreted in the old work coordinate value. For this reason, it is easier to program these moves as incremental (G91).

If an I, J, or K is specified, the appropriate axis work offset is shifted by the amount in the I, J, or K. This allows the work offset to be shifted some distance away from where the probe actually hits.

CUTTER COMPENSATION (G40, G41, G42)

G40 Cutter Comp Cancel Group 07

G40 will cancel the G41 or G42 cutter compensation. Programming a D00 will also cancel cutter compensa- tion.

G41 2D Cutter Compensation Left Group 07

G41 will select cutter compensation left; that is the tool is moved to the left of the programmed path to com- pensate for the size of the tool. A Dnnn must also be programmed to select the correct tool size from compen- sation memory. If compensation memory contains a negative value for cutter size, cutter compensation will operate as though G42 was specified.

178

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

G42 2D Cutter Compensation Right Group 07

G42 will select cutter compensation right; that is the tool is moved to the right of the programmed path to compensate for the size of the tool. A Dnnn must also be programmed to select the correct tool size from compensation memory. If compensation memory contains a negative value for cutter size, cutter compensation will operate as though G41 was specified.

Refer to the "Cutter Compensation" section for more information.

TOOL LENGTH COMPENSATION (G43, G44, G49)

G43 Tool Length Compensation + (plus) Group 08

This code selects tool length compensation in a positive direction. That is; the tool length offsets are added to the commanded axis positions. A nonzero Hnnn must be programmed to select the correct entry from offsets memory. The automatically entered offsets using the TOOL OFSET MESUR key assume that G43 is being used.

G44 Tool Length Compensation - (minus) Group 08

This code selects tool length compensation in a negative direction. That is; the tool length offsets are sub- tracted from the commanded axis positions. A nonzero Hnnn must be programmed to select the correct entry from offsets memory.

G49 G43/G44 Cancel Group 08

This G code cancels tool length compensation. Putting in an H0 will also cancel tool length compensation. G28, M30, and RESET will also cancel tool length compensation.

ENGRAVING (G47)

Will not work with G code 91. Note: Setting 29 must be off.

G47 Text Engraving Group 00

Will not work with G code 91

E = Plunge rate (units/min) F = Engraving feed rate (units/min) I = Angle of rotation (-360. to +360.), default is 0 J = Scaling factor in inches (minimum = 0.001 inches), default is 1.0 inch P = 1 for Sequential Serial Number Engraving

0 for Literal String Engraving R = Return plane X = X start of engraving Y = Y start of engraving Z = Depth of cut

The text to engrave should be in the form of a comment on the same line as G47, with either a P1 or P0 before it. P1 selects Sequential Serial Number Engraving and P0 selects Literal String Engraving.

179

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

SEQUENTIAL SERIAL NUMBER ENGRAVING

This method is used to engrave numbers on a series of parts, with the number being incremented by one each time. The '#' symbol is used to select the number of digits in the serial number. For example:

G47 P1 (#### )

will limit the serial number to four digits.

The initial serial number can be either programmed or set manually. If it is programmed, for example:

G47 P1 (1234)

will set the initial serial number to "1234".

The initial serial number can also be set manually into a macro variable. The "MACROS" option does not have to be enabled to do this. Macro variables are temporary storage locations for numbers. Macro variable #599 is used to hold the initial serial number to be engraved. To set this variable, go to the CURNT COMDS page and

press the PAGE DOWN key until the "Macro Variables" page appears. Then type in "599" and press the

(DOWN ARROW). Now enter the desired initial serial number at the cursor and press the WRITE key. For example, when macro variable #599 is set to "1234",

G47 P1 (####)

will produce this:

1234

If the number in macro variable #599 has more characters than specified in the format string, only the quantity specified will be printed. For example, if #599 is set to"12345" and only four places are specified in the format string, only "2345" will be engraved.

LITERAL STRING ENGRAVING

This method is used to engrave desired text on a part. The characters available for engraving are: A..Z a..z 0..9, ! " # $ % & ' ( ) * + , - . / : ; < = > ? [ \ ] ^ _ { }

Not all of these characters can be entered at the control. However, programs downloaded through the serial port or the floppy drive can take advantage of characters not available on the mill keypad.

For Literal String Engraving, the text should be in the form of a comment on the same line as the P0 statement. For example:

G47 P0 (ENGRAVE THIS)

will produce

ENGRAVE THIS

Note that P0 is used, instead of P1, for Literal String Engraving.

180

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

EXAMPLE

G47 P0 X2.0 Y2.0 I45. J.5 R.05 Z-.005 F15.0 E10.0 (TEXT TO ENGRAVE)

This example will create the following figure.

In this example: G47 P0 select Literal String Engraving X2.0 Y2.0 select 2.0, 2.0 as the starting point for the text. I45. places the text at a positive 45 degree angle J.5 sets the text height to 0.5 inch R.05 commands the cutter to retract to .05 inches (mm) above the cutting plane after engraving Z-.005 selects a .005 inch (mm) deep cut F15.0 selects an engraving feed rate of 15 units/min E10.0 commands the cutter to plunge at a rate of 10 units/min

COORDINATE ROTATION AND SCALING (G50, G51, G68, G69)

This control function is optional. If you would like further information on installing this feature please call Haas Automation or your dealer for more information.

G50 Cancel Scaling Group 11

G code 50 cancels scaling on all axes. Any axis scaled by a previous G51 command is no longer in effect.

G51 Scaling (This G-code is optional and requires Rotation and Scaling) Group 11 X optional center of scaling for the X axis. Y optional center of scaling for the Y axis. Z optional center of scaling for the Z axis. P optional scaling factor for all axes. Three-place decimal .001 to 8383.000.

G51 [X...] [Y...] [Z...] [P...]

When scaling is invoked, all subsequent X, Y, Z, I, J, K, or R values pertaining to machine motion are multiplied by a scaling factor and are offset relative to a scaling center.

181

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

G51 is modal and modifies appropriate positional values in the blocks following the G51 command. It does not change or modify values in the block from which it is called. Axes X, Y, and Z are all scaled when the P code is used. If the P code is not used, the scaling factor currently in Setting 71 is used. The default scaling factor in Setting 71 is 1.0. A scaling factor of 1.0 means that no scaling is done. That is, all values are multiplied by 1.0 before being interpreted by the control.

A scaling center is always used by the control in determining the scaled position. If any scaling center is not specified in the G51 command block, then the current work coordinate position is used as the scaling center.

The following programs illustrate how scaling is performed when different scaling centers are used. All three examples call subroutine O0001 which follows.

The first example illustrates how the control uses the current work coordinate location as a scaling center. Here, it is X0 Y0 Z0.

182

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

The next example specifies the center of the window as the scaling center.

The last example illustrates how scaling can be placed at the edge of tool paths as if the part was being set against locating pins.

If macros are enabled, G65 arguments are not affected. Tool offsets and cutter compensation values are not affected by scaling.

The stored program is not changed by G51, so that program lines displayed by the control will not reflect actual machine positions. Position displays WILL reflect the proper scaled values.

Scaling does not affect canned cycle Z axis movements such as clearance planes and incremental values. The final results of scaling are rounded to the lowest fractional value of the variable being scaled.

183

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

G68 Rotation (This G-code is optional and requires Rotation and Scaling) Group 16

[ G17 | G18 | G19 ] G68 [a...] [b...] [R...] ;

G17,G18,G19 optional plane of rotation, default is current. a optional center of rotation for the first axis of the selected plane. b optional center of rotation for the second axis of the selected plane. R optional angle of rotation specified in degrees. Three-place decimal -360.000 to 360.000.

In the above example, a and b correspond to the axes of the current rotation plane. If G17 is the current rotation plane, then a is X and b is Y.

When rotation is invoked, all subsequent X, Y, Z, I, J, and K values are rotated through a specified rotation angle R using a center of rotation.

G68 is modal and modifies appropriate positional values in the blocks following the G68 command. Values in the block containing G68 are not rotated. For subsequent blocks, only the values in the plane of rotation are rotated. Thus, if G17 is the current plane of rotation, only X and Y values are affected.

For a positive angle, the rotation is counterclockwise. If the angle of rotation - the R code - is not specified in the G68 command block, then the angle of rotation is taken from Setting 72. The default rotation angle in Setting 72 is 0.0 degrees.

A center of rotation is always used by the control to determine the positional values passed to the control after rotation. If any axis center of rotation is not specified, then the current location of the work coordinate is used as the center of rotation.

In G90 mode (absolute), the rotation angle takes on the value specified in R. When Setting 73 (G68 INCRE- MENTAL R) is set to ON, then the rotational value can be incremented on each call to G68. In G91 mode (Incremental), the rotation angle is incremented by the value in R. Each G68 command block, when in G91 mode, will increment the rotation angle by the value specified in R. Angles are modulo 360, so that when an angle is incremented past 360 degrees, the angle will become an equivalent value between 0 and 360 degrees. The rotational angle is set to zero upon cycle start, or it can be set explicitly by using a G68 block in the G90 mode.

The following examples illustrate rotation using G68.

184

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

The first example illustrates how the control uses the current work coordinate location as a rotation center. Here, it is X0 Y0 Z0.

The next example specifies the center of the window as the rotation center.

This example shows how the G91 mode can be used to rotate patterns about a center. This is often useful for making parts that are symmetric about a regular polygon.

Do not change the plane of rotation while G68 is in effect.

185

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

ROTATION WITH SCALING

If scaling and rotation is used simultaneously, it is recommended that scaling is turned on prior to rotation, and that separate blocks be used. Use the following template when doing this.

G51 ..... (SCALING) ; ... G68 ..... (ROTATION) ; . . program. . G69 ..... (ROTATION OFF) ; ... G50 ..... (SCALING OFF) ;

When rotating after scaling, any center specified as the center of rotation will be scaled. Any angle specified in the G68 block is NOT scaled. The control applies scaling and then rotation to any block with motion com- mands.

The following is an example of a program that has been scaled and rotated.

O0004 ; G59 ; G00 G90 X0 Y0 Z0 ; M98 P1 ; G90 G00 X0 Y0 ; G51 P3.0 ; G68 R60. ; M98 P1 ; G69 G51 G90 G00 X0 Y0 ; M30 ;

ROTATION WITH CUTTER COMPENSATION

Cutter compensation should be turned on after the rotation and scaling commands are issued. Compensation should also be turned off prior to turning rotation or scaling off.

G69 Cancel G68 Rotation (This G-code is optional and requires Rotation and Scaling) Group 16

G code 69 cancels any rotation specified previously.

186

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

WORK COORDINATE SYSTEM SELECTION (G52, G53, G54-59)

NOTE: The G52 command works differently depending on the value of Setting 33. This setting selects the FANUC, HAAS, or YASNAC style of coordinates, which are listed below:

G52 Select Work Coordinate System G52 YASNAC Group 12

This code selects the G52 work coordinate system. The G52 works the same as G54 etc., except that the G52 system will be set by a G92 code as well as from the offsets display.

YASNAC compatible.

G52 Set Local Coordinate System FANUC Group 00

This code sets the origin of the local (child) coordinate system to the command location, relative to the current work system origin. G52 is a non-modal, no motion code. The G52 coordinate system will stay in effect for all work systems until it is canceled. The G52 is canceled when RESET is pressed and at the end of a program. It is also canceled during a program by M30, G52 X0 Y0 Z0, or by a G92 command.

G52 Set Local Coordinate System HAAS Group 00

This code acts the same as in the Fanuc control except that G52 is not cleared at power-up, RESET, or when an M30 is performed.

G53 Non-Modal Machine Coordinate Selection Group 00

This code temporarily cancels work coordinates offset and uses the machine coordinate system. It is non- modal; so the next block will revert to whatever conditions were previously selected.

G54-59 Select Coordinate System #1 - #6 Group 12

These codes select one of the six user coordinate systems stored within the offsets memory. All subsequent references to axes positions will be interpreted in the new coordinate system. Work coordinate system offsets are entered from the Offsets display page.

MORE MISCELLANEOUS G CODES (G60, G61, G64)

G60 Uni-Directional Positioning Group 00

This G code is used to provide positioning always from the plus direction. In older systems it was used to reduce backlash and is not recommended for use with this control. It is provided only for compatibility. It is non- modal so does not effect the following blocks. Setting 35 controls the distance an axis is positioned past the point prior to reversing for an approach in the plus direction.

187

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

G61 Exact Stop Modal Group 13

The G61 code is used to specify exact stop. It is modal and thus affects the following blocks. Rapid and interpolated moves will decelerate to an exact stop before another block is processed. In exact stop, moves will take a longer time and continuous cutter motion will not occur.

This may cause deeper cutting where the tool stops.

G64 G61 Cancel (Select Normal Cutting Mode) Group 13

The G64 code is used to cancel exact stop. It is modal and thus affects the following blocks. Rapid and interpolated moves will not decelerate to an exact stop before another block is processed. Rapid blocks will decelerate to within the distance specified in Parameters 101-104 before another block is processed and interpolated motion will not decelerate at all before the next block is processed.

BOLT HOLE PATTERNS (G70, G71, G72)

There are three G codes that provide patterns usually used for bolt holes. These are G70, G71, and G72. They are normally used with one of the Group 09 canned cycles.

G70 Bolt Hole Circle Group 00

I Radius (Minus Reverses Direction) J Starting angle (0 to 360.0 degrees CCW from horizontal) L Number of holes evenly spaced around the circle

This G code must be used with one of the canned cycles G73, G74, G76, G77, Or G81-G89. The tool must be positioned at the center of the circle either in a previous block or in the G70 block. G70 belongs to Group zero and thus is non-modal. For a G70 to work correctly, a canned cycle should be active so that at each of the positions, some type of drill or tap cycle is performed.

G71 Bolt Hole Arc Group 00

I Radius J Starting angle (Degrees CCW from horizontal) K Angular spacing of holes (+ or -) L Number of holes

This G code is similar to G70 except that it is not limited at one complete circle. G71 belongs to Group zero and thus is non-modal. For a G71 to work correctly, a canned cycle should be active so that at each of the positions, some type of drill or tap cycle is performed.

G72 Bolt Holes Along An Angle Group 00

I Distance between holes (Minus will reverse direction) J Angle of line (Degrees CCW from horizontal) L Number of holes

This G code drills L holes in a straight line at the specified angle. It operates similarly to G70 and G71. G72 belongs to Group zero and thus is non-modal. For a G72 to work correctly, a canned cycle should be active so that at each of the positions, some type of drill or tap cycle is performed.

188

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

189

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

CANNED CYCLES (G73, G74, G76, G81, G82, G83, G84, G85, G86, G87, G88, G89)

A canned cycle is used to simplify programming of a part. Canned cycles are defined for most common Z-axis repetitive operation such as drilling, tapping, and boring. Once selected a canned cycle is active until canceled with G80. When active, the canned cycle is executed every time an X or Y-axis motion is programmed. Those X-Y motions are executed as rapid commands (G00) and the canned cycle operation is performed after the X-Y motion. There are six operations involved in every canned cycle:

1. positioning of X and Y axes (and optional A), 2. rapid traverse to R plane, 3. drilling, 4. operation at bottom of hole, 5. retraction to R plane, 6. rapid traverse up to initial point.

A canned cycle is presently limited to operations in the Z-axis. That is, only the G17 plane is allowed. This means that the canned cycle will be executed in the Z-axis whenever a new position is selected in the X or Y axes.

The following is a summary of the canned cycles defined for the VB Series Mill:

G Code Z Drilling direction

Operation at bottom of hole

Retraction Z Direction

Application

intermittent feed

intermittent feed

feed

dwell

spindle CW

orient spindle

dwell

rapid high speed peck drilling

left hand tapping

fine boring

spot drilling

counter boring

peck drilling

tapping cycle

boring cycle

boring cycle

boring cycle

boring cycle

back boring

rapid

rapid

rapid

rapid

feed

feed

feed

feed

rapid

manual / rapid

manual / rapid

dwell

spindle stop

spindle stop

dwell, then spindle stop

spindle CCW

none

dwell

none

feed

feed

feed

feed

feed

feed

feed

feed then stop

feed

G73

G74

G76

G81

G82

G83

G84

G85

G86

G87

G88

G89

Spindle at Start

CCW

CW

CW

CW

CW

CW

___

___

___

___

___

___

G77 CW feed spindle stop

orient spindle rapid back boring

G98 and G99 are modal commands that change the way the canned cycles operate. When G98 is active, the Z-axis will be returned to the same position as at the start of the canned cycle when it completes. When G99 is active, the Z-axis will be returned to the R point when the canned cycle completes.

190

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

Spindle control M codes should not be used while a canned cycle is active.

If a canned cycle is defined in a block without an X or Y motion, there are two common actions taken by other controls; some will execute the canned cycle at that time and some will not. With the VF Series Mill, these two options are selectable from Setting 28. In addition to this, if a canned cycle is defined without an X or Y and a loop count of 0 (L0), the cycle will not be performed initially. The operation of a canned cycle will vary according to whether incremental (G91) or absolute (G90) is active.

Incremental motion in a canned cycle is often useful as a loop (L) count can be used to repeat the operation with an incremental X or Y move between each cycle.

Cutting Feed Rapid Traverse Begin or end of stroke

Starting Plane

X

Z

Y

X

Z

Y

Starting Plane

R Plane

Z Plane

R Plane

Z Plane

G98 Z-Axis Returned to Starting Plane G99 Z-Axis Returned to R Plane

The positioning of the X-Y axis prior to a canned cycle is normally a rapid move and that move does not exact stop prior to plunging the Z-axis to the R depth. This may cause a crash with a close tolerance fixture. Setting 57 can be used to select exact stop of these X-Y moves.

191

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

Z = 0

R R

Z

Z

R Plane R Plane

Z Plane Z Plane

X

Z

Y

X

Z

Y

G90 Canned Cycle (Absolute) G91 Canned Cycle (Incremental)

Cutting Feed Rapid Traverse Begin or end of stroke

The G80 code is used to cancel a canned cycle. In addition to this, a G00 or G01 code will also cancel any active canned cycle. Once a canned cycle is defined, that operation is performed at every X-Y position in subsequently listed blocks. Some of the canned cycle numerical values can also be changed after the canned cycle is defined. The most important of these are the R plane value and the Z depth value.

If these are listed in a block with an X-Y, the X-Y move is done and all subsequent canned cycles are performed with the new R or Z value.

Changes to the G98/G99 selection can also be made after the canned cycle is active. If changed, the new G98/G99 value will change all subsequent canned cycles.

192

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

G73 High Speed Peck Drilling Canned Cycle Group 09 F Feed Rate in inches (mm) per minute I Optional size of first cutting depth J Optional amount to reduce cutting depth each pass K Optional minimum depth of cut/number of pecks between retract L Number of repeats P Optional pause at end of last peck, in seconds Q The cut-in value, always incremental R Position of the R plane X Optional X-axis motion command Y Optional Y-axis motion command Z Position of bottom of hole

R Plane

SETTING #22

SETTING #22

I1 = I

Q

Q

Q

I2 1= I - J

I3 2= I - J

I4 = K

Z Plane

Z Plane

Q

Q

Q

G73 Peck Drilling with I, J & K options G73 Peck Drilling with K & Q options

R Plane

This G code is modal in that once activated, every motion of X or Y will cause this canned cycle to be ex- ecuted until it is cancelled or another canned cycle is selected. This cycle is a high speed peck cycle where the retract distance is set by Setting 22.

If I, J, and K are specified, a different operating mode is selected. The first pass will cut in by I, each succeed- ing cut will be reduced by amount J, and the minimum cutting depth is K. If P is specified, the tool will pause at the bottom of the hole after the last peck for that amount of time.

The same dwell time applies to all subsequent blocks that do not specify a dwell time. When the canned cycle is cancelled (i.e. G00, G01, G80, RESET) the dwell time will be reset to zero. This dwell cannot be used in the same block as an M97, M98, M99, or G65, because these codes use P for different purposes.

193

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

If K and Q are both specified, a different operating mode is selected for this canned cycle. In this mode, the tool is returned to the R plane after a number of passes totals up to the K amount. This allows much faster drilling than G83 but still returns to the R plane occasionally to clear chips.

I, J, K, and Q are always positive numbers.

R Plane

R Plane

Starting Plane

Starting Plane

SETTING #22 SETTING #22

SETTING #22 SETTING #22

Q Q

Q Q

Q Q

Z Plane Z Plane

G73 Peck Drilling Canned Cycle Cutting Feed Rapid Traverse Begin or end of stroke

SETTING #52

Setting 52 also changes the way G73 works when it returns to the R plane. Most programmers set the R plane well above the cut to ensure that the chip clear motion actually allows the chips to get out of the hole but this causes a wasted motion when first drilling through this empty space. If Setting 52 is set to the distance required to clear chips, the R plane can be put much closer to the part being drilled. When the clear move to R occurs, the Z will be moved above R by this setting.

194

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

G74 Reverse Tap Canned Cycle Group 09 F Feed Rate in inches (mm) per minute L Number of repeats R Position of the R plane X Optional X-axis motion command Y Optional Y-axis motion command Z Position of bottom of tap

This G code is modal in that once activated, every motion of X or Y will cause this canned cycle to be ex- ecuted until it is canceled or another canned cycle is selected. Note that operation of this cycle is different if the rigid tapping option is installed and selected (See Section 7.2). When rigid tapping is used, the ratio between the feed rate and spindle speed must be precisely the thread pitch being cut.

You do not need to start the spindle CCW before this canned cycle. The control does this automatically.

X

Z

Y

X

Z

Y

G98 Initial Starting Plane

Initial Starting Plane

G99 Rapid Plane

R Plane R Plane

Z Plane Z Plane

G74 Tapping Canned Cycle Z Axis position between holes Cutting Feed Rapid Traverse Begin or end of stroke Spindle CW Spindle CCW

G98 / G99

195

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

G76 Fine Boring Canned Cycle Group 09 F Feed Rate in inches (mm) per minute I Optional shift value, if Q is not specified J Optional shift value, if Q is not specified L Number of repeats P The dwell time at the bottom of the hole Q The shift value, always incremental R Position of the R plane X Optional X-axis motion command Y Optional Y-axis motion command Z Position of bottom of hole

This G code is modal in that once activated, every motion of X and/or Y will cause this canned cycle to be executed, until it is canceled or another canned cycle is selected. This cycle will shift the X and/or Y-axis prior to retracting in order to clear the tool while exiting the part. This shift direction is set by Setting 27.

The Q value shift direction is set by setting 27. If Q is not specified, the optional I and J values are used to determine the shift direction and distance.

196

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

G77 Back Bore Canned Cycle Group 09 F Feed Rate in inches (mm) per minute I Optional shift value, if Q is not specified J Optional shift value, if Q is not specified L Number of repeats Q The shift value, always incremental R Position of the R plane X Optional X-axis motion command Y Optional Y-axis motion command Z Position of bottom of hole

This G code is modal in that once activated, every motion of X or Y will cause this canned cycle to be ex- ecuted, until it is canceled or another canned cycle is selected. This cycle will shift the X and/or Y axis prior to and after cutting in order to clear the tool while entering and exiting the part. If Setting 57 is on, the tool will perform an exact stop between rapids. This will prevent breaking a tool, or any nicking at the bottom of the hole. The Q value shift direction is set by Setting 27. If Q is not specified, the optional I and J values are used to determine the shift direction and distance.

197

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

G80 Canned Cycle Cancel Group 09

This G code is modal in that it deactivates all canned cycles until a new one is selected. Note that use of G00 or G01 will also cancel a canned cycle.

G81 Drill Canned Cycle Group 09 F Feed Rate in inches (mm) per minute L Number of repeats R Position of the R plane X Optional X-axis motion command Y Optional Y-axis motion command Z Position of bottom of hole

This G code is modal in that once activated, every motion of X or Y will cause this canned cycle to be ex- ecuted, until it is canceled or another canned cycle is selected.

198

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

G82 Spot Drill Canned Cycle Group 09 F Feed Rate in inches (mm) per minute L Number of repeats P The dwell time at the bottom of the hole R Position of the R plane X Optional X-axis motion command Y Optional Y-axis motion command Z Position of bottom of hole

This G code is modal in that once activated, every motion of X or Y will cause this canned cycle to be ex- ecuted, until it is canceled or another canned cycle is selected.

199

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

G83 Normal Peck Drilling Canned Cycle Group 09 F Feed Rate in inches (mm) per minute I Optional size of first cutting depth J Optional amount to reduce cutting depth each pass K Optional minimum depth of cut L Number of repeats P Optional pause at end of last peck, in seconds Q The cut-in value, always incremental R Position of the R plane X Optional X-axis motion command Y Optional Y-axis motion command Z Position of bottom of hole

This G code is modal in that once activated, every motion of X or Y will cause this canned cycle to be ex- ecuted, until it is canceled or another canned cycle is selected.

If I, J, and K are specified, a different operating mode is selected. The first pass will cut in by I, each succeed- ing cut will be reduced by amount J, and the minimum cutting depth is K.

If P is specified, the tool will pause at the bottom of the hole after the last peck for that amount of time. The following example will peck several times and dwell for one and a half seconds at the end:

G83 Z-0.62 F15. R0.1 Q0.175 P1.5.

The same dwell time applies to all subsequent blocks that do not specify a dwell time. When the canned cycle is cancelled (i.e. G00, G01, G80, RESET) the dwell time will be reset to zero. This dwell cannot be used in the same block as an M97, M98, M99, or G65, because these codes use P for different purposes.

200

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

Setting 52 also changes the way G83 works when it returns to the R plane. Most programmers set the R plane well above the cut to insure that the chip clear motion actually allows the chips to get out of the hole but this causes a wasted motion when first drilling through this empty space. If Setting 52 is set to the distance required to clear chips, the R plane can be put much closer to the part being drilled. When the clear move to R occurs, the Z will be moved above R by this setting.

201

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

G84 Tapping Canned Cycle Group 09 F Feed Rate in inches (mm) per minute L Number of repeats R Position of the R plane X Optional X-axis motion command Y Optional Y-axis motion command Z Position of bottom of tap

This G code is modal in that once activated, every motion of X or Y will cause this canned cycle to be ex- ecuted, until it is canceled or another canned cycle is selected. Note that operation of this cycle is different if the rigid tapping option is installed and selected (see Rigid Tapping in the Functions section of this manual). When rigid tapping is used, the ratio between the feed rate and spindle speed must be precisely the thread pitch being cut.

You do not need to start the spindle CW before this canned cycle. The control does this automatically.

202

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

G85 Boring Canned Cycle Group 09 F Feed Rate in inches (mm) per minute L Number of repeats R Position of the R plane X Optional X-axis motion command Y Optional Y-axis motion command Z Position of bottom of hole

This G code is modal in that once activated, every motion of X or Y will cause this canned cycle to be ex- ecuted, until it is canceled or another canned cycle is selected.

203

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

G86 Bore and Stop Canned Cycle Group 09 F Feed Rate in inches (mm) per minute L Number of repeats R Position of the R plane X Optional X-axis motion command Y Optional Y-axis motion command Z Position of bottom of hole

X

Z

Y

X

Z

Y

G98 InitialStarting Plane

Initial Starting Plane

G99 Rapid Plane

R Plane R Plane

Z Plane Z Plane

l

G86 Bore and Stop Canned Cycle Cutting Feed Rapid Traverse Begin or end of stroke Spindle CW Spindle Stop

This G code is modal in that once activated, every motion of X or Y will cause this canned cycle to be ex- ecuted, until it is canceled or another canned cycle is selected.

204

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

G87 Bore and Stop and Manual Retract Canned Cycle Group 09 F Feed Rate in inches (mm) per minute L Number of repeats R Position of the R plane X Optional X-axis motion command Y Optional Y-axis motion command Z Position of bottom of hole

This G code is modal in that once activated, every motion of X or Y will cause this canned cycle to be ex- ecuted, until it is canceled or another canned cycle is selected. After manual jog press cycle start to resume program.

205

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

G88 Bore and Dwell and Manual Retract Canned Cycle Group 09 F Feed Rate in inches (mm) per minute L Number of repeats P The dwell time at the bottom of the hole R Position of the R plane X Optional X-axis motion command Y Optional Y-axis motion command Z Position of bottom of hole

This G code is modal in that it activates the canned cycle until it is canceled or another canned cycle is selected. Once activated, every motion of X or Y will cause this canned cycle to be executed.

206

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

G89 Bore and Dwell Canned Cycle Group 09 F Feed Rate in inches (mm) per minute L Number of repeats P The dwell time at the bottom of the hole R Position of the R plane X Optional X-axis motion command Y Optional Y-axis motion command Z Position of bottom of hole

This G code is modal in that it activates the canned cycle until it is canceled or another canned cycle is selected. Once activated, every motion of X or Y will cause this canned cycle to be executed.

ABSOLUTE / INCREMENTAL SELECTION (G90, G91)

G90 Absolute Position Commands Group 03

This code is modal and changes the way axis motion commands are interpreted. G90 makes all subsequent commands absolute positions within the selected user coordinate system. Each axis which is moved will be placed at the position coded in the command block.

G91 Incremental Position Commands Group 03

This code is modal and changes the way axis motion commands are interpreted. G91 makes all subsequent commands incremental. Each axis which is moved will be moved by the amount coded in the command block. This code is not compatible with G143 (5 AX Tool Length Compensation).

207

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

MORE WORK COORDINATE SELECTION (G92)

This command works differently depending on the value of Setting 33. That setting selects FANUC, HAAS, or YASNAC style of coordinates. This command does not move any of the axis; it only changes the values stored as user work offsets.

G92 Set Work Coordinate Systems Shift Value - FANUC OR HAAS Group 00

A G92 command effectively shifts all work coordinate systems (G54-59, G110-129) so that the command position becomes the current position in the active work system. G92 is a non-modal, non-motion code.

A G92 command cancels any G52 in effect for the command axes. Example: G92 X1.4 cancels the G52 for the X-axis. The other axes are not affected.

The G92 shift value is displayed at the bottom of the work offsets page and may be cleared there if necessary. It is also cleared automatically after power up when the POWER UP/RESTART key is pressed, and any time ZERO RET is used to AUTO ALL AXES or ZERO SINGLE AXIS.

G92 Set Work Coordinate Systems Shift Value - YASNAC Group 00

A G92 command sets the G52 work coordinate system so that the command position becomes the current position in the active work system. The G52 work system then automatically becomes active until another work system is selected. G92 is a non-modal, non-motion code.

INVERSE TIME (G93, G94)

G93 Inverse Time Feed Mode Group 05

This G code specifies that all F (feedrate) values are to be interpreted as strokes per minute. This is equiva- lent to saying that the F code value, when DIVIDED INTO 60, is the number of seconds that the motion should take to complete.

G93 activates Inverse Time Feed Mode and a G94 deactivates it.

Any interpolated motion that involves only the auxiliary axes is NOT affected by G93 - the F code specified will still be interpreted as Feed per Minute.

When G93 is active, the Feed Rate specification is MANDATORY for all interpolated motion blocks. i.e.: Each non-rapid motion block MUST have its own Feed Rate specification. If it doesnt, a NO FEED RATE alarm is generated. Mixing auxiliary axes with regular axes in a G01/02/03 motion in G93 mode will generate the alarm:

AUX AXIS IN G93 BLOCK

* All Group 9 motion commands, as well as any G12, G13, G70, G71, G72, or G150 command, will generate a syntax alarm when in G93 mode.

208

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

* Pressing RESET will reset the machine to G94 (Feed per Minute) mode.

* The diameter settings (4th & 5th axis) are meaningless in inverse time.

* Alarm 309, "EXCEEDED MAX FEEDRATE", will not be generated by G93, because the machine will auto- matically be limited by the slowest axis.

G94 Feed Per Minute Mode Group 05

This code deactivates G93 (Inverse Time Feed Mode) and returns the control to Feed Per Minute Mode. Pressing RESET returns the machine to G94 mode.

CANNED CYCLE AUXILIARY FUNCTIONS (G98, G99)

G98 Canned Cycle initial Point Return Group 10

This G code is modal and changes the way canned cycles operate. With G98, the canned cycle will return to the initial starting point of the canned cycle when it completes.

G99 Canned Cycle R Plane Return Group 10

This G code is modal and changes the way canned cycles operate. With G99, the canned cycle will return to the R plane when the canned cycle completes.

PROGRAMMABLE MIRROR IMAGE (G100, G101)

G100 Cancel Mirror Image Group 00 G101 Enable Mirror Image Group 00

X Optional X-axis command Y Optional Y-axis command Z Optional Z-axis command A Optional A-axis command

At least one of these is required

Programmable mirror image can be turned on or off individually for any of the four axes. The two G codes (G100 and G101) are non-modal but the mirror image status of each axis is modal. The bottom of the CRT will indicate when an axis is mirrored. These G codes should be used in a command block without any other G codes and they do not cause any axis motion. G101 will turn on mirror image for any axis listed in that block. G100 will turn off mirror image for any axis listed in the block. The actual value given for the X, Y, Z, or A code has no effect. G100 or G101 by itself will have no effect.

209

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

When using Cutter Compensation with Mirror Imaging, follow this guideline: After turning Mirror Imaging ON or OFF with a G100 or G101, the next motion block should be to a different work coordinate position than the first one. The following code is an example:

Incorrect: Correct:

G41 X1.0 Y1.0 G41 X1.0 Y1.0 G01 X2.0 Y2.0 G01 X2.0 Y2.0 G101 X0 G101 X0 G00 Z1.0 G00 Z1.0 G00 X2.0 Y2.0 G00 X1.0

G00 X2.0 Y2.0 G40 G40

The mirror function can change the direction of motion along any of the axes. If any one of these are selected, the display will show the status. Mirror image will reflect programmed motion around your work coordinate zero point. Be careful that mirror of only one of X or Y will cause the cutter to move along the opposite side of a cut. In addition, if mirror is selected for only one axis of a circular motion plane, circular motion G02 and G03 are reversed and left side and right side cutter compensation G41 and G42 are reversed. Settings 45 through 48 are used to select mirror image.

PROGRAMMABLE OUTPUT TO RS-232 (G102)

G102 Programmable Output to RS-232 Group 00 X Optional X-axis command Y Optional Y-axis command Z Optional Z-axis command A Optional A-axis command

Programmable output to the RS-232 port allows the current work coordinates of the four axes to be output. This G code (G102) is non-modal so only effects the block in which it is programmed. This G code should be used in a command block without any other G codes and it will not cause any axis motion. The actual value given for the X, Y, Z, or A code has no effect. One complete line of text is sent to the first RS-232 port (same one used for upload, download, and DNC). Each axis listed in the G102 command block is output to the RS-232 port in the same format as values are displayed in a program.

Optional spaces (Setting 41) and EOB control (Setting 25) are applied. The values sent out are always the current axes positions referenced to the current work coordinate system.

Digitizing of a part is possible using this G code and a program which steps over a part in X-Y and probes downward in Z with a G31. When the probe hits, the next block could be a G102 to send the X, Y, Z position out to a computer which could store the coordinates as a digitized part.

210

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

LIMIT BLOCK BUFFERING FUNCTION (G103)

G103 Limit Block Bufering Group 00 P = 0-15 Max. number of blocks the control will look ahead

G103 [P..]

Block Lookahead is a term used to describe what the control is doing in the background during machine motion. A motion block may take several seconds to execute. The control can take advantage of this by preparing additional blocks of the program ahead of time. Time is saved while the current block is executing and the next block has already been interpreted and prepared by the continuous, uninterrupted motion be- tween consecutive blocks. Block lookahead is also important for obtaining information necessary for predicting compensated positions for cutter compensation.

When G103 P0 is programmed, block limiting is disabled. Block limiting is also disabled if G103 appears in a block without a P address code.

When G103 Pn is programmed, lookahead is limited to n blocks.

At this time G103 cannot be used if cutter compensation, G41 or G42, is in effect. Alarm 387 is generated if you attempt to do so.

G103 is also useful for debugging programs using macros. Macro expressions are executed at lookahead time. By inserting a G103 P1 into the program, macro expressions will be performed one block ahead of the current executing block.

G103 is not a FANUC compatible command.

CYLINDRICAL MAPPING (G107)

G107 Cylindrical Mapping Group 00 X Optional X-axis command A Optional A-axis command Y Optional Y-axis command Q Optional diameter of cylindrical surface Z Optional Z-axis command R Optional radius of rotary axis

This G-code translates all programmed motion occurring in a specified linear axis into the equivalent motion along the surface of a cylinder (attached to a rotary axis). It is a Group 0 G-Code, but its default operation is subject to Setting 56 (M30 RESTORE DEFAULT G). G107 is used to either activate or deactivate cylindrical mapping.

* Any linear axis can be cylindrically mapped to any rotary axis (Only one at a time).

* Existing linear-axis G-Code programs can be cylindrically mapped without modification; all that is required is the prior execution of a single G107 command, which is either placed at the beginning of the G-Code program itself or, if Setting 56 is set to OFF, can even be specified in a previous G-Code program, provided a RESET has not been issued in the interim.

211

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

* The radius (or diameter) of the cylindrical surface can be redefined in a G-Code program, allowing cylindrical mapping to occur along surfaces of different diameters without the operator having to change the program.

* The radius (or diameter) of the cylindrical surface can either be synchronized with, or be independent of, the rotary axis diameter(s) specified in the settings page.

* G107 can also be used to set the default diameter of a cylindrical surface, independently of any cylindrical mapping that may be in effect.

G107 DESCRIPTION

1. Three optional parameters (Address codes) can accompany G107:

X, Y, or Z - Either an X, Y, or Z address parameter can be specified. Its presence denotes that cylindrical mapping is to be initiated, and specifies the linear axis that will be mapped to the specified rotary axis (A or B). Any associated address value for this parameter will be ignored.

If one of these linear axes are specified, a rotary axis must also be specified, or an alarm will be generated.

A or B - Either an A or a B address parameter can be specified, and must be specified if any of the other parameters are specified. It serves to identify which rotary axis is being used to house the cylindrical surface; any associated address value for this parameter will be ignored.

Q - Diameter of the cylindrical surface. If this parameter is specified, a rotary axis must also be specified, or an alarm will be generated at run time. If neither this parameter or the R parameter are specified, then the diam- eter assumed for the cylindrical surface will be whatever was last specified for this rotary axis in a previously issued G107 since the machine was powered up.

If no G107 was issued since the machine was powered up, or if the last value specified was zero, then the diameter will be whatever is currently defined in the CNC Settings for this rotary axis ( 4th Axis Diameter, etc.)

The value specified for this parameter will become the new G107 default for the specified rotary axis until the machine is turned off.

If this parameter was not specified in a previous G107 since the machine was powered up, or if its last speci- fied value was zero, or if its last specified value was numerically equal to that defined for the rotary axis in the CNC Settings page, then any change made to the rotary axis diameter in the CNC Settings page will also change the default value for this parameter. In such a situation, the default G107 diameter is said to be in sync with the CNC Settings.

If the last non-zero G107 diameter value specified since the machine was powered up was not numerically equal to the Settings page value however, then the G107 diameter is said to be out of sync with the Settings page, and the default value thus established will be retained regardless of any changes made to the Settings page, until or unless they become equal in value.

212

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

This means that the rotary axis diameter as specified in the CNC Settings page is always used as the default cylindrical surface diameter, unless a previously issued G107 has established a different value. This allows the default cylindrical surface diameter to either be synchronized with, or operate independently from, the rotary axis diameter defined in the CNC Settings.

To force the default cylindrical surface diameter to be in sync with the Settings page Rotary Axis Diameter, which may be desirable if the current default cylindrical surface diameter status is unknown, the following G107 command can be used:

G107 A0 Q0

This command will reset the A-axis default cylindrical surface diameter to zero, which forces the Settings page value to be used as the default for that axis.

R - This parameter specifies the radius of the rotary axis. If Q has already been specified, the R will be ignored. Except as noted above, the conditions and/or restrictions associated with the use of this parameter are exactly the same as the Q parameter.

2. The above parameters can be entered in any order.

3. Pressing the RESET key will always turn off any Cylindrical Mapping that is currently in effect, regardless of the status of Setting 56. Cylindrical Mapping will also be turned off automatically whenever the G-Code program ends, but only if Setting 56 is set to ON. If Setting 56 is set to OFF, any Cylindrical Mapping that is in effect when the program ends will remain in effect.

4. A G107 code issued without any parameters will turn off any cylindrical mapping currently in effect. This should normally be done before a program ends. If Setting 56 is set to OFF however, it may be desirable not to turn Cylindrical Mapping off, so that the mapping established can be used by other programs.

5. Re-issuing a G107 with either the same or a different linear axis specification will turn off any cylindrical mapping that is currently in effect, before the new mapping is initiated.

6. Issuing a G107 code with only a rotary axis specification and either a Q or an R will only change the default diameter for the specified rotary axis; it will not turn on or off any cylindrical mapping.

NOTE: Due to the fact that a rotary axiss maximum acceleration (as parameterized in steps/seconds/second in the parameters page) is different from a linear axiss maximum acceleration, there is a maximum achievable Feed Rate that can be programmed for a Circular Interpolated Move, when one of the Circular axes has been Cylindrically Mapped. Refer to the next section for a description of FEED RATE ALTERATION.

FEED RATE ALTERATION TO ENSURE CONCURRENT AXIS MOTION

The actual FeedRate achieved in any interpolated motion in the CNC Mill is limited by the maximum speed achievable in each axis of motion. The FeedRate may be lowered from its programmed value if that value would cause the Mill to command an axis to move faster than its parameterized maximum speed.

213

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

This means that the actual FeedRate achieved may be less than or equal to the programmed FeedRate, ensuring that all axes of interpolated motion move concurrently. When this condition occurs, the warning LIM will be displayed on the screen immediately to the left of the FEED display.

Note also that the MAX FEED RATE EXCEEDED alarm will still be issued if the programmed feed rate exceeds parameter 59 MAX FEEDRATE, (currently 300 ipm), but ONLY if the mill is not in Inverse Time mode.

SAMPLE PART PROGRAM % O0079 (G107 TEST) G00 G40 G49 G80 G90 G28 G91 A0 G90 G00 G54 X1.75 Y0 S5000 M03 G107 A0 Y0 R2. (IF NO R OR Q VALUE, MACHINE WILL USE VALUE IN SETTING 34) G43 H01 Z0.25 G01 Z-0.25 F25. G41 D01 X2. Y0.5 G03 X1.5 Y1. R0.5 G01 X-1.5 G03 X-2. Y0.5 R0.5 G01 Y-0.5 G03 X-1.5 Y-1. R0.5 G01 X1.5 G03 X2. Y-0.5 R0.5 G01 Y0. G40 X1.75 G00 Z0.25 M09 M05 G91 G28 Z0. G28 Y0. G90 G107 M30 %

214

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

MORE WORK COORDINATE SELECTION (G110-G129)

G110-G129 Coordinate system #7-26 Group 12

These codes select one of the additional 20 user coordinate systems stored within the offsets memory. All subsequent references to axes positions will be interpreted in the new coordinate system. Operation of G110 to G129 are the same as G54 to G59.

COMPENSATION (G141, G143)

G141 3D+ CUTTER COMPENSATION Group 07

This feature performs 3d+ cutter diameter compensation. The form is: G141 Xnnn Ynnn Znnn Dnnn Innn Jnnn Knnn

Subsequent lines can be of the form: G01 Fnnn Xnnn Ynnn Znnn Innn Jnnn Knnn

or: G00 Xnnn Ynnn Znnn Innn Jnnn Knnn

The 3d+ G141 cutter compensation is not just for 5 axes work. Any CAD system can output the I, J, K values to shift the tool by the amount in the offsets memory of the control, even if the motions are only in 2 or 3 axes. In the Haas version, only G00 and G01 will get G141 cutter compensation. No other functions or canned cycles will get the offset. G91 incremental motion also cannot be used. The G141 is used to indicate without any doubt, what type of compensation is being requested. G40 will cancel 3d+ cutter compensation. The Dnn code selects which radius of diameter offset to use. G141 is modal with G40, G41, and G42. Inverse time is usually used with this type of motion but is not required. The I, J, and K values point in the direction that the cutter compensation is to be applied. When G141 is active, commanded motion of X, Y, or Z will have a vector component of the tool diameter added to the motion according to the direction vector defined by I, J, and K. For example:

T1 M06 G00 G90 G54 X0 Y0 Z0 A0 B0 G141 D01 X0.Y0. Z0. (RAPID POSIT WITH 3 AX C COMP) G01 G93 X.01 Y.01 Z.01 I.1 J.2 K.9747 F300. (FEED INV TIME) X.02 Y.03 Z.04 I.15 J.25 K.9566 F300. X.02 Y.055 Z.064 I.2 J.3 K.9327 F300 . . . X2.345 Y.1234 Z-1.234 I.25 J.35 K.9028 F200. (LAST MOTION) G94 F50. (CANCEL G93) G0 G90 G40 Z0 (RAPID TO ZERO, CANCEL 3 AXIS C COMP) X0 Y0 M30

NOTE: G141 is a group 7 G code, G40 cancels G141, G91 is not compatible with G141, G141 uses a D code.

215

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

G143 5 Axes Tool Length Compensation + Group 08

This allows the user to correct for variations in the length of cutting tools without the need to revert to CAD/ CAM or post- processing steps. 5 axes length compensation applies only to machines where all rotary motion is movement of the cutting tool. It does not apply to machines where any of the rotary axes involve motion of the part or fixture. An H code is required to select the tool length from the existing length compensation tables. Selecting G49 or H00 will cancel 5 axes compensation. If only normal (Z axes) cutter length compensation is desired, simply program G43 or G44. For G143 to work correctly, there must be two rotary axis, A and B. G90 must be active for absolute positioning mode and G91 must not be used. Work position 0,0 for the A and B axes must be such that the tool is parallel with Z axes motion.

G143 tool length compensation works only with rapid (G00) and feed (G01) motions. No other feed functions (G02 or G03) or canned cycles (drilling, tapping, etc.) can be used. When G143 is active, a commanded motion of X,Y, or Z will have a vector component of the tool length added to the motion according to the work coordinates of the A and B axes. For a positive length of the tool, this will move Z upward or in the + direction. If one of X,Y, or Z is not programmed, there will be no motion of that axes, even if the motion of A or B causes a new vector for the tool length. Thus a typical program would use all 5 axes on one block of data.

Feed rate in G143 is complicated by the vector offset added to XYZ. Thus inverse feed (G93) is strongly recommended. If the inverse feed rate was correct before applying G143, it will still be correct with any length of compensation unless the maximum speed of an axes is exceeded. An example follows:

T1 M06 G00 G90 G54 X0 Y0 Z0 A0 B0 G143 H01 X0. Y0. Z0. A-20. B-20. (RAPID POSIT W. 5AX COMP) G01 G93 X.01 Y.01 Z.01 A-19.9 B-19.9 F300. (FEED INV TIME) X0.02 Y0.03 Z0.04 A-19.7 B-19.7 F300. X0.02 Y0.055 Z0.064 A-19.5 B-19.6 F300 X2.345 Y.1234 Z-1.234 A-4.127 B-12.32 F200. (LAST MOTION) G94 F50. (CANCEL G93) G0 G90 G49 Z0 (RAPID TO ZERO, CANCEL 5 AXS COMP) X0 Y0 M30

5 Axes Tool Length Compensation is canceled by G49.

216

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

GENERAL PURPOSE POCKET MILLING FUNCTION (G150)

G150 General Purpose Pocket Milling Group 00 D Cutter size selection F Feed rate I X-axis cut increment J Y-axis cut increment K Finishing cut allowance L Optional repetition count P Subroutine number defining outside of shape Q Incremental Z-axis cut depth per pass, positive values only (> 0) R R plane position S Optional spindle speed X X position of starting hole Y Y position of starting hole Z Final depth of the pocket

This G code provides for general purpose pocket milling. The shape of the pocket to be cut must be defined by a series of motions within a subroutine. A series of motions in either the X or Y-axis will be used to cut out the specified shape followed by a finishing pass to clean up the outer edge. One of either I or J must be specified. If I is used, the pocket is cut from a series of strokes in the Y-axis. If J is used, the pocket is cut from a series of strokes in the X-axis. I and J must be positive numbers. The finishing pass is of width K and K must be a positive number. There is no finishing pass in the Z depth. The R value should be specified even if it is zero (example R0). Otherwise the last value specified for R will be used.

Multiple passes over the area can be selected to control the depth of the cut. At least one pass is made over the pocket and multiple passes are made after feeding down by Q amount until the Z depth is reached. Q must be positive. If an L count is specified, the entire block is repeated and an incremental X or Y (G91) will reposi- tion the pocket.

The subroutine must define a closed area by a series of G01, G02, or G03 motions in X and Y and must end with an M99. G codes G90 and G91 can also be used in the subroutine to select absolute or incremental. Any codes other than G, I, J, R, X, or Y are ignored in the subroutine. This subroutine must consist of less than 20 strokes.

217

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

Pocket milling should begin from a hole which has been previously drilled to the Z depth in order to clear the tool on entry to the pocket. The G150 block must specify this hole location with X and Y.

The first motion in the subroutine should move from this clear hole to the starting point of the block shape. The final motion in the subroutine should return to the same point as the starting motion of the subroutine, ie., in the example on the previous page, the start point of the G150 line is X3.25 Y4.5 and the first move of the sub is Y7.0. Therefore the end of the sub must return to X3.25 Y7.0.

If a K is specified, the finishing pass is taken along the outside edge but is done at the full pocket depth and the previous cuts will cut inside the programmed pocket size by K.

O0100 (G150 POCKET EXAMPLE) G58 G00 G90 X3.25 Y4.5 S1200 M03 (STARTING HOLE POSITION) T1 M06 (T1 CUTS ENTRY FOR END MILL) G83 R.1 Q0.5 Z-2. F20. T2 M06 (END MILL T2 CUTS POCKET) (0.4 DIA CUTTER, TWO PASSES TO Z DEPTH) (LEAVE 0.01 FOR FINISH PASS) G150 G41 F15. D02 J0.35 K.01 Q0.5 R.1 X3.25 Y4.5 Z-2. P200 G40 X3.25 Y4.5 G28 M30 O0200 (G150 POCKET SUBROUTINE) G01 Y7. X1.5 G03 Y5.25 R0.875 G01 Y2.25 G03 Y0.5 R0.875 G01 X5. G03 Y2.25 R0.875 G01 Y5.25 G03 Y7. R0.875 G01 X3.25 M99 (RETURN FROM SUBROUTINE)

218

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

5-AXIS CANNED CYCLES

G153 5-Axis High Speed Peck G154 5-Axis Rev Tap Cycle G161 5-Axis Drill Cycle G162 5-Axis Spot Drill G163 5-Axis Normal Peck G164 5-Axis Tapping Cycle G165 5-Axis Bore In Bore Out G166 5-Axis Bore/Stop/Rapid G169 5-Axis Bore/Dwell/Manual

These are all group 9 G-codes

These correspond to the existing G73, G74, G81, G82, G83, G84, G85, G86 and G89 3-axis canned cycles. There are three differences between a 3-axis canned cycle and a 5-axis canned cycle:

1) Five axis canned cycles will rapid to the specified X,Y,Z, A, B position, which is used as the starting position.

2) Five axis canned cycles require an E code, which specifies the distance from the starting position to the bottom of the hole. If this is not given, an alarm will be generated.

3) Five axis canned cycles ignore any R codes. The starting point is always the R position. Notes:

Retraction and pecking, which would be rapid motions in a normal canned cycle, are fast feeds, not true rapids. Currently, G154 and G164 only perform floating taps. G184 is available for 5-axis rigid tapping.

219

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

G153 5-Axis High Speed Peck Drilling Canned Cycle Group 09

E Specifies the distance from the start position to the bottom of the hole F Feed Rate in inches (mm) per minute I Optional size of first cutting depth J Optional amount to reduce cutting depth each pass K Optional minimum depth of cut / number of pecks between retract L Number of repeats P Optional pause at end of last peck, in seconds Q The cut-in value, always incremental X Optional X-axis motion command Y Optional Y-axis motion command Z Position of bottom of hole

This G code is modal in that once activated, every motion of X and/or Y will cause this canned cycle to be executed until it is canceled or another canned cycle is selected. This cycle is a high speed peck cycle where the retract distance is set by Setting 22.

A specific X, Y, Z, A, B position must be programmed, before the canned cycle is programmed. This position is used as the Start position by the canned cycle.

If I, J, and K are specified, a different operating mode is selected. The first pass will cut in by I, each succeed- ing cut will be reduced by amount J, and the minimum cutting depth is K. If P is specified, the tool will pause at the bottom of the hole after the last peck for that amount of time.

The same dwell time applies to all subsequent blocks that do not specify a dwell time. When the canned cycle is cancelled (i.e. G00, G01, G80, RESET) the dwell time will be reset to zero. This dwell cannot be used in the same block as an M97, M98, M99, or G65, because these codes use P for different purposes.

220

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

Cutting Feed

Rapid Traverse

Begin or end

of stroke

E

Q

Setting #22

Q

Q

Q

G154 5-Axis Peck Drilling Canned Cyle

E

Q

Setting #22

Q

Q

Q

Setting #52

Start Position

Setting 52 also changes the way G153 works when it returns to the start position. Most programmers set the R plane well above the cut to ensure that the chip clear motion actually allows the chips to get out of the hole but this causes a wasted motion when first drilling through this empty space. If Setting 52 is set to the distance required to clear chips, the start position can be put much closer to the part being drilled. When the clear move to start position occurs, the Z will be moved above start position by this setting.

221

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

G154 5-Axis Reverse Tap Canned Cycle Group 09

E Specifies the distance from the start position to the bottom of the hole F Feed Rate in inches (mm) per minute L Number of repeats X Optional X-axis motion command Y Optional Y-axis motion command Z Position of bottom of tap

This G code is modal in that once activated, every motion of X and/or Y will cause this canned cycle to be executed until it is canceled or another canned cycle is selected. A specific X, Y, Z, A, B position must be programmed, before the canned cycle is programmed. This position is used as the Start position by the canned cycle.

You do not need to start the spindle CCW before this canned cycle. The control does this automatically.

G154 5-Axis Reverse Tapping Canned Cyle

E

G98 Start Position

Z Axis position

between holes

Cutting Feed

Rapid Traverse

Begin or end

of stroke

Spindle CW

Spindle CCW

G98 / G99

E

Start Position

G99 Rapid Plane

If K and Q are both specified, a different operating mode is selected for this canned cycle. In this mode, the tool is returned to the start position after the number of passes totals up to the K amount. This allows much faster drilling than G83 but still returns to the start position plane occasionally to clear chips.

I, J, K, and Q are always positive numbers.

222

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

G161 5-Axis Drill Canned Cycle Group 09

E Specifies the distance from the start position to the bottom of the hole F Feed Rate in inches (mm) per minute L Number of repeats X Optional X-axis motion command Y Optional Y-axis motion command Z Position of bottom of hole

E

G98 Start Position

Z Axis position

between holes

Cutting Feed

Rapid Traverse

Begin or end

of stroke

G98 / G99

E

Start Position

G99 Rapid Position

G161 5-Axis Drill Canned Cyle

This G code is modal in that once activated, every motion of X and/or Y will cause this canned cycle to be executed until it is canceled or another canned cycle is selected.

A specific X, Y, Z, A, B position must be programmed, before the canned cycle is programmed. This position is used as the Start position by the canned cycle.

223

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

G162 5-Axis Spot Drill Canned Cycle Group 09

E Specifies the distance from the start position to the bottom of the hole F Feed Rate in inches (mm) per minute L Number of repeats P The dwell time at the bottom of the hole X Optional X-axis motion command Y Optional Y-axis motion command Z Position of bottom of hole

This G code is modal in that once activated, every motion of X and/or Y will cause this canned cycle to be executed until it is canceled or another canned cycle is selected.

A specific X, Y, Z, A, B position must be programmed, before the canned cycle is programmed. This position is used as the Start position by the canned cycle.

E

G98 Start Position

Z Axis position

between holes

Cutting Feed

Rapid Traverse

Begin or end

of stroke

Dwell

G98 / G99

E

Start Position

G99 Rapid Position

G162 5-Axis Spot Drill Canned Cyle

224

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

G163 5-Axis Normal Peck Drilling Canned Cycle Group 09

E Specifies the distance from the start position to the bottom of the hole F Feed Rate in inches (mm) per minute I Optional size of first cutting depth J Optional amount to reduce cutting depth each pass K Optional minimum depth of cut L Number of repeats P Optional pause at end of last peck, in seconds Q The cut-in value, always incremental X Optional X-axis motion command Y Optional Y-axis motion command Z Position of bottom of hole

This G code is modal in that once activated, every motion of X and/or Y will cause this canned cycle to be executed until it is canceled or another canned cycle is selected.

A specific X, Y, Z, A, B position must be programmed, before the canned cycle is programmed. This position is used as the Start position by the canned cycle.

If I, J, and K are specified, a different operating mode is selected. The first pass will cut in by I, each succeed- ing cut will be reduced by amount J, and the minimum cutting depth is K.

If P is specified, the tool will pause at the bottom of the hole after the last peck for that amount of time. The following example will peck several times and dwell for one and a half seconds at the end:

G163 Z-0.62 F15. R0.1 Q0.175 P1.5.

The same dwell time applies to all subsequent blocks that do not specify a dwell time. When the canned cycle is cancelled (i.e. G00, G01, G80, RESET) the dwell time will be reset to zero. This dwell cannot be used in the same block as an M97, M98, M99, or G65, because these codes use P for different purposes.

E

I1=I

I2=I1-J

I3=I2-J

I4=K

Setting #22

E

Q

Setting #22

Q

Q

Q

G163 5-Axis Peck Drilling With I, J & K Options G163 5-Axis Normal Peck Drilling

Setting 52 also changes the way G83 works when it returns to the Start position. Most programmers set the Start position well above the cut to insure that the chip clear motion actually allows the chips to get out of the hole but this causes a wasted motion when first drilling through this empty space. If Setting 52 is set to the distance required to clear chips, the Start position can be put much closer to the part being drilled. When the clear move to the Start position occurs, the Z will be moved above the Start position by this setting.

225

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

Cutting Feed

Rapid Traverse

Begin or end

of stroke

E

Q

Setting #22

Q

Q

Q

G163 5-Axis Peck Drilling Canned Cycle

E

Q

Setting #22

Q

Q

Q

Setting #52

G164 5-Axis Tapping Canned Cycle Group 09

E Specifies the distance from the start position to the bottom of the hole F Feed Rate in inches (mm) per minute L Number of repeats X Optional X-axis motion command Y Optional Y-axis motion command Z Position of bottom of tap

E

G98 Start Position

G164 5-Axis Tapping Canned Cycle

Z Axis position

between holes

Cutting Feed

Rapid Traverse

Begin or end

of stroke

Spindle CW

Spindle CCW

G98 / G99

E

Start Position

G99 Rapid Plane

This G code is modal in that once activated, every motion of X and/or Y will cause this canned cycle to be executed until it is canceled or another canned cycle is selected. A specific X, Y, Z, A, B position must be programmed, before the canned cycle is programmed. This position is used as the Start position by the canned cycle.

You do not need to start the spindle CW before this canned cycle. The control does this automatically.

226

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

G165 5-Axis Boring Canned Cycle Group 09

E Specifies the distance from the start position to the bottom of the hole F Feed Rate in inches (mm) per minute L Number of repeats X Optional X-axis motion command Y Optional Y-axis motion command Z Position of bottom of hole

E

G98 Start Position

G165 5-Axis Boring Canned Cycle

Z Axis position

between holes

Cutting Feed

Rapid Traverse

Begin or end

of stroke

Spindle CW

Spindle CCW

G98 / G99

E

Start Position

G99 xxxx Plane

This G code is modal in that once activated, every motion of X and/or Y will cause this canned cycle to be executed until it is canceled or another canned cycle is selected. A specific X, Y, Z, A, B position must be programmed, before the canned cycle is programmed. This position is used as the Start position by the canned cycle.

227

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

G166 5-Axis Bore and Stop Canned Cycle Group 09

E Specifies the distance from the start position to the bottom of the hole F Feed Rate in inches (mm) per minute L Number of repeats X Optional X-axis motion command Y Optional Y-axis motion command Z Position of bottom of hole

E

G98 Start Position

G166 5-Axis Bore Stop Canned Cycle

Z Axis position

between holes

Cutting Feed

Rapid Traverse

Begin or end

of stroke

Spindle CW

Spindle Stop

G98 / G99

E

G99 Rapid Plane

Starting Position

This G code is modal in that once activated, every motion of X and/or Y will cause this canned cycle to be executed until it is canceled or another canned cycle is selected. A specific X, Y, Z, A, B position must be programmed, before the canned cycle is programmed. This position is used as the Start position by the canned cycle.

G169 5-Axis Bore and Dwell Canned Cycle Group 09

E Specifies the distance from the start position to the bottom of the hole F Feed Rate in inches (mm) per minute L Number of repeats P The dwell time at the bottom of the hole X Optional X-axis motion command Y Optional Y-axis motion command Z Position of bottom of hole

This G code is modal in that once activated, every motion of X and/or Y will cause this canned cycle to be executed until it is canceled or another canned cycle is selected. A specific X, Y, Z, A, B position must be programmed, before the canned cycle is programmed. This position is used as the Start position by the canned cycle.

228

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

E

G98 Start Position

G169 5-Axis Bore and Dwell Canned Cycle

Z Axis position

between holes

Cutting Feed

Rapid Traverse

Begin or end

of stroke

Dwell

G98 / G99

E

G99 Rapid Plane

Starting Position

RIGID TAPPING

G174 CCW General Rigid Tap Group 00 G184 CW General Rigid Tap Group 00

F Feed rate in inches per minute X* Optional X position at bottom of hole Y* Optional Y position at bottom of hole Z* Optional Z position at bottom of hole

This G code is used to perform rigid tapping for non-vertical holes. It may be used with a right-angle head to perform rigid tapping in the X or Y axis on a three axis mill, or to perform rigid tapping along an arbitrary vector with a five-axis mill. When performing a five-axis rigid tap, the machinist must ensure that the head is posi- tioned correctly before the G184 command is given. If the head is not aligned with the direction of motion, the tool will break. The ratio between the feed rate and spindle speed must be precisely the thread pitch being cut. Because only the end point of the tap is specified with this canned cycle, it is not modal. A motion to the next starting position will normally occur between G174/G184 canned cycles. G184 commands clockwise motion of the spindle during entry, and G174 command counter-clockwise motion. You do not have to start the spindle before this canned cycle.

229

G CODES O MPERATORS ANUAL

96-8500 rev C

June 2001

IN POSITION ACCURACY (G 187)

G187 Accuracy Control Group 00

Programming G187 is as follows:

G187 E0.01 (to set value) G187 (to revert to setting 85 value)

The G 187 code is used to select the accuracy with which corners are machined. The form for using G 187 is G 187 Ennnn, where nnnn is the desired accuracy. Refer to "Contouring Accuracy" for more information.

G187 E.001

G187 E.05

Program Point

M CODES

230

O MPERATORS ANUAL

96-8500 rev C

June 2001

6. M CODES (MISCELLANEOUS FUNCTIONS)

6.1 M CODE SUMMARY

Only one M code may be programmed per block of a program. All M codes are effective or cause an action to occur at the end of the block. However, when Parameter 278 bit "CNCR SPINDLE" is set to 1, an M03 (spindle start ) will occur at the beginning of a block.

M00 Stop Program M01 Optional Program Stop M02 Program End M03 Spindle Forward M04 Spindle Reverse M05 Spindle Stop M06 Tool Change M08 Coolant On M09 Coolant Off M10 Engage 4th Axis Brake M11 Release 4th Axis Brake M12 Engage 5th Axis Brake M13 Release 5th Axis Brake M16 Tool Change (same as M06) M19 Orient Spindle. P and R values optional. M21-M28 Optional Pulsed User M Function with Fin M30 Prog End and Rewind M31 Chip Conveyor Forward M32 Chip Conveyor Reverse M33 Chip Conveyor Stop M34 Increment Coolant Spigot Position M35 Decrement Coolant Spigot Position M36 Pallet Rotate M39 Rotate Tool Turret M41 Low Gear Override M42 High Gear Override M50 Execute Pallet Change M51-M58 Set Optional User M M61-M68 Clear Optional User M M75 Set G35 or G136 Reference Point M76 Disable Displays M77 Enable Displays M78 Alarm if skip signal found M79 Alarm if skip signal not found M82 Tool Unclamp M86 Tool Clamp M88 Through the Spindle Coolant ON M89 Through the Spindle Coolant OFF M95 Sleep Mode M96 Jump if no Input M97 Local Sub-Program Call M98 Sub Program Call M99 Sub Program Return OrLoop

M CODES

231

O MPERATORS ANUAL

96-8500 rev C

June 2001

M CODE DETAILED DESCRIPTION

M00 Stop Program

The M00 code is used to stop a program. It also stops the spindle and turns off the coolant and stops interpre- tation lookahead processing. The program pointer will advance to the next block and stop. A cycle start will continue program operation from the next block. If the Through the Spindle Coolant option is ON, M00 will shut it off.

M01 Optional Program Stop

The M01 code is identical to M00 except that it only stops if OPTIONAL STOP is turned on from the front panel. A cycle start will continue program operation from the next block. If the Through the Spindle Coolant option is ON, M01 will shut it off.

M02 Program End

The M02 code will stop program operation the same as M00 but does not advance the program pointer to the next block.

M03 Spindle Forward

The M03 code will start the spindle moving is a clockwise direction at whatever speed was previously set. The block will delay until the spindle reaches about 90% of commanded speed.

When Parameter 278 bit 10, "CNCR SPINDLE", is set to 1, the machine will not wait for the spindle to come up to speed immediately after an M03 command. Instead, it will check and/or wait for the spindle to come up to speed immediately before the next interpolated motion is initiated.

M04 Spindle Reverse

The M04 code will start the spindle moving is a counterclockwise direction at whatever speed was previously set. The block will delay until the spindle reaches about 90% of commanded speed.

When Parameter 278 bit 10, "CNCR SPINDLE", is set to 1, the machine will not wait for the spindle to come up to speed immediately after an M04 command. Instead, it will check and/or wait for the spindle to come up to speed immediately before the next interpolated motion is initiated.

Running an M04 command with TSC on is not recommended.

M05 Spindle Stop

The M05 code is used to stop the spindle. The block is delayed until the spindle slows below 10 RPM.

M06 Tool Change

The M06 code is used to initiate a tool change. The previously selected tool (Tn) is put into the spindle. If the spindle was running, it will be stopped. No previous axis commands are required before the tool change unless there is a problem with tool/part/fixture clearance. The Z-axis will automatically move up to the machine zero position and the selected tool will be put into the spindle. The Z-axis is left at machine zero. The spindle will not be started again after the tool change but the Snnnn speed and gear will be unchanged. The Tnn must be in the same block or in a previous block. The coolant pump will be turned off during a tool change.

M CODES

232

O MPERATORS ANUAL

96-8500 rev C

June 2001

When the Through the Spindle Coolant (TSC) is ON, M06 will orient the spindle and move the Z-axis to tool change position, turn off the TSC pump, purge the coolant from the drawbar, then perform a tool change. TSC will remain OFF until an M88 is called.

M08 Coolant On

The M08 code will turn on the coolant supply. Note that the M code is performed at the end of a block; so that if a motion is commanded in the same block, the coolant is turned on after the motion. The low coolant status is only checked at the start of a program so a low coolant condition will not stop a program which is already running.

M09 Coolant Off

The M09 code will turn off the coolant supply.

M10 Engage 4th Axis Brake

The M10 code is used to apply the brake to the 4th axis. The brake is normally engaged, so M10 is only required when M11 is used to release the brake.

M11 activates a relay that releases the brake. M10 deactives this relay, engaging the brake.

M11 Release 4th Axis Brake

The M11 code will "pre-release" the 4th axis brake. This is useful in preventing the delay that otherwise occurs when a 4th axis is used with a brake and a motion is commanded in that axis. It is not required but, without a prior M11, there will be a delay in motion in order to release the air.

M12 Engage 5th Axis Brake

The M12 code is used to apply the brake to the 5th axis. The brake is normally engaged, so M12 is only required when M13 is used to release the brake.

M13 activates a relay that releases the brake. M12 deactives this relay, engaging the brake.

M13 Release 5th Axis Brake

The M13 code will "pre-release" the 5th axis brake. This is useful in preventing the delay that otherwise occurs when a 5th axis is used with a brake and a motion is commanded in that axis. It is not required but, without a prior M13, there will be a delay in motion in order to release the air.

M16 Tool Change

The M16 code is used to initiate a tool change. In the present machine configuration, M16 works exactly like M06.

M CODES

233

O MPERATORS ANUAL

96-8500 rev C

June 2001

M19 Orient Spindle. P and R values optional.

The M19 code is used to orient the spindle to a fixed position. The spindle is oriented electronically. A P value can be added as an option that will cause the spindle to be oriented to a particular angle (in degrees). For example, M19 P270 will orient the spindle to 270 degrees. An R value will recognize up to four places to the right of the decimal point. An M19 R123.4567 will position the spindle to the angle specified by the R value.

M21-M28 Optional User M

The M21 through M28 codes are optional for user interfaces. They will activate one of relays 1132 through 1139, wait for the M-fin signal, release the relay, and wait for the M-fin signal to cease. The RESET button will terminate any operation that is hung-up waiting for M-fin.

M30 Prog End and Rewind

The M30 code is used to stop a program. It also stops the spindle and turns off the coolant. The program pointer will be reset to the first block of the program and stop. The parts counters displayed on the Current Commands display are also incremented. M30 will also cancel tool length offsets. When the Through the Spindle Coolant (TSC) option is ON, M30 will shut it OFF, and then perform an M30 operation.

M31 Chip Conveyor Forward

M31 starts the chip conveyor motor in the forward direction. The forward direction is defined as the direction that the conveyor must move to transport chips out of the work cell. The conveyor will not turn if the door is open. This may be overridden by setting bit 17 of parameter 209 (CNVY DR OVRD).

M32 Chip Conveyor Reverse

M32 starts the chip conveyor motor in the reverse direction. The reverse direction is defined as the direction opposite of forward. The conveyor will not turn if the door is open. This may be overridden by setting bit 17 of parameter 209 (CNVY DR OVRD).

M33 Chip Conveyor Stop

M33 Stops Conveyor motion.

M34 Increment Coolant Spigot Position

M34 Increments the current spigot position one place. Incrementing the spigot position causes the spigot to advance one place from the home position. The home position is designated as zero. If the current home position is designated as 5 and M34 is executed, then the current spigot position will advance to position 6. The spigot home position for a horizontal mill places the spigot at the most positive Z axis location the spigot can attain. Incrementing the spigot then lowers the coolant stream direction.

M35 Decrement Coolant Spigot Position

M35 decrements the coolant spigot position one place. Decrementing the spigot position causes the spigot to move toward the spigot home position. The home position is designated as zero. If the current spigot position is 5 and M35 is executed, then the current spigot position will move to 4. The spigot home position for a horizontal mill places the spigot at the most positive Z axis location. Decrementing the spigot will raise the coolant stream direction.

M CODES

234

O MPERATORS ANUAL

96-8500 rev C

June 2001

M36 Wait Pallet Ready

This is used on Horizontal mills only. Flashes PART READY button on the front switch box. It delays the pallet change execution until the PART READY button is depressed.

M39 Rotate Tool Turret

The M39 code is used to rotate the tool turret without performing a tool change. The desired tool pocket number (Tn) must be programmed previous to the M39.

This M code may be useful to move an empty pocket to face the spindle. This is not normally required but is useful for diagnostic purposes or to recover from a tool changer crash. Remember that the pocket facing the spindle must always be empty for a tool change.

M41 Low Gear Override

The M41 code is used to override the spindle gear implied by the Snnn command. With M41, the spindle gear will always be low. If the speed commanded is above the low gear limit, the spindle speed will be the low gear limit. This M code does not turn the spindle on or off. If the spindle was turning before this command, it will be started again. If it was stopped before this command it will be left off. M41 is ignored if there is no gear box.

M42 High Gear Override

The M42 code is used to override the spindle gear implied by the Snnn command. With M42, the spindle gear will always be high. Note that this may reduce the torque at the tool. This M code does not turn the spindle on or off. If the spindle was turning before this command, it will be started again. If it was stopped before this command it will be left off. M42 is ignored if there is no gear box.

M50 Execute Pallet Change

Signals the calling program and executes a pallet change sequence.

M51-M58 Set Optional User M

The M51 through M58 codes are optional for user interfaces. They will activate one of relays 1132 through 1139 and leave it active. These are the same relays used for M21-M28. Use M61-M68 to turn these off. The RESET key will turn off all of these relays. See 8M option section for more information on additional user outputs.

M61-M68 Clear Optional User M

The M61 through M68 codes are optional for user interfaces. They will deactivate one of relays 1132 through 1139. These are the same relays used for M21-M28.

M75 Set G35 or G136 Reference Point

This code is used to set the reference point used for G35 and G136. It must be used after a motion which is terminated with the skip function.

M76 Disable Displays

This code is used to disable the updating of the screen displays. It is not necessary for machine performance.

M CODES

235

O MPERATORS ANUAL

96-8500 rev C

June 2001

M77 Enable Displays

This code is used to enable the updating of the screen displays. It is only used when M76 has been used to disable the displays.

M78 Alarm if Skip Signal Found

This code is used to generate an alarm if the previous skip function actually got the skip signal. This is usually used when a skip signal is not expected and may indicate a probe crash. This code can be placed in a block with the skip function or in any subsequent block. The skip functions are G31, G36, and G37.

M79 Alarm if Skip Signal Not Found

This code is used to generate an alarm if the previous skip function did not actually get the skip signal. This is usually done when the absence of the skip signal means a positioning error of a probe. This code can be placed in a block with the skip function or in any subsequent block. The skip functions are G31, G36, and G37.

M80 and M81 Auto Door Open / Close

The M-Codes that control the Auto Door have been changed. The new M-codes are M80 to open and M81 to close the Auto door. Note: Setting 51 DOOR HOLD OVERRIDE must be set to ON, parameter 57 bit 31 DOOR STOP SP must be set to zero and setting 131 AUTO DOOR set to ON, an M80 will cause the door to open and an M81 will cause it to close. Also, the control will beep while the door is in motion.

M82 Tool Unclamp

This code is used to release the tool from the spindle. It is not normally needed as tool change operations do this automatically and a manual TOOL RELEASE button is available to the operator. THIS M CODE IS NOT RECOMMENDED FOR USE AS THE TOOL WILL BE DROPPED FROM THE SPINDLE AND MAY DAMAGE THE TOOL, THE MACHINE, OR YOUR SETUP.

M83 and M84 Air Gun On / Off

An M83 will turn the Air Gun on, and an M84 will turn it off. Additionally, an M83 Pnnn (where nnn is in millisec- onds) will turn it on for the specified time, then off automatically. Note: The Air Blast is assigned to discrete output #1138.

M86 Tool Clamp

This code will clamp a tool into the spindle. It is not normally needed as tool change operations do this auto- matically and a manual TOOL RELEASE button is available to the operator.

M88 Thru Spindle Coolant ON

This code is used to turn on the Through the Spindle Coolant (TSC) option. When M88 is called, the spindle will stop, then the TSC pump will turn on, and the spindle will restart.

M CODES

236

O MPERATORS ANUAL

96-8500 rev C

June 2001

M89 Thru Spindle Coolant OFF

This code is used to turn off the Through the Spindle Coolant (TSC) option. When M89 is called, the spindle will stop and the TSC pump will shut off. Turns on purge for the amount of time specified in parameter 237 then turns off purge.

M93 START AXIS POS CAPTURE and M94 STOP AXIS POS CAPTURE

These M codes permit the control to capture the position of an auxiliary axis when a discrete input goes high.The format is:

M93 Px Qx (where P is the axis number and Q is a discrete input number from 0 to 63) M94

M93 causes the control to watch the discrete input specified by the Q value, and when it goes high, captures the position of the axis specified by the P value. The position is then copied to hidden macro variable 749. M94 stops the capture.

M95 Sleep Mode

Sleep mode is essentially a long dwell. Sleep mode can be used when the user wishes his machine to begin warming itself up early in the morning and be ready for use upon his arrival. The format of the M95 command is:

M95 (hh:mm)

The comment immediately following the M95 must contain the hours and minutes that the machine is to sleep for. For example, if the current time were 6pm and the user wanted the machine to sleep until 6:30am the next morning, the following command would be used:

M95 (12:30)

M CODES

237

O MPERATORS ANUAL

96-8500 rev C

June 2001

Up to 99 hours can be specified thus allowing the machine to sleep for over 4 days. If the time is specified using an incorrect format, alarm 324 DELAY TIME RANGE ERROR will be generated. When the machine enters sleep mode, the following message is displayed:

HAAS SLEEP MODE

REMAINING TIME nnn MIN.

The message will be re-displayed in a different position on the screen each second so that the user can see at a glance that the machine is sleeping. This has the advantage of preventing the message from being "burned" into one spot on the screen.

When less than one minute of sleep time remains, the message will change to:

REMAINING TIME nn SEC.

If the user presses any key or opens the door, sleep mode will be cancelled and the active program will wait at the block following the M95 until the user presses the Cycle Start key.

For the last 30 seconds of the sleep time, the machine will beep and display an additional message:

WAKE UP IN nn SECONDS

When the sleep time has elapsed, the active program will continue at the block following M95.

M96 Jump If No Input P Block to branch to when conditional test succeeds Q Discrete input to test, 0..31

This code is used to test a discrete input for 0 status. When this block is executed and the input signal specified by Q is 0, a branch to the block specified by P is performed. A Pnnnn code is required and must match a line number within the same program. The Q value must be in the range of 0 to 31. These correspond to the discrete inputs found on the diagnostic display page with the upper left being input 0 and the lower right being 31. Q is not required within the M96 block. The last specified Q will be used. This command stops the lookahead queue until the test is made at runtime. Since the lookahead queue is exhausted, M96 cannot be executed when cutter compensation is invoked. M96 cannot be executed from a main DNC program. If you wish to use M96 in DNC, it must be in a resident subroutine called from the DNC program.

M CODES

238

O MPERATORS ANUAL

96-8500 rev C

June 2001

The following is an M96 example:

N05 M96 P5 Q8 (TEST INPUT DOOR S, UNTIL CLOSED); N10 (START OF SOME PROGRAM LOOP); . . (PROGRAM THAT MACHINES PART); . N85 M21 (EXECUTE AN EXTERNAL USER FUNCTION) N90 M96 P10 Q27 (LOOP TO N10 IF SPARE INPUT IS 0); N95 M30 (IF SPARE INPUT IS 1 THEN END PROGRAM);

M97 Local Sub-Program Call

This code is used to call a subroutine referenced by a line N number within the same program. A Pnnnn code is required and must match a line number within the same program. This is useful for simple subroutines within a program and does not require the complication of a separate program. The subroutine must still be ended with an M99. An L count on the M97 block will repeat the subroutine call that number of times.

M98 Sub Program Call

This code is used to call a subroutine. The Pnnnn code is the number of the program being called. The Pnnnn code must be in the same block. The program by the same number must already be loaded into memory and it must contain an M99 to return to the main program. An L count can be put on the line containing the M98 and will cause the subroutine to be called L times before continuing to the next block.

M99 Sub Program Return Or Loop

This code is used to return to the main program from a subroutine or macro. It will also cause the main pro- gram to loop back to the beginning without stopping if it is used in other than a subprogram without a P code. If an M99 Pnnnn is used, it will cause a jump to the line containing Nnnnn of the same number.

M99 Pnnnn in the HAAS control varies from that seen in FANUC compatible controls. In FANUC compatible controls M99 Pnnnn will return to the calling program and resume execution at block N specified in Pnnnn. For the HAAS control, M99 will NOT return to the calling program, but instead will jump to block N specified in Pnnnn in the current program.

You can simulate FANUC behavior by using the following code.

calling program: HAAS FANUC O0001 O0001 ... ... N50 M98 P2 N50 M98 P2 N51 M99 P100 ... ... N100 (continue here) N100 (continue here) ... ... M30 M30

subroutine: O0002 O0002 M99 M99 P100

If you have macros, you can use a global variable and specify a block to jump to by adding #nnn=dddd in the subroutine and then using M99 P#nnn after the subroutine call. There are many ways to jump conditionally after a M99 return when using macros.

PROGRAMMING EXAMPLES

239

June 2001 O MPERATORS ANUAL

96-8500 rev C

7. PROGRAMMING EXAMPLES

G81 DRILLING CANNED CYCLE

FORMAT: G81 Z- ___ R ___ F ___

Z = Position of the bottom of the hole being drilled. R = Reference plane, or a position placed above Z0. F = Feed rate in inches per minute.

NOTE: The Z, R, and F codes are required data for all canned cycles.

NOTE: The optional X and Y can be included in the canned cycle line. In most cases, this would be the location of the first hole to be drilled.

Canned cycle programming example using aluminum block.

The following is the program to drill through the aluminum plate:

T1 M06 G00 G90 G54 X1.125 Y-1.875 S4500 M03 G43 H01 Z.1 G81 G99 Z-.35 R.1 F27. X2.0 X3.0 Y-3.0 X4.0 Y-5.625 X5.250 Y-1.375 G80 G00 Z1.0 G28 M30

240

PROGRAMMING EXAMPLES June 2001 O MPERATORS ANUAL

96-8500 rev C

G82, G83, G84 CANNED CYCLES

G82 FORMAT : G82 Z - ___ P ____ R ____ F ____;

These are the required codes for spot drilling. P = Dwelling time in milliseconds at the bottom of the Z-axis move.

EX. P300 is approximately 1/3 second.

G83 FORMAT - G83 Z - ___ Q ____ R ____ F ____;

These are the required codes for peck drilling. Q = Incremental pecking amount in minus Z direction.

EX. Q.200 in a G83 line will peck toward the specified Z depth, taking .200 per peck until final depth is reached.

G84 FORMAT - G84 Z - ___ R ____ F ____

These are the codes required for tapping.

No new codes to review.

NOTE: The most important item to be aware of during tapping is the speed and feed calculation.

FEED FORMULA: Spindle Speed divided by Threads per inch of the tap = Feed Rate in inches/min.

CANNED CYCLE PROGRAM USING G82, G83 AND G84

Helpful notes are listed in parentheses ( ).

PROGRAMMING EXAMPLES

241

June 2001 O MPERATORS ANUAL

96-8500 rev C

PROGRAM EXAMPLE DESCRIPTION % O1234 (Exercise program) T1 M06 (TOOL #1 IS A .5 X 90 degree spot drill) G90 G54 G00 X.565 Y-1.875 S1275 M03 G43 H01 Z.1 M08 G82 Z-.175 P.3 R.1 F10. (90 degree spot drill, the depth is) X1.115 Y-2.750 (half of the chamfer diameter) X3.365 Y-2.875 X4.188 Y-3.313 X5.0 Y-4.0 G80 G00 Z1.0 M09

G82 Spot drilling example

242

PROGRAMMING EXAMPLES June 2001 O MPERATORS ANUAL

96-8500 rev C

G83 Peck Drilling Canned Cycle Example

T2 M06 (Tool #2 IS A .3125 stub drill) G90 G54 G00 X.565 Y-1.875 S2500 M03 G43 H02 Z.1 M08 G83 Z-.720 Q.175 R.1 F15. (Drill point is 1/3 of the drill diameter.) X1.115 Y-2.750 X3.365 Y-2.875 X4.188 Y-3.313 X5.0 Y-4.0 G80 G00 Z1.0 M09

PROGRAMMING EXAMPLES

243

June 2001 O MPERATORS ANUAL

96-8500 rev C

G 84 Tapping Canned Cycle Example

T3 M06 (Tool #3 is a 3/8-16 tap) G90 G54 G00 X.565 Y-1.875 S900 M03 G43 H03 Z.2 M08 G84 Z-.600 R.2 F56.25 (900 RPM divided by 16TPI = 56.25 IPM) X1.115 Y-2.750 X3.365 Y-2.875 X4.188 Y-3.313 X5.0 Y-4.0 G80 G00 Z1.0 M09 G28 G91 Y0 Z0 M30 %

244

PROGRAMMING EXAMPLES June 2001 O MPERATORS ANUAL

96-8500 rev C

SUBPROGRAMS AND CANNED CYCLES

After reviewing the canned cycle, we can get a good idea of the amount of lines of code required to produce the five holes. The best way to conserve on program space and programming time is to use a subprogram. We can do this by grouping the X and Y locations of the holes into a separate program and then calling up this program when we need to tell a canned cycle the X,Y coordinates.

Instead of writing the X,Y locations once for each tool, we can write the X,Y locations once for any number of tools.

The canned cycle program that we reviewed on the previous page could use some constructive rearranging.

% % O1234 (Example program) O1000 (X,Y LOC. SUB) T1 M06 X 1.115 Y-2.750 G90 G54 G00 X.565 Y-1.875 S1275 M03 X 3.365 Y-2.875 G43 H01 Z.1 M08 X 4.188 Y-3.313 G82 Z-.175 P.03 R.1 F10. X 5.0 Y-4.0 M98 P1000 M99 G80 G00 Z1.0 M09 % T2 M06 G00 G90 G54 X.565 Y-1.875 S2500 M03 G43 H02 Z.1 M08 G83 Z-.720 Q.175 R.1 F15. M98 P1000 G00 G80 Z1.0 M09 T3 M06 G00 G90 G54 X.565 Y-1.875 S900 M03 G43 H03 Z.2 M08 G84 Z-.600 R.2 F56.25 M98 P1000 G80 G00 Z1.0 M09 G28 G91 Y0 Z0 M30 %

PROGRAMMING EXAMPLES

245

June 2001 O MPERATORS ANUAL

96-8500 rev C

SUBPROGRAMS WITH MULTIPLE FIXTURES

So far we have learned that using subprograms with canned cycles can save programming time and help reduce coordinate input error. Let's take this one step further. There are six vises mounted on the table. Each of these vises will use a new X,Y zero. They will be called up in the program as G54 through G59. The machine will have to be told where each of the vises is located on the table. By using an edge finder or an indicator, the zero point on each part can be established. Use the part zero set key in the work coordinate offset page to record each X,Y location. Once the X,Y zero position for each vise is in the offset page, the programming can begin.

By looking at the next page, we can get a good idea of what this setup would look like on the machine table.

For an example, each of these six parts will need to be drilled at the center, X and Y zero.

% % O2000 O3000 T1 M06 X0 Y0 G00 G90 G54 X0 Y0 S1500 M03 G83 Z-1.0 Q.2 R.1 F15. G43 H01 Z.1 M08 G00 G80 Z.2 M98 P3000 M99 G55 % M98 P3000 G56 M98 P3000 G57 M98 P3000 G58 M98 P3000 G59 M98 P3000 G00 Z1.0 M09 G28 G91 Y0 Z0 M30 %

The following figure represents a multiple-fixture setup. Each vise will have an absolute zero once it is specified in the program. This is done by using G54 through G59 and G110 through G129, a total of 26 possible posi- tions.

Multiple fixture setup.

246

PROGRAMMING EXAMPLES June 2001 O MPERATORS ANUAL

96-8500 rev C

LOOPING CANNED CYCLES

The following is an example of a program using a drilling canned cycle that is incrementally looped. Compare the grid plate drawing to the program.

NOTE: The sequence of drilling used here is designed to save time and to follow the shortest path from hole to hole.

Grid plate for multiple-fixture subprogram exercise.

PROGRAM EXAMPLE DESCRIPTION % O3400 (Drilling grid plate) T1 M06 G00 G90 G54 X1.0 Y-1.0 S2500 M03 G43 H01 Z.1 M08 G81 Z-1.5 F15. R.1 G91 X1.0 L9 G90 Y-2.0 (Or stay in G91 and repeat Y-1.0) G91 X-1.0 L9 G90 Y-3.0 G91 X1.0 L9 G90 Y-4.0 G91 X-1.0 L9 G90 Y-5.0 G91 X1.0 L9 G90 Y-6.0 G91 X-1.0 L9 G90 Y-7.0 G91 X1.0 L9 G90 Y-8.0 G91 X-1.0 L9 G90 Y-9.0 G91 X1.0 L9 G90 Y-10.0 G91 X-1.0 L9 G00 G90 G80 Z1.0 M09 G28 G91 Y0 Z0 M30 %

PROGRAMMING EXAMPLES

247

June 2001 O MPERATORS ANUAL

96-8500 rev C

MODIFYING CANNED CYCLES

In this section we will cover canned cycles that have to be customized in order to make the programming of difficult parts easier. In result, making the machining process more efficient.

Using G98 and G99 to clear clamps:

For example, we have a square part being held to the table with one inch tall table clamps. We need to write a program to clear the table clamps.

PROGRAM EXAMPLE DESCRIPTION % O4500 T1 M06 G00 G90 G54 X1.0 Y-1.0 S3500 M03 G43 H01 Z1.125 M08 G81 G99 Z-1.500 R.05 F20. X2.0 G98 ( Will return to starting point after executing cycle ) X6.0 G99 ( Will return to reference plane after executing cycle ) X8.0 X10.0 X12.0 G98 X16.0 G99 X18.0 G98 G00 G80 Z2.0 M09 G28 G91 Y0 Z0 M30 %

X,Y Plane Obstacle Avoidance In A Canned Cycle:

So far we have learned how G98 and G99 can be used to avoid an obstacle in the Z-axis. There is also a way to avoid an obstacle in the X,Y plane during a canned cycle by placing an L0 in a canned cycle line, we can tell the control to make an X,Y move without executing the Z-axis canned operation.

For example, we have a six inch square aluminum block, with a one inch by one inch deep flange on each side. The print calls for two holes centered on each side of the flange. We need to write a program to avoid each of the corners on the block.

248

PROGRAMMING EXAMPLES June 2001 O MPERATORS ANUAL

96-8500 rev C

PROGRAM EXAMPLE DESCRIPTION % O4600 (X0,Y0 is at the top left corner) (Z0 is at the top of the part) T1 M06 G00 G90 G54 X2.0 Y-.5 S3500 M03 G43 H01 Z-.9 M08 G81 Z-2.0 R-.9 F15. X4.0 X5.5 L0 (angular corner avoidance) Y-2.0 Y-4.0 Y-5.5 L0 X4.0 X2.0 X.5 L0 Y-4.0 Y-2.0 G00 G80 Z1.0 M09 G28 G91 Y0 Z0 M30 %

SPECIAL CANNED CYCLES

In this section, we will cover the special canned cycles that the Haas control offers. These canned cycles are used in conjunction with other drilling, boring, and tapping cycles.

G70 = BOLT HOLE CIRCLE G71 = BOLT HOLE ARC G72 = BOLT HOLES ALONG AN ANGLE

The sample program below will show the format for using a G70 to drill a three inch diameter bolt hole pattern combined with a G81 drilling canned cycle.

% O5000 T1 M06 G00 G90 G54 X0 Y0 S1500 M03 G43 H01 Z.1 M08 G70 I1.5 J0 L8 G81 Z-1.0 R.1 F15. G00 G80 Z1.0 M09 G28 G91 Y0 Z0 M30 %

PROGRAMMING EXAMPLES

249

June 2001 O MPERATORS ANUAL

96-8500 rev C

RULES FOR BOLT PATTERN CANNED CYCLES:

1. The tool must be placed at the center of the bolt pattern before the canned cycle execution. The center is usually X0, Y0.

2. The J code is the angular starting position and is always 0 to 360 degrees counterclockwise from the three o'clock position.

In the case of conflicting address codes, You can specify a drilling cycle prior to the block that invokes the special canned cycle. For instance:

Bolt Hole Pattern Canned Cycles

% 05000 T1 M06 G00 G90 G54 X0 Y0 S1500 M03 G43 H01 Z.1 M08 G83 R.1 Z-1.0 I.25 J.03 K.15 F15. L0 (L0 PREVENTS DRILLING AT CENTER) G70 I1.5 J0 L8 G00 G80 Z1. M09 G28 G91 Y0 Z0 M30 %

250

PROGRAMMING EXAMPLES June 2001 O MPERATORS ANUAL

96-8500 rev C

CIRCULAR INTERPOLATION AND CUTTER COMPENSATION

In this section, we will cover the usage of G02 (Circular Interpolation Clockwise) and G03 (Circular Interpolation Counterclockwise) and Cutter Compensation (G41: Cutter Compensation Left, G42: Cutter Compensation Right).

Using G02 and G03, we can program the machine to cut circular moves and radii. Generally, when program- ming a profile or a contour, the easiest way to describe a radius between two points is with an R and a value. For complete circular moves (360o), an I or a J with a value must be specified. The circle section illustration below will describe the different sections of a circle.

By using cutter compensation in this section we, the programmers, will be able to shift a cutter by the amount of the cutter radius and be able to program a profile or a contour to the exact print dimensions. By shifting the cutter radius, the programming time and the likelihood of calculation error is reduced.

Before we get into circular interpolation and how it is used, below are a few rules about cutter compensation that have to be closely followed in order to perform successful machining operations. Always refer to these rules when programming!

1. Cutter compensation must be turned ON during a G00 or G01 X,Y move that is equal to or greater than the cutter radius, or the amount being compensated for.

2. When an operation using cutter compensation is done, the cutter compensation will need to be turned OFF, using the same rules as the turn ON process, i.e., what is put in must be taken out.

3. In most machines, during cutter compensation, a linear X,Y move that is smaller than the cutter radius may not work. (Setting 58 - set to Fanuc - for positive results.)

4. Cutter compensation cannot be turned ON or OFF in a G02 or G03 arc movement.

PROGRAMMING EXAMPLES

251

June 2001 O MPERATORS ANUAL

96-8500 rev C

DO THE FOLLOWING EXERCISE FOR PRACTICE.

WRITE THE CODE NECESSARY TO GET FROM POINT A TO POINT B

FIRST MOVE: Overall dimension and subtract the given radius.

SECOND MOVE: Add radius to current X and Y values. Always program the ending points in circular interpolation.

THIRD MOVE: Linear move to the next point.

252

PROGRAMMING EXAMPLES June 2001 O MPERATORS ANUAL

96-8500 rev C

WRITE A PROGRAM TO PRODUCE THE PART SHOWN BELOW.

Part for G02, G03, and R practice.

The correct program for the part is as follows:

PROGRAM EXAMPLE DESCRIPTION % O600 T1 M06 (Tool is a .250 diameter two-flute end mill) G00 G90 G54 X-.2 Y-.2 S5000 M03 G43 H01 Z.1 M08 Z-1.0 G41 D01 X0 (Turn ON cutter compensation, .200 move) G01 Y4.0 F25. G02 X.250 Y4.250 R.250 G01 X1.6562 G02 X1.875 Y4.0313 R.2187 G01 Y3.125 G03 X2.375 Y2.625 R.500 G01 X3.5 G02 X3.875 Y2.25 R.375 G01 Y.4375 G02 X3.4375 Y0 R.4375 G01 X-.1 G00 G40 Y-.3 (Turn OFF cutter compensation, .200 move) Z1.0 M09 G28 G91 Y0 Z0 M30 %

PROGRAMMING EXAMPLES

253

June 2001 O MPERATORS ANUAL

96-8500 rev C

The following illustration shows how the tool path is calculated for the cutter compensation.

Programming exercise showing tool path.

The following program uses no cutter compensation. Tool path is programmed to centerline of the cutter. This is also the way the control calculates for cutter compensation.

% O6100 T1 M06 G00 G90 G54 X-.125 Y-.2 S5000 M03 G43 H01 Z.1 M08 G01 Z-1.0 F50. Y4.125 F25. G02 X.250 Y4.375 R.375 G01 X1.6562 G02 X2.0 Y4.0313 R.3437 G01 Y3.125 G03 X2.375 Y2.750 R.375 G01 X3.5 G02 X4.0 Y2.25 R.5 G01 Y.4375 G02 X3.4375 Y-.125 R.5625 G01 X-.2 G00 Z1.0 M09 G28 G91 Y0 Z0 M30 %

254

PROGRAMMING EXAMPLES June 2001 O MPERATORS ANUAL

96-8500 rev C

PROGRAMMING USING I AND J

Most contour machining will use a radius value R for circular interpolation moves less than 3600. An I and J can also be used in the place of R, but this can be more confusing at times. The I and J are signed distances from the starting point to the center of the circle.

Referring back to the previous section, we can see the program below using the R or the I and J:

Using R: Using I and J:

G01 Y3.750 G01 Y3.750 G02 X.250 Y4.0 R.250 G02 X.250 Y4.0 I.250 J0 G01 X2.0 G01 X2.0

NOTE: Compare the +1.250 move with the "Circle Sections" illustration shown earlier.

NOTE: The G02 or G03 line will always need the X,Y end points, whenever R or I and J are used.

Programming a complete 3600 circle can only be done by using an I or a J. For example: we have a one inch diameter hole and want to open it up to one and a half inches. The cutter is .750 diameter. If we took the finished hole diameter and subtracted the cutter diameter, we would have .750 left over .375 each side.

The start move would be to position to the center of the hole most likely X0,Y0. The first cutting move would be to move .375 in any direction. X+, X-, Y+, Y-. Let's go with the X+ direction.

G01 X.375 G03 I-.375 (An I or J will always be a radial value; J is assumed 0 if left out) G01 X0

NOTE: The start point is also the end point for a 3600 move.

NOTE: If we decided to make the first move in the Y+ direction, the G03 line would contain a J-.375 move.

PROGRAMMING EXAMPLES

255

June 2001 O MPERATORS ANUAL

96-8500 rev C

CIRCULAR POCKET MILLING

The Haas control has included in its software a Yasnac style circular pocket milling program (G12 clockwise circular pocket, G13 counterclockwise pocket). These G codes imply the use of cutter compensation, i.e., a G41 or G42 is not required to be stated in the program line. However, a D____ offset number for cutter radius or diameter is required for the ability to adjust the circle diameter.

In this section, we will cover the G12 and G13 format, as well as the different ways these programs can be written for many various applications:

SINGLE PASS: Using I only.

APPLICATIONS: One-pass counterboring; rough and finish pocketing of smaller holes; I.D. keyway cutting; "O"-ring grooves.

MULTIPLE PASS: Using I, K, and Q.

APPLICATIONS: Multiple-pass counterboring, rough and finish pocketing of large holes with cutter overlap.

MULTIPLE Z DEPTH PASS: Using I only, or, I, K, and Q. (G91 and L)

APPLICATIONS: Deep rough and finish pocketing; incremental Z depth stepping.

NOTE: The tool must be positioned at the center of the circle, either in a previous block or in the G12/G13 line by using X and Y.

The figure below shows the tool path during the G12 and G13 cycles. One uses I only and the other uses I, K, and Q.

256

PROGRAMMING EXAMPLES June 2001 O MPERATORS ANUAL

96-8500 rev C

Tool path during G12 and G13 cycles.

PROGRAM LINE REQUIREMENTS:

Z = Depth of cut or increment F = Feed Rate I = Radius of first circle (Finished radius if no K specified) K = Radius of finished circle (If using I, K, and Q) Q = Radius increment or cutter overlap (Must use with K) D = Tool geometry offset number (Not required) L = Loop count for incremental Z depth stepping (Optional)

EXAMPLE G13 single-pass using I only:

PROGRAM EXAMPLE DESCRIPTION % O2000 (.500 entered in the Radius/Diameter offset column) T1 M06 (Tool #1 is a .500 diameter end mill) G00 G90 G54 X0 Y0 S4000 M03 G43 H01 Z.1 M08 G13 Z-1.0 F20. D01 I.500 (Will complete a one-inch diameter hole one-inch G00 Z1.0 M09 deep) G28 G91 Y0 Z0 M30 %

PROGRAMMING EXAMPLES

257

June 2001 O MPERATORS ANUAL

96-8500 rev C

EXAMPLE G13 multiple-pass using I, K, and Q:

This example will complete a three-inch diameter hole, one inch deep, with a cutter overlap of .100 thousandths of an inch.

PROGRAM EXAMPLE DESCRIPTION % O3000 (.500 entered in the Radius/Diameter offset column) T1 M06 (Tool #1 is a .500 diameter end mill) G00 G90 G54 X0 Y0 S4000 M03 G43 H01 Z.1 M08 G13 Z-1.0 I.400 K1.5 Q.400 D01 F20. G00 Z1.0 M09 G28 G91 Y0 Z0 M30 %

EXAMPLE G13 Multiple-pass using I, K, Q, L, and G91:

This program uses G91 and an L count of 4. This cycle will execute a total of four times. The Z depth incre- ment is .500. This is multiplied by the L count, making the total depth of this hole 2.000.

The G91 and L count can also be used in G13 "I only" line.

NOTE: If the geometry column of the offsets display page has a value inserted within, the circular pocket milling cycle will automatically read the data, regardless of the D01 being present or not. The only effective way to cancel the cutter compensation for the pocket milling is to insert a D00 in the program line. This will bypass the value in the geometry column.

PROGRAM EXAMPLE DESCRIPTION % O4000 (.500 entered in the Radius/Diameter offset column) T1 M06 (Tool #1 is a .500 diameter end mill) G00 G90 G54 X0 Y0 S4000 M03 G43 H01 Z.1 M08 G01 Z0 F10. G13 G91 Z-.5 I.400 K2.0 Q.400 L4 D01 F20. G00 G90 Z1.0 M09 G28 G91 Y0 Z0 M30 %

258

PROGRAMMING EXAMPLES June 2001 O MPERATORS ANUAL

96-8500 rev C

GENERAL PURPOSE POCKET MILLING

The general purpose pocket milling program is included in the Haas control. This program is used to mill irregular shapes and is capable of leaving islands and bosses within a contour. With the G150, there is a main program for technical input and a subprogram for contour definition.

PROGRAM LINE REQUIREMENTS:

X = X-axis position of the starting hole Y = Y-axis position of the starting hole Z = Final depth of the hole F = Feed rate R = Reference plane Q = Incremental Z-axis cut depth per pass I = X-axis cut increment J = Y-axis cut increment K = finish cut allowance P = Subprogram number D = Geometry offset number G41 or G42 = Cutter compensation turn ON

G150 FORMAT EXAMPLE: % O4500 T1 M06 G00 G90 G54 X0 Y0 S3500 M03 G43 H01 Z.1 M08 G150 X__ Y__ Z__ F__ R__ Q__ I__ OR J__ K__ P4600 D__ G41 OR G42 G00 Z1.0 M09 G28 G40 G91 Y0 Z0 M30 %

% O4600 G01 X__ Y__ X__ Y__ X__ Y__ M99 %

The shape of the pocket to be cut must be defined by a series of motions within a subprogram. One of either I or J must be specified. If I is used, the pocket is cut from a series of strokes in the X-axis. If J is used, the pocket is cut from a series of strokes in the Y-axis. The value entered with the I or J will be the shift amount or cutter overlap. The K amount is the finishing allowance for the walls of the pocket.

PROGRAMMING EXAMPLES

259

June 2001 O MPERATORS ANUAL

96-8500 rev C

The subprogram must define a closed area by a series of G01, G02, or G03 motions on X- and Y-axes, and must end with an M99. The only other codes that can be used in the subprogram are: G90, G91, I, J, R, X, and Y. Any other codes are ignored. This subprogram must not exceed 20 strokes.

NOTE: When defining the contour in the subprogram, the idea to keep in mind is to only connect the contour not to return to the starting point.

G150 EXAMPLES -

ABSOLUTE SUBPROGRAM: INCREMENTAL SUBPROGRAM: % % O0500 O0500 G01 Y2.0 G01 G91 Y2.0 X-2.0 X-2.0 Y-2.0 Y-4.0 X2.0 X4.0 Y2.0 Y4.0 X0 G90 M99 M99 % %

260

PROGRAMMING EXAMPLES June 2001 O MPERATORS ANUAL

96-8500 rev C

SQUARE POCKET:

Pocket milling exercise for G150 operation.

4.0 x 4.0 x .500 DP. SQUARE POCKET:

% O1000 T1 M06 (Tool #1 is a .500 diameter end mill) G90 G54 G00 X0 Y0 S2000 M03 G43 H01 Z 0.1 M08 G01 Z0.01 F30. G150 P511 Z-0.5 Q0.25 R0.01 J0.3 K.01 G41 D01 F10. G40 G01 X0 Y0 G00 Z1. M09 G28 G91 Y0 Z0 M30 %

% O00511 G01 Y2. X-2. Y-2. X2. Y2. X0 M99 %

PROGRAMMING EXAMPLES

261

June 2001 O MPERATORS ANUAL

96-8500 rev C

SQUARE ISLAND:

Square island programming exercise using G150.

% O1000 T1 M06 (Tool is a .500 diameter end mill) G90 G54 G00 X2. Y2. S2500 M03 G43 H01 Z0.1 M08 G01 Z0.01 F30. G150 P521 X2. Y2. Z-0.5 Q0.5 R0.01 I0.3 K0.01 G41 D01 F10. G40 G01 X2. Y2. G00 Z1.0 M09 G28 G91 Y0 Z0 M30 %

% O0500 G01 Y1 X7. Y7. X1. Y3.75 X3.5 Y4.5 X4.5 Y3.5 X3.5 Y4.25 X1. Y1. X2. M99 %

262

PROGRAMMING EXAMPLES June 2001 O MPERATORS ANUAL

96-8500 rev C

ROUND ISLAND:

Round island programming exercise using G150.

% O1000 T1 M06 (Tool is a .500 diameter end mill) G90 G54 G00 X2. Y2. S2500 M03 G43 H01 Z0.1 M08 G01 Z0 F30. G150 P531 X2.0 Y2.0 Z-0.5 Q0.5 R0.01 I0.3 K0.01 G41 D01 F10. G40 G01 X2. Y2. G00 Z1.0 M09 G28 G91 Y0 Z0 M30 %

% O0500 G01 Y1 X7. Y7. X1 Y4. X3. G02 I1. G01 X4. Y.5 R1. X1. Y1. X2. M99 %

PROGRAMMING EXAMPLES

263

June 2001 O MPERATORS ANUAL

96-8500 rev C

PROGRAMMABLE MIRROR IMAGE

Programmable mirror image can be turned on or off individually for any of the four axes. The two codes are non- modal, but the mirror status of each axis is modal. The bottom of the CRT screen will indicate when an axis is mirrored. These codes should be used in a command block without any other G codes and will not cause any axis movement. G101 will turn on mirror image for any axis listed in that block. The actual value given for the X, Y, Z, or A code has no effect and should be entered as zero value.

Example: G101 X0 = Will turn on mirror image for the X-axis. G100 X0 = Will turn off mirror image for the X-axis.

Most mirror image applications would consist of irregular pockets and contours and would most likely be set up in subprograms for convenience.

NOTE: After completion of the first item, a Z-axis clearance move should be made. Then, the mirror image should be turned on with an axis specification. The following line needs the coordinates of the starting location of the original pocket. The following line will feed to the required Z-axis depth, the next line would contain a subprogram call or a contour definition, and last, a positive Z-axis clearance move.

The pockets should be arranged around a given origin, usually described as X0,Y0.

Mirror image and pocket milling exercise for O3600.

NOTE: When milling a shape with X-Y motions, turning on MIRROR IMAGE for just one of the X and Y will change climb milling to conventional milling and/or conventional milling to climb milling. As a result, you may not get the type of cut or finish that was desired. Mirror image of both X and Y will eliminate this problem.

264

PROGRAMMING EXAMPLES June 2001 O MPERATORS ANUAL

96-8500 rev C

PROGRAM CODE FOR MIRROR IMAGE IN X-AXIS:

PROGRAM EXAMPLE DESCRIPTION % O3600 (Mirror image X-axis) T1 M06 (Tool #1 is a .250 diameter end mill) G00 G90 G54 X-.4653 Y.052 S5000 M03 G43 H01 Z.1 M08 G01 Z-.25 F5. F20. M98 P3601 G00 Z.1 G101 X0. X-.4653 Y.052 G01 Z-.25 F5. F20. M98 P3601 G00 Z.1 G100 X0. G28 G91 Y0 Z0 M30 %

% O3601 (Contour subprogram) G01 X-1.2153 Y.552 G03 X-1.3059 Y.528 R.0625 G01 X-1.5559 Y.028 G03 X-1.5559 Y-.028 R.0625 G01 X-1.3059 Y-.528 G03 X-1.2153 Y-.552 R.0625 G01 X-.4653 Y-.052 G03 X-.4653 Y.052 R.0625 M99 %

PROGRAMMING EXAMPLES

265

June 2001 O MPERATORS ANUAL

96-8500 rev C

PROGRAM CODE FOR MIRROR IMAGE IN THE X, Y, AND XY AXES:

Mirror image (X, Y, and X-Y) and pocket milling exercise for 03700.

PROGRAM EXAMPLE DESCRIPTION % O3700 (Mirror image X, Y, and XY axes) T1 M06 (Tool #1 is a .250 diameter end mill) G00 G90 G54 X-.2923 Y.3658 S5000 M03 G43 H01 Z.1 M08 G01 Z-.25 F5. F20. M98 P3701 G00 Z.1 G101 X0. (Turn on mirror image X-axis) X-.2923 Y.3658 (Position to original coordinates) G01 Z-.25 F5. (Feed to Z depth) F20. (Pocket feed rate) M98 P3701 (Pocket contour subprogram call) G00 Z.1 (Part clearance) G100 X0. (Cancel mirror image X-axis) G101 Y0. (Turn on mirror image Y-axis) X-.2923 Y.3658 G01 Z-.25 F5. F20. M98 P3701 G00 Z.1 G100 Y0. (Cancel mirror image Y-axis) G101 X0. Y0. (Turn on mirror image X and Y axes) X-.2923 Y.3658 G01 Z-.25 F5. F20.

266

PROGRAMMING EXAMPLES June 2001 O MPERATORS ANUAL

96-8500 rev C

M98 P3701 G00 Z.1 G100 X0. Y0. (Cancel mirror image X and Y axes) G28 G91 Y0 Z0 M30

O3701 (Contour subprogram) G01 X-.469 Y1.2497 G03 X-.5501 Y1.2967 R.0625 G01 X-1.0804 Y1.12 G03 X-1.12 Y1.0804 R.0625 G01 X-1.2967 Y.5501 G03 X-1.2497 Y.469 R.0625 G01 X-.3658 Y.2923 G03 X-.2923 Y.3658 R.0625 M99 %

THREAD MILLING

We will use the following example and go through the thread milling procedures step-by-step to get the desired result:

DATA:

I.D. Thread milling a 1.5 x 8 TPI hole. Using .750 diameter x 1.0 thread hob. Take the hole diameter 1.500. Subtract cutter diameter .750 = .750 Then divide by 2 = .375.

STEP 1: Within this space we need to turn on cutter compensation and ramp on to the circle to be machined.

STEP 2: Perform complete circle while simultaneously moving in the Z-axis the amount of one full pitch of the thread. This is called helical interpolation.

STEP 3: Ramp off the circle and turn off the cutter compensation.

NOTE: Always climb cut the cutter.

I.D. will be G03; O.D. will be G02. An I.D. right hand thread will move up in the Z-axis by the amount of one thread pitch. An O.D. right hand thread will move down in the Z-axis by the amount of one thread pitch.

PITCH = 1.0/Threads per inch

Example 1.0 divided by 8 TPI = .125

Cutter compensation cannot be turned off or on during an arc movement. A linear turn on and turn off movement must be made, either in the X- or Y-axis. This move will be the maximum compensation amount that can be adjusted.

PROGRAMMING EXAMPLES

267

June 2001 O MPERATORS ANUAL

96-8500 rev C

Thread milling exercise

PROGRAM EXAMPLE DESCRIPTION

% O2300 (Thread milling 1.5 diameter x 8 TPI) (X0, Y0 is at the center of the hole) (Z0 is at the top of the part) (Using .5 thick material) G00 G90 G54 X0 Y0 S400 M03 G43 H01 Z.1 M08 Z-.6 N1 G01 G41 D01 X.175 F25. (Turn on Cutter Comp) N2 G03 X.375 R.100 F7. (Ramp on move) N3 G03 I-.375 Z-.475 (One full revolution with Z moving up.125) N4 G03 X.175 R.100 (Ramp off move) N5 G01 G40 X0 Y0 (Cancel Cutter Comp) G00 Z1.0 M09 G28 G91 Y0 Z0 M30 %

NOTE: Maximum cutter compensation adjustability is .175, which is more than enough for this application.

Start with zero in the diameter offset column and enter a negative number to increase the thread diameter.

268

PROGRAMMING EXAMPLES June 2001 O MPERATORS ANUAL

96-8500 rev C

O.D. THREAD MILLING -

O.D. thread milling exercise.

PROGRAM EXAMPLE DESCRIPTION % O2400 (Thread milling a 2.0 diameter post x 16 TPI) (X0,Y0 is at the center of the post) (Z0 is at the top of the part) (Post height is 1.125 inch) G00 G90 G54 X0 Y2.0 S2000 M03 G43 H01 Z.1 M08 Z-1.0 G41 D01 X-1.5 Y1.125 (Turning on cutter compensation.) G01 X0. F15. (Linear interpolation onto the post.) G02 J-1.125 Z-1.0625 (360o helical circle; negative Z move.) G01 X1.5 (Linear interpolation off the post.) G00 G40 X0 Y2.0 (Turning off cutter compensation.) Z1.0 M09 G28 G91 Y0 Z0 M30 %

NOTE: A cutter compensation turn on move can consist of any X or Y move from any position just as long as the move is greater than the amount being compen- sated for. The same rule applies for turning off cutter compensation.

PROGRAMMING EXAMPLES

269

June 2001 O MPERATORS ANUAL

96-8500 rev C

SINGLE-POINT THREAD MILLING

Using the following data, we will write a program for single-point thread milling procedures:

DATA: 2.500 hole

Diameter of cutter (Subtract .750): 1.75

Radial value (Divide by 2) : .875

Thread pitch: .0833 (12 TPI)

Part thickness: 1.00

PROGRAM EXAMPLE DESCRIPTION % O1000 (X0,Y0 is at the center of the hole) (Z0 is at the top of the part) T1 M06 (Tool #1 is a .750 diameter single-point thread tool) G00 G90 G54 X0 Y0 S2500 M03 G43 H01 Z.1 M08 G01 Z-1.083 F35. G41 X.275 DI (Radial value) G3 X.875 I.3 F15. G91 G3 I-.875 Z.0833 L14 (Multiply .0833 pitch x 14 passes = 1.1662 = total in Z-axis) G90 G3 X.275 I-.300 G00 G90 Z1.0 M09 G1 G40 X0 Y0 G28 G91 Y0 Z0 M30 %

270

PROGRAMMING EXAMPLES June 2001 O MPERATORS ANUAL

96-8500 rev C

FOURTH AXIS PROGRAMMING

Fourth axis programming exercise.

PROGRAM EXAMPLE DESCRIPTION

% O1234 (Fourth axis program using a Haas Servo 5C) (Material is 1.0 round stock x 3.0 L) (Set material in collet to protrude 2.25.) (Set fixture parallel with the table T-slots on the right side.) (X0 is the front of the material.) (Y0 is the centerline of the spindle and material.) (Z0 is the top of the part.) T1 M06 (Tool #1 is a .500 end mill to mill hex.) G00 G90 G54 X.250 Y-.500 A0 S4500 M03 G43 H01 Z.1 M08 M98 P1235 L6 G00 G90 Z.1 M09 T2 M06 (Tool #2 is a .375 NC spot drill.) G00 G90 G54 X1.0 Y0 A0 S5000 M03 G43 H02 Z.1 M08 G82 Z-.1 F10. R.1 P300 X2.0 A90. X1.0 A180. X2.0 A270. X1.0 G00 G80 Z.1 M09 (Cont'd.)

PROGRAMMING EXAMPLES

271

June 2001 O MPERATORS ANUAL

96-8500 rev C

T3 M06 (Tool #3 is a .1875 stub twist drill.) G00 G90 G54 X1.0 Y0 A0 S5000 M03 G43 H03 Z.1 M08 G83 Z-1.125 F12. R.1 Q.25 X2.0 A90. X1.0 G00 G80 Z.1 M09 T4 M06 (Tool #4 is a .125 end mill.) G00 G90 G54 X1.0 Y0 A0 S5000 M03 G43 H04 Z.1 M08 M98 P1236 G00 G90 Z.1 M09 G28 G91 Y0 Z0 M30 %

% O1235 (Subprogram to mill hex.) G01 Z-.125 F50. Y.5 F35. G00 Z.1 G91 Y-1.0 A60. G90 M99 %

The following subprogram can be written in absolute or incremental programming. Examine each program and determine which style would be faster and easier to understand and to program in the future.

ABSOLUTE: INCREMENTAL: % % O1236 (Subprogram to mill channels.) O1236 (Subprogram to mill channels.) G01 Z-.25 F15. G91 X2.0 A90. G01 Z-.35 F15. G00 Z.1 X1.0 A90. A180. G00 Z.35 G01 Z-.25 A90. X1.0 A90. G01 Z-.35 G00 Z.1 X-1.0 A-90. A180. G00 Z.35 G01 Z-.25 A90. X2.0 A270. G01 Z-.35 G00 Z.1 X1.0 A90. A360. G00 Z.35 G01 Z-.25 A90. X1.0 A270. G01 Z-.35 G00 Z.1 X-1.0 A-90. M99 G00 G90 Z.1 % M99

%

272

PROGRAMMING EXAMPLES June 2001 O MPERATORS ANUAL

96-8500 rev C

FORMULAS

TAPPING -

STANDARD thread formula: Revolutions per minute (RPM) divided by threads per inch (TPI) = Feed rate in inches per minute

RPM/TPI = F

METRIC thread formula: Pitch (P) multiplied by .03937 = ____ multiplied by RPM = Feed rate in inches per minute

(P x .03937) x RPM = F

SPEED AND FEEDS -

S.F.M. (Surface Feet per Minute): .262 multiplied by the cutter diameter multiplied by the RPM = SFM

.262 x Cutter Diameter x RPM = SFM

R.P.M. (Revolutions Per Minute): 3.82 multiplied by the recommended SFM divided by the cutter diameter = RPM

(3.82 x SFM) / Cutter Diameter = RPM

I.P.M. (Inch Per Minute): Feed per tooth multiplied by the number of cutter teeth multiplied by the RPM = Feed rate in inches per minute.

(Feed/tooth x n) x RPM = IPM or F

CUBIC INCH PER MINUTE: MATERIAL REMOVAL RATE Effective diameter of cut multiplied by the depth of cut multiplied by the inch per minute feed rate = cubic inch per minute.

(E Diameter x d) x IPM = CIPM

273

SETTINGSJune 2001 O MPERATORS ANUAL

96-8500 rev C

8. SETTINGS

The setting pages contain values that the user may need to change and that control machine operation. Most settings can be changed by the operator. The settings are preceded by a short description on the left and the value on the right. In general, settings allow the operator or setup person to lock out or turn on specific func- tions.

The settings are organized into pages of functionally similar groupings. This will make it easier for the user to remember where the settings are located and reduces the amount of time spent maneuvering through the settings display. The list below is separated into page groups with the page title as the heading.

Use the vertical cursor keys to move to the desired setting. Depending on the setting, you may change it by entering a new number or, if the setting has specific values, press the horizontal cursor keys to display the choices. Press the WRITE key to enter or change the value. The message near the top of the screen tells you how to change the selected setting.

The serial number is Setting 26 on this page and is protected from user change. If you need to change this setting, contact HAAS or your dealer.

One of the more commonly adjusted settings will be number 34, the "Rotary Axis Diameter". This setting is used to control the surface feed rate when the fourth axis is used in a cutting feed. Feeding with the X, Y, or Z and the A axes assumes that the linear motion is along the axis of the rotary motion. When this is true and the diameter setting is correct, the programmed surface feed rate will be correct for helical cuts. In addition, feeds of just the A-axis depend on this setting to determine the correct angular rate.

If you have a fourth axis 5C, fifth axis, or rotary table, it may be disabled from the setting page and removed from the machine. Do not connect or disconnect any cables with the control on. If you do not disable the fourth axis when it is disconnected, you will get an alarm.

Settings may be sent and received with the RS-232 port. See the "Data Input / Output" section for a description of how to do this.

The settings are listed here with a description of each. The page title will precede each page of settings and the settings will appear in order as shown on the screen.

274

SETTINGS June 2001 O MPERATORS ANUAL

96-8500 rev C

Page Name: Setting No: Description: Range of Value:

GENERAL

26 SERIAL NUMBER 1000 to 99999 82 LANGUAGE English, German, French, Spanish, Italian 1 AUTO POWER OFF TIMER 0 to 9999 minutes 81 TOOL AT POWER DOWN 0 to 20 9 DIMENSIONING INCH or METRIC 77 SCALE INTEGER F ON or OFF 33 COORDINATE SYSTEM FANUC, YASNAC, or HAAS 53 JOG W/O ZERO RETURN ON or OFF 40 TOOL OFFSET MEASURE RADIUS or DIAMETER 64 T. OFS MEAS USES WORK ON or OFF 109 WARM-UP TIM IN MIN. 0 to 300 110 WARMUP X DISTANCE -.0020 to .0020 (-.051mm to .051mm) 111 WARMUP Y DISTANCE -.0020 to .0020 (-.051mm to .051mm) 112 WARMUP Z DISTANCE -.0020 to .0020 (-.051mm to .051mm)

PROGRAM 1

2 POWER OFF AT M30 ON or OFF 31 RESET PROGRAM POINTER ON or OFF 36 PROGRAM RESTART ON or OFF 39 BEEP AT M30 ON or OFF 51 DOOR HOLD OVERRIDE ON or OFF 56 M30 RESTORE DEFAULT G ON or OFF 59 PROBE OFFSET X+ -30.0000 to +30.0000 inches 118 M99 BUMPS M30 COUNTES ON or OFF 60 PROBE OFFSET X- -30.0000 to +30.0000 inches 61 PROBE OFFSET Y+ -30.0000 to +30.0000 inches 62 PROBE OFFSET Y- -30.0000 to +30.0000 inches 63 TOOL PROBE WIDTH -30.0000 to +30.0000 inches 71 DEFAULT G51 SCALING .001 to 8379.999 72 DEFAULT G68 ROTATION 0.0000 to 3599.999 73 G68 INCREMENTAL ANGLE ON or OFF 118 M99 BUMPS M30 CNTRS ON or OFF

PROGRAM 2

30 4TH AXIS ENABLE OFF, S5C, 7RT, 9RT, SRT, 11RT, HA5C, HRT160, HRT210, HRT310, 5CN, HRT450, HRT310HA, HRT450HA, VR-A, VR-B

34 4TH AXIS DIAMETER 0 to 29.9999 inches 78 5TH AXIS ENABLE OFF, S5C, 7RT, 9RT, SRT, 11RT, HA5C,

HRT160, HRT210, HRT310, 5CN, HRT450, HRT310HA, HRT450HA, VR-A, VR-B

79 FIFTH AXIS DIAMETER 0 to 29.9999 inches 38 AUX AXIS NUMBER 0 to 5 22 CAN CYCLE DELTA Z 0 to 29.9999 inches 28 CAN CYCLE ACT W/O X/Y ON or OFF 52 G83 RETRACT ABOVE R 0.0 to 9.9999 inches 57 EXACT STOP CANNED X-Y ON or OFF 43 CUTTER COMP TYPE A or B 44 MIN F IN RADIUS CC % 1 to 100 58 CUTTER COMPENSATION FANUC or YASNAC 85 MAX CORNER ROUNDING 0 to 0.25

275

SETTINGSJune 2001 O MPERATORS ANUAL

96-8500 rev C

Page Name: Setting No: Description: Range of Value:

PROGRAM 3

15 H & T CODE AGREEMENT ON or OFF 27 G76/G77 SHIFT DIR. X+, X-, Y+, or Y- 29 G91 NON-MODAL ON or OFF 32 COOLANT OVERRIDE NORMAL, OFF, or IGNORE 35 G60 OFFSET 0 to 0.9999 inches 42 M00 AFTER TOOL CHANGE ON or OFF 49 SKIP SAME TOOL CHANGE ON or OFF 86 M39 LOCKOUT ON or OFF 108 QUICK ROTARY G28 ON or OFF 45 MIRROR IMAGE X-AXIS ON or OFF 46 MIRROR IMAGE Y-AXIS ON or OFF 47 MIRROR IMAGE Z-AXIS ON or OFF 48 MIRROR IMAGE A-AXIS ON or OFF 80 MIRROR IMAGE B-AXIS ON or OFF

RS-232 PORTS

11 BAUD RATE SELECT 50, 110, 200, 300, 600, 1200, 2400, 4800, 7200, 9600, 19200, 38400, or 115200(optional)

12 PARITY SELECT NONE, ODD, EVEN, ZERO 13 STOP BIT 1 or 2 14 SYNCHRONIZATION XON/XOFF, RTS/CTS, DC CODES, or

XMODEM 37 RS-232 DATA BITS 7 or 8 24 LEADER TO PUNCH NONE, BLANK, or NUL CHAR 25 EOB PATTERN CR LF, LF ONLY, CR ONLY, or LF CR CR 41 ADD SPACES RS232 OUT ON or OFF 50 AUX AXIS SYNC XON/XOFF, RTS/CTS, DC CODES, or

XMODEM 54 AUX AXIS BAUD RATE 50, 110, 200, 300, 600, 1200, 2400, 4800,

7200, 9600, 19200, 38400, 115200(optional) 69 DPRNT LEADING SPACES ON or OFF 70 DPRNT OPEN/CLOS DCODE ON or OFF

CONTROL PANEL

6 FRONT PANEL LOCK ON or OFF 55 ENABLE DNC FROM MDI ON or OFF 76 TOOL RELEASE LOCK OUT ON or OFF 16 DRY RUN LOCK OUT ON or OFF 17 OPT STOP LOCK OUT ON or OFF 18 BLOCK DELETE LOCK OUT ON or OFF 10 LIMIT RAPID AT 50% ON or OFF 103 CYC START/FH SAME KEY ON or OFF 104 JOG HANDL TO SNGL BLK ON or OFF 84 TOOL OVERLOAD ACTION ALARM, FEEDHOLD, BEEP, PAUSE,

AUTOFEED

276

SETTINGS June 2001 O MPERATORS ANUAL

96-8500 rev C

Page Name: Setting No: Description: Range of Value:

MISCELANEOUS

100 SCREEN SAVER DELAY 114 CONVEYOR CYCLE 0 - 1440 115 CONVEYOR ON-TIME 0 - 1440 116 PIVOT LENGTH 117 G143 GLOBAL OFFSET

EDITING

7 PARAMETER LOCK ON or OFF 8 MEMORY PROTECT ON or OFF 23 9xxxx PROGS EDIT LOCK ON or OFF 74 9xxxx PROGS TRACE ON or OFF 75 9xxxx PROGS SINGLE BLK ON or OFF 119 OFFSET LOCK ON or OFF 120 MACRO VAR LOCK ON or OFF

GRAPHICS

3 RESERVED N/A 4 GRAPHICS RAPID PATH ON or OFF 5 GRAPHICS DRILL POINT ON or OFF 65 GRAPH SCALE (HEIGHT) 0 to 16.250 66 GRAPHICS X OFFSET 0 to 30 67 GRAPHICS Y OFFSET 0 to 24 68 GRAPHICS Z OFFSET 0 to 16

OVERRIDES

19 FEEDRATE OVERRIDE LOCK ON or OFF 20 SPINDLE OVERRIDE LOCK ON or OFF 21 RAPID OVERRIDE LOCK ON or OFF 87 M06 RESET OVERRIDES ON or OFF 83 M30 RESET OVERRIDE ON or OFF 88 RESET RESET OVERRIDE ON or OFF 101 FEED OVERRIDE RAPID ON or OFF 144 FEED OVERRIDE->SPINDLE ON or OFF

The following is a detailed description of each of the settings:

1 AUTO POWER OFF TIMER This is a numeric setting. When it is set to a number other than zero, the machine will be automatically turned off after that many minutes of idle operation. This will not occur while a program is running and will not occur while the operator is pressing any keys. The auto off sequence gives the operator a 15 second warning and pressing any key will interrupt the sequence.

2 POWER OFF AT M30 This is an On/Off setting. If it is set to ON, the machine will begin an automatic power down when an M30 ends a program. The auto off sequence gives the operator a 30 second warning and pressing any key will interrupt the sequence.

3 RESERVED This setting is reserved for future use.

277

SETTINGSJune 2001 O MPERATORS ANUAL

96-8500 rev C

4 GRAPHICS RAPID PATH This is an On/Off setting. It changes what is displayed in graphics. When it is off, the rapid motions do not leave a trail. When it is on, rapid motions leave a dashed line on the screen.

5 GRAPHICS DRILL POINT This is an On/Off setting. It changes what is displayed in graphics. When it is off, nothing is added to the graphics display. When it is on, any motion in the Z-axis will leave an X mark on the screen.

6 FRONT PANEL LOCK This is an On/Off setting. When it is off, the machine operates normally. When it is on, the spindle CW and CCW buttons are disabled.

7 PARAMETER LOCK This is an On/Off setting. When it is off, parameters can be changed. When it is on, parameter changes are locked out except for parameters 81 through 100. When the control is turned on, this setting is set to On.

8 PROG MEMORY LOCK This is an On/Off setting. When it is off, memory can be edited. When it is on, memory edit functions are locked out.

9 DIMENSIONING This is an Inch/Metric setting. When it is set to Inch, the programmed units for X, Y, and Z are inches to 0.0001. When it is set to Metric, programmed units are millimeters to 0.001. Note: Changing this setting will not automatically translate a program already stored in memory. You must change program axis values for the new units. When set to Inch, the Group 6 default G Code is G20. When set to Metric, the default G Code is G21. When this setting is changed from inches to metric, or vice versa, all offset values will be converted accordingly.

HCNI CIRTEM

deeF levarTxaM

noisnemiDelbammargorP.niM egnaRdeeF

.nim/sehcni 0000.00451-/+

1000. .nim/ni000.003ot1000.

.nim/mm 000.00393-/+

100. 000.0001ot100.

syeKgoJsixA

yeK1000. 100.

10. yeK1.

kcilcgoj/ni1000. kcilcgoj/ni100.

kcilcgoj/ni10. kcilcgoj/ni1.

kcilcgoj/mm100. kcilcgoj/mm10.

kcilcgoj/mm1. kcilcgoj/mm1

10 LIMIT RAPID AT 50% This is an On/Off setting. When it is off, the highest rapid speed of 100% is available normally. When it is on, the highest rapid rate is limited to 50% of maximum. When you press the 100% button, the display will indicate a 50% rapid override. When this settings is turned on, the rapid override will not automatically change from 100% to 50%; you must press the 100% override buttons to get 50%. If the machine is turned on after this setting is turned on, the maximum override will automatically be limited to 50%.

11 BAUD RATE SELECT This setting allows the operator to change the serial data rate for the first serial port. This applies to program, settings, offsets, and parameters upload and download and to DNC functions.

278

SETTINGS June 2001 O MPERATORS ANUAL

96-8500 rev C

12 PARITY SELECT This setting allows the setting of parity for the first serial port. The possible values are: NONE, ODD, EVEN, ZERO. When set to none, no parity bit is added to the serial data. When set to zero, a 0 bit is added in the place of parity. Even and odd work like normal parity functions. Make sure you know what your system needs. XMODEM must use 8 data bits and no parity.

13 STOP BIT This setting changes the number of stop bits for the first serial port. It can be selected to be 1 or 2.

14 SYNCHRONIZATION This changes the synchronization protocol between sender and receiver for the first serial port. When set to RTS/CTS, the signal wires in the serial data cable are used to tell the sender to temporarily stop sending data while the receiver catches up. When it is set to XON/XOFF, those ASCII character codes are used by the receiver to tell the sender to temporarily stop. XON/XOFF is the most common setting.

DC CODES is like XON/XOFF but the paper tape punch or reader start/stop codes are sent. XMODEM is a receiver-driven communications protocol that sends data in blocks of 128 bytes. XMODEM gives the RS-232 communication added reliability because each block is checked for integrity. Refer to "Data Input/Output" section for more information. XMODEM must use 8 data bits and no parity.

15 H & T CODE AGREEMENT This is an On/Off setting. When it is off, no special functions occur. When it is set to on, a check is made to ensure that the H offset code matches the tool presently in the spindle. This check can help to prevent crashes. In program restart this check is not done until motion begins.

16 DRY RUN LOCK OUT This is an On/Off setting. When it is off, the machine operates normally. When it is on, the DRY RUN function cannot be turned on.

17 OPT STOP LOCK OUT This is an On/Off setting. When it is off, the machine operates normally. When it is on, the OPTIONAL STOP function cannot be turned on.

18 BLOCK DELETE LOCK OUT This is an On/Off setting. When it is off, the machine operates normally. When it is on, the BLOCK DELETE function cannot be turned on.

19 FEED RATE OVERRIDE LOCK This is an On/Off setting. When it is off, the machine operates normally. When it is on, the feed rate override buttons are locked out.

20 SPINDLE OVERRIDE LOCK This is an On/Off setting. When it is off, the machine operates normally. When it is on, the spindle speed override buttons are locked out.

21 RAPID OVERRIDE LOCK This is an On/Off setting. When it is off, the machine operates normally. When it is on, the rapid speed override buttons are locked out.

22 CAN CYCLE DELTA Z This is a decimal numeric entry. It must be in the range of 0.0 to 29.9999 inches. This setting specifies the delta Z used in the G73 canned cycle when the Z-axis is moved up to clear chips.

279

SETTINGSJune 2001 O MPERATORS ANUAL

96-8500 rev C

23 9xxx PROGS EDIT LOCK This is an On/Off setting. When it is off, the machine operates normally. When it is on, the 9000 series programs (usually macro programs) are invisible to the operator and cannot be uploaded or download. They also cannot be listed, edited, or deleted.

24 LEADER TO PUNCH This setting is used to control the leader sent to a paper tape punch device connected to the first RS-232 port. The values that can be selected are: NONE, BLANK, or NUL CHAR. None causes no extra data to be sent as a leader. Blank causes two feet of blanks to be punched at the start of a program and one foot of blanks at the end. Null causes the same thing as blanks but uses the ASCII code null which is all zero.

25 EOB PATTERN This setting controls what is sent out and expected as input to represent the EOB (end of block) on serial port one. The possible selections are: CR LF, LF only, CR only, or LF CR CR.

26 SERIAL NUMBER This is a numeric entry. It is the serial number of your machine. It cannot be changed.

27 G76/G77 SHIFT DIR. This setting controls the shift direction used to clear a boring tool during a G76 or G77 canned cycle. The possible selections are: X+, X-, Y+, or Y-.

28 CAN CYCLE ACT W/O X/Y This is an On/Off setting. When it is off, an initial canned cycle definition without an X or Y motion will not cause the canned cycle to be executed. When it is on, the initial canned cycle definition will cause one cycle to be executed even if there is no X or Y motion in that command block. Note that if an L0 is in that block, it will never execute the canned cycle on the definition line.

29 G91 NON-MODAL This is an On/Off setting. When it is off, the machine operates normally. When it is on, G91 is not modal and applies only to the command block on which it occurs.

30 4TH AXIS ENABLE When it is off, the fourth axis is disabled and no commands can be sent to that axis. When off is not se- lected, the selected rotary table type parameters are called up. A change to rotary parameters is saved under the selected table type for later recall. In order to change this setting the servos must be turned off.

31 RESET PROGRAM POINTER This is an On/Off setting. When it is off, the RESET button will not change the execution program pointer. When it is on, a RESET will change the program execution pointer to the beginning of the program.

32 COOLANT OVERRIDE This setting controls how the coolant pump operates. The possible selections are: NORMAL, OFF, or IGNORE. The "NORMAL" setting allows the operator to turn the pump on and off manually or with M codes. The "OFF" setting will generate an alarm if an attempt is made to turn the coolant on manually or from a program. The "IGNORE" setting will ignore all coolant commands, but the pump can be turned on manually.

33 COORDINATE SYSTEM This setting changes the way the G92/G52 offset system works. It can be set to FANUC, HAAS, or YASNAC. The Fanuc and HAAS class of controls uses the G52 offset differently than the Yasnac class of controls. In a Fanuc or HAAS control, G52 sets a local coordinate system. In a Yasnac control, the G52 stands on its own as another work offset.

280

SETTINGS June 2001 O MPERATORS ANUAL

96-8500 rev C

34 4th AXIS DIAMETER This is a numeric entry. It is used to set the angular feed rate of the A-axis. It must be in the range of 0.0 to 50 inches. Since the feed rate specified in a program is always inches per minute (or mm per minute), the control must know the diameter of the part being worked in the A-axis in order to compute the angular feed rate. When this setting is set correctly, the surface feed rate on a rotary cut will be exactly the feed rate programmed into the control. The feed rate will be correct only as long as the axis remains orthogonal (at right angles) to all other axes.

35 G60 OFFSET This is a numeric entry in the range of 0.0 to 0.9999 inches. It is used to specify the amount of overshoot when unidirectional positioning (G60) is programmed.

36 PROGRAM RESTART This is an On/Off setting. When it is off, starting a program from anywhere other than the beginning may produce inconsistent results. When it is on, starting a program from the middle causes the entire program to be scanned to ensure that the correct tools, offsets, G codes, and axes positions are set correctly before starting at the block where the cursor is positioned. Some alarm conditions are not detected prior to motion starting.

37 RS-232 DATA BITS This setting can be selected to be either 7 or 8. It is used to change the number of data bits for serial port one. Normally, seven data bits should be used. Some computers require eight. Note that parity is added to this count. XMODEM must use 8 data bits and no parity.

38 AUX AXIS NUMBER This is a numeric entry between 0 and 4. It is used to select the number of external auxiliary axes added to the system. If it is set to 0, there are no auxiliary axes. If it is set to 1, there is a C-axis. If it is set to 2, there are C and U axes.

39 BEEP AT M30 This is an On/Off setting. When it is off, nothing is changed. When it is on, a program ending in an M30 will cause the keyboard beeper to sound until another keyboard key is pressed.

40 TOOL OFFSET MEASURE This setting selects how tool size is specified for cutter compensation. It can be set to either Radius or Diam- eter. The value in the tool offset tables is used differently depending on this setting. In addition, the label on the offsets page changes to indicate how offsets should be entered.

41 ADD SPACES RS232 OUT This is an On/Off setting. When it is off, programs sent out the serial port have no spaces and are difficult to read. When it is on, spaces are added between address codes when a program is sent out RS-232 serial port one. This can make program much easier to read.

42 M00 AFTER TOOL CHANGE This is an On/Off setting. When it is off, tool changes occur normally. When it is on, a program stop will occur after a tool change and M00 AFTER TOOL CHANGE is displayed as a message at the bottom left. This affects only programmed tool changes.

43 CUTTER COMP TYPE This setting controls how an entry to cutter compensation occurs. It can be selected to be A or B. It affects only the first stroke that begins cutter compensation and changes the way the tool is cleared from the part being cut.

281

SETTINGSJune 2001 O MPERATORS ANUAL

96-8500 rev C

44 MIN F IN RADIUS CC % This setting is a numeric entry between 1 and 100. It affects the feed rate when cutter compensation moves the tool towards the inside of a circular cut. In order to maintain a constant surface feed rate, such a cut will be slowed down. This setting specifies the minimum feed rate as a percentage of the programmed feed rate.

45 MIRROR IMAGE X-AXIS

46 MIRROR IMAGE Y-AXIS

47 MIRROR IMAGE Z-AXIS

48 MIRROR IMAGE A-AXIS These are On/Off settings. When it is off, axes motions occur normally. When it is on, the specific axis motion is mirrored (or reversed) around the work zero point.

49 SKIP SAME TOOL CHANGE This is an On/Off setting. When it is off, an M16 will always cause a tool change sequence to occur; even if the same tool is put back into the spindle. When it is on, a tool change to the same tool as is in the spindle will cause no action.

50 AUX AXIS SYNC This changes the synchronization protocol between sender and receiver for the second serial port. When set to RTS/CTS, the signal wires in the serial data cable are used to tell the sender to temporarily stop sending data while the receiver catches up. When it is set to XON/XOFF, those ASCII character codes are used by the receiver to tell the sender to temporarily stop. XON/XOFF is the most common setting. Make sure that the Haas servo control is set to the same condition.

DC CODES is like XON/XOFF but the paper tape punch or reader start/stop codes are sent. XMODEM is a receiver-driven communications protocol that sends data in blocks of 128 bytes. XMODEM gives the RS-232 communication added reliability because each block is checked for integrity. Refer to "Data Input/Output" section for more information.

51 DOOR HOLD OVERRIDE This is an On/Off setting. When it is off, a program cannot be started when the doors are open and opening the doors will cause a running program to stop just like in FEED HOLD. When it is on, and Parameter 57 bits DOOR STOP SP and SAFETY CIRC are set to zero, the door condition is ignored. When the control is turned on, this setting is set to Off.

52 G83 RETRACT ABOVE R This is a numeric entry in the range of 0.0 to 9.9999 inches. This setting changes the way G83 and G73 works when it returns to the R plane. Most programmers set the R plane well above the cut to ensure that the chip clear motion actually allows the chips to get out of the hole but this causes a wasted motion when first drilling through this "empty" space. If Setting 52 is set to the distance required to clear chips, the R plane can be put much closer to the part being drilled. When the clear move to R occurs, the Z will be moved above R by this setting.

53 JOG W/O ZERO RETURN This is an On/Off setting. When it is off, jogging of an axis is inhibited until the zero return operation is com- pleted. When it is ON, jogging of an axis is allowed prior to the zero return. The ON condition can be danger- ous in that an axis can be run into the stops, however, the maximum speed allowed is one inch per minute or 0.0010 inches per handle increment. When the control is turned on, this setting is set to OFF.

282

SETTINGS June 2001 O MPERATORS ANUAL

96-8500 rev C

54 AUX AXIS BAUD RATE This setting allows the operator to change the serial data rate for the second serial port. This applies to the interface with the optional C, U, V, and W axes. The possible values include: 50, 110, 200, 300, 600, 1200, 2400, 4800, 7200, 9600, 19200, 38400. Note that 4800 is standard in Haas servo controls and this should be set to the same value.

55 ENABLE DNC FROM MDI This is an On/Off setting. When it is off, DNC cannot be selected. When it is turned on, DNC is selected by pressing MDI while already in MDI. The DNC option must be enabled in the control.

56 M30 RESTORE DEFAULT G This is an On/Off setting. When it is off, no change to the modal G codes occurs at the end of a program (normally M30). When it is on, an M30 will reset all of the modal G codes to their defaults. If this setting is on, RESET will also reset defaults.

57 EXACT STOP CANNED X-Y This is an On/Off setting. When it is off, the rapid X-Y motion associated with a canned cycle may not get exact stop; according to other conditions. When it is on, the X-Y motion always gets exact stop. This will make canned cycles slower but less likely to run into a close tolerance fixture.

58 CUTTER COMPENSATION This setting controls the type of cutter compensation used in the control. The types are similar to the method of cutter compensation available in other classes of controls.

59 PROBE OFFSET X+

60 PROBE OFFSET X-

61 PROBE OFFSET Y+

62 PROBE OFFSET Y- Settings 59 through 62 are used to define the displacement and size of the spindle probe. These numbers only apply to the probing option. These four numbers specify the travel distance in four directions from where the probe is triggered to where the actual sensed surface is located. They are used by G31, G36, G136, and M75. They can be both positive and negative numbers. If the probe width were 0.23 inches in diameter and the probe was set exactly at the center of the spindle, these four settings would all be 0.115 inches.

63 TOOL PROBE WIDTH This setting is used to specify the width of the probe that is used to test tool diameter. This setting only applies to the probing option. It is used by G35.

64 T. OFS MEAS USES WORK This is an on/off setting. It changes the way the TOOL OFSET MESUR button works. When this is ON, the entered tool offset will be relative to the currently selected work coordinate Z offset. When it is OFF, the tool offset equals the Z machine position.

65 GRAPH SCALE (HEIGHT) This setting specifies the height of the work area that is displayed on the graphics screen. The maximum size is automatically limited to default height. The default shows the machine's entire work area. A specific scale can be set by using the following formula. The default of the setting is the total Y travel.

Total Y travel = Parameter 20 / Parameter 19 (16.25 VF-0 through VF-2) Scale = Total Y travel / Setting 65

283

SETTINGSJune 2001 O MPERATORS ANUAL

96-8500 rev C

66 GRAPHICS X OFFSET This setting locates the right side of the scaling window relative to the machine X zero position, (See "Displays" section). Its default is zero.

67 GRAPHICS Y OFFSET This setting locates the top of the scaling window relative to the machine Y zero position, (See "Displays" section). Its default is zero.

68 GRAPHICS Z OFFSET Reserved for future use.

69 DPRNT LEADING SPACES This is an on/off setting. It suppresses leading spaces that are generated by a macro DPRNT format state- ment. In a DPRNT statement the format specifies the number of characters printed to the serial port for the whole portion of a variable. If the number is smaller than the space allowed for, then leading spaces are sent to the serial port. When this setting is OFF, then no leading spaces are generated. The following example illus- trates control behavior when this setting is OFF or ON.

#1= 3.0 ; Setting 69: OFF ON G0 G90 X#1 ; OUTPUT: X3.0000 X 3.0000 DPRNT[X#1[44]] ;

The default value is OFF.

70 DPRNT OPEN/CLOS DCODE This is an on/off setting. It controls whether the POPEN and PCLOS statements in macros send DC control codes to the serial port. When the setting is ON, these statements will send DC control codes. When it is OFF, the control codes are suppressed. Its default value is ON.

71 DEFAULT G51 SCALING Specifies the scaling for a G51 command when the P address is not contained in the same block. It must be in the range of .001 to 8380.000. This settings default is 1.000.

72 DEFAULT G68 ROTATION Specifies the rotation, in degrees, for a G68 command when the R address is not contained in the same block. It must be in the range of 0.0000 to 360.0000. This settings default is 0.0000.

73 G68 INCREMENTAL ANGLE This is an on/off setting. It is a switch that allows the internal variable that controls rotation to be incremented for each call to a G68 command. When this switch is ON, and a G68 command is executed in the incremental mode (G91), then the value specified in the R address is added to the internal variable. Otherwise, the internal variable is set to the rotation value specified by R. The default setting is OFF.

74 9xxxx PROGS TRACE This setting, along with Setting 75, is useful for debugging CNC programs. When Setting 74 is set to ON, the control will display all blocks that are executed in programs that have an O number of 9000 or above. When the setting is OFF, the control will not display 9000 series blocks. The default setting is ON.

284

SETTINGS June 2001 O MPERATORS ANUAL

96-8500 rev C

75 9xxx PROGS SINGLE BLK When Setting 75 is set to ON and the control is operating in SINGLE BLOCK mode, then the control will stop at each block in a 9000 series program and wait for the operator to press CYCLE START. When Setting 75 is set to OFF, then all blocks in a 9000 series program are executed in a continuous manner even if SINGLE BLOCK is ON. The default setting is ON.

When Setting 74 and Setting 75 are both ON, the control acts normally. That is, all blocks executed are highlighted and displayed and when in single block mode there is a pause before each block is executed.

When Setting 74 and Setting 75 are both OFF, the control will execute 9000 series subroutines without displaying the blocks contained in that subroutine If the control is in single block mode, no single block pause will occur within a 9000 series subroutine.

When Setting 75 is ON and Setting 74 is OFF, then 9000 series subroutines will be displayed as they are executed.

76 TOOL RELEASE LOCK OUT When this setting is set to ON, the tool release key is disabled. The default setting is OFF.

77 SCALE INTEGER F This setting aids those wishing to run programs developed on a control other than HAAS. It allows the operator to select how the control interprets an F address code that does not contain a decimal point, (It is recom- mended that the programmer always use a decimal point). The setting can be set to the following values:

DEFAULT - F12 is interpreted as .0012 units/minute. INTEGER - 12.0 .1 - 1.2 .01 - .12 .001 - .012 .0001 - .0012

The default setting is DEFAULT.

78 FIFTH-AXIS ENABLE When this setting is off, the fifth axis is disabled and no commands can be sent to that axis. When off is not selected, the selected rotary table type parameters are called up. A change to rotary parameters is saved under the selected table type for later recall. In order to change this setting the servos must be turned off.

79 FIFTH-AXIS DIAMETER This is a numeric entry. It is used to set the angular feed rate of the B-axis. It must be in the range of 0.0 to 50 inches. Since the feed rate specified in a program is always inches per minute (or mm per minute), the control must know the diameter of the part being worked in the B-axis in order to compute the angular feed rate. When this setting is set correctly, the surface feed rate on a rotary cut will be exactly the feed rate programmed into the control. The feed rate will be correct only as long as the axis remains orthogonal (at right angles) to all other axes.

80 MIRROR IMAGE B-AXIS This is an On/Off setting. When it is off, axes motions occur normally. When it is on, the B axis motion is mirrored (or reversed) around the work zero point.

81 TOOL AT POWER DOWN When the POWER UP key is pressed, the control will change to the tool specified in this setting. If zero (0) is specified, no tool change occurs at power up. 1 is the default.

285

SETTINGSJune 2001 O MPERATORS ANUAL

96-8500 rev C

82 LANGUAGE This setting allows the user to change between available languages. If the language selected does not reside in the control, NOT AVAILABLE will be displayed in the message area when that language is selected.

83 M30 /RESETS OVERRIDES When on, an M30 causes feed rate override, rapid override, and spindle override to be reset to default values.

84 TOOL OVERLOAD ACTION Causes the specified action to occur anytime a tool becomes overloaded (ALARM, FEEDHOLD, BEEP, AUTOFEED). When set to FEEDHOLD, the message "Tool Overload" will be displayed whenever this condition occurs. Pressing any key will clear the message. When set to AUTOFEED, the mill automatically limits the feed rate based on the tool load (see tool load monitor display).

NOTES: When tapping (rigid and floating), the feed and spindle overrides will be locked out, so the AUTOFEED feature will be ineffective (although the display will appear to respond to the override buttons.)

The AUTOFEED feature should not be used when doing thread milling or using autoreversing tapping head as it may cause unpredictable results or even a crash.

The last commanded feed rate will be restored at the end of the program execution, or when the operator presses RESET or turns off the AUTOFEED feature.

The operator may use the feed rate override buttons while the AUTOFEED feature is active. As long as tool load limit is not exceeded, these buttons will have the expected effect and the overridden feed rate will be recognized as the new commanded feed rate by the AUTOFEED feature. However, if the tool load limit has already been exceeded, the control will ignore the feed rate override buttons and the commanded feed rate will remain unchanged.

85 MAX CORNER ROUNDING Defines the accuracy of corners within a selected tolerance. Initial default value is set to .05 inch. If this setting is zero, the control acts as if exact stop is commanded on each motion block. Parameter 134 is used as a floor so the machine will not slow down to extremely slow speeds. Alternatively, a G187 can be used in the program to alter the effective value of Setting 85 without permanently changing that setting. This method likewise takes advantage of the floor, but does not require that the machine be rebooted.

Setting 85= 0.001

Setting 85= 0.050

Program Point

Setting 85 Example

286

SETTINGS June 2001 O MPERATORS ANUAL

96-8500 rev C

86 M39 LOCKOUT This is an on/off setting. Locks out the rotation of the tool changer.

87 M06 RESETS OVERRIDE This is an on/off setting. When M06 is executed and this setting is on, any overrides are canceled and set to their programmed values.

88 RESET RESETS OVERRIDES When the reset key is pressed and this is on, any overrides are cancelled and set to their programmed values.

100 SCREEN SAVER DELAY This feature is intended to activate when the machine is idle or unattended to prevent the monitor screen from becoming etched (burned-in) after displaying the same information for many hours. When the setting is zero, the machine behaves normally. If it is set to some number of minutes, then after that amount of time with no key presses, no jog handle motion and no alarms, the screen saver will be activated. It will be deactivated by any key press, jog handle motion or alarm. Note that the screen saver will not activate if the control is in Sleep Mode, in Jog mode, Edit Mode, MEM or MDI Mode with the PRGRM screen displayed, Graphics Mode or on any of the editor screens. When it is active, the words SCREEN SAVER will be displayed in random places on an otherwise blank screen and will be changed every two seconds.

101 FEED OVERIDE -> RAPID When this setting is OFF, the machine will behave normally. When it is ON and HANDLE CONTROL FEED RATE is pressed, the jog handle will affect both the feed rate override and the rapid rate override simulta- neously. That is, changing the feed rate override will cause a proportional change to the rapid rate. The maximum rapid rate will be maintained at 100% or 50% according to setting 10.

103 CYC START/FH SAME KEY This is an ON/OFF setting. When it is OFF, the machine operates normally. When it is ON, CYCLE START must be pressed and held to run a program. When CYCLE START is released, a FEED HOLD is generated.

This setting cannot be ON while Setting 104 is ON. When one of them is set to ON, the other will automatically turn OFF. This setting can be changed while running a program.

104 JOG HANDL TO SNGL BLK This is an ON/OFF setting. When it is OFF, the machine operates normally. When it is ON, and SINGLE BLOCK is selected, the jog handle can be used to single step through a program.

Reversing the jog handle direction will generate a FEED HOLD. This can be useful when an unexpected long motion block is encountered.

CYCLE START must be used to begin running a program.

This setting cannot be ON while Setting 103 is ON. When one of them is set to ON, the other will automatically turn OFF. This setting can be changed while running a program.

108 QUICK ROTARY G28 This is an ON/OFF setting. When it is ON, the G28 command will return a rotary axis only back to zero when it has been commanded to greater than 360 degrees. For example, if a rotary axis has been commanded 361 degrees, and this setting is on, a G28 command will move it back only one degree instead of "unwinding" it all 361 degrees. Note that other G codes, such as G00 and G01, are unaffected by this setting.

287

SETTINGSJune 2001 O MPERATORS ANUAL

96-8500 rev C

109 WARM-UP TIME IN MIN. This is the number of minutes (maximum= 300 minutes from the time the machine is powered on) to apply the compensation. If it is set to zero no compensation will be applied.

110 WARMUP X DISTANCE

111 WARMUP Y DISTANCE

112 WARMUP Z DISTANCE Setting 110,111 and 112 specify the amount of compensation (maximum=+/- .0020" or +/-.051mm) applied to the X, Y and Z axis respectively. No compensation is applied if the setting is zero.

114 CONVEYOR CYCLE TIME (MINUTES)

115 CONVEYOR ON-TIME (MINUTES) The above two settings control the intermittent chip conveyor function. If setting 114 is zero, the chip conveyor will behave normally. If it is set to some number of minutes, the chip conveyor will automatically turn itself off after the number of minutes specified by setting 115, then turn itself back on later.

Setting 114 controls how often the cycle is to be repeated, that is, if setting 114 is set to 30 and setting 115 is set to 2, the chip conveyor will turn itself on every half hour, run for two minutes, then turn itself off. On-time should be set no greater than 80% of cycle time.

NOTE: The CHIP FWD button (or M31) will start the conveyor in the forward direction and activate the cycle.

NOTE: The CHIP REV button (or M32) will start the conveyor in the reverse direction and activate the cycle.

NOTES: The CHIP STOP button (or M33) will stop the conveyor and cancel the cycle. If Parameter 209 CNVY DR OVRD bit 16 is set to 0 and the chip conveyor is cycling, opening the door will cause the conveyor to stop and suspend cycling. When the door is closed, the cycle will resume.

If Parameter 209 CNVY DR OVRD is set to 1 and the chip conveyor is cycling, the conveyor will continue to run when the door is open but will stop at the end of the cycle and cancel the cycle. When the door is closed, the cycle will resume.

Under no circumstances will the chip conveyor automatically start running when the door is open.

116 PIVOT LENGTH only changeable in DEBUG mode This is to prevent accidental loss of the setting value. Setting 116 is intended to be set once when the machine is first built, then never changed unless the machine is physically altered. A setting file can be loaded from disk or RS-232 and the values of all settings will be replaced. However, now, if the control is not in DEBUG mode at the time, and the value of setting 116 is to be changed, all setting except 116 will be changed and alarm 202 SETTING CRC ERROR will be generated.

288

SETTINGS June 2001 O MPERATORS ANUAL

96-8500 rev C

117 G143 GLOBAL OFFSET This setting is provided for customers who have several 5-axes mills and want to transfer the programs and tools from one to another. The user can enter the pivot length difference into this setting, and it will be applied to the G143 tool length compensation.

118 M99 BUMPS M30 CNTRS When this setting is turned ON, an M99 will increment the M30 counters that are visible by pressing CURNT COMNDS and PAGE DOWN twice. Note that an M99 will only increment the counters in loop mode in a main program, not a sub program. An M99 used as a subprogram return or used with a P value to jump to another part of the program will not increment the M30 counters.

119 OFFSET LOCK This is an ON / OFF setting. When it is OFF, no special functions occur. When it is ON, the user is prevented from altering any of the offsets. However, programs which alter offsets will still be able to do so.

120 MACRO VAR LOCK This is an ON / OFF setting. When it is OFF, no special functions occur. When it is ON, the user is prevented from altering any of the macro variables. However, programs which alter macro variables will still be able to do so.

121 APC PAL. ONE LOAD X This is intended for use future pallet changer software that replaces the macro program. This is the APC pallet #1 X axis load position. It should be set at the time the APC is installed. Units are inch/mm.

122 APC PAL. ONE LOAD Y This is intended for use future pallet changer software that replaces the macro program. This is the APC pallet #1 Y axis load position. It should be set at the time the APC is installed. Units are inch/mm.

123 APC PAL. ONE UNLOAD X This is intended for use future pallet changer software that replaces the macro program. This is the APC pallet #1 X axis unload position. It should be set at the time the APC is installed. Units are inch/mm.

124 APC PAL. ONE UNLOAD Y This is intended for use future pallet changer software that replaces the macro program. This is the APC pallet #1 Y axis unload position. It should be set at the time the APC is installed. Units are inch/mm.

125 APC PAL. TWO LOAD X This is intended for use future pallet changer software that replaces the macro program. This is the APC pallet #2 X axis load position. It should be set at the time the APC is installed. Units are inch/mm.

126 APC PAL. TWO LOAD Y This is intended for use future pallet changer software that replaces the macro program. This is the APC pallet #2 Y axis load position. It should be set at the time the APC is installed. Units are inch/mm.

127 APC PAL. TWO UNLOAD X This is intended for use future pallet changer software that replaces the macro program. This is the APC pallet #2 X axis unload position. It should be set at the time the APC is installed. Units are inch/mm.

128 APC PAL. TWO UNLOAD Y This is intended for use future pallet changer software that replaces the macro program. This is the APC pallet #2 Y axis unload position. It should be set at the time the APC is installed. Units are inch/mm.

289

SETTINGSJune 2001 O MPERATORS ANUAL

96-8500 rev C

129 APC PAL. SAFE X POS This is intended for use future pallet changer software that replaces the macro program. This is the receiver X axis position where it is safe to open the door. It should be set at the time the APC is installed. Units are inch/mm.

130 RIGID-TAP RETRACT MULT This setting augments the quick-reverse-out of a G84 rigid-tapped hole. If it is set to 0 or 1, the machine behaves normally. If it is set to 2, it will be the equivalent of running a G84 with a J-code of 2. That is, the spindle will retract twice as fast as it went in. If this setting is set to 3, it will retract three times as fast. Note that specifying a J-code for a rigid-tap will override setting 130.

131 AUTO DOOR This is a new setting that supports the Auto-Door feature. It should be set to ON when the automatic door hardware is installed and the operator wants it to function. Otherwise it should be set to OFF. When it is set to ON, the following need to be verified:

Setting 51 DOOR HOLD OVERRIDE is set to ON Parameter 57 SAFETY CIRC is set to zero Parameters 292, 293 and 251 are set appropriately, (see their definitions in the following parameter

section) The door will close when cycle start is pressed and will open when the program has reached an M00, M01 (with OPT STOP turned ON) or M30 and the spindle has stopped turning. Note that if any of the aforemen- tioned parameters and settings are set incorrectly, the Auto Door feature will not function.

133 NETWORK/ZIP OFF/ON This is an ON/OFF setting that is used to activate the internal Zip/Enet PC104 board at power-on time. When it is set to OFF, the CNC will not access the board. When it is set to ON, the CNC will access it at power-on time and display the message LOADING on the Zip/Enet settings page just below setting 139. After some time (2 minutes maximum,) the control will instead display the message DISK DONE indicating that commu- nications have been established with the internal PC104 board and the user can now use the control.

134 CONNECTION TYPE This setting can be FLOPPY, NET, or ZIP. When it is set to FLOPPY, program loading and saving will be performed in the usual way via the floppy disk drive installed in the control. When it is set to NET, program loading and saving will be performed via the user-supplied network connection (provided that connection was successfully established at power-on time.) When it is set to ZIP, program loading and saving will be performed via the user-supplied ZIP drive (assume such a device is connected.) When setting 133 is set to ON, the value of this setting will appear on the LISTPROG screen as follows: F4 DIR-FLOPPY, F4 DIR-NET, or F4 DIR-ZIP,

135 NETWORK TYPE This setting can be NONE, NOVELL, NT/IPX, or NT/TCP and specifies the user-supplied network connection type. When it is set to NONE, only a floppy disk or a user-supplied Zip drive is accessible.

136 SERVER This setting is used to contain the user-supplied server name (up to 8 characters long.) If this setting is not to be used, the user should enter a semicolon (EOB.)

137 USERNAME This setting is used to contain the user-specified account name (up to 8 characters long.) If this setting is not to be used, the user should enter a semicolon (EOB.)

290

SETTINGS June 2001 O MPERATORS ANUAL

96-8500 rev C

138 PASSWORD This setting is used to contain the user-specified password (up to 8 characters long.) If this setting is not to be used, the user should enter a semicolon (EOB.)

139 PATH This setting is used to contain the user-specified Novell-Path or NT Root Directory name depending on the network server used (up to 18 characters long.) For a Novell network, this is the users path name, for ex- ample: U:\USERS\JOHNDOE. For a Microsoft network, this is the root directory\desired directory name, for example: USERS\JOHNDOE. If this setting is not to be used, the user should enter a semicolon (EOB.)

140 TCP ADDR This setting is used only for TCP networks and contains the static user-specified TCP/IP address in the server domain (up to 15 characters long.) For example: 192.168.1.2. If this setting is not to be used, the user should enter a semicolon (EOB.)

141 SUBNET This setting is used only for TCP networks and contains the user-specified subnet mask (up to 15 characters long.) For example: 255.255.255.0. If this setting is not to be used, the user should enter a semicolon (EOB.)

144 FEED OVERIDE->SPINDLE This feature is intended to keep the chip load constant when an override is applied. When this setting is OFF, the control behaves normally. When it is ON, any feed rate override that is applied will be applied to the spindle speed also, and the spindle overrides will be disabled.

291

PARAMETERSJune 2001 O MPERATORS ANUAL

96-8500 rev C

9. PARAMETERS

Parameters are seldom-modified values that change the operation of the machine. These include servo motor types, gear ratios, speeds, stored stroke limits, lead screw compensations, motor control delays and macro call selections. These are all rarely changed by the user and should be protected from being changed by the parameter lock setting. If you need to change parameters, contact HAAS or your dealer. Parameters are protected from being changed by Setting 7.

The Settings page lists some parameters that the user may need to change during normal operation and these are simply called "Settings". Under normal conditions, the parameter displays should not be modified. A complete list of the parameters is provided here.

The PAGE UP, PAGE DOWN, up and down cursor keys , and the jog handle can be used to scroll through the parameter display screens in the control. The left and right cursor keys are used to scroll through the bits in a single parameter.

PARAMETER LIST

Parameter 1 X SWITCHES Parameter 1 is a collection of single-bit flags used to turn servo related functions on and off. The left and right cursor arrows are used to select the function being changed. All values are 0 or 1 only. The function names are:

0 REV ENCODER Used to reverse the direction of encoder data.

1 REV POWER Used to reverse direction of power to motor.

2 REV PHASING Used to reverse motor phasing.

3 DISABLED Used to disable the X-axis.

4 Z CH ONLY With A only, indicates that no home switch.

5 AIR BRAKE With A only, indicates that air brake is used.

6 DISABLE Z T Disables encoder Z test (for testing only).

7 SERVO HIST Graph of servo error (for diagnostics only).

8 INV HOME SW Inverted home switch (N.C. switch).

9 INV Z CH Inverted Z channel (normally high).

10 CIRC. WRAP. With A only, causes 360 wrap to return to 0.

11 NO I IN BRAK With A only, removes I feedback when brake is active.

12 LOW PASS +1X Adds 1 term to low pass filter.

13 LOW PASS +2X Adds two terms to low pass filter.

14 OVER TEMP NC Selects a normally closed overheat sensor in motor.

15 CABLE TEST Enables test of encoder signals and cabling.

16 Z TEST HIST History plot of Z channel test data.

17 SCALE FACT/X If set to 1, the scale ratio is interpreted as divided by X; where X depends on bits SCALE/X LO and SCALE/XHI.

18 INVIS AXIS Used to create an invisible axis.

19 ROT ALM LMSW Rotary alarms at the limit switch.

20 ROT TRVL LIM Rotary travel limits are used.

292

PARAMETERS June 2001 O MPERATORS ANUAL

96-8500 rev C

22 D FILTER X8 Enables the 8 tap FIR filter. Used to eliminate high frequency vibrations, depending on the axis motor.

23 D FILTER X4 Enables the 4 tap FIR filter. Used to eliminate high frequency vibrations, depending on the axis motor.

24 TORQUE ONLY For HAAS diagnostic use only.

25 3 EREV/MREV For HAAS diagnostic use only.

26 2 EREV/MREV For HAAS diagnostic use only.

27 NON MUX PHAS For HAAS diagnostic use only.

28 BRUSH MOTOR Enables the brushless motor option.

29 LINEAR DISPL This bit changes the display from degrees to inches (or millimeters) on the A and B axes.

30 SCALE/X LO With SCALE/X HI bit, determines the scale factor used in bit SCALE FACT/X,

31 SCALE/X HI With SCALE/X LO bit, determines the scale factor used in bit SCALE FACT/X. See below:

HI LO

0 0 3 0 1 5 1 0 7 1 1 9

Parameter 2 X P GAIN Proportional gain in servo loop.

Parameter 3 X D GAIN Derivative gain in servo loop.

Parameter 4 X I GAIN Integral gain in servo loop.

Parameter 5 X RATIO (STEPS/UNIT) The number of steps of the encoder per unit of travel. Encoder steps supply four (4) times their line count per revolution. Thus, an 8192 line encoder and a 6mm pitch screw give:

8192 x 4 x 25.4 / 6 = 138718 (5 steps per unit inch/mm ratio)

Parameter 6 X MAX TRAVEL (STEPS) Max negative direction of travel from machine zero in encoder steps. Does not apply to A-axis. Thus a 20 inch travel, 8192 line encoder and 6 mm pitch screw give:

20.0 x 138718 = 2774360

Parameter 7 X ACCELERATION Maximum acceleration of axis in steps per second per second.

Parameter 8 X MAX SPEED Max speed for this axis in steps per second.

293

PARAMETERSJune 2001 O MPERATORS ANUAL

96-8500 rev C

Parameter 9 X MAX ERROR Max error allowed in servo loop before alarm is generated. Units are encoder steps. This is the maximum allowable error in Hz between the commanded speed and the actual speed. The purpose of this parameter is to prevent "motor runaway" in case of phasing reversal, or bad parameters. If this parameter is set to 0, it defaults to 1/4 of parameter 183 Max Frequency.

Parameter 10 X FUSE LEVEL Used to limit average power to motor. If not set correctly, this parameter can cause an overload alarm.

Parameter 11 X TORQUE PRELOAD TORQUE PRELOAD is a signed number that should be set to a value from 0 to 4095 where 4095 is the maximum motor torque. It is applied at all times to the servo in the same direction. It is used to compensate, in the vertical direction, for gravity on a machine with an axis brake instead of a counterbalance. Normally, the brake is released when the servo motors are activated. However, when an axis with the brake has been disabled, the brake must not be released at all. This feature takes care of that situation. Normally, this parameter should be set to zero on all axes. Exceptions are: Mini-mills with the axis brake instead of a counterbalance, parameter 39 Z axis TORQUE PRELOAD must be set to 300. The TORQUE PRELOAD parameter for the remaining axes must be set to zero. Vertical mills with the axis brake instead of a counterbalance, parameter 39 Z axis TORQUE PRELOAD must be set to 600. The TORQUE PRELOAD parameter for the remaining axes must be set to zero. Horizontal mills with the axis brake instead of a counterbalance, parameter 25 Y axis TORQUE PRELOAD must be set to 500. The TORQUE PRELOAD parameter for the remaining axes must be set to zero.

Parameter 12 X STEPS/REVOLUTION Encoder steps per revolution of motor. Thus, an 8192 line encoder gives:

8192 x 4 = 32768

Parameter 13 X BACKLASH Backlash correction in encoder steps.

Parameter 14 X DEAD ZONE Dead zone correction for driver electronics. Units are 0.0000001 seconds.

Parameter 15 Y SWITCHES See Parameter 1 for description.

Parameter 16 Y P GAIN See Parameter 2 for description.

Parameter 17 Y D GAIN See Parameter 3 for description.

Parameter 18 Y I GAIN See Parameter 4 for description.

Parameter 19 Y RATIO (STEPS/UNIT) See Parameter 5 for description.

294

PARAMETERS June 2001 O MPERATORS ANUAL

96-8500 rev C

Parameter 20 Y MAX TRAVEL (STEPS) See Parameter 6 for description.

Parameter 21 Y ACCELERATION See Parameter 7 for description.

Parameter 22 Y MAX SPEED See Parameter 8 for description.

Parameter 23 Y MAX ERROR See Parameter 9 for description.

Parameter 24 Y FUSE LEVEL See Parameter 10 for description.

Parameter 25 Y TORQUE PRELOAD See Parameter 11 for description.

Parameter 26 Y STEPS/REVOLUTION See Parameter 12 for description.

Parameter 27 Y BACKLASH See Parameter 13 for description.

Parameter 28 Y DEAD ZONE See Parameter 14 for description.

Parameter 29 Z SWITCHES See Parameter 1 for description.

Parameter 30 Z P GAIN See Parameter 2 for description.

Parameter 31 Z D GAIN See Parameter 3 for description.

Parameter 32 Z I GAIN See Parameter 4 for description.

Parameter 33 Z RATIO (STEPS/UNIT) See Parameter 5 for description.

Parameter 34 Z MAX TRAVEL (STEPS) See Parameter 6 for description.

Parameter 35 Z ACCELERATION See Parameter 7 for description.

Parameter 36 Z MAX SPEED See Parameter 8 for description.

295

PARAMETERSJune 2001 O MPERATORS ANUAL

96-8500 rev C

Parameter 37 Z MAX ERROR See Parameter 9 for description.

Parameter 38 Z FUSE LEVEL See Parameter 10 for description.

Parameter 39 Z TORQUE PRELOAD See Parameter 11 for description.

Parameter 40 Z STEPS/REVOLUTION See Parameter 12 for description.

Parameter 41 Z BACKLASH See Parameter 13 for description.

Parameter 42 Z DEAD ZONE See Parameter 14 for description.

Parameter 43 A SWITCHES See Parameter 1 for description AND make sure that this parameter is se to enable the fourth axis before you try to enable the fourth axis from settings.

Parameter 44 A P GAIN See Parameter 2 for description.

Parameter 45 A D GAIN See Parameter 3 for description.

Parameter 46 A I GAIN See Parameter 4 for description.

Parameter 47 A RATIO (STEPS/UNIT) This parameter defines the number of encoder steps required to complete one full rotation of the platter. For example an HRT 210 with a 90:1 gear ratio, a final drive ratio of 2:1, and an encoder count of 2000 lines would be:

2000 x 4 x (90 x 2) / 360 = 2000 steps

for a brushless HRT 210 with a 90:1 gear ratio, a final drive ratio of 2:1 and an encoder count of 8192 the formula would be:

8192 x 4 x (90 x 2) / 360 = 16384 steps

If for example 16384 ended up being 13107.2 (non integer) the user must make sure the single bits SCALE FACT/X and the COMBINATION OF SCALE/X LO and SCALE/X HI are turned on in parameter 43. When the scale factor/x bit is 1 the scale ratio is interpreted as divide by X: where X depends on scale/ x lo and scale/ x hi (see parameter 1 for scale/ x lo and scale x hi values). For example:

8192 x 4 x (72 x 2) / 360 = 13107.2

You would then turn on the scale fact/x bit and the scale/ x lo bit which would give you a factor of 5 thus:

13107.2 x 5 = 65536 encoder steps

296

PARAMETERS June 2001 O MPERATORS ANUAL

96-8500 rev C

Parameter 48 A MAX TRAVEL (STEPS) See Parameter 6 for description. Normally this parameter would not apply to the A axis, however this parameter is used on mills with a gimbaled spindle (5-axis mills). On a VR-series mill this parameter is used to limit the amount of angular movement of the spindle (A and B axes). The A and B axes are limited in movement to a distance between negative MAX TRAVEL, and positive TOOL CHANGE OFFSET. On 5-axes mills A and B axes ROT TRVL LIM must be set to 1, MAX TRAVEL and TOOL CHANGE OFFSET must be calibrated and set correctly.

Parameter 49 A ACCELERATION See Parameter 7 for description.

Parameter 50 A MAX SPEED See Parameter 8 for description.

Parameter 51 A MAX ERROR See Parameter 9 for description.

Parameter 52 A FUSE LEVEL See Parameter 10 for description.

Parameter 53 A BACK EMF See Parameter 11 for description.

Parameter 54 A STEPS/REVOLUTION See Parameter 12 for description

Parameter 55 A BACKLASH See Parameter 13 for description.

Parameter 56 A DEAD ZONE See Parameter 14 for description.

Parameters 57 through 128 are used to control other machine dependent functions. They are:

Parameter 57 COMMON SWITCH 1 Parameter 57 is a collection of general purpose single bit flags used to turn some functions on and off. The left and right cursor arrows are used to select the function being changed. All values are 0 or 1 only. The function names are:

0 REV CRANK Reverses direction of jog handle.

1 DISABLE T.C. Disables tool changer operations.

2 DISABLE G.B. Disables gear box functions.

3 POF AT E-STP Stops spindle then turns the power off at EMERGENCY STOP

4 RIGID TAP Indicates hardware option for rigid tap.

5 REV SPIN ENC Reverses sense direction of spindle encoder.

6 REPT RIG TAP Selects repeatable rigid tapping.

7 EX ST MD CHG Selects exact stop in moves when mode changes.

297

PARAMETERSJune 2001 O MPERATORS ANUAL

96-8500 rev C

8 SAFETY CIRC. This enables safety hardware, if machine is so equipped.

9 SP DR LIN AC Selects linear deceleration for rigid tapping. 0 is quadratic.

10 PH LOSS DET When enabled, will detect a phase loss.

11 COOLANT SPGT Enables coolant spigot control and display.

12 OVER T IS NC Selects Regen over temp sensor as N.C.

13 SKIP OVERSHT Causes Skip (G31) to act like Fanuc and overshoot sense point.

14 NONINV SP ST Non-inverted spindle stopped status.

15 SP LOAD MONI Spindle load monitor option is enabled.

16 SP TEMP MONI Spindle temperature monitor option is enabled.

17 ENA ROT & SC Enables rotation and scaling.

18 ENABLE DNC Enables DNC selection from MDI.

19 ENABLE BGEDT Enables BACKGROUND EDIT mode.

20 ENA GRND FLT Enables ground fault detector.

21 M19 SPND ORT This bit makes the P and R codes a protected feature which can only be enabled with an unlock code. The unlock code will be printed on the parameter listing of all new machines. If this bit is set to 0, an M19 will orient the spindle to 0 degrees regardless of the value of any P or R code in the same block. If this is set to 1, a P code in the block will cause the spindle to be oriented to the specified angle such as P180. Alternately, a decimal R code can be used, such as R180.53. Note that the P and R codes only work on a vector drive machine.

22 ENABLE MACRO Enables macro functions.

23 INVERT SKIP Invert sense of skip to active low=closed.

24 HANDLE CURSR Enable use of jog handle to move cursor.

25 NEG WORK OFS Selects use of work offsets in negative direction.

26 TRANS OIL Enables transmission low oil pressure detection.

27 ENA QUIKCODE Enables conversational programming.

28 OILER ON/OFF Enables oiler power when servos or spindle is in motion.

29 NC OVER VOLT Inverts sense of over voltage signal.

31 DOOR STOP SP Enables functions to stop spindle and manual operations at door switch.

Parameter 58 LEAD COMPENS SHIFT Shift factor when applying lead screw compensation. Lead screw compensation is based on a table of 256 offsets; each +\-127 encoder steps. A single entry in the table applies over a distance equal to two raised to this parameter power encoder steps.

298

PARAMETERS June 2001 O MPERATORS ANUAL

96-8500 rev C

Parameter 59 MAXIMUM FEED Maximum feed rate in inches per minute.

Parameter 60 TURRET START DELAY Maximum delay allowed in start of tool turret. Units are milliseconds. After this time, an alarm is generated.

On Horizontal mills with a side mount tool changer, this parameter is used to specify the time (in milliseconds) allowed for motor driven motions of the shuttle and arm. If the motion has not completed within the time allowed by this parameter, alarm 696 ATC MOTOR TIME OUT is generated. This parameter should be set to 2000.

Parameter 61 TURRET STOP DELAY Maximum delay allowed in motion of tool turret. Units are milliseconds. After this time, an alarm is generated.

On Horizontal mills with a side mount tool changer, this parameter is used to specify the time (in milliseconds) allowed for air-pressure driven arm in/arm out moves. If the motion has not completed within the time allowed by this parameter, alarm 695 ATC AIR CYLINDER TIME OUT is generated. This parameter should be set to 10000.

Parameter 62 SHUTTLE START DELAY This parameter is used to specify the time (in milliseconds) needed to allow the tool pocket to settle (stop bouncing) after being lowered in preparation for a tool change.

Parameter 63 SHUTTLE STOP DELAY This parameter is also used for vertical mills with a Side Mount Tool Changer. It is used to specify the time allowed (in milliseconds) for the tool arm motor to stop. If the arm has not stopped after the allowed time alarm 627 ATC ARM POSITION TIMEOUT is generated.

Parameter 64 Z TOOL CHANGE OFFSET On Vertical mills: For Z-axis; displacement from home switch to tool change position and machine zero. About 4.6 inches, so for an 8192 line encoder this gives:

4.6 x 138718 = 638103 On Horizontal mills, this parameter is not used. It should be set to zero.

Parameter 65 NUMBER OF TOOLS Number of tool positions in tool changer. This number must be set to the configuration machine. The maximum number of tool positions is 32, except Horizontal mills with a side mount tool changer. This parameter must be 60 for the HS 60 SMTC and 120 for the HS 120 SMTC.

Parameter 66 SPINDLE ORI DELAY Maximum delay allowed when orienting spindle. Units are milliseconds. After this time, an alarm is generated.

Parameter 67 GEAR CHANGE DELAY Maximum delay allowed when changing gears. Units are milliseconds. After this time, an alarm is generated.

299

PARAMETERSJune 2001 O MPERATORS ANUAL

96-8500 rev C

Parameter 68 DRAW BAR MAX DELAY Maximum delay allowed when clamping and unclamping tool. Units are milliseconds. After this, time an alarm is generated.

Parameter 69 A AIR BRAKE DELAY Delay provided for air to release from brake on A-axis prior to moving. Units are milliseconds.

Parameter 70 MIN SPIN DELAY TIME Minimum delay time in program after commanding new spindle speed and before proceeding. Units are milliseconds.

Parameter 71 DRAW BAR OFFSET Offset provided in motion of Z-axis to accommodate the tool pushing out of the spindle when unclamping tool. Units are encoder steps.

Parameter 72 DRAW BAR Z VEL UNCL Speed of motion in Z-axis to accommodate tool pushing out of the spindle when unclamping tool. Units are encoder steps per second.

Parameter 73 SP HIGH G/MIN SPEED Command speed used to rotate spindle motor when orienting spindle in high gear. Units are maximum spindle RPM divided by 4096. This parameter is not used in machines equipped with a Haas vector drive.

Parameter 74 SP LOW G/MIN SPEED Command speed used to rotate spindle motor when orienting spindle in low gear. Units are maximum spindle RPM divided by 4096. This parameter is not used in machines equipped with a Haas vector drive.

Parameter 75 GEAR CHANGE SPEED Command speed used to rotate spindle motor when changing gears. Units are maximum spindle RPM divided by 4096.

Parameter 76 LOW AIR DELAY Delay allowed after sensing low air pressure before alarm is generated. Alarm skipped if air pressure returns before delay. Units are 1/50 seconds.

Parameter 77 SP LOCK SETTLE TIME Required time in milliseconds that the spindle lock must be in place and stable before spindle orientation is considered complete.

Parameter 78 GEAR CH REV TIME Time in milliseconds before motor direction is reversed while in a gear change.

Parameter 79 SPINDLE STEPS/REV Sets the number of encoder steps per revolution of the spindle. Applies only to rigid tapping option.

Parameter 80 MAX SPIN DELAY TIME The maximum delay time control will wait for spindle to get to commanded speed or to get to zero speed. Units are milliseconds.

300

PARAMETERS June 2001 O MPERATORS ANUAL

96-8500 rev C

Parameter 81 M MACRO CALL O9000 M code that will call O9000. This parameter can contain a value from 1 through 98, inclusive, zero causes no call. However it is best to use a value that is not already in use (see current M code list). Using M37 the value 37 would be entered in parameter 81 (for example). A program would be written to include the M37, such as:

G X0... M37 . . M30

The control would run the program until it got to the M37, It would call program O9000, run that, and then return to the point that it left, and continue the main program. Be aware that, if program O9000 contains another M37, it will call itself, and keep calling until it fills the stack (9 times) and then alarm out with 307 SUBROUTINE NESTING TOO DEEP. Note that if M33 (for example) is used, it would override the normal M33 Conveyor Stop function.

Parameter 82 M MACRO CALL O9001 See parameter 81 for description

Parameter 83 M MACRO CALL O9002 See parameter 81 for description

Parameter 84 M MACRO CALL O9003 See parameter 81 for description

Parameter 85 M MACRO CALL O9004 See parameter 81 for description

Parameter 86 M MACRO CALL O9005 See parameter 81 for description

Parameter 87 M MACRO CALL O9006 See parameter 81 for description

Parameter 88 M MACRO CALL O9007 See parameter 81 for description

Parameter 89 M MACRO CALL O9008 See parameter 81 for description

Parameter 90 M MACRO CALL O9009 See parameter 81 for description

301

PARAMETERSJune 2001 O MPERATORS ANUAL

96-8500 rev C

Parameter 91 G MACRO CALL O9010 G code that will call O9010. This parameter can contain a value from 1 through 98, inclusive, zero causes no call. However it is best to use a value that is not already in use (see current G code list). Using G45 the value 45 would be entered in parameter 91 (for example). A program would be written to include the G45, such as:

G X0... G45 . . M30

The control would run the program until it got to the G45, It would call program O9010, run that, and then return to the point that it left, and continue the main program. Be aware that, if program O9010 contains another G45, it will call itself, and keep calling until it fills the stack (4 times) and then alarm out with 531 MACRO NESTING TOO DEEP. Note that if G84 (for example) is used, it would override the normal G84 Tapping Canned Cycle.

Parameter 92 G MACRO CALL O9011 See parameter 91 for description

Parameter 93 G MACRO CALL O9012 See parameter 91 for description

Parameter 94 G MACRO CALL O9013 See parameter 91 for description

Parameter 95 G MACRO CALL O9014 See parameter 91 for description

Parameter 96 G MACRO CALL O9015 See parameter 91 for description

Parameter 97 G MACRO CALL O9016 See parameter 91 for description

Parameter 98 G MACRO CALL O9017 See parameter 91 for description

Parameter 99 G MACRO CALL O9018 See parameter 91 for description

Parameter 100 G MACRO CALL O9019 See parameter 91 for description

Parameter 101 IN POSITION LIMIT X How close motor must be to endpoint before any move is considered complete when not in exact stop (G09 or G61). Units are encoder steps. This parameter does not apply to feeds.

Parameter 102 IN POSITION LIMIT Y See Parameter 101 for description

302

PARAMETERS June 2001 O MPERATORS ANUAL

96-8500 rev C

Parameter 103 IN POSITION LIMIT Z See Parameter 101 for description

Parameter 104 IN POSITION LIMIT A See Parameter 101 for description

Parameter 105 X MAX CURRENT Fuse level in % of max power to motor. Applies only when motor is stopped.

Parameter 106 Y MAX CURRENT See Parameter 105 for description

Parameter 107 Z MAX CURRENT See Parameter 105 for description

Parameter 108 A MAX CURRENT See Parameter 105 for description

Parameter 109 D*D GAIN FOR X Second derivative gain in servo loop.

Parameter 110 D*D GAIN FOR Y Second derivative gain in servo loop.

Parameter 111 D*D GAIN FOR Z Second derivative gain in servo loop.

Parameter 112 D*D GAIN FOR A Second derivative gain in servo loop.

Parameter 113 X ACC/DEC T CONST Acceleration time constant. Units are 1/10000 seconds. This parameter provides for a constant ratio between profiling lag and servo velocity at the endpoint of a rapid motion.

Parameter 114 Y ACC/DEC T CONST See Parameter 113 for description

Parameter 115 Z ACC/DEC T CONST See Parameter 113 for description

Parameter 116 A ACC/DEC T CONST See Parameter 113 for description

Parameter 117 LUB CYCLE TIME If this is set nonzero, it is the cycle time for the lube pump and the Lube pressure switch option is checked for cycling in this time. It is in units of 1/50 seconds.

Parameter 118 SPINDLE REV TIME Time in milliseconds to reverse spindle motor.

Parameter 119 SPINDLE DECEL DELAY Time in milliseconds to decelerate spindle motor.

303

PARAMETERSJune 2001 O MPERATORS ANUAL

96-8500 rev C

Parameter 120 SPINDLE ACC/DECEL Accel/decel time constant in 200ths of a step/ms/ms for spindle motor.

Parameter 121 X PHASE OFFSET The motor phase offset for X motor. This is arbitrary units.

Parameter 122 Y PHASE OFFSET See Parameter 121 for description.

Parameter 123 Z PHASE OFFSET See Parameter 121 for description.

Parameter 124 A PHASE OFFSET See Parameter 121 for description.

Parameter 125 X GRID OFFSET This parameter shifts the effective position of the encoder Z pulse. It can correct for a positioning error of the motor or home switch.

Parameter 126 Y GRID OFFSET See Parameter 125 for description.

Parameter 127 Z GRID OFFSET See Parameter 125 for description.

Parameter 128 A GRID OFFSET See Parameter 125 for description.

Parameter 129 GEAR CH SETTLE TIME Gear change settle time. This is the number of one millisecond samples that the gear status must be stable before considered in gear.

Parameter 130 GEAR STROKE DELAY This parameter controls the delay time to the gear change solenoids when performing a gear change.

Parameter 131 MAX SPINDLE RPM This is the maximum RPM available to the spindle. When this speed is programmed, the D-to- A output will be +10V and the spindle drive must be calibrated to provide this.

Parameter 132 Y SCREW COMP. COEF. This is the coefficient of heating of the lead screw and is used to decrease or shorten the screw length.

Parameter 133 Z SCREW COMP. COEF. This is the coefficient of heating of the lead screw and is used to decrease or shorten the screw length.

Parameter 134 X EXACT STOP DIST.

Parameter 135 Y EXACT STOP DIST.

304

PARAMETERS June 2001 O MPERATORS ANUAL

96-8500 rev C

Parameter 136 Z EXACT STOP DIST.

Parameter 137 A EXACT STOP DIST. These parameters control how close each axis must be to its end point when exact stop is programmed. They apply only in G09 and G64. They are in units of encoder steps. A value of 34 would give 34/138718 = 0.00025 inch.

NOTE: To change the values of parameters 134-137 permanently the machine must be rebooted.

Parameter 138 X FRICTION COMPENSATION

Parameter 139 Y FRICTION COMPENSATION

Parameter 140 Z FRICTION COMPENSATION

Parameter 141 A FRICTION COMPENSATION These parameters compensate for friction on each of the four axes. The units are in 0.004V.

Parameter 142 HIGH/LOW GEAR CHANG This parameter sets the spindle speed at which an automatic gear change is performed. Below this parameter, low gear is the default; above this, high gear is the default.

Parameter 143 DRAW BAR Z VEL CLMP This parameter sets the speed of the Z-axis motion that compensates for tool motion during tool clamping. Units are in encoder steps per second.

Parameter 144 RIG TAP FINISH DIST This parameter sets the finish tolerance for determining the end point of a rigid tapping operation. Units are encoder counts.

Parameter 145 X ACCEL FEED FORWARD

Parameter 146 Y ACCEL FEED FORWARD

Parameter 147 Z ACCEL FEED FORWARD

Parameter 148 A ACCEL FEED FORWARD These parameters set the feed forward gain for the axis servo. They have no units.

Parameter 149 Precharge DELAY This parameter sets the delay time from precharge to tool release. Units are milliseconds.

Parameter 150 MAX SP RPM LOW GEAR Max spindle RPM in low gear.

Parameter 151 B SWITCHES See Parameter 1 for description.

305

PARAMETERSJune 2001 O MPERATORS ANUAL

96-8500 rev C

Parameter 152 B P GAIN See Parameter 2 for description.

Parameter 153 B D GAIN See Parameter 3 for description.

Parameter 154 B I GAIN See Parameter 4 for description.

Parameter 155 B RATIO (STEPS/UNIT) See Parameter 47 for description.

Parameter 156 B MAX TRAVEL (STEPS) See Parameter 6 for description. Normally this parameter would not apply to the A axis, however this parameter is used on mills with a gimbaled spindle (5-axes mills). On a VR-series mill this parameter is used to limit the amount of angular movement of the spindle (A and B axes). The A and B axes are limited in movement to a distance between negative MAX TRAVEL, and positive TOOL CHANGE OFFSET. On 5-axes mills A and B axes ROT TRVL LIM must be set to 1, MAX TRAVEL and TOOL CHANGE OFFSET must be calibrated and set correctly.

Parameter 157 B ACCELERATION See Parameter 7 for description.

Parameter 158 B MAX SPEED See Parameter 8 for description.

Parameter 159 B MAX ERROR See Parameter 9 for description.

Parameter 160 B FUSE LEVEL See Parameter 10 for description.

Parameter 161 B BACK EMF See Parameter 11 for description.

Parameter 162 B STEPS/REVOLUTION See Parameter 12 for description.

Parameter 163 B BACKLASH See Parameter 13 for description.

Parameter 164 B DEAD ZONE See Parameter 14 for description.

Parameter 165 IN POSITION LIMIT B Same definition as Parameter 101.

Parameter 166 B MAX CURRENT Same definition as Parameter 105.

306

PARAMETERS June 2001 O MPERATORS ANUAL

96-8500 rev C

Parameter 167 D*D GAIN FOR B Second derivative gain in servo loop.

Parameter 168 B ACC/DEC T CONST Same definition as Parameter 113.

Parameter 169 B PHASE OFFSET See Parameter 121 for description.

Parameter 170 B GRID OFFSET See Parameter 125 for description.

Parameter 171 B EXACT STOP DIST. See Parameters 134 for description.

Parameter 172 B FRICTION COMPENSATION See Parameter 138 for description.

Parameter 173 B ACCEL FEED FORWARD Same description as Parameter 145.

Parameter 174 B SCREW COMP. COEF. This is the coefficient of heating of the lead screw and is used to decrease or shorten the screw length.

Parameter 175 B AIR BRAKE DELAY Delay provided for air to release from brake on B-axis prior to moving. Units are milliseconds.

NOTE: The C-axis parameters (176-200) are used to control the Haas Vector Drive. Parameter 278 bit HAAS VECT DR must be set to 1 for these parameters to be available.

Parameter 176 C SWITCHES See Parameter 1 for description.

Parameter 177 C P GAIN See Parameter 2 for description.

Parameter 178 C D GAIN See Parameter 3 for description.

Parameter 179 C I GAIN See Parameter 4 for description.

Parameter 180 C SLIP GAIN The slip rate calculated depends on two other variables: speed and current.

Slip rate = slip gain x (speed/max speed) x (current/max current)

The slip gain value is the value that slip rate would assume at maximum speed, and maximum current (16.384=1 Hz).

307

PARAMETERSJune 2001 O MPERATORS ANUAL

96-8500 rev C

Parameter 181 C MIN SLIP The minimum value allowed from the slip rate. From the equation:

Slip rate = slip gain x (speed/max speed) x (current/max current)

It can be seen that at a zero speed, the slip rate would become zero. Therefore a minimum value for slip rate is required. (16.384 =1Hz).

Parameter 182 C ACCELERATION Maximum acceleration of axis. The value is the units of encoder steps / second / second at the motor.

Parameter 183 C MAX FREQ The frequency at which the motor will be run when maximum spindle RPM is commanded. Units: 0.01 Hz (two implied decimal places).

Parameter 184 C MAX ERROR The maximum allowable error (in Hz) between commanded spindle speed and actual speed. If set to zero, it will default to 1/4 of Parameter 183.

Parameter 185 C FUSE LEVEL See Parameter 10 for description.

Parameter 186 C DECELERATION Maximum deceleration of axis in encoder steps per second per second.

Parameter 187 C HIGH GEAR STEPS/REV The value is the number of encoder steps per revolution of the motor when the transmission is in high gear. If the machine does not have a transmission, this is simply the number of encoder steps per revolution of the motor.

Parameter 188 C ORIENT GAIN The value is the proportional gain used in the position control loop when performing a spindle orientation.

Parameter 189 C BASE FREQ This is the rated frequency of the motor.

Parameter 190 C HI SP CURR LIM At speeds higher than the base frequency, the maximum current that is applied to the motor must be reduced. This is done linearly from base frequency to max frequency. This value is the max current at the max frequency.

Parameter 191 C MAX CURRENT See Parameter 105 for description

Parameter 192 C MAG CURRENT This is the magnetization component of the current in the motor, also called the flux or field current.

308

PARAMETERS June 2001 O MPERATORS ANUAL

96-8500 rev C

Parameter 193 C SPIN ORIENT MARGIN When a spindle orientation is done, if the actual position of the spindle is within this value (plus or minus), the spindle will be considered locked. Otherwise, the spindle will not be locked.

Parameter 194 SPINDLE STOP FREQ The spindle is considered to be stopped (discrete input SP ST*=0) when the speed drops below this value. Units are encoder steps/millisecond.

Parameter 195 C START/STOP DELAY This delay is used at the start of motion to magnetize the rotor before acceleration starts. When the motor comes to a stop it remains energized for this amount of time. Units are in milliseconds.

Parameter 196 C ACCEL LIMIT LOAD This parameter is used when a Vector Drive is installed. This is the % load limit during acceleration. If the load reaches this limit during acceleration the control slows down the acceleration. If a Vector Drive is not installed, this parameter is called C axis EXACT STOP DISTANCE, and is not used.

Parameter 197 SWITCH FREQUENCY. Unit:Hz. This is the frequency at which the spindle motor windings are switched. Note that there is a hysteresis band around this point, defined by parameter 198.

Parameter 198 SWITCH HYSTERESIS. UNIT:Hz. This defines the + hysteresis band around parameter 197. For example if parameter 197 is 85 Hz, and parameter 198 is 5Hz, the switching will take place at 90Hz when the spindle is speeding up, and at 80 Hz when the spindle is slowing down.

Parameter 199 PRE-SWITCH DELAY. UNIT: ms. This is the amount of time allowed for the current in the motor to drop before the winding change contactors are switched.

Parameter 200 POST- SWITCH DELAY. UNIT: ms This is the amount of time allowed for the contactors to stabilize after a switch is commanded, before current is applied to the motor.

Parameter 201 X SCREW COMP. COEF. This is the coefficient of heating of the lead screw and is used to shorten the screw length.

Parameter 205 A SCREW COMP. COEF. This parameter should be set to 0.

Parameter 206 SPIGOT POSITIONS Vertical mills only. Maximum number of spigot positions.

Parameter 207 SPIGOT TIMEOUT (MS) Vertical mills only. Maximum timeout allowed for spigot to traverse one spigot location.

Parameter 208 SPIN. FAN OFF DELAY Delay for turning the spindle fan off after the spindle has been turned off.

309

PARAMETERSJune 2001 O MPERATORS ANUAL

96-8500 rev C

Parameter 209 COMMON SWITCH 2 Parameter 209 is a collection of general purpose single bit flags used to turn some functions on and off. The left and right cursor arrows are used to select the function being changed. All values are 0 or 1 only. The function names are:

0 HORIZONTAL When set to (1), the control identifies the machine as a horizontal mill. The control will then make the necessary adjustments, such as enabling the horizontal tool changer.

1 RST STOPS T.C. Tool changer can be stopped with RESET button.

2 CHAIN TC On all HS mills with the 60 or 120 pocket chain-style tool changer, it must be set to 1. On all other mills, it must be set to zero.

3 ENA CONVEYOR Enables chip conveyor, if machine is so equipped.

4 50% RPD KBD When (1) the control will support the new style keyboards with the 50% rapid traverse key. For controls without a 50% rapid keypad set this bit to (0).

5 FRONT DOOR When enabled the control will look for an additional door switch and will generate an operator message.

6 TC Z NO HOME In Horizontal mills only. This bit prevents Z-axis motion to machine zero prior to a tool change.

7 M36 AUTO MOT In Horizontal only. When set to (1), an M36 rotates the A-axis after the PART READY button is pressed.

8 AUX AXIS TC In Horizontal mills only. When enabled, means the tool changer carousel is driven by an aux. axis.

9 SPIGOT KEY INV This bit controls the direction the spigot moves when the Coolant Up and Coolant Down buttons are pressed. Changing this bit reverses the direction the spigot moves when the buttons are pressed. It has no effect on the direction the spigot moves when commanded by the M34 and M35 codes.

12 REV CONVEYOR Reverses the direction of the chip conveyor.

13 M27-M28 CONVYR Usually the chip conveyor motor and direction relays are attached to the user relays M21 and M22. When this bit is set, the control expects to see the conveyor hooked up to M27 and M28.

15 GREEN BEACON When (1) user relay M25 is used to flash a beacon. If the control is in a reset state, the beacon will be off. If the control is running normally, the beacon will be steadily on. If the control is in a M00, M01, M02, M30 feedhold, or single block state, then the beacon will flash.

16 RED BEACON When (1) user relay M26 is used to flash a beacon. The beacon flashes if the control is experiencing an alarm or emergency stop condition.

17 CONVY DR OVRD When (1) the conveyor will continue to run with the door open. When (0) the conveyor will stop when the door is open, but will resume when the door is closed. For safety it is recommended that the bit be set to (0).

18 DSBL CLNT IN If set to 1 low coolant input will not be used.

19 DSC INP PR Discrete pallet rotate/part ready; inputs enabled if set to 1.

20 RMT TOOLS RLS If set to 1, allows use of remote tool release button on spindle head.

310

PARAMETERS June 2001 O MPERATORS ANUAL

96-8500 rev C

21 DISK ENABL If set to 1, enables the optional disk drive.

22 TCR KEYPAD If set to 1, enables tool changer restore button on keypad.

23 MCD RLY BRD If set to 1, adds 8 additional relays, for a total of 40. These additional relays (M21-M28) become available on a secondary board, and are shown on the discrete outputs page.

24 TSC ENABLE When set to 1, "DSBL CLNT IN" bit is ignored, M24, M54 and M64 are disabled, and TSC will operate. When set to zero, the control functions normally.

25 AUX JOG NACC If the jog handle is moved rapidly the auxiliary axis will not develope extremely large lags.

26 ALISM PRGRST Alias M codes during program restart.

27 DSBL JOG TST Disables the encoder test for the jog handle.

28 AIR DR @ M24 Used on horizontal mills only.

29 PAL ENABLE This parameter accommodates both the APC on the vertical mill the Rotary Pallet Changer on the Horizontal mill. This parameter bit should be set to 1 if an APC is present. Otherwise, it should be set to zero. Note that this bit should be zero on Horizontal Mills as it is intended for future pallet changer software that replaces the macro program.

30 P RDY @ Y160 Used on horizontal mills only.

31 SPNDL NOWAIT When (1), the machine will not wait for the spindle to come up to speed immediately after an M03 or M04 command. Instead, it will check and/or wait for the spindle to come up to speed immediately before the next interpolated motion is initiated. This bit does not affect rigid tapping or the TSC option.

Parameter 210 X AXIS TOOL CHANGE OFFSET Used on the HS-2RP mill for X axis displacement from the home position to tool change position. If this parameter contains an incorrect value, a horizontal mill will crash when it does a tool change.

Parameter 211 Y AXIS TOOL CHANGE OFFSET Used on the HS-2RP mill for Y axis displacement from the home position to tool change position. If this parameter contains an incorrect value, a horizontal mill will crash when it does a tool change.

Parameter 212 A TOOL CHANGE OFFSET This parameter sets the distance between the A-axis grid offset (Parameter 128) and the spindle home position. The A-axis will be limited in movement to the area between the positive value of this parameter and the negative MAX TRAVEL.

311

PARAMETERSJune 2001 O MPERATORS ANUAL

96-8500 rev C

Parameter 213 B TOOL CHANGE OFFSET This parameter sets the distance between the B-axis grid offset (Parameter 170) and the spindle home position. The B-axis will be limited in movement to the area between the positive value of this parameter and the negative MAX TRAVEL. This parameter must be used on all mills with the 60 or 120 pocket chain-style tool changer, as opposed to parameter 215, CAROUSEL OFFSET, which is used on other side mount tool changers. Note that on a machine with a single mocon board, the Tt axis parameters are automatically copied to the B axis parameters and only the Tt axis parameters can be altered.

Parameter 214 D:Y CURRENT RATIO %. UNIT: %. This defines the ratio between the two winding configurations. This default winding is Y, and the parameters are set for the Y winding. This number is used to adjust the parameters for the delta winding when the windings are switched.

Parameter 215 CAROUSEL OFFSET Used on horizontal mills only. Parameter used to align tool 1 of tool changing carousel precisely. Units are encoder steps.

Parameter 216 CNVYR RELAY DELAY Delay time in 1/50 seconds required on conveyor relays before another action can be commanded. Default is 50.

Parameter 217 CNVYR IGNORE OC TIM Amount of time in 1/50 seconds before overcurrent is checked after conveyor motor is turned on. Default is 50.

Parameter 218 CONVYR RETRY REV TIM Amount of time that the conveyor is reversed in 1/50 seconds after overcurrent is sensed. Default is 2000.

Parameter 219 CONVYR RETRY LIMIT Number of times that the conveyor will cycle through the reverse/forward sequencing when an overcurrent is sensed before the conveyor will shut down. An overcurrent is sensed when chips jam the conveyor. By reversing and then forwarding the conveyor, the chip jam may be broken. Default is 5.

Parameter 220 CONVYR RETRY TIMEOUT Amount of time in 1/50 seconds between consecutive overcurrents in which the overcurrents is considered another retry. If this amount of time passes between overcurrents, then the retry count is set to (0). Default is 1500, 30 seconds.

Parameter 221 MAX TIME NO DISPLAY The maximum time (in 1/50 sec.) between screen updates.

Parameter 222 ROTARY AXIS INCRMNT For Horizontal mills only. This parameter sets the degrees of rotation of the A-axis at an M36 or Pallet Rotate.

Parameter 223 AIR TC DOOR DELAY For Horizontal mills only. This parameter sets the delay to open the tool changer door (in milliseconds). If the tool changer does not have a pneumatic door, this parameter is set to zero.

312

PARAMETERS June 2001 O MPERATORS ANUAL

96-8500 rev C

Parameter 224 ROT AXIS ZERO OFSET This parameter shifts the zero point of A for a wheel fixture or tombstone.

Parameter 225 MAX ROT AXIS ALLOW For Horizontal mills with a wheel fixture only. This parameter sets the maximum rotation (in degrees) allowed before stopping at front door.

Parameter 226 EDITOR CLIPBOARD This parameter assigns a program number (nnnnn) to the contents of the clipboard (for the advanced editor).

Parameter 227 DISK DIR NAME When the disk drive is enabled and a directory is read the directory listing is placed into a program as comments. The program is then made the current program so the user can read the contents of the disk drive. This parameter designates where to write the directory listing. Program 08999 is the default value.

Parameter 228 QUICKCODE FILE This parameter set the program numbers to store in the Quick Code definition program. Usually, this is 9999.

Parameter 229 X LEAD COMP 10E9 This parameter sets the X-axis lead screw compensation signed parts per billion.

Parameter 230 Y LEAD COMP 10E9 This parameter sets the Y-axis lead screw compensation signed parts per billion.

Parameter 231 Z LEAD COMP 10E9 This parameter sets the Z-axis lead screw compensation signed parts per billion.

Parameter 232 A LEAD COMP 10E9 This parameter sets the A-axis lead screw compensation signed parts per billion.

Parameter 233 B LEAD COMP 10E9 This parameter sets the B-axis lead screw compensation signed parts per billion.

Parameter 235 TSC PISTON SEAT With the 50 TSC option, the amount of time given for the piston to seat during system start-up. The default is 500 milliseconds. If machine has a 50 Taper spindle and the TSC option, this parameter must be set to 0.

Parameter 236 TSC LOW PR FLT After the TSC system has stabilized following start-up, Alarm 151 is generated if coolant pressure falls below 40 psi for the amount of time set in this parameter. The default is 1000 milliseconds.

Parameter 237 TSC CLNT LINE PURGE The amount of time given for the coolant to purge when the TSC system is shut off. This parameter may be increased by the user to a higher value to help purge coolant from small orifice tooling. The minimum (default) value is 2500 milliseconds.

313

PARAMETERSJune 2001 O MPERATORS ANUAL

96-8500 rev C

Parameter 238 MAX TSC SPINDLE RPM When TSC is enabled and in use, this parameter limits the maximum spindle speed. Default value is 10000 RPM. On 50 taper machines, the maximum spindle speed is 5000 RPM

Parameter 239 SPNDL ENC STEPS/REV This parameter sets the number of encoder steps per revolution of the spindle encoder.

Parameter 240 1ST AUX MAX TRAVEL This parameter sets the maximum travel of the first auxiliary (C) axis in the positive direction.

Parameter 241 2ND AUX MAX TRAVEL This parameter sets the maximum travel of the second auxiliary (U) axis in the positive direction.

Parameter 242 3RD AUX MAX TRAVEL This parameter sets the maximum travel of the third auxiliary (V) axis in the positive direction.

Parameter 243 4TH AUX MAX TRAVEL This parameter sets the maximum travel of the fourth auxiliary (W) axis in the positive direction.

Parameter 244 1ST AUX MIN TRAVEL This parameter sets the maximum travel of the first auxiliary (C) axis in the negative direction.

Parameter 245 2ND AUX MIN TRAVEL This parameter sets the maximum travel of the second auxiliary (U) axis in the negative direction.

Parameter 246 3RD AUX MIN TRAVEL This parameter sets the maximum travel of the third auxiliary (V) axis in the negative direction.

Parameter 247 4TH AUX MIN TRAVEL This parameter sets the maximum travel of the fourth auxiliary (W) axis in the negative direction.

Parameter 248 SMTC RLY ON / OFF DLY Vertical mills with sidemount tool changers only. It specifies the time needed (in milliseconds) between turning off one relay and turning on the other one, when reversing the carousel.

Parameter 249 TOOL CLAMP DELAY This parameter provides a delay after the tool has been clamped and before retraction of the tool carousel at the end of a tool change. For most mills, this parameter should be set to zero. Units are milliseconds.

Parameter 250 TOOL UNCLAMP DELAY This parameter provides a delay after the tool has been unclamped and before the spindle is backed away at the beginning of a tool change. For most mills, this parameter should be set to zero. Units are in milliseconds.

314

PARAMETERS June 2001 O MPERATORS ANUAL

96-8500 rev C

Parameter 251 A DOOR OPEN ERRTIME This parameter supports the Auto-Door feature. It is used for several things: 1) It specifies the number of 50ths of a second for the motor to run to open the door. 2) The value of this parameter plus one second specifies the number of 50ths of a second for the motor to run to close the door. 3) If, at the end of the door-close time, the door has not yet reached the switch, alarm 238 DOOR FAULT is generated. If an automatic door is installed, this parameter should be set to 5500 (5.5 seconds) nominally, otherwise it should be set to zero.

Parameter 252 GEAR MOTOR TIMEOUT This parameter supports the Auto-Door feature. It specifies the length of time (in ms) that is allowed for the door to begin opening. If the door does not move off the door-closed switch within this amount of time, alarm 238 DOOR FAULT will be generated. This parameter should be set to 1000 (1.0 seconds) nominally.

Parameter 254 VB AIR DOOR CLEARANCE This is a new parameter to support the VB-1 Bridge Mill tool carousel air door. The air door is a clamshell shaped door covering the tool carousel, which raises up at one side by air power to allow the spindle to access the tools. In order for it to open and close, there must be sufficient clearance between it and the spindle. This parameter must be set to the correct value (in encoder units), parameter 223 AIR TC DOOR DELAY must set to a non-zero value, parameter 267 ZERO AXIS TC must be set to 1 and parameter 278 TC DR SWITCH must be set to 1. When a tool change is commanded, the following steps are performed: 1) The Y axis is moved to the position specified by parameter 254. 2) The air door is commanded to open. 3) There is a delay specified by parameter 223 to allow the door to open fully. 4) The Y axis is moved to zero and the tool change is performed. 5) The Y axis is moved to the position specified by parameter 254. 6) The air door is commanded to close. 7) There is a delay specified by parameter 223 to allow the door to close fully.

Parameter 255 CONVEYOR TIMEOUT The number of minutes the conveyor will operate without any motion or keyboard action. After this time, the conveyor will automatically shut off. Note that this parameter value will cause the conveyor to turn off even if the intermittent feature is functioning. Note also that if this parameter is set to zero, the chip conveyor will shut off immediately, i.e., pressing CHIP FWD or CHIP REV will not turn it on.

Parameter 256 PALLET LOCK INPUT This parameter selects the discrete input (0 to 31) that is to be used to monitor the pallet locked status. Used in horizontal mills only.

Parameter 257 SPINDL ORIENT OFSET If the machine is equipped with a spindle vector drive (as set in bit 7 of Parameter 278), this bit sets the spindle orientation offset. The offset is the number of encoder steps between the Z pulse and the correct spindle orientation position. It is used to orient the spindle properly anytime it needs to be locked, such as prior to a tool change, or orient spindle command.

315

PARAMETERSJune 2001 O MPERATORS ANUAL

96-8500 rev C

Parameter 258 COLD SPINDLE TEMP The first time Cycle Start is pressed after the machine has been turned on, the control will compare the microprocessor temperature (in degrees Fahrenheit) against the value of this parameter. If the microprocessor is colder, the control will assume that the spindle is too cold or inadequately lubricated to be run safely at high speed and the following message will be displayed:

!!!WARNING!!!

YOUR MACHINE IS COLD, RUN A WARM-UP PROGRAM BEFORE RUNNING THE SPINDLE AT HIGH SPEED OR DAMAGE MAY RESULT PRESS 'CANCEL' TO CONTINUE

The user must press CANCEL before continuing. It is recommended that a spindle warm-up program be run immediately. This message will only appear once each time the machine has been turned on. The initial value for this parameter is 70 (degrees F). To disable this feature, change it to zero.

Parameter 259 COLD SPINDLE DAYS The first time Cycle Start is pressed after the machine has been turned on, the control will compare the number of days that have passed since the machine was turned off against the value of this parameter. If the machine has been off longer, the control will assume that the spindle is too cold or inadequately lubricated to be run safely at high speed and the following message will be displayed:

!!!WARNING!!!

YOUR MACHINE IS COLD, RUN A WARM-UP PROGRAM BEFORE RUNNING THE SPINDLE AT HIGH SPEED OR DAMAGE MAY RESULT PRESS 'CANCEL' TO CONTINUE

The user must press CANCEL before continuing. It is recommended that a spindle warm-up program be run immediately. This message will only appear once each time the machine has been turned on. The initial value for this parameter is 3 (days). To disable this feature, change it to 999999.

Parameter 266 X SWITCHES Parameter 266 is a collection of single-bit flags used to turn servo related functions on and off. The left and right cursor arrows are used to select the function being changed. All values are 0 or 1 only. The function names are:

0 X LIN SCALE EN Used to enable linear scales for the X axis.

1 X INVRT LN SCL Used to invert the X-axis linear scale.

2 DSBL SCALE Z Used to disable the linear scale Z test.

3 X ZERO AXIS TC Used to return axis to zero prior to tool change (5-axes mills) .

4 X 2ND HOME BTN Used to move axis to coordinate specified in Work Offset G129.

5 X NEG COMP DIR Used to negate the direction of thermal compensation.

6 X DELAY AXIS 0 Used with an APL to ensure X axis is zeroed before A axis of APL

7 X MAX TRAVEL INP This bit is set to 1 on five axes machines. This bit indicates that there is a switch (visible through MOCON) that detects if the axis has rotated all the way round. It is used to tell the control to skip the first zero switch when zeroing so it can unwrap the cables.

316

PARAMETERS June 2001 O MPERATORS ANUAL

96-8500 rev C

9 X TEMP SENSOR This performs Lead Screw Thermal Compensation via a temperature sensor attached to the ball nut. When this bit is set to 1, the feature is activated for that axis. Note that this feature can only be used when temperature sensors are installed. The following parameters must be set appropriately:

201, 132, 133 XYZ SCREW COMP. COEF. =-8000000 272, 273, 274 XYZ SCREW COMP. T. CONST. =-28000 351 TEMP PROBE OFFSET =450000

16 SCALE Z HIST For HAAS diagnostic use only.

Parameter 267 Y SWITCHES Parameter 267 is a collection of single-bit flags used to turn servo related functions on and off. The left and right cursor arrows are used to select the function being changed. All values are 0 or 1 only. The function names are:

0 Y LIN SCALE EN Used to enable linear scales for the Y axis.

1 Y INVRT LN SCL Used to invert the Y-axis linear scale.

2 DSBL SCALE Z Used to disable the linear scale Z test.

3 Y ZERO AXIS TC Used to return axis to zero prior to tool change (5-axes mills).

4 Y 2ND HOME BTN Used to move axis to coordinate specified in Work Offset G129.

5 Y NEG COMP DIR Used to negate the direction of thermal compensation.

6 Y DELAY AXIS 0 Used with an APL to ensure Y axis is zeroed before A axis of APL.

7 Y MAX TRAVEL INP This bit is set to 1 on five axes machines. This bit indicates that there is a switch (visible through MOCON) that detects if the axis has rotated all the way round. It is used to tell the control to skip the first zero switch when zeroing so it can unwrap the cables.

9 Y TEMP SENSOR This performs Lead Screw Thermal Compensation via a temperature sensor attached to the ball nut. When this bit is set to 1, the feature is activated for that axis. Note that this feature can only be used when temperature sensors are installed. The following parameters must be set appropriately:

201, 132, 133 XYZ SCREW COMP. COEF. =-8000000 272, 273, 274 XYZ SCREW COMP. T. CONST. =-28000 351 TEMP PROBE OFFSET =450000

16 SCALE Z HIST For HAAS diagnostic use only.

Parameter 268 Z SWITCHES Parameter 268 is a collection of single-bit flags used to turn servo related functions on and off. The left and right cursor arrows are used to select the function being changed. All values are 0 or 1 only. The function names are:

0 Z LIN SCALE EN Used to enable linear scales for the Z axis.

1 Z INVRT LN SCL Used to invert the Z-axis linear scale

2 DSBL SCALE Z Used to disable the linear scale Z test.

3 Z ZERO AXIS TC Used to return axis to zero prior to tool change (5-axes mills) .

4 Z 2ND HOME BTN Used to move axis to coordinate specified in Work Offset G129.

5 Z NEG COMP DIR Used to negate the direction of thermal compensation.

6 Z DELAY AXIS 0 Used with an APL to ensure Z axis is zeroed before A axis of APL

317

PARAMETERSJune 2001 O MPERATORS ANUAL

96-8500 rev C

7 Z MAX TRAVEL INP This bit is set to 1 on five axes machines. This bit indicates that there is a switch (visible through MOCON) that detects if the axis has rotated all the way round. It is used to tell the control to skip the first zero switch when zeroing so it can unwrap the cables.

9 Z TEMP SENSOR This performs Lead Screw Thermal Compensation via a temperature sensor attached to the ball nut. When this bit is set to 1, the feature is activated for that axis. Note that this feature can only be used when temperature sensors are installed. The following parameters must be set appropriately:

201, 132, 133 XYZ SCREW COMP. COEF. =-8000000 272, 273, 274 XYZ SCREW COMP. T. CONST. =-28000 351 TEMP PROBE OFFSET =450000

16 SCALE Z HIST For HAAS diagnostic use only.

Parameter 269 A SWITCHES Parameter 269 is a collection of single-bit flags used to turn servo related functions on and off. The left and right cursor arrows are used to select the function being changed. All values are 0 or 1 only. The function names are:

0 A LIN SCALE EN Used to enable linear scales for the A axis.

1 A INVRT LN SCL Used to invert the A-axis linear scale.

2 DSBL SCALE Z Used to disable the linear scale Z test.

3 A ZERO AXIS TC Used to return axis to zero prior to tool change (5-axes mills).

4 A 2ND HOME BTN Used to move axis to coordinate specified in Work Offset G129.

5 A NEG COMP DIR Used to negate the direction of thermal compensation.

6 A DELAY AXIS 0 Used with an APL to ensure A axis is zeroed before B axis of APL.

7 A MAX TRAVEL INP This bit is set to 1 on five axes machines. This bit indicates that there is a switch (visible through MOCON) that detects if the axis has rotated all the way round. It is used to tell the control to skip the first zero switch when zeroing so it can unwrap the cables.

9 A TEMP SENSOR This performs Lead Screw Thermal Compensation via a temperature sensor attached to the ball nut. When this bit is set to 1, the feature is activated for that axis. Note that this feature can only be used when temperature sensors are installed. The following parameters must be set appropriately:

201, 132, 133 XYZ SCREW COMP. COEF. =-8000000 272, 273, 274 XYZ SCREW COMP. T. CONST. =-28000 351 TEMP PROBE OFFSET =450000

16 SCALE Z HIST For HAAS diagnostic use only.

318

PARAMETERS June 2001 O MPERATORS ANUAL

96-8500 rev C

Parameter 270 B SWITCHES Parameter 270 is a collection of single-bit flags used to turn servo related functions on and off. The left and right cursor arrows are used to select the function being changed. All values are 0 or 1 only. The function names are:

0 B LIN SCALE EN Used to enable linear scales for the B axis.

1 B INVRT LN SCL Used to invert the B-axis linear scale.

2 DSBL SCALE Z Used to disable the linear scale Z test.

3 B ZERO AXIS TC Used to return axis to zero prior to tool change (5-axes mills). On HS mills with the 60 or 120 pocket chain-style tool changer, this bit must be set to 1. It will cause the TOOL CHANGE OFFSET parameter to be used for tool changes.

4 B 2ND HOME BTN Used to move axis to coordinate specified in Work Offset G129.

5 B NEG COMP DIR Used to negate the direction of thermal compensation.

6 B DELAY AXIS 0 Used with an APL to ensure B axis is zeroed before A axis of APL.

7 B MAX TRAVEL INP This bit is set to 1 on five axes machines. This bit indicates that there is a switch (visible through MOCON) that detects if the axis has rotated all the way round. It is used to tell the control to skip the first zero switch when zeroing so it can unwrap the cables.

9 B TEMP SENSOR This performs Lead Screw Thermal Compensation via a temperature sensor attached to the ball nut. When this bit is set to 1, the feature is activated for that axis. Note that this feature can only be used when temperature sensors are installed. The following parameters must be set appropriately:

201, 132, 133 XYZ SCREW COMP. COEF. =-8000000 272, 273, 274 XYZ SCREW COMP. T. CONST. =-28000 351 TEMP PROBE OFFSET =450000

16 SCALE Z HIST For HAAS diagnostic use only.

Parameter 271 C SWITCHES Parameter 271 is a collection of single-bit flags used to turn servo related functions on and off. This parameter is not used when machine is equipped with a Haas vector drive. The left and right cursor arrows are used to select the function being changed. All values are 0 or 1 only. The function names are:

0 C LIN SCALE EN Used to enable linear scales for the C axis.

1 C INVRT LN SCL Used to invert the C-axis linear scale.

2 DSBL SCALE Z Used to disable the linear scale Z test.

3 C ZERO AXIS TC Used to return axis to zero prior to tool change (5-axes mills).

4 C 2ND HOME BTN Used to move axis to coordinate specified in Work Offset G129.

5 C NEG COMP DIR Used to negate the direction of thermal compensation.

6 C DELAY AXIS 0 Used with an APL to ensure C axis is zeroed before A axis of APL.

16 SCALE Z HIST For HAAS diagnostic use only.

Parameter 272 X SCREW COMP T. CONST. This parameter is the thermal compensation time constant, and is the time constant governing the rate of cool down of the screw.

319

PARAMETERSJune 2001 O MPERATORS ANUAL

96-8500 rev C

Parameter 273 Y SCREW COMP T. CONST. This parameter is the thermal compensation time constant, and is the time constant governing the rate of cool down of the screw.

Parameter 274 Z SCREW COMP T. CONST. This parameter is the thermal compensation time constant, and is the time constant governing the rate of cool down of the screw.

Parameter 275 A SCREW COMP T. CONST. This parameter should be set to 0.

Parameter 276 B SCREW COMP T. CONST. This parameter should be set to 0.

Parameter 278 COMMON SWITCH 3 Parameter 278 is a collection of general purpose single bit flags used to turn some functions on and off. This bit will cause the machine to use discrete outputs 21 and 26 to command the shuttle to move in and out. On mills with the Air Driven Shuttle it must be set to 1. On all other mills it must be set to 0. The left and right cursor arrows are used to select the function being changed. All values are 0 or 1 only. The function names are:

0 INVERT G.B. This bit allows an alternate gearbox configuration. It inverts the sense of the gearbox inputs. Used for 50 taper option.

1 DPR SERIAL Causes the main serial inputs/outputs to go through the disk video board.

2 CHECK PALLET IN This bit is used on horizontal mills only.

3 CHECK HIDN VAR This bit is used on horizontal mills only.

4 DISPLAY ACTUAL When set to 1, displays the actual spindle speed on the Current Commands display page.

5 TSC PRG ENBL Enables purge output on TSC option.

6 SNGL SW CLMP This parameter enables the control to rely up on a single switch to detect the clamp position of the Side Mount Tool Changer arm. When this bit is set to zero, both the upper and the lower switches are used to detect the arm position. When it is set to one, only the lower switch will be used. This means that the control will not wait until the upper switch is tripped to conclude that the tool is clamped, so subsequent operations can begin immediately. This increases tool change speed.

7 SPND DRV LCK This bit must be set to 1 if machine is equipped with a non-Haas vector spindle drive. This bit must be set to 1 if the machine has a 50 taper spindle or a non-Haas vector drive.

9 CNCR SPINDLE (Concurrent Spindle) When set to 1, the spindle will be commanded to start concurrently with other commands in the same block. In the following example, with this bit set to 1, the spindle will start at the same time as the rapid move:

G0 X-1. S7500 M3;

10 HS3 HYD TC This parameter bit is used with the 38 tool SMTC on the HS-3. When this is set to zero, the mill will behave normally. When it is set to 1, the control will recognize that the toolchanger is a 38-Tool SMTC.

320

PARAMETERS June 2001 O MPERATORS ANUAL

96-8500 rev C

11 HAAS VECT DR (Haas Vector Drive) This bit must be set to 1 if machine is equipped with a HAAS vector spindle drive. When set to 1, voltage to the Haas vector drive is displayed in the diagnostics display as DC BUSS.

12 UP ENCL TEMP (Microprocessor Enclosure Temperature) When set to 1, the enclosure temperature will be displayed on INPUTS2 screen of the diagnostics display.

13 HAAS RJH (Haas Remote Jog Handle) This bit must be set to 1 if the machine is equipped with a Haas 5-Axes Remote Jog Handle.

14 SPIN TEMP NC (Spindle Temperature Sensor Normally Closed) This bit specifies the type (normally open or normally closed) of the spindle temperature sensor. This bit should be set to 1.

15 AIR DRV SHTL This bit will cause the machine to use discrete outputs 21 and 26 to command the shuttle to move in and out. On mills with the Air Driven Shuttle it must be set to 1. On all other mills it must be set to 0.

16 GIMBAL SPNDL Used on 5-axes mills. This bit will cause the machine to check that the Z,A and B axes are at zero before a tool change is started. If one is not, alarm 150 will be generated. On mills with the gimbaled Spindle it must be set to 1. On all other mills it must be set to 0.

17 NO MFIN CKPU When this bit is set, it will prevent checking of MFIN at power-up. It should be set for 1 for all machines that have the new Haas Automatic Pallet Changer attached, and 0 for all other machines.

18 D:Y SW ENABLE (Delta Wye switch enabled). This bit is used for the Vector Drive. The bit enables the switching of spindle motor windings, provided the hardware ENABLE is installed, and the proper parameters are set. If this switch is set, but bit 19 is not, then the winding switching will only be done when the spindle is at rest, depending on the target speed of the spindle.

19 D:Y SW ON FLY This bit enables switching on the fly, as the spindle motor is accelerating or decelerating through the switch point. If bit 18 is not set, this switch will be ignored.

20 5 AX TOFS -X This bit is used with the G143 (modal 5 axes tool length compensation) on machines with a Gimbaled Spindle. If it is set to 1, this means that when the corresponding rotary axes is moved, the sign of the X Position must be inverted. Normally, this bit should be set to 0.

21 5 AX TOFS -Y This bit is used with the G143 (modal 5 axes tool length compensation) on machines with a Gimbaled Spindle. If it is set to 1, this means that when the corresponding rotary axes is moved, the sign of the Y Position must be inverted. Normally, this bit should be set to 0.

22 B+C 5 AXES This bit is used with the G142 (modal 5 axes tool length compensation) on machines with a Gimbaled Spindle. The B-axis normally moves the A-axis, but if this is not true, this bit can be set to change which is the inner axis. Normally, this bit should be set to 0.

321

PARAMETERSJune 2001 O MPERATORS ANUAL

96-8500 rev C

23 TC DR SWITCH Horizontal tool carousel door configuration. This bit specifies the Horizontal Mill tool carousel door configuration. If it is set to 0, this indicates the old configuration where the door is driven open by a timed operation. If it is set to 1, this indicates the new configuration where the door is spring-loaded closed and is driven open by the timed operation against the door open switch. In open position, the door switch signal is 0 (low). The switch status is checked before and after commanding the door to open in order to be fail-safe.

For all horizontal mills that have the switch installed, this bit must be set to 1. For all other mills, this bit must be set to 0.

24 HS2 SDMTCRSL This parameter bit is for the HS-2 sidemount tool changer. It must be set to 1 on all HS-2 mills, and 0 on all other mills.

25 HS3 SDMTCRSL This parameter bit is for the HS-3 sidemount tool changer. It must be set to 1 on all HS-3 mills, and 0 on all other mills.

26 S MNT BIT 1 Bits 26, 27, and 28 work together to specify the type of sidemount tool changer that is installed on a vertical mill. The following table shows the bit combinations that must be used: Bit 26 27 28

0 0 0 No side-mount tool changer installed 1 0 0 Serpentine 1 0 1 0 Serpentine 2 1 1 0 Serpentine 3 0 0 1 Disk 1 1 0 1 Disk 2 0 1 1 Disk 3 1 1 1 Disk 4

27 S MNT BIT 2 Bits 26, 27, and 28 work together to specify the type of sidemount tool changer that is installed on a vertical mill.

28 S MNT BIT 3 Bits 26, 27, and 28 work together to specify the type of sidemount tool changer that is installed on a vertical mill.

29 SAFETY INVERT This bit supports the CE door interlock that locks when power is turned off. For machines that have the regular door lock that locks when power is applied, this bit must be set to 0. For machines that have the inverted door lock, this bit must be set to 1.

30 SWAP A & C This parameter causes the A and C axes to be swapped internally. This parameter bit should be set to 1 for the bridge mill. All other mills should set this bit to 0.

31 INV SPD DCEL Inverse Spindle Speed Deceleration. When this parameter is set to 1, the spindle decelerates faster at lower speeds, resulting in a shorter deceleration time.

Parameter 279 X SCALE GAIN MULT This parameter is used on machines with linear scales. Linear scales are used to continuously correct any errors in the encoder position. The parameter determines the gain of the correction factor, that is, how fast it corrects. This parameter should be set to 40.

Parameter 280 Y SCALE GAIN MULT See parameter 279 for description

322

PARAMETERS June 2001 O MPERATORS ANUAL

96-8500 rev C

Parameter 281 Z SCALE GAIN MULT See parameter 279 for description

Parameter 282 A SCALE GAIN MULT See parameter 279 for description

Parameter 283 B SCALE GAIN MULT See parameter 279 for description

Parameter 284 RESERVED

Parameter 285 X LINEAR SCREW OFFS This parameter is used on machines with linear scales. This parameters account for the unused portion of the lead screw between zero and the actual motor. This parameter should be a positive value (400000) unless the NEG COMP DIR bit for the axis is set, in which case this parameter should be a negative value (-400000.)

Parameter 286 Y LINEAR SCREW OFFS See parameter 285 for description.

Parameter 287 Z LINEAR SCREW OFFS See parameter 285 for description.

Parameter 288 A LINEAR SCREW OFFS See parameter 285 for description.

Parameter 289 B LINEAR SCREW OFFS See parameter 285 for description.

Parameter AUTO DOOR PAUSE This parameter supports the Auto-Door feature. It specifies the length of a pause (in 50ths of a second) that occurs during the door close sequence. As the door closes and the switch is activated, the motor is turned off for this amount of time and the door coasts. This allows the door to close smoothly. This parameter should be set to 1 (0.02 seconds) nominally. It works in conjunction with parameter 293.

Parameter 293 AUTO DOOR BUMP This parameter supports the Auto-Door feature. It specifies the length of time (in 50ths of a second) that the motor should be reactivated after the pause specified by parameter 292. This causes the motor to close the door fully and smoothly. This parameter should be set to 2 (0.04 seconds) nominally.

Parameter 294 MIN BUSS VOLTAGE This parameter specifies the minimum Haas Vector Drive buss voltage. It should be set to 200 (the units are volts). Alarm 160 will be generated if the voltage falls below this value.

Parameter 295 SHTL SETTLE TIME Used on mills with an air driven shuttle. This parameter allows settling time for the shuttle after it has moved toward the spindle and before a tool change is performed. It should be set to approximately half a second (500) on all mills with the Air Driven Shuttle. This may very. All other mills can be set to 0 as they are unaffected by it.

323

PARAMETERSJune 2001 O MPERATORS ANUAL

96-8500 rev C

Parameter 296 MAX OVER VOLT TIME Specifies the amount of time (in 50ths of a second) that an overvoltage condition (alarm 119 OVER VOLTAGE) will be tolerated before the automatic shut down process is started.

Parameter 297 MAX OVERHEAT TIME Specifies the amount of time (in 50ths of a second ) that an overheat condition (alarm 122 REGEN OVERHEAT) will be tolerated before the automatic shut down process is started.

Parameter 298 MAX FEED (DEG/MIN) Used on 5-axes mills. This parameter specifies the maximum rotary feed rate in degrees per minute. Any attempt at cutting faster than this will result in "LIM" being displayed next to the FEED message on the Program Command Check screen.

On mills with a Gimbaled Spindle, this parameter must be set to 300. For all other mills, this bit should be set to 99999.

Parameter 299 AUTOFEED-STEP-UP This parameter works with the AUTOFEED feature. It specifies the feed rate step-up percentage per second and should initially be set to 10.

Parameter 300 AUTOFEED STEP-DOWN This parameter works with the AUTOFEED feature. It specifies the feed rate step-down percentage per second and should initially be set to 20.

Parameter 301 AUTOFEED-MIN-LIMIT This parameter works with the AUTOFEED feature. It specifies the minimum allowable feed rate override percentage that the AUTOFEED feature can use and should initially be set to 1.

Parameter 302 FEED ACCELERATION This parameter supports the motion control feature. This is the acceleration that applies to feed motion in encoder steps per second squared. For Vertical mill, 1/2 of the value of parameter 7 is a good starting point. For horizontal Mills, 1000000 is a good value to start with. This parameter can be further updated as necessary.

Parameter 303 FEED TIME CONSTANT This parameter supports the motion control feature. It is the base 2 exponent of the feed time constant in milliseconds. It should be set to 3.

Parameter 305 SERVO PO BRK DLY The SRV PO (Servo Power On) discrete output is used to engage and disengage an axis brake. This parameter is used to specify a time in milliseconds that the control should wait after activating the SRV PO output and turning off power to the servo motors via the MOCON. This parameter also specifies the time to wait after deactivating the SRV PO output and reactivating the servo motors via the MOCON.

Parameter 306 POCKET UP / DN DELAY This parameter supports the side mount tool changers. It specifies the time allowed (in milliseconds) for the tool pocket to be raised or lowered. If the pocket does not move to its commanded position within the time allowed by this parameter and by parameter 62, alarm 626 TOOL POCKET SLIDE ERROR is generated. For mills without a side mount tool changer, this parameter should be set to 0.

324

PARAMETERS June 2001 O MPERATORS ANUAL

96-8500 rev C

Parameter 307 POCK UN / LOCK DELAY This parameter supports the side mount tool changers. It specifies the time allowed (in milliseconds) to lock or unlock a tool pocket. For mills without a side mount tool changer, this parameter should be set to 0.

Parameter 308 ARM ROTATE TIME This parameter supports the side mount tool changers. It specifies the time allowed (in milliseconds) for the arm to rotate to the next position. The positions are, Clamp, Unclamp, and Origin. If the arm does not move to the commanded position within the allowed time, alarm 622 TOOL ARM FAULT is generated. For mills without a side mount tool changer, this parameter should be set to 0.

Parameter 309 MOTOR COAST TIME This parameter supports the side mount tool changers. It specifies the time allowed for the tool changer to start only. If the arm has not moved after the allowed time, alarm 627 ATC ARM POSITION TIMEOUT is generated. Units are milliseconds.

Parameter 310 CAM LOCK DELAY This parameter supports the side mount tool changers. It specifies the time allowed (in milliseconds) to lock the cam by pushing the shot pin in, or to unlock the cam by pulling the shot pin out. If the shot pin has not moved to its commanded position within the allowed time, alarm 625 INVALID TC START CONDITION is generated.

Parameter 311 ARM BUMP TIME This parameter supports the side mount tool changers. During tool change recovery, the arm may be moved a small amount by pressing the ATC FWD or ATC REV key. Each press of the key will cause the arm motors to run for the amount of time (in milliseconds) specified by this parameter. For mills without a side mount tool changer, this parameter should be set to 0.

On horizontal mills with a side mount tool chager, the arm may be rotated a small amount by pressing the END or PAGE DOWN keys. The shuttle may be moved by pressing the Left Arrow or Right Arrow keys. Each press of the key will cause the motor to run for the amount of time (in milliseconds) specified by this parameter. This parameter is most commonly set to 30.

Parameter 312 CAROUSEL BUMP TIME This parameter supports the side mount tool changers. During tool change recovery, the carousel may be moved a small amount by pressing the Left Arrow or Right Arrow key. Each press of the key will cause the carousel motors to run for the amount of time (in milliseconds) specified by this parameter. For mills without a side mount tool changer, this parameter should be set to 0.

Parameter 313 POCKET INCREMENT This is a parameter for the bridge mill. Under normal circumstances it should be set to 1. If it is set to 2, for example, the control will only recognize every other pocket. That is, it will treat the tools and pockets as follows:

Tool 1 is in pocket 1 Tool 2 is in pocket 3 Tool 3 is in pocket 5 Tool 4 is in pocket 7 etc...

If this parameter is set to 3 the control will only recognize every third pocket and so on. It is the operator's responsibility to ensure that the total number of pockets in the tool changer is evenly divisible by this parameter value. If not, the control will pick the wrong pocket after the carousel has exceeded a full revolution.

325

PARAMETERSJune 2001 O MPERATORS ANUAL

96-8500 rev C

Parameter 314 FEED DELTA V This parameter supports the motion control feature. It is the maximum change in velocity in encoder steps per millisecond.

Model Basic Value Model Basic Value HS-1 8 VF-0 32 HS-1R 8 VF-0E 32 HS-1RP 8 VF-EC 32 HS-15AXT 8 VF-1 32 HS-2RP 8 VF-2 32 HS-3 8 VF-3 24 HS-3R 8 VF-3D 24 MM-1 32 VF-4 24 VR-11 16 VF-4D 24 VB-1 8 VF-5 24 VB-3 8 VF-6 16 VS-3 8 VF-7 16 G-1 8 VF-8 16

VF-9 16 VF-10 8 VF-11 8

Parameter 315 COMMON SWITCH 4

0 ALIS M GRPHC When this bit is set to 0, all user defined M codes (such as M50 normally used to do a pallet change on a horizontal mill) will be ignored when a program is run in graphics mode. If it is necessary to have graphics recognize such M codes, this bit should be set to 1.

1 GANTRY

2 NO X MV NXTL This parameter only affects horizontal mills, and is intended for use primarily on the HS-3. If this bit is set to zero, it will have no effect. If it is set to one, the X-axis will not move following a NEXT TOOL button press. The reason for this is because after pressing NEXT TOOL on an HS-1 or HS-2, the spindle, which is mounted on the X-axis, is moved closer to the operator so the next tool can be manually installed. On an HS-3, the X-axis is on the table and there is no advantage to moving it. Setting this bit to one will save time.

3 XL TOOLS This parameter enables the user to specify that large tools are considered to be extra large, and allow the Tool Pocket table to get set up as shown below. This parameter bit should be set to 1 on all mills with the 50 Taper Side Mount Tool Changer. Note that when this parameter bit is set to 1, the following tool pocket configuration is not allowed (see alarm 422). An example of a tool pocket table with extra large tools:

1 - 2 L 3 - 4 - 5 L 6 -

326

PARAMETERS June 2001 O MPERATORS ANUAL

96-8500 rev C

4 HIGH SPEED This parameter bit enables the High Speed Machining feature. This parameter requires an unlock code in order to set the bit to 1. This option requires the Floating Point Co-Processor and Floating Point software. If this option is turned on when non- floating point software is installed the High Speed option will have no effect.

5 FAEMAT SPIN This bit controls the tool clamp and unclamp sequence for different spindles. This bit should be set to 1 when the mill has a Faemat spindle installed. Otherwise the bit should be set to 0. This improvement is intended primarily for the VB-1 bridge mill.

7 RST STOP PAL This parameter enables the RESET button to stop a pallet change. It is intended for use with the future hard-coded pallet changer macro program. It should be set to zero.

8 MINI MILL When parameter 315 bit 8 MINI MILL is set to 1, the Over Voltage discrete input will be displayed as P.S. Fault.

When it is set to 1:

(a) The DC BUSS voltage that is normally displayed on the diagnostics screen for a Vector Drive machine will not be displayed.

(b) The conditions that would normally generate alarm 119 OVER VOLTAGE and alarm 160 LOW VOLTAGE will instead generate alarm 292 320V POWER SUPPLY FAULT and this alarm will be added to the alarm history only after a 1 second delay to prevent false 292 alarms being added to the alarm history at the moment power is turned off. This parameter bit must be set to 1 on all Mini Mills.

9 DOOR OPEN SW The bit allows the software to work with an optional door-open switch. This bit should be set to 1 on all machines fitted with the second door switch. If this bit is set to 1, the control will look for a second door switch when the door is opened automatically to the fully open position. If the switch is not found, alarm 238 DOOR FAULT will be generated. If this bit is set to zero, the control behaves as before.

10 PAL HARDCODE This bit supports the hard-coded APC pallet changer function. It must be set to 1 when an APC is present that is wired for two APC door switches. On all other machines, it must be set to 0.

Parameter 316 APC PAL. CLAMP TIME This is the time required to clamp the APC pallet to the receiver. It should be set to 4000. Units are milliseconds.

Parameter 317 APC UNCLAMP TIME This is the time required to unclamp the APC pallet from the receiver. It should be set to 4000. Units are milliseconds.

Parameter 318 APC PAL. CHAIN TIME This is the time required to cycle the chain. It should be set to 8000. Units are milliseconds.

Parameter 319 APC DOOR CLOSE TIME This is the time required to close the door. It should be set to 6000. Units are milliseconds.

327

PARAMETERSJune 2001 O MPERATORS ANUAL

96-8500 rev C

Parameter 320 RP DRAWBAR DOWN This is the time required for the drawbar to move down. The correct value for this will be determined later. Units are milliseconds.

Parameter 321 RP DRAWBAR UP TIME This is the time required for the drawbar to move up. The correct value for this will be determined later. Units are milliseconds.

Parameter 327 X SCALES PER INCH This parameter is used on machines equipped with linear scales. This parameter should be set to 25,400 on mills fitted with linear scales. On all other mills, they should be set to zero.

Parameter 328 Y SCALES PER INCH This parameter is used on machines equipped with linear scales. This parameter should be set to 25,400 on mills fitted with linear scales. On all other mills, they should be set to zero.

Parameter 329 Z SCALES PER INCH This parameter is used on machines equipped with linear scales. This parameter should be set to 25,400 on mills fitted with linear scales. On all other mills, they should be set to zero.

Parameter 330 A SCALES PER INCH This parameter is used on machines equipped with linear scales. This parameter should be set to 0 on mills with or without linear scales.

Parameter 331 B SCALES PER INCH This parameter is used on machines equipped with linear scales. This parameter should be set to 0 on mills with or without linear scales.

Parameter 333 X SCALES PER REV This parameter is used on machines equipped with linear scales. This parameter should be set to 50,000 on mills fitted with linear scales. On all other mills, they should be set to zero.

Parameter 334 Y SCALES PER REV This parameter is used on machines equipped with linear scales. This parameter should be set to 50,000 on mills fitted with linear scales. On all other mills, they should be set to zero.

Parameter 335 Z SCALES PER REV This parameter is used on machines equipped with linear scales. This parameter should be set to 50,000 on mills fitted with linear scales. On all other mills, they should be set to zero.

Parameter 336 A SCALES PER REV This parameter is used on machines equipped with linear scales. This parameter should be set to 0 on mills with or without linear scales.

Parameter 337 B SCALES PER REV This parameter is used on machines equipped with linear scales. This parameter should be set to 0 on mills with or without linear scales.

Parameter 339 X SPINDLE THERM COEF. This parameter supports the Spindle Head Thermal Compensation feature, and should be set to 0.

328

PARAMETERS June 2001 O MPERATORS ANUAL

96-8500 rev C

Parameter 340 Y SPINDLE THERM COEF. See parameter 339 for description.

Parameter 341 Z SPINDLE THERM COEF. See parameter 339 for description.

Parameter 342 A SPINDLE THERM COEF. See parameter 339 for description.

Parameter 343 B SPINDLE THERM COEF. See parameter 339 for description.

Parameter 345 X SPINDLE THERM TIME.CONST. This parameter supports the Spindle Head Thermal Compensation feature, and should be set to 0.

Parameter 346 Y SPINDLE THERM TIME.CONST. See parameter 345 for description.

Parameter 347 Z SPINDLE THERM TIME.CONST. See parameter 345 for description.

Parameter 348 A SPINDLE THERM TIME.CONST. See parameter 345 for description.

Parameter 349 B SPINDLE THERM TIME.CONST. See parameter 345 for description.

Parameter 351 THRML SENSOR OFFSET This is a parameter used for Lead Screw Thermal Compensation via a temperature sensor attached to the ball nut.

Parameter 352 RELAY BANK SELECT This parameter allows the user to change which bank of relays is to be used (Parameter 209 bit 23 MCD RLY BRD assumes that relay bank one is to be used). It may be set to a number from 0 to 3 (inclusive). M codes M21 through M28 will be switched to the selected bank. This parameter requires a revision S I/O board. If a previous board is installed (without the additional banks of relays), this parameter should be set to zero.

329

PARAMETERSJune 2001 O MPERATORS ANUAL

96-8500 rev C

Parameter 588 X ENC. SCALE FACTOR These are new axis parameters that work in place of the axis parameters called SCALE/X LO and SCALE/X HI. If SCALE FACT/X is set to 1, the scale ratio is determined by SCALE/X LO and SCALE/X HI as follows:

HI LO 0 0 3 0 1 5 1 0 7 1 1 9

If, however, SCALE FACT/X is set to zero, the value of ENC. SCALE FACTOR will be used for the scale ratio instead. Note that any value outside the range of 1 to 100 will be ignored and the scale ratio will remain unaffected. Note also that currently, these parameters are intended for use only on rotary axes (A and B).

Parameter 589 Y ENC. SCALE FACTOR See parameter 588 for description

Parameter 590 Z ENC. SCALE FACTOR See parameter 588 for description

Parameter 591 A ENC. SCALE FACTOR See parameter 588 for description

Parameter 592 B ENC. SCALE FACTOR See parameter 588 for description

Parameter 593 Sp ENC. SCALE FACTOR See parameter 588 for description

Parameter 594 U ENC. SCALE FACTOR See parameter 588 for description

Parameter 595 V ENC. SCALE FACTOR See parameter 588 for description

Parameter 596 W ENC. SCALE FACTOR See parameter 588 for description

Parameter 600 PEAK SPIN. PWR - KW This is a new parameter that has been added to support the spindle kilowatt (KW) load display which appears on the current commands page, next to the spindle load percentage. This parameter should be set to the peak power output in KW for the spindle motor.

330

PARAMETERS June 2001 O MPERATORS ANUAL

96-8500 rev C

LEAD SCREW COMPENSATION

Separate lead screw compensation is provided for each of the X, Y, and Z axes. The operator-entered compen- sation values are spaced at 0.5 inch intervals within the machine coordinate system. The compensation values are entered in inches with a resolution of 0.0001 inch. The operator entered values are used to interpolate into a table of 256 entries. The spacing between two entries in the table of 256 is defined by Parameter 58. The entered values are limited to +/-127 encoder steps; so the limit in inches is dependent on Parameters 5, 19, and 33.

Note that the first entry corresponds to machine position zero and subsequent entries are for increasingly negative positions in the machine coordinate system. The user should not ever need to adjust the lead screw compensation tables.

ELECTRONIC THERMAL COMPENSATION

When ballscrews rotate they generate heat. Heat causes the ballscrews to expand. In constant duty cycles as in mold making the resultant ball screw growth can lead to cutting errors on the next morning start up. The Haas ETC algorithm can accurately model this heating and cooling effect and electronically expand and contract the screw to give near glass scale accuracy and consistency.

This compensation is based on a model of the lead screw which calculates heating based on the distance traveled and the torque applied to the motor. This compensation does not correct for thermal growth due to changes in ambient temperature or due to part expansion.

Electronic thermal compensation works by estimating the heating of the screw based on the total amount of travel over its length and including the amount of torque applied to the screw. This heat is then turned into a thermal coefficient of expansion and the position of the axis is multiplied by the coefficient to get a correction amount.

If the machine is turned off when there is some compensation applied (due to motion and heating of screw), when the machine is turned back on, the compensation will be adjusted by the clock indicated elapsed time.

SPINDLE HEAD THERMAL COMPENSATION

This feature integrates spindle speed over time and builds a model of thermal growth. As the model shows the spindle head warming up, the control adjusts the Z axes to compensate for thermal growth.

331

ALARMSJune 2001

96-8500 rev C

O MPERATORS ANUAL

10. ALARMS

Any time an alarm is present, the lower right hand corner of the screen will have a blinking "ALARM". Push the ALARM display key to view the current alarm. All alarms are displayed with a reference number and a complete description. If the RESET key is pressed, one alarm will be removed from the list of alarms. If there are more than 18 alarms, only the last 18 are displayed and the RESET must be used to see the rest. The presence of any alarm will prevent the operator from starting a program.

The ALARMS DISPLAY can be selected at any time by pressing the ALARM MESGS button. When there are no alarms, the display will show NO ALARM. If there are any alarms, they will be listed with the most recent alarm at the bottom of the list. The CURSOR and PAGE UP and PAGE DOWN buttons can be used to move through a large number of alarms. The CURSOR right and left buttons can be used to turn on and off the ALARM history display.

Note that tool changer alarms can be easily corrected by first correcting any mechanical problem, pressing RESET until the alarms are clear, selecting ZERO RET mode, and selecting AUTO ALL AXES. Some messages are displayed while editing to tell the operator what is wrong but these are not alarms. See the editing topic for those errors.

The following alarm list shows the alarm numbers, the text displayed along with the alarm, and a detailed description of the alarm, what can cause it, when it can happen, and how to correct it.

Alarm number and text: Possible causes:

101 Comm. Failure with MOCON During a self-test of communications between the MOCON and main processor, the main processor does not respond, one of them is possibly bad. Check cable connections and boards.

102 Servos Off Indicates that the servo motors are off, the tool changer is disabled, the coolant pump is off, and the spindle motor is stopped. Caused by EMERGENCY STOP, motor faults, tool changer problems, or power fail.

103 X Servo Error Too Large Too much load or speed on X-axis motor. The difference between the motor position and the commanded position has exceeded a parameter. The motor may also be stalled, disconnected, or the driver failed. The servos will be turned off and a RESET must be done to restart. This alarm can be caused by problems with the driver, motor, or the slide being run into the mechanical stops.

104 Y Servo Error Too Large Same as alarm 103.

105 Z Servo Error Too Large Same as alarm 103.

106 A Servo Error Too Large Same as alarm 103.

107 Emergency Off EMERGENCY STOP button was pressed. After the E-STOP is released, the RESET button must be pressed once to correct this to clear the E-STOP alarm. This alarm will also be generated if there is a low pressure condition in the hydraulic counterbalance system. In this case, the alarm will not reset until the condition has been corrected.

332

ALARMS June 2001

96-8500 rev C

O MPERATORS ANUAL

108 X Servo Overload Excessive load on X-axis motor. This can occur if the load on the motor over a period of several seconds or even minutes is large enough to exceed the continuous rating of the motor. The servos will be turned off when this occurs. This can be caused by running into the mechanical stops but not much past them. It can also be caused by anything that causes a very high load on the motors.

109 Y Servo Overload Same as alarm 108.

110 Z Servo Overload Same as alarm 108.

111 A Servo Overload Same as alarm 108.

112 No Interrupt Electronics fault. Call your dealer.

113 Shuttle In Fault Tool changer is not completely to right. During a tool changer operation the tool in/out shuttle failed to get to the IN position. Parameters 62 and 63 can adjust the time-out times. This alarm can be caused by anything that jams the motion of the slide or by the presence of a tool in the pocket facing the spindle. A loss of power to the tool changer can also cause this. Check relays K9- K12, and fuse F1 on IOPCB.

114 Shuttle Out Fault Tool changer not completely to left. During a tool change operation the tool in/out shuttle failed to get to the OUT position. Parameters 62 and 63 can adjust the time-out times. This alarm can be caused by anything that jams the motion of the slide or by the presence of a tool in the pocket facing the spindle. A loss of power to the tool changer can also cause this. Check relays K9- K12, and fuse F1 on IOPCB.

115 Turret Rotate Fault Tool carousel motor not in position. During a tool changer operation the tool turret failed to start moving, failed to stop moving or failed to stop at the right position. Parameters 60 and 61 can adjust the time-out times. This alarm can be caused by anything that jams the rotation of the turret. A loss of power to the tool changer can also cause this. Check relays K9-K12, and fuse F1 on IOPCB.

116 Spindle Orientation Fault Spindle did not orient correctly. This is either a vector drive problem or a mechanical problem on machines without a vector drive. During a spindle orientation function, the spindle is rotated until the lock pin drops in; but the lock pin never dropped. Parameters 66, 70, 73, and 74 can adjust time-out timers. This can be caused by a trip of circuit breaker CB4, a lack of air pressure, or too much friction with the orientation pin.

117 Spindle High Gear Fault Gearbox did not shift into high gear. During a change to high gear, the spindle is rotated slowly while air pressure is used to move the gears but the high gear sensor was not detected in time. Parameters 67, 70 and 75 can adjust the time-out times. Check the air pressure, circuit breaker CB4,the circuit breaker for the air pressure solenoids, and the spindle drive.

333

ALARMSJune 2001

96-8500 rev C

O MPERATORS ANUAL

118 Spindle Low Gear Fault Gearbox did not shift into low gear. During a change to low gear, the spindle is rotated slowly while air pressure is used to move the gears but the low gear sensor was not detected in time. Parameters 67, 70 and 75 can adjust the time-out times. Check the air pressure, the solenoids circuit breaker CB4, and the spindle drive.

119 Over Voltage Incoming line voltage is above maximum. The spindle, tool changer, and coolant pump will stop. If this condition persists, an automatic shutdown will begin after the interval specified by parameter 296.

120 Low Air Pressure Air pressure dropped below 80 PSI for a period defined by Parameter 76. The LOW AIR PR alarm will appear on the screen as soon as the pressure gets low, and this alarm appears after some time has elapsed. Check your incoming air pressure for at least 100 PSI and ensure that the regulator is set at 85 PSI.

121 Low Lube or Low Pressure Way lube is low or empty or there is no lube pressure or too high a pressure. Check tank at rear of mill and below control cabinet. Also check connector on the side of the control cabinet. Check that the lube lines are not blocked.

122 Regen Overheat The regenerative load temperature is above a safe limit. This alarm will turn off the spindle drive, coolant pump, and tool changer. One common cause of this overheat condition is an input line voltage too high. If this condition persists, an automatic shutdown will begin after the interval specified by parameter 297. It can also be caused by a high start/stop duty cycle of spindle.

123 Spindle Drive Fault Failure of spindle drive, motor or regen load. This can be caused by a shorted motor, overvoltage, overcurrent, undervoltage, failure of drive, or shorted or open regen load. Undervoltage and overvoltage of DC bus are also reported as alarms 160 and 119, respectively.

124 Low Battery Memory batteries need replacing within 30 days. This alarm is only generated at power on and indicates that the 3.3 volt Lithium battery is below 2.5 volts. If this is not corrected within about 30 days, you may lose your stored programs, parameters, offsets, and settings.

125 Shuttle fault Tool shuttle not initialized at power on, CYCLE START or spindle motion command. This means that the tool shuttle was not fully retracted to the Out position.

126 Gear Fault Gearshifter is out of position when a command is given to start a program or rotate the spindle. This means that the two speed gear box is not in either high or low gear but is somewhere in between. Check the air pressure, the solenoids circuit breaker CB4, and the spindle drive. Use the POWER UP/RESTART button to correct the problem.

127 No Turret Mark Tool carousel motor not in position. The turret motor only stops in one position indicated by a switch and cam on the Geneva mechanism. This alarm is only generated at power-on. The AUTO ALL AXES button will correct this but be sure that the pocket facing the spindle afterwards does not contain a tool.

334

ALARMS June 2001

96-8500 rev C

O MPERATORS ANUAL

129 M Fin Fault M-Fin was active at power on. Check the wiring to your M code interfaces. This test is only performed at power-on.

130 Tool Unclamped The tool appeared to be unclamped during spindle orientation, a gear change, a speed change, or TSC start-up. The alarm will also be generated if the tool release piston is energized during Power Up. This can be caused by a fault in the air solenoids, relays on the I/O assembly, the drawbar assembly, or in the wiring.

131 Tool Not Clamped When clamping or powering up the machine, the Tool Release Piston is not HOME. This is a possible fault in the air solenoids, relays on the IO Assembly, the drawbar assembly, or wiring.

132 Power Down Failure Machine did not turn off when an automatic power-down was commanded. Check wiring to POWIF card on power supply assembly, relays on the IO assembly, and the main contactor K1.

133 Spindle Locked Shot pin did not release. This is detected when spindle motion is commanded. Check the solenoid that controls the air to the lock, relay K16, the wiring to the sense switch, and the switch.

134 Tool Clamp Fault When UNCLAMPING, the tool did not release from spindle when commanded. Check air pressure and solenoid circuit breaker CB4. Can also be caused by misadjustment of drawbar assembly.

135 X Motor Over Heat Servo motor overheat. The temperature sensor in the motor indicates over 150 degrees F. This can be caused by an extended overload of the motor such as leaving the slide at the stops for several minutes.

136 Y Motor Over Heat Same as alarm 135.

137 Z Motor Over Heat Same as alarm 135.

138 A Motor Over Heat Same as alarm 135.

139 X Motor Z Fault Encoder marker pulse count failure. This alarm usually indicates that the encoder has been damaged and encoder position data is unreliable. This can also be caused by loose encoder connectors.

140 Y Motor Z Fault Same as alarm 139.

141 Z Motor Z Fault Same as alarm 139.

142 A Motor Z Fault Same as alarm 139.

143 Spindle Not Locked Vector drive orientation lost or shot pin not fully engaged when a tool change operation is being performed. Check air pressure and solenoid circuit breaker CB4. This can also be caused by a fault in the sense switch that detects the position of the lock pin.

144 Time-out- Call Your Dealer Time allocated for use prior to payment exceeded. Call your dealer.

335

ALARMSJune 2001

96-8500 rev C

O MPERATORS ANUAL

145 X Limit Switch Axis hit limit switch or switch disconnected. This is not normally possible as the stored stroke limits will stop the slides before they hit the limit switches. Check the wiring to the limit switches and connector P5 at the side of the main cabinet. Can also be caused by a loose encoder shaft at the back of the motor or coupling of motor to the screw.

146 Y Limit Switch Same as alarm 145

147 Z Limit Switch Same as alarm 145

148 A Limit Switch Normally disabled for rotary axis.

149 Spindle Turning Spindle not at zero speed for tool change. A signal from spindle drive indicating that the spindle drive is stopped is not present while a tool change operation is going on.

150 Z and Tool Interlocked Changer not at home and either the Z or A or B axis (or any combination) is not at zero. If RESET, E-STOP, or POWER OFF occurs during tool change, Z-axis motion and tool changer motion may not be safe. Check the position of the tool changer and remove the tool if possible. Re-initialize with the AUTO ALL AXES button but be sure that the pocket facing the spindle afterwards does not contain a tool.

151 Low Thru Spindle Coolant For machines with Through the Spindle Coolant only. This alarm will shut off the coolant spigot, spindle and pump all at once. It will turn on purge, wait for the amount of time specified in parameter 237 for the coolant to purge, and then turn off the purge. Check for low coolant tank level, any filter or intake strainer clogging, or for any kinked or clogged coolant lines. If no problems are found with any of these, and none of the coolant lines are clogged or kinked, call your dealer. Verify proper pump and machine phasing.

152 Self Test Fail Control has detected an electronics fault. All motors and solenoids are shut down. This is most likely caused by a fault of the processor board stack at the top left of the control. Call your dealer.

153 X-axis Z Ch Missing Z reference signal from encoder was not received as expected. Likely encoder contamination or parameter error.

154 Y-axis Z Ch Missing Same as alarm 153.

155 Z-axis Z Ch Missing Same as alarm 153.

156 A-axis Z Ch Missing Same as alarm 153.

157 MOCON Watchdog Fault The self-test of the MOCON has failed. Replace the MOCON.

158 Video/Keyboard PCB Failure Internal circuit board problem. The VIDEO PCB in the processor stack is tested at power-on. This could also be caused by a short in the front panel membrane keypad. Call your dealer.

336

ALARMS June 2001

96-8500 rev C

O MPERATORS ANUAL

159 Keyboard Failure Keyboard shorted or button pressed at power on. A power-on test of the membrane keypad has found a shorted button. It can also be caused by a short in the cable from the main cabinet or by holding a switch down during power-on.

160 Low Voltage The line voltage to control is too low. This alarm occurs when the AC line voltage drops more than 10% below nominal.

161 X-Axis Drive Fault Current in X servo motor beyond limit. Possibly caused by a stalled or overloaded motor. The servos are turned off. This can be caused by running a short distance into a mechanical stop. It can also be caused by a short in the motor or a short of one motor leads to ground.

162 Y-Axis Drive Fault Same as alarm 161.

163 Z-Axis Drive Fault Same as alarm 161.

164 A-Axis Drive Fault Same as alarm 161.

165 X Zero Ret Margin Too Small This alarm will occur if the home/limit switches move or are misadjusted.

This alarm indicates that the zero return position may not be consistent from one zero return to the next. The encoder Z channel signal must occur between 1/8 and 7/8 revolution of where the home switch releases. This will not turn the servos off but will stop the zero return operation.

166 Y Zero Ret Margin Too Small Same as alarm 165.

167 Z Zero Ret Margin Too Small Same as alarm 165.

168 A Zero Ret Margin Too Small This alarm will occur if the home/limit switches move or are misadjusted. This alarm indicates that the zero return position may not be consistent from one zero return to the next. The encoder Z channel signal must occur between 1/8 and 7/8 revolution of where the home switch releases. This will not turn the servos off but will stop the zero return operation.

169 Spindle Direction Fault Problem with rigid tapping hardware. The spindle started turning in the wrong direction.

170 Phase Loss Problem with incoming line voltage. This usually indicates that there was a transient loss of input power to the machine.

173 Spindle Ref Signal Missing The Z channel pulse from the spindle encoder is missing for hard tapping synchronization.

174 Tool Load Exceeded The tool load monitor option is selected and the maximum load for a tool was exceeded in a feed. This alarm can only occur if the tool load monitor function is installed in your machine.

175 Ground Fault Detected A ground fault condition was detected in the 115V AC supply. This can be caused by a short to ground in any of the servo motors, the tool change motors, the fans, or the oil pump.

337

ALARMSJune 2001

96-8500 rev C

O MPERATORS ANUAL

176 Over Heat Shutdown An overheat condition persisted longer than the interval specified by parameter 296 and caused an automatic shutdown.

177 Over Voltage Shutdown An overvoltage condition persisted longer than the interval specified by parameter 296 and caused an automatic shutdown.

178 Divide by Zero Software Error; Call your dealer.

179 Low Pressure Transmission Oil Spindle coolant oil is low or low pressure condition in lines.

180 Pallet Not Clamped The APC pallet change was not completed for some reason (pressing E-stop, reset, or feedhold), and an attempt was made to run the spindle. Run M50 pallet change to reset the machine.

182 X Cable Fault Cable from X-axis encoder does not have valid differential signals.

183 Y Cable Fault Same as alarm 182.

184 Z Cable Fault Same as alarm 182.

185 A Cable Fault Same as alarm 182.

186 Spindle Not Turning Status from spindle drive indicates it is not at speed when expected.

187 B Servo Error Too Large Same as alarm 103.

188 B Servo Overload Same as alarm 108.

189 B Motor Overheat Same as alarm 135.

190 B Motor Z Fault Encoder marker pulse count failure. This alarm usually indicates that the encoder has been damaged and encoder position data is unreliable. This can also be caused by loose encoder connectors.

191 B Limit Switch Same as alarm 148.

192 B Axis Z Ch Missing Z reference signal from encoder was not received as expected. Likely encoder contamination or parameter error.

193 B Axis Drive Fault Same as alarm 161.

194 B Zero Ret Margin Too Small This alarm will occur if the home/limit switches move or are misadjusted. This alarm indicates that the zero return position may not be consistent from one zero return to the next. The encoder Z channel signal must occur between 1/8 and 7/8 revolution of where the home switch releases. This will not turn the servos off but will stop the zero return operation.

195 B Cable Fault Same as alarm 182.

338

ALARMS June 2001

96-8500 rev C

O MPERATORS ANUAL

196 Coolant Spigot Failure Vertical mills only. Spigot failed to achieve commanded location after two (2) attempts.

197 100 Hours Unpaid Bill Call your dealer.

198 Precharge Failure During TSC operation, the precharge failed for greater than 0.1 seconds. It will shut off the feed, spindle and pump all at once. If received, check all air lines and the air supply pressure.

199 Negative RPM A negative spindle RPM was sensed.

201 Parameter CRC Error Parameters lost. Check for a low battery and low battery alarm.

202 Setting CRC Error Settings lost. Check for a low battery and low battery alarm.

203 Lead Screw CRC Error Lead screw compensation tables lost. Check for low battery and low battery alarm.

204 Offset CRC Error Offsets lost. Check for a low battery and low battery alarm.

205 Programs CRC Error Users program lost. Check for a low battery and low battery alarm.

206 Internal Program Error Possible corrupted program. Save all programs to floppy disk, delete all, then reload. Check for a low battery and low battery alarm.

207 Queue Advance Error Software Error; Call your dealer.

208 Queue Allocation Error Software Error; Call your dealer.

209 Queue Cutter Comp Error Software Error; Call your dealer.

210 Insufficient Memory Not enough memory to store users program. Check the space available in the LIST PROG mode and possibly delete some programs.

211 Odd Prog Block Possible corrupted program. Save all programs to floppy disk, delete all, then reload.

212 Program Integrity Error Possible corrupted program. Save all programs to floppy disk, delete all, then reload. Check for a low battery and low battery alarm.

213 Program RAM CRC Error Electronics fault; possibly with main processor.

214 No. of Programs Changed Indicates that the number of programs disagrees with the internal variable that keeps count of the loaded programs. Possible processor board problem.

215 Free Memory PTR Changed Indicates the amount of memory used by the programs counted in the changed system disagrees with the variable that points to free memory. Possible processor board problem.

216 EPROM Speed Failure Possible processor board problem.

339

ALARMSJune 2001

96-8500 rev C

O MPERATORS ANUAL

217 X Axis Phasing Error Error occurred in phasing initialization of motor. This can be caused by a bad encoder, or a cabling error.

218 Y Axis Phasing Error Same as alarm 217.

219 Z Axis Phasing Error Same as alarm 217.

220 A Axis Phasing Error Same as alarm 217.

221 B Axis Phasing Error Same as alarm 217.

222 C Axis Phasing Error Same as alarm 217.

223 Door Lock Failure In machines equipped with safety interlocks, this alarm occurs when the control senses the door is open but it is locked. Check the door lock circuit.

224 X Transition Fault Illegal transition of count pulses in X axis. This alarm usually indicates that the encoder has been damaged and encoder position data is unreliable. This can also be caused by loose connectors at the MOCON or MOTIF PCB.

225 Y Transition Fault Same as alarm 224.

226 Z Transition Fault Same as alarm 224.

227 A Transition Fault Same as alarm 224.

228 B Transition Fault Same as alarm 224.

229 C Transition Fault Same as alarm 224.

231 Jog Handle Transition Fault Illegal transition of count pulses in jog handle encoder. This alarm usually indicates that the encoder has been damaged and encoder position data is unreliable. This can also be caused by loose connectors.

232 Spindle Transition Fault Illegal transition of count pulses in spindle encoder. This alarm usually indicates that the encoder has been damaged and encoder position data is unreliable. This can also be caused by loose connectors at the MOCON.

233 Jog Handle Cable Fault Cable from jog handle encoder does not have valid differential signals.

234 Spindle Enc. Cable Fault Cable from spindle encoder does not have valid differential signals.

235 Spindle Z Fault Encoder marker pulse count failure. This alarm usually indicates that the encoder has been damaged and encoder position data is unreliable. This can also be caused by loose encoder connectors.

236 Spindle Motor Overload This alarm is generated in machines equipped with a Haas vector drive, if the spindle motor becomes overloaded.

340

ALARMS June 2001

96-8500 rev C

O MPERATORS ANUAL

237 Spindle Following Error The error between the commanded spindle speed and the actual speed has exceeded the maximum allowable (as set in Parameter 184).

238 Door Fault The control failed to detect a low signal at the Door Switch when the door was commanded to close, or a high signal at the Door Switch when the door was commanded to open after the time allowed.

240 Empty Prog or No EOB DNC program not found, or no end of program found.

241 Invalid Code RS-232 load bad. Data was stored as comment. Check the program being received.

242 No End Check input file for a number that has too many digits

243 Bad Number Data entered is not a number.

244 Missing ) Comment must end with a " ) ".

245 Unknown Code Check input line or data from RS-232. This alarm can occur while editing data into a program or loading from RS-232. See MESSAGE PAGE for input line.

246 String Too Long Input line is too long. The data entry line must be shortened.

247 Cursor Data Base Error Software Error; Call your dealer.

248 Number Range Error Number entry is out of range.

249 Prog Data Begins Odd Possible corrupted program. Save all programs to floppy disk, delete all, then reload.

250 Program Data Error Same as alarm 249.

251 Prog Data Struct Error Same as alarm 249.

252 Memory Overflow Same as alarm 249.

253 Electronics Overheat The control box temperature has exceeded 135 degrees F. This can be caused by an electronics problem, high room temperature, or clogged air filter.

254 Spindle Overheat The motor driving spindle is too hot. The spindle motor temperature sensor sensed a high temperature for greater than 1.5 seconds.

255 No Tool In Spindle There is an invalid tool number in the spindle entry of the POCKET-TOOL table. The spindle entry cannot be 0 and must be listed in the body of the table. If there is no tool in the spindle, enter the number for an empty pocket into the spindle entry. If there is a tool number in the spindle entry, make sure that it is in the body of the table and that the pocket is empty.

257 Program Data Error Possible corrupted program. Save all programs to floppy disk, delete all, then reload. Possible processor board problem.

258 Invalid DPRNT Format Macro DPRNT statement not structured properly.

341

ALARMSJune 2001

96-8500 rev C

O MPERATORS ANUAL

259 Language Version Possible processor board problem.

260 Language CRC Indicates FLASH memory has been corrupted or damaged. Possible processor board problem.

261 Rotary CRC Error Rotary table saved parameters (used by Settings 30, 78) have a CRC error. Indicates a loss of memory - possible processor board problem.

262 Parameter CRC Missing RS-232 or disk read of parameter had no CRC when loading from disk or RS-232.

263 Lead Screw CRC Missing Lead screw compensation tables have no CRC when loading from disk or RS-232.

264 Rotary CRC Missing Rotary table parameters have no CRC when loading from disk or RS-232

265 Macro Variable File CRC Error Macro variable file has a CRC error. Indicates a loss of memory. Possible processor board problem.

266 Tool Changer Fault Run Toolchanger Recovery.

267 Tool Door Out of Position Horizontal mills only. Alarm will be generated during a tool change when parameter 278 TC DR SWITCH is set to 1, and the tool carousel air door and the tool carousel air door switch indicates that the door is open after commanded to be closed, or closed after it was commanded to be open. This alarm will most likely be caused by a stuck or broken switch.

268 Door open @ M95 Start Generated whenever an M95 (Sleep Mode) is encountered and the door is open. The door must be closed in order to start sleep mode

269 TOOL ARM FAULT The toolchanger arm is not in position. Run Toolchanger Recovery.

270 C Servo Error Too Large Same as alarm 103.

271 C Servo Overload Same as alarm 108.

272 C Motor Overheat Same as alarm 135.

273 C Motor Z Fault Encoder marker pulse count failure. This alarm usually indicates that the encoder has been damaged and encoder position data is unreliable. This can also be caused by loose encoder connectors.

274 C Limit Switch Same as alarm 145.

275 C Axis Z Ch Missing Z reference signal from encoder was not received as expected. Likely encoder contamination or parameter error.

276 C Axis Drive Fault Same as alarm 161.

277 C Zero Ret Margin Too Small Same as alarm 165.

342

ALARMS June 2001

96-8500 rev C

O MPERATORS ANUAL

278 C Cable Fault Same as alarm 182.

279 X Axis Linear Scale Z Fault Encoder marker pulse count failure. This alarm usually indicates that the Z Fault encoder has been damaged and encoder position data is unreliable. This can also be caused by loose scale connectors.

280 Y Axis Linear Scale Z Fault Encoder marker pulse count failure. This alarm usually indicates that the Z Fault encoder has been damaged and encoder position data is unreliable. This can also be caused by loose scale connectors.

281 Z Axis Linear Scale Z Fault Encoder marker pulse count failure. This alarm usually indicates that the Z Fault encoder has been damaged and encoder position data is unreliable. This can also be caused by loose scale connectors.

282 A Axis Linear Scale Z Fault Encoder marker pulse count failure. This alarm usually indicates that the Z Fault encoder has been damaged and encoder position data is unreliable. This can also be caused by loose encoder connectors.

283 X Axis Linear Scale Z CH Missing Broken wires or encoder contamination. All servos are turned off. This Z Channel Missing can also be caused by loose scale connectors.

284 Y Axis Linear Scale Z CH Missing Broken wires or encoder contamination. All servos are turned off. This Z Channel Missing can also be caused by loose encoder connectors.

285 Z Axis Linear Scale Z CH Missing Broken wires or encoder contamination. All servos are turned off. This Z Channel Missing can also be caused by loose encoder connectors.

286 A Axis Linear Scale Z CH Missing Broken wires or encoder contamination. All servos are turned off. This Z Channel Missing can also be caused by loose encoder connectors.

287 X Axis Linear Scale Cable Fault Cable from X-axis scale does not have valid differential signals.

288 Y Axis Linear Scale Cable Fault Cable from Y-axis scale does not have valid differential signals.

289 Z Axis Linear Scale Cable Fault Cable from Z-axis scale does not have valid differential signals.

290 A Axis Linear Scale Cable Fault Cable from A-axis scale does not have valid differential signals.

291 Low Air Volume/Pressure During ATC An automatic tool change was not completed due to insufficient volume or pressure of compressed air. Check air supply line.

292 320V Power Supply Fault Incomming line voltage is above maximum. The servo will be turned off and the spindle, tool changer, and coolant pump will stop. If this persists, an automatic shutdown will begin after the interval specified by parameter 296.

343

ALARMSJune 2001

96-8500 rev C

O MPERATORS ANUAL

297 ATC Shuttle Overshoot The ATC shuttle has failed to stop within the standby position window during a tool change. Check for a loose drive belt, damaged or over heated motor, sticking or damaged shuttle standby switch or shuttle mark switch, or burned ATC control board relay contacts. Use tool changer restore to recover the ATC, then resume normal operation.

298 ATC Double Arm Out of Position The ATC double arm mark switch, CW position switch or CCW position switch is in an incorrect state. Check for sticking, misaligned or damaged switches, mechanism binding, damaged motor, or debris build up. Use tool changer restore to recover the ATC, then resume normal operation.

299 ATC Shuttle Out of Position The ATC shuttle mark switch is in an incorrect state. Check for a sticking, misaligned, or damaged switch, mechanism binding, damaged motor, or debris build up. Use tool changer restore to recover the ATC, then resume normal operation.

302 Invalid R In G02 or G03 Check your geometry. R must be greater than or equal to half the distance from start to end within an accuracy of 0.0010 inches.

303 Invalid X, Y, or Z In G02 or G03 Check your geometry.

304 Invalid I, J, Or K In G02 Or G03 Check your geometry. Radius at start must match radius at end of arc within 0.001 inches (0.01 mm).

305 Invalid Q In Canned Cycle Q in a canned cycle must be greater than zero.

306 Invalid I, J, K, or Q In Canned Cycle I, J, K, and Q in a canned cycle must be greater than zero.

307 Subroutine Nesting Too Deep Subprogram nesting is limited to nine levels. Simplify your program.

309 Exceeded Max Feed Rate Use a lower feed rate.

310 Invalid G Code G code not defined and is not a macro call.

311 Unknown Code Program contained a line of code that is not understood.

312 Program End End of subroutine reached before M99. Need an M99 to return from subroutine.

313 No P Code In M97, M98, or G65 In M97, M98 or G65 a subprogram number must be put in the P code. G47 must have P0 for text engraving or P1 for sequential serial numbers.

314 Subprogram or Macro Not In Memory Check that a subroutine is in memory or that a macro is defined.

315 Invalid P Code In M97, M98 or M99 The P code must be the name of a program stored in memory without a decimal point for M98 and must be a valid N number for M99. G47 must have P0 for text engraving or P1 for sequential serial numbers.

316 X Over Travel Range Commanded X-axis move would exceed the allowed machine range. Machine coordinates are in the negative direction. This condition indicates either an error in the users program or improper offsets.

317 Y Over Travel Range Same as alarm 316.

344

ALARMS June 2001

96-8500 rev C

O MPERATORS ANUAL

318 Z Over Travel Range Same as alarm 316.

319 A Over Travel Range Commanded A-axis move would exceed the allowed machine range. Machine coordinates are in the negative direction. This condition indicates either an error in the users program or improper offsets.

320 No Feed Rate Specified Must have a valid F code for interpolation functions.

321 Auto Off Alarm Occurs in debug mode only.

322 Sub Prog Without M99 Add an M99 code to the end of program called as a subroutine.

324 Delay Time Range Error P code in G04 is greater than or equal to 1000 seconds (over 999999 milliseconds).

325 Queue Full Control problem; call your dealer.

326 G04 Without P Code Put a Pn.n for seconds or a Pn for milliseconds.

327 No Loop For M Code Except M97, M98 L code not used here. Remove L Code.

328 Invalid Tool Number Tool number must be between 1 and the value in Parameter 65.

329 Undefined M Code That M code is not defined and is not a macro call.

330 Undefined Macro Call Macro name O90nn not in memory. A macro call definition is in parameters and was accessed by user program but that macro was not loaded into memory.

331 Range Error Number too large.

332 H and T Not Matched This alarm is generated when Setting 15 is turned ON and an H code number in a running program does not match the tool number in the spindle. Correct the Hn codes, select the right tool, or turn off Setting 15.

333 X-Axis Disabled Parameters have disabled this axis. Not normally possible in VF Series CNC Mill.

334 Y-Axis Disabled Same as alarm 333.

335 Z-Axis Disabled Same as alarm 333.

336 A-Axis Disabled An attempt was made to program the A-axis while it was disabled (DISABLED bit in Parameter 43 set to 1) or invisible (INVIS AXIS bit in Parameter 43 set to 1).

337 GOTO or P line Not Found Subprogram is not in memory, or P code is incorrect. P not found

338 Invalid IJK and XYZ in G02 or G03 There is a problem with circle definition; check your geometry.

339 Multiple Codes Only one M, X, Y, Z, A, Q etc. allowed in any block, only one G codes in the same group.

340 Cutter Comp Begin With G02 or G03 Select cutter compensation earlier. Cutter comp. must begin on a linear move.

345

ALARMSJune 2001

96-8500 rev C

O MPERATORS ANUAL

341 Cutter Comp End With G02 or G03 Disable cutter comp later.

342 Cutter Comp Path Too Small Geometry not possible. Check your geometry.

343 Display Queue Record Full Software error. Call your dealer.

344 Cutter Comp With G18 and G19 Cutter comp only allowed in XY plane (G17).

346 Illegal M Code There was an M80 or M81 commanded. These commands are not allowed while Setting 51 DOOR HOLD OVERRIDE is OFF. Also check Setting 131 for Auto Door and Parameter 57 for DOOR STOP SP.

347 Invalid or Missing E Code All 5-axis canned cycles require the depth to be specified using a positive E code.

348 Motion Not Allowed In G93 Mode This alarm is generated if the mill is in Inverse Time Feed mode, and a G12, G13, G70, G71, G72, G150, or any Group 9 motion command is issued.

349 Prog Stop W/O Cancel Cutter Comp An X/Y cutter compensation exit move is required before a program stop.

350 Cutter Comp Look Ahead Error There are too many non-movement blocks between motions when cutter comp is being used. Remove some intervening blocks.

351 Invalid P Code In a block with G103 (Block Lookahead Limit), a value between 0 and 15 must be used for the P code.

352 Aux Axis Power Off Aux C, U, V, or W axis indicate servo off. Check auxiliary axes. Status from control was OFF.

353 Aux Axis No Home A ZERO RET has not been done yet on the aux axes. Check auxiliary axes. Status from control was LOST.

354 Aux Axis Disconnected Aux axes not responding. Check auxiliary axes and RS-232 connections.

355 Aux Axis Position Mismatch between machine and aux axes position. Check aux axes and Mismatch interfaces. Make sure no manual inputs occur to aux axes.

356 Aux Axis Travel Limit Aux axes are attempting to travel past their limits.

357 Aux Axis Disabled Aux axes are disabled.

358 Multiple Aux Axis Can only move one auxiliary axis at a time.

359 Invalid I, J, or K In G12 or G13 Check your geometry.

360 Tool Changer Disabled Check Parameter 57. Not a normal condition for VF Series CNC Mill.

361 Gear Change Disabled Check Parameter 57. Not a normal condition for VF Series CNC Mill.

346

ALARMS June 2001

96-8500 rev C

O MPERATORS ANUAL

362 Tool Usage Alarm RESET. Tool life limit was reached. To continue, reset the usage count in the Current Commands display and press

363 Coolant Locked Off Override is off and program tried to turn on coolant.

364 No Circ Interp Aux Axis Only rapid or feed is allowed with aux axes.

367 Cutter Comp Interference G01 cannot be done with tool size.

368 Groove Too Small Tool too big to enter cut.

369 Tool Too Big Use a smaller tool for cut.

370 Pocket Definition Error Check geometry for G150.

371 Invalid I, J, K, OR Q Check G150.

372 Tool Change In Canned Cycle Tool change not allowed while canned cycle is active.

373 Invalid Code in DNC A code found in a DNC program could not be interpreted because of DNC restrictions.

374 Missing XYZA in G31 or G36 G31 skip function requires an X, Y, Z, or A move.

375 Missing Z or H in G37 G37 automatic tool length measurement function requires H code, Z value, and tool offset enabled. X, Y, and A values not allowed.

376 No Cutter Comp In Skip Skip G31 and G37 functions cannot be used with cutter compensation.

377 No Skip in Graph/Sim Graphics mode cannot simulate skip function.

378 Skip Signal Found Skip signal check code was included but skip was found when it was not expected.

379 Skip Signal Not Found Skip signal check code was included but skip was not found when it was expected.

380 X, Y, A, or G49 Not Allowed in G37 G37 may only specify Z-axis and must have tool offset defined.

381 G43 or G44 Not Allowed in G36 or G136 Auto work offset probing must be done without tool offset.

382 D Code Required in G35 A Dnnn code is required in G35 in order to store the measured tool diameter.

383 Inch Is Not Selected G20 was specified but settings have selected metric input.

384 Metric Is Not Selected G21 was specified but settings have selected inches.

385 Invalid L, P, or R G10 was used to change offsets but L, P, or R code is missing or Code In G10 invalid.

386 Invalid Address Format An address A...Z was used improperly.

387 Cutter Comp Not Allowed With G103 If block buffering has been limited, Cutter comp cannot be used.

347

ALARMSJune 2001

96-8500 rev C

O MPERATORS ANUAL

388 Cutter Comp Not Allowed With G10 Coordinates cannot be altered while cutter comp is active. Move G10 outside of cutter comp enablement.

389 G17, G18, G19 Illegal in G68 Planes of rotation cannot be changed while rotation is enabled.

390 No Spindle Speed S code has not been encountered. Add an S code.

391 Feature Disabled An attempt was made to use a control feature not enabled by a parameter bit. Set the parameter bit to 1.

392 B Axis Disabled An attempt was made to program the B-axis while it was disabled (DISABLED bit in Parameter 151 set to 1) or invisible (INVIS AXIS bit in Parameter 151 set to 1).

393 Invalid Motion In G74 or G84 Rigid Tapping can only be in the Z minus G74 or G84 direction. Make sure that the distance from the initial position to the commanded Z depth is in the minus direction.

394 B Over Travel Range Same as alarm 316.

395 No G107 Rotary Axis A rotary axis must be specified in order to perform cylindrical mapping Specified (G107).

396 Invalid G107 Rotary Axis Specified The rotary axis specified is not a valid axis, or has been disabled.

397 Aux Axis In G93 Block This alarm is generated if a G-code block specifies any form of interpolated motion that involves BOTH one or more of the regular axes (X, Y, Z, A, B, etc...) AND one or more of the auxiliary axes (C, U, V, W).

398 Aux Axis Servo Off Aux. axis servo shut off due to a fault.

400 Skip Signal During Restart A skip signal G-code (G31, G35, G36, G37, G136) was found during program restart.

403 RS-232 Too Many Progs Cannot have more than 200 programs in memory.

404 RS-232 No Program Name Need name in programs when receiving ALL; otherwise has no way to store them.

405 RS-232 Illegal Prog Name Check files being loaded. Program name must be Onnnnn and must be at beginning of a block.

406 RS-232 Missing Code A receive found bad data. Check your program. The program will be stored but the bad data is turned into a comment.

407 RS-232 Invalid Code Check your program. The program will be stored but the bad data is turned into a comment.

408 RS-232 Number Range Error Check your program. The program will be stored but the bad data is turned into a comment.

409 RS-232 Invalid N Code Bad Parameter or Setting data. User was loading settings or parameters and something was wrong with the data.

348

ALARMS June 2001

96-8500 rev C

O MPERATORS ANUAL

410 RS-232 Invalid V Code Bad parameter or setting data. User was loading settings or parameters and something was wrong with the data.

411 RS-232 Empty Program Check your program. Between % and % there was no program found.

412 RS-232 Unexpected End of Input Check Your Program. An ASCII EOF code was found in the input data before program receive was complete. This is a decimal code 26.

413 RS-232 Load Insufficient Memory Program received does not fit. Check the space available in the LIST PROG mode and possibly delete some programs.

414 RS-232 Buffer Overflow Data sent too fast to CNC. This alarm is not normally possible as this control can keep up with even 115200 bits per second. Computer sending data may not respond to X-OFF

415 RS-232 Overrun Data sent too fast to CNC. This alarm is not normally possible as this control can keep up with even 115200 bits per second.

416 RS-232 Parity Error Data received by CNC has bad parity. Check parity settings, number of data bits and speed. Also check your wiring.

417 RS-232 Framing Error Data received was garbled and proper framing bits were not found. One or more characters of the data will be lost. Check parity settings, number of data bits and speed.

418 RS-232 Break Break condition while receiving. The sending device set the line to a break condition. This might also be caused by a simple break in the cable.

419 Invalid Function For DNC A code found on input of a DNC program could not be interpreted.

420 Program Number Mismatch The O code in the program being loaded did not match the O code entered at the keyboard. Warning only.

421 No Valid Pockets Pocket Table is full of dashes.

422 Pocket Table Error If the machine is equipped with a 50 taper spindle there must be 2 dashes between Ls (large tools). Ls must be surrounded by dashes.

429 Disk Dir Insufficient Memory Disk memory was almost full when an attempt was made to read the disk directory.

430 Disk Unexpected End of Input Check your program. An ASCII EOF code was found in the input data before program receive was complete. This is a decimal code 26.

431 Disk No Prog Name Need name in programs when receiving ALL; otherwise has no way to store them.

432 Disk Illegal Prog Name Check files being loaded. Program must be Onnnnn and must be at the beginning of a block.

433 Disk Empty Prog Name Check your program. Between % and % there was no program found.

349

ALARMSJune 2001

96-8500 rev C

O MPERATORS ANUAL

434 Disk Load Insufficient Memory Program received does not fit. Check the space available in the LIST PROG mode and possibly delete some programs.

435 Disk Abort Could not read disk.

436 Disk File Not Found Could not find disk file.

501 Too Many Assignments In One Block Only one assignment macro assignment is allowed per block. Divide block into multiple blocks.

502 [ Or = Not First Term In Expressn An expression element was found where it was not preceded by [ or =, that start expressions.

503 Illegal Macro Variable Reference A macro variable number was used that is not supported by this control, use another variable.

504 Unbalanced Paren. In Expression Unbalanced brackets, [ or ], were found in an expression. Add or delete a bracket.

505 Value Stack Error The macro expression value stack pointer is in error. Call your dealer.

506 Operand Stack Error The macro expression operand stack pointer is in error. Call your dealer.

507 Too Few Operands On Stack An expression operand found too few operands on the expression stack. Call your dealer.

508 Division By Zero A division in a macro expression attempted to divide by zero. Re- configure expression.

509 Illegal Macro Variable Use See "MACROS" section for valid variables.

510 Illegal Operator or Function Use See MACROS section for valid operators.

511 Unbalanced Right Brackets Number of right brackets not equal to the number of left brackets.

512 Illegal Assignment Use Attempted to write to a read-only macro variable.

513 Var. Ref. Not Allowed With N Or O Alphabetic addresses N and O cannot be combined with macro variables. Do not declare N#1, etc.

514 Illegal Macro Address Reference A macro variable was used incorrectly with an alpha address. Same as 513.

515 Too Many Conditionals In a Block Only one conditional expression is allowed in any WHILE or IF- THEN block.

516 Illegal Conditional Or No Then A conditional expression was found outside of an IF-THEN, WHILE, or M99 block.

517 Exprsn. Not Allowed With N Or O A macro expression cannot be linked to N or O. Do not declare O[#1], etc.

518 Illegal Macro Exprsn Reference An alpha address with expression, such as A[#1+#2], evaluated incorrectly. Same as 517.

350

ALARMS June 2001

96-8500 rev C

O MPERATORS ANUAL

519 Term Expected In the evaluation of a macro expression an operand was expected and not found.

520 Operator Expected In the evaluation of a macro expression an operator was expected and not found.

521 Illegal Functional Parameter An illegal value was passed to a function, such as SQRT[ or ASIN[.

522 Illegal Assignment Var Or Value A variable was referenced for writing. The variable referenced is read only.

523 Conditional Reqd Prior To THEN THEN was encountered and a conditional statement was not processed in the same block.

524 END Found With No Matching DO An END was encountered without encountering a previous matching DO. DO-END numbers must agree.

525 Var. Ref. Illegal During Movement Variable cannot be read during axis movement.

526 Command Found On DO/END Line A G-code command was found on a WHILE-DO or END macro block. Move the G-code to a separate block.

527 = Not Expected Or THEN Required Only one Assignment is allowed per block, or a THEN statement is missing.

528 Parameter Precedes G65 On G65 lines all parameters must follow the G65 G-code. Place parameters after G65.

529 Illegal G65 Parameter The addresses G, L, N, O, and P cannot be used to pass parameters.

530 Too Many I, J, or Ks In G65 Only 10 occurrences of I, J, or K can occur in a G65 subroutine call. Reduce the I, J, or K count.

531 Macro Nesting Too Deep Only four levels of macro nesting can occur. Reduce the amount of nested G65 calls.

532 Unknown Code In Pocket Pattern Macro syntax is not allowed in a pocket pattern subroutine.

533 Macro Variable Undefined A conditional expression evaluated to an UNDEFINED value, i.e. #0. Return True or False.

534 DO Or END Already In Use Multiple use of a DO that has not been closed by and END in the same subroutine. Use another DO number.

535 Illegal DPRNT Statement A DPRNT statement has been formatted improperly, or DPRNT does not begin block.

536 Command Found On DPRNT Line A G-code was included on a DPRNT block. Make two separate blocks.

537 RS-232 Abort On DPRNT While a DPRNT statement was executing, the RS-232 communications failed.

538 Matching END Not Found A WHILE-DO statement does not contain a matching END statement. Add the proper END statement.

351

ALARMSJune 2001

96-8500 rev C

O MPERATORS ANUAL

539 Illegal Goto Expression after GOTO not valid.

540 Macro Syntax Not Allowed A section of code was interpreted by the control where macro syntax is not permitted.

541 Macro Alarm This alarm was generated by a macro command in a program.

600 U Over Travel Range Same as alarm 316.

601 V Over Travel Range Same as alarm 316.

602 W Over Travel Range Same as alarm 316.

603 U Limit Switch Same as alarm 145.

604 V Limit Switch Same as alarm 145.

605 W Limit Switch Same as alarm 145.

609 U Servo Error Too Large Same as alarm 103.

610 V Servo Error Too Large Same as alarm 103.

611 W Servo Error Too Large Same as alarm 103.

612 U Servo Overload Same as alarm 108.

613 Command Not Allowed In Cutter Comp. A command (m96, for example) in the highlighted block cannot be executed while cutter comp. Is invoked.

614 V Servo Overload Same as alarm 108.

615 W Servo Overload Same as alarm 108.

616 U Motor Over Heat Same as alarm 135.

617 V Motor Over Heat Same as alarm 135.

618 W Motor Over Heat Same as alarm 135.

619 U Motor Z Fault Same as alarm 139.

620 C Axis Disabled Parameters have disabled this axis

621 C Over Travel Range C-axis will exceed stored limits. This is a parameter in negative direction and is machine zero in the positive direction. This will only occur during the operation of a user's program.

The following alarms apply only to the Vertical Mills with a sidemount tool changer:

622 Tool Arm Fault This alarm supports the side mount tool changers. It is generated if the arm is not at the Origin position, or the arm motor is already on when a tool change process is started.

352

ALARMS June 2001

96-8500 rev C

O MPERATORS ANUAL

623 Side Mount Carousel Error This alarm supports the side mount tool changers. It is generated if the carousel motor is still on when the tool pocket is unlocked and lowered prior to a tool change.

624 Invalid Tool This alarm is generated by a side mount tool changer if the tool specified by the G-code program is not found in the POCKET- TOOL table, or the searching pocket is out of range.

625 Carousel Positioning Eror This alarm is generated by a side mount tool changer if conditions are not correct when: The carousel or tool arm was started and one or more of the following incorrect conditions existed: The carousel or arm motor already on, arm not at Origin, tool carousel not at TC mark. The tool carousel was in motion and Tool One Mark was detected but the current pocket facing the spindle was not at pocket one, or the current pocket was at pocket one but Tool One Mark was not detected.

626 Tool Pocket Slide Error This alarm is generated by a side mount tool changer. It is generated if the tool pocket has not moved to its commanded position (and settled) within the total time allowed by parameters 306 and 62.

627 ATC Arm Position Timeout This alarm supports the side mount tool changers. It is generated if the tool arm has not moved after the allowed time or has not stopped after the allowed time. Refer to Parameter 309 MOTOR COAST TIME.

628 ATC ARM Positioning Error This alarm supports the side mount tool changers. It is generated if: The arm was being moved from the ORIGIN position to the CLAMP position and it coasted past the MOTOR STOP point or could not get to the CLAMP point. The arm was being moved from the CLAMP position to the UNCLAMP position and it coasted past the MOTOR STOP point or could not get to the UNCLAMP point (same physical point as CLAMP). The arm was being moved back to the ORIGIN position and it coasted past the MOTOR STOP point or could not get to the ORIGIN point.

629 Carousel Position Timeout This alarm supports the side mount tool changers. It is generated if the tool carousel has not moved after the allowed time or has not stopped after the allowed time specified by parameter 60 TURRET START DELAY and parameter 61 TURRET STOP DELAY, respectively.

630 APC-Door SW Fault-Switch Not Equal To Solenoid The APC Door Switch indicates the door is open but the solenoid shows the door has been commanded to close. Either the door failed to close and is stuck or the switch itself is broken or stuck. Also, the door switch wiring may have a fault. Check switch then cable.

353

ALARMSJune 2001

96-8500 rev C

O MPERATORS ANUAL

631 APC-Pallet Not Clamped Or Home DO NOT ATTEMPT TO MOVE X OR Y AXES OR MILL UNTIL APC IS IN A SAFE CONDITION. CAUTION- The APC is not in a safe operating condition. One pallet is at home but the other pallet is neither clamped nor at home. Locate the unclamped pallet, go to the lube/air panel at rear of mill and continuously press both white buttons in center of solenoid air valves while an assistant pulls the pallet off the receiver.

632 APC-Unclamp Error The pallet did not unclamp in the amount of time allowed. This can be caused by a bad air solenoid, a blocked or kinked air line, or a mechanical problem.

633 APC-Clamp Error The pallet did not clamp in the amount of time allowed by parameter 316. This alarm is most likely caused by the VMC table not being in the correct position. This can be adjusted using the setting for the X position (#121, #125) as described in the Installation section. If the pallet is in the correct position but not clamped, push the pallet against the hard stop and run M18. If the pallet is clamped, but not correctly, run an M17 to unclamp, push the pallet to the correct position, and run an M18 to clamp the pallet. Less common causes could be that the slip clutch is slipping, the motor is at fault, or an air line is blocked or kinked.

634 APC-Mislocated Pallet A pallet is not in the proper place on the APC. The pallet must be pushed back against the hard stop by hand.

635 APC-Pal Num Conflict Rec & Ch Pallet Number Conflict Receiver and Pallet Changer: The pallet number in memory does not agree with the actual pallet in use. Run an M50 to reset this variable.

636 APC-Switch Missed Pal 1 Pallet #1 did not return from the receiver to the APC in the allowed time. This can be caused by the chain switch block missing the limit switch, or from another mechanical problem, such as clutch slippage.

637 APC-Switch Missed Pal 2 Pallet #2 did not return from the receiver to the APC in the allowed time. This can be caused by the chain switch block missing the limit switch, or from another mechanical problem, such as clutch slippage.

638 APC- Door Not Open The automatic door did not open (in the allowable time), or may have fallen during an APC function. This can be caused by a bad air solenoid, a blocked or kinked air line, or a mechanical problem.

639 APC- Door Not Closed The automatic door did not close (in the allowable time), when necessary after an APC function has been performed. This can be caused by a bad air solenoid, a blocked or kinked air line, or a mechanical problem.

640 APC- Missing Pallet @ Rec Pallet change sequence was halted because receiver switch was not activated. Pallet is either unclamped or not on the receiver. Ensure the pallet is correctly located on the receiver (against the hard stop) then run M18 to clamp the pallet.

354

ALARMS June 2001

96-8500 rev C

O MPERATORS ANUAL

641 APC-Unknown Chain Location Neither chain location switch is tripped, so the control cannot locate the chain position. This can occur if a pallet change is interrupted for any reason, such as an alarm or an E-stop. To correct this problem, the pallets and chain must be moved back into a recognized position, such as both pallets home or one pallet home and one on the receiver. The chain position adjustment tool must be used to rotate the chain into position. The pallets must be pushed into place by hand.

CAUTION! The pallets weigh 300 lbs. each, and can cause serious injury. Use extreme caution when moving them.

642 APC- Incorrect Chain Location Chain not in position to load or unload pallets when necessary. To correct this, the mislocated pallet must be moved back into the proper position by hand.

CAUTION! The pallets weigh 300 lbs. each, and can cause serious injury. Use extreme caution when moving them.

643 RP-Index Station Unlocked (Verify Lever Up) Or Front Doors Open The index station is not in the correct orientation for a pallet change or the front doors are open. Check whether the handle is in the fully up position, close the front doors, check the function of the front door switches.

644 RP-Pallet Changer Will Not Rise, Verify Air Supply To The Lift Cylinder The pallet did not begin to lift within a reasonable time after command, or did not complete lifting within a reasonable time. Verify air supply to the pallet changer valve assembly, verify proper adjustment of the lift cylinder regulator (40 PSI), verify the function of the lift cylinder air valve and solenoid, verify the operation of the lift cylinder position sense switches.

645 RP-Pallet Jammed, Check For Obstruction The pallet changer has not rotated away from its original position (CW/CCW) in a reasonable time, or has not achieved its final position (CW/CCW) in a reasonable time, or has not been permitted to lower to the fully DOWN position

646 RP-CW/CCW Switch Illegal Condition Both of the switches that sense the rotational position of the pallet changer are indicating the impossible condition that the pallet changer is rotated CW and CCW at the same time. Only one switch should be tripped at a time. Check the function of the rotational sense switches, their connectors, and their wiring.

647 RP-Up/Down Switch Illegal Condition, Lift Cylinder The switches that sense the lifted and lowered position of the pallet changer are indicating the impossible condition that the pallet changer is both lifted and lowered at the same time. Check the function of the lift and lower sense switches, check the adjustment of the top switch, check both switch electrical connections and their wiring.

355

ALARMSJune 2001

96-8500 rev C

O MPERATORS ANUAL

648 RP-Main Drawbar Locked In Pallet Clamped Position The drawbar has not tripped the unclamp sense switch in a reasonable amount of time. Check to see that the motor is plugged in at the connector panel in the rear of the machine and at the motor through the access panel; check the function of the main drawbar motor (does it turn or try to turn); check the condition of the drive belt, check power supply to the motor; check the relays that supply power to the motor, check the condition of the current limiting resistors.

649 RP-Main Drawbar Locked In Pallet Unclamped Position The drawbar has not come off the unclamp sense switch in a reasonable amount of time. Check to see that the motor is plugged in at the connector panel in the rear of the machine and at the motor through the access panel; check the function of the main drawbar motor (does it turn or try to turn); check the condition of the drive belt, check power supply to the motor; check the relays that supply power to the motor, check the condition of the current limiting resistors.

650 RP-Pallet Not Engaging RP Main Drawbar This alarm occurs when the pullstud cannot properly engage the Ball Pull Collet. If this happens, the Ball Pull Collet has been pushed down into the Collet Housing and pallet clamping is not possible. Check alignment of the H-frame with the adjustable Hard Stops. Check the Pallet Pull Studs and the RP-Main Drawbar Ball Collet for damage or obstruction. Remove any debris that may have entered the Collet. Check that the six balls in the collet float within the holes.

651 Z Axis Is Not Zeroed The Z-axis has not been zeroed. In order to continue the Toolchanger Recovery the Z-axis must be zeroed. Once the Z- axis has been zeroed, continue with the Toolchanger Recovery.

652 U ZERO RET MARGIN TOO SMALL Same as alarm 168.

653 V ZERO RET MARGIN TOO SMALL Same as alarm 168.

654 W ZERO RET MARGIN TOO SMALL Same as alarm 168.

655 U CABLE FAULT Same as alarm 182.

656 V CABLE FAULT Same as alarm 182.

657 W CABLE FAULT Same as alarm 182.

658 U PHASING ERROR Same as alarm 217.

659 V PHASING ERROR Same as alarm 217.

660 W PHASING ERROR Same as alarm 217.

661 U TRANSITION FAULT Same as alarm 224.

662 V TRANSITION FAULT Same as alarm 224.

663 W TRANSITION FAULT Same as alarm 224.

356

ALARMS June 2001

96-8500 rev C

O MPERATORS ANUAL

664 U AXIS DISABLED Same as alarm 336.

665 V AXIS DISABLED Same as alarm 336.

666 W AXIS DISABLED Same as alarm 336.

667 U AXIS LINEAR SCALE Z FAULT Same as alarm 279.

668 V AXIS LINEAR SCALE Z FAULT Same as alarm 279.

669 W AXIS LINEAR SCALE Z FAULT Same as alarm 279.

670 TT OVER TRAVEL RANGE Same as alarm 316.

671 TT LIMIT SWITCH Same as alarm 145.

673 TT SERVO ERROR TOO LARGE Same as alarm 103.

674 TT SERVO OVERLOAD Same as alarm 108.

675 TT MOTOR OVER HEAT Same as alarm 135.

676 TT MOTOR Z FAULT Same as alarm 273.

677 TT AXIS Z CH MISSING Same as alarm 275.

678 TT AXIS DRIVE FAULT Same as alarm 161.

679 TT ZERO RET MARGIN TOO SMALL Same as alarm 168.

680 TT CABLE FAULT Same as alarm 182.

681 TT PHASING ERROR Same as alarm 217.

682 TT TRANSITION FAULT Same as alarm 224.

683 TT AXIS DISABLED Same as alarm 336.

684 TT AXIS LINEAR SCALE Z FAULT Same as alarm 279.

685 V MOTOR Z FAULT Same as alarm 273.

686 W MOTOR Z FAULT Same as alarm 273.

687 U MOTOR Z FAULT Same as alarm 273.

688 U AXIS Z CH MISSING Same as alarm 275.

689 V AXIS Z CH MISSING Same as alarm 275.

690 W AXIS Z CH MISSING Same as alarm 275.

691 U AXIS DRIVE FAULT Same as alarm 161.

357

ALARMSJune 2001

96-8500 rev C

O MPERATORS ANUAL

692 V AXIS DRIVE FAULT Same as alarm 161.

693 W AXIS DRIVE FAULT Same as alarm 161.

694 ATC SWITCH FAULT Conflicting switch states detected, such as shuttle at spindle and shuttle at chain simultaneously. Check for damaged or sticking switches, damaged wiring, or debris build up.

695 ATC AIR CYLINDER TIME OUT The ATC double arm did not complete extending or retracting within the time allowed by Parameter 61. Check for proper spindle orientation, correct alignment of the double arm with the chain or spindle, adequate air supply, mechanism binding, air leakage, excessive tool weight, debris build up, adequate chain tension, and correct chain guide strip adjustment. Use tool changer restore to recover the ATC, then resume normal operation.

696 ATC MOTOR TIME OUT The ATC shuttle motor or double arm motor failed to complete the commanded movement within the time allowed by Parameter 60. Check, for mechanism binding, correct motor and switch operation, damaged ATC control board relays, damaged electrical wiring, or blown fuses on the ATC control board. Use tool changer restore to recover the ATC, then resume normal operation.

697 ATC MOTOR FAULT The ATC shuttle motor or double arm motor was on unexpectedly. Use tool changer restore to recover the ATC, then resume normal operation.

698 ATC PARAMETER ERROR The ATC type cannot be determined. Check Parameter 278, bit 10, HS3 HYD TC, or Parameter 209, bit 2, CHAIN TC, as appropriate for the installed tool changer.

699 ATC CHAIN OUT OF POSITION An incorrect tool change position was detected during a tool change. Use tool changer restore to recover the ATC, then resume normal operation.

900 Par No xxx Has Changed. Old Value Was xxx. When the operator alters the value of a parameter, alarm 900 will be added to the alarm history. When the alarm history is displayed, the operator will be able to see the parameter number and the old value along with the date and time the change was made. Note that this is not a resetable alarm, it is for information purposes only.

901 Parameters Have Been Loaded By Disk When a file has been loaded from floppy disk, alarm 901 will be added to the alarm history along with the date and time. Note that this is not a resetable alarm, it is for information purposes only.

902 Parameters Have Been Loaded By RS-232 When a file has been loaded from RS-232, alarm 902 will be added to the alarm history along with the date and time. Note that this is not a resetable alarm, it is for information purposes only.

903 CNC Machine Powered Up When the machine is powered up, alarm 903 will be added to the alarm history along with the date and time. Note that this is not a resetable alarm, it is for information purposes only.

358

ALARMS June 2001

96-8500 rev C

O MPERATORS ANUAL

904 TOOL CHANGER AXIS VISIBLE The tool changer axis must be invisible for tool change operations with the HS tool changers. Set Parameter 462, bit 18, INVIS AXIS to 1. This will make the tool changer axis invisible and tool changes will be allowed.

NOTE: Alarms 1000-1999 are user defined by macro programs.

The following alarms only apply to horizontal mills with a pallet changer:

1001 Index St Unlocked The index station is not in the correct orientation for a pallet change.

1002 Pallet Locked Down The pallet did not begin to lift within two seconds of command, or did not complete lifting within six seconds.

1003 Pallets Jammed The lift cylinder has not moved from the clockwise position within three seconds, or has not reached the counter clockwise position within twelve seconds.

1004 CW/CCW Switch Illegal Condition One or both of the switches that sense the rotational position of the pallet changer has failed it's self-test.

1007 Up/Down Switch Illegal Condition One or both of the switches that sense the lifted/lowered position of the pallet changer has failed its self-test.

1008 Main Drawbar Locked In Up Position The main drawbar will not disengage from the pallet nut.

1009 Main Drawbar Locked In Down Position The main drawbar will not move upward to the pallet nut.

1010 Main Drawbar Switch Illegal Condition One or both of the switches that sense the up/down position of the main drawbar has failed it's self-test.

1011 Main Drawbar Unclamp Timeout The main drawbar has disengaged from the pallet nut, but did not reach the main drawbar down switch.

1012 Main Drawbar Clamp Timeout The main drawbar has begun to travel upward, but did not reach the fully raised position within 15 seconds.

359

June 2001 OPTIONS

96-8500 rev C

O MPERATORS ANUAL

11. OPTIONS

*This option is not field installable

11.1 QUICK CODE ............................................................................................................................................ 360

11.2 ADVANCED EDITOR ................................................................................................................................... 387

11.3 MACROS .................................................................................................................................................. 397

11.4 FOURTH AXIS SETUP ................................................................................................................................. 423

11.5 FIFTH AXIS CONTROL ................................................................................................................................ 425

11.6 8 M OPTION ......................................................................................................................................... 431

11.7 THROUGH THE SPINDLE COOLANT (TSC) ...................................................................................................... 433

11.8 HIGH SPEED MACHINING ............................................................................................................................ 437

11.9 PROGRAMMABLE COOLANT SPIGOT* .............................................................................................................. 438

11.10 ROTATION AND SCALING ............................................................................................................................ 439

11.11 ETHERNET .............................................................................................................................................. 439

11.12 ZIP DRIVE .............................................................................................................................................. 440

11.13 MEMORY LOCK KEY SWITCH ..................................................................................................................... 440

11.14 SPINDLE ORIENTATION .............................................................................................................................. 440

11.15 SECOND HOME ....................................................................................................................................... 440

11.16 AUXILIARY FILTER SYSTEM ......................................................................................................................... 440

11.17 200 HOUR TRY-OUT ................................................................................................................................ 440

360

June 2001 OPTIONS

96-8500 rev C

O MPERATORS ANUAL

11.1 QUICK CODE

INTRODUCTION

This programming option can be activated by contacting your local HAAS dealer.

Quick Code is an innovative new way to program CNC machines. It combines the simplicity and flexibility of G code programming with English descriptive sentences to enable even beginning programmers to construct most 2 dimensional parts. Experienced programmers will also love the speed they can now enter programs manually. This is possible because with one menu selection you can replace a large number of individual keystrokes, with just a few. And what if you dont like the way Quick Code is programmed? Simple! You can change it to suit your needs or programming tastes. Make it as complex or as simple as you like.

Background

When NC machines were first introduced they had very limited or no memory at all. They were often run from tapes and instructions needed to be as concise as possible. In order to accomplish this a sort of encryptive language evolved which we called G code programming. A command to TURN OFF COOLANT which requires 16 letters and spaces is reduced to M09 which takes only 3 characters. This made tape lengths and memory requirements manageable to say the least. As it evolved, hundreds of instructions and canned cycles were encrypted into G and M code programming. For an experienced programmer, the G codes are actually very easy to use but the learning process requires constant referring back to the manual to figure out which code to use to accomplish the task. And even the most experienced program- mers would have to admit that every once in a while they forget to put the right I,K,Q or Ps into say, a G83 drilling cycle. Quick Code eliminates this tedium. Simply handle cursor over to the drill cycle you want and press the write button and all the code you need to drill the hole is inserted with default values for all necessary I,K,Q,Ps. And you can edit those values to suit your individual needs.

How It Works

Quick Code reverses the G code encryption confusion. On the right side of the screen you have English commands that describe the operation to perform. By selecting the operation and with one button push, the code is inserted in your program on the left side of the screen. A program is constructed by selecting English commands that are than changed over to machine language or G codes. In doing this you will learn quickly the G code format without studying any manual. Another feature is the ability to cursor through a program and Quick Code will tell you what all the G and M codes mean, shown at the bottom of the screen, a great help in learning the code.

An Open System

One of the neatest features of Quick Code is that it is adaptable to the way you program. Everybody programs a little differently and have special preferences, such as, do you put the T command on the same line as the tool change command or before? With Quick Code you can edit the program so that any English command you desire can be matched with any G code to be inserted. Because of this open format we are letting you define innovative new ways to program complex parts using Quick Code.

361

June 2001 OPTIONS

96-8500 rev C

O MPERATORS ANUAL

What it is Not

Quick Code is not a CAD/CAM package for generating complex moves on 3 dimensional parts. With most CAM packages you have to draw a drawing much like you would in AUTO CAD and then indicate the moves around the drawing and finally generate the code through the post processor. Not a simple task. Nor is it a conversational program with icons where you are asked to fill in the blanks. The difference with these packages is that they require training and much like learning a second language you have to have the time and determination to learn them. They have a tremendous amount of power but you dont always need it. Quick Code is a bridge between high end CAD/CAM and slow and cumbersome G code program- ming. It is our expectation that it can be used by anyone with very minimal training. For most simple parts we believe that Quick Code is an ideal choice.

Conversational Quick code

Conversational Quick Code makes programming with Quick Code even easier. This feature can be used to "prompt" the operator for the information necessary to create a program. Refer to the " Conversational Quick Code" section for a description of how to use this feature.

QUICK CODE TERMINOLOGY

Before describing the Quick Code environment you need to know the terms listed below. Following this brief list is an illustration of the Quick Code display and how the terms are related to the display.

EDIT WINDOW Portion of the display that shows the currently edited program.

GROUP WINDOW Portion of the display which presents a list of groups and items.

GROUP A list of items that usually have something in common so that they can be grouped together.

ITEM A line of text representing code that can be added to the edit window when it is selected.

HELP WINDOW Portion of the display which presents user created help, address code help, and warning messages.

362

June 2001 OPTIONS

96-8500 rev C

O MPERATORS ANUAL

.

The Quick Code display.

USAGE AND FEATURES

ACCESSING QUICK CODE

Before Quick Code can be used, the bit labeled ENA QUIKCODE in parameter 57 must be set to 1. When this bit is set to 0, you will not be able to access the Quick Code screen. Enter Quick Code by selecting edit mode and then pressing the PRGRM/CONVRS key twice. The first press of the PRGRM/CONVRS key enters the standard editor, whereas the second press of this key will enter the 80 column format of the Quick Code screen. Each additional press of this key will switch between the Advanced editor, the stan- dard editor, and Quick Code modes.

THE EDIT WINDOW

The Quick Code edit window is exactly the same as the standard editor on the HAAS control. Each time that you select a group item, as described below, the edit window will be updated to show you what code has been added to the currently edited program. You have access to all of the edit functions with the exception of the jog handle and the block copy function keys. In the standard editor, you can use the jog handle to traverse program text quickly. While in Quick Code, the jog handle is reserved to maneuver through the group list. You can still cursor through the program text by using the cursor keys provided on the center of the keypad. You are also restricted from using the block copy keys while in Quick Code. For this, you can always switch back to standard edit mode by pressing the PROGRM/CONVRS key. At this point you have access to the jog handle, for long comments, and the block copy functions. Quick Code is not available while in BACKGROUND EDIT MODE.

363

June 2001 OPTIONS

96-8500 rev C

O MPERATORS ANUAL

THE GROUP WINDOW

The group window displays a list of groups that are defined in the Quick Code source file. The groups can be moved through for selection by turning the jog handle in the plus (clockwise) direction. For each jog handle click in the plus direction, the group window cursor will advance to the next group. In this manner you can move through every group in the list. When the last group is highlighted, the next plus click will move the cursor to the first group in the list. To view and cursor through items within a group, turn the jog handle in the minus, counter clockwise, direction. As long as you turn the jog handle in the minus direc- tion the cursor will advance through, display and highlight items in the current group. By turning the jog handle one click clockwise, the group item list will be closed and additional plus clicks will continue to traverse the group list.

THE HELP WINDOW

The help window is just below the group window. It is used to display Quick Code source file help, address code help, and warning messages to the user.

The Quick Code source file can contain comments that will not be placed into the edit window. These comments will be displayed on the first five lines of the help window. These comments are typically used for explaining item code and usage.

As the user cursors through a program, each address code that is highlighted will be interpreted and a short description of its usage is displayed below the edit window. This address code help is as accurate as possible. Since the program is not being interpreted sequentially as it is when a program is run, full interpretation cannot take place. When the context of an address code cannot be fully determined, the most likely usage is displayed.

Sometimes during editing we can determine if a run time error will occur without actually running the program. For instance we can tell if multiple codes from one G code group are on a line. In this case Quick Code will display a highlighted warning message to the user indicating that there is a problem. This is found below the help window.

SPECIAL KEYS

Quick Code makes use of the jog handle to select from the group list and group items. This is described in the group window section above. Quick Code action takes place when the WRITE key is pressed. If there is text on the input line, normal text insertion takes place when the WRITE key is pressed. When the input line is blank, pressing the WRITE key will cause Quick Code to take the following action:

-If the currently highlighted Quick Code item is designed as a text help item only, the edit window is not modified.

-If numeric program code is found associated with the highlighted Quick Code item, the edit window cursor is moved to the end of the current edit block and the associated code is inserted after that block. The edit cursor is left at the end of the last Quick Code block that was inserted.

364

June 2001 OPTIONS

96-8500 rev C

O MPERATORS ANUAL

CONVERSATIONAL QUICK CODE

Quick Code is used to "prompt" the operator for the information necessary to create a program. The "prompting comments" are created by placing a '?' as the first character of a (?comment) in the Quick Code source file (O9999). A comment is any text, up to 34 characters, that is contained in parentheses. When a program is being written using Quick Code, the prompting comments will appear on the screen, requiring a response from the operator. The numeric value entered by the operator will be assigned to the G-code item that immediately precedes the prompting comment in the source file. The Quick Code source file program is O9999.

For example, defining an X axis feed move, the following line of code would be in the source file:

G01 X2. (?WHAT IS THE X LOCATION) F15. (?WHAT IS THE FEEDRATE)

Will produce the following prompt when creating a new program, under a another program number (O1234) using Quick Code. And the default X location value displayed below with the prompt, as shown:

WHAT IS THE X LOCATION

X2. and you ENTER a new X location value of 2.25

X2.25 and then the next command prompt comes up.

With the default feed rate value displayed below the prompt, as shown:

WHAT IS THE FEED RATE

F15. and you decide to keep this default feedrate value.

The operator must then enter a numeric value and press the WRITE key to change the default feed rate, or simply press the WRITE key to accept the default feed rate. The control will wait for an operator response before entering the block to the edit window. Unacceptable responses, such as those containing too many digits or an unnecessary decimal, will cause the control to flash an error message and wait for another response.

Once the operator has input a value for all of the 'variable' G-code items in a block of code, the entire (revised) block is displayed on the input line, as shown:

CORRECT (Y/N) ?

G01 X2.5 F15. ;

If the block of code is too long to fit on the screen, the operator can scroll to view the entire line using the right or left arrow keys, the HOME key, or the END key. The operator then must enter 'Y' to accept the block, or 'N' to cancel it. If it's accepted, the block is written to the edit file, and the Quick Code process- ing resumes with the next block (if there is one). If it is not accepted, the prompting process is repeated for the same block.

Pressing the UNDO key while in Quick Code, will exit the current block at any time and remain where your at in the program.

Pressing RESET will exit Quick Code and send the cursor back to the beginning.

365

June 2001 OPTIONS

96-8500 rev C

O MPERATORS ANUAL

A SAMPLE QUICK CODE SESSION

The following illustrates how Quick Code can be used to build a program. A program will be built to spot, drill, and tap 5 holes on a circular bolt hole pattern. We will assume that tool 1 is a spot drill, tool 2 is a drill for a 10-32 tap, and tool 3 is the tap. Before you proceed, make sure that Quick Code is enabled in parameter 57. ENA QUIKCODE should be set to 1. You will also need the Quick Code source program O9999 in the control.

The jog handle is an integral part of using Quick Code and is used quite often. For brevity we use JHCW to mean jog handle clockwise and JHCCW to mean jog handle counter clockwise. For instance, seeing JHCW means that you should turn the jog handle in a clockwise direction.

CREATE A PROGRAM

Quick Code will not generate the new program number for you. So the first thing you must do is to create or select a program. To create a program do the following.

1. Press LIST PROG. 2. Type O0005 (or any other convenient program number) 3. Press WRITE.

This creates a program in the usual manner. Proceed to edit the program by pressing EDIT. The control will switch to the PROGRAM display and you will see the program number and semicolon in the top left of the screen. Now press the PRGRM/CONVRS key twiceto enter Quick Code or in the advanced edit menus under the HELP menu is a sub menu selection for Quick Code.

The following screen is presented.

Empty Program.

366

June 2001 OPTIONS

96-8500 rev C

O MPERATORS ANUAL

SELECT THE START UP COMMANDS

1. JHCW until the group titled START UP COMMANDS in the group window is highlighted.

2. JHCCW one click. The items belonging to START UP COMMANDS will appear and the item, Program Name is the one highlighted.

3. Press the WRITE key. This will enter in a (T), for you to cursor arrow left twice onto the T in- between the parenthesis, then type in a program name and press ALTER.

The following figure shows what the screen should look like. Note that for the code that was added, you have text information displayed in the help window just below the group window. When the Quick Code source file is constructed properly, you will see examples of the program code, or instructions, for that command in this HELP window. This can be helpful in determining which item in a group you want.

Start a program using Quick Code.

- CALL TOOL 1

1. While on the START UP COMMANDS menu JHCCW and highlight the group item titled Call Tool.

2. Press the WRITE key to have the control query you for a tool number in your program, and the control will be flashing with a 1 in the lower left corner as the default value. Press WRITE to accept the number 1.

Press WRITE or Y to except the block listed in the lower left corner. Or N for no, to start the questioning again.

3. JHCCW and highlight the group item titled Tool Start Up Commands.

367

June 2001 OPTIONS

96-8500 rev C

O MPERATORS ANUAL

4. Press the WRITE key to have the control query you for the commands to define the start up of tool 1, and enter into your program.

Note that the cursor will move to the end of the block, when you start selecting Quick Code menu items for your program. This is where the next block of code will be entered in after.

Programmed with the Start Up Command selections entered in with Quick Code for tool 1.

Remember that after pressing WRITE you can always edit the program to make minor adjustments to code that Quick Code inserts into your program. You do not have to leave the Quick Code display to do this. But you must remember to reposition the cursor back to the block where you want to add the next item. Quick Code will automatically seek the end of the current block that the cursor is on, so there is no need to cursor to the end of the block.

We will assume that the material is aluminum and that the work coordinate zero for G54 is at the center of the bolt hole pattern. The Quick Code source file (O9999) was created with a common program format and menu selections. You could have a different Quick Code source file (O9998 or O9997) for different menu selections and formats. By changing parameter 228 (to 9998 or 9997) you can quickly change the file that Quick Code works with if you had created one.

- INVOKE THE SPOT DRILLING CANNED CYCLE G82

1. JHCW and highlight the group titled 5. DRILL/TAP/BORE CYCLES.

2. JHCCW two clicks. Drill with Dwell G82 will be highlighted.

3. Press the WRITE key to have the control query you, and answer the questions, to set up drilling with G82.

Note that Quick Code defined a block of code to execute a spot drill cycle at that present location. You can add more X and Y drill cycle locations if needed by selecting 6. DRILL/TAP/BORE LOCATIONS.

368

June 2001 OPTIONS

96-8500 rev C

O MPERATORS ANUAL

Note: We do not want to drill a hole at X0 Y0, which is the center of the bolt hole circle, so manually edit in an L0 on the end of the G82 command line. This will ignore the G82 canned cycle until the next location.

Your program will look like this.

Program with spot drilling invoked.

- EXECUTE A CIRCULAR BOLT HOLE PATTERN

1.) JHCW and highlight the group titled 6. DRILL/TAP/BORE LOCATIONS.

2.) JHCCW and highlight the group titled Bolt Hole Circle Locations

3.) Press the WRITE key to have the control query you for the code on positioning around a bolt hole circle.

4.) Enter in the numbers to answer all the questions in the lower left corner of the control screen, to define all the commands necessary to position around a G70 Bolt Hole Circle to drill with a G82 canned cycle.

Here Quick Code will question you for, a G70 command to execute a bolt hole circle pattern. The control will first query you for an X Y center location of the bolt hole pattern.

The next question will be for the radius of the bolt hole circle. And 1.5 will be flashing in the lower left corner of the screen as the default value for the bolt hole circle radius. If the radius of the bolt circle is different, then enter in the new radius value.

The next questions will be for the number of holes. And 6 will be flashing in the lower left corner of the screen as the default meaning that 6 holes on a circle will be drilled. We want 5 holes to be drilled. So here you will enter the number 5 to change the pattern so that L5 will be on the G70 line.

369

June 2001 OPTIONS

96-8500 rev C

O MPERATORS ANUAL

Your program will look like this.

Program with a bolt hole circle added.

By now you should have a good idea of how your program changes, after selecting a group item with the handwheel and pressing WRITE. To save space we will not show you each display as a selection is made. Instead we will list the remaining actions needed to finish drilling and tapping the 5 holes. The remaining selections are very similar to what we have already done.

- CALL TOOL 2

1. JHCW to the group titled START UP COMMANDS then JHCCW and highlight the group item titled Call Tool.

2. Press the WRITE key to have the control query you for a tool and enter in the number 2.

3. JHCCW and highlight the group item titled Tool Start Up Commands.

4. Press the WRITE key to have the control query you for defining all the commands to start up tool 2 in your program.

- INVOKE THE SPOT DRILLING CANNED CYCLE G83

1. JHCW and highlight the group titled 5. DRILL/TAP/BORE CYCLES.

2. JHCCW three clicks. Deep Hole Peck Drill G83 will be highlighted.

3. Press the WRITE key to have the control query you for the code on setting up drilling with G83.

Note that Quick Code defined a block to execute a spot drill cycle at that present location. You can add more X and Y drill cycle locations if needed by selecting 6. DRILL/TAP/BORE LOCATIONS.

370

June 2001 OPTIONS

96-8500 rev C

O MPERATORS ANUAL

Note: We do not want to drill a hole at X0 Y0, which is the center of the bolt hole circle, so manually edit in an L0 on the end of the G82 command line. This will ignore the G82 canned cycle until the next location.

- EXECUTE A CIRCULAR BOLT HOLE PATTERN

1. JHCW and highlight the group titled 6. DRILL/TAP/BORE LOCATIONS.

2. JHCCW and highlight the group titled Bolt Hole Circle Locations

3. Press the WRITE key to have the control query you for the code on positioning around a bolt hole circle.

4. Enter in the numbers to answer all the questions in the lower left corner of the control screen, to define all the commands necessary to position around to drill a Bolt Hole Circle with a G83 canned cycle.

And now for tool 3, the 10-32 tap.

- CALL TOOL 3

1. JHCW to the group titled START UP COMMANDS then JHCCW and highlight the group item titled Call Tool.

2. Press the WRITE key to have the control query you for a tool and enter in the number 3.

3. JHCCW and highlight the group item titled Tool Start Up Commands.

4. Press the WRITE key to have the control query you for defining all the commands to start up tool 3 in your program.

- INVOKE THE TAPPING CANNED CYCLE G84

1. JHCW and highlight the group titled 5. DRILL/TAP/BORE CYCLES.

2. JHCCW nine clicks. Right Hand Tapping G84 will be highlighted.

3. Press the WRITE key to have the control query you for the code on setting up tapping with G84.

Note that Quick Code defined a block to execute a tapping cycle at that present location. You will need to enter in the appropriate speed and feed for this tapping cycle. You can add more X and Y tap cycle loca- tions if needed by selecting 6. DRILL/TAP/BORE LOCATIONS.

Note: We do not want to tap a hole at X0 Y0, which is the center of the bolt hole circle, so manually edit in an L0 on the end of the G84 command line. This will ignore the G84 canned cycle until the next location.

- EXECUTE A CIRCULAR BOLT HOLE PATTERN

1. JHCW and highlight the group titled 6. DRILL/TAP/BORE LOCATIONS.

2. JHCCW and highlight the group titled Bolt Hole Circle Locations

3. Press the WRITE key to have the control query you for the code on positioning around a bolt hole circle.

371

June 2001 OPTIONS

96-8500 rev C

O MPERATORS ANUAL

4. Enter in the numbers to answer all the questions in the lower left corner of the control screen, to define all the commands necessary to position around to tap a Bolt Hole Circle with a G84 canned cycle.

At this point you may decide to position the table forward to remove the part. You can do this in your program with the following.

- Rapid Z axis coolant OFF

1. JHCW and highlight the group titled ENDING COMMANDS.

2. JHCCW one click, to have the Rapid Z axis coolant OFF highlighted.

3. Press WRITE.

This will query you for the location to Rapid the Z axis and turn OFF the coolant with an M09.

And finally, you can properly end your program with:

- Sending the machine home and ending the program

1. JHCW and highlight the group titled ENDING COMMANDS.

2. JHCCW until Home Y and Z axes is highlighted.

3. Press WRITE.

4. JHCW and highlight the group titled End Program/Reset to Beginning.

5. Press WRITE.

You now have a program ready to run. You should always verify everything in graphics to make certain that you have not forgotten any steps. Although this looks like a lot of steps, it is actually very easy once you become familiar with the Quick Code environment. The above program can be generated in less than a minute.

372

June 2001 OPTIONS

96-8500 rev C

O MPERATORS ANUAL

THE QUICK CODE SOURCE FILE

All of the text seen in the group window, all of the code associated with items of groups, and much of the help text observed in the help window is contained in a G code program. This program is called the Quick Code source file. With this design, the user can modify Quick Code and tailor it to his specific needs. You can add or change groups and items. The user can develop his own Quick Code file, or program, by editing this file. Dealers can develop new applications and distribute them to their customers. The ability to edit the source file makes Quick Code an extremely flexible tool.

SOURCE FILE PROGRAM DESIGNATION

Program number 9999 is the default Quick Code source file. Every HAAS control equipped with Quick Code comes with a sample O9999 program installed. The default program number can be changed by changing parameter 228. If the file number in parameter 228 is not found in the control, the message FILE NOT FOUND is displayed and you will not be able to enter the Quick Code screen. The source file must be formatted as defined below. If program O9999 is not formatted in the appropriate manner then you may not see all, or any, of the defined Quick Code groups. You can use the following skeleton as a start for defining a Quick Code source file.

% O9999 (QUICK CODE - HAAS AUTOMATION INC.) () (ADD ANY COMMENTS HERE THAT PERTAIN TO) (THE ENTIRE SOURCE FILE. FOR INSTANCE) (YOU CAN RECORD WHO MADE THE FILE, THE) (DATE AND TIME OF THE LAST CHANGE, A ) (VERSION NUMBER, OR ANYTHING ELSE YOU ) (WANT. ALL COMMENTS PRIOR TO THE FIRST) (GROUP ARE NOT SEEN BY THE USER.) () (QUICK CODE GROUP DEFINITIONS FOLLOW) . . . () (END OF QUICK CODE) %

DEFINING A GROUP IN THE GROUP LIST (*)

To define a group that will show up in the group window, simply enter a comment where the first character is an asterisk. For instance if you want five groups to show up in the group window, then you would include the following five lines in the Quick Code source file.

(*GROUP1) (*GROUP2) (*GROUP3) (*GROUP4) (*GROUP5)

Of course, you can use any descriptive title for the group that is appropriate to what the group will contain. Group titles can be up to 35 characters long. Any additional characters beyond 35 will not be displayed.

373

June 2001 OPTIONS

96-8500 rev C

O MPERATORS ANUAL

GROUP HELP

The first five comments after the group definition will be displayed in the help window. These comments can be used to explain what is contained in the group. For example:

(*GROUP) (THIS GROUP CONTAINS HELP ON HOW TO) (USE QUICK CODE. WHEN THIS GROUP IS) (HIGHLIGHTED, TURN THE JOG HANDLE IN) (THE MINUS DIRECTION FOR MORE HELP.)

Additional comments beyond five lines are not displayed by Quick Code. This is a method of documenting the source file for the developer of the Quick Code file. Documenting comments can also be hidden in the source file by placing an empty comment after group help comments. In the following example only the first two comments are displayed in the help window.

(*HELP) (ONLY THE FIRST TWO COMMENTS ARE) (DISPLAYED IN THE HELP WINDOW.) () (THIS COMMENT IS NOT DISPLAYED)

If more than five lines are required to comment on a group, then you can use several groups to display 5, 10 or 15 lines of help. With this method you can add any amount of information you want about that group.

GROUP CODE

What happens when a group definition is highlighted and the user presses the WRITE key? If there is a G code after the group definition and before any other group or item definitions, then that G code will be inserted into the program that is being developed. Groups do not have to contain items for generating G code. A group title can stand alone as a code generating entity. The following group definition would add a G28 M30 to the program being developed when WRITE is pressed.

(*END OF PROGRAM) (THIS RETURNS ALL AXES TO MACHINE) (ZERO AND ENDS PROGRAM EXECUTION) (G28 M30) () G28 M30 ()

Note that the user will not see what G code is generated until the WRITE key is pressed and the code is inserted into the program. For this reason you may want to place the code that is to be generated in a help comment as is done above.

Quick Code can also generate comments in the program being generated. Any comments following an empty comment will be added to the currently edited program. In fact all code following an empty com- ment is inserted into the program until another empty comment is encountered or until a group or item definition is encountered. The empty comment must be the first code in the block. Any code in the same block as the empty comment is not entered into the program. In the following example, only the code in blocks between the empty comment blocks are added to the program being generated.

374

June 2001 OPTIONS

96-8500 rev C

O MPERATORS ANUAL

(*GENERATES COMMENTS AND CODE) (THIS IS NOT ADDED TO PROGRAM) ()(THIS IS NOT ADDED TO PROGRAM) (THESE COMMENTS WILL BE ADDED TO THE) (PROGRAM WHEN THIS GROUP IS) (HIGHLIGHTED AND WRITE IS PRESSED) G0 G90 G54 (THIS CODE IS ADDED) () (THESE COMMENTS ARE NOT ADDED TO THE) (PROGRAM BEING GENERATED)

DEFINING AN ITEM BELONGING TO A GROUP (**)

To define an item belonging to a group simply enter a comment after a group definition where the first two characters of the comment are asterisks. For instance, the following code generates a group with four subordinate items.

(*GROUP) (**ITEM1) (**ITEM2) (**ITEM3) (**ITEM4)

With the above Quick Code source file, only one group is displayed in the group window when the jog handle is turned clockwise. When the jog handle is turned counter clockwise, the five items are displayed and traversed. The item titles are indented one space so that you can differentiate items from groups. Only 34 characters of the item definition comment are displayed in the group window. Additional charac- ters are ignored. The group that items belong to will always be displayed on the screen. The only limit to the number of items in a group is the amount of control memory available.

ITEM HELP

Item help works the same way as group help. The first four comments after the item definition are dis- played in the help window. If more than four lines are required, it is recommended that prior items contain the desired comments. In this case instructions would have to be added to indicate which item generates the G code.

For example:

(*GROUP) (**HELP FOR THE FOLLOWING ITEM) (THESE LINES OF CODE ARE HELP) (COMMENTS THAT REQUIRE MORE THAN) (FIVE LINES OF COMMENTARY) (THIS IS THE LAST LINE OF THIS ITEM) (**ITEM THAT GENERATES CODE) (AND HERE WE FINISH THE COMMENTARY) (FOR CODE GENERATED BY THIS ITEM) G0 G90 G01 F30 ()(*********************************) (*NEXT GROUP)

375

June 2001 OPTIONS

96-8500 rev C

O MPERATORS ANUAL

Although the above example is somewhat awkward, it does provide a method that will satisfy unusual cases. The line with all of the asterisks is legal. It is not inserted into the current program when the WRITE key is pressed. It is used to visually separate groups.

ITEM CODE

Code generated by group items is formatted in the same manner as group code is formatted. Refer to the section on group code for an explanation of how code is generated.

A SAMPLE QUICK CODE SOURCE FILE

After developing or modifying a Quick Code file, it is recommended that you save an off-line copy in a computer. You can keep comments in the Quick Code source file prior to the first group indicating what version the file is and how it differs from other versions. Maintain this program as you would any other G code program in your control with a proper backup scheme. Remember! This source program file operates the Quick Code feature in your HAAS machine. And you can have more then one Quick Code file, but the one the control is using is the program number listed under parameter 228 which should be a 9000 number and the one Haas uses is program number O9999.

A sample Quick Code source file can be found on the floppy that comes with the control. It contains many examples of how Quick Code can be used.

376

June 2001 OPTIONS

96-8500 rev C

O MPERATORS ANUAL

VISUAL QUICK CODE

Visual Quick Code (VQC) is a graphical editor made to help simplify programming for commonly made, simple parts. Given a standard part template and a set of dimensions, a program is created.

Quick Start Guide

1. Either create a new, empty program, or place the cursor at the ; (End of Block) where the new program will be added. Note: You must be in Advanced Editor.

2. In Edit mode, press the PRGRM/CONVRS key three times to enter VQC. You can also enter VQC by using the pull-down menus in the Advanced Editor under HELP. After entering you will see a mostly empty screen with a list of words or short phrases on the right. These are the part categories.

3. Using the up and down arrow keys, select the part category you want, then press WRITE. Part templates will be seen in the large square area.

4. Using the up, down, left and right arrow keys, select a part template and press WRITE or press CANCEL to return to the category selection screen (step 3). Pressing WRITE (on the part template) will display an enlarged image of the selected part in the large square area including variables identifying the part dimensions.

5. Enter the data for the part. NOTE: Z0 will typically be 0, and the other Z values will typically be negative. R and C values are used to specify the radius or chamfer of a corner.

6. When the last value is entered, the control will ask if all data is correct. Press Y or N. If Y is pressed, the new program will be generated and sent to the Advanced Editor. Check the program that was created, for example, run the program in graphics mode and check the tool paths. Verify the tool offsets, and run the preliminary part using reduced feeds.

VISUAL QUICK CODE INTRODUCTION

Starting

You have the choice of either starting from scratch by creating a new empty program; or use VQC to insert code into an existing program. To insert into an existing program, select the program, enter Advanced Editor and position the cursor at the ; (end of block) where you want the new code to be inserted after.

If you choose to start with a new program, VQC will end the program with an M30 (program end and rewind), if it exists in the template.

VQC will not end the code with an M30 if it is inserted into an existing program. Regardless if there is an M30 in the template (this is to prevent unwanted or multiple M30s).

To start Visual Quick Code (VQC) enter Edit mode then press the PRGRM/CONVRS key three times. Another way to use the pull down menus in the Advanced Editor under HELP.

377

June 2001 OPTIONS

96-8500 rev C

O MPERATORS ANUAL

Selecting a Category

Use the arrow keys to select the parts category that most closely matches the desired part and press WRITE. A set of thumbnail illustrations of the parts in that category will appear. These are the part tem- plates for that category.

VQC (EDIT) O00001 N00000

DRILL, TAP

BOLT HOLE PATTERNS

BORE CYCLES

THREAD MILLING

CIRCULAR POCKET

O.D. MILLING OPS.

FACE MILLING OPS.

G70 BOLT HOLE CIRCLE

Selecting a Part Template

Use the arrow keys to select a template on the page. Pressing WRITE will display an outline of the part and allow the programmer to enter dimensions and other information to make the selected part. Press CANCEL to return to the list of categories.

VQC (EDIT) O00001 N00000

I=?

J=? NumHoles=? ToolNo=? WrkOfset=? XPos=? YPos=?

G70 BOLT HOLE CIRCLE

J

I

SpdleRpm=? DrlDpth=? Rplain=? Dwell=? Dwell=?

378

June 2001 OPTIONS

96-8500 rev C

O MPERATORS ANUAL

Entering the Data

The control will prompt the programmer for information about the selected part. The data is not checked for consistency, so be careful to enter the numbers correctly. Once the information is entered, the final prompt is: Correct (Y/N). Press Y if the information is correct, or N to go back and edit the data.

After pressing Y, the G-code necessary to produce the part specified will be written to the selected pro- gram number. Additionally the program will be put into the Advanced Editor in order to double check the program. Verify the program by first running it in Graphics mode.

VQC (EDIT) O00001 N00000

I= 3

J= 40 NumHoles= 8 ToolNo= 1 WrkOfset= 54 XPos= -3. YPos= -3.

All Data Entered. Program will be created now.

J

I

SpdleRpm= 2000 DrlDpth= 1. Rplain= 0.1000 Dwell= 1. Dwell= 10.

F1 KEY TURNS MENU ON/OFFPROGRAM (EDIT) O00001

O00001

O00001 (G70 BOLT HOLE CIRCLE);

(I = 3.);

(J = 40);

(NumHoles=8);

(ToolNo=1);

(WrkOfset=54);

(XPos=);

(YPos=);

(SpdleRpm=);

(DrlDpth=);

(Rplain=);

(Dwell=);

(Feedrate=54);

T1 M06;

C00 G90 G54 X-3. Y-3.;

S2000 M08;

G43 H01 Z1. M08;

G82 G98 Z-1. R0.1 P1. F10. L0;

PROGRAM EDIT SEARCH MODIFY I/O HELP

G70 BOLT HOLE CIRCLE

379

June 2001 OPTIONS

96-8500 rev C

O MPERATORS ANUAL

Extending Visual Quick Code

The Visual Quick Code system uses program O09997 to generate the icons and questions that the user sees, and the G code that is produced. Program O09997 consists entirely of comments. The comments contain keywords that the Visual Quick Code system understands. Some of the keywords are used to divide program O09997 into sections. The sections are hierarchical, that is the whole program is divided into CATEGORY sections, a CATEGORY section is divided into part TEMPLATE sections, and a TEM- PLATE is divided into DIAGRAM, PARAMETER, and CODE sections.

Other keywords are used within sections to set the attributes of the object defined in that section. For example, within the PARAMETER section, we might see the following lines:

(#DC) (LABEL DEPTH CUT) (POSITION [20,6])

The first line defines the variable which is used to hold the information entered by the user. The second line defines the "label", to put on the visual portion of the screen. This "label" represents the variable on the first line for better clarity. "LABEL" tells the Visual Quick Code system to print anything following the keyword "LABEL" on the screen. The third line with the key word "POSITION" tells the Visual Quick Code where to put the label on the screen. The following is a complete list of the keywords used by Visual Quick Code.

LIST OF KEYWORDS

Keyword Definition Section

CATEGORY The beginning of a CATEGORY section END CATEGORY The end of a CATEGORY section TEMPLATE The beginning of a TEMPLATE section Category END TEMPLATE The end of a TEMPLATE section Category DIAGRAM The beginning of a DIAGRAM section Template END DIAGRAM The end of a DIAGRAM section Template LINE Specifies a LINE in the DIAGRAM Diagram DATUM Specifies a DATUM in the DIAGRAM Diagram ARROW Specifies an ARROW in the DIAGRAM Diagram CW Specifies a clockwise arc Diagram CCW Specifies a counterclockwise arc Diagram THREAD Specifies a thread in the DIAGRAM Diagram PRINT Specifies a label in the DIAGRAM Diagram PARAMETER The beginning of a PARAMETER section Template END PARAMETER The end of a PARAMETER section Template LABEL The LABEL attribute of a Parameter Parameters NO DECIMAL Sets the NO DECIMAL attribute Parameters ONE PLACE Sets the ONE PLACE attribute Parameters TWO PLACE Sets the TWO PLACE attribute Parameters THREE PLACE Sets the THREE PLACE attribute Parameters FOUR PLACE Sets the FOUR PLACE attribute Parameters GCODE The beginning of a G-code section Template END GCODE The end of a Template section Template

The Visual Quick Code system expects the keyword to appear in the Section column. If the keyword appears in a different area, Visual Quick Code will ignore it, or produce an error message because it mistook the keyword for one that it expected, and the text following the keyword did not fit into the Visual Quick Code pattern.

380

June 2001 OPTIONS

96-8500 rev C

O MPERATORS ANUAL

PROGRAMMIMG VISUAL QUICK CODE

The selections fall into two groups, categories and parts. The programmer first selects, from a list, the type of machining that will be used, for example, Drill/tap, bolt hole patterns, bore cycles, etc. This is the catagory group. Selecting one of these categories displays an illustrated group of parts. The programmer chooses from these illustrations the one that most resembles the desired part. Once chosen the control now prompts the programmer for the dimensions of the parts. Programming code is generated after the programmer enter the dimensions.

Program O09997 is the Visual Quick Code model. The program consists of several Category sections which define the categories available to the programmer.

The following is a basic outline of program O9997 using a top-down approach, becomming more and more specific. This is the way that Visual Quick Code is used. First the user sees a list of catagories. After selecting a category, the user sees a list of parts. After selecting a part, the user sees what dimensions he or she can specify, and then the G-code is produced.

% O09997 (CATEGORY) . . . (END CATEGORY) (CATEGORY)

. . . (END CATEGORY) (CATEGORY) . . . (END CATEGORY) (CATEGORY) . . . (END CATEGORY) %

Each CATEGORY section in turn consists of several TEMPLATE sections. These sections define which parts are available to the user once a category has been selected.

% O09997 (CATEGORY) . . . (TEMPLATE) . . . (END TEMPLATE) (TEMPLATE) . . . (END TEMPLATE) (TEMPLATE) . . . (END TEMPLATE) (END CATEGORY) %

381

June 2001 OPTIONS

96-8500 rev C

O MPERATORS ANUAL

Each TEMPLATE section consists of a DIAGRAM section, a PARAMETER section, and a GCODE section. The GCODE section is where the programming code is stored, but is missing some values that are entered by the programmer, via variables.

% O09997 (CATEGORY) . . . (TEMPLATE) . . . (DIAGRAM) . . . (END DIAGRAM) (PARAMETER) . . . (END PARAMETER) (GCODE) . . . (END GCODE) (END TEMPLATE) (END CATEGORY) %

CATEGORY Section

The Category section is a collection of Part Templates. The necessary items are a beginning, a name, templates, and an end. CATEGORY marks the beginning of a Category section, and END CATEGORY marks the end. All of the templates that appear between the beginning and the end of a category belong to that category. NAME (your category name) should be the first line in the category section. The entered name will appear in the list of Visual Quick Code categories (this list appears when Visual Quick Code is first started).

Example: % (CATEGORY) (NAME: Parts With holes) (TEMPLATE) ... (DIAGRAM) . . . (END DIAGRAM) (PARAMETER) . . . (END PARAMETER) (GCODE) . . . (END GCODE) (END TEMPLATE) (END CATEGORY) %

382

June 2001 OPTIONS

96-8500 rev C

O MPERATORS ANUAL

Part TEMPLATE Section

The Part TEMPLATE section specifies all the information about a typical part. This includes an illustration of the part and what variables can be entered to machine the part.

DIAGRAM Section

The DIAGRAM section is the part of the program that creates the part illustration on the screen. The illustration can be drawn with lines, arcs, and jagged lines that represent threads. This drawing is both for the thumbnail sketch and the full-sized illustration. The labels that appear on the full-sized version of the part are specified in the PARAMETERS section (see Parameters description).

DIAGRAM Coordinates

Each of the elements of the diagram must have a starting point and an ending point. The notation is [X,Y] where X is the horizontal coordinate and Y is the vertical coordinate. The best way to find out what the starting and ending points should be is to use graph paper. First sketch, on the graph paper, what is to appear on the screen. Then pick a point on the graph paper to be the origin, [0,0] (Any point will work, as the diagram will be scaled to fit wherever it is drawn). You can then determine the starting and ending points of all the lines, arcs (CW or CCW) and threads.

DIAGRAM Elements

The elements that make up a diagrams are lines, arcs (CW or CCW) and Threads. For each element, the starting point is specified first, then the ending point.

The format for a line is:

(LINE [X1,Y1] [X2,Y2])

The format for a clockwise arc is:

(CW [X1,Y1] [X2,Y2] r)

where r is the radius of the arc.

The format for a counterclockwise arc is:

(CCW [X1,Y1] [X2,Y2] r)

where r is the radius of the arc.

The format for a jagged line to represent a thread is;

(THREAD [X1,Y1] [X2,Y2])

NOTE: Arcs (CW or CCW) may only cover 180 degrees, or half a circle. If an arc of more than 180 degrees is needed, another arc must be used.

383

June 2001 OPTIONS

96-8500 rev C

O MPERATORS ANUAL

PARAMETERS Section

The PARAMETERS section lists all of the parameters that can be used to customize the standard part. Some of these would be the physical dimensions of the raw material and the part. Others would be tool and offset information, feed rates, and spindle speeds.

Each parameter begins with #, which tells Visual Quick Code that value followed by the # will be the name for a specific variable. The format is:

(PARAMETERS) (#your variable name) (END PARAMETERS)

After a variable (parameter) has been specified, then any attributes of that particular parameter can be specified.

The POSITION Attribute

If you wish the parameter to appear in the diagram, you must supply a position. The format is (POSITION [X,Y]), where X is the horizontal coordinate and Y is the vertical coordinate. These coordinates are relative to the coordinates specified in the DIAGRAM section. Typically, only physical dimensions of the part will have a POSITION attribute.

Formatting Attributes

Several attributes are used to modify the value entered by the user. This is so that when the PARAMETER is used in the GCODE section, it will appear correctly. The Format column in the following table shows what would result from the G code template X#A, if the user enters 1 when asked for the value of parameter A. If none of the formatting attributes are used, the resulting G code would be X1.

Attribute Format Description

(NO DECIMAL) X1 The value will appear in the final G-code output without a decimal point. Can be used for spindle speeds, tool numbers and offsets.

(ONE PLACE) X.1 Numbers entered without a decimal point are automatically scaled to tenths.

(TWO PLACE) X.01 Numbers entered without a decimal point are automatically scaled to hundredths.

(THREE PLACE) X.001 Numbers entered without a decimal point are automatically scaled to thousandths.

(FOUR PLACE) X.0001 Numbers entered without a decimal point are automatically scaled to ten-thousandths.

If more than one of these attributes are used with a single parameter, the results are not defined.

NOTE: Do not use more than one formatting attribute for a single parameter.

384

June 2001 OPTIONS

96-8500 rev C

O MPERATORS ANUAL

G CODE Section

The GCODE section is responsible for producing the G code necessary to cut the specified part. Similar to the previous sections of program O09997, the GCODE section consists only of comments. The comments contain standard programming code, just as a user would type it into the editor, except that the end-of- block marker (;) is not used within the comments. The other difference is an extension similar to macro variables: in place of a numeric value, # followed by a letter may be entered. The letter represents the variable name of a parameter in the PARAMETERS section.

For example, one of the lines might be: (X#A) Which means, "X followed by the number entered for parameter A." For example, if the user entered 3.5 for parameter A, the resulting G-code would be

X3.5;

Remember, the #letter combination can be used anywhere a number would be used; this means in expressions, as well as with simple codes. For example, (X [#A - #B]) is valid, as long as both A and B exist in the PARAMETER section.

NOTE: Be sure to use the parameter formatting attributes to make sure the G- code that is produced is valid. For example, T101.; is not a valid G-code, because of the decimal point. So if a line in the G-code section reads (T#E), then parameter E must have the NO_DECIMAL attribute set.

385

June 2001 OPTIONS

96-8500 rev C

O MPERATORS ANUAL

EXAMPLE PROGRAM

Below is an example of a simple program. This example is a complete O09997 template and is provided to help complete what you have just read.

% O9997 (CATEGORY)

(TEMPLATE) (NAME SQUARE MILLING )

(DIAGRAM) (LINE [0,0] [40,0]) (CENTER LINES) (LINE [0,0] [0,37]) (DATUM [34,31])

(LINE [4,31] [34,31]) (LINE [34,31] [34,3]) (LINE [34,3] [4,3]) (LINE [4,3] [4,31])

(LINE [4,32] [4,34]) (LINE [34,32] [34,34]) (LINE [35,31] [37,31]) (LINE [35,3] [37,3])

(ARROW [16,33] [4,33]) (ARROW [22,33] [34,33]) (ARROW [36,17] [36,31]) (ARROW [36,13] [36,3])

(END DIAGRAM)

(PARAMETERS) (#ToolNo) (NO DECIMAL)

(#WrkOfset) (NO DECIMAL)

(#CuterRad)

(#SpdleRpm ) (NO DECIMAL)

(#DpthCut)

(#XDist) (POSITION [17,34])

(#YDist) (POSITION [35,16])

386

June 2001 OPTIONS

96-8500 rev C

O MPERATORS ANUAL

(#Feedrate)

(END PARAMETERS)

(GCODE) (T#ToolNo M06) (G00 G90 G#WrkOfset X[#CuterRad+.1] Y[#CuterRad+.1]) (S#SpdleRpm M03) (G43 H#ToolNo Z1. M08) (G01 Z-#DpthCut F50.) (G01 G41 D#ToolNo X0) (G01 Y-#YDist F#Feedrate) (G01 X-#XDist) (G01 Y0) (G01 X[0+#CuterRad+.1]) (G01 G40 Y[#CuterRad+.1]) (G00 Z1. M09) (G28 G91 Z0 M05) (M30)

(END GCODE)

(END TEMPLATE)

(END CATEGORY) %

387

OPTIONSJune 2001 O MPERATORS ANUAL

96-8500 rev C

11.2 ADVANCED EDITOR

The HAAS Advanced Editor gives the user the ability to view and edit two CNC programs at a time. This makes it easier to modify existing programs and to create new ones. The editor has an 80 column display, and includes pull-down menus that allow the user to access the features of the editor. Additionally, a context- sensitive help function is available to provide information on all of the editors features.

The following terms are used throughout this addendum to describe the advanced editor:

CURRENT PROGRAM The program that is expected to be run from MEM mode.

ACTIVE PROGRAM The program that is altered by user input.

INACTIVE PROGRAM The program opposite the active program in the editor.

CONTEXT-SENSITIVE HELP A help function that provides information based on what the user is currently doing.

PULL-DOWN MENUS Menus accessed, or pulled down, via the menu bar at the top left side of the screen. Only one menu can be accessed at any one time. When a menu is pulled down, by pressing F1, menu items appear that can be scrolled through and selected.

HOT KEY A key that, when pressed, will immediately execute an editor menu item.

The 80 column advanced editor is entered by pressing the EDIT key. A 40 column editor can be accessed by pressing the PRGRM/CONVRS key. Another press of PRGRM/CONVRS will place the user into the Quick Code display. The Quick Code application can also be accessed from within the F1:HELP pull-down menu. A third press of the PRGRM/CONVRS key will access the advanced editor. The user can alternate between the advanced editor, the 40 column editor, and Quick Code with successive presses of the PRGRM/CONVRS key.

The 80 column advanced editor and the 40 column editor use the same simple edit (Insert, Alter, Delete, Undo) functions. Pressing the F1 key activates a pull-down menu in the advanced editor, which appears descending from the menu bar.

Whenever the pull-down menu system is active, the current menu is pulled down and one item is highlighted. The user can then use the jog handle to scroll through the menu items. The user can also use the up and down arrow keys to scroll through the items of that menu, or use the left and right arrow keys to open other menus.

When a menu item is highlighted, the user can see a brief description of it in the lower right hand corner. This displays context-sensitive help, which describes what that menu item does. The context-sensitive help ex- plains any prompts that may appear, what keys are available for action, and what the hot key (if one exists) is for that menu item.

The UNDO key is used to deactivate the pull-down menu system. Pressing RESET will also deactivate the pull- down menu, but UNDO is preferred. If UNDO is pressed after invoking an executing function from a pull-down menu, it will abort that function. A context-sensitive help session can also be ended by pressing the UNDO key. This will return the user to the active program.

The EDIT key can be used to switch, left or right, between two programs that have been selected to edit.

388

OPTIONS June 2001 O MPERATORS ANUAL

96-8500 rev C

Pressing the F4 key will open another copy of the current program in the Advanced Editor. The user can quickly edit two different locations in the same program by pressing F4, moving to the second location, and then using the EDIT key to move back and forth between the two locations. If the user enters Onnnnn and then presses F4, program Onnnnn is opened in the inactive window.

The following figure illustrates the layout of the advanced editor.

Key Help

PROGRAM (EDIT)

Active Edit Display

Context sensitive help

Inactive Edit Display

Onnnnn

Onnnnn

PROGRAM EDIT SEARCH MODIFY I/O HELP

F1 KEY TURNS MENU ON / OFFMode Menu bar

Messages Input Alarm Messages

The advanced editor screen layout.

The advanced editor screen is divided into the following areas:

Mode and Control Status - contain the Current Display page, Operating mode and Control status.

Messages - where control status messages are displayed. This area is used to display prompts for user input in the advanced editor, and any alarm messages.

Input - where the users input is displayed.

Menu Bar - contains the pull-down menu banner.

Key Help - contains short immediate help messages. Shows the user the most important keys that can be used in the current context or operation.

Left/Right Side Display - shows the active and inactive programs. When first entering the editor, the current program will be displayed on the left side and the right side will be blank. These areas can display another program or display program lists and help pages, when the appropriate menu item is selected from the pull-down menu.

Context-Sensitive Help - where context-sensitive help is displayed when you cursor onto a menu item.

389

OPTIONSJune 2001 O MPERATORS ANUAL

96-8500 rev C

ADVANCED EDITOR FEATURES

This section briefly describes each feature of the advanced editor, each item found in the pull-down menus, and any prompts that might appear.

CONTEXT SENSITIVE HELP (The F1 key)

While in the advanced editor, press the F1 key to get into the menus, use the arrow keys or the jog handle to highlight the menu item. The help text for that item will appear in the lower right corner of the screen. PAGE UP and PAGE DOWN keys are used to view the help text. Press UNDO to go back to the menu, or RESET to exit the menus entirely.

THE PROGRAM MENU

The PROGRAM menu items.

CREATE NEW PROGRAM

This menu item will create a new program, providing there is room in the program directory and enough memory is available. Enter a program name (Onnnnn) in the range of 0 through 99999 that is not already in the program directory.

SELECT PROGRAM FROM LIST

The HAAS control maintains a directory of programs that the user can select. Select this menu item to edit a program that exists in the directory.

When this menu item is selected, a list of programs is presented for viewing. Scroll through the list by using the cursor keys or the jog handle. Pressing the ENTER or SELECT PROG key will select the program that is highlighted and will replace the selection list with the selected program. The selected program is now active, and the previously active program will appear on the inactive edit screen.

Program size and memory usage appear at the bottom of the display.

SELECT PROG is the hot key for this item.

DUPLICATE ACTIVE PROGRAM

This menu item will create a new program, copy the contents of the current program into it, rename it as specified, and make it the active program.

ENTER NEW PROGRAM NUMBER: If no program code is present on the input line when this menu item is invoked, this prompt will appear. Enter a valid program number (Onnnnn), then press the ENTER key. Only numeric inputs will be accepted.

390

OPTIONS June 2001 O MPERATORS ANUAL

96-8500 rev C

DELETE PROGRAM FROM LIST

This menu item will delete a program from the program directory. A list of all programs is presented, with ALL at the end.

To delete a single program, cursor to the program number and press the ENTER key. A prompt will ask for a confirmation of the deletion operation. Enter Y to delete the highlighted program. If any other key is pressed, the program will not be deleted. After a program is deleted, the list of programs will again be presented.

To delete all programs, cursor to ALL and press ENTER. Confirm deletion of all programs by pressing Y. When all programs are deleted, program O0000 is created, and it is made the active program.

Program size and memory usage are displayed at the bottom of the screen. Press UNDO to exit this menu item and return to the active program.

ERASE PROG is the hot key for this menu item.

SWITCH TO LEFT OR RIGHT SIDE

This will switch left and right between the two programs, to make the active program inactive and the inactive program active. If there is no inactive program, then nothing happens. There are only two possible displays: one on the left and one on the right. The inactive display is used when a second program is selected or created.

The EDIT key is the hot key for this item.

THE EDIT MENU

The EDIT menu items.

UNDO

The last insert, delete, or alter (simple edit) operation will be undone. Pressing UNDO again will restore the previous editing operation, up to the last 9 editing operations. If a block has been selected, choosing this item will simply exit block select mode without undoing anything.

UNDO is the hot key for this item.

391

OPTIONSJune 2001 O MPERATORS ANUAL

96-8500 rev C

SELECT TEXT

This item will set the start point of the block selection. To set the end point, scroll up or down to the desired place, and press the F2 or ENTER key. The selected block will then be highlighted. To deselect the block, press UNDO. This function works the same as in the 40 column editor, except this menu option is used to start selecting text, instead of the F1 key. Either the ENTER or F2 key can be used to end the selection. The following prompt will appear when this item is selected:

SCROLL UP/DOWN, PRESS ENTER OR F2 (to complete the text selection)

MOVE SELECTED TEXT

All selected text will be moved to the line following the cursor arrow position.

ALTER is the hot key for this menu item

COPY SELECTED TEXT

All selected text will be copied to the line following the cursor arrow position.

INSERT is the hot key for this menu item

DELETE SELECTED TEXT

This item deletes any selected block. If no block is selected, the currently highlighted item is deleted. This function works the same as in the 40 cloumn editor, except that if the cursor is in the middle of a comment (between parentheses), it will delete the entire comment instead of just the highlighted character. The UNDO key will restore any deleted comment or individual commands, but will not restore any blocks of code that were deleted. The DELETE key deletes individual characters from comments and is the hot key for this menu item.

DELETE is the hot key for this menu item.

CUT SELECTION TO CLIPBOARD

All selected text will be moved from the current program to a new program called the clipboard. Any previous contents of the clipboard are deleted. The program number (8998) for the clipboard is specified by Parameter 226 and can be altered, if necessary.

COPY SELECTION TO CLIPBOARD

All selected text will be copied from the current program to a new program called the clipboard. Any previous contents of the clipboard are deleted. The program number (8998) for the clipboard is specified by Parameter 226 and can be altered, if necessary.

PASTE FROM CLIPBOARD

The contents of the clipboard are copied into the current program at the line following the current cursor position.

392

OPTIONS June 2001 O MPERATORS ANUAL

96-8500 rev C

THE SEARCH MENU

The SEARCH menu items.

FIND TEXT

This menu item will search for one or more G-Code items in the current program. The search can be performed in either the forward or backward direction from the current cursor location. If the item is found, the cursor will be positioned on it. The following prompts will appear when this menu item is selected:

ENTER TEXT/ITEM TO SEARCH FOR: Type in one or more G-code items, a single address code character, or a comment to be searched for. Press the ENTER key to enter this input. If a full G-Code item is specified, only items that exactly match will be found. If a single address code character is specified, the next matching address code will be found, regardless of the numeric value associated with it. And finally, if a comment is specified, the next comment that contain the block of code specified will be found.

FORWARD OR BACKWARD (F/B) ? Type in either F or B; all other input will be ignored. Entering F will commence the search for the specified G-code item in the forward direction. Entering B will commence the search in the backward direction; i.e. it will find the previous occurrence of the specified Code.

FIND AGAIN

This menu item will search the current program for the last block of code that was searched for. It will begin to search at the current cursor location, in the direction that was specified in the previous search. This function will search both selected and unselected blocks.

FIND AND REPLACE TEXT

This menu item will search the current program for one or more occurrences of a specified G-Code item and optionally replace each (or all) with another G-Code item. The search can be performed in either the forward or backward direction from the current cursor location. As each G-Code item is found, the cursor will be posi- tioned on it, and a prompt will ask whether to replace the item, continue the search, both, or neither. This function affects both selected and unselected blocks. The following prompts will appear when this item is selected:

ENTER TEXT/ITEM TO SEARCH FOR: Enter either one or more G-code items, a single letter address code character, or a comment. Press the ENTER key to enter the input. If one or more G-code items are specified, only the items that exactly match will be found. If a single letter address code character is specified, all matching address codes will be found, regardless of their associated numeric value. And finally, if a comment is specified, all comments that contain the specified text will be found.

ENTER REPLACEMENT TEXT/ITEM: Enter one or more G-code items that will replace each occurrence of the G-Code item(s) found. If nothing is entered at this prompt, all occurrences of the G code items found will be deleted, upon verification.

FORWARD OR BACKWARD (F/B) ? Enter either an F or a B ; all other inputs will be ignored. Entering F will commence the search for the specified G-code item in the forward direction. Entering B will commence the search in the backward direction.

393

OPTIONSJune 2001 O MPERATORS ANUAL

96-8500 rev C

REPLACE (YES/NO/ALL/CANCEL) ? As each G-Code item is found, the cursor will be positioned on it, and this prompt will appear. Typing in a Y (for Yes) will replace the item, and continue the search in the specified direction. Typing an N (for No) will not replace the item, but will continue the search in the specified direction. Typing an A (for All) will replace all occurrences of the item with the replacement text, and end the search process. Pressing any key while the editor is replacing all will abort the process. Typing a C (for Cancel) will abort the search process.

THE MODIFY MENU

The MODIFY menu items.

REMOVE ALL LINE NUMBERS

This menu item will automatically remove all unreferenced N-Codes from the edited program. If a block is selected, only the G-Code blocks contained within it will be affected.

RENUMBER ALL LINES

This menu item will either renumber all selected blocks in the program or, if a block is selected, renumber only those G-Code blocks contained in that block. Below are the prompts that may be encountered while in this item, with a brief explanation of each:

ENTER STARTING N-CODE NUMBER: Type in the starting N-Code number, then press the ENTER key to enter the number. The maximum value accepted is 99999. Any non-numeric input will be ignored.

ENTER N-CODE INCREMENT: Type in the desired numeric difference between consecutive N-Codes, then press the ENTER key to enter the number.

RESOLVE OUTSIDE REFERENCES (Y/N) ? This prompt will appear only if a selected block was defined prior to execution of this menu item. Entering a Y (for Yes) will cause G-Code items outside of the selected block that refer to N-Codes inside the block (such as a GOTO) to be changed to reference the new N-Codes correctly. If an N (for No) is entered, G-Code references that exist outside the selected block will not be changed.

RENUMBER BY TOOL

Searches selected text, or the entire program, for T codes and renumbers program blocks grouped by T code. The following prompts will appear when this item is selected:

ENTER STARTING N-CODE NUMBER: This prompt will appear when a T code is found. Blocks of code will be renumbered, starting with the code entered here, until the next T code is found.

ENTER N-CODE INCREMENT: Each block that is renumbered is incremented by the amount entered here.

394

OPTIONS June 2001 O MPERATORS ANUAL

96-8500 rev C

REVERSE + & - SIGNS

This menu item will reverse the signs of all numeric values associated with one or more address codes in the program. If a certain block is selected, only the address codes in the selected block will be affected. The following prompt will appear when this item is selected:

ENTER ADDRESS CODE(S) TO CHANGE: Type in the valid address code characters whose associated values in the program are to have their signs reversed. They can be entered in any order, but duplicate entries will be ignored. Entries that dont make sense in the context of reversing signs, such as the G character, will also be ignored.

REVERSE X & Y

When this menu item is selected, all X address codes in the program will be changed to Y address codes, and Ys to X. If a block is selected, only the address codes contained within it will be affected.

THE I/O MENU

DISK

DISK

DISK

The I/O menu items.

SEND RS232

This menu will send program(s) that are selected from the program directory to the RS-232 port. When this menu item is selected, a list of all the programs in memory is presented, with ALL at the end.

To select a program, cursor to the program number and press the INSERT key. A highlighted space will appear before the program to indicate it has been selected. Pressing INSERT again will deselect the program, and the highlighted space will disappear. The DELETE key can be used to deselect all selected programs. When the cursor is on ALL, all the programs are selected regardless of highlighting

To send the selected program(s), press the ENTER key. If more than one program or ALL is selected, the data will be sent with one % at the beginning of the stream and one at the end.

When in the Advanced Editor, the SEND RS232 button activates the menu system and highlights the Send RS232 option.

RECEIVE RS-232

This menu item will receive program(s) from the RS-232 serial port. The program(s) will then be stored in the CNC memory with the corresponding Onnnnn program number(s).

On LISTPROG ALL must first be highlighted before using this menu item. The Onnnnn program numbers will be entered automatically from the input stream data. Note, ALL must be reselected on the LIST PROG screen after each file transfer.

395

OPTIONSJune 2001 O MPERATORS ANUAL

96-8500 rev C

SEND DISK

This menu item will send program(s) to the disk. When this menu item is selected, a list of all the programs in memory is presented, with ALL at the end.

To select a program, cursor to the program number and press the INSERT key. A highlighted space will apear before the program to indicate it has been selected. Pressing INSERT again will deselect the program, and the highlighted space will disappear. The DELETE key can be used to deselect all selected programs. When the cursor is on ALL, all programs are selected regardless of highlighting.

ENTER DISK FILENAME: Type in the desired disk filename (in standard PC DOS format) for the disk file being sent, then press the ENTER key. If more than one program or ALL is selected, the data will be sent with one % at the beginning of the stream and one at the end. If a filename is not entered, the controller will send each selected file separately using the Onnnnn program number as the filename.

RECEIVE DISK

This menu item will receive programs from the disk. The program(s) will then be stored in the CNC memory with the corresponding Onnnnn program number(s).

ENTER DISK FILENAME: Type in the filename (in standard PC DOS format) of the disk file being received, then press the ENTER key.

DISK DIRECTORY

This menu item will display the directory of the disk, with the first entry highlighted. To select a file, press the up and down arrow buttons or use the jog handle. To load a file, select it and press the WRITE key. The G- code programs in the file will be loaded into memory.

If there is insufficient memory for the entire file, Alarm 429 will be generated, and only a partial directory will be displayed.

THE F1:HELP MENU

The F1:HELP menu items.

HOW TO USE THE EDITOR

The on-line help is displayed whenever a menu is accessed. The help manual gives a brief description of the editor and its features. The up and down arrows and the jog handle control the menus, and the Page Up, Page Down Home and End keys are used to scroll through the help display. In addition, if the F1 key is pressed during the use of one of the menu options, the help is likewise displayed. Pressing F1 again will exit the help display. Pressing the UNDO key returns to the active program.

QUICK CODE

Selecting this menu item will place Quick Code on the inactive side of the editor. All Quick Code functions are now available to the user. Refer to the Operators Manual for a full description of Quick Code. Pressing the EDIT key will exit Quick Code.

396

OPTIONS June 2001 O MPERATORS ANUAL

96-8500 rev C

SELECT PROG

F2

EDIT

F4

INSERT

ALTER

DELETE

UNDO

SEND RS232

RECV RS232

ERASE PROG

ADVANCED EDITOR SHORTCUTS

Pressing these keys, when in the Advanced Editor display, will quickly get you to these menu items without having to press the F1 key and cursoring to that selection.

HOT KEYS DESCRIPTION OF HOT KEY

Will quickly bring up the program list on the inactive side of edit display to SELECT PROGRAM FROM LIST.

This key will begin to SELECT TEXT and define the starting line of a block to be edited. Scroll down to the last line in the block definition, and press the F2 or WRITE key. The selected block of text will then be highlighted.

This key can be used to SWITCH TO LEFT OR RIGHT SIDE between two programs that have been selected to edit.

Pressing F4 will open another copy of the same program on the other side of the Advanced Editor display. The user can quickly edit two different locations in the same program. The edit key will switch you back and forth and update between the two programs.

If you enter the program number (Onnnn) and then press F4 or the arrow down key, that program will be brought up on the other side of the Advanced Editor.

INSERT can be used to COPY SELECTED TEXT in a program to the line after where you place the cursor arrow point.

ALTER can be used to MOVE SELECTED TEXT in a program to the line after where you place the cursor arrow point.

DELETE can be used to DELETE SELECTED TEXT in a program.

If a block has been selected, pressing UNDO will simply exit a block definition.

Pressing the SEND RS-232 key will activate that I/O menu selection.

Pressing RECV RS-232 key will activate that I/O menu selection.

Pressing the ERASE PROG key will activate that I/O menu selection. This will bring up program list on the inactive side of edit display for you to cursor to a program and delete it.

OPTIONS

397

O MPERATORS ANUAL

96-8500 rev C

June 2001

11.3 MACROS

INTRODUCTION

This control function is optional. If you would like further information on installing this feature please call Haas Automation or your dealer for more information.

This is an introduction to macros as implemented on the HAAS CNC controls. MACROS adds capabilities and flexibility to standard G-code programming that allow the programmer to better define a tool path in a quicker and more natural way. With few exceptions, MACROS, as implemented on the HAAS controls, is compatible with FANUC 10M and 15M controls. Macro features not included in the current release are listed at the end of this section. Programmers already familiar with macro programming will want to review this section in order to avoid unnecessary work.

In traditional CNC programming, a program consists of subroutines that CANNOT be changed or altered except by editing individual values with an editor. MACROS allows the capability to program subroutines where the tool path or location of the tool path is changed, depending on the values contained within variables set by the programmer. These variables can be passed to the subroutine as parameters, or the values can reside in what are called global variables.

What this all means is that a programmer can create a collection of subroutines that have been fully debugged. These programs can be used as high level tools that can enhance programmer and machinist productivity. MACROS is not intended to replace modern CAD/CAM software, but it can and has improved machine produc- tivity for those who use it.

Here are a few examples of the applications for MACROS. Rather than give macro code here, we will outline the general applications that MACROS can be used for.

Tools For Immediate, On-Table Fixturing

Many setup procedures can be semi-automated to assist the machinist. Tools can be reserved for immediate situations that were not anticipated during tool design. For instance, suppose a company uses a standard clamp with a standard bolt hole pattern. If it is discovered, after setup, that a fixture will need an additional clamp and if macro subroutine 2000 has been programmed for drilling the bolt pattern of the clamp, then the following two-step procedure is all that is needed for adding the clamp to the fixture.

1. Determine X, Y, and Z coordinates and angle where the clamp is to be placed by jogging the machine to the proposed clamp position and reading the position coordinates from the machine display.

2. Execute the following command in MDI mode: G65 P2000 X??? Y??? Z??? A??? ; where ??? are the values determined in Step 1.

Here, macro 2000 (not shown) takes care of all the work since it was designed to drill the clamp bolt hole pattern at the specified angle of A. Essentially, the machinist has created his own custom canned cycle.

OPTIONS

398

O MPERATORS ANUAL

96-8500 rev C

June 2001

Simple Patterns That Are Repeated Over And Over Again In The Shop

Patterns that recur over and over again can be parameterized and kept around for easy, immediate use. For example:

1. Bolt hole patterns.

2. Slotting.

3. Angular patterns, 5 holes at 30 degrees 1 inch apart.

4. Specialty milling such as soft jaws.

5. Matrix Patterns, 12 across and 15 down.

6. Flycutting a surface, 12 inches by 5 inches using a 3 inch fly cutter.

Automatic Offset Setting Based On The Program

With macros, coordinate offsets can be set in each program so that setup procedures become easier and less error-prone.

Probing

Probing enhances the capabilities of the machine in many ways. Below is just a hint of the possibilities.

1. Profiling of a part to determine unknown dimensions for later machining.

2. Tool calibration for offset and wear values.

3. Inspection prior to machining to determine material allowance on castings.

4. Inspection after machining to determine parallelism and flatness values as well as location.

Macros allow less experienced personnel to operate the machine. Conditions can be detected and custom operator messages or alarms can be displayed on the console to notify the operator.

OPTIONS

399

O MPERATORS ANUAL

96-8500 rev C

June 2001

MACRO SUBROUTINE CALL (G65)

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

[N#####] G65 P##### [L####] [arguments] ;

Anything enclosed in brackets is optional. This should not be confused with expression brackets that are explained below. The G65 command requires a P address parameter corresponding to any program number currently in memory. When the optional L address is used the macro call is repeated the specified number of times.

In Example 1, subroutine 1000 is called once with no parameters passed to the routine. G65 calls are similar to, but not the same as, M98 calls. Up to four G65 calls can be made at the same time, (Nesting four deep).

Example 1: G65 P1000 ; (Call subroutine 1000 as a macro) M30 ; (Program stop) O1000 ; (Macro Subroutine) ... M99 ; (Return from Macro Subroutine)

In Example 2, subroutine 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 subroutine is called.

Example 2: G00 G90 X1.0 Y1.0 Z.05 S1000 M03 ; (Position tool) G65 P9010 X.5 Y.25 Z.05 F10. T10 ; (Call 9010) G28 M30 ; O9010 ; (Diagonal hole pattern) F#9 ; (F=Feed rate) 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)

OPTIONS

400

O MPERATORS ANUAL

96-8500 rev C

June 2001

ALIASING

Aliasing is a means of assigning a G code to a G65 P##### sequence. For instance, in Example 2 it would be easier if one could write:

G06 X.5 Y.25 Z.05 F10. T10 ;

Here, we have substituted an unused G code, G06 for G65 P9010. In order for the above block to work we must set the parameter associated with subroutine 9010 to 06 ( Parameter 91).

Note that G00, G65, G66, and G67 can not be aliased. All other codes between 1 and 255 can be used for aliasing.

Program numbers 9010 through 9019 are reserved for G code aliasing. The following table lists which HAAS parameters are reserved for macro subroutine aliasing.

retemaraPsaaH edoCO

19 29 39 49 59 69 79 89 99 001

0109 1109 2109 3109 4109 5109 6109 7109 8109 9109

Setting an aliasing parameter to 0 disables aliasing for the associated subroutine. If an aliasing parameter is set to a G-code and the associated subroutine is not in memory, then an alarm will be given.

OPTIONS

401

O MPERATORS ANUAL

96-8500 rev C

June 2001

MACRO ARGUMENTS

The arguments in a G65 statement are a means of sending values to and setting the local variables of a called macro subroutine.

In Example 2 above, the arguments X and Y are passed to the macro subroutine local variables. Local variable #24 is associated with X and is set to 0.5. Similarly, Local variable #25 is associated with Y and is set to 0.25.

The following two tables indicate the mapping of the alphabetic address variables to the numeric variables used in a macro subroutine.

Alphabetic Addressing

:sserddA :elbairaV

A 1

B 2

C 3

D 7

E 8

F 9

G -

H 11

I 4

J 5

K 6

L -

M 31

:sserddA :elbairaV

N -

O -

P -

Q 71

R 81

S 91

T 02

U 12

V 22

W 32

X 42

Y 52

Z 62

Alternate Alphabetic Addressing

:sserddA :elbairaV

A 1

B 2

C 3

I 4

J 5

K 6

I 7

J 8

K 9

I 01

J 11

:sserddA :elbairaV

K 21

I 31

J 41

K 51

I 61

J 71

K 81

I 91

J 02

K 12

I 22

:sserddA :elbairaV

J 32

K 42

I 52

J 62

K 72

I 82

J 92

K 03

I 13

J 23

K 33

Arguments accept any floating point value to four decimal places. If you are in metric, the control will assume thousandths (.000). In Example 3 below, local variable #7 will receive .0004.

If a decimal is not included in an argument value, such as:

G65 P9910 A1 B2 C3

The values are passed to macro subroutines according to the following table:

Integer Argument Passing (no decimal point)

:sserddA :elbairaV

A 100.

B 100.

C 100.

D .1

E .1

F .1

G -

H .1

I 1000.

J 1000.

K 1000.

L .1

M .1

:sserddA :elbairaV

N -

O -

P -

Q 1000.

R 1000.

S .1

T .1

U 1000.

V 1000.

W 1000.

X 1000.

Y 1000.

Z 1000.

All 33 local macro variables can be assigned values with arguments by using the alternate addressing method. The following example shows how one could send two sets of coordinate locations to a macro subroutine. Local variables #4 through #9 would be set to .0001 through .0006 respectively.

OPTIONS

402

O MPERATORS ANUAL

96-8500 rev C

June 2001

Example 3: G65 P2000 I1 J2 K3 I4 J5 K6 ;

The following letters cannot be used to pass parameters to a macro subroutine: G, L, N, O or P.

MACRO CONSTANTS

Constants are floating point values placed in a macro expression. They can be combined with addresses A...Z or they can stand alone when used within an expression. Examples of constants are .0001, 5.3 or -10.

MACRO VARIABLES

There are three categories of macro variables: system variables, global variables, and local variables.

Variable Usage

All variables are referenced with a number sign (#) followed by a positive number. Examples are: #1, #101, and #501.

Variables are decimal values that are represented as floating point numbers. If a variable has never been used, it can take on a special undefined value. This indicates that it has not been used. A variable can be set to undefined with the special variable #0. #0 has the value of undefined or 0.0 depending on the context it is used in. More about this later. Indirect references to variables can be accomplished by enclosing the variable number in brackets.

#[ ]

The expression is evaluated and the result becomes the variable accessed. For example:

#1=3; #[#1]=3.5 + #1;

This sets the variable #3 to the value 6.5.

Variables can be used in place of G-code address constants where address refers to the letters A..Z. In the block

N1 G0 G90 X1.0 Y0 ;

the variables can be set to the following values:

#7=0; #11=90; #1=1.0; #2=0.0;

and the block replaced by:

N1 G#7 G#11 X#1 Y#2 ;

The values in the variables at runtime are used as the address values.

OPTIONS

403

O MPERATORS ANUAL

96-8500 rev C

June 2001

Local Variables

Local variables range between #1 and #33. A set of local variables is available at all times. When a call to a subroutine with a G65 command is executed, the local variables are saved and a new set is available for use. This is called nesting of the local variables. During a G65 call, all of the new local variables are cleared to undefined values and any local variables that have corresponding address variables in the G65 line are set to the G65 line values. Below is a table of the local variables along with the address variable arguments that change them.

Local Variables and Corresponding Address

:elbairaV :sserddA :etanretlA

1 A

2 B

3 C

4 I

5 J

6 K

7 D I

8 E J

9 F K

01

I

11 H J

:elbairaV :sserddA :etanretlA

21

K

31 M I

41

J

51

K

61

I

71 Q J

81 R K

91 S I

02 T J

12 U K

22 V I

:elbairaV :sserddA :etanretlA

32 W J

42 X K

52 Y I

62 Z J

72

K

82

I

92

J

03

K

13

I

23

J

33

K

Note that variables 10, 12, 14..16 and 27..33 do not have corresponding address arguments. They can be set if a sufficient number of I, J and K arguments are used as indicated above in the section about arguments.

Once in the macro subroutine, the local variables can be read and modified by referencing the variable numbers 1..33.

When the L argument is used to do multiple repetitions of a macro subroutine, the arguments are set only on the first repetition. This means that if local variables 1..33 are modified in the first repetition, then the next repetition will have access only to the modified values. Local values are retained from repetition to repetition when the L address is greater than 1.

Calling a subroutine via an M97 or M98 does not nest the local variables. Any local variables referenced in a subroutine called by an M98 are the same variables and values that existed prior to the M97 or M98 call.

Global Variables

Global variables are variables that are accessible at all times. There is only one copy of each global variable. Global variables occur in two ranges: 100..199 and 500..599. The global variables remain in memory when power is turned off. They are not cleared as in the FANUC controls.

System Variables

System variables give the programmer the ability to interact with a variety of control parameters and settings. By setting a system variable, the function of the control can be modified or altered. By reading a system variable, a program can modify its behavior based on the value in the variable. Some system variables have a READ ONLY status. This means that they can not be modified by the programmer. A brief table of currently implemented system variables follows with an explanation of their use.

OPTIONS

404

O MPERATORS ANUAL

96-8500 rev C

June 2001

VARIABLES USAGE

#0 Not a number (read only) #1-#33 Macro call arguments #100-#199 General purpose variables saved on power off #500-#699 General purpose variables saved on power off #700-#749 Hidden variable for internal use only #800-#999 General purpose variables saved on power off #1000-#1063 64 discrete inputs (read only) #1080-#1087 Raw analog to digital inputs (read only) #1090-#1098 Filtered analog to digital inputs (read only) #1094 Spindle load with OEM spindle drive (read only) #1098 Spindle load with Haas vector drive (read only) #1100-#1139 40 discrete outputs #1140-#1155 16 extra relay outputs via multiplexed output #2001-#2199 Tool length offsets #2201-#2399 Tool length wear #2401-#2599 Tool diameter/radius offsets #2601-#2799 Tool diameter/radius wear #3000 Programmable alarm #3001 Millisecond timer #3002 Hour timer #3003 Single block suppression #3004 Override control #3006 Programmable stop with message #3011 Year, month,day #3012 Hour, minute, second #3020 Power on timer (read only) #3021 Cycle start timer (read only) #3022 Feed timer (read only) #3023 Present part timer (read only) #3024 Last complete part timer (read only) #3025 Previous part timer (read only) #3026 Tool in spindle (read only) #3027 Spindle RPM (read only) #3901 M30 count 1 #3902 M30 count 2 #4001-#4021 Previous block group codes #4101-#4126 Previous block address codes

NOTE: Mapping of 4101 to 4126 is the same as the alphabetic addressing of Macro Arguments section; e.g. the statement x1.3 sets variable #4124 to 1.3.

OPTIONS

405

O MPERATORS ANUAL

96-8500 rev C

June 2001

#5001-#5005 Previous block end position #5021-#5025 Present machine coordinate position #5041-#5045 Present work coordinate postion #5061-#5064 Present skip signal position #5081-#5085 Present tool offset #5201-#5206 Common offset #5221-#5225 G54 work offsets #5241-#5245 G55 work offsets #5261-#5265 G56 work offsets #5281-#5285 G57 work offsets #5301-#5305 G58 work offsets #5321-#5325 G59 work offsets #5401-#5500 Tool feed timers (seconds) #5501-#5600 Total tool timers (seconds) #5601-#5700 Tool life monitor limit #5701-#5800 Tool life monitor counter #5801-#5900 Tool load monitor maximum load sensed so far #5901-#6000 Tool load monitor limit #6001-#6277 Settings (read only) #6501-#6999 Parameters (read only)

NOTE: The low order bits of large values will not appear in the macro cariables for settings and parameters

#7001-#7005 G110 additional work offsets #7021-#7025 G111 additional work offsets #7041-#7045 G112 additional work offsets #7061-#7065 G113 additional work offsets #7081-#7085 G114 additional work offsets #7101-#7105 G115 additional work offsets #7121-#7125 G116 additional work offsets #7141-#7145 G117 additional work offsets #7161-#7165 G118 additional work offsets #7181-#7185 G119 additional work offsets #7201-#7205 G120 additional work offsets #7221-#7225 G121 additional work offsets #7241-#7245 G122 additional work offsets #7261-#7265 G123 additional work offsets #7281-#7285 G124 additional work offsets #7301-#7305 G125 additional work offsets #7321-#7325 G126 additional work offsets #7341-#7345 G127 additional work offsets #7361-#7365 G128 additional work offsets #7381-#7385 G129 additional work offsets

OPTIONS

406

O MPERATORS ANUAL

96-8500 rev C

June 2001

SYSTEM VARIABLES IN-DEPTH

This section fully describes system variables.

1-Bit Discrete Inputs

For a complete description of discrete inputs, refer to the "Technical Reference" section. Inputs designated as "spare" can be connected to external devices and used by the programmer.

#1000-#1020 Reserved for HAAS Controller use. #1021 Spare #1022 Spare #1023 Spare #1024-#1028, 1030, 1031 Reserved for HAAS Controller use. #1029 Skip signal

1-Bit Discrete Outputs

The HAAS control is capable of controlling up to 56 discrete outputs. However, a number of these outputs are already reserved for use by the HAAS controller. The following list shows which outputs are "spare", or can be connected to external devices and used by the programmer, or "reserved" by the control, and cannot be used:

#1100-#1123 Reserved #1124-#1126 Spare #1127 Reserved #1128-#1131 Reserved #1132-#1139 M-code relay option, spare.

CAUTION! Do not use outputs that are reserved by the system. Using these outputs may result in injury or damage to your equipment.

The user can change the state of these outputs by writing to variables designated as "spare". If the outputs are connected to relays, then an assignment of "1" sets the relay. An assignment of "0" clears the relay.

Referencing these outputs will return the current state of the output and this may be the last assigned value or it may be the last state of the output as set by some user M code. For example, after verifying that output #1108 is "spare":

#1108=1; (Turns #1108 relay on) #101=#3001+1000; (101 is 1 second from now) WHILE [[#101 GT #3001] AND [#1109 EQ 0]] D01 END1 (Wait here 1 second or until relay #1109 goes high) #1108=0; (Turns #1108 relay off)

OPTIONS

407

O MPERATORS ANUAL

96-8500 rev C

June 2001

The number of outputs available to the user and where user M codes are mapped is model dependent. If your control is not equipped with the new M-code relay board, then M21 through M28 will be mapped from #1124- #1131. If you have equipment with the M-code relay board installed (Parameter 209 bit MCD RLY BRD is set to 1) then M21 through M28 will be mapped to #1132-#1139.

You should always test or dry run programs that have been developed for macros that is running with new hardware.

Tool Offsets

HAAS macros have been implemented with FANUC control memory C option in mind. This means that each tool offset has a length (H) and radius (D) along with associated wear values.

#2001-#2200 H geometry offsets (1-200) for length. #2200-#2400 H geometry wear (1-200) for length. #2401-#2600 D geometry offsets (1-200) for diameter. #2601-#2800 D geometry wear (1-200) for diameter.

Programmable Messages

#3000 ALARMS can be programmed. A programmable alarm will act just like HAAS internal alarms. An alarm is generated by setting the macro variable #3000 to a number between 1 and 999.

#3000= 15 (MESSAGE PLACED INTO ALARM LIST) ;

When this is done, ALARM flashes in the lower right hand corner of the display and the text in the next com- ment is placed into the alarm list. The alarm number (in this example, 15) is added to 1000 and used as an alarm number. If an alarm is generated in this manner all motion stops and the program must be reset to continue. Programmable alarms can always be identified in alarm history because the alarm numbers range between 1000 and 1999.

The first 34 characters of the comment will be used for the alarm message.

Timers

HAAS macros supports access to two timers. These timers can be set to a value by assigning a number to the respective variable. A program can then later read the variable and determine the time passed since the timer was set. Timers can be used to emulate dwell cycles, determine part to part time or wherever time dependent behavior is desired.

#3001 MILLISECOND TIMER - The millisecond timer is updated every 20 milliseconds and thus activities can be timed with an accuracy of only 20 milliseconds. At POWER ON, the millisecond timer is reset. The timer has a limit of 497 days. The whole number returned after accessing #3001 represents the number of milliseconds.

#3002 HOUR TIMER - The hour timer is similar to the millisecond timer except that the number returned after accessing #3002 is in hours. The hour and millisecond timers are indepen dent of each other and can be set separately.

OPTIONS

408

O MPERATORS ANUAL

96-8500 rev C

June 2001

System Overrides

#3003 Variable 3003 is the Single Block Suppression parameter. It overrides the Single Block function in G-code. In the example below, suppression of Single Block is initiated when #3003 is set equal to 1. After M3003 is set =1, each G-code instruction block (lines 2-4) are executed continuously even though the Single Block function is enabled. When #3003 is set equal to zero, the operator of Single Block will resume as normal. That is, the user must press Cycle Start to initiate each new code block (lines 6-8).

#3003=1; G54 G00 G90 X0 Y0; G81 R0.2 Z-0.1 F20 L0; S2000 M03; #3003=0; T02 M06; G83 R0.2 Z-1 F10. L0; X0. Y0.;

#3004 Variable #3004 is a bitmapped variable that overrides specific control features durin runtime.

The first bit disallows FEED HOLD from the keypad. If you do not want feed hold to be executed during any section of code, then bracket that code with assignments to variable #3004. Assigning "1" to #3004 disables the console's feed hold button. Assigning "0" to #3004 re-enables the FEED HOLD button. For example:

Approach code (FEED HOLD allowed) #3004=1; (Disables FEED HOLD button) Non-stoppable code (FEED HOLD not allowed) #3004=0; (Enables FEED HOLD button) Depart code (FEED HOLD allowed)

The following is a map of variable #3004 bits and the associated overrides. E=Enabled D=Disabled

4003# DLOHDEEF ETARDEEF EDIRREVO

POTSTCAXE KCEHC

0 E E E

1 D E E

2 E D E

3 D D E

4 E E D

5 D E D

6 E D D

7 D D D

Programmable Stop

#3006 Stops can be programmed. A programmable stop acts like an M00. In the following example, when the assignment statement is executed, the first 15 characters of the comment are displayed in the messaging area on the lower left part of the screen above the command input line. The control stops and waits for a cycle start from the operator. Upon cycle start, operation continues with the next block after the assignment statement.

OPTIONS

409

O MPERATORS ANUAL

96-8500 rev C

June 2001

IF [#1 EQ #0] THEN #3006=101(ARG.A REQUIRED);

Last Block (MODAL) Group Codes

#4001-#4021 The grouping of G codes permits more efficient processing. G codes with similar functions are usually under the same group. For instance, G90 and G91 are under group 3. Vari ables have been set aside to store the last or default G code issued for any of 21 groups. By reading the group code, a macro program can change its behavior based on the contents of the group code. If 4003 contains 91, then a macro program could determine that all moves should be incremental rather than absolute. There is no associated variable for group zero, group zero G codes are NON-modal.

Last Block (MODAL) Address Data

#4101-#4126 Address codes A..Z (excluding G) are also maintained as modal values. The modal information represented by the last block interpreted by the lookahead process is con tained in variables 4101 through 4126. The numeric mapping of variable numbers to alphabetic addresses corresponds to the mapping under alphabetic addresses. For instance, the value of the previously interpreted D address is found in #4107 and the last interpreted I value is #4104.

Last Target Position

#5001-#5005 The final programmed point, target position, for the most recent motion block can be accessed through variables #5001-#5005, X, Y, Z, A, and B, respectively. Values are given in the current work coordinate system and can be used while the machine is in motion.

Current Machine Coord Position

#5021-#5025 The current position in machine coordinates can be obtained through #5021-#5025, X, Y, Z, A, and B, respectively. The values CANNOT be read while the machine is in motion. #5023 (Z) represents the value after tool length compensation has been applied.

Current Work Coord Position

#5041-#5045 The current position in the current work coordinates can be obtained through #5041- 5045, X, Y, Z, A, and B, respectively. The values can NOT be read while the machine is in motion. #5043 (Z) represents the value after tool length compensation has been applied.

Current Skip Signal Position

#5061-#5065 The position where the last skip signal was triggered can be obtained through #5061- #5065, X, Y, Z, A, and B, respectively. Values are given in the current work coordinate system and can be used while the machine is in motion. #5063 (Z) represents the value after tool length compensation has been applied.

Tool Length Compensation

#5081-#5085 The current total tool length compensation that is being applied to the tool is returned. This includes tool length offset referenced by the current modal value set in H (#4008) plus the wear value.

OPTIONS

410

O MPERATORS ANUAL

96-8500 rev C

June 2001

Offsets

All tool work offsets can be read and set within a macro expression. This allows the programmer to preset coordinates to approximate locations, or to set coordinates to values based upon the results of skip signal locations and calculations. When any of the offsets are read, the interpretation lookahead queue is stopped until that block is executed.

#5201-#5205 G52 X, Y, Z, A, B OFFSET VALUES #5221-#5225 G54 #5241-#5245 G55 #5261-#5265 G56 #5281-#5285 G57 #5301-#5305 G58 #5321-#5325 G59 #7001-#7005 G110 X, Y, Z, A, B OFFSET VALUES #7381-#7385 G129 X, Y, Z, A, B OFFSET VALUES

ADDRESS CONSTANT SUBSTITUTION

The usual method of setting control addresses A..Z is by appending a constant to the address. For instance,

G01 X1.5 Y3.7 F20. ;

sets addresses G, X, Y and F to 1, 1.5, 3.7 and 20.0 respectively and thus instructs the control to move linearly, G01, to position X=1.5 Y=3.7 at a feed rate of 20 inches per minute. Macro syntax allows the con- stants to be replaced with any variable or expression in any section of code (i.e., you do not have to be in a macro subroutine).

The previous statement can be replaced by the following code: #1=1; #2=.5; #3=3.7; #4=20; G#1 X[#1+#2] Y#3 F#4 ;

The permissible syntax on addresses A..Z (exclude N or O) is as follows:

<-> A-#101
[ ] Y[#5041+3.5]
<->[ ] Z-[SIN[#1]]

If the value of the variable does not agree with the range of the address, then the usual control alarm will result. For instance, the following code would result in a range error alarm because tool diameter numbers range from 0..50.

#1=75; D#1;

When a variable or expression is used in place of an address constant, then the floating point value is rounded to the least significant digit. If #1=.123456, then G1X#1 would move the machine tool to .1235 on the X axis. If the control is in the metric mode, the machine would be moved to .123 on the X axis.

OPTIONS

411

O MPERATORS ANUAL

96-8500 rev C

June 2001

When an UNDEFINED variable is used to replace an address constant, then that address reference is ignored. For example, if #1 is undefined then the block

G00 X1.0 Y#1 ;

becomes G00 X1.0.

No Y movement takes place.

MACRO STATEMENTS

Macro statements are lines of code that allow the programmer to manipulate the control with features similar to any standard programming language. Included are functions, operators, conditional and arithmetic expressions, assignment statements, and control statements.

Functions and operators are used in expressions to modify variables or values. The operators are essential to expressions while functions make the programmer's job easier.

Functions

Functions are built-in routines that the programmer has available to use. All functions have the form [argument] . Functions can be passed any expression as arguments. Functions return floating point decimal values. The function provided with the HAAS control are as follows:

FUNCTION ARGUMENT RETURNS NOTES

SIN[ ] Degrees Decimal Sine COS[ ] Degrees Decimal Cosine TAN[ ] Degrees Decimal Tangent ATAN[ ] Decimal Degrees Arctangent

Same as FANUC ATAN[ ]/[1]

SQRT[ ] Decimal Decimal Square root ABS[ ] Decimal Decimal Absolute value ROUND[ ] Decimal Decimal Round off a decimal FIX[ ] Decimal Integer Truncate fraction ACOS[ ] Degrees Decimal Arccosine ASIN[ ] Degrees Decimal Arcsine #[ ] Integer Integer Variable Indirection DPRNT[ ] ASCII text External Output

Notes on Functions

The function ROUND works differently depending on the context that it is used. When used in arithmetic expressions, the round function works as one would expect. That is, any number with a fractional part greater than or equal to .5 is rounded up to the next whole integer; otherwise, the fractional part is truncated from the number.

#1= 1.714 ; #2= ROUND[#1] ; (#2 is set to 2.0) #1= 3.1416 ; #2= ROUND[#1] ; (#2 is set to 3.0)

OPTIONS

412

O MPERATORS ANUAL

96-8500 rev C

June 2001

When round is used in an address expression, then the argument of round is rounded to the addresses signifi- cant precision. For metric and angle dimensions, three-place precision is the default. For inch, four-place precision is the default. Integral addresses such as D, T and H are rounded normally.

#1= 1.00333 ; G0 X[ #1 + #1 ] ;

(Table moves to 2.0067) ; G0 X[ ROUND[ #1 ] + ROUND[ #1 ] ] ;

(Table moves to 2.0066) ; G0 A[ #1 + #1 ] ;

(Axis moves to 2.007) ; G0 A[ ROUND[ #1 ] + ROUND[ #1 ] ] ;

(Axis moves to 2.006) ; D[1.67] (Diameter 2 is made current) ;

Operators

Operators can be classified into three categories: Arithmetic operators, Logical operators and Boolean opera- tors.

Arithmetic Operators

Arithmetic operators consist of the usual unary and binary operators. They are:

+ - Unary plus +1.23 - - Unary minus -[COS[30]] + - Binary addition#1=#1+5 - - Binary subtraction #1=#1-1 * - Multiplication #1=#2*#3 / - Division #1=#2/4

MOD - Remainder #1=27 MOD 20 (#1 contains 7)

Logical Operators

Logical operators are operators that work on binary bit values. Macro variables are floating point numbers. When logical operators are used on macro variables, only the integer portion of the floating point number is used. The logical operators are:

OR - logically OR two values together XOR - Exclusively OR two values together AND - Logically AND two values together

Examples:

#1=1.0; 0000 0001 Here the variable #3 #2=2.0; 0000 0010 will contain 3.0 after #3=#1 OR #2 0000 0011 the OR operation. #1=5.0; Here control will #2=3.0; transfer to block 1 IF [[#1 GT 3.0] AND [#2 LT 10]] GOTO1 because #1 GT 3.0 evaluates to 1.0 and

#2 LT 10 evaluates to 1.0, thus 1.0 AND 1.0 is 1.0 (TRUE) and the GOTO occurs.

OPTIONS

413

O MPERATORS ANUAL

96-8500 rev C

June 2001

As can be seen from the previous examples, CARE must be taken when using logical operators so that the desired result is achieved.

Boolean Operators

Boolean operators always evaluate to 1.0 (TRUE) or 0.0 (FALSE). There are six Boolean operators. These operators are not restricted to conditional expressions, but they most often are used in conditional expres- sions. They are:

EQ - Equal to NE - Not Equal to GT - Greater Than LT - Less Than GE - Greater than or Equal to LE - Less Than or Equal to

The following are four examples of how Boolean and Logical operators can be used:

Example Explanation

IF [#1 EQ 0.0] GOTO100; Jump to block 100 if value in variable #1 equals 0.0.

WHILE [#101 LT 10] DO1; While variable #101 is less than 10 repeat loop DO1..END1.

#1=[1.0 LT 5.0]; Variable #1 is set to 1.0 (TRUE).

IF [#1 AND #2 EQ #3] GOTO1 If variable #1 logically ANDed with variable #2 is equal to the value in #3 then control jumps to block 1.

Expressions

Expressions are defined as any sequence of variables and operators surrounded by the square brackets "[" and "]". There are two uses for expressions: conditional expressions or arithmetic expressions. Conditional expres- sions return FALSE (0.0) or TRUE (any non zero) values. Arithmetic expressions use arithmetic operators along with functions to determine a value.

Conditional Expressions

In the HAAS control, ALL expressions set a conditional value. The value is either 0.0 (FALSE) or the value is nonzero (TRUE). The context in which the expression is used determines if the expression is a conditional expression. Conditional expressions are used in the IF and WHILE statements and in the M99 command. Conditional expressions can make use of Boolean operators to help evaluate a TRUE or FALSE condition.

The M99 conditional construct is unique to the HAAS control. Without macros, M99 in the HAAS control has the ability to branch unconditionally to any line in the current subroutine by placing a P code on the same line. For example:

N50 M99 P10 ;

branches to line N10. It does not return control to the calling subroutine. With macros enabled, M99 can be used with a conditional expression to branch conditionally. To branch when variable #100 is less than 10 we could code the above line as follows.

OPTIONS

414

O MPERATORS ANUAL

96-8500 rev C

June 2001

N50 [#100 LT 10] M99 P10 ;

In this case, the branch occurs only when #100 is less than 10, otherwise processing continues with the next program line in sequence. In the above, the conditional M99 can be replaced with

N50 IF [#100 LT 10] GOTO10 ;

Arithmetic Expressions

An arithmetic expression is any expression using constants, variables, operators, or functions. An arithmetic expression returns a value. Arithmetic expressions are usually used in assignment statements, but are not restricted to them.

Examples of Arithmetic expressions:#101=#145*#30;

#1=#1+1; X[#105+COS[#101]]; #[#2000+#13]=0;

Assignment Statements

Assignment statements allow the programmer to modify variables. The format of the assignment statement is:

=

The expression on the left of the equal sign must always refer to a macro variable, whether directly or indirectly. The following macro initializes a sequence of variables to any value. Here both direct and indirect assignments are used.

O0300 (Initialize an array of variables) ; N1 IF [#2 NE #0] GOTO2 (B=base variable) ; #3000=1(BASE VARIABLE NOT GIVEN) ; N2 IF [#19 NE #0] GOTO3 (S=size of array); #3000=2(SIZE OF ARRAY NOT GIVEN) ; N3 WHILE [#19 GT 0] DO1 ; #19=#19-1 (DECREMENT COUNT) ; #[#2+#19]=#22 (V=value to set array to) ; END1 ; M99 ;

The above macro could be used to initialize three sets of variables as follows:

G65 P300 B101. S20 (INIT 101..120 TO #0) ; G65 P300 B501. S5 V1 (INIT 501..505 TO 1.0) ; G65 P300 B550. S5 V0 (INIT 550..554 TO 0.0) ;

The decimal point in B101., etc. would be required.

OPTIONS

415

O MPERATORS ANUAL

96-8500 rev C

June 2001

Control Statements

Control statements allow the programmer to branch, both conditionally and unconditionally. They also provide the ability to iterate a section of code based on a condition.

Unconditional Branch (GOTOnnn and M99 Pnnnn)

In the HAAS control, there are two methods of branching unconditionally. An unconditional branch will always branch to a specified block. M99 P15 will branch unconditionally to block number 15. The M99 can be used whether or not macros is installed and is the traditional method for branching unconditionally in the HAAS control. GOTO15 does the same as M99 P15. In the HAAS control, a GOTO command can be used on the same line as other G coding. The GOTO is executed after any other control commands as are traditional M codes.

Computed Branch (GOTO#n and GOTO[expression])

Computed branching allows the program to transfer control to another block in the same subprogram. The block can be computed on the fly, as in the case of the GOTO[expression] form, or the block can be passed in through a local variable, as in the GOTO#n form.

The GOTO will round the variable or expression result that is associated with the Computed branch. For instance, if #1 contains 4.49 and GOTO#1 is executed, the control will attempt to transfer to a block containing N4. If #1 contains 4.5, then execution will transfer to a block containing N5.

The following code skeleton could be developed to make a program that serializes parts:

O9200 (Engrave digit at current location.) ; (D=DECIMAL DIGIT TO ENGRAVE) ; IF [[#7 NE #0] AND [#7 GE O] AND [#7 LE 9]] GOTO99; #3000=1 (INVALID DIGIT) ; N99 #7=FIX[#7] (TRUNCATE ANY FRACTIONAL PART) ; ; GOTO#7 (NOW ENGRAVE THE DIGIT) ; ; N0 (DO DIGIT ZERO) ... M99 ; N1 (DO DIGIT ONE) ; M99 ; N2 (DO DIGIT TWO) ; ... ; (etc.,...)

With the above subroutine, you would engrave digit five with the following call:

G65 P9200 D5;

OPTIONS

416

O MPERATORS ANUAL

96-8500 rev C

June 2001

Computed GOTOs using expression could be used to brach processing based on the results of reading hardware inputs. An example might look like the following:

GOTO[[#1030*2]+#1031] ; NO (1030=0, 1031=0) ; ... M99; N1 (1030=0, 1031=1) ; ... M99; N2 (1030=1, 1031=0) ; ... M99; N3 (1030=1, 1031=1) ; ... M99;

The discrete inputs always return either 0 or 1 when read. The GOTO[expression] will branch to the appropriate G-code based on the state of the two discrete inputs #1030 and #1031.

Conditional Branch (IF and GOTOn)

Conditional branching allows the program to transfer control to another section of code within the same subrou- tine. Conditional branching can only be used when macros are enabled. The HAAS control allows two similar methods for accomplishing conditional branching.

IF [ ] GOTOn

Here, as discussed above, is any expression that uses the six Boolean operators EQ, NE, GT, LT, GE, or LE. The brackets surrounding the expression are mandatory. In the HAAS control, it is not necessary to include these operators. For example:

IF [#1 NE 0.0] GOTO5;

could also be:

IF [#1] GOTO5 ;

In this statement, if the variable #1 contains anything but 0.0, or the undefined value #0, then branching to block 5 will occur; otherwise, the next block will be executed. If portability to a control other than HAAS is desired, then it is recommended that the conditional operators be used.

In the HAAS control, a conditional expression can also be used with the M99 Pnnnn format, providing that macros have been enabled. An example is as follows:

G0 X0 Y0 [#1EQ#2] M99 P5;

Here, the conditional is for the M99 portion of the statement only. The machine tool is instructed to X0, Y0 whether or not the expression evaluates to TRUE or FALSE. Only the branch, M99, is executed based on the value of the expression. It is recommended that the IF GOTO version is used if portability is desired.

OPTIONS

417

O MPERATORS ANUAL

96-8500 rev C

June 2001

Conditional Execution (IF THEN)

Execution of control statements can also be achieved by using the IF THEN construct. The format is:

IF [ ] THEN ;

NOTE: To preserve compatibility with FANUC syntax "THEN" may not be used with GOTOn.

This format is traditionally used for conditional assignment statements such as:

IF [#590 GT 100] THEN #590=0.0 ;

Here, variable #590 is set to zero when the value of #590 exceeds 100.0. In the HAAS control, if a conditional evaluates to FALSE (0.0), then the remainder of the IF block is ignored. This means that control statements can also be conditioned so that we could write something like:

IF [#1 NE #0] THEN G1 X#24 Y#26 F#9 ;

This executes a linear motion only if variable #1 has been assigned a value. You might try something like this:

IF [#1 GE 180] THEN #101=0.0 M99 ;

This says that if variable #1 (address A) is greater than or equal to 180, then set variable #101 to zero and return from the subroutine.

Here is an example of an IF statement that branches if a variable has been initialized to contain any value. Otherwise, processing will continue and an alarm will be generated. Remember, when an alarm is generated, program execution is halted.

N1 IF [#9NE#0] GOTO3 (TEST FOR VALUE IN F) ; N2 #3000=11(NO FEED RATE) ; N3 (CONTINUE) ;

Iteration/Looping (WHILE DO END)

Essential to all programming languages is the ability to execute a sequence of statements a given number of times or to loop through a sequence of statements until a condition is met. Traditional G coding allows this with the use of the L address. A subroutine can be executed any number of times by using the L address.

M98 P2000 L5 ;

This is limited since you can not terminate execution of the subroutine on condition. Macros allows more flexibility with the WHILE-DO-END construct. The syntax is as follows:

WHILE [ ] DOn ; ; ENDn ;

This executes the statements between DOn and ENDn as long as the conditional expression evaluates to TRUE. The brackets in the expression are necessary. If the expression evaluates to FALSE, then the block after ENDn is executed next. WHILE can be abbreviated to WH. The DOn-ENDn portion of the statement is a matched pair. The value of n is 1..3. This means that there can be no more than three nested loops per subrou- tine. A nest is basically a loop within a loop. A good example of how nesting of WHILE loops can be used is in defining a matrix.

OPTIONS

418

O MPERATORS ANUAL

96-8500 rev C

June 2001

#101= 3 ; #102= 4 ; G0 X#101 Y4. ; F2.5 ; WH [ #101 GT 0 ] DO1 ; #102= 4 ; WH [ #102 GT 0 ] DO2 ; G81 X#101 Y#102 Z-0.5 ; #102= #102 - 1 ; END2 ; #101= #101 - 1 ; END1 ; ; M30 ;

This program drills a 3 x 4 matrix hole pattern.

Although nesting of WHILE statements can only be nested to three levels, there really is no limit since each subroutine can have up to three levels of nesting. If there ever is a need to nest to a level greater than 3, then the segment containing the three lowest levels of nesting can be made into a subroutine thus overcoming the limitation.

If two separate WHILE loops are in a subroutine, they can use the same nesting index. For example:

#3001=0 (WAIT 500 MILLISECONDS) ; WH [#3001 LT 500] DO1 ; END1 ; #3001=0 (WAIT 300 MILLISECONDS) ; WH [#3001 LT 300] DO1 ; END1 ; This is valid code.

You can use GOTO to jump out of a region encompassed by a DO-END, but you can not use a GOTO to jump into it. Jumping around inside a DO-END region using a GOTO is allowed.

An infinite loop can be executed by eliminating the WHILE and expression. Thus,

DO1 ; END1 ;

Executes until the RESET key is pressed.

CAUTION! The following code can be confusing: WH [ #1 ] D01 ; END1 ;

In the above, an alarm results indicating no then was found, here then refers to the D01. Change D01 (zero) to DO1 (letter O).

OPTIONS

419

O MPERATORS ANUAL

96-8500 rev C

June 2001

COMMUNICATION WITH EXTERNAL DEVICES - DPRNT[ ]

Macros allow additional capabilities to communicate with peripheral devices. One can do digitizing of parts, provide runtime inspection reports, or synchronize controls with user provided devices. The commands provided for this are POPEN, DPRNT[ ] and PCLOS.

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 ported to the HAAS. On some controls POPEN is required prior to using a DPRNT statement. POPEN prepares the device on the serial port by sending it a DC2 code. PCLOS terminates communication with external devices by sending it a DC4 code.

Formatted output

The DPRNT statement allows the programmer to send formatted text to the serial port. Any text and any variable can be printed to the serial port. Variables can be formatted. The form of the DPRNT statement is as follows:

DPRNT[ <#nnnn[wf]>... ] ;

DPRNT must be the only command in the block. In the above, is any character from A to Z or the letters (+,-,/,*, and the space). When an asterisk is output, it is converted to a space. The <#nnnn[wf]> is a variable followed by a format. The variable number can be any legal macro variable. The format [wf] is required and consists of two digits within square brackets. Remember that macro variables are real numbers with a whole part and a fractional part. The first digit in the format designates the total places reserved in the output for the whole part. The second digit designates the total places reserved for the fractional part. The total places reserved for output cannot be equal to zero or greater that eight. Thus the following formats are illegal:

[00] [54] [45] [36] /* not legal formats */

A decimal point is printed out between the whole part and the fractional part. The fractional part is rounded to the least significant place. When zero places are reserved for the fractional part, then no decimal point is printed out. Trailing zeros are printed as necessary if there is a fractional part. At least one place is reserved for the whole part, even when a zero is used there. If the value of the whole part has fewer digits than have been reserved, then leading spaces are output. If the value of the whole part has more digits than has been reserved, then the field is expanded so that these numbers are printed.

A carriage return is sent out after every DPRNT block.

DPRNT[ ] Examples

Code Output

N1 #1= 1.5436 ; N2 DPRNT[X#1[44]*Z#1[03]*T#1[40]] ; X1.5436 Z 1.544 T 1 N3 DPRNT[***MEASURED*INSIDE*DIAMETER***] ; MEASURED INSIDE DIAMETER N4 DPRNT[] ; (no text, only a carriage return) N5 #1=123.456789 ; N6 DPRNT[X-#1[25]] ; X-123.45679 ;

OPTIONS

420

O MPERATORS ANUAL

96-8500 rev C

June 2001

RUNTIME EXECUTION

DPRNT statements are executed at block interpretation time. This means that the programmer must be careful about where the DPRNT statements appear in the program, particularly if the intent is to print out positional information. Generally, a program is interpreted many blocks ahead in order to prevent the machine from pausing between movements.

G103 is useful for limiting lookahead. If you wanted to limit lookahead interpretation to one block, you would include the following command at the beginning of your program: (This actually results in a two block lookahead.)

G103 P1 ;

To cancel the lookahead limit, then issue a G103 P0 ;. G103 can not be used when cutter compensation is active.

OPERATION NOTES

This section explains the additional screens and operator actions that come with macros.

Macro variables can be saved and restored to RS-232 or the optional floppy, much like parameters, settings, and offsets. Refer to the "Part Program Input / Output" section for RS-232 sending and receiving of macro variables, or the "Floppy Operation" section for sending and receiving them with this method.

Variable Display Page

The macro variables are displayed and can be modified through the current commands display. The variable display is located after the operation timers display. To get to this page, press CURNT COMDS and use the page up/down key.

As the control interprets a program, the variable changes are displayed on the variable display page and results can be viewed.

Pages contain up to 32 variables and the display can be paged by pressing the left/right arrow keys.

Setting of a variable is accomplished by entering a value and then pressing the WRITE key. The variable that is highlighted on the screen is the variable that is affected.

Searching for a variable can be done by entering the variable number and pressing the up/down arrow. The page will change to the one that contains that variable and the entered variable will become the highlighted item.

The variables displayed represent the values of the variables at program interpretation time. At times, this may be up to 15 blocks ahead of the actual machine activity. Debugging of programs can be made easier by inserting a G103 at the beginning of a program to limit block buffering and then removing the G103 block after debugging is completed.

OPTIONS

421

O MPERATORS ANUAL

96-8500 rev C

June 2001

Editing

For the most part, the editing of macro programs from the control is the same as before. There are a few peculiarities to be aware of.

Editing macro statements is more open than previously. For instance, it is possible to place a floating point constant within a standard G-code block, but it doesnt make much sense, and the control will raise an alarm at runtime. For all instances of improperly structured or improperly placed macro statements, the control will raise an appropriate alarm. Most of these alarms have been put off until runtime so that operator editing can be more flexible. Be careful when editing expressions. Brackets must be balanced and you will not receive an alarm until runtime.

The DPRNT[ ] function can be edited much like a comment. You can delete it or move it as a whole item, or you can edit individual items within the brackets. 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 crank handle to maneuver through long

DPRNT[ ] expressions.

Addresses with expressions can be somewhat confusing. In this case, the alphabetic address stands alone. For instance, the following block contains an address expression in X:

G1 G90 X [ COS[ 90 ] ] Y3.0 (CORRECT) ;

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 floating point constant.

G1 G90 X 0 Y3.0 (!!! WRONG !!!) ;

The above block will result in an alarm at runtime. The correct form looks as follows:

G1 G90 X0 Y3.0 (CORRECT) ;

Note that the zero is attached to X. REMEMBER when you see an alpha character standing alone it is an address expression.

OPTIONS

422

O MPERATORS ANUAL

96-8500 rev C

June 2001

FANUC-STYLE MACRO FEATURES NOT INCLUDED IN HAAS CNC CONTROL

This section lists the FANUC macro features that have not yet been implemented.

M ALIASING REPLACE G65 Pnnnn WITH Mnn PROGS 9020-9029. G66 MODAL CALL IN EVERY MOTION BLOCK G66.1 MODAL CALL IN EVERY BLOCK G67 MODAL CANCEL M98 ALIASING, T CODE PROG 9000, VAR #149, ENABLE BIT M98 ALIASING, S CODE PROG 9029, VAR #147, ENABLE BIT M98 ALIASING, B CODE PROG 9028, VAR #146, ENABLE BIT SKIP/N N=1..9 #3007 MIRROR IMAGE ON FLAG EACH AXIS #4201-#4320 CURRENT BLOCK MODAL DATA #5101-#5106 CURRENT SERVO DEVIATION ADDITIONAL OFFSETS G54.1P## FORMAT NAMES FOR VARIABLES FOR DISPLAY PURPOSES ATAN [ ]/[ ] ARCTANGENT, FANUC VERSION BIN [ ] CONVERSION FROM BCD TO BIN BCD [ ] CONVERSION FROM BIN TO BCD FUP [ ] TRUNCATE FRACTION CEILING LN [ ] NATURAL LOGARITHM EXP [ ] BASE E EXPONENTIATION ADP [ ] RE-SCALE VAR TO WHOLE NUMBER BPRNT [ ]

The following can be used as alternative methods for achieving the same results for a few unimplemented FANUC macro features.

GOTO-nnnn

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.

423

O MPERATORS ANUAL

OPTIONS

96-8500 rev C

June 2001

11.4 FOURTH AXIS SETUP

Installing a fourth axis in this machine requires that the servo control parameters be set for the type of fourth axis that you have. Any of the HAAS servo rotary products may be used but there are different parameter settings for each. If the fourth axis is purchased with the VF Series, the parameters will be set correctly for that indexer. If the indexer is purchased at a later time, select Setting 30 and press the right arrow cursor until the model of the fourth axis is shown. Then, press the WRITE button.

Once the parameters have been entered, be sure to turn PARAMETER LOCK back on (Setting 7). The fourth axis can be disabled and re-enabled easily from the Setting 30.

WARNING !

NEVER CONNECT OR DISCONNECT THE FOURTH AXIS CABLE WHILE THE CONTROLLER IS POWERED ON.

When turning the control on after connecting the fourth axis, be sure to enable it from Setting 30 BEFORE doing a POWER UP/RESTART or AUTO ALL AXES. When turning the control on after disconnecting the fourth axis, be sure to turn off Setting 30 BEFORE doing a POWER UP/RESTART or AUTO ALL AXES.

Setting 34 is used to specify the diameter of the part being turned by the rotary axis. This parameter must be set close to the correct value in order to get the correct surface feed rate when an A-axis motion is involved in a cut.

If the fourth axis is being set up for the first time, you will not be able to enable the fourth axis from settings if Parameter 43 is set to disable the fourth axis. Make sure Parameter 43 is set correctly.

The tilting rotary table (TRT) is a little more complicated in its setup. One of the two axes may be the A-axis that can be controlled in simultaneous interpolated moves but the other axis must be setup as an auxiliary (B) axis and can only be used for positioning or single axis feeds; see "Auxiliary Axis Control" section. Depending on which axis may be used in cutting, you can exchange these two.

The following table summarizes the fourth axis options:

Product: Max speed: Max torque: Comments: (deg/sec) (ft - lb)

HA5C 270 45 Quick and easy to use for light loads only.

HA5C2,HA5C3 200 20/ Spindle HA5C2 fits along Y and X axes; HA5C3, HA5C4 only HA5C4 along X axis.

TRT 160 60/80 (A/B) 210/100 (A/B) Convenient compact size fits VF-1,2.

TRT 210 50/60 (A/B) 200/210 (A/B) Fits VF-3 and VF-4 with some restrictions in tool length.

HRT 160 80 100 Available with 5" spindle nose. For light loads. HRT 160 SP

424

O MPERATORS ANUAL

OPTIONS

96-8500 rev C

June 2001

HRT 210 60 210 Available with 6" spindle nose and pneumatic drawbar. HRT 210 SP

HRT 310 50 200 Large capacity. Well-suited to VF-3 and 4. HRT 310 SP

HRT 450 50 325 For very large or heavy parts. Large through-hole. HRT 600 Ideal for VF-6,8.

T5C 60/270 (A/B) 30/160 (A/B) Used for small, complex geometry parts.

AUXILIARY AXIS CONTROL

Auxiliary axes are C,U,V & W, and are limited to single axis non-interpolated moves. For more information contact your dealer.

425

O MPERATORS ANUAL

OPTIONS

96-8500 rev C

June 2001

11.5 FIFTH AXIS CONTROL

This section describes the features of a HAAS five-axis control.

The Coordinate System

The layout of the A and B axes on the HAAS five-axis control are depicted below. The A axis is rotary motion about the X axis, while the B axis determines rotary motion about the Y axis. The right hand rule can be used to determine axis rotation for the A and B axes. When placing the thumb of the right hand along the positive X axis, the fingers of the right hand will point in the direction of tool movement for a positive A axis command. Likewise, when placing the thumb of the right hand along the positive Y axis, the fingers of the right hand will point in the direction of tool movement for a positive B axis command. It is important to remember that the right hand rule determines direction of tool movement and not the table movement direction. For the right hand rule, the fingers will point opposite of the positive rotary table movement. Refer to Figures 11.6-1 and 11.6-2.

z+

B+

A+

Y+ X+

M A

D E

IN U

.S .A

Fig. 11.6-1 Work coordinates (Positive direction).

z+

B+

A+

Y+ X+

M A

D E

IN U

.S .A

Fig. 11.6-2 Table movement (Positive command).

NOTE: Figures 11.6-1 and 11.6-2 represent one of many possible machine tool and table configurations. You may have different table movements for positive directions, depending on the equipment, parameter settings, or five-axis software being used.

426

O MPERATORS ANUAL

OPTIONS

96-8500 rev C

June 2001

Alphabetical Address Codes

B Fifth axis rotary motion

The B address character is used to specify motion for the optional fifth, B, axis. It specifies an angle in degrees for the rotary axis. It is always followed by a signed number and up to three fractional decimal positions. If no decimal point is entered, the last digit is assumed to be 1/1000 degrees. The smallest magni- tude is 0.001 degrees, the most negative value is -8380.000 degrees, and the largest number is 8380.000 degrees.

Preparatory Functions (G codes)

In a control configured with a fifth axis, all G codes that have an option for an A axis motion command can also simultaneously command fifth axis, B, motion. Of course, since address B is modal, it can be entered on any line. The following G codes are users of address B:

G00 G03 G29 G73 G77 G83 G86 G89 G101 G01 G10 G31 G74 G81 G84 G87 G92 G102 G02 G28 G36 G76 G82 G85 G88 G100 G136

Inch/Metric Selection (G20,G21)

Fifth-axis programming is not effected by the selection of metric. It is always programmed in degrees.

Work Coordinate Systems

The work coordinate systems on a control with a fifth axis have all been expanded to accommodate B, the fifth axis. Work coordinate offsets can be set for the B axis in the offset display.

M Codes

M12 Engages the fifth axis brake.

This M code waits until the M-fin signal is received through the secondary RS-232 port.

M13 Releases the fifth axis brake.

This code activates the fifth axis brake relay and waits for the M-fin signal, releases the relay upon receipt, and waits for the M-fin signal to cease. The RESET key will terminate any operation that is hung-up waiting for M- fin.

Both M12 and M13 are aliased by M10 and M11 on fourth-axis machines.

Handle/Jog

All aspects of handle jogging for the fifth axis work as they do for the other axes. The exception is the method of selecting jog between axis A and axis B.

By default the +A and -A keys, when pressed, will select the A axis for jogging. The display will show JOGGING A AXIS HANDLE .01 while you are jogging the A axis. The B axis can be selected for jogging by pressing the shift key, and then pressing either the +A or -A key. When this is done the control will switch to jogging the B axis and the display will change to JOGGING B AXIS HANDLE .01.

427

O MPERATORS ANUAL

OPTIONS

96-8500 rev C

June 2001

The axis assigned to the +A and -A keys will remain selected for jogging even if the operating mode is changed or if the machine is turned off. The selected axis for +A and -A can be toggled by pressing the shift key prior to pressing the +A or -A keys.

Settings

The fifth axis, or rotary table, may be disabled from the setting page and removed from the machine. Do not connect or disconnect any cables with the control on. If you do not disable the fifth axis when it is discon- nected, you will get an alarm.

The settings listed here are settings that have been added to a fifth-axis control.

Number: Name: Range of value:

78 FIFTH-AXIS ENABLE OFF,S5C,7RT,9RT,SRT,11RT, HA5C, HRT 160, HRT 210, HRT 310

79 FIFTH-AXIS DIAMETER 0 to 29.9999 inches 80 MIRROR IMAGE B AXIS ON or OFF

The following is a detailed description of each of the settings.

78 FIFTH-AXIS ENABLE

This is an on/off setting. When it is off, the fifth axis is disabled and no commands can be sent to that axis. When it is on, the selected rotary table type parameters are called up. A change to rotary parameters is saved under the selected table type for later recall.

79 FIFTH-AXIS DIAMETER

This is a numeric entry. It is used to set the angular feed rate of the B-axis. It must be in the range of 0.0 to 29.9999 inches. Since the feed rate specified in a program is always inches per minute (or mm per minute), the control must know the diameter of the part being worked in the B-axis in order to compute the angular feed rate. When this setting is set correctly, the surface feed rate on a rotary cut will be exactly the feed rate programmed into the control. The feed rate will be correct only as long as the axis remains orthogonal (at right angles to) to the Y axis.

80 MIRROR IMAGE B-AXIS

This is an On/Off settings. When it is off, axes motions occur normally. When it is on, the B axis motion is mirrored (or reversed) around the work zero point.

428

O MPERATORS ANUAL

OPTIONS

96-8500 rev C

June 2001

Tool Offsets

Work offsets can be specified for the fifth axis B address.

The work offset display is found on the offset display page. If the fifth axis is enabled, setting 78, then addi- tional data fields are made available for the fifth axis.

The function of the offset display page has been modified slightly to accommodate multiple axes. Only the axes that are enabled are displayed on the work offset display. For example, if the fourth axis is enabled, setting 30, and the fifth axis is not, then display will show X,Y,Z,A. In this case, all axes can be displayed on the entire display. If only the fifth axis is enabled, then the display will show X,Y,Z,B. Since the fourth axis is disabled, there is no need to display it.

If both A and B axes are enabled, then the last column of the offsets display serves a dual purpose. Either A or B can be accessed in the last column. By using the left or right arrow keys, the screen cursor can be moved into the axis field that is to be set. When the right most field is highlighted by the cursor and the top of the column indicates A, then the values in this column represent A axis offsets. If you press the right arrow key once, the cursor stays in the same place, but the column and its values will change to B axis parameters. You can view and modify work offsets in this manner using the left and right arrow keys when both axes are en- abled.

Parameter Display

The Parameter Display organization has been modified to accommodate the extra axis parameters. Parameter numbers have remained the same as in a four-axis control. Additional parameters have been added for the fifth.

The parameters have been reorganized, so that logically-associated parameters are grouped together. These logical groupings are placed together into contiguous screens called pages. The most commonly changed parameters have been placed at the beginning of the page list. A list of the parameter pages and the order of succession in the control are given in the following table.

429

O MPERATORS ANUAL

OPTIONS

96-8500 rev C

June 2001

PAGE TITLE DATA DESCRIPTION

COMMON SWTCH Non-axis bit switches. COMMON PAGE1 First page of non-axis parameters. COMMON PAGE2 Second page of non-axis parameters. COMMON PAGE3 Third page of non-axis parameters. MACRO M CALL Parameters that alias M codes to subroutines. MACRO G CALL Parameters that alias G codes to macros. X BIT SWITCH Bit switches for the X axis. X PARAMETERA First page of X axis parameters. X PARAMETERB Second page of X axis parameters. Y BIT SWITCH Bit switches for the Y axis. Y PARAMETERA First page of Y axis parameters. Y PARAMETERB Second page of Y axis parameters. Z BIT SWITCH Bit switches for the Z axis. Z PARAMETERA First page of Z axis parameters. Z PARAMETERB Second page of Z axis parameters. A BIT SWITCH Bit switches for the A axis. A PARAMETERA First page of A axis parameters. B BIT SWITCH Bit switches for the B axis. B PARAMETERA First page of B axis parameters. B PARAMETERB Second page of B axis parameters. X SCREW COMP X axis screw compensation value. Y SCREW COMP Y axis screw compensation value. Z SCREW COMP Z axis screw compensation value.

The HOME key displays the first parameter page COMMON SWTCH. Pressing the PAGE DOWN key will display the next page of parameters in the above list. The END key displays the last parameter page B PARAMETERB. Pressing the PAGE UP key will display the preceding page of parameters in the above list. All other features on the parameters display have remained the same. So, if you are unfamiliar with the new format of the parameters, you can still search by parameter number. Enter the number of the parameter you want to see or view and press the up or down arrow key. The page that the parameter is on will be displayed and the parameter being searched for will be highlighted.

Diagnostic Data Display

The first page of diagnostic data shows two discrete outputs that control the rotary axes brakes; they are labeled Brake 4th Axis and Brake 5th Axis. The 4th axis is synonymous with the A-axis, and the 5th axis is synonymous with the B-axis. If the Air Brake Parameter for the axis is set to 1, the HAAS control unclamps the brake whenever motion is commanded to the rotary axis and sets the brake back to its previous state as soon as the motion stops. The brake is activated by a relay. The two discrete outputs show the state of the brake relays. If the output is high (1) the brake is unclamped. When the machine is first powered up the brake will be unclamped, so the output will be low (0). When the brake is unclamped the message A UNCLMP or B UNCLMP is displayed in the message area near the bottom of the display.

The M11 and M13 codes command the brake to be unclamped. When these codes are in effect, the axis brake will remain unclamped even after motion has stopped.

The second page of diagnostic data show the status of inputs from the motor interface board. Additional inputs for the expanded motor interface board are listed under INPUTS4. These bits are monitored by the control to determine if the interface for the B axis is working correctly. Refer to the "Technical Reference" section for a description of the diagnostic page inputs.

430

O MPERATORS ANUAL

OPTIONS

96-8500 rev C

June 2001

Parameters

Additional parameters specifying the fifth axis have been added to the parameter list B axis parameter numbers range from 151 through 175. The parameter descriptions and their number assignments are listed below in the order that they are arranged on the B parameter pages. Refer to the Parameters section of this manual for more information.

PARAMETERS LISTED HERE IN ORDER OF APPEARANCE ON DISPLAY PAGES.

B BIT SWITCH Parameter 151 B SWITCHES

B PARAMETER A Parameter 152 B P GAIN Parameter 153 B D GAIN Parameter 154 B I GAIN Parameter 155 B RATIO (STEPS/INCH) Parameter 156 B MAX TRAVEL (STEPS) Parameter 157 B ACCELERATION Parameter 158 B MAX SPEED Parameter 159 B MAX ERROR Parameter 160 B FUSE LEVEL Parameter 161 B BACK EMF Parameter 162 B STEPS/REVOLUTION Parameter 163 B BACKLASH Parameter 164 B DEAD ZONE Parameter 165 B IN POSITION LIMIT B Parameter 166 B MAX CURRENT Parameter 167 B D*D GAIN FOR B

B PARAMETER B Parameter 168 B ACC/DEC T CONST Parameter 169 B PHASE OFFSET Parameter 170 B GRID OFFSET Parameter 171 B EXACT STOP DIST Parameter 172 B FRICTION FACTOR Parameter 173 B ACCEL FEED FORWARD Parameter 175 B AIR BRAKE DELAY

Setting Up a Fifth Axis

Installing a fifth axis is the same as installing a fourth axis. Refer to the "Setting Up A Fourth Axis" section of this manual for detailed instructions on fifth axis installation.

431

O MPERATORS ANUAL

OPTIONS

96-8500 rev C

June 2001

11.6 8 M OPTION

This option adds 8 additional outputs for each 8M option. The machine can be fitted with two 8M options for a total of 16 additional outputs. These outputs can be used to activate probes, auxiliary pumps or clamping devices etc. The 8M relay board contains 8 relay outputs (M21- M28) and 2 terminal strips P4 and P5. Each terminal strip has 12 positions which are Normally Open, Normally Closed and Common.

8M Relay Board

A total of 4 banks of 8 relays are possible in the Haas system. Banks 0 and 1 are internal to the I/O PCB. Bank 1 includes the M21-25 relays at the top of the IOPCB. Bank 2 addresses the first 8M option PCB. Bank 3 addresses the second 8M option PCB.

NOTE: Bank 3 may be used for some Haas installed options and may not be available. Contact the Haas factory for more details.

Only one bank of outputs may be addressable with M-codes at a time. This is controlled by parameter 352 Relay Bank Select. Relays in the non-activated banks are only accessible with macro variables. Parameter 352 is shipped set to 1 as standard. When either one or two 8M options are installed, the M-fin and probe cables are moved to the first 8M option PCB and parameter 352 is set to 2. With the 8M option, M-codes M21-28 correspond to relays labeled M21-28.

Bank addressing on the 8M PCB itself is done through selectable jumpers. Only one address should be selected at a time. The MCD jumper should be set to JP1 for bank 1 (first 8M option). The MCD jumper should be set to JP2 for bank 2 (second 8M option). The other positions are used by service only for installation in older controls. See the following figure.

M51-M58 will turn on the relays and M61-M68 will turn off the relays. M51 and M61 correspond to M21, etc. on the 8M relay board.

NOTE: Some or all of the M21-25 on the I/O PCB may be used for factory installed options. Inspect the relays for existing wires to determine which have been used. Contact the Haas factory for more details.

Terminals normally closed: 1, 4, 7, 10 Terminals normally open: 3 , 6, 9, 12 COMMON TERMINALS: 2, 5, 8, 11

432

O MPERATORS ANUAL

OPTIONS

96-8500 rev C

June 2001

8M RELAY BOARD CONNECTORS:

P4 CONTAINS: M21 M FUNCTION M22 PROBE OPTION M23 SPARE M24 SPARE

P5 CONTAINS: M25 SPARE M26 SPARE M27 SPARE M28 SPARE

P1 16-PIN RELAY DRIVERS FROM IOPCB (M21- M28) (540) (INPUT) P3 UNUSED P2 12 VDC FROM POWER SUPPLY BOARD (860A) P6 16-PIN RELAY OUTPUT TO 2ND 8M RELAY BOARD

M-Code relay board.

NOTE: If the 8M option is installed, relays M21-28 become available on the secondary board. These relays will be controlled by ouputs M21-28.

433

O MPERATORS ANUAL

OPTIONS

96-8500 rev C

June 2001

11.7 THROUGH THE SPINDLE COOLANT (TSC)

The HAAS Through The Spindle Coolant (TSC) option includes an auxiliary coolant pump that is used to supply high pressure coolant to the cutting tool.

When TSC is commanded (M88), the precharge is activated and the tool release piston moves down to engage the drawbar, forming a seal.

NOTE: The wear surfaces of the seal are engaged only when TSC is in use.

The auxiliary pump turns on and begins sending coolant to the spindle. The control waits for coolant pressure to remain stable for 0.1 seconds before proceeding. If coolant pressure does not come on within 60 seconds, the system shuts down and gives Alarm 151 (Low Tool Coolant).

When the coolant system is turned off (M89), the spindle is stopped, the pump is shut off, and air flows through the spindle and the TSC drain line for 2-1/2 seconds to purge leftover coolant.

Refer to the "Maintenance" section for TSC system maintenance information.

Note: Use of coolants with extremely low lubricity can damage the TSC coolant tip and pump. Running an M04 command with TSC on is not recommended.

OPERATION

WARNING!

Proper tooling, with a through-hole, must be in place before using the TSC system. Failure to use proper tooling will flood the spindle head with coolant and void the warranty.

Use a pull stud with "45 Degree, P40T Type 1, inch threads" built to JMTBA standard "MAS 403-1982". If the machine is equipped with the optional BT tool changer, use BT tooling only. Contact the tool manufacturer for further information. Pull studs are available through HAAS. Refer to the Technical Reference section of the manual for the proper tool part numbers and identification.

Coolant will be used more quickly when the TSC system is in use. Make sure to keep the coolant level up and to check the level more frequently (check after every eight hour shift). Premature wear of the pump can result from running with a low coolant level in the tank. The spindle will shut off automatically if the coolant level gets too low.

The maximum spindle speed when using the TSC system is 7500 RPM.

NOTE: Follow the tool manufacturer's instructions for speed and feed rate restric- tions.

434

O MPERATORS ANUAL

OPTIONS

96-8500 rev C

June 2001

TSC PRESSURE EFFECTS

On machines using TSC and/or HPC during cutting operations, tooling size will have to be taken into consider- ation. As shown below, proper TSC and/or HPC system operation will deliver different pressures at the orifice of the tool; this depends on the diameter and number of coolant passages in the tool.

Larger tooling has larger diameter coolant Smaller tooling has smaller diameter coolant passages. Coolant flow is higher at passages. This produces higher pressures lower pressures. at lower flow.

Volume

(GPM)

Pressure

(PSI)

TSC, HPC Pump Output

5.0

4.0

3.0

2.0

1.0

50 100 150 200 250 300

Program Commands

435

O MPERATORS ANUAL

OPTIONS

96-8500 rev C

June 2001

PROGRAM COMMANDS

Through The Spindle Coolant is controlled mainly by two M Codes, M88 and M89; and four Parameters, 235- 238 (See the "Parameters" section for a description of these). M88 is used to turn the system on, and M89 is used to turn it off. The AUX CLNT button on the control panel may also be used to control TSC. Pressing this button while in MDI mode will turn on the Through The Spindle Coolant system, and pressing it again will shut off the system.

When Through The Spindle Coolant is on, the RESET and EMERGENCY STOP buttons on the control panel perform slightly different functions. When RESET is pressed, the feed and spindle are shut off, as in a normal reset. However, with TSC on, the control also waits for the spindle to stop, turns off the TSC coolant pump, waits for [Parameter 237] for the coolant to purge, and then turns off the precharge. When EMERGENCY STOP is pressed, the feed, spindle, and pump are shut off, as in a normal E-Stop. However, with TSC turned on, the control will wait for [Parameter 237] for the coolant to purge, and then shut off the precharge.

TSC PARAMETERS

The following parameters (and bits) apply only to the Through The Spindle Coolant system:

WARNING!

These are factory preset parameters. Changing them may void the warranty.

Parameter 235 TSC PISTON SEAT Parameter 236 TSC LOW PR FLT (Low pressure fault) Parameter 237 TSC CLNT LINE PURGE

This parameter value can be increased by the user to help purge coolant from small orifice tooling.

Parameter 238 MAX TSC SPINDLE RPM Parameter 209 bit "TSC ENABLE" Parameter 278 bit "TSC PRG ENBL" (Air purge enable)

A complete description of TSC parameters is given in the "Parameters" section of this manual.

TSC M CODES

The following M codes apply only to the Through The Spindle Coolant system:

M88 Thru Spindle Clnt ON M88 performs the following operations: - Stop the spindle - Activate precharge - Wait for [Parameter 235] for piston to seat - Turn on the TSC pump - Wait for coolant pressure - Restart spindle

436

O MPERATORS ANUAL

OPTIONS

96-8500 rev C

June 2001

M89 Thru Spindle Clnt OFF M89 performs the following operations: - Stop the spindle - Turn off the TSC pump - Turn on purge - Wait for [Parameter 237] for coolant to purge - Turn off purge - Wait 0.5 seconds - Turn off precharge

The following pre-existing M codes perform a slightly different function when Through the Spindle Coolant is turned ON:

M00 Stop Prog M01 Optional Stop When TSC is ON, M00 and M01 will shut it OFF, as in M89.

T1 M6; (TSC Coolant Through Drill) G90 G54 G00 X0 Y0; G43 H06 Z.5; M88; (Turn TSC on) S4400 M3; G81 Z-2.25 F44. R.03; M89 G80; (Turn TSC off) G91 G28 Z0; M30; M89 G80; (Turn TSC off) G91 G28 Z0; M30;

437

O MPERATORS ANUAL

OPTIONS

96-8500 rev C

June 2001

11.8 HIGH SPEED MACHINING

High Speed Machining is an option that can be added to any Haas mill. It is most often required for the machining of smoothly sculpted shapes as is typical of mold making.

High speed machining means many different things to different people. Sometimes it is taken to mean high speed spindle; the Haas control has 7500 RPM standard and up to 15000 RPM as an option. Sometimes it is taken to mean high feed rates; the Haas control has 500 inches per minute in G01 (linear motion) standard. Sometimes it is taken to mean high blocks per second rate; the Haas control has 1000 blocks per second standard. The most important feature, though, is block lookahead.

The Haas option for High Speed Machining increases the amount of lookahead to 80 blocks and allows full speed (500 inches per minute) blending of feed strokes. Determining when you need the High Speed Machin- ing option can be done with the following table of stroke lengths:

Machine Type VF0..VF2 VF3..VF5 VF6..VF9 HS,VB1 VF10,VR11

Feed in/min: Stroke Length in inches

20 0.0039 0.0051 0.0077 0.0154 50 0.0241 0.0321 0.0482 0.0963 100 0.0963 0.1284 0.1927 0.3853 150 0.2167 0.2890 0.4335 0.8670 200 0.3853 0.5138 0.7707 1.5413 300 0.8670 1.1560 1.7340 3.4680 400 1.5413 2.0551 3.0826 6.1652 500 2.4083 3.2111 4.8166 9.6332

To use the above table starting with your machine and feed rate, find the listed stroke length. If you are using linear moves longer than the stroke length, you do not need high speed machining. If you are using linear moves shorter than the stroke length, you do need high speed machining.

To use the above table starting with your machine and stroke length, find the listed feed rate. If you are using a feed rate lower than the listed rate, you do not need high speed machining. If you are using a feed rate higher than the listed rate, you do need high speed machining.

It is important to understand that high speed machining works best with smoothly blended shapes where the feed rate can remain high through the blend of one stroke to the next. If there are sharp corners, the control will always need to slow down; even if you have the high speed machining option. Sharp corners can never occur at high speed; either rounding of the corners occurs or the control must slow the feed rate.

The affect that blending of strokes can have on feed rate is always to slow down motion. It can never speed up motion. The programmed feed rate (F) is thus a maximum and the control will sometimes go slower than that in order to achieve the required accuracy.

Remember that too short of a stroke length can result in too many data points and that can result in a blocks per second demand which is above what the control can do. Check how your CAD system generates data points to insure that you do not exceed 1000 blocks per second.

Also remember that too few data points can result in either facetting or blending angles which are so great that the control must slow down the feed rate. Facetting is where the desired smooth path is actually made up of short, flat, strokes that are not close enough to the desired smoothness of the path. When the angle of blending of strokes is too large, the control must reduce the feed rate in order to get that sharp angle.

438

O MPERATORS ANUAL

OPTIONS

96-8500 rev C

June 2001

11.9 PROGRAMMABLE COOLANT SPIGOT*

*This option is not field installable

The optional programmable coolant spigot allows the user to direct the coolant stream to the most optimum location in order to flush out chips from the cutting area. The direction of the coolant can be changed by the CNC program.

OPERATING THE COOLANT SPIGOT

When the spigot is enabled it will search for home if it ever loses position. If after 3 contiguous searches for home the spigot has not found home, then Alarm, 193 COOLANT SPIGOT FAILURE, is generated.

OFFSET DISPLAY WITH SPIGOT ENABLE

When the spigot is enabled, an additional field can be accessed on the tool offset display. The left column indicates CLNT POS for coolant position. By default this column has all zeros for the coolant position. If the position is zero, then the spigot will not be moved when the H code for that tool offset is in effect and an M08 is encountered in the program. If a value is placed into the field, then the spigot will be moved to that value if the corresponding H code is in effect and M08 is executed.

SPIGOT PROGRAM COMMANDS

There are two ways that the spigot can be moved under program control. The first, as just discussed, is by entering positional values into the CLNT POS fields on the tool offset display page. Having positional values entered into the CLNT POS field does not mean that the spigot will move. Only when the M08 command is executed and the current H code has a value in its CLNT POS field, will the spigot move to the designated position.

The second method of moving the spigot is by programming M34 or M35.

M34 moves the spigot in a positive direction. If the spigot is at the end of travel then no spigot movement occurs. For example, if the current spigot position is at 8 and M34 is executed, then the spigot will move to position 9. On a vertical mill this would lower the coolant stream.

M35 moves the spigot in a negative direction. If the spigot is at home position then no spigot movement occurs. For example, if the current spigot position is at 8 and M35 is executed, then the spigot will move to position 7. On a vertical mill this would raise the coolant stream.

It is important to note that each programming method requires the operator to specifically program the spigot in reference to the particular tool being used, while also taking into consideration the tool length, width and size of the part.

439

O MPERATORS ANUAL

OPTIONS

96-8500 rev C

June 2001

SPIGOT PARAMETERS

The parameters that control the spigot are below. Refer to the "Parameters" section for a complete description of their usage.

SPIGOT POSITIONS Parameter 206 SPIGOT TIMEOUT (MS) Parameter 207

SPIGOT M CODES

M34 Increment Coolant Spigot Position

M34 increments the current spigot position one place. Incrementing the spigot position causes the spigot to advance away from the spigot home position. The home position is designated as zero. If the current spigot position is 5 and M34 is executed, then the current spigot position will advance to position 6. The Spigot home position for a horizontal mill places the spigot at the most positive Z axis location that the spigot can attain. Incrementing the spigot then lowers the coolant stream direction.

M35 Decrement Coolant Spigot Position

M35 Decrements the current spigot position one place. Decrementing the spigot position causes the spigot to move toward the spigot home position. The home position is designated as zero. If the current spigot position is 5 and M35 is executed, then the current spigot position will move to 4. The Spigot home position for a horizontal mill places the spigot at the most positive Z axis location that the spigot can attain. Decrementing the spigot will raise the coolant stream direction.

11.10 ROTATION AND SCALING

These optional G-codes enable a programmer to easily create more complex programs.

The Rotation feature allows a simple feature to be cut in the part at a specified degree from the origin, or rotate a pattern to another location or around a circumference, etc.

The Scaling feature is used to create a larger or smaller similar parts from the original program. In addition it can be used to scale up or down a single feature of a part (including text).

11.11 ETHERNET

The Ethernet option is a great way to store and transfer data between your CNC and the server. In a typical shop environment, being able to easily transfer or download large files has always been a problem. Now with connection capabilities between the Haas CNCand a network, or Zip drive, large program files are easily downloaded/uploaded to/from memory or executed in DNC mode. For additional information, see Haas sales document ES-0115 (included with the machine).

440

O MPERATORS ANUAL

OPTIONS

96-8500 rev C

June 2001

11.12 ZIP DRIVE

As the Zip drive is portable, it increases the operator flexibility in how and where it can be used. Disks can be transferred from one drive to another (desktop to CNC) or the Zip drive can be moved from the PC to the mill or vice versa. For additional information, see Haas sales document ES-0168 (included with the machine).

11.13 MEMORY LOCK KEY SWITCH

The optional Memory Lock Key Switch will prevent the operator from editing programs and from altering set- tings when turned to the locked position.

11.14 SPINDLE ORIENTATION

The M19 code is used to orient the spindle to a fixed position. A P value is used to orient the spindle to a particular angle (in degrees). An R value will recognize up to four places to the right of the decimal point.

11.15 SECOND HOME

An additional button on the side of the control commands the machine to rapid all axes to the coordinates specifie d in Work Offset G129. This is helpful for tool and fixture setups.

11.16 AUXILIARY FILTER SYSTEM

This Auxiliary Filter is used to protect the coolant pump from particle damage. It is recommended for custom- ers doing medium to high production machining of cast aluminum, cast iron or titanium. It may also be useful for customers who perform high speed milling operations and produce small powder-like chips.

11.17 200 HOUR TRY-OUT

Options that normally require a unlock code to activate (Rigid Tap, Macros, etc.) can now be activated and deactivated as desired simply by entering the letter 1 instead of the unlock code to turn it on. Enter a 0 to turn off the option. An option activated in this manner will be automatically deactivated after a total of 200 power-on hours. Note that the deactivation only occurs when power to the machine is turned off, not while it is running. An option can be activated permanently by entering the unlock code. Note that the letter T will be displayed to the right of the option on the parameter screen during the 200 hour period. Note that the safety circuit option is an exception; it can be turned on and off only by unlock codes.

TECHNICAL REFERENCE

441

O MPERATORS ANUAL

96-8500 rev C

June 2001

12. TECHNICAL REFERENCE

12.1 TOOL CHANGER

CAUTION! Do not exceed the Maximum Specifications given below!

SHUTTLE TOOL CHANGER SPECIFICATIONS

HSK 63A 50 TAPER

MAXIMUM TOOL WEIGHT 12 lbs. 25 lbs.

MAXIMUM TOTAL TOOL WEIGHT 200 lbs. 300 lbs.

CAUTION! Extremely heavy tool weights should be distributed evenly Ensure there is adequate clearance between tools in the tool

changer before running an automatic operation. This distance is 3.6" for 20 pocket. Maximum tool diameter is 6 for the 16 tool tool changer.

Tools are always loaded through the spindle and should never be installed directly in the carousel in order to avoid crashes. The pocket open to the spindle must always be empty in the retracted position. All wiring to the tool changer goes through connector P8 on the side of the control cabinet.

The tool changer is an all electric fixed shuttle type. Tools are always loaded through the spindle and should never be installed directly in the carousel in order to avoid crashes. The pocket open to the spindle must always be empty in the retracted position. All wiring to the tool changer goes through connector P6 on the side of the control cabinet.

Low air pressure or insufficient volume will reduce the pressure applied to the tool unclamp piston and will slow down tool change time or will not release the tool. The air pressure is now checked prior to moving the carou- sel on a mill with a side mount tool changer and alarm 120 LOW AIR PRESSURE is generated if such a problem exists.

If the shuttle should become jammed, the control will automatically come to an alarm state. To correct this, push the EMERGENCY STOP button and remove the cause of the jam. Push the RESET key to clear any alarms. Press "Tool Changer Restore" button, to automatically reset the tool changer after a crash. Never put your hands near the tool changer when powered unless the EMERGENCY STOP button is pressed.

FU1 on the I/O PCB or the Power PCB is a fuse for the tool changer motors. It might be blown by an overload or jam of the tool changer. Operation of the tool changer can also be interrupted by problems with the tool clamp/unclamp and the spindle orientation mechanism. Problems with them can be caused by low air pres- sure or a blown solenoid circuit breaker CB4.

442

TECHNICAL REFERENCE

O MPERATORS ANUAL

96-8500 rev C

June 2001

TOOL CHANGER LUBRICATION

Place lubricating grease on the outside edge of the guide rails of the tool changer and run through all tools.

SHUTTLE IN/OUT MOTOR

A DC brush motor is used to move the tool changer assembly towards and away from the spindle. This is called the shuttle. The motor is geared down to a low RPM and then connected to an arm that rotates through 180o and pushes the shuttle in and out.

NOTE: This motor should never be disassembled.

TURRET ROTATION MOTOR

A DC brush motor is used to rotate the tool turret between tool changes. This motor is geared down to a low RPM and connected to a Geneva mechanism. Each 1/2 revolution of the Geneva mechanism moves the tool turret one tool position forward or backward.

NOTE: This motor should never be disassembled.

TECHNICAL REFERENCE

443

O MPERATORS ANUAL

96-8500 rev C

June 2001

12.2 TOOL CLAMP/UNCLAMP

The tool holder drawbar is held clamped by spring pressure. Air pressure is used to release the tool clamp. When the tool is unclamped, air is directed down the center of the spindle to clear the taper of water, oil, or chips. Tool unclamp can be commanded from a program (but this is quite dangerous), from the keyboard, and from the button on the front of the spindle head. The two manual buttons only operate in MDI or JOG modes.

TOOL CLAMP/UNCLAMP AIR SOLENOIDS

A single solenoid controls the air pressure to release the tool clamp. This corresponds to relay K15. When the relay is activated, 115V AC is applied to the solenoid. This applies air pressure to release the tool. Relay K15 is on the I/O PCB. Circuit breaker CB4 will interrupt power to this solenoid.

TOOL CLAMP/UNCLAMP SENSE SWITCHES

There are two switches used to sense the position of the tool clamping mechanism. They are both normally closed and one will activate at the end of travel during unclamping and the other during clamping. When both switches are closed, it indicates that the draw bar is between positions.

A tool change operation will wait until the unclamped switch is sensed before the Z-axis pulls up from the tool. This prevents any possibility of breaking the tool changer or its support mounts.

The diagnostic display can be used to display the status of the relay outputs and the switch inputs.

The Precharge and Through the Spindle Coolant system applies low air pressure and releases the clamped switch (with 40 taper spindle only).

REMOTE TOOL UNCLAMP SWITCH

The Remote Tool Unclamp switch is mounted on the front of the cover to the spindle head. It operates the same as the button on the keyboard. It must be held for second before the tool will be released and the tool will remain released for second after the button is released.

While the tool is unclamped, air is forced down the spindle to clear chips, oil, or coolant away from the tool holder.

444

TECHNICAL REFERENCE

O MPERATORS ANUAL

96-8500 rev C

June 2001

12.3 SPINDLE OPERATION

Spindle speed functions are controlled primarily by the S address code. The S address specifies RPM in integer values from 1 to maximum spindle speed (Parameter 131). NOT TO BE CHANGED BY USER!

Speeds from S1 to the Parameter 142 value (usually 1200) will automatically select low gear and speeds above Parameter 142 will select high gear. Two M codes, M41 and M42 can be used to override the gear selection. M41 for low gear and M42 for high gear. Low gear operation above S1250 is not recommended. High gear operation below S100 may lack torque or speed accuracy. Spindle speed accuracy is best at the higher speeds and in low gear.

The spindle is hardened and ground to the precise tool holder dimensions providing an excellent fit to the holder.

SPINDLE WARM-UP PROGRAM

All spindles, which have been idle for more than 4 days, must be thermally cycled prior to operation above 6,000 RPM. This will prevent possible overheating of the spindle due to settling of lubrication. A 20-minute warm-up program has been supplied with the machine, which will bring the spindle up to speed slowly and allow the spindle to thermally stabilize. This program may also be used daily for spindle warm-up prior to high- speed use. The program number is O02020 (Spindle Warm-Up).

O02020 (Spindle Warm-Up) S500M3; G04 P200.; S1000M3; G04 P200.; S2500M3; G04 P200.; S5000M3; G04 P200.; S7500M3; G04 P200.; S10000M3; G04 P200.; M30;

SPINDLE RUN-IN PROGRAM

All spindles must go through a run-in cycle at the time of machine installation prior to operating the spindle at speeds above 1,000 RPM. A program has been supplied with the machine that will run-in the spindle during machine installation and should also be used after long periods of machine down-time (two weeks or more). The program number is O02021 (Spindle Run-In). Cycle Time: 2 hours. See Installation Section for copy of the program.

These programs can be used for all spindle types. Adjust spindle speed override depending on maximum spindle speed of machine: Set override at 50% for 5,000 RPM machines; Set at 100% for 7,500 and 10,000 RPM machines; Set at 150% for 15,000 machines.

TECHNICAL REFERENCE

445

O MPERATORS ANUAL

96-8500 rev C

June 2001

SPINDLE ORIENTATION

Orientation is performed electrically and no shot pin or solenoid is required for locking the motor in place. Orientation of the spindle is automatically performed for tool changes and can be programmed with M19 commands. Orientation is performed by turning the spindle until the encoder reference is reached , the spindle motor holds the spindle locked in position. If the spindle is orientated and locked, commanding spindle forward or reverse will release the lock.

SPINDLE ORIENTATION SEQUENCE

When spindle orientation is commanded, the following sequence of operations occurs:

1) If the spindle is turning, it is commanded to stop, 2) Pause until spindle is stopped, 3) Spindle orientation speed is commanded forward, 4) Pause until spindle is at orientation speed, 5) Spindle encoder rotates past a reference mark, 6) The spindle drive stops and holds the spindle position at a parameter distance from the reference mark, 7) Command spindle lock air solenoid active, 8) Pause until spindle locked status is active and stable, 9) If not locked after time-out time, alarm and stop.

446

TECHNICAL REFERENCE

O MPERATORS ANUAL

96-8500 rev C

June 2001

12.4 CONTROL CABINET

Control cabinet general overview.

Connectors on side of control cabinet.

TECHNICAL REFERENCE

447

O MPERATORS ANUAL

96-8500 rev C

June 2001

12.5 SERVOS BRUSH / BRUSHLESS

SERVO ENCODERS

Haas machines are equipped with brushless motors, which provides for better performance, and no mainte- nance. In addition to the performance differences, these machines differ from brush type machines, which have already been discussed, in the following areas:

The brushless motors have 8192 line encoders built in, which result in a resolution of 32768 parts per revolu- tion.

The motor controller board has a dedicated processor which does all the servo control algorithm.

There is no servo distribution board anymore, therefore there is no CHARGE light present. Care should still be taken however, since there are high voltages present on the amplifiers, even when power is shut off. The high voltage comes from the spindle drive, which does have a CHARGE light.

The servo drive cards are replaced by Brushless Servo Amplifiers, and are controlled differently.

A low voltage power supply card is added to the servo drive assembly to supply the low voltage requirement to the amplifiers.

The user interface and motion profiling have not changed however, and the user should not see any functional differences between a brush type machine and a brushless machine.

SERVO AMPLIFIERS

The brushless servo amplifier is a PWM based current source. The PWM outputs control the current to a three phase brushless motor. The PWM frequency is 16 KHz. The amplifiers are current limited to 30 amps peak. However there are fuse limits both in hardware and software to protect the amplifiers and motors from over current. The nominal voltage for these amplifiers is 320 volts. Therefore the peak power is about 9600 watts or 13 H.P. The amplifiers also have short circuit and over temperature and over heat protection.

There is a 10 amp supply fuse for failure protection. This fuse is relatively slow, therefore it can handle the 30 amp peak. Actual continues current limit to the motor is controlled by software.

The user should never attempt to replace these fuses.

Commands to the amplifier are +/-5 volts current in two legs of the motor and a digital enable signal. A signal from the amplifier indicates drive fault or sustained high current in stalled motor.

The connectors on the amplifiers are:

+H.V. +320 volts DC -H.V. 320 volts return A motor lead phase A B motor lead phase B C motor lead phase C J1 Three pin Molex connector used for +/-12 and GND. J2 Eight pin Molex connector used for input signals.

448

TECHNICAL REFERENCE

O MPERATORS ANUAL

96-8500 rev C

June 2001

12.6 INPUT/OUTPUT ASSEMBLY

The IOPCB contains a circuit for electronically turning the tool changer power on and off. This prevents any arcing of the tool changer relays and increases their life tremendously. This includes an adjustable current limit to the tool changer. Potentiometer R45 adjusts the current limit to the tool changer motors. R45 should be set to limit current to between four and six amps.

The IOPCB also contains a circuit for sensing a ground fault condition of the servo power supply. If more than 0.5 amps is detected flowing through the grounding connection of the 160V DC buss, a ground fault alarm is generated and the control will turn off servos and stop.

Relay K6 is for the 230VAC coolant pump. It is a plug-in type and is double-pole. Relays K9 through K12 are also plug in types for controlling the tool changer.

The Input/Output Assembly consists of a single printer circuit board called the IOPCB.

TECHNICAL REFERENCE

449

O MPERATORS ANUAL

96-8500 rev C

June 2001

12.7 CONTROL PENDANT

JOG HANDLE

The JOG handle is actually a 100-line-per-revolution encoder. We use 100 steps per revolution to move one of the servo axes. If no axis is selected for jogging, turning of the crank has no effect. When the axis being moved reaches its travel limits, the handle inputs will be ignored in the direction that would exceed the travel limits.

Parameter 57 can be used to reverse the direction of operation of the handle.

POWER ON/OFF SWITCHES

The POWER ON switch engages the main contactor. The on switch applies power to the contactor coil and the contactor thereafter maintains power to its coil. The POWER OFF switch interrupts power to the contactor coil and will always turn power off. POWER ON is a normally open switch and POWER OFF is normally closed. The maximum voltage on the POWER ON and POWER OFF switches is 24V AC and this voltage is present any time the main circuit breaker is on.

SPINDLE LOAD METER

The Load meter measures the load on the spindle motor as a percentage of the rated continuous power of the motor. There is a slight delay between a load and the actual reflection of the meter. The eighth A-to-D input also provides a measure of the spindle load for cutter wear detection. The second page of diagnostic data will display % of spindle load. The meter should agree with this display within 5%. The spindle drive display #7 should also agree with the load meter within 5%.

There are different types of spindle drive that are used in the control. They are all equivalent in performance but are adjusted differently.

EMERGENCY STOP SWITCH

The EMERGENCY STOP switch is normally closed. If the switch opens or is broken, power to the servos will be removed instantly. This will also shut off the tool changer, spindle drive, and coolant pump. The EMER- GENCY STOP switch will shut down motion even if the switch opens for as little 0.005 seconds.

Be careful of the fact that Parameter 57 contains a status switch that, if set, will cause the control to be powered down when EMERGENCY STOP is pressed. You should not normally stop a tool change with EMER- GENCY STOP as this will leave the tool changer in an abnormal position that takes special action to correct.

Note that tool changer alarms can be easily corrected by first correcting any mechanical problem, pressing RESET until the alarms are clear, selecting ZERO RETURN mode, and selecting AUTO ALL AXES.

If the shuttle should become jammed, the control will automatically come to an alarm state. To correct this, push the EMERGENCY STOP button and remove the cause of the jam. Push the RESET key to clear any alarms. Push the ZERO RETURN and the AUTO ALL AXES keys to reset the Z-axis and tool changer. Never put your hands near the tool changer when powered unless the EMERGENCY STOP button is pressed.

450

TECHNICAL REFERENCE

O MPERATORS ANUAL

96-8500 rev C

June 2001

KEYBOARD BEEPER

There is a beeper inside the control panel that is used as an audible response to pressing keyboard buttons and as a warning beeper. The beeper is a 2.3 kHz signal that sounds for about 0.1 seconds when any keypad key, CYCLE START, or FEED HOLD is pressed. The beeper also sounds for longer periods when an auto-shut down is about to occur and when the BEEP AT M30 setting is selected.

If the beeper is not audible when buttons are pressed, the problem could be in the keypad, keyboard interface PCB or in the beeper. Check that the problem occurs with more than one button and that the beeper volume control is not closed.

TECHNICAL REFERENCE

451

O MPERATORS ANUAL

96-8500 rev C

June 2001

12.8 MICROPROCESSOR ASSEMBLY

The microprocessor assembly is in the rear cabinet at the top left position. It contains three large boards. They are: microprocessor, the keyboard and the MOCON. All three boards of the processor assembly receive power from the low voltage power supply. The three PCBs are interconnected by a local buss on dual 50-pin connectors. At power-on of the control, some diagnostic tests are performed on the processor assembly and any problems found will generate alarms 157 or 158. In addition, while the control is operating, it continually tests itself and a self test failure will generate Alarm 152.

MICROPROCESSOR PCB (68ECO30)

The Microprocessor PCB contains the 68ECO30 processor running at 40 MHz, one 128K EPROM; between 1MB and 16MB of CMOS RAM and betwen 512K and 1.5MB of FAST STATIC RAM. It also contains a dual serial port, a five year battery to backup RAM, buffering to the system buss, and eight system status LEDs.

Two ports on this board are used to set the point at which an NMI* is generated during power down and the point at which RESET* is generated during power down.

The eight LEDs are used to diagnose internal processor problems. As the system completes power up testing, the lights are turned on sequentially to indicate the completion of a step. The lights and meanings are:

+5V +5V logic power supply is present. (Normally On) If this light does not come on, check the low voltage power supply and check that all three phases of 230V input power are present.

HALT Processor halted in catastrophic fault. (Normally Off) If this light comes on, there is a serious problem with the processor PCB. Check that the EPROM is plugged in. Test the card with the buss connectors off.

POR Power-on-reset complete. (Normally On) If this light does not come on, there is a serious problem with the processor PCB. Check that the EPROM is plugged in. Test the card with the buss connectors off.

SIO Serial I/O initialization complete. (Normally On) If this light does not come on, there is a problem with the serial ports. Disconnect anything on the external RS-232 and test again.

MSG Power-on serial I/O message output complete. (Normally On) If this light does not come on, there is a problem with serial I/O or interrupts. Disconnect anything on the external RS-232 and test again.

CRT CRT/VIDEO initialization complete. (Normally On) If this light does not come on, there is a problem communicating with the VIDEO PCB. Check the buss connectors and ensure the VIDEO PCB is getting power.

452

TECHNICAL REFERENCE

O MPERATORS ANUAL

96-8500 rev C

June 2001

PGM Program signature found in memory.(Normally On) If this light does not come on, it means that the main CNC program package was not found in memory or that the auto-start switch was not set. Check that switch S1-1 is on and the EPROM is plugged in.

RUN Program Running Without Fault Exception. (Normally On) If this light does not come on or goes out after coming on, there is a problem with the microproces- sor or the software running in it. Check all of the buss connectors to the other two PCBs and ensure all three cards are getting power.

The 1 two-position DIP switch on the processor PCB labeled S1. Switch S1-1 must be ON to auto-start the CNC operational program. If S1-1 is OFF, the PGM light will remain off.

Switch S2-1 is used to enable FLASH. If it is disabled it will not be possible to write to FLASH.

The processor connectors are:

J1 Address buss J2 Data buss J4 Serial port #1 (for upload/download/DNC) (850) J5 Serial port #2 (for auxiliary 5th axis) (850A) J3 Power connector J6 Battery

MEMORY RETENTION BATTERY

The memory retention battery is initially soldered into the processor PCB. This is a 3.3V Lithium battery that maintains the contents of CMOS RAM during power off periods. Prior to this battery being unusable, an alarm will be generated indicating low battery. If the battery is replaced within 30 days, no data will be lost. The battery is not needed when the machine is powered on. Connector J6 on the processor PCB can be used to connect an external battery.

VIDEO KEYBOARD WITH FLOPPY

The VIDEO and KB PCB generates the video data signals for the monitor and the scanning signals for the keyboard. In addition, the keyboard beeper is generated on this board. There is a single jumper on this board used to select inverse video. The video PCB connectors are:

P1 LOW VOLTAGE POWER SUPPLY PCB (860) P3* KEYBOARD INFO. (700) P4 ADDRESS BUSS P5 DATA BUSS P10 FLOPPY DR. POWER P11 SPARE P12 FLOPPY DR. SIGNAL P13 VIDEO SIGNAL (760) J9 RS422 B J13 SERIAL DATA (850)

TECHNICAL REFERENCE

453

O MPERATORS ANUAL

96-8500 rev C

June 2001

MOTOR INTERFACE PCB (MOTIF) OPTION

The Motor Interface PCB provides all of the interfaces to motors and discrete inputs and outputs. It contains a single pot R54 to adjust the output of the D-A converter.

MOTOR CONTROLLER (MOCON)

The brushless machining centers are equipped with a microprocessor based brushless motor controller board (MOCON) that replaces the motor interface in the brush type controls. It runs in parallel with the main proces- sor, receiving servo commands and closing the servo loop around the servo motors.

In addition to controlling the servos and detecting servo faults, the motor controller board, (MOCON), is also in charge of processing discrete inputs, driving the I/O board relays, commanding the spindle and processing the jog handle input. Another significant feature is that it controls 6 axes, so there is no need for an additional board for a 5 axis machine.

454

TECHNICAL REFERENCE

O MPERATORS ANUAL

96-8500 rev C

June 2001

12.9 SPINDLE DRIVE ASSEMBLY

The spindle drive is located in the main cabinet on the right side and halfway down. It operates from three- phase 200 to 240V AC. It has a 10 (or 20) H.P. continuous rating, and a 15 (or 30) H.P. one-minute rating. The spindle drive is protected by CB1. Never work on the spindle drive until the small red CHARGE light goes out. Until this light goes out, there are dangerous voltages inside the drive, even when power is shut off.

For all other data on the spindle drive, refer to the supplied documentation for your drive.

HAAS VECTOR DRIVE

The Haas vector drive is a current amplifier controlled by the Mocon software, using the C axis output. The vector drive parameters are a part of the machine parameters and are accessible through the Haas front panel. The spindle encoder is used for the closed loop control and spindle orientation, as well as rigid tapping if the option is available. Spindle speed is very accurate, since this is a closed loop control and the torque output at low speeds is superior to non vector drive spindles.

TECHNICAL REFERENCE

455

O MPERATORS ANUAL

96-8500 rev C

June 2001

12.10 RESISTOR ASSEMBLY

The Resistor Assembly is located on top of the control cabinet. It contains the servo and spindle drive regen load resistors.

SPINDLE DRIVE REGEN RESISTOR

A resistor bank is used by the spindle drive to dissipate excess power caused by the regenerative effects of decelerating the spindle motor. If the spindle motor is accelerated and decelerated again in rapid succession repeatedly, this resistor will get hot. In addition, if the line voltage into the control is above 255V, this resistor will begin to heat. This resistor is overtemp protected at 1000 C. At that temperature, an alarm is generated and the control will begin an automatic shutdown. If the resistor is removed from the circuit, an alarm may subsequently occur because of an overvoltage condition inside the spindle drive.

SERVO DRIVE REGEN RESISTOR

A 25-ohm, 300-watt resistor is used by the brush-type servo drives to dissipate excess power caused by the effects of decelerating the servo motors. If the servo motors are accelerated and decelerated again in rapid succession repeatedly, this resistor will get hot. In addition, if the line voltage into the control is above 255V, this resistor will begin to heat. This resistor is overtemp protected at 1000 C. At that temperature, an auto- matic control shutdown is begun. If that resistor is removed from the circuit, an alarm may subsequently occur because of an overvoltage condition for the servo buss.

OVERHEAT SENSE SWITCH

There is an over-temperature sense switch mounted near the above-mentioned regen resistors. This sensor is a normally-closed switch that opens at about 1000 C. It will generate an alarm and all motion will stop. After the time period, specified by parameter 297, of an overheat condition, an automatic shutdown will occur in the control.

456

TECHNICAL REFERENCE

O MPERATORS ANUAL

96-8500 rev C

June 2001

12.11 POWER SUPPLY ASSEMBLY

All power to the control passes through the power supply assembly. It is located on the upper right corner of the control cabinet.

MAIN CIRCUIT BREAKER CB1

Circuit breaker CB1 (rated at 100 amps) is primarily used to protect the spindle drive and to shut off all power to the control. The locking On/Off handle on the outside of the control cabinet will shut this breaker off when it is unlocked. A trip of this breaker indicates a SERIOUS overload problem and should not be reset without investi- gating the cause of the trip.

MAIN CONTACTOR K1

Main contactor K1 is used to turn the control on and off. The POWER ON switch applies power to the coil of K1 and after it is energized, auxiliary contacts on K1 continues to apply power to the coil. The POWER OFF switch on the front panel will always remove power from this contactor.

When the main contactor is off, the only power used by the control is supplied through two amp fuses to the circuit that activates the contactor. An overvoltage or lightning strike will blow these fuses and shut off the main contactor.

The power to operate the main contactor is supplied from a 24V AC control transformer that is primary fused at amp. This ensures that the only circuit powered when the machine is turned off is this transformer and only low voltage is present at the front panel on/off switches.

LOW VOLTAGE POWER SUPPLY

The low voltage power supply provides +5V DC, +12V DC, and -12V DC to all of the logic sections of the control. It operates from 115V AC nominal input power. It will continue to operate correctly over a 90V AC to 133V AC range.

POWER PCB (PSUP)

The low voltage power distribution and high voltage fuses and circuit breakers are mounted on a circuit board called the POWER PCB.

TECHNICAL REFERENCE

457

O MPERATORS ANUAL

96-8500 rev C

June 2001

SECONDARY CIRCUIT BREAKERS

Three more circuit breakers are on the Power supply assembly.

CB2 controls the 3-phase 115volt distribution. It can be tripped only if there is a short in the control cables or on the IOPCB.

CB3 controls the power to coolant pump only. It can be blown by an overload of the coolant pump motor or a short in the wiring to the motor.

CB5 Controls power to the TSC coolant pump only. It can be tripped by an overload of the TSC coolant pump motor or a short in the wiring to the motor.

CB6 Is a single phase 115V protected output for the user.

POWER-UP LOW VOLTAGE CONTROL TRANSFORMER (T5)

The low voltage control transformer, T5, supplies power to the coil of the main contactor K1. It guarantees that the maximum voltage leaving the Power Supply assembly when power is off is 12V AC to earth ground. It is connected via P5 to the POWER PCB.

458

TECHNICAL REFERENCE

O MPERATORS ANUAL

96-8500 rev C

June 2001

12.12 POWER TRANSFORMER ASSEMBLY (T1)

The power transformer assembly is used to convert three-phase input power (50/60Hz) to three phase 230V and 115V power. Two different transformers are used depending on the input voltage range. The low voltage transformer has four different input connections to allow for a range of voltages from 195 V RMS to 260 V RMS. The high voltage transformer has five different input connections and will accept a range of voltages from 354V RMS to 488 V RMS.

the 230 V is used to power the spindle drive, which also develops the 325 VDC power for the axis servo amplifiers. The 115 V is used by the video monitor, solenoids, fans and pumps, in addition to supplying power to the main LVPS used by the control electronics.

The transformer assembly is located in the lower right hand corner of the main cabinet. Besides the high/low voltage variations, two different power levels are available depending on the spindle motor used. The small and large transformers have power ratings of 14 KVA and 28 KVA, respectively. They are protected by the main circuit breaker to the levels shown in the preceding table.

Transformer with 254-488V range Transformer with 195-260V range

PRIMARY CONNECTION TO T1

Input power to T1 is supplied through CB1, the 40 amp three-phase main circuit breaker. Three-phase 195-260 VAC (354-488 VAC) to T1 is connected to the appropriate tap on T1.

VOLTAGE SELECTION TAPS

There are five labeled plastic terminal blocks for high voltage. Each block has three connections for wires labeled 74, 75, and 76. Follow the instructions printed on the transformer.

SECONDARY CONNECTION TO T1

The secondary output from T1 is 115V AC three-phase CB2 protects the secondary of transformer T1 and is rated at 25 amps.

TECHNICAL REFERENCE

459

O MPERATORS ANUAL

96-8500 rev C

June 2001

OPTIONAL 480V 60HZ TRANSFORMER

All machines will get the 45KVA transformer.

For domestic installations and all others using 60Hz power, the primary side should be wired as follows:

Input Voltage Range Tap 493-510 1 (504) 481-492 2 (492) 469-480 3 (480) 457-468 4 (468) 445-456 5 (456) 433-444 6 (444) 420-432 7 (432)

OPTIONAL 480V 50HZ TRANSFORMER

Input Voltage Range Tap 423-440 1 (504) 412-422 2 (492) 401-411 3 (480) 391-400 4 (468) 381-390 5 (456) 371-380 6 (444) 355-370 7 (432)

460

TECHNICAL REFERENCE

O MPERATORS ANUAL

96-8500 rev C

June 2001

12.13 FUSES

BRUSHLESS MOTORS

Each brushless amplifier contains a fuse, which will only blow if there is a failure of the amplifier. The user should never attempt to replace these fuses.

The POWER PCB contains three -amp fuses located at the top right (FU1, FU2, FU3). If the machine is subject to a severe overvoltage or a lightning strike, these fuses will blow and turn off all of the power. Replace these fuses only with the same type and ratings. FU 4,5 and 5A protect the chip conveyor (FU6 is only used with 3 phase motors). FU7-12 are ultra fast 20A fuses. They will only blow in the case of a cable short for either the TSC or coolant pump. Spare fuses for the power card are located above the breakers on the spare fuse PCB.

SIZE FUSE NAME TYPE RATING VOLTAGE LOCATION (amps)

5mm FU1 Slo-Blo 250V PSUP pcb, upper right 5mm FU2 AGC 250V " " 5mm FU3 AGC 250V " " 1/4 FU1 Ultra fast 10 250V I/O PCB 1/4 F1 Ultra fast 15 250V Amplifier (X,Y,Z,A,B) 5mm FU4,5 Fast blow 5A 250V PSUP, bottom right corner 1/4 FU7-12 Ultra fast 20A 250V PSUP, bottom

FU2 on the IOPCB is a spare.

TECHNICAL REFERENCE

461

O MPERATORS ANUAL

96-8500 rev C

June 2001

12.14 SPARE USER M CODE INTERFACE

The M code interface uses outputs M21-25 and one discrete input circuit. M codes M21 through M25 will activate relays labeled M21-25. These relay contacts are isolated from all other circuits and may switch up to 120V AC at three amps. The relays are SPDT. WARNING! Power circuits and inductive loads must have snubber protection.

The M-FIN circuit is a normally open circuit that is made active by bringing it to ground. The one M-FIN applies to all of the user M codes.

The timing of a user M function must begin with all circuits inactive, that is, all circuits open. The timing is as follows:

M21

M-FIN

CNC is: Running Waiting for M-fin

.05 ms delay Waiting

for end M-fin Running

The Diagnostic Data display page may be used to observe the state of these signals.

NOTE: See the 8M option section for more details.

M FUNCTION RELAYS

The M code relay board has five relays (M21-25) that may be available to the user. M21 is already wired out to P12 at the side of the control cabinet. This is a four-pin DIN connector and includes the M-FIN signal.

NOTE: Refer to the Diagnostic section in the manual for specific machine Inputs and Outputs.

NOTE: Some or all of the M21-25 on the I/O PCB may be used for factory installed options. Inspect the relays for existing wires to determine which have been used. Contact the Haas factory for more details.

462

TECHNICAL REFERENCE

O MPERATORS ANUAL

96-8500 rev C

June 2001

M-FIN DISCRETE INPUT

The M-FIN discrete input is a low voltage circuit. When the circuit is open, there is +12V DC at this signal. When this line is brought to ground, there will be about 10 milliamps of current. M-FIN is discrete input #10 and is wired from input #10 on the I/O PCB. The return line for grounding the circuit should also be picked up from that PCB. For reliability, these two wires should be routed in a shielded cable where the shield is grounded at one end only. The diagnostic display will show this signal a 1 when the circuit is open and a 0 when this circuit is grounded.

TURNING M FUNCTIONS ON AND OFF

The M code relays can also be separately turned on and off using M codes M51-M55 and M61-M65. M51 to M55 will turn on one of the eight relays and M61 to M65 will turn the relays off. M51 and M61 correspond to M21, etc.

NOTE: Refer to the Diagnostic section in the manual for specific machine Inputs and Outputs.

WIRING THE RELAYS

The relays are marked on the IOPCB, with their respective terminals forward of them. If the optional 8M relay board is installed then the connections on the IOPCB are to be left unused as they are replaced by the relays on the optional board. Refer to the figure, and the Probe Option figure in the Electrical Diagrams section for the terminal labeling.

WARNING!

Power circuits and inductive loads must have snubber protection.

N C

C O

M

N O

M21 M22 M23 M25M24

N C

C O

M

N O

N C

C O

M

N O

N C

C O

M

N O

N C

C O

M

N O

IOPCB Relays

CAUTION! If a screw terminal is already in use DO NOT connect anything else to it. Call you dealer.

TECHNICAL REFERENCE

463

O MPERATORS ANUAL

96-8500 rev C

June 2001

12.15 LUBRICATION SYSTEM

The lubrication system is a resistance type system which forces oil through metering units at each of the 16 lubricating points within the machine. The system uses one metering unit at each of the lubricating points: one for each linear guide pad, one for each lead screw and one for spindle lubrication. A single oil pump is used to lubricate the system. The pump is powered only when the spindle and/or an axis moves. Once powered the pump cycles approximately 3.0 cc of oil every 30 minutes throughout the oil lines to the lube points. Every lube point receives approximately 1/16 of oil. The control monitors this system through an internal level switch in the reservoir and external pressure switch on the lube panel.

LOW LUBRICATION AND LOW PRESSURE SENSE SWITCHES

There is a low lube sense switch in the oil tank. When the oil is low, an alarm will be generated. This alarm will not occur until the end of a program is reached. There is also an lube pressure switch that senses the lube pressure. Parameter 117 controls the lube pressure check. If Parameter 117 is not zero, the lube pressure is checked for cycling high within that period. Parameter 117 has units of , 1/50 seconds; so 30 minutes gives a value of 90000. Parameter 57, bit "Oiler on/off", indicates the lube pump is only powered when the spindle fan is powered. The lube pressure is only checked when the pump is on.

464

TECHNICAL REFERENCE

O MPERATORS ANUAL

96-8500 rev C

June 2001

12.16 SWITCHES

LAMP ON/OFF SWITCH

An on/off switch is supplied for the operator's lamp. It is located on the side of the control cabinet below all of the motor connectors.

DOOR OPEN SENSE SWITCH

The DOOR OPEN sense switch is a magnetic reed switch type and consists of two switches; one on each half of the enclosure front doors. These switches are normally closed and wired in series. When the doors open, one or both of these switches will open and the machine will stop with a Door Hold function. When the door is closed again, operation will continue normally.

The wiring for the door switches is routed through the front panel support arm and down through the top of the enclosure.

If the doors are open, you will not be able to start a program. Door Hold will not stop a tool change operation or a tapping operation, and will not turn off the coolant pump. Also, if the doors are open, the spindle speed will be limited to 750 RPM.

The Door Hold function can be temporarily disabled with by turning Setting 51 on, if Parameter 57 bits DOOR STOP SP and SAFETY CIRC are set to zero, but this setting will return to OFF when the control is turned off.

LIMIT SWITCHES

NOTE: There are a number of limit switches located on the VMC, and some are difficult to reach. Ensure the problem is the switch before beginning removal proce- dures. The following is a list of all switches, their general location, and a functional description:

CLAMP/UNCLAMP SWITCHES

[Tool Release Piston Assembly (2)]

There are two switches used to sense the position of the tool clamping mechanism. They are both normally closed and one will activate at the end of travel during unclamping and the other during clamping. When both switches are closed, it indicates that the draw bar is between positions.

A tool change operation will wait until the unclamped switch is sensed before the Z-axis pulls up from the tool. This prevents any possibility of breaking the tool changer or its support mounts.

The diagnostic display can be used to display the status of the relay outputs and the switch inputs.

TECHNICAL REFERENCE

465

O MPERATORS ANUAL

96-8500 rev C

June 2001

X, Y, AND Z LIMIT SWITCHES

Prior to performing an POWER UP/RESTART or an AUTO ALL AXES operation, there are no travel limits. Thus, you can jog into the hard stops in either direction for X, Y, or Z. After a ZERO RETURN has been performed, the travel limits will operate unless an axis hits the limit switch. When the limit switch is hit, the zero returned condition is reset and an AUTO ALL AXES must be done again. This is to ensure that if you hit the limit switch, you can still move the servo back away from it.

The limit switches are normally closed. When a search for zero operation is being performed, the X, Y, and Z axes will move towards the limit switch unless it is already active (open); then they will move away from the switch until it closes again; then they will continue to move until the encoder Z channel is found. This position is machine zero.

Auto search for zero in the Z-axis is followed by a rapid move from the limit switch position down to the tool change position. This makes the Z-axis a little different from the other axes. The position found with the limit switch is not machine zero but is the position used to pull tools out of the spindle. Machine zero for Z is below this by Parameter 64. Be careful during the Z zero search and stay clear of that rapid move.

What Can Go Wrong With Limit Switches?

If the machine is operated without connector P5, a LOW LUBE and DOOR OPEN alarm will be generated. In addition, the Home search will not stop at the limit switch and will instead run into the physical stops on each axis.

If the switch is damaged and permanently open, the zero search for that axis will move in the negative direction at about 0.5 in/min until it reaches the physical travel stops at the opposite end of travel.

If the switch is damaged and permanently closed, the zero search for that axis will move at about 10 in/min in the positive direction until it reaches the physical stops.

If the switch opens or a wire breaks after the zero search completes, an alarm is generated, the servos are turned off, and all motion stops. The control will operate as though the zero search was never performed. The RESET can be used to turn servos on but you can jog that axis only slowly.

TOOL CHANGER POSITION SWITCHES

[Inside of Tool Carriage (2)]

GENEVA WHEEL POSITION MARK

The turret rotation mechanism has a switch mounted so that it is activated for about 30o of travel of the Geneva mechanism. When activated, this switch indicates that the turret is centered on a tool position. This switch is normally closed. The diagnostic display will show this status of this input switch as TC MRK. A 1 indicates the Geneva wheel is in position.

466

TECHNICAL REFERENCE

O MPERATORS ANUAL

96-8500 rev C

June 2001

TOOL #1 SENSE SWITCH

The tool rotation turret has a switch that is activated when tool one is in position or facing towards the spindle. At POWER ON this switch can indicate that tool #1 is in the spindle. If this switch is not active at power-on, the first tool change will rotate the turret until the switch engages and then move to the selected tool. The diagnostic display will show this status of this input switch as TOOL #1. A 1 indicates that tool #1 is in position.

SHUTTLE IN/OUT SWITCHES

[Tool Changer Holding Plate (2)]

Two switches are used to sense the position of the tool changer shuttle and the arm that moves it. One switch is activated when the shuttle is moved full travel inward and one is activated when it is full travel outward. These switches are normally closed so that both will be closed between in and out. The diagnostic display will show this status of this input switch. A 1 indicates the associated switch is activated or open.

TECHNICAL REFERENCE

467

O MPERATORS ANUAL

96-8500 rev C

June 2001

12.17 Z-AXIS BRAKE MOTOR

The servo brake motor compensates for the weight of the spindle head on machines without a counterbalance. The brake is released when the servo motors are activated, however the disk brake engagement spline may produce a small noise when the head is in motion, this is normal.

A parameter governs the ability of the brake motor, therefore mills without counterbalances must have param- eter 39, Z-Axis Torque Preload, set correctly. Check the parameters sections for the correct value.

12.18 HYDRAULIC COUNTERBALANCE

The spindle head weight is balanced by the upward pull of a hydraulic cylinder. The hydraulic oil forces the piston to retract into the cylinder body. The oil is then pressurized by a nitrogen reservoir. The system is self contained and passive (no pump is required to maintain the lift). Normal Z-Axis of the gas/oil counter balance has the initial pressure to balance the weight at full system volume, plus an additional 50-75 psi overcharge for longevity.

12.19 DIAGNOSTIC DATA

The ALARM / MSGS display is the most important source of diagnostic data. At any time after the machine completes its power-up sequence, it will either perform a requested function or stop with an alarm. Refer to the Alarms section for a complete list of alarms, their possible causes, and some corrective action. If there is an electronics problem, the controller may not complete the power-up sequence and the CRT will remain blank. In this case, there are two sources of diagnostic data; these are the audible beeper and the LEDs on the proces- sor PCB. If the audible beeper is alternating a second beep, there is a problem with the main control program stored in EPROMs on the processor PCB. If any of the processor electronics cannot be accessed correctly, the LEDs on the processor PCB will or will not be lit.

If the machine powers up but has a fault in one of its power supplies, it may not be possible to flag an alarm condition. If this happens, all motors will be kept off and the top left corner of the CRT will have the message:

POWER FAILURE ALARM

and all other functions of the control will be locked out.

When the machine is operating normally, a second push of the PARAM/DGNOS key will select the diagnostics display page. The PAGE UP and PAGE DOWN keys are then used to select one of two different displays. These are for diagnostic purposes only and the user will not normally need them. The diagnostic data consists of discrete input signals, discrete output relays and several internal control signals. Each can have the value of 0 or 1. In addition, there are up to three analog data displays and an optional spindle RPM display. Their number and functions are described in the following section.

468

TECHNICAL REFERENCE

O MPERATORS ANUAL

96-8500 rev C

June 2001

12.20 DISCRETE INPUTS / OUTPUTS

NOTE: The inputs/outputs that are followed by an asterisk (*) are active when equal to zero (0).

DISCRETE INPUT

# Name # Name

1000 TC Changer In 1023 Spare 3 1001 TC Changer Out 1024 Tool Unclmp Rmt* 1002 Tool One In Pos. 1025 Low Phasing 115V 1003 Low TSC Pressure 1026 Spare 3A 1004 Tool In Position 1027 Spare 3B 1005 Spindle High Gear 1028 Ground Fault 1006 Spindle Low Gear 1029 G31 Block Skip 1007 Emergency Stop 1030 Spigot Position 1008 Door Switch 1031 Conveyr Overcrnt 1009 M Code Finish* 1032 Spare 4A 1010 Over Voltage 1033 Spare 4B 1011 Low Air Pressure 1034 Spare 5A 1012 Low Lube Press. 1035 Spare 5B 1013 Regen Over Heat 1036 Spare 6A 1014 Draw Bar Open 1037 Spare 6B 1015 Draw Bar Closed 1038 Spare 7A 1016 Spare 1039 Spare 7B 1017 Spare 1040 Spare 8A 1018 Spare 1041 Spare 8B 1019 Spare 1042 Spare 9A 1020 Low Trans Oil Prs 1043 Spare 9B 1021 Spare 1 1044 Spare 10A 1022 Spare 2 1045 Spare 10B

The inputs are numbered the same as the connections on the inputs printed circuit board.

TECHNICAL REFERENCE

469

O MPERATORS ANUAL

96-8500 rev C

June 2001

DISCRETE OUTPUTS

# Name # Name

1100 Powered Servos 1120 Unclamp Pre-Chrg 1101 Spare 1121 HTC Shuttle Out (Air Drive Shuttle: Move shuttle in) 1102 Spare 1122 Brake 5TH Axis 1103 Spare 1123 CE Door Lock 1104 Brake 4th Axis 1124 M21 1105 Coolant Pump On 1125 M22 1106 Auto Power Off 1126 M23 (Air Drive Shuttle: Move Shuttle Out) 1107 Spind. Motor Fan 1127 TSC Coolant 1108 Move T.C. In 1128 Green Beacon On 1109 Move T.C. Out 1129 Red Beacon On 1110 Rotate T.C. CW 1130 Enable Conveyor 1111 Rotate T.C. CCW 1131 Reverse Conveyor 1112 Spindle Hi Gear 1132 M-fin 1113 Spindle Low Gear 1133 Probe 1114 Unclamp Tool 1134 spare 1115 Spare) 1135 spare 1116 Move Spigot CW 1136 spare 1117 Move Spigot CCW 1137 spare 1118 Pal Ready Light 1138 spare 1119 TSC Purge 1139 spare

The inputs are numbered the same as the connections on the inputs printed circuit board.

NOTE: The second page of diagnostic data is displayed using the PAGE UP and PAGE DOWN keys. It contains:

The second page of diagnostic data is displayed using the PAGE UP and PAGE DOWN keys. It contains:

INPUTS 2

Name Name Name

X Axis Z Channel X Overheat X Cable Input Y Axis Z Channel Y Overheat Y Cable Input Z Axis Z Channel Z Overheat Z Cable Input A Axis Z Channel A Overheat A Cable Input B Axis Z Channel B Overheat B Cable Input

X Home Switch X Drive Fault Spindle Z Channel Y Home Switch Y Drive Fault Z Home Switch Z Drive Fault A Home Switch A Drive Fault B Home Switch B Drive Fault

470

TECHNICAL REFERENCE

O MPERATORS ANUAL

96-8500 rev C

June 2001

The following inputs and outputs pertain to the Haas Vector Drive. If it is not enabled, these will display a value of *. Otherwise, it will display a 1 or 0.

Spindle Forward Spindle Reverse Spindle Lock Spindle at Spd* Spindle Stopped* Spindle Fault Spindle is Locked SP Cable Fault SP Over Heat

The following Discrete Inputs / Outputs 2 are available when parameter 278 SMNT BIT 1,2 or 3 (Side Mount Tool Changer) is set and parameter 209 MCD RLY BRN (M-Code relay board) is ON

DISCRETE INPUTS 2

Name Name

Spare Input 4A Spare Input 8A Spare Input 4B Serp. Shot Pin* Spare Input 5A Motor Stop Spare Input 5B Origin Spare Input 6A Clamp / Unclamp Spare Input 6B Serp. Cam Count Spare Input 7A Spare Input 11A Spare Input 7B Spare Input 11 B

DISCRETE OUTPUTS 2

Name Name

M21 M22 M23 M24 M25 M26 M27 M28 Spare Output 40 Spare Output 48 Spare Output 41 Spare Output 49 Spare Output 42 Spare Output 50 Spare Output 43 Spare Output 51 Spare Output 44 Spare Output 52 Spare Output 45 Spare Output 53 Spare Output 46 Spare Output 54 Spare Output 47 Spare Output 55

TECHNICAL REFERENCE

471

O MPERATORS ANUAL

96-8500 rev C

June 2001

ANALOG DATA

Name Description

DC BUSS Voltage from Haas Vector Drive (if equipped) uP TEMP Microprocessor enclosure temperature (displayed only when Parameter 278 bit

"uP ENCL TEMP" is set to 1) SP LOAD Spindle load in % SP SPEED Spindle RPM CW or CCW RUN TIME Machine total run time TOOL CHANGES Number of tool changes VER X.XXX Software version number MOCON MOCON software version YY/MM/DD Today's date MDL VB__ Machine model

FIVE AXIS DISCRETE INPUTS / OUTPUTS

Diagnostic data, including the discrete inputs and outputs, can be viewed by pressing the PARAM/DGNOS key twice. Descriptions of the inputs/outputs can be found in the "Technical Reference" section of the Operator's Manual.

Two discrete outputs, 4TH BK and 5TH BK, control the fourth and fifth axis brakes. When motion is com- manded in either the C or B axis, the brake for that axis must first be released. When the brake is released, a relay is activated; these two outputs represent the activation of the brake relays. These outputs normally will read zero (0), but if the C or B axis brakes are disengaged, these outputs will read "1".

There are two outputs that are specific to the VB-1, and that control the air-driven tool changer shuttle. When Parameter 278 bit AIR DRV SHTL is set to 1, discrete outputs 21 and 26 will appear as "SH IN" and "SH OUT", respectively. When "SH IN" is 1, the tool changer shuttle is in the "in" position, or in the correct position to make a tool change. When "SH OUT" is set to 1, the tool changer shuttle is in the "out" position, or out of position to make a tool change.

472

TECHNICAL REFERENCE

O MPERATORS ANUAL

96-8500 rev C

June 2001

12.21 THE EQUATIONS OF MOTION

An analysis of the physics of motion of a machine tool can give some important insights into the famous blocks per second issue. The following mathematics calculates the block per second requirement in order to achieve a worst case chordal deviation error while moving around a curve made up of a series of points:

Let: a = acceleration, v=speed (or feed rate), r = radius of curvature, e = error from chordal deviation l = block length (or travel length from point to point) b = blocks per second

The following are known: For a circular motion:

a = v*v/r (1) and in motion:

v = b * l (2) which gives:

b = v / l (3) and

e = r sqrt(r*r-l*l/4) (4) which gives:

r*r 2*r*e + e*e = r*r l*l/4 (5) and:

l= sqrt(8*r*e 4*e*e) (6) Since r>>e, e*e is small compare to r*e and we can assume:

l = sqrt(8*r*e) (7) And combining we get:

b = sqrt(a*r) / sqrt (8*r*e) (8) Or

b = sqrt(a / (8*e) ) (9)

Thus, block per second is dependent only on the machine acceleration and the maximum chordal error al- lowed. For a Haas VF-1, acceleration is about 60 inches per second per second. This means that if the maximum error is 0.00005 (one half of one ten-thousandth), the block per second required is 380 blocks per second. For a VF-9, an acceleration of 30 inches/sec/sec, it would be 269 blocks per second.

Note also that an important equation (7) above is the relationship between radius of curvature (r), chordal error (e) and block length (l). If you have a radius or curvature close to 1/4 inch and your maximum chordal error is 0.00005 inch, the recommended block length is 0.01 inch. This shows that it is not always required to use very short blocks.

TECHNICAL REFERENCE

473

O MPERATORS ANUAL

96-8500 rev C

June 2001

12.22 FORMULAS

TO FIND: TO FIND:

S.F.M TO FIND THE SFM OF A CUTTER OR WORKPIECE

EXAMPLE: To find the SFM of a cutter rotating at 600 RPM with a diameter of 10 inches.

SFM = = .262 x d x RPM 12

3.1416 x d x RPM

R.P.M. TO FIND THE RPM OF A CUTTER OR WORKPIECE

EXAMPLE: To find the RPM of a cutter rotating at 150 SFM with a diameter of 8 inches.

SFM = = 3.1416 x d d 12 x SFM 3.82 x SFM

I.P.M. TO FIND THE FEED (table travel in inches per minute)

EXAMPLE: To find the feed of a 10 tooth cutter rotating at 200 RPM with a feed per tooth of 0.012.

IPM = F.P.T. x T x RPM

F.P.R. TO FIND THE FEED PER REVOLUTION (in inches) OF A CUTTER.

EXAMPLE: To find the feed per revolution of a cutter rotating at 200 RPM with a table travel of 22 inches per minute.

F.P.R. = R.P.M. I.P.M.

F.P.T. TO FIND THE FEED PER TOOTH OF A CUTTER.

EXAMPLE: To find the feed per tooth of a cutter rotating at 200 RPM with a table travel of 22 inches per minute.

F.P.T. = I.P.M. T x R.P.M.

D = Depth of cut d = diameter of cutter I.P.M. = Feed (table travel in inches per minute) K = Constant (cubic inches per minute per HPc). Power

required to remove 1 cubic inch per minute. HPc = Horsepower at the cutter F.P.R. = Feed per revolution R.P.M. = Revolutions per minute T = Number of teeth in cutter W = Width of cut (in inches)

4 7 4

T E

C H

N IC

A L R

E F E

R E

N C

E

O M

P E R

A T O

R S

A N

U A

L

9 6 -8

5 0 0 rev C

June 2 0 0 1

ITEM NO.ITEM NO. QTY.QTY. PART NO.PART NO. DESCRIPTIONDESCRIPTION

1 1 25-4424 BELT ENCLOSER 310 SP VB

2 1 25-4426 MOTOR ENCLOSER 310 SP VB

3 1 25-4428 MOTOR ENCLOSER COVER

4 2 25-4429 RADIUS COVER VB MILLS

5 1 25-4430 SIDE COVER

6 1 25-4431 CABLE COVER 310

7 1 25-4432 CABLE COVER C-AXIS VB

8 6 40-1669 BHCS, 8-32 X 3/8

9 54 40-1750 BHCS, 10-32 X 3/8

10 3 40-1850 SHCS, 10-32 3/8

11 36 40-1975 BHCS, 1/4-20 X 5/16

12 1 57-4134 GASKET, AIR FITTINGS

13 1 57-4425 GASKET, BELT ENCLOSER

14 1 57-4427 GASKET, MOTOR ENCLOSER

15 2 57-4433 GASKET, CABLE COVER VB

16 1 57-4443 GASKET, MOTOR

17 1 58-16708 1/4 NPT X 1/4 POLYLINE

18 2 58-16752 90 DEG. COMPRESSION TILT

19 1 58-1677 1/4 NPT ANCHOR FITTING

20 1 58-19900 COPPER TUBING 1/4 0D

21 1 58-3670 1/4 NPT M-1/8 F REDUCER

21

20

18

15

6

17

19

12

9

5 11

114 94 102 16

3

9

1

14

9

1587 13 B

rid g

e M ill H

ead

Manualsnet FAQs

If you want to find out how the VB Series Haas works, you can view and download the Haas VB Series Mill Operation Manual Supplement v3 on the Manualsnet website.

Yes, we have the Operation Manual for Haas VB Series as well as other Haas manuals. All you need to do is to use our search bar and find the user manual that you are looking for.

The Operation Manual should include all the details that are needed to use a Haas VB Series. Full manuals and user guide PDFs can be downloaded from Manualsnet.com.

The best way to navigate the Haas VB Series Mill Operation Manual Supplement v3 is by checking the Table of Contents at the top of the page where available. This allows you to navigate a manual by jumping to the section you are looking for.

This Haas VB Series Mill Operation Manual Supplement v3 consists of sections like Table of Contents, to name a few. For easier navigation, use the Table of Contents in the upper left corner.

You can download Haas VB Series Mill Operation Manual Supplement v3 free of charge simply by clicking the “download” button in the upper right corner of any manuals page. This feature allows you to download any manual in a couple of seconds and is generally in PDF format. You can also save a manual for later by adding it to your saved documents in the user profile.

To be able to print Haas VB Series Mill Operation Manual Supplement v3, simply download the document to your computer. Once downloaded, open the PDF file and print the Haas VB Series Mill Operation Manual Supplement v3 as you would any other document. This can usually be achieved by clicking on “File” and then “Print” from the menu bar.