LabVIEWForum.de
Wert in VI speichern (dynamisch) - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Wert in VI speichern (dynamisch) (/Thread-Wert-in-VI-speichern-dynamisch)

Seiten: 1 2


Wert in VI speichern (dynamisch) - warn-two - 16.09.2010 08:34

Guten Tag,

ich hab folgende Aufgabe: Ich möchte eine VI schreiben die, jedesmal wenn man sie startet ein Wert ausgibt, der um eins höher ist als der Wert den sie beim vorherigen start ausgegeben hat. Somit muss ich ja irgendwie den letzen ausgegebenen Wert in der Vi speichern. Die frage ist wie das geht. Es soll vorallem ohne irgendwelche zusätzlichen Dateien fkt.. Der Wert soll schon in der VI abgelegt sein.

Vielen Dank für eure Hilfe

warn-two


Wert in VI speichern (dynamisch) - M Nussbaumer - 16.09.2010 08:43

Falls das Labview nicht beendet wird kannst du das mit Shiftregistern realisieren, ansonsten musst du auf Dateien zum Zwischenspeichern zurückgreifen.

Wäre noch wichtig für die weitere Lösungsfindung, ob mit Starten einen Aufruf (Labview ruft das VI auf und Labview wird NICHT beendet) oder um wirklich jedes Mal um einen Neustart von Labview handelt.

Gruss Marc


Wert in VI speichern (dynamisch) - warn-two - 16.09.2010 09:06

Es ist alles möglich: es kann sein das Labview komplett neu gestartet wird und es kann sein das die VI in einem Programm öfters mal hintereinander aufgerufen wird. Die Lösung mit der zusätzlichen Datei zum zwischenspeichern ist eine Lösung, doch das gefällt mir nicht. Ich möchte nach Möglichkeit direkt in der VI speichern und mir somit die zusätzliche Datei sparen.


Wert in VI speichern (dynamisch) - M Nussbaumer - 16.09.2010 09:21

Dateien sind dazu gemacht die verschiedenen Werte zu speichern wenn ein Programm beendet wird, alles andere ist entweder unsauber oder eine Bastellösung. Tu dir und deinem Nachfolger einen Gefallen und verwende eine Datei zum Zwischenspeichern. So sehe ich das. Falls du Probleme mit Datei auslesen/schreiben oder Fragen zum besten Format hast kannst du diese gerne stellenWink


Wenn du lieber etwas basteln willst kannst du versuchen den geänderten Wert als DefaultValue zu speichern und beim Start den Wert auf den Defaultvalue zu setzen.

Quasi: DefaultValue auslesen -> Wert +1 -> Defaultvalue=Wert

Entscheide für dich selbst, was die Lösung ist die dir besser zusagt. Jedoch ist die Lösung über die Datei programmiertechnisch wesentlich sauberer.

Gruss Marc


Wert in VI speichern (dynamisch) - Martin Heller - 16.09.2010 09:31

Hallo


Hier mal einen Ansatz, ist das was du etwa suchst?

Lv86_img


lg


Wert in VI speichern (dynamisch) - M Nussbaumer - 16.09.2010 09:52

@Martin Heller

Neben Shiftregistern und FGV auch eine gute Möglichkeit um Werte zwischen zu speichern, jedoch gilt wie bei den beiden anderen Methoden: Wenn du Labview beendest sind deine Werte weg Dry

Sobald man ein Programm beendet sollte man mMn die Daten in einer Datei speichern, vorrausgesetzt natürlich man braucht sie nochWink

' schrieb:Es ist alles möglich: es kann sein das Labview komplett neu gestartet wird und es kann sein das die VI in einem Programm öfters mal hintereinander aufgerufen wird. Die Lösung mit der zusätzlichen Datei zum zwischenspeichern ist eine Lösung, doch das gefällt mir nicht. Ich möchte nach Möglichkeit direkt in der VI speichern und mir somit die zusätzliche Datei sparen.

Gruss Marc


Wert in VI speichern (dynamisch) - SeBa - 16.09.2010 09:57

' schrieb:Sobald man ein Programm beendet sollte man mMn die Daten in einer Datei speichern, vorrausgesetzt natürlich man braucht sie nochWink
Gruss Marc

Man kann auch einen Schlüssel in der Registrierung ablegen... und wieder auslesen. Da braucht man keine extra Datei. Man muss halt das entsprechende Recht dafür haben und sich nicht davor scheuen im Rückgrat von Windoof rumzupfuschen.

Gruß SeBa


Wert in VI speichern (dynamisch) - M Nussbaumer - 16.09.2010 10:01

' schrieb:Man kann auch einen Schlüssel in der Registrierung ablegen... und wieder auslesen. Da braucht man keine extra Datei. Man muss halt das entsprechende Recht dafür haben und sich nicht davor scheuen im Rückgrat von Windoof rumzupfuschen.

Gruß SeBa


Okay diese Möglichkeit habe ich nicht bedacht :oDanke für den HinweisDais
Also dann formuliere ich mich halt mal um: Wenn man Daten von einem Programm speichern will über die Lebenszeit des Programmes hinaus, muss man sie irgendwo ablegen. Entweder in einer Datei oder in der Registry. Aber sicher nicht im VI selbst Dry

Gruss Marc


Wert in VI speichern (dynamisch) - warn-two - 16.09.2010 10:04

Vielen Dank, für diese interessante Disskussion.

Ich werde die Sache mit den Default-werten einmal ausprobieren. Ansonsten ist der Vorschlag mit der Registry auch nicht schlecht.
Das Problem ist anscheinend allen klar.

Ich werde hier demnächst wieder berrichten.


Wert in VI speichern (dynamisch) - SeBa - 16.09.2010 10:12

Ich bin mir nicht sicher... aber das mit den Defaultwerten setzten klappt glaub ich nur in der IDE nicht zur Runtime.

Irgendeiner ders weiß wird das hier lesen und und am Wissen teilhaben lassen.


Gruß SeBa


EDIT:
Ach ja... für ein paar Werte mag die Registrierung ja noch herhalten... aber man sollte es nicht übertreiben.