T_HSOCKET
Variablen von diesem Typ repräsentieren ein Verbindungshandle oder Handle eines geöffneten Sockets. Über dieses Handle können Daten an einen Socket gesendet oder empfangen werden. Mit dem Handle kann ein geöffneter Socket wieder geschlossen werden.
Syntax
TYPE T_HSOCKET
STRUCT
handle : UDINT;
localAddr : ST_SockAddr; (* Local address *)
remoteAddr : ST_SockAddr; (* Remote endpoint address *)
END_STRUCT
END_TYPE
Werte
Name | Typ | Beschreibung |
---|---|---|
handle | UDINT | Internes Socket-Handle des TwinCAT TCP/IP Connection Servers. |
localAddr | ST_SockAddr | Lokale Socketadresse. |
remoteAddr | ST_SockAddr | Remote Socketadresse. |
Über den TwinCAT TCP/IP Connection Server können folgende Sockets geöffnet und geschlossen werden: Listener-Socket, Remote-Client-Socket oder Local-Client-Socket. Je nachdem, welcher von diesen Sockets von dem TwinCAT TCP/IP Connection Server geöffnet wurde, werden in die localAddr- und remoteAddr-Variablen die passenden Adressinformationen eingetragen.
Das Verbindungshandle auf der Serverseite
- Der Funktionsbaustein FB_SocketListen öffnet einen Listener-Socket und liefert das Verbindungshandle des Listener-Sockets zurück.
- Das Verbindungshandle des Listener-Sockets wird an den Funktionsbaustein FB_SocketAccept übergeben. FB_SocketAccept liefert dann die Verbindungshandles der Remote-Clients zurück.
- Für jeden verbundenen Remote-Client liefert der Funktionsbaustein FB_SocketAccept ein neues Verbindungshandle.
- Das Verbindungshandle wird dann an die Funktionsbausteine FB_SocketSend und/oder FB_SocketReceive übergeben, um Daten mit den Remote-Clients austauschen zu können.
- Ein Verbindungshandle eines nicht erwünschten oder nicht mehr benötigten Remote-Clients wird an den Funktionsbaustein FB_SocketClose übergeben und so der Remote-Client-Socket geschlossen.
- Ein nicht mehr benötigtes Verbindungshandle des Listener-Sockets wird auch an den Funktionsbaustein FB_SocketClose übergeben und so der Listener-Socket geschlossen.
Das Verbindungshandle auf der Clientseite
- Der Funktionsbaustein FB_SocketConnect liefert das Verbindungshandle eines Local-Client-Sockets zurück.
- Dieses Verbindungshandle wird dann an die Funktionsbausteine FB_SocketSend und FB_SocketReceive übergeben, um Daten mit einem Remote-Server austauschen zu können.
- Das gleiche Verbindungshandle wird dann an den Funktionsbaustein FB_SocketClose übergeben, um eine nicht mehr benötigte Verbindung zu schließen.
Mit dem Funktionsbaustein FB_SocketCloseAll werden alle Sockets geschlossen, die von einem SPS-Runtime-System geöffnet wurden. D. h. wenn Sie FB_SocketCloseAll in einer der Tasks des ersten Runtime-Systems (Port 801) aufrufen, werden alle Sockets geschlossen die in dem ersten Runtime-System geöffnet wurden.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken (Kategoriegruppe) |
---|---|---|
TwinCAT v3.1.0 | PC oder CX (x86, x64, Arm®) | Tc2_TcpIp (Communication) |