FB_KinPresetRotation

FB_KinPresetRotation 1:

Der Funktionsblock FB_KinPresetRotation setzt den Rotationszustand.

Der Rotationszustand ist nicht persistent und muss gegebenenfalls nach einem TwinCAT Neustart neu gesetzt werden oder wenn ein Pfad nach einer ACS-Achsbewegung (Direct Mode) begonnen wird.

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

VAR_INPUT

VAR_INPUT
    bExecute       : BOOL;
    oidTrafo       : UDINT;
    stRotation     : ARRAY[1..3] OF LREAL;
END_VAR

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

oidTrafo: Objekt ID (OTCID) des kinematischen Transformationsobjekts.

stRotation: Voreinstellung von MCS Rotation1, Rotation2 und Rotation3

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: Äquivalente Rotationen (gleiche Werkzeugausrichtung)

Rotation1:=   -180              Rotation1:=   -180

Rotation2:=    45                Rotation2:=     45

Rotation3:=    157.95         Rotation3:=   -202.05

FB_KinPresetRotation muss genutzt werden, bevor FB_KinConfigGroup oder FB_KinCalcTrafo die Vorwärtstransformation ausführen.

FB_KinPresetRotation 3:

Um den erweiterten Drehbereich mit FB_KinCalcTrafo(bForward:=TRUE) ohne eine kinematische Gruppe zu nutzen, muss die Meta-Information uMetaInfo.aData[4] := 1 gesetzt 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)