Einführung

Der TcEventLogger ist Beckhoffs Standardmechanismus zum Verwalten von Meldungen aus der SPS. Mithilfe des TcEventLoggers können Warnungen, Fehlermeldungen, Informationen oder Statusmeldungen in einem SPS Programm ausgelöst und durch Visualisierungen angezeigt werden. Durch die Verwendung des TcEventLoggers können sie folgende Anforderungen realisieren:

  1. Meldungen und Alarme in der SPS auslösen oder zurücksetzen
  2. Meldungen durch den Eventlogger verwalten lassen
  3. COM APIs zur HMI Entwicklung
  4. Umfangreiches ActiveX Control zur Anzeige von Meldungen
  5. Unterstützung für die Realisierung verteilter Systeme: Das HMI kann mühelos die Meldungen eines remote Systems anzeigen
  6. Meldungstexte werden sprachabhängig aus einer Datenbank geladen

Das TwinCAT Meldungs-Konzept

Meldungen (Events)

Die Meldungen des TcEventLoggers werden anhand einer Source- und einer EventID identifiziert. Hierdurch wird eine möglichst realitätsnahe Sicht auf Meldungen ermöglicht. Die SourceID wird einer Maschine und die EventID einer Meldung dieser Maschine zugeordnet.

 

Einführung 1:

Zusätzlich können zu jeder Meldung beliebig viele DocLinks gespeichert werden.
Ein DocLink wird durch einen Namen identifiziert und enthält einen Link zu einer Datei. Diese verlinkten Dateien können zusätzliche Informationen enthalten, z.B.  Maßnahmen zum Beheben von Fehlern . Der TcEventlogger verarbeitet diese DocLinks nicht! Es bleibt letztlich den Clients überlassen die DocLinks abzufragen und zu verarbeiten. Die DocLinks werden mit den Meldungstexten gespeichert und durch den entsprechenden Formatter (siehe 'Formatieren von Meldungen') verarbeitet.

 

Auslösen von Meldungen

Aus einem SPS Programm heraus kann ein einfacher Funktionsbaustein aufgerufen werden, welcher dem TcEventlogger intern eine Meldung signalisiert. Diese Meldung wird nur anhand ihrer Source- und EventID identifiziert

Sobald der TcEventLogger eine Meldung erhält, informiert er alle verbundenen Clients hierüber und verarbeitet die Meldung intern. Die Clients erhalten mit dem Rückruf ein Meldungsobjekt - ein COM-Objekt von Typ TcEvent.

Die Visualisierung erhält nun das Meldungsobjekt, welches die Event- und SourceID enthält. Sie kann an dem Event Objekt den zugehörigen Meldungstext abfragen. Der Meldungstext wird dann in der gewünschten Sprache aus einer Datenbank geladen.

Einführung 2:

Formatieren von Meldungen

Zum Laden der Meldungstexte bietet der TcEventlogger das TcEventFormatter Konzept:
Ein Formatter ist für das Laden der Meldungstexte aus der entsprechenden Datenbank zuständig.

Formatter können kundenspezifisch implementiert und in das System integriert werden. Mit dem TcEventlogger werden zwei Standardlösungen angeboten:

Formatter

Beschreibung

TcEventFormatter

Laden von Meldungstexten aus dem Projekt Storage.

TcXMLFormatter

Datensätze werden aus XML Dateien geladen.

Der zu verwendende Formatter wird schon beim Auslösen der Meldung (am PLC Baustein) ausgewählt.

Der Formatter ist auch für das Laden der entsprechenden DocLinks verantwortlich.

 

Konfigurieren von Meldungen

Um Meldungstexte aus einer Datenbank zu laden, muss die Datenbank zunächst gefüllt werden. Hierfür bietet Beckhoff den TcEventKonfigurator als grafische Benutzeroberfläche an.

Der TcEventKonfigurator unterstützt die Formate der beiden Standard-Formatter sowie ein Plain Text Format. Dieses Plain Text Format kann z.B. an Übersetzungsbüros weitergegeben werden.

Mithilfe des TcEventkonfigurators kann der gesamte Vorgang zum Generieren von Meldungen realisiert werden:

Der Funktionskern des TcEventKonfigurators ist in Form von COM Komponenten realisiert, so dass er auch in eine Kundenapplikation integriert werden kann.

 

Visualisierungen

Wenn sich auch eine minimale Implementierung einer Visualisierung mit einigen wenigen Zeilen Quellcode erreichen lässt, so fällt für die Implementierung einer voll funktionalen Visualisierung trotzdem ein verhältnismäßig großer Programmieraufwand an.

Da sich die Implementierungen oft ähneln, bietet Beckhoff seinen Kunden hier eine Standard Implementierung zur Anzeige von Meldungen an : den TcEventViewer. Der TcEventViewer ist ein umfassend konfigurierbares ActiveX Control zur Einbindung in die Kundenapplikation.

Als beispielhafte Implementierung und zum  Betrachten  von Meldungen bietet Beckhoff die TcEventbar an. Die TcEventbar ist eine Visualisierung, die den TcEventViewer nutzt um Meldungen anzuzeigen.

 

Einführung 3:

Die TcEventBar liegt im 'TwinCAT/EventLogger' Verzeichniss.

Einstellungen der TcEventBar

Die TcEventBar nutzt (seit der v.2.9.0.11) einen Registry Key (HKEY_CURRENT_USER\Software\TwinCAT\TcEventBar), um die Einstellungen des Kontext Menüs zu speichern. Die folgenden Flags können in "ContextMenuFlags" gesetzt werden um die Menü Einträge zu deaktivieren.

TcEventView:

Beschreibung

0x00000001

"Aktive Meldungen löschen"

0x00000002

"Logbuch löschen"

0x00000004

"Filter setzen"

0x00000008

"Quittieren"

0x00000010

"Rücksetzen"

0x00000020

"Details"

0x0000FFFF

Deaktivierung des gesamten Kontextmenüs

 

Hauptfenster Kontextmenü:

Beschreibung

0x00010000

"Always on top"

0x00020000

"Autohide"

0x00040000

"Exit"

0xFFFF0000

Deaktivierung des gesamten Kontextmenüs

 

Connectivity

Der TcEventLogger bietet zwei Wege zur Realisierung von verteilten Systemen:

DCOM

DCOM wird nur auf NT / XP Plattformen unterstützt. Die Konfiguration von DCOM ist oft problematisch in Hinblick auf Konfiguration und Netzwerk-Timeouts

 

ADS Stream Interface

The TcEventLogger bietet ein binäres ADS basiertes Netzwerk Interface.

Um den Aufwand zur Entwicklung gering zu halten bietet Beckhoff eine Proxy Implementierung welche binäre Codierung und Datenaustauch kapselt. Die TcEventLogAdsProxy Klasse bietet alle Methoden der TcEventLogger COM API, benutzt statt DCOM jedoch ADS um die Verbindung zu remote Systemen herzustellen.