LabVIEWForum.de - Messwerte in Tabelle darstellen

LabVIEWForum.de

Normale Version: Messwerte in Tabelle darstellen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen,

ich beschäftige mich seit einigen Tagen mit LabView 2012 (für Win7). Mein VI soll die Messwerte von 13 Thermoelemente mit je 10 Messungen pro Sekunde in eine Tabelle schreiben. Das Messen der Temperaturen klappt schon ganz gut, allerdings werden meine Werte nicht in die Tabelle geschrieben. Ich packe mal einen Screenshot des Blockdiagramms in den Anhang. Ich vermute, dass meine Werte als String nicht einfach Schleifen übergreifend wiederverwendet werden können. Sprich eine einfache Verbindung zwischen den beiden while-Schleifen ist offensichtlich nicht zulässig?! Ich finde aber leider keine andere Lösung.

Kann mir jemand verraten wie ich das Problem löse?

Vielen Dank schon mal.

Grüße
Stefan
Man kommt in die untere Schleife nur rein, wenn die obere beendet wurde.

Erzeuge vor den beiden Schleifen eine Queue. In der oberen fügst du dann die Messwerte ein und in der unteren Schleife liest du sie aus und fügst sie in die Tabelle ein.
Hallo Stefan,

das Schlagwort lautet: THINK DATAFLOW! (Wie wladimir schon sagte…)
Und wenn man den noch nicht verinnerlicht hat: man kann ihm per Highlight-Debugging sogar zugucken!

Kann man deine 13 Messkanäle nicht mit einem einzelnen Task abfragen?
Kann man nicht effektiver mit Arrays umgehen?
Kann man nicht bei den Temperatur-Bar-Anzeigen eine zusätzliche "Numerische Anzeige" aktivieren und damit die zusätzlichen Indicators und den Verdrahtungsaufwand einsparen?
Man kann zwar das Label von Terminals löschen/ausblenden - aber ist das jemals im BD sinnvoll?
Vielen Dank an euch beide für die super schnelle und hilfreiche Antwort. Es funktioniert jetzt Wink Ich packe mal ein Bild davon in den Anhang, vielleicht hilft es ja dem ein oder anderen, der vor einem ähnlichen Problem steht.

Die Funktion Highlight-Debugging kannte ich in der Tat noch nicht. Danke dafür, die werde ich in Zukunft sicher oft nutzen.

(25.03.2015 20:49 )GerdW schrieb: [ -> ]Kann man deine 13 Messkanäle nicht mit einem einzelnen Task abfragen?
Kann man nicht effektiver mit Arrays umgehen?

Die Antwort lautet auf beide Fragen sicherlich "Ja". Ich beschäftige mich jedoch erst seit wenigen Tagen mit LabVIEW und da war mein Blockdiagramm die erste funktionierende Lösung, die ich zu Stande gebracht habe. Insbesondere Frage 1 interessiert mich aktuell jedoch ziemlich stark, da in dem VI demnächst noch mehr Sensoren ausgelesen werden sollen. Wenn du Ratschläge hast, wie sich das ganze einfacher bzw. kompakter lösen lässt, bin ich dafür sehr dankbar.

(25.03.2015 20:49 )GerdW schrieb: [ -> ]Kann man nicht bei den Temperatur-Bar-Anzeigen eine zusätzliche "Numerische Anzeige" aktivieren und damit die zusätzlichen Indicators und den Verdrahtungsaufwand einsparen?

Die Funktion mit der numerischen Anzeige habe ich leider erst gesehen, als ich bereits alles verdrahtet hatte. Wenn es sich ergibt, werde ich das noch korrigieren. Beim nächsten VI denke ich mit Sicherheit daran Wink

Grüße
Stefan
(26.03.2015 00:40 )Stefan2302 schrieb: [ -> ]
(25.03.2015 20:49 )GerdW schrieb: [ -> ]Kann man deine 13 Messkanäle nicht mit einem einzelnen Task abfragen?
Kann man nicht effektiver mit Arrays umgehen?

Die Antwort lautet auf beide Fragen sicherlich "Ja". Ich beschäftige mich jedoch erst seit wenigen Tagen mit LabVIEW und da war mein Blockdiagramm die erste funktionierende Lösung, die ich zu Stande gebracht habe. Insbesondere Frage 1 interessiert mich aktuell jedoch ziemlich stark, da in dem VI demnächst noch mehr Sensoren ausgelesen werden sollen. Wenn du Ratschläge hast, wie sich das ganze einfacher bzw. kompakter lösen lässt, bin ich dafür sehr dankbar.

s. hier oder Gerds Signatur (DAQmx Basics)...

Gruß, Jens
Die Konvertieruung von solchen Strickmustern wie bei Dir in ein normales Blockschaltbild gehört hier fast zu meinen "Lieblingsbeschäftigungen". Aber natürlich nur bei einem gepostetem VI. Wenn nur eine Graphik vorliegt, kann man nicht korrigieren, sondern müsste ganz von vorn anfangen - unzumutbar.
Du kannst dir das VI gerne einmal anschauen Wink
Hallo Stefan,

du hättest schon früher mal erwähnen können, dass du ein "exotisches" ULx-Gerät verwendest…

Wenn ich mich richtig erinnere, erlauben diese aber auch Tasks mit mehreren Eingangskanälen.
Und auch dort sollte man einen Task nur einmalig vor der Schleife initialisieren…
Hallo Gerd,

mir war nicht bewusst, dass ULX tatsächlich ein Exot ist. Falls es noch wichtig ist, es handelt sich um die Messbox: Omega OMB-DAQ-2416

Wenn ich merhere Eingangskanäle verwende, dann erhalte ich ein Array. Mir ist es noch nicht gelungen, daraus die verschiedenen Temperaturanzeigen zu speisen. Für Tipps wäre ich sehr dankbar.


Zitat:Und auch dort sollte man einen Task nur einmalig vor der Schleife initialisieren…
Was du damit meinst verstehe ich leider nicht. Dafür fehlt mir noch das LabVIEW-Wissen. Könntest du mir auf die Sprünge helfen?
Hallo Stefan,

Zitat:Wenn ich merhere Eingangskanäle verwende, dann erhalte ich ein Array. Mir ist es noch nicht gelungen, daraus die verschiedenen Temperaturanzeigen zu speisen. Für Tipps wäre ich sehr dankbar.
Wenn man die einzelnen Elemente aus einem Array haben will, könnte man die IndexArray-Funktion benutzen…

Zitat:mir war nicht bewusst, dass ULX tatsächlich ein Exot ist. Falls es noch wichtig ist, es handelt sich um die Messbox: Omega OMB-DAQ-2416
Nun ja, es ist kein NI-Gerät. Und für Geräte von Drittanbietern haben nur die wenigsten hier die passenden Treiber installiert.
Und bei dir ist ein MCCDaq-/RedLab-Gerät dann auch noch in ein Gehäuse eines weiteren Anbieters verpackt worden…
Seiten: 1 2
Referenz-URLs