Speed and Position Synchronization with XPM_SSP, XPM_SSS, and XPM_SSSP
XEM CPU has a few options for synchronizing a sub-axis with a master. The axes being controlled must already be configured using the XG-PM software before using the synchronization function blocks.
Function Block | Description in XG5000 | Function |
---|---|---|
XPM_SSP | Position synchronization | Execute a step in the Position Data table of the slave axis after the master axis reached the defined position. |
XPM_SSS | Speed synchronization | Control the speed of the slave axis according to the ratio setup with the master axis. |
XPM_SSSP | Positioning speed sync | Control the speed of the slave axis according to the ratio setup with the master axis until the slave axis reaches the defined position. |
XPM__SSP Details
XPM_SSP is used for position synchronization of a sub-axis.
-
A step in the position data table is executed when the master axis reaches synchronization position (MST_ADDR).
-
The axis that uses the XPM_SSP function block is considered the sub-axis.
Element Name | Element Type | Description |
---|---|---|
REQ | Input | Edge detected request to execute the function block |
BASE | Input | Base number of the motion controller.Equal to 0 for built-in position control. |
SLOT | Input | Slot number of the motion controller.Equal to 1 for built-in position control |
AXIS | Input | Axis number to control.Set to 1 thru 6 for built-in axes. This can be a constant or variable. |
STEP | Input | Step in the position table to execute when master axis reaches MST_ADDR position. |
MST_AXIS | Input | Master axis number.For XEM this is 1~6 and must not be the axis executing the XPM_SSP. |
MST_ADDR | Input | Master position to execute the position synchronization for the sub-axis. |
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. |
XPM_SSS Details
XPM_SSS is used to control the operating speed between two axes at the set ratio.
-
The synchronization is done with the Master Ratio and Sub-axis Ratio.
-
If master ratio value is larger, then the sub-axis will move slower than the master.
-
If sub-axis ratio value is larger, then the sub-axis will move faster than the master.
-
The sub-axis will move in the same direction as the master axis if the ratio is positive.
-
The sub-axis will move in the opposite direction of the master axis if the ratio is negative.
Element Name | Element Type | Description |
---|---|---|
REQ | Input | Edge detected request to execute the function block |
BASE | Input | Base number of the motion controller.Equal to 0 for built-in position control. |
SLOT | Input | Slot number of the motion controller.Equal to 1 for built-in position control |
AXIS | Input | Axis number to control.Set to 1 thru 6 for built-in axes. This can be a constant or variable. |
MST_AXIS | Input | Master axis number.For XEM this is 1~6 and must not be the axis executing the XPM_SSS. |
MST_RAT | Input | Master speed ratio value. Value can be between -32,768 thru 32767. |
SLV_RAT | Input | Sub-axis speed ratio value can be between -32,768 thru 32767. |
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. |
XPM_SSSP Details
XPM_SSSP is used to control the operating speed between two axes at the set ratio.
-
The sub-axis will stop when its position reaches the POS value.
-
The synchronization is done with the Master Ratio and Sub-axis Ratio.
-
If master ratio value is larger, then the sub-axis will move slower than the master.
-
If sub-axis ratio value is larger, then the sub-axis will move faster than the master.
-
The sub-axis will move in the same direction as the master axis if the ratio is positive.
-
The sub-axis will move in the opposite direction of the master axis if the ratio is negative.
Element Name | Element Type | Description |
---|---|---|
REQ | Input | Edge detected request to execute the function block |
BASE | Input | Base number of the motion controller.Equal to 0 for built-in position control. |
SLOT | Input | Slot number of the motion controller.Equal to 1 for built-in position control |
AXIS | Input | Axis number to control.Set to 1 thru 6 for built-in axes. This can be a constant or variable. |
MST_AXIS | Input | Master axis number.For XEM this is 1~6 and must not be the axis executing the XPM_SSS. |
MST_RAT | Input | Master speed ratio value. Value can be between -32,768 thru 32767. |
SLV_RAT | Input | Sub-axis speed ratio value. Value can be between -32,768 thru 32767. |
POS | Input | Target position of the sub-axis. |
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. |
-
These examples show control of Axis 1 by an XEM-DN32HP CPU.
-
Axis 1 is a LS Electric L7CA004U-AD connected to a linear actuator with a 5 mm pitch.
-
The L7C servo drive is configured to have 1000 pulses be one revolution of the motor.
Step | Action |
---|---|
1 |
Open the XG5000 project for the application. Go to Tools menu èPosition Control to open XG-PM software.
|
2 |
Open the XG-PM project or connect to PLC and select ProjectèOpen from PLC.
|
3 |
Open the Parameter file in the Workspace for the axis that is being configured. This example shows Axis #1.
This parameter screen will open:
|
4 |
Configure the parameters of the Axis. This example shows Axis 1.
|
6 |
Save the project. Connect to the CPU and write the project to the CPU. Note: If connecting XG5000 and XG-PM at the same time, make sure to connect XG5000 first. XG5000 will give error messages if it is connected last. |
This example is Scan Program XPM_SSP_Example in the LP531_SynchronizationExample XG5000 project.
-
In this example Axis 1 is the master axis and Axis 2 is the sub-axis.
-
When the Run_Example variable is true, Axis 1 will do a speed control move to 1000 pulses/sec and Axis2 will execute an XPM_SSP function block.
-
Axis 2’s XPM_SSP is setup to execute step 1 of the position table when Axis 1’s position reaches 10000 pulses.
-
Home Axes before setting Run_Example to true.
XPM_SSP LD Code
Home_Axes Command:
Run_Example Command:
XPM_SSP Trend
This example is Scan Program XPM_SSS_Example in the LP531_SynchronizationExample XG5000 project.
-
In this example Axis 1 is the master axis and Axis 2 is the sub-axis.
-
When the Run_Example variable is true, Axis 1 will do a speed control move to 1000 pulses/sec and Axis2 will execute an XPM_SSS function block.
-
Axis 2’s XPM_SSS is setup to speed synchronize with Axis 1 at half of Axis 1’s speed.
XPM_SSS LD Code
Home_Axes Command:
Run_Example Command:
XG-PM Monitoring for XPM_SSS Example
This example is Scan Program XPM_SSSP_Example in the LP513_SynchronizationExample XG5000 project.
-
In this example Axis 1 is the master axis and Axis 2 is the sub-axis.
-
When the Run_Example variable is true, Axis 1 will do a speed control move to 1000 pulses/sec and Axis2 will execute an XPM_SSSP function block.
-
Axis 2’s XPM_SSSP is setup to speed synchronize with Axis 1 at half of Axis 1’s speed.
-
Axis 2 will stop after its position reaches 10000 pulses.
-
Execute Home_Axes command before Run_Example.
XPM_SSSP LD Code
Home_Axes Command:
Run_Example Command:
XG-PM Monitoring for XPM_SSSP Example
Trend Monitoring for XPM_SSSP Example
LP531