LabVIEWForum.de
Konstanten im laufenden Programm ändern - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Konstanten im laufenden Programm ändern (/Thread-Konstanten-im-laufenden-Programm-aendern)



Konstanten im laufenden Programm ändern - Holg - 17.07.2012 11:10

Hallo,
gibt es eine Möglichkeit Konstanten im laufenden Programm zu ändern?
Hintergrund ist folgender:
Ich habe auf einer cRio ein Programm laufen, welches ich ungern unterbrechen möchte. Nun will ich aber in diesem Programm ein Counter Wert ändern.
Kann ich dies, wenn ich das Programm in den Pausenmodus setzte? Oder geht das überhaupt nicht?

PS: ich weiß, dass man dafür eigentlich ein Bedienelement benutzt.-->Kann das Programm jetzt aber nicht Beenden.


RE: Konstanten im laufenden Programm ändern - Clyde - 17.07.2012 12:18

Hi,

es würde mich doch sehr wundern, wenn das möglich wäre. Ähnliche wie bei normalen Quellcode (z.B. C) wird das Programm auch bei LabVIEW erst kompiliert und dann ausgeführt. Programme kann man während der Laufzeit nicht ändern.

Gruß
Christoph


RE: Konstanten im laufenden Programm ändern - GerdW - 17.07.2012 12:29

Hallo Holg,

Konstanten heißen Konstanten, weil
[ ] sie zur Laufzeit konstant bleiben
[ ] man sie zur Laufzeit ändern kann

Bitte kreuze den richtigen Punkt an... Big Grin

Der "Pausenmodus" ist ein Debug-Tool, welches dein Programm anhält. Verändern kannst du es trotzdem nicht...


RE: Konstanten im laufenden Programm ändern - Holg - 24.07.2012 09:57

OK, danke für die Antworten. War mir ja eigentlich schon klar. Hätte ja sein könne, dass bei Labview der Hase irgendwie anders läuft.


RE: Konstanten im laufenden Programm ändern - Lucki - 24.07.2012 21:07

Dein Fehler ist, die Frage ungeschickt formuliert zu haben - entsprechend schulmeisterhaft sind da die Antworten. Aber es ist wahr, "Konstanten" lassen sich natürlich nicht ändern. Worauf Du wahrscheinlich hinauswillst, das sind "verborgene Elemente". Das sind Variable, also Bedien- oder Anzeigeelemente, die nicht auf dem FP sichtbar ist.
Einfach die Variable mit rechtem Mausklick unsichtbar machen, man hat sie dann nur noch auf dem BD, nicht mehr auf dem FP - so wie Konstanten. Mittels lokalen Variablen lassen sich diese Elemente an beliebig vielen Stellen im Programm lesen und beschreiben.


RE: Konstanten im laufenden Programm ändern - dimitri84 - 24.07.2012 21:54

(24.07.2012 21:07 )Lucki schrieb:  Einfach die Variable mit rechtem Mausklick unsichtbar machen, man hat sie dann nur noch auf dem BD, nicht mehr auf dem FP - so wie Konstanten. Mittels lokalen Variablen lassen sich diese Elemente an beliebig vielen Stellen im Programm lesen und beschreiben.

Ich fand's immer toll, wenn du Expertenkonventionen über den Haufen geworfen hast ... aber auf den hier beschriebenen Weg würde ich niemand schicken =)

... dann doch einfach 'ne globale und man spart sich die verwirrten Blicke potentieller Nachfolger.



Gruß Dimitri


RE: Konstanten im laufenden Programm ändern - Lucki - 25.07.2012 09:55

(24.07.2012 21:54 )dimitri84 schrieb:  Ich fand's immer toll, wenn du Expertenkonventionen über den Haufen geworfen hast ...
Fall das ein Lob sein soll und keine Ironie: Danke.
Viele Fragen sind leider falsch oder missverstädlich formuliert, und es hilft dem Betreffenden nichts, wenn man sie exakt gemäß Frageinhalt beantwortet.
Aber oft steckt hinter einer sinnlosen Fage ein sinnvolles Problem, und das versuche ich zu erraten und gehe dann auf das Problem ein und nicht auf die Frage.
Also im konkreten Fall vermutete ich, dass mit der Frage :
"Wie kann ich Konstanten im laufenden Programm ändern"
gemeint ist:
"Wie kann ich Werte im laufendem Programm speichern und ändern, ohne dazu ein Frontpanel-Element zu verwenden?"

Aber zu Deiner Aussage:

Ja, zur Zwischenspeicherung von irgendwelchen Werten, ohne dass diese auf dem FP abgebildet werden, gib es noch einige andere Möglichkeiten. Also außer verborgenen Anzeigen und Globalen Variablen noch FGV, Shift-Register, Queues und Melder.
Wenn sich die Speicherung aber nur intern in einem einzigen VI abspielt, dann würde ich hier nicht GVs vor allen anderen priorisieren. Aber das ist Geschmackssache. GVs haben schon mal den Nachteil, dass man ein zusätzliches VI braucht. (Unkomfortabel z.B für Forums-Beipiele, sowohl für den Up- als auch für den Downloader)
Gruß Ludwig


RE: Konstanten im laufenden Programm ändern - dimitri84 - 25.07.2012 10:06

(25.07.2012 09:55 )Lucki schrieb:  Fall das ein Lob sein soll und keine Ironie: Danke.
Nein, das war keine Ironie.

Und ja, in diesem Zusammenhang, würde ich, die hier im Forum vorherrschen Meinung, mittragen, und von allem was potentiell Race-Conditions verursacht, abraten. Im Zweifelsfall immer Draht!


RE: Konstanten im laufenden Programm ändern - Clyde - 25.07.2012 10:32

Nichts für Ungut Ludwig, aber die Frage und das dahinterstehende Problem war ganz klar, ob man in einem laufenden Programm (und zwar beim Programm des Threaderstellers, welches beim Erstellen dieses Threads schon lief) noch festgeschriebene Werte ändern kann ohne es beenden zu müssen.
Demenstrechend empfinde ich die Antworten nicht schulmeisterhaft sondern konkret und zielgerichtet.

Das von dir dargestellt Problem besteht natürlich auch, aber in einem anderen Zusammenhang und ist in diesem Falle wohl eher überinterpretiert.


Gruß
Christoph