-

TCP_RECEIVE

Hinweis
Für diesen Funktionsbaustein ist eine neue Implementierung verfügbar, der die Firmware-Version 2021.3 oder neuer erfordert. Der neue FB kombiniert die Handhabung von TCP- und TLS-Kommunikation. Außerdem ermöglicht er die Kommunikation eines TCP/TLS-Servers mit mehreren Clients. Weitere Informationen finden Sie im Thema "TLS_RECEIVE_2".

TypFunktionsbaustein
BeschreibungDer Funktionsbaustein wird für den Datenempfang über TCP (Transmission Control Protocol) von einem TCP-fähigen Ethernet-Gerät verwendet. Dies erfolgt mit Hilfe eines IP-Sockets. Der Socket muss zuerst mit Hilfe des Funktionsbausteins TCP_SOCKET geöffnet werden, bevor Daten empfangen werden können.

Der Funktionsbaustein empfängt Daten, wenn der Eingang EN_R (EN_R = ENable_Receive) TRUE ist. Wenn Daten erfolgreich empfangen wurden, wird der Ausgang NDR (NDR = NewDataReceived) in jedem Zyklus auf TRUE gesetzt, in dem die spezifizierte Datenmenge in den DATA-Buffer kopiert wurden. Falls bei gesetztem Eingang EN_R im nächsten Zyklus erneut Daten empfangen werden, bleibt NDR = TRUE und die neuen Daten werden in die an Parameter DATA angeschlossene Variable kopiert. Wenn keine neuen Daten empfangen werden, wird NDR auf FALSE gesetzt.

Die IP-Adresse und die Portnummer des Geräts (Absenders) werden an den Ausgängen SOURCE_IP (IP-Adresse des Absenders) und SOURCE_PORT (IP-Port des Absenders) angezeigt.

WARNUNG
Unbeabsichtigter Betriebszustand des Geräts
Stellen Sie sicher, dass das Ändern der Ausgangsdaten nicht zu einem ungewollten oder gefährlichen Verhalten des Gesamtsystems führen kann.1

1Wenn Sie die Anwendungslogik auf der Simulation ausführen, werden durch die Funktionsbausteine echte Verbindungen zu anderen Geräten/Servern aufgebaut. Dadurch können gegebenenfalls Ausgänge und Variablen, die mit echter Hardware verbunden sind, gesetzt werden und somit zu echten Beschädigungen der Maschine führen.

Hinweise
  • Der mit dem Funktionsbaustein TCP_SOCKET geöffnete IP-Socket kann nur für den Aufruf des Funktionsbausteins TCP_RECEIVE verwendet werden, solange der Ausgang ACTIVE des Funktionsbausteins TCP_SOCKET gesetzt ist. Der Aufruf des Funktionsbausteins TCP_RECEIVE während ACTIVE = FALSE ist, führt zu einem Fehler am Funktionsbaustein TCP_RECEIVE (ERROR = TRUE und STATUS-Code = 0xC210 ausgegeben).
  • Stellen Sie bei Steuerungen mit integrierter Firewall sicher, dass die Firewall nicht die für die Kommunikation benötigten Ports blockiert. Andernfalls kann keine Verbindung hergestellt werden.
  • Funktionsbausteine müssen instanziiert werden.
    Der FB-Instanzname muss in der 'Variablen'-Tabelle der POE deklariert werden, in welcher der FB verwendet werden soll. Der Instanzname muss innerhalb der POE eindeutig sein.
ParameterEingänge

EN_R

HANDLE

EXP_DATA_CNT

Ein-/Ausgang

DATA

Ausgänge

NDR

ERROR

STATUS

SOURCE_IP

SOURCE_PORT

DATA_CNT