From SoftMC-Wiki
Jump to: navigation, search
Language: English  • 中文(简体)‎


The purpose of PHASER is to amplify or attenuate the master input value before entering the cam table or before multiplying by the gear ratio.

The master - slave connection is achieved either by a cam table or through gearing. A typical problem in camming is an offset in the master position that has to be compensated for before translating the value with a cam table. PHASER adds a correction to the master position. This avoids unexpected jumps at the slave position. By immediately adding the maximum correction value, there is a dynamically computation of the correction from zero to the maximum value.


Several slaves can be connected to the same master, but the position correction is set per slave. PHASER is a slave command and its effects do not harm other slaves connected to the same master. Directly disconnection of the slave (SLAVE = OFF) automatically stops PHASER.


PHASER is a type of MOVE, so all the command’s rules and limitations are imported. As an input, PHASER gets the maximum offset added or subtracted from the master position. The offset value is equivalent to the target position of MOVE. The rate at which the offset changes is determines by the profiler. Similar to MOVE, the profiler is calculated according to the slave’s motion properties (ACCELERATION, DECELERATION and JERK). All changes in these values must be performed in the nodal context so the slave‘s property definitions are not effected.

Comparing PHASER and MOVE:

Element Axis or group Slaved axis only
Position Target Maximum offset
Ratio factor None Translation factor between master units and slave units
Kinematics properties All All
STARTTYPE All types All types (special relevance is IMMEDIATE)


PHASER is a slave command, although it acts on the master signal. In the command (like MOVE), the slave axis and offset value are essential. With PHASER, there is a new factor ratio that translates between slave and master units. The additional properties that can be determined are the smoothness of change, profiler type, STARTTYPE and kinematics.

A1.mastersource = a2.pcmd
A1.slave = CAM
Phase a1 10 ratio = 1 ‘ slave and master has the same units


PHASER can be divided into two stages: the convergence and constant stages. Stopping the convergence stage is by a special stop command. The value reached at the end of stopping is the maximum offset that is added, instead of the original offset value. The maximum offset value is queried with MAXIMUMOFFSET (see the MC. Reference manual).

To cancel the second stage, where the offset reaches its final value, insert a new PHASER with a complementary correction value.

StopPhase a1 ratio = 1 ‘ slave and master has the same units


PHASER is inserted into the movements’ buffer. During the convergence stage of PHASER, no other movements are allowed. A new movement or an additional PHASER is held until the maximum offset is reached. Executing a new motion during the convergence stage can be accomplished only with STARTTYPE=IMMEDIATE. You can trace the convergence stage with ISMOVING (like tracing other type of movements (see the MC. Reference manual).