Tc3 EventLogger

msauerpb

Level-1
Beiträge
200
Reaktionspunkte
7
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich versuche gerade mein Eventsystem von der alten Tc2 auf das neue Tc3 System umzustellen und habe dazu noch ein paar Verständnis fragen:


  1. Das Grundlegende anlegen der Meldungen geschieht jetzt über das TypeSystem von Tc3 (ist das so ähnlich wie der EventConfigurator von Tc2)?
  2. Wenn ich mir das EventGridSample anschaue, dann gibt es zwei Aufrufe mit CreateEx. Bevor ich einen Alarm / Message abschicken kann, muss ich da jede mit einem CreateEx an den entsprechenden FB binden?
  3. Gibt es eine Möglichkeit alle Alarme gemeinsam zu bestätigen?
  4. In dem Beispielprojekt ist noch ein

Code:
fbEventlogger : FB_TcEventLogger;

definiert. Für was ist denn das bzw. brauch ich den noch?

Prinzipiell komme ich auch mit der Anleitung von Beckhoff selber zu Tc3 Eventlogger nicht so ganz klar. Mir fehlen noch Beispiele und die mitgelieferten Beispiele habe ich auch noch nicht so ganz verstanden. Gibt es da vielleicht noch weitere Literatur?

Welche Empfehlung habt ihr denn zur Bezeichnung der Events?

Unbenannt.JPG

Sollte man einfach nur IDs vergeben oder Klartext Namen?

Danke für Eure Hilfe.
gruss
martin
 
Zuletzt bearbeitet:
Noch ne weitere Frage: Was ist denn das Parameter-Objekt eines Events? In der gesamten Beckhoff Doku habe ich dazu nichts gefunden.

gruss
martin
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Der TcEventlogger-FB kann z.B. verwendet werden um direkt Nachrichten (ohne Create) abzusenden.

Die Events müssen neben der ID einen Namen haben - denn der bereitgestellte PLC Code über TC_EVENTS.* nutzt den.
Der taucht nur im Code auf, sodass man dort als Programmierer "freie" Wahl hat.

Der "Display Text" wird nachher halt angezeigt - wenn Du also eine Anzeige verwendest im Grid wäre das anzuraten. Das ist auch das, was nachher Internationalisiert werden kann (was Beckhoff dann Translation nennt)

Was meinst Du mit Parameter-Objekt (anderer Post)?

Gruss
 
Hallo,

mit Parameter Objekt meine ich das hier:

Unbenannt.JPG

Das habe ich so in der Doku von Beckhoff gefunden.

Es gibt bei den Events ja auch die Felder Comment, Url, Text. Wie kann ich diese denn in der HMI anzeigen

Unbenannt.JPG

gruss
martin
 
Zuletzt bearbeitet:
Noch ne andere Frage:
Die Einträge des Eventloggers werden ja in dem Cache gespeichert. Kann ich diesen Cache auch auf einen USB-Stick schreiben, so dass ich die Einträge archivieren kann?
Wieviel Einträge haben denn in dem Cache Platz?

gruss
martin
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Noch ne andere Frage:
Die Einträge des Eventloggers werden ja in dem Cache gespeichert. Kann ich diesen Cache auch auf einen USB-Stick schreiben, so dass ich die Einträge archivieren kann?
Wieviel Einträge haben denn in dem Cache Platz?

gruss
martin

Hallo

Ich verstehe einen Cache nicht als persistenten Speicher - da würde ich mir lieber die C# Schnittstelle anschauen mit der man Events empfangen kann (da gibts leider noch keine Doku) und selber genau das wegschreiben, was man haben will - und auch an den Ort und Format, was man möchte.
Übrigens: Der Cache löscht sich bei Überlauf der Maximalgrösse ...

Gruss
 
Hallo,

mit Parameter Objekt meine ich das hier:

Anhang anzeigen 47271

Das habe ich so in der Doku von Beckhoff gefunden.

Es gibt bei den Events ja auch die Felder Comment, Url, Text. Wie kann ich diese denn in der HMI anzeigen

Anhang anzeigen 47272

gruss
martin

Hallo

In der Tat wird in der Eventlogger-Doku nichtvon Parameter gesprochen - das scheint vielleicht HMI spezifisch zu sein.
Da dort aber "SourceName" auftauchtwürde ich davon ausgehen, dass es sich um den SourceName (SourceID undSouceGUID) handelt, die auch im VisualStudio-Fenster angezeigt werden. Das soll die Quelle einer Meldung sein -SourceName per Default gesetzt auf MAIN.xxx.yyyy usw, kann aber auch mit"Behälter1" überschrieben werden, wenn man lieber einen Anlagenteil/ Teilanlage etc. dort vermerkt haben möchte.

Die Description / Url / Text werden zwar seit 4024 wohl auf den Controller übertragen - sind aber im Eventgrid vielleicht noch nicht abrufbar?

Gruss
 
Das ganze Eventhandling ist total overengineerd. Ich schreibe mir alle mir wichtigen Events in
eine Logdatei, welche ich täglich erstelle.

20191008_194745.jpg
 
Das ganze Eventhandling ist total overengineerd. Ich schreibe mir alle mir wichtigen Events in
eine Logdatei, welche ich täglich erstelle.

Da kann ich dir nur zustimmen. Soll wohl vor allem den HMI Server pushen. Dieser notorische Zwang nun alles mit OOP Mitteln erschlag zu wollen, nimmt mir bei Beckhoff ein wenig die Überhand.
 
Schön das es noch Romantiker gibt.
Kiss Regel : Keep it simple and stupid.
Denkt an die Instandhalter und alle mit gesundem Menschenverstand.
Wir wollen nicht auf den Mond fliegen, nur bischen automatisieren.
;-)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie ruft ihr das CreateEx denn in der "konventionellen" Programmierung auf? Deklariert ihr dennoch explizit die FB_Init Methode oder habt es einfach im normalen Programmcode des FB und stellt über eine Bedingung sicher, dass das CreateEx nur einmalig bei der ersten Ausführung aufgerufen wird?
 
Wie ruft ihr das CreateEx denn in der "konventionellen" Programmierung auf? Deklariert ihr dennoch explizit die FB_Init Methode oder habt es einfach im normalen Programmcode des FB und stellt über eine Bedingung sicher, dass das CreateEx nur einmalig bei der ersten Ausführung aufgerufen wird?

Ich rufe die Tc3 Msg Baustein in einem eigenen Eventbaustein auf und initialisiere CreateEx einmalig:
Code:
IF (NOT _EventInit) THEN
    _EventInit                      := TRUE;
    _EventMessage.CreateEx(iTc3Event, 0);
    _EventAlarm.CreateEx(iTc3Event, TRUE, 0);
END_IF
 
Zurück
Oben