Dieser Artikel ist eine Einführung in die Grundlagen der TCP/IP-Kommunikation. Es werden einige LabVIEW-Kenntnisse vorausgesetzt. Wenn Sie ein Anfänger in LabVIEW sind, könnte Ihnen das Lesen dieser LabVIEW-Anleitung helfen, diesen Artikel besser zu verstehen.
Das Internet Protocol (IP), das User Datagram Protocol (UDP) und das Transmission Control Protocol (TCP) bilden die Grundlage für die Netzwerkkommunikation. Der Name „TCP/IP“ ergibt sich aus zwei der bekanntesten Protokolle der Internet Protocol Suite, dem „Transmission Control Protocol“ und dem „Internet Protocol“. Mit TCP/IP können Sie über einzelne oder miteinander verbundene Netzwerke (Internet) kommunizieren.
Die TCP/IP-Kommunikation bietet eine einfache Benutzeroberfläche, hinter der sich die Komplexität einer zuverlässigen Netzwerkkommunikation verbirgt. Weitere Informationen zur Funktionsweise der TCP/IP-Kommunikation finden Sie unter Verwenden von LabVIEW mit TCP/IP und UDP in der LabVIEW-Hilfe.
Verwenden Sie die TCP/IP-Funktionen auf der Palette Funktionen»Datenkommunikation»Protokolle»TCP für die TCP-Kommunikation in LabVIEW. Wie bei der DAQ-, Geräte- und Datei-I/O-Kommunikation umfasst der Prozess das Herstellen der Verbindung, das Lesen und Schreiben der Informationen und das Schließen der Verbindung.
Bei der meisten I/O-Kommunikation ist der Prozessor immer der Client, der eine Verbindung mit dem Festplattenserver, dem externen Messgeräteserver oder dem DAQ-Kartenserver initiiert. Bei TCP/IP-Verbindungen kann ein Computer entweder als Client oder Server fungieren. Im folgenden Blockdiagramm sehen Sie eine Client-Anwendung, die über „TCP: Verbindung herstellen“ eine Verbindung zu einem Netzwerkserver herstellt. Der Server oder Daemon wartet auf Netzwerkverbindungen und reagiert entsprechend.
LabVIEW-Benutzer können benutzerdefinierte Anwendungen für die TCP/IP-Kommunikation entwickeln. Der Programmierer ist für die Entwicklung sowohl des Clients als auch des Servers verantwortlich.
Da jeder eine Verbindung zu einem Server herstellen kann, möchten Sie möglicherweise die Serverzugriffskontrolle übernehmen. Im folgenden Blockdiagramm sehen Sie, wie der Server anhand des vom VI „TCP: Listen“ ausgegebenen Wertes für die Netzwerkadresse feststellt, ob ein Client im Netzwerk die Berechtigung zum Zugriff auf den Server hat.
Die meisten Anwendungen erfüllen mehr Aufgaben als nur das Schreiben und Lesen eines Wertes. Die Kommunikation ist ein fortlaufender Prozess, in dem Protokolle verwendet werden. Angenommen, ein Client sendet die folgenden vier Befehle per 8-Bit-Integer an den Server:
1 = Daten erfassen und bestätigen
2 = Daten senden
3 = Status ermitteln
4 = Verbindung schließen
Die folgende Abbildung* zeigt, wie der Server diese Befehle empfängt. Beachten Sie, dass zwar die gleichen TCP-Basisfunktionen enthalten sind, der umgebende Programmcode jedoch komplexere Verbindungen und eine stabile Kommunikation ermöglicht.
Das folgende Blockdiagramm* zeigt die anderen vier Cases der inneren Case-Anweisung. Jeder Case verarbeitet einen bestimmten Befehl, den der Server senden kann. Jeder Case sendet Informationen an den Fortsetzungsanschluss, der bestimmt, ob die Schleife fortgesetzt werden soll. Insbesondere gibt der Abbrechen-Case immer den Wert FALSE aus. Nach dem Verlassen der Schleife schließt der Server die Verbindung mit dem Client.
Mit einer Serverarchitektur dieser Art können Sie flexible Server für komplexere Netzwerkkommunikationsprozeduren entwickeln. Die von Ihnen entwickelten Protokolle sind möglicherweise komplexer als im vorherigen Beispiel.
* Beachten Sie, dass diese Grafiken aus einer älteren Version von LabVIEW stammen. Die Farben der Datenverbindungen und Funktionssymbole stimmen möglicherweise nicht mit Ihrer Version überein. Die Struktur des Codes kann trotzdem verwendet werden.