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
|
|
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.