LabVIEWForum.de - Vor/Rückwärtsfuntion programmieren in Producer Consumer (vgl. Word, Excel, usw.)

LabVIEWForum.de

Normale Version: Vor/Rückwärtsfuntion programmieren in Producer Consumer (vgl. Word, Excel, usw.)
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,
ich möchte in einem VI mit unterschiedlichen Funktionen (vgl. Producer/Consumer-Struktur im Anhang) zusätzlich eine Vorwärts- und Rückwärtsfunktion, wie bei Word, Excel, usw. im Main-VI einprogrammieren.
Ziel ist: n-Schritte zurückgehen zu können und maxmial n-Schritte vorwärtsgehen zu können. Bei einer Änderungen der Parameter/Werte ist der Vorwärtsspeicher jedes mal zu löschen. Beim Starten des VI's sollen natürlich alle Speicher leer sein.

Leider stehe ich ein bisschen auf dem Schlauch, wie ich das am besten umsetzten könnten. 1 oder 2 Speicher? Habe es schon mit mehreren Queus und mit Schieberegistern versucht, aber keine ziel führendes Ergebnis gefunden. Auch wurden die FGVs schon in Betracht gezogen.
Wie würden es die Profis machen?
Kann das mit der bereits vorhanden Queue (vgl. Producer/Consumer-Struktur https://decibel.ni.com/content/docs/DOC-32964) realisiert werden?

Über ein praktisches Beispiel wäre ich euch dankbar. Leider hatte ich bei google und Co. Bisher nichts gefunden.

Vielen Dank.
Thomas
Hallo Thomas,

im Grunde reicht für eine REDO / UNDO Funktion ein 1D-Array aus, welches du ab der MAx-Größe deiner möglichen Redo.Schritte als FIFO verwendest, dessen Datentyp im einfachsten Fall ein String serialisierter Daten deiner Controls sein könnte und das du mit deinem Redu/Undo-Index indizierst - angefangen beim neuesten Wert (und dann +1 / -1 für die jeweils auszuführende Aktion)
Mehrere Controls sind hierbei optimaler Weise in einem Cluster zusammenzufassen, dessen values du prima serialisieren könntest, ohne dich darum kümmern zu müssen, welches Control welche Daten erhält.


Gruß, Marko
Hey Marko,
vielen Dank für die Info. Du hast mir das richtige Stickwort genannt: REDO / UNDO Funktion
Hab bei google folgenden interessanten Link gefunden:
https://decibel.ni.com/content/docs/DOC-14805

Ich werde mich da jetzt erst mal durchkämpfen. :-)
Gruß Thomas
Referenz-URLs