LabVIEWForum.de
Dauerhaft auslesen, nur jede x Sekunden speichern - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO)
+---- Thema: Dauerhaft auslesen, nur jede x Sekunden speichern (/Thread-Dauerhaft-auslesen-nur-jede-x-Sekunden-speichern)



Dauerhaft auslesen, nur jede x Sekunden speichern - FLUIDVT - 18.08.2009 10:34

Hallo liebe LabVIEW-GötterSmile
ich habe mich nun bereits durch diverse PDFs und Howtos / Tutorials, Anleitungen und Beiträge gelesen.. trotzdem wills bei mir einfach nicht klappen.

Ich habe zwei Channel die ich auslese, diese grafisch und als digital-Wert ausgebe und die ich in der selben Schleife auch speichern könnte. Allerdings ist die Speicherintervall dadurch viel zu hoch, nämlich im MS-Bereich.

Das möchte ich gerne ändern indem ich das Speichern einer anderen Schleife überlasse. Jedoch bekomme ich die Werte nicht dauerhaft in die andere Schleife, so das diese gespeichert werden können.

Tunneln klappt eh nicht (wofür ist das überhaupt?) Und bei den Schieberegistern wird nur der letzte Wert übergeben (die sind doch dafür da dauerhaft was zu übergeben?!)...

Habe das vi mal angehängt, hoffe Ihr versteht was ich meine?! .. LabVIEW-Erfahrung: 2 Tage MellowCool

Grüße,
Tim

LV Version: 7 Express
[attachment=20592]


EDIT: Cross-Post:
http://www.LabVIEWportal.eu/viewtopic.php?f=51&t=1353


Dauerhaft auslesen, nur jede x Sekunden speichern - AnR - 18.08.2009 15:14

Tipp ist mit Queues arbeiten. Hört sich schwerer an als es ist, Stichwort ist "Producer/Consumer" Model. Kann man wunderbar mit rumspielen!


Dauerhaft auslesen, nur jede x Sekunden speichern - FLUIDVT - 19.08.2009 07:40

Hallo,
ich denke mal das hier ist gemeint, oder?

[attachment=20637]
(Bild ist im Original von Felix Annan, http://cnx.org/content/m13752/latest/ )

*Obtain Queue* Startet die Queue vor Schleife 1
*Enqueue Element* bekommt den Wert in Schleife 1
*Dequeue Element* gibt den Wert in Schleife 2 ab an das VI was die Messdaten schreibt
*Release Queue* beendet die Queue hinter Schleife 2

richtig?!

Wenn ja... unter welchem Feld finde ich die Queues.. bin etwas blind geradeSmile
Sowas hab ich bei mir noch nicht gesehen:
vgl. Bild 4 aus http://expressionflow.com/2007/10/01/labvi...e-architecture/

Grüße,
Tim


Dauerhaft auslesen, nur jede x Sekunden speichern - FLUIDVT - 19.08.2009 08:18

Editieren geht ja leider nicht mehr?!
Aber hab die Palette gefunden.. ist ja schon ziemlich versteckt.

Ansonsten, stimmt das so mit der Datenübergabe?! Wird nämlich wieder nur ein Wert (der letzte) übergeben?


Dauerhaft auslesen, nur jede x Sekunden speichern - FLUIDVT - 19.08.2009 08:51

Lv70_img[attachment=20610]
Mal das neuste.


Bahn

Die interne Hilfe gibt auch nicht gerade viel her .. oder ich schnalls einfach nicht :/

vllt. kann mal jmd. die Beiträge zusammenfassen... ich hasse Doppelpost's :/


Dauerhaft auslesen, nur jede x Sekunden speichern - Schwand - 19.08.2009 12:02

Huhu,

Die Queues sind unter

Advanced -> Synchronization -> Queue Operations (LV 7.1)


Mit denen habe ich aber auch noch nicht gearbeitet...Könntest du nicht sonst auch um die Messdatenerfassung eine For-Schleife machen, die beliebige Durchläufe macht und dann die gesammelten Werte speichert.


Grüßle
S.


Dauerhaft auslesen, nur jede x Sekunden speichern - jg - 19.08.2009 20:11

Offtopic
' schrieb:vllt. kann mal jmd. die Beiträge zusammenfassen... ich hasse Doppelpost's :/
Und ich hasse LVF-Neulinge, die mal gleich mehrfach die LVF-Regeln übertreten.

Dazu gehört:
1) Crosspost derselben Frage in verschiedenen Foren!
http://www.LabVIEWportal.eu/viewtopic.php?f=51&t=1353
Das ist hier nur erlaubt, wenn du den Link zum Crosspost angibst!

2) Screenshots nicht im Forum hochgeladen.
War natürlich etwas schwierig in diesem Fall, da du auf Screenshots verlinkt hast, die du nicht selber erstellt hast.

3) Bei jedem VI-Upload LV-Version angeben!

Gruß, Jens


Dauerhaft auslesen, nur jede x Sekunden speichern - IchSelbst - 19.08.2009 21:15

Hallo FLIUDVT,

Ich hab mir mal ein VI angekuckt. Dabei ist mir folgendes aufgefallen.

Erstens:
Du hast die beiden While-Schleifen sequenziert. Das ist doch bestimmt nicht in deinem Sinne. Die Sequenzierung kommt dadurch, dass du das Bedienelement STOPP aus der linken While-Schleife (Daten samplen?) per Draht in die rechte While-Schleife (Daten speichern?) führst. Das hat dann zur Folge, dass maximal ein Element in der Datei steht. Mach vom Bedienelement STOPP eine lokale Variable und setz die in die rechte While-Schleife.

Zweitens:
Wenn du nur alle X Sekunden speichern willst, dann musst du die Queue komplett auslesen und nur den letzten Wert verwenden. Jetzt liest du jeden Wert aus. Allerdings mit einer Verzögerung von 1 Sekunde.