LabVIEWForum.de - Task Out verbinden ?

LabVIEWForum.de

Normale Version: Task Out verbinden ?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Guten morgen,

folgendes Problem. Ich lese mit angehängten Vi alle analogen Inputs ein. Zusätzlich habe ich aber noch 2 digitale Inputs. Meines Wissens nach kann ich dieses aber nicht im "DAQmx Create Channel" kombinieren, da ich dort nur einen Wert eingeben kann. Mein Ziel ist es aber alle Daten genau zum selben Zeitpunkt einzulesen. Daher ist meine Frage, ob es irgendwie möglich ist die Task out zu kombinieren, so dass beide in mein "DAQmx Timing" gehen. Wenn ich zwei "DAQmx Timing" verwenden würde bestünde doch die Möglichkeit, dass das eine früher startet als das andere, oder nicht? Vielen Dank für Eure Hilfe!

Gruß Lex

Lv86_img
Es geht schon, aber es ist nicht ganz einfach und ich würde empfehlen, unter diesen Beispielen:
Signalfassung mittel Hardware -->DAQmx --> Synchronisation --> mehrere Funktionen
das Passendste zu suchen und Dich dann mit zu viel zusätzlicher Kreativität zurückzuhalten.
Das Prinzip ist immer das:
Die eine Task ist Master, die andere Slave. Der Master hat seinen eigenen Sample-Takt, der Slave bezieht ihn von Master. Der Slave wird zuerst gestartet, läuft aber nicht, weil ihm der Takt fehlt. Mit der Starten des Masters laufen dann beide Tasks exakt synchron. Genial, nicht?
Hört sich genial an. Mal gucken ob wir als inGENIEuere auch genug Genialität haben um es umzusetzen...

Gruß Lex
Wie es scheint reicht es nicht...Sad

Ich habe das Vi mal angehängt. Vielleicht kann mir jemand sagen warum es nicht geht....

Gruß Lex

Lv86_img
Sehe mir das am Wochenende mal an. Aber auf alle Fälle solltest Du uns die verwendete Messkarte verraten.
Ich habe eine PCI 6289
Dort ist weiter ein SCXI 1102 angeschlossen.

Danke schonmal
Gruß Lex
Habs mir mal angesehen, zum Laufen bringe ichs ja wegen fehlendem SU-VIs und der Karte sowieo nicht.
Was mir auffiel:
Physic Chan 6: Es ist ein "Digital Input", angeschlossen sind aber analoge Kanäle. Das funktioniert doch nicht, und ich wundere mich, daß LV das überhaupt zulässt.
Lesen: Es werden bei Anzahl -1 immer alle Werte aus dem Buffer gelsesen. Da die Read-VIs aber nicht alle gleichzeitig gelesen werden können, wird die Anzahl jeweils etwas verschieden sein. Das macht dann bei der Zusammenfassung der Waveforms Ärger.
Also: Anzahl vorgeben - das reduziert auch die CPU-Belistung gewaltig. So wie jetzt ist es eine Schleife ohne Wait. (Bei Vorgabe einen Anzahl ist Wait nicht erforderlich)

Es ist sowieso besser, die sehr ähnlichen Tasks zu einem Task zusammernzufassen, und gegebenenfalls die einzelnen Waveforms nach dem Lesen auseinanderzusplitten. Dann kommt auch mehr übersicht in das VI rein.
Das sieht dann so aus (man kann das sogar eleant mit einer For-Schleife machen)
[attachment=16949]
Hi Lucki,

es funktioniert:DCoole Sache. Danke!!!

Aber dann möchte ich Dich gleich noch etwas fragen. Jetzt folgt der nächste Ausbauschritt. Dazu muss ich aber etwas ausholen.

Folgende Aufgabenstellung. Ich mache Versuche bei denen Zeit eine wichtige Rolle spielt. Wir müssen etwa 3-4 h lang Messen. In dieser Zeit sind 31 Perioden (etwa 30 sek) von hoher Bedeutung. Da benötigen wir Messdaten mit etwa 10KHz. Jede dieser Sequenzen wird mittels eines Schalters der an einen Digitalen Eingang gelegt ist manuell ausgelöst. Wenn dieser Schalter gedrückt wird, müssen die Messdaten mit dieser Frequenz aufgezeichnet werden und gleichzeitig 2 Kameras getriggert werden.

Folgendes ist jetzt mein Problem:
- Ich muss die Triggerung dort noch einbauen.
- Wenn ich 4h lang mit 10KHz aufnehme läuft mein Speicher voll. Daher würde ich gerne in den anderen Phasen einfach nur jeden 10, 20, oder so ... Wert abspeichern. Wenn ich den Trigger drücke aber alle Werte.

Hast Du dafür auch so tolle Ideen? Wäre sehr cool.
Vielen Dank schonmal.
Gruß Lex
Das schreit doch nach einer State Machine. Wartestatus, der die digitalen Eingänge abfragt und regelmäßig mit niedriger Rate sampled, beim Ändern der entsprechenden Eingänge wird der Case aufgerufen, der mit hoher Rate 30 Sekunden lang aufzeichnet... Danach Datei speichern oder Userabfrage, ob er das will etc.
' schrieb:Aber dann möchte ich Dich gleich noch etwas fragen. J
Im Moment habe ich wenig Zeit, deshalb gebe ich die an mich gerichtete Frage mal frei, damit sie jemand anderes bentwortet.
Seiten: 1 2
Referenz-URLs