FB_IpStartSession

Der Baustein reserviert Ressourcen auf der Steuerung für die Ethernet Kommunikation. Mit bStart wird der Baustein aktiv. Solange der Baustein arbeitet, ist das bBusy gesetzt. iDevice ist immer mit Null zu belegen. iPort ist für die lokale TCP oder UDP Port Nummer. iMaxConnection gibt die Anzahl der maximal möglichen Verbindungen an (maximal 3).

FB_IpStartSession 1:
Funktionsbaustein FB_IPSTARTSESSION

INPUT

VAR_INPUT
   bStart           : BOOL;
   iDevice      : WORD;
   eSocketType  : E_SocketType;
   eSocketProtocol      : E_SocketProtocol;
   iPort        : WORD;
   iMayConnection       : WORD;
   tTimeout     : TIME; 
END_VAR

bStart: Eine steigende Flanke aktiviert den Baustein.

iDevice: immer "0"

eSocketType: bei TCP/IP ist "SOCK_STREAM" zu benutzen. Beachten Sie, dass die Daten als Byte Stream abgelegt werden. Sie sollten möglichst die Länge der empfangenden Daten kennen oder ein Protokoll mit einer Start- und Endkennung verwenden, damit Sie im Daten-Stream eindeutig Anfang und Ende erkennen können. Bei UDP/IP ist "SOCK_DGRAM" einzustellen. Dabei wird ein UDP-Frame immer komplett in einen Speicher eingetragen. Es stehen 4 Speicher zur Verfügung. Liest das Anwenderprogramm die Daten nicht schnell genug aus dem Speicher der SPS aus, gehen weitere UDP-Frames verloren.

eSocketProtocol: für TCP/IP ist "IPPROTO_TCP" zu benutzen und für UDP/IP "IPPROTO_UDP".

iPort: Absender Port Nummer

iMaxConnection: Anzahl der maximal möglichen Verbindungen (max. ist 3)

tTimeout: Zeit nach der abgebrochen werden soll.

OUTPUT

VAR_OUTPUT
   bBusy        : BOOL; 
   bError           : BOOL;
   iErrorId     : WORD;
   iSession     : 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 Fehler-Code des zuletzt ausgeführten Befehls (siehe Tabelle).

iSession: Gibt die Session-Nummer an alle IP-Bausteine weiter, für die diese Verbindung angelegt wurde.