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 

Falsche Werte durch paralleles Einlesen digitaler und analoger Werte



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.08.2013, 07:45 (Dieser Beitrag wurde zuletzt bearbeitet: 20.08.2013 08:08 von daxel.)
Beitrag #1

daxel Offline
LVF-Grünschnabel
*


Beiträge: 35
Registriert seit: Aug 2013

LabView 2013 Student
2012
DE



Falsche Werte durch paralleles Einlesen digitaler und analoger Werte
So, nachdem ich hier schon einiges an netter Hilfe bekommen habe - nochmasl vielen Dank dafür! - wende ich mich wieder einmal an euch. Und zwar geht es immer noch um das selbe Tool wie letztes Mal, das zur universellen Messung von Analog- und Digitaleingängen mit dem USB-6009 dienen soll. Mein aktuelles Problem ist: Trotz Producer-Consumer-Schema "laggt" das Tool ab und zu bei der Anzeige, und noch viel eher wenn ich die Daten in eine Datei speichere (ich kann zwar gut damit leben, aber vielleicht liegt das ja mal wieder an einem groben Schnitzer meinerseits).

Außerdem fehlen bei der Anzeige auf einmal einige Werte im analogen Verlauf (siehe Bild im Anhang), und die digitalen (die bei der Aufnahme angezeigt wurden) fehlen ganz. In der Datei sind auch nicht so viele digitale Werte wie analoge - hier klaffen einige Lücken.

Wenn ich nur digitale Werte aufnehme, werden diese auch nicht angezeigt, aber "immerhin" sind alle Werte in der Datei vorhanden. Hoffentlich kann mir jemand von euch helfen und erklären, was ich falsch mache.

Schon einmal vielen Dank im Voraus & verzweifelte Grüße,

Alex

PS: anzeige.png ist der Teil des Tools, der alles anzeigt, messung.png zum Messen (wie die Namen auch erklären); tool.png ist ein Screenshot von der Anzeige, in der Lücken beim analogen Verlauf klaffen und die digitalen Werte ganz fehlen, und das SubVi ist zuständig für die Umwandlung des digitalen Signalverlaufs in analoge Werte, damit beides in einem Diagramm angezeigt werden kann.

PPS: Angehängtes VI ist jetzt für die 11er Version geeignet. Tut mir Leid, hatte nicht daran gedacht das so zu speichern.


Angehängte Datei(en) Thumbnail(s)
           

11.0 .vi  WaveformDig2Ana.vi (Größe: 46,81 KB / Downloads: 213)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
20.08.2013, 07:52
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Falsche Werte durch paralleles Einlesen digitaler und analoger Werte
Hatten wir schon mal:
(14.08.2013 16:11 )jg schrieb:  Offtopic2
LabVIEW 2013 ist noch nicht mal 2 Wochen auf dem Markt. Das haben hier die allerwenigsten Leute installiert.
Wäre gut, wenn du deine VIs für eine frühere Version speichert (File->Save for previous version), so kannst du mehr Hilfe erwarten.

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
20.08.2013, 07:57 (Dieser Beitrag wurde zuletzt bearbeitet: 20.08.2013 08:06 von GerdW.)
Beitrag #3

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Falsche Werte durch paralleles Einlesen digitaler und analoger Werte
Hallo daxel,

1. noch mal der Hinweis: wenn du dein VI in einer älteren Version anhängst, können wesentlich mehr Leute darauf zugreifen...
2. Du gibst in der Lese/Producer-Schleife immer noch nicht vor, wieviele Samples pro Task gelesen werden sollen. Die Kontexthilfe ist da sehr eindeutig: "Bei der fortlaufenden Erfassung von Samples, liest das VI bei der Einstellung dieses Eingangs auf -1 alle Samples aus, die sich gerade im Puffer befinden." Obwohl eigentlich mit dem gleichen Taktsignal gearbeitet wird, ist nicht sichergestellt, dass ständig die exakt gleiche Anzahl Samples in beiden Task-Buffern vorrätig ist - auch wenn du das glauben magst...
3. Zuviele geknickte Drähte behindern den DATAFLOW: einfach mal aufräumen! Wink
4. Falscher Einsatz von InsertIntoArray, wo es auch ein BuildArray tun würde...
5. Keine Fehlerauswertung in der Producerschleife...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.08.2013, 08:04
Beitrag #4

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

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
RE: Falsche Werte durch paralleles Einlesen digitaler und analoger Werte
Ich speicher's mal runter.

