(24.01.2017 19:37 )HuFe95 schrieb: Frage 1:
an einem Prüfstand muss ich ein Signal von einem Hallsensor kommend laufend überprüfen. Übersteig dieses einen bestimmten Wert, so soll an einem Ausgang verzögert ein kurzer Sprung ausgegeben werden.
Zuerst habe ich das Programm aufgebaut und mir das Eingangssignal simuliert. Das Programm ist ausreichend schnell gelaufen. Danach habe ich mittels DAQ(Analog) mein Signal einglesen. Dadurch wird mein Prgramm jedoch nur mehr ca. alle 3ms durchgerechnet.
Ohne irgendetwas anzuhängen habe ich zum Testen einen Digitalen Eingangan in ein leeres VI gelegt und lies mir die Anzahl der Programmdurchläufe anzeigen. Dabei wurde das leere Prgramm alle ca, 0,8ms durchlaufen.
Meine Frage ist jetzt, ob es überhaupt möglich ist mit einem DAQ-Assistenen ein Programm alle 0,05ms durchzulaufen. Wenn ja -> wie könnte ich dies realisieren?
Das hatten wir doch schon in
deinem ersten Thread: 50 µs kannst du unter Windows knicken. Das schreit nach einer Lösung per FPGA.
(24.01.2017 19:37 )HuFe95 schrieb:
Frage 2:
Ein Programm funktionierte einwandfrei wenn ich einen DAQ verwende. Wenn ich jedoch einen zweiten hinzufüge, jedoch nicht mehr. Meine Vermutung: Labview rechnet immer nur in einem DAQ bis der Buffer voll ist und wechselt danach in den zeiten DAQ und kann nicht in zwei gleichzeitig Messwerte aufnehmen?
Mal schauen, ob die Glaskugel mir verrät, was du wirklich sagen willst.
Du hast zwei DAQ-Assi angelegt, jeder liest einen Analog-Eingang ein (natürlich verschiedene AI), aber auf derselben DAQ-Hardware?! Korrekt?! Das geht bei fast keiner NI-Hardware wirklich schnell. Lösung: den DAQ-Assi so definieren, dass er 2 AI erfasst.
Noch besser natürlich: Verzichte ganz auf DAQ-Assi und eigne dir das Wissen an, das selber mit den DAQmx Funktionen zu programmieren.
Einstieg hierzu: Rechtsklick auf DAQ-Assi -> In DAQmx Code umwandeln.
Weiterführend:
https://www.labviewforum.de/Thread-Getti...h-NI-DAQmx und die Bsp im NI Example Finder.
Gruß, Jens