(10.05.2019 08:01 )jg schrieb: (09.05.2019 23:15 )simcum schrieb: Hallo Jens,
danke für die Anmerkungen. Werde Ringpuffer-FGV mal ausprobieren.
FÜr mich zum Verständnis, wenn die Aktualisierungsrate in einem Graphen reduziert wird, muss dann nicht aufgrund der unveränderten Anzahl an Messdaten, mehr Daten bei der Aktualisierung übertragen werden?
Ist das von der Performance besser?
Du liest aktuell immer die letzten x Werte aus der TDMS-Datei aus und übergibst diese gesamt(!) an den XY-Graphen. Es ist also besser, das Füttern des Graphen mit Werten seltener zu machen.
(09.05.2019 23:15 )simcum schrieb: Also verstehe ich das richtig, dass bei bei Aktualisierung der Daten im XY Graph alle Werte neu eingelesen werden.
Gibt es denn keine Möglichkeit nur die aktuell ausgelesenen Werte anzuhängen ohne alles neu einzulesen?
Muss man halt programmieren. Da wären wir wieder beim Ringpuffer. Nichtsdestotrotz musst du beim XY-Graphen immer alle Werte an den Indikator übergeben, die du darstellen willst. Je mehr das im Verhältnis zur Darstellungsbreite des Graphen ist, desto länger braucht er beim Rendern.
(09.05.2019 23:15 )simcum schrieb: Wir setzen zum Beispiel auch andere Messsoftware ein, mit der Problemlos simultan 24 Kanäle mit 40Mhz Abtastung und 400000S/S als Trenddiagramm über mehrere Tage dargestellt werden können.
400000S/s * 24 Kanäle* 3 Tage * 86400 s/Tag ergibt knapp 2,5e12 Datenpunkte. Unter der Annahme, dass ein Messwert als Float gespeichert ist und somit 4 Byte benötigt, sind das etwas weniger 10 Terabyte - glaubst du wirklich, das hält deine Software im Speicher?
(09.05.2019 23:15 )simcum schrieb: Es muss doch mit Labview bessere Möglichkeiten geben.
Gigalabview: http://www.ni.com/tutorial/3625/en/
Die LLB hat zwar schon einige Jahre auf dem Buckel, enthält aber VIs durch Datenreduzierung für einen Graphen.
Gruß, Jens
Hallo Jens, vielen Dank für die Tipps.
Habe heute etwas herausgefunden. In dem Vi welches ich hochgeladen hatte, habe ich alle Melder entfernt. Diese dienten lediglich dazu die Schleifen zu beenden.
Die Schleifen beende ich nun über lokale variablen und siehe da, das ganze funktioniert wie es soll. Der Melder hat anscheinend die Darstellungsschleife verlangsamt.
Konte so nach dem ersten Test 96Kanäle mit je 90000 Werten ohne Performanseinbrüche und Erhöhung der Queueelemente im Puffer darstellen.
Nicht desto trotz würde ich gerne das auch mal mit einem Ringpuffer umsetzen.
Könntest du mir nicht ein kleines Beispiel auf Basis meiner Anwendung zurecht stellen, damit ich mir die Vorgehensweise verinnerlichen kann.
Schleifen mit 2D Daten aus Zufallsdaten, das die Datenerfassung simulieren soll reicht mir dabei. Die Schleife mit TDMS brauchst du auch nicht mit einem Code versehen.
Etwas kleines, was für dich kein Problem darstellen sollte reicht mir schon, es geht mir nur ums Prinzip.
Das wäre super von dir
Danke nochmals