MAP Opening Screen

Our Motion Application Program or "MAP" software is an effective solution for the control of most processes or machines. The software runs on any of TRM's control systems and is capable of running any task from a simple conveyor control to a furnace or to a multi-axis machine.

MAP has a library of many commands that can be selected from a menu list; these include reading Inputs, setting Outputs, mathematical calculations, motion commands, calling subroutines and external files, working with user defined or command defined values stored in upto 256 registers and reading/sending serial data to name a few operations. G-Code functionality is included as standard now in the CNC version. We have allowed the user the ability to combine MAP commands with G-code which increases the flexibility of the control system. Pre-setting, initialisation and tool changing can all be setup using MAP commands and the profile completed by downloading the G-code.

Please also see our case studies section for examples of machines using this software.


  • Easy to use
  • Rapid program development
  • Save money in software development
  • Easy to adapt to different machines
  • User friendly interface
  • Simplified instruction set
  • Memory for many different programs up 1000 lines each
  • Control of DC / AC servo and Stepper motors

Motion control:

  • Linear interpolation
  • Circular interpolation
  • Backlash compensation
  • G-code interpreter
  • Home routines
  • Interrupts
  • Flexible I/O programming
  • Commands added regularly
MAP Memory Menu Screen   MAP Edit/Create Screen   MAP Calibration Menu Screen

 In the memory menu the user can save, delete and open MAP programs.


Edit screen with a short program example. User can make complex programs with over 95 MAP instructions available.


In calibration menu the user sets parameters for each axis, these are the speed of the motors used, encoder, maximum limits etc.


G Code screen


G-Code is a data format used worldwide in the production of machined parts. A file is normally exported from a CAD system where a part has been designed however, it is also possible for the experienced operator to write a program, however this can be tedious as there are many commands that can be used.

Having the ability to accept G-code allows the user to take data from CAD files, which, once downloaded to the controller, can then just be run. G-code is mainly used for CNC machines like routers, plasma cutters, lathes, boring machines, wood working machines and milling machines to name a few.

If you are unfamiliar with G-code a good source of information on G-Code commands can be found here.

Supported Commands

Following is a list of commands included in MAP and a list of supported G-code commands. As new versions of MAP are released, this list is subject to change, please check with us to ensure you have the most upto date list available.

If you have a request for a special command or a macro combining commands please let us know and we would be happy to help.

MAP Commands

  • Motion Control
    • Arc
    • Do Move
    • Helix
    • Home
    • Index
    • Move
    • Origin
    • Rapid Index
    • Rapid Move
    • Revolve
    • Speed
    • Stop Axis
    • Torque Lim
  • Machine Specific
    • Air Op Drill
    • Coolant
    • Drilling
    • Feed Rate
    • G-Code
    • Park & Power Down
    • Planes
    • Precision
    • Spindle
    • Tool
  • Inputs
    • ADC (Analogue In)
    • Import
    • Input
    • Keypress
    • Question
    • Yes/No_Box
  • Outputs
    • Analogue Out
    • Change Op
    • Export
    • Led
    • Message
    • Output
    • Print Register
    • PWM
    • Write
  • Program Flow
    • Begin
    • Branch not true
    • Call MAP Program
    • Call Subroutine
    • Dec Jump
    • Do
    • End
    • Exit
    • If
    • Jump
    • Main_Section
    • Repeat_If_True
    • While


  • Maths
    • Average
    • Cosine
    • Find Maximum
    • Find Minimum
    • Logic Operators
    • Math
    • Raise to the Power
    • Sine
    • Square Root
    • Sum
    • Tangent
  • Timers
    • Halt
    • Timer
    • Wait
  • Registers & Data
    • Copy Child Registers
    • Load Register
    • Load Counter
    • Load File Data
    • Load Multiple
    • Load Parameter File
    • Load System Vars
    • Parse File
    • Register Type
    • Rewind File Pointer
  • Canvas Drawing
    • Draw Canvas
    • Clear Canvas
    • Canvas Draw Pointer
    • Filled Circle
    • Draw Rectangle
    • Set Colours
    • Draw Line
    • Draw JPEG Image
    • JPEG Image Size
    • Work Piece Size
  • Data Recording
    • Data Logger Task
    • Start Data Recording
    • Stop Data Recording
  • Memory Allocation
    • Allocate Memory
    • Close File
    • Copy From Memory
    • Copy To Memory
    • Free Memory
    • Open Binary File
    • Write Binary File


G-Code Commands

  • G0 Rapid position
  • G1 Linear interpolation
  • G2 Clockwise circular interpolation
  • G3 Counter clockwise circular interpolation
  • G4 Dwell
  • G7 X Diameter mode (lathe)
  • G8 X Radius mode (lathe)
  • G17 Set planes XY
  • G18 Set planes XZ
  • G19 Set planes YZ
  • G20 Set to Inches
  • G21 Set to MM
  • G40 Cancel cutter Radius compensation (default)
  • G90 Absolute distance mode
  • G91 Incremental distance mode
  • G90_1 Arc centres I,J,K are absolute
  • G91_1 Arc centres I,J,K are relative to the arc's starting point
  • G96 Spindle constant surface speed mode
  • G97 Spindle per revolution mode


  • M0 Pause Program
  • M1 Optional Pause (unimplemented)
  • M2 End Program
  • M3 Spindle on clockwise
  • M4 Spindle on counter clockwise
  • M5 Stop Spindle
  • M6 Auto tool change
  • M7 Turn mist on
  • M8 Turn flood on
  • M9 Turn all coolant off
  • M30 End of G-code

  • Pnn Dwell time
  • Snn Spindle speed
  • Tnn Tool select
  • Xnn Set X position
  • Ynn Set Y position
  • Znn Set Z position
  • I Dimension used as x offset in arcs and in canned cycles
  • J Dimension used as y offset in arcs and in canned cycles
  • F Feed Rate
  • R Radius
  • N Line number

CAD Programs

There are many different CAD programs available to use that will export G-Code data suitable for use with MAP, the following are links to a few of these sites:

GSimple gCncCam SheetCam


Below is an example G-Code program that is a simple milling and drilling job. This cuts out a rectangle in a flat sheet and then drills 12 holes around the perimiter of the cutout.:

N0010 (Filename: Plate.cnc)
N0020 (Post processor: TRM 2D.scpost)
N0030 (Date: xxxxxx)
N0040 G21 (Units: Metric)
N0050 G40 G90 G91.1
N0060 F1
N0070 (Part: Plate)
N0080 (Operation: Inside Offset, 1, T7: Mill/router, 4.5 mm diameter, 3 mm Deep)
N0090 M00 (Set Z to )
N0100 G00 X0.0000 Y0.0000
N0110 M00 (Set Z to 0.0000)
N0120 (Mill/router, 4.5 mm diameter)
N0130 T7 M06  G43 H7
N0140 M00 (Set Z to 4.0000)
N0150 G00
N0160 M08 (Flood coolant on)
N0170 M03 S2000
N0180 X47.2500 Y137.7921
N0190 M00 (Set Z to -1.5000)
N0200 G01 F200
N0210 Y327.7500 F100
N0220 X542.7500
N0230 Y87.2500
N0240 X47.2500
N0250 Y137.7921
N0260 M00 (Set Z to -3.0000)
N0270 F200
N0280 Y327.7500 F100
N0290 X542.7500
N0300 Y87.2500
N0310 X47.2500
N0320 Y137.7921
N0330 (Operation: Drill, 0, T5: Mill/router, 4 mm diameter, 3 mm Deep)
N0340 M00 (Set Z to 4.0000)
N0350 G00
N0360 M09 (Coolant off)
N0370 M05
N0380 X0.0000 Y0.0000
N0390 M00 (Set Z to 0.0000)
N0400 (Mill/router, 4 mm diameter)
N0410 T5 M06  G43 H5
N0420 M00 (Set Z to 4.0000)
N0430 G00
N0440 M08 (Flood coolant on)
N0450 M03 S10000
N0460 X33.0000 Y127.5000
N0470 M00 (Set Z to -3.0000)
N0480 G01 F200
N0490 M00 (Set Z to 4.0000)
N0500 G00
N0510 X115.0000 Y73.0000
N0520 M00 (Set Z to -3.0000)
N0530 G01
N0540 M00 (Set Z to 4.0000)
N0550 G00
N0560 X245.0000
N0570 M00 (Set Z to -3.0000)
N0580 G01
N0590 M00 (Set Z to 4.0000)
N0600 G00
N0610 X345.0000
N0620 M00 (Set Z to -3.0000)
N0630 G01
N0640 M00 (Set Z to 4.0000)
N0650 G00
N0660 X475.0000
N0670 M00 (Set Z to -3.0000)
N0680 G01
N0690 M00 (Set Z to 4.0000)
N0700 G00
N0710 X557.0000 Y127.5000
N0720 M00 (Set Z to -3.0000)
N0730 G01
N0740 M00 (Set Z to 4.0000)
N0750 G00
N0760 Y287.5000
N0770 M00 (Set Z to -3.0000)
N0780 G01
N0790 M00 (Set Z to 4.0000)
N0800 G00
N0810 X475.0000 Y342.0000
N0820 M00 (Set Z to -3.0000)
N0830 G01
N0840 M00 (Set Z to 4.0000)
N0850 G00
N0860 X345.0000
N0870 M00 (Set Z to -3.0000)
N0880 G01
N0890 M00 (Set Z to 4.0000)
N0900 G00
N0910 X245.0000
N0920 M00 (Set Z to -3.0000)
N0930 G01
N0940 M00 (Set Z to 4.0000)
N0950 G00
N0960 X115.0000
N0970 M00 (Set Z to -3.0000)
N0980 G01
N0990 M00 (Set Z to 4.0000)
N1000 G00
N1010 X33.0000 Y287.5000
N1020 M00 (Set Z to -3.0000)
N1030 G01
N1040 M00 (Set Z to 4.0000)
N1050 G00
N1060 X0.0000 Y0.0000
N1070 M00 (Set Z to 0.0000)
N1080 M09 (Coolant off)
N1090 M05
N1100 M05 M30

Go to top