S04: TCP Server Demo (C++)

Dieses Beispiel beschreibt einen TCP Server, der in C++ implementiert ist.

Es nimmt eine TCP Verbindung entgegen, empfängt TCP Pakete und sendet sie zurück zum Absender („Echo-Server“).

Download

Download des Beispiels: https://github.com/Beckhoff/TF6311_Samples/tree/main/S04-TCPServer

1. Beispiel von GitHub beziehen, die heruntergeladene ZIP-Datei ggf. entpacken
2. Projekt mit TwinCAT XAE öffnen
3. Ihr Zielsystem auswählen
4. Konfiguration der Netzwerkkarte (siehe unten) für das Zielsystem vornehmen
5. Das Beispiel auf Ihrer lokalen Maschine bauen (z.B. Build->Build Solution)
6. Die Konfiguration aktivieren

Beschreibung

Analog zu den Quick Starts wird in diesem Beispiel das Interface ITcIoTcpProtocolRecv implementiert und ein Pointer auf ein ITcIoTcpProtocol verwendet.

In der „CycleUpdate“ Methode wird die „CheckReceived“ Methode aufgerufen. Dem TCP/UDP RT Modul wird so die Möglichkeit gegeben, ankommende Pakete zu bearbeiten und Callbacks auf die Methoden „ReceiveEvent“ und „ReceiveData“ dem Modul zu übermitteln.

Um auf eingehende Verbindungen zu achten, wird per „AllocSocket“ und „Listen“ in der „CycleUpdate“ auch ein Port geöffnet. In der „ReceiveEvent“ wird „Accept“ aufgerufen, falls ein Event zum Verbindungsaufbau aufgetreten ist.

Die „ReceiveData“ Methode nutzt in diesem Beispiel die „SendData“ Methode, um die Daten zum Absender zurückzusenden („Echo-Server“).

Vorbereitung Netzwerkkarte

Stellen Sie für das TCP/UDP RT Modul sicher, dass der RT-Ethernet-Adapter in der TwinCAT Solution auf die richtige Netzwerkkarte (mit TwinCAT Treiber) verbunden ist.

S04: TCP Server Demo (C++) 1:

Nur Lokale Konfiguration

Die Installation des Treibers auf kompatiblen Netzwerkkarten über den Button „Compatible Devices“ erfolgt immer lokal. Auf einer Steuerung mit TwinCAT XAR kann das mitinstallierte Programm TcRteInstall.exe (normalerweise unter C:\TwinCAT\3.1\System) genutzt werden.

S04: TCP Server Demo (C++) 2: