Difference between revisions of "OperationalModes"
m (→Limitations and Side Effects) |
|||
(17 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
− | == | + | {{Languages|OperationalModes}} |
+ | == Selecting Drive Operation Modes == | ||
User selects the operation-mode using the OpMode command.<br> | User selects the operation-mode using the OpMode command.<br> | ||
Line 8: | Line 9: | ||
Command will change the drive (and axis!) opmode to the given value using the opmode bits of the SERCOS drive status word. | Command will change the drive (and axis!) opmode to the given value using the opmode bits of the SERCOS drive status word. | ||
− | * Default state is POSITIONMODE (as today). All the standard deviation thresholds are checked: '''pe < pemax''','''vfb < vospd''', '''te < terrmax''', '''acmd < amax''' and '''[[ | + | * Default state is POSITIONMODE (as today). All the standard deviation thresholds are checked: '''pe < pemax''','''vfb < vospd''', '''te < terrmax''', '''acmd < amax''' and '''[[MC-Basic:element.TORQUECOMMAND|tcmd]] < tmax'''. |
* In VELOCITYMODE axis will '''NOT''' check '''position-error''', but will check: '''vfb < vospd''', '''te < terrmax''', '''acmd < amax''' and '''tcmd < tmax'''. | * In VELOCITYMODE axis will '''NOT''' check '''position-error''', but will check: '''vfb < vospd''', '''te < terrmax''', '''acmd < amax''' and '''tcmd < tmax'''. | ||
− | * In TORQUEMODE axis will '''NOT''' check '''position-error''' or acceleration max, but will check: '''vfb < vospd''', '''te < terrmax''' and '''[[ | + | * In TORQUEMODE axis will '''NOT''' check '''position-error''' or acceleration max, but will check: '''vfb < vospd''', '''te < terrmax''' and '''[[MC-Basic:element.TORQUECOMMAND|tcmd]] < tmax'''. |
* In '''Master-Slave''' - if the master or the slave is in TORQUEMODE or VELOCITYMODE - [[MC-Basic:axis.SLAVEDEVIATION|SLAVEDEVIATION ]] value is '''NOT''' checked. | * In '''Master-Slave''' - if the master or the slave is in TORQUEMODE or VELOCITYMODE - [[MC-Basic:axis.SLAVEDEVIATION|SLAVEDEVIATION ]] value is '''NOT''' checked. | ||
Line 19: | Line 20: | ||
<pre> | <pre> | ||
TORQUE <axis> tfinal | TORQUE <axis> tfinal | ||
− | </pre | + | </pre> |
* This command interpolate the tcmd from its initial value to the given tfinal according to the profile parameters defined. | * This command interpolate the tcmd from its initial value to the given tfinal according to the profile parameters defined. | ||
* In case TORQUE command is issued in POSITIONMODE or in VELOCITYMODE a note will be thrown and the TORQUE command will continue as usual interpolating TCMD (with probably no effects - as the drive is not in TORQUEMODE). | * In case TORQUE command is issued in POSITIONMODE or in VELOCITYMODE a note will be thrown and the TORQUE command will continue as usual interpolating TCMD (with probably no effects - as the drive is not in TORQUEMODE). | ||
Line 27: | Line 28: | ||
* STOP command in TORQUEMODE mode will '''''forcibly switch drive opmode to VELOCTYMODE''''' producing the deceleration profile from the current VFB value t zero. The same behavior will be implemend for both user-entred stop command and the system-generated stop commands like: velocity-over speed error, tcmd > tmax, te>temax. | * STOP command in TORQUEMODE mode will '''''forcibly switch drive opmode to VELOCTYMODE''''' producing the deceleration profile from the current VFB value t zero. The same behavior will be implemend for both user-entred stop command and the system-generated stop commands like: velocity-over speed error, tcmd > tmax, te>temax. | ||
− | * New command [[MC-Basic:HOLD|HOLD <''axis''>]] will cause axis to stop interpolating torque. New property [[MC-Basic:axis.HOLDTYPE|<''axis''>.HoldType]] will give the user option to select between keeping the stopped [[ | + | * New command [[MC-Basic:HOLD|HOLD <''axis''>]] will cause axis to stop interpolating torque. New property [[MC-Basic:axis.HOLDTYPE|<''axis''>.HoldType]] will give the user option to select between keeping the stopped [[MC-Basic:element.TORQUECOMMAND|TCMD]] value or reducing it to zero. In bot cases the original TORQUEMODE will be not changed. |
<pre> | <pre> | ||
Line 55: | Line 56: | ||
− | *MOVE <''axis''> and JOG <''axis''> commands are producing [[MC-Basic: | + | *MOVE <''axis''> and JOG <''axis''> commands are producing [[MC-Basic:element.POSITIONCOMMAND|PCMD]],[[MC-Basic:element.VELOCITYCOMMAND|VCMD]]and [[MC-Basic:axis.TORQUEADDCOMMAND|TADDCMD]] (if DynamicModel is turned on). The TCMD value during these types of motion remains unchanged.<br> |
− | *[ | + | *[MC-Basic:TORQUE|TORQUE <''axis''>]] command is affecting [[MC-Basic:element.POSITIONCOMMAND|PCMD]], [[MC-Basic:element.VELOCITYCOMMAND|VCMD]], [[MC-Basic:axis.TORQUEADDCOMMAND|TADDCMD]] values of the axis (their values are kept unchanged).Only the [[MC-Basic:element.TORQUECOMMAND|TCMD]] is interpolated.<br> |
− | *It is assumed that the drive adds the [[ | + | *It is assumed that the drive adds the [[MC-Basic:element.TORQUECOMMAND|TCMD]](IDN80) and [[MC-Basic:axis.TORQUEADDCOMMAND|TADDCMD]](IDN81) in all OPMODEs. In case it is not so <''axis''>.[[MC-Basic:axis.SUMTORQUE|SumTorque]]<nowiki>=1</nowiki> will cause the value of [[MC-Basic:axis.TORQUEADDCOMMAND|TADDCMD]] to be added to [[MC-Basic:element.TORQUECOMMAND|TCMD]]: <br/> |
− | :[[ | + | :[[MC-Basic:element.TORQUECOMMAND|TCMD]] <nowiki>=</nowiki> [[MC-Basic:element.TORQUECOMMAND|TCMD]] + [[MC-Basic:axis.TORQUEADDCOMMAND|TADDCMD]]<br> |
Line 74: | Line 75: | ||
* [[MC-Basic:axis.OPMODE|OPMODE]] | * [[MC-Basic:axis.OPMODE|OPMODE]] | ||
* [[MC-Basic:TORQUE|TORQUE ]] | * [[MC-Basic:TORQUE|TORQUE ]] | ||
− | * [[ | + | * [[MC-Basic:axis.TORQUECHANGERATIO|TORQUECHANGERATIO]] |
− | * [[ | + | * [[MC-Basic:axis.TORQUECHANGERATIOMAX|TORQUECHANGERATIOMAX]] |
* [[MC-Basic:HOLD|HOLD ]] | * [[MC-Basic:HOLD|HOLD ]] | ||
* [[MC-Basic:axis.HOLDTYPE|HOLDTYPE ]] | * [[MC-Basic:axis.HOLDTYPE|HOLDTYPE ]] | ||
− | * [[ | + | * [[MC-Basic:axis.SUMTORQUE|SUMTORQUE]] |
− | * [[ | + | * [[MC-Basic:element.TORQUECOMMAND| TORQUECOMMAND]] |
− | * [[ | + | * [[MC-Basic:axis.TORQUEADDCOMMAND| TORQUEADDCOMMAND]] |
* [[MC-Basic:axis.DRIVEOPMODE| DRIVEOPMODE ]] | * [[MC-Basic:axis.DRIVEOPMODE| DRIVEOPMODE ]] | ||
− | * [[MC-Basic: | + | * [[MC-Basic:element.DYNAMICMODEL|DYNAMICMODEL]] |
− | [[Category | + | [[Category:OperationalModes]] |
Latest revision as of 10:44, 13 September 2017
Language: | English • 中文(简体) |
---|
Contents
Selecting Drive Operation Modes
User selects the operation-mode using the OpMode command.
<''axis''>.OpMode = {POSITIONMODE|VELOCITYMODE|TORQUEMODE}
Command will change the drive (and axis!) opmode to the given value using the opmode bits of the SERCOS drive status word.
- Default state is POSITIONMODE (as today). All the standard deviation thresholds are checked: pe < pemax,vfb < vospd, te < terrmax, acmd < amax and tcmd < tmax.
- In VELOCITYMODE axis will NOT check position-error, but will check: vfb < vospd, te < terrmax, acmd < amax and tcmd < tmax.
- In TORQUEMODE axis will NOT check position-error or acceleration max, but will check: vfb < vospd, te < terrmax and tcmd < tmax.
- In Master-Slave - if the master or the slave is in TORQUEMODE or VELOCITYMODE - SLAVEDEVIATION value is NOT checked.
Torque Interpolation
New torque interpolation command will be implemented:
TORQUE <axis> tfinal
- This command interpolate the tcmd from its initial value to the given tfinal according to the profile parameters defined.
- In case TORQUE command is issued in POSITIONMODE or in VELOCITYMODE a note will be thrown and the TORQUE command will continue as usual interpolating TCMD (with probably no effects - as the drive is not in TORQUEMODE).
Stopping
- STOP command in TORQUEMODE mode will forcibly switch drive opmode to VELOCTYMODE producing the deceleration profile from the current VFB value t zero. The same behavior will be implemend for both user-entred stop command and the system-generated stop commands like: velocity-over speed error, tcmd > tmax, te>temax.
- New command HOLD <axis> will cause axis to stop interpolating torque. New property <axis>.HoldType will give the user option to select between keeping the stopped TCMD value or reducing it to zero. In bot cases the original TORQUEMODE will be not changed.
HOLD <axis> {HoldType = <value>}
Mode: | |
|
Position | |
HoldType value ignored! |
Velocity | |
HoldType value ignored! |
Torque | first switches into velocityMode with vcmd = vfb then executes motion profile from the vcmd to 0 according the given StopType |
HoldTyepe = 0 immediately(no profile) brakes TORQUE command and sets TCMD = 0 HoldTyepe = 1 immediately(no profile) brakes TORQUE command and keeps tha last value of TCMD |
Limitations and Side Effects
- Opmode changes are allowed in disabled drive state only.
- If an axis belongs to a group its opmode can not be changed separately.This means:
- opmode change is not allowed if an axis belongs to an attached group
- a group can not be attached (implicitly or explicitly) if it consist of axes with different opmodes.
- MOVE <axis> and JOG <axis> commands are producing PCMD,VCMDand TADDCMD (if DynamicModel is turned on). The TCMD value during these types of motion remains unchanged.
- [MC-Basic:TORQUE|TORQUE <axis>]] command is affecting PCMD, VCMD, TADDCMD values of the axis (their values are kept unchanged).Only the TCMD is interpolated.
- It is assumed that the drive adds the TCMD(IDN80) and TADDCMD(IDN81) in all OPMODEs. In case it is not so <axis>.SumTorque=1 will cause the value of TADDCMD to be added to TCMD:
- TORQUEMODE of an axis is not influencing camming/gearing operation.
- The interpolated torque values of a master axis will be NOT transferred to slave axes.
- Slave that is in TORQUEMODE continues to be slaved affecting only its PCMD and VCMD values.