steuern von Lokomotiven / das Fahrpult
Die Steuerung von Lokomotiven
geschieht in derselben Art und Weise wie das Schalten von
Magnetartikeln.
Auch hier müssen wir 2 Bytes übertragen: den Fahrbefehl und die
Adresse der betreffenden Lokomotive.
Wie leicht so etwas zu realisieren ist, habe ich im Kapitel
einfaches Prüfprogramm bereits beschrieben.
Zur Steuerung von Lokomotiven eignet sich das Prüfprogramm
allerdings nur, wenn die betreffende Lok stationär betrieben
wird, also auf einem Rollenbock steht oder auf unserem Werkstatttisch
liegt.
Das Problem bei der Steuerung von
Lokomotiven liegt weniger im programmtechnischen Bereich als in
der Gestaltung
unseres Fahrpultes und in der Auswahl der dazu nötigen Tools .
Doch bevor wir uns Gedanken über das optische Erscheinungsbild
unseres Fahrpultes machen, sollten wir überlegen, wieviele
Fahrpulte wir brauchen.
Denn: je mehr Fahrpulte wir darstellen wollen, umso mehr Platz
brauchen wir auf unserem Monitor.
Ich bin der Meinung, mit 2 Fahrpulten hat man mehr als genug.
Schon in der Bibel steht dass niemand zwei Herren dienen
kann und bisher hat mir noch niemand gezeigt, wie er 2 Lokomotiven gleichzeitig
steuert.
An dieser Stelle kommt immer die Frage: Ich habe aber 10 Lokomotiven, wie soll ich die denn mit nur einem Fahrpult steuern ?
Meine Antwort:
Wohl jeder kennt ein Messgerät zum Messen von Spannung, Strom, Widerstand usw. Mit einem Wahlschalter kann man dort den benötigten Messbereich wählen.
Niemand käme auf die abstruse Idee, für jeden Messbereich ein eigenes Messgerät zu kaufen.
Warum soll unser Fahrpult nicht können, was ein simples Messgerät schon lange kann ?
Wir bauen uns eine geeignete Möglichkeit ein, mit der wir uns die gewünschte Lokomotive aus unserem Lok-Pool aussuchen können.
Dazu verwenden wir eine Datenbank (genauer: eine Tabelle innerhalb einer Datenbank), in welche wir alle wichtigen Daten unserer Lokomotiven eintragen.
Dies hat weiterhin den Vorteil, das wir beim Wechsel einer Lokomotive die aktuellen Parameter wie Geschwindigkeit, aktive Funktionen usw. der 'alten' Lok in die Datenbank schreiben können und beim nächsten Aufruf dieser Lok genau die richtigen Parameter wieder zur Verfügung haben.
In einer Datenbank werden diese Parameter auch über das Abschalten der Anlage hinaus gespeichert und stehen beim Einschalten wieder zur Verfügung.
Wer mit nur einem Fahrpult auskommen kann und will, braucht natürlich einen Weg, um die gewünschte Lok auswählen zu können.
Dazu gibt es verschiedene Möglichkeiten:
Tool | Bedienung | Bemerkung |
Textfeld | manuelle Eingabe der digitalen Adresse |
Vorteile: - platzsparend Nachteil: |
ListBox | Auswahl mit der Maus aus einer Liste | Vorteile: - übersichtlich, Nachteile: |
ComboBox | Kombination aus Textfeld und Listbox | Vorteile: - weniger Platzbedarf als bei der ListBox Nachteil: |
<Taste Taste> | durch die beiden Tasten kann man vorwärts oder rückwärts durch die Datenbank wandern | Vorteile: - geringer Platzbedarf Nachteil: |
n Tasten | für jede Lokomotive eine eigene Taste | Vorteile: - blitzschnelle Wahl der Lokomotive Nachteil: |
Die Vorschläge 2 und 3
erfordern beim Start des Programms das Einlesen der Lokomotiven aus der
Datenbank:
- die Daten werden mit .addItem in die betreffende List- / ComboBox
eingetragen.
Bei Vorschlag 4 können wir uns mit .movenext / .moveprevious in
der Datenbank bewegen.
Um die gewünschte Fahrstufe auszuwählen gibt es mehrere Möglichkeiten
Tool | Beschreibung |
2
Tasten (1x langsamer, 1x schneller) |
Vorteile: - langsames Anfahren und Abbremsen bei jeder Lok möglich Nachteile: |
14 Tasten (1x pro Fahrstufe) | Vorteile: - die gewünschte Geschwindigkeit kann 'gezielt' vorgegeben werden. Nachteile: |
Schieberegler, Scrollbar | Vorteile: - optische Anzeige der aktuellen Fahrstufe - Grob- und Feinregelung möglich - bei horizontaler Darstellung mit CursorTasten steuerbar Nachteile: |
AudioControl
ActiveX Control Modul (AudioControl.ocx)
|
Hier handelt
es sich um ein Steuerelement mit vertikaler Ausrichtung,
welches den oben genannten Scrollbars sehr ähnlich ist. Für unsere Zwecke ist es sehr gut geeignet. Während bei den Scrollbars eine Änderung der .Value-Eigenschaft nur durch Mausklicken erreichbar ist, reicht bei diesem Control das Bewegen der Maus. Außerdem liegt der höchste Wert am oberen Rand, bei einer 'normalen' Scrollbar liegt er am unteren Ende und muß daher erst umgerechnet werden |
Selbstverständlich sind auch Kombinationen der o.a. Tools oder andere Lösungen (Eigenbau) denkbar.
Des Weiteren benötigen wir eine Möglichkeit um den Fahrtrichtungswechsel vorzunehmen:
Tool | Bemerkung |
Taste | Vorteile: - platzsparend, Nachteile: |
rastende Taste | Vorteile: - optische Anzeige der aktuellen Fahrtrichtung Nachteile: |
Option | Vorteile: - bei Verwendung von 2 Options erkennt man die aktuelle Fahrtrichtung Nachteil: |
Auch hier gibt es noch etliche andere Möglichkeiten, den Fahrtrichtungswechsel durchzuführen und anzuzeigen.
Weitere Tipps für die Gestaltung
des Fahrpultes