INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dieses Thema hat akzeptierte Lösungen:

DAQ State Machine: Daten hängen nach



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

20.10.2014, 16:39
Beitrag #1

ExXeQtor Offline
LVF-Grünschnabel
*


Beiträge: 31
Registriert seit: Jul 2011

8.6
-
DE



DAQ State Machine: Daten hängen nach
Hallo zusammen,

ich habe zwei Fragen - ein Problem und eine Frage "was wäre das praktischste":

Das Setting: Ich mache grade einen Versuchsaufbau, bei dem ich den unterschied im Frequenzgang von mehreren Materialien vermessen will. Dafür speise ich ein für alle gemeinsames Referenzsignal ein möchte hinter allen (in diesem Fall) 3 Materialien das Signal für eine feste Zeitdauer messen (für jede Frequenz ein "Sample" von z.B. 3 Sekunden).

Die Idee ist also ganz einfach: Ich habe die Standard State Machine von LV so umgebaut, dass bei "Klick" 4 DAQ Channel (ist ein USB-6003) mit einer vorgegebenen Samplerate gleichzeitig ausgelesen werden, für genau X Sekunden. Das Projekt ist im Anhang.

Ich möchte zum Schluss gerne einen Versuch machen, bei dem ich zu verschiedenen Zeitpunkten (Abstände von 30min.) pro Frequenzpunkt eine Messung (also z.B. von 1-50Hz in 1Hz Schritten) aufnehme und abspeichere.


Nun das Problem:
Die SM funktioniert zwar, "laggt" das DAQ signal hinterher! Für ein Beispiel siehe das Bild im Anhang. Ich nutze da ein Signal vom Wavegenerator meines Oszis (leider schrecklich 50Hz überlagert in niedrigen Frequenzbereichen).
Lege ich ein Signal an und mache eine messung - und klipse das signal dann ab und mache noch eine Messung, bekomme ich offensichtlich noch Samples aus dem DAQ Puffer, die den Übergang (Signal on->off) beinhalten.

Ich wette die Profis unter euch sehen in meinem VI direkt was schief läuft! Könnt ihr mich aufklären? Ich habe extra im "Wait for Event" state einmal DAQ Read (mit number of samples per channel =-1) implementiert in der hoffnung, dass wärend dem "wait" der buffer so immer aktuell gehalten wird.


Noch die Frage: Wie würdet ihr das Data Logging am besten umsetzen? Derzeit bekomme ich ja für jede Messung einen Cluster aus 4 Waveforms und ein paar Parametern (Zeit, gemessene Frequenz etc).
Ich weiß noch nicht, was das beste ist: Nach dem Versuch ein paarhundert Files (jede gemessene Frequenz zu jedem Zeitpunkt) oder etwas, das alles zusammenführt - nur da wüsste ich noch nicht, was das beste sein könnte!


Allerbesten Dank für jede Hilfe (und sonstige Anmerkungen zum VI)!!

Grüße

Alex

P.S. Derzeit ist noch kein Speichern implementiert, die Messdaten kommen also nur in den Graphen


Angehängte Datei(en) Thumbnail(s)
   

0.0 .zip  DAQ_8.6.zip (Größe: 70,47 KB / Downloads: 176)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
20.10.2014, 18:54
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: DAQ State Machine: Daten hängen nach

Akzeptierte Lösung

THINK Dataflow, sag ich nur!!!

Was passiert:
  • Im State "Initialize" definierst UND startest du den kontinuierlichen DAQ-Task. Der läuft also jetzt und schiebt lustig Daten in den FIFO.
  • Dann kommt der State "Wait for Event": Da wird jetzt zwecks Event-Struktur solange gewartet, bis irgendein Button betätigt wird. Der DAQ-FIFO wird dabei 1x direkt beim Übergang in den State gestartet. Der DAQmx Task läuft dabei brav weiter und schiebt nach dem Auslesen wieder Daten in den FIFO (solange, bis er überläuft und Daten überschrieben werden).
  • Jetzt wird z.B. Start gedrückt, deine State-Machine springt endlich in den Datenerfassungsschritt. Ausgelesen werden jetzt zuerst die ältesten Daten aus dem DAQmx FIFO Buffer, und nicht wie du vielleicht hoffst nur die Daten ab Drücken von "Start".

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.10.2014, 08:32 (Dieser Beitrag wurde zuletzt bearbeitet: 21.10.2014 08:40 von ExXeQtor.)
Beitrag #3

ExXeQtor Offline
LVF-Grünschnabel
*


Beiträge: 31
Registriert seit: Jul 2011

8.6
-
DE



RE: DAQ State Machine: Daten hängen nach
Herzlichen Dank!
Ich hatte übersehen("überdacht") dass die der "wait for event" state ja gar nicht im loop durchlaufen wird (so hatte ich das sonst immer implementiert) und damit auch der einmalige DAQ-read task unnütz ist um den Buffer kontinuierlich zu leeren.

Mit Start / Stop im Measurement State sollte das ganze richtig sein - oder?

Beste Grüße

Alex


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.10.2014, 08:55
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: DAQ State Machine: Daten hängen nach
Ich denke schon.

Kritikpunkte am BD:
- aufräumen
- Index Array kann man nach unten aufziehen
- Das Wait kannst du dir sparen, wenn du am Eingang von DAQmx Read die Anzahl der Samples für 1 Sekunde anschließt. DAQmx Read übernimmt schon das Timing für dich. Damit fällt auch die Flat-Sequence weg
- Bitte keine PropertyNode zum Lesen und Schreiben von "Value", außer es ist unbedingt nötig. Dann lieber eine lokale Variable
- Wieso die Mean-Funktion aus dem wenig verbreiteten Extra-Toolkit? Die gibt es doch unter den Standard-Funktionen...

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.10.2014, 08:59
Beitrag #5

ExXeQtor Offline
LVF-Grünschnabel
*


Beiträge: 31
Registriert seit: Jul 2011

8.6
-
DE



RE: DAQ State Machine: Daten hängen nach
Besten Dank, Vorschläge wurden umgesetzt!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.10.2014, 09:09 (Dieser Beitrag wurde zuletzt bearbeitet: 21.10.2014 09:11 von GerdW.)
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.427
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: DAQ State Machine: Daten hängen nach
Ergänzung zu "Index Array kann man nach unten aufziehen":
Man kann sich auch die Konstanten an den Indexeingängen sparen, wenn man bei Null beginnend hochzählt…

Ergänzung zu "Bitte keine PropertyNode … Dann lieber eine lokale Variable":
Du nutzt schon ein Schieberegister mit einem Cluster, um Einstellungen/Parameter zwischen States auszutauschen. Dort gehört auch die Samplerate hinein und wird dann mittels UnbundleByName ausgelesen!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
21.10.2014, 16:12
Beitrag #7

ExXeQtor Offline
LVF-Grünschnabel
*


Beiträge: 31
Registriert seit: Jul 2011

8.6
-
DE



RE: DAQ State Machine: Daten hängen nach
Danke, ich gebe zu der property node war faulheit (das habe ich in QSM architekturen sonst auch so gemacht wie du gesagt hast).
Ich versuche mich zu bessern! Wink
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  USB-6001: Eingangssignal (digital) als Event in State Machine auswerten wallice 1 1.916 06.10.2022 06:29
Letzter Beitrag: GerdW
  State Machine zum Speichern von TDMS gifo 13 7.440 01.12.2015 13:43
Letzter Beitrag: gifo
  Eventstruktur in state machine/ Zustandssteuerung Meister Eder 1 3.621 11.02.2014 18:51
Letzter Beitrag: Trinitatis
  Timeout bei Flankenzählung + State machine 206racer 2 4.605 24.05.2011 07:13
Letzter Beitrag: 206racer
  State Machine flizzer82 14 11.728 07.05.2010 14:41
Letzter Beitrag: Y-P
  DO und State Machine MarkusZ 1 3.467 17.03.2010 07:13
Letzter Beitrag: jg

Gehe zu: