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.

Mit dem Funktionsbaustein FB_KinExtendedRotationRange wird der Rotationszustand der kinematischen Gruppe gespeichert und wiederhergestellt.

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).

FB_KinExtendedRotationRange 3: Eingänge

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

Name

Typ

Beschreibung

bExecute

BOOL

Mit einer steigenden Flanke wird das Kommando ausgeführt.

oidTrafo

UDINT

Objekt-ID (OTCID) des kinematischen Transformationsobjekts. Siehe Beispiel unten.

bActivate

BOOL

Wenn auf TRUE gesetzt, wird der erweiterte Drehbereich aktiviert.

FB_KinExtendedRotationRange 4: Ausgänge

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

Name

Typ

Beschreibung

bBusy

BOOL

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

BOOL

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

bError

BOOL

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

nErrorId

UDINT

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)