CompuLAB fernsteuern mit TCP/IP

(13.3.03)

Das Buch "Messen, Steuern und Regeln mit TCP/IP" von Lars Gollub enthält nicht nur die Grundlagen sondern auch zahlreiche Beispiele für die Realisierung von MSR-Anwendungen mit WinSock und Delphi. Eines davon, das in diesem Artikel vorgestellt werden soll, beschäftigt sich mit der Fernsteuerung des CompuLAB.

Client-Server-Struktur der Beispielanwendungen

Allen Beispielen in dem Buch ist die oben gezeigte Struktur gemein. An einem Rechner mit der Server-Applikation ist eine Hardware-Ressource angeschlossen, die in diesem Fall das CompuLAB ist. Auf diese Ressource kann von anderen Rechnern aus über die zugehörige Client-Anwendung zugegriffen werden.

Die Oberfläche der Server-Anwendung

Wie Screenshot der Server-Anwendung zeigt, ist ihre Oberfläche in drei Gruppenfelder unterteilt. Das Gruppenfeld "CompuLAB" enthält Steuerelemente für die Verbindungsaufnahme mit dem Interface und zur Darstellung des aktuellen Zustands des Geräts. Über das Kombinationsfeld, das mit "Verbinden über" beschriftet ist, wird die serielle Schnittstelle festgelegt, an dem das CompuLAB angeschlossen ist.

Bildschirmfoto der Server-Anwendung

Mit der Befehlsschaltfläche "Verbinden" wird eine Verbindung zum Interface aufgebaut und mit der Befehlsschaltfläche "Trennen" wieder beendet. Die acht mit dem Schriftzug "Eingänge:" gekennzeichneten LEDs geben die Zustände der Eingabeleitungen wieder. Parallel dazu zeigen die acht LEDs, die mit "Ausgänge:" überschrieben sind, die Zustände der Ausgabeleitungen an. Besteht eine Verbindung zum CompuLAB, werden die LEDs der Eingabeleitungen grün und die der Ausgabeleitungen rot dargestellt, ansonsten sind alle LEDs grau. In den beiden Textfeldern, die mit "Kanal A:" und "Kanal B:" beschriftet sind, wird die Spannung der beiden analogen Eingänge als Werte zwischen 0 und 255 angezeigt.

Die Steuerelemente in dem Gruppenfeld "Server" gestatten es, den Server-Betrieb über die Befehlsschaltflächen "Start" und "Stopp" zu starten und wieder anzuhalten. Die Befehlsschaltfläche "Start" ist nur dann verfügbar, wenn eine Verbindung zum Interface besteht und der Server nicht bereits aktiv ist. Entsprechend ist die Befehlsschaltfläche "Stopp" nur dann anwählbar, wenn der Server läuft. Wird der Server angehalten, werden alle bestehenden Verbindungen zu Client-Anwendungen beendet.

In dem mit "Port:" beschrifteten Eingabefeld kann die Nummer des Ports festgelegt werden, auf dem Verbindungsanforderungen von Client-Anwendungen empfangen werden sollen. Für diese Beispielanwendung ist die Port-Nummer 24505 voreingestellt. Sie kann nur geändert werden, wenn der Server deaktiviert ist.

Damit nicht jeder auf das CompuLAB zugreifen kann, der über die Client-Anwendung verfügt und der die Adresse und Port-Nummer der Server-Anwendung kennt, erfolgt eine Absicherung durch Kennwörter. In den mit "Lesekennwort" und "Lese-/Schreibk." beschrifteten Eingabefeldern kann festgelegt werden, welches Kennwort ein Benutzer kennen und in die Client-Anwendung eingeben muss, damit er Leserechte oder Lese- und Schreibrechte erhält. Eine verbundene Client-Anwendung, der Leserechte erteilt wurden, zeigt ihrem Benutzer nur den aktuellen Zustand des CompuLAB an. Hat eine Client-Anwendung Lese- und Schreibrechte, kann ihr Benutzer zusätzlich die Ausgabeleitungen des Interfaces beeinflussen.

