FB_SocketSend
Mit dem Funktionsbaustein FB_SocketSend können über den TwinCAT TCP/IP Connection Server Daten zu Remote-Clients oder Remote-Server gesendet werden. Eine Remote-Clientverbindung muss vorher mit dem Funktionsbaustein FB_SocketAccept oder eine Remote-Serververbindung mit dem Funktionsbaustein FB_SocketConnect aufgebaut werden.
VAR_INPUT
VAR_INPUT
sSrvNetId : T_AmsNetId := '';
hSocket : T_HSOCKET;
cbLen : UDINT;
pSrc : DWORD;
bExecute : BOOL;
tTimeout : TIME := T#5s;
END_VAR
sSrvNetId: String mit der Netzwerkadresse des TwinCAT TCP/IP Connection Servers. Für den lokalen Rechner (default) kann auch ein Leerstring angegeben werden.
hSocket: Das Verbindungshandle des Kommunikationspartners zu dem Daten gesendet werden sollen.
cbLen: Die Anzahl der zu sendenden Daten in Bytes.
pSrc: Die Adresse (Pointer) auf den Sendepuffer.
bExecute: Über eine positive Flanke an diesem Eingang wird der Baustein aktiviert.
tTimeout: Maximale Zeit, die bei der Ausführung des Funktionsbausteins nicht überschritten werden darf.
Wenn der Sendepuffer des Sockets voll ist, weil z.B. der Remote-Kommunikationspartner nicht schnell genug die gesendeten Daten empfängt oder sehr viele Daten gesendet werden, liefert der FB_SocketSend-Funktionsbaustein nach der tTimeout-Zeit einen ADS-Timeoutfehler: 1861 zurück. In diesem Fall muss der Wert der tTimeout-Eingangsvariablen entsprechend erhöht werden. |
VAR_OUTPUT
VAR_OUTPUT
bBusy : BOOL;
bError : BOOL;
nErrId : UDINT;
END_VAR
bBusy: Dieser Ausgang wird bei der Aktivierung des Funktionsbausteins gesetzt und bleibt gesetzt, bis eine Rückmeldung erfolgt.
bError: Dieser Ausgang wird, nachdem der bBusy-Ausgang zurückgesetzt wurde, gesetzt, sollte ein Fehler bei der Übertragung des Kommandos erfolgen.
nErrId: Liefert bei einem gesetzten bError-Ausgang die TwinCAT TCP/IP Connection Server Fehlernummer.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken |
---|---|---|
Alle TwinCAT v2.8.0 Versionen und höher | PC oder CX (x86) | TcpIp.Lib ( Standard.Lib; TcBase.Lib; TcSystem.Lib werden automatisch eingebunden ) |
TwinCAT v2.10.0 Build >= 1301 | CX (ARM) |