Zustandsdiagramm

Folgendes Diagramm definiert normativ das Verhalten der Achse, wenn mehrere MotionControl-Funktionsbausteine gleichzeitig aktiviert sind. Die Kombination von Bewegungsprofilen ist nützlich, um komplexe Profile zu erstellen oder Ausnahmen innerhalb eines Programms zu handhaben. Grundsätzlich werden Bewegungsbefehle immer nacheinander ausgeführt, auch wenn die Möglichkeit einer echten Parallelverarbeitung bestünde. Diese Befehle wirken auf das Zustandsdiagramm der Achse.

Die Achse befindet sich immer in einem der definierten Zustände. Jeder Bewegungsbefehl, der einen Übergang verursacht, ändert den Zustand der Achse und ändert somit die Art und Weise, wie die aktuelle Bewegung berechnet wird. Eine Zustandsänderung wird sofort bei der Ausgabe des entsprechenden Bewegungsbefehls widergespiegelt.

Das folgende Zustandsdiagramm konzentriert sich auf eine Einzelachse. Die Funktionsbausteine MC_Camin, MC_GearIn und MC_Phasing können im Zustandsdiagramm als mehrere Einzelachsen in bestimmten Zuständen betrachtet werden. Der Camming-Master kann sich beispielsweise im Zustand "ContinuousMotion" befinden. Der entsprechende Slave befindet sich im Zustand "SynchronizedMotion". Das Einkuppeln einer Slave-Achse auf eine Master-Achse hat keinen Einfluss auf die Master-Achse.

Pfeile innerhalb des Zustandsdiagramms zeigen die möglichen Zustandsübergänge. Zustandsübergänge aufgrund eines Befehls werden durch Vollpfeile dargestellt. Gestrichelte Pfeile werden für Zustandsübergänge verwendet, die auftreten, wenn ein Befehl einer Achse beendet wurde oder ein systembezogener Übergang (z. B. aufgrund eines Achsfehlers) erfolgt. Die Bewegungsbefehle, welche die Achse in den entsprechenden Bewegungszustand versetzen, werden oberhalb der Zustände aufgeführt. Diese Bewegungsbefehle können auch abgesetzt werden, wenn sich die Achse bereits im entsprechenden Bewegungszustand befindet.

Note 1:

Aus jedem Zustand. Ein Fehler in der Achse ist aufgetreten.

Note 2:

Aus jedem Zustand. MC_Power.Enable ist FALSE und es liegt kein Fehler in der Achse vor.

Note 3:

MC_Reset.Status UND MC_Power.Status sind FALSE

Note 4:

MC_Reset.Status UND MC_Power.Status sind TRUE UND MC_Power.Enable ist TRUE

Note 5:

MC_Power.Enable ist TRUE UND MC_Power.Status ist TRUE

Beachten Sie folgende Anmerkungen zu den Zuständen:

  • Disabled
  • Der Zustand "Disabled" beschreibt den Ausgangszustand der Achse. In diesem Zustand wird die Bewegung der Achse nicht durch die Funktionsbausteine beeinflusst. Das Versorgungsnetz ist ausgeschaltet und es liegt kein Fehler in der Achse vor.
  • Wird der Funktionsbaustein MC_Power mit Enable TRUE aufgerufen, während er sich im Zustand "Disabled" befindet, wechselt der Zustand in "Standstill". Das Aufrufen von MC_Power mit Enable FALSE in jedem Zustand außer "ErrorStop", führt die Achse entweder direkt oder über einen anderen Zustand in den Zustand "Disabled". Alle laufenden Bewegungsbefehle auf der Achse werden abgebrochen (Zustand "CommandAborted").
  • ErrorStop
  • Der Zustand "ErrorStop" hat die höchste Priorität und wird im Fehlerfall aus allen anderen Zuständen angesprungen. Solange der Fehler jedoch ansteht, bleibt der Zustand "ErrorStop". Mit dem Zustand "ErrorStop" soll die Achse möglichst zum Stillstand gebracht werden. Es wird kein weiterer Bewegungsbefehl akzeptiert, bis ein Reset aus dem Zustand "ErrorStop" erfolgt ist. Der Übergang zum Zustand "ErrorStop" bezieht sich auf Fehler der Achsen- und Achssteuerung und nicht auf die Instanzen der Funktionsbausteine. Diese Fehler von Funktionsbaustein-Instanzen werden am Error-Ausgang des Funktionsbausteins ausgegeben.
  • Standstill
  • Antrieb ist freigegeben, es liegt kein Fehler in der Achse vor und es sind keine Bewegungsbefehle aktiv auf der Achse.

Beachten Sie folgende Anmerkungen zu den Befehlen:

  • MC_Stop
  • Der Aufruf des Funktionsbausteins MC_Stop im Zustand "Standstill" ändert den Zustand in "Stopping" und zurück in "Standstill", wenn Execute FALSE ist. Solange der Eingang Execute auf TRUE ist, bleibt der Zustand "Stopping" erhalten. Der Ausgang Done wird nach Abschluss der Stopprampe gesetzt.
  • MC_MoveSuperimposed
  • Der im Zustand "Standstill" ausgeführte Funktionsbaustein MC_MoveSuperimposed bringt die Achse in den Zustand "DiscreteMotion". Wird der Funktionsbaustein in einem anderen Zustand aufgerufen, wird der Zustand der Achse nicht beeinflusst.
  • MC_GearOut, MC_CamOut
  • Zustand der Slave-Achse von "SynchronizedMotion" in "ContinuousMotion" ändern. Das Aufrufen einer dieser Funktionsbausteine in einem anderen Zustand als "SynchronizedMotion" erzeugt einen Fehler. Funktionsbausteine, die nicht im Zustandsdiagramm aufgeführt sind, haben keinen Einfluss auf den Zustand des Zustandsdiagramms, d. h. der Zustand ändert sich nicht, wenn sie aufgerufen werden.