Da eine Queue viel Speicher schlugt, muß der rechner ackern! Das ackern des Rechners wirkt sich auf mein LabVIEW Programm aus! Dieses wird behindert und brauch für die Abarbeitung länger!
Zeitkritisch ist meine Anwendung aus folgendem Grund! Ich möchte über einen Countereingang einer
NICHT NI-Hardware die Counts lesen und in eine Drehzahl berechnen! Da ca. 8 Counts einer Drehzahl von 10000 U/min entsprichen, machen sich geringe Verzögerungszeiten in der Schleifendurchlaufzeit starkt bemerkbar. Deswegen möchte ich in der Schleife wo die Drehzahl erfasst wird möglichst wenig Programmcode drin haben. Leider müssen aber alle anderen VI's der Hardware (AI's,DIO,PWM Out) ebenfalls in der gleichen Schleife sein! Das passt mir zwar nicht aber das gibt mir die Hardware so vor! es ist nicht möglich die Hardwarereferenz auf eine 2. Schleife aufzuteilen um dort die anderen Hardware VI's zu verwenden! Deswegen brauche ich eine Möglichkeit, zeitunkritisch Daten von der Consumer Loop zurück in die Producer Loop zu bekommen, da in der Producer Loop ebenfalls Die Ausgangs VI's sind!
habe mit Hlfe des NI-Support eine Lösung basierend auf einen User Event aufgebaut! Funktioniert ganz habe jedoch plötzlich andere Probleme, die ich nicht orten kann! Das Programm läuft nicht so ab wie ich es will!
Ich habe mal das VI mit den Hardware VI's hochgeladen! Da Du die LLB von dem Gerät nicht hast habe ich die Hardware VI's entfernt und durch Bedien- und Anzeige elemente simuliert! Wenn Du interesse und zeit hast schau mal drüber!?
Grüße der Timo
Motorbremse_Drehzahlerfassung_Hardware_simuliert.vi (Größe: 126,85 KB / Downloads: 387)
Motorbremse_Drehzahlerfassung.vi (Größe: 144,96 KB / Downloads: 427)