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

LabVIEWForum.de

Normale Version: Dauerhaft auslesen, nur jede x Sekunden speichern
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
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
Tipp ist mit Queues arbeiten. Hört sich schwerer an als es ist, Stichwort ist "Producer/Consumer" Model. Kann man wunderbar mit rumspielen!
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
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?
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 :/
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.
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
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.
Referenz-URLs