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.
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:
Interface | Description |
---|---|
Main interface of the TcEventViewer to COM clients like the HMI. Main features are to control the appearances of the ActiveX control. | |
Interface of the EventViewers light version | |
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.
- 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.
- One TcEventViewer displays the alarms of several TcEventLoggers located on several machines. The remote connection is done by using *DCOM.
- 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.