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).

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.