Microsystems of Buckhannon Inc Controller 2.4 Users Guide

Page 1
WinCNC Controller
WinCNC Controller 2.4
Revision 1
Copyright © 1999 - 2007
Microsystems World CNC
14 East Lincoln Street, Buckhannon, WV 26201
(304) 472-7206
pressed or implied, including any implied warranties of tness for a specic purpose, for this software. This package is provided solely
on an “as is” basis. All risk involved in the use of this software is the responsibility of the purchaser.
Program errors, improper software conguration, hardware failures,
or other problems can result in damage to the machinery being controlled. Failure of limit switches, cabling, or port components can result in machine movement past limits, potentially damaging the machine and endangering operators. It is imperative that a separate Emergency Stop system be in place, which bypasses all computer control. Software features to abort motion from the keyboard and limit switch inputs are provided as conveniences only, and must not be relied upon to stop motion in an emergency.
Microsystems World CNC, Inc. disclaims all liability for any and all damages, including incidental and consequential damages in con-
nection with use of this software. The sole and exclusive liability of
Microsystems World CNC, Inc. will be limited to the purchase price of this software package.
If you do not understand and agree with these disclaimers, please do not use this product. Return all materials to the place of purchase for a full refund.
WinCNC Users Guide Page 1
Page 2
WinCNC Controller
3 Installation
8 Program Operation
38 SystemConguration
67 ScreenConguration
76 Command Reference
104 MacroConguration
106 Messages and Error Codes
113 KeypadConguration
119 Appendix
126 Index
Contents
WinCNC Users Guide Page 2
Page 3
WinCNC Controller

Installation

CAUTION: DO NOT USE THIS SOFTWARE ON A COMPUTER CONNECTED TO A MACHINE UNLESS THERE IS AN EMERGEN­CY STOP READILY AVAILABLE WHICH WILL INDEPENDENTLY STOP THE MACHINE.
Software features to abort moves from the keyboard and limit switch inputs can NOT be relied upon in emergency situations and are pro­vided as conveniences only!
Requirements
WinCNC Controller 2.4 requires a Windows XP/Vista computer system with Pentium IV or faster processor, 1GB or more of RAM, a hard drive, and enabled USB ports. Slower computer systems may result in abnormal acceleration and other problems.
InstallationandCongurationofthePCI-7200Card
Below are the components for the PCI-7200 installation. These include a PCI-7200 card, a Daughter Board, and a ribbon cable con-
nector.
Installation
WinCNC Users Guide Page 3
Page 4
WinCNC Controller
Insert the ribbon cable connector into the Daughter Board.
Below is the PCI-7200 card on the left, the Daughter Board on the
right and the spacer/screw assembly. Note the matching holes in the
Daughter Board and the PCI-7200 card. The small washer is includ­ed for a precise t and must be installed between the boards, at one
end of the spacer or the other.
Installation
WinCNC Users Guide Page 4
Page 5
WinCNC Controller
Insert the Daughter Board on to the 40-pin connector of the PCI-
7200 card. Attach the two cards with the included spacer, washer,
and screws. This will insure constant connection between the two
boards.
Installation
WinCNC Users Guide Page 5
Page 6
WinCNC Controller
Power Down the PC.
Insert the PCI-7200 card into an empty PCI slot on the motherboard. Install the extra 37-pin or 25-pin connector into an empty cover slot.
Make sure the PCI-7200 card is using its own IRQ.
IRQ settings must be altered from the BIOS to insure no conicts oc­cur between the PCI-7200 card and other system resources. Chang­ing these settings from within Windows alone will not insure this.
Installation
A driver is required for the PCI-7200 card. The driver is included in
the PCI-7200 folder on the root directory of the WinCNC installation disk for user convenience. If the installation disk isn’t available, the driver can be downloaded from the Microsystems World CNC web site. From the web, go to www.cnccontroller.com and click on the
FTP link at the bottom of the page. From there open the “CNC Win­dows” folder, the “Device Manager” folder, and the “PCI7200” folder. Download and unzip the driver le to a folder on your computer (we suggest that the folder be placed on your Desktop).
To install the PCI-7200 driver go into the device manager (Start­>Settings->Control Panel->System->Hardware->Device Manager) and select the unknown PCI device, click Properties, click the “Driv­er” tab, then click the “Update Driver” button. Next specify location. If you are using the installation CD, browse to the CD, and then the PCI-7200 folder. If you are using the le from the FTP site, browse to
the folder that you created.
WinCNC Users Guide Page 6
Page 7
WinCNC Controller
Software Installation
Insert the WinCNC Controller CD-ROM into the CD-ROM drive and run Setup. The install routine will create the specied directory if it does not exist and copy the necessary les into it. If there is a previ­ous installation of WinCNC controller the les will be overwritten.
Run the program by double clicking on the WinCNC icon on your Windows desktop. WinCNC may also be run from the command line
with a le name as a parameter.
Example: Run -> C:\WinCNC\WinCnc.exe - lename.tap
Installation
WinCNC Users Guide Page 7
Page 8
WinCNC Controller
Screen Display
The following section contains a sample of the WinCNC software
display. Common components are labeled to provide clarity. Under the title of selected components is a reference to a page containing the detailed explanation of the given component.

Program Operation

Screen Display Component Breakdown
MenuBar
The Menu Bar contains many of the main features of the WinCNC software. It is broken down into several generalized sections, as shown above. The menu bar selections are described in the following
pages. If a menu option has a shortcut key, the shortcut key combi­nation is listed in parenthesis () after the name of the menu option.
WinCNC Users Guide Page 8
Page 9
WinCNC Controller
FileMenu
Open (CTRL+O) - Opens a le.
Edit (CTRL+E) - Opens the editor. If a lename is in the command
line, the editor opens that le.
Simulate (CTRL+S) - Simulates a le running to check for errors and
estimate run time.
View (CTRL+V) - Views a le in the viewer window.
Restart (CTRL+R) - Opens the le restart dialog box to restart a le.
Create Home File (CTRL+H) - Creates a home le at the current
machine position.
Import => DXF - Allows the user to import DXF (Drawing Exchange Format) le.
Import => HPGL - Allows the user to import HPGL (Hewlett-Packard Graphics Language) le.
Program Operation
*Note: The DXF and HPGL import feature is intended for cutting
simple designs. WinCNC does not compensate for tool diameter
when converting these les. For more complicated design, where intelligent tool pathing is important, please use a compatible CAD/
CAM program.
Digitize=>Manual - Enable/Disable the Manual Digitizing Toolbar.
Digitize=>Automatic - Automatic digitizing (L802, L803).
Digitize => Frame - Skeletal Digitizing (L810). This scanning method scans a center line or spine, and horizontal lines or ribs of the object.
Digitize=>Outline - Creates an outline trace around an object.
Digitize=>Laser=>RunScan - Opens the laser digitization dialog
box to set up laser scanning parameters.
WinCNC Users Guide Page 9
Page 10
WinCNC Controller
Digitize => Laser => Reprocess Data - Opens a data le from a
previous laser scan used to re-generate a 3D object with different ltering options to improve the quality of the 3D object.
Exit - Closes WinCNC.
CongurationMenu
MachineSettings - Opens the WINCNC.INI le in an editor and
closes WinCNC until the editor is closed. After closing the editor
WinCNC will restart activating any changes to the INI le.
D/A Calibration - Calibration Settings for D/A (Digital to Analog).
SettingsMenu
Positions - Opens the positions dialog box with options to view and
edit stored positions.
Home Positions - Opens the positions dialog box with options to
view and edit stored home positions.
Tool Positions - Opens the tool positions dialog box with options to
view and edit stored tool positions for use with automatic tool chang­ers.
Program Operation
Tool Library - Edits and views the dened tool library.
Local Coordinates - View XYZ coordinates.
ViewMenu
Resolution - View current resolution settings for each axis.
Acceleration - View current acceleration settings for each axis.
Limits - View current limit settings for each axis.
Inputs- Views real-time input states.
Outputs - Views real-time output states.
WinCNC Users Guide Page 10
Page 11
WinCNC Controller
Main Toolbar - Enable/Disable the main toolbar.
RefreshView(F5) - Refreshes the screen.
Clear Screen (CTRL+C) - Clears the message display window.
OptionsMenu
Soft Limits (CTRL+L) - Enable/Disable the software limits.
Keyboard (CTRL+K) - Enable/Disable the keyboard transit/jog con-
trol used to move the machine with the keyboard.
Buttons - Used to customize user buttons.
AutoRepeat - Auto populate the command line with the last com-
mand executed.
AutoRun - Enable/Disable the auto run feature.
AutoPreview - Enable/Disable the auto preview feature.
Single Step (CTRL+P) - Enable/Disable single line execution of G­Code les.
Program Operation
UnitsMenu
Inches - Sets the unit of measure to inches.
Centimeters - Sets the unit of measure to centimeters.
Millimeters - Sets the unit of measure to millimeters.
TransitMenu
Slow (F2) - Sets the transit speed to slow.
Medium (F3) - Sets the transit speed to medium.
Fast (F4) - Sets the transit speed to fast.
WinCNC Users Guide Page 11
Page 12
WinCNC Controller
JogMenu
0.001 (F6) - Sets jog increment to 0.001 units of measure.
0.01 (F7) - Sets the jog increment to 0.01 units of measure.
0.1 (F8) - Sets the jog increment to 0.1 units of measure.
1 (F9) - Sets the jog increment to 1 unit of measure.
Custom (F10) - Allows the user to set a custom jog increment.
HelpMenu
Help Topics (F1) - Activates the in-program help menu.
Update Program - Opens the update utility.
About - Displays the WinCNC “About” box which contains important information about your specic software package. The About box dis-
plays your security key serial number, the software version number, your user level, the maximum number of axes, the table size limita­tion, and which additional features you have enabled. If you do not have a feature enabled that you would like or need, you can contact your software vendor for an upgrade.
Program Operation
Tool Bar
The tool bar is a collection of shortcut buttons that perform specic actions. The toolbars in WinCNC are oating and can be positioned or docked to the user’s preference. The image below shows both the standard and manual digitizing toolbars both docked in the normal toolbar area. The additional images show each toolbar separately as a oating toolbar. The explanation of each button on the toolbar is as follows. The explanations move sequentially from left to right along
the toolbar.
WinCNC Users Guide Page 12
Page 13
WinCNC Controller
Start Motion - This button will begin the command or job listed in the
command line.
Restart - Allows you to pick a job le and the line to start that le on. This is useful if you want to skip over lines in a job le, or if you have aborted a job and want to start back at the point you aborted from. You can also choose to run the le in single step mode.
Single Step - When selected, this allows you to execute one line of
a G-Code le each time you hit ENTER.
Abort Motion - Aborts a command or job that is running.
Pause/ContinueMotion - Pauses/Continues a command or job that
is running.
Open File - Opens a browse box that is used to open a job le.
View History - Opens the command history box, which allows a user
to execute a command used previously. When an error is found in
the WINCNC.INI le, the line containing the syntax error is displayed
here in red when WinCNC starts.
Program Operation
Edit - Opens the default editor specied in the WINCNC.INI le.
WinCNC uses Notepad by default. The editor can be used to open job les, listed in the command line in the editor.
Simulate - Simulates a le to check for errors and run-time.
View - Opens a le for viewing in the viewer window
Soft Limits - Enables/Disables Softlimit features
ManualDigitizeButtons - The seven buttons on the manual digiti­zation toolbar are for use only with the Manual Digitize feature, and will only be visible after showing the manual digitize toolbar under the View->Toolbars section of the menu bar.
StartaManualDigitizedFile - Starts a manual digitized le and enables the manual digitize mode.
WinCNC Users Guide Page 13
Page 14
WinCNC Controller
AddaRapidMove - Adds a rapid move to the manual digitized le.
AddaFeedMove - Adds a feed move to the manual digitized le.
Add an Arc Point - Used to add arcs into a manual digitized le.
CloseShape - Used to close the last move in a shape without mov­ing the machine.
Undo - Used to undo previous moves.
Save - Allows you to save the manual digitized le in either G-Code or DXF le format.
Command Line
The command line is the input line for users to enter commands or job les to be executed.
Message Display Window
Program Operation
The message display window is the main output window displaying
the commands that have been executed, messages to the user, or errors that have occurred during an operation.
WinCNC Users Guide Page 14
Page 15
WinCNC Controller
Axis Window
The axis window is the primary display for current information about each axis on your machine. The current positions and velocities for each axis are displayed in the text boxes. Displayed above the posi-
tion and velocity boxes are the current units of measure, any current­ly active modes, and the current feed rate override percentage. Red triangles to the left and right of each axis label indicate low or high limit switch hits. A red triangle to the left of an axis label indicates a low limit switch hit, and to the right indicates a high limit switch hit. A green box displayed to the right of the position box indicates a temporary workspace (G92) setting, and a blue box indicates a tool
length measure or workspace setting. To the far right side of the axis
window is the feed rate override control slide bar.
Program Operation
TransitSpeedButtons
These buttons allow you to specify the transit speed of
your machine.
JogIncrementButtons
These buttons allow you to specify the increment of a jog move.
WinCNC Users Guide Page 15
Page 16
WinCNC Controller
Transit/JogButtons
These buttons are what allow you to ini­tiate a manual transit or jog movement
from the console of the computer that runs the machine. In transit mode, hold­ing the button down will continuously
move the machine. In jog mode, each
time a button is pressed the machine
will move according to the jog increment that has been selected. Holding the but-
ton down in jog mode will move the machine only once.
CustomScreenButtonsSection
This section of controls is a customiz- able button section that allows the user to place shortcut buttons to activate heavily used commands.
Note: See Section 4 Screen Conguration
Program Operation
WinCNC Users Guide Page 16
Page 17
WinCNC Controller
Current File
Percentage of File
Completion
G00/G01 Mode Indicator
Elapsed Time for
Current File
* Note: There are TWO t ool
changer indicators
Tool Changer ON/OFF
and current tool being used
G90/G91 Mode Indicator
Current Line in Job File
Program Operation
StatusBar
The status bar is the label along the bottom of the WinCNC window that looks similar to the one shown below. This bar provides the user
with the status of several features in WinCNC. Each section in the example below is labeled for clarity.
WinCNC Users Guide Page 17
Page 18
WinCNC Controller
ShortcutKeys
FileMenuShortcuts
Open Enter (with blank command line), CTRL+O
Edit CTRL+E Simulate CTRL+S View CTRL+V
Create Home File CTRL+H
ViewMenuShortcuts
Refresh View F5 Clear Messages CTRL+C
OptionsMenuShortcuts
Keyboard CTRL+K Soft Limit CTRL+L
TransitMenuShortcuts
Slow F2 Medium F3 Fast F4
Program Operation
JogMenuShortcuts
.001 F6 .01 F7 .1 F8 1 F9 Custom F10
HelpMenuShortcuts
Help F1
WinCNC Users Guide Page 18
Page 19
WinCNC Controller
ShortcutKeyscontinued
ToolBarShortcuts
ESC Aborts the current le or command SPACE Pauses a le or command
ENTER Starts/restarts a le or command
TAB Opens the command history box
CTRL+R Opens the restart le box
FeedRateOverrideShortcuts
INSERT Increases override rate
DELETE Decreases override rate CTRL+either Resets feed rate to 100%. No over-
ride settings
ManualDigitizeShortcuts
After opening the Manual Digitize toolbar and clicking the green
start button, the following shortcut key combinations become active
for adding moves to the digitized le.
Add Rapid Move CTRL+J Add Feed Move CTRL+F Add Arc Midpoint/Endpoint CTRL+A Undo Last Move CTRL+U Close Current Shape CTRL+D Save CTRL+W
Program Operation
SpindleSpeedandLaserPowerShortcuts
Spindle Speed Alone or Laser Power Alone
Spindle Speed and Laser
Power Together
WinCNC Users Guide Page 19
+ - (plus and minus)
Laser Power uses + ­Spindle Speed uses Shift + -
Page 20
WinCNC Controller
Coordinate System
The Machine Zero (MZ) set by homing the machine becomes the anchor point for all positions specied in subsequent G-Code com-
mands. Local Zeros (LZ) are set using the G92, G92.1 and G92.2 commands.
The position display box displays the current axis coordinates and the axis coordinate modes. The axis coordinate mode is displayed to
the right of the axis position.
A green box indicates that the axis has a Local Zero applied.
A blue box on a horizontal axis indicates that a workspace other than
G54 is in effect. A blue box on a vertical axis indicates that tool length measure is in effect.
The coordinate modes show how the axis values in a given G-Code
command will be interpreted.
MZ Coordinates - values are relative to MZ
G92 Coordinates - values are relative to LZ specied by G92
Program Operation
G55, G56, G57 Coordinates for horizontal axes - horizontal axes
values are offset for vertical axes heads
G43 Coordinates for vertical axes - vertical axes values are offset for M37 tool measure values
G92 and G55, G56, G57, G43 - values are offset for both
WinCNC Users Guide Page 20
Page 21
WinCNC Controller
G91 Mode
G91 mode is called relative or incremental mode. In G91 mode values specify distances. For instance if the X position is currently 20
and G0 X8 is specied the machine would move +8 units of measure
in X to X28.
A G-Code program written in G91 mode may be run from any posi­tion. Since the moves are relative, the starting position does not mat­ter. The program will run properly from any starting position. How­ever, to get the proper results, the machine must be set to the proper position in relation to the workpiece before the piece is run.
The axis coordinate status does not have any effect on how the
program runs. It does however affect the coordinate display while the program runs.
G90 Mode
G90 mode is called absolute mode. In G90 mode values specify
positions. If the X position is 20 and G0 X8 is specied the machine
would move -12 units of measure in X to X8.
Program Operation
In G90 mode the situation is different. The initial of the machine position will not affect where the part runs since the rst move will go to the absolute position specied on the table. Instead of setting the
machine position properly before running a G90 program.
The G92 commands are used to change the coordinate system so
that any position may be temporarily made to be Local Zero (LZ).
Most G90 programs are written relative to a starting position of X0Y0 with Z0W0 being either the bottom or top of the workpiece. All that is then necessary to run the program is to insure that the current LZ is
set to match the program before running. There are several ways to
do this.
The machine may be positioned to the proper position and the G92
command used to set the proper coordinates for running.
WinCNC Users Guide Page 21
Page 22
WinCNC Controller
ToolLengthOffset
M37 is used to measure tool length and set ZWUV workspace.
By using M37 it is not necessary to measure tool length for every workpiece thickness change. Using M37 in combination with Soft Limits and Boundaries also provides a means of protecting the table from being routed accidentally. After M37 is set G28 will set the ZW to the actual position of the tool tip above the table.
Example:
Move the Z head tool tip to the table. Command M37 Z0.
M37 turns on G43 mode, indicating that tool length offsets are active.
Tool length offsets can be disabled using G49 and re-enabled with
G43 without re-measuring.
SoftLimit/Boundaries
Soft Limits are used to keep programs and command from moving into the limit switches. Values must be set in WINCNC.INI before using.
lolim=X# Y# Distance from MZ to KY low limit switches
less .1”
hilim=X# Y# Z# W# Distance from MZ to XYZW high limit
switches less .1”
ZW low limits should not be specied since desired positions vary
with tool length.
Program Operation
lobound=X# Y# Z# W# Distance from MZ to XY table edge and
top
hibound=X# Y# Distance from MZ to XY table edge
ZW high boundaries should not be specied since desired positions
very with tool length.
Soft Limits check absolute position command against the limit switch positions. If a position is commanded that would result in a limit switch being hit a limit error will be displayed and the move will not be run.
WinCNC Users Guide Page 22
Page 23
WinCNC Controller
Boundaries check workspace positions. In G54 mode the Z head will not be allowed to leave the table. In G55 mode the Z head might move off the table but the W head will be kept on the table.
ZW low boundary checking is available if M37 is used. Use M37 to
set Z0W0 to the tabletop. The ZW hi limits and low boundaries are then both set to 0. This allows movement between the limits and the
table.
Limits and Boundaries may be enabled or disabled in the Settings Menu and in WINCNC.INI using softlim=0 or 1 and boundary=0 or 1.
Repeat Command
The command or le name history may be viewed by pushing the TAB key. To repeat a command from the history list select the desired command or le name using the mouse, and then click OK.
Program Operation
WinCNC Users Guide Page 23
Page 24
WinCNC Controller
Simulate
WinCNC supports the simulation of les to check for errors, estimate runtime, and check min/max positions. To use the simulate func­tion of WinCNC make sure the le name is typed into the command line and instead of running the le, you will use the simulate call to simulate the le. This is done by using either the Simulate command found under the File menu, by pressing CTRL+S, or by pressing the simulate button on the toolbar. Once you initiate the simulate feature, the software will display a screen showing the specics of the le
simulated which includes the starting (x,y) positions, the ending (x,y) positions, the min and max (x,y) positions, the number of lines ran in
the le, and the total time it will take to run the le.
NOTICE: The time function in the simulation feature does not take
into account smoothing. If you have smoothing set up on your ma-
chine, the time it takes for the le to run should be less than what is
displayed in the simulation data.
Program Operation
WinCNC Users Guide Page 24
Page 25
WinCNC Controller
Viewer
WinCNC contains a built in viewer window that will allow you to
display the output of G-Code les before the job is actually ran. The viewer can also display a G-Code le line by line as it is run by WinCNC. When the le is displayed in the viewer you can distinguish
G0 moves from G1 moves by the color of the line. By default, G0 moves are shown as a black dashed line. G1 moves are displayed
as a solid blue line. See the Screen Conguration section if a differ­ent color conguration is desired.
You can also re-center and zoom in/out of the display within the viewer. To view a le before you run it, enter the le name into the command line and then press CTRL+V, select View from the File menu, or press the viewer button on the toolbar. The le will be displayed line by line automatically when you run the le. Once the object is loaded into the viewer the following controls can be used:
Zoom In Incrementally - click the left mouse button.
Zoom Out Incrementally - click the right mouse button.
Selected Zoom - hold down the left mouse button and drag the box
around the area to zoom in on. Pan or Re-Center Object - hold CTRL and click either mouse button.
Reset Image - hold shift and click either mouse button.
Program Operation
To set up the viewer window you must include lines in both the WINCNC.INI and the CNCSCRN.INI les.
WINCNC.INI Setup (for descriptions see the System Conguration
section of the manual)
table=X# Y# W# H# B#
CNCSCRN.INI Setup (for descriptions see the Screen Conguration
section of the manual)
“Display”, “Viewer”, 370, 150, 270, 270
WinCNC Users Guide Page 25
Page 26
WinCNC Controller
ManualDigitizecontinued
The manual digitize feature also has support for closing shapes. The close shape button works by adding a feed style move from the current point to the rst point. The close shape feature handles only
1 shape at a time, and any rapid moves that are added repositions
the rst point of the shape to the ending point of the rapid move. If no
rapid moves are added, the starting position for the shape remains at the initial point.
For example: Two squares that are 10”x10” with a 5” separation along the X Axis would be digitized as follows. Start by transiting the machine the desired starting point and enabling the manual digitize feature. Once it is enabled, transit the machine to X10Y0 and add
a feed move. Next transit the machine to X10Y10 and add a feed move. Next transit the machine to X0Y10 and add a feed move. At this point, three of the four needed sides of the square have been added. We will now use the close shape button to continue with the
example. Once the close shape button is pressed, the vertical head
will lift, the machine will move to the starting point of the shape, and
the vertical head will drop back to its previous position. Once the ma­chine nishes moving, transit the machine to X15Y0 and then add a rapid move using the add rapid button in the toolbar. This will set the current position as the starting point of the next shape. This example would then output a le with two separate 10”x10” squares with a 5”
separation between them.
Program Operation
WinCNC Users Guide Page 26
Page 27
WinCNC Controller
AutoDigitizing
WinCNC supports 3D digitized scanning. The procedure for using a digitizer is to position the probe over the Z0 plane and perform an L82 command to measure the 0 plane. Once this has been done,
position the probe over the beginning of the scan rectangle, you can perform a G92XY at this point if you want the corner to be (0,0). If the probe is enabled and it comes into contact with something while tran­siting, you must use the transit keys to move the probe up in order
to release it. Now select the File->Digitize->Automatic menu item to show the Auto Digitize dialog box. Enter the area to scan, the desired scan increments, and the type of probe you are using. Then click the Start button. A successfully completed scan will create a le named SCAN.STL, a scan that is aborted in the middle of the scanning pro­cess will generate a partial le with all points after the abort set to Z0.
Program Operation
The specics of setting up the WINCNC.INI le and each of the
scanning commands are explained in detail in their respective sec-
tions of the manual. The INI settings needed are an auxin connected
to the probe that is on when the probe is touched and a scan line.
Specications for the INI le settings are listed under the 3D Digitiz­ing section of the System Conguration portion of the manual. The commands to reference for the digitizer are L82, L83, L800, L801, L802, and L803. These commands are explained in detail in the
Command Reference.
WinCNC Users Guide Page 27
Page 28
WinCNC Controller
Frame Scan Digitizing
Default Values
XY Increment 0.5 Z Increment 0.1 XY Feedrate 30 Z Feedrate 30
Bottom Offset 0 Top Offset 0
XY tolerance 0.01 Scan Width 0 Scan Length 0 Scan Center Unchecked
Center Scan Direction Negative Slice Scan Direction Positive Side to Scan Top Z Height to Calibrate 0 Distance to Raise Stuck Probe 1
Program Operation
Scan Increment - the distance the probe will attempt to move to
reach new points. The actual amount can be less if the probe hits
something during a move.
Scan Feedrate - the speed the machine will travel between points.
Bottom Offset - distance to shift the bottom scan data. This distance
can be positive or negative.
Top Offset - distance to shift the top scan data. This distance can be
positive or negative.
XY Tolerance - the allowable difference between points on the X
or Y axis when nding an edge. Example: XY Tolerance is 0.01, the current X point is -0.4370 and the previous point was -0.4467. The
difference is less than the allowable tolerance, so the slice will end.
WinCNC Users Guide Page 28
Page 29
WinCNC Controller
MaximumScanDimensions - these dimensions should be set to the maximum distance that the user wants the probe to search for an edge. If the board will be clamped on the ends or sides, input in the
distance between the clamps for that axis. For the other horizontal axis, set the size to the maximum amount that the probe should trav­el assuming that it doesn’t nd an edge. Always use positive values.
Center Scan Direction - the direction that the probe should travel on the Y axis. If set to negative, the probe will travel from high Machine Y to low Machine Y.
Slice Scan Direction - the direction that the probe will travel on the X axis. If set to negative, the probe will travel from high Machine X to low Machine X.
Slice Position Boxes - the input boxes beside the checkboxes in
the slice scan group. This is the position on the Y axis where the
slice will be measured. Always use positive values, even for negative scans.
Side to Scan - the side of the board to be scanned, Top or Bottom.
NOTE: A complete frame scan will consist of a Top and a Bottom
scan. This means that the Frame Scan utility must be ran once for each side. The values that you set in the previous scan will be
retained in their appropriate locations, so there is no need to retype
them. The utility will compile all slices after each scan.
Program Operation
WinCNC Users Guide Page 29
Page 30
WinCNC Controller
HowtoUsetheFrameScanDigitizingFeature
Start WinCNC. 1. Important! Make sure to do a G28Z or an L28Z
to set the machine Z zero to a level above the highest point of the workspace. This is necessary because the machine does a G53 (moves to machine Z zero) between slices. If you do a G53 and ma­chine Z zero is below material height, the probe will hit the surface at
rapid speed and be forced to stop very quickly, which could result in damage to the probe or the part.
Move the probe to the XY location where you want to start the 2.
scan.
Do a G92XY to set this beginning point to local zero.3. If you want to do an L82, move the probe to the desired position.4.
Click File->Digitize->Frame to open the Frame Scan dialog box.5. Click Browse and set the le name and path to use. The le will 6.
always save with a .CSV le extension.
Set up the Scan Increments (positive numbers).7. If a Top or Bottom offset is to be used, set it. The default is zero.8. Check the Scan Center box if a center scan is to be performed.9. Choose the center scan direction.10. Choose the slice scan direction.11. Check the box next to a slice, then enter a Y position (positive). 12.
Repeat this for the number of slices desired.
After slices have been chosen and values are entered, choose 13.
the side to scan - Top or Bottom.
If an L82 is to be performed, enter the new Z value for the sur-14.
face and press Calibrate. The probe will descend to the board and,
when it touches, will calibrate the board surface to the height set in
the box. This is very useful if you know the thickness of the board. Just calibrate to half of the thickness for each side and the nal point cloud will center around Z zero. Example: The board is measured at
2.5” thickness. If the board is calibrated to 1.25” for each side at the
point where it was measured, the nished scan should center around Z zero - half above zero, half below.
Set the height for the probe to raise if stuck. If the probe’s Z zero 15.
is below its current position and it sticks, the probe will try to raise
the distance specied here. If the Z zero is above the current posi­tion and the probe sticks, the probe will raise to zero. In either case
the user is asked to “unstick” the probe and hit Enter - after which the scan will continue starting with the point where the probe stuck.
Program Operation
WinCNC Users Guide Page 30
Page 31
WinCNC Controller
Click Run. 16. Important! This will start the digitizing process and
the machine will begin moving. If Options->AutoPreview is enabled the user will have to press ENTER again to start digitizing.
After the rst side scan is completed, turn the part over to set up 17.
scanning for the other side.
If the starting point has changed, do a G92XY to reset the local 18.
zero.
If you are using the L82 setting for bringing the top and bottom 19. together, move the probe the same X,Y point that was used on the other side of the part.
Click File->Digitize->Frame to open the Frame Scan dialog box.20.
The values for the previous scan will still be set. Leave all values 21.
set “as is” except the slice direction and the side to scan.
If the L82 is to be performed, make certain that the correct value 22. is in the box and click Calibrate.
Click Run.23. Important! This will start the digitizing process and
the machine will begin moving. If Options->AutoPreview is enabled, the user will have to press ENTER again to start digitizing.
After this side scan is completed, your CSV le will be complete.24.
NOTE: A large XY increment, combined with a large Z increment, can cause rough edges. Too large of an XY increment, combined
with too small a Z increment might cause the scan to end before the true edge is found, especially if the XY tolerance is set too large.
Program Operation
WinCNC Users Guide Page 31
Page 32
WinCNC Controller
Program Operation
WinCNC Controller has advanced features to provide the smoothest possible cuts. G-Code input is constantly buffered to ‘vector match’
moves. This means your machine only slows down when it needs
to and then only as much as needed to stay within the acceleration parameters programmed. WinCNC Controller also does S-Curve acceleration through arcs and matches arc tangential velocities with
straight moves to provide smooth arc moves. The result of these features is simply smoother cuts and less need for nishing opera-
tions. WinCNC Controller has a user-friendly interface that lets you take control of your machine providing features previously only found on custom industrial controllers.
Run the program by double clicking the WinCNC icon on your Win­dows desktop. Program options may be selected from the pull down
menu using the mouse, ALT+ menukey, or function keys while the
machine is stopped. Files can either be typed into the command line
or you can use the File menu’s open option to bring the le name to
the command line. Using the open command does not automatically
run the le, it just brings the name to the command line.
LimitSwitches
The default channel settings will normally provide proper interfac­ing with the machine’s limit switches. Before attempting to move the machine, verify that all limit switches are functioning properly. Limit switch status is displayed in the position window using a red triangu-
lar indicator to the left or right of the axis label. The indicator to the left of the axis label shows low limit status for that axis. The indicator
to the right of the label shows high limit status. If the indicator is pres-
ent then the limit switch is closed, otherwise it is open. The lim_mode
setting is used to control how WinCNC responds to limit switch trig­gers.
Program Operation
First toggle your limit switches by hand. Verify that the appropriate
limit display toggles. If it does not toggle then you need to adjust
WINCNC.INI. See the WINCNC.INI reference sections of the manual if the default settings are incorrect for your machine.
WinCNC Users Guide Page 32
Page 33
WinCNC Controller
It is recommended that you verify limit switch operation at the begin-
ning of each session. Do not attempt movement until the limit switch displays toggle correctly. Once the limits are working try a small
move. If nothing moves, the wrong axis moves, or movement is in
the wrong direction then adjust WINCNC.INI.
Perhaps the easiest way to do preliminary testing of movement is
with the Jog mode. Select “Jog .1”, and select the KEYBOARD op­tion under the OPTIONS menu. If you are using the default jog key conguration, use the LEFT and RIGHT arrow keys to move X, the UP and DOWN arrows to move Y, the PAGEUP and PAGEDOWN keys to move Z and U, and the HOME and END keys. Otherwise use the buttons that are dened for your system.
HomingtheMachine
When WinCNC Controller is started the display is set to the last known position. If the machine has been moved manually or has
drifted while powered down, this position will not be accurate. The
G28 command must be used to home the machine. G28 moves the WZ motors up to the hi limits, then moves the XY motors to their low
limits. The heads are then moved away from the limits by the values specied in WINCNC.INI and each axis is set to zero. This position is
MachineZero.
Program Operation
It is important to use G28 to set Machine Zero since many WinCNC features are calculated from this position. Soft Limits and Boundaries cannot be used if Machine Zero is not properly set. G28 will search
for the limits at 50” per minute. The lim_step setting in WINCNC.INI can help minimize the impact to the machine when stopping at the
limit switches.
G28 can also be used to home only specied axis. (i.e. G28Z homes
only the Z axis).
Normal machine operation using WinCNC Controller would be:
Start the program.
Enter G28. Push ENTER. (Machine Goes Home) Enter part program to cut. Push ENTER. (Job le runs)
WinCNC Users Guide Page 33
Page 34
WinCNC Controller
G90Modecontinued
Example: The workpiece is xtured at X20Y20, is 1” think and Z0 in the part le refers to the top of the workpiece.
G90 Commands in G90 Mode G92 Turn off any current G92s G0Z2 Set Z 2” above the table and 1” above the workpiece G0X20Y20 Go to corner of workpiece G92X0Y0Z1 Set this position to be 1” above LZ
The Axis Window shows:
Program Operation
Alternately LZ may be set by shifting MZ the desired amount using G92.1. Using G92.1 it is not necessary to move to the workpiece
rst.
Example
G90 Commands in G90 mode G92.1 X20Y20Z1 Move LZ 20” in XY and 1” above the table
The coordinate display shows the current position relative to the
workpiece.
When writing a G-Code program there must always be a starting
point. Typically it would be the lower left corner (in XY) of the piece to
be machined and either the upper or lower surface of the workpiece or a position a known distance above the workpiece (ZW). In a G91 mode program this point does not need to be given a coordinate value.
WinCNC Users Guide Page 34
Page 35
WinCNC Controller
In G90 mode this point is assigned a coordinate value (usually 0,0,0)
and all positions are specied relative to this starting point.
When running the program the machine is positioned to this start­ing point and G92 is used to set position to the start position for the program. Alternately G92.1 may be used to shift MZ.
Workspace
The G54/G55/G56/G57 functions are used to allow for easy switch­ing between workspace coordinates. Each G54/G55/G56/G57 line
you wish to use must be specied in the WINCNC.INI le.
WINCNC.INISetup: For descriptions see the Systems Conguration
Section of the manual.
G54=X# Y# T# A# R# O#
After conguring the G54/G55/G56/G57, the G54/G55/G56/G57
commands can be used to switch workspace coordinates, or for rotating a rotational axis.
If using the type 0 G54/G55/G56/G57 for switching vertical heads
just use the G54/G55/G56/G57 command alone to switch workspace
coordinates.
Program Operation
If using the type 1 G54/G55/G56/G57 for rotational axis command G54/G55/G56/G57 X# Y#, where X and Y are the positions to rotate towards.
Head Swap
L12 provides a means of cutting with a head not specied within a
program and of using multiple heads simultaneously.
Example: L12WZ moves Z whenever W is specied and moves W when Z is specied. L12ZZ moves Z and W together whenever Z is specied.
L12 alone or L12ZW sets normal operation.
WinCNC Users Guide Page 35
Page 36
WinCNC Controller
PumpControl WiringforthePCI7200CardandSXDaughterBoard PulseWidthModulation
Connect JP1 Pin 1 (Gate 0) to JP1 Pin 6 (Out 2). JP1 Pin 2 (Out 0) is the pump control signal. JP1 Pin 4 (Out 1) is the pump reverse signal.
FrequencyMode
JP1 Pin 2 (Out 0) is the pump control signal. JP1 Pin 4 (Out 1) is the pump reverse signal.
WINCNC.INISetup (for descriptions see the System Conguration
section of the manual)
pumpcont=T# L# H# A# B# I# R#
Commands (for descriptions see the Commands section of the manual) L55, L56, L57, L58, L59 M(0-99)
Buttons (see also the State Buttons section in the Screen Congu- ration section of the manual)
PumpModeOn
“StateBtn”, 280, 5, 50, 25, 4, 0, “Pump On”, “L55”, ““, -1, -1, ““
PumpModeOff
“StateBtn”, 280, 35, 50, 25, 5, 0, “Pump Off”, “L58”, ““, -1, -1, ““
PurgeMode
“StateBtn”, 280, 65, 50, 25, 6, 0, “Purge”, “L56”, “L57”, -1, -1, ““
Program Operation
FeedRateOverride
WinCNC accepts feed overrides to increase/decrease the feed rate.
The feed rate can be adjusted from 1% to 200% of the programmed rate. The override rate cannot be set higher than the max velocity
or G0 rate for a given axis. Use the Insert key to increase and the
Delete key to decrease the programmed feed rate, holding CTRL and pressing either Insert or Delete will result in the feed rate being reset to the programmed value. There is also a slider bar to the right
of the feed rate screen display that can be used to initiate a feed rate
override. The override feed rates will be displayed in place of the pro­grammed feed rates in the display. The feed rate will change colors
to depict that an override is in use. If the override rate is higher than the programmed rate the color of the feed rate display will be red, if it is lower than the programmed feed rate it will be blue.
WinCNC Users Guide Page 36
Page 37
WinCNC Controller
ManualDigitize
WinCNC supports the ability to manually digitize a part and then out­put the le as either G-Code or DXF format. The manual digitize tool­bar is started by clicking File->Digitize->Manual. The toolbar icons are displayed and summarized in the screen display section of the manual. The Manual Digitize feature supports the addition of rapid
moves, feed moves, and arc moves. It also has support for undo,
close shape, and save. To digitize a part manually, place the part on
the table and transit the machine to the selected starting point and
then enable the manual digitize mode.
Now that manual digitization is enabled, to add a move into your digi­tal le, transit the machine to the desired point and then press either
the add rapid (G0) or add feed (G1) button on the toolbar depending
on the type of move needed. To add an arc, move to the beginning
of the arc and add either a rapid (G0) or feed (G1) move, then transit to any point along the arc and press the add arc point button on the
toolbar. The rst time the add arc button is pressed it is setting a mid­point for the given arc. Once you have the midpoint selected transit to the end of the arc and press the add arc button again. This will complete the arc move and add it to your digital le. Continue transit-
ing along the part adding in the required move types.
Program Operation
Once you have your part completely digitized click the save button on the toolbar. If you saved the digitized le as a G-Code formatted le, you can then use that le with WinCNC. If you saved the le as a DXF le, you can import this le into any CAD/CAM package that supports DXF le formats and make any needed adjustments.
The Manual Digitize feature of WinCNC also supports the ability to undo any previous moves during the digitization. If at any point you
wish to go back before moving the machine or adding a move press the undo button in the toolbar and the machine will lift the vertical head, move back to a previous location, and lower the vertical head
back to its initial position. The location the undo button moves to
depends on the last type of move you made. If it was simply a transit move out into the table, undo will move the machine back to the point you started at. If undo is used after adding in a new move, the
machine will move back to the last point that was added to the le.
WinCNC Users Guide Page 37
Page 38
WinCNC Controller
SystemConguration
WINCNC.INI is read on program startup. The precongured le is set up to work with minimal change for normal installations. To change conguration use a text editor to edit WINCNC.INI. If the WINCNC.
INI is changed while WinCNC is running, you must restart the pro­gram to activate your changes.
CAUTION!!
Make sure you have some idea of what you are doing before chang­ing WINCNC.INI. All input and output is controlled by these settings. Improper settings will cause limit switches to not work, wrong axis movement in the wrong directions, and/or other bad and potentially dangerous or damaging incorrect operation.
Please call for help instead of experimenting if you are not very famil-
iar with motion control concepts and computer conguration.
Double-click the WINCNC.INI le from within Windows to open it in a text editor. Change values for parameters as specied below.
WINCNC.INI is read every time the program is started. Make sure
the le gets saved as ASCII text (without formatting).
SystemConguration
WINCNC.INI Settings
Unit Settings
The default unit of measure is inches. If you want to use this
WINCNC.INI setting to set the unit of measure, itmustbetherst lineintheINIle. You can also set units by choosing Units from the
menu bar and selecting the desired unit of measure.
unit=<unit> <unit> is the unit of measurement you want to use.
IN - sets units to Inches CM - sets units to Centimeters MM - sets units to Millimeters
Example: unit=IN would set up your conguration to use Inches as
the unit of measurement.
WinCNC Users Guide Page 38
Page 39
WinCNC Controller
TimerCardSetup
timertype=# # must be 7200
Axis Settings
Each axis for a machine must be congured in the WINCNC.INI le. Axis settings MUST be included in the following order: Note: Values to the right of the equals signs (=) vary by installation.
[Axis Labels] axischar=XYZ
[X Axis] axisspec = p0 s0 d0 r818.5111 a400 axisvel = r450 f100 s50 m200 h450 axislo = p2 b6 o1 axishi = p2 b7 o1
[Other axis settings related to the X axis (axismode=, axisadj=, etc.)
would follow]
[Y Axis] axisspec = p0 s1 d1 r818.5111 a400 axisvel = r450 f100 s50 m200 h450 axislo = p3 b0 o0 axishi = p3 b1 o0
SystemConguration
axischar=###
# is desired alpha axis label.
Example: axischar=XYZ
NOTE: Axes must be congured in the order they appear on the
axischar= line. In the example above, the X axis would be set up
rst using the axisspec, Y next, and Z last.
WinCNC Users Guide Page 39
Page 40
WinCNC Controller
AxisSettingscontinued
axisspec=P# S# D# R# A# F# O# E# T# B# K#
Congures basic functions for a motor on a machine. SEE DIAGRAMS IN APPENDIX
P# is port number. S# is the bit for the step signal, can be 0-7. D# is the bit for the direction signal, 0-7. R# is the actual resolution in steps per unit. A# is the actual acceleration in units per minute per second. F# sets acceleration for feed moves. If no F# is used the A# pa-
rameter is used for both rapid and feed moves.
O# changes motor direction, can be 0 or 1. E# sets the step signal for negative edge triggered drives, can be
0 or 1.
T# sets the type of axis. 1 is rst horizontal, 2 is second horizontal,
3 is vertical, 4 is rotational.
B# is the amount of backlash to compensate for on the axis. K# is used for keyboard mapping to this axis.
Ignores Scroll Lock
1 Left/Right Arrow Keys 2 Up/Down Arrow Keys 3 PageUp/PageDown Keys 4 Home/End Keys Works Only with Scroll Lock Off 5 Left/Right Arrow Keys 6 Up/Down Arrow Keys 7 PageUp/PageDown Keys 8 Home/End Keys Works Only with Scroll Lock On 9 Left/Right Arrow Keys 10 Up/Down Arrow Keys 11 PageUp/PageDown Keys 12 Home/End Keys
SystemConguration
All of the following axis conguration parameters will apply to the
preceding “axisspec=” line.
WinCNC Users Guide Page 40
Page 41
WinCNC Controller
AxisSettingscontinued
axisvel=R# F# S# M# H# A# C#
Sets up velocities for the specied axis.
R# sets the rapid or G0 velocity for the axis. F# sets the feed or G1 velocity for the axis. S# sets the velocity for slow transit. M# sets the velocity for medium transit. H# sets the velocity for fast transit. A# species an acceleration factor for transit moves. C# sets minimum velocity used in velocity matching. Using this set-
ting improves smoothing and reduces cutting times.
axismode=S# V#
Modies the acceleration curve on a given axis.
S# is the acceleration factor to use for smoothing on this axis. V# is the increment used during acceleration in steps/second.
axisadj=T# A# V# U# D# I#
Adjusts the position of an axis by: transit keys, input switches, or internally with THC.
T# set to 1 to enable transit key control of the specied axis. A# sets the adjust enabled axis. 0=X, 1=Y, 2=Z, etc. V# sets the maximum velocity of the specied axis during adjust-
ment, in units per minute. U# sets the input channel number used to trigger a positive adjust- ment. D# sets the input channel number used to trigger a negative ad-
justment. I# is the initial state of axisadj (1=enabled, 0=disabled).
SystemConguration
axismap=S# E# M# Creates a position map for the axis to straighten the path of motion
for an axis. Add this line under the “axisspec=” line for each axis to be mapped.
S# sets the starting position for the map. E# sets the ending position for the map. M# sets the map increment used for this axis.
WinCNC Users Guide Page 41
Page 42
WinCNC Controller
AxisSettingscontinued
altaxisspec=P# S# D# O# E#
See axisspec= documentation. This setting is used for an axis that has two motors, and species the step and direction settings for
the second motor. Uses the same resolution, acceleration, type,
and backlash as axis specied in the previous axisspec= line.
axishi=P# B# O# A# D# axislo=P# B# O# A# D# altaxishi=P# B# O# A# D# altaxislo=P# B# O# A# D#
High and low limits for axis and altaxis.
P# is the input port for limit switch, can be 0-3. B# is the bit on the port used with the switch, can be 0-7. O# sets the switch polarity, can be 0 or 1. A# sets the alternate bit. D# is the debounce for the limit switch.
Example: axislo=P0 B2 A4 [bit 2, alternate bit 4]
exaltaxislo=C# P# A# B# O# exaltaxishi=C# P# A# B# O#
Used to congure up to 10 alternate input pins that can be used as
alternate limit switches.
C# is the alternate limit channel number. There are up to 10 low
and 10 high channels available
P# is the switch port number. A# is the alternate bit. B# is the switch bit number. O# sets the polarity for the switch (0 or 1).
SystemConguration
accel=S# S# sets the max velocity increment during acceleration. Can be 0
to 200. The default value is 50.
WinCNC Users Guide Page 42
Page 43
WinCNC Controller
ad=L# H# X# Y# A# B#
Reads incoming analog signal used to monitor spindle current.
L# is the low volts for the voltage range. H# is the high volts for the voltage range. X# is the low amperage for the voltage range. Y# is the high amperage for the voltage range. A# is the low alarm in amps. B# is the high alarm in amps.
anykey=A# P#
By default, the Spacebar is the Pause key and the Escape key is
the abort key. By including the anykey= line in the WINCNC.INI le,
the user can set WinCNC to read any unassigned key as a pause key or an abort key.
A# enables or disables abort on any unassigned key. 0 is disabled, 1 is enabled. P# enables or disables pause on any unassigned key. 0 is dis­abled, 1 is enabled.
If both a1 and p1 are included, any unmapped key will be read as an abort.
SystemConguration
arc_err=# # is the value (in units of measure) of allowable errors in arc speci-
cations. Default value is .01. If you get radius errors from your les increase in .002 steps. If errors persist with larger values the
problem is probably in your program. Arc radius errors indicate that the distance from the start point to the center point is not the same as the distance from the end point to the center point.
arc_min=# # is the value (in units of measure) for smallest arc radius to be cut
as an arc. Arcs with radius smaller than this value will be cut as a
G1 move. Default value is .002.
WinCNC Users Guide Page 43
Page 44
WinCNC Controller
arcfeed=R# F#
R# species the radius F# species the feed rate in units per minute.
Arcfeed lines are not necessary or recommended in setup. Arc feed rates are calculated automatically based on your acceleration settings. If you wish to override the automatic calculations, use a block of “arcfeed=” lines to manually specify radius and feed rates.
Three(3) to twenty(20) “arcfeed=” entries can be made in the WINCNC.INI le. When doing a G2 or G3 move, WinCNC will use
the feed rate associated with the radius of the arc move. When the arc radius falls between two “arcfeed” radius values, WinCNC will calculate the appropriate feed rate between the two “arcfeed” values. When the arc radius is smaller than the smallest “arcfeed” radius, then the “arcfeed” feed value from that entry will be used. When the arc radius is greater than the largest “arcfeed” radius value, then WinCNC will use the default auto arc feed mode. When
no “arcfeed” entries are made in the WINCNC.INI le, WinCNC
uses the default auto arc feed mode, where arc feed rates are au­tomatically calculated based on the programmed G1 feed velocity.
arctype=T# I# M#
Allows conguring WinCNC to break up arcs into line segments.
T# - 1 for normal arc and 2 for interpolated arcs. I# - the length of the segment to interpolate. M# - if set to 1 makes G2/G3 commands modal.
SystemConguration
atc1=H# O# Z# A# M1 atc2=H# O# Z# A# M1
Congures Automatic Tool Changers.
H# is the height at which the tool is unloaded. O# is the offset to the tool sensor.
Z# is the height of the bottom of the tool changing spindle.
A# is the axis number for the tool changing spindle. X=0, Y=1, etc. M1 allows the use of the new library option.
WinCNC Users Guide Page 44
Page 45
WinCNC Controller
autoaux=C# I# S# E#
C# is the auxiliary output channel number. I# is the initial state of the autoauxout mode (0=off, 1=on). S# sets the amount of dwell time in seconds used when the au-
toauxout channel is set to on. E# sets the amount of dwell time in seconds used when the au­toauxout channel is set to off.
This feature allows the user to setup an auxiliary output that will
turn on during G1/G2/G3 moves, and will turn off for all other
moves, only if the “autoauxout” mode is set to on. The “autoauxout”
mode can be enabled using the L34 command and disabled using the L35 command.
autodir=c:\wincnc\auto
Species the directory where les to be automatically ran are
copied.
autofdir=c:\wincnc\done
Species the directory where les are copied after auto run.
SystemConguration
automode=#
The autorun mode 0 is disabled, mode 1 will copy name and path to command bar, mode 2 will automatically execute the found le.
WinCNC Users Guide Page 45
Page 46
WinCNC Controller
auxin=C# P# B# O# D# F# L# I# M”<message>” A”<axes>”
Congures auxiliary inputs.
C# is the channel number, 1-32. Numbers should not be skipped. P# is the port number, refers to a port specied in a portin spec. B# is the bit number, can be 0-7. O# changes the input polarity, can be 0 or 1. D# species debounce. When the input is a switch, debounce
should be used. D100 is a typical value. F# species the function type of the auxin. Can be set to the same
function types as enab, or signal below. When set to 0, no special function types are enabled. F1 - Enable F100 - Signal Abort F101 - Signal Pause/Continue F102 - Signal Pause F103 - Signal Continue F110 - Signal Start Cycle F201 - Signal User Spec 1, use L201 command F202 - Signal User Spec 2, use L202 command
L# can be 201 or 202. If congured as an enable, this causes the
input channel to be used as an enable when the machine is run­ning, and as a type 201 or 202 signal when not running. I# is the initial active/inactive state of an enable or signal. 0=active, 1=inactive.
M”<message>” denotes a custom error message. The message
must be enclosed in double quotes - ““.
A”<axes>” requires homing of the specied axes if this auxiliary
input is used as an enable (F1) and the enable is triggered during motion.
SystemConguration
WinCNC Users Guide Page 46
Page 47
WinCNC Controller
auxout=C# P# B# O# S# E# T# X# W# R#
Congures auxiliary outputs.
C# is the channel number, 1-32. Numbers should not be skipped. P# is the port number, refers to a port specied in a portout spec. B# is the bit number, can be 0-7. O# changes the output polarity, can be 0 or 1. S# set output state on WinCNC startup, can be 0 or 1. E# set output state on WinCNC exit, can be 0 or 1. X# set output state on abort, can be 0 or 1. W# set output state on pause, can be 0 or 1. T# sets the type of auxout. # can be 2 or 3. T2 sets the auxout
channel to be a motion only auxout. This will result in the auxout
only working while the machine is moving and will turn off when
the machine stops. To use this feature you must also have the S#
set to 1 to start up with the software. You can then turn it off and on using the M11 and M12 commands. You must have it enabled to
work correctly during motion. The T2 auxouts are available on CN1 and CN2. Auxouts on additional I/O cards cannot use this setting. T3 sets the auxout to a programmed velocity percentage auxout type. T3 auxouts are on when the machine velocity is above the specied percentage and off when the velocity is below the speci­ed percentage.
R# is used to specify whether the output should be turned on or
off during a le restart. 0=off, 1=on. When on R value is used, the auxout state will be set by simulating the skipped portion of the le
prior to restarting.
SystemConguration
auxoutvel=#
# is the velocity percentage to use (0-100). If the machine velocity,
during motion, drops below the specied percentage of the pro­grammed velocity then the auxout signal will be on, otherwise, the auxout signal will be off.
backlash=B# S# F#
B# sets initial backlash compensation to on or off, can be 0 or 1. S# sets the smoothing factor for backlash compensation moves. F# sets the “slow down” feed rate setting to eliminate “clicking” dur-
ing arc backlash compensation moves.
Example: backlash=b1 f100 means enable backlash, slowdown
feedrate of 100 units per minute.
WinCNC Users Guide Page 47
Page 48
WinCNC Controller
bitmapdir=c:\wincnc\bitmaps
Species the directory where bitmaps used with the splash screen,
background, and screen buttons are kept.
bmpeditor=<lename>
Filename is the full path and lename of any editor that will accept le names as a command line parameter.
Example: bmpeditor=paint.exe
bmpend=<command> bmpstart=<command>
Commands to be automatically added at the beginning and end of
each bitmap le. Example: bmpstart=m11c1 AND bmpend=m12c1 or bmpstart=m98 start.tap AND bmpend=m98 end.tap
bmpoffset=L# H# S# F#
When using this method an offset between the low and high value is selected based on the speed of the raster axis. If a speed below the low velocity is used, then the low offset is used. If a speed above the high velocity is used, then the high offset is used.
L# is the low offset H# is the high offset S# is the low velocity F# is the high velocity
SystemConguration
btnoptions=#
This setting enables/disables the Options->Buttons menu option. # can be one of the following:
0 = disabled 1 = enabled (default)
WinCNC Users Guide Page 48
Page 49
WinCNC Controller
cmdabort=<command>
<command> is the command that will run when a le is aborted. Example: cmdabort=M12C1
cmdend=<command>
<command> is the command that will run at the end of every le. Example: cmdend=M12C1
cmdrestart=<command>
When specied, the cmdrestart line will run at the end of a le restart, before the remainder of the le is run.
cmdrestartfeed=<command> cmdrestartrapid=<command>
Allows the insertion of commands prior to motion when using the
le restart. These commands are only inserted if the rst move at the restart point is a feed or rapid move. This allows restart setup
to ensure that all device states are correct for cutting or noncutting moves.
SystemConguration
cmdstart=<command>
<command> is the command that will run at the start of every le. Example: cmdstart=M11C1
*NOTE:Thesesettingscanalsobeusedtocallasubroutineto usemultiplecommands.
comchars=###
### represents characters to use to designate comments in a G-
Code le. When one of the listed characters is found at the begin­ning of a line, WinCNC skips the entire line. The characters “[(%”
are regarded as comments by WinCNC by default.
Warning:Anycharacterlistedherewillbeconsideredasa commentcharacter,thereforeeverythingthatfollowsthat characteronanylinewillbeignored.
WinCNC Users Guide Page 49
Page 50
WinCNC Controller
comdll=<path>
<path> is the path including lename of the communications DLL le “WINCNC.DLL”.
contdelay=#
Setting this value causes a # second delay when continuing from a paused state.
cutcomp=T# D#
Sets up cutter compensation to account for bit sharpening and wear. T# is the type (0=does not insert entry move - default, 1=automatically insert entry move). D# a negative number here will invert G41 and G42 commands left and right compensation.
da=T# A# V# I# C#
T# is the type of D/A port used. Can be 0 (parallel port) or 1 (PCI
daughter board) or 2 (serial port).
C# is the COM port number and is only used when T is set 2. A# is the parallel port address and is only used when T is set to 0. V# is the maximum voltage - generally 5 or 10 volts. I# is the initial output voltage when WinCNC starts. It can be set
from 0 to the maximum set in V#.
SystemConguration
drillbank=C# N#
Congures a multiple drill gang associating auxouts with the as­sociated drill.
C# is the auxout channel, rst one that lowers a drill.
NOTE:AuxOutchannelsneedtobeinnumericalorder.
N# is the number of channels.
SeeAlsotheM11command.
editor=<lename>
Filename is the full path and lename of any editor that will accept le names as a command line parameter.
Example: editor=write.exe
WinCNC Users Guide Page 50
Page 51
WinCNC Controller
enab=C# M”message” T# L# I# A”<axes>”
C# species the input channel to be used for the enable. M”message” denotes a custom error message. The message
must be enclosed in double quotes - ““. T# auxin enable type. 1 is default and will abort from any command when the enable switch is triggered. 2 will abort only from com­mands that would result in machine motion when the enable switch is triggered.
L# can be 201 or 202. If congured as an enable, this causes
the input channel to be used as an enable when the machine is running, and as a type 201 or 202 signal when the machine is not running.
I# is the initial state (1=active, 0=inactive). A”<axes>” requires homing of the specied axes if this auxiliary
input is used as an enable (F1) and the enable is triggered during motion.
Used to setup emergency stops. First setup an auxin line for input.
Then specify the enable to use the input channel as an enable
switch.
esc_step=# # is the number of steps to move after ESC key is pushed.
SystemConguration
letype=*.tap;*.nc
Species le extensions that are recognized by WinCNC as G­Code les.
G09=S# A# Sets the smoothing factor to improve the smoothness of motion.
Increasing the S# decreases the slowdown of the machine when turning corners.
S# - smoothing factor to be used. A# - used to change the angle used in the velocity matching algo-
rithm. With no angle specied, smoothing will work as it has in pre­vious versions. By specifying a small angle (20 degrees or less), the smoothing factor can be increased by as much as 4 times.
WinCNC Users Guide Page 51
Page 52
WinCNC Controller
g2modal=# # can be 0 or 1, if 0 G2 and G3 commands are non-modal, if 1 G2
and G3 commands are modal. The default is non-modal.
g28altmove=X# Y# Z# W# Used to square a machine with two motors on the gantry.
g28check=# When enabled, if new absolute home positions are set using
G28 or L28, they are checked against the previous positions and the user is prompted to accept or decline the new positions. (0=disabled/default, 1=enabled)
g28checktol=X# Y# Z# # sets the tolerance, changes of less than the tolerance are ig-
nored.
g28coord=X# Y# Z# W#
Species a position after a G28, not used if all positions are zero.
SystemConguration
g28move=X# Y# Z# E# R# T# A# M# F#
XYZW species the distance to move from each limit switch while homing. The R species the distance to move off the limit switch after the rst contact. F is the approach speed to use for the initial contact. T is the approach speed to use for second contact. A is
used to specify that an alternate limit switch is to be used. M speci-
es that each axis will home individually.
g37=X# Y# I# J# D# F#
Congures tool measure switches.
X# is the X position of the tool measure switch. Y# is the Y position of the tool measure switch. I# is the X position of the second tool measure switch. J# is the Y position of the second tool measure switch. D# is the rapid descent distance. F# is the feed rate for the remaining descent distance after rapid
rate.
WinCNC Users Guide Page 52
Page 53
WinCNC Controller
g54=X# Y# T# A# R# O# M# g55=X# Y# T# A# R# O# M# g56=X# Y# T# A# R# O# M# g57=X# Y# T# A# R# O# M#
Precongured workspace values (default is G54).
X# is the workspace shift value for the X axis. Y# is the workspace shift value for the Y axis. T# is the type of workspace shift. Use 0 for vertical head swapping
and use 1 for rotational axis.
A# is the axis number. This setting is used only for type 1. R# is the radius, which is used for type 1’s which have an off cen-
ter bit. O# is the offset value, which is used for correcting the 0 degrees
position. The 0 degrees position should point toward the positive X
direction. M# is used to determine if axes will move to new positions in the new coordinate system when switching between modes. (1=move to new positions, 0= do not move).
g81dwell=# # is the value (in seconds) of the desired dwell at the end of the
plunge move. The default value is 0.
SystemConguration
g81set=D# R# L#
Congures parameters used in drill cycles.
D# is the dwell time for the drill in seconds. R# sets the rapid drill for the peck cycle to within R# distance of
the hole before switching to feed mode. L# is the lift distance above the top of the hole for the bit between each peck.
helple=<path>
<path> - directory for the manufacturers help le.
WinCNC Users Guide Page 53
Page 54
WinCNC Controller
hibound=X# Y# Z# W# Boundaries for the X, Y, Z, W axes that take into account work-
space offsets.
hilim=X# Y# Z# W#
Absolute position soft limits for the X, Y, Z, W axes that do NOT
take into account workspace offsets.
homedir=c:\wincnc\homes
Species the directory where created home les are written.
keypad=C# B# P# S#
Congures keypads for use with WinCNC.
C# is the number of the com port used with the keypad. B# is the baud rate used with the specied port. Should be 9600. P# is the type of keypad used. Type 1 is the standard serial key-
pad. Type 2 is the Q-Term brand keypad with LCD display. Type 3 is the 2Tech brand keypad with LCD display and optional emer-
gency stop.
S# is the sorting type and can be one of the following values:
1 = sort alphabetically, ascending
2 = sort by le size, ascending 3 = sort by modication date, ascending
4 = sort by creation date, ascending
-1 = sort alphabetically, descending
-2 = sort by le size, descending
-3 = sort by modication date, descending
-4 = sort by creation date, descending
SystemConguration
keypaddir=c:\wincnc\keypad Species the directory where les that can be selected from a sup-
ported LCD keypad are stored.
WinCNC Users Guide Page 54
Page 55
WinCNC Controller
knifemode=T# A# L# I# Z# X# Y#
Congures tangential knife.
T# - type of knife. T1 = normal knife function. T2 = new knife func- tionality which reduces XY stopping during knife operation. A# - is the lift angle. If the angle of change is greater than this value then the head will lift before rotating. L# - is the XYW rotation length. At the start of each move XYW will
rotate this distance simultaneously, if there is no Z lift. This setting
can be used to smooth corners. I# - Arc interpolation chord accuracy. Z# - is the lift amount used when the auto-lift is used for knife rota­tion.
X# - X adjustments for knife point to center of rotation. Y# - Y adjustments for knife point to center of rotation.
laser=P# D# S# M# O# A# B# R# P# is the initial power scale.
D# is the laser power duty cycle. S# sets smart engraving off/on (0/1). M# is the margin for acceleration on either side. O# is the step offset used to align the bitmap rows. A# sets the primary (raster) axis number. 0=X, 1=Y, etc. B# sets the secondary (row) axis number. 0=X, 1=Y, etc. R# sets the default radius of the engraving surface when a rotary
axis is used.
SystemConguration
laserscan=S# M# W# A# U#
Used for laser scanning to digitize 3D objects.
S# sets the step pin/bit used to trigger laser scanning (0-5). M# sets the margin in units. The margin is used at the start and
end of each pass to allow room for machine acceleration. A value of 0 enables the auto-margin feature. W# sets the number of “warm-up” readings used at the beginning
and end of each pass to allow the Optimet system to collect more
accurate data. Recommended 3-5.
A# is used to specify the axis 0=X axis, 1=Y axis. U# can be set to 1 or greater to increase the auto-calculate margin
size.
WinCNC Users Guide Page 55
Page 56
WinCNC Controller
lim_cnt=# # sets the debounce for limit switches.
lim_mod=#
0 = same debounce for on/off, any limit switch aborts. 1 = same debounce for on/off, only limit switch in the direction of motion causes an abort. 2 = less debounce for change to off, any limit switch aborts. 3 = less debounce for change to off, only limit switch in the direc­tion of motion causes an abort.
lim_step=# # is the number of steps to compress limits after switch hit.
Some machines may be damaged if stopped suddenly at higher speeds. Abort cushions provide a method of decelerating quickly but not instantly when a limit is hit or the escape button is pushed.
lim_step species the number of steps to continue after a limit is hit. This number must be calculated from the distance your
switches may be compressed without damage and the lowest axis resolution of your machine. For instance if your X and Y resolution are 1018.592, your Z and W resolutions are 2000 and your limit
switches may be compressed .1” then you would set lim_step as follows: lim_step=1018.592*.1=100 steps esc_step may be set to any value that results in a quick stop with-
out moving too far. A 200 setting is suggested.
SystemConguration
lobound=X# Y# Z# W#
boundaries for the X, Y, Z, W axes that take into account work­space offsets.
logdir=c:\wincnc\log
Species the directory where the log le is written.
logle=c:\wcnc.csv
Species the name of the log le.
WinCNC Users Guide Page 56
Page 57
WinCNC Controller
lolim=X# Y# Z# W#
absolute position soft limits for the X, Y, Z, W axes that do NOT
take into account workspace offsets.
mapping=I# I# is the interpolation increment used for all axes.
maxstepv=#
# is the maximum number of pulses per second per axis. The
default value is 30000, and can safely be increased to 50000 when using the 2801 or 7200 timer type.
maxtrans=# # is the distance, in units, of the largest possible transit move.
Setting this value to a distance equal to or slightly larger than the largest table dimension on a machine will make the transit moves respond more quickly.
override=E# L# H#
Gives the user the options of enabling or disabling the feed rate override, and setting the low and high limitations for the feed rate.
SystemConguration
E# enables or disables the feed rate override. Can be set to 0 or 1.
0 is disabled, 1 is enabled. The default is enabled.
L# sets the lower limitation of the override percentage. Can be 1 to 200, but must be lower than the high value. H# sets the high limitation for the override percentage. Can be 1 to 200, but must be higher than the low value.
WinCNC Users Guide Page 57
Page 58
WinCNC Controller
PCI48H=A# B# PCI24H=A#
A# - Sets IO for ports A1, B1, and C1. (PCI48H and PCI24H) B# - Sets IO for ports A2, B2, and C2. (PCI48H only)
WinCNC IO port numbers are automatically assigned to ports 8-12.
A# or B# can be set to 0-15 from the following table. 0 - A=out/B=out/CU=out/CL=out 1 - A=out/B=out/CU=out/CL=in 2 - A=out/B=in/CU=out/CL=out 3 - A=out/B=in/CU=out/CL=in 4 - A=out/B=out/CU=in/CL=out 5 - A=out/B=out/CU=in/CL=in 6 - A=out/B=in/CU=in/CL=out 7 - A=out/B=in/CU=in/CL=in 8 - A=in/B=out/CU=out/CL=out 9 - A=in/B=out/CU=out/CL=in 10 - A=in/B=in/CU=out/CL=out 11 - A=in/B=in/CU=out/CL=in 12 - A=in/B=out/CU=in/CL=out 13 - A=in/B=out/CU=in/CL=in 14 - A=in/B=in/CU=in/CL=out 15 - A=in/B=in/CU=in/CL=in
SystemConguration
portin=#, *
portout=#, *
# is the number of the port, can be 0-7. * is the hexadecimal memory address to the port.
positions=P# H# T# P# - maximum number of stored positions.
H# - maximum number of stored home positions. T# - maximum number of stored tool positions.
WinCNC Users Guide Page 58
Page 59
WinCNC Controller
pumpcont=T# L# H# A# B# I# R#
Congures pump control. T# sets the pump control type. The available types are: T0 pulse width 200hz T1 pulse width with auto reverse 200hz T2 pulse width without auto reverse, double scaled 2hz T3 frequency mode
L# sets the low value of the output range in units per minute. H# sets the high value of the output range in units per minute. A# sets the low value of the frequency range in pulses per second. B# sets the high value of the frequency range in pulses per sec-
ond.
I# is the initial value of the pump control output (0-99). R# is the initial value of the pump reverse output (0-15).
quadmode=1 Sets WinCNC to generate an A/B quadrature output instead of the
traditional step/direction signals used by most motor drives.
rapid_lock=#
# can be: 0 - Unlocked status and can change G00 feedrates, or
1 - Locked status and can not change G00 feedrates.
The default setting for this feature if not specied in the INI le is 1,
the locked status.
SystemConguration
rapidjog=#
# can be 0 or 1. If 0, jog moves us G1 speed (this is default). If set
to 1, jog moves us G0 speed.
restart=V# V0 skips vertical axis position restore
V1 restores vertical axis positions (default)
WinCNC Users Guide Page 59
Page 60
WinCNC Controller
sawmode=T# A# R# O# Z#
T# - type of saw. This setting must be 1. It is reserved for future
use.
A# - is the rotational axis number, 0 is X, 1 is Y, etc. R# - is the radius of the saw blade. O# - is the offset, in degrees, from the home position to the 0 de-
gree cutting direction. Z# - is the lift amount used when the auto-lift is used for saw blade rotation.
scan=T# A# C# S# H# F# P# D# R#
Congures touch-probe scanning to digitize 3D objects.
T# is the probe type. 1 is an up/down probe. 2 is an up/down/side
to side. This setting is required. A# is the axis # the probe is on. 2 for Z. Optional setting. Defaults
to 2.
C# is the auxin channel the probe is connected to. This setting is
required.
S# is the # steps to decelerate the probe. Optional setting that defaults to 50 if not specied.
H# is the height to lift when the probe comes into contact with
something. Optional setting that defaults to .005 if not specied F# is the feed rate to scan with. Optional setting that defaults to 30 if not specied. P# is the plunge for the A#. Optional setting that defaults to 30 if not specied.
D# is the debounce or number of times that the input status is read
to determine a state change. Default is 0.
R# is the tolerance for rescanning.
SystemConguration
Example: scan=T2 A2 C8 S50 H.005 F30 P30
WinCNC Users Guide Page 60
Page 61
WinCNC Controller
scanle=T# F# O# A#
T# is the threshold that is to be used. The accuracy that is used for the STL le. The higher the number the smaller the STL le will be, the smaller the number the larger the STL le will be. Using 0 for this value will result in points. Defaults to .003.
F# sets the le type. 0 is ASCII, 1 is binary. 0 is default. O# sets the output le format. 0 is STL, 1 is DXF. 0 is default. A# sets the algorithm used to generate the output le. 0 uses the
original algorithm, which includes all scan data. 1 uses the new algorithm, which eliminates unneeded data points to reduce the
size of the output le. 0 is the default. This setting is used only with STL les.
signal=C# M”message” T# I#
Signal is used to setup control push buttons. First setup an auxin
line for the input. Then specify signal as follows to use the input
channel as a control signal.
C# species the input channel to be used for the signal. M”message” denotes a custom error message. The message
must be enclosed in double quotes - ““.
I# is the initial state (1=active, 0=inactive). T# species the signal type.
*100 Abort *101 Pause/Continue *102 Pause *103 Continue
*104 This signal will prevent all commands or attempts to run a le but will allow jog/transit moves if the signal is in an “on”
state. If the signal turns “on” during a move or while running
a le, WinCNC will pause, and will not allow a continue until
the signal has turned back to an “off” state. *110 Start Cycle *201 Run command stored with L201 command *202 Run command stored with L202 command
SystemConguration
WinCNC Users Guide Page 61
Page 62
WinCNC Controller
skipchars=C”#” N# A character or group of characters that indicate a block of G-Code
that should be skipped or ignored.
C”#” - # represents the character or characters that mark the beginning of the code block to be skipped. Characters must be placed within quotes. N# - # represents the number of lines to skip.
Example: skipchars=C”#%” N10
Sets WinCNC to skip 10 lines of G-Code each time that it reads a
‘#’ or a ‘%’ character at the beginning of a line in a G-Code le.
softlim=T# M# B#
Congures software limits for motion control. T# can be one of the following:
0 = disabled 1 = enabled and active 2 = enabled but inactive M# is to tell whether or not to show the softlim’s toolbar icon. 1 will result in the toolbar icon being shown, 0 for not shown. Boundaries and Soft Limits are linked, so the state of one represents the state of the other.
B# can be one of the following:
0 = exceeding boundaries will cause an abort
1 = exceeding boundaries will adjust the target position to the
boundary location.
SystemConguration
spinchar=#
# - character used for spindle speed control.
WinCNC Users Guide Page 62
Page 63
WinCNC Controller
spindle=T# R# I#
Support for D/A card for spindle speed control. T# is the type of spindle. 0=LPT, 1=D/A type or PCI, 2=auxout type
or serial.
R# is the maximum revolutions per second for the spindle. I# species the initial output voltage when WinCNC starts.
Example: spindle=T1 A”0x2a0” R18000 V4095 This example is based on a 12 bit D/A card. The values will vary
depending on the card type used (12 bit, 16 bit, 32 bit card, etc).
Once this line is in the INI le the spindle speed can be set by us­ing S# where # is the desired revs per second of the spindle.
sst=C#
Congures Teknic brand servo drives to use the “gearshift” feature.
C# is the COM port number being used.
sstnode=A# D# C# H#
Congures pulse width and direction for use with step and direction
signals. Add a “sstnode=” line for each servo drive on the serial
loop. If there is a drive connected for which you DO NOT wish to change resolution specify “D0”.
A# sets the axis number for this node (servo). 0=X, 1=Y, 2=Z, ... D# sets the division for this node (servo). Can be 0, 2, 4, 6, or 8. C# is the auxout channel used for the mode line input on the
Teknic servo drive. H# H1 enables hard stop homing for the Teknic servo drives.
SystemConguration
steppulse=P# D#
P# is the length of each step pulse in microseconds. D# is the amount of time before each step that the direction signal
is set.
NOTE: These settings default to 5, and are generally unused.
WinCNC Users Guide Page 63
Page 64
WinCNC Controller
table=X# Y# W# H# B# Z#
Congures table dimensions for the G-Code/BMP Viewer.
X# is the low X coordinate to start viewer area. Y# is the low Y coordinate to start viewer area. W# is the width of the table area to view in viewer. H# is the height of the table area to view in viewer. B# is the border size in units (keeps table outline viewable).
Z# is the auto-zoom for the G-Code Viewer. 1 (default) - auto zoom out only. 2 - auto zoom in and out. 3 - no auto zoom.
thc=A# F# V# S# E# P# O# I# D# L# T#
Torch Height Control (THC)
A# is the axis number (x=0, y=1, z=2, etc.) to adjust for THC. F# is the feed rate or velocity, used to adjust the specied axis up/
down for THC. (Default = 100)
V# is the target voltage for the THC, must be between 20 and 250. S# is the start, or pierce delay, in seconds, used for THC when
turning the torch on.
E# is the end delay, in seconds, used for THC when turning the
torch off. P# is the percentage (1-100) of the programmed velocity that when
reached will activate the THC.
O# is the auxiliary output channel number used to turn the torch on
and off for THC.
I# is the input channel used to detect the “arc good” signal for THC. D# species the compression distance of the switch used for the
material touch-off. L# sets the distance to raise the torch when it is turned off prior to moving to the next pierce location. T# is the tolerance. Voltage changes of less than the tolerance are ignored.
SystemConguration
thcdisab=V# T#
V# is the voltage jump to trigger disable. T# is how long in seconds to disable.
WinCNC Users Guide Page 64
Page 65
WinCNC Controller
thcvel=F# V#
F# is the velocity V# is the voltage
At F# velocity ignore voltage changes less than V#. Up to three thcvel= lines can be used for different velocity settings.
vgroup=<F>### F is only used for the feedrate command group. It normally locks
the X and Y axes together. It isn’t used on any other vgroup line. #s are the desired alpha axis labels to group velocity.
Examples:
vgroup=FXY is the special feedrate command group; If the com­mand F300 is given on the command line, it forces the X and Y axes to use 300 as their feedrate.
vgroup=XY would lock the X and Y axes, so that if the command
G1 X15 F50 is entered, both axes would be set to 50. Otherwise, Y
would remain at whatever feedrate it had previously been set to.
Other than the X and Y axes, each axis should have its own
vgroup; i.e. vgroup=Z.
SystemConguration
WinCNC Users Guide Page 65
Page 66
WinCNC Controller
watch=T# D# C#
The “watch” feature in WinCNC generates a square wave using an
Auxout channel, timer chip out 0, or timer chip out 1.
T# is type (1-7). D# is delay. C# is auxout channel number.
T# can be 0 for pin 11, 1 for pin 15, or 3 for both. The feature can only be enabled if the “pumpcont” feature is not used. Output pins 11 and 15 will go high when the PC is powered
up. When the “watch” feature is enabled, one or both of these outputs will go low while WinCNC is running and high again when WinCNC exits.
Examples: watch=T1 - Timer Out 0 (Startup=Low, Exit=High) watch=T2 - Timer Out 1 (Startup=Low, Exit=High) watch=T3 - Timer Out 0 and Timer Out 1 (Startup=Low, Exit=High) watch=T4 D50 - Timer Out 0 (50ms Square Wave) watch=T5 D50 - Timer Out 1 (50ms Square Wave) watch=T6 D20 - Timer Out 0 and Timer Out 1 (20ms Square Wave) watch = T7 C1 D20 - Auxout Channel 1 (20ms Square Wave)
SystemConguration
WinCNC Users Guide Page 66
Page 67
WinCNC Controller
CNCSCRN.INI Settings
Program Icon
“Icon”, “c:\wincnc\icons\msicons.ico”
Display Sections
“Display”, “Viewer“, 370, 145, 265, 180 “Display”, “ButtonSet“, 0, 200, 680, 520 “Display”, “Command“, 0, 0, 425, 195 “Display”, “Position“, 430, 0, 235, 150 “Display”, “StoredPosition“, 5, 330 “Display”, “Main Window“, 0, 0, 680, 435 “Display”, “Main Color“, 180, 180, 180 “Display”, “Title“, “MicroSystems WinCNC Controller” “Display”, “FileStatWindow“, XStart, Ystart “Display”, “JobWindow“, 5, 350 “Display”, “Position“, 527, 0, 260, 140 (standard G92 display) “Display”, “Position“, 527, 0, 260, 140, 1 (new ABC and LCL display)
Viewer Sections
All sections except the Background and PosIndicator sections have the same syntax.
Syntax “Viewer”, “<TYPE>”, Red (0-255), Green (0-255),
0=Solid/1=Dash, Width (Pixels)
Defaults “Viewer”, “Table”, 255, 0, 0, 0, 2
“Viewer”, “Feedline”, 0, 0, 255, 0, 1 “Viewer”, “RapidLine”, 0, 0, 0, 1, 1 “Viewer”, “PreFeedLine”, 180, 180, 180, 0, 1 “Viewer”, “PreRapidLine”, 180, 180, 180, 1, 1 “Viewer”, “Grid”, 210, 210, 210, 0, 1 “Viewer”, “Local”, 0, 0, 0, 0, 1
ScreenConguration
Syntax “Viewer”, “Background”, Red (0-255), Green
(0-255), Blue (0-255)
Default “Viewer”, “Background”, 255, 255, 255
Syntax “Viewer”, “PosIndicator”, Red (0-255), Green
(0-255), Blue (0-255), 1 [Indicator Enabled]
Default “Viewer”, “PosIndicator”, 255, 0, 0, 1
WinCNC Users Guide Page 67
Page 68
WinCNC Controller
Slider Controls
Syntax: “SlideControl”, Left, Top, Width, Height, Output, Unused, Unused, Unused, Unused, ScanOn, ScanOff
The Output value can be 0 for D/A, 1 for Spindle Speed, 2 for Laser Power, 3 for Maximum Pump Output percentage, and 4 for Pump Reverse Time percentage. If using Spindle Speed alone, or Laser Power alone, the +- (plus and minus) keys are used to adjust values
up or down. If using Spindle Speed and Laser Power together, Laser
Power uses the +- (plus and minus) keys and the Spindle Speed
uses the Shift +- (Shift, plus and minus) key combinations.
“SlideControl”, 425, 5, 235, 50, 0, 0, ““, ““, ““, -1, -1
Axis Controls
Syntax: “AxisControl”, Left, Top, Width, Height, Axis, Direction, Un­used, Unused, Unused, ScanOn, ScanOff, Bitmap
Axis numbers are zero-based. The letter displayed is determined by
the axis given. You can change these letters in WINCNC.INI.
“AxisLabel”, 50, 37, 35, 13, 0, 0, ““, ““, ““, -1, -1, “x.bmp” “AxisLabel”, 90, 37, 35, 13, 1, 0, ““, ““, ““, -1, -1, “y.bmp”
ScreenConguration
JogModeButtons
Syntax: “JogMode”, Left, Top, Width, Height, Mode, Unused, Label, Unused, Unused, ScanOn, ScanOff, Bitmap
These buttons allow you to switch jog mode and transit speeds. The mode number can be one of the following:
8 = Custom (Uses the label value)
7 = Fast Transit 6 = Medium Transit 5 = Slow Transit
4 = Jog 1” 3 = Jog 0.1” 2 = Jog 0.01” 1 = Jog 0.001”
WinCNC Users Guide Page 68
Page 69
WinCNC Controller
JogModeButtonscontinued
Label sets the text you will actually see on the button when it is drawn on the screen.
“JogMode”, 0, 5, 35, 25, 7, 0, “Fast”, ““, ““, -1, -1, “fast.bmp” “JogMode”, 0, 35, 35, 25, 6, 0, “Med”, ““, ““, -1, -1, “med.bmp” “JogMode”, 0, 65, 35, 25, 5, 0, “Slow”, ““, ““, -1, -1, “slow.bmp” “JogMode”, 50, 95, 35, 25, 4, 0, “1”, ““, ““, -1, -1, “1.bmp” “JogMode”, 90, 95, 35, 25, 3, 0, “.1”, ““, ““, -1, -1, “p1.bmp” “JogMode”, 130, 95, 35, 25, 2, 0, “.01”, ““, ““, -1, -1, “p01.bmp” “JogMode”, 170, 95, 35, 25, 8, 0, “10”, ““, ““, -1, -1, “10.bmp”
Frames
Syntax: “Frame”, Left, Top, Width, Height, FrameType, Unused, Un­used, Unused, Unused, ScanOn, ScanOff, Unused, Group #
Using group frames allows the user to position buttons, labels, and indicators inside of a frame using the upper left corner of the frame as the (0, 0) location. When the frame is moved all buttons in the same group move with it. Groups can be assigned by adding a group number to the end of a “Frame” line, and then adding the group “AuxIn” line. Allows user to draw boxes around screen elements to
organize them. The appearance of the frame is determined by Fram­eType: 1 = Etched Frame.
ScreenConguration
Following are some examples of how to use the group frames. “Frame”, 210, 0, 115, 125, 1, 0, ““, ““, ““, -1, -1, ““, 1 [Group 1 Frame] “UserBtn”, 5, 5, 50, 25, 0, 0, “G90”, “G90”, ““, -1, -1, ““, 1 [Group 1] “UserBtn”, 5, 35, 50, 25, 1, 0, “G91”, “G91”, ““, -1, -1, ““, 1 [Group 1]
“UserBtn”, 5, 65, 50, 25, 2, 0, “Home”, “G28”, ““, -1, -1, ““, 1 [Group 1]
“Frame”, 325, 0, 45, 170, 1, 0, ““, ““, ““, -1, -1, ““, 2 [Group 2 Frame] “AuxIn”, 0, 5, 5, 20, 18, 1, 1, “C1”, 2 [Group 2] “AuxIn”, 0, 5, 25, 20, 18, 2, 1, “C2”, 2 [Group 2]
WinCNC Users Guide Page 69
Page 70
WinCNC Controller
UserButtons
Syntax: “Userbtn”, Left, Top, Width, Height, ButtonNum, Unused, Label, Command, Unused, ScanOn, ScanOff, Bitmap
Userbtn is used to create customized push buttons that send G­Code whenever they are pressed. The ButtonNum is used internally
to identify the button. It is recommended that you use sequential
integers starting with 0. The Label parameter determines the text that is actually printed on the button. The Command parameter is G-Code
that is executed when the button is pressed.
Userbtn”, 225, 5, 50, 25, 0, 0, “G90”, “G90”, ““, -1, -1, “g90.bmp”
AuxOutButtons
Syntax: “AuxOut”, Left, Top, Width, Height, Channel, Unused, Label, AuxOn, AuxOff, ScanOn, ScanOff, Bitmap
AuxOut creates buttons used to control auxiliary outputs. Channel
should be set to the auxiliary channel you want to control. Label de-
termines the text that is displayed on the button. AuxOn is a G-Code command that turns on your auxiliary output and may utilize macros. AuxOff is the G-Code command that turns off the auxiliary output.
ScreenConguration
Note: The 0 channel is reserved for laser enable control only! Stan- dard auxout do not use 0.
“AuxOut”, 280, 35, 50, 25, 0, 0, “Laser”, “L251”, “L250”, -1, -1, “Laser.
bmp”
“AuxOut”, 280, 65, 50, 25, 1, 0, “AuxOut 1”, “M11C1”, “M12C1”, -1,
-1, “Auxout.bmp”
WinCNC Users Guide Page 70
Page 71
WinCNC Controller
JobCommandButtons
“JobCmd”, Left, Top, Width, Height, Command, Unused, Label, Un­used, Unused, ScanOn, ScanOff
JobCmd buttons represent non G-Code commands you want to send
to WinCNC. The Command parameter can be one of the following:
1 = Abort motion 2 = Run current command 3 = Pause motion
4 = Refresh keypad le list
“JobCmd”, 0, 0, 0, 0, 1, 0, “Abort”, ““, ““, 17,0, ““ “JobCmd”, 0, 0, 0, 0, 3, 0, “Pause”, ““, ““, 13, 0, ““
ShellCommandButtons
Syntax: “ShellCmdBtn”, Left, Top, Width, Height, ButtonNum, Un­used, Label, Command, Directory, ScanOn, ScanOff, Bitmap
Shell command buttons allow you to create buttons inside the WinCNC window, which execute outside commands or programs.
Any command that can be executed from the Windows START­>RUN line can also be run from a shell command button. The fol-
lowing example shows how to create a shell command button for the calculator application that is included in all versions of Windows.
ScreenConguration
“ShellCmdBtn”, 215, 95, 50, 25, 0, 0, “Calc.”, “calc.exe”, ““, -1, -1, ““
WinCNC Users Guide Page 71
Page 72
WinCNC Controller
RepeatCommandButtons
Syntax: “RptCmd”, Left, Top, Width, Height, Command, Unused, Label, Unused, Unused, ScanOn, ScanOff
RptCmd buttons represent non G-Code commands you want to send
to WinCNC, using the serial keypad. These buttons are not shown on
the main window. RptCmd commands should be used for JobCmds
that need repeating key message. The Command parameter can be one of the following:
1 = Increase override
2 = Decrease override
3 = Increase laser power
4 = Decrease laser power
“RptCmd”, 0, 0, 0, 0, 1, 0, “Inc Override”, ““, ““, 7, 0, ““ “RptCmd”, 0, 0, 0, 0, 2, 0, “Dec Override”, ““, ““, 8, 0, ““
“RptCmd”, 0, 0, 0, 0, 3, 0, “Inc Laserp”, ““, ““, 6, 0, ““
“RptCmd”, 0, 0, 0, 0, 4, 0, “Dec Laserp”, ““, ““, 5, 0, ““
KeyPadOutButtons
Syntax: “KeyPadOut”, Left, Top, Width, Height, Command, Unused, Label, Unused, Unused, ScanOn, ScanOff
ScreenConguration
KeyPadOut buttons represent commands you want to send to the Qterm II Console. The command parameter can be one of the follow­ing: 1 = Scroll keypad le list up 2 = Scroll keypad le list down 3 = Run current keypad le 4 = Refresh keypad le list
5 = Repeats last command 6 = Shifts the keypad axis display up 7 = Shifts the keypad axis display down
“KeyPadOut”, 0, 0, 0, 0, 1, 0, “Up”, ““, ““, 2, 0, ““ “KeyPadOut”, 0, 0, 0, 0, 2, 0, “Down”, ““, ““, 3, 0, ““
WinCNC Users Guide Page 72
Page 73
WinCNC Controller
AuxInIndicators
Syntax: “AuxIn”, Type(0), Left, Top, Height, Width, Channel(1-32),
Color(1-6), Label
Auxin Indicators represent auxiliary inputs for which you want a sta­tus display. Channel corresponds to channel number in WINCNC.INI.
The following are the color schemes for the color section of the AuxIn screen line: 1 - On=Green, Off=Red 2 - On=Green, Off=Gray 3 - On=Red, Off=Gray 4 - On=Red, Off=Green 5 - On=Gray, Off=Green 6 - On=Gray, Off=Red
“AuxIn”, 0, 340, 60, 18, 1, 1, “Aux-In 1”, ““
ScreenConguration
WinCNC Users Guide Page 73
Page 74
WinCNC Controller
StateButtons
Syntax: “StateBtn”, Left, Top, Width, Height, Type, Unused, Label, Command, Unused, ScanOn, ScanOff
State buttons represent the state of a feature on or off. The buttons
will stay down when clicked until clicked again to disable the feature.
The type sets the class of the feature. The example below displays
type 8 which is for the scanner feature. If an L800 or L801 com­mand is typed into the command line, the button will change states
to represent the command. The commands are represented left to
right, with the left command, “L801” in the example to represent what happens when the feature is disabled, the state button is out in a
normal state and can be clicked to turn on the feature. The second
command “L800” is the command that is issued when the button is up and is clicked to the down state.
“StateBtn”, 335, 25, 50, 20, 8, 0, “Scanner”, “L801”, “L800”, -1, -1, ““
State button types are as follows:
0 - Reserved 1 - Reserved 2 - Reserved 3 - Reserved
4 - Velocity mode for pump On/Off
5 - Reverse mode for pump indicator. Indicates if in reverse mode. 6 - Purge mode for pump
7 - Tangential Knife mode On/Off 8 - 3D Probe Scanning On/Off
9 - Smart Bitmap engraving
10 - AutoAuxOut
ScreenConguration
WinCNC Users Guide Page 74
Page 75
WinCNC Controller
MenuButtons
Syntax: “MenuBtn”, Left, Top, Width, Height, Function#, Unused, Label, Unused, Unused, ScanOn, ScanOff, Bitmap, Group
The menu button can be used to add buttons to the main screen and serve as shortcuts to menu options. The Function# can only be
set to 1 for the Settings->Local Coordinates menu option. Function numbers for other menu options will be added in future WinCNC ver­sions.
“MenuBtn”, 5, 95, 50, 25, 1, 0, “Set Local”, ““, ““, -1, -1, ““, 1
ScreenConguration
WinCNC Users Guide Page 75
Page 76
WinCNC Controller

Command Reference

Parameters in [Brackets] are optional.
XYZWIJ . . . Axis Specication [X#] [Y#] [Z#]
Axis values are specied with a decimal point. A value with no
decimal is read as an integer value. No value is equivalent to specifying 0.
Example: XYZ is equivalent to X0Y0Z0
F Feed Velocity - F# Velocity is stored separately for Linear XY, Linear ZW. Arc’s Rapid
and Feed Velocity is stored separately for Linear Moves. Inde-
pendent velocities are stored based on the XYZW specied in the line containing the F# command. Velocity is specied in units of
measure per minute.
Example: F60 sets all axes in the federate override command
group to a Feed Velocity of 60 (see “vgroup=”). G1 X F60 sets the X axis and all other axes grouped with X to a Feed Velocity of 60. F100 X Y sets the X and Y axes to a Feed Velocity of 100. It also sets any other axes that are grouped with either axis to a Feed Ve­locity of 100. For information about axis grouping, see “vgroup=”. Feed Velocity changes affect all axes in that vgroup.
Command Reference
P Stored Positions - P# Move to the selected stored position.
H Stored Home Positions - H#
Move to the selected stored Home position
S Spindle Speed - S# Sets the spindle speed to the given value.
[ ] Comment Used to add comments to programs. A closing bracket is optional.
WinCNC Users Guide Page 76
Page 77
WinCNC Controller
{ } Braces Used to substitute axis or parameter values in a line of G-Code. In-
ternally dened variables as well as constant numbers can be used within the braces. Following is a list of internally dened variables
and what they represent.
InternallyDenedVariables
TP1 Tool number, tool changer 1.
TP2 Tool number, tool changer 2.
TN1 Tool number 1 + 10.
TN2 Tool number 2 + 20.
TS1 Tool number 1 + tool changer 1 offset.
TS2 Tool number 2 + tool changer 2 offset.
TH1 Tool height for tool changer 1.
TH2 Tool height for tool changer 2.
TM1 Height of a tool length measure switch. Set using M37.1.
TM2 Height of a second tool length measure switch. TMX X position of a tool length measure switch. TMI X position of a second tool length measure switch. (In rare
cases, all heads cannot reach the same tool measure switch.)
TMY Y position of a tool length measure switch. TMJ Y position of a second tool length measure switch. TMD Rapid move distance for auto tool measure. TMF Feed rate for auto tool measure.
LZ0 Current G92 value for axis 0. LZ1 Current G92 value for axis 1. LZ2 Current G92 value for axis 2. LZ3 Current G92 value for axis 3. LZ4 Current G92 value for axis 4. LZ5 Current G92 value for axis 5.
Command Reference
WinCNC Users Guide Page 77
Page 78
WinCNC Controller
InternallyDenedVariablescontinued
THM 1 if THC Manual Voltage Mode is enabled, 0 if disabled.
THA 1 if THC Auto Voltage Mode is enabled, 0 if disabled.
THO The specied output channel used to turn the torch on/off
for THC.
THI The specied input channel used to monitor the “arc good”
signal for THC.
THP 1 if pierce height for THC is enabled, 0 if disabled.
THC 1 if cut height for THC is enabled, 0 if disabled.
THZ The specied pierce height for THC.
THR The specied cut height for THC.
THS The specied pierce delay for THC.
THE The specied end delay for THC.
THD The specied switch compensation amount.
THL The specied torch lift amount.
THF The feed rate specied for THC.
Additional variables can be dened in the CNC.MAC le. Dened
variables and constants can be used together with simple math operators. ( * ) multiplication, ( / ) division, ( + ) addition, ( - ) subtrac­tion.
Command Reference
Example: G0Z{TH1+2} moves Z to tool height 1, plus 2 units.
NOTE: ANY use of braces requires a value or axis spec and a num­ber. The second parameter inside the braces must be a number.
WinCNC Users Guide Page 78
Page 79
WinCNC Controller
G Codes
G0 Rapid Move - G0 [X#] [Y#] [Z#] [W#]
Moves to the position specied at Rapid velocity. G0 is modal. After
a G0 is executed lines with no G-Code command are executed as a G0.
Example: X1Y1 is equivalent to G0 X1Y1 if mode is G0.
G0.1 Rapid Move with Vertical Lift - G0.1 [X#] [Y#]
First lifts all vertical heads then moves the position specied at
Rapid velocity then drops the vertical heads back to their previous positions.
G1 Feed Move - G1 [L#] [X#] [Y#] [Z#] [W#]
Moves to the position specied at Feed velocity. G1 is modal. After
a G1 is executed lines with no G-Code command are executed as a G1.
Example: X1Y1 is equivalent to G1 X1Y1 if mode is G1
L# is used to allow setting laser power in vector cutting (1-100)
G2 Clockwise Arc - G2 [L#] [X#] [Y#] [I#] [J#] [Z#] [W#]
Moves to the position specied at Feed velocity. I is the X distance
to the center point. J is the Y distance to the center point. If no XY
move is specied a full circle is cut. If no I or J is specied previous
I J values are kept. L# is used to allow setting laser power in vector cutting (1-100)
Command Reference
G3 Counter Clockwise Arc - G3 [L#] [X#] [Y#] [I#] [J#] [Z#]
[W#]
Moves to the position specied at Feed velocity. I is the X distance
to the center point. J is the Y distance to the center point. If no XY
move is specied a full circle is cut. If no I or J is specied previous
I J values are kept. L# is used to allow setting laser power in vector cutting (1-100)
WinCNC Users Guide Page 79
Page 80
WinCNC Controller
G4 Dwell - G4 X[#]
Stops movement for the time specied by the X value in seconds. There is no limit to delay time. If no time is specied then the machine will be stopped until the operator pushes ENTER. Place a
comment after the dwell to prompt the operator.
Example: G4 [Ready To Start Section 2]
WARNING:NeveruseDwelltostopthemachinewhilechang-
ing parts! Instead program a single part and use the TAB key at the Program prompt. This will repeat the last part cut.
G9 Smoothing - G9 S[#] A# Enables vector smoothing. S# is smoothing factor, 1 being no
smoothing. Highest smoothing factor is machine dependent. Step­per machines typically use S5, and servo machines typically use
S1. Too high a factor can result in missed steps or motor stalls. Smoothing can also be set in the WINCNC.INI le using G09=S#.
A# is used to change the angle used in the velocity matching
algorithms. With no angle specied, smoothing will work as it has
in previous versions. By specifying a small angle (20 degrees or less), the smoothing factor can be increased by as much as 4 times.
Command Reference
G20 Converts unit of measure to inches. G21 Converts unit of measure to centimeters. G22 Converts unit of measure to millimeters. G23 Returns to the last used unit of measure.
G28 Return to machine zero - G28 [X] [Y] [Z] [W]
Moves specied axes to Lo Limit for XY - Hi Limit for ZW. Moves specied axes to WINCNC.INI specs from limits. Sets all axis posi­tions to 0. All axes are moved if none are specied.
G31 Stop le parsing Must be used with the M28 command to measure machine position
after touching a limit switch.
Example: L91 G1 Z-10 F20 M28 G31 M37 Z1
WinCNC Users Guide Page 80
Page 81
WinCNC Controller
G40 Cutter Diameter Compensation Off
Turns off cutter diameter compensation.
G41 Cutter Diameter Compensation Left - G41 O# Compensates for differences in nominal and actual tool diameters.
Starts to the left on the rst move. O# is the diameter compensation amount on machines without a
tool changer.
G42 Cutter Diameter Compensation Right - G42 O# Compensates for differences in nominal and actual tool diameters.
Starts to the right on the rst move. O# is the diameter compensation amount on machines without a
tool changer.
G43 Tool Length Offset On - G43 [Z] [W] [U] [V] Sets tool length offsets to the values set by the last M37 command.
G43 alone turns all offsets on.
G49 Tool Length Offset Off - G49 [Z] [W] [U] [V] Cancels tool length offsets. G49 alone turns all offsets off.
Command Reference
G50 Scaling Mode Off Cancels the scaling mode.
G51 Scaling Mode On - G51 [X#] [Y#] [Z#] [I#] [J#] [K#]
[C#] [W#]
Enables the scaling factor. Scale each axis type based on the
values specied by X# Y# Z#. The object will be centered based on the I# (X center) J# (Y) K# (Z). You can center all axes using the
C# line.
G53 Rapid Move - G53 [X#] [Y#] [Z#] [W#] Moves to the position specied at rapid velocity, ignoring tool mea-
sures and local coordinates. G53 alone will lift all vertical or type 3 axes.
WinCNC Users Guide Page 81
Page 82
WinCNC Controller
G54 G54 Workspace - Rotational: G54 [X#] [Y#] Select the Z head. If G54 is commanded from G55, G56, or G57
mode, the Z head will be moved to the current XY position.
G55 G55 Workspace - Rotational: G55 [X#] [Y#] Select the W head. If G55 is commanded from G54, G56, or G57
mode, the W head will be moved to the current XY position.
G56 G56 Workspace - Rotational: G56 [X#] [Y#] Select the U head. If G56 is commanded from G54, G55, or G57
mode, the U head will be moved to the current XY position.
G57 G57 Workspace Select the V head. If G57 is commanded from G54, G55, or G56
mode, the V head will be moved to the current XY position.
G73 Chip Break Cycle - G73 [X#] [Y#] [Z#] [R#] [Q#] [F#]
Moves to XY specied at Rapid velocity. On the rst peck, moves
to R retract height at Rapid velocity, moves to Q peck depth at F feed velocity, lifts 0.05” at Rapid velocity to break the chip, moves
to next peck depth at Feed velocity. The cycle repeats until Z depth is reached. Then moves back to retract height R at Rapid velocity.
Without this cycle, some materials can produce a long “stringer” which can become a safety issue to the operator.
Command Reference
G80 End Drill Cycle
Used to disable the G81 Drill Cycle mode. Note: Switching to G0 or
G1 will also break out of the drill cycle mode.
G81 Drill Cycle - G81 [X#] [Y#] [Z#] [R#] [F#]
Moves to XY specied at Rapid velocity. Moves to R (clearing height) at Rapid velocity. Moves to Z specied at Feed velocity.
Moves back to R at Rapid velocity. F allows you to set the feed rate.
WinCNC Users Guide Page 82
Page 83
WinCNC Controller
G82 Dwell Cycle - G82 [X#] [Y#] [Z#] [R#] [P#] [F#]
Moves to XY specied at Rapid velocity. Moves to R (clearing height) specied at Rapid velocity. Moves to Z specied at Feed velocity. If P is specied, bit pauses that amount of time at the
bottom of the hole, then moves back to R at Rapid velocity. P is measured in milliseconds (thousandths of one second). F allows you to set the feed rate.
G83 Peck Drill Cycle - G83 [X#] [Y#] [Z#] [R#] [Q#] [F#]
Moves to the XY specied at Rapid velocity. On the rst peck,
moves to R retract height at Rapid velocity, moves to peck depth Q at Feed velocity, then moves back to retract height at Rapid veloc-
ity. On each subsequent peck, moves at Rapid velocity to within
0.05” of previous peck depth, then moves at Feed velocity to next
peck depth. Cycle repeats until Z depth is reached. Then moves back at Rapid velocity to retract height R. The F allows user to set
the feed rate.
G90 Absolute Mode
Can be specied with other G-Codes on any line. XYZW values
from the current line forward are read as absolute coordinates. IJ values are always relative to the current XY position, not absolute positions regardless of G90/G91 mode.
Command Reference
G91 Relative Mode
Can be specied with other G-Codes on any line. XYZW values
from the current line forward are read as relative movements from the current position.
G92 Set Local Coordinates - G92 [X#] [Y#] [Z#] [W#] Used to specify a new coordinate system for running absolute
mode programs. Use G92 alone to restore the Machine Coordi-
nates. G92 X0 Y0 Z0 W0 sets the current position to zero. G92
then restores the Machine Coordinates values.
WinCNC Users Guide Page 83
Page 84
WinCNC Controller
G92.1 Shift MZ Coordinates - G92.1 [X#] [Y#] [Z#] [W#] Similar to G92 except that the coordinate system produced shifts
Machine Zero by the amount specied. This is useful since a given
local coordinate system can be set without positioning the head to
a certain position rst. G92 X10 Y10 sets the absolute position X10
Y10 to X0 Y0 in local coordinates. G92.1 may also be used to re­store a single axis to absolute coordinates. G92.1 X0 leaves YZW local coordinates but sets X back to absolute coordinates.
G92.2 Shift LZ Coordinates - G92.2 [X#] [Y#] [Z#] [W#] Similar to G92.1 except that the coordinate system shift is added
to the current local coordinates instead of replacing them. This is useful for ‘jogging’ a local position. If the Z head has been set for running a G90 mode le but then needs to set to cut .010” deeper,
G92.2 Z-.01 will accomplish this with a single command. Can be useful as a macro.
G92.3 Stores and Restores G92 values Allows the user to switch back and forth between local and abso-
lute coordinates. Use the G92.3 command without any parameters or axis characters. If G92 positions are set on any axis then they will be stored and cleared. The next G92.3 call will restore the pre­vious G92 values even if they have been cleared by using G92.
Command Reference
WinCNC Users Guide Page 84
Page 85
WinCNC Controller
L Codes
L1 Spindle Speed Control using the SPIN.MAC macro Calls the SPIN.MAC macro for spindle speed control. SPIN.MAC
must be a le in the WinCNC directory.
L3 Set Home Position - L3 [X] [Y] [Z] [W]
Stores current position of each axis specied. Values specied are
ignored.
L4 Return to Home
Moves each axis specied to the last L3 position stored. Values specied are ignored.
L5 Set Contouring Velocity - L5 [X] [Y] [Z] Sets the contouring velocity in units per minute.
L6 Set Acceleration - L6 [X] [Y] [Z] Sets the acceleration in units per minute per second. L6 alone
restores the original values.
Command Reference
L7 Set Acceleration Percentage L7 [P#] Sets the acceleration to a percentage of the current acceleration.
P# is the percentage (1-100) to set. L7 alone restores the original.
WinCNC Users Guide Page 85
Page 86
WinCNC Controller
L8 Turns Backlash Compensation On, Restore INI values
for all axes.
L8XY Turn Backlash Compensation On, Restore INI values
for specied axes.
L8X.001 Turns Backlash Compensation On, Set new value for
specied axis.
L9 Turns Backlash Compensation Off
L10 Cut Array - L10 [R#] [C#] [X#] [Y#] [E#] Sets up array cutting. Repeats all code following until the end of
the le or another L10 is reached. Program pointer is moved back to initial L10. The head is moved to the next column or row speci­ed by XY at rapid velocity. Cycle repeats until all array points have been cut. L10 specied without RCXY values can be used
to end an array cut. Lines that follow will not be repeated. If an ‘E’
is found on the L10 command line then WinCNC will skip the nal
move back to the starting position at the end of the array. If no ‘E’ is found then WinCNC will move back to the starting position at the end of the array.
Command Reference
L11 Set Axis Mapping - L11 [X] [Y] [Z] [W] Allows re-mapping of axis inputs. Specify the axes that should
receive the input from XYZW in that order. Specify L11 alone to return to normal parsing.
Example: L11 XYWZ swaps the W and Z axes, L11 XYZW moves
Z and W together.
L12 Set Axis Mapping - L12 [X] [Y] [Z] [W] Allows re-mapping of axis inputs. Specify the axes that should
receive the input from ZW in that order. This command works like
L11 except that the XY inputs are skipped. Specify L12 alone to return to normal parsing.
Example: L12 WZ swaps the W and Z axis, L12 ZZ moves Z and
W together.
WinCNC Users Guide Page 86
Page 87
WinCNC Controller
L13 Set Axis Mapping - L13 [X] [Y] [Z] [W]
Allows re-mapping of axis on a pulse basis. This command works
like L11. Specify L13 alone to return to normal mapping.
L20 Enable Soft Limits - L20 [X1, X2] Enable Soft Limit and Boundary Checking: L20 X1 enables Bound-
aries only. L20 X2 enables Soft Limits only. L20 alone enables both.
L21 Disable Soft Limits
Disable Soft Limit and Boundary Checking Soft Limits and Bound­aries are used to dene a cutting area which is checked during parsing of a le or command. This effectively keeps the machine from moving out of a dened area. L21 disables Soft Limit and
Boundary checking.
L22 Set Lo Boundaries - L22 [X#] [Y#] [Z#] [W#]
Set Lo Boundaries to values specied. If no values are given then
all Lo Boundaries are set to WINCNC.INI defaults.
Command Reference
L22.1 Restore Lo Boundaries - L22.1 [XYZW]
Restores default Lo Boundaries to the specied axes.
L23 Set Hi Boundaries - L23 [X#] [Y#] [Z#] [W#]
Set Hi Boundaries to values specied. If no values are given then all Hi Boundaries are set to WINCNC.INI defaults.
L23.1 Restore Hi Boundaries - L23.1 [XYZW]
Restores default Hi boundaries to the specied axes.
WinCNC Users Guide Page 87
Page 88
WinCNC Controller
L28 Set Position - L28 [X#] [Y#] [Z#] [W#]
Sets Machine Coordinates. Machine Coordinates specify the xed machine zero point for your machine. L28 is normally used only to
write a custom homing program. L28 does not move the machine,
but sets the current position to the values specied. Use G92 to
set a local coordinate system for running absolute mode programs from any table position.
L29 Clear Home Flags - L29 [X] [Y] [Z]
Clears all require home ags. Axes can be used with the command to clear require home ags only on the specied axes.
L29.1 Ignore Home Flags Ignores require home ags for all axes during execution of the cur-
rently running le.
L30 Knife Mode On
Enables support for the Knife Mode.
L31 Knife Mode Off
Disables support for the Knife Mode.
Command Reference
L32 Saw Mode On Enables support for the Saw Mode.
L33 Saw Mode Off
Disables support for the Saw Mode.
L34 AutoAuxOut Enable - L34 [D#] Enables an auxiliary output that will turn on during G1/G2/G3
moves, and will turn off for all other moves. L34 D# sets the dwell time in seconds used when the channel is set to on and L35 D#
sets the dwell time in seconds when the channel is set to off. When
the ‘D’ parameter is used with the L34 command the “AutoAuxOut”
mode does not change. L34 parameters are set in the WINCNC.
INI le by the “autoaux=” line.
WinCNC Users Guide Page 88
Page 89
WinCNC Controller
L35 AutoAuxOut Disable - L35 [D#] Disables the auxiliary output that is turned on by the L34 com-
mand. L35 D# sets the dwell time in seconds when the channel is set to off. When the ‘D’ parameter is used with the L35 command the “AutoAuxOut” mode does not change.
L36 Torch Height Control On L36.1 Auto Voltage Set Mode On L36.2 Reset Auto Voltage Set Status L37 Torch Height Control Off L37.1 Auto Voltage Set Mode Off L38 Torch On L39 Torch Off
L40 Feed Rate Override - L40 [P#] Allows user to set the feed rate override by command. P must be
within the bounds specied in the INI le. If not, the command is ignored. The L40 command without a P# resets the feed rate to the
default.
Command Reference
L41 Shell Command - L41 C:\Path\Program.exe Allows the user to run an executable program from within WinCNC.
NOTE: There is no error reporting for this command. If the path or lename are incorrect the command will fail without aborting.
L51 Set D/A - L51 [V#] [P#] [S#]
Sets the output voltage for DA. The V parameter is used to set the DA by voltage, the P to set the DA by a Percentage, and the S is used to set the DA by spindle speed. ONLY 1 PARAMETER CAN BE USED.
L53 Set Vertical Head Height Raises all vertical heads as high as possible while keeping the bits
at equal height.
WinCNC Users Guide Page 89
Page 90
WinCNC Controller
L55 Pump Velocity Mode On Enables velocity matched pump control.
L56 Pump Purge Mode On Sets pump to purge mode.
L57 Pump Off Stops the pump.
L58 Pump Off with Auto Reverse Stops the pump, using auto reverse.
L59 Set Up Pump Max - L59 [M#]
Sets the pump max to the specied M parameter.
L60 Turn Input Off - L60 C#
Turn specied virtual input off, # can be 1-64.
L61 Turn Input On - L61 C#
Turn specied virtual input on, # can be 1-64.
Command Reference
L70 Re-Enter Last Command
When L70 is used in a le, the last used command will automati­cally be re-entered on the command line after le completion.
L82 Measures the Surface - L82 [Z#] L82 Z# measures the surface with the probe and sets the mea-
sured point to the Z value given. L82 alone will set the measured point to Z0.
WinCNC Users Guide Page 90
Page 91
WinCNC Controller
L82.1 Sets the Surface for Probe Digitization Sets a G92 for vertical axis based on the L82.3 calibration.
L82.2 Moves the Surface for Probe Digitization Adjusts G92 positions set by the last L82.1 based on a new mea-
surement.
L82.3 Calibrate Digitizing Probe Calibrates, or stores, the distance from the probe contact point to
the table surface.
L83 Measures Z Depth - L83 X[#] Y[#]
L83 command will do a one-shot Z probe at the specied location, and record the XYZ position values in a comma delimited text le
named SCAN.CSV. Where X# and Y# specify the (X,Y) coordi­nates to move to before doing the depth probe.
L90 One Time Absolute L90 is used in a command to specify G90 coordinates on one line
without changing program mode to G90.
Command Reference
L91 One Time Relative L91 is used in a command to specify G91 coordinates on one line
without changing program to G91.
WinCNC Users Guide Page 91
Page 92
WinCNC Controller
L92 Cancel G92 Restore
The current G92 Local Coordinate system is saved every time a
program is started or a subprogram is called using M98. When the
program is nished the original G92 system is restored. This is not desirable if the program is being used to preset a system congu-
ration for other programs. L92 causes the normal G92 coordinate restore to be skipped after the program containing the L92 is
nished.
L110 Tool Change - L110 [T#] Sets current tool number for machines with an automatic tool
changer. The tool number is available as {TP1} in subsequent
commands.
L111 Test Tool Number - L111 [T#]
Run next line if tool number is equal to T#.
L111.1 Test Tool Number with Dual Tool Changers - L111.1
[T#]
Run next line if both tool numbers are equal to T#.
Command Reference
L112 Test Tool Number - L112 [T#]
Skip next line if tool number is equal to T#.
L113 Spindle Speed Conditions - L113 [L#] [H#] [V#] Skip the next line if the V# is not greater than the L# and less than
the H#.
L120 Tool Change - L120 [T#] Sets current tool number for machines with an automatic tool
changer. The tool number is available as {TP2} in subsequent
commands.
L201 Set 201 Signal Command - L201 FileName T# C# S# Sets the command used with the 201 signal type.
WinCNC Users Guide Page 92
Page 93
WinCNC Controller
L202 Set 202 Signal Command - L202 [Command] Sets the command used with the 202 signal type.
L204 Activate Signals
L204 C# activates signals and enables the specied channel.
L204 activates all signals and enables
L205 Deactivate signals
L205 C# deactivates signals and enables the specied channel.
L205 deactivates all signals and enables.
L210 Select Alternate Low Limits - L210 [X] [Y] [Z] [W] Selects axis to use alternate low limits.
L210.1 Select Alternate Low Limit Pin - L210.1 [X] [Y] [C#]
Selects alternate low limit pin from the specied C# channel. If no channel is specied, the original settings are restored.
L211 Select Alternate High Limits - L211 [X] [Y] [Z] [W] Selects axis to use alternate high limits.
Command Reference
L211.1 Select Alternate High Limit Pin - L211.1 [X] [Y] [C#]
Selects alternate high limit pin from the specied C# channel. If no channel is specied, the original settings are restored.
L212 Select Primary Limits Selects the primary limits for all axes.
L213 Dual Axis, Select Main - L213 [X] [Y] [Z] [W] Selects the main motor on a dual motor axis.
WinCNC Users Guide Page 93
Page 94
WinCNC Controller
L214 Dual Axis, Select Secondary - L214 [X] [Y] [Z] [W] Selects the secondary motor on a dual motor axis.
L215 Dual Axis, Select Both Axes - L215 [X] [Y] [Z] [W] Selects both motors on a dual motor axis.
L249 Laser Power Setting - L249 S# P# D# O# M# I# Using the L249 command allows you to specify the laser power.
Example: L249 P50 (sets laser power to 50)
S# - 0 or 1 sets smart engrave off/on. P# - sets the laser pulse width in percentage (1-100).
D# - sets the laser pulse duty cycle (1-100). O# - sets the bitmap engraving offset.
M# - sets the bitmap engraving margin. I# - reverses color polarity.
L250 Vector Laser Off
Disables vector laser cutting.
L251 Vector Laser On - L251 P# D# L# Enables vector laser cutting.
P# - laser power (1-100).
D# - sets the distance for the distance based vector laser ring.
L# - sets the distance for the off signal when perforating.
Command Reference
L251.1 Laser Dwell - L251.1 D#
D# - time in seconds for dwell.
L252 Bitmap Engraving L252.1 Stores rotation for future use.
L253 Bitmap Engraving rotated 90 degrees clockwise. L253.1 Stores rotation for future use.
WinCNC Users Guide Page 94
Page 95
WinCNC Controller
L254 Bitmap Engraving rotated 180 degrees clockwise. L254.1 Stores rotation for future use.
L255 Bitmap Engraving rotated 270 degrees clockwise. L255.1 Stores rotation for future use.
L256 Offset for bitmap engraving row alignment
Offset on positive motions to compensate for laser ring delays to
line up bitmap rows during dual motion engraving. R# sets the radius used for rotary engraving in the current unit of measure.
L300 Lock Axis - L300 [XYZW]
Locks specied axis motion. Any motion commanded to a locked
axis will be ignored.
L301 Unlock Axis - L301 [XYZW]
Unlocks specied axis motion.
Command Reference
L400 Create Home File
Creates a home le at the machine’s current position.
L401 Recall Positions Moves all axes to the positions where they were at previous to the
last le ran.
L500 Store Absolute Positions - L500 [X, Y, Z...] [P H T] L#
C# N”Name”
[X, Y, Z...] - axes to set positions for if none specied then all axes
positions are stored. [P H T] - type of position (P)osition, (H)ome Position, (T)ool Posi­tion. Can only use one value. L# - 0 no vertical head lift, 1 include head lift. C# - Clearance for vertical heads if L1.
N”Name” - Name for specied position. < 16 characters long.
WinCNC Users Guide Page 95
Page 96
WinCNC Controller
L500.2 - L500.2 T# N# A# C# O# H# M#
T# species the tool number. N# species the nominal diameter for the tool. A# species the actual diameter for the tool. C# species the diameter compensation for the tool. O# species the height offset for the tool. H# species the tool height. M# species the maximum current allowed for the tool. This command sets up a tool library instead of using the dialog
boxes.
L501 Store Local Positions - L501 [X, Y, Z...] [P H T] L# C#
N”Name”
[X, Y, Z...] - axes to set positions for if none specied then all axes
positions are stored. [P H T] - type of position (P)osition, (H)ome Position, (T)ool Posi­tion. Can only use one value.
L# - 0 no vertical head lift, 1 include head lift. Default L1.
C# - Clearance for vertical heads if L1.
N”Name” - Name for specied position. < 16 characters long.
Command Reference
L600 Disable Mapping Adjustments
Disable mapping adjustment for the specied axis. If no axis is specied mapping adjustments for all axes are disabled.
L601 Enable Mapping Adjustments
Enable mapping adjustment for the specied axis. If no axis is specied mapping adjustments for all axes are enabled.
L602 Start Mapping Setup
Starts mapping setup for specied axis. First axis species the axis to map and the second axis species the axis to adjust. The axis
map will automatically move to the start map position. No axis spec stops the mapping setup.
WinCNC Users Guide Page 96
Page 97
WinCNC Controller
L603 Store Current Adjustment and Move - L603 {NPSE}
Stores the current adjustment and moves the map axis to the specied map increment. N is next, P is previous, S is start, and E is end. The default move is to the next map increment position.
L604 Move Map Axis By Increment - L604 {NPSE}
Moves the map axis to the specied map increment. N is next, P is previous, S is start, and E is end. The default move is to the next
map increment position.
L605 Store Current Adjustment
Stores the current adjustment.
L800 Disable Probe
Disables the probe while transiting.
L801 Enable Probe Enables the probe while transiting.
Command Reference
L802 Scan Given Rectangle - L802 [X# Y# I#] Scans a given rectangle XY with an increment of I in and up/down,
and side-to-side style scan.
L803 Scan Given Rectangle - L803 [X# Y# I#] Scans a given rectangle XY with an increment of I in an up/down
style scan.
WinCNC Users Guide Page 97
Page 98
WinCNC Controller
L810 Scan Slice (Drop-off Detection) - L810 FILENAME.
EXT [X#] [Y#] I# K#
Digitizes a slice (line), either in X direction, or Y direction and saves the points to a text le. If a drop-off is encountered, or dis-
tance stated in X or Y is reached, the slice is saved and the scan is ended. Only one axis can be scanned at a time: X or Y. Uses up/down, and side-to-side probe type.
FILENAME.EXT - replace with your lename. Donotsurround withquotationmarks.
X# - the actual X axis distance that you want the probe to travel,
looking for an edge. If it nds one, the le is saved and the scan
ends. Y# - works like X#, except on the Y axis.
I# - the maximum increment for the horizontal axis. K# - the vertical increment (how high the probe raises).
L820 Disable axisadj
Disables automatic axis position adjustment.
L821 Enable axisadj
Enables automatic axis position adjustment.
Command Reference
L910 Enable G-Code Line Display
Enabling G-Code display when running large G-Code les can
increase CPU and memory usage resulting in worse overall com­puter system performance.
L911 Disable G-Code Line Display Disabling G-Code display when running large G-Code les can re-
duce CPU and memory usage resulting in better overall computer system performance.
WinCNC Users Guide Page 98
Page 99
WinCNC Controller
M Codes
M11 Auxiliary Output On - M11 [C#]
Controls auxiliary outputs. Channel specied by # is turned on.
Port and bit addresses are set up in WINCNC.INI
Note:ForusewithaDrillBank
A d# can be added to the M11 command for use with a drill bank.
The d# is the binary number of channels up to the n# specied in
the drill bank line to turn on. Example: M11D7 would turn on the rst 3 channels of a ten chan­nel drill bank.
M12 Auxiliary Output Off - M12 [C#]
Controls auxiliary outputs. Channel specied by # is turned off.
Port and bit addresses are set up in WINCNC.INI.
M13 Auxiliary Output On - M13 [C#] Same as M11, except the output is turned on without pausing mo-
tion.
M14 Auxiliary Output Off - M14 [C#] Same as M12, except the output is turned off without pausing mo-
tion.
Command Reference
M17 Pause Until Input On - M17 [C#]
Wait for channel specied by # to come on. Port and bit addresses
are set up in WINCNC.INI.
M17.1 Run Next if Input On - M17.1 D# [C#]
Run next command only if channel specied by # is on. Port and
bit addresses are set up in WINCNC.INI.
D# can be 0 or 1. D0 sets the simulate logic to false. D1 sets the
simulate logic to true.
WinCNC Users Guide Page 99
Page 100
WinCNC Controller
M17.2 Run Next if AuxOut is On - M17.2 D# [C#]
Run the next command only if channel specied by the # is on.
Port and bit addresses are set up in WINCNC.INI.
D# can be 0 or 1. D0 sets the simulate logic to false. D1 sets the
simulate logic to true.
M17.3 Run Next if Input On - M17.3 C#
Run the next line if the specied input is on, # can be 1-64.
M17.4 M17.4 C# C# can be 0 or 1. 0 will run the next line, 1 will skip the next line.
M18 Pause Until Input Off - M18 [C#]
Wait for channel specied by # to go off. Port and bit addresses
are set up in WINCNC.INI.
M18.1 Run Next if Input Off - M18.1 D# [C#]
Run next command only if channel specied by # is off. Port and
bit addresses are set up in WINCNC.INI
D# can be 0 or 1. D0 sets the simulate logic to false. D1 sets the
simulate logic to true.
Command Reference
M18.2 M18.2 C# C# is an “auxiliary output” channel, will run the next line if the
specied output channel is off and skip the next line if the channel
is on.
M18.3 M18.3 C#
C# is a “virtual input” channel, will run the next line if the specied
output channel is off and skip the next line if the channel is on.
M18.4 M18.4 C# C# can be 0 or 1. 0 will run the next line, 1 will skip the next line.
WinCNC Users Guide Page 100
Loading...