Difference between revisions of "MC-Basic:axis.FOLLOWINGMODE"
m |
m |
||
(12 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 | + | * 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 | + | 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- | + | * '''Hard-Following (PCMD = PFB)''' - Automatically entered by the system when drive is disabled, '''Fmode = 0.''' |
− | * User- | + | * '''User-Following (PCMD = PCMD<sub>0 </sub>)''' - Freeze the PCMD value so it's won't be changed, '''FMODE = 1.''' |
− | * Soft- | + | * '''Soft-Following (PCMD = PFB)''' - Same as Hard-Follwing, '''Fmode=2.''' |
− | * User- | + | * '''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 = - | + | <!--* 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- | + | <!--{{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 | + | {{Note |To get the user given value of following mode property use <axis>.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 ''' | + | {{Note/Warning|Disabling drive automatically activates '''Hard-Following''' mode from whatever mode the axis was previously in!}} |
+ | ==FollowingMode Flow== | ||
+ | [[File:FMODEDIAGRAM2.jpg|900px]] | ||
− | [[ | + | {{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 | + | * 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. |
− | * 2 – | + | * -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.--> | ||
− | |||
− | |||
|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= | ||
− | + | '''A1'''.FollowingMode = ON <br> | |
+ | ?'''A1'''.Fmode | ||
+ | |SEE ALSO= | ||
− | |||
* [[MC-Basic:ATTACH|ATTACH]] | * [[MC-Basic:ATTACH|ATTACH]] | ||
* [[MC-Basic:element.POSITIONCOMMAND|element.POSITIONCOMMAND]] | * [[MC-Basic:element.POSITIONCOMMAND|element.POSITIONCOMMAND]] |
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 | |
For BIT3 see: axis.DRIVESTATUS |
NOTE | |
To get the user given value of following mode property use <axis>.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 | |
Not all modes are suppoted by EtherCAT and CANopen. Please refer to "Limitations" |
WARNING | |
Disabling drive automatically activates Hard-Following mode from whatever mode the axis was previously in! |
FollowingMode Flow
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 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