TC3; Tipps zum Aufbau eines Meldesystem

al3x

Level-2
Beiträge
151
Reaktionspunkte
28
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

bin noch neu in der TwinCat Welt.
Ich möchte ein Meldesystem mit TwinCat 3 und TE2000 HMI aufbauen.

Folgenden Anforderungen:
- 2-3 verschiedene Meldeklassen (Störungen/Warnung usw.)
- aktuell anstehende Meldungen und Meldearchiv
- Schrittkettenstörung mit Detaildiagnose

Würdert ihr das mit EventClasses aufbauen?
Ich würde aber ungern für jede Meldung ein neues Event anlegen, sondern jeweils nur eine Meldung anlegen und den Text dynamisch von der SPS übergeben.
Wie das geht weiß ich schon, aber macht das Sinn?

Wie kann ich ein Meldearchiv aufbauen?
Gibts ein fertig System für die SK-Diagnose?
 
Hast du dir schon den TC3 Event Logger angeschaut?
Ich hatte mir den mal angeschaut. Ein Nachteil ist, dass dort für jede Fehlermeldung eine FB-Instanz benltigt wird. Es kann aber sein, dass das mittlerweile anders ist.
Für die Schrittkettendiagnose gibt es die Flags SFCErrorAnalyzation und SFCErrorAnalyzationTable die man abgreifen kann. Funktionierte beim letzten mal aber nur wenn man die Transition in ST geschrieben hat.
 
Grundsätzlich kann man die Meldetexte dynamisch anpassen.
Aber meist hat man dann ein Problem wenn die Mehrsprachigkeit benötigt.

Ich nutze den Eventlogger. Die reinen Meldetexte sind Mehrsprachig angelegt. Zusatzinformationen (BMK usw.) übergeben ich unabhängig der Sprache an die Platzhalter.

Der Eventlogger ist ein großer Ringspeicher. Daher bleiben auch die Meldungen nachdem quittieren noch stehen.
In der Beckhoff HMI musst du beim Eventgrid die Filter entsprechend einstellen, um nur aktive Meldungen anzuzeigen.
 
Guten Morgen,


Ich bin neu auf dieses Forum und hoffe das Jemand mir helfen kann. Entschuldige vor mein Deutsch die ist nicht so gut.
Habe dieselbe Frage wie al3x nur möchte ich mein Meldesystem mit TwinCAT3 und TF1810 TC3 PLC-HMI Web aufbauen.
Habe schon die TC3 Event Logger angeschaut und die sample Projekte probiert.
Finde es schwierig zu folgen deshalb meine frage hier.


Als Beispiel habe ich eine Maschine mit einer Schraube Einheit.


FB_SchraubeUnit mit:


fbZylinderSchraubKopfUnten
obSensorZylinderSchraubKopf_min
obSensorZylinderSchraubKopf_max
obSensorSchraubenLagerFastLeer


fbSchraubKopfMotor
obSensorSchraubKopfMotorThermal-Off


Auf mein HMI HOME Page möchte ich ein Fenster haben mit drei Textzeilen für die wichtigste Meldungen. Mehrsprachig soll es angelegt werden.



Zum Beispiel HMI HOME Page:

1e Textzeile: "Not-Aus aktiv linke Tür offen"
2e Textzeile: "Time out ZylinderSchraubKopf unten"
3e Textzeile: "Schraubenlager Fast Leer"


Auf mein HMI ERROR Page möchte ich ein Fenster haben mit zehn Textzeilen für alle Meldungen.
Die wichtigsten Meldungen oben.


Ich würde es wirklich schätzen, wenn mir jemand helfen kann mit ein einfaches (vorzugsweise funktionierendes) Beispiel wie dass zu programmieren.


Vielen Dank im Voraus.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Aktuell ist es so, das der neue Eventlogger meiner Meinung nach nur Sinn macht in Kombination mit der HMI TE2000.
Es gibt (noch) keine fertige Anbindung zur TF1800/TF1810.
Theoretisch könnte man aber die gemeldeten Texte des Eventloggers als Strings auslesen und ggf. dann der HMI übermitteln.
 
Du hast recht, habe mit support telefoniert und das gleiche gehört.
Also wird es dann Eventlogger mit der HMI TE2000.

Habe noch immer einige probleme mit es aufsetzen von das meldesystem, support gefragt um ein Beispiel aber bis jetzt nichts.

Kann mir jemand mit einem funktionierenden Beispiel helfen.
Vielen Dank im Voraus.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich hänge momentan auch etwas am Konzept. Das betrifft aber hauptsächlich die Sprachumschaltung.

Das heißt, ich habe einen Aktor-Baustein, der mehrmals instanziiert werden soll. Über die ipArguments des EventLoggers möchte ich eigentlich dann BMK aber auch Ort des Aktors, Name des Aktors usw. mitgeben bei der die Sprache umgeschaltet werden muss. Nun gibt es bei den ipArguments aber keine Spachumschaltung.

Wie habt ihr das gelöst, habt ihr hierfür dann für jeden Aktor eigene Events im TMC-Editor definiert, oder schaltet Ihr die Sprache für die Argumente über SPS-String-Arrays um? Da die Texte ja eigentlich nur für die Visualisierung sind, bin ich mit der zweiten Lösung, String-Arrays in der SPS zu verwalten, nicht zufrieden. Aber auch nicht zig Events für jeden Aktor zu erstellen obwohl sich die Meldungen ja nur durch ein paar Details unterscheiden. Falls man irgendwo einen Tippfehler hat hätte man wieder einen richtig großen Aufwand alle Event-Texte zu ändern.

Oder kann man die TMC irgendwie automatisiert erstellen? Wenn ich mit dem Windows Explorer in den Projektordner gehe und die entsprechend TMC-Datei öffne, sind da nur 3 Zeilen ohne irgendeinen Bezug zu irgendwelchen Events.
 
Oder kann man die TMC irgendwie automatisiert erstellen? Wenn ich mit dem Windows Explorer in den Projektordner gehe und die entsprechend TMC-Datei öffne, sind da nur 3 Zeilen ohne irgendeinen Bezug zu irgendwelchen Events.
Ich weiß nicht, ob es hilft, die Meldungen findest du aber in der *.tsproj Datei des jeweiligen Projekts. Die kann man auch außerhalb von TwinCAT bearbeiten. Das machen wir bspw. wenn eine große Anzahl an Meldungen im TypeSystem angelegt werden muss. In TwinCAT ist das echt viel Klickerei. Mit Excel und VSCode lässt sich da vieles schneller machen.
 
Ich weiß nicht, ob es hilft, die Meldungen findest du aber in der *.tsproj Datei des jeweiligen Projekts. Die kann man auch außerhalb von TwinCAT bearbeiten. Das machen wir bspw. wenn eine große Anzahl an Meldungen im TypeSystem angelegt werden muss. In TwinCAT ist das echt viel Klickerei. Mit Excel und VSCode lässt sich da vieles schneller machen.
Danke das wusste ich ich nicht.

Ich schaue mir das mal an.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Falls du wirklich in die Datei viele zusätzliche Meldungen einbindest, musst du dich um die XML-Einrückung nicht kümmern. Das biegt TwinCAT beim nächsten Start wieder gerade.

PS: Backup von der tsproj nicht vergessen, sofern sie nicht im Git o. ä. versioniert wird.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Es gibt eine Möglichkeit und zwar kann man als Argument ein anderes Event mitgeben.
Bei mir sieht das wie folgt aus: Standardmeldetext (LibraryEventClass.Motor)+ Lokalisiertertext (LocalizedEventClass.Motor_BMK1).

Es gibt eine Methode die heißt AddEvent.
Da gab es auch mal eine schönen Reddit Beitrag zu.

Die LocalizedEventClass ist Projekt spezifisch und dort übersetze ich dann alle Texte die nur für diese Maschine ist.

Nächste Woche kann ich mal ein Codeschnipsel Posten.
 
Ich weiß nicht, ob es hilft, die Meldungen findest du aber in der *.tsproj Datei des jeweiligen Projekts. Die kann man auch außerhalb von TwinCAT bearbeiten. Das machen wir bspw. wenn eine große Anzahl an Meldungen im TypeSystem angelegt werden muss. In TwinCAT ist das echt viel Klickerei. Mit Excel und VSCode lässt sich da vieles schneller machen.
Bezüglich Excel mal an Beckhoff wenden. Es gibt ein Plugin für Excel mit dem man Events anlegen kann. Das Plugin hat zwar an einer Stelle eine Macke, ist aber wirklich sehr hilfreich.
Hier mal ein paar Screenshots:
EventLogger_Sample_Events_08.jpg

EventLogger_Sample_Events_09.jpg
EventLogger_Sample_Events_11.jpg
EventLogger_Sample_Events_12.jpg
EventLogger_Sample_Events_13.jpg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Angenommen ich möchte die Events selber erstellen. Wie komme ich an die GUID?
Die GUID wird automatisch erzeugt und aktualisiert, die GUID solltest Du aber nie direkt nutzen, dass kann schnell zu Problemen führen, da diese sich auch mal ändert.
Statt die GUID direkt zu nutzen solltest Du, zum Beispiel für die Methode "Create", zum Verweis auf Deine Event Klasse im Type System die automatisch erzeugte GVL "TC_EVENT_CLASSES" nutzen und hinter einem Punkt Deine Klasse auswählen/eintragen.
Ich erstelle gerade eine Anleitung zu dem Thema für meinen aktuellen Auftraggeber. Ich hänge hier mal das dazugehörige Beispielprojekt an, es ist noch nicht ganz fertig, aber vielleicht hilft es ja dennoch.
Bei dem Projekt musst Du aber die Cores des Zielsystem anpassen, dass steht bei mir auf 3/1, weil ich das Projekt in einer VM mit einem isolierten Kern erstellt habe.
 

Anhänge

Habe gerade gesehen, dass ich bei den Parametern in den Events Tippfehler habe. Wenn ich mit dem Projekt fertig bin werde ich eine korrigierte Version zur Verfügung stellen.
Könnt Ihr ja als Herausforderung sehen und den Fehler mal selber suchen.
 
Bezüglich Excel mal an Beckhoff wenden. Es gibt ein Plugin für Excel mit dem man Events anlegen kann. Das Plugin hat zwar an einer Stelle eine Macke, ist aber wirklich sehr hilfreich.

Vielen Dank für den Hinweis. Ich zeige mal lieber nicht mein hemdsärmeliges Excel-Sheet, welches ich verwendet habe. Ich schreibe mal dem Support oder meinem Vertrieb.
 
Zurück
Oben