LabVIEWForum.de - Invariante Ausführung mit fest Kopieanzahl für Filter-Initalisierung erzwingen

LabVIEWForum.de

Normale Version: Invariante Ausführung mit fest Kopieanzahl für Filter-Initalisierung erzwingen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

folgendes Problem liegt vor:
Beim mehrmaligen aufrufen des Vi's bzw. des Filters.vi's wird dieses immer "neu" initialisiert (Ist auch nachvollziehbar warum). Dadurch erhalte ich zu Beginn im Signalgraph immer Sprünge (egal ob Init/Kont auf T oder F).

Mir ist soweit klar, dass dieser Fehler durch das sequenzielle Abarbeiten der for-Schleife verursacht wird.
Wenn ich die For-Schleife (mit Filter) n-mal parallel ausführe (P-Anschluss an For-Schleife), habe ich das Problem weiterhin.
Wenn ich das Filter.vi n-mal parallel (in einer Sequenz) ausführe (mit n-Filter.vi's) habe ich das Problem nicht mehr.

Nun möchte ich aber gerne die Auto-Indizierung (z.B. in der for-Schleife) beibehalten. Gibt es eine weitere Möglichkeit dieses vorzunehmen? Call-by-Referenz?

Vielen Dank.

Gruß Thomas
Dafür gibt es eine elegante und eine weniger elegante Lösung. Ich hoffe, das VI ist selbst-erklärend.
[attachment=58613]
Wenn Du das VI neu startest, dann werden die Filter immer neu initialisiert. Wenn Du das nicht möchtest, dann muß Du den ganzem Code in eine große Schleife packen, so daß bei jedem Start diese Schleife 1* ausgeführt wird, aber nicht das VI selbst neu gestartet wird. Oder den Code als Sub-VI starten.
SuperAnniemacht_2

Vielen Dank. Funktioniert, wie gewünscht. Big Grin
Hatte es schon mit FIR-Filter versucht, aber keine stabilen Parameter gefunden. IIR-Filter hatte ich dann gar nicht mehr versucht.
Referenz-URLs