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!
25.09.2008, 15:30 (Dieser Beitrag wurde zuletzt bearbeitet: 25.09.2008 15:52 von J_uri.)
ich habe folgendes Problem. Ich möchte ein Programm schreiben, mit dem man von einem NI USB 6008 Spannungen einlesen und auswerten kann.
Es soll folgendes möglich sein:
- alle Kanäle lesen und auf Diagrammen ausgeben
- die Daten sollen als Excel-Datei gespeichert werden können (für lange Messungen dann entsprechend nach einer gewissen Anzahl von Messwerten immer eine neue Datei)
- eine physikalische Zuordnung soll auch realisiert werden, da auch Temperatursensoren und Drucksensoren benutzt werden (also quasi Zuordnung Spannung-Temperatur usw.)
Da das 6008 insgesamt 8 analoge Eingänge hat (im RSE Modus, bei Differentiell entsprechend nur 4) habe ich mich für ein FP mit 4 Signaldiagrammen entschieden. Grundsätzlich fehlt mir aber noch eine Idee für den strukturellen Aufbau des Gesamtprogramms. Ich habe schon einige Teile realisieren können, aber es fällt mir schwer sie in ein Gesamtprogramm zu integrieren.
Mir schwebt folgendes vor:
- Es soll ein SubVi geben, in dem alle benutzerdefinierten Einstellungen getroffen werden können, dieses SubVi wird immer zu Beginn des Programms geladen, hier werden auch die DAQmx Kanäle erzeugt etc. pp.
- Es soll einen Button "Messung starten" geben, mit dem das Lesen-Ausgeben-Dateischreiben gestartet wird, evtl. kann das SubVi auch erst nach dem Betätigen von "Messung starten" aufgerufen werden (da der Nutzer ja sonst immer das ganze Programm beenden müsste, wenn er irgendwelche Einstellungen ändern will)
Ist es nun ratsam eine While-Schleife mit einer Sequenzstruktur zu verbinden und die Daten mit einer Queue weiterzugeben?
Vielleicht hat ja jemand schon mal was ähnliches gemacht...
1. Start Button: ich habe soetwas mal versucht und in relativ alten Büchern Lösungen gefunden. Dabei hat man das Programm solange in einer Schleife laufen lassen, bis ein STart-Button gedrückt wurde. Das belastet die CPU und ist meines erachtens nicht mehr zeitgemäß. Im Moment arbeite ich mich in das Thema "Events" ein. Damit sollte das deutlich Resourcenschonender funktionieren. Das Programm tut nichts, bis ein Knopf gedrückt wird.
2. Einstellungsfenster: Darüber ist hier auch viel diskutiert worden. Es lief darauf hinaus, dass ich ein TAB-Control angelegt habe, im ersten Tab die Einstellungen, im zweiten einige Statusanzeigen während der Messung und im dritten die Ergebnisse. Das hat den Vorteil, dass man nicht immer auf OK klciken muss bevor es losgeht, wenn man die Standard-Einstellungen verwenden möchte.
Soweit meine bisherigen Erfahrungen.
LG
Torsten
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
Danke für die Antworten.
Ich werde mir das Programm mal anschauen, vielleicht kann man ja einige Anregungen mitnehmen.
Die Eventstruktur ist sicher die bessere Lösung, und eigentlich auch nicht schwer zu implementieren.
Noch eine Frage:
Es gibt hier einige Sensoren die standardmäßig verwendet werden. Beispielsweise Pt100 die einen 10 Volt Spannungsausgang haben. Ist hier das Lesen der Werte mit dem DAQ-Lesen VI im Spannungsmodus oder im RTD Modus angebracht. Ich war immer der Meinung, dass die verschiedenen Betriebsmodi für nicht-skalierte Spannungswerte eines Sensors ohne angeschlossener Ausgangselektronik bestimmt sind. Stimmt das?