In der Liste, deren Spalten mit "Client-IP", "Client-Port" und "Rechte" überschrieben sind, werden die Verbindungsinformationen und die Zugriffsrechte von Client-Anwendungen angezeigt, die im Augenblick mit der Server-Anwendung verbunden sind.

Das einzige Steuerelement in dem letzten Gruppenfeld "Meldungen" ist ein mehrzeiliges Textfeld, in dem bei Ereignissen Meldungen ausgegeben werden. Ereignisse sind beispielsweise eine Verbindungsaufnahme, die Beendigung einer Verbindung oder das Empfangen oder Senden von Daten. Neben den Meldungen wird auch der Text aller auftretenden Exceptions in dem Textfeld ausgegeben und wird nicht, wie sonst in einer Delphi-Anwendung üblich, in einem neuen Fenster angezeigt. Auf diese Weise kann die Anwendung trotz einer Exception weiterlaufen, da von dem Anwender kein Fenster geschlossen werden muss. Dies ist besonders bei Server-Anwendungen wichtig, die in der Regel nicht ständig kontrolliert werden.

Download: CompuLABServer.zip (197 KB)

Die Oberfläche der Client-Anwendung

Wie in der Server-Anwendung gibt es auch in der Oberfläche der Client-Anwendung ein Gruppenfeld, das mit "Server" überschrieben ist. Es dient in der Client-Anwendung jedoch nicht dazu, einen Server einzurichten, sondern eine Verbindung zu einem Server aufzubauen. In dem mit "Name/IP:" beschrifteten Eingabefeld kann entweder der Name oder die IP-Adresse des Rechners angegeben werden, auf dem die Server-Anwendung läuft. In dem mit "Port:" beschrifteten Eingabefeld kann die Port-Nummer eingetragen werden, unter der versucht werden soll, die Server-Anwendung zu erreichen. Für diese Beispielanwendung ist die Port-Nummer 24505 voreingestellt.

Bildschirmfoto der Client-Anwendung

Durch Anwählen der Befehlsschaltfläche "Verbinden" wird ein Verbindungsversuch gestartet. Wurde im Eingabefeld "Name/IP:" der Rechnername angegeben, wird zunächst versucht, seine IP zu ermitteln. Nach einer erfolgreichen Verbindungsaufnahme wird das Kennwort, das in das entsprechende Eingabefeld eingegeben wurde, an die Server-Anwendung gesendet, um die Zugriffsrechte festzulegen. Mit der Befehlsschaltfläche "Trennen" kann eine bestehende Verbindung wieder beendet werden.

Die Steuerelemente im Gruppenfeld "CompuLAB" entsprechen denen im gleichnamigen Gruppenfeld der Server-Anwendung mit der Ausnahme der Befehlsschaltflächen. Mit ihnen können die Zustände der Ausgabeleitungen verändert werden. Damit die Befehlsschaltflächen verfügbar sind, muss jedoch eine Verbindung zum Server bestehen und dieser muss der Client-Anwendung Lese- und Schreibrechte erteilt haben.

Das mit "Meldungen" überschriebene Gruppenfeld hat in der Client-Anwendung die gleiche Funktion wie in der Server-Anwendung.

Download: CompuLABClient.zip (169 KB)

Das Buch stellt nur geringe Anforderungen an die Hardwareausstattung. Die ersten Versuche gelingen schon mit LEDs und Schaltern direkt an der seriellen Schnittstelle. Außerdem wird auch der Umweltspion und das Relaisinterface von AK-Modul-Bus verwendet. Diese Interfaces und das Buch selbst sind im Online-Shop der Firma erhältlich.

Lars Gollub, Messen Steuern und Regeln mit TCP/IP, Franzis-Verlag 2003


Die Homepage des Autors
Online-Shop von AK-Modul-Bus.de
Zurück zur Startseite der MB-News
Zurück zur Startseite AK-Modul-Bus