# MC_MoveCircAbs

Dieser Funktionsbaustein beauftragt eine zirkular interpolierte Bewegung der Achsen einer Achsgruppe, indem absolute Zielpositionen vorgegeben werden.

Blockdiagramm

Parameter des FB

VAR_IN_OUT
Variablenname | Datentyp | Beschreibung
AxesGroup | AXES_GROUP_REF | Achsgruppenreferenz
VAR_INPUT
Variablenname | Datentyp | Beschreibung
Execute | BOOL | Bei steigender Flanke startet die zirkular interpolierte Bewegung der Achsen, entsprechend den als absolute Koordinaten vorgegebenen Positionen.
CircMode | MC_CIRC_MODE | Dieser Eingang legt fest, welche Bedeutung die Werte an den Eingängen „AuxPoint“ und „PathChoice“ haben. Erlaubte Werte für diesen Eingang sind mcCenter = 1 mcRadius = 2 und in Bedeutung des Eingang „CircMode“ bei Absolutprogrammierung näher beschrieben.
AuxPoint | ARRAY [0..HLI_CH_AX_MAXIDX] OF LREAL | Absolutkoordinaten eines Punktes im aktuellen Koordinatensystem. Von welcher Art der zusätzliche Punkt ist, wird durch den Wert an Eingang „CircMode“ festgelegt. Standard-Einheit [0,1 µm]
EndPoint | ARRAY [0..HLI_CH_AX_MAXIDX] OF LREAL | Absolutkoordinaten des Endpunktes der Kreisbewegung im aktuellen Koordinatensystem. Standard-Einheit [0,1 µm]
PathChoice | MC_CIRC_PATHCHOICE | Bestimmt, ob vom Startpunkt aus im Uhrzeigersinn oder gegen den Uhrzeigersinn, auf der durch die Werte an „CircMode“, „AuxPoint“ und „EndPoint“ definierten Kreisbahn, zum Endpunkt gefahren wird. In Bedeutung des Eingang „PathChoice“ sind die zulässigen Werte für diesen Eingang beschrieben.
MainPlane | MCV_MAIN_PLANE | Der Wert dieses Eingangs legt die Hauptebene des Programmierkoordinatensystems fest, in welcher der Kreis interpoliert wird. Erlaubte Werte für diesen Eingang sind mcvMpXY = 0 mcvMpZX = 1 mcvMpYZ = 2
Velocity | LREAL | Maximale Bahngeschwindigkeit der Bewegung. Diese wird nicht zwingend erreicht. Standard-Einheit [10-3 °/s]
BufferMode | MC_BUFFER_MODE | Der Eingang legt fest, wann die Aktivierung eines Auftrags stattfindet, wenn bei der Beauftragung des FB bereits andere Aufträge aktiv sind oder auf die Ausführung warten. Außerdem wird damit die Bahnerzeugung am Übergang zwischen 2 Aufträgen festgelegt. Folgende Werte sind möglich:

mcAborting = 0

mcBuffered = 1

mcBlendingPrev = 3

TransitionMode | UDINT | 0: TMNone (es wird keine Überschleifbewegung eingefügt, Standardeinstellung) 2: TMConstantVelocity 3: TMCornerDistance 4: TMMaxCornerDeviation 10: TMConstDeviation

11: TMIntermediatePoint

12: TMDynamicOptimized

TransitionParameter | MCV_ARRAY_TRANS_PARAM | Siehe Kapitel Konturüberschleifen und Übergangsbedingungen
VAR_OUTPUT
Variablenname | Datentyp | Beschreibung
Done | BOOL | TRUE zeigt an, dass die Achsen ihre Endposition erreicht haben.
Busy | BOOL | TRUE zeigt an, dass der FB mit einem Auftrag beschäftigt ist.
Active | BOOL | TRUE zeigt an, dass der FB den Auftrag an den MC gegeben hat.
CommandAborted | BOOL | TRUE zeigt an, dass der über diesen FB abgesetzte und noch aktive Auftrag durch einen anderen Auftrag abgebrochen wurde.
Error | BOOL | TRUE zeigt an, dass ein Fehler aufgetreten ist.
ErrorID | WORD | Fehlerkennung
JobID | UDINT | Ordnungsnummer des letzten über den FB abgesetzten Auftrages.

## Hinweis

Ergibt sich durch die Vorgaben an den Eingängen „AuxPoint“ und „EndPoint“ eine Strecke in Richtung der 3. Hauptachse des in der Ebene der Kreisbahn aufgespannten orthogonalen Koordinatensystems, so führt die Anwendung dieses FB zu einer schraubenförmigen Bewegung (siehe [PROG//Helikalinterpolation]).

## Weiterführende Informationen

- Bedeutung des Eingang „CircMode“ bei Absolutprogrammierung
- Bedeutung des Eingang „PathChoice“