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
MC_SetPosition
MC_SetPosition-Parameter
Parameter
Parametertyp
Datentyp
Beschreibung
EN
Eingang
BOOL
Anweisungsblock aktivieren.
  • TRUE: Aktuelle MC_SetPosition-Berechnung ausführen.
  • FALSE: Es findet keine Berechnung statt.
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
  • TRUE: Die relative Entfernung für die Achse wird festgelegt.
  • FALSE: Die absolute Position für die Achse wird festgelegt.
MC_ExecutionMode
Eingang
SINT
Die möglichen Werte lauten:
  • 0 (
    mcImmediately
    ): Die Funktionalität ist sofort gültig.
  • 1 (
    mcQueued
    ): Die neue Funktionalität wird gültig, wenn:
  • alle vorherigen Bewegungsbefehle auf einen der folgenden Ausgabeparameter eingestellt sind: „Done“ (Fertig), „Aborted“ (Abgebrochen) oder „Error“ (Fehler).
  • die Achse keinen Bewegungszustand besitzt.
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.
  • TRUE: Es wurde ein Fehler erkannt.
  • FALSE: Kein Fehler.
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 ein MC_SetPosition-Funktionsblockdiagramm
Beispiel für einen MC_SetPosition-Kontaktplan
Beispiel für einen MC_SetPosition-Kontaktplan
Beispiel für strukturierten MC_SetPosition-Text
Beispiel für strukturierten MC_SetPosition-Text
Ergebnisse
Ergebnisse
Achsenüberwachung
Rückmeldung geben
Haben Sie Fragen oder Feedback zu dieser Dokumentation? Bitte geben Sie hier Ihr Feedback ab.
Normal