FB_EcGetLastProtErrInfo
Mit dem Funktionsbaustein FB_EcGetLastProtErrInfo
können zusätzliche Fehlerinformationen zum zuletzt aufgetretenen Mailboxprotokollfehler ausgelesen werden. Ein fehlerfreies Mailboxkommando setzt den letzten Fehler jedes Mal zurück.
Eingänge
VAR_INPUT
sNetId : T_AmsNetId;
nSlaveAddr : UINT;
eProtocol : E_EcMbxProtType := eEcMbxProt_FoE;
bExecute : BOOL;
tTimeout : TIME := DEFAULT_ADS_TIMEOUT;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
sNetId | T_AmsNetId | String, der die AMS-Netzwerkerkennung des EtherCAT-Master-Gerätes enthält. (Typ: T_AmsNetId) |
nSlaveAddr | UINT | Feste Adresse des EtherCAT-Slaves, dessen Fehlerinformationen ausgelesen werden sollen. |
eProtocol | E_EcMbxProtType | |
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. |
Ausgänge
VAR_OUTPUT
bBusy : BOOL;
bError : BOOL;
nErrId : UDINT;
info : ST_EcLastProtErrInfo;
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. |
info | ST_EcLastProtErr | Struktur mit zusätzlichen Fehlerinformationen |
Beispiel in ST:
Bei einer steigenden Flanke am bGet werden zusätzliche Fehlerinformationen zum zuletzt aufgetretenen Mailboxprotokollfehler ausgelesen.
PROGRAM MAIN
VAR
fbGetInfo : FB_EcGetLastProtErrInfo := ( sNetID := '172.16.6.195.2.1',
nSlaveAddr := 1004,
eProtocol := eEcMbxProt_FoE,
tTimeout := DEFAULT_ADS_TIMEOUT );
bGet : BOOL;
bBusy : BOOL;
bError : BOOL;
nErrID : UDINT;
sInfo : T_MaxString;
END_VAR
fbGetInfo( bExecute:= bGet,
bBusy=>bBusy,
bError=>bError,
nErrId=>nErrId );
sInfo := BYTEARR_TO_MAXSTRING( fbGetInfo.info.binDesc );
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS- Bibliotheken |
---|---|---|
TwinCAT v3.1.0 | PC oder CX (x86, x64, Arm®) | Tc2_EtherCAT |