Step 7 OPC UA Server Historische Daten auslesen

Faon

Level-1
Beiträge
3
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,

ich hab eine SPS mit Visualisierung und dem ganzen Schnickschnack auf nem S7 Open Controller bei ner Anlage aufgesetzt und die funktioniert auch tadellos. Aktuell hab ich es auch hinbekommen einen OPC UA Server bzw. diese Funktion zum laufen zu kriegen und über einen Clienten (UA Expert) die PLC Variablen auszulesen und beschreiben zu können. Hierbei sollte ich noch die Funktion ergänzen, dass man über den UA Client Zugriff auf die historischen Daten hat. Unter dem Stichwort "OPC UA HDA Siemens" oder ähnlichen Sachen in google finde ich leider nur veraltete Beiträge und nichts brauchbares - daher meine Frage kurz und knapp:

Wie bewerkstellige ich bei nem S7-1500 Open Controller, dass ich über den UA Clienten die historischen Daten auslesen kann? Die Archivfunktion von WinCC RT Advanced habe ich bereits implementiert, diese Funktion soll allerdings um eben das HDA gedöns ergänzt werden.

Ich bin für jegliche Anregungen offen, auch wenn ihr alternative Lösungswege habt (vllt. über nen SQL-Server?). Bin da noch recht planlos.

Viele Grüße

Faon

Generelle Informationen:
-S7-1500 Open Controller
-TIA Portal V14, Step 7
-WinCC RT Advanced für Visualisierung verwendet
-OPC UA Server ansonsten vollständig funktionstüchtig
 
Musst du denn unbedingt OPC HDA anbieten/verwenden, oder wie kommst du darauf?

Du könntest vermutlich selber Daten archivieren, selber einen OPC-Server programmieren der diese Daten per OPC HDA zur Verfügung stellt. Aber das ist relativ aufwändig. Darum die Frage, warum historische Daten mit OPC?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Musst du denn unbedingt OPC HDA anbieten/verwenden, oder wie kommst du darauf?

Du könntest vermutlich selber Daten archivieren, selber einen OPC-Server programmieren der diese Daten per OPC HDA zur Verfügung stellt. Aber das ist relativ aufwändig. Darum die Frage, warum historische Daten mit OPC?

Warum genau mit OPC? Weil ich sowas zum ersten Mal programmieren und mir dachte. Hey, die habens echt simpel gemacht im TIA Portal nen OPC Server zu aktivieren, dann sollte es auch eine leichte Möglichkeit geben die Daten auszulesen, die im Betrieb angefallen sind und das einzige Stichwort, das ich dazu fand war eben HDA. HDA klingt für mich nachdem was ich suche.

Ansonsten habe ichs auch schon hingekriegt den OPC Server über ein Python Skript zu erreichen und die einzelnen Werte aus den Nodes abzurufen, damit kann ich dann eben das machen was du im zweiten Satz beschrieben hast.

Gibt's da wirklich keine einfachere Lösung? Das Problem muss doch in der Industrie ständig anfallen.
 
Ich vermute mal der angedachte Anwendungszweck von OPC HDA liegt oder lag in der Fernwirktechnik.
Also eine SPS beliebigen Herstellers ist abgesetzt von einer Zentrale ohne Verbindung und zeichnet Daten auf. Über einen OPC HDA Server können nun einheitlich die historischen Daten aus diesen Stationen ausgelesen werden, um diese dann lokal zur Langzeitarchivierung und zur weiteren Auswertung abzulegen. Ohne dass die Zentrale etwas davon wissen muss, in welchem Format die Stationen die Daten örtlich aufzeichnen.
Ich glaube nicht, dass es sozusagen als Standardschnittstelle zur Abfrage von lokalen Datenaufzeichnungen gedacht war. Das wird vermutlich funktionieren, aber es macht nur keiner. Vielleicht auch aus Performancegründen. Und es gab auch mal Zeiten in denen es keine offenen und kostenlosen OPC-Client Bibliotheken gab, und zu Fuß zum selber programmieren ist OPC leider nicht gerade einfach umzusetzen.
 
Ich vermute mal der angedachte Anwendungszweck von OPC HDA liegt oder lag in der Fernwirktechnik.
Also eine SPS beliebigen Herstellers ist abgesetzt von einer Zentrale ohne Verbindung und zeichnet Daten auf. Über einen OPC HDA Server können nun einheitlich die historischen Daten aus diesen Stationen ausgelesen werden, um diese dann lokal zur Langzeitarchivierung und zur weiteren Auswertung abzulegen. Ohne dass die Zentrale etwas davon wissen muss, in welchem Format die Stationen die Daten örtlich aufzeichnen.
Ich glaube nicht, dass es sozusagen als Standardschnittstelle zur Abfrage von lokalen Datenaufzeichnungen gedacht war. Das wird vermutlich funktionieren, aber es macht nur keiner. Vielleicht auch aus Performancegründen. Und es gab auch mal Zeiten in denen es keine offenen und kostenlosen OPC-Client Bibliotheken gab, und zu Fuß zum selber programmieren ist OPC leider nicht gerade einfach umzusetzen.

Okay, ich verstehe was du meinst. Ich könnte es so irgendwie zum laufen bringen, aber an anderer Stelle zu suchen wäre sinnvoller. Hast du zufällig eine Idee wie ich es hinkrieg die Daten, ähnlich/analog wie im Archiv vom TIA Portal die Daten online abrufbar zu machen? Die Webserverfunktion scheint auch nicht unbedingt das zu sein wonach ich suche - da auf den ersten Blick nur Aktualwerte weitergegeben werden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Bei den neuen Steuerungen gibt es auch noch die Datalog Funktionalität, einfach mal danach suchen, vielleicht ist das ja das was du benötigst.

Ansonsten musst du deine Daten mit deiner eigenen Anwendung in einem dir passenden Format wegspeichern. Das kann ganz einfach in Form z.B. von CSV-Dateien sein oder in einer SQL-Datenbank. Da bietet dir die TIA-Runtime auch verschiedene Möglichkeiten an, davon merkst du beim Abruf höchstens dass CSV etwas langsamer als RDB ist.

Entweder du kaufst dir was fertiges, oder du programmierst selber und musst dann auch selber überlegen was für dich am besten passt. Für eine Eigenentwicklung die du nicht jemand anderem zur Verfügung stellen musst oder später mal willst, wäre für mich OPC aber die letzte Schnittstelle die ich in Betracht ziehen würde, da zu kompliziert, Spezifikation nur als OPC-Mitglied einsehbar usw.
 
Zuletzt bearbeitet:
Hallo!
Unserer Erfahrung nach ist HDA nicht der schnelle und einfache Lösungsweg. HDA hat ja nie so richtig seinen Siegeszug angetreten und daher fehlt es auch an Clients. Zumal ich auch davon ausgehe, dass die S7 noch keine HDA Schnittstelle über UA zur Verfügung stellt. Aber dass die S7 schon OPC UA spricht ist ja die halbe Miete. Für uns wäre das eine Standardsituation in der wir die gewünschten Datenpunkte ganz einfach als OPC UA Client abrufen und in eine beliebige SQL Datenbank / Tabelle schreiben (s. Screenshot hier https://www.opc-router.de/1-plug-in-ms-sql-opc-router/ )

inray.de
 
Zurück
Oben