CONFIGURE_OTB: Senden der Softwarekonfiguration des Advantys OTB

Beschreibung des Funktionsbausteins

Dieser Funktionsbaustein sendet die EcoStruxure Machine Expert-Konfigurationsdaten eines Advantys OTB an das physische Gerät über Modbus TCP.

Er ermöglicht die Aktualisierung der Konfigurationsparameter eines E/A-Islands ohne Drittanbietersoftware.

Der Modbus TCP IOScanner muss angehalten werden, bevor diese Funktion aufgerufen wird.

Die Ausführung des Funktionsbausteins erfolgt asynchron. Um die Vollständigkeit der Konfiguration zu überprüfen, müssen die Ausgangsflags Done, Busy, und Error in jedem Anwendungszyklus getestet werden.

Grafische Darstellung

Darstellung in AWL (IL) und ST

Sie finden eine allgemeine Darstellung in AWL (IL) oder ST im Kapitel Darstellung von Funktionen und Funktionsbausteinen.

Beschreibung der E/A-Variablen

In der folgenden Tabelle werden die Eingangsvariablen beschrieben:

Eingang

Typ

Kommentar

Execute

BOOL

Aktivierungseintrag. Startet die Konfiguration an der steigenden Flanke.

sAddr

STRING

OTB-IP-Adresse Das Format der Zeichenfolge muss 3{xx.xx.xx.xx} sein.

In der folgenden Tabelle werden die Ausgangsvariablen beschrieben:

Ausgang

Typ

Kommentar

Done

BOOL

Auf TRUE gesetzt, wenn die Konfiguration erfolgreich abgeschlossen wurde.

Busy

BOOL

Auf TRUE gesetzt, wenn die Konfiguration noch läuft.

Error

BOOL

Auf TRUE gesetzt, wenn die Konfiguration mit einem Fehler beendet wurde.

ConfError

configurationOTBErrorCodes

Rückgabewerte: configurationOTBErrorCodes

CommError

CommunicationErrorCodes

Rückgabewerte: CommunicationErrorCodes

Beispiel

Nachstehend ein Beispiel für einen Aufruf dieser Funktion:

VAR

(*Funktionsbaustein zur Konfiguration des OTB; IOScanner muss angehalten werden, bevor FB ausgeführt wird*)

configure_OTB1: CONFIGURE_OTB;

(*Initialwert unterscheidet sich von 16#00000000; IO_start_done=0 bei erfolgreichem Start*)

IO_start_done: UDINT := 1000;

(*Initialwert unterscheidet sich von 16#FFFFFFFF; IO_start_done=16#FFFFFFFF bei erfolgreichem Anhalten*)

IO_stop_done: UDINT := 1000;

(*Configure_OTB_done= true bei erfolgreicher Konfiguration des OTB; anschließend kann der IOScanner gestartet werden*)

Configure_OTB_done: BOOL;

myBusy: BOOL;

myError: BOOL;

myConfError: configurationOTBErrorCodes;

myCommError: UINT;

myExecute: BOOL;

END_VAR

(*IOScanner anhalten, bevor OTB konfiguriert wird*)

IF NOT myExecute THEN

IO_stop_done:=IOS_STOP();

END_IF

(*Konfigurationsdaten an OTB senden, an IP-Adresse 95.15.3.1, wenn myExecute = TRUE*)

configure_OTB1(

Execute:= myExecute,

sAddr:='3{95.15.3.1}' ,

Done=> Configure_OTB_done,

Busy=> myBusy,

Error=> myError,

ConfError=> myConfError,

CommError=> myCommError);

(*Nachdem OTB erfolgreich konfiguriert wurde, IOScanner starten*)

IF Configure_OTB_done THEN

IO_start_done:=IOS_START();

END_IF