FB_EcFoeLoad
Mit dem Funktionsbaustein FB_EcFoeLoad können Dateien über das "File access over EtherCAT"-Mailboxprotokoll (FoE) zu einem EtherCAT-Gerät herunter geladen 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 runterladen 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. |
VAR_INPUT
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
sNetId: Ist ein String, der die AMS-Netzwerkkennung des EtherCAT Master Gerätes enthält.
nSlaveAddr: Feste Adresse des EtherCAT Slaves, dessen Datei hoch- oder herunter geladen werden soll.
sPathName: Enthält den Pfad- und Dateinamen der zu schreibenden oder zu lesenden Datei (z.B.: 'C:\FOE_Test\EL6751\ECATFW__EL6751_C6_V0030.efw' ).
dwPass: Passwort (Default: 0).
eMode: "File access over EtherCAT"-Zugriffsmode (Default: Schreibzugriff).
bExecute: Über eine positive Flanke an diesem Eingang wird der Baustein aktiviert.
tTimeout: Maximale Zeit, die bei der Ausführung des Funktionsbausteins nicht überschritten werden darf (Default: 200s.).
VAR_OUTPUT
VAR_OUTPUT
bBusy : BOOL;
bError : BOOL;
nErrId : UDINT;
cbLoad : UDINT;
nProgress : UDINT;
sInfo : T_MaxString;
END_VAR
bBusy: Dieser Ausgang wird bei der Aktivierung des Funktionsbausteins gesetzt und bleibt gesetzt, bis eine Rückmeldung erfolgt.
bError: Dieser Ausgang wird, nachdem der bBusy-Ausgang zurückgesetzt wurde, gesetzt, sollte ein Fehler bei der Übertragung des Kommandos erfolgen.
nErrId: Liefert bei einem gesetzten bError-Ausgang den ADS-Fehlercode des zuletzt ausgeführten Befehles
cbLoad: Anzahl der erfolgreich geschriebenen oder gelesenen Datenbytes.
nProgress: Prozentualer Fortschritt beim Schreibzugriff (Bereich: 0 - 100%). Beim Lesezugriff wird diese Variable zur Zeit nicht benutzt und ist immer 0.
sInfo: 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"-Mailboxprotokoll 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 v2.10.0 Build > 1307 | PC or CX (x86) | TcEtherCAT.Lib |