8.0 .vi  WaveformDig2Ana.vi (Größe: 58,13 KB / Downloads: 231)


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.08.2013, 08:27 (Dieser Beitrag wurde zuletzt bearbeitet: 20.08.2013 08:50 von daxel.)
Beitrag #5

daxel Offline
LVF-Grünschnabel
*


Beiträge: 35
Registriert seit: Aug 2013

LabView 2013 Student
2012
DE



RE: Falsche Werte durch paralleles Einlesen digitaler und analoger Werte
Erstmal sorry, habe leider nicht daran gedacht, das kompatibel zu speichern. Habe es aber jetzt als 11er-kompatibel hochgeladen. Danke an Markus, der schneller war als ich.


(20.08.2013 07:57 )GerdW schrieb:  2. Du gibst in der Lese/Producer-Schleife immer noch nicht vor, wieviele Samples pro Task gelesen werden sollen. Die Kontexthilfe ist da sehr eindeutig: "Bei der fortlaufenden Erfassung von Samples, liest das VI bei der Einstellung dieses Eingangs auf -1 alle Samples aus, die sich gerade im Puffer befinden." Obwohl eigentlich mit dem gleichen Taktsignal gearbeitet wird, ist nicht sichergestellt, dass ständig die exakt gleiche Anzahl Samples in beiden Task-Buffern vorrätig ist - auch wenn du das glauben magst...
Achso, ich dachte es reicht das vorher im Sampletakt einzustellen, da habe ich ja einfach mal als Wert 1000 drangehängt. Was wäre denn ein sinnvoller Wert, und sollte ich den dann sowohl an den Sampletakt vor der Producerschleife als auch an das Lesen innerhalb der Schleife hängen?
Und muss ich noch irgendwas ändern, damit es keine Probleme gibt, wenn ich beide Tasks gleichzeitig lese?

(20.08.2013 07:57 )GerdW schrieb:  3. Zuviele geknickte Drähte behindern den DATAFLOW: einfach mal aufräumen! Wink
Es sah zwischenzeitlich schon schlimmer aus, ich arbeite aber noch daran Wink

(20.08.2013 07:57 )GerdW schrieb:  4. Falscher Einsatz von InsertIntoArray, wo es auch ein BuildArray tun würde...
Ändere ich jetzt gleich mal. Ich meine zwar, ich hatte letztes mal einen Fehler dabei, weil ein 2d-Array rauskam, aber dann melde ich mich nochmal Smile

(20.08.2013 07:57 )GerdW schrieb:  5. Keine Fehlerauswertung in der Producerschleife...
Da muss ich mir noch eine sinnvolle Fehlerbehandlung überlegen. Bisher diese ja nur für die Entwicklung.

PS: Habe mal das ganze Projekt als 11er-kompatibel angehängt. Passwort für die zip ist labviewforum.

Edit: So, habe jetzt bei den Samples pro Kanal einfach mal 10 eingestellt, das klappt schon wesentlich besser. In meiner Messdatei habe ich nirgendwo mehr leere Stellen. Nur hat er jetzt ein Problem bei der Anzeige der Digitalwerte - bei der Messung werden in größeren Abständen einzelne Punkte der Werte angezeigt, bei der Anzeige gerade nur ein einziger Wert, obwohl in der Datei durchgehend der Wert 0 für das Signal eingetragen ist.


Angehängte Datei(en)
0.0 .zip  forum.zip (Größe: 124,22 KB / Downloads: 230)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.08.2013, 09:09
Beitrag #6

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Falsche Werte durch paralleles Einlesen digitaler und analoger Werte

Akzeptierte Lösung

Eine USB-6009 kann Digital-Kanäle nicht mit Hardware-Taktung erfassen.
Betreib mal Debugging an der Stelle der Datenerfassung der D-INs, da müsste schon eine Fehler auftauchen.

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
Anzeige
20.08.2013, 09:12
Beitrag #7

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Falsche Werte durch paralleles Einlesen digitaler und analoger Werte
Hallo daxel,

Zitat:Ich meine zwar, ich hatte letztes mal einen Fehler dabei, weil ein 2d-Array rauskam
Wann immer man in LabVIEW etwas konfigurieren will, sollte man einen Rechtsklick ausprobieren: hier wäre ein Häkchen bei "Eingänge verknüpfen" zu setzen. Kontexthilfe lesen schadet auch nie... Big Grin

Ansonsten gilt ja wohl Punkt 5, wie man Jens' Antwort entnehmen kann...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.08.2013, 10:20 (Dieser Beitrag wurde zuletzt bearbeitet: 20.08.2013 10:23 von daxel.)
Beitrag #8

daxel Offline
LVF-Grünschnabel
*


Beiträge: 35
Registriert seit: Aug 2013

LabView 2013 Student
2012
DE



RE: Falsche Werte durch paralleles Einlesen digitaler und analoger Werte
@Gerd: Oh ja, so geht das! Die Kontexthilfe habe ich auch dauernd offen, aber das hab ich irgendwie übersehen Big Grin

Habe jetzt einfach mal an alle Stellen, wo denn ein Fehler auftreten könnte, einen einfachen Fehlerbehandler gehängt. Damit sollte ich nichts mehr übersehen..

@Jens: Stimmt, dann kommt folgender Fehler:

Code:
Mögliche Ursachen:
Gewünschter Wert wird für diese Eigenschaft nicht unterstützt. Der Eigenschaftswert ist ggf. ungültig, da er mit einer anderen Eigenschaft in Konflikt steht.
Eigenschaft: SampleTimingArt
Angeforderter Wert: Sample-Takt
Mögliche Auswahl: Auf Anforderung
Task-Name: DigitaleErfassungTask

Ich werde da allerdings nicht ganz schlau draus Sad Der Fehler liegt dann an der von mir gewählten Instanz des Timing-VIs (Sample-Takt); allerdings gibt es hier keine Auswahlmöglichkeit "Auf Anforderung", wie der Fehler suggeriert/ich es verstehe. Was für eine Möglichkeit hätte ich denn dann, die Werte zu lesen, und lässt sich dann überhaupt eine einstellbare Abtastrate für die Digitalwerte realisieren?

Muss ich dann vielleicht die Instanz "Implizit" zur Einstellung wählen?

EDIT: Bei der Einstellung "Implizit" kommt die selbe Fehlermeldung. Oder muss ich hier ganz auf das SampleTiming verzichten?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.08.2013, 10:27
Beitrag #9

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Falsche Werte durch paralleles Einlesen digitaler und analoger Werte

Akzeptierte Lösung

Hallo daxel,

Zitat:Oder muss ich hier ganz auf das SampleTiming verzichten?
Ja. Und auf Einzelwertabfrage umstellen...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.08.2013, 10:36 (Dieser Beitrag wurde zuletzt bearbeitet: 20.08.2013 10:49 von daxel.)
Beitrag #10

daxel Offline
LVF-Grünschnabel
*


Beiträge: 35
Registriert seit: Aug 2013

LabView 2013 Student
2012
DE



RE: Falsche Werte durch paralleles Einlesen digitaler und analoger Werte
Okay, dafür muss ich dann ja nur die Instanz vom Lese-VI verändern, auf NKanäle 1Sample. Das habe ich jetzt beim analogen und digitalen gemacht, und die Anzeige klappt bei beidem wunderbar und flüssig. Nur die Consumerschleife scheint nicht ganz hinterher zu kommen, wenn ich Dateien schreibe, dann läuft die Anzeige nämlich nur unglaublich langsam weiter und es werden kaum Datensätze geschrieben. Ist natürlich verständlich, wenn ich immer einzelne Datensätze in die Datei schreibe; kann ich die in ein 2D-Array zusammenfassen und dann hinterher alles auf einmal in die Datei schreiben? Das probier ich einfach mal aus..

EDIT: Wie genau könnte ich dann ein 2D-Array aus Signalverlauf zu "Messwerte in Datei schreiben" übergeben, das ja eigentlich DDT verlangt?
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
Exclamation Datenerfassung mit DAQ-Assistent - Graph erfasst keine Werte HTWSaar 4 4.737 03.01.2019 12:16
Letzter Beitrag: GerdW
  Anfänger braucht Hilfe: Analoge Werte schreiben und auslesen ElBerto 4 5.354 31.01.2018 14:36
Letzter Beitrag: ElBerto
  Datenexport liefert zu wenige Werte Felifa 11 8.543 20.03.2017 13:32
Letzter Beitrag: Felifa
  Digitaler Ausgang liefert 3,5 Volt Gesetzt 1 3.327 27.02.2017 13:06
Letzter Beitrag: jg
  Getimter Digitaler Output thomasth 3 3.857 02.11.2015 03:36
Letzter Beitrag: thomasth
  Digital Out, einzelne Werte ändern tobi45f 14 8.866 15.06.2015 14:38
Letzter Beitrag: tobi45f

Gehe zu: