FB_EcFoeLoad

FB_EcFoeLoad 1:

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.

FB_EcFoeLoad 2:

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.

FB_EcFoeLoad 3: 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.
(z.B.: 'C:\FOE_Test\EL6751\ECATFW__EL6751_C6_V0030.efw')

dwPass

DWORD

Passwort (Default: 0)

eMode

E_EcFoeMode

"File access over EtherCAT"-Zugriffsmode
(Default: Schreibzugriff)

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.).

FB_EcFoeLoad 4: 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