Dieser Funktionsbaustein sendet die EcoStruxure Machine Expert-Konfigurationsdaten eines Advantys OTB über Modbus TCP an das physische Gerät.
Sie ermöglicht die Aktualisierung der Konfigurationsparameter eines E/A-Islands ohne Fremdanbietersoftware.
Der Modbus TCP IOScanner muss angehalten werden, bevor diese Funktion aufgerufen wird.
Die Ausführung des Funktionsbausteins erfolgt asynchron. Um den Fortschritt der Konfiguration zu prüfen, müssen die Ausgangs-Flags Done, Busy und Error in jedem Anwendungszyklus getestet werden.
Sie finden eine allgemeine Darstellung in AWL (IL) oder ST im Kapitel Darstellung von Funktionen und Funktionsbausteinen.
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 |
Rückgabewerte: configurationOTBErrorCodes |
|
CommError |
Rückgabewerte: CommunicationErrorCodes |
Dies ist 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 erst 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