DIAdem

cancel
Showing results for 
Search instead for 
Did you mean: 

MyDatafinder Indizierung zu langsam?

Solved!
Go to solution

Hallo Gemeinde,

 

ich habe schon mehrmals versucht das zu lösen, aber da mir dauernd was dazwischen gekommen ist, konnte ich mich noch nicht ernsthaft damit beschäftigen. Und zwar:

 

Wir schreiben mit LabView tdms-Dateien, die 24/7 laufen, da wir aber alle 8 Stunden einen Bericht haben wollen, schreiben wir alle 8 Stunden in eine neue Datei. Die Daten werden nur ein mal pro Minute geloggt und es sind auch nur timestamp + 6 werte, also sehr wenig Daten, ein paar KB am Tag. Das Problem ist, dass die Indizierung irgendwie zu langsam scheint. Das Script soll die letzten 7 Tage auswerten, insbesondere aber die vergangenen 24 Stunden. Deshalb wird um 5:10 Uhr, 13:10Uhr und 21:10 Uhr in die jeweils nächste tdms-Datei gewechselt.

 

Zunächst haben wir direkt nach dem Wechsel das Script ausgeführt, das den Bericht erstellt, allerdings war da dann die zuletzt fertig gestellte tdms-Datei nicht enthalten. Wenn man das Script nach dem Suchvorgang stoppt, sieht man, dass alle Dateien (gefiltert wird nach einer benutzerdefinierten Eigenschaft, die im MyDatafinder registriert ist, die restlichen Einstellungen sind die Standard-Einstellungen) gefunden werden, allerdings die letzte nicht indiziert ist und somit nicht in die Auswertung einfliesst. Beim nächsten Bericht ist diese Datei dann verfügbar.

 

Um MyDatafinder mehr Zeit zum Indizieren zu geben, starten wir das Script nun erst um 5:30 Uhr bzw. + jeweils weitere 8 Stunden. Das Ergebnis ist aber das gleiche, die letzte tdms-Datei wird nicht indiziert.

 

Meistens wird der Bericht um 5:30 Uhr mit allen Werten erstellt. Aber warum dann die anderen nicht?

 

Ich habe auch eine Neuindizierung der gefundenen Dateien durch das Script versucht, aber das half auch nicht.

 

Ich bin für jeden Input dankbar!

 

Wir benutzen LabView 2009 und Diadem 11.0

 

Danke und Gruß,

NoUse666

0 Kudos
Message 1 of 9
(5,869 Views)

Hi NoUse666,

 

wäre es möglich, dass du uns das Script zum Anschauen uploaden könntest?

Abduelkerim

Sales
NI Germany
0 Kudos
Message 2 of 9
(5,858 Views)

Im Anhang ist der Anfang des Skripts, ich denke das sollte reichen um zu sehen, wie ich die Daten lade.

 

Schonmal Danke für die Hilfe.

0 Kudos
Message 3 of 9
(5,849 Views)
Solution
Accepted by topic author NoName123

Hallo,

ist mit Neuindizierung über das Skript die folgende Skriptzeile gemeint:

' Aktualisieren 
Navigator.Display.CurrDataProvider.Browser.RefreshAll()

Dies führt nicht zu einer Neuindizierung der Dateien, sondern lediglich zu einer Aktualisierung der Ansicht des Browsers im Navigator.

Ab DIAdem 2010 gibt es die Möglichkeit, eine einzelne Datei bzw. einen ganzen Ordner per Skript neu zu indizieren.

 

Vielleicht hilft es, die regelmäßige Indizierung des DataFinder auf stündlich zu setzen. Da sich in dem Suchbereich anscheinend nicht besonders viel verändert, sollte dies relativ schnell fertig sein, so dass die neue Datei zur Auswertung indiziert ist:

IndexHourly.png

 

' Aktualisieren 
Navigator.Display.CurrDataProvider.Browser.RefreshAll()
0 Kudos
Message 4 of 9
(5,826 Views)

Hallo,

 

Ahso, dachte der Befehl würde auch die Dateien indizieren.

 

wir haben das mit der stündlichen Indizierung ausprobiert und seitdem hat das zwei mal funktioniert, aber danach fehlten wieder die Daten der vergangenen 8 Stunden.

Ich dachte vielleicht bekommt der Datafinder nicht genügend Prozessor-Zeit, aber die Datenerfassung läuft mit ca 40% CPU-Last, also sollte da ja genügend Zeit für das Indizieren bleiben.

 

Ich weiß nicht, ob das damit zusammenhängt, aber seit heute kann ich das Script nicht mehr ausführen, Diadem stürzt dabei mir der Meldung

 

error while executing "" command 

 in der ntdll.dll ab. Soweit ich weiß sind die Windows-Updates auf dem Rechner deaktiviert und es wurde in letzter Zeit keine neue Software aufgespielt.

 

Langsam frustriert mich Diadem...

 

Gruß,

NoUse666

0 Kudos
Message 5 of 9
(5,797 Views)

Hallo,

ist es möglich, die Datei mit den Daten der letzten 8 Stunden in DIAdem zu öffnen, so lange diese noch nicht erfolgreich indiziert wurde?

Wie ist der Indexstatus für diese Datei?

IndexStatus.png

 

 

Vielleicht hilft es die stündliche Indizierung beizubehalten, aber den Observer des My DataFinder zu deaktivieren.

DisableObserver.png

 

0 Kudos
Message 6 of 9
(5,777 Views)

Hi,

 

Versuche mal den DataFinder mit "call oMyDataFinder.Indexer.UpdateIndex()" manuel zu updaten.

 

Gruss Stefan

 

 

 

0 Kudos
Message 7 of 9
(5,745 Views)

@stefanwimmer: in Diadem 11.0 scheint es diese Funktion noch nicht zu geben. Es kommt eine Fehlermeldung, dass es diese Eigenschaft nicht gibt.

 

@usac: Die Datei hat die Eigenschaft "Index Status" nicht. Erst, wenn diese indiziert ist, sehe ich den Status und der ist dann auch "eIndexedSuccess". 

 

Ich habe jetzt mal das VI geändert, sodass nach jedem Schreib-Vorgang die Datei geschlossen und defragmentiert wird. Ich habe in diesem Thread die Anregung dazu gefunden. Morgen Abend um 21.30 Uhr weiss ich, ob das funktioniert...

0 Kudos
Message 8 of 9
(5,734 Views)

So, jetzt funktioniert das, danke für eure Hilfe!

0 Kudos
Message 9 of 9
(5,714 Views)