03-21-2016 06:59 AM
Hallo,
ich habe gerade mit einem der Entwcikler gesprochen. Leider hatte ich da eine falsche Information im Kopf. Die Script-Verarbeitungsblöche verarbeiten jeweils nur einen Scan der Kanäle. Damit steht diesen Blöcken leider immer nur der aktuelle (einzelne) Kanalwert zur Verfügung.
Eine Alternative gibt es leider auch nicht. Was dann bedeutet, dass DAC zurzeit keine Möglichkeit anbietet die Daten während der Messung zu sortieren.
Andreas
03-21-2016 07:44 AM
Vielleicht reicht es ja aus zur Visualisierung der Daten eine Streuungsanzeige zu nehmen. Damit kann man X / Y-Werte als Punktwolke anzeigen.
Gruß
DIAdemo
03-21-2016 09:19 AM
Hallo Andreas,
vielen Dank für deine Auskunft, auch wenn sie nicht sehr erfreulich ist
Dann vielleicht anders:
Besteht denn die Möglichkeit die einzelnen Scans nacheinander in einem Kanal abzulegen? dann könnte man sie doch durch ein Skript sortieren lassen und die weiterführenden Berechungen auch.
So, dass ich dann quasi aus der Wertesammlung immer den gesuchten Wert ermitteln und dann ausgeben kann?
@DIAdemo: eine Streuungsanzeige reicht mir leider nicht.
Viele Grüße Criss
03-21-2016 10:21 AM
Hallo Chris,
Ich habe die Aufgabenstellung noch nicht ganz verstanden, aber grundsätzlich verarbeitet DIAdem DAC die Daten einzeln, also Wert für Wert (Wert erfassen, verarbeiten, anzeigen, speichern - nächster Wert).
Wenn man jetzt alle Daten der laufenden Messung "sammeln" möchte um damit etwas zu machen, wird das Datanarray u.U sehr groß, so groß, dass der Speicher des PC's nicht reicht. Außerdem wird die Verarbeitung der Daten mit zunehmender Größe des Array immer langsamer (da immer mehr Daten verarbeitet werden müssen). Diese beiden Punkte solltest du bei deiner Aufgabe beachten.
Als Beispiel habe ich einen Schaltplan angehängt, der in immer größeres Array erzeugt und von allen Werten dieses Arrays den Mittelwert berechnet. Aber wie gesagt, das ist nur ein Beispiel, da ich deine Aufgabe noch nicht ganz verstanden haben.
Gruß
Walter
03-22-2016 01:30 AM
Hallo Walter,
erstmal Danke für das Script.
Ziel der Aufgabenstellung ist eine Überwachung der dynamischen Fahrweise eines Fahrers. Dazu sind die positiven Beschleunigungswerte, der Größe nach, in Absteigender Reihenfolge zu ordnen. Aus den geordneten Werten ist dann das 95. Percentile zu ermitteln. Der größte Wert entspricht 100%, der kleinste dann 0%. Die oberen 5% werden quasi nicht berücksichtigt. Wie schon gesagt funktioniert es mit fertigen Datensätzen. Um dem Fahrer aber eine Hilfestellung zu geben und die Grenzen während einer Messfahrt nicht brechen soll das nun in eine Liveüberwachung umgesetzt werden.
Viele Grüße
Criss
03-22-2016 04:22 AM
Hallo Criss,
im Anhang findest du ein Beispiel, dass die gemessenen Daten sortiert und das 95% Quantil berechnet. Dieser Wert wird dann ausgegeben. Damit der Speicher nicht unnötig belastet wird (siehe oben), werden die letzten 100 Messwerte für die Berechnung berücksichtigt. Der älteste Wert wird immer durch einen aktuellen ersetzt.
Ich hoffe das entspricht im Wesentlichen dem was du erwartest.
Gruß
Walter
03-22-2016 04:26 AM
Ich habe versucht die Daten im DAT-Format zu speichern, so das ich Online-Zugriff darauf habe.
Nun kommt aber die angehängte Fehlermeldung. Gibt es eine Möglichkeit diese zu ignorieren, so dass die Messung von allein weiterläuft?
Mit "On Error Resume Next" funktioniert es nicht.
Viele Grüße
Criss
03-23-2016 01:21 AM
Hallo Walter,
Vielen Dank!!!! Das ist echt super!!!
Gibt es noch eine Möglichkeit, das keine Nullen in dem Array gespeichert werden, sondern tatsächlich nur Werte die größer Null sind?
Und ist es möglich die Meldung, die ich gestern angehängt habe, zu überspringen oder zu ignorieren?
Viele Grüße
Criss
03-23-2016 01:42 AM
Hallo Criss,
das Script habe ich so geändert, dass nur die Werte > 0 für die Berechnung berücksichtigt werden. Bei o oder kleiner wird NoValue angezeigt.
Zur zweiten Frage: Wenn der Parameter "Online zugreifbar" im Speicherblock gesetzt ist, sollt die Fehlermeldung nicht mehr erscheinen. Ich bin nur nicht sicher, wie das bei deiner Aufgabe helfen soll.
Gruß
Walter
03-24-2016 04:12 AM
Hallo Walter,
nochmals vielen Dank für deine Hilfe!!!
Ich nutze jetzt das vorletzte Script und das funktioniert weitestgehend. Mit den NoValues funktionierte es nicht so wie ich wollte.
Zu 2. Das hatte ich schon eingestellt, will aber trotzdem nicht. Habe den Versuch aber auch verworfen.
Eine Frage hätte ich noch:
Ist es möglich die Arraygröße variabel zu gestalten? Also, dass das Array nur die Größe besitzt wieviele positive Werte existieren.
Ich könnte mir das mit If then vorstellen und diesen Wert dann in einer Variablen abspeichern. Leider weiß ich aber nicht so recht wie ich die Werte zählen kann.
Viele Grüße Chris