INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Sinus an NI PCI - 6221



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!

10.01.2008, 21:36
Beitrag #1

abrissbirne Offline
LVF-Stammgast
***


Beiträge: 480
Registriert seit: Aug 2007

LV2009, LV2010
2007
EN

66123
Deutschland
Sinus an NI PCI - 6221
Hallo,
irgendwer müsste mir auf die Sprünge Helfen. Ich möchte eine Sinusspannung an einen Analogausgang beschriebener NI Karte ausgeben. Soweit so gut, ich hab aber einen Denkfehler. Ich möchte das man Amplitude, Frequenz und Perioden auswählen kann. Die Sinusspannug erzeug ich in einer Schleife, aber ich kenne nicht die Abarbeitungszeit von LabVIEW für diese Schleife. Eigentlich wäre es besser die Sinusspannung außerhalb einer Schleife an die Karte auszugeben. Die Karte hat auch Counter-Outputs. Kann ich diese irgendwie für die Zeittaktung des Sinus nutzen?Hmm

Danke
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
11.01.2008, 06:57
Beitrag #2

Achim Offline
*****
*****


Beiträge: 4.222
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Sinus an NI PCI - 6221
Zu diesem Thema gibts doch Beispiele im Example Finder...

Allgemein:
Du erzeugst ein "Pattern" (Sinus, Rechteck, etc) und "schickst" es der Karte bzw. dem Treiber, inkl. deiner Parameter (SampleRate, Frequenz, etc.). Der Treiber macht dann den Rest direkt auf der Karte, da ist deine LV-Applikation aus dem Rennen!

A.

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.01.2008, 08:46 (Dieser Beitrag wurde zuletzt bearbeitet: 11.01.2008 09:20 von abrissbirne.)
Beitrag #3

abrissbirne Offline
LVF-Stammgast
***


Beiträge: 480
Registriert seit: Aug 2007

LV2009, LV2010
2007
EN

66123
Deutschland
Sinus an NI PCI - 6221
' schrieb:Zu diesem Thema gibts doch Beispiele im Example Finder...

Allgemein:
Du erzeugst ein "Pattern" (Sinus, Rechteck, etc) und "schickst" es der Karte bzw. dem Treiber, inkl. deiner Parameter (SampleRate, Frequenz, etc.). Der Treiber macht dann den Rest direkt auf der Karte, da ist deine LV-Applikation aus dem Rennen!

A.
Hallo und danke für deine Antwort.
Über den Example Finder finde ich keine Beispiele. Ich kann aber auch nicht alle Beispiele zu diesem Thema öffnen, da irgendwelche Add ons fehlen. Ich werde es aber nochmal nach deiner Beschreibung versuchen. Eine allgemeine Frage zur Karte hab ich noch. Das ist meiner erste Applikation mit einer solchen NI Karte. Über die NI DAQmx Funktionen steuere ich die entsprechenden Ausgänge. Wollte wissen, ob mein Vorgehen so richtig ist:
Erstellen eines Tasks, erstellen eines Channels, DAQmx Write, DAQmx Start Task, DAQmx Stop Task.

Edit:
Also am Oszilloskop bekomme ich eine schöne Anzeige. Mein Problem bei der Sache ist das ich keine Frequenz übergeben kann. Ich kann nur an den Samples drehen und komme damit nicht wirklich in den für mich interessanten Bereich von 1Hz.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.01.2008, 09:30 (Dieser Beitrag wurde zuletzt bearbeitet: 11.01.2008 11:48 von Achim.)
Beitrag #4

Achim Offline
*****
*****


Beiträge: 4.222
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Sinus an NI PCI - 6221
' schrieb:Über den Example Finder finde ich keine Beispiele.

   

Zitat:Erstellen eines Tasks, erstellen eines Channels, DAQmx Write, DAQmx Start Task, DAQmx Stop Task.

Falsche Reihenfolge! Erst Start, dann Write! Siehe Beispiele!


EDIT: Post #2100

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.01.2008, 11:21
Beitrag #5

abrissbirne Offline
LVF-Stammgast
***


Beiträge: 480
Registriert seit: Aug 2007

LV2009, LV2010
2007
EN

66123
Deutschland
Sinus an NI PCI - 6221
' schrieb:Falsche Reihenfolge! Erst Start, dann Write! Siehe Beispiele!
Danke für den Tip mit den Beispielen. Habe im Example Finder unter Search nach Sine gesucht und desshalb nicht das Richtige gefunden. In den von dir genannten Beispielen wird aber auch erst geschrieben und dann gestartet. Das VI ist Lauffähig, aber am Oszilloskop kommt gar nichts mehr an.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.01.2008, 11:47
Beitrag #6

Achim Offline
*****
*****


Beiträge: 4.222
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Sinus an NI PCI - 6221
' schrieb:In den von dir genannten Beispielen wird aber auch erst geschrieben und dann gestartet.

Naja...du kannst auch erst starten und dann mit Write deine Kurve vorgeben...solange würde halt nix ausgegeben. Ich meinte, wenn du die kurve aktualisieren willst (neue Parameter durch ein Write), z.B. in ner While-Schleife, ist es notwendig, den Start vor die Schleife zu legen und dann in der Schleife zb auf Knopfdruck nur noch den schon gestarteten Task zu aktualisieren.

Warum bei dir nix ankommt, kann ich nicht sagen...ist der richtige Kanal ausgewählt? Kommt was raus, wenn du den AO über den MAX mal testest?

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.01.2008, 11:53 (Dieser Beitrag wurde zuletzt bearbeitet: 11.01.2008 11:53 von Lucki.)
Beitrag #7

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Sinus an NI PCI - 6221
' schrieb:Also am Oszilloskop bekomme ich eine schöne Anzeige. Mein Problem bei der Sache ist das ich keine Frequenz übergeben kann. Ich kann nur an den Samples drehen und komme damit nicht wirklich in den für mich interessanten Bereich von 1Hz.

Man kann an die DAQmx-Funktionen die Frequenz nicht direkt übergeben, sondern nur das Sampling-Intervall dt bzw den Reziprokwert fs (Sampling-Frequenz). Die Frequenz ergibt sich dann aus fs, dividiert durch die Anzahl der Samples für 1 Periode. Das mußt Du selbst managen. Die NI-Beispiele enthalten diese Berechnung zwar schon, sind aber ansonsten für einen allerersten Enstieg nicht so gut geeignet, da ist immer zu viel Schnickschnack drum herum.

Günstig ist die Datenübergabe als Waveform, da ist die Abtastrate mit dabei, und so wie Du die Waveform in einer Diagramm-Anzeige sieht, so kommt sie auch aus der Karte heraus.

Ich würde hier ein einfaches Beispiel geben, aber ich weiß nicht was Du genau willst.
Möglichkeiten:

a) Kontinuierliche Ausgabe einer Schwingung. Änderung der Parameter (Frequenz, Amplitude) nur nach vorherigem Abbruch der alten Waveform möglich. (Weil DAQnx dann neu konfiguriert wird)

b) Kontinuierliche Ausgabe der Schwingung. Die Parameter lassen sich während der Ausgabe kontinuierlich ändern. (Das ist nur mit konstanter Samplerate fs möglich. Diese muß so hoch sein, daß bei der höchsten vorkommenden Frequenz die Schwingung noch genügend viele Punkte pro Periode enthält. Die Datenübergabe erfolgt als Waveform-Stream, so wie bei einer Musikwiedergabe)

c) Ausgabe nicht kontinuierlich, sondern auf N Perioden begrenzt.

In jedem Fall gilt aber: Das gesamte Timing und die Syncronisation erfolgt durch die Karte bzw. durch die DAQmx-Treiber. Wenn Du glaubst, du mußt irgendwelche Schleifenzeiten für die Erzeugung der Daten wissen, dann liegst Du falsch bzw. du verwendest dann die wenig attraktive Einzelwert-Ausgabe, anstatt die Timing-Möglichkeiten der Karte zu verwenden.
Ein VI von Dir, auch wenn es nicht funktioniert, wäre auch nicht schlecht...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.01.2008, 12:42
Beitrag #8

Achim Offline
*****
*****


Beiträge: 4.222
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Sinus an NI PCI - 6221
' schrieb:Man kann an die DAQmx-Funktionen die Frequenz nicht direkt übergeben, sondern nur das Sampling-Intervall dt bzw den Reziprokwert fs (Sampling-Frequenz). Die Frequenz ergibt sich dann aus fs, dividiert durch die Anzahl der Samples für 1 Periode. Das mußt Du selbst managen. Die NI-Beispiele enthalten diese Berechnung zwar schon, sind aber ansonsten für einen allerersten Enstieg nicht so gut geeignet, da ist immer zu viel Schnickschnack drum herum.

