INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.




Unsere Partner:

DIAdem-Forum.de Partner

DIAdem-Forum.de Partner






Stellenangebote:
Ingenieur/in Fernüberwachung
Westliches Ruhrgebiet

Senior Softwareentwickler/in
Westliches Ruhrgebiet

Entwicklungsingenieur (m/w) Auslegung / Versuch für Elektromotoren
Frankfurt

Berater und SW-Entwickler (m/w) für 3D-Erfassung/-Visualisierung/-Druck
Ulm

Applicationsingenieur (m/w) Testsysteme Central IE Prozessentwicklung
Frankfurt am Main





.
 
Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5

Skript für Umwandlung TDMS in DAT
03.06.2009, 10:17,
#1
DIAdem-Version: Diadem 10
DIAdem-Sprachversion: DE
DIAdem Erfahrung seit: 2009
Skript für Umwandlung TDMS in DAT

Hallo,

ich sitze derzeit an folgendem Problem:
Ich möchte alle tdms-Dateien eines beliebigen Ordners öffnen und jede einzelne Datei als dat-Datei wieder abspeichern. ... also lediglich eine Umwandlung von tdms- in dat-Dateien vornehmen, und dies automatisiert in einem VB-Skript.

Wäre klasse, wenn mir jemand helfen könnte, dies zu automatisieren.

Vielen Dank schon mal im Voraus für eure Ideen! Smile

03.06.2009, 11:17,
#2
DIAdem-Version: 2011 und 2012 und auf alten CD's runter bis 3.0
DIAdem-Sprachversion: DE
DIAdem Erfahrung seit: 1996
RE: Skript für Umwandlung TDMS in DAT

Hallo Ramone,
willkommen im Forum!
Hier hat Voyager einen schon einmal erklärt, wie man sich ein einfaches Script erstellen kann.
Wenn es für eine Datei funktioniert, kann man entweder die Serienauswertung von DIAdem verwenden (einfach mal in der Hilfe nach dem Begriff suchen), oder per VBS etwas selber programmieren (FileSystemObject).
Ich hoffe, dass hilft Dir schonmal etwas weiter.
Gruß
Bruno

DIAdem 2012
03.06.2009, 11:17,
#3
DIAdem-Version: alle
DIAdem-Sprachversion: DE/EN
DIAdem Erfahrung seit: 1995
RE: Skript für Umwandlung TDMS in DAT

Hallo ramone,

es gibt mehrere Varianten das zu tun - aber ehrlich gesagt frage ich mich weshalb du das alte DAT-Format verwenden möchtest.

Variante 1:
Du verwendest die Befehle
FileDlgShow(...)
DataFileLoad(...)
DataFileSave(DateiPfadundName, "DD8x")

Variante 2:
Du verwendest den DataFinder zur Suche und speicherst die geladenen Daten wieder mit:
DataFileSave(DateiPfadundName, "DD8x")

Wenn du den Aufzeichnungsmodus in SCRIPT aktivierst und alles einmal händisch machst werden diie notwendigen Befehle in den Editor übertragen. (beim DataFinder die Tastenkombination CTRL-A nach der Suche nicht vergessen)

Carpe DIAdem

05.06.2009, 11:09,
#4
DIAdem-Version: 10.2
DIAdem-Sprachversion: DE
DIAdem Erfahrung seit: 2009
RE: Skript für Umwandlung TDMS in DAT

Hallo zusammen.

ich habe ein ähnliches Problem.
Ich möchte eine TDMS datei lesen, 3 kanäle löschen und dann als LVM abspeichern. Dies soll solange gemacht werden, bis alle TDMS-Dateien aus dem ordner gelesen werden.
ICh habe das schon mit der Serienauswertung von DIAdem versucht, bin aber zu keinem ordentlichen ergebnis gekommen. Der öffnet alle makierten daten auf einmal und speichert die dann auch nicht richtig, da in der FileList die dateiendungen drin stehen. Die Serienauswertung von DIAdem würde ich nur ungern benutzen.

