Herunterladen Inhalt Inhalt Diese Seite drucken

Beckhoff BX9000 Dokumentation Seite 159

Busklemmen-controller für ethernet
Inhaltsverzeichnis

Werbung

Programmierung
5.13.7.3
ModbusTCP Client
5.13.7.3.1 ModbusTCP Client
Mit dem ModbusTCP Client (Modbus Master) kann der BX9000 eine Verbindung zu einem ModbusTCP-
Server (Modbus Slave) aufnehmen. Es stehen 3 Bausteine zur Verfügung. Fb_MBConnect zum Aufbauen
einer TCP/IP Verbindung, FB_MBGenericReq für das Versenden und Empfangen von beliebigen Modbus
Funktionen und den FB_MBClose zum Schließen der TCP/IP Verbindung. Da es sich beim
FB_MBGenericReq um einen allgemeinen Baustein handelt, müssen die entsprechenden Modbus
Funktionen noch implementiert werden, dies erlaubt daher auch nicht Modbus konforme Protokolle zu
versenden. Es sind maximal 3 Client Verbindungen gleichzeitig möglich. Durch die Möglichkeit eine TCP/IP
Verbindung zu schließen und neu öffnen zu können, sind damit nahezu beliebig viele ModbusTCP-Server
ansprechbar.
FB_MBConnect
Der FB_MBConnect verbindet den BX9000 über ModbusTCP mit einem anderen Teilnehmer. Es wird eine
Verbindung aufgebaut mit steigender Flanke von bExecute. Die IP-Adresse wird über sIPAddr eingestellt.
Die zu verwendete TCP-Portnummer über nTCPPort und ist normalerweise bei ModbusTCP auf 502
spezifiziert. Solange der Baustein aktiv ist, ist das bBusy gesetzt. Wurde die ModbusTCP Verbindung
erfolgreich initialisiert, wird das bBusy auf FALSE gesetzt und das bError Flag ist FALSE. Sollte das bError
Flag TRUE sein, ist der Verbindungsaufbau fehlgeschlagen und in der Variable nErrId ist der entsprechende
Fehlercode enthalten. nHandlemuss mit den Bausteinen FB_MBGernericReq und FB_MBClose
verbunden werden.
Abb. 136: Funktionsbaustein FB_MBCONNECT
INPUT
VAR_INPUT
   sIPAddr      : STRING(15);
   nTCPPort     : UINT;
   bExecute     : BOOL;
   tTimeout     : TIME; 
END_VAR
sIPAddr: IP-Adresse des ModbusTCP-Servers (Slave Gerät) mit dem eine Modbus Verbindung hergestellt
werden soll.
nTCPPort: ModbusTCP Port Nummer, normalerweise ist diese bei ModbusTCP 502dez.
bExecute: Eine steigende Flanke aktiviert den Baustein.
tTimeout: Zeit nach der abgebrochen werden soll.
OUTPUT
VAR_OUTPUT
   bBusy        : BOOL; 
   bError           : BOOL;
   iErrId           : WORD;
   nHandle      : UINT;
END_VAR
bBusy: Dieser Ausgang bleibt solange auf TRUE, bis die Befehlsausführung abgeschlossen wurde.
BX9000
Version: 2.1.0
159

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis