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.