FB_KinResetGroup

FB_KinResetGroup 1:

Der Funktionsbaustein FB_KinResetGroup setzt die Kinematikgruppe zurück. Alle ACS- und MCS-Achsen werden zurückgesetzt. Des Weiteren kann der Eingang nItpChannelId für die Festlegung des zugehörigen Interpolationskanals verwendet werden. Der Kanal wird zurückgesetzt, wenn die nItpChannelId ungleich 0 ist.

Wenn alle Achsen freigegeben sind und die Gruppe sich im kartesischen Modus befand, dann kehrt die Gruppe zurück zum Zustand KinStatus_Ready. Befand sich die Gruppe nicht im kartesischen Modus, dann kehrt die Gruppe zum Zustand KinStatus_Empty zurück. Wenn die Achsen nicht freigegeben sind, dann verbleibt die Gruppe im Zustand KinStatus_Empty.

VAR_INPUT

VAR_INPUT
    bExecute      : BOOL;
    nItpChannelId : UDINT;
END_VAR

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

nItpChannelId: ID des zugehörigen Interpolationskanals. Wenn der Eingang ungleich 0 ist, dann wird der zugehörige Interpolationskanal zurückgesetzt.

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
    bBusy                 : BOOL;
    bDone                 : BOOL;
    bError                : BOOL;
    nErrorId              : UDINT;
END_VAR

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_ResetKinGroup   : FB_KinResetGroup;
    stAxesConfig         : stAxesConfig;
    in_stKinToPlc AT %I* : NCTOPLC_NCICHANNEL_REF;
END_VAR
fbFB_ResetKinGroup(
    bExecute := TRUE,
    nItpChannelId := 3,
    stKinRefIn := in_stKinToPlc,
    stAxesList := stAxesConfig,
    bBusy=> ,
    bDone=> ,
    bError=> ,
    nErrorId=> );

Zustand der Kinematikgruppe

FB_KinResetGroup 2: