sequence_T_04
Einleitung
Der Funktionsblock sequence_T_04 ist ein zeitgesteuerter Sequenzer mit vier definierten Zuständen (State_01 bis State_04) und einem Startzustand (START). Er ermöglicht die zyklische oder einmalige Abarbeitung einer festen Reihenfolge, wobei die Verweildauer in jedem Zustand über konfigurierbare Zeitwerte gesteuert wird. Der Übergang zwischen den Zuständen erfolgt automatisch nach Ablauf der eingestellten Zeit. Der Baustein eignet sich ideal für zeitlich getaktete Ablaufsteuerungen, wie sie z.B. in Förderanlagen, Verpackungsmaschinen oder Waschprozessen vorkommen.
Schnittstellenstruktur
Ereignis-Eingänge
START_S1: Startet die Sequenz. Ein Ereignis an diesem Eingang bewirkt den Übergang vom Zustand START oder sState_00 in den ersten aktiven Zustand State_01. Es werden die ZeitdatenDT_S1_S2,DT_S2_S3,DT_S3_S4undDT_S4_STARTmitgelesen.RESET: Setzt die Sequenz von jedem beliebigen Zustand sofort in den Ruhezustand (sState_00) zurück. Alle Ausgänge (DO_S1bisDO_S4) werden dabei deaktiviert.
Ereignis-Ausgänge
CNF: Bestätigungsereignis (Execution Confirmation). Wird bei jedem Zustandswechsel ausgelöst und liefert die aktuelle ZustandsnummerSTATE_NR.EO_S1: Wird bei Eintritt in den Zustand State_01 ausgelöst und liefert den zugehörigen DatenausgangDO_S1.EO_S2: Wird bei Eintritt in den Zustand State_02 ausgelöst und liefert den zugehörigen DatenausgangDO_S2.EO_S3: Wird bei Eintritt in den Zustand State_03 ausgelöst und liefert den zugehörigen DatenausgangDO_S3.EO_S4: Wird bei Eintritt in den Zustand State_04 ausgelöst und liefert den zugehörigen DatenausgangDO_S4.
Daten-Eingänge
DT_S1_S2(TIME): Verweildauer im Zustand State_01, bevor der automatische Übergang zu State_02 erfolgt. Initialwert:NO_TIME.DT_S2_S3(TIME): Verweildauer im Zustand State_02, bevor der automatische Übergang zu State_03 erfolgt. Initialwert:NO_TIME.DT_S3_S4(TIME): Verweildauer im Zustand State_03, bevor der automatische Übergang zu State_04 erfolgt. Initialwert:NO_TIME.DT_S4_START(TIME): Verweildauer im Zustand State_04, bevor der automatische Übergang zum Ruhezustand sState_00 erfolgt. Initialwert:NO_TIME.
Daten-Ausgänge
STATE_NR(SINT): Gibt die Nummer des aktuell aktiven Zustands aus. START = 0, State_01 = 1, State_02 = 2, State_03 = 3, State_04 = 4.DO_S1(BOOL): Logischer Ausgang, der TRUE ist, solange sich der FB im Zustand State_01 befindet.DO_S2(BOOL): Logischer Ausgang, der TRUE ist, solange sich der FB im Zustand State_02 befindet.DO_S3(BOOL): Logischer Ausgang, der TRUE ist, solange sich der FB im Zustand State_03 befindet.DO_S4(BOOL): Logischer Ausgang, der TRUE ist, solange sich der FB im Zustand State_04 befindet.
Adapter
timeOut(Plug, Typ:iec61499::events::ATimeOut): Ein standardisierter TimeOut-Adapter, der für die zeitgesteuerten Zustandsübergänge verwendet wird. Der FB startet (timeOut.START) den Timer beim Eintritt in einen aktiven Zustand und reagiert auf dessenTimeOut-Ereignis.
Funktionsweise
Der FB arbeitet als Basic Function Block (BFB) mit einer definierten Execution Control Chart (ECC). Die Sequenz durchläuft die Zustände in der festen Reihenfolge: START -> State_01 -> State_02 -> State_03 -> State_04 -> sState_00.
Start: Ein
START_S1-Ereignis (aus den ZuständenxSTARTodersState_00) aktiviert State_01.Zustandsaktivierung: Beim Eintritt in einen Zustand (State_01-04) werden folgende Aktionen ausgeführt:
Der entsprechende Datenausgang (
DO_Sx) wird auf TRUE gesetzt (Entry-AlgorithmusState_x_E).Das zugehörige Ereignis (
EO_Sx) wird ausgelöst.Die Zustandsnummer
STATE_NRwird aktualisiert (Confirmation-AlgorithmusState_x_C).Die für den nächsten Übergang konfigurierte Zeit (
DT_...) wird an dentimeOut-Adapter übergeben und der Timer gestartet.Das allgemeine Bestätigungsereignis
CNFwird ausgelöst.
Zeitgesteuerter Übergang: Nach Ablauf der im Timer eingestellten Zeit löst der Adapter das
TimeOut-Ereignis aus. Dies ist die Bedingung für den Übergang zum nächsten Zustand in der Sequenz.Zustandsverlassen: Beim Verlassen eines Zustands wird der zugehörige Datenausgang (
DO_Sx) durch den Exit-Algorithmus (State_x_X) auf FALSE zurückgesetzt.Zyklusende und Reset: Nach State_04 wechselt der FB in den Zustand
sState_00(Ruhezustand). Von hier aus kann die Sequenz durch ein erneutesSTART_S1-Ereignis neu gestartet werden. EinRESET-Ereignis von jedem Zustand aus führt sofort in densRESET-Zustand, deaktiviert alle Ausgänge und geht dann insState_00über.
Technische Besonderheiten
Initialwerte: Die Zeitdaten-Eingänge sind standardmäßig mit der Konstante
NO_TIMEvorbelegt. Ein Wert vonNO_TIMEführt dazu, dass der FB nach dem Eintritt in den Zustand unendlich lange wartet, bis einRESETerfolgt.Zustand sState_00: Dieser Zustand ist der stabile Ruhezustand nach Abschluss eines Zyklus. Im Gegensatz zum initialen
xSTARTist er Teil der ECC und kann Algorithmen ausführen (hier die Zustandsnummer 0 setzen).Adapter-Nutzung: Die Zeitsteuerung ist komplett in den standardisierten
ATimeOut-Adapter ausgelagert, was Wiederverwendbarkeit und Klarheit erhöht.
Zustandsübersicht
Zustandsname |
Beschreibung |
Aktive Ausgänge |
Übergangsbedingung zum nächsten Zustand |
|---|---|---|---|
xSTART |
Initialer Idle-Zustand. |
Keine |
|
sState_01 |
Erster aktiver Schritt. |
|
|
sState_02 |
Zweiter aktiver Schritt. |
|
|
sState_03 |
Dritter aktiver Schritt. |
|
|
sState_04 |
Vierter aktiver Schritt. |
|
|
sState_00 |
Ruhezustand nach Sequenzende. |
|
|
sRESET |
Zwischenzustand für Reset-Vorgang. |
Keine |
Immer ( |
Globale Übergangsbedingung: Von den Zuständen sState_01 bis sState_04 führt ein RESET-Ereignis immer in den sRESET-Zustand.
Anwendungsszenarien
Steuerung von Zyklusmaschinen: Automatische Abfolge von Bearbeitungsschritten wie Bohren, Fräsen, Entgraten mit einstellbaren Bearbeitungszeiten.
Verpackungsanlagen: Steuerung des zeitlichen Ablaufs: Produkt zuführen -> Verpackung schließen -> Etikett aufbringen -> Palettieren.
Reinigungsprozesse: Steuerung einer Sprühkabine: Vorspülen (State_01) -> Hauptreinigung (State_02) -> Nachspülen (State_03) -> Trocknen (State_04).
Teststände: Automatisierte Prüfsequenz, bei der jeder Testschritt eine feste Dauer hat.
⚖️ Vergleich mit ähnlichen Bausteinen
Einfache Timer (TON): Einzelne Timerbausteine müssten für eine Sequenz verkettet und die Logik für die Zustandsübergänge und Ausgänge separat programmiert werden.
sequence_T_04kapselt diese komplette Logik.Zähler-basierte Sequenzer: Sequenzer, die mit Ereignissen (nicht Zeit) weiterschalten, bieten eine andere Art der Steuerung.
sequence_T_04ist speziell für zeitkritische Abläufe ohne externe Trigger gedacht.SPS-spezifische Ablaufsprachen (S7-GRAFCET): Dieser FB implementiert ein ähnliches Prinzip wie eine Grafcet-Step-Kette, jedoch innerhalb des portablen IEC 61499-Standards.
Fazit
Der sequence_T_04 ist ein robustes und einfach zu konfigurierendes Werkzeug für zeitgesteuerte Ablaufsteuerungen mit bis zu vier Schritten. Durch die klare Trennung von Zustandslogik (ECC) und Zeitsteuerung (Adapter) sowie die vollständige Kapselung des Verhaltens ist er wartungsfreundlich und reduziert den Programmieraufwand im übergeordneten Application-Netzwerk erheblich. Die Möglichkeit eines sofortigen Resets von jedem Zustand aus gewährleistet zudem eine hohe Betriebssicherheit.