Difference between revisions of "AXY:Shadow Axis Concept"
(Created page with "= Shadow Axis Concept = This article describes shadow axes from the motion point of view. See Also: Virtual Axis") |
m |
||
(16 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
+ | |||
+ | <font color="red"> | ||
+ | '''HIDE THIS PAGE IN WIKI''' | ||
+ | </font> | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
= Shadow Axis Concept = | = Shadow Axis Concept = | ||
This article describes shadow axes from the motion point of view. | This article describes shadow axes from the motion point of view. | ||
+ | [[File:AXY;Shadow Axis Concept.png]] | ||
+ | |||
+ | 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: | ||
+ | |||
+ | {| border="1" cellpadding="0" cellspacing="0" | ||
+ | |+ | ||
+ | |'''Shadow Master''' || direction || '''Shadow Slave''' | ||
+ | |- | ||
+ | | pfb || → || pcmd | ||
+ | |- | ||
+ | | pcmd || ← || pfb | ||
+ | |- | ||
+ | | vfb || → || vcmd | ||
+ | |- | ||
+ | | vcmd || ← || vfb | ||
+ | |- | ||
+ | | drive status || → || drive control word | ||
+ | |- | ||
+ | | drive control word || ← || | drive status | ||
+ | |||
+ | |} | ||
+ | |||
+ | For this it is needed: ''DriveStatus ←→ DriveControlWord routines needed'' {{Bugzilla|5691}} | ||
+ | |||
+ | == 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. | ||
+ | |||
+ | <pre> | ||
+ | <shadow slave axis>.MasterSource = <shadow master axis>.pcmd | ||
+ | <shadow slave axis>.slave = 10 | ||
+ | </pre> | ||
+ | |||
+ | {{Note | Shadow slave axis can be only enabled if both <nowiki><shadow master axis></nowiki> is enabled (sending enabled drive status) '''and''' <nowiki><shadow slave axis>.en = 1</nowiki>}} | ||
+ | |||
+ | {{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. }} | ||
+ | |||
+ | {{Note | Although the feature reassembles gear-mode implementation shadow master-slave '''will not use''' GearRatio property. This means that the actual ratio is always 1.}} | ||
+ | |||
+ | == 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. | ||
− | See Also: | + | ==See Also:== |
− | [[AXY:Virtual_Axis | Virtual Axis]] | + | * [[AXY:Virtual_Axis | Virtual Axis]] |
+ | * [[Control:Virtual_Axis | S3 driver issues]] |
Latest revision as of 10:25, 31 March 2014
HIDE THIS PAGE IN WIKI
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 |
For this it is needed: DriveStatus ←→ DriveControlWord routines needed Issue 5691
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. |
NOTE | |
Although the feature reassembles gear-mode implementation shadow master-slave will not use GearRatio property. This means that the actual ratio is always 1. |
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.