LabVIEWForum.de
Steigungen / Durchgang zählen per VBS - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: Weitere NI Software (/Forum-Weitere-NI-Software)
+---- Forum: DIAdem (/Forum-DIAdem)
+---- Thema: Steigungen / Durchgang zählen per VBS (/Thread-Steigungen-Durchgang-zaehlen-per-VBS)



Steigungen / Durchgang zählen per VBS - mapra - 18.02.2008 10:12

Hallo zusammen,

ich habe folgendes Problem:

Ich habe Messdaten von einem Temperaturverlauf. Ich möchte jetzt per VBS (DIADEM 10.2) bestimmen, wie oft der Temperaturverlauf einen bestimmten Wert STEIGEND durchläuft.

Im angefügten Besipiel sind die Punkte, die gezählt werden müssen rot markiert.

Mich interessiert wie oft die Temperatur durch die 40°C läuft und wie oft die Temperatur durch die 80°C läuft. Allerdings nur die STEIGENDEN Anteile. Wenn der Verlauf schon bei den 40°C gezählt wurde, soll er bei den 80°C nicht mehr gezählt werden.

Wenn ich einen Verlauf wie im angefügten Besipielbild habe, sollte eine Variable im Report eingefügt werden, die in etwa folgendes ausgibt:

Anzahl Durchlauf 80°C: 3 mal
Anzahl Durchlauf 40°C: 2 mal

Leider sind die Messwerte nicht exakt monoton, sondern "zittern" leicht rund um den Verlauf.

Bei diesem Problem weiß ich leider überhaupt nicht, wie ich es angehen soll. Ich bin also für jeden Tipp wirklich dankbar!

Vielen Dank für Eure Antworten schon mal im Voraus!
Grüße, mapra


Steigungen / Durchgang zählen per VBS - Carpe_DIAdem - 18.02.2008 10:37

Hallo mapra,

hierzu eignet sich das Klassierverfahren "Klassendurchgang". Du findest es im Modul ANALYSIS, Statistik, Einzelklassierung.

Carpe DIAdem


Steigungen / Durchgang zählen per VBS - mapra - 21.02.2008 12:57

Hallo Carpe DIAdem!

Danke für Deine Antwort! hat mir echt sehr weitergeholfen!!
Mit ein bisschen Tricksen hab ich jetzt die Werte, die ich brauche!

Nur noch eine Frage:
Es müsste doch möglich sein, zu zählen, wie oft ein bestimmter Wert (mit Streuung) erreicht wird?!
Ich habe in der Einzelklassierung leider nichts gefunden, das so funktioniert...

vielen DAnk nochmals und Grüße, mapra


Steigungen / Durchgang zählen per VBS - Carpe_DIAdem - 25.02.2008 10:41

Hallo mapra,

hierzu kannst du die Stichprobenklassierung einsetzten. 3 Klassen definieren - eine über und eine unterhalb der zu zählenden Zahl und die Klassenbreite so wählen, dass sie der gewünschten Zahl plus Hysterese entspricht.

Carpe DIAdem


Steigungen / Durchgang zählen per VBS - mapra - 26.02.2008 12:08

Hallo Carpe DIAdem,

Danke für Deine Antwort, aber ich hab mich wohl etwas missverständlich ausgedrückt.
Ich brauche die Anzahl, wie oft ein bestimmter Wert erreicht wird. Solange sich der Wert nicht ändert, darf er auch nur 1x gezählt werden. Also Wenn ich z.B. folgende Kanalwerte habe:

5,5,5,5,5,10,10,10,10,20,20,20,20,20,10,10,10,10,10,10,10,30,30,30,10,10,5,5,5

Soll im Report stehen:

Erreichen der Zahl 5: 2x
Erreichen der Zahl 10: 3x
Erreichen der Zahl 20: 1x
Erreichen der Zahl 30: 1x

Sowohl der Klassendurchgang als auch die Stichproben helfen hier nicht weiter, da sie die absolute Anzahl der vorkommenden Werte zählen...

Ich hoffe, ich habe mein Problem jetzt etwas genauer geschildert!


Vielen Dank schon mal für Deine Hilfe und Grüße,

mapra


Steigungen / Durchgang zählen per VBS - Carpe_DIAdem - 27.02.2008 15:49

Hallo mapra,

daszu gibt es keine Klassierung, die wir in einem Schritt anbieten können. Dh. du musst zuerst die Ereignisse isolieren. Das kannst du wie folgt machen:

Option Explicit

Dim sChnCount, dWert, iPos, iValCount

sChnCount = chnAlloc("ChnCount", ChnPropValGet("[1]/Kanal", "length"))
dWert = chd(1, "[1]/Kanal")

iValCount = 1
chd(iValCount, sChnCount(0)) = dWert

iPos = ChnFind("ch(""[1]/Kanal"") <> " & dWert & "")

do while iPos <> 0
iValCount = iValCount + 1
dWert = chd(iPos, "[1]/Kanal")
chd(iValCount, sChnCount(0)) = dWert
iPos = ChnFind("ch(""[1]/Kanal"") <> " & dWert & "", iPos)
Loop


Danach die Stichprobenklassierung einsetzen.

Carpe DIAdem