LabVIEWForum.de - Mehrere LV Prog. auf eine Messkarte

LabVIEWForum.de

Normale Version: Mehrere LV Prog. auf eine Messkarte
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ist es möglich mehrere LV Programme gleichzeitig laufen zu lassen die alle unterschiedliche Ports einer Messkarte abfragen?

(Programm 1 ai0, Programm 2 ai 1 ....)?

Bei der zweiten frage steh ich ein bisschen auf´m Schlauch. Ist bestimmt einfach komm aber nicht auf die Lsg. Ich kriege in einer Schleife fortlaufend Werte und möchte den Mittelwert der letzten zehn. Ich habe auch eine Lsg. aber da habe ich am Ende ein zu großes Array.

Vielen Dank
Lv85_img
Zu 1: Das geht, solange die Tasks nicht die gleichen Ressourcen für sich beanspruchen. Z.B Analog-Input in einem VI und Digitaloperationen in einem anderen VI geht
Zu 2: Einfachste Löung ist mit FIR-Filter, mit 10 Koeffizienten vom Wert 0.1. Es gibt auch ein VI zur Koeffizientenermittlung für gleitenden Mittelwert, der Nachteil ist da nur, daß da als Input die "Halbwertsbreite" eingegeben werden muß. Halbwertsbreite 4 ist Mittelwert über die letzten 9 Werte, Halbwertsbreite 5 über die letzen 11 Werte. 10 Werte geht nicht. Deshalb Handeingabe.

[attachment=15849]
Lv85_img[attachment=15850]
zu 2.) Danke, für die Antwort. Ich dachte daran ein Array zu initialisieren und dann mit zehn Werten aufzufüllen und dann Shiften (0 Wert ist neuer Wert , zehnter Wert raus).
Aber ich weiß nicht wie ich das Shiften einfach Lösen kann.

zu 1.) Wir benutzen ein SCXI System (zwei Einschübe mit jeweils 32 AI)
das heist ich kann die Messung nicht auf mehrere VI´s Aufteilen, weil es ja die gleiche Recource ist?
' schrieb:zu 2.) Danke, für die Antwort. Ich dachte daran ein Array zu initialisieren und dann mit zehn Werten aufzufüllen und dann Shiften (0 Wert ist neuer Wert , zehnter Wert raus).
Aber ich weiß nicht wie ich das Shiften einfach Lösen kann.
Aber dafür gibt es doch eine Funktion in der Array Palette!

Hier mal 2 Versionen mit "Ring-Puffer", oben wird immer verschoben und hinten eingefüllt, unten einfach die älteste Version innerhalb des Arrays überschrieben.

[attachment=15852]

Gruß, Jens
Danke genau danach habe ich gesucht.
' schrieb:zu 2.) Danke, für die Antwort. Ich dachte daran ein Array zu initialisieren und dann mit zehn Werten aufzufüllen und dann Shiften (0 Wert ist neuer Wert , zehnter Wert raus).
Aber ich weiß nicht wie ich das Shiften einfach Lösen kann.
Nur der Vollständigkeit halber, die guten Lösungen hat ja Jens schon genannt.
Mit Verwendungeines eines Shiftregisters sähe die Lösung so aus:
[attachment=15855]
Danke @jens u. @lucki
Referenz-URLs