Skip to content
MachMotion
    Download
    Full manualMachElite - PDF
    Profile not set

    Advanced Configuration

    Some of this documentation applies to all machine types, and some only to certain machines. Much of MachPro is already configured with sensible defaults.

    ![](/images/uploads/advanced-configuration/gallery1.png)

    Motor Diagram
    Motor Diagram
    1. Open the tool table: View → Tool Tables.
    2. Open the editor: Edit → Table Fields.
    3. On the Optional Field tab, add XOffset and YOffset (select, then Move Pri), and click OK.
    4. Choose a master tool, measure each other tool’s X/Y distance from it, and enter the offsets.
    testing 12
    1. 1Testing 1
    View -> Tool Tables
    Spindle rotation option per tool (e.g. No Rotation for a probe) 1
    Spindle rotation option per tool (e.g. No Rotation for a probe)
    Shared: Tool Changer Setup

    The MachMotion plugin supports wine-rack and carousel tool changers. Both combine user-defined rack/pocket positions with a pre-programmed change sequence and built-in safety checks. The changer works with the rack parallel to X or Y.

    Determine which axis the rack is parallel to
    Determine which axis the rack is parallel to

    Configure the correct orientation

    1. Determine which axis the rack/carousel is parallel to (X or Y).
    2. Open C:\Mach\Profiles\Router\ToolTables.
    3. Keep the file that matches your orientation; archive the others (optional, keeps things clean).

    Set tool pocket positions

    1. Carefully position a tool in each pocket holder.
    2. Record the machine-coordinate (G53) position for that pocket.
    3. Enter each recorded value into the corresponding tool-pocket field.
    Tool pocket positions (set each individually)
    Tool pocket positions (set each individually)

    After entering positions you must save the document so the CSV conversion macro runs; otherwise the changed positions have no effect.

    Enable the tool changer: Predefined Filters -> Tool Change
    Enable the tool changer: Predefined Filters -> Tool Change
    Drawbar signal mapping example
    Drawbar signal mapping example
    Test
    Test
    Shared: Global Monitoring System (GMS)

    The Global Monitoring System sets up user alerts/messages and controls I/O based on conditions. The machine watches for specified conditions and takes action when they are met. Open it via Configuration -> Plugins -> Global Monitoring System.

    Global Monitoring System configuration
    Global Monitoring System configuration

    Monitor classes

    The system can initiate four classes of action:

    • Alarm — emergency conditions; can disable the machine or stop motion; requires operator intervention.
    • Warning — non-critical issues; prevents Cycle Start; alerts the operator.
    • Notice — informational only; takes no automatic action.
    • Process — background control actions; does not alert or block Cycle Start.

    Conditions

    Conditions are organized into sets (AND / OR / NOT) and items. Most monitors only need a single AND set. Add an item by choosing a condition type, filling in the details, and pressing Add Condition.

    Monitor conditions editor
    Monitor conditions editor

    Used when a tool doesn’t fit the magazine and must be manually loaded/unloaded. Add a non-pocketed tool range in ToolInfo.lua:

    {["Name"] = "Spindle (1) Manual", ["Start"] = 100, ["End"] = 199, ["UseToolPocket"] = 0},

    Now M6 T100-M6 T199 trigger manual changes.

    Operator dialog: manually load the tool into the spindle
    Operator dialog: manually load the tool into the spindle

    The reference below is structured data, not a hand-typed table: filter by text, and set your Machine Profile machine type to see only the settings relevant to your machine (e.g. Plasma or Waterjet rows).

    CategorySettingConstraintsDefaultUnitsMachine types
    Preferences
    Backup
    Automatic Backup Interval min:0, max:365 10 Days all
    Preferences
    Dialogs
    Enable Confirmation Dialogs Yes/No Yes -- all
    Softlimits
    Startup
    Auto Enable SoftLimits No, Homing, Startup Homing -- all
    Homing
    Home All
    Home All Button Options Home Selected Instance, Home All Instances Home All Instances -- all
    Overrides
    Feedrate
    Feedrate Override Max Percent min:0, max:300 300 Percent all
    Measuring and Offsets
    Auto Tool Setter
    Tool Setter Approach Speed min:0, max:100000 100 Units/Min mill, router
    Spindle
    Warm Up
    Spindle Warm-Up Enabled -- No -- mill, router, lathe
    Tool Changer
    Settings
    Tool Change Method Ignore, Manual, Auto Manual -- mill, router
    Shape Cutting
    Plasma
    Plasma Error Input -- IO$HiCON$P11 Input 1 -- plasma
    Shape Cutting
    Oxy Fuel
    Oxy Fuel Heads 1,2,3,4 4 -- plasma
    Height Controllers
    Machine Options
    Height Controller Device Name Not Used, SoftHC, RollerHead, ArcPro, NeuronTHC Not Used -- plasma
    Jet
    General
    Jets Enabled min:1, max:8 1 -- waterjet
    Jet
    Pump
    Jet Pump Off On End Of Program -- Yes -- waterjet
    Drill Bank
    Settings
    Drill Bank Number of Drill Banks Enabled min:0, max:4 0 -- router

    The GCAdapter rewrites G-code into Mach-compatible G-code. Block functions:

    has(passed_word, close_to, thresh)

    Looks for passed_word in the block; returns true if found. Accepts a full word (X32) or a code (G).

    • block:has("G53")
    • block:has("M06", "true", .0006)
    ModWord(self, old_word, new_word)

    Replaces old_word with new_word in the current block. Word or code (both must match kind).

    • block:ModWord("M02","M30")
    • block:ModWord("G43.4","G43")
    AddWord(self, new_word)

    Adds new_word onto the end of the current block.

    • block:AddWord("M06")
    InsertBlockAfter(new_block)

    Inserts a new block of G-code on the line after the current block.

    • block:InsertBlockAfter("G00 X2 Y6.77 Z0")
    CommentBlock(self, str)

    Comments out the entire block that exactly matches str (when the match is not already a comment).

    • block:CommentBlock("M04")