FB_KinCheckActualStatus

FB_KinCheckActualStatus 1:
FB_KinCheckActualStatus 2:

Veraltete Version

Dieser Funktionsbaustein existiert ausschließlich zur Gewährleistung der Kompatibilität mitbestehenden Projekten. Für neue Projekte verwenden Sie bitte F_KinGetChnOperationState. Dieser Funktionsbaustein benötigt mehr als einen SPS-Zyklus, um den Status des Kinematikkanals zu lesen. Um ihn für jeden Zyklus zu erhalten, benutzen Sie F_KinGetChnOperationState.

Der Funktionsbaustein FB_KinCheckActualStatus gibt den Status des Kinematikkanals zurück.

VAR_INPUT

VAR_INPUT
    bExecute              : BOOL;
END_VAR

bExecute: Der Befehl wird durch eine steigende Flanke an diesem Eingang ausgelöst.

VAR_IN_OUT

VAR_IN_OUT
    stAxesList            : ST_KinAxes;
    stKinRefIn            : NCTOPLC_NCICHANNEL_REF;
END_VAR

stAxesList: Bestimmt die ACS- und MCS-Achsen, die in der Konfiguration enthalten sind. Siehe ST_KinAxes.

stKinRefIn: Bestimmt die Kinematikgruppe der Konfiguration.

VAR_OUTPUT

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

eKinStatus: Gibt den Status des Kinematikkanals zurück. Siehe E_KINSTATUS.

bBusy: Der Ausgang wird TRUE, wenn der Befehl mit bExecute gestartet ist und bleibt es dann so lange, wie der Funktionsbaustein den Befehl ausführt. Während bBusy gleich TRUE ist, wird an den Eingängen kein neuer Befehl angenommen. Wenn bBusy wieder FALSE wird, ist der Funktionsbaustein bereit für einen neuen Befehl. Gleichzeitig wird einer der Ausgänge bDone oder bError gesetzt.

bDone: Der Ausgang wird TRUE, wenn der Befehl erfolgreich ausgeführt wurde.

bError: Der Ausgang bError wird auf TRUE gesetzt, wenn bei der Ausführung des Befehls ein Fehler aufgetreten ist.

nErrorId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Der Fehlercode kann in der ADS-Fehlerdokumentation oder in der NC-Fehlerdokumentation (Fehlercodes ab 0x4000) nachgeschlagen werden.

Beispiel

VAR
    fbFB_KinCheckActualStatus  : FB_KinCheckActualStatus;
    in_stKinToPlc AT %I*       : NCTOPLC_NCICHANNEL_REF;
    stAxesConfig               : ST_KinAxes;
    eKinStatus                 : E_KINSTATUS;
END_VAR
fbFB_KinCheckActualStatus(
    bExecute            := TRUE,
    stAxesListReference := stAxesConfig,
    stKinRefIn          := in_stKinToPlc,
    eKinStatus          => eKinStatus      );

Zustand der Kinematikgruppe

FB_KinCheckActualStatus 3: