Difference between revisions of "AXY:Operational Modes"
(→From analog torque to digital position) |
(→From digital velocity to digital position) |
||
Line 341: | Line 341: | ||
==== From digital velocity to digital position ==== | ==== From digital velocity to digital position ==== | ||
− | The current position feedback and the velocity & acceleration command values will be set as initial values for the stopping profile. | + | The current position feedback and the velocity & acceleration command values will be set as initial values for the stopping profile. |
+ | [[File:Axy;OPmodes_Digital_Velocity_to_Digital_Position_2.png|600px]] | ||
==== From digital torque to digital position ==== | ==== From digital torque to digital position ==== |
Revision as of 11:52, 2 February 2011
1. Introduction2
2. Operation modes5
3. Setting a mode (transition between the modes)6
4. Properties and Commands22
5. Side effects28
6. Motion properties31
'7. Appendix (future features)34'Revision History:
Revision Number | Description |
2 | * OpMode changed to WoMode (working modes), the OpMode is confusing and can be misunderstood with the drive OpMode (IDN32) (Avishai)
|
3 | * Blending between modes will be disabled (5.10)
|
Contents
- 1 Introduction
- 2 Operation modes
- 3 Setting a mode (transition between the modes)
- 3.1 Entering the digital position mode
- 3.2 Entering the digital velocity mode
- 3.3 Entering the digital torque mode
- 3.4 Entering the analog velocity mode
- 3.5 Entering the analog torque mode
- 3.6 The explicit mode change (WoMode - command)
- 3.6.1 Entering digital modes
- 3.6.1.1 From analog velocity to digital position
- 3.6.1.2 From analog torque to digital position
- 3.6.1.3 From digital velocity to digital position
- 3.6.1.4 From digital torque to digital position
- 3.6.1.5 From analog velocity to digital velocity
- 3.6.1.6 From analog torque to digital velocity
- 3.6.1.7 From digital position to digital velocity
- 3.6.1.8 From digital torque to digital velocity
- 3.6.1.9 From analog velocity to digital torque
- 3.6.1.10 From analog torque to digital torque
- 3.6.1.11 From digital position to digital torque
- 3.6.1.12 From digital velocity to digital torque
- 3.6.1 Entering digital modes
- 4 Properties and Commands
- 5 Side effects
- 6 Motion properties
- 7 Appendix (future features)
Introduction
Purpose of the document
This document will give description of the SC operational modes. Interaction of other commands and transition between modes will be given. General software architecture and command syntax is presented.
Operation Modes
The AMCS supports 5 modes of operation:
- digital position
- digital velocity
- digital torque
- analog velocity
- analog torque
The analog input is placed in the drive. The analog signal is converted in the drive and that value is transferred periodically through the DPRAM to the SCPC. There is a delay of one communication cycle from the analog input signal to the data received in the SCPC. The SCPC converts the analog input data to the appropriate (scaled) values and transfers it back to the drive. Both in the analog and digital SC mode, the drive is in digital mode.
Independently of the current operation mode, each motion sampling period, the SCPC always sends the following data to the drive:
- position - PCMD
- velocity - VCMD
- torque - TCMD
Depending on the current drive operation mode only the relevant values will be taken. The drive always (each communication sample) sends the following data back to the SCPC:
- feedback position(PFB)
- feedback torque(TFB)
Changing the modes is done implicitly by issuing MOVE (position), JOG (velocity) or DIGITALTORQUE (torque) commands, or explicitly by the WoMode command.
The three drive modes will be pre-defined using the IDN’s 32-34. Selecting new drive mode is done in the following way:
- The motion RTK task sends a control-word to the drive each communication cycle. In that control word the bits 7-8 define the drive mode. This bits are changed and the control word is sent to the drive.
- When the drive successfully finishes the mode change, it returns the new mode in the status word, that is sent periodically from the drive to SCPC.
The transition between modes will be calculated in the drive’s background loop and will take:
- one communication sample for transitions from Position/Velocity to Torque
- 3-4 communications samples for transitions from Torque to Position/Velocity
Program Example
Program
attach
Move 1000
Jog 100
sleep 3000
WoMode AVmode
sleep 1000
Jog vfb StartType = Imm
sleep 5000
DigitalTorque 500 StartType = Imm
detach
End Program
Operation modes
In all transitions the command for changing the new drive mode is entered from the RTK at the sample of the motion package exchange. After one of the mode-change commands(see below) is executed and completed the system keeps that mode until the next change is issued.
Digital position
- The default SC mode.
- Entered by issuing a MOVE or WoMode DPmode command.
- The drive takes position and velocity command (PCMD, VCMD) each SCPC motion sample.
Digital velocity
- Entered by issuing a JOG or WoMode DVmode command.
- The drive takes velocity command (VCMD) each SCPC motion sample.
- The velocity is generated by the profiler in the same way as in digital position mode
Digital torque
- Entered by issuing a DIGITALTORQUE or WoMode DTmode command.
- The drive takes torque command (TCMD) each SCPC motion sample.
- The command torque vale is computed changing the value linearly from the initial torque value to the target torque value during the given time (TimeToTorque).
Analog velocity
- Entered by issuing WoMode AVmode command.
- Each SCPC motion sampling period the analog input value is taken from the DPRAM scaled by the AnalogVeloctyScale property and returned back to the drive as command velocity.
Analog torque
- Entered by issuing WoMode ATmode command.
- Each SCPC motion sampling period the analog input value is taken from the DPRAM scaled by the AnalogTorqueScale property and returned back to the drive as command torque.
Setting a mode (transition between the modes)
Entering the digital position mode
From digital velocity to digital position
According to the current MC rules for the movement commands. If the StartType is Immediate the new movement will be exchanged on-the-fly taking the current position feedback and the current velocity & acceleration command for the 5-samples position prediction, therefore small position jumps can occur - this due to the inability to compute exactly the 5-samples ahead-position. The picture shows the time-position/velocity graphs of the command execution:
MOVE pos StartType=Immediate
entered while the system was in DIGITAL-VELOCITY mode. If the StartType is Super-Immediate then, the initial position will be set to the current position feedback. In this case, no position jump can occur.
If the movement is not an immediate one, the Motion Manager Task will wait until the current digital torque command finishes. Only when the torque is zero, the current feedback position will be taken for the start position of the next movement pre-calculation. Again, due to the uncertain movements in the torque mode there could be some position jumps. (See 5.11)
Under the assumption that transition from velocity to position mode in the drive doesn’t take more then 1-2 motion samples, there shouldn’t be any visible disturbances during the transition. Also, during the drive mode transition, the velocity & position commands are changed smoothly and sent both to the drive during whole transition process.
From digital torque to digital position
According to the current MC rules for the movement commands.
If the StartType is Immediate the new movement will be exchanged on-the-fly taking the current position, velocity and acceleration feedback for the 5-samples position prediction, therefore small jumps in position can occur - this due to the inability to compute exactly the 5-samples ahead-position. The picture shows the time-position/velocity/torque graphs of the command execution:
MOVE pos StartType=Immediate
entered while the system was in DIGITAL-TORQUE mode. If the StartType is Super-Immediate then, the initial position & velocity will be set to the current position & velocity feedback. In this case, no position jump can occur.
If the movement is not an immediate one, the Motion Manager Task will wait until the current digital torque command finishes. Only when the torque is zero, the current feedback position will be taken for the start position of the next movement pre-calculation. Again, due to the uncertain movements in the torque mode there could be some position jumps. (See 5.11)
Under the assumption that transition from torque to position mode in the drive doesn’t take more then 2-3 motion samples, there shouldn’t be any visible disturbances. Also, during the transition between the drive modes the torque command is kept constant, while the position & velocity are smoothly changed according to the used profiler. Only when the drive mode transition is completed the system enters the torque-following mode and the TCMD follows the TFB value. (See: 5.7 Following modes).
From analog velocity to digital position
Only the MOVE commands with StartType=Immediate/Super-Immediate will be accepted, other StartType values will cause an error. A 5-samples constant acceleration prediction based on the feedback position & acceleration and the command velocity will be used for calculating the initial position. Therefore small jumps in position can occur - this due to the inability to compute exactly the 5-samples ahead-position. The picture shows the time-position/velocity graphs of the command execution:
MOVE pos StartType=Immediate
entered while the system was in ANALOG-VELOCTY mode. If the StartType is Super-Immediate then, the initial position & velocity will be set to the current position & velocity feedback. In this case, no position jump can occur.
Under the assumption that transition from velocity to position mode in the drive doesn’t take more then 1-2 motion samples, there shouldn’t be any visible disturbances during the transition. Also, during the drive mode transition the velocity & position commands are changed smoothly and sent both to the drive during whole transition process.
From analog torque to digital position
Only the MOVE commands with StartType=Immediate/Super-Immediate will be accepted, other StartType values will cause an error. A 5-samples constant acceleration prediction based on the feedback position, velocity & acceleration, will be used for calculating the initial position. Therefore small jumps in position can occur - this due to the inability to compute exactly the 5-samples ahead-position. The picture shows the time-position/velocity/torque graphs of the command execution:
MOVE pos StartType=Immediate
entered while the system was in ANALOG-VELOCTY mode. If the StartType is Super-Immediate then, the initial position & velocity will be set to the current position & velocity feedback. In this case, no position jump can occur.
Under the assumption that transition from torque to position mode in the drive doesn’t take more then 2-3 motion samples, there shouldn’t be any visible disturbances. Also, during the transition between the drive modes the torque command is kept constant, while the position & velocity are smoothly changed according to the used profiler. Only when the drive mode transition is completed the system enters the torque-following mode and the TCMD follows the TFB value. (See: 5.7 Following modes).
Entering the digital velocity mode
From digital position to digital velocity
The motion is continued by entering new movement according to its StartType (Immediate, Super-Immediate, Generator-Completed, In-position), same as in MC. Both modes are profiler-driven, due to the fact that the implementation of digital-velocity mode does not differ from the digital-position mode, except the operation inside drive, the transitions are exactly the same as transitions between MOVE and JOG commands in MC.
From digital torque to digital velocity
According to the current MC rules for the movement commands. If the StartType is Immediate the new movement will be exchanged on-the-fly taking the current velocity & acceleration feedback for calculating the 5-samples ahead velocity value of the next movement, executed in velocity mode. Therefore, small jumps in position can occur - this due to the inability to compute exactly the 5-samples ahead-position. The picture shows the time-velocity/torque graphs of the command execution:
JOG vel StartType=Immediate
entered while the system was in DIGITAL-TORQUE mode. If the StartType is Super-Immediate then, the initial position & velocity will be set to the current position & velocity feedback. In this case, no position jump can occur.
If the movement is not an immediate one, the user-task will wait until the current digital torque command finishes. Only when the torque is zero, the current feedback velocity will be taken for the initial velocity of the next movement pre-calculation. Again, due to the uncertain movements in the torque mode there could be some position jumps.
Under the assumption that transition from torque to velocity mode in the drive doesn’t take more then 2-3 motion samples, there shouldn’t be any visible disturbances. Also, during the transition between the drive modes the torque command is kept constant, while the position & velocity are smoothly changed according to the used profiler. Only when the drive mode transition is completed the system enters the torque-following mode and the TCMD follows the TFB value. (See: 5.7 Following modes).
From analog velocity to digital velocity
Only the JOG commands with StartType=Immediate/Super-Immediate will be accepted, other StartType values will cause an error. A 5-samples constant acceleration prediction based on the feedback position & acceleration and the command velocity will be used for calculating the initial position. Therefore small jumps in position can occur - this due to the inability to compute exactly the 5-samples ahead-position. The picture shows the time-velocity graphs of the command execution:
JOG vel StartType=Immediate
entered while the system was in ANALOG-VELOCTY mode. If the StartType is Super-Immediate then, the initial position & velocity will be set to the current position & velocity feedback. In this case, no position jump can occur.
In this case the drive does not change the mode, therefore no transition problems can occur.
From analog torque to digital velocity
Only the JOG commands with StartType=Immediate/Super-Immediate will be accepted, other StartType values will cause an error. A 5-samples constant acceleration prediction based on the feedback position, velocity & acceleration will be used for calculating the initial velocity. Therefore small jumps in position can occur - this due to the inability to compute exactly the 5-samples ahead-position. The picture shows the time-position/velocity graphs of the command execution:
JOG vel StartType=Immediate
entered while the system was in ANALOG-TORQUE mode. If the StartType is Super-Immediate then, the initial position & velocity will be set to the current position & velocity feedback. In this case, no position jump can occur.
Under the assumption that transition from torque to velocity mode in the drive doesn’t take more then 2-3 motion samples, there shouldn’t be any visible disturbances. Also, during the transition between the drive modes the torque command is kept constant, while the velocity is smoothly changed according to the used profiler. Only when the drive mode transition is completed the system enters the torque-following mode and the TCMD follows the TFB value. (See: 5.7 Following modes).
Entering the digital torque mode
From digital position to digital torque
According to the current MC rules for the movement commands. The trapeze-‘velocity’ profiler is used. The current torque feedback will be taken for the initial torque value. The picture shows the time-position/velocity/torque graphs of the command execution:
DigitalTorque trq StartType=Immediate
entered while the system was in DIGITAL-POSITION mode.
If the movement (DigitalTorque-command) is not an immediate one, the user-task will wait until the current digital position command finishes. The current feedback torque will be taken for the initial torque of the next movement pre-calculation.
Under the assumption that transition from position to torque mode in the drive doesn’t take more then 1-2 motion samples, there shouldn’t be any visible disturbances. Also, during the transition between the drive modes the torque command is changed according its profiler while the position & velocity are kept on the values of the sample when the change was ordered.
From digital velocity to digital torque
According to the current MC rules for the movement commands. The trapeze-‘velocity’ profiler is used. The current torque feedback will be taken for the initial torque value. The picture shows the time-velocity/torque graphs of the command execution:
DigitalTorque trq StartType=Immediate
entered while the system was in DIGITAL-VELOCITY mode.
If the movement (DigitalTorque-command) is not an immediate one, the user-task will wait until the current digital position command finishes. The current feedback torque will be taken for the initial torque of the next movement pre-calculation.
Under the assumption that transition from velocity to torque mode in the drive doesn’t take more then 1-2 motion samples, there shouldn’t be any visible disturbances. Also, during the transition between the drive modes the torque command is changed according its profiler while the position & velocity are kept on the values of the sample when the change was ordered.
From analog velocity to digital torque
According to the current MC rules for the movement commands. The trapeze-‘velocity’ profiler is used. The current torque feedback will be taken for the initial torque value. The picture shows the time-velocity/torque graphs of the command execution:
DigitalTorque trq StartType=Immediate
entered while the system was in ANALOG-VELOCITY mode.
Under the assumption that transition from velocity to torque mode in the drive doesn’t take more then 1-2 motion samples, there shouldn’t be any visible disturbances. Also, during the transition between the drive modes the torque command is changed according its profiler while the position & velocity are kept on the values of the sample when the change was ordered.
From analog torque to digital torque
According to the current MC rules for the movement commands. The trapeze-‘velocity’ profiler is used. The current torque feedback will be taken for the initial torque value. The picture shows the time-velocity/torque graphs of the command execution:
DigitalTorque trq StartType=Immediate
entered while the system was in ANALOG-TORQUE mode.
In this case the drive does not change the mode, therefore no transition problems can occur.
Entering the analog velocity mode
Immediate switching to analog command, no deceleration profile. The smoothness of transition is user’s responsibility. The analog velocity mode is entered by issuing command:
WoMode AVmode
If there is some motion (Move/Jog/DigitalTorque) currently executing or pending it will be canceled.
Entering the analog torque mode
Immediate switching to analog command, no deceleration profile. The smoothness of transition is user’s responsibility. The analog velocity mode is entered by issuing command:
WoMode ATmode
If there is some motion(Move/Jog/DigitalTorque) currently executing or pending it will be canceled.
The explicit mode change (WoMode - command)
Entering digital modes
Operation modes can be changed implicitly and explicitly. The implicit changes are made using the Move/Jog/DigitalTorque commands as described in previous paragraphs. The operation modes can be changed explicitly using the WoMode command. If the desired mode (mode given as an argument of the WoMode command) is one of the digital modes (position, velocity or torque) the mode change is done at the motion end, means at the generator end. In certain cases the generator end doesn’t necessary mean the – no movements.
- When the movement in digital position mode is executed it can be specified with a non-zero final velocity.
- When the command torque is zero, in the digital torque mode, the motor could be moving.
From all these reasons when explicitly entering in one of the digital modes the system will automatically execute a kind of automatic-braking procedure(stopping). Namely:
- When entering the digital position mode the usual stopping profile will be generated using the modal DecMax value.
- When entering the digital velocity mode the usual stopping profile will be generated using the modal DecMax value.
- When entering the digital torque mode the system generates a trapeze-profile reducing the command torque to zero during the modal <TimeToTorque> milli-seconds.
From analog velocity to digital position
The current position feedback and the velocity command values will be set as initial values for the stopping profile. The initial acceleration will be set to zero. During the transition between the drive modes the velocity & position values are changed according to the profiler.
From analog torque to digital position
The current position and velocity feedback values will be set as initial values for the stopping profile. The initial acceleration will be set to zero. During the transition between the drive modes the torque command is changed according its source while the position & velocity are changed according to the profiler.
From digital velocity to digital position
The current position feedback and the velocity & acceleration command values will be set as initial values for the stopping profile.
From digital torque to digital position
The current position and velocity feedback values will be set as initial values for the stopping profile. The initial acceleration will be set to zero. During the transition between the drive modes the torque command kept on its initial value(the value at the beginning of the process) while the position & velocity are changed according to the profiler.
From analog velocity to digital velocity
The current position feedback and the velocity command values will be set as initial values for the stopping profile. The initial acceleration will be set to zero.
From analog torque to digital velocity
The current position and velocity feedback values will be set as initial values for the stopping profile. The initial acceleration will be set to zero. During the transition between the drive modes the torque command is changed according its source while the position & velocity are changed according to the profiler.
From digital position to digital velocity
The current position, velocity and acceleration command values will be set as initial values for the stopping profile. During the transition between the drive modes the velocity & position values are changed according tot he profiler. The action is identical to stopping in digital position mode.
From digital torque to digital velocity
The current position and velocity feedback values will be set as initial values for the stopping profile. The initial acceleration will be set to zero. During the transition between the drive modes the torque command kept on its initial value(the value at the beginning of the process) while the position & velocity are changed according to the profiler.
From analog velocity to digital torque
The current torque feedback value will be changed to zero during the modal value of the TimeToTorque property. During the transition between the drive modes the position & velocity values will be kept on its initial values (the value at the beginning of the process) while the torque value is changed according to the profile.
From analog torque to digital torque
The current torque command value will be changed to zero during the modal value of the TimeToTorque property. During the transition between the drive modes the position & velocity values will be kept on its initial values (the value at the beginning of the process) while the torque value is changed according to the profile.
From digital position to digital torque
The current torque feedback value will be changed to zero during the modal value of the TimeToTorque property. During the transition between the drive modes the position & velocity values will be kept on its initial values (the value at the beginning of the process) while the torque value is changed according to the profile.
From digital velocity to digital torque
The current torque feedback value will be changed to zero during the modal value of the TimeToTorque property. During the transition between the drive modes the position & velocity values will be kept on its initial values (the value at the beginning of the process) while the torque value is changed according to the profile.
Properties and Commands
TCMD
Short form | <axis>.tcmd |
Syntax | |
Description | Command torque value (analog to pcmd). Note: the actual torque value sent to the drive is in percentage of motor continuous stall current (100*MICONT, IDN111). |
Data Type | double |
Range | -MICONT*100 +MICONT*100 |
Default | |
Units | milli Amps |
Non-Volatile | |
Scope | Config, task, monitor |
Write Access | Read Only |
Limitations | modal-only, Attachment not needed (read only) |
Examples | ?tcmd |
Cross Reference |
TFB
Short form | <axis>.tfb |
Syntax | |
Description | Feedback torque value. (analog to pfb) |
Data Type | double |
Range | -MICONT*100 +MICONT*100 |
Default | |
Units | milli Amps |
Non-Volatile | |
Scope | Config, task, monitor |
Write Access | Read Only |
Limitations | modal-only, Attachment not needed (read only) |
Examples | ?tfb |
Cross Reference |
WoMode
Short form | WoMode |
Syntax | Setting: WoMode <axis> <new mode>
Query: ?<axis>.WoMode |
Description | Sets the operational mode explicitly:
<new mode> 04 DPmode(0) – digital position DVmode(1) – digital velocity DTmode(2) – digital torque AVmode(3) – analog velocity mode ATmode(4) – analog torque mode* If the current mode is digital then, the mode change occurs at the end of the current movement command (Move, Jog, and DigitalTorque) when the generator completes the motion.
|
Data Type | integer (when queried) |
Range | 04 |
Default | 0 |
Units | none |
Non-Volatile | |
Scope | Config, task, monitor |
Write Access | Read/Write |
Limitations | modal-only, Attachment needed |
Examples | WoMode DTmode – setting digital mode
?WoMode – querying the current mode |
Cross Reference |
AnalogTorqueScale
Short form | ATS |
Syntax | <axis>.AnalogTorqueScale |
Description | Used for computing command torque during analog torque mode (TCMD = AmalogTorqueScale*AIN). Note: the actual torque value sent to the drive is in percentage of motor continuous stall current (100*MICONT, IDN111). |
Data Type | double |
Range | minDoublemaxDouble |
Default | 0 |
Units | miliAmps/(Volt-analog-to-digital conversion unit)
Open Issue: There is a possibility to a hard-soft scale on the Analog Input depending on the drive type that will be used. |
Non-Volatile | |
Scope | Config, task, monitor |
Write Access | Read/Write |
Limitations | modal-only, Attachment needed |
Examples | ?AnalogTorqueScale |
Cross Reference |
AnalogVelocityScale
Short form | AVS |
Syntax | <axis>.AnalogVelocityScale |
Description | Used for computing command velocity during analog torque mode (VCMD = AmalogTorqueScale*AIN). |
Data Type | double |
Range | minDoublemaxDouble |
Default | 0 |
Units | RPM/(Volt-analog-to-digital conversion unit)
Open Issue: There is a possibility to a hard-soft scale on the Analog Input depending on the drive type that will be used. |
Non-Volatile | |
Scope | Config, task, monitor |
Write Access | Read/Write |
Limitations | modal-only, Attachment needed |
Examples | ?AnalogVelocityScale |
Cross Reference |
TimeToTorque
Short form | none |
Syntax | <axis>.TimeToTorque |
Description | Defines the time needed to change the torque from an initial value to the value given in the Torque command. |
Data Type | integer |
Range | (1motion cycle)maxInt |
Default | (1motion cycle) |
Units | milli-seconds |
Non-Volatile | |
Scope | Config, task, monitor |
Write Access | Read/Write |
Limitations | Modal/Nodal, Attachment needed |
Examples | ?TimeToTorque
DigitalTorque 100 TimeToTorque = 1000 |
Cross Reference | DigitalTorque |
TimeTorque
Short form | none |
Syntax | <axis>.TimeTorque |
Description | Time when the deceleration (torque decrease towards zero) is started, counting from the end of the torque increase. Same as MC TimeJog. |
Data Type | integer |
Range | -1,0maxInt |
Default | -1 |
Units | milli-seconds |
Non-Volatile | |
Scope | Config, task, monitor |
Write Access | Write |
Limitations | Nodal-only, Attachment needed |
Examples | DigitalTorque 100 TimeTorque = -1 |
Cross Reference | DigitalTorque |
Move
Short form | |
Syntax | same as MC |
Description | Command* Automatically enters DIGITAL-POSITION mode.
|
Data Type | |
Range | |
Default | |
Units | |
Non-Volatile | |
Scope | |
Write Access | |
Limitations | |
Examples | |
Cross Reference |
JOG
Short form | |
Syntax | same as MC |
Description | Command* Automatically enters DIGITAL-VELOCITY mode.
|
Data Type | |
Range | |
Default | |
Units | |
Non-Volatile | |
Scope | |
Write Access | |
Limitations | |
Examples | |
Cross Reference |
DigitalTorque
Short form | DTorque |
Syntax | DigitalTorque <axis> <Torque Value> {TimeToTorque=<time>} <TimeTorque> <StartType=<same as MC>} |
Description | Command:
Similar to the MC jog command with automatic scaling of the profiler-velocity to torque. Automatically enters the SC to digital torque mode. <Torque Value> Value of the target torque in mA, if greater then MICONT*100 (IDN111) sting it to this value with sending a note to the user. TimeToTorque – time needed to reach the target torque value from the initial torque value (See Properties). TimeTorque – time of the torque command duration, if set to –1 (default) endless torque command. (Same as TimeJog, see properties) If the SC is in one of the analog modes only StartType=Immediate is allowed. Any other StartType value will cause an error. |
Non-Volatile | |
Scope | |
Write Access | |
Limitations | Need attachment |
Examples | DigitalTorque 100 |
Cross Reference |
Constants
DPmode(0) – digital position
DVmode(1) – digital velocity
DTmode(2) – digital torque
AVmode(3) – analog velocity mode
ATmode(4) – analog torque mode
Side effects
Following error detection
- The following error is checked only in the digital position mode.
Gearing/Camming
- Gearing/Camming is allowed only in digital position mode, trying to set slave property while not in digital position mode will cause an error. Also trying to change mode from digital position to some other modes while Gearing/Camming will cause an error. This is true for the mode of the slave axis only, the master axis mode can be freely defined.
isMoving
- The isMoving flag will be set to according to the executing movement command (MOVE/JOG/DTORQUE) as in MC. In analog modes it is set to –2 (-1 slave, 0/1/2/3 – move).
isSettled
- The isSettled flag will be set to according to the executing movement command (MOVE/JOG/DTORQUE) as in MC. In analog modes it is set to 0.
Attachment/Detachment
- Detach will wait the program until the end of movement, means isMoving = 0.
- The analog modes set the axis attached to the executing task (or monitor) until the mode is changed to a digital one.
- This also means that WoMode AVmode command executed from a monitor implicitly attaches the axis to the monitor and that no other task can attach/move the axis until the mode isn’t changed to a digital one.
Homing
- Homing is allowed only in digital position mode. If the user tries to execute it in other modes or tries to set other modes during the home an error will be returned.
Following modes
- When the SC is in one of the position or velocity modes the TCMD value will be equal to the TFB returned from the drive (torque following).
- When the SC is in one of the torque modes the PCMD & VCMD will have the feedback values, i.e., like in position-following mode.
- When the SC is in the digital velocity modes the PCMD is calculated by the profiler generating the velocity.
- When the SC is in the analog velocity mode the PCMD is equal to the PFB (position following).
Transition Timeout
If the drive doesn’t succeed in changing mode after a predefined number of samples a fatal-error is sent to the error-handler.
Stop/Proceed
Stop command
- Digital Position mode – the stop command works according to the same rules as in MC, generates profile according to the current modal value of DecMax.
- Digital Velocity mode – the stop command works according to the same rules as in MC, generates profile according to the current modal value of DecMax.
- Digital Torque mode – the torque is linearly reduced to zero, the time of the torque reduction is defined by the modal value of TimeToTorque property.
- Analog Velocity mode – The system changes its mode to Digital-Velocity and executes the stop command according to the same rules as in MC, generates profile according to the current modal value of DecMax. There will be no movements in the proceed buffers. The previous mode will be stored.
- Analog Velocity mode – The system changes its mode to Digital-Torque and executes the stop command according reducing the torque linearly to zero, the time of the torque reduction is defined by the modal value of TimeToTorque property. There will be no movements in the proceed buffers. The previous mode will be stored.
For all modes:
After executing the stop command the attachment behavior and the behavior of all movement commands (Move/Jog/DigitalTorque) is the same as in MC (returning error and pending commands).
Proceed command
The proceed command behaves as in the MC it releases the interpreter and re-activates the movement commands previously stored in the proceed buffers. If the operational mode before the execution of the last stop command was an analog one such mode will be re-activated. The stored modes will be not buffered. New stop command overrides the old stored modes in the same ways as the motion buffer override each other on subsequent stop commands.
The ProceedType = CLEAR(3) sets the system to its default state (DIGITAL-POSITION) mode
Blending
Blending between different modes will be disabled. If two commands of different operation modes are blended, the system will automatically disable the bled functionality without notifying the user and the motions will be executed as if they were entered with no blending option(cp=0)
Waiting for the motion end
In cases of changing the axis mode from digital velocity or torque to digital position by a MOVE command that is not immediate the system will wait for ending the current movement and then, it will execute the pre-calculation of the MOVE command. The waiting occurs in the Motion Manager which effectively prevents other movements to be processed. In case of the single-axis movement it is not a problem because there are no other movements. In case of a multi-axes system this can cause a problem. The other possibility is to make the waiting in the context of the user-task, then there is a problem when the movement is issued from the monitor where waiting is not allowed.(See 3.1.1, 3.1.2 )
Motion properties
Property | position | velocity | torque |
Absolute | active | active | active |
Acceleration | active | active | not-relevant |
Accelerationfactor | active | active | not-relevant |
AccelerationMax | active | active | not-relevant |
ActiveCam | active | not-relevant | not-relevant |
AnalogVelocityScale | not-relevant | active | not-relevant |
AnalogTorqueScale | not-relevant | not-relevant | active |
AxisName | active | not-relevant | not-relevant |
CamCycle | active | not-relevant | not-relevant |
CamIndex | active | not-relevant | not-relevant |
CamOffset | active | not-relevant | not-relevant |
CamValue | active | not-relevant | not-relevant |
Capture | active | active | active |
CaptureInput | active | active | active |
CapturePolarity | active | active | active |
Decceleration | active | active | not-relevant |
DeccelerationMax | active | active | not-relevant |
Direction | active | active | not-relevant |
Displacement | active | not-relevant | not-relevant |
FirstCam | active | not-relevant | not-relevant |
FollowingMode | active | always on | always on |
GearRatio | active | not-relevant | not-relevant |
IsMoving | active | active | active |
IsSetteled | active | isMoving!=0 | isMoving!=0 |
Jerk | active | active | not-relevant |
JerkFactor | active | active | not-relevant |
JerkMax | active | active | not-relevant |
MasterSource | active | not-relevant | not-relevant |
Motion | active | active | active |
PositionFactor | active | not-relevant | not-relevant |
PositionCommand | active | pfb | pfb |
PositionError | active | active | active |
PositionErrorMax | active | not-relevant | not-relevant |
PositionErrorSettle | active | not-relevant | not-relevant |
PositionExternal | active | active | active |
PositionExternalFactor | active | not-relevant | not-relevant |
PositionFactor | active | not-relevant | not-relevant |
PositionFeedback | active | active | active |
PositionMax | active | active | active |
PositionMaxEnable | active | active | active |
PositionMin | active | active | active |
PositionMinEnable | active | active | active |
PositionRollover | active | active | active |
PostionRolloverEnable | active | active | active |
PositionTogo | active | disabled | disabled |
ProceedType | active | active | active |
RTCB1 | active | active | active |
RTCB1_Mode | active | active | active |
RTCB2 | active | active | active |
RTCB2_Mode | active | active | active |
RTSB1_Mode | active | active | active |
RTSB2_Mode | active | active | active |
Simulated | active | active | active |
Slave | active | disabled | disabled |
SlaveLag | active | not-relevant | not-relevant |
SmoothFactor | active | active | not-relevant |
StartType | active | active | active |
StopType | active | active | active |
TimeJog | not-relevant | active | not-relevant |
TimeSettle | active | not-relevant | not-relevant |
TimeSettleMax | active | not-relevant | not-relevant |
TimeTorque | not-relevant | not-relevant | active |
TimeToTorque | not-relevant | not-relevant | active |
TorqueFeedback | active | active | active |
TorqueCommand | tfb | tfb | active |
VelocityCommand | active | active | vfb |
VelocityCruise | active | active | not-relevant |
VelocityExternal | active | active | active |
VelocityExternalFactor | active | active | active |
VelocityFactor | active | active | active |
VelocityFeedback | active | active | active |
VelocityFinal | active | active | not-relevant |
VelocityJog | active | active | not-relevant |
VelocityMax | active | active | not-relevant |
VelocityOverride | active | active | not-relevant |
VelocityOverspeed | active | active | active |
Wrap | active | active | active |
Legend:
active - functions as usual
not-relevant - can be assigned and queried but does not affect anything
disabled - not functioning, when assigned or queried returns an error
new - the property doesn’t exist in MC
Appendix (future features)
Velocity following error
Checking the difference between velocity command and velocity feedback against a given threshold (max).
Torque following error
Checking the difference between torque command and torque feedback against a given threshold (max).
Additive torque
To add torque value together with position/velocity. The drive supports such an option but the SC should run two profilers in parallel (one for the position/velocity & one for the torque)
Analog superposition
The analog inputs can be active together with the digital modes. The values are added to the digital commands.