Variablen im TrainController 11 - ein Versuch einer einfachen Erklärung

Variablen in TrainController – Typen und Gültigkeitsbereiche

Variablen in TrainController dienen dazu, Werte dynamisch zur Laufzeit zu speichern und auszuwerten. Dadurch können Abläufe flexibel auf Betriebssituationen reagieren.

Typische Anwendungen:

Zählen von Ereignissen

Steuerung von Geschwindigkeiten

Dynamische Entscheidungen

Auswahl von Objekten

Steuerung von Zugverhalten

1. Variablentypen (Datentypen)

Variablen in TrainController

Überblick

Variablen in TrainController dienen dazu, Werte dynamisch zur Laufzeit zu speichern und auszuwerten.

Typische Anwendungen:

Zählen von Ereignissen

Steuerung von Geschwindigkeiten

Dynamische Entscheidungen

Auswahl von Objekten

Steuerung von Zugverhalten

1. Variablentypen

1.1 Zahl

Beschreibung: Speichert numerische Werte.

Verwendung:

* Zähler * Geschwindigkeiten * Berechnungen

Beispiel: Variable Zuganzahl_im_Schattenbahnhof

* Einfahrt: +1 * Ausfahrt: -1 * Bedingung: < 5 → Einfahrt erlaubt

—

1.2 Text

Beschreibung: Speichert Zeichenketten.

Verwendung:

* Meldungen * Namen * Statusanzeigen

Beispiel: Variable Zugstatus_Text Wert: Verspätung +5 min

—

1.3 Zeit

Beschreibung: Speichert Zeitwerte (Millisekunden).

Verwendung:

* Verzögerungen * Zeitsteuerung

Beispiel: Variable Abfahrtsverzoegerung Wert: 30000 (30 Sekunden)

—

1.4 Objekt

Beschreibung: Speichert Verweise auf Objekte (Signal, Weiche, etc.).

Verwendung:

* Universelle Makros * Dynamische Steuerung

Beispiel: Variable Signal_Objekt → wird einem Signal zugewiesen Makro setzt dieses Signal auf Grün

—

2. Gültigkeitsbereiche

2.1 Global

Beschreibung: Ein Wert für das gesamte System.

Beispiel: Notbetrieb_Aktiv = 1

Verwendung:

* Betriebsmodi * globale Schalter

—

2.2 Privat (pro Objekt)

Beschreibung: Jedes Objekt hat seinen eigenen Wert.

Beispiel: Variable Taster_Zaehler

* Taster A → zählt separat * Taster B → eigener Wert

—

2.3 Zug

Beschreibung: Jeder Zug besitzt eigene Variablenwerte.

Beispiel: Variable Verspaetung

* Zug A → +3 Minuten * Zug B → 0 Minuten

Verwendung:

* individuelle Steuerung * Prioritäten

—

2.4 Block

Beschreibung: Jeder Block hat eigenen Wert.

Beispiel: Variable Block_Belegtzeit

Verwendung:

* Analyse * Steuerung

—

2.5 Zugfahrt

Beschreibung: Eigene Werte pro Zugfahrt.

Beispiel: Variable Fahrtmodus

* Schnellfahrt * Rangierfahrt

—

2.6 Weichenstraße

Beschreibung: Eigene Werte pro Fahrstraße.

Beispiel: Variable Fahrstrasse_Prioritaet

* Hauptstrecke → hoch * Nebenstrecke → niedrig

—

2.7 Erweitertes Zubehör

Beschreibung: Variablen für Zubehör-Objekte.

Beispiel: Variable Bahnuebergang_Status

* offen * geschlossen

—

2.8 Lokal

Beschreibung: Nur innerhalb einer Operation gültig.

Eigenschaften:

* temporär * wird automatisch gelöscht

Beispiel: Variable Temp_Wert für Zwischenberechnung

—

3. Kombination von Typ und Gültigkeit

Eine Variable besteht immer aus:

* Datentyp (z. B. Zahl, Text) * Gültigkeitsbereich (z. B. Zug, global)

Beispiel: Verspaetung

* Typ: Zahl * Gültigkeit: Zug

→ Jeder Zug hat eigene Verspätung

—

4. Typische Kombinationen

Variable	Typ	Gültigkeit	Zweck
Zuganzahl	Zahl	Global	Gesamtverkehr
Verspaetung	Zahl	Zug	individuelle Steuerung
Fahrmodus	Text	Zugfahrt	Betriebsart
Signal	Objekt	Global/Lokal	Steuerung
Verzoegerung	Zeit	Zugfahrt	Ablaufsteuerung
Klickzaehler	Zahl	Privat	Bedienlogik

—

5. Fazit

TrainController kombiniert zwei Prinzipien:

* Datentyp → WAS wird gespeichert * Gültigkeit → FÜR WEN

Wichtige Einsatzbereiche:

* Global → Systemsteuerung * Zug → individuelle Logik * Zugfahrt → Varianten im Betrieb * Lokal → interne Berechnung

→ Damit lassen sich komplexe Automatik-Abläufe flexibel realisieren.