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 TypeDescription
NoneOnly the machine stops, similar to a Pause command, but the program cannot be resumed.
ClearOutPortsOn emergency stop, stops axes and clears all digital output ports.
ClearAnalogOn emergency stop, stops axes and clears all analog outputs.
DisableAxesOn emergency stop, stops and disables axes, releasing the motors.
ResetToolPathOn emergency stop, stops axes and resets the ToolPath to the program’s start coordinates.
ClearOutPorts+ClearAnalogOn emergency stop, stops axes and clears both digital and analog outputs.
AllOn 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.

ValueDescription
0Home may be missing; axes can still move manually and programs can run.
1If Home is missing, manual axis movement is allowed but programs cannot run.
2If 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

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

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

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.