Gantry Issues
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. |
|