SuperControl. User Manual. Thermwood Corporation

Size: px
Start display at page:

Download "SuperControl. User Manual. Thermwood Corporation"

Transcription

1 SuperControl User Manual Thermwood Corporation

2 Copyright 2016 by Thermwood Corporation. All rights reserved. Corporate Headquarters: Thermwood Corporation 904 Dale-Buffaloville Rd PO Box 436 Dale, IN Website: Corporate: :00am 4:00pm (CST) Fax: Sales: Telephone: :30am 5:00pm (CST) Technical Service: Telephone: :00am 4:00pm (CST) Information in this document is subject to change without notice and does not represent a commitment on the part of Thermwood Corporation. The software described in this document is furnished under a license agreement. The software may be used or copied only in accordance with the terms of the agreement. No part of this manual may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying and recording without the express written permission of Thermwood Corporation. Microsoft and the Windows operating system are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. Additionally, the names of any actual companies and/or products mentioned herein may be the trademarks of their respective owners. Thermwood, NC Code manager, ecabinets, YouBuild, QCore, SuperControl, and Cartesian 5 are trademarks of Thermwood Corporation. Built: 18-November-2016 Printed in the USA

3 Contents Introduction 1 SuperControl Technology... 1 SuperControl Safety 5 Safety Warnings... 5 Acoustic Noise Levels... 6 Machine Restricted Zone... 6 Tooling Lockout... 7 Physically Securing Switches... 8 Getting Started 9 Power Up... 9 Monitor/Keyboard/Mouse... 9 Operating System... 9 Working with Menus Working with Dialogs Hotkeys Main Panel Controls E-STOP BLOCK STEP BLOCK STEP BLOCK STOP FEED HOLD CYCLE START NC RESET % FEED RATE HHP Home Sequence Fast Home Sequence Loading & Starting a Part Program Power Down Machine Data Backup SuperControl Maintenance 17 SuperControl User Manual Graphic Error Display Maintenance Clock Maintenance Schedule View Servicing Maintenance Items Servo Faults Parameter Access SuperControl Software (THM) 19 Main Screen Title Bar, Main Menu and Tool Bar Mode Maintenance Status Active Codes SuperControl User Manual Contents iii

4 Line Number Axis Position and Status Display Tool Display Program Display Status Bar File Menu New Open Save Save As Properties Favorites Convert Backup / Restore Shutdown Machine Exit Recently Used Files Edit Menu Fixture Offset Table Offset List Enter Text Edit Text Edit File Find Replace Settings/Preferences Cut Copy Paste Comment Machine Variables View Menu Main Screen Application Views Graph Screen Graph Screen Tool Bar AFL Screen Program in English/EIA Offset Teach Menu Line Arc/Helix Point Arc Normalize Axes Ellipse Call Subprogram Tool Management Menu Tool Setup Actuator Setup Changer Setup Changer Maintenance Reset Tool-In-Use Maintenance Tool Load/Unload Tool List Measure Tools Verify Tooling Maintenance Menu Fault Information Parameter Access Servo Information PLC Screen iv Contents SuperControl User Manual

5 PLC History PLC Diagnostics Inputs/Outputs Run Axis Information Edit Limits View Schedule Trajectory Planning Factors View Part Auto Comp Machine File Collector Control Options Menu Control Nesting Profile Modeler Carving Library CAD Path (Convert Splines) Fixture Placement Compensation Communication Flycut System Start/Stop Project Processor Label Options Help Menu Virtual Service SuperControl Manual Hotkeys About SuperControl Flycut System Flycut Settings Table Board Flycut Waste Board Flycut Convert Program Developing a Conversion Configuration Editing a Conversion Configuration Running a Conversion Configuration Fixture Placement Compensation Initial Preparation Acquiring Reference Points With a Probe Acquiring Reference Points Manually Compensating for Fixture Placement Acquiring Compensation Points Manually SuperControl Programming 83 EIA NC Code Blocks G Codes Supported M Codes Supported Additional Codes & Notes Units English Units (G70) Metric Units (G71) Coordinate System Dimension Mode Program Offsets Tool Center Point (TCP) Coordinate System Rotation Coordinate System Example Axis Motion Feed Rate Mode Axis Tie Axis Transfer SuperControl User Manual Contents v

6 Axis Mirror Axis Oscillation Rotary Axis Unwind (G25) Skip Input (G31) Program Flow Label Subprogram Program Stop (M00) Program End (M02) Pause (G04) Canned Cycle Macros Input/Output (I/O) Input (M60) Output (M61/M62) Tooling Compensation Radius Compensation Length Compensation Trajectory Planning Command Smoothing (G07) Arc Speed Factor (G08) Tangency Factor (G09) Programming Techniques Initializing a Program Header Initialization of a Program Footer Reducing Cycle Time Timer Subprograms Automated File Loading Programming Dual Zone Operation Programming Dual Table Machines Programming Dual Head Machines Part Location (G901 & G902) D Circle Macros (M922/M923) Reset Macro (G990) Macro Reference Chart Machine Options Rotary Playback Unit Bar Code Scanner Automatic Load/Unload System Part Measurement Sensor Roller Hold Down System (Model 53 Only) Routing and Tooling 149 The Routing Process Chip Load Feed Direction Tool Deflection Plunge Cutting Tool Management Configuring Actuators Configuring Tool Changers Configuring Tools Tool Changer Maintenance Tool Changer Fault Recovery Tooling Offsets Aggregate Tooling Reset Active Tool Actuator Macros Tool Measurement Tool Measurement Setup vi Contents SuperControl User Manual

7 Using Tool Measurement Pivot Distance Hand Held Programmer 193 Main Panel Simulation Program Navigation And Editing Edit Line Enter Text Delete Line Teach Screens Line Arc/Helix Point Arc Normalize Axes Ellipse I/O Pause Feedrate Override Set to 0 Percent Adjust Percent Override Increment Pulse Control Single Pulse Continuous Pulse Power Pulse Pulse Increment Hold-To-Run Advanced Function Language 203 Syntax Character Set Reserved Words Expressions, Variables & Values Operators Arithmetic Operators Relational Operators Logical Operators Input/Output Input/Output to File Output to Screen Input from Keyboard Commands & Functions Numeric Functions String Functions Command/Function List Virtual Service 297 Preparing for Virtual Service Starting a Session Ending a Session Sample Programs 301 Program Flow Sample Label Program Tooling Compensation Sample Length Compensation Programs Sample Radius Compensation Programs Sample Spline Programs SuperControl User Manual Contents vii

8 Tool Management Sample 3-Axis Programs Sample 5-Axis Programs Glossary of Terms 317 Index 319 viii Contents SuperControl User Manual

9 Introduction Thermwood CNC routers come standard with the QCore SuperControl. The QCore SuperControl is a feature-rich, high performance CNC control system, configured to perform multiple axis motion simultaneously. It is a multi-processor system that operates under a Microsoft Windows operating system, with full multi-tasking capability. Many features of the QCore SuperControl have evolved over time to incorporate a unique understanding of the needs of the control user. For this reason, the QCore SuperControl system offers a great deal of flexibility in performing tasks and features not available on other CNC controls. It was designed as a full function CNC industrial control, but it is as easy to use as a personal computer. A full color graphics monitor is furnished along with a full-function keyboard, making typing easy and comfortable. This manual is for an operator using the QCore SuperControl. It contains information on safety, maintenance, user interface, programming and other features of the QCore SuperControl. Thermwood Corporation wants you to be productive and successful, and we know that the design and features of the QCore SuperControl, along with your Thermwood CNC machine, can ensure this. If you have any questions, comments or suggestions, feel free to call us at , or us at: software@thermwood.com. SuperControl Technology Advancing computer technology is driving the development of a new generation of CNC controls. Thermwood Corporation, the only major CNC router manufacturer that designs and builds its own CNC control, is a leader in implementing this next generation control technology. As a result, Thermwood has been granted more patents on CNC router technology than all other CNC router manufacturers in the world, combined. Control manufacturers have reacted in two ways to advances in information and computer technology. One group is now able to offer first generation controls at ever lower prices, since the processors needed for these basic functions are becoming lower and lower cost. First generation controls simply play back CNC programs generated elsewhere, much like a player piano. A second group, which includes Thermwood, has chosen to incorporate advanced next generation features into its CNC controls using the more capable new processors. Thermwood believes this second approach actually results in the lowest OVERALL cost to the customer and substantially higher productivity from the CNC machine. The lower cost comes from the fact that next generation controls perform functions internally that would require separate software packages and additional steps for first generation controls. The additional software and less efficient functioning of the first generation approach are today substantially more expensive than the somewhat higher cost of the advanced processors needed for the next generation features. Thermwood s QCore currently incorporates more next generation control features than any other CNC control in the woodworking industry. Some of the major advantages of this new technology are: More complex motion algorithms - The high speed processors allow more complex motion calculations, resulting in smoother machine motions and faster speeds. Three-dimensional axis compensation - Good quality first generation controls provide for lead screw compensation; they use a table to compensate for any positional inaccuracy along an axis. Their table is created by measuring the precise actual position along an axis, using a laser. The only problem with this approach is that moving along one axis may cause inaccuracies on the other two perpendicular axes. Any slight mechanical variation or natural flex can cause these movements, and there is no way to eliminate them through mechanics or structure. First generation compensation only corrects pitch error on each axis, ignoring any effect on the perpendicular axes. Next generation controls compensate all three axes at every position within the working envelope. Every inaccuracy or misalignment, regardless of its source, is automatically corrected. SuperControl User Manual Introduction 1

10 Easier programming and faster program execution - The QCore can accept raw design files in addition to CNC programs. The first generation controls are primarily playback devices, much like a player piano. They require that the programmer not only design the part, but also perform a series of additional functions, including CAM, nesting, and post processing, in order to generate a precisely formatted program that the control can execute. Next generation controls such as Thermwood s QCore can, in addition to standard CNC programs, also accept raw design files directly from design software without the additional processing. It automatically performs any program preparation necessary to machine the part. Compatibility with virtually all design software - DXF files from any CAD or design software can be sent directly to a QCore. Comprehensive nesting abilities - The QCore SuperControl creates nests of parts internally and can combine parts from multiple sources in the same nest. A single job file can contain hundreds of parts, rather than requiring hundreds of separate CNC programs for a job. Including all the parts for a job in a single file can dramatically reduce file handling and improve productivity of the machine. The control nests the parts on the appropriate material, tells the operator how many sheets of material are needed for the job and tells him what material to load. In fact, it guides them through the entire process, step by step. This file also contains information for machining the back (or flip side) of certain parts. It also prints a label for each part, and parts that require flip operations have a bar code on the label. When the operator scans the bar code, it identifies the part to the control, which automatically retrieves the correct program. From the operator s standpoint, the whole process is simple, just load one file and follow the instructions. In a first generation control, the CNC programs are developed outside the control, so there is a program file for each sheet of material in the job and yet another program file for each flip operation. These files are normally processed into individual CNC programs. A single job may require a hundred files or more, that must be sent individually to the machine. Some really limited controls may only allow just one, or maybe a couple of programs to be loaded at a time. An operator then needs to sort through, identify, handle and load hundreds of files each day. This takes time and reduces the productivity of a major investment, the CNC router. In addition, this approach is more prone to error. The ability to react to problems at the machine - For example, if you have a damaged sheet or a partial sheet of material, it is easy to tell the control what you have and it will nest on it. If the partial sheet is from a previous job, it is not even necessary to provide a description to the control. The control prints a bar code label for any material left from a job, and all you need to do is scan that label. Theoretically, this is possible with a first generation approach, but from a practical standpoint, most times you do not know exactly what you have until you are ready to run the job. Of course, changes are easy at the control with little delay to the job but that is usually not a good time to stop everything, and go back to the office to re-program. Available modeling programs to produce almost any profile without custom tooling - QCore. When you have a design with a profile edge, there are two ways to cut the profile. The most common way is to have a cutting tool made with the desired profile. A second, less known method is to model the profile. Modeling is a technique commonly used to make prototypes or patterns from CAD designs. It uses a series of standard tools. The process begins by moving a ball nose tool back and forth over the surface, incrementing a small distance each pass. This creates the base surface of the part. Then a second and perhaps third tool is used, which machines away those areas that the first tool could not reach. With the higher speeds of today s CNC routers, modeling is practical for short run production parts, but does require a modeling program. Most CAD systems can create modeling programs, but they are seldom used for this purpose. The Thermwood QCore has the ability to create these modeling programs, automatically right in the control. If you send a part with a profile edge to a QCore, it asks if you have a tool for the profile. If you say no, it automatically creates a modeling program to machine the edge. This simple feature can be incredibly useful. It can be used to machine custom profiles on parts or to machine moldings, even large complex or curved moldings, without special tooling. Design files can be exchanged between machines without post processing - Just like fingerprints, no two CNC machines are the same. Sometimes differences are major, like different table sizes. Sometimes differences are subtle, like different head spacing. Regardless, no two machines are exactly the same, so the CNC program needs to be tailored to the particular machine it will be run on. If you want to run the exact same part on different machines using a first generation control, you need to create a different program tailored to each machine. With first generation controls, you cannot freely exchange programs between machines. Next generation controls, however, accept design files and automatically tailor the program to produce the correct part. You can freely exchange these files between machines with next generation controls, regardless of the physical differences in the machine. This is the basis for an entire Production Sharing program, under which Thermwood CNC machine owners make parts for other shops. Run panel saw programs - The QCore accepts either Excel or CPOUT files, which are commonly used to send size information to a panel saw optimizer. It then nests the panels and cuts them. Since panels do not need to be lined up along common cut lines, as they do in a panel saw, they can be true shape nested, often resulting in better 2 Introduction SuperControl User Manual

11 yield. If you just want rectangular panels, you can also just type a list of sizes at the control and it will nest and cut them. Rental CNC programs through the control and the ability to produce intricate carvings - Thermwood has a large and growing library of CNC programs for carvings, carved posts and legs that you can rent through your Thermwood QCore. Programs are free to run although some lines can t be edited. Programs are available from Thermwood on CD, loaded into the control and then a license to run is purchased directly through the control. Part size can be scaled up or down as needed. Carvings can be resized and added to parts in ecabinet Systems in which case they will be machined in the nest during normal program execution. With this feature, you can add custom carvings and detail to your product without programming every part. Produce cabinet and furniture doors - The QCore has the ability to take door definition files from ecabinet Systems and create machine programs to make either MDF or traditional solid wood raised panel doors. Reconfigurable control operation for special applications - Thermwood s QCore includes the ability to read imbedded Advanced Function Language commands in the CNC program and reconfigure control operation based on those commands. The Advanced Function Language is a programming language, similar to Microsoft Basic that can be included in a CNC program to make it into an intelligent computer program, capable of reacting to its environment or operator input. This feature, which is intended for sophisticated users, will allow the control to address complex or sophisticated applications for which the control was not originally intended. Tool Management - The QCore has a tool management system used to define and manage tools. With the advent of automatic tool changers and random use of tools, this makes management of tooling easier and tracks tool use, informing the operator when tool life has expired for a particular tool. It can even automatically switch to a backup tool when the old tool's life expires. Maintenance Tracking - The QCore tracks routine maintenance, alerting the operator when maintenance such as lubrication or filter cleaning is required. Error Reporting - When an error occurs, the control displays a diagram of the machine pointing out possible causes for the error and suggesting solutions. Electronic searchable operator s manual - The QCore includes a complete operator s manual that can be displayed on the screen including the ability to search for words or phrases. Dynamic exploded assembly drawings - The QCore can display three-dimensional images of all machine assemblies, which can be rotated and exploded on the screen. This shows the customer's maintenance department the assembly sequence for all components and, by placing the cursor over any part, it displays the part number, making it easy to order replacement parts. Job Guide - When a job containing a large number of parts is sent to the QCore, it nests the parts, tells the operator the number of sheets of each material needed for the job and then guides him through the job step by step. Direct audio/visual/data link to Thermwood Technical Assistance - The QCore can quickly connect to Thermwood technical service through a Virtual Service communication link. This audio/visual link allows the machine operator to see and hear the Thermwood technician, and allows the Thermwood technician to see and hear the machine operator. The link also provides in-depth data sharing allowing the following: Complex data and diagnostics - Using the Virtual Service communications link allows a Thermwood technician to access all the data, error logs and configuration files that he could access if he were actually at the machine. Remote machine configuration and tuning - Using the Virtual Service communication link, the Thermwood technician can evaluate machine performance, then adjust and reconfigure the machine as required, all remotely. Program debugging assistance - Most machine problems are caused by programming errors. The Virtual Service communication link allows a Thermwood technician to review, and if necessary modify programs by working directly with the customer. Purchase tooling or spare parts - Using the Virtual Service communication link, a customer can purchase spare or replacement part right through the QCore. The Hand Held Programmer - Thermwood offers a hand held programming device that is used to move the machine around. It is used to quickly, easily and intuitively create programs without having to deal with cryptic CNC code. This is a great tool for those not familiar with CNC. SuperControl User Manual Introduction 3

12 Toggle program displays between EIA and English - You can toggle the program display on a Thermwood QCore SuperControl from the cryptic M and G code, EIA designators, to an English language description of each line in the program. This greatly simplifies operation and learning for people not familiar with CNC code. Depth oscillation function increases tool life - Certain materials, such as high-pressure laminates and certain types of plywood with abrasive adhesive between layers will quickly dull tooling at the point or points where the tool contacts the abrasive layer or layers. The QCore has a feature that oscillates the tool up and down as it cuts to move this abrasive contact point over a larger area of the tool, which can increase tool life dramatically. A full color display - A full size, full color flat panel display makes information easier to read and understand, it allows the display of more information, including graphics and pictures and generally makes the control simpler and easier to use. Huge program storage capacity - The QCore has, as standard, a 1TB hard disk drive, allowing storage at the control of tens or hundreds of thousands of part programs and also allows the storage of very large programs, such as those used for carving. The control can easily, efficiently and without pausing, process programs that are many gigabytes in size, and can process blocks of data at unequaled speeds, resulting in faster execution of these types of programs. A sealed air-conditioned cabinet - Thermwood encloses its controls, including the power supplies and servo drives, in a sealed, air-conditioned cabinet. This both keeps them cool and free from contamination, which substantially improves reliability. Proper wire and component labeling - Thermwood uses professional wiring practices. Labels and color codes are used for all wires, and labels are used for all major components inside the control cabinet to make finding them easy for service (changing a fuse for example). Additionally, Thermwood supplies complete blueprints of wiring inside the control. Easy updates and upgrades: The Thermwood Advanced Support Program - Since Thermwood designs its own control, it can tailor new features so that they can be easily added to existing controls. This keeps you competitive as control technology advances. Thermwood offers an Advanced Support Program, which provides automatic software updates each year, continuing Virtual Service and provides discounts on hardware upgrades and other service products. Single source responsibility - Thermwood builds both the machine and the control. Should you have a problem, it is Thermwood, and no one else who is responsible for fixing it. 4 Introduction SuperControl User Manual

13 SuperControl Safety The customer bears sole and absolute responsibility for reading and understanding all of the safety warnings and procedures in this manual and on the machine. These warnings and procedures must be read and understood by all persons operating and/or maintaining any Thermwood machine. The training of non English-speaking persons in the operation and/or maintenance of any Thermwood machine must be carried out by the owner of the machine or their representatives prior to operation/maintenance. Thermwood Corporation disavows any responsibility for injury caused by negligence on the part of the operator due to failure to read and understand all warnings and procedures contained in this manual and on the machine. It is a further responsibility of the owner to pass on all pertinent safety information, including this manual, to any party to whom the subject machine may be transferred to in the future. Safety Warnings WARNING! Never operate the machine without the dust hood properly installed! WARNING! Maintenance must be performed only after ALL safety requirements have been carefully followed. This includes "locking out" the control to prevent an accidental energizing of the equipment. WARNING! Never reach into the working envelope of the machine while the machine is running! WARNING! Never perform any maintenance or clean up without fully implementing "Lock-Out/Tag- Out" procedures! WARNING! Visually ensure that all tools and bits are completely stopped before removing guards! SuperControl User Manual SuperControl Safety 5

14 WARNING! Visually ensure that all tools and bits are completely stopped before performing any clean up or maintenance! WARNING! Never leave machine unattended while it is in operation! WARNING! Always wear ear protection when operating the machine! WARNING! Always wear eye protection when operating the machine! Acoustic Noise Levels It has been determined that the sound level of Thermwood machines, while cutting, averages 90dB. While different combinations of cutters and materials may produce different sound levels, it must be presumed that the noise level will exceed the maximum sustainable amount allowed without ear protection. Thermwood Corporation requires ear protection for anyone operating the machine, or within close proximity to an operating machine. Machine Restricted Zone Referring to the illustration, the area surrounding the machine, which encompasses the Operating Envelope, along with an area extending six feet (72 in) from the furthest extremities of the table in all directions, is considered a Restricted Zone during machine operation. This zone, which is the entire area marked with diagonal lines, must be clear of all materials at all times. Do not store raw materials or product in this area, as it could impede the operator s ability to move safely around the machine. The operator s normal position during machine operation is indicated in the illustration. No person, with the exception of the operator, can be allowed inside this zone during machine operation. 6 SuperControl Safety SuperControl User Manual

15 WARNING! The Operating Envelope (as marked above) is off limits to everyone, including the operator, during operation! The Operating Envelope is defined as the cubic space surrounding the machine, (from the floor to the ceiling) which is capable of being displaced by any moving member of the machine. In the case of a Dual Table machine, the operating envelope encompasses the same area around each table as the area for a single table machine. Note: The following exception is noted: On a Dual Table machine, the operator may load or unload the inactive table while cutting operations are in progress on the active table. This mode of operation is known as "shuttle mode". However, the table may only be loaded and/or unloaded from the front or the outboard side, opposite the side adjacent to the operating table. Nevertheless, the Operating Envelope of the active table remains off-limits at all times during its active operating cycle; and no person, other than the operator, is allowed in the Restricted Zone (identified in the illustration by the diagonal lines). This does not apply to European models, which will not normally operate in shuttle mode unless extensive modifications are performed in strict accordance with CE protocol. The Thermwood CNC machine, when properly utilized, does not require the operator to hold onto the work piece while it is being processed, such as with a hand-fed shaper or pin router; nor does it require the operator to feed a work piece into an operating machine, such as would be the case with a tenoner or surfacer. In contrast, the Thermwood CNC machine allows one to place the work piece onto a fixture while the machine is in a quiescent (not operating) state, and then go off to a remote location to start the machine. It is never necessary to enter the Operating Envelope of a machine while it is performing a cutting operation. If a person is required to be in this Restricted Zone during machine operation in order to produce the product, there is obviously a problem that requires your immediate attention. There is no excuse for anyone to jeopardize personal safety for the sake of production; no production schedule can supersede the safety of the operator. Tooling Lockout While there are "Stop" switches and other modes of creating a "stopped" condition, there is still power applied to the machine, and therefore it is absolutely essential to lockout the machine before any attempt is made to service the equipment or to change tools manually. An exception is made for changing tooling only if your machine has the Manual Tool Change Key Switch. This is a Thermwood requirement. A TOOLING LOCKOUT switch is provided to allow a safe lockout, without having to completely power down the entire machine. Certain machine models do not have a TOOLING LOCKOUT switch, use the MAIN SWITCH in this case. SuperControl User Manual SuperControl Safety 7

16 When a Thermwood service person is on-site, you must review your lockout plan with them. Thermwood has two separate Lockout/Tagout plans, one for in-house work and one that is specially adapted for off-site work. IMPORTANT! - Every manual tool change, or maintenance operation, requires a complete lockout! Note: Supervisors must ensure that their personnel are thoroughly briefed in this procedure before operating or servicing the equipment. Physically Securing Switches Physical securing of the TOOLING LOCKOUT or MAIN SWITCH in the lockout position (with a lock or tag) is advised and recommended. When the machine is in lockout, a screen similar to this one will appear on the display, indicating TOOLING LOCKOUT switch is engaged: 8 SuperControl Safety SuperControl User Manual

17 Getting Started The QCore SuperControl interfaces with an operator through the following components: Power Up Power and lockout switches Monitor Keyboard/Mouse Main panel controls Hand Held Programmer (optional) Control software (THM) Turn on the yellow and red MAIN SWITCH located on the left side of the control cabinet on the top panel, near the rear of the unit. A series of startup screens will be displayed (content of these screens is not important unless problems are encountered). Once the operating system loads, THM will start automatically. This entire process can take a few minutes. Monitor/Keyboard/Mouse The monitor will turn on/off with the main power switch. A touch-screen option is available. The keyboard and mouse are combined together into one unit located below the monitor. The mouse pad is located in the lower right-hand corner of the keyboard. It functions similar to those found in many laptop computers. Optionally, a standard USB mouse may be used in one of the available USB ports. To left click, tap in the center area of the mouse or press button on lower left of mouse pad. To right click, tap on the "SCROLL" area or press button on lower right of mouse pad. To double click, tap twice in the center of the mouse or press button on lower left of mouse pad twice quickly. Operating System It is strongly recommended that operators familiarize themselves with the operating system before trying to use any of its features. The operating system is not difficult to learn, but is very powerful and comprehensive. If the necessary time is not taken to learn the system, it is highly possible that the QCore SuperControl may be placed into a condition beyond the knowledge of the operator to escape. This will effectively shut down the machine until the situation is rectified. For information about the other features of the Microsoft Windows Operating System, please review the "Help and Support" section in the Microsoft Windows Start menu, or any of the various reference materials available. Note: It is possible to operate the entire machine without the need to work in the operating system directly. SuperControl User Manual Getting Started 9

18 IMPORTANT! - The QCore SuperControl is a dedicated computer. The installation of any program, or the modification of any setting or program that is not specifically mentioned in this manual, or is otherwise authorized by Thermwood Corporation may cause damage or injury. Thermwood Corporation is not responsible for alterations, additions (or deletions) to (and from) this computer, as is supplied by Thermwood Corporation, without prior authorization from Thermwood Corporation. Working with Menus Menu items are lists of commands. The menu bar can be found along the top of the operating screen. There are two ways to perform a menu command: Using the mouse or touch-screen, choose the desired menu command. Press the keyboard key of the underlined letter to select the command or open a drop down box. For example, to create a new file, select F then N. If a menu command has a hotkey, it will be listed on the right side of the drop down box. Working with Dialogs A dialog is a window that looks like a "fill-in-the-blank" form. When the dialog first displays, the cursor will be positioned in a default blank. The operator will then need to fill in the blanks, possibly move from blank to blank and enter the information. Some dialogs will offer a list of available choices, where items in the list can be selected to fill in the blank for you. Commonly used dialog keys: Tab - Move the cursor through the elements of a dialog. Shift + Tab - Move the cursor backwards through the elements of a dialog. Arrow Up/Down, PgUp/PgDn and Home/End keys scroll the cursor within dialogs. Example dialog: 10 Getting Started SuperControl User Manual

19 Hotkeys Many features can be quickly accessed by using Hotkeys, which are preset by Thermwood Corporation. Control Software Measure Tools - Alt + E Flycut System - Alt + F Maintenance - Alt + M Control Nesting - Alt + N Fixture Offset - Alt + O Profile Modeler - Alt + P Close THM and shut down the operating system - Alt + Q Tool Setup - Alt + T View Schedule - Alt + V Closes THM - Alt + X Find - Ctrl + F Replace - Ctrl + H Machine Variables - Ctrl + M Create New Program - Ctrl + N Open Program - Ctrl + O Add Favorite - Ctrl + D Go to Red Bar - Ctrl + R Save Program - Ctrl + S Comment/Uncomment line - Ctrl + % Help - F1 Operating System Switch between active programs - Alt + Tab Closes active program or window (except Command Prompt) - Alt + F4 Cut - Ctrl + X Copy - Ctrl + C Paste - Ctrl + V Open operating system calculator - Ctrl + Alt + C Note: This can be launched in the middle of any teach menu function. Pressing Alt + F4 will close the calculator. Open DOS Command Prompt window - Ctrl + Alt + D Open SuperControl Manual - Ctrl + Alt + M Open THM - Ctrl + Alt + T Note: Normally, the QCore SuperControl software will automatically launch when the system is turned on. If the QCore SuperControl software is closed for any reason and then this is a quick way to re-launch. SuperControl User Manual Getting Started 11

20 Open Microsoft Windows Start Menu - Ctrl + Esc Open Microsoft Windows Explorer - Ctrl + Alt + E Main Panel Controls Control buttons on the main panel are used for Emergency Stop, Start, Step, Feed Hold, Reset and Feedrate Override. Many of these buttons can be simulated through the control software menu system or with the HHP. E-STOP The red E-STOP button is the Emergency Stop switch, which is used to halt all operations of the machine as quickly as possible. When the E-STOP button is pushed all the way in, the stop loop opens, and the power to all systems, including the servo drives, is immediately removed and the machine becomes completely inoperable. (The time it takes for the spindle motor(s) to completely stop depends on a number of factors, including the setting of the electronic brake.) Certain outputs, such as the air slide of a horizontal drill will not be turned off, since doing so will retract the drill, which could damage it if it were not clear of the work. If the Emergency Stop occurs with a horizontal drill in the piece part, it will be necessary to clear the part either by removing the part itself, or by using the HHP (or Main Menu system) to move the axes clear. The E-STOP switch has a locking button. Once it is pushed in, it locks in the activated (open) position, maintaining a continuous Emergency Stop condition until it is released. To release the E-STOP button, turn it clockwise until it moves to the out position. Note: As a general rule, if the cycle time is reasonably short, it is better to perform a Home Sequence and start the cycle again, than to try to resume running a part in the middle. This could require an NC RESET, re-executing all header information, ensuring proper tool call and a clear tool path before resuming. BLOCK STEP+ The BLOCK STEP+ (referred to as "Block Step Plus") button allows the machine to step forward through the program, one program block at a time. Normal operation is resumed by pressing the CYCLE START button. This button is optional on some machines. Note: BLOCK STEP+ can initiate a Home Sequence, see Home Sequence for additional information. BLOCK STEP- The BLOCK STEP- (referred to as "Block Step Minus") button allows the machine to step backward through the program, one program block at a time. Normal operation is resumed by pressing the CYCLE START button. This button is optional on some machines. Note: BLOCK STEP- can initiate a Home Sequence, see Home Sequence for additional information. Restricted code for BLOCK STEP- Incremental and Absolute modes Labels Subprogram calls Macros Radius Compensation Length Compensation Register presets Axis redirect commands Axes Tie commands G90, G91 M80L#, M81L#, M83 M98P(program_name)L# M101, G990, etc. G40, G41, G42 G43, G44, G46, G47 G92 G26, G27 G60, G61 12 Getting Started SuperControl User Manual

21 AFL commands Canned cycles Fixture offsets Mirror commands T# Lines [IF M60L# THEN M82L#] G80, G81-G89 G52L# or G53L# G10, G11 BLOCK STOP The BLOCK STOP button stops program execution at the end of the first possible block where all axes can be decelerated to a full stop. Normal operation is resumed by pressing the CYCLE START button. This button is optional on some machines. Note: Spindles are not automatically stopped. FEED HOLD The FEED HOLD button stops the program execution within the first possible block where all axes can be decelerated to a full stop. Normal operation is resumed by pressing the CYCLE START button. This button is optional on some machines. Note: FEED HOLD will have no effect during a BLOCK STOP. Spindles are not automatically stopped. CYCLE START The green CYCLE START button is used for activating the machine and starting the program. Machines without programmable spindles will need to have them started manually before pressing CYCLE START. Note: CYCLE START can initiate a Home Sequence, see Home Sequence for additional information. NC RESET If pressed during an Emergency Stop condition: Will remove the Emergency Stop condition (only if the cause of the Emergency Stop has been remedied). E-STOP switch must be in the released state. If pressed when not in an Emergency Stop condition: Will reset the control software to the top of the current part program. A Home Sequence will be required before starting the program again. % FEED RATE The specified feed rate can be overridden by turning the % FEED RATE knob. The feed rate can be adjusted from 0% to 120% of programmed speed, provided the resulting speed is within the limits of the machine. The QCore SuperControl will not exceed the maximum speed of the machine, even if the % FEED RATE is set to 120%. The current feed override value is shown in the middle of the status display. Selecting 100% will execute the program at the feed rates programmed. Note: G00 Rapid Traverse commands cannot be controlled with the % FEED RATE control, unless an M48 macro is executed prior to the G00 command. An M49 macro, and performing a Home Sequence, will return G00 to its default setting. HHP This is the connector where the Hand Held Programmer (HHP) is connected. Please ensure that the cover is in place when there is no HHP installed. See Hand Held Programmer on page 193 for additional information. SuperControl User Manual Getting Started 13

22 Home Sequence To perform a Home Sequence, (also referred as "to Home the Machine", normalizing or referencing) the machine must first be cleared off any Emergency Stop condition. If the red E-STOP button is depressed, it can be released by turning it clockwise. Then, press NC RESET once, wait for READY mode, press NC RESET a second time and finally press BLOCK STEP-. The machine will now perform a Home Sequence, control mode will change to HOME. Note: CYCLE START, BLOCK STEP- and BLOCK STEP+ can all be used as the final key that starts a Home Sequence. Any time NC RESET is pressed during READY mode, a Home Sequence will be started automatically the next time CYCLE START, BLOCK STEP- or BLOCK STEP+ is pressed. Each axis has a home position which is defined by a limit switch (a.k.a. Home Switch ) and an internal marker on the encoder (called the "C-marker") of each servomotor. This home position provides a physical marker for the control to reset its position registers. When a machine is first started, the control does not know positions of each axis. The encoders on the back of the servomotors are incremental, which means that they tell the control how far each axis has moved, but not where it is located. To determine the position of each axis, the control uses a Home Sequence to send each axis home. From that point forward, the control keeps track of all movement and thus can calculate the exact position of the axis at any time. To define home position, an axis moves toward the home switch until the home switch is triggered. The axis then begins to decelerate while searching for the C-marker on the encoder (which is signaled once each servomotor revolution). When the C-marker is encountered, the control notes the position. Once the axis has decelerated to a stop, the motion reverses to the point where the C-marker was encountered and that point becomes the home position. Note: If the axis decelerates to a stop without encountering a C-marker, a control error will result (Error 1500). This scheme provides a much more accurate home position than just by using a single switch. Since switches can trigger at slightly different positions, which can change over time as the switch ages, differences in the switch trigger position can lead to differences in an accurately defined home position. This can lead to differences in positioning from one part to another. The C-marker provides a very accurate home position that will not drift with time. Axes return to the home position in a particular sequence programmed by Thermwood. Normally all vertical axes move to their home position first followed by all horizontal and rotary axes. The path toward Home is not necessarily a straight line. Axes may moves toward home at different speeds. IMPORTANT! - The path to home should always be clear before a Home Sequence is executed. Fast Home Sequence After a normal Home Sequence has been performed once, the machine can use Fast Home to quickly return to the home position. During a Fast Home, all axes will return home in the same order as a normal Home Sequence but will do so at their maximum speed. Feed Rate Override control is also available. To initiate a Fast Home, NC RESET must be held down while CYCLE START, BLOCK STEP- or BLOCK STEP+ is pressed. Loading & Starting a Part Program From the control software, select File, Open. This will bring up a standard Windows file open dialog. Select a file and choose OK. After a program is loaded, it is ready to run. If the machine was recently powered up, or is currently in Emergency Stop, an initial Home Sequence is required. It is also good practice to perform a Home Sequence each time a new program is loaded. Note: It is not normally necessary to perform a Home Sequence between each cycle of the part program unless the machine goes into Emergency Stop or if other problems arise. If the machine does not have programmable spindle ON capability, it will be necessary to manually turn on the routers or other required tooling for the program. Otherwise, pressing the green CYCLE START button on the QCore SuperControl panel will start execution of the program and possibly, the machine. 14 Getting Started SuperControl User Manual

23 Power Down Before powering down, be sure to save your program if necessary. There are two ways to power down: Quick Shutdown (control software has to be running) Press Alt + Q and answer Yes to the message box confirmation. This will close the control software and then shutdown the operating system. Manual Shutdown If control software is running, close it by clicking the X in the upper right corner or by pressing Alt + X. Answer OK to the message box. Click on the Start Menu and select Shut down on the lower right. Once the operating system has shut down, turn off the power MAIN SWITCH. Machine Data Backup The QCore SuperControl can create automatic backups of important system files. The first THM version that enables this feature is These backups can be used to recover from a hard drive crash or after running a System Restore. Each THM version that runs creates its own set of backup files. THM and the backup system are always synchronized with what should be the latest backup for each THM version. A backup is created each time THM closes and also on a set time schedule. If you ever have to go back in THM versions, you should at least be able to start with files from the last time that particular version ran. Typical scenarios that may break the synchronization: System Restore is used to restore C: A SuperControl Software Update is installed or removed Hard drive is replaced If THM starts and sees something has broke the synchronization, you will see a dialog similar to this: SuperControl User Manual Getting Started 15

24 I just ran a System Restore or replaced the hard drive This will restore files from first THM version found in the backup system that is equal to or older than the currently installed version. The backup system THM version and date is shown. I installed or removed a SuperControl software update This will restore files from first THM version found in the backup system that is equal to or older than the currently installed version. The backup system THM version and date is shown. I want to start THM without restoring any backup files This just continues starting THM without restoring any files. The currently installed THM version is shown. Note: Additional hardware may be required to use automatic backups. 16 Getting Started SuperControl User Manual

25 SuperControl Maintenance Available maintenance information from the QCore SuperControl includes: 1. SuperControl User Manual (what you re reading now) 2. Graphic Error Display 3. Maintenance Clock 4. Servo Faults 5. Parameter Access All of these features are used to make the QCore SuperControl more user friendly for the operator and to help identify any trouble points for better serviceability. Note: A dedicated maintenance manual is also available and provided with each machine. SuperControl User Manual The SuperControl user manual is accessed from the icon on the Windows desktop or by pressing F1 from within THM. Graphic Error Display The graphic error display feature is used to help identify the cause of an Emergency Stop and can be used to help the operator correct the problem quickly and safely. An error message is displayed near the top of the screen along with a graphical location to help determine the nature of the Emergency Stop. To clear this message display, simply press the Enter key or click OK. NC RESET will also clear the error in addition to removing the Emergency Stop condition (if possible). Maintenance Clock Timely routine maintenance is essential for dependable machine operation. Your control features a maintenance clock system, which will assist you in your maintenance effort, by keeping a record of operating hours, based on machine motion. It does this by using a timer set to a specific timeout schedule predetermined by Thermwood. When maintenance is required, you will see a warning indicator inside the Maintenance Status area (at the left side of the screen). Maintenance Schedule View Pressing Alt + V from THM opens the maintenance schedule view. You can also click on the View Schedule button on the Main Screen. The maintenance schedule view contains a list of maintenance items organized into groups. From this view you can scroll through items, reset individual items, reset groups and save a text file summary of maintenance event history. See View Schedule on page 50 for additional information. SuperControl User Manual SuperControl Maintenance 17

26 Servicing Maintenance Items Pressing Alt + M from THM opens any items that need immediate servicing. A picture of the component to be maintained will be displayed, along with its location on the machine. Servo Faults The QCore SuperControl can directly access fault information of digital Siemens drive systems. See Fault Information on page 46 for additional information. Parameter Access The QCore SuperControl can read and display parameters programmed into digital Siemens drive systems. See Parameter Access on page 46 for additional information. 18 SuperControl Maintenance SuperControl User Manual

27 SuperControl Software (THM) The THM application (sometimes referred to as the "Thermwood software") controls operation of the CNC machine. It works closely with a Programmable Logic Controller (PLC) which handles tool changes, monitors inputs and outputs (I/O), safety features and other operations required for machine operation. Main Screen The Main Screen of THM contains the Title Bar, Main Menu, Tool Bar, Status Bar and other windows with machine information. Title Bar, Main Menu and Tool Bar The Title Bar always shows the full path of the currently loaded file. The Main Menu contains lists of commands. The Tool Bar contains icons for frequently used commands. Mode Displays the current operating mode of the machine. SuperControl User Manual SuperControl Software (THM) 19

28 EMER STOP Emergency Stop READY Machine ready for program start HOME Machine homing DISK WAIT Program loading or other disk access TEACH Machine is being programmed with teach dialogs EDIT Editing or searching program CHGR MAINT Tool Changer Maintenance RUN Program running STEP FWD Single block running forwards STEP BWD Single block running backwards Maintenance Status If no maintenance is necessary, a green symbol with "OK" will be displayed; otherwise a yellow symbol with an exclamation point will be shown. Clicking on the adjacent button will open the Maintenance Schedule dialog. Active Codes Displays which of the modal G codes are currently active. Line Number Displays current line number and total lines in current program file. Axis Position and Status Display The Axis Position Display shows distance to go, program position, program offset and absolute position. The Status Display shows program feed rate, actual federate, feed override percent, spindle program speed and spindle actual speed. Tool Display The Tool Display shows the Active Tool number and other information about the tool. It also contains a message window from the PLC and buttons to access commonly used tool commands like Tool Setup, Measure Tools and Tool Load/Unload. See Tool Setup for additional information on tool settings. Program Display The currently loaded program is displayed here. The Red Bar and Gray Bar also appear here. The Red Bar is a placeholder; it highlights the next block of code where the program will begin executing. The Gray Bar can be thought of like a cursor. When in READY mode, the Gray Bar can be moved to other locations in the program with the arrow keys, Page Up, Page Dn, Home and End keyboard keys. When a program is started, it will begin from where the Gray Bar is located. When the Red Bar and Gray Bar are on the same line, only the Red Bar will be shown. Right Click Options Right clicking in the Program Display opens a menu with several options as well as their hotkeys: Comment on page 30 Edit Text on page 25 Enter Text on page 25 Program in English/EIA on page 34 Program Colors on page SuperControl Software (THM) SuperControl User Manual

29 Return to Red Bar Cut on page 30/Copy on page 30/Paste on page 30 Status Bar The Status Bar displays information about menu commands and the current date and time. It can also be used to display a label paper count (requires additional hardware). File Menu A part program file must be loaded into system memory (and displayed on the operating screen) before it can be run. The File Menu contains commands for handling files. When the system is first loaded, a blank part program file will be active on the screen. The programmer may simply start entering information into this temporary file, but they must remember to save before exiting. A list of the four most recently used files is provided in the File Menu, below the Exit command. While you will be prompted to save the part program file when you are attempting to close an unsaved file, it cannot be emphasized enough that manually saving frequently while editing is a good idea. If working on a complex program, it may even be advisable to save "stages" of the program, giving you the option to "go back" to the last version if you totally get lost! Note: The QCore SuperControl does not have a timed, or other automatic Save feature. A file loaded on the QCore SuperControl screen is stored in volatile memory (RAM). When the system is turned off, or in the case of a power failure, any information in this volatile memory is lost. A file currently loaded in the system must be stored on some type of non-volatile memory, such as the hard disk of the QCore SuperControl, or some other permanent storage device, such as a USB, CD, DVD or BD drive, in order to be saved. Also, file extensions (the 2 or 3 characters after the "dot" in the filename) are not essential, but commonly used ones like ".nc" or ".cnc" can help in identifying the type of file at a later date. Part program file names (or any other file names) cannot contain any of the following characters: \ / : *? " < >. The total file path length can be no longer than 259 characters. For example: D:\DATA\PART\MYPROGRAM.CNC is a total of 26 characters. New Creates a new part program file containing only an M02. Note: THM will prompt the operator if an attempt is made to create a new file without saving changes to the existing file first. Open Uses a standard Windows file open dialog to select a Part Program to load. Select a file and choose Open. Note: Files must exist on the hard disk before the QCore SuperControl can run them. Save Uses a standard Windows save file dialog to save a part program. The name of the current file is always displayed and can be saved by pressing Enter or by selecting the Save button in the dialog. If you wish to save the file with a new name, simply types in the file name desired or select one of the existing names from the file list. Note: If you use an existing name, the current file's information will replace the existing file selected. SuperControl User Manual SuperControl Software (THM) 21

30 Save As Uses a standard Windows save as dialog to save the existing file with a different filename. Properties Microsoft Windows can provide advanced information about a program file. This is technical data that may be useful in diagnosing a problem for Thermwood service technicians or for advanced programmers and is not normally needed. However, a way to "lock" or protect a file can be found here, by using the Attribute Checkbox named Read-only. Checking this box prevents this particular file from being modified by any program, anywhere. Note: This should not be confused as a security feature, for anyone can uncheck this box to allow file modification; it is just a way to prevent inadvertent changes to a file. Favorites This area provides a shortcut to often used programs in an easy to find location. Up to ten favorites can be displayed in the favorites sub menu. You can change the order of the favorites and their display name. Add Current File to Favorites Adds the currently loaded program to the list of favorites. Name - Text displayed in the Favorites sub menu (defaults to name of the file) Path - Full path of the file Manage Favorites This opens the Manage Favorites dialog where the user can add, edit, delete or adjust the order of a favorite. The first ten favorites are displayed in the favorites sub menu. Convert See Convert Program on page 63 for additional information. 22 SuperControl Software (THM) SuperControl User Manual

31 Backup / Restore Backup / Restore provides a means for backing up or restoring files on your control. It is a wizard dialog that walks you through the steps to backup or restore. For backup, it creates a single.cab file. For restore, you choose a.cab file and then choose which types of files you want to restore. A THM restart is required to finish the restore. Shutdown Machine Provides a quick way to close THM and shut down the operating system. See Power Down on page 15. Exit Closes THM but does not shut down the operating system. Unsaved part program changes will be lost. Choose Yes from the confirmation dialog to exit. Recently Used Files At the bottom of the File Menu will be a listing of the last four files loaded. Selecting the numbers (1 through 4) next to the file list will load the files. Edit Menu With the Edit Menu, an option to change or edit program text directly in the Program Screen is available. Before attempting to change or edit program text directly, the programmer should be familiar with RS-274D commands. When a program is developed at the machine or through a CAD/CAM system, the syntax and data are automatically formatted correctly. However, when adding to or editing the program directly, there are no safeguards to assure that the information and syntax are correct, aside from the knowledge and experience of the programmer. Note: When adding to, or editing the program, it is a very good idea to save the program regularly. Also, the QCore SuperControl will remind you if you have not saved the program before closing it. The QCore SuperControl is a multi-tasking system that allows utilization of the editor while the control is running a part program. In fact, you can edit the same file that the QCore SuperControl is currently running without stopping program execution. However, if the program being edited is the same one loaded in the QCore SuperControl and is saved from the editor, this will only save the changes on the hard disk. The program that is loaded in the QCore SuperControl is unaffected. The newly saved file must be re-loaded into the QCore SuperControl to use the changed file. Take care to load the newly changed file into the QCore SuperControl immediately. Do not save this old file without changing its name, or it will overwrite the old data to the newly edited file. SuperControl User Manual SuperControl Software (THM) 23

32 Just as there are a variety of methods to develop NC Code, the QCore SuperControl provides a variety of methods to edit or modify an NC program. The four primary methods of editing a program are the Tab Editor, enter text, the Program Search Menu and the Hand Held Programmer. Fixture Offset Table The Fixture Offset Table dialog is used to enter fixture offsets that are then saved for use by a part program using a G52L#. See Program Offsets on page 89 for additional information. Offset Number Locked Offset Values Description Fixture offset numbers can range from 1 to 999. Each offset number can be locked (cannot be edited) by enabling the Locked checkbox. The Maintenance Password will be required. Enter the desired fixture offset for each axis. Fields left blank will not change the current fixture offset when the G52L# is executed. An optional field to store any notes about the offset number such. Select OK to close the dialog, a Yes/No/Cancel confirmation dialog will be provided. Offset List Displays a list of fixture offsets. Selecting the Show All Offsets checkbox displays all 999 offsets; un-checking it lists only those used. 24 SuperControl Software (THM) SuperControl User Manual

33 To save a list of offsets to a text file: Enter Text 1. Select Save button to open a Save As dialog 2. Choose a file name or use the default (FixtureOffsetList.txt) 3. Select Save button on Save As dialog Enter Text is a one-line editor that allows the programmer to add one line of code at a time. Enter Text can only be accessed in READY mode. The new line will be inserted directly above the Gray Bar in the program. Enter Text defaults to uppercase but this can be turned off by un-checking the Enter text in uppercase check box. Note: Enter Text should not be used if Radius Compensation is active. Edit Text Tab Editor is a one-line editor that allows the programmer to modify one line of code at a time. Tab Editor can only be accessed in READY mode. The Tab Editor defaults to uppercase but this can be turned off by un-checking the Enter text in uppercase check box. Note: The Tab Editor should not be used if Radius Compensation is active. Edit File Opens a program in a separate text editor. The currently loaded program will be selected by default. If this is the file desired to edit, press Enter. If a different file is desired, tab to the file list, select the appropriate name and then press Enter. Note: Windows Notepad will automatically load as the Text Editor. For a more detailed explanation of Windows Notepad Text Editor, refer to the Windows manuals or other online documentation. Find Here you can locate specific items in the part program. From the point where you begin the search, you can search Down, to the end of the program, or Up, to the program beginning. Enter the desired item to search for in the Find What field and click Find Next. There are four types of searches: SuperControl User Manual SuperControl Software (THM) 25

34 1. Text - Finds text (Select Match Case checkbox to match the case of the text exactly) 2. Label - Finds label number 3. Line - Finds line number 4. Sequence - Finds sequence number (N#) Replace Here you can locate specific text entries in the part program and replace them with different information. From the point where you begin the search, you can search Down, to the end of the program, or Up, to the program beginning. Enter the desired text to search for in the Find What field, enter replacement text in Replace With and click Find Next, Replace or Replace All. Select Match Case checkbox to match the case of the text exactly Settings/Preferences The Settings/Preferences dialog has a list of categories on the left hand side. Choosing a category will display its options on the right side. Changing these options may require a restart of THM. Click OK to save changes or Cancel to discard changes. System Units - Sets the default system units 26 SuperControl Software (THM) SuperControl User Manual

35 Imperial (inches) Metric (mm) Display Language - Set the default system language English Portuguese Italian Expand macros when block stepping Select to cause macros to be "stepped into" when stepping through a program. If not selected, stepping on a macro will execute its entire contents. Skip Command (G31) Default Input Set input number for use with G31 command. See Skip Input (G31) on page 106 for additional details. System Pivot Distance Sets the pivot distance used for tool center point and spline calculations. To enable editing, select the Edit button and enter the maintenance password. Hand Held Programmer - Select HHP style Program Colors THM - HHP used on pre-qcore systems G56 - Color touch screen QCore HHP G55 - Monochrome QCore HHP The Program Display window allows separate colors to be set to individual letter codes (X, Y, G, M, etc.), AFL lines and comment lines within the current Part Program. This can make specific codes stand out and become easier to distinguish. Operators can set individual colors from a predefined list or choose a custom color. The background color for the program display area may also be changed. To set an individual letter color: 1. Select Enable Program Color checkbox 2. Click on the color next to the desired letter 3. Choose a color from the list or select Other to define a custom color SuperControl User Manual SuperControl Software (THM) 27

36 4. Select Include # to color any numbers after the letter the same color as the letter, otherwise they will be colored black To set a background color: 1. Select Enable Background Color checkbox 2. Click on the color inside the Background group box 3. Choose a color from the list or select Other to define a custom color To set AFL or comments color: 1. Select Enable Program Color checkbox 2. Click on the color inside AFL or Comments group box 3. Choose a color from the list or select Other to define a custom color An example of what the program will look like is displayed in the Sample field. To reset any chosen colors, click the Reset Defaults button. When Enable Program Color and Enable Background Color are both unchecked, the Program Display area will display in white, with a Thermwood watermark. Note: It is possible to set text and background colors to the same color and additionally, some colors may conflict with background color. Security Passwords are used to restrict certain areas of the software from unauthorized changes. Examples of this include actuator setup, changer setup and maintenance. There are three different password types: Maintenance Tooling File Properties Maintenance Password To enable editing, select the Edit button and enter the maintenance password. 28 SuperControl Software (THM) SuperControl User Manual

37 Change - To change the maintenance password, enter the new password and then re-enter to confirm, select OK. Optional protected dialogs - Select dialogs to password protect Note: The default maintenance password is thm Tooling Password To enable editing, select the Edit button and enter the tooling password. Change - To change the tooling password, enter the new password and then re-enter to confirm, select OK. Optional protected dialogs - Select dialogs to password protect Note: The default tooling password is toolman File Properties Password To enable editing, select the Edit button and enter the file properties password. SuperControl User Manual SuperControl Software (THM) 29

38 Change - To change the file properties password, enter the new password and then re-enter to confirm, select OK. Note: The default file properties password is thm Cut This will "grab" and remove the current line highlighted by the Gray Bar and hold it in temporary memory. You can then use the Paste command to move it to where you desire in the part program. Copy This will "grab" the current line highlighted by the Gray Bar and hold it in temporary memory. Copy will NOT remove the data in the line, but will leave it intact. You can then use the Paste command to move it to where you desire in the part program. Paste This will take the line from the part program that was Cut or Copied and place it on the line ABOVE the Gray Bar in the part program. Comment This is a quick way to comment out, or to make invalid, an individual line of code. It does this by adding a "%" character at the beginning of wherever the Gray Bar is located in the Part Program. Machine Variables Machine Variables are special AFL variables that are saved on the hard disk so they can be reused each time the machine is used. This dialog is divided into two sections: Thermwood Defined and User Defined. The Thermwood Defined section defines miscellaneous geometric and dimensional data information needed for the Thermwood CNC machine to function correctly. These variables are typically used for special options purchased with machines that are not a cutting or machining type of device. Some examples of these are the Tool Measurement and Part Thickness sensors, Load/Unload Systems, Part Location Macros, etc. These variables can have their values changed, but they cannot be deleted or renamed. The User Defined section is available for the advanced user who may want to add or use variables for their special needs. These variables can be added, deleted and renamed. 30 SuperControl Software (THM) SuperControl User Manual

39 Note: The exact variables and their values may vary, depending on the machine type. Not all variables will pertain to every machine. The supplied Machine Variables database will normally contain variables for all possible machine options. Modify only the data that pertains to the options on the machine. IMPORTANT! - It is essential that one is familiar with the use of AFL before attempting to add or use any User Defined variables. Using the mouse, or the TAB, Enter and ARROW keys, it is possible to update the Value field of these variables, as shown in the above illustration. To enter User Defined variables, click on the Add New button and a dialog will appear where this data can be entered. Exiting the Machine Variables dialog will provide a dialog that provides the option to save these variables or to cancel and return to the main menu. View Menu The View Menu provides control over what display screens are visible and what information is displayed on them. Main Screen Resets view back to Main Screen. SuperControl User Manual SuperControl Software (THM) 31

40 Application Views Nested Base View Opens a simplified version of the Main Screen. CNC View Opens the Main Screen on page 19. Graph Screen The Graph Screen display provides a graphic picture of the centerline tool path generated by the part program currently loaded in the QCore SuperControl. Function keys then allow the user to move around, zoom in and view the graph from another plane. Moving the mouse cursor across the screen will update the coordinates in the status bar. You can also zoom into a specific area by click-holding the left mouse button and dragging a box around the desired area, let go to zoom in. Note: Programs containing loops or certain AFL commands may not graph correctly and could lock up the Graph Screen. If this happens, click on the Stop Graphing icon or select F9. 32 SuperControl Software (THM) SuperControl User Manual

41 Graph Screen Tool Bar Zoom In (also F1) and Zoom Out (also F2). The scale display indicates relative size. duplicate. Move displayed image (Pan Display). The keyboard ARROW keys also Switch Plane (also F7). This changes which plane is graphed. Original Graph Settings (also F8). This restores the view to default. Stop Graphing (also F9). This feature in useful if a bad layout causes the Graph Screen program to go into a loop or to crash. Back to Main Screen (also F10). Note: If it is desired to graph programs with tools setup for 5-axis machining, the Daylight entry field of the Tool Setup Screen must be set to zero. Repeat, this is for 5-axis machines only and only for the Graph Screen! AFL Screen The Advanced Function Language (AFL) is a full function computer programming language that can be incorporated in the EIA (NC) program code on a QCore SuperControl. This allows the advanced user to customize the control to create specialized applications and/or to add functions or features that are not part of the base system. With it, programming is no longer limited to the control functions supplied with the original system. Using the commands of the AFL, programmers can extend and expand the functions of the QCore SuperControl to address special needs that may not be possible to do in any other way. The AFL Screen is the default output device for programs written in AFL. As an output device, it will display messages to the machine operator. SuperControl User Manual SuperControl Software (THM) 33

42 Note: Due to the comprehensive capabilities of AFL, it is a feature that should only be used by experienced computer programmers. Program in English/EIA Programs can be displayed in M and G codes (EIA RS-274D standard) or as an English translation of the program codes. This command attempts to take the NC Code as displayed in its native EIA format and convert the data to standard English "translations" of that code. While it is not possible to find "plain English" ways to explain all possible combinations of lines of code, this tool does make it less necessary to have an EIA NC Code Encyclopedia in front of you. Below are samples of code in English and in standard EIA formats: Offset Toggles the offset display in the Axis Position Window between: Program Offset Displays a combination of fixture, tool and fixture placement compensation (if active) offsets. Tool Offset Displays tooling offsets (G54) Length Offset Displays offset used for tool Length Compensation TCP Offset 34 SuperControl Software (THM) SuperControl User Manual

43 Displays offset used for Tool Center Point control Teach Menu The Teach Menu system provides a method to program standard motions through the use of easily understood fill-in-theblank screens. Selecting a menu item within the Teach Menu will either open an additional menu, a dialog or a pop up window, to assist you in the development of NC Code programs. Line The Line Teach dialog is used to teach a line using the keyboard/mouse or from the HHP. The distances or motions an axis will move can be programmed in either absolute or incremental mode. Upon entering the motion into the program, the QCore SuperControl will translate the motion developed into code conforming to the program mode, which was last designated and activated in the program. The initial cursor position is in the first Axis input box. Type the axis designator and the cursor will reposition to the first Dist (Distance) box. The Dist value is the distance the machine head will travel on a particular axis upon entering the value. Type the distance and press Enter. In MDI Mode, the machine will move the distance typed. The accumulated movement for an axis is shown in the Total box. The numbers entered into the Dist box will be based on the dimension mode. The cursor will then move to the next Axis input box. The programmer can continue to program the lines by repeating these two steps as many times as needed to achieve the desired end position. To complete programming of the line, press Enter Motion - F9. The control will create a line on NC Code in the proper format and will insert in the part program. To discard the motion instead of programming it, press Undo Teach - F10. The machine will return to the point where the line was started. Note: Remember when discarding a motion, keep in mind that all axes will be cleared at the same time. Dimension - F1 Absolute - Distance to end point values are referenced from Part Zero or Machine Zero Incremental - Distance to end point values are referenced from the last end point. (default) MDI Mode - F2 Wait - Allows all the axes and distances to be entered before the machine will move through the motion. Move - This is the default, which allows the machine to move through each increment as it is entered. (default) Tool Center Point - F3 Off - Tool Center Point control will not be used. (default) On - Tool Center Point control will be used when moving rotary axes. This option allows for positioning about the tip of the tool for a 5-axis machine. When Tool Center Point positioning is turned on, and one of the rotary SuperControl User Manual SuperControl Software (THM) 35

44 Axis - F4 Feed Rate - F5 Motion - F6 axes (axis 4 or 5) is commanded to move, it moves two or more of the linear axes (X, Y or Z) as well, to maintain the position of the tip of the tool Moves the cursor to the first available Axis field. The feed rate specified will be used when the motion is executed and also when entered into the program code. A default feed rate (maximum feed rate available) will be shown if the feed rate has not been changed since starting THM Otherwise, the last entered feed rate will be shown. Feed Rate - F5 moves the cursor to the Feed Rate field. Record Daylight - F7 Linear - Line will be entered as a G01 motion. (default) Rapid - Line will be entered as a G00 motion. Records the current Z axis absolute position to the Daylight field of the tool setup dialog. Record Offset - F8 Opens a dialog to record axis positions into the fixture offset table. See Record Fixture Offset. Enter Motion - F9 Executes motion if not already done and enters into program. Undo Teach - F10 Step Plus - F11 Reverses any entered motion and closes the dialog without entering anything into program. Move an axis plus in increments of the last entered distance for the axis. Step Minus - F12 Temp Enter Move an axis minus in increments of the last entered distance for the axis. Closes dialog but does not clear motion and does not enter a line into the part program. Note: Set dimension mode, MDI Mode and Feed Rate before entering any axis motions, because they affect the behavior of the machine during the development of the motion. Note: Tip Center Rotation uses pivot distance and the active tool's length data. Ensure these values are properly setup before using. Pivot distance is setup from the factory initially, and can be confirmed with the procedure found in the section of this manual titled "Program Setup for use with Length Comp". Axis 0 For 5-axis machines, which can position the router head at various angles for three dimensional cutting, there is a special feature that allows the programmer to have the machine move relative to the position(s) of axes four ("C") and five ("A" or "B"). To access this feature, at any point during a line teach, simply call for Axis 0. This will move in the direction that the router is pointing. If it is desired, to move "inward" a positive distance should be commanded, and a negative value should be commanded for an "outward" movement. If working with the secondary end of a dual ended router, the reverse logic will have to be applied. 36 SuperControl Software (THM) SuperControl User Manual

45 Record Fixture Offset When using the Line Teach dialog, axis positions can be recorded into the fixture offset table. This is convenient since it is possible to move the head to a reference point on the part fixture and then transfer the axis positions to the fixture offset table. To do this, the MDI Mode must be set to Move, so the machine will move as the values are entered. Any or all of the axes of the machine can be offset to establish a Fixture Offset. Offset Number Select Axes Current/New Fixture offset numbers can range from 1 to 999. Select axes to include when recording the offset. 3-axis machines default to X and Y only. 5-axis machines default to X, Y and Z. Displays the current offset and the new values to be recorded. The New values can be edited. Apply TCP offsets If checked, will adjust the offset values for pivot distance and tool length. Enter & Make Active If checked when OK is selected, this will also close the Line Teach dialog, enter the fixture offset number as a G52L# into the part program, and make the offset active. When OK is selected the offset values are recorded into the fixture offset table. SuperControl User Manual SuperControl Software (THM) 37

46 Arc/Helix The Arc Teach dialog is used to teach an arc or helix (a spiral, "corkscrew" shaped move) using the keyboard/mouse or from the HHP. To teach an arc/helix: 1. Choose desired Dimension (Absolute or Incremental) 2. Choose desired MDI Mode (Wait or Move). Use Wait if doing a helix. 3. Choose desired Feed Rate 4. Enter first axis number, press Enter 5. Enter first axis distance to center (as measured from the tool's center), press Enter 6. Enter second axis number, press Enter 7. Enter second axis distance to center (as measured from the tool's center), press Enter 8. If doing a helix, enter helix axis number, press Enter and then enter helix distance, press Enter again. 9. Click Angle - F7, enter a value in degrees and press Enter 10. Click Enter Motion - F9 and the code for the ellipse will be inserted into the program Dimension - F1 MDI Mode - F2 Feed Rate Absolute - Distance to end point values are referenced from Part Zero or Machine Zero Incremental - Distance to end point values are referenced from the last end point. Wait - Allows all the axes and distances to be entered before the machine will move through the motion. Move - This is the default, which allows the machine to move through each increment as it is entered. The feed rate specified will be used when the motion is executed and also when entered into the program code. A default feed rate (maximum feed rate available) will be shown if the feed rate has not been changed since starting THM. Otherwise, the last entered feed rate will be shown. Feed Rate - F5 moves the cursor to the Feed Rate field. Note: Set dimension mode, MDI Mode and Feed Rate before entering any axis motions, because they affect the behavior of the machine during the development of the motion. Angle Entered in degrees, with a negative degree measurement indicating a clockwise rotation (positive, counterclockwise rotation is the default). Angle - F7 moves the cursor to the Angle field. 38 SuperControl Software (THM) SuperControl User Manual

47 First Center - F3 Moves cursor to the first axis center distance. Second Center - F4 Helix - F6 Move Axes - F8 Moves cursor to the second axis center distance. Moves cursor the helix axis field. This will execute the movement without entering into the program. Enter Motion - F9 Executes motion if not already done and enters into program. Undo Teach - F10 Reverses any entered motion and closes the dialog without entering anything into program. 3 Point Arc Any three non collinear points in space define an arc. Only one arc can be drawn through three points. These facts make it possible to program an arc by using three points rather than using the center and rotation. The three points need not be on a flat plane and the arc can be tilted in space. When a 3 Point Arc is activated, the last two line segments, line 1 and line 2 are turned into an arc that goes through points 1, 2 and 3, as shown in the illustration. Remember: Two lines must be created first before using the 3 Point Arc feature. SuperControl User Manual SuperControl Software (THM) 39

48 3 Point Arcs are useful when a print of the part is not available and only the part itself is at hand to program from. 3 Point Arcs can be used to create a simple arc, with only XY, YZ or XZ, as well as in creating 3D arcs involving three axis motions. A line can be comprised of movements along one, two or three axes. If a single axis is used to create the first line, then the second line motion cannot be the same axis. Two single axis motions create a straight line and not an arc. When creating a 3 Point Arc with a 5-axis machine, the rotary axes (axis 4 and/or axis 5) may be included within the two lines desired to be converted. Care should be taken when converting two lines that contain rotary axis movement. After two lines that contain axis four and/or axis five motions are converted, the total rotary axis movement that existed within the two lines before converting will be superimposed equally, for every degree of circular motion within the arc. With this in mind, it is a good idea to try to make the rotary axis movements (within the two line commands intended to be converted) very close to the same number of degrees, especially if both axis four and five are involved. If the rotary axis movements in the two lines are not equal, it may appear that the tip of the tool is not tracking correctly between the start point and the end point of the converted arc. This is because the rotary axis movements must be superimposed equally for every degree of circular motion. Note: The two entities to be converted must be line motions (G01) and cannot be separated by comments, blank lines or anything else. Normalize Axes The Normalize Axes dialog is used to return one or more axes to Machine Home. Each axis selected will move when selected and all selected axis/axes will move in unison when the command (G45) is encountered during program execution. To teach normalize: 1. Select one or more axes to normalize 2. Click F11 Enter to enter the command into program. Encoder counts between Home Switch and C-Marker Displays number of encoder counts between the home switch and the C-Marker. Encoder counts between Home Switch and Ramp End F11 Enter F10 Undo Teach Ellipse Displays number of encoder counts between the home switch and servo ramp down end. Enters G45 command with axes selected into program. Closes the dialog without entering anything into program. The Elliptical Quadrant dialog is used to teach an ellipse using the keyboard/mouse or from the HHP. The default MDI Mode for inputting and ellipse is Wait. This allows all axes, distances and the speed to be entered before the tool moves through the motion. 40 SuperControl Software (THM) SuperControl User Manual

49 To teach an ellipse: 1. Choose desired dimension (Absolute or Incremental) 2. Choose desired direction (Clockwise or Counterclockwise) 3. Choose desired Feed Rate 4. Enter first axis number, press Enter 5. Enter distance to end, press Enter 6. Enter second axis number, press Enter 7. Enter distance to end, press Enter 8. Enter Motion and the code for the ellipse will be inserted into the program Dimension F1 Toggles dimension between Absolute and Incremental. Direction F2 Toggles the ellipse's direction between Clockwise and Counterclockwise. Axis - F3 Moves the cursor to the Axis field. Feed Rate - F4 Moves the cursor to the Feed Rate field. Move Axes - F8 This will execute the movement without entering into the program. Enter Motion - F9 Executes motion if not already done and enters into program. Undo Teach - F10 Reverses any entered motion and closes the dialog without entering anything into program. Call Subprogram The Call Subprogram dialog shows a listing of files in the default sub program directory. SuperControl User Manual SuperControl Software (THM) 41

50 Choose the desired subprogram, enter the number of Iterations (how many times the program will run automatically) and then click F7 Enter to enter the call subprogram command (M98P) into the part program. F10 Undo Teach will cancel without changing the part program. This requires the INPUT circuit to open before proceeding. Tool Management Menu This menu contains commands to manage the Tool Management system within the SuperControl. Most of the commands in this menu are covered in the Tool Management and Tool Measurement sections of the manual. Tool Setup See Configuring Tools on page 160 Actuator Setup See Configuring Actuators on page 154 Changer Setup See Configuring Tool Changers on page 158 Changer Maintenance See Tool Changer Maintenance on page 164 Reset Tool-In-Use See Reset Active Tool on page SuperControl Software (THM) SuperControl User Manual

51 Maintenance Tool Load/Unload See Tool Load/Unload Tool List Provides a way to view all tools in a list format. The list can be saved to a text file. Measure Tools See Tool Measurement on page 180 Verify Tooling Verify Tooling dialog features: Visual layout of the Tool Changer(s) on the machine Lists tools that will be used by the currently loaded part program Lists all the tools setup for each Tool Changer Position Displays the current Tool-In-Use (Active Tool in the spindle), and displays in red the position that must be empty for this tool Allows the user to tell the QCore SuperControl that the current Tool-In-Use has changed (This requires the user to manually ensure that the tool is in the spindle, and that the necessary changer position is empty) Direct access to the Tool Setup dialog Allows the user to tell the QCore SuperControl that a tool used by the currently loaded part program has been moved to a new changer location (This requires the user to manually ensure that the tool is positioned correctly). The right section of the dialog displays a diagram of the Tool Changers and their positions. Each Tool Changer Position has a number that corresponds to the same number of the Tool Changer on the actual machine. Bar Style tool changers have the positions arranged in a common line. Typewriter Style tool changers have lines connecting the tool changer positions to the common changer center, whereas Bulk Style tool changers have lines connecting each changer position to the next and previous, creating a loop. In the upper left area is a Legend that explains the various symbols that may be encountered. The dialog displays the Tools Used in Program in the list at the lower left. SuperControl User Manual SuperControl Software (THM) 43

52 Legend Tool Changer Position Colors A green circle represents the changer position of the currently selected tool as displayed in Tools Used In Program. A red circle represents the Tool Changer Position that is empty and assigned to the Active Tool in the spindle. An orange circle represents a Tool Changer Position that has an expired tool. This is only displayed if the currently selected tool is part of substitute tool chain. A blue circle represents a Tool Changer Position that has a substitute tool. This is only displayed if the currently selected tool is part of substitute tool chain. A black circle represents all other Tool Changer Positions Note: In certain scenarios, a Tool Changer Position may be made up of two or more colors. Tool Status Flags Tool Setup Ok This indicates that the tool is set up correctly. Common Setup This indicates that a tool shares a Changer Position that is setup with another tool used in the program. This state does not necessarily indicate a problem. No Changer Set This indicates that a tool does not have a Tool Changer set. This is a problem and must be rectified before running the program. No Actuator Set This indicates that a tool does not have a valid Actuator set. This is a problem and must be rectified before running the program. Tools Used In Program This area displays all the tools that will be used in the current program loaded into the QCore SuperControl. The program must be saved. This area will include any tools called by Subprograms, Canned Cycles etc. that may exist in the program. Refer to the Legend for the setup status of each tool. Each entry contains the tool number with its description appended to the end. (The description comes from the Description field in the Tool Setup dialog) List Changer Position Tools To view the tools setup for a Changer Position, simply click on a position on the dialog. A menu will appear which describes the Changer Position and it will list all the tools in the bottom section that are setup to this position. Example: 44 SuperControl Software (THM) SuperControl User Manual

53 Tool-In-Use Display The current Tool-In-Use is displayed in the lower right corner of the dialog. This is the tool that the QCore SuperControl believes is in the spindle. The Changer Position displayed in red indicates this tool's Changer Position, which should be empty. Changing the Current Tool-In-Use This feature allows the user to tell the QCore SuperControl that the current Tool-In-Use has changed. This requires the user to manually ensure that the tool is in the spindle and that the necessary Changer Position is empty. WARNING! Failure to do this may result in machine damage or personal injury. 1. Left click a Tool Changer Position. 2. Select the tool you would like to assign to the spindle in the popup menu. 3. In the menu window for that tool, select Assign Tool to Spindle. 4. Press Exit and carefully review the following (typical) messages: IMPORTANT! - It is up to the operator to confirm that the above procedure has been accomplished and that the tooling is placed as desired. There is no way for the Machine to know if the operator has manually changed any tools or tooling positions! Direct Access to the Tool Setup Dialog 1. Left click a Tool Changer Position. 2. Select the tool you would like to edit from the menu window, and select Tool Setup. Moving a Tool to a New Changer Location This feature allows the user to tell the QCore SuperControl that a tool used by the currently loaded part program has been moved to a new Changer location. This requires the user to manually ensure that the tool is positioned correctly. WARNING! Failure to do this may result in machine damage or personal injury. SuperControl User Manual SuperControl Software (THM) 45

54 1. Left click a Tool Changer Position. 2. Select the Move Program Tool Here menu item. 3. Select the desired tool to move to this position. 4. Click Yes in the (typical) confirmation window as shown: IMPORTANT! - It is up to the operator to confirm that the above procedure has been accomplished and that the tooling is placed as desired. There is no way for the Machine to know if the operator has manually changed any tools or tooling positions! Maintenance Menu The Maintenance Menu contains various sections to diagnose, inform, modify and operate certain features of the QCore SuperControl. Fault Information If there are servo malfunctions, the Fault Information dialog will display a list of servo faults. This information is primarily for the use of Thermwood Service Technicians, as it will present a highly technical report of the error to assist in diagnosing the fault. Note: The machine must be in EMER STOP mode to open the Fault Information dialog. Parameter Access 46 SuperControl Software (THM) SuperControl User Manual

55 Servo Information The servo system consists of a complex combination of hardware and software, which controls the servomotors that drive the axes in the Thermwood CNC machine. This maintenance function provides a way to monitor and evaluate the performance of the servo system. IMPORTANT! - Parameter Access and the Maintenance Servo Screen displays are for Thermwood Service Technicians only and are mentioned here only for reference. DO NOT attempt to modify any of the settings in these areas! Should you experience any difficulty with an axis, the Service Department at Thermwood may ask you to bring up these displays and to report the values as instructed. PLC Screen The PLC Screen displays messages from the PLC (Programmable Logic Control) which is the "brains" of the QCore SuperControl. Messages in this screen are usually those of a fault or other event monitoring indication. If there are any unexplained errors or other faults, check the PLC Screen first to see if any items are listed. PLC History Opens a text file where all current and past PLC errors and warnings are stored for review. PLC Diagnostics Opens PLC diagnostics. SuperControl User Manual SuperControl Software (THM) 47

56 Inputs/Outputs The I/O Maintenance Display dialog show the current state of all machine inputs and outputs. Inputs Outputs I/O List Run Cycle Start Any input that is closed will display with a check mark in the box corresponding to the input number, on the I/O Maintenance Display. This indicates that the input switch is closed and that the control recognizes that the switch is closed. The active Outputs are shown by a check mark on the I/O Maintenance Display. While the I/O Maintenance Display is shown, Outputs can be turned on and off by selecting the appropriate number and pressing the space bar. If you have the optional trackball or mouse, you can also turn Outputs ON and OFF by placing the arrow in the box corresponding to the Output you want and clicking the left mouse button. Opens another dialog to view and/or save a list of system names for each input and output. Executes the part program just as if the green CYCLE START button had been pressed on the QCore SuperControl Main Panel. Block Step Forward and Block Step Backward These are used as aids in editing and verifying a program. With these commands, programs can be stepped one block at a time. This is helpful for programs with Subroutines, Goto and Subprogram call commands. Feed Hold This stops program execution in an orderly fashion any time it is pressed. Block Stop This stops execution of the program at the end of the current line of code being executed. Dry Run On/Off This toggles the Dry Run mode. When a program is executed in the Dry Run mode, it executes at the normal speed but the axes do not move. 48 SuperControl Software (THM) SuperControl User Manual

57 Note: The Inputs and Outputs may still function during Dry Run mode. Axis Information Axis Information will show the status of all home switches. Any home switch that is closed will display with a check mark in the box corresponding to the home switch number. This indicates that the home switch is closed and that the control recognizes that the switch is closed. Note: This feature is primarily used by Thermwood Service Technicians only. Edit Limits The Working Envelope of the machine can be changed temporarily using the Edit Limits feature. This is especially useful for machines that have dual heads. Note: The limits cannot exceed the physical limitations of the machine. Thus, Inlimit and Outlimit values cannot be increased only decreased. Outlimits will always be positive values and inlimits will always be negative values regardless of the directions from Home. The limits stored permanently in the machine are for maximum clearance. If the slave head of a dual head machine is moved farther away from the primary head and then the X-axis travel is reduced. To prevent bumping into the positive stops or endplates, the travel in the X-axis can be reduced by the additional head separation. You may notice that even if your Z-axis travels a distance negative away from Machine Home, the Outlimit in the dialog is positive. (This is due to the way the control reverses an axis.) The new values will remain in the control unless they are modified again, or the original limits are SuperControl User Manual SuperControl Software (THM) 49

58 restored, or if the QCore SuperControl is rebooted. Programs that require higher outlimits will generate an "X axis is out of bounds" error (Error 3050). To restore the permanent machine values, select F9 to restore the original limits. IMPORTANT! - It is required to execute a Home Sequence after any changes to the Edit Envelope Limits dialog. View Schedule This will present a dialog with all the required maintenance operations, when they were last attended to and an illustration of the machine, locating the relevant item, as illustrated in the example below: Displayed in this window, below the illustration, is the recommended Cycle Time, as found in SERVICE.TXT. The values as supplied by Thermwood are recommended for machines used typically, and should not be changed without consulting Thermwood Corporation. The Event Description field scrolls to list the required events and the appropriate Group number. The Event History lists the dates and times when this maintenance was last performed, while Time Remaining shows the run time available before this maintenance needs to be performed. The buttons Manual Item Reset and Manual Group Reset are to be used after the required maintenance has been performed. The current date and time will then appear at the top of the Event History column. Additionally, the Edit Password button is a shortcut to change the Maintenance Password. Trajectory Planning Factors The Trajectory Planning Factors dialog contains a list of the settings used by THM to plan the motion trajectory. 50 SuperControl Software (THM) SuperControl User Manual

59 View Part The edrawings Part Viewer dialog shows a list of parts available to view. Select a part and press Open to view it. Auto Comp This option is used by Thermwood technicians for linear and volumetric compensations. Machine File Collector This option is a wizard dialog that can collect machine files to be sent to Thermwood for use with troubleshooting issues or for software upgrades. If your machine has an internet connection, it can send the files directly to Thermwood. It can also save a single.cab file that you can take to another computer and send to Thermwood. It will NOT collect files from your machine's part program or subprogram directory. SuperControl User Manual SuperControl Software (THM) 51

60 Control Options Menu Control Nesting Control Nesting is a nesting package integrated into the Thermwood QCore SuperControl. This package allows the user to nest various parts into sheet stock, thus creating a user-friendly program. Some benefits of this particular package include better yield, mixing of different parts, label printing for the parts as well as off-fall, ability to re-use off-fall, etc. It will also display a graphical view of the nest to insure it will suit the user s needs along with a yield percentage per sheet stock. Refer to the supplied Control Nesting program manual for additional information. Profile Modeler The optional Profile Modeler is designed to take Thermwood Database files from ecabinet Systems that contain parts with profile edge cuts (created by the part editor) and create modeling type tool paths to produce these edges with standard modeling tools. A Custom Tool option also exists, so that a centerline path can be defined for cases that can be machined in one pass with a custom shaped tool. These database files ("twd") are created when selecting the CNC Output feature from ecabinet Systems. This is an optional feature for your QCore SuperControl and if it has been installed, this menu option will provide a direct link to the program. Refer to the supplied Profile Modeler program manual for additional information. 52 SuperControl Software (THM) SuperControl User Manual

61 Carving Library In this area you can download, for free, CNC programs to machine decorative wood carvings as well as files that display these carvings in ecabinet Systems. These programs only execute on CNC routers supported by the ecabinet Systems program. There are two types of carvings available. Flat carvings such as skirts, onlays and trim can be processed on a three-axis machine. Three dimensional post and leg carvings require a rotary axis in addition to the three main axes. This type of rotary playback axis is available from Thermwood for Thermwood CNC routers. Both flat and rotary carvings can be scaled up or down. Inset carvings incorporated in cabinet parts within ecabinet Systems will be machined as part of the nested based CNC output. There are three components to each carving: 1. First, there is a setup-instruction sheet in PDF format that explains how to set up and run the program. 2. There is an HSF file, which can be loaded into ecabinet Systems and used as part of the design process. 3. Finally, there is the actual CNC file. This file can be downloaded either directly through the control or using an independent PC. This file will only execute on CNC routers that are supported by the ecabinet Systems program. The Carving Library dialog will show what files are already installed on your QCore SuperControl. Selecting a carving from the dialog will give additional information about the carving and allow it be scaled. Download Carving Library Programs Carving Library programs can be downloaded from: After downloading a new carving program from our webpage, you will need to import them into the Thermwood QCore SuperControl. Each carving is downloaded as an executable (".exe") file. When this file is executed on a computer that has ecabinet Systems installed, it places the carving files into the \Import\ subdirectory (they are ".hsf" files), while the carving instructions may be found in the \CNC Rental Program Directions\ subdirectory of your ecabinet Systems installation directory. Since Inset Carvings are cut into a part, these may be added in ecabinet Systems, by selecting Inset Carving Options - Add Carving under the Right Click Options from the Cabinet/Assembly Editor. SuperControl User Manual SuperControl Software (THM) 53

62 This same ".exe" file can be executed on a Thermwood CNC with the QCore SuperControl interface, and will install the CNC program files needed to actually machine the carving and all of this data will be saved on your Thermwood QCore SuperControl in the D:\Data\Rental\ folder. Since carvings may be scaled in ecabinet Systems, if you decide to machine this carving, be sure to scale it with the same values here. Running Carving Library Programs Before running any carving library programs, it is highly recommended that you read the ".pdf" files for setup information, tooling information and special notes concerning the carving. Failure to do so may result in a damaged part or injury. After reading the information, load the rental program from the D:\Data\Rental\ folder as you normally would any other program file. CAD Path (Convert Splines) When a program is converted with CAD Path, a point-to-point program replaces the original spline path that would normally be executed. CAD Path creates extremely short line segments to replace the splines. The spline markers (G05 - begin spline and G06 - end spline) will be completely removed from the NC Code. This is because the CAD Path program has preprocessed information that no longer has to be calculated while the machine is operating, as splines are. The advantages with CAD Path are that the 200 IPM maximum spline feed rate is removed and Length Compensation can now be applied, because there are no splines anymore! To convert a spline program to CAD Path, ensure that the machine is not in E-Stop, load the desired file into the program. Review the program and ensure that the spline areas of the program that need conversion are marked with G05 and G06. Save this file as a reference copy. Selecting CAD Path will display a dialog (as illustrated) for the conversion. Select a Segment Length, which will be the length of the line segment length that the splines will be converted to. A value of 0.05" is a good initial value, but one can experiment to see if a larger or smaller value provides better results. Select a Run Speed, which is how fast the splined areas will run after conversion, in IPM. Browse for the appropriate source and destination files. Be advised that the source and destination names must be different. Note: Smaller values can cause slow program execution and will create larger NC Code files. CAD Path Notes The program to be converted cannot be in a continuous loop or use labels. After conversion is complete, labels and continuous loops may be applied. The program must be saved before using CAD Path. The G05 and G06 must be in capital letters. Lower case letters will cause CAD Path to fail. When converting CAD Path on a 5-axis machine with a tool(s) setup for 5-axis machining, it is imperative that the Daylight entry field for the tools(s) is set to zero. If the spline program was made in Incremental mode (G91), after CAD Path conversion, the former spline areas will be changed to Absolute mode (G90). Any other data outside of the (G05 and G06) spline markers will be left in the original programmed mode. 54 SuperControl Software (THM) SuperControl User Manual

63 Fixture Placement Compensation See Fixture Placement Compensation Communication Thermwood CNC Mobile The Thermwood CNC Mobile App allows users to monitor their Thermwood CNC router(s) and the programs that run on them from anywhere. This app permits the user to obtain the following information on a tablet or smartphone (updated every 30 seconds): bar A listing of every machine you own (includes an optional user customizable nickname) The current state (ready, running or in e-stop) The current Feed Override setting The current program loaded and or running A listing of all current and past part programs loaded/ran in chronological order with extensions A listing of machine events during each part program in chronological order A listing of the cycle time of every part program ran in chronological order A listing of completion or interrupt times in each part program ran in chronological order All machine events in chronological order with filtering Monitor scheduled maintenance with a cycle time countdown as well as a graphical countdown progress A time stamp listing of all previous maintenance performed The ability to request a service phone call from a Thermwood Support Technician right from your device. Note: While this app is free to install, only machines enrolled in Thermwood s Advanced Support program or subscribed to Virtual Service will deliver the monitoring service. The machine also requires QCore control software version or newer. A demo portion of the app is available to observe the features. Apps are available on the Apple App Store and Google Play. Account Setup Use this to setup/manage a Thermwood CNC Mobile account. It is also used to add a machine to an existing account. Enable/Disable This will enable or disable all system functions related to Thermwood CNC Mobile. Web Store Opens an internet browser and connects you to a store where you can order supplies and accessories for your Thermwood CNC Machine. The proper Maintenance Password will be necessary to proceed. Web Forum Opens an internet browser and connects you to a forum where you can communicate with Thermwood, as well as with other members of the Thermwood community. The proper Maintenance Password will be necessary to proceed. SuperControl User Manual SuperControl Software (THM) 55

64 Check For Updates If your machine is connected to the internet, this wizard dialog will check for QCore SuperControl Software updates and give you the option to install them. These updates will include the latest THM and PLC version available. They will also update Control Nesting and Profile Modeler if necessary. Flycut System See Flycut System on page 57 Start/Stop Project Processor Project Processor is used with YouBuild. Label Options Label Printer Tools Opens and runs a program to manage an automatic label printer. See Control Nesting manual. Label Machine Opens a dialog to manage operation of the label machine. Label Recovery Opens a dialog to help with recovery from label printing problems. See Control Nesting manual. Help Menu Virtual Service See Virtual Service on page 297 SuperControl Manual Opens this manual to be read, searched or printed. Hotkeys Opens this manual directly to the Hotkeys topic. 56 SuperControl Software (THM) SuperControl User Manual

65 About SuperControl Provides information about the version of the SuperControl software. Flycut System The term Flycut refers to the skim-milling of a board to achieve a plane surface and to alleviate excessive grooving. Excessive grooving will eventually occur through prolonged use, and will seriously influence your machine's ability to hold down work pieces. The Flycut System provides a means for resurfacing two board types: Table Board Waste Board Flycutting should be completed each time the Table Board is replaced on your machine, or, as a maintenance action to maintain the surface quality of the board. A new Waste Board however, may not necessarily require flycutting, if the Table Board upon which it will be placed has been flycut, and is in good condition. To access the Flycut System dialog, select Control Options > Flycut System from the Main Menu on page 19, or use hotkey [Alt + F]. Flycut Settings To open, use the Settings button from the Flycut System on page 57 dialog. Waste Board Size Flycut Tool # Length (X) and Width (Y) of the Waste Board. The tool to be used for flycutting. Default is #999, this can be changed by using the Select Tool button. Dual Table and Multi-Head machines may have a selection for a second tool. Max Step Over % Spindle Speed Maximum percentage of tool diameter to step over each flycut pass. Desired spindle speed. SuperControl User Manual SuperControl Software (THM) 57

66 Feed Speed Rapid Z Height Ramp in Length Waste Board Life Desired feed rate. Distance above board to start ramp in. Distance to ramp in. Because a certain amount of over-cutting is required in order to adequately cut through a workpiece, the Waste Board becomes increasingly grooved as the cutting operation progresses. As this surface-grooving accumulates, the efficiency of the Waste Board deteriorates proportionally, thus diminishing the remaining useful life of the board; this will eventually affect the machine s ability to adequately and safely hold down a workpiece. The useful life remaining on the Waste Board may be monitored by the control system. Enable Life Monitoring When this feature is enabled, the control will track the amount of grooving that has occurred on the Waste Board surface, and calculate the depletion of its useful life, the quantity being expressed as a percentage of the life of a new board. Max Total Life Used The alert threshold point is entered as a percentage value between 0 and 100. Alert message when exceeded Advanced Flycut Settings The control can also alert the operator when a selected point in the Waste Board lifespan is reached. Alternatively, you may choose not to use the alert function, but to instead, monitor the condition of the Waste Board by periodically invoking the Flycut Settings dialog, and monitoring the Total Life Used readout box. To open, use the Advanced button from the Flycut Settings on page 57 dialog. Advanced settings are typically setup at the factory and should not need any adjustment. Note: This dialog is password protected and requires the entry of the maintenance password to access. Table Size Length (X) and Width (Y) of the Table Board. 58 SuperControl Software (THM) SuperControl User Manual

67 Table Board Settings Home Corner Absolute distance from machine home to the closest corner of the Table Board on primary table. Fillet % for Stepover If Maximize Fillet % is not enabled, this setting controls how much of a fillet to use during the stepover. Maximize Fillet % If enabled, the Flycut System will try to maximize the fillet during the stepover. This can reduce flycut program cycle time. It is recommended to leave this option enabled. Perimeter Cleanup Collar Program Settings Flycut Axis In situations where material is not removed from the edges of the board (due to small collars), this option will make a pass around the board perimeter to cleanup the edges. Defines a distance the tool is allowed to go past each edge of the board. Entering a value in the first edit box and choosing the All button will copy the value into the remaining edit boxes. Select which axis does the primary back and forth motion across the board. % To Reduce Acceleration Select amount to reduce acceleration during flycutting. Start Program From Waste Board Settings Board Count Select which corner of the board to start from. How many Waste Boards are being used. This setting is disabled and must be set to one. Fixture Offset (G52L#) Fixture offset for Waste Board fence location on primary table. Enable X Adjust to adjust fixture offset for the length of the Waste Board. Enable Y Adjust to adjust fixture offset for the width of the Waste Board. Fillet % for Stepover If Maximize Fillet % is not enabled, this setting controls how much of a fillet to use during the stepover. Maximize Fillet % If enabled, the Flycut System will try to maximize the fillet during the stepover. This can reduce flycut program cycle time. It is recommended to leave this option enabled. Perimeter Cleanup Collar Placement Pins In situations where material is not removed from the edges of the board (due to small collars), this option will make a pass around the board perimeter to cleanup the edges. Defines a distance the tool is allowed to go past each edge of the board. Entering a value in the first edit box and choosing the All button will copy the value into the remaining edit boxes. SuperControl User Manual SuperControl Software (THM) 59

68 Use Auto Pins If machine is equipped with automatic location pins on the primary table, enable this option to use them to locate the Waste Board. Specify the output number in Up/Dn Output edit box. If machine has a pins down input, enable Has Down Input and enter the input number in Down Input edit box. Dual Table/Multi-Head Flycut Settings To open, use the Dual Table/Multi-Head Settings button from the Advanced Flycut Settings on page 58 dialog. Dual Table Machine This option should be selected for dual table machines only, a YV or XU table axis pair is required (except for when Tables Use Same Axis option enabled). Tables Use Same Axis For machines where both tables are on the same axis, an MTR30DT for example. (2nd Table) Table Board Settings Home Corner (2nd Table) Waste Board Settings Absolute distance from machine home to the closest corner of the Table Board on secondary table. Fixture Offset (G52L#) Placement Pins Fixture offset for Waste Board fence location on secondary table. Enable X Adjust to adjust fixture offset for the length of the Waste Board. Enable Y Adjust to adjust fixture offset for the width of the Waste Board. Use Auto Pins If machine is equipped with automatic location pins on the secondary table, enable this option to use them to locate the Waste Board. Specify the output number in Up/Dn Output edit box. If machine has a pins down input, enable Has Down Input and enter the input number in Down Input edit box. 60 SuperControl Software (THM) SuperControl User Manual

69 Multi-Head Machine This option should be selected for machines with multiple spindles when each spindle is on its own axis, ZW machines are typically setup this way. Use Axis Tie Enable this option to flycut with heads tied. This can reduce flycut cycle time. Both flycut tools must be the same diameter. This option requires the Full Table Coverage Limitation option to be enabled also. Full Table Coverage Limitation When your machine is equipped with multiple heads, it is likely that you will have limited coverage on either the X or Y-axis, depending on your machine configuration. This option enables you to select the limited axis, and to specify the travel limit from home for that axis. When these constraints are specified, the second head will take over the flycutting operation beyond the travel limit of the limited axis. The ability to choose a secondary flycutting tool in the Flycut Settings on page 57 dialog will also become available after turning on this option. Limited Axis Travel Distance Table Board Flycut Select which axis' travel is limited due multiple heads. This is also known as the tool carrier axis. This is the distance the first head can travel from Home Corner. To open, chose the Table Board tab from the Flycut System on page 57 dialog. If the WASTEBOARD (Waste Board thickness) machine variable is zero, the Flycut System dialog will default here. When flycutting the Table Board, the ORGSPOIL (nominal Table Board thickness), and ACTSPOIL (actual Table Board thickness) machine variables are automatically updated during the process. Both of these variables are stored in the Machine Variables on page 30 dialog [Ctrl + M]. Remember that the daylight value for each tool references the nominal Table Board surface. The difference between the actual and the nominal Table Board surface is the difference between the ORGSPOIL and the ACTSPOIL variables. This difference is accounted for automatically during the execution of a tool call. Because of this, you will not be required to re-measure your tools after flycutting the Table Board. SuperControl User Manual SuperControl Software (THM) 61

70 Table Board Thickness Shows current Table Board thickness (ACTSPOIL). When replacing the Table Board, use Setup New Table Board and enter the new thickness. Amount to Remove Settings Thickness of material to remove. Opens the Flycut Settings on page 57 dialog. Before flycutting, ensure that the Waste Board has been removed, vacuum and dust collection systems are on and the required tools have been measured. When ready to start flycutting, use the Flycut Table Board button. THM will create, load and start a new flycut program. Before starting to cut, the program will display message boxes with items to verify before continuing. Note: When the Dual Table Machine setting is enabled, there will be options to flycut both tables, first table only or second table only. When Multi-Head Machine and Full Table Coverage Limitation settings are enabled, there will be options to flycut both zones, first zone only or second zone only. Waste Board Flycut To open, chose the Waste Board tab from the Flycut System on page 57 dialog. If the WASTEBOARD (Waste Board thickness) machine variable is not zero, the Flycut System dialog will default here. When flycutting the Waste Board, the WASTEBOARD (Waste Board thickness) machine variable is automatically updated during the process. This variable is stored in the Machine Variables on page 30 dialog [Ctrl + M]. It is accounted for automatically during the execution of a tool call. Because of this, you will not be required to re-measure your tools after flycutting the Waste Board. Waste Board Thickness Shows current Waste Board thickness (WASTEBOARD). When replacing the Waste Board, use Setup New Waste Board and enter the new thickness. Amount to Remove Thickness of material to remove. 62 SuperControl Software (THM) SuperControl User Manual

71 Settings Opens the Flycut Settings on page 57 dialog. Before flycutting, ensure that vacuum and dust collection systems are on and the required tools have been measured. When ready to start flycutting, use the Flycut Waste Board button. THM will create, load and start a new flycut program. Before starting to cut, the program will display message boxes with items to verify before continuing. Note: When the Dual Table Machine setting is enabled, there will be options to flycut both tables, first table only or second table only. When Multi-Head Machine and Full Table Coverage Limitation settings are enabled, there will be options to flycut both zones, first zone only or second zone only. Convert Program The Convert Program is a file converter that allows the conversion of certain aspects of a file based on parameters set up in a user-developed configuration file. This program is especially useful for converting CNC piece-part programs; but it is not limited to that particular use. For example, an M & G-code piece-part program that was written to perform on a specific control system may not operate on a Thermwood system because some of the codes may be set up to perform different functions. You could develop a configuration file by setting up search parameters to find specific M or G code strings, and then convert the codes into those that would perform the proper function on your control. In fact, virtually any file can be converted; it need not necessarily be a CNC program. A header and footer is placed at the beginning and end of each program for I.D. purposes; these can actually be lines of machine code or program text. Following is a step-by-step procedure for setting up file conversion parameters. Developing a Conversion Configuration From the main screen menu bar, select File, Convert, and Convert Program Settings. The following Configurations dialog box will appear. Select New SuperControl User Manual SuperControl Software (THM) 63

72 When the Save As screen (illustrated below) appears, enter a name for the new configuration file in the File name box, then select Save. The configurations dialog box will appear again. As an option, you may assign headers and footers to the configuration; to do this, first click on Header, then enter your header text in the window. Select OK. 64 SuperControl Software (THM) SuperControl User Manual

73 Next, click on Footer, then enter your footer text in the window. Select OK. The next operation will be the assignment of line rules, which define the manner in which data is converted. Line Rules allow us to set up conversion parameters, by applying any of several available performance actions to a selected condition. Each line rule is a unique instruction, setting up a specific action for a line of code or text, based on a pre-selected condition being satisfied. For instance, if G751 needed to be changed to G757 to match a tool management macro in the Thermwood control, you could use this program to do that. Line rules can also be re-prioritized so that they can be applied to a line in a predetermined order. To set up line rules, follow the protocol outlined in the following pages. Start by selecting Line Rules from the dialog box, and then click on Add. When the line rule dialog box appears, click on the down-arrow on the select condition to match box, as illustrated below. SuperControl User Manual SuperControl Software (THM) 65

74 The box will expand downward; giving you the choice of either contains or is. Select one of the two, and then enter into the text box, the conditional factor you wish to use. Next, click on the down arrow on the Choose action to perform box. The box will expand downward, revealing a list of choices of actions to perform, based on the condition previously selected. You may choose any one of the actions. Be sure to check the Match Case or Use Regular Expression Syntax box, based on the requirements of the program. EXAMPLE: Use the following sequence to set up conditions for converting a G751 instruction code to a G757 in a CNC piece part program. The new line rule appears in the window in the dialog box as illustrated below. As new line rules are added, they will appear in sequence, in the window. Upon completing the above actions, every line of code or text that meets the conditions set up in the above constraints will be modified accordingly when the program is run. Editing a Conversion Configuration To select a line to edit, you can click on the line, and select Edit, or simply double-click on the line. 66 SuperControl Software (THM) SuperControl User Manual

75 Double-click on Edit, and the following dialog box will appear. Ensure that the Match Case or Use Regular Syntax box is checked, if required. Back space or delete the data you wish to replace in the text windows, and add the new text. After the edit is complete, click on OK. To change the rule priority (the order in which the line rule is applied to a line of code or text), click on the line to highlight it with the blue bar. Use the Up and Down buttons in the window to increment or decrement the line up or down. Each time you click on the box, it will move up or down by one line in the list hierarchy. Running a Conversion Configuration To run a conversion configuration, select File, then select Convert. Note that the fly-out box with the heading Convert Program Settings contains a list of your pre-compiled Conversion Configurations. Select the desired configuration file from the list by clicking on it. SuperControl User Manual SuperControl Software (THM) 67

76 The following window will appear. Select the file you wish to convert by clicking on it. The program will appear in the File Name edit box. Click on Open The program is now converted. The main run screen will appear, and information, such as the Convert Program version number, the conversion time and date, as well as the configuration file nomenclature, will be displayed ahead of the program file header. Fixture Placement Compensation When a fixture is removed and replaced, it must be precisely repositioned in order for the cut-program to line up accurately with the workpiece. Fixture Placement Compensation provides a means for repositioning the cut-program to match the placement of a fixture onto the machine worktable. This enables the operator to utilize multiple machines for running the same workpiece program, by transferring the fixture to the most readily available machine. 68 SuperControl Software (THM) SuperControl User Manual

77 Fixture placement compensation is accomplished by mounting the fixture, and directing the machine to probe several precisely located holes in the fixture, using a precision point probe to determine its exact position in x-y model space, relative to position When the fixture is removed and replaced, it is again probed and an algorithm in the control software compares the calculated position to the correct position, and shifts the entire cut-path geometry accordingly. Alternatively, it is also possible to accomplish the reference-point acquisition task in a manual mode, without the aid of the probe, although the process is somewhat more involved. It is not essential to use holes as reference points in the manual acquisition mode, but it does require precise positioning of a collet-mounted locating bit or other device into the fixture-locating points. Both procedures are covered here, using holes as reference points. Initial Preparation 1. Prepare The Fixture. Reference holes must be drilled into the fixture at strategic locations. It is not necessary to replicate the hole pattern exactly as shown in the example, but this type of broadly spaced pattern will aid in accurate position recording. If a router bit is used to drill the holes, make sure it is a plunge style bit. ¾ to 1 diameter holes work best here. The X-Y position of the hole locations will be recorded later, using the Acquire Points command in the Fixture Placement Compensation program. The machine will automatically probe the inside of each hole, and calculate the hole s center location based on the acquired data. The control will calculate future program positioning offsets based on these initial X-Y locations, and the program will thus be shifted to match the new fixture location. SuperControl User Manual SuperControl Software (THM) 69

78 2. Mount the Probe. The probe comprises a probe body with stylus (B), a power/ data cable with connector (A), and a probe mounting assembly (C). The probe assembly is adapted to be mounted onto the spindle housing as illustrated here. A sockethead cap screw (E) is provided for tightening the collar securely around the spindle nose, and the connector (A) is plugged into a provided receptacle (F), attached to the spindle. 70 SuperControl Software (THM) SuperControl User Manual

79 Acquiring Reference Points With a Probe The next step is to acquire the locations of the reference points. We will first cover the procedure for acquiring the reference point locations using a probe. This procedure will establish the position of the fixture on the X-Y grid, based on the 3-point hole pattern established earlier. From the control screen, select [Control Options] and then, [Fixture Placement Compensation]. SuperControl User Manual SuperControl Software (THM) 71

80 Click on Add New and assign a number to the fixture by entering up to 16 digits in the Filter box. Add a description in the Description box, and then click on Options. The following drop-down will appear; Select Use Fixture Touch Probe, and Click on OK. This process needn t be repeated for each fixture, unless you change to manual acquisition, or need to change retract and/or clearance parameters. From the Fixture Placement dialog box, select Acquire Reference Points 72 SuperControl Software (THM) SuperControl User Manual

81 When the following dialog box appears, select Yes and press Cycle Start. The following instructions will appear on the main computer screen. Using the HHP, move the rotary axis into position so that the probe is disposed vertically, and enter the motion with the HHP and then press the Cycle Start switch. The following instructions will appear on the main computer screen. SuperControl User Manual SuperControl Software (THM) 73

82 Using the HHP, move the head into position so that the probe is centered directly over hole # 1; enter the motion, and then press the Cycle Start switch. Upon pressing the cycle start switch, the head will move downward until the probe touches the bottom of the hole. It will then retract by the amount set in the Indicator Z Retract setting, and proceed to move incrementally until it touches the side of the hole, at which time the machine will record its X-Y grid position. This process will continue until the probe has established three points to triangulate the exact center of the hole; this information is stored in the computer as the first reference point location. It will then move to the center, and retract from the hole; the following instructions will appear on the screen: Using the HHP, move the head into position so that the probe is centered directly over hole # 2; enter the motion, and then press the Cycle Start switch. The same process that occurred with hole # 1 will now be repeated for hole # 2. Upon completion, the probe will retract from the hole, and the following instructions will appear on the screen: Using the HHP, move the head into position so that the probe is centered directly over hole # 3; enter the motion, and then press the Cycle Start switch. The same process that occurred with the previous holes will now be repeated for hole # 3. Upon completion, the probe will retract from the hole. The process is now complete. A triangulation pattern matching that of the reference holes has been established in the program memory for this fixture. Acquiring Reference Points Manually Reference points may be acquired manually if your machine is not provided with a probe. Manual acquisition is very similar to the automatic probing method, except that the head must be moved manually and a precision-fitted pin or bit must be guided very carefully into each reference hole, using the HHP. 74 SuperControl Software (THM) SuperControl User Manual

83 To begin, select Options from the Fixture Placement Compensation dialog box. When the Options box appears, make certain that the Use Fixture Touch Probe checkbox is un-checked, and click on OK. From the Fixture Placement Compensation dialog box, select Acquire Reference Points. The following dialog box will appear; click on Yes. SuperControl User Manual SuperControl Software (THM) 75

84 The following instructions will appear on the screen. Follow the instructions on the screen (Using the HHP, move the A or B axis into vertical position for probing so that the probe stylus is vertically disposed, and enter the motion; press the Cycle Start switch). The following instructions will now appear Follow the instructions on the screen by moving the bit into position over the first reference hole in the fixture. Center the bit as accurately as possible using the HHP, and slowly lower it into the hole until it is just below the surface. Enter the motion and press the Cycle Start switch. The following instructions will appear on the screen. Retract the Z-axis from the first reference hole and repeat the previous process, carefully and accurately lowering the bit into the second fixture reference hole, using the HHP. Enter the motion and press Cycle Start again. The following instructions will appear on the screen. 76 SuperControl Software (THM) SuperControl User Manual

85 Repeat the previous process by retracting the Z-axis from the hole, and carefully and accurately lowering the bit into the Third fixture reference hole, using the HHP. Enter the motion and press Cycle Start again. The Z-axis will automatically retract, and all axes will return to home. The process is now complete. Compensating for Fixture Placement Because you have now established accurate reference points on your fixture, along with accurate positioning data relative to the program path, it is now possible for the control to determine the exact location and orientation of the fixture, no matter where it is placed on the worktable. In order to accomplish this, it is necessary for you to probe the fixture reference points again after mounting the fixture. The following process needs to be carried out each time a fixture is removed and replaced, unless the fixture has precise mechanical locating means, such as pins or precision stops. The process is very similar to the process for acquiring reference points. To Begin: The first procedure covered here will be for acquiring compensation points using a probe; the probe will first need to be mounted, as described in the previous section. As before, start by selecting from the main screen menu, Control Options, and then, Fixture Placement Compensation. Since you are working with a fixture that has been previously established in the system, you will need to establish the identity of the fixture in the Fixture Number window in the dialog box. Click on Options; the following dialog box will appear. SuperControl User Manual SuperControl Software (THM) 77

86 Select UseFixture Touch Probe, confirm settings, then select OK. Enter the number I.D. of the fixture, then select Acquire Compensation Points. The following dialog box will appear. Select Yes; The following instructions will appear on the main control screen. These instructions are inquiring about the method you wish to use for probing the fixture reference points. Do not select automatic unless you have replaced the fixture at, or very near the same location from where it was removed. If this is not the case, it is recommended that you select Manual, and position the probe over the reference points using the HHP (using the keyboard, enter # 2). In the automatic mode, larger holes will aid significantly in positioning the probe. When the above instruction appears, move the A or B-axis into the vertical position; enter the motion and press the Cycle Start switch; the following instructions will then appear: 78 SuperControl Software (THM) SuperControl User Manual

87 Move the head manually, using the HHP, until the probe is over the first hole. Upon pressing the cycle start switch, the head will move downward until the probe touches the bottom of the hole. It will then retract slightly and proceed to move incrementally until it touches the side of the hole, at which time the machine will record its position. This process will continue until the probe has established three points to triangulate the exact center of the hole; this information is stored in the computer as the first reference point location. It will then retract from the hole, and the following instructions will appear on the screen Using the HHP, move the head into position so that the probe is centered directly over hole # 2; enter the motion, and then press the Cycle Start switch. The same process that occurred with hole # 1 will now be repeated for hole # 2. Upon completion, the probe will retract from the hole, and the following instructions will appear on the screen: Using the HHP, move the head into position so that the probe is centered directly over hole # 3; enter the motion, and then press the Cycle Start switch. The same process that occurred with the previous holes will now be repeated for hole # 3. Upon completion, the probe will retract from the hole, and all axes will retreat to home. The process is now complete. When the cut-path program is executed, it will be automatically shifted to match the location of the fixture. Acquiring Compensation Points Manually The manual acquisition of compensation points follows very closely, the same process used for acquiring reference points manually. Start by selecting from the main screen menu, Control Options, and then, Fixture Placement Compensation. Since you are working with a fixture that has been previously established in the system, you will need to establish the identity of the fixture in the Fixture Number window in the dialog box. SuperControl User Manual SuperControl Software (THM) 79

88 Click on Options; the following dialog box will appear: When the above dialog box appears, de-select the Use Fixture Touch Probe checkbox, then select OK The following box will now appear. Select Yes. Select Acquire Compensation Points from the Acquire Fixture Compensation Points dialog box. 80 SuperControl Software (THM) SuperControl User Manual

89 The following instructions will appear on the main screen. Follow the instructions on the screen (Using the HHP, move the A or B-axis into vertical position for probing so that the probe stylus is vertically disposed, and enter the motion; press the Cycle Start switch). The following instructions will now appear: Follow the instructions on the screen by moving the bit into position over the first reference hole in the fixture. Center the bit as accurately as possible using the HHP, and slowly lower it into the hole until it is just below the surface. Enter the motion and press the Cycle Start switch. The following instructions will appear on the screen. SuperControl User Manual SuperControl Software (THM) 81

90 Retract the Z-axis from the first reference hole and repeat the previous process, carefully and accurately lowering the bit into the second fixture reference hole, using the HHP. Enter the motion and press Cycle Start again. The following instructions will appear on the screen. Repeat the previous process by retracting the Z-axis from the hole, and carefully and accurately lowering the bit into the Third fixture reference hole, using the HHP. Enter the motion and press Cycle Start again. The Z-axis will automatically retract, and all axes will return to home. The process is now complete. 82 SuperControl Software (THM) SuperControl User Manual

91 SuperControl Programming Programming for the QCore SuperControl consists of developing a Part Program written in Numerical Control (NC) Code (also known as EIA NC Code). NC Code is instructions to the machine to tell it in detail where to move and what to turn on. These instructions must be written in a language that the control can understand. This language is a series of codes normally starting with the letter "M" or "G". There is a code defined for each of the control capabilities of the system. There are a few standards for NC Code. The most common standard and the one used on the SuperControl is called RS-274D and was developed by the EIA in the 1960's. (The RS-274D revision was approved in February 1980.) This standard defines certain codes, which are always used for particular purposes, while also leaving certain codes undefined so that individual control manufacturers can add their own special functions. Other codes are reserved, meaning that they are not defined at this time but may be defined at some point in the future. RS-274D also provides for a flexible numeric format that allows each machine control manufacturer to define the format that the number must be presented in. For example, one manufacturer may require 4 numbers before a decimal point and 4 numbers after the decimal point, while others may require 4 and 3. Some require a decimal point, while others do not. RS-274D movement instructions tell the control to move each axis of the machine a certain distance. Based on the mechanical configuration of the machine, the tool will move along a certain path. These same instructions executed on a machine with a different mechanical configuration may produce a different tool path. There are a number of methods used to develop NC Code. The QCore SuperControl supports modern methods of NC Code generation. The four methods described below are available directly from Thermwood for the QCore SuperControl. The most direct method is to use a PC and a text editor to directly write the code. Although this is simple and direct, it is difficult. In order to do this, the programmer must know all the EIA NC Codes, keeping in mind the syntax required and calculating positions and movements. All the information needed to generate programs using this method is contained in this manual, however, direct use of a text editor is not recommended for program generation. The text editor does offer a quick convenient method of editing existing programs, provided a good working knowledge of EIA NC Code exists. A second method uses the Teach menu system. This is commonly called "Conversational Programming". Using a menu system, the function to be programmed is selected, for example a line. A "fill-in-the-blank" form then allows the programmer to define the axes that are to move and the distances. When entered, the control writes the NC Code needed to generate the defined motion. The QCore SuperControl allows the programmer to specify the distances that each axis is to move and then will actually move the machine those distances, so that the results of the input can be confirmed before finally entering the motion. This method allows a much better method for visualizing things such as the tool path and the radius of the tool. SuperControl User Manual SuperControl Programming 83

92 A third method uses a Hand Held Programmer (HHP) to run the conversational programming system. It allows the programmer to get closer to the machine itself and carefully observe positions and movements of the tools, while actually generating the program. (This can be much easier than standing at the control and trying to observe the movement of the machine from several feet away!) A display provides feedback to the programmer directly on HHP, eliminating the need to constantly check the QCore SuperControl display. A pulse control feature allows each axis of the machine to be finely moved into position, making precise positioning of the tool against existing parts possible. The HHP has evolved to become the most intuitive and straightforward method of programming at the Thermwood machine. The fourth method uses a Computer Aided Design (CAD) / Computer Aided Manufacturing (CAM) system. Remember that the while the INPUT to the CAD system is geometric information, the OUTPUT is digital data. The format of this digital information varies, although Autodesk's AutoCAD DXF format has become the de-facto standard format for this type of output. In order to use this data for a program, the data must first be converted into a format that can be used. For example, one must make certain that the direction of cut is correct and offset from the tool path by the radius of the tool. This is the job of the CAM package. The output of the CAM package is generally centerline data, which follows the path of the center of the tool. This data, however, does not tell the machine how to move each axis to make the tool follow the centerline path. In fact, each machine may need to generate different axis motions to achieve the desired tool path. Thus, a final program, called a "Post Processor" takes the output of the CAM package and turns it into NC Code for a particular machine. In general, each control and each machine will have its own Post Processor program, which reflect the uniqueness of the machine; this means that to run a part on a machine it must be "posted" to that machine. EIA NC Code Blocks Although the basic EIA program code used by the QCore SuperControl is presented here, programming directly with the code (either in program creation or program editing) should only be attempted by an experienced EIA programmer. This section does not attempt to provide all the information needed to program using EIA code directly, however, it does provide an experienced EIA programmer with all the necessary structure and format information necessary to create and edit QCore SuperControl programs. The EIA format used by the QCore SuperControl conforms to the EIA RS-274D NC code standard. The detail of the implementation of the standard is: N0G2X+44Y+44Z+44A+44+B44C+44I+44J+44F41M3 This code can be broken down as follows: N0G2X+44Y+44Z+44A+44+B44C+44I+44J+44F41M3 The "N0" is a sequence number, which is optional and is not utilized in the data, but is simply used to make programming and editing easier. 84 SuperControl Programming SuperControl User Manual

93 N0G2X+44Y+44Z+44A+44+B44C+44I+44J+44F41M3 The "G2" is the actual G code. The 2 indicates that a 2-digit number follows the character "G" to define the code. N0G2X+44Y+44Z+44A+44+B44C+44I+44J+44F41M3 The data format here is 4.4. This means that there are four digits before the decimal point and four digits after the decimal point on the X, Y, Z, A, B, C, I and J axis parameters. The QCore SuperControl uses a flexible data format and can use any number of characters (up to maximum of 8) with a floating decimal point. N0G2X+44Y+44Z+44A+44+B44C+44I+44J+44F41M3 The feed rate format is here 4.1. This means that there are four digits before the decimal point and one digit after the decimal point for feed rate data. The supported function codes are as follows: L - Loops or Circuit Codes used in conjunction with M codes to identify various circuit lines. F - Feed Rate or Function Range S - Spindle RPM T - Tool number G Codes Supported G00 - Rapid Traverse on page 97 G01 - Linear Interpolation on page 98 G02 - Arc/Helix Interpolation Clockwise on page 98 G03 - Arc/Helix Interpolation Counterclockwise on page 98 G04 - Pause on page 109 G05 - Begin Spline Marker on page 99 G06 - End Spline Marker on page 99 G07 - Command Smoothing on page 115 G08 - Arc Speed Factor on page 116 G09 - Tangency Factor on page 116 G10 - Axis Mirror OFF on page 105 G11 - Axis Mirror ON on page 105 G12 - Ellipse Interpolation Clockwise on page 99 G13 - Ellipse Interpolation Counterclockwise on page 99 G17 - XY Plane on page 112 G18 - XZ Plane on page 112 G19 - YZ Plane on page 112 G25 - Rotary Axis Unwind on page 106 SuperControl User Manual SuperControl Programming 85

94 G26 - Axis Transfer on page 104 G27 - Cancel Transfer on page 104 G31 - Skip Input on page 106 G40 - Radius Compensation OFF on page 112 G41 - Radius Compensation ON Left on page 112 G42 - Radius Compensation ON Right on page 112 G43 - Length Compensation OFF on page 114 G44 - Length Compensation ON on page 114 G45 - Normalize on page 99 G46 - Length Compensation Blend OFF on page 114 G47 - Length Compensation Blend ON on page 114 G48 - Tool Center Point on page 91 G51 - Fixture Offset on page 90 G52 - Fixture Offset Table on page 90 G53 - Fixture Offset Table (with interpolated motion) on page 90 G54 - Tool Offset on page 90 G60 - Axes Tie OFF on page 103 G61 - Axes Tie ON on page 103 G64 - Axis Oscillation OFF on page 105 G65 - Axis Oscillation ON on page 106 G67 - Fixture Placement Compensation on page 92 G68 - Coordinate System Rotation ON on page 92 G69 - Coordinate System Rotation OFF on page 92 G70 - English Units on page 88 G71 - Metric Units on page 88 G72-3D Arc Interpolation Clockwise on page 98 G73-3D Arc Interpolation Counterclockwise on page 98 G79 - World Coordinates on page 89 G80 - Canned Cycle End on page 109 G81-G89 - Canned Cycles on page 109 G90 - Absolute Programming on page 89 G91 - Incremental Programming on page 89 G92 - Preset Program Registers on page 91 G93 - Inverse Time Feed Rate on page 102 G94 - Feed Rate Per Minute on page 103 G95 - Constant Tip Feed Rate on page 103 G96 - Constant Surface Feed Rate on page 103 M Codes Supported M00 - Program Stop on page SuperControl Programming SuperControl User Manual

95 M02 - End of Program on page 108 M03 - Spindle ON (Clockwise Rotation) on page 174 M04 - Spindle ON (Counterclockwise Rotation) on page 174 M05 - Spindle OFF on page 174 M30 - End of Cycle on page 108 M31 - Spindle #1 Up To Speed Check on page 175 M48 - Rapid Traverse Feed Rate Override Control ON on page 97 M49 - Rapid Traverse Feed Rate Override Control OFF on page 97 M51 - Verify Spindle #1 OFF on page 175 M60 - Input Check on page 110 M61 - Output ON on page 111 M62 - Output OFF on page 111 M80 - Declare Label on page 107 M81 - Goto Label on page 107 M82 - Call Label on page 107 M83 - Label Return on page 107 M98 - Subprogram Call on page 108 M99 - Subprogram Return on page 108 Additional Codes & Notes The Thermwood QCore SuperControl uses an ASCII format RS-274D Part Program File. The program can be in either inches or millimeters, but may not change from one to another within a program. Dimensions can be either Absolute or Incremental and the Absolute and Incremental modes can be mixed within the program. The G00, G01, G02, G03 and F codes are Modal. These codes stay active from one block to the next unless they are changed by another modal code from the same group. Field size for values are any number of digits up to a maximum of 8, with a floating decimal point. A given block can have a maximum of 259 characters. A block terminator consists of a carriage return/line feed. Up to four G or M codes per block may exist per block (excluding macro calls). The / (forward slash), \ (backward slash), H word and R word (for retract plane) are not recognized, however, the R word is recognized for a radius value when use with the G02 and G03 codes, when program is in Incremental mode. I, J and K words may be used with G02 and G03 codes in either Incremental or Absolute and is the preferred method. I, J and K must be Incremental, and are independent of the G90 or G91 codes. The last line in the main program must be either M02 or M30, which will return the control back to line one of the program, but will not reset any of the axes or their position values. Comments may be made anywhere within a program block, as long as it is encased within both left and right parentheses (). The comment statement can be listed after a block of execution code, or on a separate line of code. Programs may have multiple pairs of parentheses in a single block (OK)(OK), but cannot nest parentheses (no (no)). A comment cannot exist in the same block of code as an M98. SuperControl User Manual SuperControl Programming 87

96 If programmable speed option is installed, the speed can be specified by an S code, with the desired spindle speed directly following. Example: S Be advised that the S# code should never exist on the same line as a T# code. Additional optional codes can be developed; these codes would utilize 3 digits. Thermwood reserves the right to change codes without notice. Units The QCore SuperControl can default to programming in either English (G70) or Metric (G71) units. The unit G codes are modal and the current mode is always shown in the Active Codes display. Changing the unit mode from a part program can be helpful in situations where you need to run a program that was developed in a mode opposite of the machine default mode. Note: Dialog entry fields (Tool Setup, Fixture Offset, etc.) and system AFL variables (ZSHIFT, WASTEBOARD, etc.) must still always be entered in the machine default mode. English Units (G70) Sets distance units to inches (in) and feed rate units to inches/minute (in/min). This code is part of the units modal group. Example: G70 Metric Units (G71) Sets distance units to millimeters (mm) and feed rate units to millimeters/minute (mm/min). This code is part of the units modal group. Example: G71 Coordinate System The machine is configured to adhere to a right hand rule Cartesian coordinate system. is located at Machine Home. The origin of the coordinate system A Program Offset can be used to redefine the origin relative to Machine Home. The new origin is referred to as Program Zero. A Program Offset is the sum of fixture offsets (G51, G52 and G53), tool offsets (G54) and register presets (G92). 88 SuperControl Programming SuperControl User Manual

97 Coordinate System Rotation (G68) can be used to virtually rotate the coordinate system. Dimension Mode Program coordinate values can be dimensioned in world (G79), absolute (G90) or incremental (G91) coordinates. The dimension mode G codes are modal and the current mode is always shown in the Active Codes display. A part program can use a mixture of the dimension mode codes and can switch between them at any time. Certain commands, such as calling a macro or calling a subprogram may switch coordinate modes. The mode that was active prior to entering a macro, subroutine or subprogram will be returned after exiting this routine, even if the mode was changed in the routine. World Coordinates (G79) Essentially an extension of Absolute Programming (G90), except G79 always references Machine Home regardless of any active G92, G51, G54, G52L# or G53L#. Example: G79 G01 X0 G500 (This would move the X-axis to Machine Home) Absolute (G90) / Incremental (G91) Absolute Programming Program coordinates refer to the absolute position of the end point of the motion, relative to Program Zero. Incremental Programming Program coordinates refer to the distance the axis moves from the end of the last move. The QCore SuperControl defaults to Incremental mode if not instructed otherwise. To change to Absolute mode, it is necessary to enter an Absolute mode command (G90) into the program. To return back to Incremental mode, it is necessary to enter an Incremental mode command (G91) into the program. Example: The following is a simple program written in both incremental and absolute. The result of both programs will be the same. Incremental Mode Absolute Mode G91 G0 X25 Y 25 G90 G0 X25 Y 25 G1 X10 G1 X35 G1 Y10 G1 Y35 G1 X-10 G1 X25 G1 Y-10 G1 Y25 Program Offsets A Program Offset is the sum of fixture offsets (G51, G52 and G53), tool offsets (G54) and register presets (G92). A Fixture Offset is used to redefine Program Zero relative to Machine Home. A Tool Offset is used to incrementally adjust the current fixture offset. A Register Preset redefines Program Zero relative the machine's current location. Fixture offsets are generally used to shift a program to the position where a part/fixture has been located. Values for fixture offsets are stored in the system's fixture offset table. Up to 999 separate fixture locations may be predefined and stored in the SuperControl User Manual SuperControl Programming 89

98 fixture offset table and called in any given program. Also, more than one fixture offset may be used in a single part program and the same fixture offset may be recalled, as needed. Note: When executing a fixture offset, Axis Transfer (G26YV or G26XU) cannot be active. The correct procedure would be to call a Fixture Offset first and then activate the redirect with a G26. If it is necessary to call another Fixture Offset while redirect is still active and then Axis Transfer should be cancelled with a G27 and then call the new fixture offset and then reactivate with a G26. Fixture Offset (G51) Redefines Program Zero relative to Machine Home by the values stated, will not perform any machine motion. Cancels any previous G51 or any active G92, G54, G52 or G53. Example: G51 X10 Y20 Fixture Offset Table (G52) Requires an "L" and a fixture offset number immediately after the G52. Redefines Program Zero but does NOT perform any machine motion. When an Absolute move is executed, the machine will move to that Absolute location in relation to the new Program Zero and not true Machine Home. G52 cancels any previous G52 or any active G92, G51, G54 or G53 codes. Also, a G52L0 will cancel a G52, G92, G51, G54 or G53, and reset Program Zero back to the original Machine Home coordinates. See Fixture Offset Table on page 24 for additional information. Example: G52L5 (This would reference Fixture Table #5 values) Fixture Offset Table with interpolated motion (G53) Works like G52 but will perform an interpolated motion to the values stored in the fixture table using the last active feed rate. A G53L0 will perform an interpolated move back to Machine Home using the last active (or rapid traverse) feed rate. G52 is the preferred method of using fixture offsets. Tool Offset (G54) Incrementally adjusts the current G92, G51, G52 or G53 by the values stated, will not perform any machine motion. The G54 values are defined by determining the distance and axis direction needed to get from the main tool to the secondary tool. A G54 (with an axis value of 0) will cancel the Tool Offset, but will not cancel an active G92, G51, G52 or G53. Example: G54 X2 Y12 Note: The G54 code is used automatically within tooling macros and Tool Management for performing head and tooling offsets. If a program is utilizing Tooling Macros or Tool Management, the G54 code should not be used within the normal part program code structure. Using this code within the part program will conflict or cancel the offsets applied by the macros or Tool Management thus causing them to run incorrectly. 90 SuperControl Programming SuperControl User Manual

99 Preset Registers (G92) This is used to make the Program Zero different from the Machine Home point. The ability to shift the Program Zero point is especially advantageous in absolute programs. It allows the program to reference the Program Zero instead of Machine Home. A Home Sequence command will override the Register Preset command. The following is an example of the code, for the identical part used above: G91 G0 X25 Y 25 G92 X0 Y0 (NEW COORDINATES FOR CURRENT LOCATION) G1 X10 G1 Y10 G1 X-10 G1 Y-10 Tool Center Point (TCP) Tool Center Point control always programs the position of the tool tip. Moving rotary axes only changes tool orientation, not the location of the tool tip. When a rotary axis is commanded to move, additional compensation movements in X, Y and Z may be performed to keep the tool tip stationary. The system uses Pivot Distance plus the active tool's length to make compensation movements. These values must be setup properly for Tool Center Point to work. Note: Length Compensation is not possible during Tool Center Point control. G Tool Center Point OFF Turns Tool Center Point control OFF but does not cause any machine motion. G Tool Center Point ON Turns Tool Center Point control ON but does not cause any machine motion. Part Position will be displayed at the tool tip. Example: G48.1 (TCP ON) G01C90 G48.0 (TCP OFF) SuperControl User Manual SuperControl Programming 91

100 Coordinate System Rotation An advanced feature of the QCore SuperControl is Coordinate System Rotation. It can be used to virtually rotate the machine coordinate system. Due to its complex nature, it is recommended to explore all other options before attempting to use. Coordinate System Rotation also works with Fixture Placement Compensation to adjust the actual fixture location from a nominal location. Fixture Placement Compensation (G67) Requires an "L" followed by a fixture ID. See Fixture Placement Compensation for additional information. A fixture ID of zero will cancel any active Fixture Placement Compensation. Examples: G67L1 (FIXTURE ID 1) G67L0 (CANCEL) Coordinate System Rotation ON (G68) Requires an "R" followed by an angle in degrees. It will rotates the current part coordinate system by the specified angle. Positive values are will rotate counter-clockwise, negative values will rotate clockwise. It can also rotate about a point specified by an incremental distance from the current origin. The rotation will happen in the current plane (XY, XZ or YZ). Examples: G68R45 G68 X-1 Y3 R45 Coordinate System Rotation OFF (G69) Cancels any active Fixture Placement Compensation (G67) or Coordinate System Rotation (G68). Example: G69 Coordinate System Example The following example is intended to help explain how the coordinate system works with the program offset G codes. 1) Primary Router At the start of the program, the Primary Router is at Absolute Position (0, 0). The part is at Absolute Position (15, 20). The Piggyback Router is at Absolute Position (-9, -4) and the Drill is at Absolute Position (6, -5). 92 SuperControl Programming SuperControl User Manual

101 Here is what the registers report: Program Position Program Offset Absolute Position X Y Then we execute one of the following offset commands: G51 X15 Y20 G92 X-15 Y-20 G52L5 (fixture table values for #5 set to X:15 and Y:20) Without having moved the machine yet, here is what the registers report: Program Position Program Offset Absolute Position X Y Now we execute the following command: G90 G0 X0 Y0 The Primary Router moves to Program Position(0, 0), which is Absolute Position (15, 20). SuperControl User Manual SuperControl Programming 93

102 Here is what the registers report: Program Position Program Offset Absolute Position X Y ) Switch to Piggyback Router This example will use the piggyback router, but while wanting all of the G90 commands to reference the Part Coordinate System. Currently it is in Quadrant 3 of the Part Coordinates System (-9, -4). It should also be noted that the Piggyback Router is also sitting in Quadrant 1 of the Machine Coordinate System (6, 16). If we execute G90 G0 X0 Y0 at this time in an attempt to move the Piggyback Router, the machine would not move, because we have not changed our Tool Coordinate System. To accomplish this, execute: G54 X-9 Y-4 This command will temporarily augment the Part Coordinate System with the Tool Coordinate System. Having only executed the G54 command, here is what the registers now report: Program Position Program Offset Absolute Position X Y The Machine Position has not changed. The Fixture Offset has not changed because a G92, G51, G52 or G53 has not been executed. The Part Position has changed to use the Piggyback Router that is in now Quadrant 3 of the Part Coordinate System. Execute the following command: G90 G0 X0 Y0 94 SuperControl Programming SuperControl User Manual

103 The Piggyback Router moves to Part Coordinates (0, 0), which is the primary router's Machine Coordinates (24, 24). See the illustration. With the Piggyback Router now sitting at Part Coordinates (0, 0) the registers should read: Program Position Program Offset Absolute Position X Y The Fixture Offset has not changed because a G92, G51, G52 or G53 has not been executed. The Machine Position has changed because it moved to Machine Coordinates (24, 24). The Part Position has changed because an absolute motion that references the G54 command was executed. 3) Switch to Drill At this time, it is still desired use the Drill, but also still want all of the G90 commands to reference the Part Coordinate System. It is in Quadrant 4 of the Part Coordinates System (15, -1) as seen in the previous illustration shown above. It should also be noted that the Drill is also sitting in Quadrant 1 of the Machine Coordinate System (30, 19). If we were to execute a G90 G0 X0 Y0 at this time in an attempt to move the Drill, the machine would not move because we have not changed our Tool Coordinate System yet. To accomplish this, execute: G54 X6 Y-5 This command will temporarily augment the Part Coordinate System with the Tool Coordinate System. Having only executed the G54 command, here is what the registers indicate: Program Position Program Offset Absolute Position X Y The Machine Position has not changed because we have not moved. The Fixture Offset has not changed because we did not execute a G92, G51, G52 or G53. The Part Position has changed to use the Drill that is in Quadrant 4 of the Part Coordinate System. Now execute the following command: G90 G0 X0 Y0 SuperControl User Manual SuperControl Programming 95

104 The Drill moves to Part Coordinates (0, 0), which is the primary router's Machine Coordinates (9, 25) as shown in the illustration. With the Drill now at Part Coordinates (0, 0) the registers should now read: Program Position Program Offset Absolute Position X Y The Fixture Offset has not changed because a G92, G51, G52 or G53 has not been executed. The Machine Position has changed because it has moved to Machine Coordinates (9, 25), which is where the Primary Router is (in reference to the Machine Coordinate System). The Part Position has changed because an absolute motion that references the G54 command was executed. 4) Switch Back to Primary Router Now to switch back to the Primary Router, but again, with all G90 commands referencing the Part Coordinate System. Currently it is in Quadrant 2 of the Part Coordinates System (-6, 5) as seen the previous illustration above. It should also be noted that the primary router is also in Quadrant 1 of the Machine Coordinate System (9, 25). If we were to execute G90 G0 X0 Y0 in an attempt to move the primary router, the machine would not move because the Tool Coordinate System has not been changed. To accomplish this, execute one of the following: G54 X0 Y0 G51 X15 Y20 G92 X-6 Y5 G52L# (fixture table values for # set to X:15, Y:20) The G54 command removes any Tool Coordinate System offset that existed. The G51, G92 or G52L# would cancel any active G54 codes and resets the Part Coordinate System. After one of the commands is executed, the registers report: Program Position Program Offset Absolute Position X Y SuperControl Programming SuperControl User Manual

105 The Machine Position has not changed. The Fixture Offset has not changed because the currently active G51, G92 or G52L# have not changed. The Part Position has changed to reflect our desire to use the Primary Router that is in Quadrant 2 of the Part Coordinate System. Now we execute the following command: G90 G0 X0 Y0 The primary router moves to Part Coordinates (0, 0), which is Machine Coordinates (15, 20). See the illustration. With the Primary Router now at Part Coordinates (0, 0) the registers should now read: Program Position Program Offset Absolute Position X Y The Fixture Offset has not changed because a G92, G51, G52 or G53 has not been executed. The Machine Position has changed because it has been moved to Machine Coordinates (15, 20), which is where the primary router is (in reference to the Machine Coordinate System). The Part Position has changed because an absolute motion that references the G54, G51, G92 or G52L# command was executed earlier. Note: Typical part programs using Tool Management do not call G54 directly. It will be called automatically within a tool change macro. Axis Motion Motions commands used in a part program can be rapid traverse (G00), linear interpolation (G01), arc interpolation (G02 or G03), 3D arc interpolation (G72 or G73) and ellipse interpolation (G12 or G13). The motion G codes are modal and the current mode is always shown in the Active Codes display. Rapid Traverse (G00) Rapid Traverse motions occur at each axis' maximum velocity and acceleration and are interpolated. By default, feed rate override does NOT control G00 motions. This behavior can be optionally controlled with M48 and M49: SuperControl User Manual SuperControl Programming 97

106 M48 - Rapid Traverse Feed Rate Override Control ON Allows control over G00 motions with the Feed Rate Override knob. The M48 causes rapid traverse lines to move at normal G01 acceleration rates but always at top machine speed. Canceled by a M49 or a Home Sequence. M49 - Rapid Traverse Feed Rate Override Control OFF Cancels M48. Example: M48 G00 X100 Y50 M49 Linear Interpolation (G01) Linear interpolation motions occur are executed according to the current feed speed mode (G93, G94, G95 or G96). A nonzero programmed feed rate is required. G01 motions are always controllable by the feed rate override. Example: G01 X100 Y50 F1000 Arc/Helix Interpolation (G02/G03) Arc interpolation motions combine movements of two axes into a piece of a circle known as an arc. A non-zero programmed feed rate is required. G02/G03 motions are always controllable by the feed rate override. G02 executes clockwise and G03 executes counter-clockwise. The arc will be executed in one of the major planes (XY, XZ or YZ) depending on what is designated within the block. G02/G03 should be followed by axis distances to end point and then by incremental IJK values indicating distance to center point. Two-dimensional arcs should only specify the two axes required. For three-dimensional arcs, it is best to use point-to-point output. This point-to-point format will allow all 5 axes to move within a single block. A Helix is a circular move, with a third axis moving simultaneously, to produce the motion path shown in the example. This third axis must NOT be one of the axes used to describe the circle's plane. This motion is particularly useful when entering material from the top to cut a circular hole or grove. This allows the tool head to remain in motion while making the transition into and out of the material, thus avoiding material burns and excessive bit wear. The Helix can also be used to allow rotation about a tip on a rotary axis machine. The third axis motion will be superimposed equally for every degree of circular motion. Examples: G02 X5 Y0 I2.5 J0 F100 (180 DEGREE CLOCKWISE) G02 X5 Y0 Z-1 I2.5 J0 F100 (180 DEGREE CLOCWISE HELIX) G03 X0 Y0 I5 F100 (360 DEGREE COUNTER-CLOCKWISE) 3D Arc Interpolation (G72/G73) 3D Arc interpolation motions combine movements of three axes into a piece of a circle known as an arc. A non-zero programmed feed rate is required. G72/G73 motions are always controllable by the feed rate override. G72 executes clockwise and G73 executes counter-clockwise. The arc can be executed in any arbitrary plane in space. G02/G03 should be followed by axis distances to end point and then by incremental IJK values indicating distance to center point. 98 SuperControl Programming SuperControl User Manual

107 Rotary axes can also be commanded with a 3D Arc. Any rotary motion will be blended over the arc motion. Examples: G72 G73 Ellipse Interpolation (G12/G13) An Ellipse is a curve on a plane, forming a regular, oblong figure. A quadrant is one of four parts into which the area inside the ellipse is divided by two perpendicular lines, numbered counterclockwise from upper right, as shown below. An ellipse can only be programmed in full quadrant (90 ) motions. G12 executes clockwise and G13 executes counterclockwise. The starting point of the ellipse must be at one of the apexes (a, b, c or d). Two distances should be defined next. The distance from the current tool position to the center of the ellipse, and the distance from the center of the ellipse to the perimeter of the ellipse, on the second axis. For example, if the tool is currently at point a, the first distance would be the distance from a to the center of the ellipse. The second distance is the distance from the center of the ellipse to either point b or point d (the distance is the same for an ellipse). Example: G12 X1 Y1 F100 Note: Radius Compensation cannot be used with the Ellipse command. Normalize (G45) Returns selected axes back to Machine Home position. This command has an advantage over the Home Sequence command, as it will not affect any program register shift produced by G92 command. It may do more than one axis at a time. Examples: G45Z G45XY Spline (G05/G06) A spline is a curved path in space that passes through a series of points. Spline curves originated in shipbuilding, where the curved sections of a ship hull were defined by driving nails into a board and then wrapping a thin strip of wood, called a spline, over the nails to generate a smooth curve. SuperControl User Manual SuperControl Programming 99

108 Eventually, mathematical formulas were developed to define these smooth curves. Today, CAD/CAM systems use spline calculations to develop smooth curves in space. These curves are then turned into a large number of very short line segments that can run on a CNC control. This approach, however, uses a lot of memory, may run slowly on some controls and requires a CAD/CAM system. However, the QCore SuperControl has the ability to generate a spline motion through a set of linear points. Spline motion works by setting Spline Markers. The Begin Spline Marker (G05) turns on the spline calculations. The End Spline Marker (G06) turns off the spline calculations. The only commands allowed between the Spline Markers are linear motion commands (G01). The greater the angle change between the individual line segments, the shorter the straight line segments need to be for proper operation. It is best to end the spline motion if a sharp angle or a change of direction is required. It is important that feed speeds of 200 IPM. or less, are used when cutting splines. To program spline motion, make certain that all desired commands to spline are G01. (Again, remember that no other commands are allowed between the spline markers.) Note: It is a good idea to always plot or mark the points on the part where splines are going to be used before beginning. During spline program execution, the QCore SuperControl will perform high speed spline calculations when a G05 is encountered and will continue until the G06 is encountered, therefore limiting the feed rate to a maximum of 200 IPM. If the feed rate is faster than the ability of the QCore SuperControl to process the calculations, the machine can shake erratically. When this occurs, it puts excessive stress on the drive systems of the machine and the feed rate through that particular spline path must be lowered. When creating a spline, as a general rule of thumb, it is best to select the least amount of points (line segments) as possible to achieve the path desired. Picking too many points may result in wavy or erratic spline motions, but alternatively, not picking enough points may produce flats in the spline path. The practice of choosing a logical number and location for points intended to be splined may require a small amount of trial and error before becoming fluent, however, if the following guidelines are followed, a satisfactory result can be achieved. Look for major changes in the part's geometry. Try to imagine fitting arc segments through these changes. If a section would make up 90 degrees of an arc, it is usually necessary to select 5 points (4 line segments) in that area, one at each end and three in the middle, for the spline to follow the shape. 100 SuperControl Programming SuperControl User Manual

109 The lesser the amount of degrees a section makes up, the lesser amount of points will be required. Each section will usually require a minimum of 3 points (2 line segments). When the QCore SuperControl processes splines, it attempts to blend smoothly through all of the line segments that are contained between the spline ON and spline OFF markers. If a part contains long spline areas or dramatic changes within a spline area, it may be necessary to separate or split up some of the sections by issuing a Spline Off command (G06) followed directly by the Spline On command (G05) to achieve the desired path. Since splines are calculated from line segments that are not tangent, a Tangency Factor is needed to help the program run smoothly through the previously chosen lines. A Tangency Factor of 1 (one) is the factory setting and the QCore SuperControl will default to this value upon power up. The QCore SuperControl always runs in this mode, unless it is forced to change by putting a G09F# (with a number other than 1). Values of 8 to 15 are normally as high as any program will ever need to go. The total range of Tangency Factors is from 1 to 40. Note: If the Tangency Factor number is set too high, the program could run worse rather than better and may cause excessive stress on the machine drives. Below is a sample spline program: Do not BLOCK STEP+ or BLOCK STEP- over a spline command (G05 or G06). Also, HHP or any conversational programming should not be done while splines are active. When creating a 5-axis spline, there are a few more items that have to be addressed. If the 5-axis machine being used has a single ended router, the fifth axis ("A" or "B") Home position is normally 135 degrees from straight down (Perpendicular to the machine table). Splines are calculated from the straight down position and if Tool Management is being utilized correctly, this fifth axis is reset automatically and no extra program code is needed to perform the reset. If Tool Management is not being used, then this fifth axis position must be reset with a G92 (set to -135 degrees) at the beginning of the program. Example: (G92 B-135 or G92 A-135) Another method, when Tool Management is not used, is to add an axis 5 move to the straight down position (Perpendicular to the machine table) and then G92 the fifth axis to zero. Example: (G92 B0 or G92 A0) Note: Single-ended routers and secondary ends of dual ended routers must have the zero position for axis five redefined to the straight down position for the spline feature to function correctly. SuperControl User Manual SuperControl Programming 101

110 Whenever the spline command is called in a 5-axis program, the machine must know the total pivot distance (the center of rotation of axis 5 to the tip of the tool) so it can pivot the head correctly while calculating the spline. The pivot distance from the center of the router, to the end of the collet is already hard coded in the MSU file (Machine Set Up) in the QCore SuperControl. The QCore SuperControl must be told the remaining distance by an active tool number, with a length equal to the length of the tool that the points for the spline are programmed with. For example, if the tool being used were extended out of the collet 2.5", then this would be the value needed for the tool number designated for the spline. To define the tool number length for the spline, the tool table needs to be edited, with the appropriate value added in the length column. The tool number used for spline calculations must be defined in the program before the first spline marker is encountered and needs to appear only once. This is because when a tool is made active, it stays active until a different tool is called for, or until the machine is sent to Home. When using 5-axis splines, a tool number must be active with the length defined to the value that the tool extends from the collet for the QCore SuperControl to calculate the path correctly. Feed Rate Mode Feed Rate is specified with the "F" code. Feed Rates can be specified in Inverse Time (G93), Per Minute (G94), Constant Tip (G95) or Constant Surface (G96). The feed rate mode G codes are modal and the current mode is always shown in the Active Codes display. Inverse Time Feed Rate (G93) Inverse Time Feed Rate is typically only used in older programs before newer methods of feedrate control were available. The Feed Rate specified is in blocks/minute. Example: 102 SuperControl Programming SuperControl User Manual

111 G93 Feed Rate Per Minute (G94) Feed Rate Per Minute is the default mode. Example: G94 Constant Tip Feed Rate (G95) Constant Tip Feed Rate attempts to maintain a constant feed rate at the tool tip. Example: G95 Constant Surface Feed Rate (G96) Constant Surface Feed Rate is intended for applications where the part is rotating underneath the tool. For example, with the Rotary Playback Unit. Example: G96 Axis Tie Axis Tie causes any motion commands on the "master" axis to also be executed on one or more "slave" axes. Axis Tie is commonly used on machines that have two or more vertical (Z) axes. It can be used to machine more than one part at a time, by tying a second Z-axis (usually W) to duplicate the motions of the first Z-axis. Axis Tie ON (G61) Duplicates commands for a "master" axis to one or more "slave" axis. Master axis designator must be listed first followed by any slave axes. Slave axes will give an error if given an independent command while tied to a master axis. Note: All axes included in an Axis Tie command must the same scale. Example: G61ZW (TIES W TO Z) Axis Tie OFF (G60) Cancels any active axis tie. See Axis Tie for additional information. Note: When using a G61 to tie the heads and the tables together on a machine with dual tables and dual heads and a G60 is encountered (to untie the heads), you must re-issue a G61 to reactivate the Table-Tie, if the Table-Tie is still required. Example: G60 SuperControl User Manual SuperControl Programming 103

112 Axis Transfer Axis Transfer is used to transfer all motions intended for one axis to a second designated axis. The most common usage for Axis Transfer is in using Radius Compensation on a second table or head. Since Radius Compensation can only operate on commands for the X, Y or Z-axes, it is necessary to "slave" the second table or head to its "master". For example, if a particular machine has two tables that run parallel with each other, the Y-axis is usually defined as the right table and the left table is usually defined as the V-axis. If Radius Compensation is to be performed in the XY plane, the left table (Axis V) would need Y-axis commands. This is why axis transfer exists. After slaving the V-axis to the Y-axis commands, any motions in the part program that specify moving the Y-axis will actually move the V-axis. In this manner, Radius Compensation can work in the slaved XY plane. Axis Transfer ON (G26) Transfers all commands from the designated "master" axis to a "slave" axis. While Axis Transfer is active, the master axis is temporarily disabled. Commands sent to the master axis will be performed on the slave axis and commands for the slave axis will result in an error. This command is commonly used with dual table machines to switch the Y commands between the first table (Y-axis) and the second table (V-axis). Axis Transfer must be implemented before calling any tool associated with an actuator. Fixture offsets must be executed first before activating Axis Transfer. Note: When using a G26 to redirect the heads and to redirect dual tables, (on a machine with dual tables and dual heads) and a G27 is encountered (to cancel the redirection of the heads), you must re-issue a G26 to reactive the table redirect, if the table redirect is still required. Example: G26YV (Transfer Y to V) Axis Transfer OFF (G27) Cancels any active axis transfer commands. Both axes involved in the transfer must be at the same absolute position before issuing this command. This should be the same absolute position that existed when the G26 command was issued. Example: G27 Axis Mirror Axis mirroring causes axes to execute a mirror image (reversed direction) of any programmed motions. If either the X or Y axis is mirrored, a counterclockwise motion changes to clockwise motion and an exterior tool offset changes to an interior offset. This feature works best with incremental programs. If Tooling Compensation is being used within the mirrored commands, the tool path will be on the opposite side of the tool path. It is for this reason, that axis mirroring is generally not recommended. 104 SuperControl Programming SuperControl User Manual

113 If both X and Y-axes are mirrored, the motion remains in the same direction, and the tool offset remains the same, but the position of the part would be in a different quadrant of the workspace. When the C-axis is mirrored, the rotational direction is reversed around the Z-axis. Axis Mirror OFF (G10) Cancels any active axis mirror command. Be sure to return the mirrored axis to the position it was at when the mirror command was first issued. Example: G10 Axis Mirror ON (G11) Reverses the direction of motion of the listed axes. Requires one or more axis designators (X, Y, Z, etc.). Note: The HHP and Conversational Programming should not be done while an Axis Mirror command is active. Example: G11XY Axis Oscillation Certain materials, such as high-pressure laminates and certain types of plywood with abrasive adhesive between layers, will quickly dull tooling at the point where the tool contacts this material. This feature moves this abrasive contact point over a larger area of the tool, increasing tool life. Axis Oscillation OFF (G64) Cancels any active axis oscillation. The axis will finish the current oscillation cycle. Example: G64 SuperControl User Manual SuperControl Programming 105

114 Axis Oscillation ON (G65) Allows an axis to be commanded to constantly move back and forth from a set location with a preset amplitude and number of cycles per minute, to extend cutter life. Linear axes are limited to a maximum amplitude of 0.05" and rotary axes are limited to 90 degrees. Note: When an axis is oscillating, it cannot be commanded to move within the part program. If it is commanded, an error message will be displayed. Example: G65 Z.02 F125.0 (Axis Oscillation ON for axis Z) Rotary Axis Unwind (G25) Also known as rotary simplify, rotary axis unwind will virtually "unwind" the program position back within 0 to 360 degrees without causing any motion. For example, if a rotary axis was at 1000 degrees absolute position, after software unwinding it would be at 280 degrees. Positive positions unwind to within 0 to 360 degrees, negative positions unwind to within 0 to -360 degrees. This is useful for situations where a continuous rotary axis is run up several thousand degrees and is then commanded to return to absolute zero. It could normally take several seconds (or even minutes) but after a software unwind, the rotary axis has to move 360 degrees at most. Requires an axis name. The rotary axis must be continuous (no limits). Example: G25C Skip Input (G31) A Skip Input command will stop a motion when an input condition is satisfied. It is used in place of a G01 motion but is only active for a single block. Axis positions are recorded when the input is triggered and can be read using AFL functions SKIPPOS on page 278 or SKIPRELL on page 278. SKIPFOUND on page 277 can be used to test whether or not the last G31 command was triggered. The input number is defined on the System page of the Settings/Preferences on page 26 dialog. A positive input number indicates an "Active High" condition or that the input is considered to be satisfied when it is on. A negative input number indicates an "Active Low" condition or that the input is considered to be satisfied when it is off. A double trigger option can be used with G31 where the control will stop after the initial trigger, reverse direction until the trigger condition is removed and then move again at a slower feed rate until the input is triggered again. Example: G31 X10 F100 G31.1 X10 F100 (DOUBLE TRIGGER METHOD) Program Flow Program Flow is the order in which a program is executed. The QCore SuperControl offers sophisticated Program Flow capabilities that can simplify programming and increase flexibility. Label Labels are used to mark a position in a program that can be referenced by a go to label command. Labels are also typically used to mark a routine within a program that can be repeated (referred to as a sub-routine). 106 SuperControl Programming SuperControl User Manual

115 Declare Label (M80) Marks a position in a program that can be referenced by a Go To Label (M81) or Call Label (M82) command. Requires an "L" and a label number in the range 1 to AFL variables cannot be used as a label number. Example: M80L10 Go To Label (M81) Jumps program execution to the position marked by a label number. Requires an "L" and a label number in the range 1 to It does not recognize and will skip over a Label Return (M83) command. It can be used to create a continual program loop or to jump over subroutines and continue with program execution. Also see AFL GOTO command. Example: M81L10 Call Label (M82) Jumps program execution to the position marked by a label number. Requires an "L" and a label number in the range 1 to It will return to the line immediately following the Call Label command when a Label Return (M83) is executed. This is also referred to as a subroutine. Subroutine calls may be nested 16 layers deep. If a Declare Label (M80) command is encountered in the program without being called and no other Call Label command is in effect, the Label Return (M83) command will be skipped over. Example: M82L10 Label Return (M83) Marks the end of a subroutine and will return program execution to the line following the Call Label (M82) command previously executed. Does not require a label number. Example: M83 Subprogram A Subprogram is a part program that is "called" or run from a main part program. It may include any commands found in a typical part program, the only difference being a subprogram must end with a Subprogram Return (M99) command. All subprograms should be installed in the D:\Data\Subs directory. A Subprogram call (M98) will default to this directory to find the subprogram file. This typically helps simplify the use of subprograms when the same subprogram is called in separate programs that may exist in different directories. However, for advanced programming, it may be desired to call a subprogram from specific user created directories that may correspond to individual products made, or a subprogram that may pertain to parts made for specific companies. In any event, the AFL command SETSUBPROGPATH$ can be used to change the default subprogram directory. A subprogram file name uses any legal DOS file name (8 characters or less, with an extension of 3 or fewer characters). The 3-character file extension is optional when defining a Subprogram name, however Thermwood recommends that a.sub extension be used on all Subprograms. This practice will simplify identification of subprograms in the directory of files. SuperControl User Manual SuperControl Programming 107

116 All modal states are retained when entering a subprogram. When program flow returns back to calling program, modal state will be restored to what it was before the subprogram wall called. Subprogram Call (M98) A Subprogram Call command is followed immediately by a "P" and then the DOS file name of the subprogram to be executed. Next there should be an "L" followed by the number of times the subprogram will loop. The number of loops can be between 1 and 99. There are no limits to the number of subprograms used by the QCore SuperControl. A program may call a Subprogram at any time and any number of times. A subprogram may call another subprogram, to a maximum of 16 levels deep. Each subprogram should start with a header code such as G90 or G91. Comment lines must not exist on the same line as a Subprogram Call. If a comment is needed, insert the comment in the block immediately preceding or following the Subprogram Call block. Also, spaces must not be used in a Subprogram Call and all characters must be capital. Do not call a subprogram while Radius Compensation is active. If Radius Compensation is needed inside a subprogram, turn on Radius Compensation from inside the subprogram, and turn it off prior to exiting. Example: M98PTEST.SUBL1 Subprogram Return (M99) A subprogram must contain a Subprogram Return command at the end of the file. An error message will be displayed if a subprogram runs to the end but does not contain a Subprogram Return. Modal states will be restored to that of the calling program. M99 is also used at the end of macros and canned cycles. Example: M99 Program Stop (M00) A Program Stop command stops program execution. An operator must press the green CYCLE START button to restart program execution. When the program is restarted, program execution resumes from line immediately after the Program Stop. When a long pause is required, a Program Stop is recommend rather than a pause since the program resumes after a long pause automatically, possibly without the operator realizing that the program is still running. Example: M00 Program End (M02) Any program which will run on the QCore SuperControl and which is not a Subprogram requires the Program End command. When a new program is created from the Main Menu system, an M02 is automatically created. Note: An M30 will also perform the same function as an M02. Example: M SuperControl Programming SuperControl User Manual

117 Pause (G04) A Pause (sometimes called "dwell") in program execution will wait for the designated time to expire before continuing. Requires an "F" followed by a decimal time value. The time units can be in seconds and/or tenths of a second. Pause is not recommended for pauses longer than a few seconds. Longer pauses should have some type of safe motion command following the pause. This practice gives the operator a warning that the machine is about to restart operations automatically. For pauses longer than a few seconds, use of the Program Stop (M00) command is preferred. Example: G04F0.5 (HALF SECOND PAUSE) WARNING! Long pauses can be dangerous. It may appear to the operator that the machine is stopped while executing a pause. The machine may then start unexpectedly without allowing the operator time to get clear! Canned Cycle Canned Cycles are custom routines similar to macros but will be automatically run at the end of each line of code. They can be useful for repetitive operations where entering a macro or subprogram call into the part program is not desirable. Canned cycles must be located in C:\macros\ folder and must be named CYCLE#.CAN where # is replaced with 1 through 9. Canned Cycle End (G80) Cancels any active Canned Cycle. Note: Comments should never be placed on the same line as a G80. Canned Cycles (G81-G89) Turns on a Canned Cycle to be executed after each line of code. The first digit of the G code indicates which Canned Cycle to run, G82 would run CYCLE2.CAN for example. Each time the canned cycle runs, it will force G91 (incremental) and G01 (linear) active within the cycle. These can be changed to other modes within the cycle. Note: Comments should never be placed on the same line as a G81-G89. Canned cycles cannot be nested (called within another). Example: (Runs CYCLE2.CAN a total of three times) G90 X0Y0 G82 G01X1F100 G01X2F100 G80 Macros Macros are special purpose routines, which can be called using M and G code. They are designed to perform certain repetitive tasks that cannot be easily performed using standard EIA NC Code alone. Macros typically make heavy use of SuperControl User Manual SuperControl Programming 109

118 AFL. With each machine, Thermwood provides a series of macros as a standard feature. In addition, other more specialized macros are offered as options. IMPORTANT! - Do not attempt to edit, modify or change any Thermwood supplied macros. Any change to the macros will result in them being erased and replaced with original versions. Input/Output (I/O) An Input/Output (I/O) log should be maintained with the machine. The log should state the number for the Input/Output and a description of the outside event(s) or external device. Inputs are used to coordinate program execution with outside events. Examples of an outside event are a limit switch trip, an air pressure switch trip or a drill on/off switch trip. Input commands can be used to check if a clamp is open or closed, before allowing the spindle head to pass, or, it can check if an air drill has finished its drilling operation, before indexing to the next event. All input conditions must be met before the Thermwood QCore SuperControl will advance to the next program line. There are up to 72 input circuits available on the Qcore SuperControl. Certain inputs are reserved for panel switches and other machine functions and should not be used within operator created part programs. Outputs turn "ON" and "OFF" external devices. Outputs are typically used with air drills, clamps, vacuum/air valves and possibly spindles. Outputs operate by controlling a signal at TTL levels, which in turn, control a series of solid-state relays. Note: The small solid-state relays switch 110 VAC with enough amperage to drive solenoids or motor starters, but not enough power to drive motors directly. During normal maintenance, you can turn ON and OFF the external devices to confirm their proper operation, or for the identification of a problem. When an output is turned ON, a LED on the I/O board corresponding to the output will light, indicating that the software has turned ON the output, and that the TTL signal has turned ON. There are up to 48 output circuits available on the Qcore SuperControl. Certain outputs are reserved for machine internal operation and should not be used within operator created part programs. Note: Outputs should not be wired into the input circuits, since inputs are looking for the closing of dry contacts and will not draw enough current to trip most solid-state relays. Input (M60) An Input command stops program execution until the proper external switch or event meets conditions set forth in the command. Up to four input conditions can be programmed in a single block. When there is more than one input condition, they will be checked from left to right. Each input condition requires an "L" followed by the input number. AFL can be used for the input number. To check for an input "ON" or "CLOSED" condition, the input number must be positive. To check for an input "OFF" or "OPEN" condition, the input number must be negative. M60 can also be used as the conditional in an IF statement. See Input/Output (I/O) on page 110 for additional information. Example: M60L56 (INPUT ON) M60L-56 (INPUT OFF) M60L2M60L-3M60L4 (MULTIPLE INPUT COMMANDS) IF M60L56 THEN M81L1 (GOTO LABEL 1 IF INPUT ON) 110 SuperControl Programming SuperControl User Manual

119 Output (M61/M62) An output command turns "ON" (M61) or "OFF" (M62) one of the QCore SuperControl's output circuits. Up to four output conditions can be programmed in a single block. When there is more than one output condition, they will be executed from left to right. Each output condition requires an "L" followed by the output number. AFL can be used for the output number (requires THM 9.1.2). Outputs turned "ON" will remain "ON" until they are turned "OFF" or a Home Sequence is performed. M61/M62 can also be used as the conditional in an IF statement. See Input/Output (I/O) on page 110 for additional information. Example: M61L5 (OUTPUT ON) M62L5 (OUTPUT OFF) M62L4M61L9M62L22M61L12 (MULTIPLE ON/OFF COMMANDS) IF M61L5 THEN M81L1 (GOTO LABEL 1 IF OUTPUT ON) Tooling Compensation Tooling Compensation will adjust programs to compensate for the difference between the radius and length of tooling currently being used and the radius and length of the original tooling used during program development. Tooling Compensation is designed to assure that part sizes remain constant even if the radius and length of the tooling changes, such as when tools are sharpened. Radius Compensation adjusts the shift from the centerline of the tool on the plane in question. It can operate in the XY, XZ and YZ planes only and cannot be used on 3 dimensional, 5-axis parts. Length Compensation adjusts along the tool axis. Tool diameter and length parameters are stored in a Tool Table. Tool parameters, found in the Tool Table, can be entered or altered using the Tool Management Menu. To use Radius Compensation in a program, the center of the tool should be programmed to trace the actual trim line. When specifying the diameter of the tool used, the program path shifts away from (or towards) the part by the tool radius. In this way, the diameter parameter used in the Tool Table is the actual diameter of the tool being used; otherwise, the parameter in the Tool Table needs to be the difference between the original tool diameter and the current tool diameter. This can be a difficult number to keep track of, especially if the value for the original tool is lost. A suggested method for recording tool length in the Tool Table is to first establish a standard value for tool length. Length is commonly measured from the bottom of the collet to the tip of the tool. If the tool length differs from the standard, the value entered in the tool table is the difference between the standard and the current tool length. Only when current tool length differs from standard length is Length Compensation needed. Radius Compensation Radius Compensation adjusts the programmed center line tool path either to the left (G41) or right (G42) by the tool radius. In order to determine if compensation is left or right, the programmer should imagine that they are located behind the cutting tool, with the tool moving away from them. If the part is on the right, left compensation should be used and if the part is on the left, right compensation should be used. The following notes and restrictions apply to Radius Compensation: May only be used on a true defined plane (XY), (XZ), or (YZ). Do not perform index motions while active. Turn on just before plunging into an individual contour and turn it off immediately after retracting out. Must be turned off before indexing between contours even if the same compensation is required. SuperControl User Manual SuperControl Programming 111

120 active. No third axis motions (other than plunging into and retracting out of the contour) can be added while Do not call subroutines, macros or subprograms while active. If Radius Compensation is needed inside a subroutine or subprogram, turn on Radius Compensation inside of it; make sure to turn off the Tooling Compensation prior to exiting the Subprogram (M99) or subroutine (M83). Do not BLOCK STEP- backward across G40, G41, G42, G43 or G44 commands. While active, some keyboard keys, like the arrow keys, will be temporarily disabled. Do not modify the part program while active. If a modification is necessary, Search for the G40 command and BLOCK STEP+ over it. This will disable Radius Compensation and re-activate the arrow keys. Splines and ellipses cannot be performed while active. Do not change coordinate modes (G90, G91, etc.) while active. The Mirror commands (G10 / G11) are not recommended while active. The HHP or any Conversational Programming should not be done while active. Radius Compensation OFF (G40) Turns Radius Compensation OFF and will cause a machine motion back to the original programmed path. Example: G40 Radius Compensation ON Left (G41) Turns Radius Compensation ON Left and will cause a machine motion to adjust for the active tool's radius. May also be used within the same block as axis motion commands to blend ON during the axis motion. Example: G41 Radius Compensation ON Right (G42) Turns Radius Compensation ON Right and will cause a machine motion to adjust for the active tool's radius. May also be used within the same block as axis motion commands to blend ON during the axis motion. Example: G42 Plane Selection (G17/G18/G19) Plane Selection determines the plane in which Radius Compensation operates. On machines equipped with a vertical machining head (such as the HSD Router), the XY plane would be used for all radius compensation. For 5-axis machines that have the ability to change head positions to other planes, you must activate the appropriate plane before Radius Compensation is activated. 112 SuperControl Programming SuperControl User Manual

121 G17 - XY plane (default) G18 - XZ plane G19 - YZ plane Example: G17 Length Compensation Length Compensation adjusts for the difference between the length of the tool used during programming and the length of the current tool. It can be the difference between the length of the actual tool and the length of the tool for which the program was originally developed. Note: When using 3-axis tooling macros, or tool calls that are assigned to a 3-axis actuator, the value in the length field of the tool setup dialog is added to the head offsets for horizontal type tooling. Length Compensation is primarily used to adjust 5-axis programs for changes in the cutter length. Programs can either be compensated inward for shorter tools (by putting a negative value in the length column of the tool table), or outward, by putting a positive value in the length comp column of the tool table for the tool number intended to be used with Length Compensation. If the machine being used is a 5-axis single ended router, the fifth axis ("A" or "B") home position is normally 135 degrees from straight down (perpendicular to the machine table). Length Compensation is calculated from the straight down position and if Tool Management is being utilized correctly, this fifth axis is reset automatically and no extra program code is needed to perform the reset. If Tool Management is not being used, then this fifth axis position must be reset with a G92 to -135 degrees at the beginning of the part program. Another method, when Tool Management is not being used, is to add an axis five move to the straight down position (perpendicular to the machine table) and then G92 the fifth axis to zero. Example: G92 B-135 or G92 A-135 The following notes and restrictions apply to Length Compensation: Programs must not contain splines. If splines exist in the program, they should be converted to CAD Path before length compensation can be used. (See CAD Path section for further details). If another tool value for length compensation is needed and canceling Length Compensation is not desirable, a tool number can be inserted on a line by itself (Example: T6). However, this tool must not be assigned to an actuator. If another tool number is encountered in the program, Length Compensation will adjust to the new tool s length value automatically. If the machine is equipped with an automatic tool changer, Length Compensation must be turned off before any tool change is performed. When using the G46 to turn off Length Compensation, the programmer must have at least one line of motion directly after the G46 before performing a G990 (Reset Macro), or any tool change macro. When using {G47 and G46}, it is required to have a motion line on the next block of code. Blank lines or comment lines should not follow these codes. Also, a macro should not be called directly after these codes. SuperControl User Manual SuperControl Programming 113

122 Unless Tool Management is being used correctly, single-ended routers and secondary ends of dual ended routers must have the zero position for axis 5 redefined to the straight down position for Length Compensation to function correctly. If a tool number exists on the same line as the Length Compensation code (Example: G47T5/G44T2), or another tool is activated while Length Compensation is active, then the Actuator ID# for that tool must be set to zero in the Tool Setup dialog. Do not call another G44 or G47 without canceling it first with a G43 or G46. The HHP or any Conversational Programming should not be done while active. Length Compensation OFF (G43) Turns Length Compensation OFF and will make an immediate adjustment motion. See Length Compensation for additional information. Example: G43 Length Compensation ON (G44) Turns Length Compensation ON and will make an immediate adjustment motion. See Length Compensation for additional information. Example: G44 Length Compensation Blend OFF (G46) Turns Length Compensation OFF within the next line of code. See Length Compensation for additional information. Example: G46 Length Compensation Blend ON (G47) Turns Length Compensation ON within the next line of code. See Length Compensation for additional information. Example: G47 Program Setup for Use with Length Comp When setting up CAD\CAM programs that will utilize Length Compensation, a few critical items need to be considered for a part program to work correctly. First, it is important to know where the origin is positioned on the CAD\CAM drawing. This will be needed to correctly locate the machine and program to the fixture or blank. It is also required to know the Pivot Distance (sometimes known as Knuckle Distance) that was used to post process the program. Note: The Pivot Distance is the distance from the center of rotation on axis 5 to the tip of the tool. 114 SuperControl Programming SuperControl User Manual

123 The most common mistake made when setting up CAD\CAM programs that will use Length Compensation is defining the origin incorrectly. It is absolutely necessary to align the program with the Pivot Distance applied in Post Processing. If this procedure is not followed, the program will be skewed and this would be especially noticeable if full 5-axis motions are being performed! The difference between the machine's actual Pivot Distance and the post processed ("posted") Pivot Distance is then placed in the tool setup screen under the length entry. Example: (machine pivot - posted pivot = value for tool setup screen "length") It is not recommended to use Length Compensation to compensate for the entire Pivot Distance. Rather, it is recommended to post programs to a value that is close to what you believe will be used. Although it is definitely possible to compensate for the entire Pivot Distance, it is not a good idea to do so, since most posted programs from a CAD\CAM system output short line segments for the tool path and when you compensate outward for a large distance, the segments must get longer. When the segments get longer, it can cause a program to run rough and possibly affect cut quality. The second reason is the increased potential for a severe crash situation. If length compensation is deactivated at the wrong time (or not enough clearance was allowed for the retract move when compensation is turned off), the router may crash into the fixture or part. When taking a program from one machine to another that was created at the machine, it is essential to follow a similar procedure as required for CAD\CAM programs. It will be vital to know what the Pivot Distance was on the original machine (the machine the program was created on) when the program was created. Some type of reference points on the fixture will be needed to accurately locate and square the target machine to the fixture. One way to do this is as follows: 1. Install the tool that was used for creating the program. 2. Rotate axis 5 to the straight down position. 3. Move the router out to a location on the fixture and mill a shallow reference spot directly into the fixture itself. 4. Document the X, Y and Z-axes absolute positions from Machine Home for that reference point. 5. Raise the router bit up and out of the first point. 6. Then move only one axis (either X or Y) to another location farther down the fixture and spot another point. This second point will only be used to ensure that the fixture will be square on the target machine. It will be best to have as much distance as possible between the first and second point. With the above information, it is now possible to locate and square the fixture on a different machine. Programs can be adjusted by using a G92 or Fixture Offset for the differences in the absolute locations for X, Y and Z to the first reference point. Programs must be aligned with the original machine's Pivot Distance, and then Length Compensation can be used to adjust for the difference between the original machine's Pivot Distance and the target machine's Pivot Distance. This distance is then placed in the tool setup screen under the length entry. Example: (target machine pivot - original machine pivot = value for tool setup screen "length") Trajectory Planning Command Smoothing (G07) Blends programmed tool path. Requires an F value from 0 to 100. Example: G07F10 SuperControl User Manual SuperControl Programming 115

124 Arc Speed Factor (G08) Sets maximum circular speed. F values are integers valid from 0.1 up to 5. The machine defaults to G08F1 upon power-up. Ensure that if the maximum circular speed-factor is changed in the program that the factor is returned to F1 at the end of the program. Note: The current setting for Arc Speed Factor can be viewed in the Trajectory Planning Factors dialog. Tangency Factor (G09) F values are integers valid up to 40. The machine defaults to G09F1 upon power up. Ensure that if the tangency factor is changed in the program that the factor is returned to F1 at the end of the program. Note: The current setting for Tangency Factor can be viewed in the Trajectory Planning Factors dialog. Programming Techniques This section includes many helpful procedures and tips for creating part programs. Initializing a Program Header At the beginning of each program, there should be a number of commands, which set up and initialize parameters for the program. A typical program header initialization is as follows: G90 (SET ABSOLUTE MODE) G990 (RESET MACRO) SET ZSHIFT=.75 (PART THICKNESS) G52L1 (ACTIVATES FIXTURE OFFSET #1) T5 (CALLS FOR ACTUATOR ASSOCIATED WITH TOOL #5) S18000 M3 (SETS SPINDLE RPM, TURNS ON TOOL) G00 X10 Y10 (RAPID TRAVERSE TO INITIAL ABSOLUTE X AND Y LOCATION) G00 Z.5 (RAPID TRAVERSE TO INITIAL ABSOLUTE Z LOCATION) M31 (VERIFIES THAT TOOL IS ON AND UP TO SPEED) **** G90 - This command sets the system to operate in Absolute mode. This should be done even if the program will later be written in Incremental mode. G990 - This macro does a complete system reset, just in case any offsets or other Modal commands are still in effect. SET ZSHIFT=.75 - This sets the variable ZSHIFT, to 0.75 inch. ZSHIFT is the actual distance from the top of the spoilboard to the top of the part. This command must be typed in uppercase, with no spaces and no leading zero. G52L1 - This selects Fixture Offset #1 for the part program location. T5 - This calls for Tool #5. When a "T" number is encountered in a program, the QCore SuperControl begins the process required to load the tool. All tool changes, tool change offsets, actuator centerline offsets, etc. will be implemented automatically. S18000 M3 - This "S" code sets the spindle speed for electric tools. It is measured in Revolutions Per Minute (RPM). Note: S code is used only if a programmable spindle speed option is installed on the machine. If programmable spindle speed in not implemented, do not use an S code. 116 SuperControl Programming SuperControl User Manual

125 M3 - This code turns on the active tool. The M3 code is used only if a programmable spindle "ON" option is installed on the machine. The S18000 and M3 can appear on separate line, or together. M31 - This verifies if selected tool is on and at correct RPM. If the tool is not, program execution is halted until the tool has met specified speed. Initialization of a Program Footer At the end of each program, there should be a few commands that reset the machine and prepares the QCore SuperControl for sending the axes back to the Machine Home position. A typical footer initialization or program ending sequence is as follows: **** G990 G00Z0 M5 G00X0Y0 M02 (RESET MACRO) (RAPID TRAVERSE THE VERTICAL AXES TO MACHINE HOME) (TURNS OFF ROUTER SPINDLE) (RAPID TRAVERSE THE REMAINING AXES TO MACHINE HOME) (END OF CYCLE) G990 - This macro does a complete system reset (in case any offsets or other Modal commands are still in effect). It will also turn off and retract any Piggyback tooling that may still be on. G00Z0 - This line will Rapid Traverse the Z-axis to Machine Home. M5 - This will turn off the router spindle, if it is programmable. Do not use M5 if a non-programmable spindle is used. G00X0Y0 - Rapid Traverse the remaining axes to Machine Home. M02 - This EIA command instructs the control that this is the end of the program and will reset to the top of the program stack. Note: Always send the vertical axes to Machine Home first, independently and before the remaining axes, to ensure clearance of parts, fixtures, clamps, etc. Reducing Cycle Time Cycle time is the time it takes for the program to execute. In general, faster cycle times mean more production. In many cases, it is possible to reduce the cycle time after a program has been developed. There are two kinds of motion in a program: positioning motion and machining motion. Positioning motion is used to position the head to the beginning of a machining motion. Machining motion is the motion during which machining occurs. Most importantly, make the machining motion events occur in a sequence that minimizes positioning motion. Try to structure the program so that it requires a minimum of positioning motion. The execution speed of positioning motion can also be increased by changing G01 positioning moves to G00 moves. G01 produces linear motion and is the command which is inserted when lines are programmed using the Main Menu system or the HHP. (G00 is also a linear motion, but it must be either directly entered or edited into the program.) In the past, the difference between a G00 linear motion and a G01 linear motion was that G01 was interpolated and G00 was not. Linear interpolation means that when executing a diagonal line, the axes are coordinated so that the motion is in a straight line. In non-interpolated motion, each axis moves as fast as possible without regard to the other axes. The result is a motion whose end-points are known but whose path between the end-points is not defined, since generally this is not in a straight line. These two different commands were developed because early NC controls did not have the computational capacity to coordinate axes at high speed. To increase positioning speed, the G00 command was developed, which did not require the axes to be coordinated. Today, the factors that limit top speed are the mechanics and drives of the machine and not the computing power. SuperControl User Manual SuperControl Programming 117

126 The QCore SuperControl provides full axis coordination for both G00 and G01, but they use different Acceleration Ramps. The Acceleration Ramp determines how fast the machine starts and stops, between every commanded motion. This has a major impact on the overall cycle time because most programs are made up of many short motions (which require a lot of accelerating and decelerating). The Acceleration Ramps for G01 motions has been refined to provide the highest acceleration that will produce a good quality cut. The Acceleration Ramps for G00 motions has been set to provide maximum acceleration rates (but without compromising the long-term reliability of the machine). The faster acceleration of G00 motions is generally too fast to provide acceptable quality machining, but it does provide a method of rapid positioning. G00 motions are also known as "Rapid Traverse" moves. Thus, changing G01 to G00 will result in faster program execution without affecting the quality of the machining. Additionally, G00 positioning moves can be added to non-cutting motions to speed them up. For example, if the head is 2" above a part and needs to plunge 1/2" into the part at 50 inches per minute (IPM), the 2.5" motion at 50 IPM can be separated into two moves. The first, a G00 fast move, to within 0.1" of the part surface and then, a G01 move that is the remaining 0.6" into the part, at 50 inches per minute. The two new moves will execute slightly faster than the original move. If a part needs many holes bored, cycle time reductions can become quite apparent. Timer Subprograms The timer subprograms are convenience tools that come standard on all machines. By placing the timer subprograms in the desired locations within a part program, the operator (or programmer) can have the cycle time for the program displayed on the operating screen of the QCore SuperControl. The operator (or programmer) has the ability to log the cycle time information to a file to be viewed at a later date or simply view the information and then continue. STRTTIME.SUB - This marks the starting location for the timer. ENDTIME.SUB - This marks the stopping location for the timer. The timer subprograms work by calling STRTTIME.SUB in a main program, (where it is desired to start the timer) and then calling ENDTIME.SUB (where it is desired to stop the timer) and it displays the Timer Log dialog on the screen. When the green CYCLE START button is pressed and the control executes ENDTIME.SUB, a dialogue box will appear on the QCore SuperControl screen displaying the cycle time, time and date and current program name. The cycle time information can be written to a file by selecting Log Time. A save file dialog will appear with timer.log as the default name. The name for the log file can be any legal file name. Files will be saved automatically to the C:\Timerlog directory. Each time the information is saved to a file, it will append the information. To erase a log file, select Erase Log. A dialog confirmation warning will be displayed when erasing files. Sample Usage of the Timer Subprogram M98PSTRTTIME.SUBL1 G90 SET ZSHIFT=.125 G52l5 118 SuperControl Programming SuperControl User Manual

127 T1 M3 G0 X Y Z.5 M31 G1 Z-.125 F100.0 G1 Y5.375 G1 X G2 X4.875 Y I0. J G1 Y G0 Z.5 G990 G90 G0 Z0. M5 X0. Y0. M98PENDTIME.SUBL1 M02 Sample Log File (***************************************************) PROGRAM = FILE-ONE.001 START DATE = 05/24/13 END DATE = 05/24/13 CURRENT TIME = 09:58:29 CYCLE TIME = 0:1:20 (***************************************************) (***************************************************) PROGRAM = FILE-TWO.002 START DATE = 05/24/13 END DATE = 05/24/13 CURRENT TIME = 10:02:30 CYCLE TIME = 0:2:25 (***************************************************) (***************************************************) PROGRAM = FILE-THREE.003 START DATE = 05/24/13 END DATE = 05/24/13 CURRENT TIME = 10:03:04 CYCLE TIME = 0:0:13 (***************************************************) Automated File Loading A part program can be automatically loaded when it appears in a specified directory on the SuperControl. When the file is finished running (M02 is run), THM will write a blank file to a specified directory. These features were developed for integrating with automation software. Setting this up requires entering a few values into C:\system\thm.ini file. An example SuperControl User Manual SuperControl Programming 119

128 of what these keys might look like is listed below, you will need to change the paths and file names to match your particular setup. Requires THM [AUTOMATION] AutoLoad=1 AutoLoadReadPath=D:\DATA\Automation\Read\ AutoLoadReadFileName=FILETORUN.CNC AutoLoadWritePath=D:\DATA\Automation\Write\ AutoLoadWriteFileName=DONE.CNC AutoLoad Set this to a 1 to enable automatic file loading or to 0 (default) to disable. AutoLoadReadPath This is the directory where the file will be located. AutoLoadReadFileName The name of the file to auto-load. THM will rename the file (appends a "1" to the end) and then loads the renamed version. AutoLoadWritePath This is the directory where the "program done" file will be located. AutoLoadWriteFileName This is the name of the "program done" file. This file is deleted every time a file is auto-loaded. Programming Dual Zone Operation One common way of operating a dual zone table machine is to run the same part on both zones. While the part at one zone is being machined, the operator is loading and unloading the second zone. There are several ways to program this type of operation. The most straightforward programming method is to create a program that machines both parts. Machine part one using the first zone and then machine part two using the second zone. Although this is simple to understand, it does require some programming effort. Another technique is to use a single program and shift its position along the X-axis from one zone to another. To begin, create a program for machining the part. The program can be either Incremental mode or Absolute mode. Remember though, that the programming is different, depending on the mode. You also have a choice of calling the program as a Subprogram, or marking it with a label (M80L#) and return (M83) and calling it as a Subroutine. The program is called the first time and run at zone 1. The program is then shifted along the X-axis, to zone 2. The method of shifting the X-axis to zone 2 will depend on whether the program is in Incremental mode or Absolute mode. If the program is written in Incremental mode, simply add an X-axis command to move the head to the corresponding position at zone 2 and then call the program. If the program is written in the Absolute mode, you will need to use the Register Preset (G92) command to redefine the current position (with respect to zone 2). 120 SuperControl Programming SuperControl User Manual

129 As an example, assume the head is located in the position shown in the drawing above. It is at X=30 (with respect to the Zero position, the right edge of the part in zone 1). If we want the current position to be referenced from the Zero position of zone 2, we need to set the current position as -10. Use the Register Preset command and tell the control that we are at -10. Example: G92X-10 From then on, all subsequent Absolute commands will reference zone 2. Typically, the best way to program dual part operations is to use fixture offsets (G52L#). For the first zone, you would call a G52l#, setup for the first part location, machine the part and then call a G52L# to locate the part in zone 2. Then, you would machine that part and start the cycle all over again. The example below calls an imaginary Subprogram called CDS.SUB. This Subprogram contains the code (either Incremental or Absolute, or both) for machining your part. Note: The Subprogram call can be substituted with a Subroutine call (M82L#), or the part code itself can be written directly. Sample Dual Part Program: G990 G90 SET ZSHIFT=.875 M80L1 (RESET COORDINATE SYSTEM) (SET ABSOLUTE MODE) (THICKNESS OF FINISHED PART) (BEGINNING OF INFINITE PROGRAM LOOP) G52L1 (SETS FIXTURE OFFSET #1) T5 (CALLS TOOL #5) G90G0X0Y0 G0Z.5 M98PCDS.SUBL1 M00 (INDEX TO BACK, RIGHT CORNER OF PART) (INDEX TO 1/2" ABOVE PART) (PROGRAM STOP) G52L2 (SETS FIXTURE OFFSET #2) G90G0X0Y0 G0Z.5 M98PCDS.SUBL1 M00 M81L1 M02 (INDEX TO BACK, RIGHT CORNER OF PART) (INDEX TO 1/2" ABOVE PART) (PROGRAM STOP) (LOOP BACK TO TOP OF ROUTINE) (END OF PROGRAM) Programming Dual Table Machines Using the TABLE-TIE Feature The Model 42 and Model 67DT machines both have two tables, which can be run together either as a single table or as two independent tables. The operator can select the mode by using a switch located on the front control panel. SuperControl User Manual SuperControl Programming 121

130 When the TABLE-TIE switch is set to the on position, the two tables will operate together as a single table. In this mode, the combined tables are considered one axis and will respond to the X or Y-axis commands. Note: When using the machine with the tables tied together for machining large parts, a large spoilboard which spans both tables should be used. When the TABLE-TIE switch is set to the off position, each table operates as a separate axis. Depending on the machine type, the right hand table is designated as the X or Y-axis, and will respond to X or Y-axis commands. The left hand table is designated as the X or V-axis and will respond to X or V-axis commands. To activate TABLE-TIE, follow this procedure: Home Sequence the machine once, with the TABLE-TIE switch in the OFF position. Turn the TABLE-TIE switch to the ON position and Home Sequence the machine again. Note: If the TABLE-TIE switch is in the ON position and the QCore SuperControl software is reloaded, or if the machine is rebooted, it is necessary to Home Sequence the machine before any axis motions are commanded, to reactivate the TABLE- TIE. It is important to note that many of the QCore SuperControl functions, such as Circular Interpolation, Register Preset and Radius Compensation are designed to operate with the X, Y and Z-axes only. In order to get these functions to work with the second table axis, the functions must be programmed for the master axis (X or Y depending on the machine type) and then the master axis commands must be transferred to the slave axis. Another way to tie the tables together is to add and execute a Table-Tie command from within the program (G61YV or G61XU). Once this code is executed, both tables will move as one when you command the first table (X or Y-axis) to move. Note: Arcs cannot be programmed directly with the second table. If it is desired to program directly with the second table, it is necessary to activate either Axes Tie or Axis Transfer. Programming with the Second Table If programming is intended to be done directly on the second table (V or U-axis), there are two ways it can be accomplished. The first way is to tie the tables together, program the part on the second table, untie the tables and then add the redirect command (G26YV or G26XU). The second way to program directly on the second table is to enter and execute the Axis Redirect command (G26YV or G26XU). Once this code is executed, the V or U-axis will move when the X or Y-axis is commanded. Thus, all axis motion for the master axis will be redirected to the slave axis. When programming is complete, Axis Redirect can be deactivated with the Axis Redirect Cancel command (G27). One common way of operating a dual table machine is to run the same part on both tables. While the part on one table is being machined, the operator is loading and unloading the second table. 122 SuperControl Programming SuperControl User Manual

131 The most common way to create this type of program is to use the Axis Transfer (G26) command to transfer the motions intended for the X or Y-axis to the V or U-axis, and then shift the program along the X or Y-axis to the second table. To begin, create a program for the part. The program can be either Incremental mode or Absolute mode. You also have a choice of calling the program as a Subprogram, or marking it with a label (M80L#) and return (M83) and calling it twice as a Subroutine. In either case, the program is called the first time and run on table 1, using the X and Y-axes. Then transfer the X or Y-axis commands to the V or U-axis and shift the X or Y-axis over and then run the program a second time. Now use the command G26YV or G26XU to transfer the master axis commands to the slave axis. The method of shifting the X or Y-axis to the part on Table 2 will depend on whether the program is in Incremental mode or Absolute mode. If Incremental, simply add an X or Y-axis command, to move the head to the corresponding position on Table 2 and then call the program. If in Absolute, you will need to redefine the current position with respect to Table 2. Typically, the best way to program dual table part machining is to use fixture offsets (G52L#). For the first table, you would call a G52L# for the first table part location, machine the part, return the first table axis to home, call a G52L# to locate the part on the second table, machine that part, return the second table axis to Machine Home and start the cycle all over again. The example below calls an imaginary Subprogram called CDS.SUB. This Subprogram contains the code (either in Incremental mode or Absolute mode, or both) for machining your part. The Subprogram call can be substituted with a Subroutine call (M82L#) or the part code itself can be written directly. Note: The following program presumes that the table axes are Y and V: G990 (RESET MACRO) G90 (ABSOLUTE MODE) SET ZSHIFT=.75 (SETS MATERIAL THICKNESS) M80L1 (BEGINNING OF INFINITE PROGRAM LOOP) G52L1 (FIXTURE OFFSET LOCATION FOR TABLE 1) T5 (TOOL CALL) G90 G00 X0 Y0 (INDEX FOR X & Y FOR FIRST TABLE PART) G00 Z.5 (INDEX Z TO 1/2" ABOVE PART) M98PCDS.SUBL1 G990 (RESET MACRO) G90 G00 Z0 (RAPID Z TO MACHINE HOME) G00 Y0 (RAPID Y TO MACHINE HOME) M00 (PROGRAM STOP) G52L2 (FIXTURE OFFSET LOCATION FOR TABLE 2) G26YV (TRANSFER Y AXIS COMMANDS TO V AXIS) T5 (TOOL CALL) SuperControl User Manual SuperControl Programming 123

132 G90 G00 X0 Y0 G00 Z.5 M98PCDS.SUBL1 G27 G990 G90 G00 Z0 G00 V0 M00 M81L1 M02 (INDEX FOR X & Y FOR SECOND TABLE PART) (INDEX Z TO 1/2" ABOVE PART) (CANCEL AXIS REDIRECT) (RESET MACRO) (RAPID Z TO MACHINE HOME) (RAPID V TO MACHINE HOME) (PROGRAM STOP) (LOOP BACK TO TOP OF ROUTINE) (END OF PROGRAM) The G990 is used to cancel the active fence location so that the table can be commanded back to Machine Home with a Rapid Traverse (Absolute) motion. The G27 cancels the G26YV or G26XU that is active on the second part. When running programs on a dual table machine, it is common to have the "gantry" axis stop in the middle of the 2 tables and have all other axes at Machine Home between each table cycle. (This will be referred to as "Park Position"). After each table cycle, the machine is sent back to the Park Position, and program execution is stopped with the Program Stop command (M00). It is then restarted with the CYCLE START button after the next part is secured in place. This method is the safest for the machine operator and removes the possibility of the machine executing the part program before the part is secured or the operator is out of the way. IMPORTANT! - Thermwood Corporation strongly advises against using any programmed pauses or any direct cycling to accomplish this type of operation. The example below is for a 5-axis machine and all tooling calls (if needed) would exist within the Subprogram itself. M80L99 (LABEL # 99) G90 G990 G0 X62 Y0 Z0 C0 B0 V0 M00 M98P(PROGRAM NAME)L1 G990 G90 G0 X62 Y0 Z0 C0 B0 V0 M00 (ABSOLUTE MODE) (RESET TO MACHINE COORDINATES) (INDEX TO PARK POSITION) (PROGRAM STOP) (SUBPROGRAM FOR 1ST TABLE "Y") (RESET TO MACHINE COORDINATES) (ABSOLUTE MODE) (INDEX TO PARK POSITION) (PROGRAM STOP) G26YV (AXIS REDIRECT Y TO V) M98P(PROGRAM NAME)L1 G27 (SUBPROGRAM FOR 2ND TABLE "Y") (AXIS REDIRECT CANCEL) M81L99 (GOTO LABEL # 99) M02 (END OF PROGRAM) Programming Dual Head Machines Z and W Vertical Axes If a machine is equipped with dual main routers, which have two independent vertical axes, a Z and a W, there are a few extra details that need clarification. It is common practice to tie the two routers together to machine two parts at the same time. To do this an Axes Tie command (G61ZW) must be executed. After a G61ZW is active, it is then required to call two 124 SuperControl Programming SuperControl User Manual

133 consecutive tool numbers. The first tool number must be assigned to the W-axis and the second must be assigned to the Z- axis. If G61ZW is active and the first tool number encountered is assigned to the Z-axis, an error message will result and program execution will be stopped. (The G61ZW is a Modal command and only needs to be activated once before the first set of tool calls. It is deactivated with a G60.) If Axes Tie is active and the control encounters two consecutive tool numbers in the format stated above, it will raise both axes to Machine Home, take the difference between the two tools' Daylight values and automatically level the heads. Afterwards when the Z-axis is commanded, the W-axis will move in unison with the Z-axis. There are two ways to use a tool number associated with the W-axis independently from the Z-axis. The first way is to just call a tool number within a program that is associated with the W-axis (with no Axes Tie or Redirects active). This method will work, but it requires that all code commanding the router up or down has been called with the W-axis nomenclature. There is also a limitation to using this method, for no arcs, circles, or Radius Compensation can be performed when using the W-axis code. The second (and usually the best way) is to activate an Axis Redirect command (G26ZW). Activating the G26ZW before a W-axis tool call will automatically transfer or redirect all program information to the Z-axis. Afterwards when the Z-axis is commanded within the program, the W-axis will move instead. The greatest benefit to using this method is that it requires no W-axis code within the part program. The G26ZW is a Modal command and only needs to be activated once before the first tool call and is deactivated with a G27. Remember, the W-axis cannot be used to perform circles, arcs or Radius Compensation, but if it has been transferred to the Z-axis with the G26ZW command, it can. Note: If G26ZW is active and a tool number is called that is assigned to the Z-axis, an error message will result and program execution will be stopped. Vertical Axis Clearance Motion Suppression It is a standard event (for 3-axis machining) for the vertical axis/axes to raise to Machine Home each time that a tool assigned to an actuator is called, even if the tool is assigned to the same actuator as the previous one was. Under normal circumstances, this is desirable and should happen for safety reasons. However, there are a few situations where it may be beneficial for the vertical axis not to raise. For this reason, QCore SuperControl software allows this clearance motion to be inhibited (between tool calls that are assigned to the same actuator). To inhibit the Vertical Axis (Home Safety) Clearance Motion for the vertical axis, the following syntax must be entered into the Description field of the Tool Setup screen:!no_z_up! Other characters may accompany this text, as long as this syntax appears in the Description field. See the example below: With this syntax entered, if a tool number is active for a given actuator and then the same tool number (or a different tool number) is called that is setup for the same actuator and then the vertical axis will not retract to Machine Home unless the tool number being called is setup for a different actuator. SuperControl User Manual SuperControl Programming 125

134 WARNING! Although this feature can be very useful for reducing cycle time in certain program scenarios, it must be understood that it is the programmer's responsibility to ensure that the next program movements will clear all parts or fixtures! WARNING! If this feature is being used it is imperative that all personnel involved in operating the machine are aware of this feature and which tools have this feature activated! Reminder: if all the following conditions are met, in this exact order and then neither the Z-axis nor the W-axis will rise for clearance: Axes Tie is active for the Z-axis and W-axis. Then, Axes Tie is cancelled. Then, a Z-axis tool is called with!no_z_up! Part Location (G901 & G902) A Part Location Macro is used to move a program, (written in Absolute mode) to a fixed Pop-Up Pin location on the table. For the Part Location Macros to function, the X and Y dimensions of the part must be assigned to two variables. Example: For a part that is 24" long by 12" wide, this assignment is done by inserting the following: SET XSHIFT=24 SET YSHIFT=12 These commands should be placed near the beginning of the program before any positioning macros are called. It is essential that these precede the Part Location Macro (G901). The Part Location Macro assumes that the zero-zero point for the program is located at the right-rear corner of the part. For machines with factory supplied Pop-Up Pins, macros G901 and G902 are provided for the first worktable. If the machine is equipped with a second work table, macros M901 and M902 are provided for that table. 126 SuperControl Programming SuperControl User Manual

135 3D Circle Macros (M922/M923) M922 - Clockwise M923 - Counterclockwise 3D Circle macros are designed to machine full circles on compound angles on 5-axis machines. The 3D Circle macros will automatically plunge into the middle of the circle, move to twelve o clock in a straight line, complete a 360-degree circle, move back to the center of the circle and then retract out to the same location it was at before performing the circle. The programmer only needs to position the machine head at the angle desired and a plunge distance desired, (away from the surface) and the macro will perform the rest. Before they are executed, 3D Circle macros require an active tool number with the diameter of the current tool defined, as well as the following four AFL variables, as shown in the sample program below: (INDEX TO CENTER OF HOLE AND BACK THE PLUNGE DISTANCE) T25 (SETS TOOL # 25 AS THE ACTIVE TOOL) [DIA=1.5] (SETS THE DIAMETER OF THE CIRCLE) [PLUNGE=1.02] (SETS THE PLUNGE AND RETRACT DISTANCE) [PSPEED=75] (SETS THE PLUNGING SPEED) [FEED=125] (SETS THE FEED RATE FOR THE CIRCLE) M922 (CALLS CLOCKWISE 3D CIRCLE MACRO) (INDEX TO NEXT HOLE OR OTHER PART OF PROGRAM) IMPORTANT! - The variables must be spelled and appear exactly as they do above, except for the value after the equal signs (which are user definable). If a variable was used for one 3D Circle macro, but not re-established for the next 3D Circle macro, it will assume the last variable(s) defined. Thus, if the next macro will use the same variables as the previous one, the variables do not have to be redefined. If only one of the variables is different and then it is only necessary to redefine the one that requires a different value. Variables must be defined at least once in each program loaded. If no variables are set in the program, they will default to zero. If the active tool's diameter is the same as the diameter stated in the AFL variable [DIA=***], the macros will only plunge and then retract. If the diameter stated in the AFL variable [DIA=***] is smaller than the active tool's diameter, an error message will display and the macro will be skipped. IMPORTANT! - Do not BLOCK STEP through these macros. It is required that these macros are executed in RUN mode only. Note: These macros require that the axis 5 zero position (on single ended routers) is redefined to the straight down position (perpendicular to the machine table). When using the secondary end of a dual ended router, the same is also true. Reset Macro (G990) The Reset Macro is G990. This macro will cancel all Preset Registers and Fixture Offsets and returns the program to machine coordinates. It turns off all tooling air-slides, cancels all Axis Transfers and will cancel Axes Tie for axis Z & W (Dual Heads) but will not cancel an Axes Tie for Y & V (Dual Tables). Macro Reference Chart Note: All macros are listed for backward compatibility. This list is for reference purposes only and has not been updated since July Not all macros are usable by every machine. Not all macros in this list will be used if Tool Management is SuperControl User Manual SuperControl Programming 127

136 implemented. Thermwood Corporation reserves the right to change macro codes without notice. Not all macro codes are available on different Thermwood machine models. There may be extra charges for some macros. CODE FUNCTION G Undefined ==== G153 Right Hand Operates as Left Hand G Undefined ==== G170 Reverse arc in the XY Plane (G17) G Undefined ==== G180 Reverse arc in the XZ Plane (G18) G Undefined ==== G190 Reverse arc in the YZ Plane (G19) G Undefined ==== G600 Sets Gains to Factory Settings (3.0) G601 Sets Gains to a setting of (2.0) G602 Sets Gains to a setting of (1.0) G603 Sets Gains to a setting of (0.75) G Undefined ==== G751 Performs Corner Chisel For X Positive & Y Positive Motions Bead #1 G752 Performs Corner Chisel For X Negative & Y Negative Motions Bead #1 G753 Performs Corner Chisel For X Negative & Y Positive Motions Bead #1 G754 Performs Corner Chisel For X Positive & Y Negative Motions Bead #1 G755 Performs Corner Chisel For X Positive & Y Positive Motions Bead #2 G756 Performs Corner Chisel For X Negative & Y Negative Motions Bead #2 G757 Performs Corner Chisel For X Negative & Y Positive Motions Bead #2 G758 Performs Corner Chisel For X Positive & Y Negative Motions Bead #2 G Undefined ==== G800 Sets Ramps to Factory Settings G801 Sets Ramps 90% of Factory Settings G802 Sets Ramps 80% of Factory Settings G803 Sets Ramps 70% of Factory Settings G804 Sets Ramps 60% of Factory Settings G805 Sets Ramps 50% of Factory Settings 128 SuperControl Programming SuperControl User Manual

137 G806 G807 G808 G809 G Undefined ==== G900 G901 Sets Ramps 40% of Factory Settings Sets Ramps 30% of Factory Settings Sets Ramps 20% of Factory Settings Sets Ramps 10% of Factory Settings Defines machine default parameters settings. Y-axis Fence Location G Additional Y-axis Fence Locations G Undefined ==== G980 G Undefined ==== G985 G Undefined ==== G990 Spoilboard Thickness Adjustment Internal Macro used for turning off air tooling and slides This cancels all Preset Registers and Fixture Offsets. It also returns the program to machine coordinates. It turns off all tooling air-slides, cancels all Axis Transfers and will cancel Axes Tie for axis Z & W (Dual Heads) but will not cancel an Axes Tie for axis Y & V (Dual Tables). G991 G Undefined ==== M100 M101 Reset to Machine Coordinates in Left Hand Configuration Internal Macro for Spindle 1 placement First Router (Z-axis or Primary end of dual ended router) Also Z-axis Tool Rack Number 1 Tool Holder M102 M103 M104 M105 M106 M110 ==== Z-axis Tool Rack Number 2 Tool Holder Z-axis Tool Rack Number 3 Tool Holder Z-axis Tool Rack Number 4 Tool Holder Z-axis Tool Rack Number 5 Tool Holder Z-axis Tool Rack Number 6 Tool Holder Internal Macro for Rack Spindle M111 Z-axis Carousel Tool Holder #1 M112 Z-axis Carousel Tool Holder #2 M113 Z-axis Carousel Tool Holder #3 M114 Z-axis Carousel Tool Holder #4 M115 Z-axis Carousel Tool Holder #5 M116 Z-axis Carousel Tool Holder #6 M121 M122 Selects 1st Piggyback Router Z-axis Selects 2nd Piggyback Router Z-axis SuperControl User Manual SuperControl Programming 129

138 M123 Selects 3rd Piggyback Router Z-axis M124 Selects 4th Piggyback Router Z-axis M Undefined ==== M130 Performs Part Load Program M131 Performs Part Unload Program M132 Performs Manual Part Positioning Program (right side) M133 Performs Manual Part Positioning Program (left side) M134 Performs Auto Part Positioning Program M135 Performs Part Load / Unload Program M Undefined ==== M141 Selects Turret position #1 on Z-axis M142 Selects Turret position #2 on Z-axis M143 Selects Turret position #3 on Z-axis M144 Selects Turret position #4 on Z-axis M145 Selects Turret position #5 on Z-axis M146 Selects Turret position #6 on Z-axis M147 Selects Turret position #7 on Z-axis M148 Selects Turret position #8 on Z-axis M149 Selects Turret position #9 on Z-axis M150 Selects Turret position #10 on Z-axis M151 Selects Turret position #11 on Z-axis M152 Selects Turret position #12 on Z-axis M153 Selects Turret position #13 on Z-axis M154 Selects Turret position #14 on Z-axis M155 Selects Turret position #15 on Z-axis M156 Selects Turret position #16 on Z-axis M Undefined ==== M176 Selects 1st Part Measurement Sensor Z-axis M177 Selects 2nd Part Measurement Sensor Z-axis M178 Selects 3rd Part Measurement Sensor Z-axis M179 Selects 4th Part Measurement Sensor Z-axis M Undefined ==== M200 Internal Macro for Spindle 2 placement M201 Second Router (W-axis or secondary end of dual ended router). Also W-axis Tool Rack Number 1 Tool Holder M202 W-axis Tool Rack Number 2 Tool Holder 130 SuperControl Programming SuperControl User Manual

139 M203 W-axis Tool Rack Number 3 Tool Holder M204 W-axis Tool Rack Number 4 Tool Holder M205 W-axis Tool Rack Number 5 Tool Holder M206 W-axis Tool Rack Number 6 Tool Holder M210 W-axis Internal Macro for Rack Spindle ==== M211 W-axis Carousel Tool Holder #1 M212 W-axis Carousel Tool Holder #2 M213 W-axis Carousel Tool Holder #3 M214 W-axis Carousel Tool Holder #4 M215 W-axis Carousel Tool Holder #5 M216 W-axis Carousel Tool Holder #6 M Undefined ==== M221 Selects 1st Piggyback Router on W-axis M222 Selects 2nd Piggyback Router on W-axis M223 Selects 3rd Piggyback Router on W-axis M224 Selects 4th Piggyback Router on W-axis M Undefined ==== M241 Internal Macro for Tool Management M242 Internal Macro for Tool Management M243 Internal Macro for Tool Management M244 Internal Macro for Tool Management M245 Internal Macro for Tool Management M246 Internal Macro for Tool Management M247 Internal Macro for Tool Management M248 Internal Macro for Tool Management M Undefined ==== M276 Selects 1st Part Measurement Sensor W-axis M277 Selects 2nd Part Measurement Sensor W-axis M278 Selects 3rd Part Measurement Sensor W-axis M279 Selects 4th Part Measurement Sensor W-axis M Undefined ==== M300 Internal Macro for 5-axis Flat work Spindle Placement M301 5-axis Flat Work Tool Rack #1 (Tool Holder) M302 5-axis Flat Work Tool Rack #2 (Tool Holder) M303 5-axis Flat Work Tool Rack #3 (Tool Holder) SuperControl User Manual SuperControl Programming 131

140 M304 5-axis Flat Work Tool Rack #4 (Tool Holder) M305 5-axis Flat Work Tool Rack #5 (Tool Holder) M306 5-axis Flat Work Tool Rack #6 (Tool Holder) M Undefined ==== M501 Selects 1st Drill in Drill Bank Z-axis M502 Selects 2nd Drill in Drill Bank Z-axis M503 Selects 3rd Drill in Drill Bank Z-axis M504 Selects 4th Drill in Drill Bank Z-axis M505 Selects 5th Drill in Drill Bank Z-axis M506 Selects 6th Drill in Drill Bank Z-axis M507 Selects 7th Drill in Drill Bank Z-axis M508 Selects 8th Drill in Drill Bank Z-axis M509 Selects 9th Drill in Drill Bank Z-axis M510 Selects 10th Drill in Drill Bank Z-axis M511 Selects 11th Drill in Drill Bank Z-axis M Undefined ==== M531 Selects 1st Saw on Z-axis M532 Selects 2nd Saw on Z-axis M533 Selects 3rd Saw on Z-axis M534 Selects 4th Saw on Z-axis M Undefined ==== M541 Selects 1st Drill Z-axis M542 Selects 2nd Drill Z-axis M543 Selects 3rd Drill Z-axis M544 Selects 4th Drill Z-axis M Undefined ==== M551 M552 M553 M554 M555 M556 M557 M558 M559 M560 Lowers 1st spindle in Drill Bank Z-axis Lowers 2nd spindle in Drill Bank Z-axis Lowers 3rd spindle in Drill Bank Z-axis Lowers 4th spindle in Drill Bank Z-axis Lowers 5th spindle in Drill Bank Z-axis Lowers 6th spindle in Drill Bank Z-axis Lowers 7th spindle in Drill Bank Z-axis Lowers 8th spindle in Drill Bank Z-axis Lowers 9th spindle in Drill Bank Z-axis Lowers 10th spindle in Drill Bank Z-axis 132 SuperControl Programming SuperControl User Manual

141 M561 Lowers 11th spindle in Drill Bank Z-axis M Undefined ==== M591 Lower 1st Drill Z-axis M592 Lower 2nd Drill Z-axis M593 Lower 3rd Drill Z-axis M594 Lower 4th Drill Z-axis M Undefined ==== M601 Selects 1st Drill in Drill Bank W-axis M602 Selects 2nd Drill in Drill Bank W-axis M603 Selects 3rd Drill in Drill Bank W-axis M604 Selects 4th Drill in Drill Bank W-axis M605 Selects 5th Drill in Drill Bank W-axis M606 Selects 6th Drill in Drill Bank W-axis M607 Selects 7th Drill in Drill Bank W-axis M608 Selects 8th Drill in Drill Bank W-axis M609 Selects 9th Drill in Drill Bank W-axis M610 Selects 10th Drill in Drill Bank W-axis M611 Selects 11th Drill in Drill Bank W-axis M Undefined ==== M631 Selects 1st Saw on W-axis M632 Selects 2nd Saw on W-axis M633 Selects 3rd Saw on W-axis M634 Selects 4th Saw on W-axis M Undefined ==== M641 Selects 1st Drill W-axis M642 Selects 2nd Drill W-axis M643 Selects 3rd Drill W-axis M644 Selects 4th Drill W-axis M Undefined ==== M651 M652 M653 M654 M655 M656 Lowers 1st spindle in Drill Bank W-axis Lowers 2nd spindle in Drill Bank W-axis Lowers 3rd spindle in Drill Bank W-axis Lowers 4th spindle in Drill Bank W-axis Lowers 5th spindle in Drill Bank W-axis Lowers 6th spindle in Drill Bank W-axis SuperControl User Manual SuperControl Programming 133

142 M657 Lowers 7th spindle in Drill Bank W-axis M658 Lowers 8th spindle in Drill Bank W-axis M659 Lowers 9th spindle in Drill Bank W-axis M660 Lowers 10th spindle in Drill Bank W-axis M661 Lowers 11th spindle in Drill Bank W-axis M Undefined ==== M691 Lower 1st Drill W-axis M692 Lower 2nd Drill W-axis M693 Lower 3rd Drill W-axis M694 Lower 4th Drill W-axis M Undefined ==== M701 Selects Z-axis Horizontal drill X-axis Positive M702 Selects Z-axis Horizontal drill X-axis Negative M703 Selects Z-axis Horizontal drill Y-axis Positive M704 Selects Z-axis Horizontal drill Y-axis Negative M Undefined ==== M711 Selects Z-axis Horizontal Router X-axis Positive M712 Selects Z-axis Horizontal Router X-axis Negative M713 Selects Z-axis Horizontal Router Y-axis Positive M714 Selects Z-axis Horizontal Router Y-axis Negative M Undefined ==== M751 Selects Corner Chisel For X Positive & Y Positive Motions M752 Selects Corner Chisel For X Negative & Y Negative Motions M753 Selects Corner Chisel For X Negative & Y Positive Motions M754 Selects Corner Chisel For X Positive & Y Negative Motions M Undefined ==== M761 Performs Square Routing on Corner #1 M762 Performs Square Routing on Corner #2 M763 Performs Square Routing on Corner #3 M764 Performs Square Routing on Corner #4 M Undefined ==== M801 Selects W-axis Horizontal Drill X-axis Positive M802 Selects W-axis Horizontal Drill X-axis Negative M803 Selects W-axis Horizontal Drill Y-axis Positive M804 Selects W-axis Horizontal Drill Y-axis Negative 134 SuperControl Programming SuperControl User Manual

143 M Undefined ==== M811 Selects W-axis Horizontal Router X-axis Positive M812 Selects W-axis Horizontal Router X-axis Negative M813 Selects W-axis Horizontal Router Y-axis Positive M814 Selects W-axis Horizontal Router Y-axis Negative M Undefined ==== M901 V-axis Fence Location M Additional V-axis Fence Locations M Undefined M Reserved for Custom Macro Use M Undefined ==== M999 Reserved - Replaced with the Machine Variables function Machine Options These optional features may not be available on every machine and usually require additional hardware. Rotary Playback Unit Your machine may be equipped with a rotary playback unit (RPU), which provides a means for machining non-planer surfaces. In construction, this unit is somewhat similar to a lathe, except that the rotary axis is programmable, and capable of being positioned discretely throughout its 360º rotational path. Referring to the diagram below, the unit comprises a gripping spur (2), journaled in a servo-controlled headstock (1), attached to a bottom mounting plate (8), along with a tailstock (7), adapted to be displaced manually along a set of guiderails (3). A set of locking levers (6) is provided for locking the tailstock securely to the rails during operation. The tailstock embodies a center locating point (4), disposed in axial alignment with the rotational centerline of the headstock spur (2), and juxtaposed face-to-face with the headstock spur. A threaded shaft fitted with a knob (5), aids in tightening and securing a workpiece in place between the gripping spur and center point, after the tailstock is locked in place. SuperControl User Manual SuperControl Programming 135

144 Installing the Playback Unit 1. Press ESTOP Shut down the control software (ALT Q) Turn OFF the Main Power Switch on the cabinet. Attach the playback unit to the machine per subsequent instructions. After attaching the unit, switch the Playback Unit Switch to ON. This enables the drive and puts it in "run" mode. Plug in the motor cables and HOME switch connector. Turn ON the Main Power Switch on the cabinet. After Windows boots, load THM by selecting the MSU that has the extra playback unit axis. (Type 2 ENTER) Removing the Playback Unit 1. Press ESTOP Shut down the control software (ALT Q). Turn OFF the Main Power Switch on the cabinet. Switch the Playback Unit Switch to OFF. This disables the drive and puts it in "parking axis " mode. Unplug the motor cables and HOME switch connector. Remove the playback unit from the machine table. Turn ON the Main Power Switch on the cabinet. After Windows boots, load THM by selecting the MSU that does not have the extra axis. ( Type 1 ENTER ) Attaching the Unit to the Machine Worktable The playback unit is provided with a set of mounting holes, which align with a matching set of threaded holes in the worktable. Prior to mounting the unit, make certain that the E-Stop switch is depressed, and the machine is turned off. Place the unit on the table, in alignment with the provided mounting holes and locating stops, and insert and tighten the mounting screws. 136 SuperControl Programming SuperControl User Manual

145 Work Piece Clamping Procedure NOTE: It is essential that the work piece be clamped firmly between the tailstock center and the headstock spur. Failure to maintain a tight grip on the work piece will result in significant chatter, resulting in reduced cut-quality. In order to ensure a tight fit in the headstock spur, the spur indentation must be well defined. Establishing a Z-axis Offset for the Rotary Playback Unit In order to run offline-generated programs, the distance from the tool length sensor to the center of the headstock spur (SWITCH2RPU value) must be determined, and entered in the Machine Variables Dialog file. STEP-1. To begin, click on Edit then click on Machine Variables in the drop-down dialog box.when the below screen appears, note the SWITCHSPOIL value and record it. Follow the directions in the red instruction box below, and change the value to 0.0 SuperControl User Manual SuperControl Programming 137

146 STEP-2. Measure a tool, using the tool measuring routine covered previously in this manual. Record the daylight value shown for this tool. STEP-3. Next, you will need to change the SWITCHSPOIL number back to its original value. Do this using the same procedure outlined above for changing this value to 0.0. Invoke the Machine Variables screen, move the cursor to the SWITCHSPOIL location, and then change the value back to its original setting (the value you recorded in Step-1). 138 SuperControl Programming SuperControl User Manual

147 STEP-5. Next, Subtract the value obtained in Step-4, from that obtained in Step-2. This is now the SWITCH2RPU value for the Rotary Playback Unit (the distance from the tool setting switch and the center of the headstock spur). Record this value. Step-6. Next, the SWITCH2RPU value must be recorded in the Machine Variables table, alongside the heading, SWITCH2RPU. To accomplish this, click on Edit, then click on Machine Variables in the drop-down dialog box. When the below screen appears, move the cursor to the SWITCH2RPU heading and change the value to that which was recorded in Step-5. SuperControl User Manual SuperControl Programming 139

148 Offset Implementation in a piece-part program The instruction [USE_RPU=1], is an Advanced Function Language (AFL) instruction code which must appear in the program sequence prior to the tool-call instruction. This code instructs the computer to use the relevant offset value for the center point of the rotary playback unit. When a tool is called, Z0 is adjusted to the center of the spur of the Rotary Playback Unit. A new offset will appear in the PROGRAM OFFSET column. Verification of Results To verify the results, a simple program may be created, following the outline below. Construct a program, and block step through it. The adjustment from the tools daylight value will be shown in the PROGRAM OFFSET column on the display screen. G90 [USE_RPU=1] T5 (Tool Call) M02 Verification: 1. Subtract the SWITCHSPOIL machine variable from the SWITCH2RPU variable. Subtract that result from the Tools Daylight Value. The results should equal the displayed PROGRAM OFFSET value. Bar Code Scanner The QCore Bar Code Scanner executes multiple keyboard commands with a single stroke of the hand held scanner. By utilizing the Bar Code Scanner in a production environment, not only are typing errors are eliminated, but productivity is increased. Bar Codes can accompany a work-order, along with the batch of parts and then can be quickly scanned to automatically load the correct program. These barcodes are self-checking in that a single print defect cannot transpose one character into another valid character. Using the Bar Code Scanner on the QCore requires that the printed barcodes be formatted to use Code 39 Full ASCII (also known as Extended Code 39). The advantages of using Code 39 Full ASCII enable variable lengths of up to 60 characters, using the standard 128 character ASCII set and an optional check digit, whereas the standard version of Code 39 has only a small 44 character ASCII set. Emulating Keyboard Commands The Bar Code Scanner can also function as a keyboard emulator. For example, if a machine operator needed to load a file named PROGRAM.CNC, using the QCore Hotkeys, they would type F (the File Menu Hotkey), O (the Open Menu Hotkey), PROGRAM.CNC, and then the ENTER key. This would be shown as "[File] [Open] PROGRAM.CNC". Thus, to create a barcode from this sequence of keystrokes, the user would input the following: FOPROGRAM.CNC Note: The QCore automatically appends a carriage return at the end of every sequence of characters scanned by the Bar Code Scanner. It interprets this carriage return as the ENTER key being typed. 140 SuperControl Programming SuperControl User Manual

149 If the entire file path needs to be specified, such as D:\Data\Part\Program.cnc, the user would enter the following keystrokes: FOD/Z%LDATA%LPART%LPROGRAM.CNC Note: Code 39 uses /Z to represent a colon (":") and %L to represent backslash ("\"). See the chart for other character equivalents. QCore Settings When creating barcodes, make sure that the Bar Code Type list box has Code 39 selected in the Bar Code dialog box. If the Data Source list box is set to Fixed, the text encoded in the barcode must be typed in the Bar Code Value edit box. The Bar Code dialog also has a Human Readable tab and the list box in this tab can be set to Yes (to show corresponding text below the barcode) or No (to hide text). Keys (or ASCII Characters) and Their Code 39 Equivalents Automatic Load/Unload System The Automatic Load/Unload System option provides the user with a means of automatically loading sheets of material onto the table, as well as removing the finished parts off the back of the table onto a customer supplied sorting table. The Automatic Load/UnloadSystem utilizes two macros: m130 loads a full sheet of material onto the work surface. SuperControl User Manual SuperControl Programming 141

150 m131 rakes the completed parts and scrap off the right side of the table. m135 rakes the completed parts and scrap off the right side of the table and at the same time loads a full sheet of material. This option assumes that flat, 4' x 8' or 4' x 9' panels will be machined. The panels must be flat and must have a smooth enough and non-porous surface to be picked up by vacuum. Also, the panels must be 1 1/2" or less in thickness. Side fences are required to keep the parts straight while being unloaded. Automatic Load To load a full sheet requires the use of the m130 macro. The gantry will move to the left side of the machine with the loading arm extending over the lift table. The lift arms will then lower down onto the top sheet of material on the lift table. The vacuum cups will turn on and, if the seal is good, the lift arms will then raise lifting the sheet of material with them. The gantry will then move to the right side of the machine, dragging the sheet of material onto the work table. Multiple sheets can be loaded if the Roller Hold Down system is used. IMPORTANT! - Do not attempt to machine multiple sheets at once using conventional or universal vacuum! Automatic Unload Part unloading is performed using the m131 macro. After all of the parts are machined, the gantry would again move to the left side of the work table and the table unloading gate would be lowered in front of the machined sheets. The gantry would then move to the right, dragging the parts off of the back of the machine. A customer supplied sorting table would be placed on the right side of the machine, to provide a place for removing the parts. If the parts are long and the scrap cut up into short pieces, a gap can be left between the machine and the sorting table. The scrap would fall down into a scrap conveyor and the parts would pass over the gap and onto the sorting table. The operator would then blow off the table and press the CYCLE START button to begin the next cycle. While the next cycle is running, they would be removing the finished parts from the sorting table. The following is a sample program with Load/Unload macros G990 M130 M130 M00 G90 SET ZSHIFT=1.5 (LOAD ONE SHEET ON THE TABLE) (LOAD ONE SHEET ON THE TABLE) (PROGRAM STOP TO ALLOW FOR LOCATING SHEETS) (ADJUSTS Z-AXIS FOR MATERIAL THICKNESS) G52L1 (FIXTURE OFFSET #1) T20 (CALLS TOOL #20) G00 X Y G00 Z.5 M31 G01 Z-1.51 F100.0 G01 X Y F250.0 G02 X Y I J *** G02 X Y I J G02 X Y I J G00 Z.5 G990 G90 G00 Z0. M131 (VERIFIES THAT TOOL IS ON AND UP TO SPEED) (RESETS TO MACHINE COORDINATES) (UNLOADS SHEETS FROM TABLE) 142 SuperControl Programming SuperControl User Manual

151 G00 X0. Y0. M02 Load/Unload System - Additional Information When using the Load/Unload System, a typical cycle might go as follows: 1. Load the parts with the m130 macro. 2. The Photocell Switch on the QCore SuperControl is turned on to ensure the load table is at the correct height. 3. Rollers (if equipped) are raised by pushing the rollers up button on the QCore SuperControl. 4. The m130 macro is executed, followed by an m00. This will load a sheet of material onto the work surface and stop program execution, to allow the operator to square the sheets against the fence. 5. The operator lowers the rollers (if equipped). 6. Machine the sheets. Operator presses CYCLE START button to restart execution after the m Rake the parts off the table by executing the m131 macro. The macro will prompt the operator to raise the rollers and will pause until this is done. 8. An m00 is executed to stop program execution. This allows the operator to clean the work surface. 9. Program loops to the start and performs the cycle again. Part Measurement Sensor Part Measurement Sensor macros will: 1. Turn off and retract all other tooling. 2. Raise the vertical axis (normally Z) to assure clearance. 3. Load the position offset values for the part measurement sensor. 4. Lower the air slide for the part measurement sensor. 5. Index to the measurement location stated before the macro was called. Note: This location is defined by setting the variables XSENSOR=? and YSENSOR=?, before the macro is called. 6. Perform the measure routine. 7. Reset the zshift variable to the new value determined. 8. Raise the vertical axis back to the clearance position. Before the Part Measurement Sensor macro is called, two variables must be defined, telling the machine where on the part (for X and Y) the measurement routine should be performed. Roller Hold Down System (Model 53 Only) When machining parts with the Roller Hold Down System, there are a few issues and procedures that should be followed. The Roller Hold Down System will automatically raise the rollers before they run off the ends of the table, however, the rollers are not designed to roll up over the ends of material. If the rollers have to start off of the material, or drop off either end, some type of roller supports must be used. This can be as simple as scrap material placed at the front and the back of the sheet material to be cut. (See illustration EXAMPLE "A".) SuperControl User Manual SuperControl Programming 143

152 Alternatively, it can be incorporated into a stationary fence that runs along both sides of the sheet material that is being machined and extends the full length of the machine table (this is the preferred method and this method must be used for the Load/Unload system). When roller supports run along the sides of the material being cut, they must be thinner, by approximately 1/8", than the material being machined, for proper hold down compression. (See illustration EXAMPLE "B".) The Roller Hold Down System, with a 3/4" spoilboard (no vacuum plenum) is designed for a minimum of 3/8" and a maximum of 11 1/2" material thickness. If material being machined is thinner than 3/8", it will be required to increase the spoilboard thickness. The maximum part thickness with vacuum system and Roller Hold Down is 10". Typically, parts to be machined with the Roller Hold Down System should be oriented with the longest dimension running perpendicular to the rollers. When machining parts 13" in length or more, it is usually best to start and finish cutting near the middle of the parts. These two issues allow for maximum roller contact with the part, thereby reducing the possibility of part movement during the routing process, as shown in the illustrations. The distance between the center two rollers is approximately 11 1/2". For this reason, parts less than 13" in length may not hold down solidly enough with Roller Hold Down alone. For parts 6" to 12", you may need to start and stop machining at one end of the part, as shown in the illustration above. This will put at least one roller over the part at the end of the perimeter cut. In some cases, this will be adequate roller contact to hold the part. If the part still moves too much during machining and then slowing down the feed rate may help. 144 SuperControl Programming SuperControl User Manual

153 One method for holding parts too small for Roller Hold Down alone is to leave tabs around the perimeter. See the illustration below for an example. Instead of machining around the entire perimeter of the part, (which will free the part from the rest of the sheet), you can machine part of the way and then stop and then retract the cutter from the material. Now, move over approximately 1/16" to 1/8", plunge back into the material and then continue around the part, repeating this as many times as necessary to secure the part. Usually 2 to 3 tabs will suffice. This will keep the part attached to the rest of the sheet and afterwards the parts can be easily broken free from the sheet. Another method for holding parts too small for Roller Hold Down alone is to leave a skin around the part's perimeter. Rather than machining completely through the material, you can plunge almost through by approximately 0.01 to 0.02 of an inch and machine around the part. This will leave a thin skin of material at the bottom of the cut, keeping the part attached to the rest of the sheet. (This method requires that only one sheet of material is being machined with each cycle, otherwise the top parts will still move.) Once machining is complete, the parts can be easily broken free from the rest of the sheet. Proper tooling can be the key to success or failure when using the Roller Hold Down System. The type of material, the grade of wood, its moisture content and the thickness of the total sheets being cut, may play a large role as to what style of cutting tools should be used. Thermwood has done extensive testing with different styles of cutting tools and have come up with a list of the most commonly used: Solid carbide compression up/down spiral (both double and single edge). SuperControl User Manual SuperControl Programming 145

154 Solid carbide two edge up spiral chipbreaker/finisher. Solid carbide two edge down spiral chipbreaker/finisher. Solid carbide two edge straight. Carbide tipped opposite shear straight (staggered tooth). This list is designed to give a general starting point for cutting tool selection. If you have any questions about tool selection for your material or application, please contact Thermwood Corporation and talk to a representative. The final area that needs some consideration is the use of warped plywood. Some ply materials contain stress and when parts are cut, they warp upward. The Roller Hold Down System can tolerate a specific level of warp (which is limited by the diameter of the hold down rollers). In general, the system will function as long as the material being processed does not warp above a point approximately 1/4" from the bottom of the rollers. Once a part warps to a level higher than the system can tolerate, it may trip the safety fence, which will put the machine into E-Stop. The only cure for this is to obtain a higher quality sheet stock. IMPORTANT! - Attempting to "help" the machine by hand or using other devices is extremely dangerous and MUST BE AVOIDED! WARNING! Never reach into the Operating Envelope of the machine while the machine is running! Note: These variables must be defined in Absolute. A typical program would look like the following sample: SET XSENSOR=5.449 (ABSOLUTE LOCATION FOR THE X AXIS) SET YSENSOR=5.125 (ABSOLUTE LOCATION FOR THE Y AXIS) M176 (PERFORMS THE PART MEASUREMENT) T# (TOOL CALL FOR THE TOOL NEEDED NEXT) G90 G00 X Y G00 Z.5 After any Part Measurement Sensor macro is performed, it is necessary to recall the T# for the machine head intended to be used for the next operation. The distance to the center of the sensor for the X and Y-axes are set under the Machine Variables: SENSORX and SENSORY. Note: If the Part Measurement Sensor was factory installed, these variables are preset and require no changing. The distance from the Part Thickness Sensor tip to the surface of the spoilboard is set under the variable name SENSORSPOIL. This variable must be set each time the spoilboard thickness changes for the system to work optimally. To acquire a new sensorspoil value: 146 SuperControl Programming SuperControl User Manual

155 1. Change the Machine Variable TS_SETUP to "1". 2. Execute a program that calls the Thickness Sensor macro (to sense the spoilboard in the location where the material will eventually located). Note: If vacuum is used for this process, it must be turned on at this time. 3. After the Sensor touches the spoilboard, a blue AFL Screen will appear, showing what the new SENSORSPOIL value should be. 4. Press CYCLE START to finish the program. 5. Change the Machine Variable SENSORSPOIL to the new value. A typical program would look like the following sample: G90 SET XSENSOR=30 SET YSENSOR=30 M176 G990 G90 G0 Z0 X0 Y0 M02 SuperControl User Manual SuperControl Programming 147

156

157 Routing and Tooling Cutting tools used in CNC routing machines are generally referred to as bits or cutters and are classified in two primary categories; principally, the profiled edge cutter and the straight-edged cutter. A profile (or molding) cutter is used primarily for obtaining a decorative edge on a wood component such as a table edge or drawer front. It is also utilized to some extent for creating various types of joints. It is not uncommon for a profile cutter to be custom made for a specific application. If it becomes necessary to have cutters custom made, it is important that the machine owner deal with a reputable firm that is experienced in the design and manufacture of this type of cutting tool. There are unscrupulous manufacturers that may be willing to make tools that are too large for use on your CNC machine. Check the tool size and weight limits for your spindle before considering a custom tool, and ensure that your supplier is aware of these constraints. Straight-edged cutting tools are most often used to describe tools that cuts a clean edge, perpendicular to the machine worktable. This type of tool is used primarily for cutting grooves, rabbits, tenons, mortises etc., and in fact, for cutting any material to predetermined sizes and / or shapes; this cutter is also used extensively for cutting and trimming plastic parts. There is a broad range of cutting-edge designs available for this type of tool, their selection being determined primarily by the requirements of the material used in the application. When the cutting edge of the router bit (the flute) has a straight surface, the bit is called a "straight fluted" router bit. This type of bit does not exert any uneven forces in either the up or down direction when cutting a part. When the cutting flute is shaped in a spiral pattern around the shaft, the cutter is referred to as a spiral fluted router bit. A spiral fluted router bit produces an improved cut-surface quality due to the continuous shearing action of the spiral flutes. This type of bit will exert an upward or downward force on the work piece, depending upon the direction of the spiral (up or down). This can be of great advantage in certain applications where one or both surfaces of the part may be susceptible to tear out. One example of this is a wood veneer faced panel. If tear-out becomes a problem on this type of material, a "down-spiral" bit may help to solve the problem. A down-spiral bit has flutes that are curved around the shank so that they appear to move down when the bit is rotated in the cutting direction. It shears the edge downward, reducing the tendency to tear out the top surface. It also pushes the part toward the holding fixture, enhancing the holding force. This can be useful for parts that are difficult to fixture rigidly. A down-spiral bit does have some drawbacks, however. In certain cuts (e.g. when pocketing or cutting in the center of a part) it pushes the sawdust and trimmed material downward and, on occasion, it may pack chips into the groove so tightly that the bit becomes overheated. In addition, since the bit is cutting downward, there is an upward force on the bit. This, combined with an excessively high feed speed can generate substantial upward forces and might even cause the bit to slide up in the collet. An up-spiral bit spirals in the opposite direction of a down-spiral bit. It gives a cleaner cut on the bottom surface but it will tear out on the top surface in most applications. An up-spiral bit is sometimes used where there is a need to pull sawdust or chips from the groove (since the up-spiral tends to lift). When an up-spiral bit is used, it tends to pull downward from the collet. Again, excessive feed speeds can result in the bit pulling from the collet. Another possible result of feeding an upspiral bit too fast is the lifting of the work-piece from the holding fixture. An up-down or compression spiral cutter gives the operator even more choices. This cutter has both up and down flutes, minimizing the problem of lifting and chipping laminate or veneer from either side of the work piece. Chip extraction, however, remains an issue with this cutter; this more or less limits its use to outside perimeter cutting. For pocketing, one solution may be to first cut out a smaller size opening with a regular up spiral cutter, and then finish the last ¼ or so with a compression cutter. One should evaluate the cycle times and consider this as a practical solution for a tear-out problem. Yet another very popular type of spiral-fluted bit is the serrated edge cutter. Generally referred to as a chip breaker, this type of tool has the ability to cut through materials at relatively high speeds without producing excessive heat in the bit, and, without inducing excessive stress on the spindle. The cut quality of this type of bit however, is inferior to that of the smoothedge cutter; therefore, its use is generally limited to operations that do not require superior edge quality. SuperControl User Manual Routing and Tooling 149

158 The Routing Process The following are some the more common considerations when routing. There is much more technology, skill, experience and technique that will become necessary as the variety of shapes and materials machined grows. In many cases there are no set answers. Experimentation and trial and error can be necessary to get the desired results. Remember that a CNC machine is like any other tool; the final result will depend as much on the skill of the craftsman as it does on the capability of the tool. Chip Load Chip Load relates to the nominal thickness of the chip produced by the cutter during tooth / knife progression through the work piece. The thickness of the chip is an important factor in drawing heat away from the razor-thin cutting edge of the bit. Generally, a chip load that is too light will contribute to extreme heating of the cutter, while an excessively heavy chip load may result in poor cut quality, along with undue stress placed on both the cutter and the spindle. Slower feed rates generally produce better finishes, but may contribute to premature cutter wear due to excessive heating. The chip load is therefore a careful balance between desired cut quality, the amount of heat the cutter will tolerate, and the available power of the spindle. Feed-speed and spindle RPM must be carefully tuned to obtain the proper chip loading along with acceptable cut quality. Chip loading can be calculated using the formula in the illustration on the left. Ideally, the machine owner / operator will work closely with the cutter manufacturer in determining the proper combination for obtaining optimum chip loading, along with acceptable cut-surface finish. The number of flutes on a cutter influences the quality of the cut. If a router bit has one cutting edge, it is referred to as a single fluted bit. When spinning at 18,000 RPM, a single fluted bit makes 18,000 individual cuts each minute. The amount of material removed each cut depends on the distance moved by the machine from the time one cut starts until the next cut starts. For example, suppose the machine is cutting at 550 inches per minute (this is called the Feed Speed). The distance moved per tool revolution is: Thus the tool will make a cut about every 1 32". This type of operation will result in an edge that looks something like this when magnified: 150 Routing and Tooling SuperControl User Manual

159 Each time the tool moves 1 32" and makes another cut, it produces a scallop in the part. In this case, the scallops will be large enough to be seen. These scallops are commonly called "tooling marks". Several factors affect tooling marks. They can be minimized, oftentimes to the point where they cannot be seen, but they cannot be totally eliminated. Tooling marks are part of the routing process. One way to cut the size of the tooling marks in half is to use a router bit with two cutting flutes - a two fluted bit. A three or even four fluted bit can be used, but at some point the chip load will become too light, overheating the tool / work-piece. The result of this would be dulling the bit, or burning the work piece. In most cases, a two-fluted bit is a reasonable compromise. Another way to reduce the size of tooling marks is to reduce the feed speed. If movement is less than 1 32" between cuts, the tooling marks will be closer together and less noticeable. A router bit that is larger in diameter may also be used to help reduce the size of the scallop. A larger cutter diameter produces less pronounced scalloping. This is the reason that large tools (even turning at slower speeds) create smoother edge finishes than small diameter router bits when working in materials like wood. Larger router bits will also produce a better quality edge in plastic, but it is more difficult to hold the work rigidly. In most cases it takes a combination of bit diameter, feed speed and two or more flutes to minimize tooling marks. Feed Direction The feed direction of the router bit is also of great importance, especially in materials with a grain, such as solid wood. The bit should be fed in the direction of the grain, as shown in the accompanying example. In some cases, this will not be possible, as the grain direction can sometimes shift in a piece of wood. Consider this when gluing up panel stock. When the router bit is fed in the same direction as the cutting edge (towards the work-piece) it is called a "climb cut". Using a climb cut will reduce or eliminate the tendency of the bit to tear out material. However, climb-cutting also has some drawbacks, such as increased force on the work piece. The size of the work piece, along with the fixturing method and holddown force should be carefully evaluated before employing this cutting method. SuperControl User Manual Routing and Tooling 151

160 Note: A cleaner cut is likely to be produced when climb cutting, while conventional cutting often tends to tear out the surface. Tool Deflection When using small diameter router bits at high feed speeds, another factor that must be considered is "bit-push". "Bit-push" is the tendency of the bit to flex in reaction to the cutting forces. "Bit-push" will be most pronounced when climb cutting along the edge of a part. Under normal circumstances, bit-push amounts to only a few thousandths of an inch. Nonetheless, it can present a challenge in attaining acceptable cut-edge quality. Bit push can be particularly obvious at the point where the cutter begins and ends its excursion through an arc. The tendency to flex will be less pronounced with larger diameter bits and slower feed speeds. In plastic trimming applications, bit-push is minimal and generally, it does not cause dimensional problems (although it can cause cosmetic problems). If a cut is made along an edge and then stopped, the bit-push will relax and produce a mark where the bit cut deeper by the amount that the bit was bent. For this reason, many programmers create short arcs called lead lines when entering or leaving a cosmetic edge. The drawing below shows a set of "lead lines" used to cut a round hole in a rectangular part. The router bit is plunged at the beginning of the "lead-in" line. The lead-in cut is programmed so that it is tangent to the finish cut at the top of the part. By the time the router bit gets to the finish cut line, it is up to feed speed and the bit push is established. After the finish cut is completed, the bit moves to the lead out arc, stops and allows the bit push to relax. This keeps the entire finish surface free from the mark that would result if the cut were stopped while touching the surface. When programming this type of cut, the plug that is cut from the center must be securely held in place, or the lead out line will 152 Routing and Tooling SuperControl User Manual

161 move and sometimes throw the plug. It is sometimes better to start at the center and spiral outward turning the center plug into sawdust before completing the lead out line if the center plug is small enough. Another common way to handle both bitpush and a rough cut is to make a rough pass that machines the part about.010 oversized before a second clean up pass is made. Although this takes a little longer, the edge quality is generally substantially improved and in many cases pays for itself in less secondary work. A clean-up pass is in fact, quite common in acrylic cutting operations. Plunge Cutting With few exceptions, the pause between the end of a plunge-cut, and the beginning of the initial cutting motion, is long enough to overheat and burn both the part, and the router bit. In fact, any time a pause is executed while the cutter is engaged in the work-piece, there exists a risk of overheating. Cutter-dwell can in fact, lead to ignition of the work piece. This problem should be addressed by beginning the motion above the part and using a three-axis line, or in the case of an arc, a helical motion to move down into the part while the bit is cutting. The key point here is to keep the router bit in motion at all times while it is in contact with a work piece. Any router bit that is used to plunge into the part must be designed as a plunge bit. A plunge bit has a cutting surface along the bottom of the bit, which is used to machine its way down into the work. Without this plunge tip, it will be difficult or impossible to plunge into the work. If a non-plunge bit is used to make plunge cuts, excess stress will be placed on the machine, drives and spindle, shortening their useful lives and reducing reliability. It will also more than likely ruin the work piece. When ordering a router bit for plunge work, make certain that a plunge-tip bit is specified to the supplier. Tool Management The tool management system was created to simplify the management of the spindle types (actuators), tool changers and tools on a Thermwood machine. As the systems on individual machines became more diversified, tooling macros grew larger and more complex and executed slower. Tool Management solves this problem by providing a central "fill in the blank" type of program that allows the configuration of actuators, tool changers and the tools themselves. The actuator and tool changer configuration dialogs may only be altered if the proper tool management password is used. Operators use only the Tool Setup dialog to assign each tool to an actuator, actuator position, tool changer and tool changer position. When a "T" number is encountered in a program, the PLC begins the process required to load the tool. All tool changes, tool change offsets, actuator centerline offsets, etc. will be implemented automatically. This reduces the complexity and the quantity of the macros required to complete a tool change, thus reducing tool change times. The tool management SuperControl User Manual Routing and Tooling 153

162 system allows tools to be used on all machines. In other words, any tool number can be assigned to any actuator. Also, more than one tool number can be associated with the same actuator. Configuring Actuators An actuator is an electric or pneumatic powered device that spins or vibrates a tool. Routers, saws, drills and drill banks are all examples of types of actuators. Actuator Setup settings are preset by Thermwood Corporation and should not require any changes. Modifications in the Actuator Setup should never be performed by unauthorized personnel! Improper changes to Actuator Setup settings could result in machine damage or malfunction and could result in personal injury or death! Important! Thermwood keeps on file only the original tool management settings for each machine for backup purposes. Thermwood should be notified of any changes made to the actuator settings, so an accurate backup will be on file, should the need for it arise. Also, because the PLC configures itself when the system loads, it is required to reboot the Thermwood software any time that actuators are added, removed or changed. The main spindle is always actuator ID #1. This will be followed by any other spindles, piggyback devices and aggregates, respectively. Each aggregate head is setup as a separate actuator ID, even though they are chucked into the same spindle. This allows head offsets and RPM speed limits to be incorporated. Example: If a machine has a main spindle, two piggyback devices and two aggregate tools and then the Actuator ID numbers would be assigned as follows: Main Spindle - Actuator ID #1 Piggyback #1 - Actuator ID #2 Piggyback #2 - Actuator ID #3 Aggregate #1 - Actuator ID #4 Aggregate #2 - Actuator ID #5 Note: The aggregate tool that is in the holder position closest to machine home is always defined as "Aggregate #1", second closest is "Aggregate #2", etc. Actuator Setup To access the Actuator Setup dialog, select Tool Management and then Actuator Setup from the Main Menu system. Note: The Actuator Setup dialog is password protected and requires the entry of the correct tooling password to access. It is recommended to only use this dialog while in ESTOP or READY mode. 154 Routing and Tooling SuperControl User Manual

163 No. of Actuators on Machine ID Number Type Model Tooling Plate No. of Positions Total number of actuators on machine. For a machine equipped with only one router, this would be set to one (1). A number is assigned to each actuator on a machine. This allows the machine operator to assign tools to be used in a particular actuator. List of actuator types (router, shaper, drill, sander, etc.). List of actuator models for the selected type. Lets the system know which vertical axis the actuator is mounted to. Number of actuator positions. Horizontal tools typically have more than one actuator position. Auto Measurable? Type Lock Select Yes or No to set whether or not the tool in this actuator can be used with Tool Measurement. Horizontal tools, sanders, planers, saws and shapers are examples of actuators that cannot be auto-measured. Important! Only for Thermwood Service Technicians during machine initial configuration. Do not change this setting! Position Settings Position Position ID can range from 1 up to No. of Positions Description Description of selected Position ID Offsets SuperControl User Manual Routing and Tooling 155

164 These offsets are automatically implemented any time a "T" number is executed that is assigned to the actuator position. Offset values are for each actuator position with respect to the main actuator (Actuator ID #1). Actuator ID #1 should have zero (0) for all offsets. The offset values are defined by determining the distance and axis directions needed to get from the main actuator to each subsequent actuator equipped on the machine. Select OK to close the Actuator Setup dialog, a Yes/No/Cancel confirmation dialog will be provided. Drive Parameter File Selecting the View button from the Actuator Setup dialog opens the Drive Parameter File dialog. Actuator Number Shows selected Actuator ID (read only) Actuator Position Filename Switch Value Shows selected Actuator Position (read only) Required if more than one electric powered actuator uses the same inverter/frequency converter. When the machine uses an actuator, the PLC will automatically download the file into the inverter/frequency converter. Required on machines that utilize switches to determine whether the correct actuator is in the active position (one example of this is an older Turret style machine). It is used to set the expected ID switch value of the actuator. When the machine uses an actuator, the PLC compares the switch value to the value being decoded from the Inputs. If this does not compare, the actuator will not be allowed to run. 5-Axis Actuator Positions There is a unique difference in the way that tool management is setup on a 5-axis machine. To accommodate both 3-axis and 5-axis style programming, each "Machining End" of an actuator will have 2 positions assigned. The first would be for 5-axis machining and the second, for 3-axis. It will always start with position #1, fill up all positions for 5-axis work and then start over, to fill the same positions for 3-axis work. The following explains how the Tool Setup dialog needs to be setup to perform the two different machining methods for the various types of tooling for a 5-axis machine. Dual Ended Routers Router = Actuator #1 with 4 positions defined. Actuator #1, Position #1 is the primary end for 5-axis work. When a tool assigned to Actuator #1, Position #1 is executed the following will happen: No machine motion will take place. Zero for the primary end will be set to the straight down position Actuator #1, Position #2 is the secondary end for 5-axis work. When a tool assigned to Actuator #1, Position #2 is executed the following will happen: No machine motion will take place. 156 Routing and Tooling SuperControl User Manual

165 Zero for the secondary end will be set to the straight down position Actuator #1, Position #3 is the primary end for 3-axis work. When a tool assigned to Actuator #1, Position #3 is executed the following will happen: The Z-axis will rise to Machine Home. Zero for the primary end will be set to the straight down position. The primary end of the router will Rapid Traverse to the straight down position for 3-axis machining. Daylight calculation is performed Actuator #1, Position #4 is the secondary end for 3-axis work. When a tool assigned to Actuator #1, Position #4 is executed the following will happen: The Z-axis will rise to Machine Home. Zero for the secondary end will be set to the straight down position. The secondary end of the router will Rapid Traverse to the straight down position for 3- axis machining. Daylight calculation is performed. Single Ended Routers with no Tool Changer Router = Actuator #1 with 2 positions defined. Actuator #1, position #1 is for 5-axis work. When a tool assigned to Actuator #1, position #1 is executed the following will happen: No machine motion will take place. Zero for the router will be set to the straight down position Actuator #1, position #2 is for 3-axis work. When a tool assigned to Actuator #1, position #2 is executed the following will happen: The Z-axis will rise to Machine Home. Zero for the router will be set to the straight down position. The router will Rapid Traverse to the straight down position for 3-axis machining. Daylight calculation is performed. Single Ended Routers with Tool Changer Router = Actuator #1 with 2 positions defined. Actuator #1, position #1 is for 5-axis work. When a tool assigned to Actuator #1, position #1 is executed the following will happen: A tool change will be performed if necessary. If not, no machine motion will take place. Zero for the router will be set to the straight down position Actuator #1, position #2 is for 3-axis work. When a tool assigned to Actuator #1, position #2 is executed the following will happen: The Z-axis will rise to Machine Home. A tool change will be performed if necessary. Zero for the router will be set to the straight down position. The router will Rapid Traverse to the straight down position for 3-axis machining. SuperControl User Manual Routing and Tooling 157

166 Daylight calculation is performed. Piggyback Tool Drill or Router = Actuator #2 with 2 positions defined. Actuator #2, Position #1 is the Piggyback Tool for 5-axis work. When a tool assigned to Actuator #2, Position #1 is executed the following will happen: No machine motion will take place. Zero for the Piggyback Tool will be set to the straight down position. Actuator #2, Position #2 is the Piggyback Tool for 3-axis work. When a tool assigned to Actuator #1, Position #3 is executed the following will happen: The Z-axis will rise to Machine Home. Zero for the Piggyback Tool will be set to the straight down position. The Piggyback Tool will Rapid Traverse to the straight down position for 3-axis machining. Configuring Tool Changers Daylight calculation and head offsets are performed. A tool changer is a device that changes an actuator (such as a turret) or changes the tool(s) in an actuator. Bar, bulk, rotary, typewriter and aggregate are all styles of tool changers. Tool Changer Setup settings are preset by Thermwood Corporation and should not require any changes. Modifications in the Tool Changer Setup should never be performed by unauthorized personnel! Improper changes to Tool Changer Setup settings could result in machine damage or malfunction and could result in personal injury or death! Important! Thermwood keeps on file only the original Tool Management settings for each machine for backup purposes. Thermwood should be notified of any changes made to the Tool Changer Setup settings, so an accurate backup will be on file, should the need for it arise. Also, because the PLC configures itself when the system loads, it is required to reboot the Thermwood software any time that tool changers are added, removed or changed. If a machine is equipped with a bar style changer, it is always changer ID #1 and is always considered the primary changer. If the machine also has a typewriter style changer, it will be defined as Changer ID #2. Even though changeable aggregate tooling takes the place of bar style locations, they are given a separate Changer ID number. Typically, only one Changer ID will be defined for all changeable aggregates on a given machine. Example: If a machine were equipped with a bar, typewriter, and changeable aggregate(s) style changers, then the Changer ID numbers would be assigned as follows: 158 Routing and Tooling SuperControl User Manual

167 Bar Style - Changer ID #1 Typewriter - Changer ID #2 Changeable Aggregate(s) - Changer ID #3 Changer Setup To access the Tool Changer Setup dialog, select Tool Management, Tool Changer and then Changer Setup from the Main Menu system. Note: The Tool Changer Setup dialog is password protected and requires the entry of the correct tooling password to access. It is recommended to only use this dialog while in ESTOP or READY mode. No. of Changers on Machine ID Number Type Model Tooling Plate No. of Positions Type Lock Total number of tool changers on machine. A number is assigned to each tool changer on a machine. This allows the machine operator to assign tools to be used in a particular tool changer. List of tool changer types (bar, typewriter, bulk, etc.). List of tool changer models for the selected type. Lets the system know which vertical axis the tool changer is associated with. Number of tool changer positions. Tool changers typically have more than one position. IMPORTANT! - Only for Thermwood Service Technicians during machine initial configuration. Do not change this setting! Position Settings: Position SuperControl User Manual Routing and Tooling 159

168 RPM Limit Description Position ID can range from 1 up to No. of Positions Maximum allowable RPM for the tools in this changer position. The tool may also be RPM limited in Tool Setup. If the tool uses an aggregate actuator, it will also have an RPM limit. The minimum value of the three possible tool RPM limits will be used to control the spindle speed. Depending on gear ratios, the spindle motor RPM may differ from the tool's RPM Note: If this value is not found on the tool, you must get this data from the tool manufacturer. Selected Position ID description. Pick-up/Drop-off Locations These offsets are automatically implemented any time a "T" number is executed that is assigned to the tool changer position. Offset values are defined by determining the distance and axis directions needed to get from Machine Home to the changer position. Select OK to close the Tool Changer Setup dialog, a Yes/No/Cancel confirmation dialog will be provided. Configuring Tools When utilizing the Tool Management system, there are several events that will happen automatically when a tool is called. Some of these events will be visually apparent to the programmer/operator, while others will be transparent and not visually obvious (events such as the implementation of tooling centerline offsets from the main router/tool and daylight calculations will not be evident). Part position registers are adjusted for the new tool's offsets, but no actual machine motion is made directly. It is required that at least one Absolute move for all the axes is executed after a tool is selected. Within this Absolute move, the tool offsets will automatically be implemented. Thus, it is important to understand how and where offsets are determined for the various types of tooling options that may be on a particular machine. Tool Setup To access the Tool Setup dialog, select Tool Management and then Tool Setup from the Main Menu system. The Tool Setup dialog is used to define attributes of tools and assign them to actuators and tool changers. Note: It is recommended to only use this dialog while in ESTOP or READY mode. 160 Routing and Tooling SuperControl User Manual

169 Tool Number Valid tool numbers range from 1 to 999. You can also use the Copy (Ctrl + C) and Paste (Ctrl + V) commands when this field has focus to quickly copy a tool's settings to another tool number. F2 can be used as a hotkey to move focus back to the Tool Number field. Substitute Tool Number Description Length Length Comp Diameter Daylight RPM Limit This feature is designed for automatic tool changing machines only. It allows the programmer to set a substitute tool to be called automatically once the life has expired on the specified main tool. When a tool number is called, the QCore SuperControl checks if this tool's life is expired and if it is, it will automatically call the next tool assigned as a substitute, as long as its life is not expired as well. The only limit to the number of substitute tools that can be set is the capacity of the tool changer itself. This text field can contain a short description of the tool. Typically, this value is the distance that the tool/bit extends from the collet face. For horizontal tools, this value will be added to the centerline offset. This value is used to compensate for the difference between the original length of the tool by which the program was developed for and the current tool length. See Length Compensation for additional information. This value represents the diameter of the tool, or the difference between the diameter of the original tool and the diameter of the current tool. See Radius Compensation for additional information. This refers to the distance from the tip of the tool (with the Z-axis at home position, and air-slides down, if applicable) to the surface of the spoilboard (actually, the bottom of the part) for all vertical tooling. Daylight is also the distance from the center of the tool to the surface of the spoilboard (bottom of the part) for all horizontal tooling. Maximum allowable RPM for the tool. The tool's changer position may also be RPM limited in Changer Setup. If the tool uses an aggregate actuator, it will also have an RPM limit. The minimum value of the SuperControl User Manual Routing and Tooling 161

170 Life Actuator three possible tool RPM limits will be used to control the spindle speed. Depending on gear ratios, the spindle motor RPM may differ from the tool's RPM. Note: If this value is not found on the tool, you must get this data from the tool manufacturer. Expected Remaining Used Reset ID Position Tool Changer Verify ID Position Alt ID This is the expected tool life in hours. This is the calculated amount of life left on the tool in hours. When a new tool is installed, use the Reset button to set this field to the Expected tool life. The QCore SuperControl automatically decrements this number as the bit is used. When the time runs out, the QCore SuperControl screen displays the message "EXPIRED" in the Tool Display. This is the calculated amount of tool life used in hours. Use this button to reset the remaining life back to the expected life. Tells which actuator number will use the tool. If set to zero, the system will simply invoke the new tool's diameter, length, length comp, life left and daylight values (but it will not actually perform any offset or daylight calculations; this is to allow the programmer to use a tool for special Radius Compensation or Length Compensation, if necessary.) If the tool is assigned to an Actuator ID, Actuator Position Number, Tool Changer and Tool Changer Position, the system will automatically perform necessary tool changes and tool offsets when that "T" number is executed in the part program. All actuator offsets will be automatically invoked. Tells which position in the actuator the tool will be used in. Most devices are single position actuators. This may be set to a number other than one, for devices such as horizontal tools, which typically have more than one tool on the same actuator. Tells which tool changer number has to the tool. On machines without tool changers, this is not required. Tells which position in the tool changer the tool will be used in. On machines without tool changers, this is not required. This value is normally not needed and should be left at zero (0). It will only be enabled for machines that can use it. Each Verify button will open a dialog with a list of information about the selected actuator or changer positions. These dialogs can be useful if it is unclear what type of device is assigned to the selected actuator or changer positions. They are for verification purposes only and no actual alterations can be made. The only exception is for the Manual Insertion Tool Changer machine option which will then allow editing of Pick-up/Drop-off Locations. 162 Routing and Tooling SuperControl User Manual

171 Auto Measure Options Length Diameter Disable Spin Left Hand Tool Select whether or not the tool is capable of length measurement using the Tool Measurement system. Select whether or not the tool is capable of diameter measurement using the Tool Measurement system. There are scenarios where the spindle will run during Tool Measurement. Selecting Disable Spin will force the spindle not to run. Select this option for left hand tools to spin in the proper direction during Tool Measurement. Tool Switch Offsets Opens a dialog to set tool switch offsets used with the High Tolerance Tool Measurement switch. See Tool Setup for Tool Measurement on page 186 for additional information. Note: If an actuator/changer ID or position is out of range it will have a red background Select OK to close the Tool Setup dialog, a Yes/No/Cancel confirmation dialog will be provided. Tool Life & Wear Factor The QCore SuperControl reduces the Life Remaining entry field of the Tool Setup dialog for the active tool. The system will only reduce the life of the active tool if machine motion is detected and, if it is detectable and the currently active spindle is on. Additionally, the Tool Life Wear Factor feature allows the programmer to force the tool life to diminish at a faster rate. This is useful for programs that may use the same tool to cut a multitude of different materials. For example, a tool may last longer machining oak vs. walnut. Therefore, Life Expected is set for what the tooling life can be expected in oak. So, if it is determined that walnut wears the tool 1.5 times faster than oak, then the following Advanced Function Language syntax can be placed into the part program, to force the tool life to diminish at a faster rate: [WEARFACTOR 1.5] The machine's default value is 1 and upon a power up or a Home Sequence, it will always revert back to 1 (one). Suppress return to last position (5-Axis) For 5-Axis tool changes, after the tool change is complete, it is standard operation for the machine to return to the position it was in when the tool change was called. The following Advanced Function Language syntax can be placed into the part program, to suppress this behavior: [TC_NO_RTN=1] Benefits: Can prevent wasted tool change motions when the return position is a considerable distance away from the next machining location (the next position may be closer to the changer than the previous machining location). SuperControl User Manual Routing and Tooling 163

172 Can change methods as often as needed/desired in a program. Can turn it on globally by adding the variable into the Machine Variables dialog. Tool Changer Maintenance Tool Changer Maintenance mode is to be used only by trained and authorized maintenance personnel and Thermwood Service Technicians only! The Maintenance Password will be required to enter this mode. Under no circumstances should Tool Changer Maintenance mode be used during normal machine operation. Improper use of Tool Changer Maintenance mode could result in machine damage or malfunction and result in personal injury or death! On most bar style or aggregate tool changers, there is a safe zone defined around the tool/aggregate holders that is protected by the PLC in the QCore SuperControl. If the machine is programmed to go into this area, it will go into Emergency Stop mode. However, Tool Changer Maintenance mode can be enabled to allow maintenance personnel to acquire tool changer pick up locations within the safe zone. Note: Placing the machine in E-Stop or running a Home Sequence will automatically disable Tool Changer Maintenance mode. Changer Maintenance will also allow the manual tool release button (shown in illustration) to operate without the tooling lockout engaged. Upon entering Changer Maintenance mode, a warning dialog will be shown: 164 Routing and Tooling SuperControl User Manual

173 When in Changer Maintenance mode, the mode display will indicate "CHGR MAINT". Note: It is recommended that a Home Sequence be performed after leaving this mode. Tool Changer Fault Recovery There are situations that may cause the tool change routine to stop while in the tool changer gripper and still latched to the tool holder. If this condition should occur, it is important to know how to properly handle the situation so that no damage is done to the machine. Under NO circumstances should a Home Sequence be performed while in this condition. Severe damage to the machine will result! If it is possible to physically push by hand the axis that moves the tool holder into the tool changer gripper, then follow Fault Situation #1 steps. If not go to Fault Situation #2. Fault Situation #1 1. Place the machine it into Emergency Stop mode. 2. Physically push by hand the X or Y-axis to get the head and tool holder out of the tool changer gripper. If the dust hood is on the router, care should be taken not to move the head too far. 3. Now, release the E-Stop button and try perform a Home Sequence. Note: If the machine will not come out of Emergency Stop, it will be necessary to shut down the computer and then turn off the main power switch of the unit. Wait a moment and then power it up and wait for the computer to reboot in to the Thermwood screen. If the machine still will not come out of Emergency Stop, again confirm that the red E-Stop button is NOT depressed and then check the PLC Screen for any information. At this point, you should then contact the Thermwood Technical Service Department at After the Home Sequence routine is successful, from the Main Menu, select L, C, R to Reset Tool-In-Use to ensure that the machine knows what tool holder is in the spindle. Fault Situation #2 If it is NOT possible to physically push by hand the axis that moves the tool holder into the tool changer gripper, then follow these steps: SuperControl User Manual Routing and Tooling 165

174 1. Place the machine it into Emergency Stop mode. 2. Now, release the E-Stop button and press NC Reset only once. This should take the machine out of the Emergency Stop mode. Note: If the machine will not come out of Emergency Stop, it will be necessary to shut down the computer and then turn off the main power switch of the unit. Wait a moment and then power it up and wait for the computer to reboot in to the Thermwood screen. Then try again to press the NC Reset button only once to get the machine out of E-Stop mode. If the machine still will not come out of Emergency Stop, again confirm that the red E-Stop button is NOT depressed and then check the PLC Screen for any information. At this point, you should then contact the Thermwood Technical Service Department at Now that the machine is out of E-Stop mode, go to the Maintenance Output Screen by selecting M, O from the Main Menu and turn on the Program Draw Bar Down Output (This is usually Output 25). This should extend the draw bar and release the Tool Holder from the spindle. Note: If it is unclear as to which output is the correct one, please check the Input/Output List that came with the machine's electrical schematics. 4. After verifying that the Draw Bar did indeed extend and release the Tool Holder, return to the Main Menu. Normalize the Z-axis by pressing T, M, N and then press the F3 key. The Z-axis should rise up and off the Tool Holder and complete normalization. Important! Make 100% sure that only the Z-axis is chosen. Selecting the wrong axis in this step can cause severe damage to the machine. 5. Return to the Main Menu and at this point, the router should be up and off the Tool Holder. After the Home Sequence routine is successful, from the Main Menu, press L, C, R to Reset Tool-In-Use to ensure that the machine knows what tool holder is in the spindle. Tooling Offsets Each time a tool number is called, tooling offsets may be applied depending on the settings in Tool Management. Daylight and head offsets are examples. Daylight For 3-axis operations, daylight is the distance from the tip of the tool to the surface of the table. When a tool is setup with a daylight value, that value adjusts Z zero (Z0) from the home position of the spindle to the surface of the table. To repeat, Z0 is set at the surface of the table. The daylight value can be automatically acquired by the Tool Measurement System. 166 Routing and Tooling SuperControl User Manual

175 From the factory, the tool sensor switch is setup by measuring the distance to the machined surface of the table's flange and then moved upwards by the thickness of a standard 3/4" table board. The total distance that the spindle is moved to that theoretical surface on the Z Axis is the actual Daylight Value. Note: On older machines, Daylight Value is established by touching the surface of the actual table. Since Version 7.4.1, the control has a surfacing (fly cutting) routine that updates the tool's daylight values when the table board is surfaced. Another variable called ACTSPOIL references the actual thickness of the table board and is also maintained when the table is surfaced. SuperControl User Manual Routing and Tooling 167

176 ZSHIFT When the AFL variable ZSHIFT is used in a program, it shifts Z0 in a positive direction only. Typically the ZSHIFT value is the material thickness, but it can also be used to move the depth of cut up or down or to test a program by adjusting it to a higher value to avoid contact with the material. Example: G90 SET ZSHIFT=0.75 S18000 T# M03 ZSHIFT must be spelled correctly. The set ZHIFT statement must be complete. If the value is missing, then Z0 will still be the surface of the table board. Unless there is a syntax error or an out of bounds error, there is a likelihood that the first Z axis plunge movement will be well into the table board or through the wasteboard. ZSHIFT must be set above (prior) to the tool call. It can be set multiple times in a program but must be followed by a tool call to recalculate the fixture offset for Z. The tool call can be for the same tool number. Vertical Router and Drill Offsets Vertical router and drill offsets for the X and Y-axes are determined by the physical distance from the main tool's bit/tool center, to the center of the alternate router's bit/tool center. These offset values are stored in Tool Management under Actuator Setup. 168 Routing and Tooling SuperControl User Manual

177 Daylight for vertical routers and drills refers to the distance from the "tip" of the tool/bit (with the Z-axis at Machine Home position and air-slides down, if applicable) to the surface of the table/spoil board (the bottom of the part). To execute the offsets, the tool call must be followed by an absolute position command(s), positioning the X, Y and Z-axes. At this point, the router selected will be positioned over the absolute point declared. Horizontal Router and Drill Offsets Horizontal tooling offsets for the X and Y-axes are determined by the physical distance from the main tool's bit/tool center to the machined face (or collet) of the horizontal unit. These offset values are stored in the Tool Management under Actuator Setup. Since the length of the horizontal drill/router bit is not a constant, the length of the bit must be defined in the Tool Setup dialog under the Length field and is automatically added to the centerline offset calculation when the tool is called. Horizontal tools typically have two (2) positions on the same unit (X+ and X- or Y+ and Y-). The bit pointed in the positive direction is considered the primary tool (Actuator position #1). SuperControl User Manual Routing and Tooling 169

178 Daylight for horizontal tooling refers to the distance from the "center" of the tool/bit (with the Z-axis at Machine Home position and air-slides down, if applicable) to the surface of the table/spoil board (the bottom of the part). To execute the offsets, the tool call must be followed by an absolute position command(s) positioning the X, Y and Z-axes. At this point, the tip of the horizontal tool selected will be positioned over the absolute point declared. Saw (Fixed Position) Offsets Saw offsets for the X and Y-axes are determined by the physical distance from the main tool's bit/tool center, to the center of the saw arbor and the face of the surface that the saw blade mounts against. These offset values are stored in the Tool Management under Actuator Setup. Since saw blades vary in thickness and tip thickness, the distance from the face that the blade mounts against, to the center of the saw tips, must be defined in the Tool Setup dialog under the Length field. This value is automatically added to the centerline offset calculation when the tool is called. It should be noted that most saw blade bodies are thinner than the saw tips are. Daylight for saws refer to the distance from the "blade tips" (with the Z-axis at Machine Home position, and air-slides down, if applicable) to the surface of the table/spoil board (the bottom of the part). To execute the offsets, the tool call must be followed by an absolute position command(s) positioning the X, Y and Z-axes. At this point, the tip and center of the saw selected will be positioned over the absolute point declared. 170 Routing and Tooling SuperControl User Manual

179 Planer Offsets Planer offsets for the X and Y axes are determined by the physical distance from the main tools bit/tool center to the center of the planer. These offset values are stored in the Tool Management under Actuator Setup. Daylight for a planer refers to the distance from the "blade tips" (with the Z-axis at Machine Home position, and air-slides down, if applicable) to the surface of the table/spoil board (the bottom of the part). To execute the offsets, the tool call must be followed by an absolute position command(s) positioning the X, Y and Z-axes. At this point, the tip and center of the planer will be positioned over the absolute point declared. Aggregate Tooling Aggregate tooling for a CNC router is defined as a separate auxiliary machining head that can be picked up and driven by a tool changing router. This separate machining head is chucked into the router in place of the standard tool holder. A taper on the aggregate head fits the spindle taper while a locator pin keeps the aggregate body from spinning. Examples of aggregate tooling heads are: horizontal routers and drills, saws, multi-spindle vertical drills, preset angled routers, etc. It is important that an Aggregate tool is NEVER used unless it is correctly set up as a separate actuator in Tool Management. It is important that the proper Aggregate actuator Type and Model is selected. The QCore SuperControl PLC uses the Model to make a decision on what the RPM should be limited to. If the Aggregate actuator is not set up properly, it is possible that the Aggregate tool could run at speeds that could result in machine damage or malfunction and result in injury or death! The QCore SuperControl has no physical way to tell if an Aggregate tool is inserted manually into the router spindle. For this reason, the QCore SuperControl records each time the manual tool release button is pushed and assumes that an Aggregate tool may have been inserted into the spindle. After the manual tool release button is pushed, the control will not allow the spindle to turn on until a tool number that is set up to an actuator is executed. If the manual tool release button is pushed and then a tool assigned to a manual Aggregate is called, the QCore SuperControl will not allow the machine to perform any type of automatic tool changes, or changes to any other tool that is not assigned to that same active manual Aggregate. It will remain in this condition until the next time the manual tool release button is pressed, which will then repeat the above scenario (of not allowing the spindle to turn on until a tool number that is set up to an actuator is executed). SuperControl User Manual Routing and Tooling 171

180 During the power-up of an Aggregate ready machine, the PLC polls the Tool Management system for Actuators and Changers and then configures itself to the Actuators and Changers that are found. Important! If the manual tool release button is pressed and then a tool is executed that is setup to an Actuator and Tool Changer and then the machine will assume that the last changeable tool that was in the spindle has been returned to the spindle. It is the programmer/operator's responsibility to ensure that this is the case. If there is any confusion as to which tool was last is the spindle, it will be required to Reset Tool-In-Use. Also, calling an incorrect tool number after an Aggregate tool is manually inserted can also cause the machine to crash into the tool change system! Aggregate Actuator Positions With a Rotary C-Axis As a general rule, all horizontal type aggregate units with a rotary C-axis will have five positions defined for each device "end". This will start with the end that is facing in the X+ direction (or the end that will be in the X+ direction first when rotating the C-axis in the positive direction). If there is no C-axis, the same rule will apply, only manual positioning is required. Position #1 is for the device when pointing or positioned in the X+ direction. Position #2 is for the device when pointing or positioned in the X- direction. Position #3 is for the device when pointing or positioned in the Y+ direction. Position #4 is for the device when pointing or positioned in the Y- direction. Position #5 is a free position, which will NOT apply any offsets. Note: A tool offset for "C" will also be applied, so that when the C-axis is commanded to go to Part Position "0", it will face the appropriate direction. Without a Rotary C-Axis As a general rule, all horizontal type aggregate units without a rotary C-axis will have two positions defined for each device "end". This will start with the end that is facing in the X+ direction. Position #1 is for the axis direction that the device is pointing in. The X+ direction, or in the X- direction, or in the Y+ direction, or in the Y- direction. Position #2 is a free position, which will NOT apply any offsets. Reset Active Tool If a machine is equipped with a tool changer, every time the machine performs a tool change, information about the new tool in the spindle is written to a file, which is stored in the C:\System directory of the QCore SuperControl and is named TOOL- IN.USE. This file keeps the data, so that when the machine performs the next tool change it will understand in what position the current tool should be stored. Also, when the machine is powered down, it will still know what tool is currently in the spindle. Example situations that may require an active tool reset: If the tool change was interrupted or E-Stop was pressed while the information was being written to the file. This could cause the TOOL-IN.USE file to become incomplete. If the Actuator ID, Actuator Position Number, Tool Changer ID, or Tool Changer Position Number information in the Tool Setup Screen are changed for the tool that is currently in the spindle. If the computer in the QCore SuperControl has had the hard drive was replaced, or a System Restore was performed. The tool-in.use file will thus be empty and must be reset before using the machine. 172 Routing and Tooling SuperControl User Manual

181 If tools were removed from the spindle and tool holder positions, and it is unclear as to where each tool should be reinserted. Should any of the above occur, from the Main Menu, select Tool Management->Tool Changer->Reset Active Tool (Rebuild Tool-In-Use) This process will rewrite the TOOL-IN.USE file back to tool #1 and tool holder #1. It is required on a tool changer machine that tool #1 has the "Actuator ID", "Actuator Position Number", "Tool Changer ID", and "Tool Changer Position Number" set to one (1) in the Tool Setup. After a Reset Tool-In-Use is performed, it is required to have tool number one (1) in the spindle and tool position one (1) empty. If the machine is equipped with a bulk style tool changer, a Reset Tool-In-Use will normalize the changer to position #1. Upon selecting Reset Active Tool (Rebuild Tool-In-Use), you will see a warning dialog similar to the one shown below. Important! - Actuator ID, Actuator Position Number, Tool Changer ID, or Tool Changer Position Number in the Tool Setup Screen should not be changed for the tool that is currently in the spindle, or a Reset Tool-In-Use must be run! Tool Reset Failure Procedure Should a problem with Tool Reset be encountered, you will get an error display similar to the one shown below. Do not proceed any further! Place the machine into Emergency Stop and contact the Thermwood Technical Services Department at SuperControl User Manual Routing and Tooling 173

182 Actuator Macros Actuator macros are used to control operation of the machine's actuator(s). They are used, for example, to turn actuators on/off and to verify speeds. Spindle On (M3/M4) M3 turns the active actuator ON in the clockwise direction at the programmed speed (S#). M4 works in the counterclockwise direction. Most standard routers are equipped with programmable spindle speed. This allows the rotation speed of the router to be set or changed during program execution. Only a single speed can be programmed, so that if two or more routers are to operate simultaneously, they must operate at the same speed. If a machine does not have programmable spindle speed and is equipped with an automatic tool changer, it is not necessary to turn the tool off; because the QCore SuperControl will automatically ensure that the tool is off and at zero speed before physically changing the tool. However, at the end of a program, the tool must specifically be turned off. Note: Programmable ON/OFF and programmable spindle speed are usually standard features of the QCore SuperControl. Standard equipped Thermwood routers do not have manual spindle controls. Without Programmable ON/OFF The M3/M4 will call a M31 With Programmable ON/OFF The M3/M4 will turn ON the active actuator, but it will not wait for the tool to be at full speed. With Programmable ON/OFF and with Dual Vertical axes Z & W If there is no axis tie or axis redirect active, the M3/M4 will turn ON the active tool on the Z-axis only, but it will not wait for the tool to be at full speed. If axes tie is active, the M3/M4 will turn ON the active tools on the Z and W-axis, but again it will not wait for the tools to be at full speed. If axis redirect is active, the M3/M4 will turn ON the active tool on the W-axis only. It will not wait for the tool to be at full speed. Note: The M3/4 will not start a W-axis tool unless axes tie or axis redirect is active, if it is not called on the same line as a T#. If it is desired to turn on the W-axis tool without axes tie or axis redirect active, then the M3/M4 must exist on the T# line. Example: T1 M3 Spindle Off (M5) Optional hardware may be required. Turns the active actuator OFF. Program will not wait for motor to stop before continuing. Without Programmable Spindle The M5 will call a M51. With Programmable Spindle The M5 will turn OFF the active actuator. 174 Routing and Tooling SuperControl User Manual

183 Note: If an actuator has an air slide that must be extended during use, the M5 will only turn off the device itself and not retract the air slide. The only exception to this is a device that turns on and down with one output. On/Up To Speed (M31) Without Programmable ON/OFF Verifies if selected tool is ON and up to programmed speed before continuing. This may require optional hardware. Note: The M31 will NOT start the spindle. The M31 will verify if the active actuator is on and the program will wait for the tool to turn on. Without Programmable ON/OFF, with Dual Vertical axes Z & W If there is no Axes Tie or Axis Redirect active, the M31 will verify that the active tool on the Z-axis is on and the program will wait for the tool to turn on. If Axes Tie is active, the M31 will verify that the active tools on the Z and W axes are on and the program will wait for the tools to turn on. Note: If Axis Redirect is active, the M31 will not work for the W-axis head. The M32 macro should be used in this scenario to verify that the active tool on the W-axis is on. The M32 will cause the program to wait for the tool to turn on. With Programmable ON/OFF The M31 will verify if the active actuator is on and will wait for tool to reach full speed before the program continues. With Programmable ON/OFF and with Dual Vertical axes Z & W If there is no Axes Tie or Axis Redirect active, the M31 will verify that the active tool on the Z-axis is on and it will wait for the tool to reach full speed before the program continues. If Axes Tie is active, the M31 will verify that the active tools on the Z and W-axes are on and will wait for the tool to reach full speed before the program continues. Off/Zero Speed (M51) Note: If there is no way to verify that an actuator is on or running and then a M31 or M32 will turn on the actuator as well. Also, if Axis Redirect is active, the M31 will not work for the W-axis head. The M32 macro should be used in this scenario to verify that the active tool on the W-axis is on. The M32 will wait for the tool to reach full speed before the program continues. Without Programmable ON/OFF (cannot check if actuator is still rotating) This will stop the tool and program execution will wait until tool has stopped before continuing. This may require optional hardware. If the actuator is off upon entry, the M51 will not pause. If the actuator is still on, the M51 will wait for not on input, and then pause for "worse case scenario". This pause time is set by Thermwood. Programmable ON/OFF, with no Zero Speed Input (cannot check if actuator is still rotating) If the actuator is off upon entry, the M51 will not pause. If the actuator is still on, the M51 will turn it off and will wait for not on input and then pause for "worse case scenario". This pause time is set by Thermwood. Programmable ON/OFF, with no Zero Speed Input, with Dual Heads (cannot check if actuator is still rotating) SuperControl User Manual Routing and Tooling 175

184 If Axes Tie is not active, the M51 will check the Z-axis tooling only. If Axes Tie is active, the M51 will check the Z and W-axis tooling. If the actuator is off upon entry, the M51 will not pause. If the actuator is still on, the M51 will turn it off and will wait for not on input and then pause for "worse case scenario". The pause time is set by Thermwood. Note: If Axis Redirect is active, the M51 will not work for the W-axis head. The M52 macro should be used in this situation to turn it off and wait for not on input, and then pause for "worse case scenario". Important! Any pause times indicated here may vary from machine to machine. Since there is no way to verify that the router is at zero speed, the pause time is only an estimation and is no guarantee that the router is completely stopped. Programmable ON/OFF, with Zero Speed Input (can check if actuator is still rotating) The M51 will make sure the actuator is off and verify that it is at zero speed before continuing. Drill Bank Note: If an actuator has an air slide that must be extended during use, the M51 and M52 will only turn off the device itself and not retract the air slide. The only exception to this is a device that turns on and down with one output. A drill bank is an option that has many individually selectable drills on (industry standard) 32 mm centers. With a drill bank, the machine has the ability to drill one hole at a time, or a number of holes can be drilled simultaneously (gang drilling). To drill one hole at a time, a tool number is assigned to the individual drill desired. Once selected, that drill will be lowered and is considered as the master or lead drill. Head offsets will automatically be implemented for that drill and the program will position off of it. If it is desired to have another bit drill at the same time, it would then be required to select them with one or more of the slave drill selection macros: <M551 to M561> for a Z-axis drill bank. (M551 will lower the first drill in the Z-axis bank, M552 the second, etc.) <M651 to M661> for a W-axis drill bank. (M651 will lower the first drill in the W-axis bank, M652 the second, etc.) When a new master tool number is called, all previously called drills will first retract. Any slave drills must have their appropriate macro called again. Example: T21 (Tool call for lead drill) M552 (Lowers #2 Z-axis drill as a slave) M553 (Lowers #3 Z-axis drill as a slave) M554 (Lowers #4 Z-axis drill as a slave) Note: If axis tie is active for the Z & W-axis and then the M551 through M561 will lower the slave drills on both the Z & W- axis drill banks. Manual Insertion Tool Changer Your machine may be equipped with an optional feature, which allows you to suspend program operation in mid-cycle and manually change a tool, and then resume the program; similar to the manner in which it occurs in an automatic tool-change operation. This optional feature may be used in place of the Tooling Lockout Switch but the key must be in the operator s possession when doing tooling changes. Some set-up requirements must be completed before this feature becomes 176 Routing and Tooling SuperControl User Manual

185 operational. Even though there is no mechanical tool changer involved, a changer number must be assigned in order for QCore SuperControl to regulate the process. A location within the machine s operating envelope where the tool-change will occur, must also be assigned, along with designated tool numbers, etc. Each tool must likewise be configured and set up in the tool table, just as it would be for any mechanical tool changer. A keyed enable / disable switch is provided to safeguard against any accidental start-up of the router motor or the program cycle during the manual tool-changing process. Set-up Process Begin by selecting Tool Management from the control display tool-bar. When the drop-down box appears, select Tool Changer, and then Changer Setup, as shown here: Note: The Tool Changer Setup dialog is password protected and requires the entry of the correct tooling password to access. Next, follow this procedure: 1. On the No. of changers on machine box, toggle the up arrow to the next position (e.g. 3). 2. Toggle the ID number up (e.g. 3). 3. From the Type dialog bar, select Manual Insertion Style. 4. From the Model dialog bar, select Manual Insertion Style. 5. Click on Tooling Plate and select the appropriate tooling plate (e.g. Z axis) 6. Assign a maximum number of positions in which to conduct tool changes (e.g. 5). 7. In the Type Lock box, select On. 8. Toggle the Position box through all of the positions (e.g. 1, 2, etc). For each position, select the appropriate Description to match the position setting (e.g. Changer Position #1). Also assign the axis Pickup/Drop-off Locations best suited for manually changing a tool. SuperControl User Manual Routing and Tooling 177

186 Remember to pay particular attention to the RPM limitation for the tool you are setting up, and enter the RPM Limit accordingly (the RPM limit may likewise be entered during the tool setup procedure). Each manual tool must also be setup in the tool table to the Manual Insertion Tool Changer ID and position, just as it would be for other tool changers on the machine. If the assigned tool has a maximum allowable RPM that is less than the default RPM of the spindle, it must be entered in the RPM Limit box or in the Tool Setup dialog. Failure to do so could result in catastrophic tool failure as well as serious bodily injury. Important! After setup, THM must be stopped are restarted before the manual insertion feature will function. Tool-Changing Procedures For safety purposes, a key switch, located on the control panel must be turned to the ENABLE position before a tool can be changed manually. All of the axes on the machine, as well as the spindle are inactive while this switch is in the ENABLE position. Do not activate the switch until prompted to do so. The default position for this switch is the DISABLE position. Note: Terms ENABLE and DISABLE, in the context of the key-switch, apply only to the functionality of the manual tool-change process. The spindle can be started with the switch in the disable position, but will not start with the switch in the enable position (i.e., manual tool-change enabled). Automatic to Manual Insertion Tool Change: 1. The machine will halt the program and then proceed to drop off the existing tool into the appropriate location. 2. The following message box will appear on the control display screen: 178 Routing and Tooling SuperControl User Manual

187 3. Insert the key into the Manual Tool Change switch, and turn it to the ENABLE position as shown in the illustration. Depress the green button on the spindle, manually insert the proper tool into the spindle, and then, while holding the tool in place, release the button. After successfully inserting the tool, turn the Manual Tool Change switch back to DISABLE. Note: The spindle will not run with switch in the ENABLE position. 4. The following message box will appear on the control display screen: 5. Press the START to resume the program. Manual to Automatic Insertion Tool Change: 1. The machine will halt the program and then proceed to drop-off location for manually removing the previously inserted tool. 2. The following message box will appear on the control display screen: 3. When the above dialog box appears, turn the Manual Tool Change switch to ENABLE, and remove the tool from the spindle, using the reverse order of the insertion procedure. After successfully removing the tool from the spindle, turn the Manual Tool Change switch to DISABLE. 4. The following message box will appear after the switch has been turned to DISABLE: 5. Press START to resume the program, automatically retrieving a tool from the designated tool rack. Manual to Manual Insertion Tool Change: SuperControl User Manual Routing and Tooling 179

188 1. The machine will halt the program and then proceed to drop-off location for manually removing the previously inserted tool. 2. The following message box will appear on the control display screen: 3. When the above dialog box appears, turn the Manual Tool Change switch to ENABLE, and remove the tool from the spindle, using the reverse order of the insertion procedure. After removing the tool, the following message box will appear: 4. When the above message box appears, insert the tool, using the protocol laid out at the beginning of this instruction set. After the tool has been successfully inserted, turn the Manual Tool Change Switch back to DISABLE. The following message box will appear: 5. Press the START to resume the program. Tool Measurement The Tool Measurement System is capable of acquiring a tool's daylight, length, diameter and length compensation values automatically, for compatible tooling, and writing the value(s) to the tool table for the tool(s) selected. The style of tool used (3-axis or 5-axis) controls what values are written to the tool table. 3-axis style tools will write values for daylight and diameter. 5-axis style tools will write values for length, diameter and length compensation. Note: Diameter measurement requires the high-tolerance sensor switch along with additional hardware/software and may not be available on all machines. Standard Sensor Switch: 180 Routing and Tooling SuperControl User Manual

189 High-Tolerance Sensor Switch: Tool Measurement Setup Before using the Tool Measurement System, several machine variables must be setup. Most importantly, the system needs to know how far the sensor switch is from the desired program reference point (waste/spoil board surface, rotary playback device centerline, etc.). The Tool Measurement System for 5-axis machining is setup based on a standard tool length. Thermwood sets the standard tool length to 2.5". If a tool were extended out of the collet only 2", the Tool Measurement System would write a negative 0.50" length comp value for the tool that was measured. If a tool were extended 3" out of the collet, the Tool Measurement System would write a positive 0.50" length comp value for the tool that was measured. These values can then be used to adjust programs if tool length compensation code is added into the programs in the appropriate locations. Machine Variables for Tool Measurement This is a list of all machine variables used by the Tool Measurement System. Not all of these machine variables are used by all machines. Note: If the tool measuring system was factory installed, these variables are preset and normally require no changing. PRIMARY_LENGTH For the primary end of the main spindle, defines the distance (starting from Machine Home) from the spindle face to the surface of the sensor. This value is always defined for the axis that moves to touch the switch. For 5-Axis use only. Prior to version 8.5.0, the distance was measured from the face of the collet to the senor. PRIMARY_LENCOMP For the primary end of the main spindle, defines the distance (starting from Machine Home) from the standard tool tip to the surface of the sensor. This value is always defined for the axis that moves to touch the switch. For 5-Axis use only. SuperControl User Manual Routing and Tooling 181

190 SECONDARY_LENGTH and SENCONDARY_LENCOMP These two variables are for the secondary end of the main spindle and work the same as PRIMARY_LENGTH and PRIMARY_LENCOMP. In general, for CNC programs generated by CAD/CAM, these values should be the same as the primary end values. PIGGYBACK_STD Defines the distance from Machine Home to the surface of the sensor, for the standard tool length for piggyback tooling. This value is always defined for the axis that moves to touch the switch. For 5-Axis use only. Note: Air-slides must be extended, if applicable. ZPRIMARY_STD This variable is for horizontally mounted switches only. It defines the distance from Machine Home to the surface of the table/spoilboard for the standard tool length (primary end of the main spindle). This is used only for 3-axis style programs utilizing Daylight. ZSECONDARY_STD This variable is for horizontally mounted switches only. It defines the distance from Machine Home to the surface of the table/spoilboard for the standard tool length (secondary end of the main spindle). This is used only for 3-axis style programs utilizing Daylight. ZPIGGYBACK_STD This variable is for horizontally mounted switches only. It defines the distance from Machine Home to the surface of the table/spoilboard for the standard tool length (for Piggyback tooling). This is used only for 3- axis style programs utilizing Daylight. ORGSPOIL This is the original thickness of the table/spoil board. ACTSPOIL This is the actual thickness of the table/spoil board after is has been surfaced (flycut). It is automatically updated during the flycut routine. SWITCHSPOIL This variable is for vertically mounted switches only. It defines the distance from the sensor switch surface to the surface of the original table/spoil board. It is used only for 3-axis style programs utilizing daylight. WASTEBOARD Thickness of the sacrifical sheet that laid upon the surface of the table/spoil board. The wasteboard thickness is automatically updated during the flycut routine and is applied during the daylight calculation. SWITCH2RPU 182 Routing and Tooling SuperControl User Manual

191 This variable is for use with the Rotary Playback Device only. It defines the distance from the sensor switch surface to the centerline of the Rotary Playback Device. SWITCH2FIX1, SWITCH2FIX2, SWITCH2FIX3, SWITCH2FIX4 and SWITCH2FIX5 These five variables allow for custom fixture setups. Each variable defines the distance from the sensor switch surface to any user defined location. LENCLEAR Defines the starting position for the tool sensing routine. This will cause the machine to rapid traverse the sensing axis to this position before performing the routine. This value is always defined for the axis that moves to touch the switch. SWITCHX Defines the distance it takes the X-axis to get the main spindle centered over the switch from Machine Home. SWITCHY Defines the distance it takes the Y-axis to get the main spindle centered over the switch from Machine Home. SWITCHZ Defines the distance it takes the Z-axis to get the main spindle centered over the switch from Machine Home. SWITCHC Defines the distance it takes the C-axis to get the main spindle centered over the switch from Machine Home. SWITCHB Defines the distance it takes the B-axis to get the main spindle centered over the switch from Machine Home. SWITCHA Defines the distance it takes the A-axis to get the main spindle centered over the switch from Machine Home. Sensor Switch Setup The Tool Measurement System measures the distance from the tip of the tool to the sensor, not the table board. Since the sensor is normally mounted below the surface of the table board, Z0 would be set below the table board and would be invalid unless the control adjusts for that difference. SWITCHSPOIL is the machine variable responsible for defining the distance from the switch to the table. When a tool is measured, the distance to the sensor is determined and then the SWITCHSPOIL is subtracted. If the sensor is above the table surface, the SWITCHSPOIL value is added. When the SWITCHSPOIL variable is set to zero, the true distance to the sensor will be measured. SuperControl User Manual Routing and Tooling 183

192 3-axis Sensor Switch Setup: For 3-axis sensor switches, we need to acquire the SWITCHSPOIL machine variable. 1. Move the primary tool from the Z-axis home, downward to touch the surface of the aluminum worktable surface or plastic standoffs; subtract the nominal tableboard thickness from this reading; this is your daylight value. Record this Z-axis value. Home machine. 2. Load and run TL_Switch_Setup.cnc from D:\data\part directory. Follow the on screen directions. You will be prompted to enter the Z axis value recorded in Step 1 and also to select a tool number to measure (select the tool number used in Step 1). The program will now measure the selected tool and write a new SWITCHSPOIL value into Machine Variables. 3. Now is also a good time to set ORGSPOIL, ACTSPOIL and WASTEBOARD machine variables if they have changed. You can verify the new value is correct by measuring the same tool number again and comparing the daylight value with the one found manually in Step 1. 5-axis Sensor Switch Setup: For 5-axis sensor switches, we also need to acquire PRIMARY_LENGTH and PRIMARY_LENCOMP machine variables. The procedure is the same as for 3-axis switches but we'll need to acquire a tool length using the standard tool. PRIMARY_LENGTH is the distance from the spindle end to the sensor switch. The spindle cannot normally touch the sensor without a tool so the length of the installed tool must be measured. Find Tool Length: 184 Routing and Tooling SuperControl User Manual

193 1. Remove the bit, collet and collar nut, then move the spindle until the bottom edge of the arbor or inner ring touches the end of the dial indicator. Set the dial indicator to zero and enter the point. 2. Install the standard tool, then move spindle until the tip of the tool zero's the dial indicator. The distance that the spindle is moved is displayed for the Z axis on the HHP or the control's display. This is the actual tool length. Home machine. 3. Follow steps from 3-axis Sensor Switch Setup. TL_Switch_Setup.cnc will also ask for the tool length found in Step #2. Be sure to use a primary end tool. On dual end spindles, SECONDARY_LENGTH and SECONDARY_LENCOMP Note: When finished with the above steps, always run the Tool Measurement System program again on the primary tool and verify that the daylight value written to the tool table matches the value obtained manually in step #1. This number must match within a few thousands of an inch before a new program is run, or a new tool is measured. If the numbers do not match, repeat the above steps to change the SWITCHSPOIL variable until they match. Acquiring SWITCH2RPU/SWITCH2FIX# 1. Determine the distance to the sensor. a. Jot down the current SWITCHSPOIL variable and then change it to 0 in the machine variables. b. Measure a tool to get the measurement (total movement on Z) to the sensor. c. Jot down the daylight value recorded for that tool. d. Reset the SWITCHSPOIL variable back to the previous setting. 2. Manually measure the daylight value for same tool: a. To the center spur of the head stock for the rotary playback or, b. To the surface of a pod or fixture. 3. Calculate the difference between the values found in Step 1 and 2. This is the actual daylight value for that device. 4. Record the daylight value in the pertinent Machine Variable: a. Rotary Playback = SWITCH2RPU b. Pods = SWITCH2FIX1 THROUGH SWITCH2FIX5 Note 1: Pod is generic for any surface (usually elevated) that is not the table board. Note 2: If the tools are re-measured or measured initially, the new daylight values will be computed as always for the theoretical daylight value of the original tableboard (spoilboard) Sample Pods/Fixtures Program: SuperControl User Manual Routing and Tooling 185

194 (PODS/FIXTURES) G90 [USE_FIX1 = 1] T# (TOOL CALL) (REMAINDER OF PRORAM) M02 Sample Rotary Playback Program: (ROTARY PLAYBACK) G90 [USE_RPU = 1] T# (TOOL CALL) (REMAINDER OF PROGRAM) M02 Note 3: Spindle speeds, fixture offsets and M03 would be included in the program. SET ZSHIFT would be included if required. ZSHIFT is not used with the Rotary Playback Unit. The [USE_??? = 1] is an Advanced Function Language (AFL) instruction. It must be in the program before the tool is called and it tells the computer to use the relevant offset value for the pod surface of the center point of the rotary playback unit. Whenever a tool is called, Z0 is adjusted to the surface of the pod or center spur of the rotary playback unit. A new offset will appear in the PROGRAM OFFSET column. This will also be adjusted for ZSHIFT, if used. The value of 1 turns that feature on, whereas a value of 0 turns it off. Verification To verify the results, a generic program can be created as shown in the examples above. Block step through the program and tool call. The adjustment from the tools daylight value will be shown in the PROGRAM OFFSET as stated prior. To verify: 1. Subtract the SWITCHSPOIL machine variable from the SWITCH2FIX# or SWITCH2RPU variable. 2. Subtract that result from the Tools Daylight Value. 3. This should equal the displayed PROGRAM OFFSET value. DAYLIGHT VALUE - (- SWITCHSPOIL + FIX/RPU VALUE) = PROGRAM OFFSET Using Tool Measurement There are several ways to execute tool measurement: 1. Click the Measure Tools button from the Tooling Display. 2. Select Measure Tools from the Tool Management menu. 3. Manually load and run the Tool_len.cnc program, which is found in the D:\Data\Part\ directory. 4. Run as a subprogram using TOOLSEN.SUB, which is found in the D:\Data\Subs\ directory. Tool Setup for Tool Measurement Criteria for a tool to be eligible for automatic measurement: Must be assigned to an actuator and actuator position that is auto-measurable (set in Actuator Setup) Must have Length or Diameter set to Yes in Tool Setup dialog's Auto Measure Options. If Diameter is set to Yes but the machine does not have the required hardware/software, the setting is ignored. 186 Routing and Tooling SuperControl User Manual

195 When using the high tolerance switch for daylight/length measurement, the spindle will run in reverse at a low RPM only for tools that: Have anything other than zero for Tool Switch Offsets. When using the high tolerance switch for diameter measurement, the spindle will run in reverse at a low RPM Note: You can force the spindle not to run by selecting the Disable Spin option in Tool Setup. Tool Switch Offsets When measuring tool length, not all tools can be measured by coming down over the center of the sensor switch. When measuring diameter, it is necessary to be able to define where along the tool's shank to touch the sensor switch. These offsets can be set in the Tool Switch Offsets dialog. Tool Measuring System Dialog The Tool Measuring System dialog shows a list of tools available to measure. Only tools eligible for measurement are listed. See Tool Setup for Tool Measurement on page 186 for additional information. Highlight (select) a tool from the AVAILABLE TOOLS list and then press the space bar to insert the tools into the SELECTED TOOLS TO MEASURE list. After all the tools you wish to measure are in the second column, Tab to the DO IT Button and press Enter. The machine will then move the selected tool over the sensor switch and then perform the measuring routine. When all the tools selected are measured, the machine will automatically return to Machine Home. The tools will be measured in the order that they appear in the SELECTED TOOLS TO MEASURE list. Multiple tools can be added quickly by holding down the Shift key and using the arrow Up/Down keys to highlight more than one tool number at a time. SuperControl User Manual Routing and Tooling 187

196 Tool Setup information can be viewed by highlighting a tool number in the AVAILABLE TOOLS list and then selecting the View Details button. The Tool Measuring System dialog allows the operator to select as many tools as desired and have them all auto-measured at one time. IMPORTANT! - Length Compensation or Radius Compensation must not be active when running the Tool Measuring System program. IMPORTANT! - It is the Programmer/Operator's responsibility to ensure that the Tool Measuring System program has a safe path to travel to the sensor switch and to Machine Home. IMPORTANT! - Always keep the sensor switch clean and free of dust, dirt and debris. Tool Groups Tools can be saved as a group and then recalled at a later date. This is very useful if the same group of tools will be measured frequently. As many tool groups as desired can be created and they will be stored automatically in the C:\Toolgrp\ directory. To save a set of tools as a group: 1. From the Tool Measuring System dialog, add the desired tool(s) to the SELECTED TOOLS TO MEASURE list. 2. Select Save Group. 3. Enter a name for the group and click Save. (The default name will always be GROUP1.GRP) To load a saved tool group: 1. From the Tool Measuring System dialog, select Load Group. 2. Select from the group names and click Open. To delete a saved tool group: 1. From the Tool Measuring System dialog, select Delete Group. 2. Select from the group names. 188 Routing and Tooling SuperControl User Manual

197 An additional feature when calling the tool measurement program as a subprogram, is the ability to run saved tool groups automatically without having to wait for the dialog for operator selection. To do this, the AFL string variable AUTOGROUP$ must be set to the group name desired and must be placed above the subprogram call. Below is an example syntax to automatically run a tool group named GROUP5.GRP: [AUTOGROUP$="GROUP5.GRP"] M98PTOOLSEN.SUBL1 Pivot Distance Pivot distance is the distance from the center of rotation of rotary axes to the end/face of the spindle. For example, an HSD single ended tool changing spindle measures to the inner ring: Tips for acquiring pivot distance: The machine must be in tram to get an accurate value. A flat tip dial indicator is best, can also use a gauge block. Measure diameter of precision pin or tool as precisely as possible. If the tool has more than one flute, make sure to position off of the highest flute. Acquiring pivot distance: 1. Set an indicator pointing straight up or perpendicular to the machine table. 2. Remove the tool holder. 3. With the router in the straight down position, locate the inner ring (single end) or the end of the arbor (dual end) onto the indicator, and load slightly 4. Enter the motion and zero the indicator. 5. Retract the Z-axis upward and off the indicator. 6. Load a tool holder with a precision pin. The distance the pin is extended from the collet is arbitrary. Rotate axis-5 to the 90 degree position, putting the router in the horizontal position, parallel to the machine table. 7. Position the solid round shank of the tool onto the indicator until you are back at the zero point. 8. Move the spindle down on Z by the radius of the pin. SuperControl User Manual Routing and Tooling 189

198 9. Pivot distance will be displayed on the control and the HHP. You must now enter the value into the Settings/Preferences area where it will be saved. Single end spindle: Dual end spindle: Prior to version pivot distance: Pivot distance was set by measuring the distance from the face of the collet to the pivot point with a 1/2 diameter metal dowel extended from the collet by 2 1/2. The pivot distance was then recorded in a protected file. For the operator/programmer, it is important to know the pivot distance with a standard length tool for setting up fixtures, the automatic tool sensor, utilizing length compensation and performing several complex programming operations. For the CAD/CAM programmer, the pivot distance plus the tool length was needed so the post could calculate the coordinates of the spindle on the linear axes (X, Y and Z), while coordinating the movements on the rotary axes (A, B and C). Without the pivot distance calculation, all of the movements would be based upon the rotation point of the head known as the pivot point. For setting up and particularly, for resetting a fixture, it is important to standardize the length of the setup tool so that the program can be run or rerun with either a tool of the same or different length. Tool length compensation could be applied, if it was needed. Another option is to run the program on a different machine, if the differences in pivot distance and tool length were accounted for. Referring to the illustrations below: 190 Routing and Tooling SuperControl User Manual

199 1. Set an indicator pointing straight up or perpendicular to the machine table. 2. With the router in the straight down position, locate the tip of the standard tool onto the indicator, and load slightly (see illustration A). 3. Enter the motion and zero the indicator. 4. Retract the Z-axis upward and off the indicator, then rotate axis-5 to the 90 degree position, putting the router in the horizontal position, parallel to the machine table (see illustration B). 5. Position the solid round shank of the tool onto the indicator until you are back at the zero point. 6. Move the spindle down on Z by the radius of the pin. 7. The distance that was needed to move from step 2 to step 6 is the pivot distance for the tool that is currently in the router. SuperControl User Manual Routing and Tooling 191

200

201 Hand Held Programmer Thermwood s Hand Held Programmer (HHP) provides a simple, intuitive method for developing and editing programs at the machine. It uses the actual machine as feedback during programming. An Emergency Stop switch, which serves the same purpose as the Emergency Stop switch on the control panel, is incorporated into the case of the HHP on the top, just above the display. Illustrated on the following pages is a compilation of commands and functions, as well as screen images and keystrokes associated with the various commands. Some of the programming functions utilize only the touch key pad, while others will utilize a combination of both the keys, and the touch screen graphics. The touch screen is only available on the G56 style HHP. When developing programs, the HHP is used to move the machine through the various motions required to construct a cutpath program. These axis movements can be adjusted and refined until the program follows the exact tool path required for the program. When the [Enter] key is pressed, the EIA NC Code required to move from the last location to the new location is automatically written and inserted into the program. Programming with the HHP consists of keying in commands to move each axis of the machine as required, to construct the desired tool path. During this process, depending on the program, both single-axis and multi-axis motions may be entered, along with their desired speeds. There are specific sets of key sequences for programming arcs, circles, and other functions. SuperControl User Manual Hand Held Programmer 193

202 During programming with the HHP, the display on the SuperControl will show the program blocks as they are entered, using the same screens that are used when programming with the Main Menu system. The HHP plugs into a receptacle located on the left side panel of the main control cabinet. The receptacle is provided with a special plug-cap, which must be removed before inserting the HHP connector. This cap must remain in place at all times when the HHP is not connected. The machine will not function properly unless either the HHP, or this cap, is in place. The screen backlight is designed to automatically dim after a predetermined time. To resume the backlight, press any key, or tap lightly on the screen. The following legend is used in describing the keystrokes: [ ] - This indicates keystroke that is necessary for the command. { } - This indicates keystroke that is optional for the command. # - This indicates an axis designation is to be used here. DIST - The distance for the axis should be substituted here. ANGLE - Type the required angle (in degrees) here. +/ - This indicates that either the [+] key or [ ] key should be typed, but not both. A keystroke in italics indicates the key must be held down. Main Panel Simulation Start Keystrokes: [SHIFT] [Start] Performs the same function as pressing the CYCLE START button on the SuperControl main panel. Block Stop Keystrokes: [Step] When a program is running, performs the same function as pressing the BLOCK STOP button on the SuperControl main panel. Feed Hold Keystrokes: [Feed Hold] Performs the same function as pressing the FEED HOLD button on the SuperControl main panel. Step Keystrokes: {-} [Step] Performs the same function as pressing the BLOCK STEP+ and BLOCK STEP- buttons on the SuperControl main panel. Program Navigation And Editing The program can be edited using the gray bar, as with the main control console. The grey bar is positioned over the line of code, and the keypad is used to enter text. The arrow keys, Home, End, PgUp and PgDn can be used without using the [SHIFT] key first. Edit Line Menu: Edit->Edit Line 194 Hand Held Programmer SuperControl User Manual

203 Edits the gray bar line. See Edit Line. Note: Edit Line is only available on the G56 style HHP Enter Text Menu: Edit->Enter Text Enters a new line above the gray bar. See Enter Text. Note: Edit Line is only available on the G56 style HHP Delete Line Keystroke: [SHIFT][Delete] Deletes the gray bar line. Teach Screens Each teach screen is associated with a teach dialog. Opening a teach screen will open its associated teach dialog within THM and vice-versa. All teach screens support the clear command: Clear Keystrokes: [Esc] The Clear command is used after development of a program block has begun, but before the block is entered. Pressing the [Esc] key will erase any development keyed in for this block and will return any axis or axes that were moved during development to the last position entered. The [Esc] key will only take the menu screen back one level. WARNING! When clearing a multi-axis straight line motion, the axes will return to the last entered position via a straight line and not via the path used to reach the current position. Make certain a clear path exists to the last entered point before pressing [Esc] Pressing [Esc] after a circle or arc has been developed, but prior to pressing [Enter], will cause the machine to return to the last entered point via the same circular path that was developed and all data associated with the circle will be cleared. Line Keystrokes: [AXIS] Menu: Teach->Motion->Line The Line Teach screen programs G00 or G01 motions and is the most commonly used screen on the HHP. It works with and will be shown any time the Teach Line dialog is open. See Teach Line dialog for additional information. SuperControl User Manual Hand Held Programmer 195

204 To program a line: [AXIS] [#] [DIST] [+/-] - Define endpoint for first axis {[AXIS] [#] [DIST] [+/-]} - Define endpoint for consecutive axes. [Enter] - Write motion to program. CAUTION: Be prepared to press the EMERGENCY STOP switch, in the event of an entry error. Menu Options: Feed Rate Enter program feed rate. Can also be opened with [SHIFT][Feed Rate]. Dimension Select from absolute or incremental dimension mode. Motion Select from linear (G01) or rapid (G00) mode. MDI Mode Select from Move or Wait mode. Tool Center Point Toggles Tool Center Point on or off. Record Daylight Write daylight value to Tool Table for active tool. Record Offset Save axis positions as a fixture offset. See Record Offset. Record Offset The Record Offset screen is accessed only from the Line Teach screen. It saves axis absolute positions into the fixture offset table. It works with and will be shown any time the Record Offset dialog is open. See Record Offset dialog for additional information. 196 Hand Held Programmer SuperControl User Manual

205 The current and new values for the selected offset number are shown in the table on the right side of the screen. To record a fixture offset: 1. From the Line Teach screen, move the axes to the location you wish to designate as the offset. 2. Select Record Offset from the HHP menu system. 3. Choose a fixture offset Number (1-999). 4. Select which axes to include. 3-Axis machines default to X and Y axes; 5-Axis machines default to X, Y and Z axes. 5. Select OK. No code is written to the program. Note: You must move all axes that are to be associated with the offset location. Options: Apply TCP Adds Tool Center Point offsets into the fixture offset values. Temp Leave Offset Closes the Line Teach screen and makes the selected fixture offset number active. Arc/Helix Keystrokes: [SHIFT][5] Menu: Teach->Motion->Arc/Helix The Arc Teach screen programs G02 or G03 motions. It works with and will be shown any time the Teach Arc dialog is open. See Teach Arc dialog for additional information. SuperControl User Manual Hand Held Programmer 197

206 To program an arc: [AXIS] [#] [DIST] [+/-] - Define center of arc [AXIS] [#] [DIST] [+/-] - Define center of arc [SHIFT] [7] [ANGLE][+/-] - Define angle in the range 0 to 360 degrees [Enter] - Write motion to program. To program a helix: [SHIFT] [2] [+/-] - Change to WAIT mode [AXIS] [#] [DIST] [+/-] - Define center of arc [AXIS] [#] [DIST] [+/-] - Define center of arc [SHIFT] [7] [ANGLE][+/-] - Define angle in the range 0 to 360 degrees [AXIS] [#] [DIST] [+/-] - Defines the linear component of the helix [SHIFT] [2] [+/-] - Change to WAIT mode [AXIS] - Forces execution of axial movements that were entered [Enter] - Write motion to program. Menu Options: Feed Rate Enter program feed rate. Can also be opened with [SHIFT][Feed Rate]. Dimension Select from absolute or incremental dimension mode. Motion Select from linear (G01) or rapid (G00) mode. MDI Mode Select from Move or Wait mode. Angle (Shift 7) Move cursor to angle entry field. Can also be accessed with [SHIFT][7]. 198 Hand Held Programmer SuperControl User Manual

207 3 Point Arc This will convert the last two line blocks into a single arc motion. See 3 Point Arc. Normalize Axes Menu: Teach->Motion->Normalize The normalize screen is used to return one or more axes to their reference, or Machine Home position. - [#] - Normalize an axis {#2} - Normalize any additional axes. [Enter] - Writes a G45 command into the part program. [Esc] - Cancel and close normalize screen. Note: On the G55 HHP, Normalize is available from the Miscellaneous Options screen [SHIFT][Hold-To-Run]. Ellipse Menu: Teach->Motion->Ellipse The Ellipse Teach screen programs G12 or G13 motions. It works with and will be shown any time the Teach Ellipse dialog is open. See Teach Ellipse dialog for additional information. SuperControl User Manual Hand Held Programmer 199

208 To program an ellipse: [SHIFT][2][+/-] - Set direction [AXIS][#][DIST][+/-] - Define endpoint in first axis [AXIS][#][DIST][+/-] - Define endpoint in second axis [SHIFT][8] - Perform ellipse motion [Enter] - Write motion to program Menu Options: Feed Rate Enters ellipse feed rate. Can also be opened with [SHIFT][Feed Rate]. Dimension Select from absolute or incremental dimension mode. Also accessed with [SHIFT][2]. Direction Select from Clockwise (G12) or Counterclockwise (G13) Move Axes Executes the ellipse motion once both axes and distances are entered. Also accessed with [SHIFT][8]. I/O Inputs and Outputs can be entered with the G56 style HHP using the touch screen. Input Touch Screen: Teach->I/O->Input To program an input: [#] - Choose input number [Enter] - Enters the output command into the part program. Menu Options: 200 Hand Held Programmer SuperControl User Manual

209 Condition Toggles input condition ON (M60L#) or OFF (M60L-#) Note: On the G55 HHP, Input is available from the Miscellaneous Options screen [SHIFT][Hold-To-Run]. Output Touch Screen: Teach->I/O->Output To program an output: [#] - Choose output number [Enter] - Enters the output command into the part program. Menu Options: Condition Toggles output condition ON (M61L#) or OFF (M62L#) Note: On the G55 HHP, Output is available from the Miscellaneous Options screen [SHIFT][Hold-To-Run]. Pause Touch Screen: Teach->Pause Enter a pause (G04) time in seconds and press [Enter] to enter into the part program. Note: On the G55 HHP, Pause is available from the Miscellaneous Options screen [SHIFT][Hold-To-Run]. Feedrate Override This allows the programmer to take control of the machine's feedrate override control. The FEED OVERRIDE field of the Status Display will turn yellow and include the text "HHP" to indicate the HHP has feedrate override control. To re-gain feedrate override control from the knob on the main panel, turn it either direction. Set to 0 Percent Keystrokes: [Feed% 0] Feedrate Override is set to 0% of programmed feedrate. SuperControl User Manual Hand Held Programmer 201

210 Adjust Percent Keystrokes: [Feed% + / Feed% -] Adjust feedrate override by the current override increment. Press and holding the [Feed% +] key will set the feedrate override to 100%. If already on 100%, then 120% is used. Override Increment Keystrokes: [SHIFT][Feed% + / Feed% -] Toggles feedrate override increment between: 1, 5, 10 and 20% The current feedrate override increment is shown at the bottom of the Teach Line, Teach Arc and Teach Ellipse screens. Pulse Control Pulse Control allows the programmer to make small, incremental moves either in a single or continuous pulse mode. Power pulse is similar to continuous pulse mode but allows a higher feedrate. Note: Pulse Control is only active from the Teach Line screen and requires an axis number to be selected first. Single Pulse Keystrokes: [Pulse+ / Pulse-] Moves an axis at a low feedrate and for one pulse increment. Continuous Pulse Keystrokes: [Pulse+ / Pulse-] Moves an axis at a low feedrate until the key is released. Power Pulse Keystrokes: [SHIFT][Pulse+ / Pulse-] Moves an axis at the current Feed Rate setting of the Teach Line screen until the key is released. Note: This feature does not work with Axis 0 Pulse Increment Keystrokes: [SHIFT][Pulse+ / Pulse-] Toggles pulse increment between: , , and in The current pulse increment is shown at the bottom left of the Line Teach screen. Hold-To-Run The first key on the top left of the keypad is blank. This is the Hold-To-Run (HTR) key. This key is used to enable the axes to be moved with the HHP, while the safety-guard interlock switch (on European style machines) is in the open position. Your HHP may instead use a Hold-To-Run button attached next to the E-STOP switch. 202 Hand Held Programmer SuperControl User Manual

211 Advanced Function Language Advanced Function Language (AFL) is a fully functional computer programming language that runs within the EIA NC code on a Thermwood QCore SuperControl. Using AFL, it is possible to create highly sophisticated CNC programs that can define and use variables, perform loops and do conditional branching. These programs obtain input either from the operator, external switches/sensors or from internally maintained variables. Programs developed using AFL can be packaged as macros, which can then be called by other programs. This allows the operator to "customize" functions or add new control capabilities to the QCore SuperControl. With AFL, the programmer is no longer limited to those control functions supplied with the original system. By using the simple commands of AFL, the programmer can extend and expand the functions of the QCore SuperControl to address special needs. AFL is similar in application and syntax to BASIC. It was written using this syntax because BASIC is an easy language to learn and its fundamental program structure is similar to the structure of a CNC program. For "off-line" programming, the AFL commands can be incorporated with the EIA commands using an ASCII compatible word processor. Some program preparation systems support the addition of AFL commands during development. Others require that the EIA portion of the program be developed and then the AFL commands added using a word processor. AFL commands can also be incorporated right at the QCore SuperControl using the Tab Editor or the background editor. Note: Programmers wishing to program using AFL should be familiar with programming in BASIC. No attempt will be made to cover the fundamentals of BASIC programming in this manual. For further information on BASIC programming, see the many printed and online reference sources available. Syntax AFL statements are intermixed with EIA code within the NC program. In order to distinguish between EIA NC code and AFL statements, all AFL statements must be delineated by leading and trailing square brackets [ ]. For example, [RETURN], [GOTO 56], [ABS(X)], etc. In addition, in many cases whenever a numeric or string value is required by the NC Code, an AFL variable's value may be substituted by inserting the variable name surrounded by square brackets. There are two commands that do not require square brackets, IF/ENDIF and SET. Example of AFL variables used in place of normal program values: G01 X[LENGTH] Y[WIDTH] Z[HEIGHT] F[SPEED] In this example, a straight line will move in the X direction a distance defined by the variable LENGTH, in the Y direction a distance defined by the variable WIDTH and in the Z direction a distance defined by the variable HEIGHT. It will move at a feed rate as defined by the variable SPEED. Each of the statements described in this section use the following conventions: 1. AFL requires all letters to be UPPERCASE unless they are part of a quoted string. 2. Items in pointed brackets (< >) are optional. SuperControl User Manual Advanced Function Language 203

212 3. All punctuation (commas, parentheses, semicolons, etc.), except those contained in pointed brackets, must be included where shown. Character Set The AFL character set consists of alphabetic characters, numeric characters and special characters. These are characters AFL recognizes. The alphabetic characters are the uppercase and lowercase letters of the alphabet. The numeric characters are the digits 0 through 9. The following special characters have specific meanings in AFL: Character Name + Plus sign or concatenation symbol - Minus sign * Asterisk or multiplication symbol / Slash or division symbol ^ & Logical OR < Less than Caret or exponentiation symbol Ampersand or logical AND <=, =< Less than or equal <>, >< Not equal > Greater than >=, => Greater than or equal = Equal sign or assignment operator ( Left parenthesis ) Right parenthesis # Number sign $ Dollar sign or string type declaration, Comma. Period or decimal point ; Semicolon : Colon or statement separator Reserved Words There are certain words, called Reserved Words, which have special meaning to AFL. IMPORTANT! - Reserved Words MAY NOT be used as variable names! Reserved Words include all commands, functions, operator names and predefined machine variables. Separate all Reserved Words from data or other parts of AFL statement by using spaces or other special characters as allowed by the syntax. It is necessary to do this so that the QCore SuperControl will recognize the word as the proper AFL feature. All SINGLE letters of the alphabet that are used on the target machine as an axis nomenclature should be considered Reserved Words and NOT be used as variable names. Typically, most machines will have an X, Y and a Z-axis. In this case, X, Y, Z and X$, Y$ and Z$ should be considered Reserved Words, but X1, Y1, Z1 and X1$, Y1$, Z1$ would be valid variable names. 204 Advanced Function Language SuperControl User Manual

213 Expressions, Variables & Values AFL values can be numeric or strings. Numeric values represent numbers. String variables consist of characters (numeric and alphabetic) which are not treated as numbers, but as text. Values are typically used to initialize variables and can be used a parameters to commands and functions. Example values: "Hello World" An AFL variable is a symbolic representation of a value. Variable names may contain numbers such as VARIABLE10, but the number(s) must be on the end of the variable name. Variable names such as VARIA10BLE or 10VARIABLE are not permitted. Variable names may contain up to 32 characters. String variable names must end with a $. This lets AFL know that the variable is a string variable and should be treated as such. The string that the variable represents or is assigned to can be 0 to 95 characters and should be enclosed in quotation marks. Numeric variables can be either integers or real numbers. They cannot contain commas. Using a + sign is optional on a positive number. Variables are declared when they are used in a program. Example variable declarations: [MYVAR$ = "Hello World"] [MYVAR1 = 1.234] [MYVAR2 = 25] [MYVAR3 = MYVAR1] IMPORTANT! Be sure to declare and initialize variables before using them! AFL expressions combine one or more values, variables, and functions together using operators. Example expressions: [MYVAR$ = "Hello" + " World"] [MYVAR1 = ] [MYVAR2 = 25 + MYVAR1 + 1] [MYVAR3 = MYVAR1 + MYVAR2] Operators Operators are used to perform actions on values, variables and functions. Operators can be used to combine values, variables and functions into an expression. There are three types of operators in AFL: Arithmetic, Relational and Logical Arithmetic Operators Arithmetic Operators perform basic arithmetic operations such as addition and subtraction. Operator Description Example + Addition [X1+Y1] SuperControl User Manual Advanced Function Language 205

214 - Subtraction [X1-Y1] * Multiplication [X1*Y1] / Division [X1/Y1] ^ Exponentiation [X1^Y1] Relational Operators Relational Operators compare two values. The values may be either both numeric or both string. Numeric values cannot be compared to string values. The result of this comparison is either true (-1) or false (0). This result is normally used with an IF - THEN statement to control program flow. Operator Description Example = Equality [X1=Y1] <> or >< Not equal [X1<>Y1] (X1 Not equal to Y1) [X1><Y1] (X1 Not equal to Y1) < Less than [X1<Y1] (X1 is less than Y1) > Greater than [X1>Y1] (X1 is greater than Y1) <= or =< Less than or equal [X1<=Y1] (X1 less than or equal to Y1) [X1=<Y1] (X1 less than or equal to Y1) >= or => Greater than or equal [X1>=Y1](X1 greater than or equal Y1) [X1=>Y1] (X1 greater than or equal Y1) The equal sign is also used to assign a value to a variable. This is accomplished by equating the variable name with the desired value, for example: [LENGTH = ] [PERSONNAME$ = "JOHN SMITH"] [ALPHABET$ = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"] [VARIABLE1$ = VARIABLE2$] [AREA = LENGTH * WIDTH] When arithmetic and relational operations are combined in one expression, the arithmetic is always performed first. For example, the following is true if the value of X-Y is less than the value of Z/3: [X-Y < Z/3] In evaluating the expression the arithmetic expressions X-Y and Z/3 are first calculated and then the resulting values are compared using the relational operator "<". String comparisons can be thought of as "alphabetical". One string is "less than" another if the first string comes before the other alphabetically. Lower case letters are "greater than" their uppercase counterparts. Numbers are "less than" letters. The way two strings are actually compared is by taking one character at a time from each string and comparing the ASCII codes for that character. If all the ASCII codes are the same, the strings are equal. Otherwise, as soon as the ASCII codes differ, the string with the lowest code number is less than the string with the higher code number. If, during the string comparison, the end of one string is reached, the shorter string is said to be smaller. Leading and trailing blanks are significant. ALL string constants used in comparison expressions must be enclosed in quotation marks, for example: ["FILENAME" = "FILENAME"] ["STRING1" < "STRING2"] ["ABC" < "BCD"] 206 Advanced Function Language SuperControl User Manual

215 Logical Operators Logical Operators perform logical, or "Boolean", operations on numeric values. Logical Operators are normally used to logically connect two or more relations and return a true or false value to be used in a decision. A Logical Operator takes a combination of true-false values and returns a true or false result. An operand of a Logical Operator is considered to be "true" if it is not equal to zero (like the -1 returned by a Relational Operator), or "false" if it is equal to zero. The number is calculated by performing the operation bit by bit as explained below. For example, the statement(s): [1 + 2 < 2 * 3] is true, [4 ^ 2 > 3 * 5] is true and ["abcd" > "abcd"] is false. Input/Output AFL can acquire data from: Files Keyboard Machine Variables AFL can output data to: Files Display Screen Machine Variables Input/Output to File A file is a collection of information, with a unique name, which is kept somewhere other than the random access memory. AFL performs I/O operations using a file number. The file number is a unique number that is associated with the actual physical file when it is opened. Up to sixteen files can be open at one time. See OPEN command. Output to Screen AFL can display text and special characters on the AFL Screen. This window is 80 characters wide by 12 lines deep and is located in the center of the screen. To output to the screen, it is necessary to first open the window with a WINDOW ON command and then output the data using the PRINT command. The WINDOW OFF command then removes the window from the screen. CLS clears the window. Input from Keyboard Data can be input from the keyboard to the program using the INPUT or LINE INPUT commands. This is normally accomplished by opening a window, requesting the required information and accepting the information from the keyboard. When the display window is open, characters typed on the keyboard will be echoed on the screen. Commands & Functions AFL commands are statements that do not return any values. AFL functions are statements that may require one or more parameters and always return a value. Numeric Functions Numeric functions are specialized math operations that can be performed on an expression. SuperControl User Manual Advanced Function Language 207

216 Function ABS (x) ACOS (x) ASIN (x) ATN (x) COS (x) EXP (x) FIX (x) INT (x) LOG (x) RND (x) SIN (x) TAN (x) Result Returns the absolute value of x Returns the arc-cosine (in radians) of x Returns the arc-sine (in radians) of x Returns the arc-tangent (in radians) of x Returns the cosine of angle x where x is in radians Raises the constant e to the x power Truncates x to an integer Returns the largest integer less than or equal to x Returns the natural logarithm of x Returns a random number Returns the sine of angle x where x is in radians Returns the tangent of angle x where x is in radians String Functions String functions are specialized text operations that are performed on one or more string expressions. Function Result ASC (x1$) Returns the ASCII code for the first character in x1$ INSTR (x1$, y$) Searches for the first occurrence of y$ within x1$ LCASE$ (x1$) Returns lower case representation of x1$ LEFT$ (x1$, n) Returns the first n characters in x1$ LEN (x1$) Returns the number of characters in x1$ LTRIM$ (x1$) MID$ (x1$, n, m) Returns x1$ less leading spaces, if any. Returns n characters in x1$ starting at position m RIGHT$ (x1$, n) Returns the last n characters of x1$ RTRIM$ (x1$, n) VAL (x1$) Returns x1$ less trailing spaces, if any. Returns the numeric value of x1$ where x1$ represents an integer or floating point number. Command/Function List This is a list of AFL commands and functions available to programmers. You may see additional ones being used by Thermwood macros but if they aren't defined here then they aren't intended for general use. Unless otherwise noted, all parameters that are distances (inches or millimeters) are expected to be entered in the same units as the current modal state (G70 or G71). Also, all functions that return distance values will return them in the current modal state. WARNING! Some AFL functions can change machine parameters (acceleration, gain, etc.) and do not prevent you from providing values exceeding the machine's capability. Use with caution. 208 Advanced Function Language SuperControl User Manual

217 ABS Function Purpose Calculates an absolute value. Format ABS(nValue) Parameters Name Description Type Notes nvalue Numeric Expression Return Value Returns the absolute value of nvalue. Remarks The absolute value of a number is always positive or zero. Example [PRINT ABS(-21*2)] This will return a 42. The absolute value of a negative 42 is positive 42. Notice that the arithmetic operations are calculated first then the ABS function is executed. ABSPOS Function Purpose Read axis absolute position. Format ABSPOS(AxisNum) Parameters Name Description Type Notes AxisNum Axis Number Numeric Expression Integer Only Return Value SuperControl User Manual Advanced Function Language 209

218 Returns the absolute position of the designated axis with respect to the axis' machine zero position. Return values will match the axis' positional units (inches, millimeters or degrees), depending on the current modal unit state and axis type. Remarks Absolute Position display on the Main Screen may differ from the value returned using ABSPOS. This is due to axis compensation measures taken at Thermwood. Be assured, however, the value returned by the ABSPOS function is the actual distance from machine home. Example [PRINT ABSPOS(1)] ABSRELL Function Purpose Read axis program position. Format ABSRELL(AxisNum) Parameters Name Description Type Notes AxisNum Axis Number Numeric Expression Integer Only Return Value Returns the program position of the designated axis with respect to the axis' fixture offset position. Return values will match the axis' positional units (inches, millimeters or degrees), depending on the current modal unit state and axis type. Remarks None Example [PRINT ABSRELL(1)] ACOS Function Purpose Calculates the trigonometric arc-cosine. 210 Advanced Function Language SuperControl User Manual

219 Format ACOS(nValue) Parameters Name Description Type Notes nvalue Numeric Expression Range: -1 to 1 Return Value Returns the arc-cosine of nvalue in the range 0 to π (pi) radians. Remarks To convert from radians to degrees, multiply the radians by 180 / π. Example [PRINT ACOS(-1)] This will return a ACTIVECODE$ Function Purpose Read active codes. Format ACTIVECODE$ Parameters None Return Value Returns a string value containing all the G/M codes shown in the Active Codes display. Remarks Requires THM Example [PRINT ACTIVECODE$] SuperControl User Manual Advanced Function Language 211

220 ADJDIAMCOMP Command Purpose Radius Compensation temporary adjustment. Format [ADJDIAMCOMP, nvalue] Parameters Name Description Type Notes nvalue Radius Compensation Adjustment Value Numeric Variable Must be in inches. Return Value None Remarks This is will cause Radius Compensation to adjust the tool path by an extra amount. This amount is added to the normal radius value of the currently active tool (which is defined in the tool setup table). This can be very useful for performing cleanup passes without having to call a different tool with a larger diameter. This allows variations of the tool path without disturbing the actual diameter values set in the tool setup table for a particular tool. The adjustment value is reset to zero by a Machine Home, M02, M30 or a [ADJDIAMCOMP, 0]. Requires THM to use an AFL variable for nvalue. Example [ADJDIAMCOMP,.05] G41 ADJFIXOFF Command Purpose Fixture offset temporary adjustment. Format [ADJFIXOFF, AxisNum, nvalue] Parameters 212 Advanced Function Language SuperControl User Manual

221 Name Description Type Notes AxisNum Axis Number Numeric Value Integer Only nvalue Fixture Offset Adjustment Value Numeric Variable Return Value None Remarks Adjustment values will be applied the next time a fixture offset is called. It does not change the actual values in the fixture offset table. The adjustment values are reset to zero by a Machine Home, G52L0 or a [ADJFIXOFF, #, 0] for each axis as needed. Requires THM to use an AFL variable for nvalue. Example [ADJFIXOFF,1, -4] [ADJFIXOFF,2, ] G52L55 ADJLEN Command Purpose Tool Length temporary adjustment. Format [ADJLEN, nvalue] Parameters Name Description Type Notes nvalue Tool Length Adjustment Value Numeric Variable Must be in inches. Return Value None Remarks The adjustment value will return to zero after a Machine Home. Requires THM to use an AFL variable for nvalue. Example [ADJLEN, 1.23] SuperControl User Manual Advanced Function Language 213

222 ADJLENCOMP Command Purpose Tool Length Compensation temporary adjustment. Format [ADJLENCOMP, nvalue] Parameters Name Description Type Notes nvalue Tool Length Comp Adjustment Value Numeric Variable Must be in inches. Return Value None Remarks The adjustment value will return to zero after a Machine Home. Requires THM to use an AFL variable for nvalue. Example [ADJLENCOMP, 1.23] ASC Function Purpose Converts string character to its associated ASCII code. Format ASC(sValue) Parameters Name Description Type Notes svalue String Expression Single character. Return Value 214 Advanced Function Language SuperControl User Manual

223 Returns the ASCII code for the first character of svalue. Remarks The CHR$ function is the inverse of the ASC function. Example [PRINT ASC("TEST")] This will return an 84, which is the ASCII code for the first letter of "TEST" which is a capital "T". ASIN Function Purpose Calculates the trigonometric arc-sine. Format ASIN(nValue) Parameters Name Description Type Notes nvalue Numeric Expression Range: -1 to 1 Return Value Returns the arc-sine of nvalue in the range -π / 2 to π / 2 radians. Remarks To convert from radians to degrees, multiply the radians by 180 / π. Example [PRINT ASIN(-1)] This will return a ATN Function Purpose Calculates the trigonometric arc-tangent. Format SuperControl User Manual Advanced Function Language 215

224 ATN(nValue) Parameters Name Description Type Notes nvalue Numeric Expression Return Value Returns the arc-tangent of nvalue in the range -π / 2 to π / 2 radians. Remarks To convert from radians to degrees, multiply the radians by 180 / π. Example [PRINT ATN(-1)] This will return a AXID$ Function Purpose Convert axis number to name. Format AXID$(AxisNum) Parameters Name Description Type Notes AxisNum Axis Number Numeric Value Integer Only Return Value Returns a single character string representation for the specified axis. Remarks None Example [PRINT AXID$(1)] This will return the string character "X" in systems where the X-axis is mapped to axis Advanced Function Language SuperControl User Manual

225 BOARDLIFE Function Purpose Read board life left. Format BOARDLIFE Parameters None Return Value Returns board life left in the range 0 to 100 percent. Remarks None Example [PRINT BOARDLIFE] CALL Command Purpose Call subprogram. Format [CALL SubName] Parameters Name Description Type Notes SubName Subprogram Name String Variable Return Value None Remarks SuperControl User Manual Advanced Function Language 217

226 This works the same as a M98 but always runs only one iteration of the subprogram. Example [CALL "MYSUB.TXT"] CHR$ Function Purpose Returns the ASCII character equivalent of an integer. Format CHR$(nValue) Parameters Name Description Type Notes nvalue ASCII Character Code Numeric Expression Range: 0 to 255 Return Value Returns a one character ASCII string of the specified character code. Remarks CHR$ is commonly used to send special characters to the screen or printer. Example [PRINT CHR$(82)] This will return the character "R". CIRCUMCENTER Function Purpose Calculate circle center position given three points on the circle. Format CIRCUMCENTER(AxisNum, Point1X, Point1Y, Point1Z, Point2X, Point2Y, Point2Z, Point3X, Point3Y, Point3Z) Parameters 218 Advanced Function Language SuperControl User Manual

227 Name Description Type Notes AxisNum Axis Number Numeric Expression Integer Only Point1X Point #1 X Position Numeric Expression Point1Y Point #1 Y Position Numeric Expression Point1Z Point #1 Z Position Numeric Expression Point2X Point #2 X Position Numeric Expression Point2Y Point #2 Y Position Numeric Expression Point2Z Point #2 Z Position Numeric Expression Point3X Point #3 X Position Numeric Expression Point3Y Point #3 Y Position Numeric Expression Point3Z Point #3 Z Position Numeric Expression Return Value Returns circle center coordinate for the specified axis. Remarks None Example [XCENTER = CIRCUMCENTER(1, X1, Y1, Z1, X2, Y2, Z2, X3, Y3, Z3)] This will return the X coordinate of the circle center. CLOSE Statement Purpose Concludes I/O to a device or file. Format [CLOSE #FileNum] Parameters Name Description Type Notes FileNum File Number Numeric Value Range: 0 to 255 Return Value None SuperControl User Manual Advanced Function Language 219

228 Remarks The association between a particular file or device and its stream number stops when CLOSE is executed. Subsequent I/O operations specifying that stream number will be invalid. The file or device may be opened again using the same or a different stream number; or the stream number may be reused to open any other device or file. Refer to the OPEN statement for additional information on opening and closing files and devices. Example [CLOSE #1] CLS Command Purpose Clear the AFL display window. Format [CLS] Parameters None Return Value None Remarks Returns the AFL cursor to the upper, left hand corner of the AFL display window. Example [CLS] CLSMSG Command Purpose Clear the text buffer used by PRINTMSG. Format [CLSMSG] 220 Advanced Function Language SuperControl User Manual

229 Parameters None Return Value None Remarks None Example [CLSMSG] CLSQCP Command Purpose Clears all QuickCut progress text. Format [CLSQCP] Parameters None Return Value None Remarks None Example [CLSQCP] COS Function Purpose Calculates the trigonometric cosine. Format SuperControl User Manual Advanced Function Language 221

230 COS(nValue) Parameters Name Description Type Notes nvalue Numeric Expression Return Value Returns the cosine of nvalue in the range -1.0 to 1.0 radians. Remarks To convert from radians to degrees, multiply the radians by 180 / π. Example [PRINT COS(0.0)] This will return a 1.0. DATE$ Function Purpose Read the current system date. Format DATE$ Parameters None Return Value An eight character string of the form mm/dd/yy where mm is two digits representing the month, dd is two digits representing the day, and yy is the last two digits of the year. is returned. For example, the string "12/31/13" represents December 31, Remarks None Example [PRINT DATE$] 222 Advanced Function Language SuperControl User Manual

231 DOTOOLS Command Purpose Search program for all tools used. Format [DOTOOLS] Parameters None Return Value None Remarks When a program is loaded with [DOTOOLS] as the first line, THM will scan the program to find all tools used. When the program is run, this information will be used by the PLC to perform a tool changer Auto- Load of the most commonly used tools. This feature is disabled by default. Example [DOTOOLS] EXIST Function Purpose Checks if a file exists. Format EXIST(FilePath) Parameters Name Description Type Notes FilePath File Path String Expression Return Value Returns a value of 1 if the file exists or 0 otherwise. Example SuperControl User Manual Advanced Function Language 223

232 [PRINT EXIST("D:\DATA\PART\PROGRAM.TXT")] EXP Function Purpose Calculates the exponential function. Format EXP(nValue) Parameters Name Description Type Notes nvalue Numeric Expression Return Value Returns the exponential value of nvalue. Exponential value is e to the power of nvalue, where e is the base of the natural logarithm. Remarks None Example [PRINT EXP(1)] This example displays e raised to the power of 1. The result will be FIX Function Purpose Integer truncation. Format FIX(nValue) Parameters Name Description Type Notes nvalue Numeric Expression 224 Advanced Function Language SuperControl User Manual

233 Return Value Converts nvalue to an integer and returns as a numeric value. Remarks The difference between FIX and INT is that FIX does not return the next lowest number when nvalue is negative. Example [PRINT FIX( )] This will display 32. and truncate everything right of the decimal point. [PRINT FIX( )] This will display -12. Notice that FIX does not round, but simply truncates everything right of the decimal point. FIX$ Function Purpose Integer truncation. Format FIX$(nValue) Parameters Name Description Type Notes nvalue Numeric Expression Return Value Converts nvalue to an integer and returns as a string value. The string value will not have a decimal point. Remarks Also see FIX function. Example [PRINT FIX$( )] This will display 32 SuperControl User Manual Advanced Function Language 225

234 FOFFSET Function Purpose Read fixture offset. Format FOFFSET(AxisNum) Parameters Name Description Type Notes AxisNum Axis Number Numeric Expression Integer Only Return Value Returns the value stored in the currently active fixture offset for the specified axis. Remarks Cannot be used to alter fixture offset table. Example G52L3 [PRINT FOFFSET(1)] This will return the value stored in the axis 1 register of fixture offset #3. FRO Function Purpose Read feed rate override. Format FRO Parameters None Return Value Returns the current feed rate override value. 226 Advanced Function Language SuperControl User Manual

235 Remarks None Example [PRINT FRO] FUSING Function Purpose Formats a numeric string. Format FUSING(sValue, Format) Parameters Name Description Type Notes svalue String Expression Format Numeric Output Format String Expression Return Value Returns a string value with the decimal point in the desired place and forces the desired precision. This is useful for writing to a file in a specific format. Remarks Numeric output format is in the form of #.#, where the number of pound symbols on each side of the decimal point can be specified. Example [OLDNUM$ = " "] [NEWNUM$ = FUSING(OLDNUM$, "####.####")] NEWNUM$ will be assigned the string " ". GETMASTER Function Purpose Read master axis designator of a machine axis, as related to axis tie. Format SuperControl User Manual Advanced Function Language 227

236 GETMASTER(AxisNum) Parameters Name Description Type Notes AxisNum Axis Number Numeric Expression Integer Only Return Value Returns the numeric designator for the master axis. Returns 0 if the axis does not have a master axis. Remarks None Example G61XY [YMASTER = GETMASTER (2)] If the axis designator for the X-axis is 1 and the Y-axis is 2, the variable YMASTER will be assigned the number 1. GETMSUACCEL Function Purpose Read axis acceleration. Format GETMSUACCEL(AxisNum) Parameters Name Description Type Notes AxisNum Axis Number Numeric Expression Integer Only Return Value Returns maximum acceleration for the designated axis. Remarks None Example [XACCEL = GETMSUACCEL(1)] 228 Advanced Function Language SuperControl User Manual

237 GETMSUGAIN Function Purpose Read servo gain. Format GETMSUGAIN(AxisNum) Parameters Name Description Type Notes AxisNum Axis Number Numeric Expression Integer Only Return Value Returns servo gain value for the designated axis. Remarks None Example [XGAIN = GETMSUGAIN(1)] GETSUBPROGPATH Function Purpose Read subprogram directory path. Format GETSUBPROGPATH Parameters None Return Value Returns the current subprogram directory path. Remarks SuperControl User Manual Advanced Function Language 229

238 See SETSUBPROGPATH. Example [SUBPATH$ = GETSUBPROGPATH] GETTRANS Function Purpose Read master axis designator of a machine axis, as related to axis transfer. Format GETTRANS(AxisNum) Parameters Name Description Type Notes AxisNum Axis Number Numeric Expression Integer Only Return Value Returns the numeric designator for the master axis. Returns 0 if the axis does not have a master axis. Remarks None Example G26XY [YTRANS = GETTRANS(2)] If the axis designator for the X-axis is 1 and the Y-axis is 2, the variable YTRANS will be assigned the number 1. GOSUB Command Purpose Call subroutine. Format [GOSUB LabelNum] 230 Advanced Function Language SuperControl User Manual

239 Parameters Name Description Type Notes LabelNum Label Number Numeric Value Integer Only Return Value None Remarks Program execution jumps to the instruction immediately following the appropriate LABEL and continues until a RETURN is encountered. The RETURN statement causes program execution to branch back to the statement following the most recent GOSUB statement. A subroutine may be called any number of times in a program. A subroutine may be called from within a subroutine up to eight levels deep. Subroutines may appear anywhere in the program. A subroutine, however, should not call itself. To prevent a program from accidentally entering a subroutine, place a GOTO statement in front of the subroutine and direct program control around it. Example [GOSUB 4] [PRINT "DONE"] [GOTO 5] [LABEL 4] [PRINT "PROCESSING"] [RETURN] [LABEL 5] This example shows how a subroutine works. The GOSUB statement branches program control to the PRINT statement immediately following the LABEL 4 command. The word "PROCESSING" is displayed. The RETURN statement branches the program back to the statement following the GOSUB, which is the PRINT statement that displays the word "DONE". The next step encounters the GOTO statement, which branches over the subroutine to the LABEL 5 command line. GOTO Command Purpose Program unconditional branch. Format [GOTO LabelNum] SuperControl User Manual Advanced Function Language 231

240 Parameters Name Description Type Notes LabelNum Label Number Numeric Value Integer Only Return Value None Remarks Program execution jumps to the instruction immediately following the specified label and continues from that point. The GOTO command can access labels defined with the M80L# command or the LABEL command. Example M80L1 [PRINT "TIME IS:";] [GOTO 1] This example uses the GOTO statement to put the system into an infinite loop, which displays the time. GRAPHOFF Command Purpose All blocks after this command will not be read by the graph screen. Format [GRAPHOFF] Parameters None Return Value None Remarks This command is commonly used to skip over parts of a program that use looping which will avoid the graph screen getting stuck in an infinite loop. It is usually used with the GRAPHON command. Example [GRAPHON] 232 Advanced Function Language SuperControl User Manual

241 GRAPHON Command Purpose All blocks after this command will be read by the graph screen. Format [GRAPHON] Parameters None Return Value None Remarks This command is commonly used after the GRAPHOFF command. Example [GRAPHON] HEX$ Function Purpose Converts decimal to hexadecimal notation. Format HEX$(nValue) Parameters Name Description Type Notes nvalue Numeric Expression Return Value Returns a string, which represents the hexadecimal value of nvalue. Remarks If nvalue is negative, the two's complement form is used. Refer to online resources for an explanation of hexadecimal numbers. SuperControl User Manual Advanced Function Language 233

242 Example [A1$ = HEX$ (65)] This will assign the variable A1$ with the string array "41". HOMEOFF Function Purpose Read home offset for an axis. Format HOMEOFF(AxisNum) Parameters Name Description Type Notes AxisNum Axis Number Numeric Expression Integer Only Return Value Returns home offset for the designated axis number. Remarks None Example [B_HOMEOFF = HOMEOFF(5)] IF Command Purpose Makes a decision regarding program flow based on the result of an expression. Format IF Condition THEN Action Parameters Name Description Type Notes 234 Advanced Function Language SuperControl User Manual

243 Condition AFL Statement or NC Code Numeric Expression or M60/61/62 Action AFL Statement or NC Code Numeric Expression or NC Code Optional Return Value None Remarks If the expression result is true (not zero): If Action exists, it is executed; otherwise all program lines following the IF command and before an ENDIF are executed. If the expression is false (zero): If Action exists, the clause is ignored; otherwise all program lines following the IF command and before an ENDIF are ignored. Execution continues with the next executable statement. It is important to note that all numbers in the Advanced Function Language are double precision floatingpoint numbers. Use of the IF statement to test equality should be performed over a range over which the accuracy of the value may vary. For example, to test a computed variable V against the value of 1.0, use: IF [ABS (V1) < ] THEN [GOTO 2] This example is true if V is equal to 1 with an error of less than IF...THEN is one statement and must be written on one line. The following is incorrect: IF [X1=Y1] THEN [A1=1] That is not valid and must be written as: IF [X1=Y1] THEN [A1=1] Example IF [A1] THEN [GOTO 2] In this example, if A1 is not zero then the program execution branches to label three. IF [(N1>5) & (N<10)] THEN [GOTO 2] [PRINT "OUT OF RANGE!"] [LABEL 2] This example checks to see if N1 is between 5 and 10. If it is, program execution branches to label two. If N1 is not between 5 and 10, the message is printed. IF [(N1=5) (N1>20)] THEN [GOTO 2] [PRINT "VALUE TOO LARGE!"] [LABEL 2] This example checks to see if N1 is equal to 5 or greater than 20. If it is, program execution branches to label two. If N1 is not equal to 5 or greater than 20, the message is printed. IF [A1=1] THEN [GOTO 2] SuperControl User Manual Advanced Function Language 235

244 ENDIF This example will branch to label two only if A1 equals one. IMSGBOX Function Purpose Displays an OK/CANCEL message box with a field to input a value. Format IMSGBOX(Message, Title, Icon, DefaultButton, InitialValue, Variable) Parameters Name Description Type Notes Message Message to display String Expression Title Message box title String Expression Icon DefaultButton Message box icon: 1 = Error 2 = Question 3 = Warning 4 = Info Message box default button: 1 = First Button 2 = Second Button Numeric Expression Numeric Expression InitialValue Input Field Initial Value Numeric or String Variable Variable Receives Input Field Value Numeric or String Variable Integer Only Integer Only Return Value None, see MSGBOXANSW for additional information. Remarks Variable is only updated if OK is selected to close the message box. Replacing Message parameter with a zero will use the text that has been buffered using previous calls to PRINTMSG. Also see IMSGBOX2 which has the same syntax but displays a message box with an increased font size and bigger buttons. Example [IMSGBOX("Enter a value in the edit box","message Box Title",2,1,1.234,MBOXVAR)] IMSGBOX2 Function 236 Advanced Function Language SuperControl User Manual

245 Purpose Displays an OK/CANCEL message box with a field to input a value. Format IMSGBOX2(Message, Title, Icon, DefaultButton, InitialValue, Variable) Parameters Name Description Type Notes Message Message to display String Expression Title Message box title String Expression Icon DefaultButton Message box icon: 1 = Error 2 = Question 3 = Warning 4 = Info Message box default button: 1 = First Button 2 = Second Button Numeric Expression Numeric Expression InitialValue Input Field Initial Value Numeric or String Variable Variable Receives Input Field Value Numeric or String Variable Integer Only Integer Only Return Value None, see MSGBOXANSW for additional information. Remarks Variable is only updated if OK is selected to close the message box. Replacing Message parameter with a zero will use the text that has been buffered using previous calls to PRINTMSG. Also see IMSGBOX which has the same syntax but displays a message box with a decreased font size and smaller buttons. Example [IMSGBOX2("Enter a value in the edit box","message Box Title",2,1,1.234,MBOXVAR)] IMSGBOX3 Function Purpose Displays a message box with multiple input fields. Format IMSGBOX3(InputID, Label, InitialValue, Variable) SuperControl User Manual Advanced Function Language 237

246 and IMSGBOX3(NumInputs, Message, Title, Icon, DefaultButton, Button1Text, Button2Text, Button3Text, Button4Text, Button5Text) Parameters Name Description Type Notes InputID Input Field # Numeric Expression 1 through 10 Label Text to display to the left of input field String Expression InitialValue Input Field Initial Value Numeric or String Variable Variable Receives Input Field Value Numeric or String Variable Name Description Type Notes NumInputs Total number of input fields to display Numeric Expression Integer Only (1 through 10) Message Message to display above input fields String Expression Title Message box title String Expression Icon DefaultButton Message box icon: 1 = Error 2 = Question 3 = Warning 4 = Info Message box default button: 1 = First Button 2 = Second Button 3 = Third Button 4 = Fourth Button 5 = Fifth Button Numeric Expression Numeric Expression Integer Only Integer Only Button1Text Button #1 Text String Expression Optional Button2Text Button #2 Text String Expression Optional Button3Text Button #3 Text String Expression Optional Button4Text Button #4 Text String Expression Optional Button5Text Button #5 Text String Expression Optional Return Value None, see MSGBOXANSW for additional information. Remarks Each Variable is only updated if the first button is selected to close the message box. Replacing Message parameter with a zero will use the text that has been buffered using previous calls to PRINTMSG. You must setup each input field using the four parameter version of IMSGBOX3 first. Requires THM Example [LENGTH_SAVE=0] [WIDTH_SAVE=0] 238 Advanced Function Language SuperControl User Manual

247 [IMSGBOX3(1,"Length:",0,LENGTH_SAVE)] [IMSGBOX3(2,"Width:",0,WIDTH_SAVE)] [IMSGBOX3(2,"Enter values and press start","message Box Title",2,1,"OK","Cancel")] INITAFL Command Purpose Clear AFL variables from system memory. Format [INITAFL] Parameters None Return Value None Remarks This command will clear any AFL variables created since the last time a Machine Home was executed. Example [INITAFL] INLIM Function Purpose Read the inward limits for an axis. Format INLIM(AxisNum) Parameters Name Description Type Notes AxisNum Axis Number Numeric Expression Integer Only Return Value SuperControl User Manual Advanced Function Language 239

248 Returns the inward limit for the designated axis. Remarks The inward limit position for an axis is the absolute position of the inward limit expressed in current units. This means if the axis is setup to program and run in inches, the inward limit will be expressed in inches. If the axis is setup to program and run in degrees, the inward limit will be in degrees and so forth. Example [X1 = INLIM (1)] This makes the variable X1 equal to the current inward limit of axis 1. INPUT Command Purpose Receive input from the keyboard or a file. Format [INPUT Variable] or [INPUT #FileNum, Variable] Parameters Name Description Type Notes FileNum File Number Numeric Value Use only with input from file. Variable Variable to Receive Input Numeric or String Variable Return Value None Remarks When the program sees an INPUT from keyboard command, it pauses to wait for data. The required data may then be entered from the keyboard. The data that is entered is assigned to the variable given in the command. The type (numeric or string) of each data item entered must match the type specified by the variable name. Strings entered in response to an INPUT statement need not be surrounded by quotation marks. Leading spaces will be removed from strings. Spaces within strings are not allowed. When the program sees an INPUT from file command, it reads a line from the file. The data that is read is assigned to the variable given in the command. The type (numeric or string) of each data item in the file must match the type specified by the variable name. The data items in the file should appear just as they would if the data were being typed in response to an INPUT from keyboard command. The first character encountered that is not a space, carriage return or line feed is assumed to be the start of the data. The data ends with a space, carriage return or line feed. 240 Advanced Function Language SuperControl User Manual

249 INPUT2 works like INPUT but handles strings differently. INPUT2 does not remove leading spaces from strings and also allows spaces within strings. Requires THM for INPUT2. Example [WINDOW ON] [PRINT "LENGTH?";] [INPUT LGTH] In this example, the display window will open and display the message: LENGTH?_ When a number is entered, its value is assigned to the variable LGTH. [WINDOW ON] [PRINT "ENTER YOUR FIRST NAME:"] [INPUT FNAME$] In this example, the display window will open and display the message: ENTER YOUR FIRST NAME:_ INPUT2 See INPUT on page 240 INSTR Function Purpose Searches for the first occurrence of a string within another string. Format INSTR(String, SubString, StartPos) Parameters Name Description Type Notes String String to Search String Expression SubString String to Search For String Expression StartPos Character Start Position Numeric Expression Optional. Range: 1 to 255 Return Value If StartPos > LEN(String), or if StartPos is zero, or if SubString cannot be found, INSTR returns a 0. If SubString is null (empty), INSTR returns StartPos (or 1 if StartPos is not specified). Remarks SuperControl User Manual Advanced Function Language 241

250 None Example [A1$ = "ABCDABCD"] [B1$ = "B"] [PRINT INSTR(A1$, B1$)] This example searches for the first occurrence of ""B" in the string "ABCDABCD" starting at the first character of the string. It will return the number 2 since "B" is in position 2. [A1$ = "ABCDABCD"] [B1$ = "B"] [WINDOW ON] [PRINT INSTR(A1$, B1$, 3)] This example searches for the first occurrence of "B" in the string "ABCDABCD" starting at position 3. It will return 6. INT Function Purpose Truncation to integer. Format INT(nValue) Parameters Name Description Type Notes nvalue Numeric Expression Return Value Returns the largest integer that is less than or equal to nvalue. Remarks See FIX, which also returns an integer value. Example [PRINT INT(23.452)] This returns a 23, INT truncates positive integers. [PRINT INT( )] This returns a -13, which is the largest integer that is LESS THAN a Advanced Function Language SuperControl User Manual

251 KILL Command Purpose Permanently erases a file from disk. Format [KILL FilePath] Parameters Name Description Type Notes FilePath File Path and Name String Value Return Value None Remarks None Example [KILL "D:\DATA\PART\FILE.DAT"] LABEL Command Purpose This will mark a position in the program that can be referenced by other functions. Format [LABEL LabelNum] Parameters Name Description Type Notes LabelNum File Path and Name Numeric Value Integer Only Return Value None SuperControl User Manual Advanced Function Language 243

252 Remarks The label statement is analogous to the M80L# command. Example [LABEL 2] LCASE$ Function Purpose Convert string to lower case letters. Format LCASE$(sValue) Parameters Name Description Type Notes svalue String Expression Return Value None Remarks Any characters that are already lower case are not affected. Example [A1$ = "Program NAME"] [PRINT LCASE (A1$)] This prints "program name". LEFT$ Function Purpose Extract characters on the left side of string. Format LEFT$(sValue, Count) 244 Advanced Function Language SuperControl User Manual

253 Parameters Name Description Type Notes svalue String Expression Count Number of Characters to Extract Numeric Expression Range: 0 to 255 Return Value Returns a string value representing the leftmost Count characters of Value. Remarks If Count is greater than LEN(Value), the entire string (Value) is returned. If Count = 0, the null string (length zero) is returned. Also see the MID$ and RIGHT$ functions. Example [A1$ = "ONE TWO"] [PRINT LEFT$ (A1$,3)] This example will display ONE. This is the first three letters of the string A1$. LEN Function Purpose Counts number of characters in a string. Format LEN(sValue) Parameters Name Description Type Notes svalue String Expression Return Value Returns a numeric value of the number of characters in svalue. Remarks Unprintable characters and spaces are included in the count. Example [B1$ = "New York, N.Y."] SuperControl User Manual Advanced Function Language 245

254 [PRINT LEN(B1$)] This example will display 14 which is the number of characters B1$ including the comma, two periods and two spaces. LOCATE Command Purpose Position the cursor on the screen within the open display. Format [LOCATE RowNum, ColumnNum] Parameters Name Description Type Notes RowNum Row Number Numeric Expression Range: 1 to 7 ColumnNum Column Number Numeric Expression Range: 1 to 78 Return Value None Remarks After a LOCATE statement, an I/O (PRINT) statement to the screen begins placing characters at the specified location on the AFL Window. Any value entered outside the ranges indicated will result in an "Illegal function call" error. Previous values are retained. Example [LOCATE 5,9] This will position the cursor at row 5, column 9. LOG Function Purpose Calculate natural logarithm. Format LOG(nValue) 246 Advanced Function Language SuperControl User Manual

255 Parameters Name Description Type Notes nvalue Numeric Expression Must be greater than zero. Return Value Returns the natural logarithm of nvalue. Remarks The natural logarithm is the logarithm to the base e. Example [PRINT LOG (45/7)] This displays the number , which is the log of 45 divided by 7. LTRIM$ Function Purpose Remove leading spaces of a string. Format LTRIM$(sValue) Parameters Name Description Type Notes svalue String Expression Return Value Returns a string beginning with the first character of svaluewhich is not a space. Remarks None Example [X1$ = " ONE TWO"] [LTRIM$ (X1$)] This returns the string: "ONE TWO" SuperControl User Manual Advanced Function Language 247

256 The spaces prior to the O in "ONE" are removed, all other spaces in the string remain unchanged. MACNAME$ Function Purpose Read machine name. Format MACNAME$ Parameters None Return Value Returns a string value representing machine name. Remarks None Example [PRINT MACNAME$] MSGBOX Function Purpose Displays a standard Windows message box. Format MSGBOX(Message, Title, Style, Icon, DefaultButton) Parameters Name Description Type Notes Message Message to display String Expression Title Message box title String Expression Style Message box button style: 1 = OK Numeric Expression Integer Only 248 Advanced Function Language SuperControl User Manual

257 2 = OK/CANCEL 3 = ABORT/RETRY/CANCEL 4 = YES/NO/CANCEL 5 = YES/NO 6 = RETRY/CANCEL Icon Message box icon: 1 = Error 2 = Question 3 = Warning 4 = Info Numeric Expression Integer Only DefaultButton Message box default button: 1 = First Button 2 = Second Button 3 = Third Button Numeric Expression Integer Only Return Value Use MSGBOXANSW to read the return value. Remarks Uses standard Windows message boxes. Replacing Message parameter with a zero will use the text that has been buffered using previous calls to PRINTMSG. Also see MSGBOX2 which uses an increased font size, bigger buttons, and allows custom text on each button. Example [MSGBOX("Message Box with OK button and Error Icon","Message Box Title",1,1,1)] [MSGBOX("Message Box with ABORT(default) RETRY IGNORE buttons","message Box Title",3,4,1)] [MSGBOX("Message Box with YES(default) and NO buttons","message Box Title",5,4,1)] MSGBOX2 Function Purpose Displays a message box. Format MSGBOX2(Message, Title, Button1Text, Button2Text, Button3Text, Button4Text, Button5Text, Icon, DefaultButton) Parameters Name Description Type Notes SuperControl User Manual Advanced Function Language 249

258 Message Message to display String Expression Title Message box title String Expression Button1Text Button #1 Text String Expression Optional Button2Text Button #2 Text String Expression Optional Button3Text Button #3 Text String Expression Optional Button4Text Button #4 Text String Expression Optional Button5Text Button #5 Text String Expression Optional Icon Message box icon: 1 = Error 2 = Question 3 = Warning 4 = Info Numeric Expression Integer Only DefaultButton Message box default button: 1 = First Button 2 = Second Button 3 = Third Button 4 = Fourth Button 5 = Fifth Button Numeric Expression Integer Only Return Value Use MSGBOXANSW to read the return value. Remarks Replacing Message parameter with a zero will use the text that has been buffered using previous calls to PRINTMSG. Compared to MSGBOX, MSGBOX2 uses an increased font size, bigger buttons, and allows custom text on each button. DefaultButton is only required if any buttons are being used. Example [MSGBOX2("Text","Title",1)] [MSGBOX2("Text","Title","MyButton1",1,1)] [MSGBOX2("Text","Title","MyButton1","MyButton2","MyButton3",2,1)] [MSGBOX2("Text","Title","MyButton1","MyButton2","MyButton3","MyButton4","MyButton5",4,1)] MSGBOXANSW Command Purpose Read what button was selected on a message box. Format MSGBOXANSW 250 Advanced Function Language SuperControl User Manual

259 Parameters None Return Value Returns an integer representing what button was selected. The number will be different based on what type of message box was used. For MSGBOX/IMSGBOX styles: 1 = OK 2 = CANCEL 3 = ABORT 4 = RETRY 5 = IGNORE 6 = YES 7 = NO For MSGBOX2/IMSGBOX2 styles: 0 = No buttons were on the message box 1 = OK or BUTTON 1 2 = CANCEL or BUTTON 2 3 = BUTTON 3 4 = BUTTON 4 5 = BUTTON 5 Remarks None Example [MSGBOX("Message Box with OK(default) and CANCEL buttons","message Box Title",2,4,1)] [CLS] IF [MSGBOXANSW=0] THEN [PRINT "UNKNOWN"] IF [MSGBOXANSW=1] THEN [PRINT "OK"] IF [MSGBOXANSW=2] THEN [PRINT "CANCEL"] IF [MSGBOXANSW=3] THEN [PRINT "ABORT"] IF [MSGBOXANSW=4] THEN [PRINT "RETRY"] IF [MSGBOXANSW=5] THEN [PRINT "IGNORE"] IF [MSGBOXANSW=6] THEN [PRINT "YES"] IF [MSGBOXANSW=7] THEN [PRINT "NO"] [WINDOW ON] MID$ Function SuperControl User Manual Advanced Function Language 251

260 Purpose Extract a range of characters from a string. Format MID$(sValue, Count, StartPos) Parameters Name Description Type Notes svalue String Expression Count Number of Characters to Extract Numeric Expression Range: 1 to 255 StartPos Character Start Position Numeric Expression Range: 1 to 255 Return Value Returns a string of length Count characters from svalue beginning with the character at position StartPos. Remarks Also see LEFT$ and RIGHT$ functions. Example [A1$ = "Some"] [B1$ = "time where one"] [PRINT A1$;] [PRINT MID$ (B1$, 5, 6)] This displays "Somewhere" in the display window. The MID$ function selects a string 5 characters long starting at position 6 in string B1$. NEWPROC Command Purpose Spawns a new executable process. Format [NEWPROC, Method, Mode, CommandLine] Parameters Name Description Type Notes Method Call Method: "CALL" - Wait for process termination. String Value 252 Advanced Function Language SuperControl User Manual

261 "RUN" - Do not wait for process termination. Mode Process Mode: "FORE" - Start process in the foreground. "BACK" - Start process in the background. String Value CommandLine EXE Path String Value Return Value None Remarks CommandLine can include additional arguments. Example [NEWPROC, "CALL", "FORE", "C:\WINDOWS\EXPLORER.EXE"] This will launch the Windows Explorer program in the foreground and wait for the program to be closed before executing the next line of code in the NC Part Program file. NUMAXES Function Purpose Read number of axes configured. Format NUMAXES Parameters None Return Value Returns the number of axes configured. Remarks This may or may not correspond to the number of servo motors installed since two motors can be controlled by a single gantry axis. Example [PRINT NUMAXES+2] This will result in a number, which is two more than the number of axes. If there are three axes installed, the number displayed will be 5. SuperControl User Manual Advanced Function Language 253

262 OCT$ Function Purpose Converts decimal to octal notation. Format OCT$(nValue) Parameters Name Description Type Notes nvalue Numeric Expression Range: to Return Value Returns a string, which represents the octal value of nvalue. Remarks If nvalue is a negative expression, the two's complement form is used. That is, OCT$(-nValue) is the same as OCT$(65536-nValue). See HEX$ for hexadecimal conversion. Example [PRINT OCT$ (10)] This will display 12, which is the octal representation of decimal 10. OPEN Command Purpose Allows I/O to a file. Format [OPEN FilePath FOR Mode AS #FileNum] Parameters Name Description Type Notes FilePath File Path String Value Mode File Mode: OUTPUT - Sequential output. Statement INPUT - Sequential input. 254 Advanced Function Language SuperControl User Manual

263 APPEND - Sequential output starting at file end. FileNum EXE Path Numeric Value Integer Only Return Value None Remarks OPEN allocates a buffer for I/O to the file or device and determines the mode of access that will be used with the buffer. FileNum is associated with the file for as long as it is open and is used by other I/O statements to refer to the file. An open must be executed before any I/O may be done to a device or file using any of the following statements, or any statement or function requiring a file number. A line feed is normally added after each carriage return. At any time, it is possible to have a particular file open under more than one file number. This allows different modes to be used for different purposes. When this occurs, each file number uses a different buffer so care should be taken when reading one file number and writing to another. One limit, however, is that a file cannot be opened for sequential output or append if it is already open. If the device name is omitted, the Microsoft Windows default drive is assumed. If a file opened for input does not exist, a "File not found" error occurs. If a file that does not exist is opened for output or append, a file is created. Any values given outside the ranges indicated will result in an "Illegal function call" error. The file is not opened. Example [OPEN "MYFILE" FOR OUTPUT AS #1] This statement opens a file called MYFILE for sequential output on the default drive. Any data currently in MYFILE will be destroyed. [OPEN "MYFILE" FOR APPEND AS #2] This will open a file called "MYFILE". Data currently in MYFILE will be retained and the new data added to the end. OUTLIM Function Purpose Read the outward limits for an axis. Format OUTLIM(AxisNum) Parameters Name Description Type Notes AxisNum Axis Number Numeric Expression Integer Only SuperControl User Manual Advanced Function Language 255

264 Return Value Returns the outward limit for the designated axis. Remarks The outward limit position for axis x is the absolute position of the outward limit expressed in current units. This means if the axis is setup to program and run in inches, the inward limit will be expressed in inches, if the axis is setup to program and run in degrees, the inward limit will be in degrees. Example [X1 = OUTLIM (1)] This makes the variable X1 equal to the current outward limit of axis 1. PLAYSOUNDNOSYNC Command Purpose Play a waveform (.wav) sound file. Format [PLAYSOUNDNOSYNC FilePath] Parameters Name Description Type Notes FilePath File Path String Value Return Value None Remarks Program execution will continue while the file as playing. See PLAYSOUNDSYNC to wait for the file to play before continuing. Example [PLAYSOUNDNOSYNC "C:\SOUNDS\HELLO.WAV"] PLAYSOUNDSYNC Command Purpose 256 Advanced Function Language SuperControl User Manual

265 Play a waveform (.wav) sound file. Format [PLAYSOUNDSYNC FilePath] Parameters Name Description Type Notes FilePath File Path String Value Return Value None Remarks Program execution will wait until the entire file has been played before continuing. See PLAYSOUNDNOSYNC to continue with the program without waiting for the file to play. Example [PLAYSOUNDSYNC "C:\SOUNDS\HELLO.WAV"] PRINT Command Purpose Print data to the AFL Screen or to a file. Format [PRINT <#FileNum,>Value <;>] Parameters Name Description Type Notes FileNum File Number Numeric Expression Optional Value Value to Print Numeric or String Expression Return Value None Remarks SuperControl User Manual Advanced Function Language 257

266 The WINDOW ON statement will open the display window on the screen so that data displayed by the PRINT command may be viewed. If the Display Window is not open, the data will not be seen but will be retained in the Display Window buffer. Subsequently, opening the Display Window will display the information in the buffer. For additional information on the Display Window, see the WINDOW ON/OFF commands. If Value is omitted, a blank line is displayed. If Value is included, the value of the expression is displayed in the Display Window. Each line in the Display Window can display up to 78 characters. If a semicolon ends the expression of a print statement, the next print statement begins printing on the same line immediately following the end of the last value. If the length of the value to be printed exceeds the number of character positions remaining on the current line, then the value will be printed at the beginning of the next line. If the value to be printed is longer than 78 characters, the first 78 characters will be printed on the current line and the remaining values will be printed on the next line. Scrolling occurs as described in the WINDOW ON/OFF command. Printed numbers are always followed by a space. Positive numbers are preceded by a space. Negative numbers are preceded by a minus sign. A carriage return/line feed is automatically inserted after 78 characters are printed. This will cause two lines to be skipped if exactly 78 characters are printed unless the PRINT statement ends with a semicolon. PRINT # does not compress data on the file. An image of the data is written to the file just as it would be displayed on the screen with a PRINT statement. For this reason, care should be taken to delimit the data in the file so it can be input correctly from the file. Data records written to the disk must be delimited by a CR/LF. The use of a comma or any other characters is not supported. Example - Print to AFL Screen [X1 = 4] [WINDOW ON] [PRINT X1+2] This will display 6. [WINDOW ON] [PRINT "HELLO, TODAY IS ";] [PRINT "TUESDAY"] This will display HELLO, TODAY IS TUESDAY. The semicolon at the end of the first PRINT statement causes the second PRINT statement to print on the same line. Example - Print to File [OPEN "NEWFILE" FOR OUTPUT AS #1] [A1$ = "MACHINE"] [B1$ = "24"] [PRINT #1, A1$] [PRINT #2, B1$] [CLOSE #1] PRINTMSG Command Purpose 258 Advanced Function Language SuperControl User Manual

267 Buffer text to be displayed in message boxes. Format [PRINTMSG Message] Parameters Name Description Type Notes Message Message Text Numeric or String Expression Return Value None Remarks When the first parameter to MSGBOX or MSGBOX2 is zero, the text from PRINTMSG is used. There can be multiple calls to PRINTMSG. The text will accumulate until a CLSMSG command is used. Example [CLSMSG] [PRINTMSG "FIRST LINE"] [PRINTMSG "SECOND LINE"] [PRINTMSG "THIRD LINE"] [PRINTMSG "FOURTH LINE"] [PRINTMSG "FIFTH LINE"] [MSGBOX(0, "Message Box Title", 1, 4, 1)] PROGRAM$ Function Purpose Read program file name. Format PROGRAM$ Parameters None Return Value Returns a string value containing the currently loaded program's file name with extension. SuperControl User Manual Advanced Function Language 259

268 Remarks None Example [PRINT PROGRAM$] PROGRAMPATH$ Function Purpose Read program path. Format PROGRAMPATH$ Parameters None Return Value Returns a string value containing the currently loaded program's path. Does not include file name or extension. Remarks None Example [PRINT PROGRAMPATH$] PROGSPEED Function Purpose Read program feed rate. Format PROGSPEED Parameters None Return Value 260 Advanced Function Language SuperControl User Manual

269 Returns programmed feed rate in units/minute. Remarks None Example [CUR_FEED=PROGSPEED] G01 X10 F[CUR_FEED] READACTOFFSET Function Purpose Read actuator offset. Format READACTOFFSET(ActuatorID, ActuatorPosition, AxisNumber) Parameters Name Description Type Notes ActuatorID Actuator ID Number Numeric Expression ActuatorPosition Actuator Position Numeric Expression AxisNumber Axis Number Numeric Expression Return Value Returns actuator offset for the specified position and axis number. Remarks This function is typically used with dual head machines to get the distance between the primary and secondary router. Requires THM Example [PRINT READACTOFFSET(1,1,2)] READDAYLIGHT Function Purpose Read active tool daylight. Format SuperControl User Manual Advanced Function Language 261

270 READDAYLIGHT Parameters None Return Value Returns a numeric value of the active tool's daylight. Remarks None Example T3 [PRINT READDAYLIGHT] This will display the daylight in the tool table for tool 3. READDESCRIPTION Function Purpose Read active tool description. Format READDESCRIPTION Parameters None Return Value Returns a string value of the active tool's description. Remarks None Example T3 [PRINT READDESCRIPTION] This will display the description in the tool table for tool Advanced Function Language SuperControl User Manual

271 READFFWD Function Purpose Read Feed Forward servo parameter. Format READFFWD(AxisNum) Parameters Name Description Type Notes AxisNum Axis Number Numeric Expression Integer Only Return Value Returns the Feed Forward as a numeric value. Remarks None Example [PRINT FEEDFWD(1)] This will display the Feed Forward value of axis 1. READGAIN Function Purpose Read Gain servo parameter. Format READGAIN(AxisNum) Parameters Name Description Type Notes AxisNum Axis Number Numeric Expression Integer Only Return Value Returns the Gain as a numeric value. SuperControl User Manual Advanced Function Language 263

272 Remarks None Example [PRINT READGAIN(1)] This will display the Gain value of axis 1. READG07 Function Purpose Read smoothing factor. Format READG07 Parameters None Return Value Returns a numeric value. Remarks Requires THM version or newer. Example [PRINT READG07] READG08 Function Purpose Read arc factor. Format READG08 Parameters None 264 Advanced Function Language SuperControl User Manual

273 Return Value Returns a numeric value. Remarks Requires THM Example [PRINT READG08] READG09 Function Purpose Read tangency factor. Format READG09 Parameters None Return Value Returns a numeric value. Remarks Requires THM Example [PRINT READG09] READG48 Function Purpose Read tool center point active. Format READG48 Parameters None SuperControl User Manual Advanced Function Language 265

274 Return Value Returns a numeric value of "1" if tool center point (G48) is ON or a "0" if OFF. Remarks None Example [PRINT READG48] READINI Function Purpose Read information from an INI file. Format READINI(SectionName, KeyName, Default, FilePath) Parameters Name Description Type Notes SectionName INI section name String Expression KeyName INI key name String Expression Default Key default value String Expression FilePath INI file path String Expression Return Value READINI searches FilePath for a key that matches KeyName under SectionName. If it finds the key it returns the string value. If the key does not exist, it returns Default as a string value. Remarks Requires THM A section in the INI file must have the following form: [SectionName] KeyName=string Example [PRINT READINI("SETTINGS","Distance","0","D:\DATA\PART\INFO.INI")] INFO.INI contents: 266 Advanced Function Language SuperControl User Manual

275 [SETTINGS] Distance= READLENGTH Function Purpose Read active tool length. Format READLENGTH Parameters None Return Value Returns a numeric value of the active tool's length. Remarks None Example T3 [PRINT READLENGTH] This will display the length in the tool table for tool 3. READLENGTHCOMP Function Purpose Read active tool length comp. Format READLENGTHCOMP Parameters None Return Value Returns a numeric value of the active tool's length comp. SuperControl User Manual Advanced Function Language 267

276 Remarks None Example T3 [PRINT READLENGTHCOMP] This will display the length comp in the tool table for tool 3. READLIFE Function Purpose Returns the remaining life of the currently selected tool. Format READLIFE Parameters None Return Value Returns the remaining life of the active tool in hours. Remarks None Example T101 [PRINT READLIFE] READMACHINEVAR Function Purpose Read machine variable. Format READMACHINEVAR(VariableName) 268 Advanced Function Language SuperControl User Manual

277 Parameters Name Description Type Notes VariableName Variable Name String Expression Return Value Returns the value of VariableName. Remarks None Example [MYVAR = READMACHINEVAR("MYMACHINEVAR")] [MYVAR$ = READMACHINEVAR("MYMACHINEVAR$")] READMAXACCEL Function Purpose Read maximum axis acceleration. Format READMAXACCEL(AxisNum) Parameters Name Description Type Notes AxisNum Axis Number Numeric Expression Integer Only Return Value Returns the maximum acceleration rate in units/in 2. Remarks The acceleration of an axis is limited by the mechanical and drive design of the machine. Example [PRINT READMAXACCEL(1)] This example displays the maximum acceleration of axis 1. SuperControl User Manual Advanced Function Language 269

278 READMAXSPEED Function Purpose Read maximum axis speed. Format READMAXSPEED(AxisNum) Parameters Name Description Type Notes AxisNum Axis Number Numeric Expression Integer Only Return Value Returns the maximum feed rate in units/minute. Remarks The feed rate of an axis is limited by the mechanical and drive design of the machine. Example [PRINT READMAXSPEED(1)] This example displays the established maximum feed rate of axis 1. READPIVOTDIST Function Purpose Read system pivot distance. Format READPIVOTDIST Parameters None Return Value Returns a numeric value for system pivot distance. Remarks 270 Advanced Function Language SuperControl User Manual

279 None Example [MYPIVOT = READPIVOTDIST] READTOOLRAD Function Purpose Read active tool radius. Format READTOOLRAD Parameters None Return Value Returns a numeric value of the active tool's radius. Remarks None Example T3 [PRINT READTOOLRAD] This will display the radius in the tool table for tool 3. RENAME Command Purpose Rename a file. Format [RENAME FilePath1 AS FilePath2] Parameters Name Description Type Notes SuperControl User Manual Advanced Function Language 271

280 FilePath1 Existing File Name String Value FilePath2 New File Name String Value Return Value None Remarks If no drive is given, the current default Microsoft Windows drive will be used. FilePath1 must exist on the drive or an error will occur. A file by the name of FilePath1 will no longer exist after the rename statement is executed. FilePath2 cannot already exist on the drive or an error will occur. Example [RENAME "C:\DATA\PART\FILE1.NC" AS "C:\DATA\PART\FILE2.CNC"] REPLACE$ Function Purpose Replace strings. Format REPLACE$(sValue, sold, snew) Parameters Name Description Type Notes svalue String to search String Expression sold Substring to replace String Expression snew New string String Expression Return Value Replaces all occurrences of sold with snew in svalue and returns the result string. Remarks The string replacement is case-sensitive. Requires THM Example [A1$ = "PARTAAA"] [PRINT REPLACE$(A1$,"AAA","BBB")] This example will display PARTBBB 272 Advanced Function Language SuperControl User Manual

281 RETURN Command Purpose Return from subroutine. Format RETURN Parameters None Return Value None Remarks Functions like a M83 command. RETURN transfers program execution to the line immediately following the last active call subroutine command (M82 or GOSUB). GOSUB and RETURN statements may be nested up to eight layers deep. In nested GOSUB and RETURN statements, a RETURN transfers program execution to the line immediately following the last GOSUB statement executed. See GOSUB statement for additional information. Example [RETURN] RIGHT$ Function Purpose Extract characters on the right side of string. Format RIGHT$(sValue, Count) Parameters Name Description Type Notes svalue String Expression Count Number of Characters to Extract Numeric Expression Range: 0 to 255 SuperControl User Manual Advanced Function Language 273

282 Return Value Returns a string value representing the rightmost Count characters of svalue. Remarks If Count > LEN(sValue), the entire string svalue is returned. If Count = 0, the null string (length zero) is returned. Also see the MID$ and LEFT$ functions. Example [A1$ = "ONE TWO"] [PRINT RIGHT$ (A1$,3)] This example will display TWO. This is the last three letters of the string A1$. RND Function Purpose Random number generator. Format RND(nValue) Parameters Name Description Type Notes nvalue Numeric Expression Integer Only Return Value Returns a new random number or the previously generated random number. Rules are the same as MSBASIC. Key rules are as follows: If nvalue>0 and then a new number will be returned. If nvalue=0 and then return the previously generated random number will be returned. If there is no previous and then a new random number is returned. If nvalue<0 and then the last number generated by that particular nvalue will be returned. If nvalue is new and then a new random number is returned. Any negative integer may be used, but there can only be 100 of them in any program. The random number is always a real number whose value is between 0.0 and 1.0, endpoints inclusive. Remarks The value of nvalue is not considered when generating a new random number. Example 274 Advanced Function Language SuperControl User Manual

283 [VAR_NAME=RND(1)] [PRINT VAR_NAME] RTRIM$ Function Purpose Remove trailing spaces of a string. Format RTRIM$(sValue) Parameters Name Description Type Notes svalue String Expression Return Value Returns a string with any trailing spaces removed from svalue. Remarks None Example [X1$ = "ONE TWO "] [RTRIM$(X1$)] This returns the string: "ONE TWO" The spaces after the O in "TWO" are removed, all other spaces in the string remain unchanged. SEEKINPUT Function Purpose Move axis until input condition met. Format SEEKINPUT(AxisNum, Direction, FeedRate, InputNum) SuperControl User Manual Advanced Function Language 275

284 Parameters Name Description Type Notes AxisNum Axis Number Numeric Expression Integer Only Axis Direction Direction "+" - Forward String Expression "-" - Reverse FeedRate Feed Rate Numeric Expression InputNum Input Number Numeric Expression Integer Only Return Value None Remarks A positive InputNum means seek until input ON. A negative InputNum means seek until input OFF. An error will occur if the axis reaches its travel limits without the input condition being satisfied. Example [SEEKINPUT(3,"-",100,5)] This will seek axis 3 in the negative direction at 100 inches/min until input 5 is ON. SETSUBPROGPATH$ Function Purpose Set subprogram directory for use with Subprogram Call (M98). Format SETSUBPROGPATH$(DirPath) Parameters Name Description Type Notes DirPath Directory Path String Expression ReturnValue None Remarks 276 Advanced Function Language SuperControl User Manual

285 All Subprogram calls from this point forward in the program will be called from the specified location. This is a modal command, which means this will stay the active subprogram path until a different SETSUBPROGPATH$ command is encountered in the part program. The subprogram path will default back to D:\Data\Subs\ upon a QCore SuperControl reboot or if a Home Sequence is performed. Example [SETSUBPROGPATH$ "D:\DATA\CABINETS\DRAWERS\"] SIN Function Purpose Calculates the trigonometric sine. Format SIN(nValue) Parameters Name Description Type Notes nvalue String Expression Return Value Returns the sine of nvalue in the range -1.0 to 1.0 radians. Remarks To convert from radians to degrees, multiply the radians by 180 / π. Example [PRINT SIN(1.5708)] This will return a 1.0. SKIPFOUND Function Purpose Check if last skip input command was triggered. Format SKIPFOUND SuperControl User Manual Advanced Function Language 277

286 Parameters None Return Value Returns a 1 if last Skip Input (G31) command was triggered during execution, returns 0 otherwise. Remarks This command is used with the Skip Input (G31) command. Example IF [SKIPFOUND] THEN M81L1 SKIPPOS Function Purpose Read probe skip position relative to machine home position. Format SKIPPOS(AxisNum) Parameters Name Description Type Notes AxisNum Axis Number Numeric Expression Integer Only Return Value Returns the skip position of the designated axis with respect to the axis' home (absolute) position. Return values will match the axis' positional units (inches, millimeters or degrees), depending on the current modal unit state and axis type. Remarks This command is used with the Skip Input (G31) command. Example [PRINT SKIPPOS(1)] SKIPRELL Function 278 Advanced Function Language SuperControl User Manual

287 Purpose Read probe skip position relative to the current program offset. Format SKIPRELL(AxisNum) Parameters Name Description Type Notes AxisNum Axis Number Numeric Expression Integer Only Return Value Returns the skip position of the designated axis with respect to the axis' program offset position. Return values will match the axis' positional units (inches, millimeters or degrees), depending on the current modal unit state and axis type. Remarks This command is used with the Skip Input (G31) command. Example [PRINT SKIPRELL(1)] SPACE$ Function Purpose Create a string consisting of only space characters. Format SPACE$(Count) Parameters Name Description Type Notes Count Space Character Count String Expression Integer Only. Range: 0 to 255 Return Value Returns a string consisting of Count spaces. Remarks None SuperControl User Manual Advanced Function Language 279

288 Example [X1$ = SPACE$(20)] [PRINT X1$;] [PRINT "TITLE"] This will add 20 spaces before printing TITLE. SPINDLESPD Function Purpose Read programmed spindle speed. Format SPINDLESPD Parameters None Return Value Returns a numeric value for the current programmed spindle speed (S command). Remarks None Example [PRINT SPINDLESPD] SQR Function Purpose Calculate square root. Format SQR(nValue) Parameters Name Description Type Notes 280 Advanced Function Language SuperControl User Manual

289 nvalue Numeric Expression Must be >= 0 Return Value Returns the square root of nvalue. Example [PRINT SQR(25)] This will display 5, which is the square root of 25. STR$ Function Purpose Convert numeric value to string. Format STR$(nValue) Parameters Name Description Type Notes nvalue Numeric Expression Return Value Returns the string represented by nvalue. Remarks If nvalue is positive, the string returned by STR$ contains a leading blank (the space reserved for the plus sign). See VAL function for string to numeric conversion. Example [PRINT STR$(4532)] This will display "4532". Note that there is a leading space because the number is positive. STRING$ Function Purpose Create string from character code. SuperControl User Manual Advanced Function Language 281

290 Format STRING$(Count, CharCode) or STRING$(Count, svalue) Parameters Name Description Type Notes Count File Path String Value Integer Only. Range: 0 to 255 CharCode File Mode Statement Integer Only. Range: 0 to 255 svalue String Expression Return Value Returns a string of length Count whose characters all have ASCII code CharCode or the first character of svalue. Remarks None Example [X1$ = STRING$(10,45)] [PRINT X1$] [PRINT "REPORT";] [PRINT X1$] This example will print REPORT TAN Function Purpose Calculates the trigonometric tangent. Format TAN(nValue) Parameters Name Description Type Notes nvalue Numeric Expression Return Value 282 Advanced Function Language SuperControl User Manual

291 Returns the tangent of nvalue in the range - π / 2 to π / 2 radians. Remarks To convert from radians to degrees, multiply the radians by 180 / π. Example [PRINT TAN(.7854)] This will return a 1.0. TIME$ Function Purpose Read current time from operating system. Format TIME$ Parameters None Return Value The current time is retained as an 8 character string in the form hh:mm:ss, where hh is the hour (00-23), mm is the minutes (00-60) and ss is the seconds (00-59). Remarks The time may be set by Microsoft Windows and is maintained by the system internal battery backed clock. Example [PRINT TIME$] TOOLNUM Function Purpose Read active tool number. Format TOOLNUM SuperControl User Manual Advanced Function Language 283

292 Parameters None Return Value The active tool number from the PLC. Remarks None Example [PRINT TOOLNUM] UCASE$ Function Purpose Convert string to uppercase. Format UCASE$(sValue) Parameters Name Description Type Notes svalue String Expression Return Value Returns a string value that converted any lowercase characters in Value to uppercase. Remarks Uppercase characters in svalue are not changed. Example [X1$ = "Thomas Jefferson"] [PRINT UCASE$(X1$)] The result in the display is "THOMAS JEFFERSON". VAL Function 284 Advanced Function Language SuperControl User Manual

293 Purpose Convert string to numeric value. Format VAL(sValue) Parameters Name Description Type Notes svalue String Expression Return Value Returns the numeric value represented by svalue. Remarks The VAL function strips blanks, tabs and line feeds from the argument string in order to determine the result. If the first characters of svalue are not numeric then VAL will return 0 (zero). VAL reads until the first non-numeric character is encountered. See STR$ function for converting numeric to string. Example [X1=VAL(" -2.45")] [PRINT X1] This will display Note that the leading spaces were removed by VAL. WEARFACTOR Command Purpose Set tool life wear factor. Format [WEARFACTOR Factor] Parameters Name Description Type Notes Factor Wear Factor Numeric Value Return Value None Remarks SuperControl User Manual Advanced Function Language 285

294 Wear factor is set to 1 by default. See Tool Life Monitoring & Wear Factor for additional information. Example [WEARFACTOR 1.5] WINDOW Command Purpose Open and close the AFL Window on the screen. Format [WINDOW Command] Parameters Name Description Type Notes Command Window Command ON - Display AFL Window OFF - Close AFL Window Statement Return Value None Remarks The Display Window is 15 horizontal lines across the screen. These lines are numbered 1 through 15, from top to bottom. Each line has 80 character positions. These are numbered 1 to 80 from left to right. The position numbers are used by the LOCATE statement. Characters are generally placed in the AFL Window using the PRINT statement. The characters are displayed at the position of the cursor. Characters are displayed from left to right on each line, from line 1 to line 15. When the cursor would normally go to line 16, lines 1 to 15 are scrolled up one line, so that what was line 1 disappears from the screen. Line 16 is then blank and the cursor remains on line 16 to continue printing. For additional information on the AFL Window, see CLS, LOCATE and PRINT. Example [WINDOW ON] WRITEDAYLIGHT Function 286 Advanced Function Language SuperControl User Manual

295 Purpose Record daylight value for active tool. Format WRITEDAYLIGHT(DaylightValue) Parameters Name Description Type Notes DaylightValue Daylight Value Numeric Expression Return Value None Remarks None Example [WRITEDAYLIGHT(1.2345)] WRITEDESCRIPTION Function Purpose Record description text value for active tool. Format WRITEDESCRIPTION(Description) Parameters Name Description Type Notes Description Text String Expression Return Value None Remarks Requires THM Example SuperControl User Manual Advanced Function Language 287

296 [WRITEDESCRIPTION("Outline Tool")] WRITEEXPECTEDLIFE Function Purpose Write tool life expected value for active tool. Format WRITEEXPECTEDLIFE(LifeValue) Parameters Name Description Type Notes LifeValue Tool Life Value Numeric Expression Hours Return Value None Remarks None Example [WRITEEXPECTEDLIFE(10)] WRITEFIXOFFSET Function Purpose Write values into fixture offset table. Format WRITEFIXOFFSET(OffsetNum, AxisNum, OffsetValue) Parameters Name Description Type Notes OffsetNum Fixture Offset Number Numeric Expression Integer Only AxisNum Axis Number Numeric Expression Integer Only OffsetValue Fixture Offset Value Numeric Expression 288 Advanced Function Language SuperControl User Manual

297 Return Value None Remarks None Example [WRITEFIXOFFSET(1, 1, 60)] (WRITE 60 TO FIXTURE OFFSET 1 FOR AXIS 1) WRITEFFWD Function Purpose Write feed forward values into servo control system. Format WRITEFFWD(AxisNum, FfwdValue) Parameters Name Description Type Notes AxisNum Axis Number Numeric Expression Integer Only FfwdValue Feed Forward Value Numeric Expression Return Value None Remarks Values will take immediate effect. Use with caution. Original feed forward values are restored during each machine home sequence. Example [WRITEFFWD(1,10.0)] (WRITE 10.0 FEED FORWARD FOR AXIS 1) WRITEGAIN Function Purpose Write gain values into servo control system. SuperControl User Manual Advanced Function Language 289

298 Format WRITEGAIN(AxisNum, GainValue) Parameters Name Description Type Notes AxisNum Axis Number Numeric Expression Integer Only GainValue Gain Value Numeric Expression Return Value None Remarks Values will take immediate effect. Use with caution. Original gain values are restored during each machine home sequence. Example [WRITEGAIN(1, 0.60)] (WRITE 0.60 GAIN FOR AXIS 1) WRITEINI Function Purpose Write information to an INI file. Format WRITEINI(SectionName, KeyName, Value, FilePath) Parameters Name Description Type Notes SectionName INI section name String Expression KeyName INI key name String Expression Value Value to write String Expression FilePath INI file path String Expression Return Value None Remarks Requires THM Advanced Function Language SuperControl User Manual

299 A section in the INI file will have the following form: [SectionName] KeyName=Value Example [WRITEINI("SETTINGS","Distance","1.2345","D:\DATA\PART\INFO.INI")] INFO.INI contents: [SETTINGS] Distance= WRITELENGTH Function Purpose Write tool length value for active tool. Format WRITELENGTH(LengthValue) Parameters Name Description Type Notes LengthValue Length Value Numeric Expression Return Value None Remarks None Example [WRITELENGTH(2.5)] WRITELENGTHCOMP Function Purpose Write tool length comp value for active tool. SuperControl User Manual Advanced Function Language 291

300 Format WRITELENGTHCOMP(LengthCompValue) Parameters Name Description Type Notes LengthCompValue Length Comp Value Numeric Expression Return Value None Remarks None Example [WRITELENGTHCOMP(2.5)] WRITELIFE Function Purpose Write tool life remaining value for active tool. Format WRITELIFE(LifeValue) Parameters Name Description Type Notes LifeValue Tool Life Value Numeric Expression Hours Return Value None Remarks None Example [WRITELIFE(10)] 292 Advanced Function Language SuperControl User Manual

301 WRITEG00ACCEL Function Purpose Write G00 (rapid traverse) acceleration values. Format WRITEG00ACCEL(AxisNum, AccelValue) Parameters Name Description Type Notes AxisNum Axis Number Numeric Expression Integer Only AccelValue Acceleration Value Numeric Expression Return Value None Remarks Use with caution. Original accelerations are restored during each machine home sequence. Example [WRITEG00ACCEL(1, 100.0)] (WRITE G00 ACCEL FOR AXIS 1) WRITEMAXACCEL Function Purpose Write acceleration values. Format WRITEACCEL(AxisNum, AccelValue) Parameters Name Description Type Notes AxisNum Axis Number Numeric Expression Integer Only AccelValue Acceleration Value Numeric Expression Return Value SuperControl User Manual Advanced Function Language 293

302 None Remarks Use with caution. Original accelerations are restored during each machine home sequence. Example [WRITEACCEL(1, 50.0)] (WRITE 50.0 ACCEL FOR AXIS 1) WRITEMAXSPEED Function Purpose Write acceleration values. Format WRITEMAXSPEED(AxisNum, SpeedValue) Parameters Name Description Type Notes AxisNum Axis Number Numeric Expression Integer Only SpeedValue Feed Rate Value Numeric Expression Return Value None Remarks Use with caution. Original speeds are restored during each machine home sequence. Example [WRITEMAXSPEED(1, )] (WRITE FEEDRATE FOR AXIS 1) WRITEPIVOTDIST Function Purpose Write pivot distance. Format WRITEPIVOTDIST(PivotDistValue) 294 Advanced Function Language SuperControl User Manual

303 Parameters Name Description Type Notes PivotDistValue Pivot Distance Value Numeric Expression Return Value None Remarks Original pivot distance is restored during each machine home sequence. Example [WRITEPIVOTDIST(12.0)] (WRITE 12.0 PIVOT DISTANCE) WRITETOOLRAD Function Purpose Write tool radius value for active tool. Format WRITETOOLRAD(RadiusValue) Parameters Name Description Type Notes RadiusValue Tool Radius Value Numeric Expression Return Value None Remarks None Example [WRITETOOLRAD(0.25)] WRITEMACHINEVAR Function SuperControl User Manual Advanced Function Language 295

304 Purpose Write machine variable. Format WRITEMACHINEVAR(VariableName, Value, Description) Parameters Name Description Type Notes VariableName Variable Name String Expression Value Variable Value Numeric or String Expression Description Variable Description String Expression Optional Return Value None Remarks None Example [WRITEMACHINEVAR("MYVAR", , "My Variable")] [WRITEMACHINEVAR("MYVAR$", "Hello")] 296 Advanced Function Language SuperControl User Manual

305 Virtual Service Virtual Service is provided for all members of the Advanced Support Program. Virtual Service is a powerful audio, video, and data link, using the internet to connect between the customer's SuperControl and the Thermwood service department. When the Virtual Service link is established, the customer can see and talk to the Thermwood service technician and the service technician can see not only the customer, but also all of the critical parameters of the SuperControl. Essentially, it gives the service technician as much information as if he or she were standing in front of the customer's machine! Through this link, the SuperControl can be diagnosed in real-time while programs execute and corrections are made. Programming errors can be found and corrected and mechanical problems are communicated in real time. Thermwood technicians can even evaluate the machine's performance and adjust many of the appropriate machine parameters as required. Virtual Service can effectively handle most difficulties and problems that occur. It provides service in minutes, instead of days or weeks, reducing both customer downtime and operator frustration. Finally, it reduces service costs, while still having the most highly qualified service people available the people who engineered and built your Thermwood equipment. Preparing for Virtual Service The items necessary for the audio/video portion of Virtual Service, a camera and a headset, may be included with your machine. It is necessary for these items to be connected to the control via USB ports. You must make certain that these components are properly connected, and the machine is connected to the internet before proceeding. Note: The audio/video portion is not required but is recommended for the most efficient service experience. Starting a Session Before starting your session, read the following instructions and familiarize yourself with the process. The process is facilitated by drop-down dialog boxes, and should be relatively simple to follow for anyone with basic computer skills. SuperControl User Manual Virtual Service 297

306 Press Alt + S or click on the Virtual Service icon on the Main Screen. THM will check to determine whether or not the machine is on the Advanced Support Program and/or is allowed to connect to Virtual Service. If you have not subscribed to the service, you will see this dialog: Clicking on the "Advanced Support Program Information" button will open a web page with additional information on how to become a member. If you choose to become a member, fill out and submit the information per instructions. You may also sign up for the program by calling the number shown in the dialog. Select Cancel to close the session. Override should only be used if directed by a Thermwood service technician. At the discretion of the technician, you may be allowed a connection to Virtual Service (even though you are not a member) in order to expedite the solving of a complex problem. If no technician is available, you will see a similar window where you can leave a message with the service department. 298 Virtual Service SuperControl User Manual

307 During the connection process, several windows may appear asking for permission to view your control s desktop, start a voice call, etc. It is recommended that you click on the check box for "Grant permission for all actions during this session without prompting again" to avoid having this dialog come up several times during the session. Upon successful establishment of your connection, the Remote Support dialog will appear, and your session will begin. A live video image of the technician with whom you have established contact will appear in the window. Note that a text box is provided for communicating with the technician via text (this would be useful in the event that the audio connection were to fail, etc). When using this feature, type in the message, then click on the Send button. Ending a Session There are two ways to end a session: 1. Click on the Leave Session button on the Remote Support dialog. 2. Click on the Virtual Service icon on the Main Screen. SuperControl User Manual Virtual Service 299

Better, more accurate motion. Easier to Program and Run. Advanced Communications 6-09

Better, more accurate motion. Easier to Program and Run. Advanced Communications 6-09 Better, more accurate motion Easier to Program and Run Advanced Communications 6-09 A dvancing computer technology is driving the development of a new generation of CNC controls. Thermwood, the only major

More information

Profile Modeler Profile Modeler ( A SuperControl Product )

Profile Modeler Profile Modeler ( A SuperControl Product ) Profile Modeler ( A SuperControl Product ) - 1 - Index Overview... 3 Terminology... 3 Launching the Application... 4 File Menu... 4 Loading a File:... 4 To Load Multiple Files:... 4 Clearing Loaded Files:...

More information

Model 90. thermwood. Thermwood CNC Machining Centers. Machine Features Shown

Model 90. thermwood. Thermwood CNC Machining Centers. Machine Features Shown 22017 MADE IN USA 5 Axis Model 90 Thermwood, the industry leader in 5 Axis applications with more five-axis systems in operation than any other company. These 5 Axis CNC routers have become the accepted

More information

Welcome to. the workshop on the CNC 8055 MC

Welcome to. the workshop on the CNC 8055 MC Welcome to the workshop on the CNC 8055 MC Sales Dpt-Training: 2009-sept-25 FAGOR CNC 8055MC seminar 1 Sales Dpt-Training: 2009-sept-25 FAGOR CNC 8055MC seminar 2 This manual is part of the course for

More information

Features & Specifications V

Features & Specifications V Features & Specifications V18.0919 KEEP THE IRON. UPGRADE YOUR MACHINE. A Turnkey Solution to easily replace your Fadal Control Utilize your existing AC/DC servo components and wiring Replace your old

More information

Software designed to work seamlessly with your CNC Masters machine. Made to work with Windows PC. Works with standard USB

Software designed to work seamlessly with your CNC Masters machine. Made to work with Windows PC. Works with standard USB Software designed to work seamlessly with your CNC Masters machine Made to work with Windows PC Works with standard USB Clutter free interface. The software is engineered for the machine so you don t have

More information

The ProtoTRAK Parasolid Converter Operating Manual

The ProtoTRAK Parasolid Converter Operating Manual The ProtoTRAK Parasolid Converter Operating Manual Document: P/N 28070 Version: 042216 Parasolid for Mills Compatible with offline and SMX ProtoTRAK Control models Southwestern Industries, Inc. 2615 Homestead

More information

9000 CNC 9000 CNC: THE NEW STANDARD OF CONTROL. INTUITIVE EFFICIENT PRODUCTIVE

9000 CNC 9000 CNC: THE NEW STANDARD OF CONTROL. INTUITIVE EFFICIENT PRODUCTIVE 3D Solid Model Graphics Solid Model with Tool Path Overlay 9000 CNC 9000 CNC: THE NEW STANDARD OF CONTROL. At Milltronics we are constantly refining our controls to simplify operation, shorten setup times

More information

Mach4 CNC Controller Mill Programming Guide Version 1.0

Mach4 CNC Controller Mill Programming Guide Version 1.0 Mach4 CNC Controller Mill Programming Guide Version 1.0 1 Copyright 2014 Newfangled Solutions, Artsoft USA, All Rights Reserved The following are registered trademarks of Microsoft Corporation: Microsoft,

More information

Lesson 4 Introduction To Programming Words

Lesson 4 Introduction To Programming Words Lesson 4 Introduction To Programming Words All CNC words include a letter address and a numerical value. The letter address identifies the word type. The numerical value (number) specifies the value of

More information

MASTERCAM DYNAMIC MILLING TUTORIAL. June 2018

MASTERCAM DYNAMIC MILLING TUTORIAL. June 2018 MASTERCAM DYNAMIC MILLING TUTORIAL June 2018 MASTERCAM DYNAMIC MILLING TUTORIAL June 2018 2018 CNC Software, Inc. All rights reserved. Software: Mastercam 2019 Terms of Use Use of this document is subject

More information

Up to 4-axis plus closed-loop spindle Conversational and G-Code programming in one control Systems for knee mills, bed mills and VMC s USB interface

Up to 4-axis plus closed-loop spindle Conversational and G-Code programming in one control Systems for knee mills, bed mills and VMC s USB interface Up to 4-axis plus closed-loop spindle Conversational and G-Code programming in one control Systems for knee mills, bed mills and VMC s USB interface Acu-Rite 3500i boosts efficiency, versatility, touch

More information

Control Nesting Manual

Control Nesting Manual Control Nesting Manual Table Of Contents Control Nesting... 1 Introduction... 1 Specifications... 2 Operation... 2 Job Level Interface... 3 Feed Speed Settings... 5 File menu... 7 Load... 7 Loading Files...

More information

CHAPTER 12. CNC Program Codes. Miscellaneous CNC Program Symbols. D - Tool Diameter Offset Number. E - Select Work Coordinate System.

CHAPTER 12. CNC Program Codes. Miscellaneous CNC Program Symbols. D - Tool Diameter Offset Number. E - Select Work Coordinate System. General CHAPTER 12 CNC Program Codes The next three chapters contain a description of the CNC program codes and parameters supported by the M-Series Control. The M-Series Control has some G codes and parameters

More information

TOOLPATHS TRAINING GUIDE. Sample. Distribution. not for MILL-LESSON-4-TOOLPATHS DRILL AND CONTOUR

TOOLPATHS TRAINING GUIDE. Sample. Distribution. not for MILL-LESSON-4-TOOLPATHS DRILL AND CONTOUR TOOLPATHS TRAINING GUIDE MILL-LESSON-4-TOOLPATHS DRILL AND CONTOUR Mill-Lesson-4 Objectives You will generate a toolpath to machine the part on a CNC vertical milling machine. This lesson covers the following

More information

Coordinate System Techniques

Coordinate System Techniques Coordinate System Techniques In this lesson, we ll show some advanced implications of what can be done with coordinate systems. For the most part, this lesson applies to machining centers. But there are

More information

G & M Code REFERENCE MANUAL. Specializing in CNC Automation and Motion Control

G & M Code REFERENCE MANUAL. Specializing in CNC Automation and Motion Control REFERENCE MANUAL Specializing in CNC Automation and Motion Control 2 P a g e 11/8/16 R0163 This manual covers definition and use of G & M codes. Formatting Overview: Menus, options, icons, fields, and

More information

Tutorial 1 Engraved Brass Plate R

Tutorial 1 Engraved Brass Plate R Getting Started With Tutorial 1 Engraved Brass Plate R4-090123 Table of Contents What is V-Carving?... 2 What the software allows you to do... 3 What file formats can be used?... 3 Getting Help... 3 Overview

More information

SmartCAM Production Milling

SmartCAM Production Milling SmartCAM Production Milling June 1996 Version 9.0 for Microsoft Windows NTS1001184 Release Notes These release notes provide information about new product features and known limitations that are specific

More information

Collector and Dealer Software - CAD 3.1

Collector and Dealer Software - CAD 3.1 Collector and Dealer Software - CAD 3.1 Your Registration Number Thank you for purchasing CAD! To ensure that you can receive proper support, we have already registered your copy with the serial number

More information

Computer Basics. Page 1 of 10. We optimize South Carolina's investment in library and information services.

Computer Basics. Page 1 of 10. We optimize South Carolina's investment in library and information services. Computer Basics Page 1 of 10 We optimize South Carolina's investment in library and information services. Rev. Oct 2010 PCs & their parts What is a PC? PC stands for personal computer. A PC is meant to

More information

Programming Features PERFORMANCE & SPECIFICATIONS

Programming Features PERFORMANCE & SPECIFICATIONS PERFORMANCE & SPECIFICATIONS Essentials Processor Intel Pentium Instruction Set 32-bit Performance Number of Cores 1 Processor Base Frequency 1.8 GHz Memory Data Storage 1 GB System Memory Installed 2

More information

dfab Laguna CNC Manual With FANUC Control

dfab Laguna CNC Manual With FANUC Control dfab Laguna CNC Manual With FANUC Control 1 Introduction Throughout this manual we use different nomenclature for [HARD KEYS] and (SOFT KEYS). A [HARD KEY] is a button on the CONTROL PANEL (upper panel)

More information

This is Your Software Security Access Key: DO NOT LOSE IT!

This is Your Software Security Access Key: DO NOT LOSE IT! This is Your Software Security Access Key: DO NOT LOSE IT! DO NOT PLUG THE SECURITY KEY INTO ANY ELEVATOR INTERFACE PORT This security device must be plugged into the notebook computer s PRINTER port whenever

More information

The Reason Thousands Trust MultiCam EZ Control

The Reason Thousands Trust MultiCam EZ Control The Reason Thousands Trust MultiCam EZ Control The EZ Control concept began in the early 1980s as the mouse-and-graphical-user interface reshaped the personal computer. Building on this concept, MultiCam

More information

CNC ROUTER - GRANITE 1200 X 1600 X 200

CNC ROUTER - GRANITE 1200 X 1600 X 200 KRITELAS ATHANASIOS CNC MANIFACTURE FARMAKI 23 STR- 52100 KASTORIA - GREECE TEL: ++30 2467023619 Fax: ++30 2467023886 www.servo.gr - email: krit01@otenet.gr CNC ROUTER - GRANITE 1200 X 1600 X 200 Greece

More information

Table of Contents. Table Of Contents. Access to parameters (lesson 2)) 26 Surprised? 26 Key Points for Lesson 1: 26 Quiz 26

Table of Contents. Table Of Contents. Access to parameters (lesson 2)) 26 Surprised? 26 Key Points for Lesson 1: 26 Quiz 26 Preface 9 Why you should buy this book 9 What is parametric programming? 10 A word about CAM systems 10 Scope 10 Versions of Custom Macro 10 Machine types 10 Prerequisites 11 Optional status 11 Lessons

More information

Mach4 CNC Controller Mill Programming Guide Version 1.1 Build 3775

Mach4 CNC Controller Mill Programming Guide Version 1.1 Build 3775 Mach4 CNC Controller Mill Programming Guide Version 1.1 Build 3775 Copyright 2014 Newfangled Solutions, Artsoft USA, All Rights Reserved The following are registered trademarks of Microsoft Corporation:

More information

User s Manual V MillPlus IT. NC Software

User s Manual V MillPlus IT. NC Software User s Manual V600-02 MillPlus IT NC Software 538 952-02 538 953-02 538 954-02 538 955-02 538 956-02 English (en) 6/2008 Controls on the visual display unit Select window User keys Manual operation Axis-direction

More information

SALECNC CNC ROUTER. User s Operation Manual (NC-Studio Program) SaleCNC.com By: AutomationMaker

SALECNC CNC ROUTER. User s Operation Manual (NC-Studio Program) SaleCNC.com By: AutomationMaker SALECNC CNC ROUTER User s Operation Manual (NC-Studio Program) SaleCNC.com By: AutomationMaker 1 Content Content... 1 Ⅰ. Introduction of wiring of CNC router....2 Ⅱ.Install control software.....2 Ⅲ. Introduction

More information

Conversational Programming for 6000i CNC

Conversational Programming for 6000i CNC Conversational Programming for 6000i CNC www.anilam.com P/N 634 755-22 - Contents Section 1 - Introduction Section 2 - Conversational Mode Programming Hot Keys Programming Hot Keys... 2-1 Editing Keys...

More information

Xbox gamepad CNC pendant user manual

Xbox gamepad CNC pendant user manual Patrik Tegelberg 2017-09-04 Xbox gamepad CNC pendant user manual Computer controlled manufacturing machines are awesome, and not designed for manual cutting. This controller, for LinuxCNC, maintains the

More information

Content. Content Ⅰ. Introduction of wiring of CNC router...2. Ⅱ.Install control software...2. Ⅲ. Introduction of Software...

Content. Content Ⅰ. Introduction of wiring of CNC router...2. Ⅱ.Install control software...2. Ⅲ. Introduction of Software... Content Content... 1 Ⅰ. Introduction of wiring of CNC router....2 Ⅱ.Install control software.....2 Ⅲ. Introduction of Software....5 Ⅳ. Description of software menus... 17 Ⅴ. Operation procedures...22 Ⅵ.Attachment:

More information

COMPUTER DESCRIPTION...

COMPUTER DESCRIPTION... Conventions used in this document: Keyboard keys that must be pressed will be shown as Enter or Ctrl. Controls to be activated with the mouse will be shown as Start button > Settings > System > About.

More information

Roof Truss Roller Press, Tables and Jigging

Roof Truss Roller Press, Tables and Jigging RoofTracker II Roof Truss Roller Press, Tables and Jigging August 2015 Page 1 Table of Contents Equipment Introduction to the Equipment Restricted Zone Truss Terminology Parts of a Truss Important Notes

More information

VisualCAM 2018 for SOLIDWORKS-TURN Quick Start MecSoft Corporation

VisualCAM 2018 for SOLIDWORKS-TURN Quick Start MecSoft Corporation 2 Table of Contents Useful Tips 4 What's New 5 Videos & Guides 6 About this Guide 8 About... the TURN Module 8 Using this... Guide 8 Getting Ready 10 Running... VisualCAM for SOLIDWORKS 10 Machining...

More information

How to Make a Sign. Eagle Plasma LLC. Accessing the included step by step.dxf files

How to Make a Sign. Eagle Plasma LLC. Accessing the included step by step.dxf files Eagle Plasma LLC How to Make a Sign Accessing the included step by step.dxf files The following tutorial is designed to teach beginners, screen by screen, to create a simple sign project. In this lesson

More information

2. INTRODUCTION TO CNC

2. INTRODUCTION TO CNC Q. Define NC Machines. 2. INTRODUCTION TO CNC A method of automation, in which various functions and processing of machine tools are controlled by letters and symbols. The general objective of NC technology

More information

CONTENT PLAYER 9.6_CA_BBP_EN_1.0

CONTENT PLAYER 9.6_CA_BBP_EN_1.0 CONTENT PLAYER 9.6_CA_BBP_EN_1.0 COPYRIGHT Copyright 1998, 2009, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names

More information

User s Manual MILLPWR G2

User s Manual MILLPWR G2 User s Manual MILLPWR G2 5/2016 Controls of the MILLPWR G2 Controls of the MILLPWR G2 Keys on console Motion control keys Key Data entry keys Key Function GO key (e.g. run a program). STOP key (duel function:

More information

Conversational Programming for 6000M, 5000M CNC

Conversational Programming for 6000M, 5000M CNC Conversational Programming for 6000M, 5000M CNC www.anilam.com P/N 70000486F - Contents Section 1 - Introduction Section 2 - Conversational Mode Programming Hot Keys Programming Hot Keys... 2-1 Editing

More information

Framon Fra-2001 Code Machine. Machine & Software Instruction Manual

Framon Fra-2001 Code Machine. Machine & Software Instruction Manual Framon Fra-2001 Code Machine Machine & Software Instruction Manual 1 The FRA2001 Machine When unpacking the carton, be sure to locate the following items in addition to the machine itself: Allen wrenches:

More information

OKUMA MACHINING CENTER OPERATORS GUIDE OSP P200M THiNC

OKUMA MACHINING CENTER OPERATORS GUIDE OSP P200M THiNC OKUMA MACHINING CENTER OPERATORS GUIDE OSP P200M THiNC OSP P200 Mill Training Rev1 1 OKUMA MACHINING CENTER OPERATORS GUIDE Scope 4 Section 1 Guide to Controls on Operation Panels 5 Section 2 Manual Tool

More information

MANUAL NO. OPS647-UM-151 USER S MANUAL

MANUAL NO. OPS647-UM-151 USER S MANUAL MANUAL NO. OPS647-UM-151 USER S MANUAL Software Usage Agreement Graphtec Corporation ( Graphtec ) hereby grants the purchaser and authorized User (the User ) the right to use the software (the Software

More information

WinMax FAQs for distributor partners

WinMax FAQs for distributor partners Benefits 1. What is WinMax? WinMax is simply the best control software ever developed for the machine tool industry. WinMax Control Software is the new control that will be featured on all Hurco machine

More information

Using Delcam Powermill

Using Delcam Powermill Written by: John Eberhart & Trevor Williams DM Lab Tutorial Using Delcam Powermill Powermill is a sophistical tool path generating software. This tutorial will walk you through the steps of creating a

More information

IEEM 215. Manufacturing Processes I Introduction to the ARIX CNC milling machine

IEEM 215. Manufacturing Processes I Introduction to the ARIX CNC milling machine IEEM 215. Manufacturing Processes I Introduction to the ARIX CNC milling machine The image below is our ARIX Milling machine. The machine is controlled by the controller. The control panel has several

More information

Polar coordinate interpolation function G12.1

Polar coordinate interpolation function G12.1 Polar coordinate interpolation function G12.1 On a Turning Center that is equipped with a rotary axis (C-axis), interpolation between the linear axis X and the rotary axis C is possible by use of the G12.1-function.

More information

Screen captures of what you may see while doing the update. Answer Yes to Installation of NC software.

Screen captures of what you may see while doing the update. Answer Yes to Installation of NC software. October 23, 2014 MILLPWR G2 2 & 3 Axis (Version R2) NOTE: HEIDENHAIN Corporation recommends making a backup of the control with the included USB Recovery Drive (684138-xx) before updating the control software.

More information

Ultimate Screen Reference Guide

Ultimate Screen Reference Guide MACHMOTION Ultimate Screen Reference Guide 8/11/2011 Everything you need to know to use and setup the MachMotion Ultimate Screen. MachMotion Version 1.0.2 2 P a g e Copyright 2011, MachMotion.com All rights

More information

300S READOUTS REFERENCE MANUAL

300S READOUTS REFERENCE MANUAL 300S READOUTS REFERENCE MANUAL 300S Key Layout 1 Display Area 2 Soft keys 3 Power Indicator light 4 Arrow Keys: Use the UP/DOWN keys to adjust the screen contrast. 5 Axis Keys 6 Numeric Keypad 7 ENTER

More information

StudioPrompter Tutorials. Prepare before you start the Tutorials. Opening and importing text files. Using the Control Bar. Using Dual Monitors

StudioPrompter Tutorials. Prepare before you start the Tutorials. Opening and importing text files. Using the Control Bar. Using Dual Monitors StudioPrompter Tutorials Prepare before you start the Tutorials Opening and importing text files Using the Control Bar Using Dual Monitors Using Speed Controls Using Alternate Files Using Text Markers

More information

Software Conversion Guide

Software Conversion Guide Eagle SSE Software Conversion Guide Release 17 (Server Level 29) EL2157 This manual contains reference information about software products from Activant Solutions Inc. The software described in this manual

More information

CNC Knee Type Milling Machines with USA CENTROID M-400S CNC control

CNC Knee Type Milling Machines with USA CENTROID M-400S CNC control CNC Knee Type Milling Machines with USA CENTROID M-400S CNC control GMM-949-CNC, 9 x49 table, R8, vari-speed, 3 axis CNC... GMM-949F-CNC, 9 x49 table, R8, inverter drive, 5,000 rpm, 3 axis CNC.. Note:

More information

SSII SUV MANUAL. LAGUNA TOOLS 2072 Alton Parkway Irvine, California Ph:

SSII SUV MANUAL. LAGUNA TOOLS 2072 Alton Parkway Irvine, California Ph: SSII SUV MANUAL LAGUNA TOOLS 2072 Alton Parkway Irvine, California 92606 Ph: 800.234.1976 www.lagunatools.com 2018, Laguna Tools, Inc. LAGUNA and the LAGUNA Logo are the registered trademarks of Laguna

More information

Software User s Manual

Software User s Manual 1 Software User s Manual CONTENTS About the manual 2 Navigating the manual 3 CUSTOMIZING 4 Opening the control panel 4 Control panel overview 5 Calibrating the pen display 7 Adjusting pitch and phase (VGA

More information

Computer Basics. Hardware. This class is designed to cover the following basics:

Computer Basics. Hardware. This class is designed to cover the following basics: Computer Basics This class is designed to cover the following basics: computer hardware software computer s operating system different kinds of storage devices you can use to save files using a mouse what

More information

Running a Job on the Large Mill

Running a Job on the Large Mill Running a Job on the Large Mill Digital Media Tutorial Written by Trevor Williams Turning On the Machine Flip the breaker switch on the front right of the lower part of the controller box to the ON position.

More information

Applications: MultiCam Graph-X-Cutter Feature and Specification Guide

Applications: MultiCam Graph-X-Cutter Feature and Specification Guide MultiCam Graph-X-Cutter Feature and Specification Guide Affordable High-Speed Digital Finishing System The MultiCam Graph-X-Cutter is an extremely flexible high-speed CNC finishing system. It combines

More information

2000 Series Mill / Router Operating Manual

2000 Series Mill / Router Operating Manual 2000 Series Mill / Router Operating Manual 1. Introduction 1.1 Control Startup To open the control software double-click on the profile icon on the desktop. Control Icon 1.2 Overview This manual gives

More information

Operation Manual (B) KVR-2418 (24L) Fanuc OiMD CNC. KENT INDUSTRIAL (USA) INC Edinger Ave., Tustin, CA 92780

Operation Manual (B) KVR-2418 (24L) Fanuc OiMD CNC. KENT INDUSTRIAL (USA) INC Edinger Ave., Tustin, CA 92780 Operation Manual (B) KVR-2418 (24L) Fanuc OiMD CNC KENT INDUSTRIAL (USA) INC. 1231 Edinger Ave., Tustin, CA 92780 Tel: (714) 258-8526 Fax: (714) 258-8530 Internet: WWW.KENTUSA.COM KENT USA THE WAY TO AFFORDABLE

More information

StickFont v2.12 User Manual. Copyright 2012 NCPlot Software LLC

StickFont v2.12 User Manual. Copyright 2012 NCPlot Software LLC StickFont v2.12 User Manual Copyright 2012 NCPlot Software LLC StickFont Manual Table of Contents Welcome... 1 Registering StickFont... 3 Getting Started... 5 Getting Started... 5 Adding text to your

More information

FlashCut CNC / Precix Router User s Guide v1.2 Brett Ian Balogh 31.October, Ensure the computer is plugged in. Do not plug the spindle in yet.

FlashCut CNC / Precix Router User s Guide v1.2 Brett Ian Balogh 31.October, Ensure the computer is plugged in. Do not plug the spindle in yet. FlashCut CNC / Precix Router User s Guide v1.2 Brett Ian Balogh 31.October, 2011 1. Ensure the computer is plugged in. Do not plug the spindle in yet. 2. Start the computer by pressing the on/off button

More information

MRZJW3- SETUP154E. General-Purpose AC Servo Servo Configuration Software MODEL INSTALLATION GUIDE

MRZJW3- SETUP154E. General-Purpose AC Servo Servo Configuration Software MODEL INSTALLATION GUIDE General-Purpose AC Servo Servo Configuration Software MODEL MRZJW3- SETUP154E INSTALLATION GUIDE Thank you for choosing the Mitsubishi general-purpose AC servo Servo Configuration Software. To optimize

More information

Mach4 CNC Controller Lathe Programming Guide Version 1.0

Mach4 CNC Controller Lathe Programming Guide Version 1.0 Mach4 CNC Controller Lathe Programming Guide Version 1.0 1 Copyright 2014 Newfangled Solutions, Artsoft USA, All Rights Reserved The following are registered trademarks of Microsoft Corporation: Microsoft,

More information

GE Fanuc Automation. Series 16i / 18i / 21i Model TA Manual Guide. Computer Numerical Control Products. Operator's Manual

GE Fanuc Automation. Series 16i / 18i / 21i Model TA Manual Guide. Computer Numerical Control Products. Operator's Manual GE Fanuc Automation Computer Numerical Control Products Series 16i / 18i / 21i Model TA Manual Guide Operator's Manual B-63344EN/01 July 1998 Warnings, Cautions, and Notes as Used in this Publication GFL-001

More information

Mach4 CNC Controller Screen Editing Guide Version 1.0

Mach4 CNC Controller Screen Editing Guide Version 1.0 Mach4 CNC Controller Screen Editing Guide Version 1.0 1 Copyright 2014 Newfangled Solutions, Artsoft USA, All Rights Reserved The following are registered trademarks of Microsoft Corporation: Microsoft,

More information

T-SERIES Operator s Manual

T-SERIES Operator s Manual T-SERIES Operator s Manual CNC12 Version 4.12 U.S. Patent #6490500 c 2018 Centroid Corp. Howard, PA 16841 Throughout this manual and on associated products where applicable, in accordance with ANSI Z535,

More information

THE EASTMAN Easicut v2.1

THE EASTMAN Easicut v2.1 THE EASTMAN Easicut v2.1 User's Manual This manual must be used in conjunction with the M9000 Machine Instruction and Service manual, Form #E-509-Instructions. 779 Washington St., Buffalo, N.Y. 14203-1396

More information

A Axis M-Functions Level 1 A Axis Standard A Axis SMT Level 2. Each console includes the following:

A Axis M-Functions Level 1 A Axis Standard A Axis SMT Level 2. Each console includes the following: Hardware List The 3000M Crusader II Upgrade system has been custom configured to provide the necessary hardware required for installation on your machine. Verify that you have received all the correct

More information

MILLPWR G2. The New Industry Standard. Powered by Factory installed on KENT USA CNC Mills. Since KTM-5VKF w/millpwr G2

MILLPWR G2. The New Industry Standard. Powered by Factory installed on KENT USA CNC Mills. Since KTM-5VKF w/millpwr G2 MILLPWR G2 The New Industry Standard KTM-5VKF w/millpwr G2 Powered by Factory installed on KENT USA CNC Mills MILLPWR G2 CNC Milling Machine New & Powerful Features Digital Spindle RPM Display Color Spindle

More information

DeskCNC setup and operation manual

DeskCNC setup and operation manual DeskCNC setup and operation manual This document explains how to install, setup and cut foam shapes using DeskCNC 4 axis foam cutting software. The document will go through a step by step process of how

More information

Wizard 1000 REFERENCE MANUAL

Wizard 1000 REFERENCE MANUAL Wizard 1000 REFERENCE MANUAL W1000 Key Layout Display Area Axis Keys Numeric Keypad Clear key Soft keys Enter key Power Indicator light Arrow keys - Up/ Down arrow keys are also used to adjust the screen

More information

FANUC OPEN CNC OPERATOR S MANUAL BASIC OPERATION PACKAGE 2 B-63924EN/01

FANUC OPEN CNC OPERATOR S MANUAL BASIC OPERATION PACKAGE 2 B-63924EN/01 FANUC OPEN CNC BASIC OPERATION PACKAGE 2 OPERATOR S MANUAL B-63924EN/01 No part of this manual may be reproduced in any form. All specifications and designs are subject to change without notice. The export

More information

Autodesk Inventor Design Exercise 2: F1 Team Challenge Car Developed by Tim Varner Synergis Technologies

Autodesk Inventor Design Exercise 2: F1 Team Challenge Car Developed by Tim Varner Synergis Technologies Autodesk Inventor Design Exercise 2: F1 Team Challenge Car Developed by Tim Varner Synergis Technologies Tim Varner - 2004 The Inventor User Interface Command Panel Lists the commands that are currently

More information

EZ-Mill EXPRESS TUTORIAL 2. Release 13.0

EZ-Mill EXPRESS TUTORIAL 2. Release 13.0 E-Mill EPRESS TUTORIAL 2 Release 13.0 Copyright Notice This manual describes software that contains published and unpublished works of authorship proprietary to ECAM Solutions, Inc. It is made available

More information

CNC enthusiast September, 2011

CNC enthusiast September, 2011 Instant Quote PC based CNC controls Machine tools and Custom applications SALES SERVICE TRAINING CNC enthusiast September, 2011 Thank you for inquiring about our Build it Yourself CNC control components

More information

Schematic Editing Essentials

Schematic Editing Essentials Summary Application Note AP0109 (v2.0) March 24, 2005 This application note looks at the placement and editing of schematic objects in Altium Designer. This application note provides a general overview

More information

SuperNova. Magnifier & Speech. Version 15.0

SuperNova. Magnifier & Speech. Version 15.0 SuperNova Magnifier & Speech Version 15.0 Dolphin Computer Access Publication Date: 19 August 2015 Copyright 1998-2015 Dolphin Computer Access Ltd. Technology House Blackpole Estate West Worcester WR3

More information

CNC Programming Simplified. EZ-Turn Tutorial.

CNC Programming Simplified. EZ-Turn Tutorial. CNC Programming Simplified EZ-Turn Tutorial www.ezcam.com Copyright Notice This manual describes software that contains published and unpublished works of authorship proprietary to EZCAM Solutions, Inc.

More information

USB Indexer USB Indexer for CNC Controls

USB Indexer USB Indexer for CNC Controls USB Indexer USB Indexer for CNC Controls 2009-2011 Calmotion LLC, All rights reserved Calmotion LLC 9909 Topanga Canyon Blvd. #322 Chatsworth, CA 91311 www.calmotion.com -1 2009-2011Calmotion LLC, All

More information

What's New in BobCAD-CAM V29

What's New in BobCAD-CAM V29 Introduction Release Date: August 31, 2016 The release of BobCAD-CAM V29 brings with it, the most powerful, versatile Lathe module in the history of the BobCAD-CAM software family. The Development team

More information

Tutorial VCarving Christmas Decorations

Tutorial VCarving Christmas Decorations Getting Started With Tutorial VCarving Christmas Decorations VCarve Pro Disclaimer All CNC machines (routing, engraving, and milling) are potentially dangerous and because Vectric Ltd has no control over

More information

Indra Works DS Tuning Procedure

Indra Works DS Tuning Procedure Indra Works DS Tuning Procedure Rexroth Indramat drives can be tuned in-house or in the field. The following procedures are written for a technician tuning a drive, in-house. Where an asterisk (*) appears,

More information

Oracle User Productivity Kit Content Player

Oracle User Productivity Kit Content Player Oracle User Productivity Kit Content Player Oracle User Productivity Kit Content Player Copyright 1998, 2012, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks

More information

Using the CNC Plasma Cutter (Torchmate)

Using the CNC Plasma Cutter (Torchmate) Using the CNC Plasma Cutter (Torchmate) Digital Media Lab Tutorial Written by: John Eberhart Create a Profile to Cut The Plasma Cutter reads DXF profiles. Create or open your profiles in Autocad and scale

More information

The ProtoTRAK Parasolid Converter Operating Manual

The ProtoTRAK Parasolid Converter Operating Manual The ProtoTRAK Parasolid Converter Operating Manual Document: P/N 29610 Version: 120518 Parasolid for Mills Compatible with offline and RMX ProtoTRAK Control models 2615 Homestead Place Rancho Dominguez,

More information

User Guide. FTR Reporter For more information, visit

User Guide. FTR Reporter For more information, visit FTR Reporter 5.7.1 For more information, visit www.fortherecord.com TABLE OF CONTENTS INTRODUCTION... 5 Overview... 5 About This Document... 5 GETTING STARTED... 6 Installation... 6 Starting Reporter...

More information

Mach4 Industrial Mill Operations Guide

Mach4 Industrial Mill Operations Guide Mach4 Industrial Mill Operations Guide 1 Copyright 2014 Newfangled Solutions, Artsoft USA, All Rights Reserved The following are registered trademarks of Microsoft Corporation: Microsoft, Windows. Any

More information

AKCess Pro Server Access Control User Manual

AKCess Pro Server Access Control User Manual www.akcp.com AKCess Pro Server Access Control User Manual Help Version updated till version 118 Copyright 2012, AKCess Pro Co., Ltd.. 1) Introduction A) What is the AKCess Pro Server / Access Control?

More information

Configuring Logosol CNC page 2. Setting up the machine limits and user units page 3. Setting up the Motion parameters page 4. I/O mapping page 7

Configuring Logosol CNC page 2. Setting up the machine limits and user units page 3. Setting up the Motion parameters page 4. I/O mapping page 7 Configuring Logosol CNC page 2 Setting up the machine limits and user units page 3 Setting up the Motion parameters page 4 I/O mapping page 7 I/O setup page 9 Tools control page 11 Tool Life management

More information

Our thanks go to: Puppy Linux, RTAI, EMC, axis, all the kernel developers and big mama thornton.

Our thanks go to: Puppy Linux, RTAI, EMC, axis, all the kernel developers and big mama thornton. CoolCNC Linux First Steps This manual is a step by step introduction for the installation of the CoolCNC Linux Live CD. Its intent is to lead to a better understanding of the current processes. This document

More information

Randy H. Shih. Jack Zecher PUBLICATIONS

Randy H. Shih. Jack Zecher   PUBLICATIONS Randy H. Shih Jack Zecher PUBLICATIONS WWW.SDCACAD.COM AutoCAD LT 2000 MultiMedia Tutorial 1-1 Lesson 1 Geometric Construction Basics! " # 1-2 AutoCAD LT 2000 MultiMedia Tutorial Introduction Learning

More information

User Manual Portable Laptop Console Crash Cart Adapter

User Manual Portable Laptop Console Crash Cart Adapter User Manual Portable Laptop Console Crash Cart Adapter GUC211V PART NO. M1458 www.iogear.com 2017 IOGEAR. All Rights Reserved. Part No. M1458. IOGEAR, the IOGEAR logo is trademarks of IOGEAR. Microsoft

More information

Process Areas. Fast. Flexible. Direct. For the latest news, information and specifications visit:

Process Areas. Fast. Flexible. Direct. For the latest news, information and specifications visit: Optimus Designed for cabinetmakers and woodworkers, Optimus is more than just a machine - It is a complete CNC router solution that includes a customized machine configuration, dedicated support and a

More information

3000M CNC Programming and Operations Manual for Two-Axis Systems

3000M CNC Programming and Operations Manual for Two-Axis Systems 3000M CNC Programming and Operations Manual for Two-Axis Systems www.anilam.com P/N 70000496G - Contents Section 1 - CNC Programming Concepts Programs... 1-1 Axis Descriptions... 1-1 X Axis... 1-2 Y Axis...

More information

Tutorial 3 Model Locomotive Name plate

Tutorial 3 Model Locomotive Name plate Getting Started With Tutorial 3 Model Locomotive Name plate Cut2D Disclaimer All CNC machines (routing, engraving, and milling) are potentially dangerous and because Vectric Ltd. has no control over how

More information

ATC3 Umbrella Tool Changer. Operator s Manual. Rev. 05-October Centroid Corp. Howard, PA 16841

ATC3 Umbrella Tool Changer. Operator s Manual. Rev. 05-October Centroid Corp. Howard, PA 16841 CENTROID ATC3 Umbrella Tool Changer Operator s Manual Rev. 05-October-2007 2006 Centroid Corp. Howard, PA 16841 D:\Documents\Manuals\ATC3\Umbrella ATC3 Operating Instructions.doc Page 1 of 13 D:\Documents\Manuals\ATC3\Umbrella

More information

Copyright 2004, Mighty Computer Services

Copyright 2004, Mighty Computer Services EZ-GRAPH DATABASE PROGRAM MANUAL Copyright 2004, Mighty Computer Services The Table of Contents is located at the end of this document. I. Purpose EZ-Graph Database makes it easy to draw and maintain basic

More information

Color Touchscreen Users Manual

Color Touchscreen Users Manual PROFESSIONAL ENGRAVING SYSTEMS Color Touchscreen Users Manual For all rotary engraving systems equipped with the color touchscreen For use with VCS release version 121-127 GENERAL INFORMATION The touch

More information