Hallo zusammen,
ich hoffe, es ist in Ordnung, dass ich dieses ältere Thema nochmal aufgreife. Hintergrund ist, dass ich jetzt stolzer Besitzer einer PCIe-6321 bin und hier auch gerne einen digitalen Ausgang via Hardwaretiming ansteuern möchte. Hierbei sollte der Ausgang für eine definierte Zeit auf high gehen und dann wieder auf low schalten. Das ganze möchte ich bevorzugt innerhalb der Software starten und für das Timing auf den Hardware-Timer zurückgreifen.
Im Beispiel "Digital - Finite Output.vi" wäre das wohl die Variante mit "Time Start", bei der ich dem DAQmx Trigger (VI) eine Zeit kurz später als die aktuelle Systemzeit übergebe. Die Frage wäre, ob es hier noch eine elegantere Lösung gibt, oder ob es dann doch eher wieder auf einen "Digital Start" hinausläuft? Hier würde ich dann einen weiteren digitalen Output an einen der PFIx-Pins anschließen und so die zeitgesteuerte Ausgabe starten.
Im Voraus wie immer vielen Dank für den ein oder anderen Denkanstoß!
Hallo creo,
Zitat: gerne einen digitalen Ausgang via Hardwaretiming ansteuern möchte. Hierbei sollte der Ausgang für eine definierte Zeit auf high gehen und dann wieder auf low schalten. Das ganze möchte ich bevorzugt innerhalb der Software starten und für das Timing auf den Hardware-Timer zurückgreifen.
Leider hast du es in den letzten 3 Jahren nicht gelernt, deine Frage möglichst konkret zu stellen…
Was genau meinst du mit "mit Hardwaretiming ansteuern"?
Meinst du wie früher einen StartTrigger?
Meinst du einen Sampletrigger?
Meinst du einen Starttrigger kombiniert mit einer festen Samplerate für den DO-Task?
Muss es ein DO-Task sein, oder könnte es auch ein CTRout/PWM-Task sein?
Ich möchte einen digitalen Ausgang für eine definierte Zeitspanne auf High setzen. Beispielsweise soll ein digitaler Ausgang an einer bestimmten Stelle im Programm für 3400 ms auf High gehen und anschließend wieder auf Low wechseln.
Da ich diese Zeit möglichst genau vorgeben will, ist ein Messen der Zeit über einen Hardware-Timer sinnvoll, d.h. ich möchte die Zeit nicht via Software "stoppen".
Im erwähnten NI-Beispiel wird ja ein Timer zum Stoppen der Zeit eingerichtet, allerdings erscheint mir das Starten des Outputs über einen PFx-Pin in Verbindung mit einer Kabelbrücke oder die Systemzeit-abhängige Variante als etwas umständlich.
Meine Frage wäre, wie ich den Ablauf ohne die beschriebenen Umwege auslösen kann? Bezogen auf deine Fragen bzw. Vorschläge wäre das wohl wie früher ein Start-Trigger, der aber softwareseitig gesetzt wird.
Hallo creo,
Zitat:Beispielsweise soll ein digitaler Ausgang an einer bestimmten Stelle im Programm für 3400 ms auf High gehen und anschließend wieder auf Low wechseln.
Du erstellst einen DO-Task mit einer Samplerate von 5Hz (= Takt von 200ms) und einer finiten Länge.
Dann gibst du 18 Samples aus: 17×TRUE und 1×FALSE…
Deine PCIe-6321 unterstützt (im Gegensatz zur USB6002) Hardware-timing (= Vorgabe einer Samlerate) beim DO!
(28.02.2023 09:37 )GerdW schrieb: [ -> ]Hallo creo,
Zitat:Beispielsweise soll ein digitaler Ausgang an einer bestimmten Stelle im Programm für 3400 ms auf High gehen und anschließend wieder auf Low wechseln.
Du erstellst einen DO-Task mit einer Samplerate von 5Hz (= Takt von 200ms) und einer finiten Länge.
Dann gibst du 18 Samples aus: 17×TRUE und 1×FALSE…
Deine PCIe-6321 unterstützt (im Gegensatz zur USB6002) Hardware-timing (= Vorgabe einer Samlerate) beim DO!
da hab ich wieder viel zu kompliziert gedacht! Vielen Dank für die Erklärung..
Ich hätte doch noch eine Ergänzungsfrage. Und zwar möchte ich für die Zeit, die der digitale Ausgang auf High gesetzt ist, zwei analoge Spannungen einlesen. Die Messung sollte dabei synchronisiert mit der digitalen Ausgabe ablaufen. Vermutlich wird mein Vorhaben im angehängten Beispiel deutlicher.
Hier ist ein digitaler Ausgang (P0.3) mit den Eingängen PFI1 und PFI2 verbunden, um bei steigender Flanke sowohl die zeitlich gesteuerte digitale Ausgabe, als auch die analoge Messung zu triggern bzw. zu starten. Meine Frage wäre, ob es denn hier auch eine Möglichkeit gibt, die gleiche Funktionalität zu erzielen, ohne die "Kabelbrücken" zwischen P0.3 und PFI1 bzw. PFI2 zu setzen?