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!
26.11.2010, 10:56 (Dieser Beitrag wurde zuletzt bearbeitet: 26.11.2010 11:14 von knut1973.)
ich benutze bei meiner Praktikumsstelle LabVIEW in der Version 8.5.1 um insgesamt sechs Messwerte differentiell (also insgesamt 12 Kanäle) einzulesen. Da es sich um keine NI-Karte handelt, arbeite ich mit den Beispielprogrammen der Herstellers. Die Daten an sich werden auch wohl eingelesen.
Mein Problem ist nun folgendes:
Zur Zeit werden die Daten anscheinend komplett eingelesen bzw. aneinandergelegt und ich bekomme sie irgendwie nicht getrennt oder in verschiedenen Farben dargestellt (s. Bild Frontpanel). Die Plots sind auf verscheidene Farben eingestellt, aber es wird nur eine Gesamtkurve in rot eingestellt. Wenn ich von 16 Kanälen auf nur einen Kanal umstelle klappt dies und es wird bsplw. eine Kurve/Linie bei bsplw. 2 Volt angezeigt.
Das Blockdiagramm an sich besteht aus sieben Sub-VIs. Im Anhang meiner Meinung nach das relevante für die Ausgabe im Diagramm. Allein diese Sub-VIs kann ich aber schon nicht wirklich nachvollziehen. Wofür ist oben rechts in der Ecke bei jedem Sub-VI dieses "I32" beim Erroranschluss und wo führt es hin?
Über DAQREAD werdne ja anscheinend die Daten eingelesen und über (die in einem vorherigen Sub-Vi eingestellten) Samples ausgegeben, oder? Wofür ist dann das Array links im Bild, um die x- und y-Achse einzustellen?
Weiterhin hatte ich versuchswweise hinter "Samples" eine Funktion "in Datei schreiben" angefügt, da sie später als Excel-Datei abgespeichert werden sollen und es wurden auch Werte eingelesen. Allerdings sowohl die Low-/Nullwerte als natürlich auch die massgeblichen Messwerte. Wie kann ich diese trennen bzw. wie die Nullwerte unterdrücken?
So viele Fragen auf einmal. Ich hoiffe, es weiß trotzdem jemand Rat.
Lg, Knut
Am Thread-Titel..."wo ansetzen" ist nicht wirklich informativ...insbesondere deswegen, weil deine Frage mit "Datenbank & File IO" nix zu tun hat! Eher mit "3rd Party HW"
Zum Thema:
Das "I32" ist der Fehlercode (zu deiner Information), den dein SubVI vermutlich aus einem DLL-Aufruf liefert!
Am besten postet du mal das komplette VI inkl. SubVIs, sonst kann man nicht sagen, wo's hakt!
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
26.11.2010, 11:30 (Dieser Beitrag wurde zuletzt bearbeitet: 26.11.2010 11:34 von GerdW.)
Handbuch der 3rd-party HW lesen... Da sollte drinstehen, wie die Werte angeordnet sind, die dir dieses subVI ausgibt! Und beim nächsten Mal gleich angeben, welche HW du einsetzt (Hersteller/Typ)!
Mein Tipp nach Blick in die: einfach mal ein DecimateArray einsetzen, um die einzelnen Kanäle zu erhalten
Noch mehr: Das InitArray links wird benutzt, um einen Buffer anzulegen, in den die DAQ-Funktion ihre Daten ablegen kann. In dem subVI dürfte sich nur ein DLL-Aufruf verstecken...
Zitat:...und wo führt es hin?
Einfach mal einen Doppelklick auf das Terminal und dir wird das passende Anzeigeelement auf dem FP angezeigt...
gleich 8 Bilder...
Tipp: Rechtsklick auf den Rahmen der Sequenzstruktur -> Ersetzen -> durch flache Sequenz. Dann brauchst du nur noch 1 Bild!
2. Tipp: einfach das VI anhängen (und subVIs dazupacken)!
3. Tipp: Ohne die Hardwarebeschreibung (deiner Mess-Hardware) nützen uns die Bilder erstmal gar nichts! Alles Interessante passiert doch in den subVIs...
gleich 8 Bilder...
Tipp: Rechtsklick auf den Rahmen der Sequenzstruktur -> Ersetzen -> durch flache Sequenz. Dann brauchst du nur noch 1 Bild!
2. Tipp: einfach das VI anhängen (und subVIs dazupacken)!
3. Tipp: Ohne die Hardwarebeschreibung (deiner Mess-Hardware) nützen uns die Bilder erstmal gar nichts! Alles Interessante passiert doch in den subVIs...
Ok, das VI packe ich in den Anhang. DAQEX ist das Haupt-VI.
Wofür denn jetzt genau die Hardwarebeschreibung bei dem Problem?
(LabVIEW 6.0)
Anzeige
30.11.2010, 10:05 (Dieser Beitrag wurde zuletzt bearbeitet: 30.11.2010 10:07 von GerdW.)
das Ganze als ZIP-File und man könnte alles in einem Rutsch runterladen statt 10 mal anklicken und bestätigen...
Zitat:Wofür denn jetzt genau die Hardwarebeschreibung bei dem Problem?
Ich wiederhole mich ja nur ungern, aber: "Handbuch der 3rd-party HW lesen... Da sollte drinstehen, wie die Werte angeordnet sind..."
Und ohne die Hardware und die entsprechende Beschreibung kann man da nicht viel machen - alles wichtige ist in der dll versteckt (die übrigens fehlt, aber auch nicht hilfreich wäre). Deshalb mein Rat: RTFM!
' schrieb:(...)
Mein Tipp nach Blick in die: einfach mal ein DecimateArray einsetzen, um die einzelnen Kanäle zu erhalten
(...)
Allerbesten dank, Gerd.
Der Tipp mit dem "Decimate Array" hat geklappt. Ich kann die einzelnen Werte jetzt in den Graphen darstellen.
Nun bin ich gerade am herumexperimentieren wie ich die Daten aus dem "Decimate Array" in eine Excel-Datei schreiben lasse, da diese später weiterverwertet werden soll. Ich habe hier aus dem Forum ein VI "Spreadsheet" (eine While-Schleife) als Sub-VI (Version 10.0) eingebaut, kann aber die Ausgänge aus dem "Decimate Array" (in Sequenz 6) nicht mit diesem Sub-VI verbinden. Ist das nicht möglich, weil es sich um eine While-Schleife handelt?
Beste Grüße,
Knut
02.12.2010, 13:00 (Dieser Beitrag wurde zuletzt bearbeitet: 02.12.2010 13:00 von GerdW.)