sequence_E_05
Einleitung
Der Funktionsblock sequence_E_05 ist ein sequenzieller Zustandsautomat, der eine feste Abfolge von fünf Zuständen durchläuft. Der Übergang zwischen den einzelnen Zuständen erfolgt ausschließlich durch externe Ereignisse. Der Baustein ist für Steuerungsaufgaben konzipiert, bei denen eine schrittweise Abarbeitung einer Prozesssequenz erforderlich ist, wie z.B. in Handhabungs- oder Verpackungsanlagen. Jeder aktive Zustand setzt einen eigenen binären Ausgang und bestätigt die Ausführung.
Schnittstellenstruktur
Der Funktionsblock besitzt eine reine Ereignisschnittstelle. Zustandsübergänge werden durch Eingangsereignisse ausgelöst, und der aktive Zustand wird über Ausgangsereignisse und Datenausgänge signalisiert.
Ereignis-Eingänge
START_S1: Wechselt vom initialen START-Zustand oder vom ZustandsState_00in den ersten ZustandState_01.S1_S2: Wechselt vonState_01zuState_02.S2_S3: Wechselt vonState_02zuState_03.S3_S4: Wechselt vonState_03zuState_04.S4_S5: Wechselt vonState_04zuState_05.S5_START: Wechselt vonState_05zurück in den inaktiven ZustandsState_00.RESET: Setzt den Automaten von jedem beliebigen Zustand sofort in den inaktiven ZustandsState_00zurück.
Ereignis-Ausgänge
CNF: Allgemeines Bestätigungsereignis. Wird bei jedem Zustandswechsel ausgelöst und liefert die aktuelle ZustandsnummerSTATE_NR.EO_S1: Wird beim Eintritt inState_01ausgelöst und liefert den WertDO_S1.EO_S2: Wird beim Eintritt inState_02ausgelöst und liefert den WertDO_S2.EO_S3: Wird beim Eintritt inState_03ausgelöst und liefert den WertDO_S3.EO_S4: Wird beim Eintritt inState_04ausgelöst und liefert den WertDO_S4.EO_S5: Wird beim Eintritt inState_05ausgelöst und liefert den WertDO_S5.
Daten-Eingänge
Es sind keine Dateneingänge vorhanden.
Daten-Ausgänge
STATE_NR(SINT): Numerische Kennung des aktuellen Zustands. START = 0, State_01 = 1, State_02 = 2, …, State_05 = 5.DO_S1(BOOL): IstTRUE, wenn ZustandState_01aktiv ist.DO_S2(BOOL): IstTRUE, wenn ZustandState_02aktiv ist.DO_S3(BOOL): IstTRUE, wenn ZustandState_03aktiv ist.DO_S4(BOOL): IstTRUE, wenn ZustandState_04aktiv ist.DO_S5(BOOL): IstTRUE, wenn ZustandState_05aktiv ist.
Adapter
Es sind keine Adapterschnittstellen vorhanden.
Funktionsweise
Der FB ist als Basic Function Block (BFB) mit einem Execution Control Chart (ECC) implementiert. Das ECC besteht aus sieben Zuständen: einem initialen xSTART, fünf aktiven Zuständen (sState_01 bis sState_05), einem inaktiven Endzustand (sState_00) und einem speziellen Reset-Zustand (sRESET).
Bei Eintritt in einen aktiven Zustand (z.B. sState_01) werden zwei Algorithmen nacheinander ausgeführt:
Ein Confirmation Step (z.B.
State_01_C), der dieSTATE_NRauf die entsprechende Konstante setzt und dasCNF-Ereignis auslöst.Ein Entry Step (z.B.
State_01_E), der den zugehörigen binären Ausgang (z.B.DO_S1) aufTRUEsetzt und das entsprechende Ereignis (z.B.EO_S1) auslöst.
Beim Verlassen eines aktiven Zustands wird ein Exit Step (z.B. State_01_X) ausgeführt, der den zugehörigen binären Ausgang auf FALSE zurücksetzt. Die Zustandsübergänge werden strikt durch die anliegenden Ereignisseingänge gesteuert. Ein RESET-Ereignis führt über den Zwischenzustand sRESET dazu, dass alle aktiven Ausgänge (DO_S1 bis DO_S5) deaktiviert werden, bevor der Automat in den inaktiven Zustand sState_00 wechselt.
Technische Besonderheiten
Ereignisgesteuerte Transitionen: Im Gegensatz zu zeit- oder bedingungsgesteuerten Sequenzern erfolgen die Zustandswechsel hier ausschließlich durch externe Ereignisse. Dies ermöglicht eine enge Kopplung an andere Prozessschritte oder Bedieneraktionen.
Explizite Reset-Logik: Der Reset-Vorgang ist als eigener ECC-Zustand (
sRESET) modelliert, der sicherstellt, dass beim Zurücksetzen alle fünf Ausgänge (DO_S1bisDO_S5) ordnungsgemäß deaktiviert werden, unabhängig vom aktuellen Zustand.Separate Entry/Exit-Aktionen: Die Logik zum Setzen und Rücksetzen der Ausgänge ist in separate Algorithmen aufgeteilt (E für Entry, X für Exit). Dies fördert eine klare und wartbare Struktur.
Konstanten für Zustandsnummern: Die Werte für
STATE_NRwerden aus einer importierten Bibliothek (sequence::State_01, etc.) bezogen, was die Wiederverwendbarkeit und zentrale Pflege erleichtert.
Zustandsübersicht
xSTART: Initialer Zustand nach dem Start. Wartet auf
START_S1.sState_01: Erster aktiver Schritt. Setzt
DO_S1=TRUEundSTATE_NR=1. Wartet aufS1_S2oderRESET.sState_02: Zweiter aktiver Schritt. Setzt
DO_S2=TRUEundSTATE_NR=2. Wartet aufS2_S3oderRESET.sState_03: Dritter aktiver Schritt. Setzt
DO_S3=TRUEundSTATE_NR=3. Wartet aufS3_S4oderRESET.sState_04: Vierter aktiver Schritt. Setzt
DO_S4=TRUEundSTATE_NR=4. Wartet aufS4_S5oderRESET.sState_05: Fünfter aktiver Schritt. Setzt
DO_S5=TRUEundSTATE_NR=5. Wartet aufS5_STARToderRESET.sState_00: Inaktiver Endzustand. Alle Ausgänge sind
FALSE,STATE_NR=0. Wartet aufSTART_S1für einen neuen Zyklus.sRESET: Temporärer Reset-Zustand. Deaktiviert alle aktiven Ausgänge und wechselt dann zu
sState_00.
Anwendungsszenarien
Schrittkette in Handhabungsgeräten: Steuerung eines Pick-and-Place Roboters (Greifen → Anheben → Bewegen → Absenken → Loslassen), wobei jeder Schritt durch ein Sensorereignis (z.B. „Teil erkannt“, „Position erreicht“) ausgelöst wird.
Manuelle Bediensequenzen: Abarbeitung einer vom Bediener vorgegebenen Reihenfolge, z.B. in einer Maschineneinrichtung („Schritt 1 freigeben“ → „Schritt 2 freigeben“).
Synchronisation mit übergeordneten Steuerungen: Die Sequenz dient als Unterprogramm einer Hauptsteuerung, die den Fortschritt über die Ereignisse vorgibt.
⚖️ Vergleich mit ähnlichen Bausteinen
Im Gegensatz zu einem zyklisch ablaufenden Sequenzer (z.B. CYCLE_5), der nach einer festen Zeit automatisch weiter schaltet, verharrt sequence_E_05 in jedem Zustand, bis das entsprechende Weitereignis eintrifft. Dies macht ihn deterministischer in Bezug auf externe Bedingungen, erfordert aber eine zuverlässige Ereignisgenerierung durch die Peripherie oder übergeordnete Logik. Er ist einfacher und transparenter als ein kompletter Schrittkettenbaustein (SFC) für feste, lineare Abfolgen.
Fazit
Der sequence_E_05 ist ein robuster und einfach zu konfigurierender Funktionsblock für ereignisgesteuerte Schrittketten mit fester Länge. Seine klare Trennung von Zustandslogik und Ausgangsaktionen sowie der integrierte Reset-Mechanismus machen ihn zu einer zuverlässigen Komponente für sequentielle Steuerungsaufgaben in 4diac-basierten Automatisierungssystemen. Die fehlende Flexibilität in der Anzahl der Schritte oder der Übergangsbedingungen ist für definierte, lineare Prozesse ein Vorteil in Bezug auf Übersichtlichkeit und Vorhersagbarkeit.