FB_TlsSocketConnect

Mit dem Funktionsbaustein FB_TlsSocketConnect kann ein Client über den TwinCAT TCP/IP Connection Server eine neue, über TLS abgesicherte 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. Die TLS-Parameter können über die Funktionsbausteine FB_TlsSocketAddCa, FB_TlsSocketAddCrl, FB_TlsSocketSetPsk und FB_TlsSocketSetCert definiert werden. Programmierbeispiele für deren Verwendung finden Sie in unseren Samples.
Eingänge
VAR_INPUT
sSrvNetId : T_AmsNetId:='';
sRemoteHost : STRING(TCPADS_TLS_HOSTNAME_SIZE):='';
nRemotePort : UDINT:=0;
flags : ST_TlsConnectFlags:=DEFAULT_TLSCONNECTFLAGS;
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 | STRING(TCPADS_TLS_HOSTNAME_SIZE) | 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). |
flags | Zusätzliche (optionale) Client-Verbindungsparameter. | |
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. |
Ein-/Ausgänge
VAR_IN_OUT
hSocket : T_HSOCKET;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
hSocket | T_HSOCKET | TCP/IP-Verbindungshandle zum neu geöffneten Local-Client Socket |
Ausgänge
VAR_OUTPUT
bBusy : BOOL;
bError : BOOL;
nErrId : UDINT;
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. |
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken (Kategoriegruppe) |
---|---|---|
TF6310 v3.3.15.0 oder neuer TwinCAT v3.1.0 | PC oder CX (x86, x64, Arm®) | Tc2_TcpIp (Communication) |