LabVIEWForum.de
Programm wird langsamer - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Programm wird langsamer (/Thread-Programm-wird-langsamer)

Seiten: 1 2


Programm wird langsamer - monoceros84 - 27.09.2007 14:35

' schrieb:Vielen Dank für Deine freundliche Hilfe. Ich habe die DAQvi zusammengefügt (siehe Bild).

Leider läuft das Programm immer noch langsam. Wenn man die Konstante an der "Wait Until Next ms Multiple"vi auf 100 stellt, dann zählt es genau gleich langsam weiter, als wenn die Konstante auf 1000 gestellt ist.

Es ist aber trotzdem besser geworden. Ich hatte damals das Problem, als ich noch alles in der Schleife hatte, das die Laufzeit in wirklichkeit 1min und 30 sec und in LabVIEW 1min betrug. Jetzt ist es in wirklichkeit nur noch 1min und 5sec.

Es hat sich was verbessert. Ich versuche es jetzt mit dem ElapsedVI. Vielleicht wird es damit besser.

Aber trotzdem, Deine Lösungen/Hilfen waren super.

Mfg

Vielleicht hilft dir auch folgendes Tool: Tools -> Profile -> Performance and Memory. Dann Start drücken. Danach startest du dein VI, stoppst es irgendwann wieder und drückst im Performance-Tool auf Stop.
Mit diesem Tool erkennst du ein paar Sachen, die dir sagen, wo du beim Tuning ansetzten solltest. Laufzeiten, Anzahl an VI-Aufrufen usw.


Programm wird langsamer - tzy2001 - 01.10.2007 15:17

' schrieb:Vielleicht hilft dir auch folgendes Tool: Tools -> Profile -> Performance and Memory. Dann Start drücken. Danach startest du dein VI, stoppst es irgendwann wieder und drückst im Performance-Tool auf Stop.
Mit diesem Tool erkennst du ein paar Sachen, die dir sagen, wo du beim Tuning ansetzten solltest. Laufzeiten, Anzahl an VI-Aufrufen usw.

Ich hätte da noch eine Frage an Dich. Ich habe versucht in mein Programm ein einfaches Fehlerprotokoll zu realsieren.

Funktionieren sollte es so. Nur wenn ein Fehler auftritt, soll ein Protokoll geschrieben werden. Protokoll soll die Zeit an dem die Störung passiert ist festhalten, Art der Störung und eine Boolen LED soll leuchten und einen darauf hinweisen, das eine Störung geschehen ist.

Ich weiss nicht wie das geht und wäre über Deine Hilfe sehr dankbar.

Mfg


Programm wird langsamer - Hep - 24.10.2007 21:22

' schrieb:Nein das ist nicht gesagt!

Die Wait Until Multiple Milliseconds Funktion basiert die interne Zeitmessung auf dem Timertick. Dieser wird intern im Computer von der Taktfrequenz abgeleitet und ist nur ungefähr korrekt im Hinblick auf unsere normale Zeitmessung. Auch kann die Taktfrequenz leicht schwanken abhängig von der Temperatur. Der PC Timertick ist übrigens notorisch dafür dass er nicht ganz so genau ist wie das manche Leute gerne haben möchten und Schwankungen von +-1% zwischen mehreren PCs sind absolut keine Seltenheit.

Wenn Du eine wirklich korrekte Timed Datenerfassung machen willst wirst Du neben dem Zusammenfassen der Kanäle in einen Task auch noch die Verwendung von Timed Buffered Data Acquisition lernen müssen. Dann wird der Takt auf der Datenerfassungskarte generiert die einen wesentlich genaueren Taktgeber besitzt der voll in Hardware implementiert ist und nicht durch CPU Interrupts aufgehalten werden kann.

Rolf Kalbermatter

Hallo,
Die Timed Buffered Data Acquisition hat mich hellhörig gemacht. Was ist denn das genau? Unter genau diesem Begriff habe ich nichts in der Hilfe und hier im Forum gefunden. Ich verwende DAQmx-vis mit internem Clockgenerator. Ist das schon die tbda? weiß eben nicht wo der Takt dabei gegeben wird...

Danke sehr, viele Grüße
Hep


Programm wird langsamer - monoceros84 - 25.10.2007 09:19

Ich schätze mal ja. Unter dem Begriff verstehe ich nichts anderes, als dass kontinuierlich getimet Daten erfasst werden und in einem Buffer abgelegt. Wenn du am DAQmx Timing "Continuous" anlegst, kannst du ja auch die Buffergröße festlegen...

Was Rolf wohl damit gemeint hat ist eine Unabhängigkeit des Erfassungstimings von der Prozessorauslastung, indem das Timing nicht von einer Schleife gemanagt wird.