MC_SyncSlaves

PLCopen motion icon

 Function BlockClosed A function block groups an algorithm and a set of private data. It has inputs and outputs. - Allows the application to specify what slave axes are to be synchronizedClosed Combines an axis or axes group (as slave) with an axis as master. The slave executes its path with synchronization to the progress of the master. This is linked to a one dimension source for synchronization. and which master they follow.

Inputs

Input

Data Type

Range

Unit

Default

Description

Execute

BOOL

0, 1

N/A

No default

On the rising edgeClosed The transition of a digital signal from low to high. AKA: positive edge., request to queue the synchronization of a list of slave axes.

Master

AXIS_REF

1, 256

N/A

No default

Master axis identifier.

SlaveCount

AXIS_REF

1, 256

N/A

No default

The number of slave axes listed in the SlaveList array input that are to be synchronized.

  • This number must not be greater than the declared size of the SlaveList array.
  • If this number is 0 (zero), the list of synchronized slaves for the specified Master axis is cleared.
  • The AXIS_NUM element of the AXIS_REF structure must be in the range.

SlaveList

UINT

1, 32

N/A

No default

The list of slave axes that are to be synchronized.

  • Each element of this array contains a unique axis number.
  • The axis number must not be the same as the Master axis number.

Outputs

Output

Data Type

Range

Unit

Description

Done

BOOL

 

 

Indicates the synchronized slave assignments were completed without error.

Error

BOOL

 

 

Indicates an invalid input was specified.

ErrorID

INT

 

 

Indicates the error if the Error output is set to TRUE.

See PLCopen Function Block ErrorIDs.

Remarks

Figure 1: MC_SyncSlaves

Usage

  • Call MC_SyncSlaves to specify the slave axes to synchronize.
  • Call each slave move (e.g., MC_GearIn) for each slave axis.
    • The motion is held off until all the slave moves have been queued.
  • After all the slave moves have been queued, the interpolation for all the slave axes begin on the same servo interrupt, providing a synchronized start.
  • The master axis can be in motion prior to this sequence or the master can be commanded after all the slave moves are queued.

FBD Language Example

Not available.

FFLD Language Example

IL Language Example

Not available.

ST Language Example

(* MC_SyncSlaves ST example *) 
// Inst_MC_SyncSlaves is an instance of MC_SyncSlaves function block
Inst_MC_SyncSlaves( SyncSlaves, Axis1, SlaveCount, SlaveList );

See Also