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

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Signaldarstellung (/Forum-Signaldarstellung)
+---- Thema: Vor/Rückwärtsfuntion programmieren in Producer Consumer (vgl. Word, Excel, usw.) (/Thread-Vor-Rueckwaertsfuntion-programmieren-in-Producer-Consumer-vgl-Word-Excel-usw)



Vor/Rückwärtsfuntion programmieren in Producer Consumer (vgl. Word, Excel, usw.) - t.hipp - 05.10.2015 20:59

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


RE: Vor/Rückwärtsfuntion programmieren in Producer Consumer (vgl. Word, Excel, usw.) - Trinitatis - 05.10.2015 23:35

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


RE: Vor/Rückwärtsfuntion programmieren in Producer Consumer (vgl. Word, Excel, usw.) - t.hipp - 06.10.2015 18:38

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