LabVIEWForum.de - Dauerton über Soundkarte und Daten vom Com-Port

LabVIEWForum.de

Normale Version: Dauerton über Soundkarte und Daten vom Com-Port
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Moin,

ich hab folgendes Problem:

[attachment=5975]

Ich möcht in meinem Programm einen Sinus (Dauerton) über die Soundkarte ausgeben (zur Ansteuerung von einem Motor) und gleichzeitig Positionsdaten (des Motors) über die Com-Schnittstelle aufnehmen. Das Programm funktioniert soweit, nur leider ist die Aufnahme der Daten der Com-Schnittstelle zu langsam (solange gleichzeitig der Ton erzeugt wird), so dass der dargestellte Graph bei hohen Frequenzen eckig wird (da zu wenig Messwerte).

Ich hab bereits festgestellt, dass wenn ich die Soundausgabe entferne und den Motor über ein externes Signal ansteuer (Frequenzgenerator), die eingelesenen Daten der Motorposition sauber dargestellt werden, da ich dann ausreichend viele Messwerte bekomme um den Sinus wieder darzustellen.
Im unverändertem Programm kann ich sehen, dass die Anzahl der Bytes at Port ständig steigt, bis der Buffer voll ist. Tritt dies ein, bleibt der Motor stehen, bis alle Daten aus dem Buffer abgefragt wurden und erst dann läuft der Motor weiter.
Am VISA-READ hab ich mal testweise die Anzahl der zu lesenden Bytes herabgesetzt, dadurch erhalte ich eine schönere Ausgabekurve, aber der Buffer für die Werte läuft dann schneller voll :-(

Ist es irgendwie möglich der Soundkarte die Frequenz des Ansteuertones zu übergeben, sodass nicht beide Routinen (Soundausgabe und Daten einlesen) gleichzeitig ablaufen müssen?

Hat jemand ne Idee für mich?
Hallo holterpolter,

ich weiß nicht ob Deine Frage noch aktuell ist, ich antworte Dir trotzdem schnell.
Die Lösung ist eigentlich recht einfach.

Verwende einfach zwei parallele Whileschleifen.
In der einen läuft die Soundausgabe und in der anderen kannst kannst Du die Kommunikation mit VISA realisieren.

Grüße
Andreas
[attachment=6183]
' schrieb:Verwende einfach zwei parallele Whileschleifen.
In der einen läuft die Soundausgabe und in der anderen kannst kannst Du die Kommunikation mit VISA realisieren.

Perfekt.
Ich hatte ja schon vieles ausprobiert, aber nicht mit 2 While-schleifen.
Danke für den Tipp, jetzt funktioniert es.

Gruß
André
Referenz-URLs