Dies ist eine alte Version des Dokuments!
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
Klassischer Einsatz als Kapazitätssteuerung
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.