10-15-2010 05:49 AM
Hallo alle zusammen,
ich war schon lange nicht mehr hier.
Ich bin gerade dabei ein VBS zu entwickeln, um dyn. Delay Zeiten einzelner Meßsignal auf ein Trigger Signal zu synchronisieren.
Mein beliebtestes Hilfmittel ist z.Z. DIAdem 2010 unter Window 7 64Bit (für die NI Statistiker )
Mein Problem ist, dass ich weder für mein Trigger Signal ein eindeutigen Threshold festmachen kann, noch für meine zu korrigierenden Signale (hört sich wild an).
Mal angenommen mein Führungskanal (Abgasmassenstrom) hat eine steigende Flanke bei Sekunde "x", dann könnte ich sagen find()... Abgasmassenstrom > y. Problem ist nur das dieser "y" Wert sich von Test zu Test verändert und somit mein Trigger immer "weicher" wird oder gar ganz versagt.
OK dachte ich, nimmst Du halt Peaks suchen. Tolle Funktion, nur ich habe keine Möglichkeit ein Zeitfenster als Parameter an diese Funktion zu übergeben. Dies würde ich aber dringend benötigen, da ich eine Testvorlaufphase habe und ich gewisse Werte einfach ignorieren muß.
Einen Marker für das Ende der Testvorlaufphase zu setzen ist zwar für künftige Test möglich, nicht aber für bereits gefahrene.
Ich müsste folgende Peakfunktion für den Führungskanal und div. Meßkanäle abbilden
ChnPeakFind("Zeitkanal","Führungskanal",1,"Max.Peaks","Amplitude",[fromChannelLine],[toChannelLine])
für weiter Meßgrößen benötige im selben Datensatz die min. Funktion
ChnPeakFind("Zeitkanal","Führungskanal",1,"Min.Peaks","Amplitude",[fromChannelLine],[toChannelLine])
Könnte so eine Funktionserweiterung in einer nächsten Version bedacht werden, oder gibt es etwas derartiges bereits implementiert ohne das ich es gefunden habe?
Viele Grüsse
Thomas Plöger
10-19-2010 09:07 AM
Hallo Herr Plöger,
ich denke man könnte zweierlei dinge ausprobieren:
1.) Wenn Sie die Werte der Vorlaufzeit ignorieren wollen, und dort keine Maxima/Minima gesucht werden sollen, würde ich als Hilfslösung einfach mit DataBlCopy die Werte
ab dem Zeitpunkt, den Sie haben wollen in einen neuen Kanal kopieren und anschließend mit ChnPeakFind durchsuchen.
2.) Sie können auch alle Werte der Vorlaufzeit mit DataBlInsert auf NOVALUE setzen. Dann werden diese nicht durchsucht.
mfg
Marco Brauner NIG
10-22-2010 01:08 AM
Hallo Herr Plöger,
um den Max- und/oder Min-Wert innerhalb eines Kanalbereichs zu ermitteln, können Sie die "Deskriptive Statistik" einsetzen. Das berechnen von statistischen Kennwerten ist dort in zwei Varianten implementiert: spaltenweise (über einen Kanal) oder zeilenweise (über mehrere Kanäle). Für beide Varianten können Sie bestimmen, für welche Bereiche (also "fromChannelLine", "toChannelLine") die Kennwerte berechnet werden sollen. Vielleicht hilft Ihnen das weiter.
Viele Grüße
Walter Rick