Move Commands and Channels

Reference Position Generator

For the generation of reference values of a carrier, the SoMotionGenerator (SMG) is used internally. It provides independent channels. These channels (designated A, B and C) generate individual position reference values whose sum is the resulting reference value which is transferred to the carrier.

Reference value channel A

Reference value channel B

Resulting reference value

The SMG can process positioning as well as cam jobs. The motion jobs to be assigned are parameterized within the structure ST_MotionJob of the PD_SoMotionGenerator library and directly assigned to the individual channels by the method TakeJob specified in the PD_SoMotionGenerator library.

For more information on the SoMotionGenerator, refer to the PD_SoMotionGenerator library.

The motion jobs are defined with the move commands of the MCR library, for example MoveDirectly.

Change of Move Commands (Channel Bundling)

A new move command aborts the active motion jobs of the three channels, adds up their reference values and starts the new move command on channel A with the bundled value as a starting condition.

The following move commands use channel bundling:

  • ifMotion.ifMoveDirectly.Start

  • ifMotion.ifMoveDirectly.Stop

  • ifMotion.ifMoveGapControl.Start

  • ifMotion.ifMoveGapControl.Stop

  • ifMotion.ifJogging.Start

  • ifMotion.ifJogging.Stop

  • ifMotion.StopCarrier

  • ifMotion.StopCarrierWithEmergencyParameter

  • ifMotion.ifMoveSyncFromStandstill.Stop

Example

Preconditions:
  • Reference value on channel A = 900 (mm)

  • Reference value on channel C = 100 (mm)

  • Reference position of the carrier = 1000 (mm)

  1. You specify a new move command MoveDirectly with the positioning mode Absolute and a target value of 1050 mm.

  2. With channel bundling, the motion values on channel C are transferred to channel A. The reference position of the carrier on channel A is now 1000 mm.

  3. The move command MoveDirectly is executed on channel A: The movement starts at 1000 mm and ends at 1050 mm.

NOTE: If you want to start a motion job on different channels, you can use the method SetposRelativeChannelABC.


For a visual illustration of channel splitting with the method SetposRelativeChannelABC and of channel bundling, refer to the channels ABC video sequence.