1. Problemstellung
In der Automation kommt es häufig vor, dass Prozessdaten von
einem Mess- oder Steuerungssystem an ein anderes Steuerungssystem
übertragen werden sollen oder über eine Internet-Verindung
zentral erfasst werden sollen. In all diesen Fällen ist es
notwendig, dass die Systeme miteinander kommunizieren können.
Eine Möglichkeit bietet sich unter Verwendung einer Ethernet-Verbindung.
Viele moderne Mikrocontroller sind heute bereits mit der notwendigen
Hardware und Software ausgerüstet. Ein Beispiel dafür
ist der oben abgebildete Mikrocontroler Rabbit RCM3200. Auf dem
Mikrocontroller-Modul ist die notwendige Hardware für eine
Netzwerkverbindung implementiert. In den Bibliotheken des C-Compilers
Dynamic C ist bereits ein Tcp-Server enthalten. In diesem Beispiel
wird nun demonstriert, wie eine einfache Kommunikation zwischen
einem PC und einem Mikrocontroller aufgebaut werden kann.
2. Hardwareaufbau
Der Hardwareaufbau ist sehr einfach. Das RCM3200-Mikrocontrollermodul
wird entweder mit einem gekreuzten Netzwerkkabel (twisted pair)
oder mit "normalen" Netzwerkkabel über einen Hub
oder Switch mit einem PC verbunden. In diesem Beispiel wird die
letztere Variante gewählt. Den Hardwareaufbau sieht man in
Abbildung 1. Zur Stromversorung und IO-Interface dient das Rabbit
Interface board. Selbstverständlie eignet sich auch jedes
andere Interface-Board.
Bild
noch in Arbeit
Abbildung 1: Hardwareaufbau für eine Tcp-Ip
fähige Kommunikation zwischen einem PC und einem Mikrocontroller
3. Software
Auf dem Mikrocontroller läuft ein einfaches Programm, welches
textbasierte Befehle über die Ethernet-Schnittstelle einliest,
dieser verarbeitet und die entsrechende Anwort an den Sender zurückschreibt.
In diesem Fall liefert der Mikrocontroller auf die Zeichenkette
"$002" die Uhrzeit seiner Echtzeiturh. Auf die Software
des Mikrocontrollers soll hier aber nicht weiter eingegangen werden.
Der Mikrocontroller fungiert damit als Server.
Auf der Seite des PCs arbeitet das Client-Program. Seine Aufgabe
besteht darin, dem Server Befehle zu senden und die Anwort weiter
zu verarbeiten. In diesem Beispiel besteht die Aufgabe des Client-Programms
lediglich darin, dem Server (Mikrocontroller) den Befehl "$002"
zu senden und die Uhrzeit in der Textbox darzustellen. Auf die gleiche
Weise ist es auch denkar Eingänge des Mikrocontroller abzufragen
und die Zustände am PC darzustellen. Die Ausgabe des Client-Progammes
ist in Abbildung 2 dargestellt.
3. Start der Anwendung
Im dargestellten Beispiel kommuniziert der Client mit einem dem
im Netzwerk befindlichen Mikrocontroller. Der Mikrocontroller hat
dabei die IP-Adresse 10.1.1.3. Die Kommunikation erfolgt über
das Port 1111. Nach dem Drücken der "Connect"-Taste
erreicht das Client-Programm das Ereignis "onConnected",
welches signalisiert, dass die Verbindung erfolgreich aufgebaut
wurde. Durch Drücken der Taste "Send "$002"
wird die Zeichenkette "$002" an den Mikrocontroller gesendet.
Dieser interpretiert den Befehl als "GetTime"-Befehl und
liefert die aktuelle Uhrzeit des Mikrocontrollers zurück. Abschliessend
wird die Verbindung geschlossen.

Abbildung 2: Ausgabe des Client-Programmes
Als Client-Programm eignen sich auch andere Programme, die über
eine Tcp-Ip-Verbindung kommunizieren können wie z.B. das in
MS-Windwos mitgelieferte Programm Hyperterminal. Der Vorteil einer
eigenen Anwendung besteht allerdings darin, dass sie auf die eigenen
Bedürfnisse angepasst werden kann. Wie man mit mit Hilfe der
Programmiersprache C# und einem Tcp-Steuerelement ein einfaches
Client-Programm erstellt, wird in der Produktbeschreibung der Tcp-IP
Steuerelemente aufgezeigt.
|