MC_GroupReadStatus (FB)ΒΆ

FUNCTION_BLOCK MC_GroupReadStatus

This function block returns the status of an axis group.

InOut:

Scope

Name

Type

Comment

Inout

AxisGroup

AXIS_GROUP_REF_SM3

Reference to a group of axes

Input

Enable

BOOL

Get the status of the axis group continuously while enabled

Output

Valid

BOOL

TRUE if valid outputs are available

Busy

BOOL

The FB is not finished

Error

BOOL

Signals that an error has occurred within the function block

ErrorID

SMC_ERROR

Error identification

GroupMoving

BOOL

See SMC_Axis_Group_State

GroupHoming

BOOL

See SMC_Axis_Group_State

GroupErrorStop

BOOL

See SMC_Axis_Group_State

GroupStandby

BOOL

See SMC_Axis_Group_State

GroupStopping

BOOL

See SMC_Axis_Group_State

GroupDisabled

BOOL

See SMC_Axis_Group_State

TrackingDynamicCS

BOOL

If the active movement is commanded using a dynamic coordination system, E.g. with MC_TrackConveyorBelt or MC_TrackRotaryTable.

InSync

BOOL

Indicates whether the axis group follows the programmed path exactly. If FALSE, the axis group is following the path within the configured tolerance. See SMC_GroupSetPathTolerance.

ActiveMovementId

SMC_Movement_Id

The identifier of the active movement. An Id of 0 means that no movement is active. During blending between two movements, the second movement becomes active as soon as blending starts. When aborting, the aborting movements becomes active immediately after it has been accepted. See FirstReferencedMovementId for additional information.

ActiveMovementName

STRING

The name of the active movement.

FirstReferencedMovementId

SMC_Movement_Id

The identifier of the first (i.e. oldest) movement which is still being referenced by an ongoing movement. An Id of 0 means that no movement is active. To test whether the axis group is fully tracked in to a dynamic coordinate system (or fully tracked out), the condition FirstReferencedMovementId = ActiveMovementId can be used.

LastAcceptedMovementId

SMC_Movement_Id

The identifier of the movement that was last accepted. An Id of 0 means that no movement has been accepted yet.

PositionLag

LREAL

The magnitude of the position lag (in position units). The position lag is the deviation of the position of the axis group from the programmed trajectory.

OrientationLag

LREAL

The magnitude of the orientation lag (in angular degrees). The orientation lag is the deviation of the orientation of the axis group from the programmed trajectory.

CurrentPlanningForecast

LREAL

The current planning forecast in seconds. Will be between 0 and the fPlanningForecastDuration configured using SMC_TuneCPKernel. While the axis group is moving, should be exactly the fPlanningForecastDuration. Limited to the remaining trajectory duration while the axis group is stopping.

CurrentSyncBufferDuration

LREAL

The current duration of the synchronisation buffer between fieldbus and planning task in seconds. Will be between 0 and the fSyncBufferDuration configured using SMC_TuneCPKernel. This value must be > 0 while the axis group is moving. Otherwise, the error SMC_CP_QUEUE_UNDERRUN will be reported.