LabVIEWForum.de
"Puffer zu klein" - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ)
+---- Thema: "Puffer zu klein" (/Thread-Puffer-zu-klein)



"Puffer zu klein" - Ina-Pina - 06.03.2015 09:57

Guten Morgen,

mal wieder habe ich ein Problem und zwar ist mein Puffer zu klein. Ich nehme 2 Spannungssignale auf. Eine Rechtecksignal und eine Sinuskurve. Ich habe es so eingestellt, das ich ein 2 D Array bekomme und dann im Rechtecksignal den Index vom ersten Wert 0 bekomme. (Array hat nur 0 und 1)
Es soll so lange gezählt werden, bis wieder eine 1 auftaucht. Wenn das der Fall ist...Soll er über diese Indexlänge die Sinuskurve zeichnen.
Srllte soweit auch alles klappt. Aber nur kommt der Buffer nicht hinter und überschreibt Daten. Kann ich das irgendwie verhindern oder verbessern.
Ich besitze die USB karte 6008 und habe Signale mit 30 Hz.

Im Anhang ist mein Programm.

Achja...falls das von Bedeutung ist. Das Sinussignal soll Später den Zylinderdruck vom Motor darstellen und das Rechtecksignal ist ein Signal, welches einmal pro Umdrehung erscheint. Muss für meine Bachelor Arbeit ein Indizier- Programm schreiben Sad

Edit GerdW: Beitrag in eigenes Thema verschoben…


RE: "Puffer zu klein" - GerdW - 06.03.2015 10:08

Hallo Ina,

erstmal: warum musstest du (schon wieder) ein altes Thema kapern, was mit deiner Frage überhaupt nichts zu tun hat?

Zum VI:
- Du stellst eine Samplerate von 5kHz ein und liest dann "-1" Samples ein. So wird das nicht vernünftig klappen. Lese besser 500 oder 1000 Samples ein! Dann kannst (und soltlest) du auch auf die zusätzliche Wartezeit verzichten!

Ansonsten:
- Viel zu viele lokale Variablen…
- Dein Schieberegister ist nicht korrekt initialisiert und verhindert damit sehr effektiv die Ausführung der FOR-Loop…
- Wozu benötigst du hier das (uns fehlende) subVI "RS-FLIPPOPP"??? Sowas habe ich in LabVIEW noch nie benötigt und ich bin mir sicher, dass ein paar einfache boolsche Operationen ausreichend sind…
- Es gibt eine Vergleichsfunktion ">=0"…
- Was soll die innere FOR-Loop? Das, was die erledigt, kann man auch mit einem InitArray tun…