Hallo Forum,
ich wende mich an Euch für eine Messaufgabe mit einer USB 6255 und LabView 2019
Ich muss einen Puls erzeugen 300ms low, 300ms high, 300ms low.
Zeitgleich muss ich das Signal genau abtasten.
Bisher habe ich nur die Funktion gefunden einen Puls zu erzeugen und mit dem Trigger auf PFI 12 zu samplen. (siehe VI im Anhang)
Dabei erfasse ich aber nur den high pulse 300ms und nicht die low Phasen.
Daher 2 Fragen
1. Wie kann ich einen Puls als Task definieren (300ms low, 300ms high, 300ms low)
2. Wie kann ich dieses Signal getriggered erfassen., da ich keine Flanke habe
Danke vorab
Hachiko
Hallo Hachiko,
Zitat:Daher 2 Fragen
1. Wie kann ich einen Puls als Task definieren (300ms low, 300ms high, 300ms low)
2. Wie kann ich dieses Signal getriggered erfassen., da ich keine Flanke habe
Mögliche Antworten:
1. Erstelle einen DO-Task mit einer Samplerate von 3.33Hz (= 0.3s pro Sample) und gebe eine digitale Waveform mit 3 Samples aus (F, T, F). (Alternativ einen AO-Task mit einer Samplerate von 3.3S/s und den 3 Samples 0, 5, 0.)
2. Erstelle einen AI-Task mit der gewünschten Samplerate.
2a. Um beide Tasks zu synchronisieren, könntest du beide Tasks mit dem gleichen Starttrigger laufen lassen oder die Sampleclock des DO-Tasks als Starttrigger für den AI-Task.
Für alle diese Steps gibt es DAQmx-BeispielVIs im Beispielfinder…
Bitte dein Profil anpassen, wenn du LV2019 verwendest.
Hallo GerdW,
Besten Dank für Dein Vorschlag, den ich so schnell wir möglich austesten werden.
Ich hätte erwähnen sollen, dass ich 20 Mosfets ansteuern muss, dann bräuchte ich 20 AOs mit der Lösung.
Die 6255 hat 4 AOs. Muss mir noch was einfallen lassen, damit ich meiner einer 6255 zurecht kommen kann.
Wäre schon mit 16 Mosfets zufrieden, falls das mit den PFI 0 -. 15 irgendwie machbar wäre.
Beste Grüße
Hachiko
Hallo GerdW,
ich scheitere leider komplett an der Umsetzung deines Vorschlages.
Erstelle einen DO-Task mit einer Samplerate von 3.33Hz (= 0.3s pro Sample) und gebe eine digitale Waveform mit 3 Samples aus (F, T, F).
Wenn ich mit dem Assistenten mit Signal erfassen starte, dann kann ich danach "Spannung" auswählen.
Im nächsten Schritt dann die Samplerate 3.33Hz und 3 Samples angegeben und Rechteckschwingung.
Also kurz gesagt, mir fällt nichts ein um der Vorgabe zu folgen.
Könntest Du mir bitte auf die Sprünge helfen.
Gruß
Hachiko
Hallo Hachiko,
Zitat:ich scheitere leider komplett an der Umsetzung deines Vorschlages.
Ich empfehle dir das Erstellen eines DO-Tasks (DO= digital output) und du beginnst, einen AO-Task (AO= analog output) zu definieren!?
Und warum nutzt du nicht einfach die DAQmx-Funktionen, wie sie in den DAQmx-BeispielVIs aus dem Beispielfinder gezeigt werden?
Hallo GerdW,
ich habe nun eine Lösung, siehe Anhang.
Ich habe einen Task für einen Impuls mit dem Trigger PFI 12 erzeugt
Einen zweiten Task der auch erst mit mit dem Trigger PFI 12 losläuft damit beide Task synchron laufen.
Besteht die Möglichkeit den Trigger anders zu lösen, so dass ich keine externe Verdrahtung machen muss.
Vorgesehen habe ich dass ich z.b. AO 0 auf PFI 0 verdrahte und so triggere.
Viele Grüße
Hachiko
Schau Dir im MAX die zugehörige Routing-Tabellen an.
Manche Signale kann man bei der Task- Konfiguration direkt angeben, andere műssen explizit programmatisch geroutet werden. Dafür gibt es Beispiele im Example-Finder.
Gruß Holger
(13.06.2024 15:01 )Hachiko schrieb: [ -> ]Hallo GerdW,
Besten Dank für Dein Vorschlag, den ich so schnell wir möglich austesten werden.
Ich hätte erwähnen sollen, dass ich 20 Mosfets ansteuern muss, dann bräuchte ich 20 AOs mit der Lösung.
Die 6255 hat 4 AOs. Muss mir noch was einfallen lassen, damit ich meiner einer 6255 zurecht kommen kann.
Wäre schon mit 16 Mosfets zufrieden, falls das mit den PFI 0 -. 15 irgendwie machbar wäre.
Beste Grüße
Hachiko
Kommt drauf an... Sollen die genau parallel für 300ms "aufgemacht" werden? Dann reicht dir doch ein Kanal zum Ansteuern, den du Entweder direkt auf alle Basen der FETs gibst (Strombedarf dürfte ja nicht hoch sein und vom NI getrieben werden können). Ggf. musst du das als Open Collector mit Pull Up Widerstand schalten (konkreter müsste sich das aus dem Datenblatt des NI USB ergeben. Was für mich nicht ganz klar wird: Willst du ein kontinuierliches Rechtecksignal mit 300ms Pulsweite und 300ms Pause ausgeben? Falls nein solltest du dir auch klarmachen, in welchem Zustand dein NI USB sein soll / muss wenn du gerade "kein" Signal ausgeben willst. Soll das dann auf LOW sein? Wichtig hierbei: Das Signallevel mit dem du bei der letzten Ausgabe aufhörst wird anschließend gehalten. Falls du also (eigentlich) H(lang)L(300ms)H(300ms)L(300ms)H(lang) schalten willst, musst du dein Signal dementsprechend mit einem letzten High ergänzen (vor dem Start des nächsten Zyklus ist dein Signal dadurch ja bereits ebenfalls auf High gesetzt).
Gruß Kiesch
Hallo Kiesch,
die Puls 100ms low, 100ms high, 100ms low soll einmalig sein.
Hierzu nutze ich das CO- Implusdauer mit 100ms inital delay.
Für jeden Mosfet spende ich einen PFI, in Summe reicht das für 15 MOSFETS.
PFI0 brauche ich als Trigger um dem Task für den Puls und die zeitgleiche Messung zu starten.
Im angehängten VI ist auch Doku.
Bisher muss ich mit P0.0 den PFI1 triggern. Da war meine Frage ob man das nicht auch intern über die Box triggern kann.
Im Anhang ist die Hardwarematix für die USB 6210. Ich verstehe allerdings nicht, wie ich das verstehen soll.
Wäre es dann in meinem Beispiel möglich PFI 1 über Software zu triggern und wenn wie würde das funktionieren?
Gruß
Hachiko
(25.06.2024 13:55 )Hachiko schrieb: [ -> ]Wäre es dann in meinem Beispiel möglich PFI 1 über Software zu triggern und wenn wie würde das funktionieren?
Counter0/1InternalOutput ist mit PFI 1 verbunden.
Via Software den Counter starten (vielleicht einen DownCounter von 1 auf Null) und der Ausgang sollte am PFI 1 ankommen.
Das ist aus dem Gedächtnis. Schau Dir die Beispiele an.
Holger