Skip to main content

Beispiel: OMAC PackML-Zustandsmaschine

Produkt: CODESYS Development System

Die Bibliothek enthält eine Zustandsmaschine für Steuerungen der Verpackungsindustrie auf Basis des OMACPackML-Standards.

Beschreibung

PackML steht für Packaging Machine Language und definiert einen allgemeinen Ansatz bzw. eine Maschinensprache für automatisierte Maschinen in der Verpackungsindustrie. Die primären Ziele von PackML sind die Vereinheitlichung der Bedienung und die Umsetzung von industriellen Inovatationen. Die im Package enthaltene Bibliothek OMAC_PackML_State_Machine enthält eine Implementierung der OMAC PackML State Machine. Das Beispielprojekt veranschaulicht die Verwendung der Bibliothek. Weitere Informationen zu OMAC und PackML finden Sie unter www.omac.org/.

Weitere Informationen

Die PackML-Zustandsmaschine definiert Maschinenzustände und die dazugehörenden Zustandsübergänge. Eine Abfolge von Maschinenzuständen wird als "Unit Mode" zusammengefasst. Ein "Unit Mode" kann maximal 17 Maschinenzustände enthalten. Die folgende Grafik zeigt sämtliche Maschinenzustände mit den entsprechenden Zustandsübergängen.

_example_img_omac_state_machine1.png

Es gibt drei Arten von Maschinenzuständen:

  • Acting States (grün): Aktive Prozesszustände wie ABORTING oder HOLDING

  • Wait States (olivgrün): Zustände, die nach Abarbeitung von aktiven Prozesszuständen erreicht werden und auf ein Ereignis warten. Beispiel: ABORTED oder HELD.

  • Dual States (blau): Maschinenzustände die vom Typ Acting State und Wait State sind. In PackML ist nur ein Zustand dieses Typs definiert: EXECUTE.

Ein Zustandsübergang wird durch eine Aktion, wie beispielsweise Start oder Stop, angestoßen.

PackML erlaubt zusätzlich die Definition von eigenen "Unit Modes". So können beispielsweise eigene "Unit Modes" für Wartung oder Inbetriebnahme erstellt werden. Die enthaltenen Maschinenzustände sind dabei eine Teilmenge der maximalen Ausprägung.

Es kann immer nur ein "Unit Mode" aktiv sein, ein Wechsel zwischen "Unit Modes" ist erlaubt. Diese Aufgabe übernimmt der "Unit Mode Manager". Der "Unit Mode Manager" berücksichtigt, ob das Verlassen des aktuellen Zustandes erlaubt ist und ob in den Zielzustand gewechselt werden darf.

_example_img_omac_state_machine2.png

Bibliothek OMAC_PackML_State_Machine

Die im Package enthaltene Bibliothek OMAC_PackML_State_Machine enthält alle erforderlichen Komponenten inklusive einer Visualisierung zum Aufbau einer Zustandsmaschine nach PackML.

Mit dem Funktionsbaustein UnitMode können eigene "Unit Modes" mit den entsprechenden Maschinenzuständen definiert werden (Eingang dwSupportedStates). Über die beiden Eingänge dwAllowsLeavingFromStates und dwAllowsEnteringIntoStates kann für jeden Maschinenzustand festgelegt werden, ob ein Wechsel des "Unit Modes" erlaubt ist. Ein Maschinenzustandswechsel kann über die Methoden im Ordner Commands angestoßen werden (Start, Stop, Abort usw.).

Über den Funktionsbaustein UnitModeManager kann zwischen den einzelnen Unit Modes unter Berücksichtigung des aktuellen Maschinenzustandes gewechselt werden. Die Abfrage des aktuellen Zustandes erfolgt über diesen Funktionsbaustein.

Beispielprojekt PackML_Example

Das Beispielprojekt PackML_Example enthält zwei Applikationen zur Veranschaulichung der Verwendung der Bibliothek.

Applikation ‚PackMLUnitModeManager‘:

In der Applikation PackMLUnitModeManager werden drei "Unit Modes" (Production, Semi Auto und Setup) definiert und beim Funktionsbaustein UnitModeManager registriert. Eine Visualisierung stellt den aktuellen Zustand des entsprechenden "Unit Modes" dar und ermöglicht das Ausführen von Kommandos, sowie das Umschalten des "Unit Modes".

_example_img_omac_state_machine3.png

Applikation ‚PackMLAxisControl‘:

In dem Beispiel werden die Zustände einer virtuellen SoftMotion-Achse über die PackML Zustandsmaschine abgebildet und gesteuert. Die Definition des Unit Mode und die Zuordnung der Zustände erfolgt im Funktionsbaustein AxisControl.

_example_img_omac_state_machine4.png

Systemvoraussetzungen und Einschränkungen

Programmiersystem

CODESYS Development System Version 3.5.10.0 oder höher

Laufzeitsystem

CODESYS Control Win Version 3.5.10.0

Zusatzkomponenten

-

Hinweis

_example_icon.png DOWNLOAD Projekt

Nach der Installation des Package OMAC PackML State Machine finden Sie das Beispielprojekt im Verzeichnis C:\Users\<user>\CODESYS Examples\OMAC PackML State Machine.