schalten von Magnetartikeln
In diesem Kapitel lernen wir die
grundlegende Programmierung der märklin-Interfaces
kennen.
Bevor wir jedoch zu unserem ersten
Erfolgserlebnis kommen, müssen wir noch ein paar Dinge erledigen:
wir installieren eine Taste auf dem Form
wir installieren eine weitere Taste auf dem Form
Nun müssen wir noch den entsprechenden Quellcode schreiben, um die erste Weiche oder das erste Signal schalten zu können (bei einem Signal sollten wir aber die Tastenbeschriftung ändern).
Beginnen wir mit btnLinks
Ein Doppelklick auf die Taste öffnet
uns das Code-Fenster mit der Prozedur Private Sub
btnLinks_Click()
Im ersten Moment könnte man versucht sein, den Code
hier einzugeben. Das wäre zwar nicht falsch und würde auch
funktionieren,
hat aber einen gravierenden Nachteil:
Das Interface führt den
Befehl aus und schickt über die ControlUnit (CU) den
Schaltstrom an die Weiche.
Der Schaltstrom fließt nun solange, bis entweder
Um letzteres zu verhindern müssen wir also für eine baldige
Abschaltung des Schaltstromes sorgen.
Natürlich können wir eine dritte Taste installieren und mit
dieser den Abschaltbefehl senden, aber dann müssen wir
jedesmal wenn wir eine Weiche schalten zwei Tasten
anklicken. Wahrlich keine besonders praktikable Lösung.
Es geht viel eleganter !
Wir wählen die Prozedur Private
Sub btnLinks_MouseDown.
Hier tragen wir den folgenden Code ein:
btnLinks |
Private
Sub btnLinks_MouseDown. RS232.Output = chr(33) & chr(1) End Sub |
Damit wird das Interface angewiesen, die Weiche 1 (1) nach links (33) zu schalten.
Bisher gibt es noch keinen Unterschied zur vorher verschmähten Click-Routine. Aber wir haben ja auch noch 'den Finger auf der Maus-Taste' und irgendwann werden wir diese auch mal wieder loslassen.
Dann tritt nämlich das MouseUp-Ereignis ein und genau dieses Ereignis benutzen wir für die Abschaltung des Schaltstromes.
Die Prozedur Private Sub
btnLinks_MouseUp erhält den Code
btnLinks |
Private
Sub btnLinks_MouseUp. RS232.Output = chr(32) End Sub |
Durch diese Programmierung haben
wir es im wahrsten Sinne des Wortes 'in der Hand', wie lange eine
Weiche mit Schaltstrom versorgt wird:
wenn wir die Taste drücken, beginnt der Strom zu fließen und
wenn wir sie wieder loslassen, schaltet die CU den Strom wieder
ab.
Um die Weiche auch in die andere
Richtung schalten zu können, müssen wir noch den Code für die
Taste btnRechts eingeben:
Private Sub btnRechts_MouseDown
btnRechts |
Private
Sub btnRechts_MouseDown. RS232.Output = chr(34) & chr(1) End Sub |
und
Private Sub btnRechts_MouseUp
btnRechts |
Private
Sub btnRechts_MouseUp. RS232.Output = chr(32) End Sub |
Durch wechselndes Klicken der
Tasten links und rechts ist es
jetzt möglich, die Weiche hin und her zu schalten.
Sollte die Fahrtrichtung der Weiche nicht mit der Beschriftung
des Taste übereinstimmen, kann man
Mit diesen wenigen Zeilen
Quellcode haben wir das grundlegende Prinzip der märklin-Digitalsteuerung
in die Praxis umgesetzt.