Unsere Partner:

DIAdem-Forum.de Partner

DIAdem-Forum.de Partner

DIAdem-Forum.de Partner

DIAdem-Forum.de Partner






Stellenangebote:
Entwicklungsingenieur Messtechnik und Fahrzeugelektronik (m/w)
Planung und Durchführung von Projekten im Bereich NFZ-Messtechnik
MBtech Group GmbH Co. KGaA
Magstadt, Sindelfingen bei Stuttugart, Stuttgart
Versuchsingenieur innovative Chassissysteme (m/w)
Erprobung von Chassissystemen, Koordination des Aufbaus von Aggregateträgern
MBtech Group GmbH Co. KGaA
Magstadt
Laboringenieur / Messtechnikingenieur mit Labview (w/m)
Entwicklung und Auslegung von Versuchsaufbauten
Brunel GmbH
Frankfurt/Offenbach
Versuchsingenieur Chassis Erprobung (m/w)
Grundsatzuntersuchungen, Fahrversuche und Freigabeuntersuchungen im Fahrwerkbereich
MBtech Group GmbH Co. KGaA
Magstadt
Applikationsingenieur Abgasnachbehandlung / SCR Dosiermodul (m/w)
Spezifikation, Applikation, Test und Validierung von Softwarefunktionen der Abgasnachbehandlung
MBtech Group GmbH Co. KGaA
Fellbach
Entwicklungsingenieur Getriebemechatronik (m/w)
Getriebe und Hybrid Aufgabenstellungen
MBtech Group GmbH Co. KGaA
Fellbach, Stuttgart
Entwicklungsingenieur Fahrzeugapplikation Verbrennungsmotor (m/w)
Applikation, Test und Validierung von Motorsteuergerät-Funktionen auf den Gebieten Fahrbarkeit und Regelungssysteme
MBtech Group GmbH Co. KGaA
Fellbach
Applikationsingenieur Abgasnachbehandlung /-OBD Otto (m/w)
Applikation, Test und Validierung von Softwarefunktionen der Abgasnachbehandlung / - OBD
MBtech Group GmbH Co. KGaA
Fellbach
Versuchsingenieure / Produktionsingenieure (m/w)
Prozessentwicklung, Versuchswesen in den Bereichen Messtechnik, Elektronik, Getriebetechnik
über Steinbach Partner Executive Consultants
Region Stuttgart und Unterfranken
Versuchsingenieur Betriebsfestigkeit (m/w)
Auswerten von Messdaten, Erstellung von Autosequenzen
MBtech Group GmbH Co. KGaA
Wörth, Untertürkheim
Versuchsingenieur (m/w) Sonderversuch
Entwicklung neuer Testmethoden im Sonderversuch
Continental AG
Hannover
Test Engineer (m/w)
Durchführung und Analyse von Versuchen an PKW-Innenraumkomponenten
Johnson Controls Automotive Experienc über Scheerer Werbung GmbH
Burscheid

Stand: 10:34:43 06.02.2012



.
 
Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5

Kurve: Mittelwert der Maximum-Peaks?
14.07.2010, 08:45 (Dieser Beitrag wurde zuletzt bearbeitet: 15.07.2010 10:26 von Rednaxela.)
Beitrag #1
DIAdem-Version: 11.1
DIAdem-Sprachversion: DE
DIAdem Erfahrung seit: 2010
Kurve: Mittelwert der Maximum-Peaks?

Hallo an alle!

DIAdem 11.1: ist es irgendwie möglich den Mittelwert aller Maximum-Peaks einer Kurve auszurechnen?

Beispieldatei:

.tdx  test.tdx (Größe: 399,13 KB / Downloads: 71)

.tdm  test.tdm (Größe: 21,99 KB / Downloads: 47)

Falls ja, wie stelle ich das an?

Grüße und danke,
Alex

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren



15.07.2010, 10:47
Beitrag #2
DIAdem-Version: 11.1
DIAdem-Sprachversion: DE
DIAdem Erfahrung seit: 2010
RE: Kurve: Mittelwert der Maximum-Peaks?

Nochmal ausführlicher beschrieben und mit besserer Beispieldatei:

Die Beispieldatei:

.tdm  test.tdm (Größe: 21,99 KB / Downloads: 67)

.tdx  test.tdx (Größe: 399,13 KB / Downloads: 64)

Sie zeigt das Signal eines Fräsprozesses!

Folgende Kanäle sind vorhanden:
- CopyYFv,
- CopyYFz,
- CopyYResultXY and
- CopyYFvn

Berechnet habe ich daraus folgende Kanäle:
- winkel,
- Fc_winkel,
- Fcn_winkel und
- Frad_wkzg_winkel

Jetzt ziehe ich "Fc_winkel, Fcn_winkel und Frad_wkzg_winkel" jeweils in ein seperates 2D-Diagramm, so dass man alle Maximum-Peaks sehen kann. Jeder Graph sollte ca. 44 Peaks zeigen:
- die Peaks von "Fc_winkel" befinden sich auf einem Level von ca. 150 N,
- die Peaks von "Fcn_winkel" befinden sich auf einem Level von ca. 70 N und
- die Peaks von "Frad_wkzg_winkel" befinden sich auf einem Level von ca. 160 N.

Meine Frage:
Ist es irgendwie möglich den Mittelwert aller Messwerte der Maximum-Peaks einer Kurve (z.B. "Fc_winkel") auszurechnen? Am besten automatisch, denn ich habe sehr viele Messdateien...

Grüße!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.07.2010, 14:31
Beitrag #3
DIAdem-Version: 10.2, 11.1, 2010 und auf alten CD's runter bis 3.0
DIAdem-Sprachversion: DE
DIAdem Erfahrung seit: 1996
RE: Kurve: Mittelwert der Maximum-Peaks?

Hallo Alex,
es gibt zwar in DIAdem unter Basis / Kanalfunktionen / Peak suchen ein Tool, aber das findet auch lokale Maxima und ist sicher nicht das was Du suchst. Da hilft nur selber programmieren...
Ich habe mal was ganz schnell zusammengeschustert Big Grin...

Code:
Dim myFc_winkel, i, j, myMittel, myPeak, myFc_winkel_peak, suche_peak, mymin
Call Data.Root.ChannelGroups.Add("Peak", 2).Activate()
Set myFc_winkel_peak = Data.Root.ChannelGroups("Peak").Channels.Add("Fc_winkel_peak",DataTypeFloat64)
set myFc_winkel = Data.Root.ChannelGroups("test").Channels("Fc_winkel")
j = 1

suche_peak = True
mymin = myFc_winkel.Properties("minimum").Value
myPeak = mymin
myMittel = (myFc_winkel.Properties("maximum").Value - myFc_winkel.Properties("minimum").Value) / 2
for i = 1 to myFc_winkel.Properties("length").Value
  if suche_peak then
    if myFc_winkel(i) > myPeak and myFc_winkel(i) > myMittel+10 then
      myPeak = myFc_winkel(i)
    end if
    if myFc_winkel(i) < myMittel-10 and myPeak <> mymin then
      suche_peak = false
    end if
  else
    if myFc_winkel(i) > myMittel+10 then
      suche_peak = true
      myFc_winkel_peak(j) = myPeak
      j = j +1
      myPeak = mymin
    end if
  end if
next

StatSel(1)       = "No"
StatSel(2)       = "No"
StatSel(3)       = "No"
StatSel(4)       = "No"
StatSel(5)       = "No"
StatSel(6)       = "Yes"
StatSel(7)       = "No"
StatSel(8)       = "No"
StatSel(9)       = "No"
StatSel(10)      = "No"
StatSel(11)      = "No"
StatSel(12)      = "No"
StatSel(13)      = "No"
StatSel(14)      = "No"
StatSel(15)      = "No"
StatSel(16)      = "No"
StatSel(17)      = "No"
StatSel(18)      = "No"
StatSel(19)      = "No"
StatSel(20)      = "No"
StatSel(21)      = "No"
StatSel(22)      = "No"
StatSel(23)      = "No"
StatClipCopy     = 0
StatClipValue    = 0
StatFormat       = ""
StatResChn       = 1
Call StatBlockCalc("Channel","1-","Peak/Fc_winkel_peak") '... StatDirec,RowNoStr,ChnNoStr
Also über eine For Schleife durchsuchst Du die Daten, merkst Dir das Maximum bis Du unter den Mittelwert (-10) fällst. Peak in Kanal speichern, nächstes Maximum suchen (welches über Mittelwert plus 10 liegt) usw. Die +- 10 sind eine kleine Hysterese, damit nicht ein kleiner Anstieg sofort als Peak erkannt wird.
Danach Mittelwertberechnung mit Diademfunktion.
Gruß
Bruno

Diadem 2010
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.07.2010, 16:43
Beitrag #4
DIAdem-Version: 11.1
DIAdem-Sprachversion: DE
DIAdem Erfahrung seit: 2010
RE: Kurve: Mittelwert der Maximum-Peaks?

Hey Bruno!

...wow, das ging ja wieder schnell! Was soll ich sagen, so klappt es wunderbar:

Code:
Option Explicit  'Erzwingt die explizite Deklaration aller Variablen in einem Script.

Call Data.Root.ChannelGroups.Add("Mittelwerte-Max-Peaks", 2).Activate()

Dim myFc_winkel, iFc_winkel, jFc_winkel, myMittelFc_winkel, myPeakFc_winkel, myFc_winkel_maxpeaks, suche_peakFc_winkel, myminFc_winkel
Set myFc_winkel_maxpeaks = Data.Root.ChannelGroups("Mittelwerte-Max-Peaks").Channels.Add("Fc_winkel_maxpeaks",DataTypeFloat64)
set myFc_winkel = Data.Root.ChannelGroups("[1]").Channels("Fc_winkel")
jFc_winkel = 1
suche_peakFc_winkel = True
myminFc_winkel = myFc_winkel.Properties("minimum").Value
myPeakFc_winkel = myminFc_winkel
myMittelFc_winkel = (myFc_winkel.Properties("maximum").Value - myFc_winkel.Properties("minimum").Value) / 2
      for iFc_winkel = 1 to myFc_winkel.Properties("length").Value
        if suche_peakFc_winkel then
          if myFc_winkel(iFc_winkel) > myPeakFc_winkel and myFc_winkel(iFc_winkel) > myMittelFc_winkel+10 then
            myPeakFc_winkel = myFc_winkel(iFc_winkel)
          end if
          if myFc_winkel(iFc_winkel) < myMittelFc_winkel-10 and myPeakFc_winkel <> myminFc_winkel then
            suche_peakFc_winkel = false
          end if
        else
          if myFc_winkel(iFc_winkel) > myMittelFc_winkel+10 then
            suche_peakFc_winkel = true
            myFc_winkel_maxpeaks(jFc_winkel) = myPeakFc_winkel
            jFc_winkel = jFc_winkel +1
            myPeakFc_winkel = myminFc_winkel
          end if
        end if
      next
      
Dim myFcn_winkel, iFcn_winkel, jFcn_winkel, myMittelFcn_winkel, myPeakFcn_winkel, myFcn_winkel_maxpeaks, suche_peakFcn_winkel, myminFcn_winkel
Set myFcn_winkel_maxpeaks = Data.Root.ChannelGroups("Mittelwerte-Max-Peaks").Channels.Add("Fcn_winkel_maxpeaks",DataTypeFloat64)
set myFcn_winkel = Data.Root.ChannelGroups("[1]").Channels("Fcn_winkel")
jFcn_winkel = 1
suche_peakFcn_winkel = True
myminFcn_winkel = myFcn_winkel.Properties("minimum").Value
myPeakFcn_winkel = myminFcn_winkel
myMittelFcn_winkel = (myFcn_winkel.Properties("maximum").Value - myFcn_winkel.Properties("minimum").Value) / 2
      for iFcn_winkel = 1 to myFcn_winkel.Properties("length").Value
        if suche_peakFcn_winkel then
          if myFcn_winkel(iFcn_winkel) > myPeakFcn_winkel and myFcn_winkel(iFcn_winkel) > myMittelFcn_winkel+10 then
            myPeakFcn_winkel = myFcn_winkel(iFcn_winkel)
          end if
          if myFcn_winkel(iFcn_winkel) < myMittelFcn_winkel-10 and myPeakFcn_winkel <> myminFcn_winkel then
            suche_peakFcn_winkel = false
          end if
        else
          if myFcn_winkel(iFcn_winkel) > myMittelFcn_winkel+10 then
            suche_peakFcn_winkel = true
            myFcn_winkel_maxpeaks(jFcn_winkel) = myPeakFcn_winkel
            jFcn_winkel = jFcn_winkel +1
            myPeakFcn_winkel = myminFcn_winkel
          end if
        end if
      next
      
Dim myFrad_wkzg_winkel, iFrad_wkzg_winkel, jFrad_wkzg_winkel, myMittelFrad_wkzg_winkel, myPeakFrad_wkzg_winkel, myFrad_wkzg_winkel_maxpeaks, suche_peakFrad_wkzg_winkel, myminFrad_wkzg_winkel
Set myFrad_wkzg_winkel_maxpeaks = Data.Root.ChannelGroups("Mittelwerte-Max-Peaks").Channels.Add("Frad_wkzg_winkel_maxpeaks",DataTypeFloat64)
set myFrad_wkzg_winkel = Data.Root.ChannelGroups("[1]").Channels("Frad_wkzg_winkel")
jFrad_wkzg_winkel = 1
suche_peakFrad_wkzg_winkel = True
myminFrad_wkzg_winkel = myFrad_wkzg_winkel.Properties("minimum").Value
myPeakFrad_wkzg_winkel = myminFrad_wkzg_winkel
myMittelFrad_wkzg_winkel = (myFrad_wkzg_winkel.Properties("maximum").Value - myFrad_wkzg_winkel.Properties("minimum").Value) / 2
      for iFrad_wkzg_winkel = 1 to myFrad_wkzg_winkel.Properties("length").Value
        if suche_peakFrad_wkzg_winkel then
          if myFrad_wkzg_winkel(iFrad_wkzg_winkel) > myPeakFrad_wkzg_winkel and myFrad_wkzg_winkel(iFrad_wkzg_winkel) > myMittelFrad_wkzg_winkel+10 then
            myPeakFrad_wkzg_winkel = myFrad_wkzg_winkel(iFrad_wkzg_winkel)
          end if
          if myFrad_wkzg_winkel(iFrad_wkzg_winkel) < myMittelFrad_wkzg_winkel-10 and myPeakFrad_wkzg_winkel <> myminFrad_wkzg_winkel then
            suche_peakFrad_wkzg_winkel = false
          end if
        else
          if myFrad_wkzg_winkel(iFrad_wkzg_winkel) > myMittelFrad_wkzg_winkel+10 then
            suche_peakFrad_wkzg_winkel = true
            myFrad_wkzg_winkel_maxpeaks(jFrad_wkzg_winkel) = myPeakFrad_wkzg_winkel
            jFrad_wkzg_winkel = jFrad_wkzg_winkel +1
            myPeakFrad_wkzg_winkel = myminFrad_wkzg_winkel
          end if
        end if
      next
      
      
StatSel(1)       = "No"
StatSel(2)       = "No"
StatSel(3)       = "No"
StatSel(4)       = "No"
StatSel(5)       = "No"
StatSel(6)       = "Yes"
StatSel(7)       = "No"
StatSel(8)       = "No"
StatSel(9)       = "No"
StatSel(10)      = "No"
StatSel(11)      = "No"
StatSel(12)      = "No"
StatSel(13)      = "No"
StatSel(14)      = "No"
StatSel(15)      = "No"
StatSel(16)      = "No"
StatSel(17)      = "No"
StatSel(18)      = "No"
StatSel(19)      = "No"
StatSel(20)      = "No"
StatSel(21)      = "No"
StatSel(22)      = "No"
StatSel(23)      = "No"
StatClipCopy     = 0
StatClipValue    = 0
StatFormat       = ""
StatResChn       = 1

Call StatBlockCalc("Channel","1-","Mittelwerte-Max-Peaks/Fc_winkel_maxpeaks") '... StatDirec,RowNoStr,ChnNoStr
Call StatBlockCalc("Channel","1-","Mittelwerte-Max-Peaks/Fcn_winkel_maxpeaks") '... StatDirec,RowNoStr,ChnNoStr
Call StatBlockCalc("Channel","1-","Mittelwerte-Max-Peaks/Frad_wkzg_winkel_maxpeaks") '... StatDirec,RowNoStr,ChnNoStr

Data.Root.ChannelGroups(2).Channels("ArithmeticMean").Name = "MW_Fc_winkel_maxpeaks"
Data.Root.ChannelGroups(2).Channels("ArithmeticMean1").Name = "MW_Fcn_winkel_maxpeaks"
Data.Root.ChannelGroups(2).Channels("ArithmeticMean2").Name = "MW_Frad_wkzg_winkel_maxpeaks"

Vielen, vielen Dank!

Aber was ist, wenn ich jetzt Messdaten habe, in welchen die Kurven "Fc_winkel, Fcn_winkel und Frad_wkzg_winkel" eine starke "Zick-Zack-Form" aufzeigen (z.B. durch Schwingungen), siehe folgende Beispieldatei:

.tdm  test2.tdm (Größe: 21,79 KB / Downloads: 60)

.tdx  test2.tdx (Größe: 4,48 MB / Downloads: 50)

Kann es sein, dass es dann zu Fehler in der Auswertung kommt? Wäre die Hysterese in diesem Fall zu klein, so dass ein Maximum erkannt wird, wo keines ist? Macht es Sinn das Intervall der Hysterese zu vergrößern?

Grüße und besten Dank!!!
Alex

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.07.2010, 09:07
Beitrag #5
DIAdem-Version: 10.2, 11.1, 2010 und auf alten CD's runter bis 3.0
DIAdem-Sprachversion: DE
DIAdem Erfahrung seit: 1996
RE: Kurve: Mittelwert der Maximum-Peaks?

Hallo Alex,
ja, das kann Probleme machen... Entweder mit der Hysterese herumspielen oder den Algorithmus verfeinern...
Gruß
Bruno

Diadem 2010
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
21.07.2010, 09:23
Beitrag #6
DIAdem-Version: 11.1
DIAdem-Sprachversion: DE
DIAdem Erfahrung seit: 2010
RE: Kurve: Mittelwert der Maximum-Peaks?

Hat sich erledigt, hab alles hinbekommen! Danke und Grüße!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  [ERLEDIGT] Bestimmte Werte auf der Kurve anzeigen dim_ka 2 935 24.01.2011 14:41
Letzter Beitrag: dim_ka

Gehe zu: