Manual Haas
Manual Haas
JUNE 2007
www.HaasCNC.com
96-8000 revR
Warranty Certificate
Covering Haas Automation, Inc., CNC Equipment
Effective January 1, 2003 LIMITED WARRANTY COVERAGE
All new Haas mills are warranted exclusively by the Haas Automations ("Manufacturer") limited warranty as follows: Each Haas CNC machine ("Machine") and its components ("Components") (except those listed below under limits and exclusions) is warranted against defects in material and workmanship for a period of one (1) year (except Tooroom Mills and Mini-Mills, which are six (6) months) from the date of purchase, which is the date that a machine is installed at the end user. The foregoing is a limited warranty and it is the only warranty by manufacturer. Manufacturer disclaims all other warranties, express or implied, including but not limited to all warranties of merchantability and fitness for a particular purpose. REPAIR OR REPLACEMENT ONLY: MANUFACTURER'S LIABILITY UNDER THIS AGREEMENT SHALL BE LIMITED TO REPAIRING OR REPLACING, AT THE DISCRETION OF MANUFACTURER, PARTS, OR COMPONENTS. An additional warranty extension may be purchased from your authorized Haas distributor.
LIMITATION OF LIABILITY AND DAMAGES: MANUFACTURER IS NOT LIABLE TO BUYER, SELLER OR ANY CUSTOMER OF BUYER FOR LOSS OF PROFITS, LOST DATA, LOST PRODUCTS, LOSS OF REVENUE, LOSS OF USE, COST OF DOWN TIME, BUSINESS GOOD WILL, OR ANY OTHER INCIDENTAL OR CONSEQUENTIAL DAMAGE, WHETHER IN AN ACTION IN CONTRACT OR TORT, ARISING OUT OF OR RELATED TO THE MACHINE OR COMPONENTS, OTHER PRODUCTS OR SERVICES PROVIDED BY MANUFACTURER OR SELLER, OR THE FAILURE OF PARTS OR PRODUCTS MADE BY USING THE MACHINE OR COMPONENTS, EVEN IF MANUFACTURER OR SELLER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. MANUFACTURER'S LIABILITY FOR DAMAGES FOR ANY CAUSE WHATSOEVER SHALL BE LIMITED TO REPAIR OR REPLACEMENT, AT THE DISCRETION OF MANUFACTURER, OF THE DEFECTIVE PARTS, COMPONENTS OR MACHINE. Buyer has accepted this restriction on its right to recover incidental or consequential damages as part of its bargain with Seller. Buyer realizes and acknowledges that the price of the equipment would be higher if Seller or Manufacturer were required to be responsible for incidental or consequential damages, or punitive damages.
This Warranty Certificate supersedes any and all other agreements, either oral or in this writing, between the parties hereto with respect to the warranties, limitations of liability and/or damages regarding the Machine or Components, and contains all of the covenants and agreements between the parties with respect to such warranties, liability limitations and/or damages. Each party to this Warranty Certificate acknowledges that no representations, inducements, promises, or agreements, orally or otherwise, have been made by any party, or anyone acting on behalf of any party, which are not embodied herein regarding such warranties, liability limitations and/or damages, and that no other agreement, statement, or promise not contained in this Warranty Certificate shall be valid or binding regarding such warranties, liability limitations and damages.
TRANSFERABILITY
This warranty is transferrable from the original end-user to another party if the machine is sold via private sale before the end of the warranty period.
Haas Automation, Inc. 2800 Sturgis Road, Oxnard, CA 93030-8933 Phone: (805) 278-1800 FAX: (805) 278-8561
Table Of Contents
Table Of Contents
Buyer has accepted this restriction on its right to recover incidental or consequential damages as part of its bargain with Seller. Buyer realizes and acknowledges that the price of the equipment would be higher if Seller or Manufacturer were required to be responsible for incidental or consequential damages, or punitive damages. This Warranty Certificate supersedes any and all other agreements, either oral or in this writing, between the parties hereto with respect to the warranties, limitations of liability and/or damages regarding the Machine or Components, and contains all of the covenants and agreements between the parties with respect to such warranties, liability limitations and/or damages. Each party to this Warranty Certificate acknowledges that no representations, inducements, promises, or agreements, orally or otherwise, have been made by any party, or anyone acting on behalf of any party, which are not embodied herein regarding such warranties, liability limitations and/or damages, and that no other agreement, statement, or promise not contained in this Warranty Certificate shall be valid or binding regarding such warranties, liability limitations and damages.
TRANSFERABILITY
This warranty is transferrable from the original end-user to another party if the machine is sold via private sale before the end of the warranty period. Should you have a problem with your machine, please consult your operator's manual first. If this does not resolve the problem, call your authorized Haas distributor. As a final solution, call Haas directly at the number indicated below.
Haas Automation, Inc. 2800 Sturgis Road Oxnard, California 93030-8933 USA Phone: (805) 278-1800 FAX: (805) 278-8561
In order to record the end-user of this machine for updates and for product safety notices, we must have the machine registration returned immediately. Please fill out completely and mail to the above address to ATTENTION (VF-1, GR-510, VF-6, etc. whichever is applicable) REGISTRATIONS. Please include a copy of your invoice to validate your warranty date and to cover any additional options you may have purchased. Company Name: _____________________________ Contact Name: ________________________ Address: _________________________________________________________________________________ ___________________________________________________________________________________________ ___________________________________________________________________________________________ Dealer: ________________________________________ Date Installed: ________________________ Model No. : ____________________________________ Serial Number: ________________________ Telephone: ( ___ ) ___________________________ FAX: ( _____ ) ___________________________
PLEASE
READ
This machine is equipped with an electronically-recorded serial number that cannot be altered. This is done to protect you in case of theft and to track machines when sold to other owners. After approximately 800 hours of use, the machine will automatically shut down if it has not been electronically unlocked by the Haas Factory Outlet. To unlock the machine, we must have the above registration with the serial number. You will receive a number from the Haas Factory Outlet that you will write in over the serial number on the setting page (#26). If, for any reason, the serial number of the machine is erased in memory, the machine will revert back to a 200 hour limit for your protection.
Table Of Contents
III
If you wish to write Haas Automation, please use this address: Haas Automation, Inc. 2800 Sturgis Road Oxnard, CA 93030 Att: Customer Satisfaction Manager e-mail: [email protected] Once you contact the Haas Automation Customer Service Center, we will make every effort to work directly with you and your distributor to quickly resolve your concerns. At Haas Automation, we know that a good Customer-Distributor-Manufacturer relationship will help ensure continued success for all concerned.
Customer Feedback
If you have any concerns or questions in regards to the Haas Operators manual, please contact us via our E-mail, [email protected]. We look forward to any suggestions you may have.
Certification
All Haas CNC machine tools carry the ETL Listed mark, certifying that they conform to the NFPA 79 Electrical Standard for Industrial Machinery and the Canadian equivalent, CAN/CSA C22.2 No. 73. The ETL Listed and cETL Listed marks are awarded to products that have successfully undergone testing by Intertek Testing Services (ITS), an alternative to Underwriters Laboratories.
The ISO 9001:2000 certification from TUV Management Service (an ISO registrar) serves as an impartial appraisal of Haas Automations quality management system. This achievement affirms Haas Automations conformance with the standards set forth by the International Organization for Standardization, and acknowledges the Haas commitment to meeting the needs and requirements of its customers in the global marketplace.
IV
Table Of Contents
The Information contained in this manual is constantly being updated. The latest updates, and other helpful information is available online as a free download in .pdf format (go to www.HaasCNC.com and click on Manual Updates under the Customer Services drop-down menu in the navigation bar).
Table of Contents
SAFETY ................................................................................................................................................................... 4 OPERATION ............................................................................................................................................................ 9 PENDANT KEYBOARD INTRODUCTION ............................................................................................................. 11 FUNCTION KEYS ........................................................................................................................................ 12 JOG KEYS ................................................................................................................................................ 12 OVERRIDE KEYS ....................................................................................................................................... 13 DISPLAY KEYS ........................................................................................................................................... 14 CURSOR KEYS .......................................................................................................................................... 15 ALPHA KEYS ............................................................................................................................................. 15 MODE KEYS ............................................................................................................................................. 16 NUMERIC KEYS ......................................................................................................................................... 17 POSITION DISPLAYS .................................................................................................................................... 17 OFFSETS DISPLAY ...................................................................................................................................... 18 CURRENT COMMANDS DISPLAY ..................................................................................................................... 18 ALARMS / MESSAGES DISPLAY ...................................................................................................................... 19 SETTING / GRAPHIC DISPLAY FUNCTION ......................................................................................................... 20 DATE AND TIME ......................................................................................................................................... 21 SCREEN SAVER ......................................................................................................................................... 21 HELP / CALCULATOR FUNCTION .................................................................................................................... 21 SPINDLE WARM-UP PROGRAM ..................................................................................................................... 24 RUN-STOP-JOG-CONTINUE .......................................................................................................................... 24 COOLANT LEVEL GAUGE ............................................................................................................................. 25 OPTIONS .................................................................................................................................................. 25 RJH-E SCREENS ...................................................................................................................................... 28 PROGRAMMING ................................................................................................................................................... MACHINE POWER-UP ................................................................................................................................. PROGRAMMING INTRODUCTION ..................................................................................................................... ALPHABETICAL ADDRESS CODES .................................................................................................................. PART SETUP ............................................................................................................................................. TOOLING ................................................................................................................................................. TOOL CHANGER ........................................................................................................................................ JOG MODE .............................................................................................................................................. PALLET CHANGER (EC-SERIES AND MDC-500) ............................................................................................. TIPS AND TRICKS ...................................................................................................................................... 31 31 31 38 38 39 40 48 56 62
Table Of Contents
INTUITIVE PROGRAMMING SYSTEM (IPS) ......................................................................................................... INTRODUCTION .......................................................................................................................................... AUTOMATIC MODE ...................................................................................................................................... SYSTEM MODE .......................................................................................................................................... SUBROUTINES ..................................................................................................................................................... LOCAL SUBROUTINES ................................................................................................................................ SUBROUTINE CANNED CYCLE EXAMPLE ......................................................................................................... SUBROUTINES WITH MULTIPLE FIXTURES ...................................................................................................... ADVANCED EDITOR ............................................................................................................................................. THE PROGRAM MENU ................................................................................................................................ THE EDIT MENU ....................................................................................................................................... THE SEARCH MENU .................................................................................................................................. THE MODIFY MENU ................................................................................................................................... THE I/O MENU ......................................................................................................................................... THE F1: HELP MENU ................................................................................................................................ ADVANCED EDITOR SHORTCUTS ...................................................................................................................
65 65 65 65 68 68 69 69 70 70 71 71 71 72 72 73
QUICK CODE ........................................................................................................................................................ 74 VISUAL QUICK CODE ................................................................................................................................. 79 CUTTER COMPENSATION .................................................................................................................................... 80 ENTRY AND EXIT FROM CUTTER COMPENSATION ............................................................................................... 81 FEED ADJUSTMENTS IN CUTTER COMPENSATION .............................................................................................. 81 MACROS ............................................................................................................................................................... 83 INTRODUCTION .......................................................................................................................................... 83 OPERATION NOTES ..................................................................................................................................... 84 SYSTEM VARIABLES IN-DEPTH ...................................................................................................................... 89 VARIABLE USAGE ....................................................................................................................................... 93 ADDRESS SUBSTITUTION ............................................................................................................................ 94 G65 MACRO SUBROUTINE CALL ................................................................................................................ 101 COMMUNICATION WITH EXTERNAL DEVICES - DPRNT[ ] ................................................................................. 102 FANUC-STYLE MACRO FEATURES NOT INCLUDED IN HAAS CNC CONTROL ......................................................... 104 4TH AND 5TH AXIS PROGRAMMING ................................................................................................................. 105 CREATING FIVE-AXIS PROGRAMS ................................................................................................................. 105 INSTALLING AN OPTIONAL FOURTH AXIS ........................................................................................................ 107 INSTALLING AN OPTIONAL FIFTH AXIS ........................................................................................................... 108 AUXILIARY AXIS ....................................................................................................................................... 108 DISABLEING THE AXES .............................................................................................................................. 109 G CODES (PREPARATORY FUNCTIONS)............................................................................................................ 111 M CODES (MISCELLANEOUS FUNCTIONS) ....................................................................................................... 167 SETTINGS ............................................................................................................................................................ 175 MAINTENANCE .................................................................................................................................................... 193 INDEX ................................................................................................................................................................... 207
This manual and all of its contents are copyright protected 2007, and may not be reproduced without written permission from Haas Automation, Inc.
VI
Table Of Contents
THINK SAFETY!
Important This machine to be operated only by trained personnel in accordance with the Operators manual, safety decals, safety procedures and instructions for safe machine operation.
USES AND GUIDELINES FOR PROPER MACHINE OPERATION ........................................................................... MODIFICATIONS TO THE MACHINE ....................................................................................................................... SAFETY PLACARDS ............................................................................................................................................... MILL WARNING DECALS ........................................................................................................................................ DECLARATION OF WARNINGS, CAUTIONS, AND NOTES ..................................................................................... LATHE WARNING DECALS .....................................................................................................................................
4 4 4 6 6 7
Safety
DO NOT modify or alter this equipment in any way. If modifications are necessary, all such requests must be handled by Haas Automation, Inc. Any modification or alteration of any Haas Milling or Turning Center could lead to personal injury and/or mechanical damage and will void your warranty. It is the shop owners responsibility to make sure that everyone who is involved in installing and operating the machine is thoroughly acquainted with the installation, operation, and safety instructions provided with the machine BEFORE they perform any actual work. The ultimate responsibility for safety rests with the shop owner and the individuals who work with the machine.
This machine is automatically controlled and may start at any time. This machine can cause severe bodily injury. Do not operate with the doors open.
Safety
OBSERVE
Avoid entering the machine enclosure. Do not operate without proper training. Always wear safety goggles. Never place your hand on the tool in the spindle and press ATC FWD, ATC REV, NEXT TOOL, or cause a tool change cycle. The tool changer will move in and crush your hand. To avoid tool changer damage, ensure that tools are properly aligned with the spindle drive lugs when loading tools. The electrical power must meet the specifications in this manual. Attempting to run the machine from any other source can cause severe damage and will void the warranty. DO NOT press POWER UP/RESTART on the control panel until after the installation is complete. DO NOT attempt to operate the machine before all of the installation instructions have been completed. NEVER service the machine with the power connected. Improperly clamped parts machined at high speeds/feeds may be ejected and puncture the safety door. Machining oversized or marginally clamped parts is not safe. Windows must be replaced if damaged or severely scratched - Replace damaged windows immediately. Do not process toxic or flammable material. Deadly fumes can be present. Consult material manufacturer for safe handling of material by-products before processing.
Safety
USES AND GUIDELINES FOR PROPER MACHINE OPERATION All milling machines contain hazards from rotating cutting tools, belts and pulleys, high voltage electricity, noise, and compressed air. When using milling machines and their components, basic safety precautions should always be followed to reduce the risk of personal injury and mechanical damage. READ ALL APPROPRIATE WARNINGS, CAUTIONS, AND INSTRUCTIONS BEFORE OPERATING THIS MACHINE.
SAFETY PLACARDS To help ensure that CNC tool dangers are quickly communicated and understood, hazard symbol decals are placed on Haas Machines in locations where hazards exist. If decals become damaged or worn, or if additional decals are needed to emphasize a particular safety point, contact your dealer or the Haas factory. Never allow anyone to alter or remove any safety decal or symbol.
Each hazard is defined and explained on the general safety decal, located at the front of the machine. Particular locations of hazards are marked with warning symbols. Review and understand the four parts of each safety warning, explained below, and familiarize yourself with the symbols on the following pages.
Safety
Safety
Cautions are used when there is the potential for minor personal injury or mechanical damage, for example: CAUTION! Power down the machine before performing any maintenance tasks. Notes give additional information to the operator about a particular step or procedure. This information should be taken into consideration by the operator as the step is performed to ensure there is no confusion, for example:
NOTE: If machine is equipped with the optional extended Z-clearance table, follow these guidelines: Avoid extreme loads on the center of table or far end of table. The weight of the part should be distributed evenly over the table or one pad. Flatness of part should be within 0.002".
Safety
Safety
Safety
OPERATION
The following is a visual introduction to a HAAS mill. Some of the features shown will be highlighted in their appropriate sections.
Floppy Disk Drive
USB Memory Device Run/Setup Mode Key Switch
USB
I O
GFI PROTECTED
Detail A
(Some Features are Optional) Pull down to Lock in Place Window Open Position Push in Window Closed Position
Clip Board
3
Tool Changer (Umbrella Type)
(See Detail A)
Operator Manual & Assembly Data Beeper Vise Handle Holder Control Pendant
2
Side Mount Tool Changer (SMTC)
Pull up
20HP
2-SPEED
GEAR DRIVE
10,000 RPM
5 6 7
Air Gun
Chip Chute Operator Door (2) Tool Release Button Table Tool Crib Coolant Tank Assembly SMTC Double Arm Optional P-Cool Assembly Coolant Nozzles View Rotated 908 CW
Chip Basket
Spindle
Introduction
10
Introduction
PENDANT K EYBOARD INTRODUCTION The keyboard is broken up into eight sections: Function Keys, Jog Keys, Override Keys, Display Keys, Cursor Keys, Alpha Keys, Mode Keys and Number Keys. In addition there are miscellaneous keys and features located on the pendant and keyboard which are described briefly.
RESET
POWER UP RESTART
DISPLAY
RECOVER
EDIT
CURNT COMDS
INSERT
ALTER
DELETE
UNDO
PRGRM CONVRS
POSIT
OFFSET
MEM
F1
TOOL OFFSET MEASURE
F2
NEXT TOOL
F3
TOOL RELEASE
F4
PART ZERO SET
SINGLE BLOCK
ALARM MESGS
PARAM DGNOS
SETNG GRAPH
HELP CALC
MDI DNC
COOLNT
HOME
PAGE UP
+B +A +Z -Y
.0001 .1
CURSOR
PAGE DOWN
ALL
ORIGIN
SINGL
+X
JOG LOCK
-Z
-X
LIST PROG
+Y
-A -B
SELECT PROG
SEND
RECV
AUX CLNT
SHIFT
OVERRIDES
-10
FEED RATE
A G M S Y
B H N T Z
C I O U
/ EOB
[
D J P V (
E K Q W
]
&
7 4
8 5 2 0
:
!
9 6 3
100%
FEED RATE
+10
FEED RATE
F L R X
-10
SPINDLE
100%
SPINDLE
+10
SPINDLE
*1
+
,
=
CW 5%
RAPID
STOP 25%
RAPID
CCW 50%
RAPID
SPINDLE
100%
RAPID
CANCEL
SPACE
WRITE ENTER
Power On- Turns the machine on. Power Off- Turns the machine off. Spindle Load Meter - Displays the spindle load, in percent. Emergency Stop - This stops all axes motion, stops the spindle and tool changer, and turns off the coolant pump. Jog Handle - This is used to jog all axes. Can also be used to scroll through program code or menu items while editing. Cycle Start - Starts a program. This button is also used to start a program in Graphics mode. Feed Hold - Will stop all axis motion. Note: Spindle will continue to turn during cutting. Reset - Will stop the machine (axes, spindle, coolant pump, and tool changer are stopped). This is not a recommended method to stop the machine, as it may be difficult to continue from that point. Power Up / Restart - When this key is pressed, the axes will return to the machine zero position and a tool change may occur. See Setting 81 in the Settings chapter for more information. Recover - This button aids the operator in recovering the tool changer from an abnormal stop. See the tool changer section for more information.
Introduction
11
Memory Lock Key Switch - This switch 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. Setting 8 locks all programs. Setting 23 locks 9xxx programs. Setting 119 locks offsets. Setting 120 locks macro variables. Second Home Button - This button will rapid all axes to the coordinates specified in work Offset G129. The sequence is as follows: First, the Z axis is returned to machine zero, then the X and Y axes are moved, then the Z axis is moved to its second home position. This feature will work in any mode except DNC. Work Light Switch - This switch will turn on the work light inside of the machine. Keyboard Beeper - Located at the top of the parts tray. The volume can be adjusted by turning the cover.
FUNCTION KEYS F1- F4 Keys - These buttons have different functions depending upon which mode of operation you are in. For example, F1-F4 will cause a different action in Editing mode, than Program mode, than Offset mode. See the specific mode section for further descriptions and examples.
Tool Offset Meas (Tool Offset Measure) - Used to record tool length offsets during part setup. Next Tool - Used to select the next tool from the tool changer (usually used during part setup). Tool Release - Releases the tool from the spindle when in MDI mode, zero return mode, or handle jog mode. Part Zero Set - Used to automatically set work coordinate offsets during part setup (see Setting Offsets in the Operation section).
JOG K EYS Chip FWD (Chip Auger Forward) - Starts optional chip auger in the Forward direction, moving chips out of the machine.
Chip Stop (Chip Auger Stop) - Stops auger movement. Chip REV (Chip Auger Reverse) - Starts the optional chip auger in the Reverse direction, which is useful in clearing jams and debris from auger. X/-X, Y/-Y, Z/-Z, A/-A and B/-B (axis keys)- Allows the operator to manually jog axis by holding down the individual button or pressing the desired axes and using the jog handle. Jog Lock - Works with the axes buttons. Press jog lock and then an axis button and the axis will move to maximum travel or until jog lock is pressed again. CLNT Up (Coolant Up) - Moves the optional Programmable Coolant (P-Cool) nozzle up. CLNT Down (Coolant Down) - Moves the optional P-Cool nozzle down. AUX CLNT (Auxiliary Coolant) - Pressing this key while in MDI mode will turn on the optional Through the Spindle Coolant (TSC) system; pressing it a second time will turn off TSC.
12
Introduction
O VERRIDE K EYS These keys give the user the ability to override the speed of non-cutting (rapid) axes motion, programmed feeds and spindle speeds.
-10 - Decreases current feedrate by 10%. 100% - Sets overridden feedrate to programmed feedrate. +10 - Increases current feedrate by 10%. -10 - Decreases current spindle speed by 10%. 100% - Sets overridden spindle speed to programmed speed. +10 - Increases current spindle speed by 10%. Hand Cntrl Feed (Handle Control Feedrate) - Pressing this button allows the jog handle to be used to control the feedrate in 1% increments. Hand Cntrl Spin (Handle Control Spindle) - Pressing this button allows the jog handle to be used to control spindle speed in 1% increments. CW - Starts the spindle in the clockwise direction. This button is disabled on CE (export) machines. CCW - Starts the spindle in the counterclockwise direction. This button is disabled on CE (export) machines. The spindle can be started or stopped with the CW or CCW buttons any time the machine is at a Single Block stop or the Feed Hold button has been pressed. When the program is restarted with Cycle Start, the spindle will be turned back on to the previously defined speed. STOP - Stops the spindle. 5% / 25% / 50% / 100% Rapid - Limits machine rapids to the value on the key. The 100% Rapid button allows maximum rapid.
Override Usage
The feedrate can be varied from 0% to 999% of the programmed value while in operation. This is done with the feedrate +10%, -10% and 100% buttons. The feedrate override is ineffective during G74 and G84 tapping cycles. Feedrate override does not change the speed of any auxiliary axes. During manual jogging, the feedrate 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 0% to 999%, using the spindle overrides. 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 (pressing Cycle Start). 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 Settings page, it is possible to disable the override keys so that the operator cannot select them. These are Settings 19, 20 and 21.
Introduction
13
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 button must be pressed to proceed after a Feed Hold. The door switch on the enclosure also has a similar result but will display Door Hold when the door is opened. When the door is closed, the control will be in Feed Hold and Cycle Start must be pressed to continue. Door Hold and Feed Hold do not stop any auxiliary axes. The operator can override the coolant setting by pressing the COOLNT button. The pump will remain either on or off until the next M-code or operator action (see Setting 32). Overrides can be reset to defaults with an M30 and/or pressing Reset (See Setting 83).
D ISPLAY K EYS
Displays keys provide access to the machine displays, operational information and help pages. Some of these keys will display additional screens when pressed more than once. Prgrm/Convrs - Displays the currently selected program. In Edit mode, pressing the button twice will enter the Quick Code (See Quick Code section) feature and pressing it three times will enter the Visual Quick Code feature (See Visual Quick Code section in Quick Code). Posit (Position) - Displays the position of the machine axes. Pressing the Page Up/Down buttons scroll through operator, machine, work, and distance-to-go formats and displays them in larger formats. Offset - Displays the tool length geometry, radius offsets, wear offsets, and coolant position. Pressing Offset button twice or pressing the Page Up button will access the work offsets page. Curnt Comds (Current Commands) - Displays the current program details (for example G, M, H and T codes), Spindle load information and machine axes positions while the program runs. Press Page Up/ Down to view tool load/vibration (See the tool load/vibration section), tool life (See the tool life section), maintenance, macro variables, program timers and program code details. Alarm / Mesgs (Alarms / Messages) - Displays the alarm viewer and message screens. There are three alarm screens, the first shows the currently active alarms (first press of the Alarm/Mesgs button). Pressing the Right Arrow button switches to the Alarm History screen, which keeps a history of recent alarms. Pressing Right Arrow again switches to the alarm viewer screen. This screen shows one alarm at a time with its description. The default will be the last alarm in the alarm history. The user can then scroll through the alarms by pressing the Up and Down Arrow buttons. Also, the user can enter an alarm number and press Enter/Write and the name and description will be displayed. Pressing Alarm/mesgs a second time will display a page for user messages and notes. Use the keypad to enter messages for other operators/programmer or write notes for a current project. If there is a message, every time the machine is powered on the messages page will display. Messages are displayed at power up until they are erased. See Message section for more details. Param / Dgnos (Parameters / Diagnostics) - Displays parameters that define the machine's operation. To find a known parameter, type in the number and press the up or down arrow. Parameters are set at the factory and should not be modified by the user. A second press of the Param / Dgnos key will display the first page of diagnostic data. This information is mainly used for troubleshooting by a certified Haas service technician. The first page of diagnostic data is discrete inputs and outputs. Pressing Page Down will display the additional pages of diagnostic data. Setng / Graph (Settings / Graphics) - Displays and allows changing of user settings. (Note that the settings are grouped; these groups are for a specific subject). To find a known setting, type in the number and press the up or down arrow.
14
Introduction
Pressing the Setng / Graph key a second time enables Graphics mode. In Graphics mode the user can view the generated tool path of the program and, if necessary, debug the program before running it (See Graphics Mode in the Operation section) Help / Calc (Help / Calculator) - Displays an abbreviated manual. In this on-screen manual there are brief descriptions of G and M codes, definitions of control features, troubleshooting and maintenance issues. Pressing Help/ Calc a second time will display the help calculator. Press the Page Down button to scroll through the calculator pages (see the calculator section).
CURSOR KEYS Cursor Keys give the user the ability to move to various screens and fields in the control and are used in the editing of CNC programs.
Home - This button will move the cursor to the top-most item on the screen; in editing, this is the top left block of the program. Up / Down Arrows - moves up/down one item, block or field. Page Up / Down - Used to change displays or move up/down one page when viewing a program. Left Arrow - Used to select individually editable items when viewing a program; moves cursor to the left. It is used to scroll through setting selections. Right Arrow - Used to select individually editable items when viewing a program; moves cursor to the right. It is used to scroll through setting selections and moves the zoom window right when in graphics mode. End - This button generally moves the cursor to the bottom-most item on the screen. In editing, this is the last block of the program.
ALPHA KEYS The alpha keys allow the user to enter the letters of the alphabet along with some special characters. Some of the special characters are entered in by first pressing the Shift key.
Shift - The shift key provides access to additional characters on the keyboard. The additional characters are seen in the upper left of some of the alpha and number keys. Pressing Shift and then the character will enter that character on the data entry line. When entering text, UPPER CASE is the default, to enter lower case characters, press and hold the Shift key. When a control has a fifth axis installed, the B axis is selected for jogging by pressing the Shift button and then the +/-A jog 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 program line. ( ) - Parentheses are used to separate CNC program commands from user comments. They must always be entered as a pair. Note: 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 parenthesis. / - The right slash is used in the Block Delete feature and in Macro expressions. 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 (divide by) in macro expressions (see the Macro section). [ ] - Square brackets are used in macro functions. Macros are an optional software feature (see the Macro section).
Introduction
15
MODE KEYS Mode keys change the operational state of the CNC machine tool. Once a mode button is pressed, the buttons in the same row are made available to the user. The current mode is always displayed on the top line just to the right of the current display in between parenthesis.
Edit- Selects edit mode. This mode is used to edit programs in control's memory. Insert - Pressing this button will enter commands into the program in front of the cursor. This button will also insert the text from the clipboard to the current cursor location, and is also used to copy blocks of code in a program (See Advanced Editor Section) Alter - Pressing this button will change the highlighted command or text to the newly entered commands or text. This button will also change the highlighted variables to the text stored in the clipboard, or move a selected block to another location. Delete - Deletes the item that the cursor is on, or deletes a selected program block. Undo - Undoes up to the last 9 edit changes, and deselects a highlighted block. MEM (Memory) - Selects the memory mode. This page displays the current program that is selected in the list of programs. Single Block - Turns single block on or off. When single block is on, only one block of the program is executed, for every press of Cycle Start. Dry Run - This is used to check actual machine movement without cutting a part. (See the Dry Run section in the Operation Chapter) Opt Stop (Optional Stop) - Turns on and off optional stops. Also see G103 in the G-Code chapter. When this feature is ON and an M01 (optional stop) code is programmed, the machine will stop when it reaches the M01. The machine will continue once Cycle Start is pressed. However, depending on the lookahead function (G103), it may not stop immediately (See block look ahead section). In other words, the block look-ahead feature may cause the Optional Stop command to ignore the nearest M01. If the Optional Stop button is pressed during a program it will take effect on the line after the highlighted line when the Opt Stop button is pressed. Block Delete - Turns On/Off block delete function. Blocks with a slash (/) as the first item are ignored (not executed) when this option is enabled. If a slash is within a line of code, the commands after the slash will be ignored if this feature is enabled. Block Delete will take effect two lines after Block Delete is pressed, except when cutter compensation is used, in this case, block delete will not take effect until at least four lines after the highlighted line. Processing will slow down for paths containing block deletes during high-speed machining. Block Delete will stay active when power is cycled. MDI/DNC - MDI mode is the Manual Data Entry mode where a program can be written but it is not entered into memory. DNC mode Direct Numeric Control, allows large programs to be drip fed into the control so it can be executed (See DNC mode section) Coolnt (Coolant) - Turns the optional coolant on and off. Orient Spindle - Rotates the spindle to a given position and then locks the spindle. Can be used during setup to indicate parts. ATC FWD - Rotates the tool turret to the next tool. To load a specific tool into the spindle, enter MDI mode, type a tool number (T8) and press ATC FWD. ATC REV - Rotates the tool turret to the previous tool. To load a specific tool into the spindle, enter MDI mode, type a tool number (T10) and press ATC REV. Handle Jog - Selects axis jogging mode .0001, .1 - 0.0001 inches (metric 0.001mm) for each division on the jog handle. For dry run, .1 inches/min.
16
Introduction
.0001/.1, .001/1., .01/10., .1/100. - The first number (top number), when in inch mode, selects that amount to be jogged for each click of the jog handle. When the mill is in MM mode the first number is multiplied by ten when jogging the axis (e.g. .0001 becomes 0.001mm). The second number (bottom number) is used for dry run mode and is used to select the speed feedrate and axis motions. Zero Ret (Zero Return) - Selects Zero Return mode, which displays axis location in four different categories, they are; Operator, Work G54, Machine and Dist (distance) to go. You can page up or down to view each category in a larger format by itself. All - Returns all axes to machine zero. This is similar to Power Up/Restart except a tool change will not occur. This can be used to establish the initial axes zero position. Origin - Sets selected displays and timers to zero. Singl (Single) - Returns one axis to machine zero. Press the desired axis letter and then press the Singl Axis button. This can be used to establish the initial axis zero position. HOME G28 - Returns all axes to machine zero in rapid motion. Home G28 will also home a single axis in the same manner if you enter an axis letter and press the home G28 button. 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. List Prog (List Programs) - Displays the programs stored in the control. Select Prog - Makes the highlighted program, in the program list, the current program. Note: The current program will have an * preceding it in the program list. Send - Transmits programs out the RS-232 serial port. (See RS-232 section) Recv - Receives programs from the RS-232 serial port. (See RS-232 section) Erase Prog - Erases the highlighted program in Memory mode or the entire program when in MDI mode.
N UMERIC 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. Space - Used to format comments placed into programs or in the message area. Write / Enter - General purpose enter key. - (Minus sign)- Used to enter negative numbers. . (Decimal Point)- Used for decimal precision.
POSITION D ISPLAYS
The following are the position displays. Home Page This display shows the four displays (Operator, Work, Machine and Distance-to-go) simultaneously. Use the Page Up/Down keys or the UP/Down Arrows to scroll through these pages. Operator Display This display is used to show the distance the operator has jogged any of the axes. This does not represent the actual distance the axis is from machine zero. Axes can be zeroed by selecting an axis (X, Y or Z) and pressing the Origin key.
Introduction
17
Work Display This displays the position of X, Y and Z in relation to the part; not machine zero. On power-up, it will display the value in work offset G54 automatically. The position can only be changed by entering values in work offsets G54 through G59, G110 through G129, or by commanding a G92 in a program. Machine Display This display is the actual axes position away from machine zero. Distance To Go This display shows the distance remaining before the axes reaches its commanded position.
O FFSETS D ISPLAY
There are two offsets pages. The first offset page is the Tool Geometry/Wear page. The second is the Work Zero offset page. Tool Geometry/Wear The Tool/Geometry page is displayed by pressing the Offset button. This page displays tool numbers, tool length geometry and wear values, tool radius geometry and wear values, flutes values and actual diameter values. If the mill has the optional programmable coolant unit, this page will also display the coolant position entered for each tool. To enter values into these fields key in a number and press F1. Keying in a number and pressing F2 will set the negative of the entered value into the offsets. Entering a value and pressing Write/Enter will add the value to what is currently entered. To clear all the values on the page press Origin, the mill will prompt the operator with "Zero All (Y/N) press Y to zero all or press N to leave all the values unchanged. Work Zero Offset The Work Zero Offset page is displayed by pressing the Offset button twice. This page displays the values entered so that each tool knows where the part is located on the table. A value can be set for each axis (X,Y and Z). The operator can scroll to each column by using the arrow key or by pressing the Page Up or Down buttons to access the other offsets in the Work Zero section. In order for each tool to locate the part, the tools used in a program must be "Touched off" the part. A value can be entered by typing in a number and pressing F1, or the value added to an existing value by pressing Enter/Write. Keying in a number and pressing F2 will set the negative of the entered value into the offsets. To clear all the values on the page press Origin, the mill will prompt the operator with "Zero All (Y/N) press Y to zero all or press N to leave all the values unchanged.
18
Introduction
Operation Timers Display This display shows the current power-on time, cycle start time (the amount of total time the machine has been running a program), and the feed time (total amount of time the machine has been feeding). 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, these counters 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. Tool Life display This display shows the time the tool is used in a 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 is used to assist in predicting tool life. The values in this display can be reset to zero by highlighting the value and pressing the Origin button. Note: The maximum value is 32767, once this value is reached, the control will start back at zero. 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, entering a number in that column will cause the machine to generate an alarm (#362 Tool Usage Alarm) when that count is reached. Tool Load Monitor and Display The operator can enter the maximum amount of tool load, in %, that is expected for each tool. The operator can select the appropriate action to be taken when this load is exceeded. This display provides for the entry of this alarm point and also displays the largest load that tool has seen in a previous feed. NOTE: Surface Feet per Minute (SFM) and Chip Load are displayed on the Current Commands page. SFM is displayed as fpm (feet per minute) or mpm (meters per minute). The tool load monitor function operates whenever the machine is in a feed operation (G01, G02, or G03). If the limit is exceeded the action specified in Setting 84 will occur (See settings section for a description). Axis Load Monitor Axis load is 100% to represent the maximum continuous load. Up to 250% can be shown, however an axis load above 100%, for an extended period of time, can lead to an overload alarm. Maintenance This page allows the operator to activate and deactivate a series of checks (see Maintenance section).
Alarms
The Alarms display is selected by pressing the ALARM / MESGS button. There are three types of Alarms screens. The first shows any current alarms. Pressing the Right Arrow key switches to the Alarm History screen, which shows the previously received alarms. Pressing Right Arrow again switches to the alarm viewer screen. This screen shows one alarm at a time with its description. The user can then scroll through all the alarms by pressing the Up and Down Arrow keys. Also, the user can enter an alarm number and press Write/ Enter and the name and description will be displayed. Pressing Page Down will display a page for user messages and notes. Note: The Cursor and Page Up and Page Down buttons can be used to move through a large number of alarms.
Messages
The Message Display can be selected by pressing the Alarm/Mesgs button twice. This is an operator message display and has no other effect on operation of the control. Use the keypad to enter the messages. The cancel and space buttons can be used to remove existing messages and the Delete button can be used to remove an entire line. Data is automatically stored and maintained even in a power-off state. The message display page will come up during power-up if there are no alarms present.
Introduction
19
20
Introduction
SCREEN SAVER
The Haas machine includes a screen saver for the operators pendant. After a period of time, with no keyboard activity the screen saver will start. When the screen saver is active, the words Screen saver will be displayed and will change positions every 2 seconds. The screen saver is cancelled by any key press, jog handle motion or machine alarm. The screen saver will not activate if the control is in Sleep, Jog, Edit, Graphics, MEM or MDI mode with the PRGRM screen displayed.
Help
The Help Feature is selected by pressing the Help button, which will display a mini-manual. Use the alphanumeric buttons to select the topics, or use the Page Up/Down button or Up/Down arrows to navigate through the help topics and descriptions.
Calculator
The Calculator function is selected by pressing the Help key twice. Use the Page Up / Down keys to move through the pages. All of the Calculator functions will do simple add, subtract, multiply, and divide operations. When one of the functions is selected, a calculator window appears with 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 and pressing the Write/Enter 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. 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 window. Function Keys: The function keys can be used to copy and paste the calculated results into a section of a program or into another area of the Calculator feature. 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 the calculated solution will be used in a program. In the Calculator function, pressing F3 copies the value in the calculator window to the highlighted data entry for Trig, Circular or Milling/Tapping calculations. F4 In the Calculator function, this button uses the highlighted Trig, Circular or Milling/Tapping data value to load, add, subtract, multiply, or divide with the calculator.
Introduction
21
HELP (MEM)
CALCULATOR
O00000 N00000000
0.000000000 LOAD + - * /
Y Y Z (MACHINE 0.0000 in 0.0000 in 3.5179 in ANGLE 1 ANGLE 2 ANGLE 3 SIDE 1 SIDE 2 SIDE 3 40.000 72.000 68.000 10.0000 14.7958 14.4244
ANGLE 1
F3 copies calculator value to highlighted field in this or other calculator screens. F3 also copies calculator value to the data entry line of edit screens. F4 copies highlighted data to the calculator field.
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. To change the CW value to the CCW value, highlight the CW/CCW column and press the Write/Enter button .
22
Introduction
CIRCLE-CIRCLE TANGENT
CIRCLE1 X CIRCLE1 Y RADIUS 1 CIRCLE2 X CIRCLE2 Y RADIUS 2 5.0000 6.0000 4.0000 0.0000 0.0000 2.0000
CIRCLE-LINE TANGENT a
POINT A X Y POINT B X Y POINT C X Y RADIUS TANGT PT X TANGT PT Y 5.0000 3.0000 1.0000 4.0000 0.0000 0.0000 4.1231 1.0000 4.0000
TANGT A X 1.3738 Y 7.6885 TANGT B X 7.3147 Y 2.7378 TANGT C X -1.8131 Y 0.8442 TANGT D X 1.1573 Y -1.6311
c d
a c
Milling/Tapping Help
The Milling/Tapping Help page will help you solve equations relating to milling and tapping. They are: 1. SFM (Surface Feet per Minute) = (CUTTER DIAMETER IN.) * RPM * 3.14159 / 12 2. (FEED IN./MIN.) = RPM / (THREAD PITCH) 3. (CHIP LOAD IN.) = (FEED IN./MIN.) / RPM / #FLUTES Enter all but one of the values and the control will compute the remaining value. Note that the RPM value for the first two equations are the same entry.
HELP (MEM)
CALCULATOR MILLING 0.000000000 LOAD X Y Z CUTTER DIA 0. 5000 IN SURFACE SPEED 5. 0000 FT/MIN RECOMMENDED RPM 38 FLUTES 4 FEED 6. 0000 IN/MIN CHIP LOAD 0. 0365 IN RECOMMENDED LOW CARBON UNALLOYED STEEL MATERIAL TOOL TYPE CARBIDE CUT WIDTH 2. 0000 IN CUT DEPTH 0. 0500 IN REQUIRED POWER TAPPING THREADS RPM FEED 3. 0000 /IN 40 13. 3333 IN/MIN
O00000 N00000000
+ - * /
F0. F0. S0 S0 S0
Note: When metric units are selected, the units displayed change to millimeters, threads per mm, mm per minute, and meters, respectively.
Introduction
23
Materials
The Milling calculator includes a field called MATERIAL, which, when highlighted, allows the operator to select a type of material from the list using the left and right arrow keys. A recommended surface speed and chip load will be displayed based on the material chosen, as shown. 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
Drill/Tap Chart
Pressing the Help/Calc button a third time displays a Drill and Tap chart
RUN-STOP-JOG-CONTINUE This feature allows the operator to stop a running program, jog away from the part, and then resume program execution. The following is an operation procedure:
1. Press Feed Hold to stop the running program 2. Press X, Y or Z followed by the Handle Jog button. The control will store the current X, Y, and Z positions. Note: Axes other than X, Y, and Z cannot be jogged. 3. The control will display the message "Jog Away". Use the jog handle, remote jog handle, jog and jog-lock buttons to move the tool away from part. Control buttons such as AUX CLNT (optional Through Spindle Coolant - TSC), or Coolnt to turn on/off the coolant (AUX CLNT requires that the spindle is rotating and the door is closed). The spindle can be controlled by pressing CW, CCW, Stop, Tool Release. If necessary, tool inserts can be changed. Caution: When the program is continued, the old offsets will be used for the return position. Therefore, it is unsafe and not recommended to change tools and offsets when the program is interrupted. 4. Jog to a position as close as possible to the stored position, or to a position where there will be an unobstructed rapid path back to the stored position. 5. Return to the previous mode by pressing MEM, MDI, or DNC. The control will only continue if the mode that was in effect when stopped is re-entered. 6. Press Cycle Start. The control will display the message Jog Return and rapid X and Y at 5% to the position where Feed Hold was pressed, then return the Z-axis. Caution: The control will not follow the path used to jog away. If Feed Hold is pressed during this motion, the mill axes motion will pause and display the message "Jog Return Hold". Pressing Cycle Start will cause the control to resume the Jog Return motion. When the motion is completed, the control will again go into a feed hold state. 7. Press Cycle Start again and the program will resume normal operation. Also see Setting 36 Program Restart.
24
Introduction
OPTIONS
Rigid Tapping
Synchronized tapping eliminates the need for expensive, floating tap holders, and prevents lead-thread distortion and start-thread pullout.
Auto Door
The auto door option opens the machine doors automatically via the part program. This reduces operator fatigue, or allows for unattended operation when used with a robotic loader.
Macros
Create subroutines for custom canned cycles, probing routines, operator prompting, math equations or functions, and family-of-parts machining with variables.
Introduction
25
Part Probing
Renishaw - This tool probe option incorporates an easy-to-use Renishaw tool probe with macros. This optional package enables all Haas mills to automatically define tool offsets; and when combined with macro programming, it allows operators to automatically update tool offsets (length and diameter) and check for broken tools while in process. Marposs - Marposs ML75 laser/non-contact tool check system and T25 high precision, contact, work setting and inspection probe for Haas 40 taper mills. ML75 measures tools up to 6.88" (175mm) diameter. Customer must provide own tool holder to accommodate 1/2" cal bar.
M-Function Relays
Adds extra relays to increase productivity. These additional M code outputs may be used for activating probes, auxiliary pumps, part loaders, etc.
Linear Scales
When absolute positioning accuracy is necessary, linear scales are the only way to ensure exact axis positioning under the fluctuating conditions that exist in some machine shops. Linear scales ensure positioning accuracy along X, Y and Z axes by compensating for the thermal variations inherent in all machine tools. These scales deliver positioning accuracy of 2 microns to guarantee the type of precision that mold making and other high-tolerance machining applications demand.
Spindle Orientation
The Spindle Orientation option allows spindle positioning to a specific, programmed angle, using the standard spindle motor and the standard spindle encoder for feedback. This option provides inexpensive, accurate (0.1 degree) positioning.
Programmable Coolant
P-Cool is a multi-position programmable nozzle that automatically directs coolant precisely at the part. The position of the nozzle is controlled via the program, saving operator time by eliminating constant adjustments
26
Introduction
LCD: Displays machine data and the RJH-E interface. Function Keys (F1-F5): Variable-function keys. Each key corresponds to a label at the bottom of the LCD screen. Pressing a function key will perform or toggle the corresponding menu. Toggled functions are highlighted when on. Cycle Start: Starts programmed axis motion. Feed Hold: Stops programmed axis motion. Arrow Keys: Used to navigate between menu fields (up/down) and to select pulse jog rates (left/right). Shuttle Jog: Rotates up to 45 degrees CW or CCW from center, and returns to center when released. Used to jog axes at variable speeds. The farther the shuttle jog is rotated from the center position, the faster the axis moves. Pulse Wheel: Jogs a selected axis by the selected increment. Works like the jog handle on the control. Axis Select: Used to select any of the available axes for jogging. The selected axis is displayed at the bottom of the screen. Removing the unit from the cradle powers it on and turns over jogging control from the pendant to the RJH-E (The hand wheel on the pendant is disabled). Place the RJH-E back in its cradle to power it off and return jogging control to the pendant. The pulse knob and shuttle knob function as scrollers to change the value of a user-definable field such as tool offset, length, wear, etc. Built-in "Panic" Function Press any key during axis motion to instantly stop the spindle and all axis motion. Pressing Feed Hold while the spindle is in motion and the control is in Handle Jog mode will stop the spindle. The message "Button pressed while axis was movingReselect Axis" appears on the RJH-E display. Move the axis selection knob to a different axis to clear. If the axis selection knob is moved while the shuttle jog is turned, the message "Axis selection changed while axis was movingReselect Axis" appears on the RJH-E display, and all axis motion stops. Move the axis selection knob to a different axis to clear the error.
Introduction
27
If the shuttle jog knob is turned from its centered position when the RJH-E is removed from its cradle, or when the control mode is changed to a mode with motion (for instance, from MDI to Handle Jog mode), the message "Shuttle off centerNo Axis selected" appears on the RJH-E display and no axis motion will occur. Move the axis selection knob to clear the error. If the pulse jog knob is rotated while the shuttle jog knob is in use, the message "Conflicting jog commands Reselect Axis" appears on the RJH-E display, and all axis motion stops. Move the axis selection knob to a different axis to clear the error. Note: If any of the above errors fail to clear when the axis selection knob is moved, there may be a problem with the shuttle jog knob. Contact Haas service for repair/replacement. If contact between the RJH-E and the control is broken for any reason (cable cut or disconnected, etc.), all axis motion stops. When reconnected, the message "RJH / Control Communication FaultReselect Axis" appears on the RJH-E display. Move the axis selection knob to clear the error. If the error does not clear, place the RJH-E in its cradle, wait for it to power off, and then remove from the cradle. Note: This error can also indicate a fault in the SKBIF, the RJH-E, or the wiring. If the error persists, further diagnosis and repair may be necessary.
RJH-E S CREENS
The RJH-E uses four different program screens to control manual jogging, set tool length offsets, set work coordinates, and display the current program. The four screens display information differently, but navigating and changing options are always controlled in the same way, as noted in this illustration.
Left/Right cursor to change pulse jog rate (current highlighted) Current Display
OFSET Set Tool Offsets JOG
Current control mode on pendant (JOG allows jogging, MEM/MDI runs current program)
Tool in spindle Tool offset (Hxx) Length offset Length wear Tool Diameter Diameter wear Coolant position
= = = = = = =
Z
SET Z NEXT
2.8346
PRIOR M06 WORK
Manual Jogging This screen contains a large display of the current machine position. The currently selected axis is highlighted and will move if the shuttle jog or pulse jog knobs are moved. Select another axis by using the thumb knob. The jog rate for the pulse knob is displayed on the second line and can be adjusted with the left and right arrow keys. Press ZERO to origin the operator coordinates only. Select WORK, MACH, or TO GO to change the coordinate system (current highlighted). The fifth tab advances to the Tool Offset screen.
28
Introduction
POS
JOG
X Y Z
ZERO WORK
in in in
TOOL
Tool Offsets This screen is used to set and check tool offsets. Select fields with the up and down arrow keys and change values using the pulse knob. The thumb knob is still used to select axes, but the axis line must be highlighted to jog the selected axis. Select SET to set the current position into the offset table. Select NEXT, PRIOR or M06 to change tools. Select WORK to advance to the Work Offset screen. Caution: Stay clear of the spindle when changing tools.
OFSET G code Set Work Offsets = G54 X -3.4372 Y -4.8436 Z 2.8346 JOG
X
SET
-3.4372
JOG
Work Offsets Select "G code" with the up/down arrow keys and change the value with the pulse jog knob. Manually jog the selected axis with the shuttle or pulse knob when the bottom axis field is highlighted. Press the corresponding function key under "SET" to set the current position of the current axis into the work offset table. Press the key under "JOG" to advance to the Jogging screen.
OFSET Set Tool Offsets JOG
.0001 - .001 - .01 - .1 Tool in spindle Tool offset (Hxx) Length offset Length wear Tool Diameter Diameter wear Coolant position = = = = = = = 1 1 -2.0990 0.0010 1.5000 0.0010 0
Z
SET Z NEXT
2.8346
PRIOR M06 WORK
Program Display (Run Mode) This mode displays the currently running program. Enter run mode by pressing MEM or MDI on the control pendant. The tab options at the bottom of the screen provide controls for coolant on/off, single block, optional stop, and block delete. Toggled commands such as COOL will appear highlighted when turned on. The CYCLE START and FEED HOLD buttons function just as the buttons on the pendant. Return to jogging by pressing HAND JOG on the control pendant, or place the RJH-E back in the cradle to continue running the program from the pendant.
Introduction
29
CMD X
MEM
O01111 (28-0243 FIXTURE) ; T1 M06 (1/4 END MILL) ; S6000 M03 ; G00 G54 G90 X-1.1553 Y-1.0094 ; G43 H01 ; Z0.125 M08 ;
COOL
SINGL
OPSTP
BLK D
Auxiliary Filter
This 25-micron #2 bag-type filter system removes contamination and minute particles from the coolant before they can be recirculated through the coolant pump. The filter is mandatory for machines equipped with throughspindle coolant when machining cast iron, cast aluminum and other abrasive materials, and may be used on non-TSC machines as well.
30
Introduction
PROGRAMMING
MACHINE POWER-U P
Turn the machine on by pressing the Power-On button on the pendant. The machine will go through a self test and then display either the Messages screen, if a message was left, or the Alarms screen. In either case the mill will have one alarm present (102 SERVOS OFF). Pressing the Reset button a couple times will clear the alarms. If an alarm cannot be cleared the machine may need servicing, if this is the case call your dealer. Once the alarms are cleared the machine needs a reference point to start all operations from; this point is called Home. To home the machine, press the Power-Up Restart button. Caution: Automatic motion will begin once this button is pressed Keep away from the inside of the machine and the tool changer. Note that pressing the PowerUp button will automatically clear alarm 102 if it was present. After home is found the Current Commands page is displayed, and the machine is now ready to run.
PROGRAMMING INTRODUCTION
To edit the MDI program use the keys to the right of the Edit button. Cursor to the point that is changing, then the different edit functions can be used. To enter an additional command to the line, enter the command and press Enter. To change a value use the arrow buttons or the jog handle to highlight the command, enter the new command and press Alter. To delete a command, highlight the command and press Delete. The Undo key will reverse changes (up to 9 times) that have been made to the MDI program. An MDI program can be saved to the memory of the control. To do so cursor to the beginning of the program (or press Home), enter a program name (programs need to be named using the format Onnnnn; the letter O followed by up to 5 numbers) and press Alter. This will add the program to the list of programs and clear the MDI page. To re-access the program, press List Prog and select it. The data in MDI is retained after exiting MDI mode and when the machine is turned off. To clear the current MDI commands press the Erase Prog button.
Operation
31
Numbered Programs
To create a new program, press LIST PROG to enter the program display and the list of programs mode. Enter a program number (Onnnnn) and press Select Prog key or Enter. If the program exists, it will be selected. If it does not yet exist, it will be created. Press Edit to show the new program. A new program will consist of only the program name and an End of Block (;). Numbered programs are retained when the machine is turned off.
To add program code to the existing program, highlight the code that the additional code will go in front of, type in the data and press the Insert key. More than one code, such as X, Y, and Z, can be entered before pressing Insert. Address data is a letter followed by a numeric value. For example: G04 P1.0. The G04 commands a dwell (pause) and the P1.0 is the length (1 second) of the dwell. Comments can be either alpha or numeric characters, but must be prefaced with parentheses. For example: (1 second dwell). Comments can be a maximum of 80 characters. Lower-case text is to be entered between parentheses (comments). To type lower case text, press the Shift key first (or hold it in) and then the letter or letters. End of Blocks are entered by pressing the EOB button and are displayed as a semicolon (;). These are used like a carriage return at the end of a paragraph. In CNC programming an EOB is entered at the end of a string of program code. An example of a line of code using the three types of commands would be: G04 P1. (1 second dwell); There is no need to put any symbols or spaces between the commands. Usually a space is put between elements for ease of reading (Editing). To alter characters, highlight a portion of the program using the arrow keys or the jog handle, enter the replacement code, and press Alter. To remove characters, highlight the characters and press Delete. To remove commands, highlight the command and press Delete. Use the Undo button to reverse any changes. The Undo button will work for the last nine entries. There is no save command, as the program is saved as each line is entered.
Operation
Deleting Programs
To delete a program, press LIST PROG. Use the cursor up or down keys to highlight the program number (or type in the program number) and press the ERASE PROG key. Highlighting ALL at the end of the list and pressing the ERASE PROG key will delete all the programs in the list. There are some important programs that are included with the machine; they are O02020 (spindle warm up) and O09997, O09999 (Visual Quick Code). Save these programs to a floppy disk, or PC before erasing all programs. Note: The UNDO key will not recover programs that are deleted.
Renaming Programs
The program number can be changed by entering a new number, in Edit mode and pressing the Alter button. Another method of changing the program name is to enter the list of programs (press List Prog) cursor to the program, type the letter O followed by a five-digit number, such as O12345, and press the Alter button.
Program Selection
Enter the program directory by pressing List Prog; this will display the stored programs. Scroll to the desired program and press Select Prog to select the program. Entering the program name and pressing Select Prog will also select a program. Once Select Prog is pressed, an asterisk (*) appears next to the program name. This is the program that will be run when the mode is changed to MEM and CYCLE START is pressed. It is also the one that you will see on the EDIT display. When in MEM mode, another program can selected and displayed quickly by entering the program number (Onnnnn) and pressing the Up/Down arrow, or F4. The selected program will remain selected after the machine is turned off.
USB
The USB memory device is plugged into the port and the directory is shown in the Program menu of the control. The Haas control incorporates a device manager which shows the available memory devices on the machine. Enter the Device Manager, by pressing List Prog. The screen has two windows; the Device window, on the left, and the Directory window, on the right. The left and right arrows change between the Device and the Directory windows. The Up and Down arrows scroll through the selections in the active window. Pressing Enter selects the highlighted program. There is no need to press Enter in the Device column.
Operation
33
The following example shows the directory for the USB Device. The selected program in memory is shown with a *. The selected file will also show in the Source field. Note: Before removing USB devices, go to the LIST/PROG display and press the Origin button. Wait for the remove message to disappear, then carefully remove the device. Failure to properly remove the USB device, may result in loss of copied files to the USB device.
Directory Navigation
Main
< Device Focus > Directory Focus
Directory Window
F1-HELP
Device Focus
^ Device Change Up v Device Change Down
HARD DRIVE .\ O11133 (WORK ORDER 7) O12234 (WORK ORDER 11) FITTING PROJECT 2
DIRECTORY
Highlighted Program
<DIR>
1153 784
07-4-03
09:15:23
Directory Focus
^ File Change Up v File Change Down HOME Go to First File END Go to Last File PAGE UP Previous 22 Files PAGE DOWN Next 22 Files WRITE Select source file for copy and paste operation, or change directory F2 Copy source selected file and paste to current device or view INSERT Creates new folder in current directory ALTER Rename File - Highlight file under directory focus, type in a new name on the command line and press ALTER key. ERASE Delete File - Highlight file under directory focus and press ERASE PROG key.Answer Y or N when prompted.
Subdirectory
HELP 3 PROGRAMS 88% FREE (889260 BYTES) SOURCE MEMORY O00000 DESTINATION HARD DRIVE DIRECTORY HELP - CURSOR LEFT AND PRESS END
Source Device
Destination Device
Navigating Directories
To enter a sub-directory, scroll to the sub-directory and press Enter. To leave a sub-directory, go to the top of the sub-directory. Use the up arrow button to scroll or press Home to go to the top of the directory. At the top there will be, ..<DIR>, highlight this line and press Enter. Note: The top of the device directory is shown with .\.
Create Directories
Create a new folder, by entering a name and pressing, Insert. To create a new Sub-directory, go to the directory where the new sub-directory will be located, enter a name and press Insert. Sub-directories are displayed with their name followed by <DIR>.
Copying Files
Select a file and press, "Enter" to copy a file. Notice that Source, at the bottom of the screen is now followed by the selected device and the file name. The path or sub-directory is not shown due to file name length. Use the arrow keys to scroll to the destination directory and press F2 to copy the file. Note that files copied from the controls memory to a device will have the extension .NC added to the end of the file name. However the name can be changed by entering a new name, at the destination directory, and then pressing F2.
Duplicating a File
An existing file can be duplicated using the Device manager. Set both the Source and Destination device as the same device, type in a new file name and press F2.
34
Operation
Renaming
To change the name of a file, highlight the file and press Enter. Enter a new name and press Alter.
Deleting
To delete a program file from a device, highlight the file and press Erase Prog.
On-Screen Help
On-Screen help is available by selecting the Device window (left arrow key) and pressing End. To exit the Help screen, press the Home button to return to the device manager.
RS-232
RS-232 is one way of connecting the Haas CNC control to another computer. This feature enables the programmer to upload and download programs, settings and tool offsets from a PC. Programs are sent or received through the RS-232 port (Serial Port 1) located on side of the control box (Not the operators pendant). A cable (not included) is necessary to link the CNC control with the PC. There are two styles of RS-232 connections: the 25-pin connector and the 9-pin connector. The 9-pin connector is more commonly used on PCs.
Pin 1 Ground Pin #1 Shield Ground Pin #2 TXD-Transmit Data Pin 2 Black Pin 3 Red Pin 7 Green Pin #3 RXD-Receive Data Pin 1 Ground Pin 2 Red Pin 3 Black Pin 7 Green
Pin 25
Pin 5 Green
Pin 9
Pin 7 Green
Pin 13
Pin 25 Pin 13
WARNING!
One of the biggest causes of electronic damage is a lack of a good ground on both the CNC mill and the computer. The lack of grounding will damage the CNC, or the computer, or both.
Cable length
The following lists baud rate and the respective maximum cable length. 9,600 baud rate: 100 feet (30 m) RS-232 38,400 baud rate: 25 feet (8 m) RS-232 115,200 baud rate: 6 feet (2 m) RS-232 The settings between the CNC control and the other computer must match. To change the setting in the CNC control, enter the Settings page (press Setng/Graph) and scroll to the RS-232 settings (or enter 11 and press the up or down arrow). Use the up/down arrows to highlight the settings and the left and right arrows to change the values. Press Enter when the proper selection is highlighted.
Operation
35
The settings (and defaults) that control the RS-232 port are: 11 Baud Rate (9600) 12 Parity (Even) 13 Stop Bits (1) 14 Synchronization Xon/Xoff 24 Leader to Punch (None) 25 EOB Pattern (CR LF) 37 Number Data Bits (7)
There are a number of different programs that can link with the Haas control. An example is the Hyper Terminal program that is installed with most Microsoft Windows applications. To change the settings on this program go to the File drop down menu at the top left. Choose the Properties selection from the menu and then press the Configure button. This will open up the port settings; change these to match what is in the CNC control. To receive a program from the PC, 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 % indicating end of input. All programs sent to the control from the PC must begin with a line containing a single % and must end with a line containing a single %. Note that when using ALL, your programs must have a Haas formatted program number (Onnnnn). If you do not have a program number, type in a 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. To send a program to the PC, use the cursor to select the program and push the SEND RS-232 key. You can select ALL to send all of the programs in the memory of the control. A setting (Setting 41) can be turned on to add spaces to the RS-232 output and improve the readability of your programs. 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 received by pushing the RECV key and selecting the file on the PC that is to be received. The file can be viewed on a PC by adding .txt to the file name from CNC control. Then open the file on a PC using a program such as Windows Notepad. If an abort message is received, check the set-up between the mill and the PC and the cable.
36
Operation
Disk Directory
To get a program directory listing, select the PRGM/LIST PROG mode, and press F4. This will generate a disk directory listing that will be saved in a program (the default program is O08999). Press Edit to view the contents of the disk.
File Delete
On the List Prog page, type DEL <filename> where <filename> 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.
N00000000
PROGRAM (DNC)
; O01000 ; (G-CODE FINAL QC TEST CUT) ; (MATERIAL IS 2x8x8 6061 ALUMINUM) ; ; (MAIN) ; ; M00 ; (READ DIRECTIONS FOR PARAMETERS AND SETTINGS) ; (FOR VF - SERIES MACHINES W/4TH AXIS CARDS) ; (USE / FOR HS, VR, VB, AND NON - FORTH MACHINES) ; (CONNECT CABLE FOR HA5C BEFORE STARTING THE PROGRAM) ; (SETTINGS TO CHANGE) ; (SETTING 31 SET TO OFF) ; ; ; DNC RS232 DNC END FOUND
N00000000
DNC RS232
DNC is enabled using Parameter 57 bit 18 and Setting 55. Turn the parameter bit on (1) and change Setting 55 to On. It is recommended that DNC be run with Xmodem or parity selected because an error in transmission will then be detected and will stop the DNC program without crashing. The settings between the CNC control and the other computer must match. To change the setting in the CNC control, enter the Settings page (press Setng/Graph) and scroll to the RS-232 settings (or enter 11 and press the up or down arrow). Use the up/down arrows to highlight the variables and the left and right arrows to change the values. Press Enter when the proper selection is highlighted. The recommended RS-232 settings for DNC are: Settings: 11 Baud Rate Select: 19200 12 Parity Select: NONE 13 Stop Bits:1 14 Synchronization: XMODEM 37 RS-232 Date Bits: 8 DNC is selected by pressing MDI twice (The DNC page Program DNC) at the top of the page. Note: DNC needs a minimum of 8k bytes of user memory available. This can be done by going to the List Programs page and checking the amount of free memory on the bottom of the page. The program sent to the control must begin and end with a %. The data rate selected (Setting 11) for the RS-232 port 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 stop in a cut. Start sending the program to the control before the Cycle Start button is pushed. Once the message DNC Prog Found is displayed, press Cycle Start.
Operation
37
A, B, C, U, V, W, X, Y, Z Axis motion Specifies axis motion (distance or angle). D Tool diameter selection Selects the tool diameter or radius used for cutter compensation. See the Cutter Compensation section. E Contouring accuracy Used, with G187, to select the accuracy required when cutting a corner during high-speed machining operations. F Feed rate Used to enter a feed rate; the value is entered in inches per minute or mm per minute. G, M Preparatory functions See the chapters on G or M codes. H Tool length offset selection Selects the tool length offset. The H is followed by a number between 0 and 200. I, J, K Canned cycle and circular optional data These address characters are used to specify data for some canned cycles and circular motions. They are entered either as inches or mm. L Loop count for repeated cycles Specifies a repetition count for some canned cycles and auxiliary functions.
PART SETUP
N Number of block Identifies or numbers each block of a program (optional). O Program number/name Used to identify a program. It is followed by a number between 0 and 99999. P Delay time or program number Used to enter either a time in seconds or a program number for a subroutine call. Q Canned cycle optional data 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 Defines the reference plane for canned cycles and circular interpolation. R is followed by a signed number between -15400.0000 and 15400.0000 for inches or between -39300.000 and 39300.000 for millimeters. S Spindle speed command Used to specify the spindle speed. T Tool selection code Used to select the tool for the next tool change.
It is necessary to properly secure the part to the table. This can be done a number of ways, using vises, chucks or using T-bolts and toe clamps.
Chuck Toe Clamp Vise
38
Operation
TOOLING
Tool Holders
There are number of different spindle options for the Haas mills. Each of these types requires a specific tool holder. The most common spindles are the #40 and #50 taper. 40 taper spindles are divided into two types, BT and CT; these are referred to as BT40 and CT40. The tool changer is only capable of holding one type. The decal on the front of the machine will tell what type of tooling the machine is set up for. The 50-taper spindle option use CT #50 taper tool holders; referred to as CT 50.
Pull Studs
A pull stud or retention knob is required to secure the tool holder into the spindle. Pull studs are threaded into the top of the tool holder and are specific to the type of spindle. The following chart describes the pull studs used on the Hass mill. Do not use the short shaft or pull studs with a sharp right angle (90-degree) head; they will not work and will cause serious damage to the spindle.
40T CT
D C B E A
24-Piece Kits
TPS24CT (TSC) PS24CT (Non-TSC)
0.990
50T CT
TPS24CT50 (TSC) PS24CT50 (Non-TSC)
40T BT
A 40T 50T 40T 50T 2.69 4.00 2.57 4.00 B 2.50 3.87 C .44 .44 D E
CT CAT V-Flange
M16 X 2 Threads
1.104
TSC only 0.172 Thru. 45o 1.780 TSC only 0.31 Thru. 45o
BT MAS 403
Operation
39
Pull Stud
Install a tool into the tool holder as instructed by the tool manufacture.
TOOL CHANGER
There are two types of tool changers available for the Haas mills; these are the side mount tool changer and the umbrella style. Both types are commanded in the same manner, but each one is set up differently. Before loading tools the mill must be zero returned (power up restart button), which should have been done at machine power up. The tool changer is manually operated using the tool release button and the ATC FWD and ATC REV buttons. There are two tool release buttons; one on the side of the spindle head cover and the second on the keypad.
Loading the Tool Changer Specifications Do not exceed the maximum specifications
CAUTION! Extremely heavy tool weights should be distributed evenly. This means heavy tools should be located across from one another, not next to each other. Ensure there is adequate clearance between tools in the tool changer; this distance is 3.6" for a 20-pocket. Note: 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: Keep clear of the tool changer during power up, power down, and any tool changer operations. Tools are always loaded into the tool changer by first installing the tool into the spindle. Never load a tool directly into the tool changer.
40
Operation
Note: Tools that make a loud bang when being released indicate a problem and should be checked before serious damage to the tool changer occurs.
5. Press Origin to reset the Tool Pocket Table to default values. This will place tool 1 in the spindle, tool 2 in pocket 1, tool 3 in pocket 2, etc. This is done to clear the previous Tool Pocket Table settings as well as renumber the Tool Pocket Table for the next program. Another way to reset the Tool Pocket Table is to enter 0 (zero) and press Origin, this will reset all the values to zero.
NOTE: There cannot be two different tool pockets holding the same tool number. Entering a tool number already displayed in the Tool Pocket Table will result in an Invalid Number error.
6. Determine if the next program will need any large tools. A large tool has a diameter of greater than 3" for 40-taper machines and greater than 4" for 50-taper machines. If large tools are not used, proceed to Step 10. If large tools are used, proceed to the next step. 7. Organize the tools to match to the CNC program. Determine the numerical positions of large tools and designate those pockets as Large in the Tool Pocket Table. To designate a tool pocket as Large, scroll to that pocket, press L, then Write/Enter.
NOTE: When setting up tooling for the CNC program, large tools must have the surrounding pockets empty to prevent a tool changer crash. However, large tools can share adjoining empty pockets.
CAUTION! A large tool cannot be placed in the tool changer if one or both of the surrounding pockets already contain tools. Doing so will cause the tool changer to crash.
Operation
41
8. When all necessary Large and Heavy tool pockets are designated, press the Origin key to renumber the Tool Pocket Table. At this point, the machine is ready to accept tool 1 into the spindle. 9. Take tool 1 in your hand and insert the tool (pull stud first) into the spindle. Turn the tool so that the two cutouts in the tool holder line up with the tabs of the spindle. Push the tool upward while pressing the Tool Release button. When the tool is fitted into the spindle, release the Tool Release button.
Tool Release Button
10. Press the Next tool button. 11. Repeat Steps 9 and 10 until all the tools are loaded.
42
Operation
Press POWER UP/RESTART Wait for Zero Return Enter Handle Jog Mode Press OFFSET, END PAGE DOWN to view the Tool Pocket Table.
Remove Large and/or Heavy tool designations by scrolling to each L and/or H and pressing SPACE, WRITE.
A Large Tool has a diameter greater than 3" for 40-taper mills, or greater than 4" for 50-taper mills. High-speed Toolchangers: A Heavy Tool is a tool weighing 4 or more pounds.
Do not enter a lower case h or lower case l(L) in the tool table.
N
Press ORIGIN. Will you need any Large or Heavy tools?
Organize your tools according to your CNC program. Determine numerical positions of Large tools. Scroll to the tool pocket that will hold a large tool and press L, WRITE. (Or press H for a heavy tool )
N
Insert Tool into the spindle. Press PAGE UP, HOME to display Offset Tool Length screen.
Jog Z-Axis to set tool offset. Press TOOL OFFSET MESUR. Press NEXT TOOL.
N
Press ORIGIN
N
END
Operation
43
Tool 12 to Pocket 18
4. Scroll to pocket 12 in the Tool Pocket Table and press L, Write/Enter to designate that pocket as Large. 5. Enter the tool number into SPNDL (spindle) on the Tool Pocket Table. Insert the tool into the spindle.
NOTE: There cannot be two different tool pockets holding the same tool number. Entering a tool number already displayed in the Tool Pocket table will result in an Invalid Number error.
6. Enter P12 into the control and press ATC FWD. The tool will be placed into pocket 12.
44
Operation
Side Mount Tool Changer Door and Switch Panel (if equipped)
Mills such as the MDC, EC-300 and EC-400 have a sub-panel to aid tool loading. The Manual/Auto switch must be set to "Auto" for automatic tool changer operation. If the switch is set to "Manual", the other two buttons, labeled CW and CCW, are enabled and automatic tool changes are disabled. The CW and CCW buttons rotate the tool changer in the clockwise and counterclockwise directions. The door has a switch which detects when the door is open. Operation If the cage door is opened while a tool change is in progress, the tool change will stop and not resume until the cage door is closed. However, any machining operations that are in progress will continue. If the switch is turned to "Manual" while a tool change is in progress, current tool changer motion will be completed. The next tool change will not execute until the switch is turned back to "Auto". Any machining operations that are in progress will continue. The carousel will rotate one position whenever the CW or CCW button is pressed once, while the switch is set to "Manual" During tool changer recovery, if the cage door is open or the switch is in the Manual position and the Recover button is pressed, a message is displayed telling the operator the door is open or is in manual mode. The operator must close the door and set the switch to the automatic position in order to continue.
Operation
45
Alarms exist?
N
Alarms exist, they must be cleared. Press Y to continue, then Reset to clear alarms, then retry. Y
Tool in arm or spindle (Y/N)? Y Will arm prevent tool in spindle or pocket from being removed (Y/N)?
Arm at origin?
N At origin, continue to Pkt Restore (Y)? ATC Fwd/Rev still moves arm. Cnc waits for Y before continuing Carousel between pockets?
N
Y Tool may fall during tool recovery. Place something soft under tool to catch it. Don't use hands to catch tool, and press Y to continue. CNC waits for Y before continuing.
Press arrow key to move carousel or Write to continue automatic recovery Cnc waits for Write before continuing
Restoring pockets, please wait Use following commands to remove all tools from spindle and arm. Move carousel with arrows. ATC Fwd/Rev - Rotate arm Fwd or Rev Tool Release - Toggle tool un/clamp Up/Down arrow - Moves Pkt up or down Orient Spindle - Spindle orientation To move spindle up/down, arm must be at origin, and you must exit tool changer recovery. Are you finished using commands (Y)? CNC waits for Y before continuing.
a a a
Check current carousel pocket, enter current pocket number, and press 'Enter'.
Tool change recovery complete! Press Y to continue. Please update pocket and tool page.
END
Y About to orient spindle. Caution! This may damage tool arm if spindle interferes with its motion. Press O to orient, N to cancel. N or O O Orient spindle N
Use Tool Release button while holding tool and remove all tools from arm and spindle. Depress tool-clamp-release stud on arm while holding tool and slide tool out. Note a tool-clamp-release stud for each end of arm Are all the tools removed (Y)? Cnc waits for Y before continuing
a a
Arm at origin?
46
Operation
CAUTION: Damage to the machine and/or can occur if the tool called for, from the program, does not match the tool listed in the tool table and/or installed in the corresponding pocket.
Acceptable Tool Numbers In general the tool numbers are from T1 to the number of pockets in the tool changer chain (T38 on a 30-pocket tool changer, however, it is possible to use all the numbers in the tool table. This is done to allow for a situation where the operator requires more than available tool pockets to complete the machining job. For example, say 55 different tools are required to perform a complete machining job. The first 38 tools would be used and then the machine would be paused while the operator removes 17 of the original tools and replaces them with the 17 tools required to complete the job. After updating the tool table to reflect the new tools in their respective pockets using tool numbers T39 through T55 the machining job is ready to continue. Using 0 for a Tool Designation A tool pocket can be labeled as an "always empty" pocket, by entering "0" (zero) for the tool number in the tool table. If this is done the tool changer does not see this pocket and will never try to install or retrieve a tool from pockets with a 0 designation. A 0 cannot be used to designate the tool inserted into the spindle. The spindle must always have a tool number designation. Use of Large Tool Designations The tool changer can accept oversized tools as long as the adjacent pockets are left empty and a designator is added to the tool table. Oversize (large) tools are tools with a diameter of more than 4.9" (125mm). To designate a large tool, scroll to highlight the specific pocket (the one that holds the large tool) and press "L" and then the WRITE/ENTER button. The letter L will appear on the screen next to this pocket and the tool numbers on either side will be changed to - indicating that tools cannot be inserted into these pockets.
96-8000 rev R June 2007
Operation
47
To remove an L designation, highlight the L pocket and press the SPACE button and then the WRITE/ENTER button.
Note: Large tools cannot be bigger than 9.8" (250mm).
Heavy tools Designating a tool as "Heavy" will have no affect on tool changer speed or actions.
JOG MODE
Jog Mode allows you to jog each of the axes to a desired location. Before jogging the axes it is necessary to home (beginning axes reference point) the axes (See the Machine Power-up Section). To enter jog mode press the handle jog button, then press one of the desired axes (e.g. X, Y, Z, A or B etc.) and either use the handle jog buttons or the jog handle to move the axes. There are different increment speeds that can be used while in jog mode they are; .0001, .001, .01 and .1. An optional Remote Jog Handle (RJH) can also be used to jog the axes. The RJH consists of a the jog handle, Cycle Start button, Feed Hold button, Axes selection dial and an increment dial. To jog the axes with the optional Remote Jog Handle (RJH) select the desired axes (X, Y, Z, A, B, C or V) using the dial, choose the increment value (X1, X10 or X100) and use the jog handle to move the axes.
Setting Offsets
In order for the mill to accurately machine a work piece, the mill needs to know where the part is located on the table. Jog the mill with a pointer tool in the spindle, until it reaches the top left corner of the part (see the following illustration) this position is part zero. The values will be entered into G54 on the Work Offset page.
48
Operation
Offsets can also be entered manually by choosing one of the offsets pages, moving the cursor to the desired column, typing a number and pressing Write or F1. Pressing F1 will enter the number in the selected column. Entering a value and pressing Write will add the amount entered to the number in the selected column.
A B
Operation
49
7. Press .0001/.1 (F) (The mill will move at a slow rate when the handle is turned). 8. Place a sheet of paper between the tool and the work piece. Carefully move the tool down to the top of the part, as close as possible, and still be able to move the paper. 9. Press Ofset (G). 10. Press Page Up (H) until the page with Coolant - Length - Radius at the top and scroll to tool #1. 11. Cursor (I) to Geometry for position #1. 12. Press Tool Ofset Mesur (J). This will take the Z position located in the bottom left of the screen and put it at the tool number position. CAUTION! The next step will cause the spindle to move rapidly in the Z axis. 13. Press Next Tool (K).
J K E G H A B
Tool Length is measured from the tip of the tool to the top of the part with the Z axis at its home position.
Tip of Tool
Top of Part
50
Operation
<RENAME> <SEARCH> GROUP USAGE: IN ORDER DESCRIPTION: TL IN SPINDLE 1 TOOLS EXP LIFE
0 0 0 0 0 0
H-CODE
D-CODE
Help Text
Operation
51
Allowed Limits
The Allowed Limits window contains the user defined limits to determine when a tool is worn out. These variables affect every tool in the group. Leaving any variable set to zero causes them to be ignored. FEED TIME Enter the total amount of time, in minutes, a tool is used in a feed. TOTAL TIME Enter the total time, in minutes, a tool is used. TOOL USAGE Enter the total times a tool is used (number of tool changes). HOLES Enter the total number of holes a tool is allowed to drill. TOOL LOAD Enter the maximum tool load (in percent ) for the tools in the group. TL ACTION* Enter the automatic action to be taken when the maximum tool load percentage is reached. Use the left and right cursor keys to select the automatic action.
Tool Data
TL IN SPINDLE Tool in the spindle. TOOL Used to add or remove a tool from a group. To add a tool press F4 until the Tool Data window is outlined. Use the cursor keys to highlight any of the areas under the Tool heading and enter a tool number. Entering zero will clear the tool or highlighting the tool number and pressing ORIGIN will reset the H-Code, D-Code and Flutes data to the default values. EXP (Expire) Used to manually obsolete a tool in the group. To obsolete a tool, enter a *, or to clear an obsolete tool, ( * ), press enter. LIFE The percentage of life left in a tool. This is calculated by the CNC control, using actual tool data and the limits the operator entered for the group. CRNT PKT The tool changer pocket the highlighted tool is in. H-CODE The H-code (tool length) that will be used for the tool. H-code cannot be edited unless Setting 15 H & T Code Agreement is set to Off. The operator can change the H-code by entering a number and pressing Enter. The number entered will correspond to the tool number in the tool offsets display. D-CODE The D-code that will be used for that tool. D-code can be changed by entering a number and pressing Enter.
Note: By default the H and D-codes in Advanced Tool Management are set to equal the tool number that is added to the group.
FLUTES The number of flutes on the tool. This can be edited by selecting it, entering a new number, and pressing Enter. This is the same as the "Flutes" column listed on the tool offsets page. Highlighting any of the following sections (Holes through Load) and pressing ORIGIN will clear their values. To change the values, highlight the value in the specific category, enter a new number and press enter. LOAD The maximum load, in percent, exerted on the tool. HOLES The number of holes the tool has drilled/ tapped/ bored using Group 9 canned cycles . FEED TIME The amount of time, in minutes , the tool has been in a feed. TOTAL TIME The total amount of time, in minutes, the tool has been used. USAGE The number of times the tool has been used.
52
Operation
Example: T1000 M06 (tool group 1000) G00 G90 G55 X0.565 Y-1.875 S2500 M03 G43 H1000 Z0.1 (H-code 1000 same as group ID number) G83 Z-0.62 F15. R0.1 Q0.175 X1.115 Y-2.75 X3.365 Y-2.875 G00 G80 Z1.0 T1000 M06 (this will check if the tool in that group is still good to use) G00 G90 G56 X0.565 Y-1.875 S2500 M03 G43 H00 Z0.1 (H00 cancels H Code) G83 Z-0.62 F15. R0.1 Q0.175 X1.115 Y-2.75 X3.365 Y-2.875 G00 G80 Z1.0 M30
Macros
Tool Management can use macros to obsolete a tool within a tool group. Macros 8001 to 8200 represents tool 1 through 200. By setting one of these macros to 1, the operator can expire a tool. Example: #8001 = 1 (this will expire tool 1 and it will no longer be used ) #8001 = 0 (if tool 1 was expired manually or with a macro, then setting macro 8001 to 0 will make tool 1 available again for use) See the variables 8500-8515, in the Macros chapter for further information. Save and Restore Advanced Tool Management tables The control can save and restore the variables associated with the Advanced Tool Management (ATM) feature to floppy disk and RS-232. These variables hold the data that is entered on the ATM screen. The information can be saved, either as part of an overall backup by using the LIST PROG/POSIT page, or save only the ATM information by bringing up the ATM display screen and pressing F2. When the Advanced Tool Management data is saved as part of an overall backup, the system creates a separate file with a .ATM extension. The ATM data can be saved and restored via the RS232 port by pressing the SENDRS232 and RECV232 buttons while the Advanced Tool Management screen is displayed.
Operation
53
PROGRAMABLE COOLANT
DO NOT ADJUST NOZZLE BY HAND
Warning
Do not rotate the coolant spigot by hand. Serious motor damage will occur.
Pressing display page function keys will perform specific operations useful in setting up the MOM system: F1 - Squirt once F2 - Toggle MOM On and Off F3 - Toggle Purge On and Off
INSIDE MACHINE ON BACK Pressure Regulator
Pump
Oil
Air Supply In
54
Operation
Graphics Mode
A safe way to trouble shoot a program is by running it in Graphics mode. No movement will occur on the machine, instead the movement will be illustrated on the screen. Graphics mode can be run from Memory, MDI or DNC modes. To run a program press the SETNG/GRAPH button until the Graphics page is displayed. To run DNC in graphics, you must select DNC first, then go to graphics display and send your program to the machines control (See the DNC section). There are three helpful display features in Graphics mode that can be accessed by pressing one of the function keys (F1, F2, F3 and F4). F1 is the help button, which will give a short description of each of the functions possible in Graphics mode. F2 is the zoom button, which will zoom-in on an area of the graphics screen by using the arrow buttons and pressing the Write button. F3 is the positions button, which will allow you to view the different Positions pages while in graphics mode. F4 is the program button, which will display the current program. Note that not all machine functions or motions are simulated in graphics.
Running Programs
To run a program one must be loaded on the machine. Once a program is entered and the offsets are set, run the program by pressing the Cycle Start button. It is suggested that the program is run in Graphics mode before doing any cutting.
Background Edit
Background Edit will allows editing of one program while another program is running. Background Edit is activated in Mem mode by pressing the Prgrm/Convrs button, typing the name (Onnnnn) of a program to edit and pressing F4. If the program name is not entered the Program Review is displayed, which will allow the program currently running to be edited. Selecting any other display or pressing F4 will exit from Background Edit. While a program is running, press the List Prog button to display a list of programs in the mill. All of the changes made during Background Edit will not affect the running program, or its subprograms. The changes will go into affect the next time the program is run. The Cycle Start button may not be used while in Background Edit. If the program contains a programmed stop (M00) exit Background Edit (press F4) and then press Cycle Start to resume the program.
Operation
55
Introduction
The pallet changer is commanded through a program in CNC memory. The M50 (execute pallet change) function consists of unlocking, lifting and rotating the pallets, then lowering and locking the pallets again. The pallet changer rotates the pallets 180o, then back; it does not continuously rotate in the same direction. The pallet changer is provided with an audible signaling device to alert nearby personnel when a pallet change is taking place. However, do not depend on the signal to avoid mishaps.
Items Beyond the Maximum Radius and Height Limits Will Damage the Machine When the Pallet Rotates
Plane3
EC-300 Shown
EC-400 1 and 45 degree indexer 1000 lb per pallet Full 4th Axis 660 lb per pallet
M46 Qn Pmm
Jump to line mm in the current program if pallet n is loaded, otherwise go to the next block.
56
Operation
Sub-Panel Controls
Emergency Stop: The button behaves just like the one on the operator's pendant. Rotary Index (EC-300 only): Rotates the load station pallet (see Setting 164). Part Ready: Used to indicate the pallet is ready. It also contains a light that 1) blinks when the control is waiting for the operator or 2) is on when the operator is ready for a pallet change.
Method 1
The following method is the preferable to accomplish a pallet change. To perform automatic pallet sequencing and part program selection, each pallet must be scheduled and must have a part program assigned to it. Scheduling is done in two ways, the first is a pallet can be scheduled with the Part Ready button on the operators panel. Pushing the button schedules the pallet that is outside of the machining area. The second is the pallets can be scheduled from the Pallet Schedule Table (PST). This display can be found by pressing the CURNT COMDS key and then pressing the Page Up or Page Down keys until the Pallet Schedule Table page is reached. Use the arrow keys to highlight the Load Order box for the pallet. Enter a pallet number and then the Write/Enter key. If there is already a priority number for that pallet, the Load Order numbers of the other pallets will be updated as necessary. A pallet that is on the receiver (in the work area) will have an asterisk in the Load Order column; this pallet cannot be scheduled. Assigning a part program is also done in the PST display. The arrow keys are used to highlight the Program Number box for the pallet. The program number is entered by keying the number and then pressing the Write/Enter key. For example, keying "O123", then Write/Enter will put the program number O00123 into the table. If a parts program encounters an M50 (without a P code) and the Part Ready button has not been pressed, the control will pause operation, the beacon will blink green, and the message None Scheduled is displayed. The mill will wait until the Part Ready button has been pressed, or the PST has been updated, before performing the pallet change. This feature prevents a pallet change from occurring before the operator is ready. The Part Ready button can be pressed at any time and will be recognized when the next pallet change is required.
Operation
57
Method 2
Although the previous method is recommended, the pallet changer can also be operated without automatic sequencing or PST inputs. This is done using M50 with a P code. For proper operation M50 must be preceded by M36. M36 P1 before the M50 P1 will check that pallet #1 is ready. Pallets can be changed without automatic sequencing or PST inputs. This is done using M50 with a P code. M50 P1 will load pallet #1 without checking to see if it is scheduled. If the PART READY button has been pressed, then pallet #1 will be loaded. If the PART READY button for pallet #1 has not been pressed, the indicator light on the button will flash and the message, Schedule Pal#1 is displayed.
Caution: The following commands can cause either rotary products to move: Zero Return Handle Jog
Load Area
Machining Area
58
Operation
M48 must be placed at the beginning of the program (or section of program) that is run for the current pallet. This will check each time that a program is run, that the program matches the pallet. For example: Oxxxx (Users program) M48 ; ; (Users part program for pallet 1) ; M30 Oxxxx (Users program) M48 ; ; (Users part program for pallet 2) ; M30 An alarm will be generated, A (or B) not in Position, if the pallet in the machine is not the one associated with the part program. If this alarm is generated, verify the correct program is running for the loaded pallet. Important: Verify that the rotary table on pallet one is plugged into Connector 1, and that the rotary table on pallet two is plugged into Connector 2.
(Program Number) (Perform pallet change to next scheduled pallet, after Part Ready button is pressed) (Calls the parts program for the loaded pallet based on the PST entry for the pallet.) (Loop to top of main program) (Users part program) (Return from subroutine) (Users part program) Set current pallet status to 12 actual string defined by operator. In this case, status number 12 is defined as Last Pallet. (Return from subroutine.)
Description: The first loop through program O00001 will load pallet #2 (M50) and run program O06012 (G188 selects program from PST for pallet #2). The PST will then resemble Sample Table 2. The asterisk for pallet #2 in the Load Order column indicates that this pallet is in the mill.
Operation
59
Pallet Schedule Sample Table 2 Pallet Load Pallet Number Order Status 1 0 COMPLETED 2 * LOADED
Pallet Usage 23 9
Description: In the next loop through program O00001, the M50 will detect that no pallets are scheduled. The beacon light will flash green and program O00001 will pause until the operator schedules a pallet or presses Reset. A pallet can be scheduled by pressing the Part Ready button.
Example #2
Basic pallet change program that tracks which part is to be machined on each pallet. Each pallet has a different machining operation. Note that the P code for M46 is a line number in the current program, not a subroutine number. Oxxxxx M50 M46 Q1 Pxx1 Program number (Perform pallet change after the Part Ready button is pressed or PST is updated) This line will check to see if pallet #1 is on the machine. If it is then it will jump to line xx1. If the pallet is not on the machine, then it will continue to the next line. (See description of M46.) (If pallet #2 is loaded, program will jump to line xx2, otherwise it will go to the next line.) (Jump to line Nxxxx: see the "Mcode" section for a more detailed description of M99) (Line number.) (Users part program for Pallet #1.) (Jump to line Nxxxx: see the "Mcode" section for a more detailed description of M99) (Line number) (Users part program for Pallet #2) (Jump to line Nxxxx) (Line number) (Repeat program: see the "Mcode" section for a more detailed description of M99)
M46 Q2 Pxx2 M99 Pxxxx Nxx1 Part program for Pallet #1 M99 Pxxxx Nxx2 Part program for Pallet #2 M99 Pxxxx Nxxxx M99
Example #3
This is an alternate method to Example #2 that uses subroutine calls, but does not jump if the pallet is unscheduled.
Note: For proper operation M50 with a P code must be preceded by M36.
(Flash No Pallet Scheduled on display, flash green beacon, on Schedule Pallet button for pallet #1 until button is pushed or pallet is scheduled in PST) (Load Pallet #1) (Control jumps to program Oxxx1 and runs this program. See the "Mcode" section for a more detailed description of M99) (Wait for pallet to be scheduled) (Load Pallet #2) (Control jumps to program Oxxx2 and runs this program.) (Repeat program: see the M-codes section for a more detailed description of M99)
Note: M99 at the end of a program will cause continuous operation. M30 at the end of a program will cause the control to wait for the operator to press Cycle Start.
60
Operation
EC-400
The control has a pallet changer recovery mode to assist the operator if the pallet changer fails to complete a pallet change. To enter the pallet changer recovery mode press the Recover button and then press the specific function key (F2) for pallet changer recovery mode. Note that is the pallet is in the proper position, the pallet changer recover function is not available. The most convenient way to recover from a failed pallet change attempt is to press "Y" and follow the on-screen help text. A message will prompt the operator to command an individual step of the pallet change sequence. More than one step may need to be completed, as each step is done, press "Y" for the next step. The control will exit the recovery screen once the pallet changer has recovered.
2. Attach a suitable lifting device to the top of the fixture(s) or use eye bolts screwed into the pallet holes. 3. Lift the pallet approximately .25 (6.35mm) to position it above the load station pins, but below the load station lock plate. Pull the pallet towards you until it has cleared the load station.
Operation
61
General Tips
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) and pressing the Up/Down arrow, or F4. 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 and value (A1.23), and press the Up/Down arrow. If the address code and no value is entered, the search will stop at the next use of that address code, regardless of the value Spindle Command. You can stop or start the spindle with CW or CCW any time you are at a Single Block stop or a Feed Hold. When you restart the program with CYCLE START, the spindle is turned on. Saving an MDI Program. You can save a program from MDI to the list of programs. To do so, make sure the cursor is at the beginning of the MDI program, enter a program number (Onnnnn) and press ALTER. 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 to machine zero in rapid motion. Enter the axis letter (e.g. X), then press HOME G28. CAUTION! There is no warning to alert you of any possible collision.
Program /Conversation
Program Review. 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 it is running on the left side of the screen. To enter Program Review, press F4 while running a program in MEM mode and PRGRM display. Background Edit. This feature allows you to edit a program while a program is running. Press MEM and then PRGRM, enter the program number to edit and press F4. Edits are possible as the program runs, however, edits to the running program will not take effect until the program ends with an M30 or RESET.
Position
DIST-TO-GO Display. To zero the position display for a distance reference move, use the DIST-TO-GO position display. When you are 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 all axes on the DIST-TO-GO display. POS-OPER Display. This display is used for reference only. Each axis can be zeroed independently. To zero a specific axis, Page up/down in the POSIT display to the large-digit POS-OPER page. Pressing Origin will zero the selected axis. Or press the X, Y, or Z button and then Origin to zero that axis display. To enter a value for an xis, enter the axis letter and a value (e.g. X2.125), and press Origin.
Offset
Entering Offset Values. Pressing OFSET again will toggle between the Tool Length Offsets and Work Zero Offsets pages. Pressing Write/Enter will add the number entered to the selected offset value. Pressing F1 will replace the selected offset with the entered number. Pressing F2 will enter the negative value into the offsets. Coolant Spigot Position. The coolant nozzle position is displayed in the lower left corner of the Tool Geometry Offset page. Clearing All Offsets and Macro Variables. When you are in the Tool Length Offset display, you can clear all the offsets by pressing the Origin key. This also works on the Work Zero Offset and Macro Variables page.
Current Commands
Programmed (PGM) and Actual (ACT) feedrate and spindle speed are displayed on the first page of the CURNT COMDS, as PGM Fnnnn, PGM Snnnn, ACT Fnnnn and CMD Snnnn.
62
Operation
Calculator
Transferring Simple Calculations. The number in the simple calculator box (in the upper left corner) can be transferred to any cursor-selected data line by moving the cursor to the line and pressing F3. Transferring to EDIT or MDI. 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 MD mode. Enter the letter (X, Y or Z) you wish to use with the number from the calculator. Circular Calculator. The Circular Calculator will list four different ways that a circular move can be programmed using the values entered. One of the solutions can be transferred to either EDIT or MDI modes. To do so, cursor onto the program line you wish to use. Press either EDIT or MDI. Press the F3 key, which will transfer the circular move to the data entry line at the bottom of the display. Press Insert to add that circular command line into your program. One-Line Expressions. The calculator allows a simple, one-line expression without parentheses, such as 23*45.2+6/2, to be solved. It will be evaluated when the Write/Enter button. Note: Multiplication and division are performed before addition and subtraction.
Edit
Lower-Case Text. Lower-case text can be used if it is between parentheses (comments); use the Shift key. Exiting Block Edit. Block Edit highlighting is cancelled by pressing the Undo; the cursor will remain where you are 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 return to the beginning of the program. Advanced Editor Searching. When Find Text is used and the text is found, pressing F1 will automatically select the Find Again option. Also, when Select Text is used, Copy Selected Text will be the next menu selection. 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 by using the EDIT key to switch from one side to the other. Both programs will be updated as the edits are done. 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. A Quick Cursor Arrow in the Advanced Editor. A cursor arrow can be called up within the program. To do this, Enter the Advanced Editor, press F2 and use the jog handle to scroll through the program. To exit from this mode, and remain at that position in the program, press the UNDO key.
Programming
Quick Reverse Out of a G84 Rigid Tapping Cycle. This rigid tapping feature has the tap exit faster than it entered. A J code on the G84 line commands this, for example, J2 retracts twice as fast, J3 retracts three times as fast, etc. up to J9. The J code must be specified in each block. Duplicating a Program in LIST PROG. In the List Prog mode, a program can be duplicated by selecting the program number, typing in a new program number (Onnnnn), and pressing F1. The Advanced Editor can also be used to duplicate a program, using the Program menu and the Duplicate Active Program selection.
Communications
Receiving Program Files from a Floppy Disk. Program files can be loaded from a floppy disc using the I/O menu and the Floppy Directory selection of the Advanced Editor. Pressing Write/Enter in the Floppy Directory will display a list of the programs. Use the arrow keys or the jog handle to select the file to load, then press Write/ Enter. The floppy directory will remain displayed to the selection of more files. Use Reset or Undo to exit. I/O Menu Send RS232 or Send Floppy Commands. Programs can be sent to the RS232 port or a floppy disk from the Advanced Editor. Select the menu item (Send RS232 or Send Floppy), and a program list is displayed. Choose the program to save, or select All to send all programs under one file name. Use the up and down arrow keys or the jog handle, and the Insert button to mark the programs to send. If programs are not selected using the Insert key, the currently highlighted program will be sent.
Operation
63
Sending Multiple Programs Using Program Numbers. The Send Floppy under the I/O menu of the Advanced Editor allows programs to be saved to floppy disk. It will prompt, Enter Floppy File Name; enter a file name and press Write/Enter. If a file name is not entered, the control will save each program using the five-digit program number as the file name. Sending a Program File from LIST PROG Display. Files can be sent 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), or ALL to send all of them under one file name. When F2 is pressed (to send the selected programs), the control will ask for a file name (8CHRCTRS.3XT). Press F2 a second time to send it. You can also use the I/O menu in the Advanced Editor to send and receive program files. 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., O12345O98765) and pressing SEND RS232. Send and Receive Offsets, Settings, Parameters and Macro Variables to/from Disk. Offsets, settings, parameters and macro variables can be saved to a floppy disk. Press List Prog, and select a display page (e.g. OFSET, SETNG). Type in a file name and press F2 (or F3 to read that file from a disk). Send and Receive Offsets, Settings, Parameters and Macro Variables to/from RS232. Offsets, settings, parameters and macro variables can be saved to the RS-232 port. Press List Prog, and select a display page (e.g. OFSET, SETNG). Enter a file name and press Send RS232 to send that display page to the RS-232 port. Press RECV RS232 to read the file via RS-232. Deleting a Program File from a Floppy Disk. A file can be erased from the floppy drive from the LIST PROG display. Type DEL <file name> and press Write Enter.
64
Operation
AUTOMATIC MODE
Tool and Work offsets must be set before an automatic operation can be run. Enter the values for each tool used on the Setup screen. The tool offsets will be referenced when that tool is called in the automatic operation. On each of the following interactive screens the user will be asked to enter data needed to complete common machining tasks. When all the data has been entered, pressing Cycle Start will begin the machining process.
MANUAL SETUP FACE DRILL POCKET MILLING ENGRAVING SYSTEM
END MILL TOOL 1
SYSTEM MODE
The System Mode screens are set up to show the user current alarms, an alarm history, an alarm viewer and write display messages. In addition the Recorder feature is in this group.
IPS Recorder
The Player/Recorder is used to create programs for multi-feature parts by combining part programs created using single feature automatic part programming The recorder screen has a number of commands that are highlighted using the left and right arrow keys.
Operation
65
SKIP START
FORWARD ONE
These commands are: Stop Stops the recording. Play Starts the playback, starting with the highlighted process. The mill will not start until Cycle Start is pressed. Record Begins recording the functions and entered data. Delete All Deletes all the recorded processes. Delete One Delete a single queued process. Note that it will only delete the last process within the play list. If a process is not last, you will have to delete all the processes that occur after it until you get to the one you need. Pressing the Delete key will delete the last process too. Skip Start Rewinds program to the first process. Pressing Home will return to the first process in the list as well. Skip End Forwards the program to the last process. Pressing End will skip to the end of the processes list as well. Back One Steps backwards through the processes. Pressing the up arrow on the keypad will do the same. Forward One Steps forwards through the processes. Pressing the down arrow on the keypad will do the same.
Operation
Enter the IPS feature, by pressing Handle Jog. Use the left and right arrow keys to highlight the System tab and Press Enter. Use the left and right arrow keys to highlight the Recorder tab and press Enter. Additionally, the Recorder mode can be entered quickly by pressing F4 from any IPS screen. F4 will toggle the Recorder mode on and off.
66
Operation
Running a Part
Load a part, go to the Recorder/Player mode, highlight Play and press Enter; this initiates the Player. Pressing the Cycle Start button will start the recorded machining process. The Player will start on the highlighted line in the queue. Warning: The mill will start, once Cycle Start is pressed. The consecutive operations will execute, if desired, but Cycle Start must be pressed for each operation to continue. Warning: The operator must change tools, if required, prior to pressing Cycle Start for the next operation. The program features can be verified by opening the Recorder/Player menu, highlight Play, and press Enter. Enter MDI mode, then press the Graphics key. This graphics display allows the user to view each operation prior to live cutting. From the MDI mode, it is also possible to create a new G-code program in memory by placing the cursor at the top line, type Onnnnn (the letter O followed by a program number), then press the Alter button. This will create a new program in memory. This is useful for editing, backup etc.
Operation
67
SUBROUTINES
Subroutines (subprograms) are usually a series of commands that are repeated several times in a program. Instead of repeating the commands many times in the main program, subroutines are written in a separate program. The main program then has a single command that calls the subroutine program. A subroutine is called using M97 or M98 and a P address. The P code is the same as the program number (Onnnnn) number of the subroutine to be called. Canned Cycles are the most common use of subroutines. The X and Y locations of the holes are placed in a separate program and then called. Instead of writing the X, Y locations once for each tool, the X, Y locations are written once for any number of tools. The subroutines can 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.
LOCAL SUBROUTINES
A local subroutine is a block of code in the main program that is referenced several times by the main program. Local subroutines are commanded (called) using an M97 and a Pnnnnn which refers it to the N line number of the local subroutine. The local subroutine format is to end the main program with an M30 then enter the local subroutines after the M30. Each subroutine must have an N line number at the start and a M99 at the end that will send the program back to the next line in the main program. Subroutine Example O00104 (sub program with an M98) T1 M06 G90 G54 G00 X1.5 Y-0.5 S1406 M03 G43 H01 Z1. M08 G81 G99 Z-0.26 R0.1 F7. M98 P105 (Call Sub-Program O00105) T2 M06 G90 G54 G00 X1.5 Y-0.5 S2082 M03 G43 H02 Z1. M08 G83 G99 Z-.75 Q0.2 R0.1 F12.5 M98 P105 (Call Sub-Program O00105) T3 M06 G90 G54 G00 X1.5 Y-0.5 S750 G43 H03 Z1. M08 G84 G99 Z-.6 R0.1 F37.5 M98 P105 (Call Sub-Program O00105) G53 G49 Y0. M30 (End Program)
2.25
Sub Program O00105 X.5 Y-.75 Y-2.25 G98 X1.5 Y-2.5 G99 X3.5 X4.5 Y-2.25 Y-.75 X3.5 Y-.5 G80 G00 Z1.0 M09 G53 G49 Z0. M05 M99 4.50 3.50 1.50 .50 .50
.75 2 1 3 4 8 5 7 6
68
Subroutines
X0, Y0
G54
X0, Y0
G55
X0, Y0
G56
X0, Y0
G57
X0, Y0
G58
X0, Y0
G59
Subroutines
69
ADVANCED EDITOR
The HAAS Advanced Editor gives the user the ability to edit programs using pull-down menus. Pressing the EDIT button enters the Advanced Editor. The user can switch between the Advanced Editor, the standard editor, and Quick Code with multiple presses of the PRGRM/CONVRS button. To edit a program, enter the program name (Onnnnn) and press F4, the program will open in the active window. Pressing the F4 button will open another copy of that program. Use the jog handle or the down/up arrows buttons to scroll through the program code. Use the EDIT button to select between the two programs. The following figure illustrates the layout of the advanced editor.
Mode PROGRAM (EDIT) Onnnnn F1 KEY TURNS MENU ON / OFF Menu bar PROGRAM EDIT SEARCH MODIFY I/O HELP Onnnnn
Messages Input
70
Advanced Editor
T HE E DIT M ENU
Undo The last edit operation will be undone, up to the last 9 editing operations. Select Text This menu item will select lines of program code to set the start point of the text selection. Then use the arrow buttons or the jog handle to scroll to the last line of code to select and Press F2 or Write/Enter button. The selected text will be highlighted. To deselect the block, press Undo. Move Selected Text This feature works with the Select Text feature. Scroll the cursor arrow to desired part of code and press the Write/Enter button to move the selected text to its new location. The selected text will be moved to the point following the cursor (>). Copy Selected Text To select text, scroll the cursor arrow (>) to a portion of text and press the Write/Enter button. The text copied will be highlighted. Scroll the cursor arrow to the part of text you want to insert the copied text into. Press F2 or Write/ Enter to insert the copied text to the point following the cursor (>). Delete Selected Text To select text, scroll the cursor arrow (>) to a portion of text and press the Write/Enter button. The text copied will be highlighted. Once highlighted, press the Write/Enter button to delete the text. If no block is selected, the currently highlighted item is deleted. 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 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. Paste From Clipboard The contents of the clipboard are copied into the current program at the line following the current cursor position.
Advanced Editor
71
Renumber By Tool Searches for T (tool) codes, highlights all the program code up to the next T code and renumbers the N code (line numbers) in the program code. Reverse + & - Signs This menu item will reverse the signs of the numeric values. Press the enter key to start the process and then enter the axes (e.g. X, Y, Z etc.) that is to change. When using this feature be cautious if your program contains a G10 or G92 (See the G Code section for a description). Reverse X & Y This feature will change X address codes in the program to Y address codes and Ys to Xs.
T HE I/O M ENU
Send RS-232 This menu will send program(s) to the RS-232 port. When this menu item is selected, the program list is displayed. To select a program, cursor to the program number and press the Insert button. A highlighted space will appear before the program to indicate it has been selected. (Press Insert again to deselect the program). The Delete button can be used to deselect all selected programs. To send the selected program(s), press the Write/Enter button. If more than one program or All is selected, the data will be sent with a % at the beginning of the stream and a % at the end. Receive RS-232 This menu item will receive program(s) from the RS-232 serial port. On the List Prog display ALL must first be highlighted before using this menu item. Note, ALL must be reselected on the List Prog screen after each file transfer. Send Disk This menu item will send program(s) to the floppy disk. When this menu item is selected the program list is displayed. To select a program, cursor to the program number and press the Insert button (or enter a file name, Onnnnn, and press the Write/Enter button). A highlighted space will appear before the program to indicate it has been selected (Press Insert again to deselect the program). The Delete button can be used to deselect all selected programs. Receive Disk This menu item will receive programs from the floppy disk. Type in the filename (Text, e.g. JOB5.NC, or Onnnnn) of the disk file being received, and press the Enter button. Disk Directory This menu item will display the directory of the floppy disk. To select a file, press the up and down arrow buttons or use the jog handle to scroll through the directory list and press Write/Enter to load a file.
72
Advanced Editor
Hot Keys
SELECT PROG
Description
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 the 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.
F2
EDIT
F4
INSERT
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 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.
ALTER
DELETE
UNDO
If a block has been selected, pressing undo will simply exit a block definition. Pressing the Send key will activate that I/O menu selection.
SEND
RECV
ERASE PROG
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.
Advanced Editor
73
QUICK CODE
Quick Code simplifies writing a program by explaining G code commands in plain English commands. On the right side of the screen you have English commands that describe the operation to perform. By selecting the operation from the Group Window feature and with one button push, the code is inserted in your program on the left side of the screen. The groups can be selected by turning the jog handle in the clockwise direction. To view and cursor through items within a group, turn the jog handle in the counter clockwise direction. Another feature is the ability to cursor through a program and Quick Code will describe what the G and M codes mean, shown at the bottom of the screen.
QUICKCODE (EDIT) O0001 O0001
QUICKCODE GROUP GROUP ITEM ITEM GROUP
EDIT WINDOW
GROUP WINDOW
HELP WINDOW
PROMPTING COMMENTS INPUT LINE COMMAND DESCRIPTION WARNING MESSAGES
74
Quick Code
Create A Program
Quick Code will not generate the new program number for you. To create a program, press List Prog, enter a program number (e.g. O00005) and press Write/Enter. Or select a program to edit. In order to edit the program press the Edit button and then press the Prgrm/Convrs key twice to enter Quick Code (Note that in the advanced edit menus under the HELP menu is a sub menu selection for Quick Code.
QUICKCODE (EDIT) O00005 O00005 N00000 QUICKCODE START UP COMMANDS... 1. MACHINE MOVES... 2. CUTTER COMP . MOVES... 3. DRILL /TAP/BORE CYCLES... 4. DRILL /TAP/BORE LOCATIONS... 5. CIRCULAR POCKET MILLING... 6. CUSTOM SETTINGS... 7. MISC COMMANDS... ENDING COMMANDS...
1. Turn Jog Handle clockwise (CW) until the group titled Start Up Commands in the group window is highlighted. 2. Turn the Jog Handle counter clockwise (CCW) 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 with a program name entered looks like.
QUICKCODE (EDIT) O00005 ; (PROGRAM NAME) ; O00005 N00000 QUICKCODE START UP COMMANDS... Program Name.. Set Machine Defaults.. Sequence Comment.. Call Tool.. Tool Start Up Commands.. Done--Choose an Operation.. -------------------------------------------------
Quick Code
75
Call Tool 1
1. While on the Start Up Commands menu, turn the jog handle CCW to highlight the group item titled Call Tool. 2. Press the Write button to have the control ask you for a tool number for 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. 3. Highlight the group item titled Tool Start Up Commands. 4. Press the Write key to have the control ask you for the commands to define the start up of tool 1, and enter into your program.
QUICKCODE (EDIT) O00005 ; (PROGRAM NAME) ; T1 M06 (T) ; G90 G54 G00 X0 Y0 ; S750 M03 ; G43 H01 Z1. M08 ; O00005 N00000 QUICKCODE START UP COMMANDS... Program Name.. Set Machine Defaults.. Sequence Comment.. Call Tool.. Tool Start Up Commands.. Done--Choose an Operation.. -------------------------------------------------1. MACHINE MOVES... 2. CUTTER COMP . MOVES... 3. DRILL /TAP/BORE CYCLES...
Programmed with the Start Up Command Selections Entered in with Quick Code for Tool 1.
For this example, the material is aluminum and that the work coordinate zero for G54 is at the center of the bolthole pattern.
O00005 ; (PROGRAM NAME) ; T1 M06 (T) ; G90 G54 G00 X0 Y0 ; S750 M03 ; G43 H01 Z1. M08 ; G82 G99 Z-0.109 P0.2 R0.1 F5. ;
76
Quick Code
Call Tool 2
1. Scroll CW to the group titled Start Up Commands then scroll CCW and highlight the group item titled Call Tool. Press the Write button and the control will ask for a tool; enter in the number 2. 2. Scroll CCW and highlight the group item titled Tool Start Up Commands. Press the Write key and the control will ask for information necessary to use tool 2 in the program.
Call Tool 3
1. Scroll CW to the group titled Start Up Commands then scroll CCW and highlight the group item titled Call Tool. Press the Write button and the control will ask for a tool to enter into number 3. 2. Scroll CCW and highlight the group item titled Tool Start Up Commands. Press the Write button and the control will ask for the information necessary to use tool 3 in the program.
Quick Code
77
78
Quick Code
Selecting a Category
Use the arrow keys to select the parts category whose description closely matches the desired part and press Write. A set of illustrations of the parts in that category will appear.
VQC (EDIT) O00001 N00000
VQC (EDIT) O00001 N00000
I=? J=? NumHoles=? ToolNo=? WrkOfset=? XPos=? YPos=? SpdleRpm=? DrlDpth=? Rplain=? Dwell=?
Quick Code
79
CUTTER COMPENSATION
Cutter compensation shifts the programmed tool path so that the centerline of the tool is moved to the left or right of the programmed path. The OFFSET (Length and Radius) page is used to enter the amount that the tool is shifted. The offset is entered as either a diameter/radius value (see setting 40) for both the geometry and wear values. Note that If diameter is specified, the cutter compensation shift amount is half of the value entered. The compensated value is calculated by the control from the values entered in the Radius (radius of the tool) and the Wear (wear of the tool) values in the offsets page. In 2D machining cutter compensation is used in the X-axis and the Y-axis (G17) and for 3D machining, cutter compensation is used in the X-axis, Y-axis and Z-axis (G141). G41 will select cutter compensation left; that is, the tool is moved to the left of the programmed path. G42 will select cutter compensation right. G40 will cancel cutter compensation. A Dnnn must also be programmed with G41or G42 to select the correct offset number from the radius/diameter offset column. Offset values entered for the radius/diameter should be in positive numbers. If the offset contains a negative value, cutter compensation will operate as though the opposite G code was specified. For example, a negative value entered for a G41 will behave as if a positive value was entered for G42. Selecting Yasnac for Setting 58, the control must be able to position the side of the tool along all of the edges of the programmed contour without over cutting the next two motions. A circular motion joins all of the outside angles. Selecting Fanuc for Setting 58, the control does not require that the tool cutting edge be placed along all edges of the programmed contour, preventing over-cutting. Outside angles less than or equal to 270 degrees are joined by a sharp corner and outside angles of more than 270 degrees are joined by an extra linear motion (See the following diagrams). The following diagrams show how cutter compensation works for the two values of Setting 58. Note: When canceled, the programmed path returns to being the same as the center of the cutter path. Cancel cutter comp (G40) before ending a program.
G41 with Positive Tool Diameter or G42 with Negative Tool Diameter
G41 with Positive Tool Diameter Actual center of tool path or G42 with Negative Tool Diameter Programmed path
Radius
G42 with Positive Tool Diameter or G41 with Negative Tool Diameter
G42 with Positive Tool Diameter Actual center or G41 with Negative of tool path Tool Diameter Programmed path
Radius
Extra Move
80
Cutter Compensation
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. A cutter compensation alarm will be generated if the machine is set to the Yasnac setting.
Cutter Compensation
81
Program Path
Program Path
Program Path
Program Path
Program Path
Program Path
Program Path
The following illustration shows how the tool path is calculated for the cutter compensation. The detail section shows the tool in the staring position and then in the offset position as the cutter reaches the workpiece.
Circular Interpolation
R .500
R .5625
X0, Y0
% O6100 T1 M06 G00 G90 G54 X-1. Y-1. S5000 M03 G43 H01 Z.1 M08 G01 Z-1.0 F50. G41 G01 X0 Y0 D1. F50. Y4.125 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-.125 G40 X-1. Y-1. G00 Z1.0 M09 G28 G91 Y0 Z0 M30 %
The following program uses cutter compensation. Tool path is programmed to centerline of the cutter. This is also the way the control calculates for cutter compensation.
82
Cutter Compensation
MACROS
INTRODUCTION
This control feature is optional; call your dealer for information. Macros add capabilities and flexibly to the control that are not possible with standard G-code. Some possible uses are, families of parts, custom canned cycles, complex motions, and driving optional devices. The possibilities are almost endless. A Macro is any routine/subprogram that may be run multiple times. A macro statement can assign a value to a variable or read a value from a variable, evaluate an expression, conditionally or unconditionally branch to another point within a program, or conditionally repeat some section of program. 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 bolthole 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 takes care of all the work since it was designed to drill the clamp bolthole pattern at the specified angle of A. Essentially; the machinist has created a custom canned cycle. Simple Patterns That Are Repeated Over And Over Again In The Shop Patterns that recur over and over again can be defined using macros and stored. For example: 1) Bolt hole patterns 2) Slotting 3) Angular patterns, any number of holes, at any angle, with any spacing 4) Specialty milling such as soft jaws 5) Matrix Patterns, (e.g. 12 across and 15 down) 6) Fly cutting a surface, (e.g. 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 (macro variables #2001-2800). Probing Probing enhances the capabilities of the machine in many ways, some examples are: 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
83
Settings
There are 3 settings that can affect macro programs (9000 series programs), these are 9xxxx progs Lock (#23), 9xxx Progs Trace (#74) and 9xxx Progs Single BLK (#75).
Lookahead
Lookahead is an issue of great importance to the macro programmer. The control will attempt to process as many lines as possible ahead of time in order to speed up processing. This includes the interpretation of macro variables. For example, #1101=1 G04 P1. #1101=0 This is intended to turn an output ON, wait 1 second, and then turn it off. However, lookahead will cause the output to turn on then immediately back off while the dwell is being processed. G103 P1 can be used to limit lookahead to 1 blocks. To make this example work properly, it must be modified as follows: G103 P1 (See the G-code section of the manual for a further explanation of G103) ; #1101=1 G04 P1. ; ; ; #1101=0 Round Off The control stores decimal numbers as binary values. As a result, numbers stored in variables can be off by 1 least significant digit. For example, the number 7 stored in macro variable #100 may later be read as 7.000001, 7.000000, or 6.999999. If your statement was, IF [#100 EQ 7], it may give a false reading. A safer way of programming this would be, IF [ROUND [#100] EQ 7]. This issue is usually only a problem when storing integers in macro variables where you do not expect to see a fractional part later.
OPERATION NOTES
Macro variables can be saved or loaded through the RS-232 or the optional floppy drive, much like settings, and offsets. Refer to the Loading Programs to the Control section.
84
Macros
Entering the macro variable number and pressing the up/down arrow will search for that variable. The variables displayed represent the values of the variables during the running of the program. At times, this may be up to 15 blocks ahead of the actual machine actions. Debugging the programs are easier when inserting a G103 at the beginning of a program to limit block buffering and then removing the G103 after debugging is completed. Macro Arguments The arguments in a G65 statement are a means of sending values to and setting the local variables of a macro subroutine. In the previous example 2 , the arguments (values of) 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
A 1
B 2
C 3
D 7
E 8
F 9
G -
H 11
I 4
J 5
K 6
L -
M 13
N O P - - -
Q R S T U V W X Y Z 17 18 19 20 21 22 23 24 25 26
Arguments accept any floating-point value to four decimal places. If the control is in metric, it will assume thousandths (.000). In Example 3, 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) Address: Variable: Address: Variable: A .001 N B .001 O C .001 P D 1. E 1. F 1. S 1. G T 1. H 1. U .0001 I .0001 V .0001 J .0001 W .0001 K .0001 X .0001 L 1. Y .0001 M 1. Z .0001
Q R .0001 .0001
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.
Macros
85
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 Variables
There are three categories of macro variables: system variables, global variables, and local variables. Macro 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.
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. Variable: Address: Alternate: Variable: Address: Alternate: Variable: Address: Alternate: 1 A 2 B 3 C 4 I 5 J 6 K 7 D I 18 R K 29 J 8 E J 9 F K 10 I 11 H J
12 K 23 W J
13 M I 24 X K
14 J 25 Y I
15 K 26 Z J
16 I 27 K
17 Q J 28 I
19 20 S T I J 30 K
21 22 U V K I 33 K
31 32 I J
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 three ranges: 100-199, 500-699 and 800-999. The global variables remain in memory when power is turned off. Occasionally, there have been some macros written for factory installed options that use the global variables. For example, probing, pallet changers, etc. When using global variables, be sure they are not in use by another program on the machine.
System Variables
System variables give the programmer the ability to interact with a variety of control conditions. By setting a system variable, the function of the control can be modified. 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 the programmer cannot modify them. A brief table of currently implemented system variables follows with an explanation of their use.
86
Macros
VARIABLES #0 #1-#33 #100-#199 #500-#699 #700-#749 #800-#999 #1000-#1063 #1064-#1068 #1080-#1087 #1090-#1098 #1094 #1098 #1100-#1139 #1140-#1155 #1264-#1268 #1601-#1800 #1801-#2000 #2001-#2200 #2201-#2400 #2401-#2600 #2601-#2800 #3000 #3001 #3002 #3003 #3004 #3006 #3011 #3012 #3020 #3021 #3022 #3023 #3024 #3025 #3026 #3027 #3028 #3030 #3031 #3032 #3033 #3201-#3400 #3401-#3600 #3901 #3902 #4000-#4021 #4101-#4126
USAGE Not a number (read only) Macro call arguments General-purpose variables saved on power off General-purpose variables saved on power off Hidden variables for internal use only. General-purpose variables saved on power off 64 discrete inputs (read only) Maximum axis loads for X, Y, Z, A, and B-axes respectively Raw analog to digital inputs (read only) Filtered analog to digital inputs (read only) Coolant Level Spindle load with Haas vector drive (read only) 40 discrete outputs 16 extra relay outputs via multiplexed output Maximum axis loads for C, U, V, W, and T-axes respectively Number of Flutes of tools #1 through 200 Maximum recorded vibrations of tools 1 through 200 Tool length offsets Tool length wear Tool diameter/radius offsets Tool diameter/radius wear Programmable alarm Millisecond timer Hour timer Single block suppression Override control Programmable stop with message Year, month, day Hour, minute, second Power on timer (read only) Cycle start timer Feed timer Present part timer Last complete part timer Previous part timer Tool in spindle (read only) Spindle RPM (read only) Number of pallet loaded on receiver Single Block Dry Run Block Delete Opt Stop Actual Diameter for tools 1 through 200 Programmable coolant positions for tools 1 through 200 M30 count 1 M30 count 2 Previous block G-Code group codes 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. The mapping of the axes are x=1, y=2, b=5, for example, the Z machine coordinate system variable would be #5023.
Macros
87
#5001-#5005 #5021-#5025 #5041-#5045 #5061-#5065 #5081-#5085 #5201-#5205 #5221-#5225 #5241-#5245 #5261-#5265 #5281-#5285 #5301-#5305 #5321-#5325 #5401-#5500 #5501-#5600 #5601-#5699 #5701-#5800 #5801-#5900 #5901-#6000 #6001-#6277 #6501-#6999
Previous block end position Present machine coordinate position Present work coordinate position Present skip signal position - X,Y,Z,A,B Present tool offset G52 Work Offsets G54 Work Offsets G55 Work Offsets G56 Work Offsets G57 Work Offsets G58 Work Offsets G59 Work Offsets Tool feed timers (seconds) Total tool timers (seconds) Tool life monitor limit Tool life monitor counter Tool load monitor maximum load sensed so far Tool load monitor limit Settings (read only) Parameters (read only)
NOTE: The low order bits of large values will not appear in the macro variables for settings and parameters #7001-#7006 (#14001-#14006) #7021-#7026 (#14021-#14026) #7041-#7046 (#14041-#14046) #7061-#7066 (#14061-#14066) #7081-#7086 (#14081-#14086) #7101-#7106 (#14101-#14106) #7121-#7126 (#14121-#14126) #7141-#7146 (#14141-#14146) #7161-#7166 (#14161-#14166) #7181-#7186 (#14181-#14186) #7201-#7206 (#14201-#14206) #7221-#7226 (#14221-#14221) #7241-#7246 (#14241-#14246) #7261-#7266 (#14261-#14266) #7281-#7286 (#14281-#14286) #7301-#7306 (#14301-#14306) #7321-#7326 (#14321-#14326) #7341-#7346 (#14341-#14346) #7361-#7366 (#14361-#14366) #7381-#7386 (#14381-#14386) #7501-#7506 #7601-#7606 #7701-#7706 #7801-#7806 #8500 #8501 #8502 #8503 #8504 #8505 #8510 #8511 G110 (G154 P1) additional work offsets G111 (G154 P2) additional work offsets G112 (G154 P3) additional work offsets G113 (G154 P4) additional work offsets G114 (G154 P5) additional work offsets G115 (G154 P6) additional work offsets G116 (G154 P7) additional work offsets G117 (G154 P8) additional work offsets G118 (G154 P9) additional work offsets G119 (G154 P10) additional work offsets G120 (G154 P11) additional work offsets G121 (G154 P12) additional work offsets G122 (G154 P13) additional work offsets G123 (G154 P14) additional work offsets G124 (G154 P15) additional work offsets G125 (G154 P16) additional work offsets G126 (G154 P17) additional work offsets G127 (G154 P18) additional work offsets G128 (G154 P19) additional work offsets G129 (G154 P20) additional work offsets Pallet priority Pallet status Part program numbers assigned to pallets Pallet usage count Advanced Tool Management (ATM). Group ID ATM. Percent of total available tool life of all tools in the group. ATM. Total available tool usage count in the group. ATM. Total available tool hole count in the group. ATM. Total available tool feed time (in seconds) in the group. ATM. Total available tool total time (in seconds) in the group. ATM. Next tool number to be used. ATM. Percent of available tool life of the next tool.
88
Macros
#8512 #8513 #8514 #8515 #14401-#14406 #14421-#14426 #14441-#14446 #14461-#14466 #14481-#14486 #14501-#14506 #14521-#14526 #14541-#14546 #14561-#14566 #14581-#14586
ATM. Available usage count of the next tool. ATM. Available hole count of the next tool. ATM. Available feed time of the next tool (in seconds). ATM. Available total time of the next tool (in seconds). G154 P21 additional work offsets G154 P22 additional work offsets G154 P23 additional work offsets G154 P24 additional work offsets G154 P25 additional work offsets G154 P26 additional work offsets G154 P27 additional work offsets G154 P28 additional work offsets G154 P29 additional work offsets G154 P30 additional work offsets
#14781-#14786 #14981-#14986
G154 P40 additional work offsets G154 P50 additional work offsets
G154 P60 additional work offsets G154 P70 additional work offsets G154 P80 additional work offsets G154 P90 additional work offsets G154 P95 additional work offsets G154 P96 additional work offsets G154 P97 additional work offsets G154 P98 additional work offsets G154 P99 additional work offsets
Macros
89
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) If the control is not equipped with the M-code relay board, then M21 through M28 will be mapped from #1132-#1139. If the M-code relay board is installed, see the 8M-option section for information and instructions. Note: Always test or dry run programs that have been developed for macros that is using new hardware. Maximum Axis Loads The following variables are used to contain the maximum load values for each axis. They can be cleared by cycling power to the machine or by setting the macro to zero in a program (for example, #1064=0;). 1064 = X axis 1065 = Y axis 1066 = Z axis 1067 = A axis 1068 = B axis 1264 = C axis 1265 = U axis 1266 = V axis 1267 = W axis 1268 = T axis
Tool Offsets 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 at the bottom of the display and the text in the next comment 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 are always numbered between 1000 and 1999. The first 34 characters of the comment will be used for the alarm message. Timers Haas macros can access 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 imitate 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.
90
Macros
#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 independent of each other and can be set separately. System Overrides #3003 Variable 3003 is the Single Block Suppression parameter. It overrides the Single Block function in G-code. In the following example Single Block is ignored when #3003 is set equal to 1. After M3003 is set =1, each G-code command (lines 2-4) are executed continuously even though the Single Block function is ON. When #3003 is set equal to zero, Single Block will operate as normal. That is, the user must press Cycle Start start each line of code (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.; Variable #3004 Variable #3004 is a variable that overrides specific control features while running. The first bit disables the Feed Hold button. If feed hold is not to be used during a section of code, then put variable #3004, assigned to 1, before the specific lines of code. After that section of code set #3004 to 0 to restore the function of the Feed Hold button. For example: Approach code #3004=1; Non-stoppable code #3004=0; Depart code (Feed Hold allowed) (Disables Feed Hold button) (Feed Hold not allowed) (Enables Feed Hold button) (Feed Hold allowed) E Enabled D Disabled
The following is a map of variable #3004 bits and the associated overrides. #3004 Feed Hold 0 E 1 D 2 E 3 D 4 E 5 D 6 E 7 D Feed Rate Override E E D D E E D D Exact Stop Check E E E E D D D D
#3006 Programmable Stop Stops can be programmed which acts like an M00 - The control stops and waits until Cycle Start is pressed. Once Cycle Start is pressed, the program continues with the block after the #3006. In the following example, the first 15 characters of the comment are displayed on the lower left part of the screen. IF [#1 EQ #0] THEN #3006=101 (comment here); #4001-#4021 Last Block (Modal) Group Codes The grouping of G codes permits more efficient processing. G codes with similar functions are usually under the same group. For example, G90 and G91 are under group 3. These variables store the last or default G code for any of 21 groups. By reading the group code, a macro program can change the behavior of the G-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.
Macros
91
#4101-#4126 Last Block (Modal) Address Data Address codes A-Z (excluding G) are maintained as modal values. The information represented by the last line of code interpreted by the lookahead process is contained in variables 4101 through 4126. The numeric mapping of variable numbers to alphabetic addresses corresponds to the mapping under alphabetic addresses. For example, the value of the previously interpreted D address is found in #4107 and the last interpreted I value is #4104. When aliasing a macro to an M-code, you may not pass variables to the macro using variables 1-33; instead, use the values from 4101-4126 in the macro. #5001-#5005 Last Target Position The final programmed point for the last 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. Axis Position Variables #5021 X-axis #5022 Y-axis #5024 A-axis #5025 B-axis #5023 Z-axis #5026 C-axis
#5021-#5025 Current Machine Coordinate Position 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. The value of #5023 (Z) has tool length compensation applied to it. #5041-#5045 Current Work Coordinate Position The current position in the current work coordinates can be obtained through #5041-5045, X, Y, Z, A, and B, respectively. The values CANNOT be read while the machine is in motion. The value of #5043 (Z) has tool length compensation applied to it. #5061-#5065 Current Skip Signal Position 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. The value of #5063 (Z) has tool length compensation applied to it. #5081-#5085 Tool Length Compensation The current total tool length compensation that is being applied to the tool. This includes tool length offset referenced by the current value set in H (#4008) plus the wear value. Note: The mapping of the axes are x=1, y=2, b=5. So as an example, the Z machine coordinate system variable would be #5023. #6996-#6999 Parameter access using macro variables It is possible for a program to access parameters 1 to 1000 and any of the parameter bits, as follows: #6996: Parameter Number #6997: Bit Number (optional) #6998: Contains value of parameter number in variable 6996 #6999: Contains bit value (0 or 1) of parameter bit specified in variable 6997. Note: Variables 6998 and 6999 are read-only. Usage To access the value of a parameter, the number of that parameter is copied into variable 6996, after which, the value of that parameter is available using macro variable 6998, as shown: #6996=601 (Specify parameter 601) #100=#6998 (Copy the value of parameter 601 to variable #100) To access a specific parameter bit, the number of that parameter is copied into variable 6996 and the bit number is copied to macro variable 6997. The value of that parameter bit is available using macro variable 6999, as shown: #6996=57 (Specify parameter 57) #6997=0 (Specify bit zero) #100=#6999 (Copy parameter 57 bit 0 to variable #100)
92
Macros
Note: Parameter bits are numbered 0 through 31. 32-bit parameters are formatted, on-screen, with bit 0 at the topleft, and bit 31 at the bottom-right. Pallet Changer The status of the pallets, from the Automatic Pallet Changer are checked using the following variables: #7501-#7506 Pallet priority #7601-#7606 Pallet status #7701-#7706 Part program numbers assigned to pallets #7801-#7806 Pallet usage count #3028 Number of pallet loaded on receiver 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 #5221-#5225 #5241-#5245 #5261-#5265 #5281-#5285 #5301-#5305 #5321-#5325 #7001-#7005 #7381-#7385 G52 X, Y, Z, A, B OFFSET VALUES G54 G55 G56 G57 G58 G59 G110 X, Y, Z, A, B OFFSET VALUES G129 X, Y, Z, A, B OFFSET VALUES
VARIABLE U SAGE
All variables are referenced with a pound 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. Indirect references to variables can be accomplished by enclosing the variable number in brackets. #[<Expression>] 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 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 replaced by: N1 G#7 G#11 X#1 Y#2; The values in the variables at runtime are used as the address values.
Macros
93
ADDRESS SUBSTITUTION
The usual method of setting control addresses A-Z is the address followed by a number. For example: 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 address values to be replaced with any variable or expression. 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: <address><-><variable> <address>[<expression>] <address><->[<expression>] A-#101 Y[#5041+3.5] Z-[SIN[#1]]
If the value of the variable does not agree with the range of the address, the control will generate an alarm. For example, 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 value, the 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. When an undefined variable is used to replace an address value, 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 programmers job easier.
94
Macros
Functions Functions are built-in routines that the programmer has available to use. All functions have the form <function_name>[argument] and return floating-point decimal values. The functions provided in the Haas control are as follows: Function Argument Returns Decimal Decimal Decimal Degrees Decimal Decimal Decimal Integer Degrees Degrees Integer Notes Sine Cosine Tangent Arctangent Same as FANUC ATAN[ ]/[1] Square root Absolute value Round off a decimal Truncate fraction Arccosine Arcsine Variable Indirection External Output
SIN[ ] Degrees COS[ ] Degrees TAN[ ] Degrees ATAN[ ] Decimal SQRT[ ] Decimal ABS[ ] Decimal ROUND[ ] Decimal FIX[ ] Decimal ACOS[ ] Decimal ASIN[ ] Decimal #[ ] Integer DPRNT[ ] ASCII text
Notes on Functions The function Round works differently depending on the context that it is used. When used in arithmetic expressions, 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) When round is used in an address expression, then the argument Round is rounded to the significant precision. For metric and angle dimensions, three-place precision is the default. For inch, four-place precision is the default. #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) ; Fix vs. Round #1=3.54; #2=ROUND[#1]; #3=FIX[#1]. #2 will be set to 4. #3 will be set to 3. Operators Operators can be classified into three categories: Arithmetic operators, Logical operators and Boolean operators. Arithmetic Operators Arithmetic operators consist of unary and binary operators. They are: + + * / MOD - Unary plus - Unary minus - Binary addition - Binary subtraction - Multiplication - Division - Remainder +1.23 -[COS[30]] #1=#1+5 #1=#1-1 #1=#2*#3 #1=#2/4 #1=27 MOD 20 (#1 contains 7) Macros
95
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 #2=2.0; 0000 0010 #3=#1 OR #2 0000 0011
#1=5.0; #2=3.0; IF [[#1 GT 3.0] AND [#2 LT 10]] GOTO1 Here control will transfer to block 1 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. Note that 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 expressions. 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 IF [#1 EQ 0.0] GOTO100; WHILE [#101 LT 10] DO1; #1=[1.0 LT 5.0]; IF [#1 AND #2 EQ #3] GOTO1 Explanation Jump to block 100 if value in variable #1 equals 0.0. While variable #101 is less than 10 repeat loop DO1..END1. Variable #1 is set to 1.0 (TRUE). 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 expressions 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.
96
Macros
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. 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 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: #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: <expression>=<expression> 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 N1 IF [#2 NE #0] GOTO2 #3000=1 N2 IF [#19 NE #0] GOTO3 #3000=2 N3 WHILE [#19 GT 0] DO1 ; #19=#19-1 #[#2+#19]=#22 END1 ; M99 ; (Initialize an array of variables) ; (B=base variable) ; (Base variable not given) ; (S=size of array); (Size of array not given) ; (Decrement count) ; (V=value to set array to) ; #101=#145*#30;
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. 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.
Macros
97
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-codes. The GOTO is executed after any other commands like M codes. Computed Branch (GOTO#n and GOTO [expression]) Computed branching allows the program to transfer control to another line of code in the same subprogram. The block can be computed as the program is running, using 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 ads serial numbers to 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; Computed GOTOs using expression could be used to branch processing based on the results of reading hardware inputs. An example might look like the following:
98
Macros
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 line of code based on the state of the two discrete inputs #1030 and #1031. Conditional Branch (IF and M99 Pnnnn) Conditional branching allows the program to transfer control to another section of code within the same subroutine. Conditional branching can only be used when macros are enabled. The Haas control allows two similar methods for accomplishing conditional branching. IF [<conditional expression>] GOTOn As discussed, <conditional expression> is any expression that uses any of 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. In the Haas control, a conditional expression can also be used with the M99 Pnnnn format. For example: 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. Conditional Execution (IF THEN) Execution of control statements can also be achieved by using the IF THEN construct. The format is: IF [<conditional expression>] THEN <statement>; 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 ; 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 ;
Macros
99
This executes a linear motion only if variable #1 has been assigned a value. Another example is: 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 cannot terminate execution of the subroutine on condition. Macros allow flexibility with the WHILE-DO-END construct. For example: WHILE [<conditional expression>] DOn; <statements>; 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 subroutine. A good example of how nesting of WHILE loops can be used is in defining a matrix. #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 up to three levels, there really is no limit since each subroutine can have up to three levels of nesting. If there 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.
100
Macros
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; <Other statements> #3001=0 (WAIT 300 MILLISECONDS) ; WH [#3001 LT 300] DO1 ; END1 ; You can use GOTO to jump out of a region encompassed by a DO-END, but you cannot 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; <statements> END1; Executes until the RESET key is pressed. CAUTION! The following code can be confusing: WH [#1] D01; END1; In the this example, an alarm results indicating no Then was found; Then refers to the D01. Change D01 (zero) to DO1 (letter O).
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.
Macros
101
Example 2:
G00 G90 X1.0 Y1.0 Z.05 S1000 M03; G65 P9010 X.5 Y.25 Z.05 F10. T10; G28; M30; O9010; F#9; WHILE [#20 GT 0] DO1; G91 G81 Z#26; #20=#20-1; IF [#20 EQ 0] GOTO5; G00 X#24 Y#25; N5 END1; M99;
(Diagonal hole pattern) (F=Feed rate) (Repeat T times) (Drill To Z depth) (Decrement counter) (All holes drilled) (Move along slope) (Return to caller)
Aliasing Aliasing is a means of assigning a G-code or M-code to a G65 P##### sequence. For instance, in Example 2 it would be easier to write: G06 X.5 Y.25 Z.05 F10. T10; When aliasing, if you alias to a G-code you may pass variables with it. If you alias to an M-code, you may NOT pass variables with it. Here, an unused G code has been substituted, G06 for G65 P9010. In order for the previous block to work the parameter associated with subroutine 9010 must be set to 06 (Parameter 91). Note that G00, G65, G66, and G67 cannot 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.
Haas Parameter 91 92 93 94 95 96 97 98 99 100 O Code 9010 9011 9012 9013 9014 9015 9016 9017 9018 9019 Haas Parameter 81 82 83 84 85 86 87 88 89 90 M Macro Call 9000 9001 9002 9003 9004 9005 9006 9007 9008 9009
G-Code Aliasing
M-Code Aliasing
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.
102
Macros
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. The form of the DPRNT statement is as follows: DPRNT [<text> <#nnnn[wf]>... ] ; DPRNT must be the only command in the block. In the previous example, <text> 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 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 if there is a fractional part. At least one place is reserved for the whole part, even when a zero is used. If the value of the whole part has 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 N1 N2 N3 N4 N5 N6 Code Output #1= 1.5436 ; DPRNT[X#1[44]*Z#1[03]*T#1[40]] ; X1.5436 Z 1.544 T 1 DPRNT[***MEASURED*INSIDE*DIAMETER***] ; MEASURED INSIDE DIAMETER DPRNT[] ; (no text, only a carriage return) #1=123.456789 ; DPRNT[X-#1[25]] ; X-123.45679 ;
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. 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, change the command to G103 P0. G103 cannot be used when cutter compensation is active. Editing Improperly structured or improperly placed macro statements will generate an alarm. Be careful when editing expressions; brackets must be balanced. The DPRNT[ ] function can be edited much like a comment. It can be deleted, moved as a whole item, or individual items within the bracket can be edited. Variable references and format expressions must be altered as a whole entity. If you wanted to change [24] to [44], place the cursor so that [24] is highlighted, enter [44] and press the write key. Remember, you can use the jog handle to 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
Macros
103
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 there is no space between the X and the Zero (0). REMEMBER when you see an alpha character standing alone it is an address expression.
104
Macros
A-Axis 120
Axis motion on the VR-11 Mill and the Haas TRT 210
Axis of Rotation
When setting up a program, it will be necessary to determine the gauge length for each tool. 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 calculated 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 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 its calculations.
Offsets
The work-offset display is found on the offset display by pushing the Page Up button. You can display and manually enter work offsets from here. The G54 through G59 or G110 through G129 offsets can be set by using the Part Zero Set button. 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 button 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.
96-8000 rev R June 2007
105
Work coordinate numbers are usually entered as positive numbers. Work coordinates are entered into the table as a number only. To enter an X value of X2.00 into G54, cursor to the X column and enter 2.0.
G Codes
Fifth-axis programming is not affected by the selection of inch (G20) or metric (G21); the A and B axes are always programmed in degrees. G93 inverse time must be in effect for simultaneous 5-axis motion. 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 (CAD/CAM software) if possible; the maximum speed in G93 mode is 32 degrees per minute. This will result in smoother motion, which may be necessary when fanning around tilted walls.
M Codes Important! It is highly recommended that the A/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/M11 engages/disengages the A-axis brake M12/M13 engages/disengages the B-axis brake When in a 4 or 5 axis cut, the machine will pause between blocks. This pause is due to the A and/or B axis brakes releasing. To avoid this dwell and allow for smoother program execution, program an M11 and/or M13 just before the G93. The M-codes will disengage the brakes, resulting in a smother motion and an uninterrupted flow of motion. Remember that if the brakes are never re-engaged, they will remain off indefinitely.
Settings
A number of settings are used to program the 4th and 5th axis. See settings 30, 34 and 48 for the 4th axis and 78, 79 and 80 for the 5th axis. 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 uneven motion. G187 can also be used in the program to slow the axes down. CAUTION! When cutting in 5-axis mode poor positioning and over-travel can occur if the tool length offset (H-code) is not canceled. To avoid 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 tool length offset is still in effect.
Feed Rates
A feed-rate must be commanded for each line of 4 and/or 5 axis code. Limit the feed-rate to less than 75IPM when drilling. The 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. Rapid moves are not allowed; rapid motions, entering and exiting holes (full retract peck-drill cycle) are not supported. 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.
106
Parameters
In rare cases you may be required to modify some parameters to get a specific performance out of your indexer. Do not do this without a list of parameters to change. (If you did not get a list of special parameters with your indexer, then you do not need to change the default parametersDO NOT CHANGE THEM. This will void your warranty.)
107
To change parameters for a forth or fifth axis indexer, proceed as follows: Press the E-stop switch and leave it in. You must then turn off the parameter lock (Setting 7). Go to the settings page by pressing the Setting button. Enter 7 and press the down arrow; this will jump to setting 7. With the cursor on Setting 7, use the right or left arrow button to select Off and press the Write button. The parameter lock is now off. Go to the parameter page and enter the parameter number of the parameter to change and press the down arrow button. Enter the new value for the new parameter and press the Write button. If necessary change the other parameters. Return to the Setting 7 and turn this setting back on. Reset the E-stop button. Home the indexer and verify that it operates properly by pressing Handle Jog and the A button. Jog the A axis using the jog handle, the indexer should move. Check for proper ratio by marking the table, rotate 360 degrees as viewed in the position page and check mark to be in the same location. If it is close (within 10 degrees) then the ratio is correct.
Initial Start-up
Turn on the mill (and servo control, if applicable) and home the indexer. All Haas indexers home in the clockwise direction as viewed from the front. If the indexer homes counter-clockwise, press E-stop and call the Haas service department.
A UXILIARY A XIS
Besides the five directly controlled axes in this control, up to four additional external positioning axes may be added. These axes may be commanded directly from the program using the C, U, V, and W axis codes. Commands to these axes are only allowed in a G00 or G01 block. Connection of these axes is done through the second RS-232 port to one or more HAAS single axis controls. In the Setting page, Setting 38 is used to select the number of auxiliary axes. The machine position display will show the present position of these axes. Only one auxiliary axis is moved at a time. If a feed (G01) is programmed, the feed rate programmed in the CNC is sent to the auxiliary control. A G00 motion of an auxiliary axis will move at its maximum feed rate. When the CNC control is waiting for an auxiliary axis motion to complete, the bottom of the screen will display C FIN. A failure in RS-232 communication with the auxiliary axes may cause this display to pause indefinitely. The Reset button will terminate any hung-up auxiliary axis communication. Emergency Stop or turning on Single Block are the only way to stop an auxiliary axis; Feed Hold or Reset will not stop the axis. If you add one auxiliary axis, Setting 38, then the auxiliary axis will be designated C. If you add two auxiliary axes they will be designated C and U; etc.
Parameters
When interfacing to an auxiliary axis the Haas single axis servo control must have Parameter 21 set according to the following table. Name in CNC: C U V W Parameter 21: 6 1 2 3 Axis select: Z U V W
Multiple auxiliary axes must be daisy chained through the second RS-232 port as described in the auxiliary axis operators manual. Auxiliary axes can be jogged from the CNC front panel using the jog handle.
108
There are no work offsets for these axes so all commands are in the machine coordinate system. But if a displaced zero position has been entered into the HAAS servo control, that position will be used as zero. On power-up of the CNC, the auxiliary axes control will also be initialized and zero will be shifted by the value set in the single axis control. To set a displaced zero, you must jog the single axis control to a new zero position and then press and hold the Clear button on the single axis control. Auxiliary axes communication is always seven data bits, even parity, two stop bits. The data rate is CNC Setting 54 and should be set to 4800. CNC Setting 50 must be set to XON/XOFF. Parameter 26 in the single axis control must be set to 5 for 4800 bit per second and Parameter 33 must be set to 1 for XON/XOFF. Parameter 12 in the single axis control should always be set to 3 or 4 to prevent circular wraparound. The cable connecting the CNC to the single-axis control must be a DB-25 cable (male lead on both ends) and must wire at least pins 1, 2, 3, and 7 directly from the second (lower) serial port of the Haas CNC to the upper connector of the Haas servo control.
109
110
Programming notes
The Group 00 codes are non-modal; the other groups are modal. Group 01 G codes will cancel the Group 09 (canned cycles) codes, for example, if a canned cycle (G73 through G89) is active, the use of G00 or G01 will cancel the canned cycle.
Canned Cycles
A canned cycle is used to simplify programming of a part, for example common Z-axis repetitive operations, such as drilling, tapping, and boring. Canned Cycles will not work with Group 00 G codes. See the specific canned cycles G-code for more information and programming example.
G Codes
111
G00 Rapid Motion Positioning (Group 01) ....................................................................................... 114 G01 Linear Interpolation Motion (Group 01) .................................................................................... 114 G02 CW / G03 CCW Circular Interpolation Motion (Group 01) ...................................................... 115 G04 Dwell (Group 00) ......................................................................................................................... 119 G09 Exact Stop (Group 00) ................................................................................................................ 119 G10 Set Offsets (Group 00) ............................................................................................................... 119 G12 Circular Pocket Milling CW / G13 Circular Pocket Milling CCW (Group 00) ......................... 119 G17 XY / G18 XZ / G19 YZ plane selection (Group 02) ....................................................................121 G20 Select Inches / G21 Select Metric (Group 06) .........................................................................122 G28 Return to Machine Zero Thru Optional G29 Reference Point (Group 00) ...........................122 G29 Return From Reference Point (Group 00) ...............................................................................123 G31 Feed Until Skip (Group 00) ........................................................................................................123 G35 Automatic Tool Diameter Measurement (Group 00) ...............................................................123 G36 Automatic Work Offset Measurement (Group 00) ....................................................................124 G37 Automatic Tool Offset Measurement (Group 00) ....................................................................125 G40 Cutter Comp Cancel (Group 07) ................................................................................................126 G41 2D Cutter Compensation Left / G42 2D Cutter Comp. Right (Group 07) ..............................126 G43 Tool Length Compensation + (Add) / G44 Tool Length Comp - (Subtract) (Group 08) .......126 G47 Text Engraving (Group 00) ........................................................................................................126 G49 G43/G44/G143 Cancel (Group 08) .............................................................................................128 G50 Cancel Scaling (Group 11) .........................................................................................................128 G51 Scaling (Group 11) ......................................................................................................................128 G52 Set Work Coordinate System YASNAC (Group 00 or 12) ........................................................130 G53 Non-Modal Machine Coordinate Selection (Group 00) ..........................................................130 G54-59 Select Work Coordinate System #1 - #6 (Group 12) ...........................................................130 G60 Uni-Directional Positioning (Group 00) ....................................................................................130 G61 Exact Stop Mode (Group 15) .....................................................................................................130 G64 G61 Cancel (Group 15) ...............................................................................................................130 G68 Rotation (Group 16) ....................................................................................................................130 G69 Cancel G68 Rotation (Group 16) ...............................................................................................132 G70 Bolt Hole Circle (Group 00) .......................................................................................................133 G71 Bolt Hole Arc (Group 00) ............................................................................................................133 G72 Bolt Holes Along an Angle (Group 00) ......................................................................................133 G73 High-Speed Peck Drilling Canned Cycle (Group 09) ..............................................................137 G74 Reverse Tap Canned Cycle (Group 09) ...................................................................................138 G76 Fine Boring Canned Cycle (Group 09) .....................................................................................138 G77 Back Bore Canned Cycle (Group 09) ........................................................................................139 G80 Canned Cycle Cancel (Group 09) ..............................................................................................139 G81 Drill Canned Cycle (Group 09) ...................................................................................................140 G82 Spot Drill Canned Cycle (Group 09) ..........................................................................................140 G83 Normal Peck Drilling Canned Cycle (Group 09) ......................................................................141 G84 Tapping Canned Cycle (Group 09) ............................................................................................ 143 G85 Boring Canned Cycle (Group 09) ..............................................................................................144 G86 Bore and Stop Canned Cycle (Group 09) .................................................................................144 G87 Bore In and Manual Retract Canned Cycle (Group 09) ..........................................................144 G88 Bore In, Dwell, Manual Retract Canned Cycle (Group 09) .....................................................145
112
G Codes
G89 Bore In, Dwell, Bore Out Canned Cycle (Group 09) ...............................................................145 G90 Absolute Position Commands (Group 03) ................................................................................146 G91 Incremental Position Commands (Group 03) ...........................................................................146 G92 Set Work Coordinate Systems Shift Value (Group 00) ............................................................146 G93 Inverse Time Feed Mode (Group 05) .......................................................................................147 G94 Feed Per Minute Mode (Group 05) ...........................................................................................147 G95 Feed per Revolution (Group 05) ...............................................................................................147 G98 Canned Cycle Initial Point Return (Group 10) .........................................................................147 G99 Canned Cycle R Plane Return (Group 10) ...............................................................................147 G100 Cancel Mirror Image (Group 00) ..............................................................................................147 G101 Enable Mirror Image (Group 00) ..............................................................................................147 G102 Programmable Output to RS-232 (Group 00) .........................................................................149 G103 Limit Block Buffering (Group 00) ............................................................................................150 G107 Cylindrical Mapping (Group 00) ...............................................................................................150 G110-G129 Coordinate System #7-26 (Group 12) ............................................................................151 G136 Automatic Work Offset Center Measurement (Group 00) .....................................................152 G141 3D+ Cutter Compensation (Group 07) ...................................................................................153 G143 5-Axis Tool Length Compensation + (Group 08) ...................................................................154 G150 General Purpose Pocket Milling (Group 00) ..........................................................................155 G153 5-Axis High Speed Peck Drilling Canned Cycle (Group 09) .................................................160 G154 Select Work Coordinates P1-P99 (Group 12) .........................................................................160 G155 5-Axis Reverse Tap Canned Cycle (Group 09) ......................................................................161 G161 5-Axis Drill Canned Cycle (Group 09) .....................................................................................162 G162 5-Axis Spot Drill Canned Cycle (Group 09) ............................................................................162 G163 5-Axis Normal Peck Drilling Canned Cycle (Group 09) .........................................................163 G164 5-Axis Tapping Canned Cycle (Group 09) ..............................................................................164 G165 5-Axis Boring Canned Cycle (Group 09) .................................................................................164 G166 5-Axis Bore and Stop Canned Cycle (Group 09) ...................................................................165 G169 5-Axis Bore and Dwell Canned Cycle (Group 09) ..................................................................165 G174 CCW Non-Vertical Rigid Tap (Group 00) .................................................................................166 G184 CW Non-Vertical Rigid Tap (Group 00) ...................................................................................166 G187 Setting the Smoothness Level (Group 00) ............................................................................166 G188 Get Program From PST (Group 00) .........................................................................................166
G Codes
113
This G code is used to move the machines axis at the maximum speed. It is primarily used to quickly position the machine to a given point before each feed (cutting) command (All moves are done at full rapid speed). This G code is modal, so a block with G00 causes all following blocks to be rapid motion until another Group 01 code is specified. Programming note: Generally, rapid motion will not be in a straight line. Each axis specified is moved at the same speed, but all axes will not necessarily complete their motions at the same time. The machine will wait until all motions are complete before starting the next command. Incremental or absolute position commands (G90 or G91) will change how those axis motion values are interpreted. Setting 57 (Exact Stop Canned X-Y) can change how closely the machine waits for a precise stop before and after a rapid move.
This G code moves the axes at a commanded feed rate. It is primarily used to cut the workpiece. A G01 feed can be a single axis move or a combination of the axes. The rate of axes movement is controlled by feedrate (F) value. This F value can be in units (inch or metric) per minute (G94) or per spindle revolution (95), or time to complete the motion (G93). The feedrate value (F) can be on the current program line, or a previous line (the control will always use to most recent F value until another F value is commanded. G01 is a modal command, which means that it will stay in affect until canceled by a rapid command such as G00 or a circular motion command like G02 or G03. Once a G01 is started all programmed axes will move and reach the destination at the same time. If an axis is not capable of the programmed feedrate the control will not proceed with the G01 command and an alarm (max feedrate exceeded) will be generated.
4.0 R1.0
4.0 5.0
4.0
1.0 5.0
114
G Codes
A chamfer block or a corner-rounding block can be automatically inserted between two linear interpolation blocks by specifying ,C (chamfering) or ,R (corner rounding). There must be a terminating linear interpolation block following the beginning block (a G04 pause may intervene). These two linear interpolation blocks specify a corner of intersection. If the beginning block specifies a C, the value following the C is the distance from the intersection to where the chamfer begins, and also the distance from the intersection to where the chamfer ends. If the beginning block specifies an R, the value following the R is the radius of a circle tangent to the corner at two points: the beginning of the corner-rounding arc and the endpoint of that arc. There can be consecutive blocks with chamfering or corner rounding specified. There must be movement on the two axes specified by the selected plane, whether the active plane is XY (G17), XZ (G18) or YZ (G19).
These G codes are used to specify circular motion. Two axes are necessary to complete circular motion and the correct plane, G17-19, must be used. There are two methods of commanding a G02 or G03, the first is using the I, J, K addresses and the second is using the R address. A chamfer or corner-rounding feature can be added to the program, by specifying ,C (chamfering) or ,R (corner rounding), as described in the G01 definition.
Using I, J, K addresses
I, J and K address are used to locate the arc center in relation to the start point. In other words, the I, J, K addresses are the distances from the starting point to the center of the circle. Only the I, J or K specific to the selected plane are allowed (G17 uses IJ, G18 uses IK and G19 uses JK). The X, Y, and Z commands specify the end point of the arc. If the X, Y, or Z location for the selected plane is not specified, the endpoint of the arc is the same as the starting point for that axis. To cut a full circle the I, J, K addresses must be used; using an R address will not work. To cut a full circle, do not specify an ending point (X, Y and Z); program I, J or K to define the center of the circle. For example: G02 I3.0 J4.0 (Assumes G17; XY plane)
Programming Examples
135O 225O
R 1.00
R 1.00 1.5 .5 G90 G54 G00 X-0.25 Y-.25 G01 Y1.5 F12. G02 X1.884 Y2.384 R1.25
96-8000 rev R June 2007
1.5
.5
G90 G54 G00 X-0.25 Y-0.25 G01 Y1.5 F12. G02 X1.884 Y0.616 R-1.25
G Codes
115
Thread Milling
Thread milling uses a standard G02 or G03 move to create the circular move in X-Y and then adds a Z move on the same block to create the thread pitch. This will generate one turn of the thread; the multiple teeth of the cutter will generate the rest. A typical line of code follows: N100 G02 I-1.0 Z-.05 F5. (generates a 1-inch radius for 20-pitch thread) Thread Milling notes: Internal holes smaller than 3/8 inch may not be possible or practical. Always climb cut the cutter. Use a G03 to cut I.D. threads or a G02 to cut O.D. threads. 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/Threads per inch (Example - 1.0 divided by 8 TPI = .125)
116
G Codes
Move to I.D.
N5
N1 N4 N2 N3
Thread Milling 1.5 dia. x 8 TPI Tool Path Turn On and Off Cutter Compensation
Program Example % O2300 G00 G90 G54 X0 Y0 S400 M03 G43 H01 Z.1 M08 Z-.6 N1 G01 G41 D01 X.175 F25. N2 G03 X.375 R.100 F7. N3 G03 I-.375 Z-.475 N4 G03 X.175 R.100 N5 G01 G40 X0 Y0 G00 Z1.0 M09 G28 G91 Y0 Z0 M30 %
NOTE:
Description (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
(Turn on Cutter Comp) (Move to I.D. of bored hole) (One full revolution with Z moving up .125) (Move away from the new threads) (Cancel Cutter Comp)
G Codes
117
Program Example
% O2400 G00 G90 G54 X0 Y2.0 S2000 M03 G43 H01 Z.1 M08 Z-1.0 G41 D01 X-1.5 Y1.125 G01 X0. F15. G02 J-1.125 Z-1.0625 G01 X1.5 G00 G40 X0 Y2.0 Z1.0 M09 G28 G91 Y0 Z0 M30 %
NOTE:
Description
(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
(Turn on cutter compensation.) (Linear move to the post.) (Circular move; negative Z move.) (Linear move away from the post.) (Turn off cutter compensation.)
A cutter compensation move can consist of any X or Y move from any position just as long as the move is greater than the amount being compensated for.
Program Example
% O1000 T1 M06 G00 G90 G54 X0 Y0 S2500 M03 G43 H01 Z.1 M08 G01 Z-1.083 F35. G41 X.275 DI G3 X.875 I.3 F15. G91 G3 I-.875 Z.0833 L14 G90 G3 X.275 I-.300 G00 G90 Z1.0 M09 G1 G40 X0 Y0 G28 G91 Y0 Z0 M30 %
Description
(X0,Y0 is at the center of the hole, Z0 is at the top of the part (Tool #1 is a .750 diameter single-point thread tool)
Helical Motion
Helical (spiral) motion is possible with G02 or G03 by programming the linear axis that is not in the selected plane. This third axis will be moved 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 feedrate.
118
G Codes
Programming Examples G10 L2 P1 G91 X6.0 G10 L20 P2 G90 X10. Y8. G10 L10 G90 P5 R2.5 G10 L12 G90 P5 R.375 G10 L20 P50 G90 X10. Y20.
G12 Circular Pocket Milling CW / G13 Circular Pocket Milling CCW (Group 00)
These two G codes are used to mill circular shapes. They are different only in which direction of rotation is used. Both G codes use the default XY circular plane (G17) and imply the use of G42 (cutter compensation) for G12 and G41 for G13. These two G-codes are non-modal.
G Codes
119
*D Tool radius or diameter selection I Radius of first circle (or finish if no K) The I value must be greater than the Tool Radius, but less than the K value. K Radius of finished circle (if specified) L Loop count for repeating deeper cuts Q Radius increment, or stepover (must be used with K) F Feedrate in inches (mm) per minute Z Depth of cut or increment *In order to get the programmed circle diameter, the control uses the selected D code tool size. If you want to program tool centerline select D0. NOTE: If no cutter compensation is desired, a D00 must be specified. If no D is specified in the G12/G13 block, the last commanded D value will be used, even if it was previously canceled with a G40. The tool must be positioned at the center of the circle using X and Y. To remove all the material within the circle, use I and Q values less than the tool diameter and a K value equal to the circle radius. To cut a circle radius only, use an I value set to the radius and no K or Q value. % O00098 (SAMPLE G12 AND G13) (OFFSET D01 SET TO APPROX. TOOL SIZE) (TOOL MUST BE MORE THAN Q IN DIAM.) T1M06 G54G00G90X0Y0 G43Z0.1H01 S2000M03 G12I1.5F10.Z-1.2D01 G00Z0.1 G55X0Y0 G12I0.3K1.5Q0.3F10.Z-1.2D01 G00Z0.1 G56X0Y0 G13I1.5F10.Z-1.2D01 G00Z0.1 G57X0Y0 G13I0.3K1.5Q0.3F10.Z-1.2D01 G00Z0.1 G28 M30 %
(Move to center of G54) (Finish pocket clockwise) (Move to center of G55) (Rough and finish clockwise) (Move to center of G56) (Finish pocket counterclockwise) (Move to center of G57) (Rough and finish counterclockwise)
Q K
I Only
I, K, and Q Only
These G codes assume the use of cutter compensation, so a G41 or G42 is not required in the program line. However, a D offset number, for cutter radius or diameter, is required to adjust the circle diameter.
120
G Codes
The following programming examples show the G12 and G13 format, as well as the different ways these programs can be written. Single Pass: Use I only. Applications: One-pass counter boring; rough and finish pocketing of smaller holes, ID cutting of O-ring grooves. Multiple Pass: Use I, K, and Q. Applications: Multiple-pass counter boring; 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 may also be used). Applications: Deep rough and finish pocketing. The previous figures show the tool path during the pocket milling G-codes. Example G13 multiple-pass using I, K, Q, L, and G91: This program uses G91 and an L count of 4, so this cycle will execute a total of four times. The Z depth increment is 0.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 a G13 I only line.
NOTE: If the geometry column of the control Offsets display has a value inserted, the G12/G13 will read the data, whether a D0 is present or not. To cancel cutter compensation insert a D00 in the program line, this will bypass the value in the Offsets geometry column.
Program Example
Description
% O4000 (0.500 entered in the Radius/Diameter offset column) T1 M06 (Tool #1 is a 0.500" diameter endmill) 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 %
G Codes
121
G17
G18
G19
G28 Return to Machine Zero Thru Optional G29 Reference Point (Group 00)
The G28 code is used to return all axes to machine zero, unless an axis (or axes) is specified, in which case only that axis (or axes) is returned to machine zero. G28 cancels tool length offsets for the following lines of code.
Spindle
Machine Table
Example 1 Work Offset G54: Z = 2.0 Tool 2 Length: 12.0 Program segment: G90 G54; G43 H02; G28 Z0.; G00 Z1. The G28 block will move to machine coordinate Z = 14.0 before moving to Z = 0. The following block (G00 Z1.) will move to machine coordinate Z = 1. Example 2 (same work and tool offsets as Example 1) Program segment: G54; G43 H02; G00 G91G28 Z0 The G28 block will move directly to machine coordinate Z = 0 since incremental positioning is in effect.
122
G Codes
This G-code moves the axes to the programmed position. It applies only to the block in which G31 is specified. The specified move is started and continues until the position is reached or the probe receives a signal (skip signal). The control will beep when the end of travel is reached. Do not use Cutter Compensation with a G31. Use the assigned M-codes (for example M52 and M62), with a dwell, to turn the table probe on and off For example: M53 G04 P100 M63 Also see M75, M78 and M79.
Automatic Tool Diameter Offset Measurement function (G35) is used to set the tool diameter (or radius) using two passes of the probe; 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 selected (non-zero) Dnnn offset. Setting 63 (Tool Probe Width) is used to reduce the measurement of the tool by the width of the tool probe. This G-code moves the axes to the programmed position. The specified move is started and continues until the position is reached or the probe sends a signal (skip signal). Notes: Also see G31. Use the assigned M-code (M52) to turn the table probe on. Use the assigned M-code (M62) to turn the table probe off. Also see M75, M78, and M79. Do not use Cutter Compensation with a G35. Turn on the spindle in reverse (M04), for a right handed cutter.
G Codes
123
O1234 (G35) M52 T1 M06 G00 G90 G54 X0 Y1. G43 H01 Z0 G01 Z-1. F10. M04 S200 G31 Y0.49 F5. M75 G01 Y1. F20. Z0 Y-1. Z-1. G35 Y-0.49 D1 F5. G01 Y-1. F20. M62 G00 G53 Z0 M05 M30
F I J K X Y Z
Feedrate in inches (mm) per minute Optional offset distance along X-axis Optional offset distance along Y-axis Optional offset distance along Z-axis Optional X-axis motion command Optional Y-axis motion command Optional Z-axis motion command
Automatic Work Offset Measurement (G36) is used to command a probe to set work fixture offsets. A G36 will feed the axes of the machine in an effort to probe the workpiece with a spindle mounted probe. The axis (axes) will move until a signal from the probe is received, or the travel limit is reached. Tool offsets (G41, G42, G43, or G44) must not be active this function is preformed. The currently active work coordinate system is set for each axis programmed. The point where the skip signal is received becomes the zero position. If an I, J, or K is specified, the appropriate axis work offset is shifted by the amount in the I, J, or K command. This allows the work offset to be shifted away from where the probe actually contacts the part. Notes: The points probed are offset by the values in Settings 59 through 62. Use G91 incremental moves when using a G36. Use the assigned M-codes (for example M53 and M63) with a dwell to turn the spindle probe on or off. Example: M53 G04 P100 M63
124
G Codes
Program Example O1234 (G36) M53 G04 P100 M63 G00 G90 G54 X1. Y0 Z-18. G91 G01 Z-1. F20. G36 X-1. F10. G90 G01 X1. M53 G04 P100 M63 G00 G90 G53 Z0 M30
F H Z
Feedrate in inches (mm) per minute Tool offset number Required Z-axis offset
Automatic Tool Length Offset Measurement (G37) is used to command a probe to set tool length offsets. A G37 will feed the Z-axis in an effort to probe a tool with a table mounted probe. The Z-axis will move until a signal from the probe is received, or the travel limit is reached. A non-zero H code and either G43 or G44 must be active. When the signal from the probe is received (skip signal) the Z position is used to set the specified tool offset (Hnnn). The resulting tool offset is the offset between the work zero point and the point where the probe is touched. The coordinate system (G54-G59, G110-G129) and the tool length offsets (H01-H200) may be selected in this block or the previous block. Notes: Use the assigned M-code (M52) to turn the table probe on. Use the assigned M-code (M62) to turn the table probe off. Cutter Compensation may not be active during a skip function. Also see M78 and M79. Specify Z0 for no offset. O1234 (G37) T1 M06 M52 G00 G90 G110 X0 Y0 G00 G43 H1 Z5. G37 H1 Z0. F30. G00 G53 Z0 M62 M30
G Codes
125
G41 2D Cutter Compensation Left / G42 2D Cutter Comp. Right (Group 07)
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 D address must be programmed to select the correct tool radius or diameter offset. If the value in the selected offset is negative, cutter compensation will operate as though G42 (Cutter Comp Right.) was specified. The right or left side of the programmed path is determined by looking at the tool as it moves away from you. If the tool needs to be on the left of the programmed path as it moves away from you, Use G41. If it needs to be on the right of the programmed path as it moves away from you, use G42. Refer to the Cutter Compensation section for more information.
G43 Tool Length Compensation + (Add) / G44 Tool Length Comp - (Subtract) (Group 08)
A G43 code selects tool length compensation in the positive direction; the tool length in the offsets page is added to the commanded axis position. A G44 code selects tool length compensation in the negative direction; the tool length in the offsets page is subtracted from the commanded axis position. A non-zero H address must be entered to select the correct entry from the offsets page.
Sequential Serial Number Engraving This method is used to engrave numbers on a series of parts, with the number being increased 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 (P1 (##) will limit the serial number to two digits etc.). The initial serial number can either be programmed or set manually. For example, if it is programmed: 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 variable #599 is used to hold the initial serial number to be engraved. For example, when macro variable #599 is set to 1234, G47 P1 (####) will produce: 1234
126
G Codes
See the Macros section for more information. Literal String Engraving This method is used to engrave desired text on a part. 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 Example This example will create the figure shown. G47 P0 X2.0 Y2.0 I45. J.5 R.05 Z-.005 F15.0 E10.0 (TEXT TO ENGRAVE)
TO XT
4 3 2
EN
90o
G TE
45
o o
180o 270
4 5
o
R
0 -45
o
0.
1
1
5"
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 angle J.5 sets the text height to 0.5 inch R.05 commands the cutter to retract to 0.05 inch (mm) above the cutting plane after engraving Z-.005 selects a 0.005 inch (mm) deep cut F15.0 selects an engraving feedrate of 15 units/min E10.0 commands the cutter to plunge at a rate of 10 units/min P values to engrave specific characters:
32 33 34 35 36 37 38 39 40
blank !
# $ % & (
41 42 43 44 45 46 47 48-57 58
) * + , . / 0-9 :
59 60 61 62 63 64 65-90 91 92
AV E
6
G Codes
127
Example To engrave $2.00 two lines of code are necessary. The first will be using a P36 to engrave the dollar sign ($), and the second will use P0 (2.00). Note that the axes will need to be shifted between the first and second line of code in order to make a space between the dollar sign and the 2.
X Y Z P
optional center of scaling for the X axis optional center of scaling for the Y axis optional center of scaling for the Z axis optional scaling factor for all axes; three-place decimal from 0.001 to 8383.000.
G51 [X...] [Y...] [Z...] [P...] 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 last commanded position is used as the scaling center. When scaling (G51) is commanded, all X, Y, Z, I, J, K, or R values addressing machine motion are multiplied by a scaling factor and are offset relative to a scaling center. G51 will affect all appropriate positioning values in the blocks following the G51 command. The X, Y and Z axes can be scaled using a P address, if a P address is not entered the Setting 71 scaling factor is used. The following programs illustrate how scaling is performed when different scaling centers are used.
0001 (GOTHIC WINDOW) ; F20. S500 ; G00 X1. Y1. ; G01 X2. ; Y2. ; G03 X1. R0.5; G01 Y1. ; G00 X0 Y0 ; M99 ; = Work coordinate origin No Scaling
G51
Z Y
The first example illustrates how the control uses the current work coordinate location as a scaling center. Here, it is X0 Y0 Z0.
128
G Codes
Z Y
00010 ; G59 ; G00 G90 X0 Y0 Z0 ; G51 P2. (scaling center is X0 Y0 Z0) ; M98 P1 ; M30 ;
The next example specifies the center of the window as the scaling center.
Z Y
00011 ; G59 ; G00 G90 X0 Y0 Z0 ; G51 X1.5 Y1.5 P2. ; M98 P1 ; M30 ; = Work coordinate origin = Center of scaling
G51 Scaling
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.
00011 ; G59 ; G00 G90 X0 Y0 Z0 ; G51 X1.0 Y1.0 P2 ; M98 P1 ; M30 ;
Z Y
G51 Scaling
Programming notes: Tool offsets and cutter compensation values are not affected by scaling. 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.
G Codes
129
130
G Codes
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 is used as the center of rotation. When rotation (G68) is commanded, all X, Y, Z, I, J, and K values are rotated through a specified angle R using a center of rotation. G68 will affect all appropriate positional values in the blocks following the G68 command. Values in the line containing G68 are not rotated. Only the values in the plane of rotation are rotated, therefore, if G17 is the current plane of rotation, only X and Y values are affected. Entering a positive number (angle) for the R address will rotate the feature counterclockwise. If the angle of rotation (R) is not entered, then the angle of rotation is taken from Setting 72. In G91 mode (incremental) with Setting 73 ON, the rotation angle is changed by the value in R. In other words, each G68 command will change the rotation angle by the value specified in R. The rotational angle is set to zero at the beginning of the program, or it can be set to a specific angle using a G68 in G90 mode. The following examples illustrate rotation using G68.
Z Y
0001 (GOTHIC WINDOW) ; F20, S500 ; G00 X1. Y1. ; G01 X2. ; Y2. ; G03 X1. R0.5 G01 Y1. ; M99 ;
The first example illustrates how the control uses the current work coordinate location as a rotation center (X0 Y0 Z0).
00002 ; G59 ; G00 G90 X0 Y0 Z0 ; M98 P1 ; G90 G00 X0 Y0 ; (Last Commanded Position) G68 R60. ; M98 P1 ; G69 G90 G00 X0 Y0 ; M30 ; = Work coordinate origin = Center of rotation
G68 Rotation
Z Y
The next example specifies the center of the window as the rotation center.
G Codes
131
Z Y
00003 ; G59 ; G00 G90 X0 Y0 Z0 ; M98 P1 ; G00 G90 X0 Y0 Z0 ; G68 X1.5 Y1.5 R60. ; M98 P1 ; G69 G90 G00 X0 Y0 ; M30 ; = Work coordinate origin = Center of rotation
G68 Rotation
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 given point.
00004 ; G59 ; G00 G90 X0 Y0 Z0 ; M98 P10 L8 (SUBROUTINE 00010) ; M30 ; 00010 ; G91 G68 R45. ; G90 M98 P1 ; G90 G00 X0 Y0 ; M99 ; = Work coordinate origin = Center of rotation
G68 Rotation
Z Y
132
G Codes
K J I
I = Radius of the bolt circle J = Starting angle from the 3 o'clock position K = Angular spacing between holes L = Number of holes (evenly spaced)
I J
I = Distance between holes J = Starting angle from the 3 o'clock position L = Number of holes
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 oclock position. Looping Canned Cycles The following is an example of a program using a drilling canned cycle that is incrementally looped.
NOTE: The sequence of drilling used here is designed to save time and to follow the shortest path from hole to hole.
G Codes
133
1.00
Starittion Pos ne R Plane Z Pla
1.00 11.00
11.00
Rapid Feed
G81 Drilling Canned Cycle (Incremental) and Grid Plate for Multiple-Fixture Subprogram
Program Example % O3400 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 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 %
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. Using G98 and G99 to clear clamps For example, A square part being held to the table with one-inch tall table clamps. A program needs to be written to clear the table clamps.
134
G Codes
Program Example
% 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 X6.0 G99 X8.0 X10.0 X12.0 G98 X16.0 G99 X18.0 G98 G00 G80 Z2.0 M09 G28 G91 Y0 Z0 M30 %
Description
( Will return to starting point after executing cycle ) ( Will return to reference plane after executing cycle )
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 %
G Codes
135
CANNED CYCLES
Introduction
Canned cycles are used to simplify programming. They are used for repetitive operations, such as drilling, tapping, and boring. The canned cycle is executed every time an X and/or Y-axis motion is programmed.
136
G Codes
SET
TING
#22
SETT
ING #
22
ane R Pl
I1 = I2 = I
ane R Pl
Q Q Q
I1 - J
I3 = K
pth Z De
pth Z De
I, J, K, and Q are always positive numbers. There are two methods to program a G73; first using the I, J, K addresses and the second using the K and Q addresses. If I, J, and K are specified, The first pass will cut in by the value I, each succeeding cut will be reduced by the value of J, and the minimum cutting depth is K. If P is specified, the tool will pause at the bottom of the hole for that amount of time. 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 the number of passes totals up to the K amount.
G Codes
137
G73
R Pl
SETT
SETT
th Dep
Y
ane R Pl
Z X
ane R Pl
X
pth Z De
pth Z De
138
G Codes
G76
Plane I
Y
ne R Pla
G99
Z X
ne R Pla
X
th Z Dep Shif t
th Z Dep
Shif t
In addition to boring the hole, this cycle will shift the X and/or Y axis prior to retracting in order to clear the tool while exiting the part. If Q is used Setting 27 determines the shift direction. If Q is not specified, the optional I and J values are used to determine the shift direction and distance.
In addition to boring the hole, 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 (see G76 for an example of a shift move). Setting 27 determines the shift direction. If Q is not specified, the optional I and J values are used to determine the shift direction and distance.
G77 Back Boring Canned Cycle
Star t
lane ing P
Y B ring ack Bo
Shif t
Z X
ne R Pla
Feed Rapid Move Begin or end of stroke Shift
G Codes
139
G81
Plane I
Plane
Y
ne R Pla
G99
ne R Pla
X
th Z Dep ne Z Pla
Program Example The following is a program to drill through an aluminum plate: T1 M06 G00 G90 G54 X1.125 Y-1.875 S4500 M03 G43 H01 Z0.1 G81 G99 Z-0.35 R0.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
140
G Codes
Programming Note: G82 is similar to G81 except that you have the option to program a dwell (P)
Program Example
% O1234 T1 M06 G90 G54 G00 X.565 Y-1.875 S1275 M03 G43 H01 Z0.1 M08 G82 Z-0.175 P.3 R0.1 F10. 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
G82 Spot Drill Canned Cycle
Description
(Sample program) (Tool #1 is a 0.5" x 90-degree spot drill) (90-degree spot drill; the depth is) (half of the chamfer diameter)
Plane Star t
lane ing P
ne R Pla
Z X
ne R Pla
Plane Rapid 9 9 G Y
Z
X
ne Z Pla
ne Z Pla
If I, J, and K are specified, the first pass will cut in by the amount of I, each succeeding cut will be reduced by amount J, and the minimum cutting depth is K. Do not use a Q value when programming with I,J,K. If P is specified, the tool will pause at the bottom of the hole for that amount of time. The following example will peck several times and dwell for 1.5 seconds: G83 Z-0.62 F15. R0.1 Q0.175 P1.5. The same dwell time will apply to all subsequent blocks that do not specify a dwell time.
G Codes
141
ING #
22
ne R Pla
I1 = I2 = I3 = I
ne R Pla
Q Q Q
I1 - J I2 - J
th Z Dep
th Z Dep
Setting 52 changes the way G83 works when it returns to the R plane. Usually the R plane is set well above the cut to ensure that the peck motion allows the chips to get out of the hole. This wastes time as the drill starts by drilling 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 chip-clearing move to R occurs, the Z axis distance above R is determined by this setting.
G83 Peck Drilling Canned Cycle
Feed Rapid Move Begin or end of stroke
Star t
lane ing P
S G# ETTIN 22
Star t
lane ing P
SETT
ING #
52
ne R Pla
Q Q Q
ne R Pla
Q Q Q
SETT
ING #
22
SETT
22 ING #
th Z Dep
th Z Dep
Program Example T2 M06 G90 G54 G00 X0.565 Y-1.875 S2500 M03 G43 H02 Z0.1 M08 G83 Z-0.720 Q0.175 R0.1 F15. 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
Description (Tool #2 is a 0.3125" stub drill) (Drill point is 1/3 of the drill diameter)
142
G Codes
Y
ne R Pla
Z X
ne R Pla
X
th Z Dep
th Z Dep
Program Example Helpful notes are listed in parentheses ( ). T3 M06 G90 G54 G00 X0.565 Y-1.875 S900 M03 G43 H03 Z0.2 M08 G84 Z-0.600 R0.2 F56.25 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 % (Tool #3 is a 3/8-16 tap) (900 rpm divided by 16 tpi = 56.25 ipm)
G Codes
143
G ne R Pla
th Z Dep
th Z Dep
Y
nene P lala R RP
Y Z X
X
th Z Dep th Z Dep
This G code will stop once the hole is bored. At this point the tool is manually jogged out of the hole. The program will continue when Cycle Start is pressed.
144
G Codes
G87
ne R Pla
Y Z X
ne R Pla
Z X
th Z Dep
th Z Dep
G88 Bore In, Dwell, Manual Retract Canned Cycle (Group 09)
F L P R X Y Z Feedrate in inches (or mm) per minute Number of holes if G91 (Incremental Mode) is used The dwell time at the bottom of the hole Position of the R plane (position above the part) X-axis location of hole Y-axis location of hole Position of the Z-axis at the bottom of hole
This G code will stop once the hole is bored. At this point the tool is manually jogged out of the hole. The program will continue when Cycle Start is pressed.
G88 Bore and Dwell and Manual Retract Canned Cycle
Feed Rapid Move Begin or end of stroke Manual Jog
tar itial S 98 In
lane ting P
ne R Pla
Y Z X
Y Z X
th Z Dep
th Z Dep
G89 Bore In, Dwell, Bore Out Canned Cycle (Group 09)
F L P R X Y Z Feedrate in inches (or mm) per minute Number of holes if G91 (Incremental Mode) is used The dwell time at the bottom of the hole Position of the R plane (position above the part) X-axis location of holes Y-axis location of holes Position of the Z-axis at the bottom of hole
G Codes
145
G89
ne R Pla
Y Z X
Y Z X
th Z Dep
th Z Dep
G90 Absolute Position Commands (Group 03) G91 Incremental Position Commands (Group 03)
These G codes change the way the axis commands are interpreted. Axes commands following a G90 will move the axes to the machine coordinate. Axes commands following a G91 will move the axis that distance from the current point. G91 is not compatible with G143 (5-Axis Tool Length Compensation).
G90 Canned Cycle (Absolute) G91 Canned Cycle (Incremental)
Z=0
R ane R Pl pth Z De Z
Y Z X
pth Z De ane R Pl
R Z
Z X
146
G Codes
G100 Cancel Mirror Image (Group 00) G101 Enable Mirror Image (Group 00)
X Y Z A X-axis command Y-axis command Z-axis command A-axis command
Programmable mirror imaging is used to turn on or off any the axes. When one is ON, axis motion may be mirrored (or reversed) around the work zero point. These G codes should be used in a command block without any other G codes. They do not cause any axis motion. The bottom of the screen will indicate when an axis is mirrored. Also see Settings 45 through 48 for mirror imaging. The format for turning Mirror Image on and off is: G101 X0 = Will turn on mirror imaging for the X axis. G100 X0 = Will turn off mirror imaging for the X axis.
G Codes
147
XY MIRROR
Y MIRROR
Y MIRROR
OFF
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 X1.0 G00 X2.0 Y2.0 G00 X2.0 Y2.0 G40 G40. Note: mirroring only one of the X or Y axes will cause the cutter to move along the opposite side of a cut. In addition, if mirror imaging is selected for only one axis of a circular motion plane (G02, G03) then they are reversed, and left and right cutter compensation commands (G41, G42) are reversed. NOTE: When milling a shape with XY motions, turning on MIRROR IMAGE for just one of the X or Y axes 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 imaging of both X and Y will eliminate this problem.
G101 Enable Mirror Image
Z X
148
G Codes
(Contour subprogram)
Commanding a G102 will send the current work coordinates of the axes to the first RS-232 port, from there a computer is used to record the values sent. Each axis listed in the G102 command block is output to the RS-232 port in the same format as values displayed in a program. A G102 should be used in a command block without any other G-codes. It will not cause any axis motion, the value for the axes have no effect. Also see Setting 41 and Setting 25. The values sent out are always the current axis positions referenced to the current work coordinate system. This G-code is useful in order to probe a part (also see G31). When the probe touches the part, the next line of code could be a G102 to send the axes position to a computer in order to store the coordinates. This is referred to as digitizing a part. Digitizing is taking a tangible part and making an electronic copy of it. Additional software for the personal computer is required to complete this function.
G Codes
149
This G code translates all programmed motion occurring in a specified linear axis into the equivalent motion along the surface of a cylinder (as attached to a rotary axis) See the following figure). It is a Group 0 G code, but its default operation is subject to Setting 56 (M30 Restores Default G). The G107 command is used to either activate or deactivate cylindrical mapping. Any linear-axis program can be cylindrically mapped to any rotary axis (one at a time). An existing linear-axis G-code program can be cylindrically mapped by inserting a G107 command at the beginning of the program. The radius (or diameter) of the cylindrical surface can be redefined, allowing cylindrical mapping to occur along surfaces of different diameters without 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 34 and 79. 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 address codes can follow a G107: X, Y or Z; A or B; and Q or R. X, Y, or Z: An X, Y, or Z address specifies the linear axis that will be mapped to the specified rotary axis (A or B). When one of these linear axes is specified, a rotary axis must also be specified. A or B: An A or B address identifies which rotary axis holds the cylindrical surface. Q or R: Q defines the diameter of the cylindrical surface, while R defines the radius. When Q or R is used, a rotary axis must also be specified. If neither Q nor R is used, then the last G107 diameter is used. If no G107 command has been issued since power-up, or if the last value specified was zero, then the diameter will be the value in Setting 34 and/or 79 for this rotary axis. When Q or R is specified, that value will become the new G107 value for the specified rotary axis.
150
G Codes
Cylindrical mapping will also be turned off automatically whenever the G-code program ends, but only if Setting 56 is ON. Pressing the RESET key will turn off any cylindrical mapping that is currently in effect, regardless of the status of Setting 56.
R .50" 4X 2.00 4.00 Z Y X
Example % 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 %
G Codes
151
F I J K X Y Z
Feedrate in inches (mm) per minute Optional offset distance along X-axis Optional offset distance along Y-axis Optional offset distance along Z-axis Optional X-axis motion command Optional Y-axis motion command Optional Z-axis motion command
Automatic Work Offset Center Measurement (G136) is used to command a probe to set work offsets. A G136 will feed the axes of the machine in an effort to probe the workpiece with a spindle mounted probe. The axis (axes) will move until a signal from the probe is received, or the travel limit is reached. Tool offsets (G41, G42, G43, or G44) must not be active when this function is preformed. The currently active work coordinate system is set for each axis programmed. Use a G31 cycle with an M75 to set the first point. A G136 will set the work coordinates to a point at the center of a line between the probed point and the point set with an M75. This allows the center of the part to be found using two separate probed points. If an I, J, or K is specified, the appropriate axis work offset is shifted by the amount in the I, J, or K command. This allows the work offset to be shifted away from where the probe actually contacts the part. Notes: Also see G31. The points probed are offset by the values in Settings 59 through 62. Use G91 incremental moves when using a G36. Use the assigned M-codes (M53 & M63) with a dwell to turn the spindle probe on or off. Example: M53 G04 P100 M63 Programming example to probe the center of a bore: O1234 (G136) M53 G04 P100 M63 G00 G90 G54 X0 Y0 Z-17. G91 G01 Z-1. F20. G31 X1. F10. M75 G01 X-1. G136 X-1. F10. G01 X1. M53 G04 P100 M63 G00 G90 G53 Z0 M30
152
G Codes
Programming example to probe the center of a part: O1234 (G136) M53 G04 P100 M63 G00 G90 G54 X0 Y5. Z-17. G91 G01 Z-1. F20. G31 Y-1. F10. M75 G01 Y1. F20. G00 Z2. Y-10. G01 Z-2. F20. G136 Y1. F10. G01 Y-1. M53 G04 P100 M63 G00 G90 G53 Z0 M30
This feature performs three-dimensional cutter compensation. The form is: G141 Xnnn Ynnn Znnn Innn Jnnn Knnn Fnnn Dnnn Subsequent lines can be: G01 Xnnn Ynnn Znnn Innn Jnnn Knnn Fnnn Or G00 Xnnn Ynnn Znnn Innn Jnnn Knnn Some CAM systems are able to output the X, Y, and Z with values for I, J, K. The I, J, and K values tell the control the direction in which to apply the compensation at the machine. The I, J, and K specify the normal direction relative to the center of the tool to the contact point of the tool in the CAM system. The I, J, and K vectors are required by the control to be able to shift the tool path in the correct direction. The value of the compensation can be in a positive or negative direction. The offset amount entered in radius or diameter (Setting 40) for the tool will compensate the path by this amount even if the tool motions are 2 or 3 axes. Only G00 and G01 can use G141. D-code selects which offset to use. G93 feed command is required on each block. With a unit vector, I2 + J2 + K2 must equal 1.
G Codes
153
Only the end-point of the commanded block is compensated in the direction of I, J, and K. For this reason this compensation is recommended only for surface tool paths having a tight tolerance (small motion between blocks of code). For best results program from the tool center using a ball nose end mill. G141 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 Cutter Comp) X0 Y0 M30
This G code allows the user to correct for variations in the length of cutting tools without the need for a CAD/CAM processor. An H code is required to select the tool length from the existing length compensation tables. A G49 or H00 command will cancel 5-axis compensation. For G143 to work correctly there must be two rotary axes, A and B. G90, absolute positioning mode must be active (G91 cannot be used). Work position 0,0 for the A and B axes must be so the tool is parallel with Z-axis motion. The intention behind G143 is to compensate for the difference in tool length 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. G143 tool length compensation works only with rapid (G00) and linear feed (G01) motions; no other feed functions (G02 or G03) or canned cycles (drilling, tapping, etc.) can be used. For a positive tool length, the Z-axis would move upward (in the + direction). If one of X, Y or Z is not programmed, there will be no motion of that axis, even if the motion of A or B produces a new tool length vector. Thus a typical program would use all 5 axes on one block of data. G143 may affect commanded motion of all axes in order to compensate for the A and B axes. Inverse feed mode (G93) is recommended, when using G143. 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
154
G Codes
The G150 starts by positioning the cutter to a start point inside the pocket, followed by the outline, and completes with a finish cut. The end mill will plunge in the Z-axis. A subprogram P### is called that defines the pocket geometry of a closed area using G01, G02, and G03 motions in the X and Y axes on the pocket. The G150 command will search for an internal subprogram with a N-number specified by the P-code. If that is not found the control will search for an external subprogram. If neither are found, alarm 314 Subprogram Not In Memory will be generated. Note: When defining the G150 pocket geometry in the subprogram, do not move back to the starting hole after the pocket shape is closed. An I or J value defines the roughing pass amount the cutter moves over for each cut increment. If I is used, the pocket is roughed out from a series of increment cuts in the X-axis. If J is used, the increment cuts are in the Yaxis. The K command defines a finish pass amount on the pocket. If a K value is specified, a finish pass is performed by K amount, around the inside of pocket geometry for the last pass and is done at the final Z depth. There is no finishing pass command for the Z depth. The R value needs to be specified, even if it is zero (R0), or the last R value that was specified will be used. Multiple passes in the pocket area are done, starting from the R plane, with each Q (Z-axis depth) pass to the final depth. The G150 command will first make a pass around pocket geometry, leaving stock with K, then doing passes of I or J roughing out inside of pocket after feeding down by the value in Q until the Z depth is reached. The Q command must be in the G150 line, even if only one pass to the Z depth is desired. The Q command starts from the R plane. Notes: The subprogram (P) must not consist of more than 40 pocket geometry moves. The Q command must be in the G150 line, even if only one pass to the Z depth is desired. The Q command starts from the R plane. It may be necessary to drill a starting point, for the G150 cutter, to the final depth (Z). Then position the end mill to the start location in the XY axes within the pocket for the G150 command.
G Codes
155
G150
Y
Start Point
Z
Start Point
Z (Final Depth)
Example O01001 T1 M06 G90 G54 G00 X3.25 Y4.5 S1200 M03 G43 H01 Z1.0 M08 G83 Z-1.5 Q0.25 R0.1 F20. G53 G49 Z0
(G150 Pocket example) (T1 Drills clearance hole for endmill) (Pocket start point) (Tool length offset, rapid to a Z start point, turn coolant on) (Peck drill cycle) (Returns Z to home position)
T2 M06 (.5 Endmill) (T2 Cuts pocket in two passes to Z depth) G54 G90 G00 X3.25 Y4.5 S1450 M03 (Pocket start point) G43 H02 Z1.0 M08 (Tool length offset, rapid to a Z start point, turn coolant on) G150 X3.25 Y4.5 Z-1.5 G41 J0.35 K.01 Q0.8 R.1 P2001 D02 F15. (K does a 0.01" finish pass on sides) G40 X3.25 Y4.5 (Cancel cutter comp. and position back to start point of pocket) G53 G49 Y0 Z0 (Returns Z to home position) M30 (End of main program) O02001 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 (Separate program as a subprogram for G150 pocket geometry) (The first move onto pocket geometry with a G01 move) (The following lines define pocket geometry)
(Close pocket geometry loop. Do not position back to start hole.) (Return to Main Program)
156
G Codes
Square Pocket
G150 General Purpose Pocket Milling
1, 6
5.0 x 5.0 x 0.500 DP. Square Pocket Subprogram % % O01001 O01002 (Subprogram for G150 in O01001) T1 M06 (Tool #1 is a 0.500" diameter endmill) G01 Y2. (1) G90 G54 G00 X0. Y1.5 (XY Start Point) X-2.5 (2) S2000 M03 Y-2.5 (3) G43 H01 Z0.1 M08 X2.5 (4) G01 Z0.01 F30. Y2.5 (5) G150 P1002 Z-0.5 Q0.25 R0.01 J0.3 K0.01 G41 D01 F10. X0. (6) (Close Pocket Loop) G40 G01 X0. Y1.5 M99 (Return to Main Program) G00 Z1. M09 % G53 G49 Y0. Z0. M30 % Main Program Absolute and Incremental examples of a subprogram called up by the P#### command in the G150 line: Absolute Subprogram Incremental Subprogram % % O01002 (G90 Subprogram for G150) O01002 (G91 Subprogram for G150) G90 G01 Y2. (1) G91 G01 Y0.5 (1) X-2.5 (2) X-2.5 (2) Y-2.5 (3) Y-5. (3) X2.5 (4) X5. (4) Y2.5 (5) Y5. (5) X0. (6) X-2.5 (6) M99 G90 % M99 %
G Codes
157
Square Island
G150 Pocket Milling (Square Island)
4 7 5 12 5 11 6 10 13 1, 14 5 9 8 3
Start Point
2
X0, Y0
158
G Codes
Round Island
G150 Pocket Milling (Round Island)
4, 10 9 3
8 6, 7
Start Point
11 1, 12 5 2
X0, Y0
5.0 x 5.0 x 0.500 DP. Square Pocket with Round Island Main Program % O03010 T1 M06 (Tool is a 0.500" diameter endmill) G90 G54 G00 X2. Y2. (XY Start Point) S2500 M03 G43 H01 Z0.1 M08 G01 Z0. F30. G150 P3020 X2. Y2. Z-0.5 Q0.5 R0.01 J0.3 K0.01 G41 D01 F10. G40 G01 X2. Y2. G00 Z1. M09 G53 G49 Y0. Z0. M30 % Subprogram % O03020 (Subprogram for G150 in O03010) G01 Y1. (1) X6. (2) Y6. (3) X1. (4) Y3.5 (5) X2.5 (6) G02 I1. (7) G02 X3.5 Y4.5 R1. (8) G01 Y6. (9) X1. (10) Y1. (11) X2. (12) (Close Pocket Loop) M99 (Return to Main Program) %
G Codes
159
G153 5-Axis High Speed Peck Drilling Canned Cycle (Group 09)
E F I J K L P Q A B X Y Z Specifies the distance from the start position to the bottom of the hole Feedrate in inches (mm) per minute Size of first cutting depth (must be a positive value) Amount to reduce cutting depth each pass (must be a positive value) Minimum depth of cut (must be a positive value) Number of repeats Pause at end of last peck, in seconds The cut-in value (must be a positive value) A-axis tool starting position B-axis tool starting position X-axis tool starting position Y-axis tool starting position Z-axis tool starting position
G153 5-Axis High Speed Peck Drilling With K & Q Options
Setting #22
Setting #22
I1=I
Q Q Q
I2= I1- J
I3=I2 -J
This 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 amount I, each succeeding cut will be reduced by amount J, and the minimum cutting depth is K. If P is used, the tool will pause at the bottom of the hole for that amount of time. Note that the same dwell time applies to all subsequent blocks that do not specify a dwell time.
G Codes
#14301-#14306 #14321-#14326 #14341-#14346 #14361-#14366 #14381-#14386 #14401-#14406 #14421-#14426 #14441-#14446 #14461-#14466 #14481-#14486 #14501-#14506 #14521-#14526 #14541-#14546 #14561-#14566 #14581-#14586 #14781-#14786 #14981-#14986 #15181-#15186 #15381-#15386 #15581-#15586 #15781-#15786 #15881-#15886 #15901-#15906 #15921-#15926 #15941-#15946 #15961-#15966
G154 G154 G154 G154 G154 G154 G154 G154 G154 G154 G154 G154 G154 G154 G154 G154 G154 G154 G154 G154 G154 G154 G154 G154 G154 G154
P16 P17 P18 P19 P20 P21 P22 P23 P24 P25 P26 P27 P28 P29 P30 P40 P50 P60 P70 P80 P90 P95 P96 P97 P98 P99
A specific X, Y, Z, A, B position must be programmed before the canned cycle is commanded. This position is used as the Initial Start position. You do not need to start the spindle CCW before this canned cycle. The control does this automatically.
G155 5-Axis Reverse Tapping Canned Cycle
Z Axis position between holes Feed Rapid Move Begin or end of Stroke
G Codes
161
Z Axis position between holes Feed Rapid Move Begin or end of Stroke
A specific X, Y, Z, A, B position must be programmed before the canned cycle is commanded. This position is used as the Initial Start position.
A specific X, Y, Z, A, B position must be programmed before the canned cycle is commanded. This position is used as the Initial Start position.
G162 5-Axis Spot Drill Canned Cycle
Z Axis position between holes Feed Rapid Move Begin or end of Stroke
162
G Codes
A specific X, Y, Z, A, B position must be programmed before the canned cycle is commanded. This position is used as the Initial Start position. If I, J, and K are specified the first pass will cut in by amount I, each succeeding cut will be reduced by amount J, and the minimum cutting depth is K. A P value is used 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. Note that the same dwell time applies to all subsequent blocks that do not specify a dwell time.
Setting #22
Setting #22
Setting #52
I1=I
Q Q Q
I2= I1- J
I3=I2 -J
Setting 52 also changes the way G163 works when it returns to the start position. Usually the R plane is set well above the cut to ensure that the peck motion allows the chips to get out of the hole. This wastes time as the drill starts by drilling 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 chip-clearing move to the start position occurs, the Z axis will be moved above the start position by the amount given in this setting.
G Codes
163
Z Axis position between holes Feed Rapid Move Begin or end of Stroke
A specific X, Y, Z, A, B position must be programmed before the canned cycle is commanded. This position is used as the Initial Start position. You do not need to start the spindle CW before this canned cycle. The control does this automatically.
Z Axis position between holes Feed Rapid Move Begin or end of Stroke
164
G Codes
A specific X, Y, Z, A, B position must be programmed before the canned cycle is commanded. This position is used as the Initial Start position.
Z Axis position between holes Feed Rapid Move Begin or end of Stroke
A specific X, Y, Z, A, B position must be programmed before the canned cycle is commanded. This position is used as the Initial Start position.
Z Axis position between holes Feed Rapid Move Begin or end of Stroke
G Codes
165
A specific X, Y, Z, A, B position must be programmed before the canned cycle is commanded. This position is used as the Initial Start position.
G174 CCW Non-Vertical Rigid Tap (Group 00) G184 CW Non-Vertical Rigid Tap (Group 00)
F X Y Z S Feedrate in inches per minute X position at bottom of hole Y position at bottom of hole Z position at bottom of hole Spindle Speed
A specific X, Y, Z, A, B position must be programmed before the canned cycle is commanded. This position is used as the Start position. 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 angle with a fiveaxis mill. The ratio between the feedrate and spindle speed must be precisely the thread pitch being cut. You do not need to start the spindle before this canned cycle; the control does this automatically.
E Sets the max corner rounding value, temporarily overriding Setting 85 "Max Corner Rounding". Setting 191 sets the default smoothness to the user specified "rough," "medium," or "finish" when G187 is not active. The "medium" setting is the factory default setting. NOTE: Changing setting 191 to "Finish" will take longer to machine a part. Use this setting only when needed for the best finish. G187 Pm Ennnn sets both the smoothness and max corner rounding value. G187 Pm sets the smoothness but leaves max corner rounding value at its current value. G187 Ennnn sets the max corner rounding but leaves smoothness at its current value. G187 by itself cancles the E value and sets smoothness to the default smoothness specified by Setting 191. G187 will be cancelled whenever "Reset" is pressed, M30 or M02 is executed, the end of program is reached, or E-stop is pressed.
166
G Codes
M10 Engage 4th Axis Brake/ M11 Release 4th Axis Brake
These codes will apply and release the brake to the optional 4th axis. The brake is normally engaged, so the M10 command is only required when an M11 has been used to release the brake.
M12 Engage 5th Axis Brake / M13 Release 5th Axis Brake
These codes will apply and release the brake to the optional 5th axis. The brake is normally engaged, so the M12 command is only required when an M13 has been used to release the brake.
M17 Unclamp APC Pallet and Open APC Door/ M18 Clamp Pallet and Close Door
This M-code is used on vertical machining centers with pallet changers. It is used as a maintenance/test function only. Pallet changes should be commanded with an M50 command only.
M Codes
167
P8
P4
12 11 10 9 8 7 6 5 4 3 2 1
12 11 10 9 8 7 6 5 4 3 2 1
K8
K1
Optional 8M-Code Relays Additional M-Code relay functions can be purchased in banks of 8. A maximum of two 8M-code relay boards can be installed in the machine, for a total of 16 additional outputs. A total of 4 banks of 8 relays are possible in the Haas system these are numbered from 0-3. Banks 0 and 1 are internal to the main 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 or M59/ 69. Parameter 352 is shipped set to 1 as standard.
NOTE: With any probing option, Parameter 352 must be set to 1. When the 8M option is installed, access its relays using M59/69
168
M Codes
M34 moves the optional P-Cool spigot one position away from the current position (farther from home). M35 moves the coolant spigot one position towards the home position.
Do not rotate the coolant spigot by hand. Serious motor damage will occur. M36 Pallet Part Ready
Used on machines with pallet changers. This M code delays the pallet change until the Part Ready button is depressed. A pallet change will occur after the pallet ready button is pressed (and the doors are closed). For example: Onnnnn (program number) M36 (Flash Part Ready light, wait until the button is pressed) M50 (Perform pallet change after Part Ready button is pressed) (Part Program) M30
M Codes
169
170
M Codes
M Codes
171
M95 (12:30) The line(s) following the M95 should be axis moves and spindle warm-up commands.
This code is used to test a discrete input for 0 (off) status. This is useful for checking the status of automatic work holding or other accessories that will generate a signal for the control. The Q value must be in the range 0 to 63, which corresponds to the inputs found on the diagnostic display (The upper left input is 0 and the lower right is input 63. When this program block is executed and the input signal specified by Q has a value of 0, the program block Pnnnn is performed (the Pnnnn line must be in the same program). M96 Example: N05 M96 P10 Q8 N10 . . . N85 M21 N90 M96 P10 Q27 N95 M30 (Test input #8, Door Switch, until closed); (Start of program loop); (Program that machines part); (Execute an external user function) (Loop to N10 if spare input [#27] is 0); (If spare input is 1 then end program);
172
M Codes
O0100 (SUB-PROGAM NUMBER) G00 G90 G55 X0 Y0 S500 M03 G43 H01 Z1. Z-.5 G01 G41 X.5 F100. G03 YI-.5 G01 X0 G40 Z1. F50. G91 G28 Z0 G90 M99
M Codes
173
N1 #501= 0. (Clear the variable) M109 P501 (Sleep 1 min?) N5 IF [ #501 EQ 0. ] GOTO5 (Wait for a key) IF [ #501 EQ 89. ] GOTO10 (Y) IF [ #501 EQ 78. ] GOTO20 (N) GOTO1 (Keep checking) N10 (A Y was entered) M95 (00:01) GOTO30 N20 (An N was entered) G04 P1. (Do nothing for 1 second) N30 (Stop) M30
The following sample program will ask the user to select a number, then wait for a 1, 2 or a 3 to be entered. All other characters will be ignored.
O00234 (Sample program) N1 #501= 0. (Clear the variable) M109 P501 (Pick 1, 2 or 3:) N5 IF [ #501 EQ 0. ] GOTO5 (Wait for a key) IF [ #501 EQ 49. ] GOTO10 (1) IF [ #501 EQ 50. ] GOTO20 (2) IF [ #501 EQ 51. ] GOTO30 (3) GOTO1 (Keep checking) N10 (A 1 was entered) M95 (00:01) GOTO30 N20 (A 2 was entered) G04 P5. (Do nothing for 5 seconds) N30 (A 3 was entered) M30
174
M Codes
SETTINGS
Introduction
Settings are machine conditions that have an affect on machine operation. In general, settings allow the operator or setup person to lock out, turn on or specify functions. The settings are organized into pages of similar groups rather than numeric order. This puts associated settings on the same displayed page.
Changing Settings
Press the SETNG/GRAPH button to enter the setting pages Use the page up/down buttons scroll through the setting pages, use the vertical cursor keys to move to the desired setting. Or enter a setting number and press the down arrow button to go directly to that setting. There are two types of Settings, the first has built-in selections that can be scrolled through and then selected by pressing Write (Use the left/right arrow keys to scroll through the selections). The second type expect to have a value entered. There is help text at the top of the screen that advises of the type of setting. In some cases the Emergency Stop button must be pressed in order to change a setting. The message Servo is On will display as a reminder that the Emergency stop button is not pressed.
Setting List
Settings
175
7 Parameter Lock
Turning this Setting ON will stop the parameters from being changed, except for parameters 81-100. Note: When the control is powered up, this setting is on.
9 Dimensioning
This setting selects between inch and metric mode. 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.001mm. All offset values are converted when this setting is changed from inches to metric, or vice versa. However, changing this setting will not automatically translate a program stored in memory; you must change the programmed axis values for the new units. When set to INCH, the default G code is G20, when set to METRIC, the default G code is G21. IN C H F eed Max Travel Min . P ro g rammab le D imen sio n F eed R an g e inches/min. +/- 15400.0000 .0001 .0001 to 300.000 in/min. ME T R IC mm/min. +/-39300.000 .001 .001 to 1000.000
Axis Jo g K eys .0001 K ey .001 .01 .1 K ey .0001 in/jog click .001 in/jog click .01 in/jog click .1 in/jog click .001 mm/jog click .01 mm/jog click .1 mm/jog click 1 mm/jog click
176
Settings
12 Parity Select
This setting defines parity for the first serial port (RS-232). When set to None, no parity bit is added to the serial data. When set to Zero, a 0 bit is added. Even and Odd work like normal parity functions. Make sure you know what your system needs, for example, XMODEM must use 8 data bits and no parity (set to None). This setting must match the transfer rate from the personal computer.
13 Stop Bit
This setting designates the number of stop bits for the first serial port (RS-232). It can be 1 or 2. This setting must match the transfer rate from the personal computer.
14 Synchronization
This changes the synchronization protocol between sender and receiver for the first serial port (RS-232). This setting must match the transfer rate from the personal computer. 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 set to XON/XOFF, the most common setting, ASCII character codes are used by the receiver to tell the sender to temporarily stop. The selection DC CODES is like XON/XOFF, except that 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 has added reliability as each block is checked for integrity. XMODEM must use 8 data bits and no parity.
Settings 16-21
These settings can be turned on in order to stop unfamiliar operators from altering the machine s functions and causing damage to the machine or workpiece.
Settings
177
24 Leader To Punch
This setting is used to control the leader (the blank tape at the beginning of a program) sent to a paper tape punch device connected to the first RS-232 port.
25 EOB Pattern
This setting controls the EOB (End of Block) pattern when data is sent and received to/from serial port 1 (RS-232). This setting must match the transfer rate from the personal computer.
26 Serial Number
This is the serial number of your machine. It cannot be changed.
Part
X Y
X+
Bored Hole
29 G91 Non-modal
Turning this setting ON will use the G91 command only in the program block it is in (non-modal). When it is OFF, and a G91 is commanded, the machine will use incremental moves for all axis positions.
32 Coolant Override
This setting controls how the coolant pump operates. The Normal selection allows the operator to turn the pump on and off manually or with M-codes. The Off selection will generate an alarm if an attempt is made to turn the coolant on manually or from a program. The Ignore selection will ignore all programmed coolant commands, but the pump can be turned on manually.
33 Coordinate System
This setting changes the way the Haas control recognizes the work offset system when a G52 or G92 is programmed. It can be set to FANUC, HAAS, or YASNAC. Set to YASNAC G52 becomes another work offset, just like using a G55.
178
Settings
Set to FANUC with G52 Any values in the G52 register will be added to all work offsets (global coordinate shift). This G52 value can be entered either manually or through a program. When FANUC is selected, pressing RESET, commanding an M30, or machine power down will clear out the value in G52. Set to HAAS with G52 Any values in the G52 register will be added to all work offsets. This G52 value can be entered either manually or through a program. The G52 coordinate shift value is set to zero (zeroed) by manually entering zero, or by programming it with G52 X0, Y0, and/or Z0. Set to YASNAC with G92: Selecting YASNAC and programming a G92 X0 Y0, the control will enter the current machine location as a new zero point (Work Zero Offset), and that location will be entered into and viewed in the G52 list. Set to FANUC or HAAS with G92: Selecting FANUC or HAAS with a G92, it will work like the YASNAC setting, except that the new Work Zero location value will be loaded as new G92. This new value in the G92 list will be used, in addition to, the presently recognized work offset to define the new work zero location.
35 G60 Offset
This is a numeric entry in the range 0.0 to 0.9999 inches. It is used to specify the distance an axis will travel past the target point prior to reversing. Also see G60.
36 Program Restart
When this setting is ONN, restarting a program from a point other than the beginning will direct the control to scan the entire program to ensure that the tools, offsets, G and M codes, and axis positions are set correctly before the program starts at the block where the cursor is positioned. Note: The following M codes will be processed when Setting 36 is enabled: M08 Coolant On M41 Low Gear Override M09 Coolant Off M42 High Gear Override M10 Engage 4th Axis Brake M51-M58 Set Optional M Code M11 Release 4th Axis Brake M61-M68 Clear Optional M Code M12 Engage 5th Axis Brake M83 Air Gun On M13 Release 5th Axis Brake M84 Air Gun Off M34 Increment Coolant Spigot Position M88 Thru-Spindle Coolant ON M35 Decrement Coolant Spigot Position M89 Thru-Spindle Coolant OFF When it is Off the program will start without checking the conditions of the machine. Having this setting Off may save time when running a proven program.
Settings
179
44 Min F in Radius CC %
(Minimum feedrate in radius cutter compensation percent) This setting affects the feedrate when cutter compensation moves the tool toward the inside of a circular cut. This type of cut will slow down to maintain a constant surface feedrate. This setting specifies the slowest feedrate as a percentage of the programmed feedrate (range 1-100). The default is 50 (50%).
45 Mirror Image X-axis 46 Mirror Image Y-axis 47 Mirror Image Z-axis 48 Mirror Image A-axis
When one or more of these settings is ON, axis motion will be mirrored (reversed) around the work zero point. See also G101 Enable Mirror Image in G-codes section.
XY MIRROR
Y MIRROR
Y MIRROR
OFF
180
Settings
Setting 52
Settings
181
58 Cutter Compensation
This setting selects the type of cutter compensation used (FANUC or YASNAC). See the cutter compensation section.
59 Probe Offset X+ 60 Probe Offset X61 Probe Offset Y+ 62 Probe Offset YThese settings are used to define the displacement and size of the spindle probe. These four settings specify the travel distance and direction from where the probe is triggered to where the actual sensed surface is located. These settings are used by G31, G36, G136, and M75 codes. The values entered for each setting can be either positive or negative numbers. Macros can be used to access these settings, see the Macro section for more information.
66 Graphics X Offset
This setting locates the right side of the scaling window relative to the machine X zero position (see the Graphics section). Its default is zero.
67 Graphics Y Offset
This setting locates the top of the zoom window relative to the machine Y zero position (see the Graphics section). Its default is zero.
Graphics Mode
Setting 66 and 67
182
Settings
Notice the space between the X and the 3 when the setting is ON. Information can be easier to read when this setting is ON.
77 Scale Integer F
This setting allows the operator to select how the control interprets an F value (feedrate) that does not contain a decimal point. (It is recommended that programmers always use a decimal point.) This setting helps operators run programs developed on a control other than HAAS. For Example F12: Setting 77 OFF 0.0012units/minute Setting 77 ON 12.0 units/minute
Settings
183
79 5th-axis Diameter
This is used to set the diameter of the B-axis (0.0 to 50 inches), which the control will use to determine the angular feedrate. The feedrate in a program is always inches per minute (or mm per minute), therefore, the control must know the diameter of the part being machined in the B-axis in order to compute angular feedrate. See setting 34 for 4th axis diameter.
81 Tool At Power Up
When the Power Up/Restart 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. The default setting is 1. Setting 81, will cause one of the following actions to occur during a Power-up/Restart: A. If Setting 81 is set to zero, the carousel will be rotated to pocket #1. No tool change will be performed. B. If Setting 81 contains the tool number of the tool currently in the spindle, the carousel will remain at the same pocket and no tool change will be performed. C. If Setting 81 contains the tool number of a tool not currently in the spindle, the carousel will be rotated to pocket #1 and then to the pocket containing the tool specified by Setting 81. A tool change will be performed to change the specified tool into the spindle.
82 Language
Languages other than English are available in the Haas control. To change to another language, choose a language and press Enter.
184
Settings
The operator may use the keyboard feedrate override buttons while the Autofeed feature is selected. These buttons will be recognized by the Autofeed feature as the new commanded feedrate as long as the tool load limit is not exceeded. However, if the tool load limit has already been exceeded, the control will ignore the feedrate override buttons.
Setting 85 Examples
86 M39 Lockout
This is an On/Off setting. When it is ON, M39 commands are ignored.
91 Advanced Jog
Turning this setting ON enables the Index Jog and Jog Travel Limits features. This setting is used on the Tool Room series of machines. See the Toolroom Mill addendum for more information on these features.
Settings
185
Settings 110, 111 and 112 specify the amount of compensation (max = 0.0020" or 0.051 mm) applied to the axes. Setting 109 must have a value entered for settings 110-112 to have an affect.
186
Settings
121 APC Pal. One Load X 122 APC Pal. One Load Y 123 APC Pal. One Unload X 124 APC Pal. One Unload Y 125 APC Pal. Two Load X 126 APC Pal. Two Load Y 127 APC Pal. Two Unload X 128 APC Pal. Two Unload Y 129 APC Pal. 1 and 2 Safe X Pos
Settings 121-129 are the pallet positions for the X and Y axis. They are set at the time the APC is installed and should not need altering.
Settings
187
136 Server
This setting contains the user-entered server name (up to 8 characters long.) Enter a semicolon (EOB symbol) if the machine is not linked to a server.
137 Username
This setting contains the user-entered account name (up to 8 characters long.) Enter a semicolon (EOB symbol) if the machine is not linked to a server.
138 Password
This setting contains the user-entered password (up to 8 characters long.) Enter a semicolon (EOB symbol) if the machine is not linked to a server.
139 Path
This setting contains the user-entered Novell-Path or Windows NT root directory name (up to 18 characters long). For a Novell network, this is the users path name; for example, U:\USERS\JOHNDOE. For a Microsoft network (i.e. Windows NT), this is the root directory\desired directory name; for example, USERS\JOHNDOE. Enter a semicolon (EOB symbol) if the machine is not linked to a server.
141 Subnet
This setting is used only for TCP networks and contains the user-entered subnet mask (up to 15 characters long; for example, 255.255.255.0). Enter a semicolon (EOB symbol) if the machine is not linked to a server.
188
Settings
Q304 - Previous Cycle Time Q400 - not currently used Q401 - not currently used Q402 - M30 Parts Counter #1 (resettable at control) Q403 - M30 Parts Counter #2 (resettable at control) Q500 - Three-in-one (PROGRAM, Oxxxxx, STATUS, PARTS, xxxxx) Q600 Macro or system variable The user has the ability to request the contents of any macro or system variable by using the Q600 command, for example, Q600 xxxx where xxxx is the macro variable. In addition, Macro variables #1-33, 100-199, 500-699, 800-999 and #2001 thru #2800 can be written to using an E command, for example, Exxxx yyyyyy.yyyyyy where xxxx is the macro variable and yyyyyy.yyyyyy is the new value. Note that this command should only be used when there are no alarms present. Status Relays Special Additional Remote Machine Data Collection This feature can be accomplished with the installation of the following optional parts: 8 Spare M-code relay board (all 8 become dedicated to below functions and can no longer be used for normal M-code operation), a power-on relay, an extra set of Emergency Stop contacts, and a set of special cables; contact your dealer for pricing information on these parts. Once installed, output relays 40 thru 47, a power-on relay and the Emergency Stop switch are used to communicate the status of the control. Note: Parameter 315 bit 26 STATUS RELAYS must be enabled. Standard spare M-codes are still available for use. The following communications will be received (* are only available when used with the optional parts): * E-STOP contacts. This will be closed when the E-STOP button is pushed. * Power ON - 115 VAC. Indicates that the control is turned ON. It should be wired to a 115 VAC coil relay for interface. * Spare Output Relay 40. Indicates that the control is In-Cycle (running.) * Spare Output Relay 41 and 42: 11 = MEM mode & no alarms (AUTO mode.) 10 = MDI mode & no alarms (Manual mode.) 01 = Single Block mode (Single mode) 00 = other modes (zero, DNC, jog, list prog, etc.) * Spare Output Relay 43 and 44: 11 = Feed Hold stop (Feed Hold.) 10 = M00 or M01 stop 01 = M02 or M30 stop (Program Stop) 00 = none of the above (could be single block stop or RESET.) * Spare Output Relay 45 (Feed Rate Override is active and Feed Rate is NOT 100%) * Spare Output Relay 46 (Spindle Speed Override active and Spindle Speed is NOT 100%) * Spare Output Relay 47 (Control is in EDIT mode)
146 APC Pallet 3 Load X 147 APC Pallet 3 Load Y 148 APC Pallet 3 Unload X 149 APC Pallet 3 Unload Y
Settings
189
150 APC Pallet 4 Load X 151 APC Pallet 4 Load Y 152 APC Pallet 4 Unload X 153 APC Pallet 4 Unload Y 154 APC Pallet 3 & 4 Safe X
See Settings 121-129
190
Settings
Settings
191
192
Settings
MAINTENANCE
GENERAL R EQUIREMENTS
Operating Temperature Range: 41F to 104F (5 to 40C) Storage Temperature Range: -4F to 158F (-20 to 70C) Ambient Humidity: 20% 95% relative humidity, non-condensing Altitude: 0-7000 ft.
ELECTRICITY R EQUIREMENTS
40-30 HP System (50 Taper, 40 Taper HT 10K, VF Super Speed, EC-300, EC-400 12K, VM) 195-260V Voltage Requirements 354-488V High-Voltage Requirements2 1 Power Supply 100 AMP 50 AMP Haas Circuit Breaker 80 AMP 40 AMP If service run from elec. panel is less than 100' use: 4 GA. WIRE 8 GA. WIRE If service run from elec. panel is more than 100' use: 2 GA. WIRE 6 GA. WIRE 40-30 HP System (VS 1/3, HS 3-7 incl R models) 195-260V Voltage Requirements 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.
Maintenance
193
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 rated horsepower of the machine may not be achieved if the imbalance of the incoming voltage is beyond an acceptable limit. The machine may function properly, yet may not deliver the advertised power. This is noticed more often when using phase converters. A phase converter should only be used if all other methods cannot be used. The maximum leg-to-leg or leg-to-ground voltage should not exceed 260 volts, or 504 volts for high-voltage machines with the Internal High Voltage Option.
1
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.
2
The high-voltage requirements shown reflect the Internal 400V configuration which is standard on European machines. Domestic and all other users must use the External 480V option.
AIR REQUIREMENTS
The mill requires a minimum of 100 psi at the input to the pressure regulator on the back of the machine. A volume of 4 scfm (9scfm for EC and HS mills) is also necessary. 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.
NOTE: Add 2 scfm to the minimum air requirements (below) if the operator will be using the air nozzle during pneumatic operations.
Machine Type
Main Air Regulator 85 psi 85psi 85psi 85psi. 85psi 85psi 85psi 85psi
Input Airline Hose Size 1/2 I.D. 1/2 I.D. 1/2 I.D. 1/2 I.D. 3/8 I.D. 1/2 I.D. 1/2 I.D. 1/2 I.D.
EC-300 EC-400 EC-1600 HS 3/4/6/7 incl R models VF-1 - VF-11 (40Taper), VM VF-5 - VF-11 (50 Taper) VR Series VS 1/3
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 1/2" coupler.
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. Auxiliary air connections should be made on the unregulated side of the air filter/regulator.
NOTE:
WARNING!
When the machine is operating and the pressure gauge (on the machine regulator) drops by more than 10 psi during tool changes or pallet changes, insufficient air is being supplied to the machine.
194
Maintenance
MAINTENANCE SCHEDULE
The following is a list of required regular maintenance for the machining center. These required specifications must be followed in order to keep your machine in good working order and protect your warranty.
Interval
Daily
Maintenance Performed
Check coolant level each eight-hour shift (especially during heavy TSC 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. Check Through the Spindle Coolant (TSC) filters. Clean or replace element if needed. Check for proper operation of auto drain on filter regulator. On machines with the TSC option, clean the chip basket on the coolant tank. Remove the tank cover and remove any sediment inside the tank. Disconnect the coolant pump from the cabinet and power off the machine before working on the coolant tank. Do this MONTHLY for machines without the TSC option. Check air gauge/regulator for 85 psi. Check the spindle air pressure regulator for 17 psi. For 15K-spindle machines, check spindle air pressure regulator for 20 psi. For machines with the TSC option, place a dab of grease on the V-flange of tools. Do this MONTHLY for machines without the TSC option. Clean exterior surfaces with mild cleaner. DO NOT use solvents. Check the hydraulic counterbalance pressure according to the machines specifications. Check oil level in gear box. For 40 taper spindles: Remove inspection cover beneath spindle head. Add oil slowly from top until oil begins dripping from overflow tube at bottom of sump tank. For 50 taper spindles: Check oil level in sight glass. Add from side of gearbox if necessary. 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 SMTC oil level in sight glass, (see Side Mount Tool Changer Oil Level in this section). EC-400 Clean the locating pads on the A-axis and the load station. This requires removing the pallet Replace coolant and thoroughly clean the coolant tank. Check all hoses and lubrication lines for cracking. Check the rotary A-axis. If necessary add oil (Mobil SHC-630). The correct oil level is halfway on the sight glass. Replace the gearbox oil. Drain the oil from the bottom of the gearbox. Remove inspection cover beneath spindle head. Add oil slowly from top until oil begins dripping from overflow tube at bottom of sump tank. For 50 taper spindles, add oil from the side of the transmission. Check oil filter and clean out residue at bottom of filter. Replace air filter on control box. EC-400 Replace the Rotary A-axis oil
Weekly
Monthly
Six Months
Annually
2 years
Maintenance
195
PERIODIC MAINTENANCE
A periodic maintenance page is found within the Current Commands screens titled Maintenance. Access the screen by pressing CURNT COMDS and using Page Up or Page Down to scroll to the page. 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, a deactivated item will display, instead. The maintenance item time is adjusted by using the left and right arrows. Pressing the Origin key will reinstate the default time. Items are tracked either by the time accumulated while power is on (ON-TIME) or by cycle-start time (CS-TIME). When the time reaches zero the message Maintenance Due is displayed at the bottom of the screen (a negative number of hours indicates the hours past due). This message is not an alarm and does not interfere with machine operation in any way. After the necessary maintenance has been performed, the operator can select that item on the Maintenance screen, press the Origin button to deactivate it, then press Origin again to reactivate it with the default number of hours remaining. Refer to settings 167-186 for additional maintenance defaults. Note that settings 181-186 are used as spare maintenance alerts by keying-in a number. The maintenance number will display on the Current Commands page once a value (time) is added to the setting.
W INDOWS / G UARDING
Polycarbonate windows and guarding can be weakened by exposure to cutting liquids and chemicals that contain amines. It is possible to lose up to 10% of the remaining strength annually. If degradation is suspected, replace the window. It is recommended that the windows be replaced every two years.
Windows and guarding should be replaced if damaged or severely scratched. Replace damaged windows immediately.
WORKLIGHT
There are four types of worklights for the Haas mills. Turn off power to the machine at the main breaker before doing any work on the mill.
Glass
Screws
Frame
Lens
Lens
The power for the worklight comes from the GFI circuit. If the worklight does not turn on, check this first, it can be reset at the side of the control panel.
CHIP AUGER
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 strainer regularly. Should the drain become clogged and cause coolant to collect in the pan, stop the machine, loosen the chips blocking the drain, and allow the coolant to drain. Empty the coolant tank strainer, then resume operation.
196
Maintenance
TSC MAINTENANCE
The TSC pump is a precision gear pump and will wear out faster and lose pressure if abrasive particles are present in the coolant. Check the dirt indicator on the 20-micron mesh filter with the TSC system running and no tool in the spindle. Change the element when the indicator reaches the red zone. Clean the pump intake filter when indicator is in the red zone. Reset indicator with button. Gate filters can be cleaned with a wire brush. After changing or cleaning filter elements, run the TSC system with no tool in spindle for at least one minute to prime system. Coolant will be used more quickly when the TSC system is in use. Make sure to keep the coolant level up and 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.
Wing Nuts (4) TSC Filter Assembly Dirt Indicator Disconnect Hose for Cleaning 20 Mesh Intake Filter Gasket
IMPORTANT!
GATE FILTER
Warnings
Use of coolants with extremely low lubricity can damage the TSC coolant tip and pump. Shortened pump life, reduction of pressure and increased maintenance are normal and to be expected in abrasive environments and are not covered by warranty. A special filter, in addition to the standard filter should be used; contact Haas for recommendations. Machining of ceramics and the like voids all warranty claims for wear and is done entirely at customer's risk. Increased maintenance schedules are absolutely required with abrasive swarf. The coolant must be changed more often and the tank thoroughly cleaned of sediment on the bottom. An auxiliary coolant filter is recommended. When machining castings, sand from the casting process and the abrasive properties of cast aluminum and cast iron will shorten pump life unless a special filter is used in addition to the 20 mesh intake filter. Contact Haas for recommendations.
Maintenance
197
LUBRICATION C HART
System Vertical Mills Way lube and pneumatics Transmission A and B axis (VR-Series) EC-Series Way lube and pneumatics Transmission Rotary Table HS 3/4/6/7 incl R Way lube and pneumatics Transmission Rotary Table Lubricant Mobil Vactra #2* Mobil DTE 25 Mobil SHC 625 Mobile Vactra #2* Mobil DTE 25 Mobil SHC-630 Mobil DTE-25 Mobil DTE 25 Mobil SHC-630 Quantity 2-2.5 qts 40Taper 34 oz, 50 Taper 51 oz A-axis 5qts, B-axis 4qts 2-2.5 qts 34 oz Cover sight glass 2-2.5 qts 34 oz Cover sight glass
*All 50-Taper Machines, 30,000 RPM 40-taper spindles and 15,000 RPM spindles in GR-Series mills use DTE 25.
C OOLANT AND COOLANT T ANK
Machine coolant must be water-soluble, synthetic oil based or synthetic based coolant/lubricant. Using mineral cutting oils will damage rubber components throughout the machine and void the warranty. Coolant must have rust inhibitors. Do not use pure water as a coolant; machine components will rust. Do not use flammable liquids as coolant. Acidic and high alkaline fluids will damage components throughout the machine. See safety section and labeling concerning flammable and explosive fluids and materials. If the mill is equipped with Through-the-Spindle Coolant (TSC) do not use coolants with extremely low lubricity; these types of coolant can damage the TSC Coolant tip and pump. The coolant tank must be thoroughly cleaned periodically, especially for mills equipped with TSC.
Coolant Overview
As the machine runs the water will evaporate which will change the concentration of the coolant. Coolant is also carried out with the parts. A proper coolant mixture is between 6% and 7%. To top-off coolant only more coolant or deionized water should be used. Be sure that the concentration is still within the range. A refractometer can be used to check the concentration. Coolant should be replaced at regular intervals. A schedule should be set and held to. This will avoid a build up of machine oil and will ensure that coolant is within the proper concentration and lubricity.
198
Maintenance
1000 PSI TSC M AINTENANCE Before doing any maintenance to the 1000psi system, disconnect the power source; unplug it from the power supply. Check the oil level on a daily basis. If the oil is low, add oil through the fill cap on the reservoir. Fill the reservoir about 25% full with 10-30W oil.
MAX
MIN
Rear View
Screwdriver Oil Filter O-Ring Filter Element (P/N 94-3059) Un-screw end cap
Maintenance
199
22 23 24 1
Oil
Vertical Mills: View the oil level sight glass in the location shown. The proper level is half way on the sight glass. If more oil is needed, fill the gear box to the proper level at the oil fill/breather where shown. EC-Series: Remove the plug and feel for oil with your finger. If no oil is felt, add oil until the it starts to come out of the hole. Replace plug.
Tool Pot Chain Tension The tool pot chain tension should be checked regularly as a preventive maintenance procedure. Chain tension adjustment is performed in the lower left area of the magazine. Loosen the four M12x50 SHCS from the front of the magazine. This will allow the plate to move. Loosen the hex lock nut on the shaft and tighten the shaft using the hex bolt. Lock in the adjustment with the hex lock nut, and retighten the four 12x50 SHCS. Tensioning will not change the indexed pot location, but check the alignment between the manual tool push cylinder and the tool pot.
7 8 9
200
3 12 1
Drain Plug
14
16
18 19
1 20 2
Maintenance
TRANSMISSION
VF 1-6 40 Taper
VF 6 through 11 50T
NOTE: The VF-5 50 taper, does not have a sight glass; the oil is circulated directly onto the gears by a hose.
Oil Change
1. Remove the sheet metal from the spindle head. 2. Remove the encoder and the encoder mounting plate. 3. Remove the oil drain plug. When the oil drains, check the magnet for metal particles. 4. Replace the oil drain plug and fill the gear case with 1 liters of Mobil DTE 25 gear oil at the fill cup on top. 5. Replace the oil overflow plug, put a small amount of thread sealant on the threads. (Do not use thread locking compound) install encoder and insure that the spindle orientation is correct. 6. Install the sheet metal and run a spindle warm up and check for leaks.
Maintenance
201
Oil Drain
EC-1600
Oil Check
Remove the sheet metal necessary to gain access to the transmission. View the sight glass on the side of the transmission box as shown. The oil level should be half way on the sight glass. Fill as needed.
Oil Change
1. Remove the sheet metal from the spindle head. 2. Remove the drain plug as shown. Inspect the magnetic drainplug for signs of metal particles. 3. Blow downward with an air hose in the vicinity of the fill hole to prevent dirt and metal particles from entering the gear case. Remove the fill plug. 4. Add Mobil DTE-25 gear oil until the oil level is half way up the sightglass. 5. Run a spindle warm-up and check for leaks.
Oil Replacement
EC-300 Periodically check the oil level in the reservoir and keep it filled. It is not necessary to replace the oil.
Rotary Table Oil Reservoir
Clam Shell Remove (3) BHCS on Sides Remove (8) BHCS on Bottom
202
Maintenance
Oil In
Pallet Side
Spindle Side
Oil Reservoir
Solenoid Plunger
Oil Drain
1. Remove the fourteen (14) BHCS on the right Z-axis way cover at the receiver end and slide it toward the column. 2. Remove the left Z-axis way cover: Jog the Z-axis all the way toward the column and rotate the H-frame 45 counter clockwise. Remove the thirteen (13) BHCS that fasten the waycover to the receiver and remove it through the door at the control pendant. 3. Disconnect the reservoir at the rotary indexer end and plug the end of the hose. 4. Remove the drain plug on the opposite side of the rotary indexer. Replug the hole when the oil has drained. 5. Remove the air escape hole plug on the side of the platter. 6. Fill the rotary table until oil begins to escape from the air escape hole and plug it. 7. Replace the reservoir hose and the way covers. Command the receiver 180 to 0 repeatedly for fifteen minutes. The reservoir will drop in level as it continues to replace the oil. Add oil as needed to the reservoir to just below the full line.
Oil Fill Sight Glass
Oil Reservoir
Front View
Side View
Oil Drain
EC-400 Rotary Indexer
Rotary Indexer (1 or 45) 1. Remove the drain plug located on the left side of the rotary indexer. Replace the plug when the oil has drained. 2. Remove the air vent plug located to the upper right of the drain hole. 3. Fill the rotary indexer at the oil fill hole shown in the illustration. Replace the plug when oil begins to seep from the air vent. 4. Command a 180 to 0 rotation for fifteen minutes. This will remove air remaining in the system. The rotary indexer is full when the oil level is half way on the site glass. Fill as needed. 5. Replace the waycover.
Maintenance
203
Regulator Air Lines Brake Line Breather Filter MAX Booster MIN Oil Level Brake Ring
Adding Oil Use only Mobil DTE 25. Remove the breather filter from the brake booster assembly and add oil. The proper oil level is between the minimum and maximum marks on the brake booster.
VR-SERIES
The following items must be performed in addition to the regular maintenance items.
Interval
Monthly
Maintenance Performed
Grease all pivot points on the tool changer assembly. Check the oil in the three (3) areas of the head. The A-axis covers need to be removed to access the filler cap and the sight glass. The B-axis filler is on the outside of the casting. Add Mobil SHC-630 to the fill port at the top of the casting. Replace the oil in the three (3) areas of the head: For the areas on either side of the spindle head (A-axis), remove the drain plug (4 BHCS) and drain the oil. Note: Remove the plug closest to the front on the left side of the head, and the plug towards the rear of the right side of the head. Fill the two areas with Mobil SHC-630 as described in the Monthly section above. B-Axis For the area at the rear of the spindle head, remove the 1/4" NPT pipeplug with an Allen wrench and drain the oil. Note: The plug is near the center of this rear area. Fill with Mobil SHC-630 as described in the Monthly section above.
Fill Hole Locations
Fill Port 1 Remove Sight Glass to Fill Fill Port 3
Annually
Fill Port 2
204
Maintenance
(Back View)
VR-11 Air Filter Location
6. Slightly loosen the 3/8-16 SHCS (1). Screw in the 1/4-20 SHCS to force pre-load cam counterbalance down (this will push the air spring inward). Tighten this adjusting bolt until the slots in the cam have contacted the tops of the mounting bolts. Tightening the two 3/8-16 SHCS (1), these will hold the pre-load cam in place. 7. Replace the sheet metal, reset the E-stop and clear the alarms.
Maintenance
205
206
Maintenance
Index
Symbols
200 Hour Demo 25 4th and 5th Axis Programming 105 4th-axis Operation 107
A
Advanced Editor 70 Advanced Tool Management (ATM) 51 Air Requirements 194 Alarms 14 Auto Air Gun 171 Auto Door 171, 187 AUTOFEED 185 Auxiliary Axis 108 Auxiliary Coolant 12 Axis Load Monitor 19
B
Block Delete 16
C
Calculator 15, 21 Canned Cycles 111, 136 Chip Auger 12, 169, 186 Chip Conveyor 169, 186 Coolant 167 Coolant Up/Down 12 Corner Rounding/Chamfering 114, 137 Current Commands 14 Cursor Keys 15 Cutter compensation 80 Cylindrical Mapping 150
D
Date 21 Deleting Programs 33 Dimensioning 176 Direct Numeric Control 37 DIRECTORY LISTING 37 Display Keys 14 DNC 37
E
Electricity Requirements 193 Emergency Stop 11 End-Of-Block 15 ENGRAVING 126 Enhanced Remote Jog Handle 27 EOB 15
96-8000 rev R June 2007
Index
207
F
Fifth Axis Installation 108 Five-Axis Programs 105 Floppy Drive 36 Fourth Axis Installation 107 Fourth axis Operation 107 Function Keys 12
G
G65 Macro Call 101, 113 G65 Macro Subroutine Call 101, 113 General Requirements 193 Graphics 14 Guarding 196
H
Handle Control Feedrate 13 Handle Control Spindle 13 Help 15, 21 High Speed Machining (Optional) 30 High-Speed Side Mount Tool Changer 42 HOME G28 17 Hydraulic Tool Changer 47
I
Introduction 9 Intuitive Programming System 65 IPS 65
J
Jog Handle 11 Jog Keys 12 Jog Lock 12 Jog Mode 48
K
Key Switch 12 Keyboard 11
L
Loading Programs 33 Lookahead, Macros 84
M
M codes 167 M-Code Relays 168 Machine Data Collect 188 Machine Power-Up 31 Macro Subroutine Call 101, 113 Macro Subroutine Call (G65) 101, 113
208
Index
Macro System Variables 86 Maintenance 19, 193 Maintenance Schedule 195 MDI 38 Memory Lock 12 Messages 14 Milling calculator 24 Minimum Oil Machining (MOM) 54, 173 Mirror Image 147, 180
O
Operation Timers 19 Operator Load Station, Pallet Changer 57 Option Try-Out 25 Optional Stop 16 Orient Spindle 168 Overload, Tool 184 Override 13 Override Keys 13
P
P-Cool 12, 53, 169 Pallet Changer 56 Pallet changer 107 Pallet Changer Programming 57 Pallet Changer Recovery 61 Pallet Loads, Maximum 56 Pallet Replacement 61 Pallet Schedule Table 58 Pallet Storage 61 Parameter Lock 176 Parameters 14 Parentheses ( ) 15 Program Selection 33 Programmable Coolant 53 Pull Studs 39
Q
Quick Code 74
R
Remote Jog Handle, Enhanced 27 Renaming Programs 33 right slash / 15 Run-Stop-Jog-Continue 24
S
Screen Saver Delay 185 Searching the program 33 Second Home 12 Serial Number Engraving 126 Service 193
Index
209
Settings 14 Settings, Macros 84 Shift key 15 Shortcuts, Advanced Editor 73 Side Mount Tool Changer 41 Side Mount Tool Changer Recovery 46 Side Mount Tool Changer Recovery Flow Chart 46 SINGLE BLOCK 183 SMTC Recovery 46 Specifications, Tool Changer 40 Spindle Air Pressure 204 Spindle Load Meter 11 Square brackets [ ] 15 Sub Program 172 subprograms 68 subroutine 172 Subroutines 68 System Variables 86
T
Thread Milling 116 Through-Spindle Coolant 171 Time 21 Tips and Tricks 62 Tool Changer 40 Tool Changer, Hydraulic 47 Tool Changer Recovery 45, 48 Tool Changer Recovery Flow Chart, Side Mount 46 Tool ChangerSpecifications 40 Tool Holders 39 Tool Life 19 Tool Load Monito 19 Tool Loading Flowchart 43 TOOL OFSET MESUR 182 Tool Overload 184 Tooling 39 transmission 169 TSC 171
U
Umbrella Tool Changer 45 USB 33
V
Visual Quick Code 79
W
Warm-up Compensation 186 Warmup 186 Worklight 196
Z
Zero Return 17
210
Index