LabVIEWForum.de
Zeitgesteuert Werte lesen. - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Zeitgesteuert Werte lesen. (/Thread-Zeitgesteuert-Werte-lesen)

Seiten: 1 2 3


Zeitgesteuert Werte lesen. - Snowball - 07.05.2012 13:06

Guten Tag,

ich habe mal wieder eine Frage. Im Sub VI "Daten Holen" meine Projektes möchte ich über die Abtastrate gesteuert die Werte von Netzwerkvariablen auslesen. Dies wollte ich so realisieren, dass die abgelaufene Zeit mit der Zeit der Abtastrate verglichen wird und bei erreichen der Sollzeit sollten die Werte dann ausgelesen werden. Nun habe ich beim Programmieren nicht daran gedacht, dass die Funktion "Tick Count" ja nicht die abgelaufene Zeit der Schleife ausgibt, sondern scheinbar die Zeit seit dem letzten neustart des Systems. Dies ist mir dann beim überprüfen der Funktion aufgefallen und wurde etwas unkonventionell gelöst glaube ich. Nun wollte ich fragen ob jemand einen Vorschlag hat wie ich dies besser lösen kann.

Das Projekt ist auf Lv09_img2 kompatibilität abgespeichert.


RE: Zeitgesteuert Werte lesen. - Lucki - 07.05.2012 13:25

Ohne das Vi gesehen zu haben:
Für die Bestimmung der abglaufenen Zeit gibt es das VI "verstrichene Zeit", welches außerdem einen Boolschen Ausgang "Zeit ist abgelaufen" hat und außerdem sich bei Bedarf nach Ablauf der verstrichenen Zeit automatisch neu initialisiert. Einfacher gehts wirklich nicht.
Weil aber aber ExpressVIs bei Vielen verpönt sich, wird leider oft das Kind mit dem Bad ausgeschüttet und auch kein Gebrauch von solchen ganz einfachen Express-Vis gemacht.
(Man kann es mit "als Symbol anzeigen" auf normale Ikongröße stutzen, dann fällt Deine Untat gar nicht mehr so auf)


RE: Zeitgesteuert Werte lesen. - TSC - 07.05.2012 13:29

..Ergänzung zu Lucki:
und wer nun wirklich kein ExpressVI mag, der kann sich den Quellcode davon ansehen und auf seine eigenen Wünsche reduzieren/erweitern.
(ExpressVI im Blockdiagrammeinfügen, Rechtsklick->Frontpanel anzeigen, bis zur gewünschten Tiefe wiederholen)


RE: Zeitgesteuert Werte lesen. - Snowball - 07.05.2012 13:51

Super! Das macht genau das was ich brauche...habe es nicht genutzt da die Express VI ja so verpönt sind und ich dachte, dass es wie die "Wait" Funktion dazu führt, dass das VI solange wartet bis die Zeitabgelaufen ist bevor eine andere eingabe gemacht werden kann.


RE: Zeitgesteuert Werte lesen. - Snowball - 08.05.2012 08:58

Guten Morgen,

ich bin mir nicht sicher ob ich hierfür ein neues Thema aufmachen soll, also post ich es ersteinmal hier. In einer "For Schleife" lese ich Werte aus einer Queue aus um sie nach erreichen einer bestimmten Anzahl von Werten dann in einen Graphen zu schreiben. Mein Problem ist das die Schleife ja darauf wartet das die Queue einen Wert bekommt den sie auslesen kann, dies führt dann dazu das ich bei längeren Abtastraten die Schleife nicht auf die Art beenden kann wie ich es realisiert habe. Kann mir jemand einen Tip für eine bessere Lösung geben?


RE: Zeitgesteuert Werte lesen. - jg - 08.05.2012 09:06

Timeout am Dequeue anschließen und auswerten?!

Gruß, Jens


RE: Zeitgesteuert Werte lesen. - Snowball - 08.05.2012 10:08

Das Problem dabei ist, dass dann bei jedem Timeout die Schleife einmal ausgeführt wird und ich dadurch nichtmehr auf die gewollten 1800 Werte komme.


RE: Zeitgesteuert Werte lesen. - jg - 08.05.2012 10:18

Dann steig von einer For- auf eine While-Schleife um, die solange läuft, bis du wirklich 1800 Werte ausgelesen hast.

Gruß, Jens


RE: Zeitgesteuert Werte lesen. - Lucki - 08.05.2012 10:34

Das Bild in #5 nehme ich gleich mal zum Anlass meine Signatur zu ändern. Die Sequenzstruktur hier ist überflüssig wie ein Kropf.
An alle: Könnte man die Signatur noch etwas griffiger formulieren?


RE: Zeitgesteuert Werte lesen. - Snowball - 08.05.2012 11:12

Irgendwie steh ich aufm Schlauch...das Problem ist nun das natürlich bei jedem Timeout eine Null als Wert auslese. Ich hab mal mein Projekt neu angefügt da ich einige änderungen vorgenommen habe.

Ich möchte nach Betätigung des Aufnahme Buttons anfangen die Messwerte mit der Eingestellten Abtastrate aufnehmen und sobald 1800 Messwerte erreicht sind in den Graphen übertragen. Diese Messung möchte ich aber jederzeit unterbrechen und natürlich auch das Programm jederzeit stoppen können. Eignet sich die Warteschleife hierfür überhaupt oder bin ich schon auf dem Holzweg? Wenn ich mich auf dem Holzweg befinde, wie könnte ich es besser umsetzen und wenn das so schon geht, wie kann ich dann verhindern das mir bei einem Timeout ein leerer Wert ausgelesen wird.

Das Projekt ist ab Lv09_img2 kompatibel