Zugriff auf Alarme und Events

Beim Subscriben auf das Objekt und den Empfang von Alarmen oder Events muss ein Client berücksichtigen, dass hierbei spezielle Objekttypen verwendet werden. Die jeweiligen Typen sind wie folgt definiert:

TcEventLoggerEventType

Der TcEventLoggerEventType ist abgeleitet vom BaseEventType und erweitert diesen mit TwinCAT-Eventlogger-spezifischen Properties:

Zugriff auf Alarme und Events 1:
NodeID: i=4200
NamespaceName: urn:BeckhoffAutomation:Ua:Types:GlobalTypes

TcEventLoggerAlarmConditionType

Der TcEventLoggerAlarmConditionType ist abgeleitet vom AlarmConditionType und erweitert diesen mit TwinCAT-Eventlogger-spezifischen Properties:

Zugriff auf Alarme und Events 2:
NodeID: i=4000
NamespaceName: urn:BeckhoffAutomation:Ua:Types:GlobalTypes

Beispiel

Das folgende Beispiel basiert auf dem Standard-Code-Sample vom TwinCAT Eventlogger, welches aus dem Beckhoff Information System bezogen werden kann. Dieses Sample beinhaltet Code Snippets für die SPS, mit welchen man sowohl ein Event als auch einen Alarm feuern kann.

Schritt 1: Konfiguration des Servers

TwinCAT OPC UA Server und die SPS laufen in diesem Beispiel nun lokal auf demselben System. Dementsprechend wurde auch die TcEventLogConfig.xml erstellt:

<TcUaEventLogConfig>
  <EventLoggerDevice Name="LocalEventLogger" AmsAddr="127.0.0.1.1.1"/>
</TcUaEventLogConfig>

Schritt 2: Aktivieren des TwinCAT Eventlogger Samples

Vor dem Aktivieren des TwinCAT Eventlogger Samples wurde das automatische Feuern eines Events bzw. Alarms zunächst deaktiviert. In der vorliegenden Sample-Version erfolgt dies durch das Initialisieren von bSend und bAlmRaise mit dem Wert FALSE. Anschließend wird das Projekt aktiviert und in der lokalen SPS-Laufzeit ausgeführt.

Schritt 3: Verbinden eines OPC UA Clients mit dem Server

Als OPC UA Client wurde der UA Expert gewählt. Nach dem Aufbau einer Verbindung mit dem Server fügen Sie im UA Expert ein neues „Event View“ Dokument hinzu. Anschließend ziehen Sie per Drag-and-Drop das konfigurierte TwinCAT-Eventlogger-Gerät in das Event View.

Zugriff auf Alarme und Events 3:

Damit die TwinCAT-Eventlogger-spezifischen Properties empfangen werden können, muss der UA Expert den entsprechend Event- bzw. AlarmType filtern. Sie finden den TcEventLoggerEventType bzw. TcEventLoggerAlarmConditionType in der Typliste des Event Views. Beispiel:

Zugriff auf Alarme und Events 4:
Zugriff auf Alarme und Events 5:

Durch einen Klick auf den Apply-Button werden diese Filter übernommen.

Schritt 4: Feuern eines Events

Im TwinCAT Eventlogger Sample setzen wir die Variable bSend auf den Wert TRUE, um ein Event abzufeuern. Der UA Expert empfängt dieses Event automatisch und zeigt es im Event View mitsamt der TwinCAT-Eventlogger-spezifischen Properties an.

Zugriff auf Alarme und Events 6:
Zugriff auf Alarme und Events 7:

Schritt 5: Feuern eines Alarms

Im TwinCAT Eventlogger Sample setzen wir die Variable bAlmRaise auf den Wert TRUE, um einen Alarm abzufeuern. Der UA Expert empfängt diesen Alarm automatisch und zeigt ihn im Event View mitsamt der TwinCAT-Eventlogger-spezifischen Properties an. Zusätzlich wird der Alarm als eigenes Objekt im Namespace unterhalb des Eventlogger-Geräts angezeigt.

Zugriff auf Alarme und Events 8:

Schritt 6: Quittieren eines Alarms

Zusätzlich zum Empfang eines Alarms kann dieser auch quittiert werden. Die Quittierung wird hierbei vom Server auch an den TwinCAT Eventlogger zurückgemeldet. Im UA Expert lässt sich ein Alarm über das Kontextmenü im Event View quittieren.

Zugriff auf Alarme und Events 9:
Zugriff auf Alarme und Events 10:

Acknowledge und Confirm

Bitte beachten Sie, dass nur ein Confirm zurück an den TwinCAT Eventlogger gemeldet wird. Die Information zu einem Acknowledge bleibt hierbei im Server, da der TwinCAT Eventlogger aktuell nur das Konzept eines Confirms vorsieht.

Nach einem Confirm wird die entsprechende Variable eConfirmationState in der TwinCAT-Eventlogger-Instanz vom Typ FB_TcAlarm gesetzt.

Zugriff auf Alarme und Events 11: