TURBOCNC v4.01

CNC Machinery

Control Program

 

 

 

 

© 2005 DAK Engineering. All Rights Reserved

 

 


Table of Contents

Table of Contents. iii

Part 1 – Quick Start 5

Legal Notice. 5

Upgrade Information. 5

Installation. 2

System Requirements. 2

Program Installation. 3

Getting Started. 3

Contact Information. 5

Support 5

Credits. 5

Part 2 – User’s Guide. 6

Introduction. 6

Menu System.. 6

Quick Keys. 7

Motion Keys: 7

File. 7

Run. 10

Setup. 12

Configure. 20

Tools. 40

Help. 40

Port Monitor 42

Monitor Lockout: 42

Display Monitor: 42

Port to Monitor: 42

Color Scheme: 42

Ignore Contention: 43

Active Mode: 43

Force Full I/O: 44

Control Register Mode: 44

TurboCNC Configuration File. 44

Command Line Options. 47

Part 3 – RS 274 Programming Guide. 48

Introduction. 48

TurboCNC Parser 48

OpCodes. 50

Operands. 50

Conditional Execution. 51

Preparatory Functions (G-Codes) 51

Supported Preparatory Functions. 51

G00 Rapid Positioning. 51

G01 Linear Interpolation. 52

G02 CW circular interpolation (3D) 52

G03 CCW circular interpolation (3D) 54

G04 Dwell 54

G16 Set implicit planes. 55

G17-19 Set current 2D plane. 55

G20 Inch units. 56

G21 Metric units. 56

G28 Home all axes. 56

G31 Probe move. 57

G32 Probe cycle. 57

G33 Single pass threading. 58

G50 Probe hole ID. 59

G53 Change to master coordinates. 59

G54-G59 Change fixture offset 59

G70 Inch mode. 60

G71 Metric mode. 60

G72 CW helical interpolation. 60

G73 CCW helical interpolation. 60

G76 Multi-pass threading. 60

G77 Turning/Boring/Milling Cycle. 61

G78 Peck Motion Cycle. 62

G80 Cancel drill cycle. 62

G81 Drill cycle. 62

G82 Drill + Dwell cycle. 63

G83 Peck drill cycle. 64

G90 Absolute coordinates. 64

G91 Incremental coordinates. 64

G92 Preload of registers/Set machine coordinates. 65

G93 Inverse time feed rate. 65

G94 IPM feed rate. 65

G95 IPR feed rate. 66

G97 Program spindle RPM.. 66

G178 Speed peck motion. 66

G183 Speed peck drill cycle. 67

Miscellaneous Functions (M-Codes) 68

Supported Miscellaneous Functions. 68

M00 Automatic halt 68

M01 Optional halt 68

M02 End of program.. 68

M03 Spindle on CW.. 69

M04 Spindle on CCW.. 69

M05 Spindle off 69

M06 Tool change. 69

M07 Coolant A on (flood) 70

M08 Coolant B on (mist) 70

M09 Coolants off 70

M10 Clamp. 70

M11 Unclamp. 70

M13 Spindle CW and coolant A on. 71

M14 Spindle CCW and coolant A on. 71

M17 Enable drives. 71

M18 Disable drives. 71

M21 Open collet 71

M22 Close collet 72

M30 End of program & rewind. 72

M40 – M46: Gear Changes. 72

M48 Restore feed override. 72

M49 Cancel feed override. 72

M50 Read spindle speed. 73

M60 Jump to subroutine (obsolete function) 73

M62 Return from subroutine (obsolete function) 73

M70 Set PLC handshake output to inactive. 74

M71 Set PLC handshake output to active. 74

M72 Wait for PLC handshake input to go inactive. 74

M73 Wait for PLC handshake input to go active. 74

M97 Jump. 75

M98 Jump to subroutine. 75

M99 Return from subroutine. 76

S-Word Handing: 77

Programming Extensions. 77

Expressions. 77

Variables. 78

Sample Code - Using Expressions and Variables. 79

Conditional Execution (IF) 79

Simulating Advanced Conditional Execution Structures. 81

Interacting with the Operator 82

Putting it all Together: The Circle Using Line Segments. 84

Part 4 – Introduction to CNC. 86

General 86

The Axes De-Mystified: 87

Axis conventions: 88

The parallel port explained: 90

Part 5 – Technical Details. 91

The Parallel Port 91

Set Up of Step and Direction Lines. 91

I/O Points. 93

Configuring Speed Control 94

Setting up Windows 9x to boot directly into MS-DOS. 94

Modify MSDOS.SYS. 95

Modifying CONFIG.SYS. 95

Modify AutoEXEC.BAT. 96


Part 1 – Quick Start

Legal Notice

WARNING

!

Various warnings appear throughout this manual. Do not take these to be applicable in all situations, nor to completely describe the hazards involved. CNC machines supply the power to do your work more effectively. You supply the judgment. Although DAK Engineering does its best to stand behind this product, we won't be liable for damages incurred.

 

 Regular users of TurboCNC are expected to register the program by paying for it (see contact section). Source code and bug report/upgrade newsletters are made available to registered users via email.

If you're a registered user, you can do anything you want with the program and source code to modify it as you see fit, except for redistribution. In your own shop, anything goes.

Upgrade Information

There have been numerous changes to TurboCNC since the major code branh (version 3.X). These include modifications to the code accepted to bring it into line with the RS-274 D standard and industry practices. G16 is no longer supported. Support for G72 and G73 has been dropped, use G02 and G03 with a third axis callout instead to perform helical moves. Similarly, use M98 as a subroutine call, and M99 as a subroutine return instead of the M60 and M62 supported in previous versions.

New functions in TurboCNC include:

·         G76 Multi-pass threading

·         G93 Inverse time feed mode

·         G178 – Speed Peck Motion

·         G183 – Speed Peck Drill Cycle

·         M97 – Jump

 

Some of the functions have had their parameters changed. As an example the '#' is no longer used as a parameter, therefore G04 (Dwell) now accepts the 'Q' parameter to specify dwell time.

Programming elements including a means of communicating with the operator, variables, expressions, and conditional execution, are new to this version of TurboCNC. These additions bring new power and flexibility to your programs.

The format of the turbocnc.ini file is backward compatible, so you can use your old one to get rolling with this new version right away. Inside TurboCNC, use the “Save configuration” option to re-write the turbocnc.ini file, and you’re now up to date!

Since 4.00, there have been scores of bug fixes, and some dialog changes to make the software easier to use.  Many of the changes have been “under the hood”.

Support for Peter Homann's DigiSpeed spindle control has been added. For info on this product go to http://www.homanndesigns.com/ .

 


Installation

System Requirements

486DX2-66 or later PC compatible computer with at least 4MB RAM and a DOS compatible file system

Open 25-pin parallel port for control

500k free disk space (7M for source code and development tools). TurboCNC can be run from a floppy disk, but a hard drive installation is generally better

A 66 MHz or faster clock speed is recommended for satisfactory performance.

Almost any home or office computer system made after 1993 will meet these requirements. However, some fairly modern industrial control computers may not. Consult your owner's manuals to be sure. TurboCNC will report if any critical things are missing at startup.

For very old computers or those that don't have a math coprocessor, try using version 3.0f of TurboCNC instead. This is available in the web archive for download at http://www.dakeng.com/archive.html and although it lacks many features compared to the later versions, it can and has been used for production grade work on even very old 286-10 machines. In some countries these may be the only computers available to private citizens.

A note on Laptops:

Some laptops pose problems to TurboCNC and CNC machines. There are two common problems.

The first is the BIOS may introduce its own interrupts, which can interfere with the generation of a steady pulse train. This problem can cause lost steps. You can try to eliminate these by booting the system into BIOS and resetting the options there.

The second common problem is that some laptops do not switch between +5 volts and 0 volts on the pins of the printer port as is required by many drivers. A parallel port breakout board of your own design or a commercial offering such as the Axxus Technologies DB1V2.0 can be used to restore the full 5-volt swing required by many stepper and servo motor drives. 

 


Program Installation

Here's how to get TurboCNC on your computer. Future versions will feature an installer utility, but for now you have to do this manually.

1.      Download a copy of the program from the web at http://www.dakeng.com/turbo.html, and save the file somewhere on your machine.

2.      Obtain a de-archiving utility that will handle .ZIP files. Our recommendation is WinZip, which has a 30-day demo and integrates well with Windows – downloadable at http://www.winzip.com. DOS users can use their beloved PKZIP from PKWare or a similar product.

3.      Extract the contents of the archive to a convenient folder with a short name, like C:\TCNC\ or similar. You must respect a limitation of eight characters here thanks to an inherited DOS limitation.

4.      All of the program files, and this manual, will be found in the new folder.

5.      If you want to install TurboCNC on a different machine, copy the contents of the folder to a diskette or transfer it over a network to the new machine. No registry settings, hidden data, or system file changes are used.

Getting Started

TurboCNC runs in real-mode DOS for maximum speed and control over the timing of the parallel ports.

Booting into real mode may be a challenge depending on what system you use currently. Here's how you can get the program started and working efficiently for you under some of the more popular PC operating systems.

 

WARNING

!

If you launch TurboCNC from Windows, you'll have problems when you try to control your machine. Read this section and follow the instructions for your operating system.

 If you just want to "play" with the program without a machine connected, you can ignore this stuff for now. When it comes time to make chips you'll need this information.

 

NOTE: These directions assume the program has already been installed per the above.

MS-DOS (any version from 3.0 & up)

Modify your CONFIG.SYS file to allow a boot-up configuration in which EMM386.EXE, HIMEM.SYS, RAMDRIVE.SYS, and any disk caching programs are not present.

Alternately, create a boot disk with the FORMAT /S command to boot up in a minimal environment.

Disable DOUBLESPACE if it is enabled.

Change to the directory with turbocnc.exe and execute the program.

Windows 3.1

Edit the WIN line and any drivers from your autoexec.bat and config.sys files in order to present a clean boot to DOS.

Run TurboCNC from the DOS prompt. If you're still using Win3.1 this far into the 21st century, we assume that you know what you're doing here. Generally, the instructions are the same as for MS-DOS above.

Windows 95/98

From the desktop, pick Start | Shut-down | Restart in MS-DOS mode

Change to the directory with turbocnc.exe and execute the program using the DOS commands

CD \TCNC or similar for your system, then TURBOCNC

Alternately, you can hold down the CTRL key (or sometimes F8) while your computer boots up. A short text menu will appear with some boot options. Pick Command Prompt Only, and run as above. If TurboCNC gives you an EMS/XMS driver warning, do it over and pick Command Prompt Safe Mode instead.

Windows NT / 2000

TurboCNC will not drive your CNC system reliably as direct access to the hardware is not allowed under these operating systems. You can, however run TurboCNC under the command prompt to familiarize yourself with it, and to 'Dry Verify' parts files. All of the screen shots in this document were gathered by running Turbo CNC on a Windows 2000 system and performing a 'Print Window'.

TurboCNC can run on a dual boot system with DOS. Consider formatting a disk partition with FAT16 rather than running solely from a floppy disk. On some systems using floppy drives only TurboCNC has had problems due to drive access times.

 Windows XP

You'll need to create a real-mode boot disk for TurboCNC Get a blank floppy disk out.

·         From the desktop hit Start | My Computer | Floppy (A)   [or other letter as appropriate for your system]

·         Insert the disk, then hit  File | Format

·         Check the box that says "Create MS-DOS boot disk" and hit OK to format

 

Expand and copy the TurboCNC files to the floppy.

Reboot the computer with the floppy in drive A

Execute TurboCNC at the A:\> prompt.


Contact Information

The best way to contact us is via email:

staff@dakeng.com

Or if you prefer the normal mail:

DAK Engineering c/o Dave Kowalczyk

11032 SE 224 PL

Kent WA 98031 USA

 

Registration payments ($60) can be sent through PayPal to our account at admin@dakeng.com, or by check/money order to the address above. Make checks payable to DAK Engineering. Include your email address so that we can send the source code to you as well. 

Support

Consider joining the Yahoo! TurboCNC User Group at http://groups.yahoo.com/group/turbocnc/. Many of our members are highly knowledgeable and willing to help, and several have posted their enhancements to TurboCNC.

Don't hesitate to let us know about features you want to see in a future version. Upgrades are continuous, and most suggestions find their way in there eventually.

For bug reporting, please send the problem code and your turbocnc.ini file for the program as a courtesy if appropriate to the issue. It helps enormously in analyzing problems.

Credits

Dave Kowalczyk – Lead programmer, original author.

Jerry Jankura - Programming, TUI systems and interfaces.

Tony Groothuizen – Programming, debugging.

George and Andrew Bean - Authors of the TechnoJock Toolkit, which drives the menu system.

Terry King - Author of Fkeybit.

Harald Geier - Menu usability, MasterCAM posts.

John Johnson - M60/62 (now M98 / M99) and parsing algorithms.

Daniel Barber - Windows XP compatibility testing and boot instructions.

Alan Matheson - Metric mode testing.

Daniel Brock, Wayne Hill, and Andrew Erwood - G76 cycle specifications.

We would also like to recognize the registered users and the beta testers especially for their support, suggestions, patience, and the many successes they've enjoyed while using this software.

Part 2 – User’s Guide

Introduction

TurboCNC is a machine control interpreter. By loading in “g-code” files and executing them, physical motion of a machine occurs.

Menu System

Here's what you should see when you start the program, after the initial diagnostic screen:

In many respects this program functions like others you have used, such as the concept of opening and editing files, saving, and in the GUI concept.

Note the black colored window on the right hand side of the screen. This is the Status Window, and it's very special. From top to bottom, the Status Window displays the current machine position, the status of the spindle and coolants (if installed), which options are currently active, and some information about the machine state. You can't move this window or get rid of it - it's there permanently.

The position of each axis is updated at the end of a move, and "In motion..." will be displayed while things are still moving. In previous versions you were allowed to have the position updated each step, but this costs too much CPU time to keep up with. The information here is updated just after a block executes.

TurboCNC has been redesigned to allow the use of a mouse. The mouse is deactivated during motion to prevent interference of the mouse driver with the generation of the pulse train. If you experience lost steps while using the mouse, try booting your system without the mouse driver.

TIP: Although the menu system is designed to be used with a mouse, there are keyboard shortcuts for every function. For example, Alt-F-X exits the program. This is usually much faster than using the mouse, especially if you don't have one. In many shops, the amount of dirt and crud around (not to mention the tendency for any horizontal surface to become occupied), will preclude the use of a mouse anyway.

Quick Keys

The functions most commonly used to set up a job have an associated function key listed on the status bar at the bottom of the screen. Other common tasks also have a 'Quick Key' associated with them. These keys are:

·         ctrl + N Open a new file

·         ctrl + O Open file in editor

·         ctrl + R Run from disk

·         alt + num Configuration menu for that axis

Motion Keys:

During motion several keys are checked every 18.2 milliseconds (about 55 times per second). These are:

·         Esc  Panic Stop (Stops motion immediately)

·         increase or decrease feed rate 1%

·         shift + <>   increase or decrease feed rate 10%

 

During motion, the result of increasing or decreasing the feed rate will not be seen on the status display. This is updated at the end of the current move.

File

New, Open in editor, Run from file, Close, Save, Save As

These first five options are for accessing and manipulating your collection of g-code files. Note that you can only have one file open at any time. G-code files should be straight ASCII text in CRLF (DOS) format.

Open in editor will load the entire file into memory, and bring up an editing window. This is best for smaller files of 500KB or less. Standard editing keys are available.

·         ctrl + c                       copy

·         ctrl + v                        paste

·         ctrl + x                       cut

·         up-arrow                     move cursor up one line

·         ctrl + up-arrow             move cursor to top of window

·         down-arrow                 move cursor down one line

·         ctrl + down-arrow         move cursor to bottom of window

·         left-arrow                     move cursor left one character

·         ctrl + left-arrow            move cursor left one word

·         right-arrow                   move cursor right one character

·         ctrl + right-arrow          move cursor right one word

·         page-up                      scroll screen up one page

·         page-down                  scroll screen down one page

·         home                          move cursor to beginning of line

·         ctrl + home                 move cursor to beginning of file

·         end                            move cursor to end of line

·         ctrl + end                    move cursor to end of file

·         F5                              stretch window

·         ctrl + f                        find string

·         F3                              find again

              

 

Run from file is used for large files that won't fit into memory. Editing and scrolling through the file are not implemented in this mode. A console is brought up containing more status information and a display of code being executed. The next line to be executed will turn red if execution tries to continue beyond the end of the file. Code that has been executed will turn gray, pending code is yellow. Most program messaging will occur in the display area of the console, rather than bringing up a separate dialog box in this mode.

Print

Sends the currently open file to the printer.

WARNING

!

Ensure that your printer is connected, and your CNC machine is turned off to use this function. It is possible for the standard print function to cause movement and turn on your spindle if the port definitions of your CNC machine match that of a printer.

 

Load Tooling File

Loads a tool and fixture offset file from disk.

Save Tooling File As…

Saves the current tool and fixture offsets to disk. Expert users will find it generally fastest to edit the tool offset file directly to adjust for tooling changes.

Exit

Exits TurboCNC. You will be prompted for confirmation.

Run

There are a variety of functions to actually do some real work with your machine located under the Run Menu.

The '<' and '>' keys can be used to adjust the feed rate while the CNC machine is in motion. Using the Shift key in combination with these will yields a finer degree of control.

The 'ESC' key functions as a PANIC STOP, while in this mode.

WARNING

!

A Panic Stop initiated by the operator immediately ceases the generation of step pulses for the motors, and opens the spindle motor relay (if fitted). The drive enable lines (if fitted) are not set to the disabled state to prevent further injury or damage which may be caused by motion due to gravity. Coolant status is not changed to prevent further injury due to burns caused by hot materials.

After the 'Esc' key has been pressed, or the Emergency-Stop has been activated the operator must select 'OK' in the 'Confirm Motion Abort' dialog box. He or she must then acknowledge that the program has been aborted before taking control of the machine via the MDI mode of operation to change the status of drive enable and coolant states.

 

NOTE: Panic stop and limit switches are wired to the parallel ports as logical inputs. This is to get around the keyboard buffer in case of an emergency, and allows for fast polling of the input states. After a panic event, the options of continuing where machining was interrupted or aborting completely are available. The former option is good for fixing simple things, like an incompletely tightened tool or something that was noticed just before the "rubber met the road", so to speak. A further option of jogging the machine is available in the 'Run from disk' mode of operation.

Single Step

Single Step is used to step through a new program line-by-line to check for "sticking points". Keep selecting this menu item (or the press the F7 key) to execute a program one line at a time.

Single Cycle

Runs through your entire program once. This is used to make a single copy of a part, usually while proofing out a new program.

Piecework

This option is used to make multiple copies of a part. It pauses between parts to allow new blanks to be mounted, and is the usual method for chucking operations where the operating sequence is one of "load, run, stop, unload, load" by a human operator. A running count of cycles executed is kept in the status window.

Hitting a key starts machining operations from the first line of your parts file again… and again…and again

Automated…

This option is used for fully automated machines that are capable of changing the work piece. Just enter the desired number of parts and send it on its way. It will run the parts file over and over again for the specified number of cycles. This is great if pallet changing, bar pulling, PLCs, or other robotic hardware is available to do the loading and unloading. The G codes to run the robots as other axes must be included in the same program with the code used to machine the part. This is partly the reason so many axes of motion are included.

Dry Verify

This option allows you to run through the file without moving your machine or turning anything on. It is often used to see if there are errors in the file syntax, and to obtain an estimated running time for the program. The estimated run time will be a bit on the low side as Dry Verify uses some approximations for speed.

 The Reset File and Go To Block/Cursor options allows the operator to establish the current execution point in a file without cutting or moving anything. 

Reset File

The Reset File option is used to reset the program counter to the first line in the file.

Go to Block/Cursor

This is very convenient method of setting the program counter to any line of a parts file. The block may be specified either as the line number of the file or the N-Word on the target line. When resuming machining from a position in the middle of a file, TurboCNC will ask some questions about how to get the machine where it should be if there's a discrepancy in the physical mode or position from what the file expects.

WARNING

!

Variables are not computed as TurboCNC scans a file to arrive at a specific block. Subroutine calls and jumps may have altered the sequence of execution.

TIP: Use 'Manage Variables' under the 'Setup' menu or the MDI mode to set variables to desired values before continuing with program execution.

Set Cycle Count

You can set the cycle count to any number from 0 to 99,999 with this menu option. This is typically used for keeping track of production volume, and in some cases for establishing part serialization.

Note that each time a g-code file is run to completion (Single Cycle, Piecework or Automated modes), a “joblog.txt” file is updated in the current directory with the time/date stamp, cycle length, and the file name. Keeps track of your billable machine hours.

Setup

Jog Machine

In Jog Mode, keys are assigned functions that move axes and to turn the spindle and coolants on and off. This mode is used to zero tools to the work in preparation for cutting, or for testing the machine. Generally, actual machining is not performed in this mode. All of the tool and work offsets are available while jogging. The Jog Machine menu is shown below.

TurboCNC’s jog mode offers continuous and discrete jog modes. When in “continuous” mode, pressing a jog motion key causes the respective axis to move at the “slow” jog rate until the key is released. When in the discrete mode, pressing a jog motion key causes the respective axis to move a specified distance and then stop.

The Tab key is used to toggle between continuous and discrete jog modes. The setting is persistent and is automatically saved in the initialization file when TurboCNC exits.

Continuous Mode

In the continuous mode, the jog is frequency based, and continues as long as the jog key is held down.  Backlash compensation is applied,  if required, and the axis is accelearated, to the step rate specified in it's configuration menu when the key is first pressed.  Upon releasing the jog key, the axis is decelerated and stops upon reaching the 'Start Vel'  in it's configuration menu.  Holding down the ALT key selects the fast jog rate.

Discrete Mode

In the discrete mode,  tables are used to specify the distance that the axes should move.  The tables are shared between all of the axes.  There is a separate increment table for each System of Measurement.  A separate index into each table is maintained for every axis. The indicies for all of the axes can be locked together or synchronized.  This is indicated by 'Sync' as the active axis, and results in the same increrment being used for all axes.  The indicies for each axis can also be locked across all systems of measurement.  Depending upon the increment specified increment sizes, this will result in jog of equal size in both linear systems of measurement.  These options are available on the 'General Configuration' menu.

The J and K keys are used to move the increment index up or down. The index will not wrap from the lowest to highest or highest to lowest values. The numeric keys (1 – 0) can be used to directly specify index  1 through 10 for the active axis without cycling through each increment.

The  active axis is specified  with the <ALT> +  AxisNumber keys, if these are not synchronized.  While jogging, the active axis is automatically updated to reflect the last axis moved.

Either the Imperial or Metric tables can be used while working in either system of measurement. This is initialized to the current  Working System of Measurement when entering jog. The <U> key toggles the table in use.

A quadrature encoder wheel may be used for input while in the discrete mode.  Any move size under .250” will be taken for each pulse from the wheel.  Set the Jog Encoder A and B inputs up under the IO config menu to enable this.

When limit checking is on, you will only able to jog as long as no limit switches are triggered. Once a limit is reached, disable limit checks to move again.

When probe checking is on, jogging will stop when a probe input is triggered (electronic edge finder).

Notes:

·         The direction of the jog for an axis can be reversed using the 'Jog Keys Invert' option located on it's Configuration Menu.

·         The speed at which TurboCNC homes the axes is configurable under the Configure / General menu.

·         Keys are configurable for foreign language keyboards. See the TurboCNC Configuration File section of this manual for details.

·         Several of the commands make use of a currently active axis. You can set the currently active axis by specifying either its description or its number. The currently active” axis is modal. It remains active until another axis is set active. An example – to home the X axis and then set its location to 15 and then move X to 20, you would enter the following sequence:

o        X

o        Alt+H

o        Alt+E (and then enter 15 in the dialog box)

o        Alt+G (and then enter 20 in the dialog box)

The Y and Z (and any other) axes will remain in their current locations; only X will move and have its location changed.

 

Key

Function

Alt+A

Toggle Coolant “A” on and off

Alt+B

Toggle Coolant “B” on and off

A

Set Axis “A” as the currently active axis

B

Set Axis “B” as the currently active axis

C

Set Axis “C” as the currently active axis

Alt+E

Set the current location of the currently active axis to the specified value. This command uses G92.

F

Set the fixture number to its next higher value. If the fixture is at its maximum, set the fixture to “no fixtures”

D

Set the fixture number to its next lower value. If no fixture is currently in use, set the fixture number to the highest allowable fixture

Alt+G

Move the currently active axis to a specified position. This function is similar to code G00.

Alt+H

Home the currently active axis

J

Decrement the index into the active speed table for the currently active axis, regardless of synchronization. If the current index value is 1, J has no effect.

K

Increment the index into the active speed table for the currently active axis, regardless of synchronization.. If the current index value is 10, K has no effect.

L

Toggles the Limit switch check

Alt+M

Set all axes current position to be 0.

N

Sets discrete jog velocity to “normal” – the maximum velocity that the jog attains is set by the “F” code

O

Write current coordinates of all axes to point file – used when probing an object.

P

Toggle probing mode. When probing is turned on, sets the velocity for probing.

Q

Set the axis which will be assigned to the + and – keys for jogging

R

Selects Rapid jog rate when the machine is in jogging mode

Alt+S

Toggle the spindle

T

Change tool number to the next tool bin (number). If the tool bin is at its maximum value, wrap to the lowest tool bin

R

Change tool number to the previous tool bin (number). If the tool bin is at its minimum value, wrap to the highest tool bin.

Alt+U

Toggle the active discrete jog table between Imperial and Metric units

U

Set Axis “U” axis as the currently active axis

V

Set Axis “V” axis as the currently active axis

W

Set Axis “W” axis as the currently active axis

X

Set Axis “X” axis as the currently active axis

Y

Set Axis “Y” axis as the currently active axis

Alt+Z

Zeroes the specified axis, or all axes

Z

Set Axis “Z” axis as the currently active axis

<TAB>

Toggles between continuous and discrete jogging modes.

<ALT> + 1-8

Activates the selected axis. After an axis is activated, you may select a jog distance that the axis will be moved each time the associate jog keys are depressed

1-0

Selects an index into the active increment table for the currently active axis. If the axes are synchronized, all increments for the current unit table are updated.  If the unit tables are synchronized, the appropriate entries in both tables are updated.

Left Arrow

Moves the tool along its associated axis in a negative direction. When TurboCNC controls a mill, this axis is usually the X axis.

Right Arrow

Moves the tool along its associated axis in a positive direction. When TurboCNC controls a mill, this axis is usually the X axis.

Up Arrow

Moves the tool along its associated axis in a positive direction. When TurboCNC controls a mill, this axis is usually the Y axis.

Down Arrow

Moves the tool along its associated axis in a negative direction. When TurboCNC controls a mill, this axis is usually the Y axis.

Page Up

Moves the tool along its associated axis in a positive direction. When TurboCNC controls a mill, this axis is usually the Z axis.

Page Down

Moves the tool along its associated axis in a negative direction. When TurboCNC controls a mill, this axis is usually the Z axis.

Plus (+)

Moves the tool along its associated axis in a positive direction. When TurboCNC controls a mill, this axis is usually the A axis, which is a rotary table.

Minus (-)

Moves the tool along its associated axis in a negative direction. When TurboCNC controls a mill, this axis is usually the A axis, which is a rotary table.

<ALT>

When jogging in continuous mode, selects the high jog rate for the axis. When in discrete mode, has no effect on jog speed.

 

MDI Mode

Selects the Manual Data Input mode of operation. RS-274 D code can be entered and immediately executed. Instructions that alter the order of execution such as subroutine calls (M98) and returns (M99) are not allowed.

The MDI mode is a convenience that allows you to input single blocks of G-Code and have them executed immediately, without executing a file. This is useful for moving large distances, or to make practice cuts. For some simple parts, you might do all of the cutting in the MDI window instead of writing a program.

Everything input in MDI mode is copied to a file called MDI.CNC, along with a date/time stamp located in the same directory as the TurboCNC executable.

Home Axes

The speed at which TurboCNC homes the axes is configurable under the Configure/General menu.

Feed Override Adjust

Changes the feed override value from 10% to 1000%. When the feed override is active, an asterisk will be displayed in the Status window next to the feed rate, which will be adjusted to show the “true” feed rate that is in use. 100% is “no override”, that is, the feed rate will be the same as programmed.

Adjust the feed override downward to compensate for cutting conditions like dull tools, hard spots in materials, and poor clamping. Adjust it upward to compensate for melting or burning materials, chatter, or for faster production if conditions otherwise allow.

Toggle Show Backlash

Shows or hides the backlash direction indicators in the status display for all axes that have a backlash configured.

Toggle Optional Breaks (M01)

Enables or disables M01 Optional Breaks depending on its current state.

Toggle Marked Blocks (‘/’)

Enables or disables the block delete mode depending on its current state.

When enabled TurboCNC will ignore blocks of code that have this as the first valid character on a line. The block delete character may be preceded by 'white space' such as space or tab characters and comments enclosed in brackets.

If this is enabled and the block delete character is encountered after the first word in a block, TurboCNC will ignore the following word only.

G00 X0 /Y0 Z0     ; y-axis does not move if block delete is on

/G00 X0 Y0 Z0     ; no movement if block delete is on

(*** no movement if block delete is on ***) /G00 X0 Y0 Z0

Toggle Working Units

Switches the system's working units of measurement from Imperial to Metric or vice versa. This menu item has the same effect as G20/21/70/71.  See the 'Switch Native Units to ' section under Configuration for a discussion of working and native units of measurement. 

Manage Fixtures

The "master coordinate" system must first be set if jog is to be used in setting the offsets. If the machine has home switches, it may simply be "homed". If the machine does not have home switches installed, it can be jogged to a designated "home" position. The master coordinates can be set as desired at the "home" location, athough this is normally the point of origin.  All fixture offsets are caculated with respect to this location.

A confirmation dialog box will appear ensuring that fixture offsets are not inadvertently cleared. Following the operation a message box will appear to confirm that the fixture offsets have been successfully cleared.

Manage Tooling

A means of setting tool offsets is provided under this menu item.

Before any of the tooling offsets can be set, a reference location to zero must be set. Once the reference is set to a zero location, all other tools are to be moved to this location. You may use either a tool as the reference, or may make a special tool setting gauge. Once the reference location has been set, load the actual tools and move them to the reference location, using the jogging controls. TurboCNC will then record the offset locations for each axis.

·         Select Setup->Manage Tooling from the main menu

·         Load the reference gauge in the spindle.

·         Move the reference gauge to a reference location using the cursor to jog the reference into place. Either build a gauge to provide a point to which the reference gauge is moved, or use some portion. Allow the motors to move the reference. If power to the motors is cut and the axes manually moved, TurboCNC will not be able to record the position, and will not accurately set any of the tooling offsets.

·         With the reference gauge in the correct location, press the "Set" button to record the reference coordinates.

 

Now that the reference location has been set, TurboCNC shows a screen allowing the offsets for each of the tools to be set. This is done as follows:

·         Use the "prev" and "next" buttons to select the tool for which the offsets are to be entered.

·         Enter a description of the tool on the line provided, if desired. This description is not necessary, but can be used to identify the tool during execution of the CNC program.

·         Load the tool into the spindle and jog it to the same reference point to which the gauge was set.

·         Press the "S" key to set accept the location and calculate the tool reference, or press the "C" key to cancel the function and revert to the current tool offsets.

·         TurboCNC will store the offsets in a table, and will automatically select the next tool in series.

·         Tools may be directly edited from this menu.

·         Rear Toolpost is not yet active, and has been included for future development.

 

When all of the tool offsets have been set, press the "done" button to exit the function. An opportunity to save the new tool offsets will be presented. The offsets will be stored in a file located in the directory as specified in the Configure->General dialog.

The screenshot below shows the options prior to  'Set Gage' .

A confirmation dialog box will appear ensuring that tool offsets are not inadvertently cleared. Following the operation a message box will appear to confirm that the tool offsets have been successfully cleared.

Manage Variables:

Provides a means of setting, and inspecting variables without using RS-274D in MDI or a custom program. Show will bring up a scrolling list of all variables that are currently storing a value.  Clear all will reset all variables to an empty string.

Disable Drives

This option is available only if a drive enable line has been configured. All drive enable lines are set to their inactive states when this option is selected.

Enable Drives

This option is available only if a drive enable line has been configured. All drive enable lines are set to their inactive states when this option is selected.

Reset DigiSpeed Control

Commands are sent to the spindle speed controller, disabling it, and resetting the speed to 0 RPM.

Set Spindle Speed

A dialog box is presented allowing the user to directly enteer the desired spindle speed.  The command is sent to the speed control.

NOTE: neither of these options affect the state of the Spindle Power control line. This must be set separately.

 

Configure

The 'Configure' option on the menu bar is used to setup the parallel port I/O to drive your system, configure the way TurboCNC interprets code, set tool and fixture offsets, and maintain the configuration file (turbocnc.ini). The screen below shows the configuration menu for TurboCNC when it is started without a configuration file. Several menu items are grayed out indicating that they not available until the number of axes has been configured. These are:

·         Configure Axis

·         Jog Increments

·         Set Time Delay Values

·         Save Configuration

·         Save Configuration As, and

·         Reset Ports

 

Number of Axes…

Allows specification of the number of axes on the machine that TurboCNC will drive. If no axes are specified TurboCNC will not save the configuration file on exit. The number of axes on the machine cannot be changed while a parts file is open.


Configure Axis…

is used to set the parallel port I/O, and specify the motion parameters for each axis. Upon selection, a dialog box is presented where the first axis to be configured can be selected. You will then be taken to the main configuration screen shown below. This screen is dynamic and will change to reflect your choices. It is recommended that you use the mouse to navigate this screen, as the design trade off for the dynamics was intuitive keyboard navigation.

Items on the axis configuration menu are:

Axis Name: Assigns a drive letter that is used to select this axis in RS-274 D. Valid selections are A through E and U through Z.

Motion: selects whether the axis is linear or angular. Angular axis measurements are always in decimal degrees, modulus 360, and driven the shortest distance to their new position. Linear axes are measured in either inches or millimeters, depending on the system of measurement in use.

Drive type: selects whether a Step/Direction or Phase scheme is used to control the motor driver. A Step/Direction scheme requires only two output pins, while a phase scheme requires a minimum of 4, and up to eight output pins to drive a single motor. Drive type selection determines whether Step/Direction or Phase definition configuration information is displayed on the menu.

Pulse Width: changes the duration of the step pulse on step/dir controlled axes, as some drives need a few microseconds to recognize that the step line has changed state. The parameter is set directly in integer microseconds. 0 is no explicit delay, which works out to be between about 2 and 7 µs on most computers.

Port: The parallel port to which the driver is connected is selected by this option.

Step pin num: sets the output pin on the selected port for step pulses. Valid values are 2, 3, 4, 5, 6, 7, 8, 9, 1, 14, 16, and 17.

Step pin is: This option is used match TurboCNC to your controller's requirements. Check you controller documentation, or the files section of the TurboCNC newsgroup on Yahoo! to determine the proper setting. (Trial and Terror can also be used.)

Dir pin num: sets the output pin on the selected port for the direction signal. Valid values are 2, 3, 4, 5, 6, 7, 8, 9, 1, 14, 16, and 17.

Direction pin: selects the polarity required to drive the axis in the positive direction. Phase wiring of the motor and driver electronics determine this setting. Jog or manually move the axis to a position where you can safely move the axis and use relative movements in MDI to determine if the axis moves in the proper direction. If not, simply toggle this selection and verify that the axis now moves in the correct direction, once again using the MDI mode of operation.

Motion Parameters: are used to set various values governing the movement of the axis. Units of measurement will vary to reflect the type of axis and units of measurement in use by TurboCNC. Acceleration, velocity, and scale effects are reflected below the data entry area. There is no one-size-fits-all solution. These setting depend on all of the equipment, and the cutting forces to be used. A starting point for several systems can be found in the files area of the TurboCNC Yahoo! Group or in the inifiles subdirectory of your installation. These settings will have to be fine tuned to maximize the system's performance.

Scale: is the distance or angle that the axis moves for a single step pulse or phase change. The units can be in inches, millimeters or decimal degrees, depending on axis motion, and the system of measurement in use. A custom calculator is accessable by clicking on 'Calc, or pressing 'c'.

Accel: the maximum acceleration of the step pulse train or phases that are sent to the driver measured in cycles per second per second. This is purely electronic, and is converted to motion by the motor. Scale is used to convert this value to the linear or angular value displayed below.

Start vel: is the maximum starting / stopping velocity that will be used by TurboCNC for this axis.  Lower values will often be used for interpolated moves. This is measured in cycles per second, and converted to a distance or angular measurement using Scale and displayed below as the Start Speed.

Max vel: is the maximum velocity that TurboCNC will drive the axis. This is measured in cycles per second, and converted to a distance or angular measurement using Scale and displayed below as the Max Speed.

Backlash: is the compensation applied whenever the axis changes its direction of movement. It is measured in inches, millimeters, or degrees depending on the type of motion and system of measurement in use.

Slow jog: This is the speed at which the step pulses are applied, or phase changes occur when Slow jog is engaged. It is measured in cycles per second. The value can be converted to a distance or angular measurement by multiplying it by the Scale.

Fast jog: Similar to Slow jog, but allows you to select a higher speed.

Jog Keys: Selection of normal or invert is possible. In the inverted mode the motion of the tool with respect to the work piece is reversed for the axis.

Select Axis buttons accept the changes to the current axis and allow navigation through the axes to configure them without returning to the main menu and drilling down through the menu system to access the next axis.

Finished Axis Config buttons are used to exit the axis configuration menu. 'OK' accepts the changes, 'Cancel' exits without saving the changes. NOTE: The ports must be reset to enable the new configuration. The configuration must be saved for it to be available the next time that TurboCNC is loaded.

The following screenshot shows the axis configuration menu for a phase driven, linear axis. Note that phase definition information has replaced the Step and Direction pin configuration parameters.

Set the Last Phase to the number of phases used in your drive scheme. Full, half, and quarter step schemes can be developed for both unipolar and bipolar two-phase stepper motors using the 16 phase definitions available.  Pin assignments for Phase definitions follow.

Pin state: 1 0 0 0 X X X X X X  X  X  (from Phase definition 1)
Pin ID:    2 3 4 5 6 7 8 9 1 14 16 17

Pins 1,14,16,17 are driven separately from the other 8 since the computer can only change one byte at a time on the port. Therefore, keep all the phases for one motor either on pins 2-9 or on pins 1,14,16 and 17.

 

Scale Calculator

A custom Scale calculator is available from the Axis Configuration Menu. This is used to compute Scale using common factors. In the Imperial system of measurement the TPI of the lead screw is used, while in the Metric system the pitch is used. Values entered into the scale calculator are persistent through the current session, and are not saved to the configuration file. The scale displayed on the calculator is automatically updated when changing fields. Selecting OK will enter the computed value into the Scale variable on the current axis configuration menu. Cancel or 'Esc' will discard the computed value. These selections will close the calculator and return to the Axis Configuration Menu.


Configure I/O Lines…

There are 40 functions, which can be mapped to parallel port pins if you CNC machine supports the associated features available within TurboCNC. It is not necessary to map all of these functions. Just map the ones that you will use. The available functions are described elsewhere in this manual, and are listed below:

Number

Description

Direction

 

Number

Description

Direction

1

Spindle Power

Out

 

21

Limit Switch 3

In

2

Spindle Direction

Out

 

22

PLC Handshake Sense

In

3

Coolant A

Out

 

23

Spindle Index

In

4

Coolant B

Out

 

24

Spindle Encoder A

In

5

PLC Handshake Signal

Out

 

25

Spindle Encoder B

In

6

Drive Enable 1

Out

 

26

Touch Probe

In

7

Drive Enable 2

Out

 

27

Jog Encoder A

In

8

Drive Enable 3

Out

 

28

Jog Encoder B

In

9

Clamp Selector Bit 0

Out

 

29

Block Hold

In

10

Clamp Selector Bit 1

Out

 

30

Start Inhibit

In

11

Clamp Selector Bit 2

Out

 

31

Clamp Sense Opened

In

12

Clamp Selector Bit 3

Out

 

32

Clamp Sense Closed

In

13

Clamp Motor On Signal

Out

 

33

Home Switch 1

In

14

Clamp Direction Closed

Out

 

34

Home Switch 2

In

15

Tool Turret Index

Out

 

35

Home Switch 3

In

16

Collet Open Solenoid

Out

 

36

Home Switch 4

In

17

Collet Close Solenoid

Out

 

37

Home Switch 5

In

18

Emergency Stop

In

 

38

Home Switch 6

In

19

Limit Switch 1

In

 

39

Home Switch 7

In

20

Limit Switch 2

In

 

40

Home Switch 8

In

 

Each function allows you to enable it and configure the parallel port, the I/O line, and active logic level it will use. In addition the Home Switch functions allow you to specify whether the switch is located at the positive or negative end of the associated axis' travel, and what the position should be set to upon tripping the switch.

Select an item from the list box to configure it. Click on 'Set', or enter alt + S from the keyboard to save the configuration and set another item. 'Cont' will bring up the selector list box without saving the change. 'Done' will save any changes and exit the 'IO Line Configuration' menu.

Description

Activate

Deactivate

Description

Activate

Deactivate

Spindle Power

M03 – CW

M04 - CCW

M05

Limit Switch 3

 

In

Spindle Direction

M03 – CW

M04 - CCW

 

PLC Handshake Sense

 

In

Coolant A

M07

M09

Spindle Index

 

In

Coolant B

M08

M09

Spindle Encoder A

 

In

PLC Handshake Signal

M70

M71

Out

Spindle Encoder B

 

In

Drive Enable 1

M17

M18

Touch Probe

 

In

Drive Enable 2

M17

M18

Jog Encoder A

 

In

Drive Enable 3

M17

M18

Jog Encoder B

 

In

Clamp Selector Bit 0

 

Out

Block Hold

 

In

Clamp Selector Bit 1

 

Out

Start Inhibit

 

In

Clamp Selector Bit 2

 

Out

Clamp Sense Opened

 

In

Clamp Selector Bit 3

 

Out

Clamp Sense Closed

 

In

Clamp Motor On Signal

 

Out

Home Switch 1

 

In

Clamp Direction Closed

 

Out

Home Switch 2

 

In

Tool Turret Index

 

Out

Home Switch 3

 

In

Collet Open Solenoid

 

Out

Home Switch 4

 

In

Collet Close Solenoid

 

Out

Home Switch 5

 

In

Emergency Stop

 

In

Home Switch 6