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 

Kontinuierliche Erfassung von Werten



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.01.2011, 14:02 (Dieser Beitrag wurde zuletzt bearbeitet: 20.01.2011 14:04 von Cruzaderz.)
Beitrag #1

Cruzaderz Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 81
Registriert seit: Apr 2008

2010
-
de_en

22846
Deutschland
Kontinuierliche Erfassung von Werten
Heyho!

Ich verzweifle allmälich und hoffe, ihr könnt mir den Tipp geben welcher Schalter hier noch umgelegt werden muss. Kurz Aufgabe und Problem:

Es sollen mit einem USB-9213 kontinuierlich Werte abgetastet werden und zwar im high-res Modus mit der max. Frequenz von 9 Hz (auf 2 Kanälen). Wie das kontinuierlich geht ist so weit klar, bloß dauert der Aufruf des Sub-VI aus dem Haupt-VI halt XX ms, weshalb der Puffer sich langsam immer mehr füllt und die Abtastung hinterher läuft. Entsprechend wird der Zeitversatz der Werte immer größer, bis irgendwann der Puffer überläuft und es einen Fehler gibt.

Mein Anliegen/Wunsch: Ich möchte, dass das Gerät mit 9 Hz abtastet aber ich immer "alle" Werte bekomme, wenn ich das sub-VI anstosse. So ist es egal, ob man es alle 0.5 / 1 oder 2 sek aufruft, weil dann entsprechend die verfügbaren 4,9 oder 18 Werte geliefert würden. Ähnliches habe ich versucht, mit der Erhöhung von "Anzahl samples" im sub-VI zu erreichen, allerdings wartet es dann tatsächlich, bis die auch anstehen. Leider hat auch eine "-1" im DAQ Lesen (was ja eigentlich "alle" bedeutet) nicht geholfenSad

Vielen Dank und Grüsse,
Dennis

LV2010


Angehängte Datei(en)
Sonstige .vi  DEV_USB_9213_mit_9_Hz_lesen_an_USB.vi (Größe: 48,22 KB / Downloads: 190)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
20.01.2011, 17:02
Beitrag #2

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.616
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Kontinuierliche Erfassung von Werten
Der Property-Node "ReadAllAvailSamp" ist zu überflüssig (falsch). Der bringt nur was bei "finiter" und nicht bei kontinuierlicher Datenerfassung. Wie Du schon geschrieben hast, sollten bei -1 alle Daten im Puffer erfasst werden. Was kriegst Du denn für eine Fehlermeldung, wenn Du -1 anschließst?

Gruß Markus

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.01.2011, 17:39
Beitrag #3

Cruzaderz Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 81
Registriert seit: Apr 2008

2010
-
de_en

22846
Deutschland
Kontinuierliche Erfassung von Werten
Heyho!

Hehe - der Hinweis mit dem Property-Node kam eben auch als erstes von anderer Seite. Verzeiht dem Noob bitte den Fauxpas. Ich dachte, der Node braucht nur die "ID" des Task und hat die Weiterleitung als Option. Dass er nur in Reihe eingefügt Wirkung zeigt wusste ich nicht.

Betreffend die -1 : Genau das hat mich so verwirrt - bei "Anzahl Samples" gab es mit -1 eine Fehlermeldung, ich solle bitte etwas >0 eintragen und im DAQ-read später steht als default besagte -1. Dass vom vorderen Case aber nach hinten zun read durchgeleitet wird ist mir bis eben nicht aufgefallen. Ohne dieses wire zu entfernen kann man die -1 also gar nicht nutzen. Und kaum getan klappt's auch endlich mit der zeitgleichen Auswertung der Messdaten und der Puffer bleibt leerLol

Es gab übrigens noch einen erhobenen Zeigefinger, dass man so etwas eigentlich mit Queues macht und das Problem dann im Zweifel gar nicht in Erscheinung getreten wäre. Die ganzen Programme jetzt darauf umzustellen übersteigt aber meine Fähigkeiten, denn mehr als ein paar Werte lesen, korrelieren und regeln soll das Programm nicht. Und ob dann später in den Rohdaten die Werte mal 1 oder halt 1.1 sek auseinander liegen ist egal, da eh interpoliert wird.

Vielen Dank für die Hilfe. Ich hoffe, der Thread hilft auch dem nächsten Suchenden, der in die "-1 -Falle" beim kontinuierlichen Lesen tappt Wink

Viele Grüße,
Dennis
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.01.2011, 18:59
Beitrag #4

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.616
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Kontinuierliche Erfassung von Werten
Wäre nett, wenn Du das funktionierende VI noch hochladen könntest. Aber trotzdem schon mal Danke für die Rückmeldung. Welche Verbindung hast Du weggemacht?

Gruß Markus

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.01.2011, 15:55 (Dieser Beitrag wurde zuletzt bearbeitet: 23.01.2011 15:56 von Cruzaderz.)
Beitrag #5

Cruzaderz Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 81
Registriert seit: Apr 2008

2010
-
de_en

22846
Deutschland
Kontinuierliche Erfassung von Werten
Aber klar doch, gernSmile. Hast recht - so nützt es dem nächsten Suchenden viel mehr. Aus dem Grund ist das angehängte VI jetzt auch in LV8.6 gespeichert...

Auslöser war die Verbindung von "Anzahl Samples" zu DAQ-lesen, wie im angehängten Bild markiert. Diese wird btw. automatisch berücksichtigt, wenn man das Express-VI mit "in DAQmx umwandeln" umwandelt. Macht man es jedoch wie wir es gelernt haben mit "Frontpanel anzeigen" bleibt die Verbindung bestehen, auch wenn man im kontinuierlichen Modus arbeitet. Fieserweise läuft der Draht dann hinter dem case zwischen der Timing-Konfiguration und dem Auslesen entlang, weshalb er dem Anfänger wie mir nicht auffällt. Sobald man das VI wie im angehängten Bild automatisch aufräumen lässt, springt die Verbindung auch ins Auge. Diese muss wie gesagt für kontinuierliches Lesen entfernt werden, da die Timing-Konfiguration einen Wert >0 erwartet, man für "alles lesen" aber hinten eine -1 anhängen muss. Trägt man diese händisch auf dem Frontpanel ein, gibt das DAQ-Timing entsprechend eine Fehlermeldung. Belässt man den Wert hingegen auf >0, wird auch das DAQ-read damit gefüttert und liest eben nur die entsprechende Anzahl Werte, wodurch der Zeitverzug pro Durchlauf immer größer wird und irgendwann den Puffer überlaufen lässt.

Viele Grüße,
Dennis

PS: Upps - mein Fauxpas mit dem property-node ist ja immer noch drin. Den bitte einfach übersehen...Wink

Lv86_img


Angehängte Datei(en) Thumbnail(s)
   

Sonstige .vi  DEV_USB_9213_mit_9_Hz_lesen_an_USB.vi (Größe: 40,21 KB / Downloads: 322)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.01.2011, 17:01 (Dieser Beitrag wurde zuletzt bearbeitet: 23.01.2011 17:28 von Lucki.)
Beitrag #6

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.670
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Kontinuierliche Erfassung von Werten
Habe mir nur das erste VI angesehen, und da sehe ich gleich etwas, worauf ich hinweisen möchte:
Im VI "Sample Takt" wird bei kontinuierlicher Erfassung der Eingang "Sample-Zahl" in der Bedeutung umfunktioniert - siehe Hilfe. Der Eingangsname müßte dann richtig heißen "Puffergröße" - aber den Namen in Abhängigkeit der Beschaltung eines anderen Eingangs zu ändern, das hat NI noch nicht geschafft. Man fährt eigentlich immer gut, wenn man den Eingang bei kontinuierlicher Erfassung nicht beschaltet.

Bei unbeschaltetem Eingang "Byte Anzahl" (=-1) am VI Daqmx Lesen passiert dieses: Wenn Pufferinhalt >0, wird die momentan im Puffer vorhandene Anzahl ohne Wartezeit gelesen. Bei Pufferinhalt =0 wird hingegen gewartet, bis ein Wert im Puffer ist.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.01.2011, 18:49
Beitrag #7

Cruzaderz Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 81
Registriert seit: Apr 2008

2010
-
de_en

22846
Deutschland
Kontinuierliche Erfassung von Werten
Jepp, so hatte ich es auch verstanden bzw. von Anfang an gewünscht.

Das mit der Puffergröße stimmt, allerdings kam von NI die Aussage dass es wohl wurscht wäre was man dort anschließt weil er sie wohl eh selbst setzt. Irgendwo hatte ich gelesen je nach Frequenz so im Bereich 5-10 fach der Samplingfrequenz. Ob das jetzt wirklich stimmt oder er nur meinte es wäre wurscht OB man dort einen Wert anlegt, weil er es ohne diesen halt selbst berechnet weiß ich nicht. Könnte man wohl einfach testen, allerdings rennt die Zeit und das Programm sollte seit Monaten stehen...Sad

Viele Grüße,
Dennis
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
  Anzeige und Erfassung von Prüfparametern Fantinel 4 1.598 04.01.2019 14:47
Letzter Beitrag: GerdW
  Delay für kontinuierliche Datenerfassung zwingend? Philipp841 9 1.561 12.07.2018 10:27
Letzter Beitrag: GerdW
  Kontinuierliche Datenerfassung mit USB 6003 Tobolf 18 4.688 02.02.2017 16:54
Letzter Beitrag: GerdW
  kontinuierliche Datenerfassung in Array speichern Jonas_02 2 2.602 04.09.2015 16:17
Letzter Beitrag: Trinitatis
  Kontinuierliche Messung Ringpuffer dbuckl 9 4.459 07.04.2015 09:19
Letzter Beitrag: dbuckl
  DAQ --> Kontinuierliche Frequenzmessung Flo89 10 8.373 25.04.2014 14:34
Letzter Beitrag: GerdW

Gehe zu: