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 

Auslesen von DMS 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!

31.01.2012, 09:20
Beitrag #1

ugarcia Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 54
Registriert seit: Apr 2010

2010
2010
EN


Deutschland
Auslesen von DMS Werten
Hallo

Ich möchte mit meinem VI einige Werte regeln und die Werte von 4 DMS einlesen. Zuerst habe ich dass alles in eine while-Schleife gepackt, aber beim auslesen in eine Datei schrieb das VI nur ca. alle Sekunden die Werte raus und nicht 1000 Werte/s. Deshalb habe ich eine zweite Schleife gemacht um die Werte rauszuschreiben. Jetzt bekomme ich zwar annähernd eine Frequenz von 1 kHz aber ich verlier viele Werte bzw sind viele 0 (siehe screenshot tabelle). Hat jemand Ideen.
(Geräte sind NI6211 und NI9237 für DMS, LV Version 2010 64-bit)

LG
ugarcia


Angehängte Datei(en) Thumbnail(s)
   

10.0 .vi  DMStest mit cal 3101.vi (Größe: 227,09 KB / Downloads: 211)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
31.01.2012, 09:35
Beitrag #2

Hook1986 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 149
Registriert seit: Jan 2012

2010
2011
DE_EN


Deutschland
RE: Auslesen von DMS Werten
Hallo ugarcia,

Zunächst mal vorab:
Dein Blockdiagramm könnte etwas übersichtlicher Gestaltet werden. Zum Beispiel kannst du die gesamten Einstellungen in einem extra SubVI als Initialisierung machen. Dies könnte auch in einer For-Schleife passieren, da du ja nur bei zwei Strings die Zahl änderst. Dann könntest du den Rest per Konstante machen und den String in jedem Schleifendurchlauf anpassen und reinschreiben.

Um zu deinem Problem zu kommen: Sofern die Messwertaufnahme nicht sehr lange andauern soll (kleiner 1min) dann könnte dir eine Queue eventuell helfen. Dort könntest du in der Schleife, in der du die Messwerte ausliest einfach in diese Queue reinhaun und in einer zweiten Schleife die Werte aus der Queue auslesen und in die Datei schreiben.

MfG Carsten
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.01.2012, 09:38
Beitrag #3

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Auslesen von DMS Werten
Hallo ugarcia,

wenn ich dein VI richtig verstehe, dann speicherst du erst nach Beenden deiner Regel-Schleife. Und versuchst dann auch noch, parallel zum Beenden der DAQmx-Tasks Messwerte aus eben diesen Task(s) einzulesen!? Was soll das? Wenn du darüber nachdenkst, wirst du wohl einsehen, dass du da eine RaceCondition programmiert hast Smile

Außerdem: Wozu die Schleife um das Speichern, wenn die Schleife eh nur einmal durchläuft?
Die ganze Programmstruktur ist "zweifelhaft"!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.01.2012, 09:39 (Dieser Beitrag wurde zuletzt bearbeitet: 31.01.2012 09:43 von ugarcia.)
Beitrag #4

ugarcia Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 54
Registriert seit: Apr 2010

2010
2010
EN


Deutschland
RE: Auslesen von DMS Werten
Die Messdauer wird meistens länger als eine Minute sein.
Wäre ein Schritt mit Arrays nicht auch eine Option? Allerdings weiß ich da programmiertechnisch nicht wirklich wie ich das zustande bringe.
Zuerst war das abspecihern der Werte so geplant allerdings wurden da nur ca. 1 Werte/s ausgelesen.


Angehängte Datei(en)
10.0 .vi  DMStest mit cal tubetec.vi (Größe: 223,45 KB / Downloads: 165)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.01.2012, 09:51
Beitrag #5

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Auslesen von DMS Werten
(31.01.2012 09:39 )ugarcia schrieb:  Zuerst war das abspecihern der Werte so geplant allerdings wurden da nur ca. 1 Werte/s ausgelesen.
Das hast du auch selber so programmiert. Was soll das? Du bekommst eine Waveform mit allen 1000 Messwerten, und reduzierst sie dann per Express-VI auf einen Wert. Wieso speicherst du nicht die komplette Waveform ab?

Und zu deinem VI-Upload aus Beitrag #1, hast du da wirklich deinen letzen VI-Stand hochgeladen? Wie Gerd schon geschrieben hat, der kann eigentlich nicht funktionieren, und zwar wegen dieser Datenflussabhängigkeit:
   

Jetzt noch zur Frage deiner Nuller: Auch daran bist du selber Schuld. Falls mal die Speicherschleife wirklich läuft, dann läuft sie so, wie du sie programmiert hast, so schnell wie möglich. Das könnte aber auch bedeuten, dass die DAQmx-Read einmal Waveform ohne Messwerte zurückgibt. Jetzt hast du wieder deine unselige Wandlung per Express-VI in einen Einzelwert drinnen. Und der MW eines leeren Array ergibt halt mal als Wert Null.

Auch hier stellt sich wieder die Frage, wieso nicht die gesamte Waveform abspeichern?

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
31.01.2012, 10:45
Beitrag #6

ugarcia Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 54
Registriert seit: Apr 2010

2010
2010
EN


Deutschland
RE: Auslesen von DMS Werten
Das mit dem Stop über den Schleifen war natürlich ein Blödsinn.
Ich hab gedacht des Express VI speichert auch die ganze Waveform. Habs grad mit waveform write to file etc. probiert. Hat jedoch nicht funktioniert. Kann mir da schnell jemand helfen bzw. sagen was ich durch was ersetzen muss.
Danke und LG
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.01.2012, 14:44
Beitrag #7

ugarcia Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 54
Registriert seit: Apr 2010

2010
2010
EN


Deutschland
RE: Auslesen von DMS Werten
Achso... einfach die Waveform ohne Umwandlung hinführen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.01.2012, 14:45
Beitrag #8

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Auslesen von DMS Werten
TDMS kann auch gut mit Waveforms umgehen.

Oder du holst dir aus der Waveform das Array der Messwerte.

Möglichkeiten gibt es genug.

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
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  9 zu 1 auslesen von Werten Jann 8 4.534 29.01.2016 11:20
Letzter Beitrag: GerdW
  1D - Array mit 40 Werten in 2D - Array mit 4x10 Werten umwandeln greglemond 7 6.619 03.06.2009 14:44
Letzter Beitrag: TSC

Gehe zu: