Beispielmodell: Starttaste + Zylinder (Selmo)

Dieses Beispiel zeigt die vollständige Überführung eines einfachen PTFs in ein Selmo-Modell:

  • Starttaste löst einen Zyklus aus

  • Zylinder fährt aus bis Endlage „ausgefahren“

  • Plausibilität (Pair-Check) überwacht widersprüchliche Endlagen

  • CMZ schützt systemkritische Bedingungen

  • MXIC erlaubt sichere manuelle Bewegungen im Handbetrieb

Ziel: Ein minimaler, aber vollständiger Selmo-Kern, der deterministisch, diagnostizierbar und bedienbar ist.


1) Struktur (Plant → Hardware-Zone → Sequence → Zone)

Plant

PLANT_01 – Gesamtanlage (für dieses Beispiel minimal)

Plant-Aufgaben:

  • plantweite Zustände (optional)

  • plantweite CMZ (optional)

Für dieses Beispiel wird die Plant bewusst schlank gehalten.


Hardware-Zone

HWZ_01 – Station_01

Aufgaben:

  • Betriebsarten (Hand / Automatik)

  • Automatikfreigabe

  • Startkoordination (zentral)

  • HW-Zonen-CMZ


Sequence

SEQ_01 – ExtendCylinder

Aufgabe:

  • Starttaste auswerten

  • Zylinder ausfahren

  • Endlage „ausgefahren“ erreichen

  • Zyklus abschließen (bereit für nächsten Start)


2) Zonen (Technik & Bedeutung)

Jede relevante Technik wird als Zone beschrieben.

Z_01 – Starttaste

  • Typ: Input-Zone

  • Signal(e):

    • I_Start (Taster Start)

  • HMI-Text: „Starttaste drücken“


Z_02 – Zylinder (Ausfahren)

  • Typ: In-Out-Zone

  • Signal(e):

    • Output: Q_Extend (Ventil: Ausfahren)

    • Input: I_Extended (Endlage ausgefahren)

    • Input: I_Retracted (Endlage eingefahren)

  • HMI-Text (S-Führung):

    • beim Ausfahren: „Zylinder fährt aus“

    • Ziel erreicht: „Zylinder ausgefahren“

Pair-Check (Plausibilität):

  • Paar: (I_Extended, I_Retracted)

  • Regel: beide gleichzeitig TRUE ist physikalisch unmöglich → Diagnose


Z_03 – AirPressureOK

  • Typ: Input-Zone

  • Signal(e):

    • I_AirOK (Druckluft i.O.)

  • HMI-Text: „Druckluft i.O.“

Diese Zone wird als HW-Zonen-CMZ verwendet (siehe CMZ).


Z_04 – CycleDone (optional)

  • Typ: Mem-Zone

  • Signal(e):

    • M_CycleDone

  • HMI-Text: „Zyklus abgeschlossen“


3) Logic-Layer (Zustandsmodell)

Der Logic-Layer beschreibt den Ablauf als Zustandsautomat.

Zustände

  • S0 – Idle / WaitStart Wartet auf Startanforderung

  • S1 – ExtendCommand Zylinder ausfahren (Befehl + Erwartung)

  • S2 – Done Zyklus abgeschlossen, bereit für nächsten Start (oder Reset-Logik nach Bedarf)

Übergänge (vereinfacht)

  • S0 → S1, wenn Startanforderung erfüllt

  • S1 → S2, wenn Zylinder ausgefahren ist

  • S2 → S0, wenn Starttaste losgelassen (oder Reset/Quittierung, je nach Stil)

Hinweis: Die technische Erfüllung wird nicht im Logic-Layer beschrieben, sondern im System-Layer über Bit-Control.


4) System-Layer (Bit-Control / Kreuztabelle)

Operanden:

  • 0 = Don’t care

  • S = Sequence Check (Erwartung / Führung)

  • i = Interlock (zwingende Bedingung, bei Abweichung Automatikfreigabe entzogen)

Bit-Control-Matrix

Zone \ Zustand
S0 WaitStart
S1 ExtendCommand
S2 Done

Z_01 Starttaste (Input)

S

0

0

Z_02 Zylinder (In-Out)

0

S

0

Z_03 AirPressureOK (Input)

i

i

i

Z_04 CycleDone (Mem)

0

0

S

Interpretation:

  • In S0 wird Z_01 als S geführt: das System erwartet eine Startanforderung.

  • In S1 wird Z_02 als S geführt: Output wird gesetzt (Q_Extend) und Feedback I_Extended wird erwartet.

  • Z_03 ist in allen Zuständen i: fällt I_AirOK weg, wird Automatikfreigabe entzogen und die Sequence stoppt.

  • In S2 wird Z_04 als S gesetzt (optional): der Zyklus markiert sich als abgeschlossen.


5) Parameter-Layer (optional, aber sauber)

Parameter ändern Werte, nicht Logik.

  • P_ExtendTimeout (Zeitlimit für Ausfahren, falls benötigt)

  • P_DoneHoldTime (Anzeige-/Haltezeit in Done, optional)

Wenn ihr „Timeout“ modelliert, gehört die Logik dafür in einen Timer-State – der Wert kommt aus dem Parameter-Layer.


6) CMZ (Constantly Monitoring Zone)

HW-Zonen-CMZ: Z_03 AirPressureOK

  • Ebene: Hardware-Zone

  • Regel: I_AirOK muss immer korrekt anliegen

  • Wirkung bei Fehler:

    • Automatikfreigabe entziehen

    • alle Sequences der HW-Zone stoppen

    • keine manuelle Bewegung möglich (CMZ-Regel)

Diese CMZ macht klar: Ohne Druckluft kein sicherer Betrieb – weder Automatik noch Hand.


7) Pair-Check (Plausibilität)

Für Z_02 Zylinder

  • Paar: (I_Extended, I_Retracted)

  • Unmöglich: beide TRUE gleichzeitig

  • Reaktion:

    • automatische Diagnose „Zylinder-Endlagen widersprüchlich“

    • Ablauf kann nicht fortgesetzt werden

Der Pair-Check ist kein Ablaufbaustein, sondern Plausibilitätsüberwachung mit eindeutiger Diagnose.


8) MXIC (Manual Cross Interlock) – Handbetrieb

Ziel:

  • Manuelle Bewegung nur, wenn sie modellkonform und sicher ist

  • Im Zweifel: Diagnose statt Bewegung

Manuelle Aktionen (Buttons)

  • BTN_Extend → steuert Zone Z_02 (Ausfahren)

  • BTN_Retract → steuert Zone Z_02 (Einfahren) (wenn Einfahren im Beispiel erlaubt sein soll)

MXIC-Bedingungen (Beispielregeln)

  • BTN_Extend ist erlaubt, wenn:

    • kein CMZ-Fehler aktiv ist (AirPressureOK muss stimmen)

    • (optional) der aktuelle Zustand S0 oder S1 ist (kein willkürliches Fahren in Done)

  • BTN_Retract ist erlaubt, wenn:

    • kein CMZ-Fehler aktiv ist

    • (optional) der Ablauf nicht in kritischem Zustand ist

Wenn Bedingung nicht erfüllt:

  • Bewegung wird verhindert

  • Diagnose: „Manuelle Bewegung nicht erlaubt: “


9) HMI-Verhalten (kurz, modellbasiert)

  • In S0:

    • Anzeige Z_01 mit S → „Starttaste drücken“ (Führung)

  • In S1:

    • Anzeige Z_02 mit S → „Zylinder fährt aus“

    • sobald I_Extended erfüllt → Übergang nach S2

  • Bei i-Abweichung (I_AirOK weg):

    • Automatikfreigabe entzogen, Stop, Diagnose an Z_03

  • Bei Pair-Check-Fehler:

    • Diagnose an Z_02 („Endlagen widersprüchlich“)

Grundprinzip: Meldungen entstehen dort, wo das Modell Erwartung und Abweichung kennt (Zustand + Zone + Operand).


10) Zusammenfassung: Was dieses Modell zeigt

Dieses Beispiel ist vollständig, weil es:

  • Struktur (Plant/HWZ/Sequence/Zone) definiert

  • Ablauf (Logic-Layer) eindeutig beschreibt

  • Verhalten (System-Layer/Bit-Control) formal festlegt

  • Sicherheit/Integrität (CMZ) integriert

  • Plausibilität (Pair-Check) automatisch überwacht

  • Handbetrieb (MXIC) sicher begrenzt

  • Diagnose/HMI aus dem Modell ableitbar macht

Damit ist das Beispiel ein minimaler „Selmo-Standardfall“: klein, aber vollständig.

Zuletzt aktualisiert

War das hilfreich?