DIAdem

cancel
Showing results for 
Search instead for 
Did you mean: 

Daten von nacheinander ausgewerteten *.lvm in einem Kanal Sammeln und nach x Durchläufen den Kanal in Excel exportieren

Hallo,

 

Ich habe das Problem das ich mehrere *.lvm Files nacheinander diese bearbeite, auswerte und einen Kanal Erstelle in welchen ich ein Event lade(ein bis zwei werte).

Nun möchte ich nach dem das erste *.lvm ausgewertet wurde die Daten des Eventkanals behalten. Mein erster Gedanke war die werte in z.B. ein Excel File zu speichern.

Wenn dann nun die zweite *.lvm ausgewertet wurde sollen die daten der zweiten Auswertung an das Excelfile angehängt werden. Oder kann man alle Werte sammeln und am ende der z.B. 90 Durchläufe wegspeichern? So das ich am ende ein Excelfile erhalte bei 90 ausgewählten *lvm mit 90 Werten aus den Eventkanälen.

Ich bin in dem ganzen Thema relativ neu also hoffe ich das ich mich einigermaßen verständlich ausgedrückt habe. 

 

Das ist mein bisheriges Script in dem ich die *.lvm lade bearbeite den Report aktualisiere und als PDF ausgebe. Das sollte auch weiterhin so funktionieren.

 

Option Explicit
Dim i
Dim MyFolders()
Call InitMyFolders
'-------------------------------------------------------------------------------
Sub InitMyFolders
ReDim MyFolders(1)
MyFolders(0)="G:\05_DIAdem\03_Auswertung\"
End Sub
'-------------------------------------------------------------------------------
If FileDlgShow(DataReadPath,"LVM Files,*.lvm","DataSelection",True) = "IDOk" Then
For i = 0 to UBound(FileDlgNameList)
Call Data.Root.Clear()
Call DataFileLoad(FileDlgNameList(i),"LVM","Load")
Call Data.Root.ChannelGroups(1).Channels.Add("CurrentLoad[A]",DataTypeFloat64,10)
Call Data.Root.ChannelGroups(1).Channels.Add("ForceLoad[kN]",DataTypeFloat64,10)
Call Data.Root.ChannelGroups(1).Channels.Add("Way[mm]",DataTypeFloat64,10)
Call Data.Root.ChannelGroups(1).Channels.Add("Voltage[V]",DataTypeFloat64,10)
Call DataBlCopy("Untitled", 1, 4500, "Voltage[V]")
Call DataBlCopy("Untitled 1", 1, 4500, "Way[mm]")
Call DataBlCopy("Untitled 2", 1, 4500, "ForceLoad[kN]")
Call DataBlCopy("Untitled 3", 1, 4500, "CurrentLoad[A]")
Call ChnDel("[1]/[1]")
Call ChnDel("[1]/[1]")
Call ChnDel("[1]/[1]")
Call ChnDel("[1]/[1]")
Call ChnDel("[1]/[1]")
Call ChnDel("[1]/[1]")
Call ChnDel("[1]/[1]")
Call ChnDel("[1]/[1]")
Call ChnDel("[1]/[1]")
ChnEventResultList= Null
ChnEventResultList = ChnEventDetectionWindow(, "[1]/[3]", 5.999 , 6.001 , 0, 0)
If Not IsNull(ChnEventResultList) Then
Call ChnEventCopyValues(,"[1]/[4]", "EventresultX", "Current[A]_6kN", ChnEventResultList)
End If
Call Report.Refresh
Call Report.Sheets.ExportToPDF(MyFolders(0)&Data.Root.Name,FALSE)
Next
End If  

0 Kudos
Message 1 of 5
(1,034 Views)

Hallo Christek,

 

ich würde alles in DIAdem machen und am Ende die Excel-Datei erstellen. DIAdem stellt durch die Kanalgruppen eine Strukturierungsmöglichkeit zur Verfügung, die es erlaubt Daten voneinander getrennt zu behandeln. In deinem Fall würde ich die erste Kanalgruppe für die gesammelten Analyseergebnisse vorsehen und die zweite Kanalgruppe für die LVM Daten (beim Laden einer Datei werden diese immer in neuen Kanalgruppen hinzugefügt). Der Ablauf sieht dann so aus:

 

Ergebnisgruppe mit Ergebniskanälen erstellen

Schleifenbeginn

    LVM-Datei laden (landen automatisch in der 2. Kanalgruppe)

    LVM-Daten auswerten

    Ergebnisse in der ersten Kanalgruppe speichern

    2. Kanalgruppe löschen

Schleifenende

Ergebnisse nach Excel exportieren

 

Gruß

Walter

0 Kudos
Message 2 of 5
(1,011 Views)

Hallo Walter,

das ist ein toller Vorschlag. Das man einzelne Gruppen erstellen und auch nur einzelne löschen kann war mir so noch nicht bewusst.

Da mach ich mich mal dran das Script so um zu bauen.

Ich werde mich bei Erfolg oder Misserfolg und fragen auf jeden fall noch mal melden. 😉

 

Gruß Christek

0 Kudos
Message 3 of 5
(1,006 Views)

Hallo nochmal,

 

so weit so gut, also ich hab das soweit zum laufen gebracht. Das Einzige wo es noch hakt ist der Export in ein Excelfile...

Excelfile öffnen was in Spalte eins eintragen und wieder schließen klappt so weit aber ich hab keine Idee wie ich die werte aus dem Kanal in Excel einfügen kann mit noch einer spalten Überschrift also an spalte A2 z.B. Gibt es da einen bestimmten Befehl für den ich nur nicht finde?

 

Gruß Christek

0 Kudos
Message 4 of 5
(999 Views)

Hi,

 

Im SCRIPT Modul den Aufzeichnungsmodus einschalten

Im NAVIGATOR mit D&D die Root im Datenportal auf das Speicherziel droppen

Im Dialog den Excel Filter auswählen und Datei speichern

Im SCRIPT Modul den Aufzeichnungsmodus ausschalten

 

Dann kommt etwa das dabei heraus:

Call DataFileSave(MyFolders(0)&"EXAMPLE.xlsx", "ExcelTdmExport", True)

 

Gruß

Walter

0 Kudos
Message 5 of 5
(994 Views)