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 | |
Verfügbar ab | Version 3.2.2 (für Bibliothek
|
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:
|
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 die 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
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.