FB_IpSend

Der Baustein sendet Daten über TCP oder UDP. Welche der Verbindung verwendet wird, ist in der FB_IpStartSession festgelegt worden. An den pBuffAddr wird per "ADR" der Pointer auf die Variabel festgelegt, die Daten für das Senden beinhaltet. cbBuffLen gibt die Länge der Daten an. Mit sRemoteIPAddr wird die IP Adresse angegeben, an die die Daten gesendet werden. Mit iPortNo wird bei TCP dies mit der Port Nummer des FB_IpOpen verknüpft. Bei UDP kann eine beliebige Portnummer verwendet werden. iPortNo ist die Absender Port Nummer. Mit einer positiven Flanke von bStart wird der Baustein aktiviert und die Daten werden versendet. Solange der Baustein aktiv ist, ist das bBusy auf TRUE. Sind die Daten versendet worden geht das bBusy auf FALSE und das bError bleibt ebenfalls auf FALSE. Bei einem Fehler wird das bError gesetzt.

Funktionsbaustein FB_IPSEND

INPUT

VAR_INPUT
   bStart               : BOOL;
   iSession         : WORD;
   sRemoteIPAddr        : STRING(15);
   pBuffAddr        : DWORD;
   cbBuffLen        : WORD;
END_VAR

bStart: Eine steigende Flanke aktiviert den Baustein.

iSession: wird mit der Session Nummer aus dem Baustein FB_IpStartSession verbunden.

sRemoteIPAddr: IP-Adresse des Teilnehmers, an den die Daten gesendet werden sollen.

iPortNo: Absender Port Nummer. Bei TCP ist die Port Nummer aus den FB_IpOpen Baustein zu verwenden, bei UDP kann eine beliebige Port Nummer verwendet werden.

pBuffAddr: Pointer auf die Daten die gesendet werden sollen (Befehl: ADR).

cbBuffLen: Länge der Daten, die gesendet werden sollen. Die Länge sollte immer kleiner/gleich der Variabel sein auf die der Pointer von pBuffAddr zeigt (Befehl: SIZEOF)

OUTPUT

VAR_OUTPUT
   bBusy        : BOOL;
   bError           : BOOL;
   iErrorId     : WORD;
END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis die Befehlsausführung abgeschlossen wurde.

bError: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in iErrorId enthalten.

iErrorId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls (siehe Tabelle).