From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

DIAdem

cancel
Showing results for 
Search instead for 
Did you mean: 

Datenauswahl / Automatische Aktualisierung / TDM

Hallo Community!

 

Folgende Lage:

Ich habe eine Ordnerstruktur mit Geräte-TDM-Files. Jedes neu getestete Gerät speichert eine neue TDM-File in diesem Ordner ab. 

Ziel ist es, aus diesen gesammelten Werten der verschiedenen Geräte einen Mittelwert darzustellen. (Also von allen Geräten über einen Zeitraum)

Für die Darstellung benötige ich nicht alle Kanäle. Ich "ziehe" mir also nur welche ich dafür brauche. 

Den einfachen Weg dafür habe ich soweit auch schon programmiert. 

Daten mit DataFileLoadSel ausgewählt, Berechnungen und Report erstellt. 

 

Problem:

Neu getestete Geräte mit neuen TDM-Files in der Ordnerstruktur muss ich im Script neu hinzufügen. (Datenauswahl, Berechnung, etc)

 

Gibt es eine Lösung, dass neue TDM erkannt werden, bzw. einfach alle TDM in einem Ordner berücksichtigt werden und ins Datenportal geladen werden? Also eine automatische Aktualisierung?

 

Ich habe es schon mit Platzhaltern (*) etc. versucht. Nur kann dann nie die Datei gefunden werden. 

 

Anschließend muss ich natürlich auch die Berechnungen in Schleifen verpacken, nur komme ich nicht soweit, weil ich bisher alles einzeln eingefügt habe. Da waren dann keine Schleifen nötig.

 

Im Anhang ist ein Screenshot meiner Dateiauswahl, wie sie jetzt funktioniert. 

Beispiel: Würde ich nun TestStack4 abspeichern, dann müsste ich in Zeile 24 "Call DataFileLoadSel...." einfügen. Das möchte ich mir eben gerne ersparen. Auch danach die Anpassung der Rechnungen. 

 

Edit: Alternativ habe ich schon überlegt einfach einen Dialog anzulegen und mit diesem einfach Daten auszuwählen und demensprechend nach dieser Auswahl die Daten auf das wesentliche zu reduzieren und die Berechnungen dafür anpassen. Vielleicht die "einfachere / bessere" Lösung?

 

Ich Danke für kommendes Feedback 🙂

 

Upload.jpg

 

 

 

 

0 Kudos
Message 1 of 3
(916 Views)

An easy way to loop is just using file system object

Option Explicit

dim folderPath : folderPath = "C:\Users\Public\Documents\National Instruments\DIAdem 2021\Data\"

data.Root.Clear
dim fso : set fso = CreateObject("Scripting.FileSystemObject")
dim folderO : set folderO = fso.GetFolder(folderPath)
dim files : set files = folderO.Files
dim fileO : for each fileO in files
  if 0 = strcomp("tdm", fso.GetExtensionName(fileO.name), vbtextcompare) then
    call DataFileLoadSel(fileO.Path, "TDM", "[1]/[1]", "LoadOnWriteAccess")
  end if
Next
0 Kudos
Message 2 of 3
(891 Views)

Hello AndreasK!

 

As you can see, my level of experience is still very low.
Thanks for the help. It works.

 

🙂

0 Kudos
Message 3 of 3
(882 Views)