In this section, you'll learn how to make a gear move using KINGSTAR gear functions.
There are two kinds of gear moves: general gearing and gear-in-position.
- Gear in position
A gear move is to synchronize the master and slave's velocity. The velocity ratio between the master and slave can be customized. When the master is moving, the slave's velocity is calculated using the master's velocity and follows the ratio you defined. The slave's position is changed when the master is moved. The slave and master's positions are based on the gear ratio you set. For example, the ratio is 2 (slave) : 1 (master). The slave and master's positions will be something like 2000 and 1000 after you move the master.
A gear-in-position move is a gear move with specific starting positions of the master and slave axes. The starting position must be far enough for the slave to synchronize the velocity with the master in time. The distance for both axes to reach their starting positions and their motion profiles are calculated automatically. The calculation takes time, so the synchronization only starts from the next cycle.
Process of making a gear move
The process below shows how to make a gear move in KINGSTAR:
- SetAxisGear -> motion functions -> AbortCommand
- SetAxisGearInPos -> motion functions -> AbortCommand
SetAxisGear: sets a gear ratio and links the axes to gear.
SetAxisGearInPos: sets a gear ratio between the position of the slave and master axes from the synchronization point onwards.
AbortCommand: cancels a command. It detaches the slave axis from the master axis immediately to exit the gear mode.
The following are motion functions. For more information about their use, see Chapter 5.
- MoveAxisAbsolute: moves an axis to an absolute position.
- MoveAxisContinuousAbsolute: moves an axis to an absolute position. After that, the axis keeps moving using the EndVelocity.
- MoveAxisAdditive: adds a relative distance based on the last commanded position in the Discrete Motion state.
- MoveAxisRelative: moves an axis a specified distance.
- MoveAxisContinuousRelative: moves an axis a specified distance. After that, the axis keeps moving using the EndVelocity.
- MoveAxisVelocity: moves an axis continuously at the specified velocity.
- JogAxis: moves an axis continuously at the specified velocity. After you send a Jog command, the axis will accelerate to the specified velocity and keeps moving at that speed, until you stop it.
- InchAxis: same as JogAxis but it has a maximum distance. After the axis travels the distance it will automatically stop.
Keep in mind that gear defines the behavior of a slave axis, not master. The master axis doesn't know a slave axis is attached to itself. After you gear two axes, only the master should be moved.
Take the following steps to implement gearing.
- Link a slave axis to the master (SetAxisGear)
- Move the master axis: use one of the motion functions to move the master axis.
- Exit gearing