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

From SoftMC-Wiki
Jump to: navigation, search
m
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Languages}}
+
{{Languages|MC-Basic:axis.FOLLOWINGMODE}}
 
{{MC-Basic
 
{{MC-Basic
 
|SHORT FORM=
 
|SHORT FORM=
Line 15: Line 15:
 
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'''. <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.
+
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.
  
  
Line 21: Line 21:
  
 
* '''Hard-Following (PCMD = PFB)''' - Automatically entered by the system when drive is disabled, '''Fmode = 0.'''  
 
* '''Hard-Following (PCMD = PFB)''' - Automatically entered by the system when drive is disabled, '''Fmode = 0.'''  
* '''User-Following (PCMD = PCMD<sub>0 </sub>)''' - Freez the PCMD value so it's won't be changed, '''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 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 = -2) with drive's PCMD exit (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.'''
 
  
  
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|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.  }}-->
Line 41: Line 42:
 
{{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 54: Line 57:
  
 
* 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 SDO_0x208e 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 73: Line 78:
  
 
|EXAMPLE=
 
|EXAMPLE=
'''A1'''.FollowingMode = ON
+
'''A1'''.FollowingMode = ON <br>
 
?'''A1'''.Fmode
 
?'''A1'''.Fmode
 
|SEE ALSO=
 
|SEE ALSO=

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