SchieberControl_AX¶
Einleitung¶
Der Funktionsbaustein SchieberControl_AX dient zur Steuerung eines Schiebers (Ventil, Klappe oder ähnliche Aktorik) innerhalb eines 61499-basierten Steuerungssystems. Er implementiert eine Zustandsmaschine, die nicht nur die logischen Zustände (Offen, Geschlossen, Öffnend, Schließend) verwaltet, sondern auch die Zeitsteuerung für die Bewegungen übernimmt und entsprechende Visualisierungsdaten (Buttons, Softkeys) für ein HMI bereitstellt.
Diese Version des Bausteins („AX Adapter Version“) nutzt spezielle Adapter (adapter::types::unidirectional::AX) zur Ansteuerung der physikalischen Ventile.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
| Ereignis | Typ | Kommentar |
|---|---|---|
| INIT | EInit | Initialisierungsanfrage. Setzt alle Werte und Parameter. |
| Open | Event | Befehl zum Öffnen des Schiebers. |
| Close | Event | Befehl zum Schließen des Schiebers. |
| RESET | Event | Setzt den Baustein in einen unbekannten Zustand („Unknown“) zurück. |
| INPUT_DATA | Event | Aktualisiert die Konfigurationsdaten für UI-Elemente (Button, Softkey, Aux). |
Ereignis-Ausgänge¶
| Ereignis | Typ | Kommentar |
|---|---|---|
| INITO | EInit | Bestätigung der Initialisierung. |
| EO | EInit | Ereignis bei Zustandsänderung oder Aktualisierung der Ausgänge (Button, Softkey, Status). |
| EO1 | Event | Internes Ereignis (oft genutzt nach dem initialen Starten). |
Daten-Eingänge¶
| Variable | Datentyp | Kommentar |
|---|---|---|
| QI | BOOL | Input Event Qualifier (True = Normalbetrieb, False = De-Init). |
| BT | SchieberStruct | Konfigurationsstruktur für Button-Zustände (je nach Schieberstatus). |
| SK | SchieberStruct | Konfigurationsstruktur für Softkey-Zustände. |
| AUXC | SchieberAuxInStruct | Konfigurationsstruktur für Hilfssteuerungen (Bilder/Farben). |
| DT_Opening | TIME | Zeitdauer für den Öffnungsvorgang. |
| DT_Closing | TIME | Zeitdauer für den Schließvorgang. |
| START | UINT | Startkonfiguration (Definiert, in welchem Zustand der Baustein startet). Standard: STARTUnknown. |
Daten-Ausgänge¶
| Variable | Datentyp | Kommentar |
|---|---|---|
| QO | BOOL | Output Event Qualifier. |
| Button | UINT | Aktueller Button-Status (basierend auf dem internen Zustand). |
| Softkey | UINT | Aktueller Softkey-Status. |
| Auxiliary | SchieberAuxOutStruct | Aktuelle Hilfsdaten (z.B. Bild-ID, Farbe) für die Visualisierung. |
| STATE | STRING | Textuelle Repräsentation des aktuellen Zustands (z.B. "Opened", "Closing"). |
Adapter¶
| Name | Typ | Kommentar |
|---|---|---|
| POWERED | AX | Adapter zur Ansteuerung des „Öffnen“-Ventils (Pneumatik/Hauptversorgung). Aktiv während des Öffnens und im offenen Zustand. |
| OPEN | AX | Adapter zur Ansteuerung des „Öffnen“-Signals. |
| CLOSE | AX | Adapter zur Ansteuerung des „Schließen“-Signals. |
| timeOut | ATimeOut | Adapter für Timer-Funktionalität (überwacht die Öffnungs-/Schließzeiten). |
Funktionsweise¶
Der Baustein arbeitet als Zustandsautomat (ECC), der Übergänge basierend auf den Ereignissen Open und Close sowie dem Timer-Adapter timeOut steuert.
- Initialisierung:
Beim Start (
INIT) wird geprüft, in welchem Zustand der Schieber beginnen soll (definiert durchSTART). Möglich sind z.B. direkt „Closed“, „Opened“ oder „Unknown“. - Bewegungsablauf:
- Erfolgt der Befehl
Open, wechselt der Baustein in den Zustand Opening. Dabei werden die AdapterPOWEREDundOPENaktiviert und der Timer mitDT_Openinggestartet. - Nach Ablauf der Zeit (
timeOut.TimeOut) wechselt der Zustand automatisch zu Opened. - Erfolgt der Befehl
Close, wechselt der Baustein zu Closing. Der AdapterCLOSEwird aktiviert (währendPOWEREDundOPENdeaktiviert werden) und der Timer mitDT_Closinggestartet. - Nach Ablauf der Zeit wechselt der Zustand zu Closed.
- Erfolgt der Befehl
- Unterbrechung:
Wird während des Öffnens der Befehl
Close(oder umgekehrt) gegeben, wird der Vorgang gestoppt (STOP-Zustände), die Ausgänge zurückgesetzt und der entgegengesetzte Vorgang eingeleitet. - Visualisierung:
In jedem Zustand (Closed, Opening, Opened, Closing, Unknown) werden die Ausgänge
Button,SoftkeyundAuxiliarymit den Werten aus den Eingangsstrukturen (BT,SK,AUXC) befüllt, die dem jeweiligen Zustand entsprechen. Dies ermöglicht eine dynamische Anpassung der Benutzeroberfläche.
Technische Besonderheiten¶
- AX-Adapter Integration: Die direkte Nutzung von
adapter::types::unidirectional::AXdeutet auf eine standardisierte Schnittstelle zur Hardware-Abstraktion hin, was den Baustein wiederverwendbar für verschiedene Ventiltypen macht, solange der Adapter passt. - Struktur-Mapping: Der Baustein fungiert als "Mapper". Er nimmt komplexe Konfigurationsstrukturen (
SchieberStruct) entgegen und gibt zur Laufzeit nur die für den aktuellen Zustand relevanten Einzelwerte aus. Das reduziert die Logik im HMI. - Stop-Logik: Es sind explizite
STOP-Zustände implementiert, die sicherstellen, dass bei einem Richtungswechsel die Ausgänge kurzzeitig definiert abgeschaltet werden (timeOut.STOP, Ventile aus), bevor die neue Richtung eingeschlagen wird.
Zustandsübersicht¶
Die wichtigsten Zustände im ECC (Execution Control Chart) sind:
- START / Init / DeInit: Verwaltungszustände für den Lebenszyklus des Bausteins.
- Unknown: Fehler- oder Initialzustand, wenn die Position nicht bekannt ist.
- Closed: Der Schieber ist vollständig geschlossen. (
CLOSE=False,OPEN=False). - Opening: Der Schieber öffnet sich gerade. (
POWERED=True,OPEN=True, Timer läuft). - Opened: Der Schieber ist vollständig offen. (
POWERED=True,OPEN=False). - Closing: Der Schieber schließt sich gerade. (
CLOSE=True,POWERED=False, Timer läuft). - ..._STOP: Zwischenzustände zum sauberen Abbrechen von Bewegungen.
Anwendungsszenarien¶
- Landwirtschaftliche Maschinen: Steuerung von Gülle-Schiebern, Dosierklappen oder hydraulischen Auslegern.
- Prozessautomatisierung: Einfache Ventilsteuerungen, bei denen keine Endlagensensoren vorhanden sind, sondern über Zeit (
DT_Opening/DT_Closing) gefahren wird. - HMI-Integration: Systeme, bei denen sich das Symbol oder die Tastenfarbe auf dem Display ändern muss, je nachdem, ob das Ventil gerade fährt, offen oder geschlossen ist.
Vergleich mit ähnlichen Bausteinen¶
Im Gegensatz zu einem einfachen SR-Flipflop zur Ventilsteuerung bietet der SchieberControl_AX:
1. Zeitüberwachung: Integrierte Timer simulieren die Laufzeit.
2. HMI-Mapping: Eingebaute Logik zur Umschaltung von UI-Informationen.
3. Hardware-Abstraktion: Nutzung von Adaptern statt direkter boolescher Ausgänge für die Ventile.
4. Zwischenzustände: Explizite Darstellung von „Öffnet“ und „Schließt“, nicht nur „Auf“ und „Zu“.
Fazit¶
Der SchieberControl_AX ist ein spezialisierter, robuster Funktionsbaustein für die zeitgesteuerte Aktorik. Er kapselt die Komplexität von Zustandsübergängen, Timer-Handling und UI-Statusverwaltung in einer einzigen Komponente und erleichtert so die Entwicklung von Steuerungssoftware für Maschinen mit hydraulischen oder pneumatischen Schiebern erheblich.