FB_CoE_DiagHistory_Read

Der Funktionsbaustein FB_ReadCoEDiagHistory kann EtherCAT Slaves, die das CoE Diag History Object unterstützen, auslesen. Der EtherCAT Slave muss sich dafür an die ETG-Norm halten.
Syntax
VAR_INPUT
sNetId : T_AmsNetId;
nSlaveAddr : UINT;
bEnable : BOOL;
bAck : BOOL;
tTimeout : TIME := DEFAULT_ADS_TIMEOUT;
tReadInterval : TIME := T#10S;
stOptions : ST_CoE_DiagHistory_Options;
END_VAR
VAR_IN_OUT
aDiagHistory : ARRAY[*] OF ST_CoE_DiagHistory_Entry;
END_VAR
VAR_OUTPUT
bBusy : BOOL;
bValid : BOOL;
bError : BOOL;
hrErrorCode : HRESULT;
ipErrorMessage : I_TcMessage := fbResult;
stInfo : ST_CoE_DiagHistory_Info;
END_VAR
Eingänge
Name | Typ | Beschreibung |
---|---|---|
sNetId | T_AmsNetId | NetID des Slaves |
nSlaveAddr | UINT | Port-Adresse des Slaves |
bEnable | BOOL | Puls: die Diag History wird einmal ausgelesen. Bei jeder neuen Flanke, wird alles resetet. Anschließend wird die Verbindung neu aufgebaut und der Slave ausgelesen. |
bAck | BOOL | Alle Meldungen werden quittiert, wenn bAck getriggert wird. |
tTimeout | TIME | Timeout für die jeweiligen ADS Reads/Writes im Baustein. Default ist hier ADS-Timeout von fünf Sekunden. |
tReadInterval | TIME | Zeitintervall zwischen dem wiederholten Auslesen des Slaves bei dauerhaftem „bEnable“-Signal. Default ist ein Zeitintervall von 10 Sekunden. |
stOptions | Steuerelemente zur Handhabung von CoE Diag History |
Ein-/Ausgänge
Name | Typ | Beschreibung |
---|---|---|
aDiagHistory | ARRAY[*] OF ST_CoE_DiagHistory_Entry | Dieser In-Out-Variable wird ein Array beliebiger Länge von ST_CoE_DiagHistory_Entry zugewiesen. Der FB passt sich automatisch der Länge des Arrays an. Wenn es zu kurz ist, werden ältere Meldungen im Diag History Object des Slaves ignoriert. Wenn es zu lang ist, werden überflüssige Einträge gelöscht. Eine größere Länge als 250 ergibt hier keinen Sinn, da die ETG-Norm ein Max. von 250 Meldungen für das Diag History Object definiert. |
Ausgänge
Name | Typ | Beschreibung |
---|---|---|
bBusy | BOOL | Einfaches Busy Signal, es signalisiert, dass der Baustein einen Slave ausliest. |
bValid | BOOL | Das Diag History Object wurde erfolgreich ausgelesen und die ausgegebenen Meldungen sind gültig. |
bError | BOOL | Wird TRUE, sobald eine Fehlersituation eintritt. |
hrErrorCode | HRESULT | Liefert bei einem gesetzten bError-Ausgang einen Fehlercode. |
ipErrorMessage | I_TcMessage | Liefert bei einem gesetzten bError-Ausgang detaillierte Informationen. Der hierzu verwendete Schnittstellenzeiger ist immer gültig (ungleich Null) und vom Typ I_TcMessage. Insbesondere ist der entsprechende Fehler im PLC-OnlineView sofort als Klartext zu sehen. |
stInfo | Liefert Informationen vom ausgelesenen EtherCAT Slave Diag History Object. Dies beinhaltet u.a. den verwendeten Buffer Mode und Informationen zu den verfügbaren Meldungen. Dieser Ausgang wird nur nach erfolgreichem Lesen aktualisiert. |
Voraussetzungen
TwinCAT Version | Hardware | Einzubindende Bibliotheken |
---|---|---|
TwinCAT 3.1 >= Build 4024.57 | x86, x64, ARM | Tc3_EtherCATDiag |