DIAdem

cancel
Showing results for 
Search instead for 
Did you mean: 

TimeChannel / mdf Data

Hi,
 
I have a Problem in Diadem which I hope you can help me with.
 
I import measurment data from Etas Inca using the mdf format and the according filter. Diadem generates groups with one channel named "t" which is the time channel for that group. I want to compare Data from different groups but Diadem does not use the channel "t" for time, it only uses the amount of lines. How can i tell Diadem to use the Channel "t" as the time channel. When i measure and record with Diadem it also creates a time channel named "Zeit1" (German version) which has a small "i" below the "123" symbol.
 
The channel "t" consits data like:
 
0,014816616
0,114862621
0,21479863
0,314794635
0,41480064
0,514836643
0,614782649
.....
 
which is the time in [s] after starting the measurement ( just like in Diadem ).
 
Thank you very much in advance.
 
Best regards,
 
Dominik
 
 
0 Kudos
Message 1 of 18
(5,954 Views)

Hello Dominik!

If you select the time channel first and than select the Y channels you want to see and drag&drop them into VIEW or on an coordinate system in REPORT you will get what you want. Do this for every combination of time and Y channels you want to compare group by group.

Matthias

Matthias Alleweldt
Project Engineer / Projektingenieur
Twigeater?  
0 Kudos
Message 2 of 18
(5,933 Views)
Hi Matthias,
 
i guess that does the trick for now, but how can I tell Diadem to use that specific channel as the time channel of that group ?
 
vielen Dank und viele Grüße
 
Dominik
0 Kudos
Message 3 of 18
(5,919 Views)
Hallo Dominik!
 
DIAdem kennt keine explizite Führungsgröße für eine Kanalgruppe, es gibt also keine Möglichkeit die Zuordnung automatisch herzustellen! Was bleibt ist Definition über die Reihenfolge der Selektierung richtig herzustellen oder bei programmatischen VIEW/REPORT Anpassungen mit der expliziten Angabe der Gruppe in den Kanalnamen.
 
Matthias
Matthias Alleweldt
Project Engineer / Projektingenieur
Twigeater?  
0 Kudos
Message 4 of 18
(5,915 Views)
Hi Matthias,
 
ich verstehe. Nun folgende Frage: Wenn ich diese vielen Gruppen von Kanälen zusammen fassen wollte und der einen verbleibenden Gruppe nur noch einen Zeitkanal zuordnen wollte wie müsste ich das anstellen ? ( Unterschiedlichen Gruppen = unterschiedliche Abtastraten)
 
viele Grüße und vielen Dank für die Hilfe
 
Dominik
0 Kudos
Message 5 of 18
(5,913 Views)
Hallo Dominik!
 
In einem Projekt bei dem wir Daten von Fahrversuchen auswerten, die auch z.T. über CAN 'gemessen' sind, werden die Daten auf eine bestimmte, zumeist die höchste Abtastrate 'aufgeblasen'. Dazu dient in DIAdem der Befehl 'ChnMapLinCalc'. Unser DIAdem basierendes Applikationsframework X-Frame macht das dann automatisch bei den Messgrößen die tatsächlich benötigt werden, optimiert so Performance und Speicherauslastung.
 
Sind deine Randbedinungen nicht geeignet sind würde ich doch nochmal darüber nachdenken DIAdem beim Zeichnen das Mapping überlassen. Wenn ich Zeit habe kann ich heut Abend mal ein Skriptbeispiel für VIEW machen.
 
Matthias
Matthias Alleweldt
Project Engineer / Projektingenieur
Twigeater?  
0 Kudos
Message 6 of 18
(5,904 Views)
Hi Matthias,
 
mir geht es eigentlich nur darum, sei es über Script oder von Hand über Funktionen in Analysis, die Gruppen von Messwerten ( die ja aus einer Messung stammen also eigentlich die selbe Länge im Sinne von Zeit haben) in eine Gruppe mit nur einem Zeitkanal zusammen zu fassen, so daß sie andere User deutlich einfacher Analysieren können. Das Ergebnis sollte also in jedem Fall dann wieder eine .tdm/.tdx mit nur einem Zeitkanal werden. Hast du da vielleicht eine Idee ?
 
Vielen Dank im voraus und viele Grüße
 
Dominik
 
Dominik
0 Kudos
Message 7 of 18
(5,902 Views)
Hallo Dominik!
 
Ideen habe ich nur fehlt mir im Moment die Zeit. Muss das auf heute Abend vertagen, dann werde ich dir mal ein Script machen das als Beispiel dienen kann.
 
Matthias
Matthias Alleweldt
Project Engineer / Projektingenieur
Twigeater?  
0 Kudos
Message 8 of 18
(5,898 Views)
Hallo Dominik!
 
Nachfolgend ein Skript das ein mögliches Prinzip zeigt und funktionsfähig ist. Bei der Namensgebung der zusammengefassten Kanäle sowie der Methode zur Bestimmung des neuen Zeitkanals mögen Anpassungen notwendig sein. Wichtig ist auch das alle Rohdaten verrechnet werden und somit ggf. Zwischenpunkte 'erfunden' werden (lineare Interpolation) die eine spätere Analyse u.U. verändern. Schau dir mal das Skript und sein Ergebnis an:
Option Explicit

Dim i
Dim j
Dim dTmin
Dim dTmax
Dim nTLengthMax
Dim nTCNo
Dim nCNo

' t Min/Max und größte Länge bestimmen
For i=1 To GroupCount
  ' Kananlnummer  von t in der Gruppe bestimmen
  nTCNo = CNo( "[" & i & "]/t")

  If nTCNo > 0 Then
    If i = 1 Then
      dTmin       = ChnValMin(nTCNo)
      dTmax       = ChnValMax(nTCNo)
      nTLengthMax = ChnLength(nTCNo)
    Else
      dTmin       = ValMin( dTmin,       ChnValMin(nTCNo) )
      dTmax       = ValMin( dTmax,       ChnValMax(nTCNo) )
      nTLengthMax = ValMax( nTLengthMax, ChnLength(nTCNo) )
    End If
  End If
Next

' Ergebnisgruppe erstellen
Call GroupCreate("SumUp")

' Neuen gemeinsamen Zeitkanal erzeugen
Call ChnLinGen("SumUp/t",dTmin,dTmax,nTLengthMax)

' Über alle Gruppen außer der neuen laufen
For i=1 To GroupCount-1
  ' Kananlnummer  von t in der Gruppe bestimmen
  nTCNo = CNo( "[" & i & "]/t")

  If nTCNo > 0 Then
    ' Schleife über alle Kanäle der Gruppe
    For j=1 To GroupChnCount(i)
      ' Kanalnummer bestimmen
      nCNo = CNo( "[" & i & "]/[" & j & "]")

      If nCNo > 0 Then
        ' t übergehen, nur Kanäle mit der Länge von t mappen
        If (ChnName(nCNo) <> "t") And (ChnLength(nCNo) = ChnLength(nTCNo)) Then
          ' linear mapping
          Call ChnMapLinCalc(nTCNo,nCNo,"SumUp/t","SumUp/" & GroupName(i) & "_" & ChnName(nCNo),true,"const. value",NULL,"analogue")
        End If
      End If
    Next
  End If
Next

' alle Gruppen außer dem Ergebnis löschen
Do While GroupCount > 1
  Call GroupDel(1)
Loop

' Speichern
Call DataFileSave("MapData_SumUp.tdm","TDM")
Matthias
Matthias Alleweldt
Project Engineer / Projektingenieur
Twigeater?  
0 Kudos
Message 9 of 18
(5,887 Views)
Hi Matthias,
 
das Script wirft bei mir folgenden Fehler aus:
 
" Fehler in xxx.VBS (Zeile: 56, Spalte 11) "
" Kein gemeinsamer Wertebereich in den Kanalen "1,167"
 
 
die Zeile ist
 
Call ChnMapLinCalc(nTCNo,nCNo,"SumUp/t","SumUp/" & GroupName(i) & "_" & ChnName(nCNo),true,"const. value",NULL,"analogue")
 
Das Problem ist das alle t Kanäle nicht exakt zum selben Zeitpunkt anfangen und aufhören. So ist das größte Delta ca 0.4 [s] am Anfang und am Ende.
 
Gibt es noch eine andere Funktion die eben jene Tatsachen nicht stört ? Es geht ja hier nur darum Werten => Zeiten zuzuordnen ?
 
Viele Grüße
 
Dominik
0 Kudos
Message 10 of 18
(5,879 Views)