MC_SetPosition (Servosteuerung legt Position fest)
Die MC_SetPosition-Anweisung verschiebt das Koordinatensystem einer Achse durch Ändern der tatsächlichen Achsposition mit demselben Wert, ohne dabei irgendeine Bewegung zu verursachen.
Details zum Betrieb:
- MC_SetPosition kann nur im Achsenstatus „Stillstand“ oder „Kontinuierliche Bewegung“ (MC_ExecutionMode = 0) erfolgreich beendet werden oder wenn die laufende Bewegung abgeschlossen und im Zustand „Stillstand“ (MC_ExecutionMode = 1) beendet wird.
- MC_SetPosition funktioniert genau wie MC_Home, wenn HomingMode = MC_HOME_DIRECT (0x04), ausgenommen, der Funktionsblock „MC_Home“ legt den Zustand „Zurückgesetzte Achse“ fest.
- Wenn MC_ExecutionMode = 0 (mcImmediately), wird beim Ausführen von Funktionsblock „MC_SetPosition“ ein Fehler gemeldet, wenn die Achse eine laufende nicht kontinuierliche Bewegung hat.
- Wenn MC_ExecutionMode = 1 (mcQueued), findet die tatsächliche Positionsfestlegung nur statt, wenn alle vorherigen laufenden Bewegungen gestoppt werden. Mindestens eine der Ausgaben „Done“ (Fertig), „Aborted“ (Abgebrochen) oder „Error“ (Fehler) jedes vorherigen Funktionsblocks muss also „True“ sein.
Unterstützte Sprachen: Funktionsblockdiagramm, Kontaktplan und Strukturierter Text.
Diese Anweisung gilt für die
Micro850
L50E- und Micro870
L70E-Controller mit Unterstützung der Servosteuerung.MC_SetPosition

Parameter | Parametertyp | Datentyp | Beschreibung |
|---|---|---|---|
EN | Eingang | BOOL | Anweisungsblock aktivieren.
Gilt nur für Kontaktplan-Programme. |
AxisIn | Eingang | AXIS_REF FB_AXIS_REF | Definieren Sie AxisIn mithilfe des Datentyps AXIS_REF. Bei FB_Axis (Feedbackachse) verwenden Sie den Datentyp FB_AXIS_REF, um AxisIn zu definieren. |
Execute | Eingang | BOOL | TRUE: Das Setzen der Achsposition wird gestartet. |
Position | Eingang | REAL | Die für die Achse einzustellende absolute Position oder relative Entfernung. |
Relative | Eingang | BOOL |
|
MC_ExecutionMode | Eingang | SINT | Die möglichen Werte lauten:
Bei (MC_ExecutionMode = 0) wird dieser Funktionsblock im Achsenzustand „Deaktiviert“ oder „Stillstand“ erfolgreich beendet. Beim Ausführen dieses Funktionsblocks wird ein Fehler gemeldet, wenn die Achse eine laufende, nicht kontinuierliche Bewegung in diesem Modus hat. Bei (MC_ExecutionMode = 1) wird dieser Funktionsblock im Achsenzustand „Deaktiviert“ oder „Stillstand“ erfolgreich beendet, bzw. die laufende Bewegung kann abgeschlossen werden und endet im Zustand „Stillstand“. Andere Eingabewerte sind derzeit reserviert und werden als ungültige Parameter betrachtet. |
ENO | Ausgang | BOOL | Aktivieren der Ausgabe. Gilt nur für Kontaktplan-Programme. |
Axis | Ausgang | AXIS_REF | In Kontaktplan-Programmen ist die Achsenausgabe schreibgeschützt. |
Done | Ausgang | BOOL | TRUE: Die Position hat einen neuen Wert. |
Busy | Ausgang | BOOL | TRUE: Der Funktionsblock wurde nicht beendet. |
Error | Ausgang | BOOL | Gibt an, dass ein Fehler aufgetreten ist.
|
ErrorID | Ausgang | UINT | Ein eindeutiger numerischer Wert, der den Fehler angibt. Die Fehler für diese Anweisung sind in Fehler-IDs von Bewegungssteuerungs-Funktionsblock definiert. |
MC_SetPosition-Beispiele
Beispiel für ein MC_SetPosition-Funktionsblockdiagramm

Beispiel für einen MC_SetPosition-Kontaktplan

Beispiel für strukturierten MC_SetPosition-Text

Ergebnisse


Rückmeldung geben