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 

funktionale globale variablen



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!

22.07.2008, 07:45
Beitrag #1

ben8119 Offline
LVF-Grünschnabel
*


Beiträge: 11
Registriert seit: Jul 2008

8.5
2008
de

34121
Deutschland
funktionale globale variablen
Hallo zusammen,

ich habe schon an verschiedenen stelllen von den vorzügen von funktionalen globalen variablen gehört. Zum Beispiel, dass dabei keine race conditions entstehen können. Und genau diesen Punkt hab ich noch nicht so richtig verstanden.
Wieso ist das so? Wenn ich an einer Stelle eine funtkionale globale variable initialisierre und an anderer Stelle diese lesen will, wodurch ist dann die Abfolge geregelt?
Ich hab es jetzt so gelöst dass ich der funkt. glob. var. einfach einen Variant-Eingang definiert habe, und dann irgendeine in der Nähe liegende Datenflusslinie daran binde, einfach nur um die Ablauffolge zu steuern. Gibt es hierfür auch eine elegantere Lösung?
Viele Grüße
ben
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.07.2008, 08:22
Beitrag #2

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.696
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
funktionale globale variablen
' schrieb:Wieso ist das so? Wenn ich an einer Stelle eine funtkionale globale variable initialisierre und an anderer Stelle diese lesen will, wodurch ist dann die Abfolge geregelt?
Ganz wichtig ist schon mal die Einbindung in einen Datenfluß. Dieses "Verfahren" ist Grundbestandteil einer LV-Programmierung. Durch diese Datenflußeinbindung wird nämlich eine Sequenzierung generiert. Wie du den Datenfluß machst, ob mit einem Variant-Ein/Ausgang oder wie vorgesehen mit dem Errorcluster ist letztlich egal.
Außerdem haben VIs eine "Aufrufsperre während der eigenen Laufzeit". Solange ein VI läuft, wird es nicht ein zweites mal quasi parallel geöffnet (es sei denn es ist als invariant deklariert).

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.07.2008, 11:35
Beitrag #3

ben8119 Offline
LVF-Grünschnabel
*


Beiträge: 11
Registriert seit: Jul 2008

8.5
2008
de

34121
Deutschland
funktionale globale variablen
Hallo,
vielen Dank, deine Antwort hat mir sehr weitergeholfen. Vielleicht darf ich daran noch eine weitere Frage anschließen. Angenommen ich habe eine State Machine mit Warteschlange, mehrere VISA-Applikationen und die funktionalen globalen Variablen nimmt man dann ein Errorverbindungslinie für alles, oder ist es üblich mehrere Errorclusters zu verwenden?
Gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.07.2008, 12:10
Beitrag #4

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.696
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
funktionale globale variablen
' schrieb:nimmt man dann ein Errorverbindungslinie für alles, oder ist es üblich mehrere Errorclusters zu verwenden?
Eine für alles.

Das Problem ist folgendes: Tritt in einem Ablauf - und eine Statemachine ist nichts weiter als ein Ablauf - an einen bestimmten Stelle ein Fehler auf, so muss diese Information an alle nächsten Programmteile weitergeleitet werden, weil diese nämlich auf grund des Fehlers bestimmte Sachen machen müssen oder eben nicht machen sollen. Im einfachsten Falle geht dann in einem SubVI der Errorcluster auf eine Case-Sequenz. Nur wenn kein Fehler anliegt, wird das SubVI ausgeführt. Ansonsten wird das SubVI lediglich beendet.

Benutzt du nicht den Errorcluster zur Fehlerweiterleitung, kann das irgendwann mal zu ablaufspezifischen Fehlern führen. Das Verwenden des Errorclusters kann also als Folge des Datenflußprinzips als solches gesehen werden.

Nichtsdestoweniger kannst du mehere Errorcluster zur Sequenzierung verwendet oder auch andere Signale. Der Errorcluster ist da halt ideal geeignet.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.07.2008, 07:38
Beitrag #5

ben8119 Offline
LVF-Grünschnabel
*


Beiträge: 11
Registriert seit: Jul 2008

8.5
2008
de

34121
Deutschland
funktionale globale variablen
' schrieb:Eine für alles.

Das macht Sinn. Super, vielen Dank.
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
  Globale Variablen Edi70 7 4.479 08.10.2021 17:01
Letzter Beitrag: GerdW
  Boolean als globale Variable ares2013 12 11.355 06.09.2019 13:57
Letzter Beitrag: GerdW
  globale Konstanten? Nordvestlys 6 5.916 20.02.2015 09:35
Letzter Beitrag: Nordvestlys
  Globale Variable mit Excel Banick 5 6.465 29.01.2014 11:44
Letzter Beitrag: Banick
  FGV Funktionale Globale Variable cabua 30 52.367 08.11.2013 10:33
Letzter Beitrag: mate Ria
  Melder oder globale Variablen Hasenfuss 3 5.512 05.03.2013 15:45
Letzter Beitrag: Hasenfuss

Gehe zu: