System
Note
All core system variables are listed in this section. Therefore, this section is highly sensitive and illogical changes may break the program or damage the machine’s mechanics.
System \ AlarmEnabled
This variable determines whether AlarmEnabled is set to True or False.
- If False, AlarmEnabled is completely disabled and ignored.
- If True, AlarmEnabled is enabled. If the motors’ alarm wiring is correct (see Section 2), alarms will display when a motor fault occurs. If wiring is missing or incorrect, alarms will still trigger.
Notes:
- When an axis error occurs, all axes stop.
- Because stepper motors have no alarm output, set AlarmEnabled to False.
System \ Connection
This variable sets the controller’s connection type to the PC, either LAN or USB, depending on the controller model.
System \ EmergencyType
This variable determines what happens when the Emergency Stop button is pressed.
Emergency Type | Description |
---|---|
None | Only the machine stops, similar to a Pause command, but the program cannot be resumed. |
ClearOutPorts | On emergency stop, stops axes and clears all digital output ports. |
ClearAnalog | On emergency stop, stops axes and clears all analog outputs. |
DisableAxes | On emergency stop, stops and disables axes, releasing the motors. |
ResetToolPath | On emergency stop, stops axes and resets the ToolPath to the program’s start coordinates. |
ClearOutPorts+ClearAnalog | On emergency stop, stops axes and clears both digital and analog outputs. |
All | On emergency stop, stops and disables axes, clears all outputs, and resets the ToolPath to the start coordinates. |
System \ HomeNecessary
This variable sets how critical it is that the machine has a Home (reference) position.
Value | Description |
---|---|
0 | Home may be missing; axes can still move manually and programs can run. |
1 | If Home is missing, manual axis movement is allowed but programs cannot run. |
2 | If Home is missing, neither manual movement nor program execution is allowed. Home must be established first. |
System \ HomeOrder
This variable defines the order in which axes perform their Home sequence.
For example, Z,XY
means Z homes first, then X and Y home together.
- Axes separated by commas Home in sequence (e.g.
Z,X,Y
). - Without commas, axes Home simultaneously (e.g.
ZXY
).
System \ PulseDivider
This variable divides the controller’s output pulse rate to match the motors’ requirements.
For example, if the controller’s pulse rate is 500 kHz but a servo needs 200 kHz, set Divider = 4 to yield 125 kHz output.
System \ Analogs \ Analog[n] \ Enabled
This variable enables or disables each analog output pin (Analog1, Analog2).
- True: Port is active and follows its Link.
- False: Port is disabled and ignored.
System \ Analogs \ Analog[n] \ Link
Link
- Value ( Numeric value links )
- Analog ( Analog signal links )
- Function ( Function-bound links )
- OutPort ( Output pin links )
- InPort ( Input pin links )
System \ Axes \ Axes[n] \ Acceleration
- [n]: Axis number (1–6). Passive axes among active ones are not allowed.
- Sets manual movement acceleration in
unit/s²
. Does not affect program-driven acceleration. - Value depends on axis inertia, weight, and motor power; typically 10–30000.
System \ Axes \ Axes[n] \ AlarmEnabled
- [n]: Axis number (1–6).
- Only applies if System\AlarmEnabled is True.
- False disables and ignores this axis’s alarm; True enables it, showing an alarm if wired correctly (or wiring is missing/wrong).
System \ Axes \ Axes[n] \ Backlash
- [n]: Axis number (1–6).
- Compensates mechanical play in the axis. Value is average backlash in axis units, between 0 and 1.
System \ Axes \ Axes[n] \ Direction
- [n]: Axis number (1–6).
- Sets axis movement direction. Use Right Hand Rule to determine Positive vs. Negative.

- Value: Negative or Positive.
System \ Axes \ Axes[n] \ Enabled
- [n]: Axis number (1–6).
- False disables this axis; True enables it.
- Axes must be enabled in sequence (e.g., you cannot enable 1 and 3 but disable 2).
System \ Axes \ Axes[n] \ HomeDetectVelocity
- [n]: Axis number (1–6).
- Sets the return speed after the Home sensor is triggered. Must be slow enough for accurate detection.
System \ Axes \ Axes[n] \ HomeDirection
- [n]: Axis number (1–6).
- Sets the direction toward the Home sensor.
- Value: Negative or Positive.
System \ Axes \ Axes[n] \ HomeDisplace
- [n]: Axis number (1–6).
- Distance to move away from Home after the Home sequence completes.
System \ Axes \ Axes[n] \ HomeFastVelocity
- [n]: Axis number (1–6).
- Fast Home speed. Requires a sensor. Use for the primary Home sensor; the secondary uses HomeVelocity.
System \ Axes \ Axes[n] \ HomeLocation
- [n]: Axis number (1–6).
- Defines the coordinate of the Home position after sensor triggers. Useful if Home is outside Min/MaxCourse.
System \ Axes \ Axes[n] \ HomeVelocity
- [n]: Axis number (1–6).
- Speed during the Home sequence.
System \ Axes \ Axes[n] \ MaxCourse
- [n]: Axis number (1–6).
- Maximum travel limit after Home. Value between –109 and 109.
System \ Axes \ Axes[n] \ MaxCourseGrid
- [n]: Axis number (1–6).
- Maximum grid line limit before Home or when Home not needed. Value between –109 and 109.
System \ Axes \ Axes[n] \ MaxVelocity
- [n]: Axis number (1–6).
- Maximum allowed speed for this axis. Defaults to the axis’s inherent maximum if unset.
System \ Axes \ Axes[n] \ MinCourse
- [n]: Axis number (1–6).
- Minimum travel limit after Home. Value between –109 and 109.
System \ Axes \ Axes[n] \ MinCourseGrid
- [n]: Axis number (1–6).
- Minimum grid line limit before Home or when Home not needed. Value between –109 and 109.
System \ Axes \ Axes[n] \ Name
- [n]: Axis number (1–6).
- Axis name: one of X, Y, Z, U, V, W, A, B, C.
System \ Axes \ Axes[n] \ Rotary
- [n]: Axis number (1–6).
- False = linear axis; True = rotary axis.
- Rotary axes ignore Min/MaxCourse limits; positions wrap within bounds.
System \ Axes \ Axes[n] \ RoundTrip
- [n]: Axis number (1–6).
- False disables; True moves this axis up first, then moves the other axes, and finally moves this axis to its target. Useful for router machines on Z axis.
System \ Axes \ Axes[n] \ SameAs
- [n]: Axis number (1–6).
- Synchronizes this axis’s pulse output with another axis. Use the other axis’s name or number; prefix with “-” to invert direction. Often used for dual-motor axes. SameAs target must be the last axis defined.
System \ Axes \ Axes[n] \ Step
- [n]: Axis number (1–6).
- Distance moved per pulse, used for calibration so that one unit equals the correct real-world distance. Measured via calibration software.
System \ Axes \ Axes[n] \ Unit
- [n]: Axis number (1–6).
- Display unit string (e.g. “mm”, “in”). Does not affect calculations.
System \ InPorts \ InPort[n] \ Enabled
- [n]: Digital input pin number.
- False disables this port; True enables it for its Link.
System \ InPorts \ InPort[n] \ Link
Link
- Value ( Numeric value links )
- Analog ( Analog signal links )
- Function ( Function-bound links )
- OutPort ( Output pin links )
- InPort ( Input pin links )
System \ InPorts \ InPort[n] \ NC
- [n]: Digital input pin number.
- False or blank = Normally Open; True = Normally Closed.
System \ OutPorts \ OutPort[n] \ Enabled
- [n]: Digital output pin number.
- False disables; True enables for its Link.
System \ OutPorts \ OutPort[n] \ Link
Link
- Value ( Numeric value links )
- Analog ( Analog signal links )
- Function ( Function-bound links )
- OutPort ( Output pin links )
- InPort ( Input pin links )
System \ OutPorts \ OutPort[n] \ NC
- [n]: Digital output pin number.
- False or blank = Normally Open; True = Normally Closed.
System \ ToolPath \ Acceleration
Sets acceleration in unit/s²
for simultaneous axis moves during program execution. Value 10–30000 based on inertia, weight, and motor power.
System \ ToolPath \ Axes
Lists axes used for interpolation, separated by commas.
System \ ToolPath \ FeedVelocity
If no Feed (F) command in GCode, this value is used as the feedrate.
System \ ToolPath \ FeedVector
If empty, all axes participate in interpolation feedrate. Otherwise, only listed axes are used.
System \ ToolPath \ Focus
- False or blank: on file load, view entire machine table.
- True: on file load, focus view on the toolpath drawing.
System \ ToolPath \ JunctionFactor
A multiplier applied to the calculated corner speed at line joins. Use >1 for smoother high-speed cornering. Value 1–100.
System \ ToolPath \ LastView
- Default: top-down view on program start.
- Read_Data: view saved by Ctrl+Shift+Alt+V.
- Read_Write_Data: last-used view on program start.
System \ ToolPath \ MinLineLength
If zero, smallest line = 10 × step size; lines shorter are merged. E.g. with 1 µm step and zero length, 10 µm is minimum.
System \ ToolPath \ Smoothness
Controls S-curve smoothing (in ms). Higher values → smoother motion. Use lower values if speed/acceleration are high. Range 1–250 ms.
System \ ToolPath \ TraverseAcceleration
Sets acceleration in unit/s²
for rapid (G0) moves. Value 10–30000.
System \ ToolPath \ TraverseVelocity
Sets rapid (G0) move speed.
System \ ToolPath \ View
Specifies which axes to display and in what order, using combinations of X, Y, Z, C, A, B.
2-Axis Layout: first axis left–right, second axis bottom–top (e.g. X,Y
).
3-Axis Layout: many Cartesian and tangent-angle combos; third axis depth into/out of screen or tangent to C.
4-Axis Layout: combos like X,Y,Z,A
or X,Y,Z,B
for four-axis machines, aligning rotary axis as specified.
Updated 4 days ago