> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/german/funktionsblocke/blocks-reference/data-logic/flow-control/subsystem-in.md).

# Subsystem In

Dieser Block wird verwendet, um einen Wert aus einem Parent-Szenario in ein Subsystem (eine verschachtelte Szene) zu importieren und den darin enthaltenen Blöcken verfügbar zu machen. Er fungiert als nummerierter Eingangsport für das Subsystem und synchronisiert sich automatisch mit den Eingängen des Parent-Szenarios.

## 📥 Eingänge

Dieser Block deklariert keine direkten Eingänge (er empfängt Daten vom Parent-Szenario und nicht von lokalen Sockets).

## 📤 Ausgänge

`Generic`\
Dieser Ausgang liefert den Wert, der vom Parent-Szenario bereitgestellt wird. Innerhalb des Subsystems verbinden Sie diesen Ausgang mit allen Blöcken, die die vom Parent gelieferten Daten benötigen.

## 🕹️ Steuerungen

`Title`\
Der Block zeigt eine Zahl an, die seine Position unter den Subsystem-Eingängen identifiziert (z. B. 1, 2, 3).

`Scene Index`\
Jeder Block hat einen Scene Index, der bestimmt, auf welchen Parent-Eingang er abgebildet wird. Der angezeigte Titel spiegelt diesen Index wider.

Hinweis: Die Nummerierung wird automatisch verwaltet. Wenn Sie Subsystem-Eingänge hinzufügen, entfernen oder neu anordnen, aktualisieren sich die angezeigten Zahlen entsprechend.

## ⚙️ Ausführungsmechanismus

* Wenn das Subsystem ausgeführt wird, liefert jeder `Subsystem In`-Block den Wert, der vom passenden Eingang des Parent-Szenarios kommt.
* Im Haupt(Parent)-Szenario wird der entsprechende Parent-Eingang die Daten bereitstellen, die in das Subsystem fließen.
* Der Block hält seine Zuordnung mit dem Parent-Szenario synchron, sodass das Subsystem den korrekten Eingang erhält, selbst wenn Eingänge im Parent hinzugefügt oder neu angeordnet werden.
* Der Block unterstützt die Verwendung in Test- oder speicherunterstützten Umgebungen (das System passt das Verhalten an, je nachdem, ob das Subsystem eigenständig oder eingebettet ausgeführt wird).

## 🎯 Funktionen

* Automatische Nummerierung und Indexzuordnung, sodass Subsystem-Eingänge leicht identifizierbar sind.
* Dynamische Synchronisation mit Parent-Eingängen — Socket-Typen und Reihenfolge folgen automatisch dem Parent-Szenario.
* Funktioniert nahtlos mit aktiviert/deaktiviert Modus des Subsystems (`Subsystem Enabled`) — das Eingangsverhalten passt sich beim Aktivieren/Deaktivieren an.
* Leichtgewichtiges Design und nicht skalierbar für ein kompaktes Flow-Control-Layout.

## 📝 Verwendung

1. Platzieren Sie ein Subsystem und öffnen Sie dessen Child-Szene.
2. Fügen Sie ein oder mehrere `Subsystem In`-Blöcke innerhalb der Child-Szene hinzu. Jeder wird mit einer Nummer (1, 2, ...) angezeigt, die angibt, welchem Parent-Eingang er zugeordnet ist.
3. Stellen Sie im Parent-Szenario Daten an den entsprechenden Subsystem-Eingangs-Sockets bereit. Diese Daten stehen dann im Subsystem über den Ausgang `Generic` zur Verfügung.
4. Verbinden Sie innerhalb des Subsystems den Ausgang `Generic` mit anderen Blöcken, die den vom Parent gelieferten Wert benötigen.

## 💡 Tipps und Tricks

* Verwenden Sie zusammen mit `Subsystem Out`, um Ergebnisse aus dem Subsystem an das Parent-Szenario zurückzugeben.
* Kombinieren Sie mit `Subsystem Enabled`, wenn Sie bedingte oder umschaltbare Subsystem-Ausführungen benötigen; das Eingangsverhalten passt sich an, wenn das Subsystem aktiviert/deaktiviert wird.
* Wenn Sie einen Eingabewert im Subsystem persistieren oder einfrieren möchten, koppeln Sie den Ausgang `Generic` mit `Data Memory`, um den Wert über Läufe hinweg zu halten.
* Zum Debugging oder zur Inspektion dessen, was der Parent ins Subsystem sendet, leiten Sie den Ausgang `Generic` in `Debug Input` oder zeigen Sie ihn mit geeigneten Viewer-/Output-Blöcken an.
* Um Konfigurationswerte (Zahlen, Text oder Booleans) vom Parent zu übergeben, verwenden Sie Parent-seitige Blöcke wie `Number Input`, `String Input` oder `Logic Input` und ordnen Sie sie über die entsprechenden `Subsystem In` im Child an.

## 🛠️ Fehlersuche

* Wenn ein `Subsystem In`-Block eine unerwartete Nummer anzeigt, versuchen Sie, andere Subsystem-Eingänge hinzuzufügen oder zu entfernen; die Nummerierung aktualisiert sich automatisch.
* Wenn das Subsystem keine Werte empfängt, stellen Sie sicher, dass das Parent-Szenario auf dem passenden Eingangs-Socket Daten bereitstellt und dass das Subsystem korrekt dem Parent hinzugefügt wurde.
* Wenn Socket-Typen geändert werden müssen, synchronisiert das System die Child-Ports mit dem Parent — verbinden Sie Flows nach größeren Änderungen neu, um das korrekte Verhalten zu bestätigen.
