DatenLogger

kammi-kaze

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

ich bin neu hier, ein absoluter S7-Anfänger und habe gleich ein richtig übles Problem. Ich würde mich wahnsinnig freuen, wenn mir jemand helfen könnte - und zwar so daß jeder Trottel (z.B. auch ich) es verstehen kann...
Ich habe zwar schon mit CoDeSys und Schneider Unity Pro gerabeitet, aber mit S7 komm ich keineswegs klar.

Ich schreibe meine Diplomarbeit über ein Energiemanagement einer Wärmebehandlungsanlage. Leider bin ich zum Entschluss gekommen, daß die Informationen über aktuelle Leistung und Co mir aktuell nicht ausreichen, da diese im Sekundentakt im InTouch als Trends dargestellt werden. Ich brauche auch Infos über Schaltspitzen und schnelle Lastwechsel. Wie bekomme ich diese Daten aus der SPS auf meinen Rechner (für Excel), mindestens alle 50ms oder schneller?

Kann ich die Werte der Variablen Taktgesteuert in einen DB schreiben, zusammen mit der aktuellen Systemzeit? Wenn ja, wie komm ich dann daran? Kann ich irgendwie Exportieren??

Bitte, bitte helft mir. Der Erfolg meiner Diplomarbeit hängt entscheidend davon ab...

Ich wünsche euch ein schönes Wochenende und hoffe, jemand hat dazu eine Idee.

Herzlichen Dank schonmal

Gruß
Sascha
 
Zuviel Werbung?
-> Hier kostenlos registrieren
sorry ...ich versteh nur nicht dass man mit einer entwicklungsumgebung mit der man noch nie was zu tun hatte eine diplomarbeit macht....

um wievile werte handelt es sich?

grüsse
 
Kann ich die Werte der Variablen Taktgesteuert in einen DB schreiben, zusammen mit der aktuellen Systemzeit? Wenn ja, wie komm ich dann daran? Kann ich irgendwie Exportieren??

Der o.g. Weg ist aus meiner Sicht die einzige Möglichkeit, die besteht, wenn du schneller als Sekunden-Takt aufzeichnen willst.
Der Ansatz wäre hier der OB35 (hierzu auch Suche benutzen - da gibt es eine Menge Info). Für diesen OB kannst du das Aufruf-Intervall festlegen. 50 ms wäre überhaupt kein Problem - schneller ist auch ohne weiteres machbar.
Ich würde hier so vorgehen, das du das Datum und die Uhrzeit beim "Start Messung" in deinen DB schreibst und von da an nur noch die Werte. Da der OB ja ein festes Intervall hat (das er auch einhält), kannst du dir zu jedem der Werte die Uhrzeit dann in der Visu jeweils ausrechnen.
Hier ist aber von entscheidender Bedeutung (siehe auch Beitrag von Funkdoc), dass du dir im Vorfeld über die Anzahl der Mess-Werte im Klaren bist. Eine zu hohe Zahl von Messwerten ist hier auch nicht sinnvoll, da alle diese Werte ja auch zur Visu übertragen werden wollen. Ich würde an dieser Stelle versuchen unter 1000 * INT zu bleiben.

Gruß
LL
 
Frage:
da diese im Sekundentakt im InTouch als Trends dargestellt werden. Ich brauche auch Infos über Schaltspitzen und schnelle Lastwechsel. Wie bekomme ich diese Daten aus der SPS auf meinen Rechner (für Excel), mindestens alle 50ms oder schneller?

Meine Antwort:
Hast du erfahrung mit InTouch (S7DIRECT-Treiber usw.)...
Hier könntest du direkt auf nen DB zugreifen der natürlich mit Werten,
für Messwerte evt. REAL gefüllt wird.


Frage:
ann ich die Werte der Variablen Taktgesteuert in einen DB schreiben, zusammen mit der aktuellen Systemzeit? Wenn ja, wie komm ich dann daran? Kann ich irgendwie Exportieren??

Meine Antwort:
Hab genau das "problem" in SCL versucht zu lösen, bin ganz positiv davon überzeugt.
Falls Interesse besteht (SCL-Programmierung) melde dich...
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Da Du ja Deine Daten zu einem PC senden möchtest, benötigst Du zu allererst ja mal eine Verbindung zur PC Welt. Ich persönlich bevorzuge da immer die Kombination von S7 + TCP/IP-CP. Der CP kostet natürlich ein paar € (ab 800), dafür kann ich dann jeden PC oder Laptop dranhängen. Außerdem müssen auf dem entsprechenden PCs keine Treiber installiert oder Fremdhardware angehängt werden.

Die S7 sendet dann zyklisch (oder auf Anfrage, wie auch immer..) die Daten an den PC. Deine Anwendung auf der PC Seite mußt Du dann aber selber programmieren.

Infos über die genaue Geschwindigkeit könnte ich Dir erst morgen geben, dazu müßte ich mal in eine Anlage reinsehen und die Werte mal ansehen.
 
hallo,

vielen Dank für eure schnelle Antworten.

Ich habe das Thema Energiemanagement gewählt ohne zu wissen, daß ich dabei so tief in die Steuerung eingreien muß - ich dachte mit der Begrenzung/ Vorgabe von Sollwerten, Synchronisation der Anlagen und ein paar Verriegelungen sei es getan...

Zum Thema Datenmenge: Ich müßte schon so einiges mitschreiben. Gesamtstrom (am besten alle 3 Phasen, eine würde aber auch schon reichen), Strom einer Einzelanlage (am besten jedoch alle 6), dazu noch die Temperatur und den Druck
Also im Idealfall sollten es schon ~= 10 Werte (mindestens 3) sein. Die Dauer der Aufzeichnung sollte ca 3h sein. Und der Takt so schnell wie möglich.

Es muß keine Dauerhafte Verbindung sein, das Format der Daten ist erstmal egal, nur aufs PG, egal wie. Zur Zeit wird die verfahrenstechnische Inbetriebnahme gemacht, dabei könnte ich meine Daten einfach mitloggen. Somit sind mir die Hardware-Kosten egal, das PG wird via TIP/IP angeschlossen.

@AdminThomas:
Nein, ich habe keine Erfahrung mit InTouch. Aber es gibt im Haus Intouch-Programmierer, die mir da sicher bissl helfen können.
Deine Lösung in SCL würde mich brennend interessieren, wenn sie auf mein Problem anwendbar ist.

Liebe Grüße
Sascha
 
Hallo,
hier haben wir nun den Widerspruch schlechthin ...
Große Menge an Daten über längeren Zeitraum ...
und
Schnelle Abtastrate ...

Du wirst dich für eins entscheiden müssen ...

Ob nun Intouch oder WinCC oder sonstwas ... die maximale Abtastrate der Werte von der SPS wird von der Kommunikation festgelegt - bei Intouch der IO-Server. Der Intouch Datenlogger ist nicht schlecht, aber schneller als 1 Wert / Sekunde brauchst du gar nicht erst zu versuchen.
Wenn du schneller aufzeichnen willst, dann geht das nur in der SPS und du hast dann dann das Problem der max. DB-Größe und der Übertragungszeit der Werte zum PC. Wie ich schon sagte ist es nicht sinnvoll, dort über eine bestimmte Menge hinaus zu gehen ...

In diesem Zusammenhang stellt sich für mich die Frage, warum du Strom- und Spannungswerte so schnell aufzeichnen willst ... Ich bin zwar normalerweise kein "Warum"-Frager, aber in diesem Fall muss ich das einfach mal erwähnen ...

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
in deinem fall (10 werte pro datensatz) ist es eigentlich sinnvoll die daten über per Visu (intouch) zu archivieren.

über TCP/IP würd ich nicht weniger als eine auflösung von 100ms wegen der latenzzeiten einstellen (lokales firmennetz).
3h und eine auflösung von 100ms ergibt 108.000 datensätze für puffer
in einem datensatz sollen dann noch 10 arrys sein...

das ist ne menge an daten

dein weg sollte wirklich zuerst mal zu den intouch profis sein...
die können dir da mit der arvhivierung per Visu weiterhelfen.
wir können dir beim laden des datensatzes zum pc helfen...

edit OPC wäre auch eine lösung

grüsse
 
Zuletzt bearbeitet:
Wenn Du z.B. alle 50ms 10 Werte einsammeln müßtest, wären das 200 Werte pro sek. Selbst im ungünstigsten Fall mit 4 Byte pro Wert (Real oder DINT) wären das gerade mal 800 Byte pro Sekunde. Wenn Du nicht Wert darauf legst, unbedingt alle 50ms ein Telegramm zu senden, sondern beispielsweise immer eine Sekunde lang sammelst und die Daten dann als "Datenblock" versendest, sollte das kein Problem darstellen.

Das wegschreiben dieser Daten auf der Pc Seite auch nicht. Solltest Du ein wenig (oder ein wenig mehr) PC-Programmierung beherrschen, solltest Du das innerhalb von ein paar Tagen fertig haben können.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Laß mich überlegen....

Ja.

:ROFLMAO:


Jetzt aber mal ohne Flachs:

Pro Sekunde ein Telegramm mit 1kb Länge abzusetzen ist kein Problem.
Das Entgegennehmen der Daten auf der PC-Seite auch nicht. Ich würde dann die Daten in einer Textdatei abspeichern (CSV-File) was ich dann mit Excel einlesen kann. Das direkte Excel Format habe ich noch nie versucht, und ich weiß auch nicht ob das "von Hand" so einfach zu programmieren ist.
Wenn man sich für diesen Weg entscheidet, muß man noch darauf achten, das die Daten abwechselnd in zwei DBs gespeichert werden sollten, damit die Daten nicht inkonsistent werden. Man weiß ja nicht, wie weit die Daten schon aus dem DB ausgelesen und gesendet wurden. Also in DB1 schreiben, aus DB2 senden und umgekehrt.
 
... wir wollen die Daten aber nicht nach Excel verschieben, sondern in ein Intouch Log-File. Das ist ein kleiner Unterschied. Außerdem ... meinst du das Excel 40 x 3600 x 3 x 10 = 4,32 Millionen Datensätze aufnehmen kann ...
 
Hmmm...
Ich hatte gelesen:

"Es muß keine Dauerhafte Verbindung sein, das Format der Daten ist erstmal egal, nur aufs PG, egal wie. Zur Zeit wird die verfahrenstechnische Inbetriebnahme gemacht, dabei könnte ich meine Daten einfach mitloggen. Somit sind mir die Hardware-Kosten egal, das PG wird via TIP/IP angeschlossen"

200 Werte/s * 3600s = 720.000 Werte.

Selbst wenn ich für jeden Wert in meiner Textdatei 10 Chars (123456789.0) verwende, komme ich pro Stunde gerade mal eine Datei von knapp über 7 Mb zusammen. Am Tag also gerade mal rund 170 MB. Das ist nichts für einen PC.

Vom Datenaufkommen her sollte sich das also einfach machen lassen. Was
mit dem Intouch-Log-File ist (oder was das überhaupt ist :confused: ) kann ich leider nicht sagen.
 
Servus nochmal,

ich möchte im Excel garnichts aktualisieren. Und auch keine RealTime-Visualisierung oder ähnliches. Ich brauch auch nicht jede Sekunde ein Telegramm.
Mir würde es reichen, möglichst schnell in der SPS mitzuschreiben und dann irgendwann und irgendwie die Daten auf den PC zur Bearbeitung und Auswertung zu übertragen. Mit ist auch egal, wie lang diese Übertragung dann dauert. Muß nur rüber.

Gruß
Sascha
 
kammi-kaze schrieb:
Wie bekomme ich diese Daten aus der SPS auf meinen Rechner (für Excel), mindestens alle 50ms oder schneller?
da hattest du noch was anderes vorrausgesetzt

du musst wie schon erwähnt von grubba datenblöcke versenden.
dazu brauchst du nur einen DB mit der anzahl der datensätze.
mit SFC20 verschiebst du alle 10 - 50ms den ersten datensatz des blocks auf den nächsten datensatz. vorher musst du die messwerte in den ersten schieben.

grtz
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Oh sorry,
da hab ich wohl Schrott geschrieben. Tut mir leid.
Also wie eben schon geschrieben: Die Übertragung muß nicht im Takt erfolgen, nur irgendwie rüber.
Wie kann ich die Daten denn dann aus dem Datenbaustein rausholen (exportieren oder sowas?)
 
am besten (wie schon erwähnt) mit hilfe der visu und deiner intouch kollegen.
die visu hat ja schon die kommunikationstreiber...

grüsse
 
Schade, dass ihr alle nicht lesen könnt ...
Ich bin mal gespannt, was dabei herauskommt.

@Kammi-Kaze:
Du wirst dir schon auf die einme oder andere Weise eine RT-Visu bauen müssen. Mal sehen, wie weit du da so kommst. Das was du da haben willst wird von InTouch nicht unbedingt unterstützt - kann aber sein, dass man es in Intouch programnmieren kann. Viel Spaß dabei ...
 
Zurück
Oben