TwinCAT HMI / TE2000 / Datenerfassung

tKJ

Level-2
Beiträge
16
Reaktionspunkte
5
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo TwinCAT-Gemeinde,

Ich bin aktuell am evaluieren, welche Art der Maschinendatenerfassung für uns die beste ist, bzw. ob es eine für mich eierlegende Wollmilchsau gibt :)

Erfahrung habe ich mit Inosoft VisiWin, wo problemlos ca. 100 Datenpunkte sekündlich für 30 Tage (dateibasiert) gespeichert werden können.
Die jeweiligen Trend-Controls laden jeweils 10 Datenpunkte - man kann 24h-Intervalle in sekundenschnelle durchklicken.

Problematisch ist hier der nicht vorhandene externe Zugriff auf Daten, so zeichnen wir parallel mittels Python (pyAds) auf, damit lesbare Daten zur Analyse abseits der Anlage zur Verfügung stehen. Ein Export in der VisiWin-Runtime in eine Datenbank wäre lt. VisiWin machbar, wurde aber bis dato nicht implementiert.


Nun baue ich erste Projekte mit TwinCAT Hmi, wo ich am liebsten mit onboard Möglichkeiten die Daten vorzugsweise in einer lokalen Datenbank speichern möchte, die auch (lesenden) Zugriff von außen zulässt.
Der Teil wäre vermutlich mit TF6420 (Database Server) machbar, allerdings hab ich keine Möglichkeit gesehen, die Integration ins TcHMI zu machen?

Mittels TcHmiSqliteHistorize ist natürlich die HMI-Sache kein Problem, allerdings scheint der Rest der Anforderungen kaum möglich zu sein.

TF3300 (Scope Server) könnte nach meiner Recherche Headless aufzeichnen und es gibt eine Integration ins TcHMI -> Hier bin ich unschlüssig, ob der für die 24/7 Aufzeichnung über längere Zeit geeignet ist.
Zugriff von außen könnte lt. Doku zumindest durch Export in z.B. CSV funktionieren.


Bevor ich alles durchprobiere hoffe ich, dass es jemanden mit Erfahrung in dem Bereicht gibt, der mir eine Empfehlung geben kann.
Danke im Voraus!
 
Hallo tKJ,

also ich habe den TcHmiSqliteHistorize getestet, funktionierte in meinem Fall nicht so gut.
Ist ziemlich langsam, und wenn mehr Daten zusammenkommen, werden diese Teilweise nicht angezeigt.
Ich habe mir eine InfluxDB und Grafana angelegt, ich speichere wie ihr auch, die Daten mit einem PythonSkript per ADS in die Influx DB.
Anschließend habe ich mir die Daten in Grafana Visualisiert, und die Dashboards in der TF2000 angezeigt.
Funktioniert dann problemlos mit dem Iframe.

Sg, Hawk
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Erfahrung habe ich mit Inosoft VisiWin, wo problemlos ca. 100 Datenpunkte sekündlich für 30 Tage (dateibasiert) gespeichert werden können.
Die jeweiligen Trend-Controls laden jeweils 10 Datenpunkte - man kann 24h-Intervalle in sekundenschnelle durchklicken.

Problematisch ist hier der nicht vorhandene externe Zugriff auf Daten, ....

Hast Du schon mal direkt mit den Leuten von Inosoft gesprochen? Ich werwende VisiWin sozusagen dadruch, weil es
Bestandteil von Nexeed ist. Dort leistet es gute Dienste. Ich kann mir gut vorstellen, das man mit den Leuten reden kann.
Ggf. gibt es eine Lösung.
 
Hast Du schon mal direkt mit den Leuten von Inosoft gesprochen? Ich werwende VisiWin sozusagen dadruch, weil es
Bestandteil von Nexeed ist. Dort leistet es gute Dienste. Ich kann mir gut vorstellen, das man mit den Leuten reden kann.
Ggf. gibt es eine Lösung.
Wir wollen aus diversen Gründen (nicht vorhanden Kompatiblität zwischen Versionen, kein Support älterer Versionen, Kosten, Komplexität im Engineering) weg von Inosoft - ich habs nur als Beispiel für die Datenaufzeichnung genommen :)

