LabVIEWForum.de - Bestimmung der Programmlaufzeit

LabVIEWForum.de

Normale Version: Bestimmung der Programmlaufzeit
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
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
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.
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
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
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
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...
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.
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
Hallo TiCy,

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