FB_EcGetAllSlaveCrcErrors
Mit dem Funktionsbaustein FB_EcGetAllSlaveCrcErrors können die CRC-Error Zähler aller am Master angeschlossenen Slaves ausgelesen werden. Die CRC-Error an den einzelnen Ports eines Slaves werden aufaddiert. Um die CRC-Error der einzelnen Ports (A,B und C) eines Slaves auszulesen, muss der Funktionsbock FB_EcGetSlaveCrcError aufgerufen werden.
VAR_INPUT
VAR_INPUT
sNetId : T_AmsNetId;
pCrcErrorBuf: POINTER TO ARRAY[0..EC_MAX_SLAVES] OF DWORD;
cbBufLen : UDINT;
bExecute : BOOL;
tTimeout : TIME := DEFAULT_ADS_TIMEOUT;
END_VAR
sNetId: Ist ein String, der die AMS-Netzwerkkennung des EtherCAT Master Gerätes enthält.
pCrcErrorBuf : Die Adresse eines Arrays von DWORDs, in das die CRC-Error Zähler geschrieben werden sollen.
cbBufLen: Die maximal verfügbare Puffergröße für die zu lesenden Daten in Bytes.
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.
VAR_OUTPUT
VAR_OUTPUT
bBusy : BOOL;
bError : BOOL;
nErrId : UDINT;
nSlaves : UINT;
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
nSlaves: Anzahl der an den Master angeschlossenen Slaves.
Beispiel für eine Implementierung in ST:
PROGRAM TEST_GetAllSlaveCrcErrors
VAR
fbGetAllSlaveCrcErrors : FB_EcGetAllSlaveCrcErrors;
sNetId : T_AmsNetId := '172.16.2.131.2.1';
bExecute : BOOL;
crcErrors : ARRAY[0..255] OF DWORD;
nSlaves : UINT := 0;
bError : BOOL;
nErrId : UDINT;
END_VAR
fbGetAllSlaveCrcErrors(sNetId:= sNetId, pCrcErrorBuf := ADR(crcErrors), cbBufLen:= SIZEOF(crcErrors), bExecute:=bExecute);
nSlaves:=fbGetAllSlaveCrcErrors.nSlaves;
bError:=fbGetAllSlaveCrcErrors.bError;
nErrId:=fbGetAllSlaveCrcErrors.nErrId;
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken |
|---|---|---|
TwinCAT v2.10.0 oder höher | PC or CX (x86) | TcEtherCAT.Lib |
TwinCAT v2.10.0 Build >= 1301 oder höher | CX (ARM) |