Tutorials
 
Kontakt| Impressum
   
rgnTitle

Beispiel

Datenaustausch mit dem Mikrocontroller Rabbit RCM3200 über Ethernet

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.

Impressum | Haftungsausschluss

Version 1.0, ©Gerhard Burger 2004-2013, alle Rechte vorbehalten, letzte Änderung 09.11.2013