Herunterladen Inhalt Inhalt Diese Seite drucken

Beckhoff BX9000 Dokumentation Seite 153

Busklemmen-controller für ethernet
Inhaltsverzeichnis

Werbung

Programmierung
iSession: wird mit der Session Nummer aus dem Baustein FB_IpStartSession [} 147] 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 [} 149] 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).
5.13.7.2.3 TCP/IP
TCP/IP Client
TCP/IP ist eine verbindungsorientierte Kommunikationsart, eigentlich eine peer-to-peer Verbindung. In
diesem Beispiel wird ihnen gezeigt wie eine Verbindung von der Beckhoff Steuerung zu einem Server
aufgebaut wird. Die benötigten Bausteine sind FB_IpStartSession, FB_IpOpen, FB_IpSend und optional
FB_IpReceive, FB_IpClose und FB_IpEndSession.
Es empfiehlt sich eine Schrittkette zu programmieren, wie in dem Beispiel (siehe unten) angegeben ist.
Die Beckhoff Steuerung ist hier der Client und die Gegenstelle ein TCP Server. Der Server ist ein VB6
Programm.
Schritt 1
FB_IpStartSession
Der Baustein reserviert Resourcen auf der Steuerung für die TCP/IP 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/IP Port Nummer. die iMaxConnection gibt die Anzahl der maximal möglichen
Verbindungen an, maximal ist dieser Wert 3.
INPUT
bStart: Eine steigende Flanke aktiviert den Baustein.
iDevice: immer "0"
eSocketType: bei TCP/IP ist "SOCK_STREAM" zu benutzen. Beachten Sie das die Daten als Byte-Stream
abgelegt werden.
Sie sollten die Länge der zu empfangenden Daten wissen oder ein Protokoll mit Start- und Endkennung
verwenden, damit Sie im Daten-Stream eindeutig Anfang und Ende erkennen können.
eSocketProtocol: für TCP/IP ist "IPPROTO_TCP" zu benutzen
iPort: Absender Port Nummer
BX9000
Version: 2.1.0
153

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis