Difference between revisions of "Gantry Issues"
m (Text replace - "Axystems:" to "") |
|||
Line 101: | Line 101: | ||
* Context: Task or Terminal | * Context: Task or Terminal | ||
− | See Also: [[ | + | See Also: [[MC-Basic:axis.SLAVEDISABLE |SlaveDisable]] |
Once the '''''<nowiki><master>.SlaveDisable</nowiki>''''' is on, each time the axis is disabled (due to an error, or by direct assignment i.e., ”en=0”) all of its slave axes will be disabled: | Once the '''''<nowiki><master>.SlaveDisable</nowiki>''''' is on, each time the axis is disabled (due to an error, or by direct assignment i.e., ”en=0”) all of its slave axes will be disabled: | ||
Line 125: | Line 125: | ||
Flag for protection against unwonted disconnection between master and slave pairs during camming/gearing. If this flag is off, the master/slave pair will be disconnected from each other only by explicit issuing: “<slaveaxis>.slave= 0” or “STOP <slaveaxis>”. | Flag for protection against unwonted disconnection between master and slave pairs during camming/gearing. If this flag is off, the master/slave pair will be disconnected from each other only by explicit issuing: “<slaveaxis>.slave= 0” or “STOP <slaveaxis>”. | ||
− | See Also: [[ | + | See Also: [[MC-Basic:axis.SLAVEDISCONNECT |SlaveDisconnect]] |
{{Note|Special care must be taken to avoid loops i.e. if the master disables the slave and the slave disables the master there must be a way that explicit enabling of master-slave pair succeeds.}} | {{Note|Special care must be taken to avoid loops i.e. if the master disables the slave and the slave disables the master there must be a way that explicit enabling of master-slave pair succeeds.}} |
Revision as of 09:16, 22 May 2014
In some applications, gantry systems (pair of parallel axes) are implemented as master slave pairs. Where master is a part of a bigger (XYZ) group and each of the group's axis can be a master to a different slave axis. The whole issue can be extended to any group of geared axes that are moving together one physical object.
Problems
Problems occur when due to asymmetrical engagement of the system either by different stopping starting or mechanical non-symmetries.
1.) Motors are directly working against mechanic and possible mechanical breakage/damage can occur.
2.) The systems forms a mechanical feedback loop and instability in form of axis runway can occur.
3.) Load is distributed not equally, therefore dynamic behavior of one axis differs from the other.
Prevention features:
- Slave deviation: difference in position between master's and slave's feedback is monitored if it exceeds certain threshold an error is generated and the system stopped. MC-Basic: <slave>.SlaveDeviation .
- Slave disconnect: when slave is disabled either due to explicit user command or as a result of an error its master is automatically disabled. MC-Basic: <slave>.SlaveDisconnect .
- The master is "aware" of its slaves. Keeping slave in enabled state when master is disabled can introduce a feedback loop (mechanical linkage between slave and master) resulting is a system that is not always stable i.e. we have a runaway. This can be prevented using SlaveDisable flag, each time a master is disabled due to whatever reason all its slaves will be disabled too. MC-Basic: <master>.SlaveDisable .
- In order to keep the delay between master and slave minimal it is imporrtant to take care about the order of calling of axis RTK. Connecting slave to a master automaticaly re-orders their RTK by changing their priorities.
Table of Actions
We define General Axis Deviation (GAD) is as one of the following events:
- position follwing error (Pe > PeMax)
- velocity overspeed (Vfb > Vospd)
- excessive acceleration (over Sys.MotionMargin*Amax)
- excessive torque (over Tmax)
- slave deviation (SlaveDeviation > SlaveMaxDeviation)
Action: | (or master is PEXT) |
|
|
|
Slave GAD | Stopping master axis Stopping slave axis |
else disabling the master |
| |
Slave GAD (when slave is stopped) |
| |||
Slave GAD (when master is stopped) |
Disabling slave | |||
Master GAD | | |||
Master GAD (wnen master is stopped) |
|
| ||
Error on slave axis | Stopping slave axis |
|
| |
Error on master axis | | |||
Disabling master: (max.en: 1→0) |
|
| ||
Disabling slave: (sax.en: 1→0) |
No disconnection. |
Disable all master axes connected directly or indirectly. |
|