XGB EtherCAT Direct Start with XPM_DST
Direct start functionality is supported using the XPM_DST function block.
-
XPM_DST allows the CPU to control the axis without using the position data table.
-
The axis being controlled must already be configured using the XG-PM software before using XPM_DST.
-
XPM_ECON and XPM_SVON must be executed before executing XPM_DST.
-
The Axis must be homed before performing any absolute moves.

Element Name | Element Type | Description |
---|---|---|
REQ | Input | Edge detected request to execute the function block |
BASE | Input | Base number of the motion controller. Set 0 to the Base number. |
SLOT | Input | Slot number of the motion controller. Set to the slot number of the XBF-PN04B or XBF-PN08B module. |
AXIS | Input | Axis number to control. XBF-PN04B:1~4, XBF-PN08B:1~8 |
ADDR | Input | Destination position for the move when a request is sent. The sign of the value determines the rotation direction. Positive value is positive direction. Negative value is negative direction. This can be a constant or variable. |
SPEED | Input | Speed the move will be executed at. This can be a constant or variable. |
DWELL | Input | Dwell time setting 0 – 65535 ms. This can be a constant or variable. |
MCODE | Input | M code value setting. Value not important to XEM CPU built-in motion. This can be a constant or variable. |
CTRL | Input | Control Method. 0 = Position control, 1 = Speed Control, 2 = Feed Control. This can be a constant or variable. |
ABS/INC | Input | 0 = Absolute Positioning, 1 = Relative Positioning. This can be a constant or variable. |
ACC_SEL | Input | Acceleration time setting from XG-PM program. 0 = Acc. Time 1, 1 = Acc. Time 2, 2 = Acc. Time 3, 3 = Acc. Time 4. This can be a constant or variable. |
DEC_SEL | Input | Deceleration time setting from XG-PM program. 0 = Dec. Time 1, 1 = Dec. Time 2, 2 = Dec. Time 3, 3 = Dec. Time 4. This can be a constant or variable. |
DONE | Output | Status that function block is done. |
STAT | Output | Current status of the function block. Non-zero numbers will be an error or warning. |

Absolute Positioning will move an axis to a position relative to home position. Positive ADDR value will move in positive direction. Negative ADDR value will move in negative direction.
Note: Homing needs to be completed with the XPM_ORG or XPM_FLT function block prior to executing XPM_DST in Absolute Positioning mode.
Executing XPM_DST in Absolute Positioning and Monitor in XG-PM

Relative Positioning will move an axis to a position relative to current position.
-
Positive ADDR value will move in positive direction.
-
Negative ADDR value will move in negative direction.
Executing XPM_DST in Absolute Positioning and Monitor in XG-PM

Speed Control allows the CPU to set a run speed for the axis. The axis will run at this speed until another command is executed or stopped. ADDR being a positive value will turn the axis in the positive direction. ADDR being a negative value will turn the axis in the negative direction.
XPM_DST in Speed Control Monitoring in XG-PM

FEED Control will reset the current position to 0 when executed. It will then move the number of Pulses in the ADDR value. If it is run again, then the current Position will be set to 0 again before moving.
-
Positive ADDR value will move in positive direction.
-
Negative ADDR value will move in negative direction.
XPM_DST with FEED Control Example
XPM_DST in Feed Control Monitoring in XG-PM
In this example, we want to run the axis in positive direction at 1000 pulses/sec.
LP627