TC3: Nachhilfe beim Event Logger benötigt

Beiträge
6.399
Reaktionspunkte
1.487
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich benötige mal Hilfe bei der Nutzung des Event Loggers (TC3 4024.47, IPC C6033 Win10LTSC), da RTFM mich praktisch nicht weitergebracht hat.
Es sollen Meldungen ausgelöst und am HMI (TE/TF2000) angezeigt werden.
Ich habe schon eine Event Klasse erzeugt und Events hinzugefügt.
Kurze Zwischenfrage: Wie nutzt man "Cause/Remedy"?
Mit welchem FB löse ich die Meldungen/Events aus und wo instanziiere ich ihn am sinnvollsten?
Wie werden Fehler quittiert und gelöscht?
Was muss ich eventuell noch beachten?
 
Zuletzt bearbeitet:
Cause/Remedy habe ich noch nicht benutzt.

Nachdem du die Events angelegt hast, kannst du überlegen, ob es ein Alarm (wird ausgelöst (Raised), möglicherweise quittiert (Confirmed) und zurückgesetzt (Cleared)), oder ob es eine Message werden soll (wird nur gesendet).
Je nachdem benutzt du entweder FB_TcAlarm oder FB_TcMessage.
Die FB's instanzierst du am besten in dem Baustein, der den Fehler hat/erkennt bzw. die Message absetzen will.

Die Alarms und Messages laufen im EventLogger auf. Diesen kannst du entweder über TwinCAT XAE auslesen (Fenster: Logged Events oder so ähnlich), oder über das entsprechende Control der TE/TF2000. Beim Control wirst du wahrscheinlich noch einen Filter einstellen wollen, dass er die zurückgesetzten Alarme nicht mehr anzeigen soll.
Das Control hat Buttons zum confirmen der Alarme.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hier wird einige Sachen gut erklärt

 
So hier mal ein paar Antworten auf meine eigenen Fragen.
Cause/Remedy wird laut Beckhoff derzeit noch nicht unterstützt. Man kann es zwar eintragen, aber es wird nirgends angezeigt.
Das Fehler auslösen an sich ist einfach, aber der Weg dahin etwas aufwendiger:
Für Fehler, Warnungen und ähnliches muss der FB_TcAlarm genutzt werden. Für jede Meldung muss eine Instanz dieses FBs erzeugt werden und das am besten in dem FB/Programm wo der Fehler auftreten kann, in einem FC kann man den FB nicht instanziieren.
Als erstes muss mit der Methode Create oder CreateEx vom FB_TcAlarm eine Instanz von jeder Meldung im Event Logger mit den entsprechenden Parametern (ID, Schwere, usw.) erstellt werden.
Hat eine Meldung einen Platzhalter füllt man diesen, laut Beckhoff über die Instanz der jeweiligen Meldung und dann ".ipArguments.Clear()." danach Add und direkt dahinter den Typ, z.B. AddUInt, bei einem UInt. Dann "(value := Wert). Wofür der FB FB_TcArgument dann genutzt werden soll konnte man mir bei Beckhoff nicht sagen.
Ausgelöst wird der Fehler mit der Methode Raise und gelöscht mit der Methode Clear oder über das HMI.
Bei Fehlern die quittiert werden müssen gibt es noch die Methode Confirm oder auch das wird über das HMI gemacht
 
Hat eine Meldung einen Platzhalter füllt man diesen, laut Beckhoff über die Instanz der jeweiligen Meldung und dann ".ipArguments.Clear()." danach Add und direkt dahinter den Typ, z.B. AddUInt, bei einem UInt. Dann "(value := Wert). Wofür der FB FB_TcArgument dann genutzt werden soll konnte man mir bei Beckhoff nicht sagen.
Sehr wahrscheinlich wird der FB_TcArgument intern in der Property ipArguments aufgerufen. Daher wird der nicht direkt benötigt.
 
Zurück
Oben