TIA Data Log Methode

stephan94

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

für ein aktuelles Projekt möchte ich Daten loggen. Folgende Hardware wird verwendet: Unified Comfort Panel (für eine unabhängige zweite Panelansicht im Browser), 1200 oder 1500er CPU.

Es sollen für die Zeit während die Automatik aktiv ist (~20 Sekunden, danach >30sec Pause) Daten von zwei Motoren (Ist/Soll -Drehzahl, -Position, -Strom usw) mit Zeitstempel gespeichert werden. Es werden um die 15-20 Werte, die dann alle 50 - 100ms gespeichert werden sollen.

Auf dem Automatik Panel Bild will ich dann die aktuellen Werte in einem Kurvendiagramm anzeigen lassen und auf einem Tablet im Browser gleichzeitig vorherige Aufzeichnungen durchblättern und anschauen.

Das ist mein erstes Daten Log Projekt. Ich hab mich schon mal eingelesen und zwei Varianten gefunden:

-mit der DataLog Funktion Daten auf einem DB in der CPU speichern und dann ins Panel laden
-Daten direkt im Panel speichern mit Archiven

Welche Methode ist in meinem Fall für eine konsistente Datenspeicherung besser?
 
Um was geht es hier? Ein echtes Projekt oder eine Art Testaufbau? Falls das in einem industriellen Umfeld aufgebaut wird sollte da eine PC basierte Lösung her. Sollen die Daten irgendwie automatisiert bewertet und analysiert werden? Oder ist das eine Visu-Geschichte?
 
Ich denke mal, mit dem Panel wird Werte loggen alle 50ms nicht möglich sein. Da müsste in der SPS geloggt und zwischengepuffert werden.
 
PS: Die 15..20 Werte sollen sicherlich zueinander konsistent sein (vom exakt selben Zeitpunkt). Daher sollten sie zunächst in der SPS zu einem Datensatz zusammengefasst werden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja genau die sollen konsistent sein.

Dann werde ich mich in die Richtung ,erst SPS dann aufs Panel mal weiter einlesen.
Von dir gibt es da ja auch etliche Beiträge dazu, mit GetDataRecordTagsFromPLC. Allerdings in vbs und mit Rezepturen, beides gibt es bei Unified ja nicht mehr.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich fasse das mal zusammen, wie ich es verstanden habe :
- es werden etwa 20 Sekunden lang 20 Werte aufgezeichnet (Real) und das in einem Zeitraster von 50 ms - es entstehen also 8000 Realzahlen.
- die Werte sollen dann als Kurve visualisiert UND gespeichert werden.

Wieviele solcher Aufzeichnungen sollen gespeichert werden - also wieder abrufbar sein ?

Von der Vorgehensweise her kann es nur so laufen, dass die Daten eines Aufzeichnungsblocks zunächst komplett in der SPS abgelegt werden und am Ende diesen Blocks in die Visu geladen werden.
Mit dieser Aufgabe ist jedes herkömmliche Bediengerät komplett überfordert - und zwar nach meiner Meinung mit jedem einzelnen Teil davon ...
Eine PC-Runtime könnte die möglicherweise teilweise lösen - komplett aber nach meiner Meinung auch nicht.
Ich würde hier zu einem PC-Programm tendieren - es gibt ja Entwicklungssystme, die gut mit einer SPS zusammenarbeiten können.
 
8000 Werte sind mal eine Hausnummer.

Ich würde das komplett auslagern sogar. Evtl den Wert über eine Hilscher Karte (Profinet Io) ausgeben und dann zB auf dem PC das über Python auswerten und plotten.

Dafür müsste dein PLC Programm ja nur eine Zykluszeit < 50ms haben, oder? Oder ist Profinet Io noch mal gesondert davon?
 
Die Zykluszeit des PLC-Programms ist nicht wirklich relevant - es gibt ja schließlich Zeit-OB's ...
Einen Werte-Block von 20 Real's aber zeitgenau alle 50 ms sicher rauszuschicken und zu hoffen, dass der PC als Gegenseite dies dann auch immer passend annimmt wäre mir zu unsicher ...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn es die Schnittstelle hergibt, wieso nicht?

Es gibt viele Messsysteme die auf den Hilscher Karten und einem PC System basieren und auch sauber damit funktionieren.

Python Programme sind ja nicht zyklisch gebunden sondern agieren ganz anders als Steuerungssysteme.

Würde ich als die sauberste Lösung ansehen, weil die Daten direkt weiterverarbeitet werden können und auch zB in einem Log noch mal gespeichert werden können.
 
Lassen wir Python mal aussen vor - ich hatte ja, wo ich von "PC-Programme" geschrieben habe, an etwas Ähnliches - nur halt auf .Net-Basis (also VB.Net oder C#) gedacht. Dafür gibt es ja Bibliotheken, die man schön einbinden kann ... bei Python weiß ich das nicht ...

Der andere Punkt, also wann was wie herausschicken, ist dann wohl eher philosophisch - ich würde halt erst alles aufzeichnen und das dann senden (und im PC auswerten) ...
 
Um zeitkritische Vorgänge (z.B. von zufälligen Einflüssen) zu entkoppeln, wurden Zwischenpuffer erfunden. Die können mit Bursts gefüllt und dann zeitversetzt in anderer Geschwindigkeit ausgelesen werden.

Noch ein Aspekt, der gecheckt werden muss: liefern alle Analogwerterfassungen alle 50ms neue Werte?
 
Zurück
Oben