FB_EcFoeLoad
Mit dem Funktionsbaustein FB_EcFoeLoad
können Dateien über das "File access over EtherCAT"-Mailbox-Protokoll zu einem EtherCAT-Gerät heruntergeladen oder von einem EtherCAT-Gerät hochgeladen werden.
Der Dateipfad kann nur auf das lokale Dateisystem des Rechners zeigen. Das bedeutet, Netzwerkpfade können hier nicht angegeben werden. Um Dateien über das FoE-Protokoll hoch- oder herunterladen zu können, setzt der Funktionsbaustein das EtherCAT-Gerät automatisch in den BOOTSTRAP-Mode zurück. Zum Schluss versucht der Funktionsbaustein das Gerät wieder in den ursprünglichen Zustand zu versetzen. |
Eingänge
VAR_INPUT
sNetId : T_AmsNetId ;
nSlaveAddr : UINT;
sPathName : T_MaxString;
dwPass : DWORD := 0;
eMode : E_EcFoeMode := eFoeMode_Write;
bExecute : BOOL;
tTimeout : TIME := T#200s;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
sNetId | T_AmsNetId | String, der die AMS-Netzwerkkennung des EtherCAT-Master-Gerätes enthält. |
nSlaveAddr | UINT | Feste Adresse des EtherCAT-Slaves, dessen Datei hoch- oder heruntergeladen werden soll. |
sPathName | T_MaxString | Enthält den Pfad- und Dateinamen der zu schreibenden oder zu lesenden Datei. |
dwPass | DWORD | Passwort (Default: 0) |
eMode | "File access over EtherCAT"-Zugriffsmode | |
bExecute | BOOL | Über eine positive Flanke an diesem Eingang wird der Baustein aktiviert. |
tTimeout | TIME | Maximale Zeit, die bei der Ausführung des Funktionsbausteins nicht überschritten werden darf (Default: 200s.). |
Ausgänge
VAR_OUTPUT
bBusy : BOOL;
bError : BOOL;
nErrId : UDINT;
cbLoad : UDINT;
nProgress : UDINT;
sInfo : T_MaxString;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
bBusy | BOOL | Dieser Ausgang wird bei der Aktivierung des Funktionsbausteins gesetzt und bleibt gesetzt, bis eine Rückmeldung erfolgt. |
bError | BOOL | Dieser Ausgang wird gesetzt, nachdem der bBusy-Ausgang zurückgesetzt wurde, wenn bei der Übertragung des Kommandos ein Fehler auftritt. |
nErrId | UDINT | Liefert bei einem gesetzten bError-Ausgang den ADS-Fehlercode des zuletzt ausgeführten Befehls. |
cbLoad | UDINT | Anzahl der erfolgreich geschriebenen oder gelesenen Datenbytes |
nProgress | UDINT | Prozentualer Fortschritt beim Schreibzugriff (Bereich: 0 - 100%). Beim Lesezugriff wird diese Variable zurzeit nicht benutzt und ist immer 0. |
sInfo | T_MaxString | Zusätzliche Befehlsinformation als String (reserviert) |
Beispiel in ST:
Bei einer steigenden Flanke an der bLoad-Variablen wird der Firmware-Download über das "File access over EtherCAT"-Mailbox-Protokoll gestartet.
PROGRAM MAIN
VAR
fbDownload : FB_EcFoeLoad := (
sNetID := '5.0.34.38.3.1',
nSlaveAddr := 1004,
sPathName := 'C:\FOE_Test\EL6751\ECATFW__EL6751_C6_V0030.efw',
dwPass := 0,
eMode := eFoeMode_Write );
bLoad : BOOL;
bBusy : BOOL;
bError : BOOL;
nErrID : UDINT;
nBytesWritten : UDINT;
nPercent : UDINT;
END_VAR
fbDownload( bExecute := bLoad,
bBusy => bBusy,
bError => bError,
nErrId => nErrID,
cbLoad => nBytesWritten,
nProgress => nPercent );
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS- Bibliotheken |
---|---|---|
TwinCAT v3.1.0 | PC oder CX (x86, x64, ARM) | Tc2_EtherCAT |