ich bitte um eure hilfe

05.06.2009, 11:25,
#5
DIAdem-Version: alle
DIAdem-Sprachversion: DE/EN
DIAdem Erfahrung seit: 1995
RE: Skript für Umwandlung TDMS in DAT

Hallo Matthäus, ramone,

hier ein Beispiel für DIAdem 11.0, das den DataFinder einsetzt:

Code:
Dim oMyAdvancedQuery
Set oMyAdvancedQuery=Navigator.CreateQuery(eAdvancedQuery)
Call oMyAdvancedQuery.Conditions.Add(eSearchFile,"fullpath","=","C:\Dokumente und Einstellungen\All Users\Dokumente\National Instruments\DIAdem 11.1\Data\*")
Call oMyAdvancedQuery.Conditions.Add(eSearchFile,"dataPluginName","=","TDMS")
oMyAdvancedQuery.Conditions.Logic = "C1 AND C2"
oMyAdvancedQuery.ReturnType=eSearchFile
'--- Search without GUI
Dim oMyDataFinder, oMyResults
set oMyDataFinder = Navigator.ConnectDataFinder("My DataFinder")
Call oMyDataFinder.Search(oMyAdvancedQuery)
set oMyResults  = oMyDataFinder.Results

Dim oDataElem

for each oDataElem in oMyResults
  call Data.Root.Clear
  msgbox oDataElem.Properties("fullPath").Value
  
  'DataFileLoad(oDataElem.Properties("fullPath").Value)
  ' ### do something
  ' DataFileSave(MyPathAndName, "LVM")
next

Carpe DIAdem

05.06.2009, 13:24, (Dieser Beitrag wurde zuletzt bearbeitet: 09.06.2009, 18:30 von diademo.)
#6
DIAdem-Version: 10.2
DIAdem-Sprachversion: DE
DIAdem Erfahrung seit: 2009
RE: Skript für Umwandlung TDMS in DAT

Danke Carpe_DIAdem,

aber für einen neuling ist dien code nicht ganz nachvollziehbar.

HIer ist ein auszug aus meinem code. ICh kann die daten öffenen und anschließend speichern. Leider überspeichert der mir die alte datei, aber ohne die dateiendung zu ändern. woran liegt das?

Code:
CODE:
%%%%
Dim vFoundFiles, iCount, strAll
vFoundFiles =  DirLstWrite("Dateipfad", "Dateiname", "filename", , 1, "FullFilenames")
For iCount = 0 to 2
  Call DataDelAll(1)
  strAll =  strAll & vFoundFiles(iCount) & VBCrLf
  Call DataFileLoad(vFoundFiles(iCount),"","")
  Call ChnClpCopy("'[1]/s_A1' - '[1]/s_i'")
  Call DataFileSave(vFoundFiles(iCount),"LVM")
Next
MsgBoxDisp strAll
%%%%

danke

EDIT: Bitte in Zukunft Code-Tag nutzen Smile

08.06.2009, 15:27,
#7
DIAdem-Version: 2011 und 2012 und auf alten CD's runter bis 3.0
DIAdem-Sprachversion: DE
DIAdem Erfahrung seit: 1996
RE: Skript für Umwandlung TDMS in DAT

Hallo Matthäus,

Du gibst ja auch den gleichen Dateinamen vor, den Du öffnest. Versuche einmal, die neue Dateiendenung entweder selbst zu setzen oder auszutauschen. Der Befehl "FileNameSplit" kann dabei hilfreich sein...

Gruß
Bruno

DIAdem 2012
09.06.2009, 10:54, (Dieser Beitrag wurde zuletzt bearbeitet: 09.06.2009, 18:30 von diademo.)
#8
DIAdem-Version: 10.2
DIAdem-Sprachversion: DE
DIAdem Erfahrung seit: 2009
RE: Skript für Umwandlung TDMS in DAT

Hallo Bruno.

Mit dem Dateinamen hast du recht, wie konnte ich das übersehen?
Ich habe mein script überarbeitet und mit FileNameSplit gearbeitet und es funktioniert.

Hier steht das neue script:

Code:
%%%
Dim vFoundFiles, iCount, strAll, strMyFileName, strMyFilePath, strMyFile
vFoundFiles =  DirLstWrite(FilePath, "*KSS-Versuch*.TDMS", "filename",Listfile , 1, "FullFilenames")

For iCount = 0 to 10
  Call DataDelAll(1)
  strAll =  strAll & vFoundFiles(iCount) & VBCrLf
  MsgBoxDisp vFoundFiles(iCount)
  Call DataFileLoad(vFoundFiles(iCount),"","")
  Call ChnDelete("[1]/s_R1")          '... ClpSource
  Call ChnDelete("[1]/s_R2")          '... ClpSource
  Call ChnDelete("[1]/a_Z")           '... ClpSource
  Call ChnDelete("[1]/t_welle")       '... ClpSource
  Call ChnDelete("[1]/s_i")       '... ClpSource
  Call ChnClpCopy("'[1]/s_A1' - '[1]/s_n'")
  strMyFilePath=FileNameSplit(vFoundFiles(iCount),"P")
  strMyFileName=FileNameSplit(vFoundFiles(iCount),"N")
  strMyFile=strMyFilePath & strMyFileName
  MsgBoxDisp strMyFile
  Call DataFileSave(strMyFileName & ".lvm","LVM")
Next
MsgBoxDisp strAll
%%%
Ich habe da noch eine weitere frage.
in der For schleife möchte ich gerne den statischen wert der schleifendurchläufe eleminieren und durch etwas dynamisches ersetzen. ich wollte es mit dem befehl UBound(vFoundFiles) versuchen, funktioniert aber nicht.

Danke schon mal im voraus.

Gruß
Matthäus

09.06.2009, 11:35,
#9
DIAdem-Version: alle
DIAdem-Sprachversion: DE/EN
DIAdem Erfahrung seit: 1995
RE: Skript für Umwandlung TDMS in DAT

Hallo Matthäus,

ich habe gerade folgendes in DIAdem 11.0 getestet:

Code:
dim aTest
aTest = DirLstWrite("d:\Test\", "*.*", "filename", , 0, "FullFilenames")
msgbox ubound(aTest)

Das funktioniert. Teste das doch auch einmal bei dir.

Carpe DIAdem

09.06.2009, 11:47,
#10
DIAdem-Version: 10.2
DIAdem-Sprachversion: DE
DIAdem Erfahrung seit: 2009
RE: Skript für Umwandlung TDMS in DAT

Hallo Carpe DIAdem

ich habe es getestet und es funktioniert auch bei mir. Muss mich vertippt haben oder so, als es noch nicht funktionierte.

danke



Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  View Kurve "keine Farbe" per Skript stellan 0 3.371 11.06.2014, 19:04
Letzter Beitrag: stellan
  Skript auf mehrere Arbeitsblätter eines Layouts anwenden christoph_TUD 3 8.110 30.04.2014, 12:50
Letzter Beitrag: Monnem89
  Band Cursor zur Auswahl von Teilen von Kanälen in Skript nutzen Monnem89 5 6.638 16.04.2014, 06:28
Letzter Beitrag: Monnem89
  Legende per Skript befüllen ibofumo 1 3.933 24.03.2014, 15:18
Letzter Beitrag: ibofumo
  skript einbindung b-baer 0 2.344 09.02.2011, 10:04
Letzter Beitrag: b-baer
  Skript abbrechen FelixKn 0 3.826 16.06.2010, 12:16
Letzter Beitrag: FelixKn
  Mehrere TDMS nacheinander abarbeiten p2b 4 6.579 14.01.2010, 15:48
Letzter Beitrag: p2b
  View aus Skript aufrufen karom 6 11.551 09.11.2009, 21:33
Letzter Beitrag: Otmar Foehner
  Dialogbox in Skript einbinden karom 6 7.535 22.10.2009, 20:46
Letzter Beitrag: karom

Gehe zu: