User Documentation

Anhang: Tutorial FoE
Systemhandbuch
2696780000/02/04.2020
128
SlaveState = IoEcat_State.Bootstrap THEN
msState:= 'Bootstrap entered';
KSys_TraceUOS(ADR(msState));
miState:= 11;
END_IF
11: //Download Datei
dir:= IoEcat_FileDirection.download;
slavedir:= '';
masterdir:= CONCAT(msFileDir,msFileName);
state := K_IoApi.IoApi_EcatFileTransfer(devHdl:= mDevHandle,
direction:= dir,
slaveFileName:= slavedir,
masterFileName:= masterdir,
password:= pass,
errorCode:= err);
IF state = IoApi_State.IoEcatFoEResultSuccess AND err = 0 THEN
miState:= 20;
msState:= 'File downloaded succesful';
KSys_TraceUOS(ADR(msState));
ELSIF err <> 0 THEN
msState:= 'Error downloading File';
KSys_TraceUOS(ADR(msState));
miState:= 0;
END_IF
20: //Verlasse Bootstrap
state:= IoApi_EcatLeaveBootstrap(devHdl:= mDevHandle);
IoApi_EcatGetState(devHdl:= mDevHandle,pState:= SlaveState);
IF SlaveState = IoEcat_State.Operational THEN
msState:= 'Leaving Bootstrap succesful';
KSys_TraceUOS(ADR(msState));
miState:= 21;
END_IF
21: //Auf Fehler oder Gerät warten
IF UR20_FBC_EC.HasError THEN
miState:= 22;
END_IF
22: //Gerät OK
IoApi_EcatGetState(devHdl:= mDevHandle,pState:= SlaveState);
IF SlaveState = IoEcat_State.Operational AND NOT UR20_FBC_EC.HasError THEN
msState:= 'FW Update succesful';
KSys_TraceUOS(ADR(msState));
miState:= 0;
END_IF
ELSE
msState:= 'Wrong State';
KSys_TraceUOS(ADR(msState));
END_CASE