GetHeader
Die Eigenschaft gibt ein Safearray zurück, das die gleiche Information wie der TcEventHeader enthält. Die Header Daten wurden hinzugefügt, indem das Event vom SPS Funktionsblock (oder einem anderen ADS Gerät) oder von einem Aufruf der Report Event Funktion wie ITcEventLogC::ReportEvent,ITcEventC3::ReportEventEx oder ITcEventLog::ReportEvent ausgegeben wurde.
HRESULT GetHeader([in,out] SAFEARRAY(VARIANT)* data);
Parameter
data
[in] Pointer auf ein Safearray mit den Grenzen 0 bis 9, das den Event Haeder darstellt. Das Array repräsentiert die gleiche Information wie der TcEventHeader. Die Einträge des Arrays sind in der folgenden Tabelle erklärt.
Index | TcEventHeader Eintrag | Datentyp | Beschreibung |
---|---|---|---|
0 | nClass | Die Klasse des Events, wie Alarm, Warnung, Hinweis. | |
1 | nPriority | TcEventPriority (long) | Die Event Priorität. Ab jetzt ist die Priorität immer: TcEventPriority.TCEVENTPRIO_IMPLICIT=0 |
2 | dwFlags | TcEventFlags (long) | Die Flags regeln das Verhalten des Alarms. Das kann mit einer OR Verknüpfung kombiniert werden. |
3 | dwUserData | long | Reservevariable, die vom Nutzer verwendet werden kann. |
4 | nId | long | Die Event Id, die eindeutig diesen Eventtyp für diesen einzelnen Event Source darstellt. |
5 | nInvokeId | long |
|
6 | fDate | VARIANT-DATE | Datum und Zeit zu dem dieses Event auftritt. |
7 | nMs | long | Der Millisekundenanteil des Events Datum. |
8 | varSource | variant | Die Source Id SourceName. Das Event Source wird verwendet, um verschiedene Geräte zu unterscheiden, wie I/O Event, oder verscheidene Teile des SPS Programms. |
9 | szFmtProgId | BSTR string | Die PrgId des Formatters. Wenn der Standard XML Formatter benutzt werden soll, muss der String auf "TcEventFormatter.TcXmlFormatter" gesetzt werden. |
Rückgabewerte
S_OK
Funktion wurde erfolgreich aufgerufen.
E_POINTER
Daten waren kein gültiger Pointer.
Visual Basic Beispielcode
' get the one and only event logger
Dim evtLogger As TCEVENTLOGGERLib.TcEventLog
Set evtLogger = New TCEVENTLOGGERLib.TcEventLog
' get the most resent active event
Dim evt As TcEvent
Set evt = evtLogger.GetLastEvent
' get the event header
Dim data() As Variant
Call evt.GetHeader(data)
' loop though the list of data
Dim i As Long
For i = LBound(data) To UBound(data)
Debug.Print data(i)
Next i
Anmerkungen
Für C++ und Visual Basic Programmierer ist es bequemer, die MethodeITcEventC::GetHeader zu benutzen.