AXY:Shadow Axis Concept
Shadow Axis Concept
This article describes shadow axes from the motion point of view.
On the picture above there are:
- three different(separated) SERCOS rings
- two MC controllers each connected to two SERCOS rings
- first SERCOS ring connects Drive#1 to MC#1
- second SERCOS ring connects MC#1 with MC#2
- third SERCOS ring connects MC#2 with Drive #2
First MC has:
- one axis (Axis) connected to the first SERCOS ring to a Drive#1
- second axis (Remote) connected via second SERCOS ring to MC#2
Second MC has:
- one axis (Shadow master) connected to the second SERCOS ring to a MC#1
- second axis (Shadow slave) connected via third SERCOS ring to Drive#2
Virtual Connection consists of:
- Remote axis on MC#1 running on S3net.master
- Shadow master on MC#2 running on S3net.slave
- Connection between S3net.master and S3net.slave swaps pcmd with pfb and drive status (ds) with drive control word (dcw)
Shadow axis pair consist of:
- Shadow master
- Shadow slave
With the following swapping of variables:
Shadow Master | direction | Shadow Slave |
pfb | → | pcmd |
pcmd | ← | pfb |
vfb | → | vcmd |
vcmd | ← | vfb |
drive status | → | drive control word |
drive control word | ← | drive status |
New Syntax
We are adding new option (value=10) to the existing options of the <axis>.slave values. Using the <axis>.MasterSource property for defining master axis.
<shadow slave axis>.MasterSource = <shadow master axis>.pcmd <shadow slave axis>.slave = 10
NOTE | |
Shadow slave axis can be only enabled if both <shadow master axis> is enabled (sending enabled drive status) and <shadow slave axis>.en = 1 |
NOTE | |
Both shadow master or slave axis does not accept any motion command (MOVE, JOG, ....) while they are in a shadow-relationship. |
NOTE | |
Both shadow master or slave axis can not belong to a group. |
NOTE | |
Shadow master can not be a slave axis. (i.e its slave property must be 0) |
NOTE | |
Remember that axes with lower elementid number are called before. This can influence additional propagation delay. |
Implementation Details
- Assigning <axis>.slave = 10 both <axis> and <axis>.MasterSource become pair of master-slave shadow axes.
- During <axis>.slave = 10 assignment all the conditions of master-slave shadow pair are checked.
- Rearranging RTK priorities is skipped.