INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Globale Variable auf Standardwert zurücksetzen



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

17.01.2007, 02:30
Beitrag #1

Diplomer Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Nov 2006

8.00
2006
kA

59757
Deutschland
Globale Variable auf Standardwert zurücksetzen
Hallo,

ich übertrage über eine globale Variable ein Cluster mit Mess- und Zustandsdaten aus einem SubVI an eine parallellaufende Schleife im Hauptprogramm. An das Cluster habe ich eine Case angeschlossen wodurch weitere Programme ausgeführt werden sollen.
Nun ist es so, dass ich bei einem Stop im Hauptprogramm extra auch das Sub stoppe ('while-inside'Wink und alles wird schön beendet. Bei erneutem Aufruf hat die globale Variable allerdings noch die alten Werte geladen und löst sofort das Case aus und versaut mir meinen Messablauf....

...kann ich die globale Variable zu Beginn der Messung irgendwie zurück auf den Standartwert setzen?

Für's Hauptprogramm könnte ich diese Funktion auch gebrauchen, damit alle Anzeigefelder zunächst leer sind (Standart-Einstellung).
Zur Zeit tipp ich mich jedes Mal durch die Anzeigeleiste bzw. öffne das GlobaleVariable.vi aus OrdnerXY und setzt das dann auch zurück....


solche "Kleinigkeiten" können in der "Testphase" bei Laufzeiten von 30min-24h/Messung echt nerven...


Gruß David



P.S.: Ich weiß, dass Globale Variablen nicht unbedingt die beste Lösung sind, nur werd ich daran nichts mehr ändern! - hoffentlich
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
17.01.2007, 07:09
Beitrag #2

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
Globale Variable auf Standardwert zurücksetzen
' schrieb:Hallo,

ich übertrage über eine globale Variable ein Cluster mit Mess- und Zustandsdaten aus einem SubVI an eine parallellaufende Schleife im Hauptprogramm. An das Cluster habe ich eine Case angeschlossen wodurch weitere Programme ausgeführt werden sollen.
Nun ist es so, dass ich bei einem Stop im Hauptprogramm extra auch das Sub stoppe ('while-inside'Wink und alles wird schön beendet. Bei erneutem Aufruf hat die globale Variable allerdings noch die alten Werte geladen und löst sofort das Case aus und versaut mir meinen Messablauf....

...kann ich die globale Variable zu Beginn der Messung irgendwie zurück auf den Standartwert setzen?

Für's Hauptprogramm könnte ich diese Funktion auch gebrauchen, damit alle Anzeigefelder zunächst leer sind (Standart-Einstellung).
Zur Zeit tipp ich mich jedes Mal durch die Anzeigeleiste bzw. öffne das GlobaleVariable.vi aus OrdnerXY und setzt das dann auch zurück....
solche "Kleinigkeiten" können in der "Testphase" bei Laufzeiten von 30min-24h/Messung echt nerven...
Gruß David
P.S.: Ich weiß, dass Globale Variablen nicht unbedingt die beste Lösung sind, nur werd ich daran nichts mehr ändern! - hoffentlich

ziehe eine "Stacked Sequence" um dein Programm und schreibe ein False in die Globale Variable entweder im 1. oder im letzten Rahmen. Damit wird beim Beenden oder Starten des Programms deine Stop-Variable zurückgesetzt.

Ja, das ist eine der wenigen Anwendungen wo eine Stacked Sequence richtig (im Sinne des Erfinders) einzusetzen istSmile

http://www.rotabench.com - rotierende Prüfstände nach dem Baukasten-Prinzip
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.01.2007, 11:57
Beitrag #3

Diplomer Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Nov 2006

8.00
2006
kA

59757
Deutschland
Globale Variable auf Standardwert zurücksetzen
...das ist natürlich eine Möglichkeit...nur (ich benutze nur gestapelte Sequenzen 'duck'Wink will ich nicht noch mehr Rahmen in meinem Hauptvi haben - ich hab z.Zt. 3 Whileschleifen mit X verschachtelten Cases, Whiles & Seqs...

gibt es nicht vielleicht einen Methodenknoten o.ä. mit dem ich gleich alles (Hauptprogramm & globaleVariablen) zurücksetzen kann? Den müsste ich dann nur ein außerhalb der Hauptschleifen aufrufen...

Gruß David

...ähm...wenn ich eh was außerhalb der Hauptschleifen aufrufen würde, könnte dies doch auch das Nullsetzen der GlobalenV sein, müsste dann ja eigentlich auch nur einmal ausgeführt werden... nur fürs Haupt.vi allgemein ist das auch noch keine Lösung ....trotzdem gleich mal ausprobieren....
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.01.2007, 16:06 (Dieser Beitrag wurde zuletzt bearbeitet: 17.01.2007 16:07 von cb.)
Beitrag #4

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
Globale Variable auf Standardwert zurücksetzen
' schrieb:...das ist natürlich eine Möglichkeit...nur (ich benutze nur gestapelte Sequenzen 'duck'Wink will ich nicht noch mehr Rahmen in meinem Hauptvi haben - ich hab z.Zt. 3 Whileschleifen mit X verschachtelten Cases, Whiles & Seqs...

gibt es nicht vielleicht einen Methodenknoten o.ä. mit dem ich gleich alles (Hauptprogramm & globaleVariablen) zurücksetzen kann? Den müsste ich dann nur ein außerhalb der Hauptschleifen aufrufen...

Gruß David

...ähm...wenn ich eh was außerhalb der Hauptschleifen aufrufen würde, könnte dies doch auch das Nullsetzen der GlobalenV sein, müsste dann ja eigentlich auch nur einmal ausgeführt werden... nur fürs Haupt.vi allgemein ist das auch noch keine Lösung ....trotzdem gleich mal ausprobieren....

GUT, dass du dich gleich geduckt hast!

ersetze die gestapelten Sequenzen deines "Programms" durch eine vernünftige State Machine, dann hast du nur noch die Sequenz um die "Haupt-Statemachine" und obendrein noch ein gut strukturieres BlockdiagrammBig Grin

Sicher gibt es einen Methodenknoten: öffne eine Referenz auf die Globale Variable, hangle dich durch alle Controls, finde das, das du brauchst und setz es auf den Wert (per Propery oder der Methode "reinit to default") den du haben willst ... und vergiss nicht die Referenzen nachher wieder zu schließen. Ist zwar übelster Spaghetticode, aber watt solls <Hände in Unschuld wasch>

http://www.rotabench.com - rotierende Prüfstände nach dem Baukasten-Prinzip
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.01.2007, 18:12
Beitrag #5

Kopmann Offline
LVF-Grünschnabel
*


Beiträge: 41
Registriert seit: Nov 2006

8.0 Student
2005
kA

23552
Deutschland
Globale Variable auf Standardwert zurücksetzen
Hallöchen,

wenn du unbedingt lokale Variablen benutzen willst dann gehe auf die Lokale Variable (Eingabe oder Ausgabe) -> Eigenschaftsknoten -> Wert.
Diesen musst du dann in lesen ändern. Setze eine Konstante davor und bei jedem Durchlauf wird der Wert auf diese zurückgesetzt.

Oder wie schon erwähnt eine Sate Machine verwenden schau dir dazu mal meinen Beitrag (Frage!). Signalverarbeitung die dritte an. Dort findest du eine tolle Anwendung. Zumindest was das Suchen von Punkten angeht und das manipulieren von diesen.

Gerrit

Beispiel im Anhäng


Angehängte Datei(en)
Sonstige .vi  Lokale_Variable.vi (Größe: 7,22 KB / Downloads: 306)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.01.2007, 19:27
Beitrag #6

Diplomer Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Nov 2006

8.00
2006
kA

59757
Deutschland
Globale Variable auf Standardwert zurücksetzen
es läuft soweit, und daher werd ich keine State mehr einbauen, das tu ich mir nicht mehr an - das nächste mal werde ichs aber ganz bestimmt beachten. Jetzt habe ich noch 1 Monat für meine DA und da will ich nurnoch testen und "kleine" Fehler korigieren und natürlich schreiben, schreiben, schreiben....

den Methodenknoten werd ich morgen gleich mal austesten, den Eigenschaftsknoten auch - ich hab aber ein Problem mit Globalen und nicht lokalen Variablen, vielleicht klappts trotzdem.

Danke für die Tip und ich gelobe Besserung

David
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
17.01.2007, 20:12
Beitrag #7

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
Globale Variable auf Standardwert zurücksetzen
' schrieb:es läuft soweit, und daher werd ich keine State mehr einbauen, das tu ich mir nicht mehr an - das nächste mal werde ichs aber ganz bestimmt beachten. Jetzt habe ich noch 1 Monat für meine DA und da will ich nurnoch testen und "kleine" Fehler korigieren und natürlich schreiben, schreiben, schreiben....

den Methodenknoten werd ich morgen gleich mal austesten, den Eigenschaftsknoten auch - ich hab aber ein Problem mit Globalen und nicht lokalen Variablen, vielleicht klappts trotzdem.

Danke für die Tip und ich gelobe Besserung

David

ich meinte durchaus eine Globale Variable. Auf die Global kann man genauso eine Referenz erzeugen wie auf ein VI, für den VI Server ist das Quasi ein VI ohne Blockdiagramm ...

Ah, DA:)so hat's bei mir auch angefangen ... ich gebs ja zu, das mit der Statemachine hab ich auch erst 2 Monate nach der DA gelerntWink

http://www.rotabench.com - rotierende Prüfstände nach dem Baukasten-Prinzip
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Enum-Variable "zurücksetzen" Hans96 8 6.931 06.01.2023 07:48
Letzter Beitrag: Hans96
  Globale Variablen Edi70 7 3.199 08.10.2021 17:01
Letzter Beitrag: GerdW
  Boolean als globale Variable ares2013 12 9.791 06.09.2019 13:57
Letzter Beitrag: GerdW
  Standardwert neu setzen Bettina 11 8.781 23.08.2018 05:08
Letzter Beitrag: FLST
  XY Graph zurücksetzen bzw. leeren Ralfk84 2 3.554 06.10.2017 06:09
Letzter Beitrag: Ralfk84
  Übergabe Anzeigeelement zwischen VIs (Referenz/globale Variable?) lipster 1 3.828 03.02.2017 14:27
Letzter Beitrag: GerdW

Gehe zu: