> For the complete documentation index, see [llms.txt](https://infosys.selmotech.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://infosys.selmotech.com/selmo-documentation/4-struktur-der-maschine-statisch/sequence.md).

# Sequence

**Ziel:** Kernlogik\
**Inhalt:**

* Was ist eine Sequence?
* Zustandsautomat
* Verantwortungsbereich
* Beispiel-Ablauf

### 1. Warum gibt es Sequences?

In klassischen SPS-Programmen sind Abläufe, Sicherheitslogik, Bedienung und Diagnose häufig miteinander vermischt.\
Logik entsteht implizit im Code – nicht als erklärbares Modell.

Das führt zu typischen Problemen:

* unklare Verantwortlichkeiten
* schwer nachvollziehbare Abläufe
* hohe Abhängigkeit vom Programmierer
* fehlende formale Beschreibung des Maschinenverhaltens

**Die Sequence existiert, um dieses Problem zu lösen.**

Sie trennt **funktionale Verantwortung** klar von:

* Betrieb
* Sicherheit
* Implementierung

***

### 2. Was ist eine Sequence?

Eine **Sequence** ist ein **deterministisches Verhaltensmodell** für eine klar abgegrenzte funktionale Aufgabe einer Maschine.

Eine Sequence:

* beschreibt **was** passiert – nicht wie es programmiert wird
* ist ein **Zustandsautomat**
* hat einen klaren Start-, Lauf- und Endzustand
* ist in sich geschlossen und eindeutig verantwortlich

Beispiele für typische Sequences:

* Spannen eines Werkstücks
* Bearbeitungszyklus
* Positionieren einer Achse
* Prüfvorgang
* Entspannen und Freigeben

> **Eine Aufgabe – eine Sequence.**

***

### 3. Einordnung im Selmo-Gesamtmodell

Die Sequence ist Teil einer klaren hierarchischen Struktur:

* **Plant** – gesamte Maschine / Anlage
* **Hardware-Zone** – Betriebs- und Verantwortungsrahmen
* **Sequence** – funktionale Ablaufverantwortung
* **Zone** – Verbindung zur realen Technik

Die Sequence selbst:

* entscheidet **nicht**, ob sie starten darf
* verwaltet **keine Betriebsarten**
* kennt **keine UI-Logik**

Sie beschreibt ausschließlich **funktionales Verhalten**.

***

### 4. Aufbau einer Sequence

Eine Sequence ist erst vollständig definiert, wenn alle relevanten Layer beschrieben sind:

* **Logic-Layer**\
  beschreibt den logischen Ablauf über Zustände und Übergänge
* **System-Layer (Bit-Control)**\
  definiert das erwartete Verhalten der Zonen in jedem Zustand
* **Parameter-Layer**\
  enthält zeitliche, positionsbezogene oder mengenabhängige Werte

> Erst das Zusammenspiel dieser Layer macht eine Sequence eindeutig, prüfbar und deterministisch.

***

### 5. Sequence und Logic-Layer (Überblick)

Der Logic-Layer beschreibt den Ablauf einer Sequence als Zustandsmodell.

Wesentliche Prinzipien:

* Ein Zustand beschreibt **eine Situation**, keine Aktion
* Übergänge erfolgen nur, wenn Bedingungen erfüllt sind
* Der Ablauf ist zu jedem Zeitpunkt eindeutig bestimmbar

Details zu Zustandsarten und Logikelementen sind im Kapitel **Logic-Layer** beschrieben.

***

### 6. Sequence und System-Layer (Bit-Control)

Die Sequence selbst definiert **Zustände** –\
das **Verhalten der realen Technik** wird über den System-Layer beschrieben.

Dabei gilt:

* Jede Zone wird in jedem Zustand bewertet
* Das erwartete oder erlaubte Verhalten wird explizit festgelegt
* Es gibt keine impliziten Annahmen

Die vollständige Definition der Operanden und ihrer Bedeutung erfolgt im Kapitel **Bit-Control**.

***

### 7. Verhalten einer Sequence im Betrieb

Eine Sequence befindet sich zu jedem Zeitpunkt in **genau einem Zustand**.

Unabhängig vom Betriebsmodus gilt:

* Zustände bleiben gültig
* Erwartungen bleiben aktiv
* Überwachung bleibt aktiv

Im Betrieb bedeutet das:

* Zustände werden erfüllt oder nicht erfüllt
* Abweichungen sind eindeutig lokalisierbar
* Reaktionen erfolgen deterministisch

Eine Sequence kennt **keine Sonderfälle** für Hand- oder Automatikbetrieb –\
sie arbeitet immer im selben Zustandsraum.

***

### 8. Abgrenzung zu anderen Elementen

Zur Klarstellung:

* Eine **Sequence** ist **keine Hardware-Zone**\
  → sie steuert nicht Betrieb oder Startfreigabe
* Eine **Sequence** ist **keine Zone**\
  → sie repräsentiert keine konkrete Technik
* Eine **Sequence** ist **keine Sicherheitsfunktion**\
  → Sicherheit entsteht durch modellierte Überwachung, nicht durch Ablauf
* Eine **Sequence** ist **kein Code-Modul**\
  → sie ist ein formales Verhaltensmodell

***

### 9. Typische Modellierungsfehler bei Sequences

Häufige Fehler sind:

* Sequences mit zu großer funktionaler Verantwortung
* technische Zustände statt logischer Zustände
* Vermischung von Ablauf und Sicherheitslogik
* Betriebsartenlogik innerhalb der Sequence
* implizite Annahmen statt expliziter Modellierung

Eine gute Faustregel:

> **Wenn sich eine Sequence nicht in einem Satz erklären lässt, ist sie zu groß.**

***

### 10. Zusammenfassung

Eine Sequence ist:

* die zentrale funktionale Einheit in Selmo
* ein deterministisches Zustandsmodell
* klar abgegrenzt und verantwortlich
* unabhängig von Betrieb, UI und Implementierung

Sie bildet die Grundlage für:

* saubere Abläufe
* automatische Diagnose
* nachvollziehbare Dokumentation
* sichere Erweiterbarkeit

> **Wer die Sequences versteht, versteht die Maschine.**


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://infosys.selmotech.com/selmo-documentation/4-struktur-der-maschine-statisch/sequence.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
