TIA Datalogger für S7 1518-F 4 PN/DP

Mathia

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

Ist es möglich, Zyklisch1 kB von Daten von S7 1518F-4PN/DP-Zyklus Genau (5 ms) zu speichern und die Daten aus dem SPS-Speicher zu einem externen Server übertragen ?

Vielen Dank im Voraus
 
bei 1kb/5ms ergibt das nach 1h ca. 700MB Daten

die SPS "könnte" das noch schaffen aber was soll denn diese Datenmenge auf der PC Seite aufnehmen - ein normaler SQL-Server schluckt die Menge/Rate nicht wirklich gut

also erzähl mal was auf PC-Seite mit den Daten passieren soll

und mit welcher Zykluszeit arbeitet deine SPS?
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Willst du 1kB/5ms 24/7 loggen ?
Ich schlage diese Produkt vor, PLC-SQL Link:
http://www.plcsql-link.com/
Es ist kürzlich für S7-1500 freigegeben.
Es ist wesentlich mehr performant als eine Lösung über OPC. Ob es zu deine Forderungen passt weis ich nicht. Vielleicht kannst du ein trial ausprobieren. Das ergebniss wurde mich interessieren.
Kostet 2000 € Pro Lizenz (!).

Wenn du nur 1kB/5ms für 10 Minutten loggen willst, oder ähnliches, dann gibt es vielleicht andere Lösungen.
 
Hallo,

Hallo,
max Zykluszeit beträgt zwischen 1-5ms.
Nachdem die Daten in die SPS-Speicher abgespeichert sollte, die an einen externen PC oder Server jede 1 min oder weniger gesendet werden. Die Protokolldaten werden später für die Fehlersuche verwendet.
Ich benutze Tia portal v13...update5.
Wissen Sie, wie um alle Daten innerhalb der Zykluszeit zu speichern. ?? Ist es möglich? Könnten sie mier bitte ein Beispiel geben?

Danke
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nachdem die Daten in die SPS-Speicher abgespeichert sollte,

du "pufferst" die Daten also schon noch zusätzlich irgendwo in der SPS?
oder sprichst du von den Originaldaten?

die an einen externen PC oder Server jede 1 min oder weniger gesendet werden.

was ist auf dem Server/PC das die Daten verwendet - wo landen die Daten auf dem Server/PC genau - welche Software/System?

Wissen Sie, wie um alle Daten innerhalb der Zykluszeit zu speichern. ?? Ist es möglich? Könnten sie mier bitte ein Beispiel geben?

ich hoffe dir ist klar das du für sowas nicht einfach ein Beispiel finden wirst

noch dazu sind das relativ grosse Datenmengen die auch nicht mal eben so zu verarbeiten sind - ist dir das klar?

Was ist dein Hintergrund: welche Erfahrung in SPS und PC Programmierung hast du? Es hört sich so
als hättest du sowas noch nie gemacht
 
Hallo,

Gemäß diesem Beispiel werden die Daten in den Speicher der SPS gespeichert werden. Ich glaube der Live-Aufnahme und Speicherung in einem PC / Server wird nicht so einfach sein wen man Ethernet benutzt.

https://support.industry.siemens.co...s7-1200-and-data-log/57715?page=0&pageSize=50

Ich dachte, wenn es möglich sein wird, diese Daten irgendwo anders zu übertragen, so dass der Speicher nicht voll zu bekommen. Auch bin nicht sicher of das program alle daten in zyklus genau speichern kann.

und ja, ich bin neue in der club :D
 
und ja, ich bin neue in der club :grin:

was bedeutet das - kannst du schon was oder bist du absoluter Anfänger?

Ich glaube der Live-Aufnahme und Speicherung in einem PC / Server wird nicht so einfach sein wen man Ethernet benutzt.

Ethernet ist nicht dein Problem - eher die SPS oder der PC - wobei du immer noch nicht gesagt hast was mit den Daten auf dem PC passieren soll - welche Software?

ich denke deine Datenrate ist einfach zu gross 1kb in 5ms Rate ist ziemlich viel - warum denn so häufig, und warum 1kb?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Es gibt mit S7-1500 den Möglichkeit Daten auf den SD Karte zu speichern,
Siehe hier: https://support.industry.siemens.com/cs/ww/de/view/59193101/48261093003
Keine Ahnung ob es Performant genug für deine Anwendung ist.

1kB/5ms gibt eine grosse Menge Daten. Wie LowLevelMahn stoltze 700MB/h, oder 16.875 GB pro Tag.
Sicherlich willst du nicht solche Mengen konstant abspeichern.

Eine Idée: Anstatt bloss ständig auf das Flashkarte abzuspeichern, dann z.B. 1 MB RAM Speicher reservieren um Daten in ein Ringpuffer abspeichern.
Wenn dann ein Fehler auftritt, kannst du diesen Puffer auf das SD Karte abspeichern.
1 MB ist dann nur 5 Sekunden.
 
Hallo LowLevelMahn,

Dies ist ein Studienprojekt. Eine Maschine im Betrieb simuliert wird.
Ich brauche diese Daten, um herauszufinden, was an einem Punkt in der Zeit passiert ist. Von dem Eingang hat der Ausfall kam. Dies wird nicht genau 1 kB sein, aber ca 0.5-1kB. Fuer das, muss ich die Daten in jedem Zyklus zu speichern. Wenn die Daten zb im .csv-Dateiformat wird für die Auswertung verwendet werden. Wie? Eine weitere Software sollte für die Nachbearbeitung geschrieben werden. Z.b in C-Sprache. Aber das ist der nächste Schritt.
Die ursprüngliche Idee war, den spsanalyzer Pro 5 von autem verwenden, aber es kann diese Datenmenge Zyklus genau nicht zu speichern. Die andere Option war Iba PDA, aber es ist sehr teuer.

@Jesper, das ist auch eine gute idee. danke
 
Ich glaube nicht so Recht daran, dass man diese Datenmengen so schnell wegbekommt.
Könnte mir vorstellen, dass man eine Soft-SPS laufen läßt und dann aus dieser die Daten direkt ausliest.
Kann man eigentlich PLCSIM mit echter Hardwareperipherie laufen lassen? Auch da kommt man evtl. dann an die Daten ran.
I-Device-Anbindung könnte man ja auch mal testen, die Daten dann per PN auslesen, aber da gehen keine 1K Daten, denke ich.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe selber ein Art RAM Datenlogger überlegt.
Den meisten Zeit passiert es ja nicht so viel, also macht es Sinn nicht in jeden Zyklus den gesammte E/A-Bild abzuspeichern, sondern nur wenn was passiert.
Das bedeutet das man auch ein Zeitstempel zu jeden Datenerfassung haben muss, aber das kostet nur ein TIME (4 Bytes).

Wenn ich insgesammt weniger als 512 E/A habe, dann ist das nur 32 Bytes.
Und wenn durchschnittlich ein Änderung kommt jeden 200 ms, dann ist z.B. 1MB = 1.6 Stunden Daten.

Dazu wurde ich auch parallel Analog-Daten Zyklisch jeden Sekunde abspeichern. Aber für z.B. 16 Analog-Kanalen, dann wird das nur 225 kB pro Stunde.
 
Die S7-1518F-4PN/DP hat 20MB Arbeitsspeicher für Daten, damit könnte man ca. 20..60 Sekunden lang 1kByte je OB1-Zyklus in der CPU speichern.

Muß es in jedem OB1-Zyklus sein? Werden dabei Analog-Meßwerte aufgezeichnet und können die sich überhaupt so schnell ändern?
Kann man den "Ausfall" als Trigger-Ereignis nutzen?

Ich würde wahrscheinlich in der CPU einen Ringpuffer programmieren und beim Trigger-Ereignis die Aufzeichnung anhalten und nur dann den Inhalt des Ringpuffers an einen PC senden. Nach erfolgreicher Übertragung zum PC die Aufzeichnung wieder aktivieren. Falls die 20..60 Sekunden Puffer nicht ausreichen, würde ich über eine möglichst platzsparende/komprimierte Ablage der Daten im Ringpuffer nachdenken.

Harald
 
Hallo Harald,

das muss jedem OB1 Zyklus sein.
Analog-Meßwerte werden auch aufgezeichnet und die könnten jede 0,25 ms ändern.

Vielen dank, sehr gute idee, Jesper hat dass auch gleich gedacht.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi

ich würde einen Trace verwenden. Der speichert die Daten im Ringpuffer ab, und wenn der Trigger zuschlägt, dann noch soviele Werte wie ich eingestellt habe. Dann lade ich die Messung aus der AS und schaue mir im Portal die schönen Kurven an.
Die Aufgabenstellung hat Siemens also erledigt.

'n schön' Tach auch
HB
 
... also mit der SIMOTION habe ich das auch schon gemacht (mit der S7-1518 selbst noch nicht)) aber auf der SIMOTION kann man z.B. den Endlostrace in 250µs laufen lassen. Die Traces kann man dann abspeichern und dann z.B. als .CSV exportieren.
Auf der anderen Seite wenn Du etwas von 250µs schreibst, dann musst Du eh auf Profinet IRT gehen. Vom "classic" SIMATIC- Manager kenne ich jetzt, dass man dort die Buslast auch offline berechnen / anzeigen lassen kann (geht im TIAP sicherlich auch irgendwo). Wenn Du die Daten dann gesammelt hast, kann man ja z.B. mit der LCOM die Daten an den PC übertragen.
Du hast ja was von 1kB in 5ms geschrieben ==> 200kB/s = 1,6MBit/s. Zum Vergleich Profinet läuft mit 100 MBit/s (da ist trotz Protokollheader etc. noch genügend Platz)
 
.. wenn es nur auf das schnelles kurzfristige Aufzeichnen von Daten geht, würde ich auch die, in den 1500er PLCs integrierte Trace Funktion, empfehlen. In einer 1518 sind bis zu 8 Trace mit jeweils 16 Signalen möglich. Die Anzahl der Samples ist abhängig von der Anzahl Signale und deren Datatype, da der dafür reservierte Speicher eine feste Größe hat.
Wann die Wert aufgezeichnet werden sollen kann man recht gut einstellen, indem man einen zyklischen OB angibt in dem aufgezeichnet werden soll. Wenn man dann noch einen Trigger definiert und evtl. einen Pretrigger einstellt, dann kann man schon sehr viele Effekte im Fehler/Störfall erkunden.

Gr Michitronik
 
Zurück
Oben