Difference between revisions of "MC-Basic:axis.FOLLOWINGMODE"

From SoftMC-Wiki
Jump to: navigation, search
m
 
(16 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Languages}}
+
{{Languages|MC-Basic:axis.FOLLOWINGMODE}}
 
{{MC-Basic
 
{{MC-Basic
 
|SHORT FORM=
 
|SHORT FORM=
Line 8: Line 8:
  
 
|AVAILABILITY=
 
|AVAILABILITY=
* fmode = 0/1 – All versions
+
* fmode = 0, 1 – All versions
 
* fmode = 2 – Since Version 4.4.2
 
* fmode = 2 – Since Version 4.4.2
* fmode = -2/-3 – Since From 4.9.0
+
* fmode = <!-- -2/--> -3 – Since From 4.9.0
  
 
|DESCRIPTION=
 
|DESCRIPTION=
 
This property puts the axis into following mode.
 
This property puts the axis into following mode.
  
When the drive is in the disabled state, the position command (PCMD) is continually set equal to the position feedback. This state of an axis is called '''Following mode'''. When the drive is re-enabled, the PCMD sent will have the value of the last sample (when it was in following mode), so no jumps will occur. In situations in which the drive takes control of the motion of the motor (such as in drive-controlled homing), the axis must be put explicitly into Following mode. Otherwise, the softMC reports a position following error.
+
When the drive is in disable state, the position command (PCMD) is continually set equal to the position feedback. This state of an axis is called '''Following mode'''. <br> When the drive is re-enabled, the PCMD sent will have the value of the last sample (when it was in following mode), so no jumps will occur.<br> In situations which the drive takes control on the motion of the motor (such as in drive-controlled homing), the axis must be put explicitly into Following mode. Otherwise, the softMC reports a position following error.
 +
 
  
 
There are various types of Following modes:
 
There are various types of Following modes:
  
* Hard-following (PCMD = PFB) automatically entered by the system when drive is disabled  
+
* '''Hard-Following (PCMD = PFB)''' - Automatically entered by the system when drive is disabled, '''Fmode = 0.'''
* User-following (PCMD = PCMD<sub>0 </sub>) freezing the PCMD value (not changing) (fmode = 1)
+
* '''User-Following (PCMD = PCMD<sub>0 </sub>)''' - Freeze the PCMD value so it's won't be changed, '''FMODE = 1.'''
* Soft-following (PCMD = PFB) same as hard-follwing (fmode=2)
+
* '''Soft-Following (PCMD = PFB)''' - Same as Hard-Follwing, '''Fmode=2.'''
* User-following-BIT3 (PCMD = PCMD<sub>0 </sub>) freezing the PCMD value (not changing) (fmode = -2) with drive's PCMD exit (fmode=-2)
+
* '''User-Following-BIT3 (PCMD = PCMD<sub>0 </sub>)''' - Freezing the PCMD value so it's won't be changed with drive's PFB exit, '''Fmode=−3.'''
* User-following-BIT3 (PCMD = PCMD<sub>0 </sub>) freezing the PCMD value (not changing) (fmode = -3) with drive's PFB exit (fmode=-3)
+
<!--* User-following-BIT3 (PCMD = PCMD<sub>0 </sub>) freezing the PCMD value (not changing) (fmode = -2) with drive's PCMD exit (fmode=-2)-->
 
 
  
  
  
For '''BIT3''' see: [[SERCOS Operation Modes#Table_44_-_Structure_of_drive_operation_modes | SERCOS drive status word]]
+
{{Note/Important|For '''BIT3''' see: [[MC-Basic:axis.DRIVESTATUS|axis.DRIVESTATUS]]}} <!--[[SERCOS Operation Modes#Table_44_-_Structure_of_drive_operation_modes | SERCOS drive status word]]-->
  
{{Note/Important| User-following from type -2 and -3 are obsolete as SERCOS is not default protocol.  }}
+
<!--{{Note/Important| User-Following from type -2 and -3 are obsolete as SERCOS is not default protocol.  }}-->
  
 +
<!--{{ Note/Important |Querying the FMODE property does not return the actual following mode. But the state of it, '''0''' for normal operation and '''1''' for all other types of following modes!<br>-->
  
{{ Note/Important |Querying the fmode property returns actual following mode, that is, 0 for normal operation and '''1 for all other types''' of following modes!<br>
+
{{Note |To get the user given value of following mode property use  <axis>.UserFollowigMode property }}
'''''User input for following-mode can be query using UserFollowigMode property '''''}}
 
  
 
{{ Note |Be careful when setting Following mode to 2, as it closes a feedback loop around the position variable of the drive. It can lead to instability and motor run away!}}
 
{{ Note |Be careful when setting Following mode to 2, as it closes a feedback loop around the position variable of the drive. It can lead to instability and motor run away!}}
Line 40: Line 40:
 
{{ Note |Not all modes are suppoted by EtherCAT and CANopen. Please refer to "Limitations"}}
 
{{ Note |Not all modes are suppoted by EtherCAT and CANopen. Please refer to "Limitations"}}
  
{{Note/Warning|Disabling drive automatically activates '''''hard-following''''' mode from whatever mode the axis was previously in!}}
+
{{Note/Warning|Disabling drive automatically activates '''Hard-Following''' mode from whatever mode the axis was previously in!}}
  
 +
==FollowingMode Flow==
 +
[[File:FMODEDIAGRAM2.jpg|900px]]
  
[[File:FMODEDIAGRAM.JPG|750px]]
+
{{Note|In any scenario - by sending "''?Fmode''" command, you can get '''Two''' values:  0 or 1. In case you want to know which ''FollowingMode'' the user sets - use [[MC-Basic:axis.UserFollowingMode|axis.UserFollowingMode]] command.}}
  
 
|TYPE=
 
|TYPE=
Line 50: Line 52:
 
|RANGE=
 
|RANGE=
  
* 0 – (Default) When axis is enabled and the Position Error is monitored
+
* 0 – (Default) When axis is enabled and the PositionError is monitored
 +
 
 +
* 1 – When axis is disabled or can be set by the user. It freezes the '''PositionCommand.''' PositionCommand will update on the end, when user enters Fmode=0, by reading the SDO_0x208e from the drive.
  
* 1 When axis is disabled  or can be set by the user.  '''''It freezes the PositionCommand.'''''. And PositionCommand will update on the end (when user enters Fmode=0) by reading the IDN47 from the drive. (This can take some time as it is done through SERCOS service channel).
+
* 2 Soft-Following mode, keeps PositionCommand equal to PositionFeedback.
  
* 2 – Soft-following-mode, keeps PositionCommand equal to PositionFeedback.
+
* -3 – User-Following by (PCMD = PCMD<sub>0 </sub>)- drive status'-'''BIT3''' control using AT cyclic telegram PFB for new PCMD on exit.
 +
 
 +
<!-- * -2 – User-following by (PCMD = PCMD<sub>0 </sub>)- drive status'-'''BIT3''' control using AT cyclic telegram SDO_0x208e for new PCMD on exit.-->
  
* -2 – User-following by (PCMD = PCMD<sub>0 </sub>)- drive status'-'''BIT3''' control using AT cyclic telegram IDN47 for new PCMD on exit.
 
  
* -3 – User-following by (PCMD = PCMD<sub>0 </sub>)- drive status'-'''BIT3''' control using AT cyclic telegram PFB  for new PCMD on exit.
 
  
 
|UNITS=
 
|UNITS=
Line 72: Line 76:
 
* To set the value within a task, the axis must be attached to that task (using the ATTACH command).
 
* To set the value within a task, the axis must be attached to that task (using the ATTACH command).
 
* EtherCAT and CANopen: only modes 0 and 2 are supported
 
* EtherCAT and CANopen: only modes 0 and 2 are supported
 +
 
|EXAMPLE=
 
|EXAMPLE=
X_Axis.FollowingMode = ON
+
'''A1'''.FollowingMode = ON <br>
 +
?'''A1'''.Fmode
 +
|SEE ALSO=
  
|SEE ALSO=
 
 
* [[MC-Basic:ATTACH|ATTACH]]
 
* [[MC-Basic:ATTACH|ATTACH]]
* [[MC-Basic:axis.POSITIONCOMMAND|axis.POSITIONCOMMAND]]
+
* [[MC-Basic:element.POSITIONCOMMAND|element.POSITIONCOMMAND]]
 
* [[MC-Basic:axis.UserFollowingMode|axis.UserFollowingMode]]
 
* [[MC-Basic:axis.UserFollowingMode|axis.UserFollowingMode]]
  
  
 
}}
 
}}

Latest revision as of 10:57, 28 February 2018

Language: English  • 中文(简体)‎

This property puts the axis into following mode.

When the drive is in disable state, the position command (PCMD) is continually set equal to the position feedback. This state of an axis is called Following mode.
When the drive is re-enabled, the PCMD sent will have the value of the last sample (when it was in following mode), so no jumps will occur.
In situations which the drive takes control on the motion of the motor (such as in drive-controlled homing), the axis must be put explicitly into Following mode. Otherwise, the softMC reports a position following error.


There are various types of Following modes:

  • Hard-Following (PCMD = PFB) - Automatically entered by the system when drive is disabled, Fmode = 0.
  • User-Following (PCMD = PCMD0 ) - Freeze the PCMD value so it's won't be changed, FMODE = 1.
  • Soft-Following (PCMD = PFB) - Same as Hard-Follwing, Fmode=2.
  • User-Following-BIT3 (PCMD = PCMD0 ) - Freezing the PCMD value so it's won't be changed with drive's PFB exit, Fmode=−3.


IMPORTANT.svgIMPORTANT
For BIT3 see: axis.DRIVESTATUS


NOTE-Info.svgNOTE
To get the user given value of following mode property use <axis>.UserFollowigMode property
NOTE-Info.svgNOTE
Be careful when setting Following mode to 2, as it closes a feedback loop around the position variable of the drive. It can lead to instability and motor run away!
NOTE-Info.svgNOTE
Not all modes are suppoted by EtherCAT and CANopen. Please refer to "Limitations"
WARNING.svgWARNING
Disabling drive automatically activates Hard-Following mode from whatever mode the axis was previously in!

FollowingMode Flow

FMODEDIAGRAM2.jpg

NOTE-Info.svgNOTE
In any scenario - by sending "?Fmode" command, you can get Two values: 0 or 1. In case you want to know which FollowingMode the user sets - use axis.UserFollowingMode command.

Short form

<axis>.Fmode

Syntax

<axis>.FollowingMode = <value>

Availability

  • fmode = 0, 1 – All versions
  • fmode = 2 – Since Version 4.4.2
  • fmode = -3 – Since From 4.9.0

Type

Long

Range

  • 0 – (Default) When axis is enabled and the PositionError is monitored
  • 1 – When axis is disabled or can be set by the user. It freezes the PositionCommand. PositionCommand will update on the end, when user enters Fmode=0, by reading the SDO_0x208e from the drive.
  • 2 – Soft-Following mode, keeps PositionCommand equal to PositionFeedback.
  • -3 – User-Following by (PCMD = PCMD0 )- drive status'-BIT3 control using AT cyclic telegram PFB for new PCMD on exit.

Default

0

Scope

Configuration, Task or Terminal

Limitations

  • To set the value within a task, the axis must be attached to that task (using the ATTACH command).
  • EtherCAT and CANopen: only modes 0 and 2 are supported

Examples

A1.FollowingMode = ON
?A1.Fmode

See Also