Difference between revisions of "OperationalModes"
m (Text replace - "<Axis>" to "<''axis''>") |
m (Text replace - "<axis>" to "<''axis''>") |
||
Line 3: | Line 3: | ||
User selects the operation-mode using the OpMode command.<br> | User selects the operation-mode using the OpMode command.<br> | ||
<pre> | <pre> | ||
− | <axis>.OpMode = {POSITIONMODE|VELOCITYMODE|TORQUEMODE} | + | <''axis''>.OpMode = {POSITIONMODE|VELOCITYMODE|TORQUEMODE} |
</pre> | </pre> | ||
<br> | <br> | ||
Line 18: | Line 18: | ||
New torque interpolation command will be implemented: | New torque interpolation command will be implemented: | ||
<pre> | <pre> | ||
− | TORQUE <axis> tfinal | + | TORQUE <''axis''> tfinal |
</pre><br> | </pre><br> | ||
* 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. | ||
Line 27: | Line 27: | ||
* 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 [[Axystems:MC-Basic:HOLD|HOLD <''axis''>]] will cause axis to stop interpolating torque. New property [[Axystems:MC-Basic:axis.HOLDTYPE|<axis>.HoldType]] will give the user option to select between keeping the stopped [[Axystems:MC-Basic:axis.TORQUECOMMAND|TCMD]] value or reducing it to zero. In bot cases the original TORQUEMODE will be not changed. | + | * New command [[Axystems:MC-Basic:HOLD|HOLD <''axis''>]] will cause axis to stop interpolating torque. New property [[Axystems:MC-Basic:axis.HOLDTYPE|<''axis''>.HoldType]] will give the user option to select between keeping the stopped [[Axystems:MC-Basic:axis.TORQUECOMMAND|TCMD]] value or reducing it to zero. In bot cases the original TORQUEMODE will be not changed. |
<pre> | <pre> | ||
− | HOLD <axis> {HoldType = <value>} | + | HOLD <''axis''> {HoldType = <value>} |
</pre> | </pre> | ||
Line 51: | Line 51: | ||
# opmode change is not allowed if an axis belongs to an attached group <br> | # opmode change is not allowed if an axis belongs to an attached group <br> | ||
# '''a group can not be attached (implicitly or explicitly) if it consist of axes with different opmodes.'''}} | # '''a group can not be attached (implicitly or explicitly) if it consist of axes with different opmodes.'''}} | ||
− | {{Note|MOVE <axis> and JOG <axis> commands are producing [[Axystems:MC-Basic:axis.POSITIONCOMMAND|PCMD]],[[Axystems:MC-Basic:axis.VELOCITYCOMMAND|VCMD]]and [[Axystems:MC-Basic:axis.TORQUEADDCOMMAND|TADDCMD]] (if DynamicModel is turned on). The TCMD value during these types of motion remains unchanged.}} | + | {{Note|MOVE <''axis''> and JOG <''axis''> commands are producing [[Axystems:MC-Basic:axis.POSITIONCOMMAND|PCMD]],[[Axystems:MC-Basic:axis.VELOCITYCOMMAND|VCMD]]and [[Axystems:MC-Basic:axis.TORQUEADDCOMMAND|TADDCMD]] (if DynamicModel is turned on). The TCMD value during these types of motion remains unchanged.}} |
− | {{Note| [[Axystems:MC-Basic:TORQUE|TORQUE <axis>]] command is affecting [[Axystems:MC-Basic:axis.POSITIONCOMMAND|PCMD]], [[Axystems:MC-Basic:axis.VELOCITYCOMMAND|VCMD]], [[Axystems:MC-Basic:axis.TORQUEADDCOMMAND|TADDCMD]] values of the axis (their values are kept unchanged).Only the [[Axystems:MC-Basic:axis.TORQUECOMMAND|TCMD]] is interpolated. }} | + | {{Note| [[Axystems:MC-Basic:TORQUE|TORQUE <''axis''>]] command is affecting [[Axystems:MC-Basic:axis.POSITIONCOMMAND|PCMD]], [[Axystems:MC-Basic:axis.VELOCITYCOMMAND|VCMD]], [[Axystems:MC-Basic:axis.TORQUEADDCOMMAND|TADDCMD]] values of the axis (their values are kept unchanged).Only the [[Axystems:MC-Basic:axis.TORQUECOMMAND|TCMD]] is interpolated. }} |
− | {{Note| We assume dirves adds the [[Axystems:MC-Basic:axis.TORQUECOMMAND|TCMD]](IDN80) and [[Axystems:MC-Basic:axis.TORQUEADDCOMMAND|TADDCMD]](IDN81) in all OPMODEs. In case it is not so <axis>.[[Axystems:MC-Basic:axis.SUMTORQUE|SumTorque]]<nowiki>=1</nowiki> will cause the value of [[Axystems:MC-Basic:axis.TORQUEADDCOMMAND|TADDCMD]] to be added to [[Axystems:MC-Basic:axis.TORQUECOMMAND|TCMD]]:<br> | + | {{Note| We assume dirves adds the [[Axystems:MC-Basic:axis.TORQUECOMMAND|TCMD]](IDN80) and [[Axystems:MC-Basic:axis.TORQUEADDCOMMAND|TADDCMD]](IDN81) in all OPMODEs. In case it is not so <''axis''>.[[Axystems:MC-Basic:axis.SUMTORQUE|SumTorque]]<nowiki>=1</nowiki> will cause the value of [[Axystems:MC-Basic:axis.TORQUEADDCOMMAND|TADDCMD]] to be added to [[Axystems:MC-Basic:axis.TORQUECOMMAND|TCMD]]:<br> |
[[Axystems:MC-Basic:axis.TORQUECOMMAND|TCMD]] <nowiki>=</nowiki> [[Axystems:MC-Basic:axis.TORQUECOMMAND|TCMD]] + [[Axystems:MC-Basic:axis.TORQUEADDCOMMAND|TADDCMD]] | [[Axystems:MC-Basic:axis.TORQUECOMMAND|TCMD]] <nowiki>=</nowiki> [[Axystems:MC-Basic:axis.TORQUECOMMAND|TCMD]] + [[Axystems:MC-Basic:axis.TORQUEADDCOMMAND|TADDCMD]] | ||
}} | }} |
Revision as of 11:24, 19 March 2014
Contents
Enabling user working in different operation modes of the drive
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
NOTE | |
Opmode changes are allowed in disabled drive state only. |
NOTE | |
If an axis belongs to a group it's opmode can not be changed separately.This means:
|
NOTE | |
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. |
NOTE | |
TORQUE <axis> command is affecting PCMD, VCMD, TADDCMD values of the axis (their values are kept unchanged).Only the TCMD is interpolated. |
NOTE | |
We assume dirves 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: |
NOTE | |
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. |
See also: