MC_ReadStatus_BkPlcMc (from V3.0)

MC_ReadStatus_BkPlcMc (from V3.0) 1:

The function block determines the current state of an axis.

MC_ReadStatus_BkPlcMc (from V3.0) 2: Inputs

VAR_INPUT
    Enable:              BOOL;
END_VAR

Name

Type

Description

Enable

BOOL

A TRUE state at this input triggers an update of the function block.

MC_ReadStatus_BkPlcMc (from V3.0) 3: Inputs/outputs

VAR_INOUT
    Axis:               Axis_Ref_BkPlcMc;
END_VAR

Name

Type

Description

Axis

Axis_Ref_BkPlcMc

Here, the address of a variable of type Axis_Ref_BkPlcMc should be transferred.

MC_ReadStatus_BkPlcMc (from V3.0) 4: Outputs

VAR_OUTPUT
    Busy:               BOOL;
    Done:               BOOL;
    Error:              BOOL;
    ErrorID:            UDINT;
    Errorstop:          BOOL;
    Disabled:           BOOL;
    Stopping:           BOOL;
    StandStill:         BOOL;
    DiscreteMotion:     BOOL;
    ContinousMotion:    BOOL;
    SynchronizedMotion: BOOL;
    Homing:             BOOL;
    ConstantVelocity:   BOOL;
    Accelerating:       BOOL;
    Decelerating:       BOOL;
END_VAR

Name

Type

Description

Busy

BOOL

Indicates that a command is being processed.

Done

BOOL

Successful determination of the actual position is indicated here.

Error

BOOL

This output reports any problems relating to the function of the function block.

ErrorID

UDINT

Provides a coded cause of error, if the function block was unable to execute the required function.

Errorstop

BOOL

This signal indicates that the axis associated with an error has been placed in a state in which it is not able to operate. This state can only be cleared by activating either a MC_Reset_BkPlcMc or a MC_ResetAndStop_BkPlcMc function block.

Disabled

BOOL

This signal indicates whether the axis is enabled or disabled by its MC_Power_BkPlcMc function block.

Stopping

BOOL

This signal indicates that an active movement of the axis is being stopped by a MC_Stop_BkPlcMc or by a MC_ResetAndStop_BkPlcMc function block. This signal is cleared as soon as the axis is stationary.

StandStill

BOOL

This signal indicates that the axis is neither in a fault state nor is it active.

DiscreteMotion

BOOL

This signal indicates that the axis is executing an autonomous movement (not resulting from a coupling) with a defined target.

ContinousMotion

BOOL

This signal indicates that the axis is executing an autonomous movement (not resulting from a coupling) with a defined velocity but not with a specified target.

SynchronizedMotion

BOOL

This signal indicates that the axis is being controlled by a gear coupling.

Homing

BOOL

This signal indicates that the axis is executing a homing.

ConstantVelocity

BOOL

This signal indicates that the axis is being moved with constant velocity.

Accelerating

BOOL

This signal indicates that the velocity of an axis is reaching a specified value.

This does not always mean that the velocity is increasing: when an axis that is already in movement is started, it can happen that the axis accelerates in the direction opposite the current sense of the velocity in order to achieve a specified velocity in the other direction. From the point of view of the original movement this is a deceleration, although from the point of the current (new) movement it is still an acceleration.

Decelerating

BOOL

This signal indicates that the axis is reducing its velocity in order to continue a movement with a velocity lower than the current velocity, or in order to end it.

Behavior of the function block

If Enable is TRUE, the function block checks the transferred axis interface and decodes the internal state information. A FALSE state at Enable clears all pending output signals.

MC_ReadStatus_BkPlcMc (from V3.0) 5:

This function block requires no time and no preconditions for executing its tasks. The outputs Error and Busy will never assume the value TRUE and only exist for compatibility reasons.

MC_ReadStatus_BkPlcMc (from V3.0) 6:

Observe outputs

The outputs Error and ErrorID indicate the state of the function block, not that of the axis.

To read the current error code of the axis a MC_ReadAxisError_BkPlcMc() function block must be used.