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!
Hallo.
Bin ganz Neu hier^^ und habe auch erst vor einer Woche mit LabVIEW angefangen... also bitte ein wenig Rücksicht, wenn die Fragen auch noch so banal sind^^
Also folgendes. Ich habe hier 5 SCXI 1125 Karten mit je einem SCXI 1320 Aufsatz. Das macht 40 Messleitungen und an jede kann ich von -5 bis +5V anlegen.
Der DAQ-Assistent soll nicht verwendet werden.
Das Problem ist: Wenn ich in LabVIEW einen DAQ Task auf auf einen der Kanäle lege und den in z.B. einem Diagramm ausgebe, ist das kein Problem.
Aber wenn ich nun einem zweiten Task einen anderen Kanal der gleichen Karte zuweise und den auch ausgeben will, kommt es zum Ressourcenkonflikt, weil die Karte nun 2fach angesprochen wird.
Ich weiß, das die Kanäle gemultiplext werden und dann auf den Bus kommen. Aber ich weiß nicht, wie ich die Daten da abfragen kann und auch nicht wie ich diese gemultiplexten Daten nachher in LV auswerten kann.
Ich hoffe, mir kann hier jemand helfen.
MfG
Thomas
P.S.: das wird sicher nicht die letzte Frage gewesen sein :/
There are 10 types of people in this world. Those who understand binary and those who don't.
' schrieb:Das Problem ist: Wenn ich in LabVIEW einen DAQ Task auf auf einen der Kanäle lege und den in z.B. einem Diagramm ausgebe, ist das kein Problem.
Aber wenn ich nun einem zweiten Task einen anderen Kanal der gleichen Karte zuweise und den auch ausgeben will, kommt es zum Ressourcenkonflikt, weil die Karte nun 2fach angesprochen wird.
Hm...warum machst du denn zwei verschiedene Tasks? Mach doch einfach einen Task, mit dem du alle Kanäle ausließt...und das aufdröseln machst du im Programm! Wenn du deinen Task mit den Kanälen 1, 5, 11 aufbaust, erhälst du beim auslesen ein 2D-Array (bei DBL-Werten) mit drei Spalten in der gleichen Reihenfolge oder aber eine 1D-Waveform-Array mit drei Elementen in der gleichen Reihenfolge.
Zwei Tasks, die auf den gleichen Bereich zugreifen geht halt nicht...außer du stoppst den einen Task, bevor du den andren startest!
Das Aufdröseln der Kanäle aus dem jeweiligen Array läuft über die Funktion "Index Array" mit Angabe des jeweiligen Elements!
A.
"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)
Ich habe hier mal ein Bild.
Also. wenn ich das so gemacht habe dachte ich mir.. das geht so.
Ich lese die erste Karte aus.
Da das ein 2D DBL Array ist, dacht ich, wenn ich dir Funktion Teilarray so verwende wie in der LV Hilfe beschrieben, hab ich danach bei Index 1, die erste Spalte des 2D... also ein ID DBL Array. Der sagt mir aber das da ein Array mit 2 Dimensionen ist.
In der Hilfe steht zur Array Funktion "Teilarray": Gibt den Teil des Arrays aus, der an der durch Index angezeigten Stelle beginnt und so viele Elemente hat wie unter Länge angegeben. (ich habs auch versucht bei Länge etwas anzugeben)
*EDIT* Hier ist noch ein 2tes Bild. da hab ich es mit dem indizieren des Arrays und aufschlüsseln versucht... aber die numerische Anzeige bleibt auf 0.(Im Diagramm ist die Spannung aber zu sehen, die ich angeschlossen habe ( 3V ) ).
*EDIT2* ich habs^^ erst ma coppelt rumprobieren dann gehts... ich hab kanalanzahl auf 0 gelassen^^ sry
There are 10 types of people in this world. Those who understand binary and those who don't.
Durch das verdrahten des 2D-Array in eine FOR-Schleife machst du automatisch schon ne Splittung...das nennt sich "Auto indexing" und ist erkennbar an den Klammern, die am Schleifenrand den Tunnel bilden, bei dem das 2D-Array in ein 1D-Array umgewandelt wird!
Fahr mal mit dem Verdrahtungstool über die jeweiligen Drähte und guck dir die Kontext-Hilfe dazu an...
Du solltest dir in der LV-Hilfe mal den Punkt "Data types" suchen!
"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)
25.01.2008, 09:06 (Dieser Beitrag wurde zuletzt bearbeitet: 25.01.2008 22:48 von jg.)
Ich hätt da noch mal eine Frage... ich hab schon in anderen Foren gesucht und in der Hilfe wieder mal nachgeschaut... ich hab ein Problem bei der forschleife
Ich möchte gerne, das sie nicht von 0 bis x zählt, sondern von y bis x... ich will also wie bei C for( iTest = 5; iTest < 13; iTest ++) so etwas machen können... geht das überhaupt?
MfG
Thomas
*EDIT*
Ich weiß, jetzt passt der Titel nicht mehr wirklich, aber nen neuen Thred jedes mal aufzumachen wollt ich nicht. ich hoff ma, das is ok so^^
*EDIT2*
Wo ich schon mal dabei bin... abgehangen ist ein vi.
Erwartet werden von 1 - 40 Spannungen. Rechts oben ist ein Sequenzgraph. wie bekomme ich die ersten 8 Spannungen in den Graphen als 8 plots? Die anderen Spannungen sollen nachher auch in 8er Blöcken in andere Graphen.
Ich hoff ma, das geht überhaupt^^
There are 10 types of people in this world. Those who understand binary and those who don't.
' schrieb:Ich hätt da noch mal eine Frage... ich hab schon in anderen Foren gesucht und in der Hilfe wieder mal nachgeschaut... ich hab ein Problem bei der forschleife
Ich möchte gerne, das sie nicht von 0 bis x zählt, sondern von y bis x... ich will also wie bei C for( iTest = 5; iTest < 13; iTest ++) so etwas machen können... geht das überhaupt?
Jein, geht schon, aber nicht so, wie in C.
Eine FOR-Schleife in LV fängt immer bei index 0 an zu zählen. Du musst also deine Indices entsprechend verschieben (also, Schleife geht von 0 bis (x-y), und wenn du in der Schleife den Index brauchst, dann jeweils y dazuaddieren).
Und mach ruhig für eine neue Frage ein neues Thema auf, sonst entstehen lange "persönliche" Threads, in denen alles mögliche verwurschelt wird, wobei der Thementitel nichts mehr mit dem Inhalt zu tun hat.
MfG, 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!