So jetzt hatte ich wieder etwas Zeit mich mit dem Problem zu beschäftigen.
Also das erstellen der Waveform klappt jetzt soweit.
Nur an der Ausgabe davon hapert es noch.
Ich verwende die USB6221 'IO Karte von NI
Ich weiß das ich mit Hilfe eines Counters ein Trigger-Signal für den Digital I/O-Port an dem ich das Signal ausgeben will erstellen muss.
das Funktioniert auch soweit. (Mit Oszi nachgemessen)
Nur die Ausgabe des Signals funktioniert leider noch nicht.
Ich habe mein VI angefügt.
Weiß jemand wo mein Fehler liegt?
Als Counter wähle ich den CTR0 = PFI12
Soweit ich das beurteilen kann liegt es daran das ich 2x den DAQ-Start benutze in der Schleife - aber wie kann ich das vermeiden?
Was willst du jetzt mit diesem VI erreichen?
Gruß, Jens
Moing
also ich will damit den erzeugten Rechteck an einem digitalen Ausgang ausgeben.
diesen Rechteck werde ich dann, wenn alles soweit funktioniert, ständig verändern (Frequenz)
Das somit erzeugte Signal soll dann einen Ton ergeben (Über eine Endstufe auf 2 Boxen)
sodala
also die Ausgabe funktioniert jetzt
nur hab ich noch ein paar fragen dazu
und zwar warum muss ich die Frequenz mit 2,5 multiplizieren um am Ausgang auch die eingestellte Frequenz zu bekommen (mit Oszi nachgemessen)
desweiteren wie kann ich die Schleife beschleunigen? sprich die aktualisierungen schneller ablaufen lassen?
darüberhinaus:
gibt es eine Möglichkeit in Labview gewisse Voreinstellungen abzspeichern - bisher muss ich immer wenn ich das Projekt öffne alles erst einstellen (Kanäle,Werte für Frequenz etc.)
sorry für die vielen Fragen aber bin leider noch LV-Neuling.
Hallo Kowaltski,
- Kommt der Faktor evtl. aus dem Unterschied von Samplerate (für den DO-Task) und deiner Fs für die Signalgenerierung?
- Du erzeugst sehr aufwändig eine DigitalWaveform, die du dann mit dem Takt des DO-Task ausgibst. Wozu der Aufwand, wenn du de Frequenzinformationen nicht nutzt?
- Wozu startest du in jeder Iteration den DO-Task neu?
- Wozu startest du in jeder Iteration einen komplett neuen CTR-Task?
(26.11.2012 14:05 )GerdW schrieb: [ -> ]- Kommt der Faktor evtl. aus dem Unterschied von Samplerate (für den DO-Task) und deiner Fs für die Signalgenerierung?
stimmt danke für den tipp!
Zitat:- Du erzeugst sehr aufwändig eine DigitalWaveform, die du dann mit dem Takt des DO-Task ausgibst. Wozu der Aufwand, wenn du de Frequenzinformationen nicht nutzt?
hmm wie würdest du es anders machen?
die analog ausgänge der USB6221 sind für meine Anwendung zu langsam
und andere versuche mit arrays sind leider auch schon gescheitert
hast du eine bessere Idee?
Zitat:- Wozu startest du in jeder Iteration den DO-Task neu?
Ich kann das Start nich außerhalb machen - zumindest bringt er mir dabei immer einen Fehler
das liegt daran das ich die Daten ja erst innerhalb der Schleife generiere.
Hast du bei diesem Problem auch eine bessere Idee?
Zitat:- Wozu startest du in jeder Iteration einen komplett neuen CTR-Task?
Fehler meinerseits - danke für den Tipp
Habs jetzt alles außerhalb der Schleife und funktioniert auch
Hallo kowaltski,
Zitat:die analog ausgänge der USB6221 sind für meine Anwendung zu langsam
Lt. Spec 833kS/s für die 2 AOs...
Zitat:andere versuche mit arrays sind leider auch schon gescheitert
Ich arbeite meist mit den kompletten "Ports" und verwende dafür passende U8/U16-Arrays für den DAQmxWrite-Befehl.
Zitat:Hast du bei diesem Problem auch eine bessere Idee?
Autostart-Option des DAQmxWrite?
Danke für die Tipps
läuft schon immer besser
Die Ausgabe funktioniert jetzt tadellos
jetzt bin ich gerade dabei die feinheiten zu beseitigen.
dazu noch die frage:
wie kann ich Default-Einstellungen programmieren?
bisher muss ich nach dem öffnen des programms erst alles umstellen auf die passenden Werte
Ich weiß aber das es dafür eine Möglichkeit gibt mit Hilfe eines Attributsknoten nur finde ich da
die passende Einstellung nicht.
Kann mir damit jemand weiterhelfen bitte?
Default-Einstellungen programmieren, mit dieser Aussage muss man aufpassen.
Du kannst:
- im Edit-Modus den Standardwert eines Controls setzen (Rechtsklick -> Data Operations -> Make Current Value Default)
- dann kannst du jederzeit zur Laufzeit dieses 1 Set an Standard-Einstellungen wieder herstellen (Invoke Node, Klasse VI -> Default Values -> Reinitialize ...)
- Zur Laufzeit kannst du natürlich nicht den Standardwert umprogrammieren!
Gruß, Jens
P.S.: Bitte überprüfe einmal deine Tastatur. Bei dir scheint regelmäßig die Hochstelltaste und die Kommataste nicht zu funktionieren (vgl.
LVF-Regeln).