FB_CheckActualKinStatus

FB_CheckActualKinStatus 1:

The Function Block FB_CheckActualKinStatus returns the status of the Kinematic channel.

FB_CheckActualKinStatus 2:

Getting the Kinematic channel status cyclically

This Function Block needs more than one PLC cycle to read the Kinematic channel status. To get it for every cycle use F_GetKinChnOperationState.

VAR_INPUT

VAR_INPUT
    bExecute              : BOOL;
END_VAR

bExecute: The command is triggered by a rising edge at this input.

VAR_IN_OUT

VAR_IN_OUT
    stAxesList            : ST_KinAxes;
    stKinRefIn            : NciChannelToPlc;
END_VAR

stAxesList: Determines the ACS and MCS axes included in the configuration. See ST_KinAxes.

stKinRefIn: Determines the kinematic group of the configuration. See NciChannelToPlc.

VAR_OUTPUT

VAR_OUTPUT
    eKinStatus            : E_KINSTATUS;
    bBusy                 : BOOL;
    bDone                 : BOOL;
    bError                : BOOL;
    nErrorId              : UDINT;
END_VAR

eKinStatus: Returns the status of the kinematic channel. See E_KINSTATUS

bBusy: The output becomes TRUE when the command is started with bExecute as long as the function block is executing the command. While bBusy is TRUE, no new instructions will be accepted at the inputs. When bBusy becomes FALSE again, the function block is ready for a new command. At the same time one of the outputs bDone or bError is set.

bDone: The output becomes true if the command succeeded.

bError: The output bError becomes true if an error occurs as the command is executed.

nErrorId: Contains the command-specific error code of the most recently executed command. The error code can be found in the ADS error documentation or in the NC error documentation (error codes above 0x4000).

Example

VAR
    fbFB_CheckActualKinStatus  : FB_CheckActualKinStatus;
    in_stKinToPlc AT %I*       : NciChannelToPlc;
    stAxesConfig               : ST_KinAxes;
    eKinStatus                 : E_KINSTATUS;
END_VAR
fbFB_CheckActualKinStatus(
    bExecute            := TRUE,
    stAxesListReference := stAxesConfig,
    stKinRefI           := in_stKinToPlc,
    eKinStatus          => eKinStatus      );

Kinematic Group State

FB_CheckActualKinStatus 3: