Bewegungssteuerungs-Achsenstatus
Grundsätzlich wird das Verhalten der Achse auf einer höheren Ebene und bei Aktivierung mehrerer Bewegungssteuerungs-Funktionsblöcke dadurch bestimmt, dass Bewegungsbefehle immer nacheinander angenommen werden, selbst wenn der Controller echte Parallelverarbeitung unterstützt. Jeder Bewegungsbefehl ist ein Wechsel, der den Zustand der Achse und als Folge die Berechnung der aktuellen Bewegung ändert.
Bewegungssteuerungs-Achsenstatusdiagramm
Die Achse befindet sich immer in einem der definierten Zustände, die im folgenden Diagramm dargestellt sind.
Bewegungssteuerungs-Achsenstatusdiagramm

Bewegungssteuerungs-Achsenstatusverhalten
Nein | Hinweis |
|---|---|
1 | In den Zuständen „Fehler-Stopp“ und „Stoppen“ können alle Funktionsblöcke (ausgenommen MC_Reset) aufgerufen werden, obwohl sie nicht ausgeführt werden. „MC_Reset“ generiert einen Wechsel in den Stillstand-Zustand (Standstill). Tritt ein Fehler auf, während sich die Maschine im Zustand „Stoppen“ befindet, wird ein Wechsel in den Zustand „Fehler-Stopp“ generiert. |
2 | Power.Enable = TRUE und Fehler in der Achse. |
3 | Power.Enable = TRUE und kein Fehler in der Achse. |
4 | MC_Stop.Done AND NOT MC_Stop.Execute. |
5 | Wenn „MC_Power“ mit „Enable = FALSE“ aufgerufen wird, geht die Achse bei jedem Zustand einschließlich „Fehler-Stopp“ in den Zustand „Deaktiviert“. |
6 | Tritt ein Fehler auf, während sich die Maschine im Zustand „Stoppen“ befindet, wird ein Wechsel in den Zustand „Fehler-Stopp“ generiert. |
Bewegungssteuerungs-Achsenstatuscodewerte
Sie können den Achsenstatus mithilfe der Achsenmonitorfunktion überwachen.
Zustandswert | Zustandsname |
|---|---|
0x00 | Deaktiviert |
0x01 | Stillstand |
0x02 | Diskrete Bewegung |
0x03 | Kontinuierliche Bewegung |
0x04 | Nullpositionierung |
0x06 | Stoppen |
0x07 | Fehler-Stopp |
Achsenstatus-Aktualisierungen
Bei der Bewegungsausführung erfolgt die Aktualisierung des Achsenstatus in Abhängigkeit davon, ob der relevante Bewegungsfunktionsblock vom POU-Scan abgerufen wird. Dies ist der Fall, auch wenn das Bewegungsprofil vom Bewegungsmotor als Hintergrundtask gesteuert wird und unabhängig vom POU-Scan erfolgt.
Beispiel: auf einer sich bewegenden Achse eines Kontaktplan-POU (Zustand eines Strompfads = true) wird ein MC_MoveRelative-Funktionsblock im Strompfad gescannt und die Achse beginnt sich zu bewegen. Bevor MC_MoveRelative beendet wird, wird der Zustand des Strompfads „FALSE“ und MC_MoveRelative wird nicht mehr gescannt. In diesem Fall kann der Zustand der Achse nicht von „Diskrete Bewegung“ zu „Stillstand“ wechseln, auch dann nicht, wenn die Achse vollständig angehalten wird und die Geschwindigkeit 0 beträgt.
Rückmeldung geben