Motion Hold is a feature available to any motion on an Axis or MultiAxis. The feature allows the user to command (and therefore load) a motion that should not execute immediately. The motion will be triggered by some real-time condition monitored by the RMP firmware.
There are three main types of Motion Hold:
- I/O triggered motion - A motion holds its execution until an I/O value reaches the desired state.
- Position triggered motion - A motion holds its execution until an Axis position is exceeded.
- Software triggered motion - A motion holds its execution until a bit is set in the RMP’s firmware memory.
Motion Hold is especially useful when a motion needs to have a very tight synchronization with some other process -- when the synchronization must be accurate to less than one millisecond. A Windows app cannot offer this level of synchronization so it must be configured into the RMP for processing in the real-time firmware for sub-millisecond response to start motion.
Some examples of when Motion Hold might be used for various types:
EXAMPLE 1 - IO Triggered Motion
An Axis may need to perform its motion precisely when a digital input bit changes state.
EXAMPLE 2 - Position Triggered Motion
An Axis may need to wait for some other Axis to move into a safe position before it can start its motion.
EXAMPLE 3 - Software Triggered Motion
An Axis object (Or two axes) that has independent motion but must be started synchronously (can also be accomplished using MultiAxis). The Windows application will set a bit in RMP firmware memory which will trigger both Axis objects to start within the same RMP sample period.