Difference between revisions of "AXY:Shadow Axis Concept"

From SoftMC-Wiki
Jump to: navigation, search
(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.

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:

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 5691Bugzilla icon.png

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-Info.svgNOTE
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-Info.svgNOTE
Both shadow master or slave axis does not accept any motion command (MOVE, JOG, ....) while they are in a shadow-relationship.
NOTE-Info.svgNOTE
Both shadow master or slave axis can not belong to a group.
NOTE-Info.svgNOTE
Shadow master can not be a slave axis. (i.e its slave property must be 0)
NOTE-Info.svgNOTE
Remember that axes with lower elementid number are called before. This can influence additional propagation delay.
NOTE-Info.svgNOTE
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: