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 bin ziemlich neu in der Arduino-Labview Materie und möchte mehrere Analoge Spannungen in Labview aufnehmen. Gleichzeitig soll es möglich sein durch drücken eines Schalters einen Impuls mit definierter Länge auszugeben. Das Adruino Kit von NI is ja ansich ganz in Ordnung, allerdings irgendwie recht langsam.
Obwohl in meiner Schleife nur das Ausleses eines Analogeingangs stattfindet, ist aus der Logfile grad mal zu entnehmen das es alle 20ms eine Messung macht. Bei erhöhung der einzulesenden Eingänge und noch der Ausgabe des Impulses bin ich ruck zug bei einem Messzyklus von 60-100ms.
gibt es in Labview eine Möglichkeit diese Zykluszeit zu verkürzen ? oder den Arduino anderst einzubinden als mit dem NI-Plugin?
Dabei sollte der Funktionsumfang nicht verkleiner werden.
das .vi hab ich grade nicht da, kann es aber heut Abend nachliefern falls es wichtig ist
gruß Jens
Anzeige
19.04.2013, 07:31 (Dieser Beitrag wurde zuletzt bearbeitet: 19.04.2013 07:37 von Kasi.)
Ja, das klingt zu langsam, wenn man sich mal die Spezifikationen durchliest - ich hab hier nur recherchiert, keine Erfahrung mit dem Board
Die Auslesezeit sollte bei 100µs bzw. einer entsprechenden Samplerate von 10kHz liegen.
Hast du mal ein Minimalbeispiel des Auslesens ohne die zusätzliche Impuls-Geschichte getestet? Da kannst du ja mal für's grobe Überschlagen den Laufindex i beobachten, ob der eher 50 oder 10000 pro Sekunde steigt (wobei er letzteres auf keinen Fall wird, wegen der zusätzlichen Aktualisierung der Frontpanel-Elemente - aber zumindest "weit weg" von 50/s sollte er sein)
If you're havin' serial communication problems I feel bad for you, son, I got 99 problems but a baud ain't one! (except if using USB2serial converters, then I experience serialous problems)
ja ich hab es mal mit minimaler Standartbaustein Konfig getestet (VI im Anhang). Sprich eine Whileschleife die ein Messung aufnimmt. Das darstellen der Werte erfolgt erst nach der Messung.Aus der generierten Datei ist eine Zykluszeit von 25ms zu entnehmen.
Evtl kann man die Original Arduino Bausteine noch etwas entschlacken oder wenn man eine andere Möglichkeit in Betracht zieht die Daten zu speichern nicht über das Express V, aber dafür kenn ich mich zu wenig aus.
Auszug aus erstellter Datei
Time Voltage
0,000000 2,136400
0,025002 2,254000
0,049003 2,224600
...
~25ms je Messung
bei 2 Kanälen:
Time Voltage1 Voltage2
0,000000 1,896300 2,347100
0,045003 2,160900 2,224600
0,094006 2,058000 2,141300
...
Da die Anbindung scheinbar über eine virtuelle COM geht wirst du denke ich nicht sehr viel schneller werden können. Laut NI-Seite sind wohl mit Schleifenraten von 200 Hz (USB) bis 50 Hz (Wireless) zu rechnen.
Da ich hier kein LabVIEW 2012 habe, kann ich leider auch nicht in deinen Code schauen.