Hallo tKJ,

also ich habe den TcHmiSqliteHistorize getestet, funktionierte in meinem Fall nicht so gut.
Ist ziemlich langsam, und wenn mehr Daten zusammenkommen, werden diese Teilweise nicht angezeigt.
Ich habe mir eine InfluxDB und Grafana angelegt, ich speichere wie ihr auch, die Daten mit einem PythonSkript per ADS in die Influx DB.
Anschließend habe ich mir die Daten in Grafana Visualisiert, und die Dashboards in der TF2000 angezeigt.
Funktioniert dann problemlos mit dem Iframe.

Sg, Hawk
Verwendest du die Grafana Integration im Maschinenbau mit Zugriff durch den Maschinenbediener?
Wie wird denn das angenommen? - Bzw. fällt dem Kunden auf, dass hier eine OpenSource-Lösung ins HMI eingebettet ist?
 
Also ich verwende Grafana nicht im Industriellen Bereich.
Das System läuft bei mir zuhause um Daten von PV, Wärmepumpe, Wetterdaten etc. zu sammeln.

Ich arbeite in der Automotive Branche, und kann sagen, dass hier sehr oft Grafana benutzt wird z.B. in den BMW Werken.

Ich denke nicht, dass Maschinenbediener dies stört oder kritisiert wird.
 
Ich bin gerade auch an dem Thema Datenerfassung dran.

Nutze auch die TE2000. Meine Anforderung wäre aber erst einmal nur, dass das Starten und Stoppen der Erfassung aus der HMI getriggert werden soll, viel mehr soll man da (erst mal) nicht unbedingt machen können.

Mit der eigentlichen Datenerfassung selbst sollte eine HMI (egal welche) meiner Meinung nach eh nie etwas zu tun haben.

Und da alle Kunden zwar die Daten haben wollen, die meisten aber keine Tools haben um sie auszuwerten soll das ganze auch noch in .csv-Dateien geschrieben werden können.

24/7-Aufzeichnung kann kundenspezifisch kommen, ist aber nicht immer gefordert.

Ich hatte dann zwei Tools in der engeren Auswahl.
  1. Scope Professional
  2. TcAnalytics (Analytics Logger und Analytics Storage Provider)
Aktuell versuche ich zunächst mal TcAnalytics ans Laufen zu bringen, da mir das ganze etwas moderner erscheint und verschiedene Datei- (und Dateinbank-) Formate unterstützt.

Lizenzkosten sind recht ähnlich und halten sich im Rahmen (solange man keine weiteren Produkte der Analytics-Familie braucht).

Ein Applikationsingenieur von Beckhoff unterstützt mich gerade dabei, da das doch nicht so einfach ist wie zunächst mal gedacht. Scheinbar bin ich der erste, der versucht damit zu arbeiten. Wir haben jetzt schon ein paar Bugs gefunden, die GUIs etwas bedienfreundlicher gemacht, wahrscheinlich klappt es dann mit dem nächsten Update.

Aber irgendwie hat man in dem ganzen Workflow gefühlt 10 unterschiedliche Programme und Tools, die man alle irgendwie zusammenbringen muss.
Und gefühlt heißt jedes Ding in jedem Programm anders (Ich habe im Configurator einen "Host Message Broker", einen "Data Message Broker", bei beiden kann ich einen "Alias" eingeben. Wenn ein entsprechendes Häkchen gesetzt ist, dann ist der "Host Message Broker" exakt identisch zum "Data Message Broker". Warum ich dann bei beiden Änderungen machen darf erschließt sich mir nicht. Außerdem ist es auch kein richtiger Alias, denn wenn ich den Alias ändere, dann ändert sich auch direkt das Feld mit der Anzeige des Namen des "Data Message Broker". Im Manager hingegen muss ich jetzt einen "Data Message Broker" auswählen. Hier steht wieder nichts von Alias, obwohl ich den Text auswählen muss, den ich beim Configurator im Feld Alias eingegeben habe. Im Configurator muss ich dann auch noch einen "Provider Alias" angeben, im Manager einen "Storage Provider" auswählen (Tipp: Das ist dasselbe, heißt nur anders). Ein Storage hingegen hat dann wieder keinen Alias, sondern einen "Storage Name")
Dann wird die ganze Zeit wild mit irgendwelchen IDs um sich geworfen, die man irgendwo aus den tiefen des Systems ausgraben muss.
In der XAE gibt es dann dieselben Fenster noch mal, nur kann man da mit dem Configurator leider nix anfangen, da der im Admin-Modus gestartet werden muss.
Wenn man ein weiteres Fenster öffnen will (weil man weiß, dass es das irgendwo gibt), ist man die ganze Zeit am Rätseln, wo in der Baumstruktur denn jetzt ein Rechtsklick geht, und wo nicht.
Und irgendwann, zwischen all den modern gestalteten Abläufen, kommt man dann auf ein Fenster, dessen GUI in den 80ern entwickelt wurde.

So langsam glaube ich aber zu wissen, welche Texte in welche Felder eingetragen werden müssen.

Das CSV-Dateien schreiben funktioniert auch schon mal grundsätzlich (mittlerweile können sogar Daten von mehreren SPS-Tasks gemerged werden), aber happy bin ich damit auch noch nicht.
In der Konfiguration des Stores kann ich den "Folder Path" angeben.
1741011169126.png

Und wenn ich einen Pfad für csv-Dateien angebe, dann hätte ich es auch ganz gerne, wenn Beckhoff mir die Dateien auch dort ablegt. Das Produktmanagement ist hingegen der Meinung, dass dieser Pfad doch auch ganz nett wäre:
1741011259627.png

Und natürlich ändert es mit jedem Trigger eine fortlaufende Zahl (hier: 6), was bedeutet, dass jede Datei in einem anderen Ordner landen wird.

Nächste Woche werde ich es mal mit einer Influx-DB versuchen, mal gespannt welche Ordner-/Tabellenstruktur sie sich da einfallen lassen

Positiv ist zu berichten, dass die Doku oft schon von einer neueren Version ist, als das Programm selbst (was nichts über die Qualität der Doku aussagt).
 
Ich bin mit der Scope Anzeige von TE2000 auch schon verzweifelt.

Meine Anforderung war/ist es ein getriggert Ereignis anzuzeigen. Geplant war deswegen TE2000 mit TF2300 HMI Scope.
TF2300 importiert die Settings eines TwinCAT Scope Projekt. Ignoriert aber komplett die Trigger Ereignisse.

Total bescheiden. Also alles wieder in den Müll und dann mit ChartJs (ist nicht so riesig wie Grafana) was gebaut und die Daten erstmal in der SPS vorgehalten.

Mir wurde für mein Problem dann auch TcAnalytics vorgeschlagen. Aber bei der Vorstellung und Sichtung der Doku schien mir das doch sehr komplex. Wie @PatrickSt ja gut beschrieben hat.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke @PatrickSt für die ausführliche Beschreibung.
TCAnalytics ist mir auch die Tage untergekommen - ich bin grad froh, dass ich mir den "schnellen" Test fürs erste Sparen kann ;)

Die SQLite-DB von TcHmiSqliteHistorize kann man btw lesen, die Zuordnung von Variable zu den Werten erschien mir aber nicht anhand der Datenbank erklärbar -> Bei meinen zwei Testvariablen wars jetzt nicht so schwer, einen Automatismus (um die DB z.B. 1 x pro Tag wegzusichern) kann ich aber nicht davon ableiten.

Ich werde wohl in den kommende Tagen den Export per TF6420 in eine InfluxDB probieren und schauen, wie weit ich komme :)
 
Zurück
Oben