GetHeader

ITcEvent

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

TcEventClass

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.