Automatisiertes extrahieren Werte aus Messdaten
#1
Smile 
Hallo zusammen,

ich beschäftige mich gerade mit einer Auswertung, die mir händisch enorm viel Zeit raubt und ich diese deshalb gerne automatisieren möchte. Leider fehlt mir noch die passende Idee und ich würde mich über Hilfe bei der Umsetzung freuen.

Das Problem an sich klingt nicht so schwer:

Ich habe Messreihen über mehrere tausend Sekunden (x-Achse) und dazu Spannungswerte (y-Achse). Aus diesen Werten interessieren mich allerdings nur 5 bis 10 Ereignisse, davon jeweils die ersten 11 Sekunden.
Ein Ereignis ist ein Spannungseinbruch.
So, jetzt wüsste ich gerne, wie ich automatisiert den jeweiligen Spannungseinbruch finde, den Wert zum Zeitpunkt 0 (also direkt vor dem Einbruch) plus die Werte der nächsten 10 Sekunden extrahiert bekomme. Und das für jedes Ereignis innerhalb einer Messreihe.

(x-(x-1)) >> ((x-1)-x(-2)) -> Werte ab x (bis x+10) speichern.

Im Anhang ist eine beispielhafte Darstellung der Werte.

Danke schon im Voraus :)

P.S: Sorry, falls es ein solches Thema schon gibt, gefunden habe ich es leider nicht.


Angehängte Dateien
.xlsx   Beispiel_Spannungseinbruch.xlsx (Größe: 310,83 KB / Downloads: 6)
Top
#2
Hallo,

wie wäre es für jede 1000 ms das Minumum zu suchen und dann zu prüfen, ob es sich tatsächlich um einen der gesuchten Werte handelt?

mfg

Vorschlag:

Code:
Mittelwert: R1: =MITTELWERT(B2:B6768)
StdDev:     Q2: =MITTELABW(B2:B6768)

in Spalte C: =WENN(ABS(B2-$R$2)/$Q$2>3;1;"n")

Dann kann das Minimum der Spalte B für jeden Bereich Spalte C=1 berechnet werden.

mfg
Top
#3
Danke, das war schonmal hilfreich.

Ich bin allerdings dazu übergegangen, nur die Zelle zu finden, bei der der Spannungseinbruch eintritt.
Ich prüfe also, ob die beiden aufeinander folgenden Zellen voneinander abgezogen ein bestimmtes Delta überschreiten (in dem Fall 0,0015).

Nächster Schritt wird sein, basierend auf dem Ergebnis von oben, die nächsten Zellen für den Zeitbereich von 10 Sekunden heraus zu filtern.
Top
#4
Hallo,

um die Zeit jedes realtiven Spannungsminimums zu ermittlen, hilft dieser kleine Makro:

Code:
Sub iMin()
Dim Ar As Range
Dim App As Application: Set App = Application

For Each Ar In Columns(3).SpecialCells(3, 1).Areas
    Set Rng = Ar.Offset(, -1): Debug.Print Rng.Address, Ar.Address
    MM = App.Min(Rng)
    Ro = App.Match(MM, Rng, 0)
    Debug.Print MM, Ro + Ar.Cells(1).Row - 1, Cells(Ro + Ar.Cells(1).Row - 1, 1)
Next Ar
End Sub

Anbei die Datei mit den Formeln und der (von Hand markierten) Stelle des Minimums.

mfg


Angehängte Dateien
.xlsm   Beispiel_Spannungseinbruch.xlsm (Größe: 474,85 KB / Downloads: 1)
Top
#5
Top, danke.
Werde ich mir bei Gelegenheit mal genauer anschauen.

Ich habe des Problem inzwischen mittels eines PHP-Codes realisiert, da ich andernfalls ein Zeitproblem bekommen hätte.
Top
#6
Ich würde eher nach den Minima (Wert t0 abz. Wert t-1, -2 oder -3) suchen ...
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Top
#7
(18.01.2020, 12:20)Tomahawk schrieb: Ich habe des Problem inzwischen mittels eines PHP-Codes realisiert, da ich andernfalls ein Zeitproblem bekommen hätte.

schön für Dich. Aber wenn Du nicht näher beschreibst, wie Du das (per PHP-Code) realisiert hast, ist das für andere Suchende einfach nur frustrierend!  Undecided

Gruß Uwe
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste