Event HMI

The TcEventViewer.dll provides the Beckhoff TcEventViewer. The EventViewer is an ActiveX control that is the HMI building Block of the TcEvent Logger. By Just placing it on the form and configure some properties it can be used to implement in less than 5 minutes the visible part of the TcEvent Logger.

The next screenshot shows a Visual Basic program using the TcEventLogger to display logged alarms.

Event HMI 1:

 

The TcEventViewer can display active and logged alarms. All columns of the TcEventViewer can be disabled and changed in the size from the code. 

All strings of the events are displayed in the selected language since the language switching is done by the Formatter.

Since version 2.9.0.56, the TcEventviewer is diveded into the TcEventviewer and TcEventviewerLight. The Light version of the TcEventviewer is minimized in code and maximized in performance

Interfaces

The TcEventViewer communicates to other components through it's interfaces.

 

The next figure shows an overview of the main interface of the TcEventViewer:

Event HMI 2:

 

Interface

Description

ITcEventView

Main interface of the TcEventViewer to COM clients like the HMI. Main features are to control the appearances of the ActiveX control.

ITcEventViewLight

Interface of the EventViewers light version

ITcEventLogEvents

The Event interface is provided by the TcEventLogger. When the TcEventViewer is started it gets a list of logged or active events by calling the methods  ITcEventLog::EnumActiveEvents or ITcEventLog::EnumLoggedEvents. After that the TcEventLogger will notify the TcEventViewer using the ITcEventLogEvents interface. This notifications are used to keep the list of displayed events in sync  with the server.

Classes

The TcEventViewer provides just one class to the outside: TcEventView

 

Client Server

The TcEventLogger provides a client server architecture. The TcEventLogger is the server that contains all informations about active an logged events. The TcEventViewer is a client of the TcEventLogger. When the EventViewer is started it first gets the list of active or logged events, displays them and synchronizes the list by the events fired to the ITcEventLoggEvents interface.

The TcEventViewer can be used in 3 different Client Server scenarios.

  1. One TcEventViewer displays the events of one TcEventLogger. In this scenario the HMI with the TcEventViewer and the TcEventLogger are located on the same machine.
  2. One TcEventViewer displays the alarms of several TcEventLoggers located on several machines. The remote connection is done by using *DCOM.
  3. Several TcEventViewers display the events of one TcEventLogger. The remote connection is estabished using *DCOM.

*DCOM DCOM has to be configured correctly on the client and server machine by using dcomcnfg.exe. For more information about DCOM configuration see MSDN library. Due to DCOM has very long timeouts DCOM should only be used on a very stable network connection. Another problem is that the EventLogger is not multithreaded; the TcEventViewer may block the TcEventLogger.