TCP_Connect-Baustein

Kurz-Information

Name

TCP_Connect

→POE-Typ

→Funktion

Kategorie

Weitere Systembausteine, Netzwerkbausteine, Baustein mit interner Fehlerdiagnose

→Namespace

logicals.system.network.tcp

Grafische Schnittstelle

images/download/attachments/429719943/TCP_Connect-version-3-modificationdate-1562746898650-api-v2.png

Verfügbar ab

Version 3.2.2 (für Bibliothek Standard )
images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/warning.svg Dieser Baustein wird nur für diese Zielsysteme oder Plattformen unterstützt:

  • Raspberry Pi, Revolution Pi

  • Plattform WindowsX86 (inkl. integrierte SPS unter Windows)

  • Plattform LinuxX86

Funktionalität

Der Baustein stellt eine Verbindung zu einem →TCP-Server her .

Eingänge, Ausgänge, Ergebniswert


Bezeichner

→Datentyp

Beschreibung

Eingänge:


destinationAddress

DWORD

IP-Adresse des Ziels

destinationPort

UINT

IP-Port des Ziels

interfaceAddress

DWORD

IP-Adresse der Netzwerkschnittstelle

interfacePort

UINT

IP-Port der Netzwerkschnittstelle

Ausgänge:

clientHandle

TCP_ClientHandle

Handel der reservierten Adresse und des reservierten Ports

Ergebniswert :

(= rc )

TCP_ErrorCode

liefert den Status der TCP-Operation:

  • succeeded: Die Operation ist erfolgreich.

  • cannotCreateSocket: Socket kann nicht erstellt werden.

  • cannotBindSocket: Socket für d ie Schnittstelle kann nicht gebunden werden.

  • cannotConnectToServer: Die Verbindung zum Server kann nicht erstellt werden.

Der Eingang EN und der Ausgang ENO sind für den →Aufruf des Bausteins verfügbar. Siehe "Ausführungssteuerung: EN, ENO" für Informationen zum Eingang EN und zum Ausgang ENO.

Interne Fehlerdiagnose für Baustein

Der Baustein prüft die folgenden Fehlerfälle:

  • Socket kann nicht erstellt werden.

  • Socket für d ie Schnittstelle kann nicht gebunden werden.

  • Die Verbindung zum Server kann nicht erstellt werden.

In einem solchen Fehlerfall wird der Ausgang ENO des Bausteins auf den Wert FALSE (oder eine Entsprechung) zurückgesetzt. Zusätzlich liefert der Baustein den entsprechenden Status (siehe die vorhergehende Tabelle).

Beispiel für Verwendung im ST-Editor

Programm mit Aufrufen von TCP-Bausteinen
PROGRAM TCP_Client
USING logicals.system.network.tcp;
VAR
rcTCPConnect : TCP_ErrorCode := invalidHandle;
clientCommData : tcpClientCommData;
receiveTestMsg : STRING[30] := '';
init : bool := true;
END_VAR
 
IF init THEN
clientCommData.serverAddress := INET_ATON('127.0.0.1');
clientCommData.serverPORT := 9999;
END_IF;
 
IF rcTCPConnect <> succeeded THEN
rcTCPConnect := TCP_Connect(destinationAddress:=clientCommData.serverAddress, destinationPort:=clientCommData.serverPORT, clientHandle=>clientCommData.clientHandle);
ELSE
TCP_Receive(clientHandle:=clientCommData.clientHandle, data:=receiveTestMsg);
END_IF;
END_PROGRAM
 
TYPE
tcpServerCommData : STRUCT
address : DWORD;
port : UINT;
serverHandle : logicals.system.network.tcp.TCP_ServerHandle;
clientHandle : logicals.system.network.tcp.TCP_ClientHandle;
END_STRUCT;
 
tcpClientCommData : STRUCT
serverAddress : DWORD;
serverPORT : UINT;
clientHandle : logicals.system.network.tcp.TCP_ClientHandle;
END_STRUCT;
END_TYPE


Bei der Erstellung Ihrer Anwendung im ST-Editor erstellen Sie den Aufruf eines Bausteins, indem Sie den laut Syntax erforderlichen Text eintippen oder die Inhaltshilfe verwenden.