FB_SocketUdpCreate

FB_SocketUdpCreate 1:

Mit dem Funktionsbaustein FB_SocketUdpCreate kann ein Client/Serverr-Socket für den User Datagram Protocol (UDP) geöffnet werden. Beim Erfolg wird ein neuer Socket geöffnet und am hSocket-Ausgang das dazugehörige Socket-Handle zurückgeliefert. Das Handle wird dann z. B. von den Funktionsbausteinen FB_SocketUdpSendTo und FB_SocketUdpReceiveFrom benötigt, um mit einem Remote-Teilnehmer Daten austauschen zu können. Ein nicht mehr benötigter UDP-Socket kann mit dem Funktionsbaustein FB_SocketClose geschlossen werden. Die Portadresse nLocalHost wird intern von dem TCP/IP Connection Server für den UDP-Protokoll reserviert (es wird ein "Bind" durchgeführt). Es können mehrere Netzwerkadapter in einem PC existieren. Der Eingangsparameter sLocalHost bestimmt den Netzwerkadapter, der benutzt werden soll. Wenn Sie die sLocalHost-Eingangsvariable ignorieren (Leerstring), dann wird von dem TCP/IP Connection Server der Default-Netzwerkadapter benutzt. Es ist meistens der erste Netzwerkadapter aus der Liste der Netzwerkadapter in der Systemsteuerung.

FB_SocketUdpCreate 2:

Automatisch erstellte Netzwerkverbindungen

Wenn Sie beim Aufruf von FB_SocketUdpCreate als sLocalHost einen Leerstring angegeben haben und der PC vom Netzwerk getrennt wurde, dann öffnet das System einen neuen Socket unter der Software-Loopback-IP-Adresse: '127.0.0.1'.

FB_SocketUdpCreate 3:

Automatisch erstellte Netzwerkverbindungen mit mehreren Netzwerkadaptern

Wenn im PC zwei oder mehr Netzwerkadapter vorhanden sind und Sie als sLocalHost einen Leerstring angegeben haben, der Default-Netzwerkadapter aber vom Netzwerk getrennt wurde, dann wird der neue Socket unter der der IP-Adresse des zweiten Netzwerkadapters geöffnet.

FB_SocketUdpCreate 4:

Festlegen einer Netzwerkadresse

Um das Öffnen der Sockets unter einer anderen IP-Adresse zu verhindern, können Sie die sLocalHost‑Adresse explizit angeben oder die zurückgelieferte Adresse in der Handle-Variable (hSocket) überprüfen, den Socket schließen und erneut öffnen.

FB_SocketUdpCreate 5: Eingänge

VAR_INPUT
    sSrvNetId  : T_AmsNetId := '';
    sLocalHost : T_IPv4Addr := '';
    nLocalPort : UDINT;
    bExecute   : BOOL;
    tTimeout   : TIME:= T#5s;
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.

sLocalHost

T_IPv4Addr

Lokale IP-Adresse (Ipv4) des UDP-Client/Server-Sockets als String (z. B. '172.33.5.1'). Für den Default-Netzwerkadapter kann auch ein Leerstring angegeben werden.

nLocalPort

UDINT

Lokale IP-Portnummer des UDP-Client/Server-Sockets (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.

FB_SocketUdpCreate 6: 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

Handle des neu geöffneten UDP-Client/Server-Sockets.

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS Bibliotheken (Kategoriegruppe)

TwinCAT v3.1.0

PC oder CX (x86, x64, ARM)

Tc2_TcpIp (Communication)