LabVIEWForum.de
Bestimmung der Programmlaufzeit - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Bestimmung der Programmlaufzeit (/Thread-Bestimmung-der-Programmlaufzeit)



Bestimmung der Programmlaufzeit - TiCy - 19.09.2012 12:32

Hallo zusammen.

Ich bin auf der Suche nach einer Funktion, mit welcher man sich die Programmlaufzeit in Millisekunden ausgeben kann. Ich möchte in einem VI zwischen dem Bereitstellen von Messwerten und der Ausgabe des errechneten Wertes die verschrichende Zeit so ganau wie möglich bestimmen, um verschiedene Methoden zu vergleichen. Ich habe gehört das es dafür Toolkits gibt, nur mein Rechner verfügt nicht über diese oder ich bin zu doof diese zu finden. Bei dem Timing-Funktionen finde ich auch nicht die Passende. Vielleicht kenn von Euch wer eine Funktion die das kann.

MFG TiCy


RE: Bestimmung der Programmlaufzeit - Lucki - 19.09.2012 12:44

Du weißt also wie man die Laufzweit mit Uhren bestimmt - aber Du fragst nach einem Werkzeug.
Das findet man unter BD/Werkzeuge/Profil/Leistung und Speicher.
Allerdings bin ich selbst mit der Zeitmessung nicht klar gekommen, statt ein- oder zweistelliger ms-Anzeigen kamen vielstellige Ergebnisse in der Größenordnung von Tagen oder Jahren heraus. Aber kann ja sein, dass Du mehr Glück hast.


RE: Bestimmung der Programmlaufzeit - Sekonty - 19.09.2012 12:55

Hallo Lucki,

habe mir mal das Buch Einführung in LabView von Georgi und Metin gekauft da wird das in etwa so beschrieben.

Grüße Sekonty


RE: Bestimmung der Programmlaufzeit - A.Berndsen - 19.09.2012 13:15

Hallo,

so würde ich es auch erst mal machen. (Lucki eigentlich auch)
Wichtig ist die Timerzeiten in dem Programmablauf zur richtigen Zeit erfassen!
Das muß wohl überlegt sein, wenn diese Zeiterfassung in einem bestehenden Programm realisiert wird.

Grüße
Andreas


RE: Bestimmung der Programmlaufzeit - TiCy - 19.09.2012 15:05

Hallo.

Danke für eure ersten Ideen. Die Lösung mit der Funktion Timer-Wert und den Sequenzen ist einfach und gut. Mein Problem ist dabei nur, dass ich drei Methoden in einenm VI vergleiche. Dafür müsste ich ja drei Sequenzen parallel ablaufen lassen. Ich habe bedenken, dass das so nicht klappen könnte oder ist meine Sorge falsch?
Gibt es eventuell noch andere Möglichkeiten um diese Zeit zu bestimmen??

Schönen Tag Euch noch
MFG TiCy


RE: Bestimmung der Programmlaufzeit - GerdW - 19.09.2012 15:29

Hallo TiCy,

Zitat:Dafür müsste ich ja drei Sequenzen parallel ablaufen lassen
Falsch. Für eine genau(ere) Zeitmessung muss du die 3 Dinge nacheinander ablaufen lassen. Dann kannst du das mit einer (!) Sequenzstruktur und mehreren Frames erledigen...


RE: Bestimmung der Programmlaufzeit - Lucki - 19.09.2012 17:05

Man kann auch für jede Zeitbestimmung eine eigene Sequenzstruktur verwenden, aber damit die nicht parallel ablaufen, muß man mit einem ansonsten funtionslosem Draht zwischen den Strukturen dafür sorgen, dass eine künstliche Datenabhänigkeit hergestellt ist. (Trotzdem: Wenn man die Reihenfolge der Abarbeitung vertauscht, muss man sich manchmal auf Überraschungen gefasst machen)
Also z.B. so:
[attachment=41594]
Hier wurden außerdem noch zwei for-Schleifen benutzt, die folgende Bedeutung haben:
Die For-Schleife innerhalb der Sequenz soll dafür sorgen, dass die Messzeit in den messbaren Bereich von ms kommt.
Mit der for-Schleife außerhalb der Sequenz wird eine Statistik der Messzeiten (hier: Graph) erstellt, weil die Messzeiten erfahrungemass nicht konstant sind.


RE: Bestimmung der Programmlaufzeit - TiCy - 20.09.2012 10:13

Hi, danke für Eure Hilfe. Thanx

Über dem ganzen Programm klappt die Lösung schon super, nun muss ich die 3 Methoden einzelnen in die Sequnzen aufteilen. Zur Zeit versuche ich im Main VI Programmteile in SubVIs auszulagern. Hierbei ist ein anderes Problem entstanden. Ich rufe an drei verschiedenen Stellen(verschiedene Methoden) ein Unterprogramm auf (siehe Bild). Obwohl der Wert an allen drei Stellen unterschiedlich sind, kommt aus allen drei SubVIs ein und der selbe Wert herraus. Ich habe die Rückkopplungsknoten im Verdacht, weil das Vorgänger-SubVI diesen Fehler nicht hatte (ohne Rückkopplungsknoten).

Benenne ich die VIs unterschiedlich obwohl der selbe Programminhalt drin steht klappt es wie gewünscht.
Warum das klappen muss ist ist mir klar.

Kann mir einer von Euch meinen kleinen Horizont verweitern?

MFG TiCy


RE: Bestimmung der Programmlaufzeit - GerdW - 20.09.2012 10:30

Hallo TiCy,

dann mach dich mal zum Thema "reentrant"/"ablaufinvariant" in der LabVIEW-Hilfe schlau...