Dieses Beispiel aus dem Examplefinder sollte doch nun wirklich weiterhelfen: Cont Gen Voltage Wfm-Int Clk-Non Regeneration.vi

Da kannst du auch die Frequenz übergeben, und zwar so wie Lucki sagt...als Waveform!

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.01.2008, 13:21 (Dieser Beitrag wurde zuletzt bearbeitet: 15.01.2008 21:21 von jg.)
Beitrag #9

abrissbirne Offline
LVF-Stammgast
***


Beiträge: 480
Registriert seit: Aug 2007

LV2009, LV2010
2007
EN

66123
Deutschland
Sinus an NI PCI - 6221
' schrieb:Dieses Beispiel aus dem Examplefinder sollte doch nun wirklich weiterhelfen: Cont Gen Voltage Wfm-Int Clk-Non Regeneration.vi

Da kannst du auch die Frequenz übergeben, und zwar so wie Lucki sagt...als Waveform!
Ich habe genau das VI Cont Gen Voltage Wfm-Int Clk-Non Regeneration.vi ausgeführt. Die Ausgabe am Oszi stimmt aber nicht mit der Frequenzangabe des VI's überein. Hab mal meine Testprogramme hochgeladen(Version 8.2).

Edit:
Hab das Alles in eine Schleife gepackt, damit ich Veränderungen direkt am Messgerät mitverfolgen kann. Aber egal was ich versuche, meine Anzeige (Oszi) sieht dem auf meinem Waveform Graph nichtmal ähnlich. Dabei übergebe ich schon immer Waveforms zum schreiben. Hab dazu mal ein Screenshot hochgeladen.

Lv82_img


Angehängte Datei(en) Thumbnail(s)
   

Sonstige .vi  Test_Analog_Output.vi (Größe: 33,68 KB / Downloads: 249)

Sonstige .vi  Test_Analog_Output2.vi (Größe: 37,36 KB / Downloads: 227)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.01.2008, 13:44
Beitrag #10

abrissbirne Offline
LVF-Stammgast
***


Beiträge: 480
Registriert seit: Aug 2007

LV2009, LV2010
2007
EN

66123
Deutschland
Sinus an NI PCI - 6221
' schrieb:Ich habe genau das VI Cont Gen Voltage Wfm-Int Clk-Non Regeneration.vi ausgeführt. Die Ausgabe am Oszi stimmt aber nicht mit der Frequenzangabe des VI's überein. Hab mal meine Testprogramme hochgeladen(Version 8.2).

Edit:
Hab das Alles in eine Schleife gepackt, damit ich Veränderungen direkt am Messgerät mitverfolgen kann. Aber egal was ich versuche, meine Anzeige (Oszi) sieht dem auf meinem Waveform Graph nichtmal ähnlich. Dabei übergebe ich schon immer Waveforms zum schreiben. Hab dazu mal ein Screenshot hochgeladen.
Kann mir hier nicht weitergeholfen werden? Ich hab bereits alles versucht, aber ich bekomme kein Signal an den Ausgang. Einzig und allein einen Digitalen Ausgang konnte ich auf high schaufeln. Aber weder Sinus noch Counter lassen sich ansprechen. Kennt sich jemand mit der Pinbelegung der NI-6221 (37-Pin) aus? Unter Counter steht da PFI 0, PFI 1, PFI 2, PFI 6, PFI 0, PFI 1, PFI 2. Habe aber an keinen dieser Pins etwas messen können, obwohl ich die Dauer der High Position auf 2Sekunden gestellt habe. Wollte eigentlich mittels eines Counters eine Sinuspannung und einen Inpuls an den Ausgang schalten.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  NI-PCI-6221 Spannungsmessung mit Thermocouples delta96 2 4.617 19.11.2009 13:32
Letzter Beitrag: jg
  PCI-6221: Error -200019 bei Sample Rate über 64kHz amin 2 6.701 09.01.2009 13:50
Letzter Beitrag: amin
  Pinbelegung für Trigger NI-6221 abrissbirne 5 7.967 31.01.2008 11:52
Letzter Beitrag: abrissbirne
  PCI-6221 Vergleichstyp Lanos 1 3.987 26.01.2006 17:07
Letzter Beitrag: Lanos

Gehe zu: