11
Erweiterte Dienste des Com-Servers
11.1 Control- und Serviceports
In den vorangegangenen Kapiteln haben wir alle Standard-Prozesse erläutert, die im Com-
Server implementiert wurden. Diese Client-/Serverprozesse decken einen großen Teil der An-
wendungsmöglichkeiten des Com-Servers ab. Die Realisierung komplexer Probleme erfor-
dert jedoch oft eine individuelle Anpassung der Software.
Für Anwender, die die Möglichkeiten der Socket-Programmierung nutzen, bietet der Com-
Server zusätzliche, über den reinen Datentransfer hinausgehende, Funktionen.
11.2 Serial Port Control (Portnummer: 9094)
Die TCP-Client- und TCP-Server-Prozesse zur Übertragung von Daten an die serielle Schnitt-
stelle des Com-Servers bieten bekannterweise keinen Einfluß auf die serielle Schnittstelle
selbst. Manche Anwendungen machen es aber erforderlich, daß der Status und die Konfigura-
tion der Schnittstelle zu jeder Zeit bekannt und beeinflußbar ist.
Parallel zur Datenverbindung auf Port 8000 kann auf dem Port 9094 eine Kontrollverbindung
geöffnet werden. Über diese Verbindung ist es möglich, den aktuellen Status der Schnittstelle
(Handshakeleitungen und Fehlerzustände) auszulesen oder auch Befehle abzusetzen. Die
„Nutzdaten" selbst werden nur über die eigentliche Datenverbindung transportiert.
!
Die Kontrollverbindung kann nur geöffnet werden, wenn der Com-Server-Port als TCP-Server-
oder TCP-Client-arbeitet.
Daten- und Kontroll-Port (Port 8000 und 9094) sind nicht voneinander abhängig. Sie können
einzeln beliebig oft geschlossen und geöffnet werden.
11.2.1 Die Control-Struktur
Zum Austausch der Informationen und Befehle werden Datensätze mit definierter Länge und
Struktur über diese Verbindung ausgetauscht.
Um eine Infostruktur (vollständig ausgefüllter Datensatz vom Com-Server-Port) anzufordern,
muß lediglich ein beliebiges Zeichen zum Control-Port gesendet werden. Soll ein Befehl
abgesetzt werden, erwartet der Com-Server die komplette Struktur (30 Bytes) in einem TCP-
Paket. Gehen auf dem Control Port nicht zuortbare Daten (z.B. nur die Hälfte einer Struktur)
ein, wird ebenfalls mit einer Infostruktur geantwortet. Die Deklaration der Strukturen sind in
der Programmiersprache C angegeben.
!
Für alle Strukturen gilt:
Ein word entspricht einem 16-bit-Integer.
Ein char entspricht einem Byte (8 bit).
Hexadezimale Schreibweise: 0x vor dem Wert.
W&T
w w w . w u t . d e
65