Change between master and time driven modes
Changing the motion mode between Master Driven and Time Driven Mode and vice versa is automatically performed when another motion instruction (such as, MCLM and MCCM) is activated if the new instruction has been programmed in a different mode than the active motion instruction.
When the new motion instruction is activated, the system will assume that the desired mode for the new instruction is the mode (Master Driven or Time Driven) as specified in the programmed units of the speed parameter contained in the new instruction. At all times, including when changing modes, the Accel, Decel, and Jerk must be programmed in the same units as the Speed parameter or the instruction will get a MDSC_UNITS_CONFLICT_ERROR error.
A runtime MDSC_INVALID_MODE_OR_MASTER_CHANGE error will occur if you attempt to change from Master Driven Mode to Time Driven Mode or vice versa with an MCCD instruction.
If both the master and slave axes are idle (for example, paused), the MCLM or MCCM can make a change on the slave. However, the error MDSC IDLE_MASTER_AND_SLAVE_MOVING is generated if MDSC mode is started while the Slave Coordinate System is moving when the master is idle.
Different Time Driven and Master Driven Modes may be used for different motion types for superimposed motion. For example, the MAM may be in time drive mode for an axis in the Coordinate System and the MCLM may be in Master Driven Mode for the Coordinate System.
Change the Master Axis
Follow this sequence of events to transfer a Slave Coordinate System from one Master Axis to a second Master Axis.
- First, you must execute an MDCC instruction to reassign the Slave Coordinate System from the first Master Axis to the second Master Axis. This makes the reassignment pending. The IP bit of the MDCC instruction is set as an indication of the pending reassignment.
- Second, you must execute a new motion command (for example, an MCLM or MCCM). The Slave Coordinate System becomes unlocked from the first Master Axis and reassigned to the second Master Axis when this motion instruction is executed (goes IP).
The final effective slave speed is computed as the product of the Master Axis’ speed and the slave’s programmed speed. If the new final effective Slave Coordinate System speed is less than 10%, depending on the move of the original Slave Coordinate System speed, then the change will not be allowed and the MDSC_INVALID_SLAVE_SPEED_REDUCTION error will occur. If the second Master Axis is idle (velocity=0), the motion instruction making this request receives an MDSC_IDLE_MASTER_AND_SLAVE_MOVING error.
If the second Master Axis is moving while the transfer is being made, then you may look at the TrackingMaster instruction status bit of the motion instruction that is performing the transfer to determine when the transfer is finished. This bit is set when the acceleration or deceleration on the Slave Coordinate System is complete. At which time the Slave Coordinate System will be synchronized to the second Master Axis.
Provide Feedback