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!
ich hoffe Ihr könnt mit weiterhelfen Derzeit bin ich dabei meine Bachelorarbeit zu schreiben und muss im Rahmen der Arbeit mit LabVIEW programmieren.
Die Programmierung ist größtenteils abgeschlossen. Im Boden des Ganganalyselabors sind Kraftmessplatten verbaut, die mit 7 Sensoren jeweils ausgestattet sind (Dehnungsmessstreifen). Von diesen Sensoren (Z1, Z2, Z3, Z4, X1, Y1, Y2) werden die Kräfte und Momente für beide Kraftmessplatten erfasst.
Genau diese Signalerfassung gestaltet sich als Problem, da ich momentan nur in der Lage bin die analogen Spannungen nur für eine Kraftmessplatte zu erfassen. Ich nutze für jede Kraftmessplatte jeweils einen Analog-Digital-Wandler vom Typ USB-6000.
Mithilfe des DAQ-Assistenten habe ich versucht von beiden Analog-Digital-Wandlern jeweils die 7 Kanäle mit den Sensoren der beiden Kraftmessplatten auszuwählen. Der DAQ-Assistent zeigt mir daraufhin den Fehler an, dass die genutzen Geräte (USB-6000) mehrere Tasks nicht unterstützen. Dadurch habe ich nicht die Möglichkeit die Signale beider Kraftmessplatten gleichzeitig zu erfassen.
Nun weiß ich nicht, ob es möglich ist auch ohne den DAQ-Assistenten die Signalerfassung von beiden Analog-Digital-Wandlern gleichzeitig möglich zu machen oder ich einen Analog-Digital-Wandler kaufen muss, welcher 16 Kanäle bietet.
Zitat:Ich nutze für jede Kraftmessplatte jeweils einen Analog-Digital-Wandler vom Typ USB-6000.
Also für 7 Platten dann 7 Stück USB6000?!?
Obwohl ein USB6000 8 Analogeingänge hat?
Zitat:Mithilfe des DAQ-Assistenten
Hier liegt ein Grundfehler vor! (Das ist teilweise humoristisch gemeint: der DAQAssi hat seine Einsatzfälle - aber nicht in einem Programm, welches evtl. länger laufen soll…)
Zitat:Der DAQ-Assistent zeigt mir daraufhin den Fehler an, dass die genutzen Geräte (USB-6000) mehrere Tasks nicht unterstützen.
Und da hat er durchaus Recht zu!
Zitat:Dadurch habe ich nicht die Möglichkeit die Signale beider Kraftmessplatten gleichzeitig zu erfassen.
Falsch. Du gibst einfach zu früh auf…
Zitat:Nun weiß ich nicht, ob es möglich ist auch ohne den DAQ-Assistenten die Signalerfassung von beiden Analog-Digital-Wandlern gleichzeitig möglich zu machen oder ich einen Analog-Digital-Wandler kaufen muss, welcher 16 Kanäle bietet.
Beides führt zu einer Lösung…
Hinweise:
- Bitte die DAQmx-Grundlagen aus meiner Signatur durcharbeiten. Das erspart dir spätere Probleme mit dem DAQAssi!
- Ein DAQmx-Task kann durchaus mehrere Kanäle enthalten: genau dies wird auch in den mit LabVIEW mitgelieferten BeispielVIs gezeigt!
- Meiner Meinung nach könntest du deine 7 Sensoren mit nur einer einzigen USB6000 messen…
Es sind zwei Kraftmessplatten mit jeweils 7 Sensoren Z1, Z2, Z3, Z4, X1, Y1 und Y2. Von beiden Kraftmessplatten habe ich also 7 Anschlüsse für die Sensoren, die ich an ein Analog-Digital-Wandler anschließen muss. Für Kraftmessplatte 1 nutze ich die Kanäle 0-7 von ADW1 und für Kraftmessplatte 2 nutze ich die Kanäle 0-7 von ADW2.
Ich brauch definitiv die Signale beider Kraftmessplatten gleichzeitig, da ich bei der Ganganalyse über beide Kraftmessplatten laufe und daraus die kinematischen Verlaufskurven des Gangs darstellen muss.
Im DAQ-Assistenten werden mir beide AD-Wandler angezeigt (USB-6000). Dort wähle ich dann jeweils von beiden AD-Wandlern die Kanäle 0-7. Wenn ich das so einstelle wird mir der Fehler angezeigt: Geräte unterstützen keine mehreren Tasks.
Nun weiß ich definitiv, dass es nicht möglich wäre über zwei AD-Wandler mit jeweils 8 Kanälen von zwei Kraftmessplatten gleichzeitig Signale zu erfassen. Ein AD-Wandler mit 16 Kanälen würde jedoch funktionieren und ich könnte die Kanäle 0-7 für Kraftmessplatte 1 und die Kanäle 8-14 für Kraftmessplatte 2.
Das Problem ist jedoch, dass der AD-Wandler 760€ kostet und mein Professor sichergehen möchte, ob es nicht doch einen anderen Weg gibt, bevor er soviel Geld ausgeben muss.
LG
Behrang
26.11.2017, 20:27 (Dieser Beitrag wurde zuletzt bearbeitet: 26.11.2017 20:28 von GerdW.)
Zitat:Im DAQ-Assistenten werden mir beide AD-Wandler angezeigt (USB-6000). Dort wähle ich dann jeweils von beiden AD-Wandlern die Kanäle 0-7. Wenn ich das so einstelle wird mir der Fehler angezeigt: Geräte unterstützen keine mehreren Tasks.
Ahh, so langsam verstehe ich…
Du versuchst gerade, 2 Geräte (aka USB6000) in einem DAQmxTask zu verwenden? Das wird nicht funktionieren…
Zitat:Nun weiß ich definitiv, dass es nicht möglich wäre über zwei AD-Wandler mit jeweils 8 Kanälen von zwei Kraftmessplatten gleichzeitig Signale zu erfassen.
Das weißt du "definitiv"? Wirklich?
Du kannst doch ganz einfach 2 DAQmxTasks erstellen, einen pro Gerät. Ich wette mit dir, dass das funktionieren wird!
Und nochmal der dezente Hinweis: schau dir die DAQmx-Grundlagen an und verzichte danach auf den DAQAssi…
Also ich habe mir das durchgelesen, jedoch meinte ein anderer Dozent, den ich auch dazu gefragt habe, dass es nicht funktionieren würde.
Kraftmessplatte 1 und 2. Vielleicht kann ich dir das besser über Bilder vermitteln. Ich nutz den DAQ-Asisstent Datenerfassung. Z1,Z2,Z3,Z4, X1,Y1, Y2 für KMP01 und AD-Wandler 1 und Z1,Z2,Z3,Z4, X1,Y1, Y2 für KMP02 und AD-Wandler 2.
Der Dozent meinte, dass es nicht möglich ist von zwei AD-Wandlern gleichzeitig über USB Signale zu erfassen. Ich bin halt nicht so der Profi in LabVIEW und hatte auch etwas Probleme mit den Infos zu DAQmx, weil ich nicht so genau weiß, wie das aufgebaut sein muss.
[1]
[2]
[3]
27.11.2017, 07:53 (Dieser Beitrag wurde zuletzt bearbeitet: 27.11.2017 07:57 von GerdW.)
Zitat:jedoch meinte ein anderer Dozent, den ich auch dazu gefragt habe, dass es nicht funktionieren würde.
Wieviel Erfahrung hat dieser Dozent mit LabVIEW? (Ich hoffe, er doziert nicht über LabVIEW… )
Zitat:Ich brauche von beiden Kraftmesssplatten die Signale gleichzeitig
Das ist, wie ich oben schon geschrieben habe, machbar!
Hast du dir die Fehlerbeschreibung eigentlich aufmerksam durchgelesen? "Mindestens ein Gerät unterstützt keine Tasks mit mehreren Geräten!" und der Angabe von Dev1 und Dev2? Hast du das mit meinem Hinweis oben abgeglichen?
Zur Sicherheit wiederhole ich ihn nochmal:
Zitat:Du versuchst gerade, 2 Geräte (aka USB6000) in einem DAQmxTask zu verwenden? Das wird nicht funktionieren…
Du kannst doch ganz einfach 2 DAQmxTasks erstellen, einen pro Gerät. Ich wette mit dir, dass das funktionieren wird!
Erstmal Bitte Anhänge hier im Forum hochladen. Ich habe das für dich geändert.
(26.11.2017 21:11 )behrangc schrieb: Ich danke dir nochmal für die frühe Antwort!
Also ich habe mir das durchgelesen, jedoch meinte ein anderer Dozent, den ich auch dazu gefragt habe, dass es nicht funktionieren würde.
Kraftmessplatte 1 und 2. Vielleicht kann ich dir das besser über Bilder vermitteln. Ich nutz den DAQ-Asisstent Datenerfassung. Z1,Z2,Z3,Z4, X1,Y1, Y2 für KMP01 und AD-Wandler 1 und Z1,Z2,Z3,Z4, X1,Y1, Y2 für KMP02 und AD-Wandler 2.
Der Dozent meinte, dass es nicht möglich ist von zwei AD-Wandlern gleichzeitig über USB Signale zu erfassen. Ich bin halt nicht so der Profi in LabVIEW und hatte auch etwas Probleme mit den Infos zu DAQmx, weil ich nicht so genau weiß, wie das aufgebaut sein muss.
Dann zu "gleichzeitig":
Probieren geht über studieren: Natürlich ist es möglich sein, 2 unabhängige DAQmx Tasks (oder igitt: DAQ-Assis) zu starten. Wenn du das parallel machst, dann laufen die beiden Tasks auch gleichzeitig und du erfasst die Signale somit auch gleichzeitig. Wenn du dann noch einen AI-Start-Trigger verwendest (ja, die USB-6000 kann das), dann starten die Tasks auch gleichzeitig. Also, Kabel verlegen, meinetwegen von P0.0 von Karte 1 zu P0.1 von Karte 1 UND Karte 2, und dann über einen DO-Task für P0.0 auf Karte 1 die Tasks programmatisch starten.
Jetzt aber eine kleine Einschränkung: Schon jetzt erfasst du die 7 Signale auf einer USB-6000 nicht wirklich gleichzeitig. Die USB-6000 hat nur einen A/D Wandler, bei der Erfassung mehrerer Signale wird dann intern zwischen den Eingangskanälen hin- und hergeschaltet, die Signale werden nacheinander erfasst. Wenn du das wirklich absolut gleichzeitig brauchst, dann brauchst du ganz andere Hardware.
Gruß, 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!
Schlussendlich wird ein neuer AD-Wandler beschafft, der 16 Kanäle besitzt. Im Prinzip wären jetzt alle meine Probleme gelöst und die Programmierung abgeschlossen.
Eine Sache muss ich jedoch noch einbauen und ich weiß nicht, wie ich das am Besten machen kann.
Mein programm erfasst Messwerte viel zu schnell und daher muss ich versuchen die For-Schleife zu verkürzen bzw. eine Verzögerung einzubauen.
Eine solche Verzögerung soll auch im dritten Sequenzrahmen in der For-Schleife vorhanden sein.
Im Anhang habe ich die erste For-Schleife als Bild hochgeladen. Im dritten Sequenzrahmen (passt leider nicht alles in ein Bild) ist ebenfalls eine For-Schleife vorhanden.
Habt ihr vielleicht eine Idee?
Viele Grüße
05.12.2017, 16:27 (Dieser Beitrag wurde zuletzt bearbeitet: 05.12.2017 16:28 von GerdW.)
Ja, mein Professor hat einen AD-Wandler bestellt, der 16 Kanäle hat (USB-6210).
Dadurch kann ich die Sensorwerte beider Kraftmessplatten mit nur einem AD-Wandler erfassen.
Ich habe mir die Signatur von dir angeschaut. Mir ist noch nicht ersichtlich, wie du es genau meinst, da ich ja den DAQ-Assistenten nun nutzen kann, da der Fehler nur auftritt wenn zwei AD-Wandler via USB angeschlossen werden.
Die Samplerate kann ich über den DAQ-Assistenten auswählen und auch den Erfassungsmodus. Ich glaube ich habe mich auch nicht richtig ausgedrückt. Ich möchte eine Verzögerung einbauen in die For-Schleife, da ich ja eine gewisse Zeit brauche bis ich über die Kraftmessplatten laufen kann.
Ich habe im zweiten Sequenzrahmen eine Meldung über LabVIEW erstellt, die angezeigt wird wenn der erste Sequenzrahmen abgeschlossen ist. Dort steht dann: "Kalibrierung abgeschlossen. Zum Start der Messung OK drücken".
Wenn ich auf "OK" klicke fängt die Messung im dritten Sequenzrahmen an. Das ist nicht sinnvoll, da ich ja noch etwa 5-10 Sekunden benötige um bis zur Kraftmessplatte zu gelangen und drüberzulaufen. Angeblich gibt es in LabVIEW eine Funktion mit dem ich diese Verzögerung im dritten Sequenzrahmen in der For-Schleife einbauen kann.