# S7-Daten schnell aufzeichnen und anzeigen



## Günni1977 (25 März 2010)

Hallo an alle hier,

ich musste neulich auf einer Anlage einen Fehler suchen und habe dazu mit WinCC flexible ein kleines Programm geschrieben, das mir ein paar Variablen aus einer S7 liest und diese grafisch anzeigt. Das ganze lief recht gut und war für das Problem ausreichend.

Dadurch habe ich mich mit diesem Thema beschäftigt. Leider ist ja die Aktualisierungszeit der Variablen mit 100ms sehr gering. Auch Bit-Variablen kann man nicht einfach in einer Kurve anzeigen. Für lange Messungen muss man ein Archiv anlegen,...

Es gibt ja Software wie "SPS-Analyser" oder "WinPLC-Analyser". Gibt auch irgendeine Möglichkeit, sowas möglichst kostenlos zu realisieren? Oder kann das WinCC flexible auch und ich weiß nur nicht wie?

Ich brauch jetzt nicht dringend eine Lösung, mich interessiert es nur und vielleicht brauche ich es ja irgendwann doch mal... 

MfG Günni


----------



## marlob (25 März 2010)

Du könntest dir einen Ringpuffer in der SPS schreiben, den du dann regelmässig mit WinCC flexible oder so ausliest.
Libnodave wäre auch eine Möglichkeit.
Hier im Forum gibt es auch schon das ein oder andere Beispiel dazu.


----------



## JesperMP (25 März 2010)

Ja das kann WinCC Flex.
SPS speichert die Daten mit eine Schnelle Takt, z.B. 10 ms.
HMI zeigt die gespeicherte Daten als eine Kurve wenn die Daten bereit sind.

Schau dir mal die "buffer bit triggered" Kurven an. (Es heisst etwas anders auf ein Deutsch-Sprachiges Flexible Installation).


----------



## Günni1977 (25 März 2010)

Danke für die Antworten. Mit Ringpuffer und bitgetriggerten Kurven hab ich mich auch schon beschäftigt. Ich hätte halt nur gern ne Lösung, ohne das S7-Programm "anzufassen".

Libnodave hab ich auch oft gehört, aber noch nie wirklich verstanden, was das genau ist und kann...

Trotzdem danke, vielleicht finde ich ja noch was anderes...


----------



## Larry Laffer (25 März 2010)

Hallo,
ein seperates Programm hat mehr oder weniger die gleichen Probleme, wie dein Flex jetzt auch - die Daten müssen erstmal von der SPS zum Programm. Darüber hinaus würde es zusätzlich durch die schon laufende Kommunikation der vorhandenen Visu belastet.
Wenn du also etwas schnelles brauchst, so ist der Weg, den dir Marlob und Jesper (und auch ich hätte dir das so empfohlen) genannt haben, schon der richtige Weg ...

Gruß
LL


----------



## S7_Programmer (25 März 2010)

Hallo,

wenn an der SPS-CPU ein CP343-Ethernet verfücgbar ist, könntest Du die Variablen in String umwandeln und dann über TCP auf einen PC schicken.
Habe ich schon gemacht.
Auf dem PC habe ich mit PHP (winscockfunktionen) die Daten aufgenommen und in eine MySQL-Tabelle verfrachtet.
Die Tabelle kann man dann weiterverwenden, eventuell in Excel Graph erzeugen, oder mit PHP-Funktionen über Internetbrowser graphische Anzeige und so weiter...
Ging ganz gut, kamm teilweise auch unter 50ms.
Das Ganze ist komplett OpenSource.

Ich hoffe, Dir hiermit einen weitern Denkanstoß gegeben zu haben.

Weiterhin viel Erfolg!
S7_Programmer


----------



## JesperMP (25 März 2010)

Selbst wenn man 10 ms (oder 50 ms)  Datenerfassung auf den PC konfigurieren wurde, beommt man nicht genau 10 ms (oder 50 ms) Takt.
Das kann nur den SPS, und nur mit ein Zeitgesteuerte Interrupt.


----------



## S7_Programmer (25 März 2010)

Hallo,

es kommt halt darauf an, wie man das Senden über TCP zum PC organisiert!
Ich hatte den Vorteil, aus anderen Projekten eine Warteschlange zu kopieren, sodass nicht bei jeden Sendevorgang der Abschluß abgewartet werden mußte. Das Eintragen in die Warteschlange kann man dann in einem zeitgesteuerten Interrupt-OB gestalten (das brauchte ich noch nicht).

Ich weis, dass es auch unzählige andere Möglichkeiten gibt, die Daten aus der SPS auszulesen. Die von mir genutzte Warteschlangenversion über TCP ist  auch SPS-speicherintensiv ist, aber openSource kann man auch mal mit gutem Gewissen dem Kunden hinterlassen und keiner fragt nach Lizenzen und so...


mit freundlichen Grüßen
S7_Programmer


----------



## S7_Programmer (25 März 2010)

Hallo,

da ist mir nochwas eingefallen....

Ich habe PHP und MySQL von XAMPP. Das kann man ohne Installation auf (fast) jeden Windowsrechner vom USB-Stick starten (bei mir gings bisher immer, hoffentlich bleibt das auch so!) 

Gruß
S/_Programmer


----------



## Perfektionist (25 März 2010)

Günni1977 schrieb:


> ... Ich hätte halt nur gern ne Lösung, ohne das S7-Programm "anzufassen".
> ...


davor hätte ich nicht prinzipiell Angst. Es sei denn, dass das Programm aus einer Hand stammt, deren Programmierstiel mir irgendwie sehr fremd vorkommen würde. Oder wenn ich weiß, dass die Zykluszeit keine weitere Belastung zulassen würde.


----------

