erste Schritte

In diesem Kapitel werden wir uns im theoretischen Teil mit den grundlegenden Erfordernissen befassen,
welche für die Kommunikation zwischen PC und Interface wichtig sind.
Außerdem besprechen wir die Konfiguration des CommControls.
Im praktischen Teil installieren und konfigurieren wir das CommControl-Objekt in unser Visual Basic-Projekt.


Theorie

Schauen wir uns als erstes die Verbindung zwischen dem PC und dem Interface an.
Die Übertragung zwischen beiden Geräten geschieht über die serielle Schnittstelle des PCs
Man bezeichnet sie auch als V.24, RS232 oder COM-Schnittstelle.
Egal wir wir sie nennen, diese Schnittstelle sendet unsere Daten zeitlich nacheinander Bit für Bit an den Empfänger.

Da wir immer nur sehr kurze Datenpakete (max. 2 Byte) verschicken, hat sich Märklin für die asynchrone Datenübertragung entschieden.
Asynchron bedeutet, jedes Byte wird unabhängig von evt. noch weiteren zu übertragenden Bytes einzeln auf die Reise geschickt. Durch das automatische Hinzufügen entspr. Bits kann der Empfänger den Anfang und das Ende jedes Bytes erkennen.
Dieses Verfahren ist zeitlich aufwendig und eignet sich nur zur Übertragung kleinerer Datenmengen. Sein unbestreitbarer Vorteil liegt in den verhältnismäßig geringen Anforderungen (und damit Kosten) für die Hardware.

An einer Datenübertragung sind logischerweise immer mindestens 2 Geräte beteiligt. Damit sie sich ' verstehen', müssen sie eine gemeinsame 'Sprache' sprechen. In der Datentechnik bezeichnet man dieses als Protokoll. Oftmals kann man die einzelnen Parameter in bestimmten Grenzen frei einstellen.
Beim märklin-Interface ist das jedoch nicht möglich.
Märklin hat die folgenden Werte fest vorgegeben: 2400,N,8,2

Parameter Beschreibung
2400 Bits pro Sekunde Geschwindigkeit, mit der die Daten übertragen werden (Baudrate)
N keine Paritätsprüfung
8 Anzahl der zu übertragenden Datenbits
2 Anzahl der Stoppbits

Diese Werte müssen wir natürlich auch unserem Programm mitteilen.

Dafür gibt es 2 Möglichkeiten:

Ich empfehle die Eintragung zur Entwicklungszeit, schließlich gibt es in VB eine Liste mit allen Eigenschaften der verwendeten Objekte.
Diese Liste könnt Ihr mit F4 aufrufen.

Uns interessieren momentan nur die Einträge

Unter Name geben wir eine eindeutige Bezeichnung für das CommControl ein.
Es spielt absolut keine Rolle, für welchen Namen wir uns entscheiden (RS232, V24, Schnittstelle usw).
Im Quellcode der folgenden Beispiele werden wir die Bezeichnung RS232 verwenden.

CommPort bezeichnet die Schnittstelle, mit welcher unser Programm arbeiten soll. Das wird meistens die "1" sein, aber es kann auch jede andere vorhandene Com-Schnittstelle verwendet werden.

Settings enthält die weiter oben beschriebenen Übertragungs-Parameter 2400,N,8,2

Damit haben wir alle erforderlichen Eigenschaften für unser CommControl gesetzt.
Die anderen Parameter sind für uns ohne Bedeutung und sollten unverändert bleiben.


Praxis

In diesem Abschnitt werden wir das MSCommControl in Visual Basic einbinden und konfigurieren.
Hinweis: Die folgende Menubeschreibung bezieht sich auf VB 5 / VB 6 und sieht in VB 4 völlig anders aus.

Nun müssen wir noch dafür sorgen, das beim Start des Programms die Schnittstelle geöffnet wird.
Dazu erhält das Load-Ereignis des Forms folgenden Quellcode:

Form
Private Sub Form_Load()
RS232.PortOpen = True
End Sub

Der Befehl RS232.PortOpen = True öffnet die Schnittstelle mit den oben eingetragenen Parametern und stellt die Verbindung mit dem Interface her.
Wenn die Schnittstelle nicht geöffnet wird, tritt zur Laufzeit des Programms der Fehler 8018 'Operation nur gültig, wenn der Anschluß geöffnet ist'' auf.

Als ordentliche Menschen beenden wir ein Programm so wie es sich gehört, d.h., vor dem Beenden schließen wir
die Schnittstelle wieder. In das Ereignis Form_Unload schreiben wir darum folgenden Code:

Form
Private Sub Form_Unload()
RS232.PortOpen = False
End Sub

Die oben aufgeführten Schritte müssen bei jedem neuen Projekt vorgenommen werden, da ansonsten keine Kommunikation zwischen PC und Interface möglich ist.