FB_KinExtendedRotationRange

FB_KinExtendedRotationRange 1:
FB_KinExtendedRotationRange 2:

Erweiterter Drehbereich

  • Für eine eindeutige Lösung ist der Standard-Drehbereich begrenzt auf:
  1. Rotation1: -180 bis 180 Grad,
  2. Rotation2: -90 bis 90 Grad,
  3. Rotation3: -180 bis 180 Grad.
  • In manchen 6-Achs-Anwendungen ist es wünschenswert, über diesen Drehbereich hinaus rotieren zu können.
    Die Funktionsbausteine FB_KinExtendedRotationRange und FB_KinPresetRotation ermöglichen es, den Rotationszustand über die Default-Werte hinaus auszuweiten, zu speichern und wiederherzustellen.

Der Funktionsbaustein FB_KinExtendedRotationRange speichert und stellt den Rotationszustand der kinematischen Gruppe wieder her.

Wenn der Bustein mit bActivate:=TRUE ausgeführt wird, wird der Rotationszustand gespeichert, bis die kinematische Gruppe aufgelöst wird. Wenn die kinematische Gruppe anschließend gebaut oder zurückgesetzt wird, wird der gespeicherte Rotationszustand wiederhergestellt. Für den Fall, dass die Rotation deutlich abweicht (>10.0 Grad pro Achse), wird der gespeicherte Rotationszustand nicht wiederhergestellt und FB_KinConfigGroup oder FB_KinResetGroup schlagen mit dem Fehler 0x815D fehl.

Wenn der Baustein mit bActivate:=FALSE ausgeführt wird, wird der Rotationszustand nicht gespeichert oder wiederhergestellt (Default-Verhalten).

VAR_INPUT

VAR_INPUT
    bExecute       : BOOL;
    oidTrafo       : UDINT;
    bActivate      : Bool;
END_VAR

bExecute: Mit einer steigenden Flanke wird das Kommando ausgeführt.

oidTrafo: Objekt ID (OTCID) des kinematischen Transformationsobjekts.

bActivate: Wenn auf TRUE gesetzt, wird der erweiterte Drehbereich aktiviert.

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.

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS Bibliotheken

TwinCAT V3.1.4024.7

Advanced Motion Pack V3.1.10.1

PC oder CX (x86 oder x64)

Tc2_KinematicTransformation (V3.2.7.3 oder neuer)