T_HSOCKET
Variables of this type represent a connection handle or a handle of an open socket. Via this handle, data can be sent to or received from a socket. The handle can be used to close an open socket.
Syntax
TYPE T_HSOCKET
STRUCT
handle : UDINT;
localAddr : ST_SockAddr; (* Local address *)
remoteAddr : ST_SockAddr; (* Remote endpoint address *)
END_STRUCT
END_TYPE
Values
Name | Type | Description |
---|---|---|
handle | UDINT | Internal TwinCAT TCP/IP Connection Server socket handle. |
localAddr | ST_SockAddr | Local socket address. |
remoteAddr | ST_SockAddr | Remote socket address. |
The following sockets can be opened and closed via the TwinCAT TCP/IP Connection Server: Listener socket, Remote Client socket or Local Client socket. Depending on which of these sockets was opened by the TwinCAT TCP/IP Connection Server, suitable address information is entered into the localAddr and remoteAddr variables.
Connection handle on the server side
- The function block FB_SocketListen opens a listener socket and returns the connection handle of the listener socket.
- The connection handle of the listener sockets is transferred to the function block FB_SocketAccept. FB_SocketAccept will then return the connection handles of the remote clients.
- The function block FB_SocketAccept returns a new connection handle for each connected remote client.
- The connection handle is then transferred to the function blocks FB_SocketSend and/or FB_SocketReceive, in order to be able to exchange data with the remote clients.
- A connection handle of a remote client that is not desirable or no longer required is transferred to the function block FB_SocketClose, which closes the remote client socket.
- A listener socket connection handle that is no longer required is also transferred to the function block FB_SocketClose, which closes the listener socket.
Connection handle on the client side
- The function block FB_SocketConnect returns the connection handle of a local client socket.
- The connection handle is then transferred to the function blocks FB_SocketSend and FB_SocketReceive, in order to be able to exchange data with a remote server.
- The same connection handle is then transferred to the function block FB_SocketClose, in order to close a connection that is no longer required.
The function block FB_SocketCloseAll can be used to close all connection handles (sockets) that were opened by a PLC runtime system. This means that, if FB_SocketCloseAll is called in one of the tasks of the first runtime systems (port 801), all sockets that were opened in the first runtime system are closed.
Requirements
Development environment |
Target system type |
PLC libraries to include (category group) |
---|---|---|
TwinCAT v3.1.0 |
PC, or CX (x86, X64, ARM) |
Tc2_TcpIp (communication) |