LabVIEWForum.de - Kurzen Impuls erzeugen

LabVIEWForum.de

Normale Version: Kurzen Impuls erzeugen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

Ich benutze LabVIEW erst seit kurzem, da ich es für eine Semesterarbeit brauche, und habe folgendes Problem zu lösen.

Ich habe ein boolean und wenn der auf True ist, muss an einem Pin der DAQ Box (NI 6221) einen kurzen Puls (5V - 12V, Puls ca. 1ms) erzeugt werden.
Nun habe ich mir ein paar Beispiele von NI mal genauer angesehen und da das VI „GenDigPulse.vi“ gefunden. Hab schnell eine Case Struktur drumherum erstellt, bei True wird das VI ausgeführt bei False wird nix gemacht. Es funktioniert auch sehr gut, nur das Problem ist, das die Zeit die das VI braucht, für meine Anwendung leider zu langsam ist. Das VI sollte schneller abgearbeitet werden!
Als erstes habe ich den Block „DAQmx WaitUntilDone.vi“ gelöscht, und das hat ein paar ms gebracht.
Als zweites habe ich versucht den Block „DAQmx Create Channel.vi“ in die Initilaisierung meines Programmes einzufügen. Nur wen ich das tue, dann wird nur ein Impuls erzeugt und bei zweiten kommt eine Fehler Meldung(weiß leider nicht mehr welche, da ich nicht im Labor bin).
Geh ich richtig in der Annahme das wenn ich ein Signal erzeuge auch einen Channel erzeugen muss? Denn dies würde dieses Problem erklären.
Wie kann ich noch die Laufzeit erhöhen? Die Laufzeit vom restlichen Programm ist gut, nur wenn das VI „GenDigPulse“ aufgerufen wird, ist sie doch recht bescheiden. Oder gibt es eine einfachere und simplere Methode um einen kurzen Impuls zu erzeugen?

Bedanke mich schon mal im voraus

Gruß ND26

PS: hab mal das VI hochgeladen

Lv82_img
Wie wäre es, wenn du das Bsp. Gen Dig Pulse-Dig Start verwendest?

Über dein Start-Button steuerst du dann einen DO, den du als Trigger verwendest.

MfG, Jens
' schrieb:Wie wäre es, wenn du das Bsp. Gen Dig Pulse-Dig Start verwendest?

Über dein Start-Button steuerst du dann einen DO, den du als Trigger verwendest.

MfG, Jens

Ja das könnte ich. Nur löse Ich damit meine Laufzeitprobleme? Kann es leider erst am Montag testen....


Gruss Nd26
Ich vermute mal, dass das so schon schneller geht. Der Task zur Erzeugung des Pulses ist ja gestartet, der Counter mit allen relevanten Parametern "geladen" und wartet jetzt nur auf einen digitalen Trigger zum Starten.

Den erzeugst du nun über einen DO. Auch hier kannst du ja den Task schon vorher starten und schreibst dann nur noch die Änderung auf den DO, wenn du den Button drückst.

Somit kommst du zumindest aus dem "Software-Dilemma" raus, erst auf Knopfdruck den Task zu starten.

MfG, Jens
' schrieb:Ich vermute mal, dass das so schon schneller geht. Der Task zur Erzeugung des Pulses ist ja gestartet, der Counter mit allen relevanten Parametern "geladen" und wartet jetzt nur auf einen digitalen Trigger zum Starten.

Den erzeugst du nun über einen DO. Auch hier kannst du ja den Task schon vorher starten und schreibst dann nur noch die Änderung auf den DO, wenn du den Button drückst.

Somit kommst du zumindest aus dem "Software-Dilemma" raus, erst auf Knopfdruck den Task zu starten.

MfG, Jens

Hört sich gut an, nur könntest das vielleicht genauer erklären? Am besten noch welche VI's ich verwenden soll. Hab leider nicht so die Erfahrung mit LabVIEW..

So wie ich deinen Text verstehe brauche ich nur einen Task erzeugen und kann dann soviele Pulse erzeugen wie ich möchte, richtig?

Gruss ND26
Muss der Puls eigentlich per IO-Karte und LV generiert werden?
Oder würde es auch ein Monoflop aus der 74TTL-Reihe tun?

Den Monoflop könntest ja immer noch per IO-Karte Triggern.

z.b. 74HCT221
oder 74HCT123

Gruß, Rob
' schrieb:Muss der Puls eigentlich per IO-Karte und LV generiert werden?
Oder würde es auch ein Monoflop aus der 74TTL-Reihe tun?

Den Monoflop könntest ja immer noch per IO-Karte Triggern.

z.b. 74HCT221
oder 74HCT123

Gruß, Rob

Der Impuls wird per LabVIEW erzeugt (Boolean auf True) und soll dann an der DAQ Box ausgegeben werden.

Gruss ND26
Referenz-URLs