S7-1500 sehr große DBs auf Netzlaufwerk speichern (OPC UA, WinCC V7.4?)

ureinik

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

ich habe eine SPS, die diverse Abrechnungsdaten (Temperaturen, Ströme, Zähler etc.) sammeln soll (ca. 50 Werte alle 15min). Dazu kommen einige Handeingaben aus WinCC. Dann soll eine Energieberechnung aus den Werten gestartet werden.

In einem DB sollen jeweils alle Daten für einen Monat stehen. Entsprechend groß ist der DB natürlich.

Wenn der laufende Monat voll ist, soll automatisch ein Export der Daten des DBs in eine CSV-Datei erfolgen (wegen Datensicherheit auf einem Netzlaufwerk). Außerdem soll die SPS nach Eingabe des Jahres und Monats sich die jeweilige Datei auf Befehl jederzeit wieder in einen „Arbeits-DB“ laden können, um zB die Abrechnung nachträglich zu korrigieren, neu durchzurechnen, etc. (Und natürlich dann auf Befehl wieder abspeichern).

Die CSV sollte in Excel einlesbar sein und auch korrigierbar und in die SPS rücklesbar.

Folgendes habe ich schon überlegt:
-CSV-Export über WinCC V7.4 ggf als Rohdatentyp:
Fällt eher aus, da Zugriff auf optimieren DB nicht möglich ist, und bei nicht optimierten DBs max 64kb zulässig sind

-DataLogging in den Ladespeicher:
nicht rücklesbar bei Änderungen in Excel

-RecipeImport/Export:
Max. 5000 Bytes zulässig

-OPC UA:
Sieht mir bisher am vielversprechendsten aus. Ich bräuchte entsprechend einen OPC UA Client, der im Hintergrund auf einem Server/PC läuft und bei einem Befehl von der SPS die Daten des DBs über OPC abholt und in eine CSV exportiert. Idealerweise sollte er dann noch ein Quittierbit zurücksenden.

Außerdem müsste er bei einem Befehl von der SPS zum Rücklesen (zB mit dem Dateinamen als String, falls der Dateiname sich dann aus Jahr und Monat zusammensetzen lässt) die richtige Datei wieder importieren und in den DB schreiben.

Kennt ihr eine passende Software, idealerweise mit deutschem Vertrieb, oder habt andere Ideen?

Vielen Dank im Voraus
 
Ich würde im WinCC eine (bzw. 31) Rohdatenvariable verwenden, aber dann mit BSEND/BRECV. Dann könntest du für je einen Monat eine R_ID verwenden, und dann die Daten aktiv von der SPS schicken, Triggerbit setzen und dann von WinCC verarbeiten lassen.

Ich frage mich aber, wenn ein WinCC vorhanden ist, warum dann in der SPS speichern und nicht direkt im WinCC Taglogging?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das Problem ist daran, dass ich das ganze dann auf mehrere DBs aufteilen müsste, weil ich dann nicht optimierte DBs verwenden müsste, und diese ja auf 64kB begrenzt sind.

Würdest du die Rohdatenvariable dann im Skript in WinCC aufteilen und dann erst in die CSV exportieren, bzw. zusammensetzen beim Rückspielen in die SPS oder?

Wie wäre das ganze mit dem Rückladen der Monatsdaten in die SPS, bzw auch vor der Abrechnung sinnvoll lösbar, also das Laden der Daten eines Monats aus dem Taglogging in die SPS?

Müsste ich dann nicht auch den Archivierungszeitraum des gesamten TagLoggings quasi unendlich lang einstellen?
 
Dein Einsatzzweck ist mir nicht ganz klar, vor allem mit dem Rücklesen aus CSV zur Änderung wieder in die SPS. Da gibt es Programme die all das fertig können was du da vorhast, die auch nachvollziehbar protokollieren wenn Daten später verändert werden.

Wenn du das WinCC Taglogging verwendest, dann musst du üblicherweise in der SPS überhaupt nichts machen. Du hast 50 Variablen in der SPS, und die werden alle x Sekunden in der Datenbank gespeichert. Du kannst dann selber Verdichtungsarchive anlegen, z.B. Mittelwert über 15 Minuten aus den Sekundenwerten usw. Du legst die Archivdauer an je nach dem was du benötigst und wie viel Speicherplatz vorhanden ist. Aber der CSV Export aus dem Taglogging ist nicht ganz so einfach, zumindest nicht automatisiert in einem speziellen Format.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das Sammeln der Daten ist hier nur der 1. Schritt. Die ganzen Werte dienen dann diversen Energiebilanzrechnungen für interne Abrechnungszwecke.
Dafür sind noch ein paar Handeingabewerte nötig.

Das Rücklesen dient nur dem Zweck, falls im Abrechnungszeitraum mal zB wegen einer defekten Messung etc. Werte manuell korrigiert werden müssen. Dafür braucht es halt einen vernünftigen Tabelleneditor (Excel), weil das ganze doch etwas mühselig in TIA ist, wenn mal mehr Werte korrigiert werden müssen.

Ich freue mich auch über Tipps bezgl. alternativen Softwarelösungen.

Danke und VG
 
Ist zwar nicht ganz günstig, aber schau dir mal Acron der Firma Videc an. Stammt eigentlich aus dem Abwasserbereich, und besitzt dementsprechend umfangreiche Funktionen. Berichtserstellung, Graphen, Handeingabemasken, automatische Jobs zum Export als PDF, CSV mit E-Mailversand usw. Das kannst du beispielsweise an die Variablen des WinCC ankoppeln. Es werden die Daten dann in einem Intervall erfasst, und dann weitergehend je nach Einstellung komprimiert, zu z.B. 15 Minuten, Stunden-, Tages-, Wochen- Monats- und Jahreswerten.
 
Wenn man beim Programmieren von SPS an irgendwelche Systemgrenzen kommt, dann liegt das meistens daran, daß das was man da machen will, gar nicht Aufgabe einer SPS ist. Mein Tipp: Mache die Datenhaltung und Verarbeitung und ggf Manipulation/nachträglich Ändern mit einer Datenbank auf einem richtigen PC.
 
Zurück
Oben