FB_SocketConnect

Mit dem Funktionsbaustein FB_SocketConnect kann ein Local-Client über den TwinCAT TCP/IP Connection Server eine neue TCP/IP-Verbindung zu einem Remote-Server aufbauen. Beim Erfolg wird ein neuer Socket geöffnet und am hSocket-Ausgang das dazugehörige Verbindungshandle zurückgeliefert. Das Verbindungshandle wird dann z. B. von den Funktionsbausteinen FB_SocketSend und FB_SocketReceive benötigt, um mit einem Remote-Server Daten austauschen zu können. Eine nicht mehr benötigte Verbindung wird mit dem Funktionsbaustein FB_SocketClose geschlossen. Es können mehrere Clients gleichzeitig eine Verbindung zum Remote‑Server aufbauen. Für jeden neuen Client wird ein neuer Socket geöffnet und ein neues Verbindungshandle zurückgeliefert. Jedem Client wird von dem TwinCAT TCP/IP Connection Server automatisch eine neue IP-Portnummer zugewiesen.
Eingänge
VAR_INPUT
sSrvNetId : T_AmsNetId := '';
sRemoteHost : T_IPv4Addr := '';
nRemotePort : UDINT;
bExecute : BOOL;
tTimeout : TIME := T#45s;(*!!!*)
END_VAR
Name | Typ | Beschreibung |
---|---|---|
sSrvNetId | T_AmsNetId | String mit der Netzwerkadresse des TwinCAT TCP/IP Connection Servers. Für den lokalen Rechner (default) kann auch ein Leerstring angegeben werden. |
sRemoteHost | T_IPv4Addr | IP-Adresse (Ipv4) des Remote-Servers als String (z. B. '172.33.5.1'). Für einen Server auf dem lokalen Rechner kann auch ein Leerstring angegeben werden. |
nRemotePort | UDINT | IP-Portnummer des Remote-Servers (z. B. 200). |
bExecute | BOOL | Über eine positive Flanke an diesem Eingang wird der Baustein aktiviert. |
tTimeout | TIME | Maximale Zeit, die bei der Ausführung des Funktionsbausteins nicht überschritten werden darf. |
![]() | Maximale Ausführungszeit des Funktionsbausteins einstellen Setzen Sie den Wert „tTimeout“ nicht zu niedrig, da bei einer Netzwerkunterbrechung Timeout-Zeiten von > 30s auftreten können. Bei einem zu niedrigen Wert wird die Kommandoausführung vorzeitig unterbrochen und der ADS-Fehlercode: 1861 (timeout elapsed) statt des Winsocket-Fehlers: WSAETIMEDOUT zurückgeliefert. |
Ausgänge
VAR_OUTPUT
bBusy : BOOL;
bError : BOOL;
nErrId : UDINT;
hSocket : T_HSOCKET;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
bBusy | BOOL | Bei aktiviertem Funktionsbaustein ist diese Ausgabe aktiv. Sie bleibt bis zur Quittierung aktiv. |
bError | BOOL | Sollte ein Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausgang gesetzt, nachdem der bBusy-Ausgang zurückgesetzt wurde. |
nErrId | UDINT | Dieser Parameter liefert bei einem gesetzten bError-Ausgang die TwinCAT TCP/IP Connection Server Fehlernummer. |
hSocket | T_HSOCKET | TCP/IP-Verbindungshandle zum neu geöffneten Local-Client Socket. |
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken (Kategoriegruppe) |
---|---|---|
TwinCAT v3.1.0 | PC oder CX (x86, x64, Arm®) | Tc2_TcpIp (Communication) |