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 Varible



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!

09.06.2006, 08:37
Beitrag #1

tobey Offline
LVF-Grünschnabel
*


Beiträge: 27
Registriert seit: Apr 2006

LabVIEW 7.1 Englisch
2006
kA


Deutschland
Globale Varible
<div align="left">Hallo Leute,

ich hab eine Globale Variable die aus einem Array von U16 mit mehreren Elementen besteht. Ich benötige diese für den Datenaustausch zwischen mehreren VIs. Aber ich habe jetzt folgendes Problem, und zwar beschreiben einzelnen VIs nur immer ein Element des Arrays, aber wie kann ich dies verwirklichen? In meiner momentanen Lsg. überschreibe ich immer den gesamten Array (mit den alten und dem einen neuen Wert). Ist es nicht möglich nur ein Element aus dem Array der globalen Variablen zu beschreiben?

Vielen Dank im Voraus!

mfg tobi


Anhang: Screenshot der momentanen Lsg.</div>


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
09.06.2006, 10:17
Beitrag #2

M. Vöcking Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 64
Registriert seit: May 2005

8.60
2005
de

36266
Deutschland
Globale Varible
Versuchs mal mit "Replace Array Subset" in der Arraypalette.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.06.2006, 10:19
Beitrag #3

A.Berndsen Offline
LVF-Team
LVF-Team

Beiträge: 2.437
Registriert seit: Feb 2005

8.2.1 - 2011
2004
DE

724xx
Deutschland
Globale Varible
Hallo Tobey,

Du kannst in einem Array natürlich jeden einzelnen Wert verändern.
Ob die Quelle und das Ziel eine globale variabel sind ist nicht relevant.

Dein Screenshot sollte so wie ich es sehe funktionieren, wenn das VI "Teilarray ersetzen [Replace Array subset]" ist.

Gruß
Andreas

Geht nicht, gibts nicht!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.06.2006, 11:05
Beitrag #4

tobey Offline
LVF-Grünschnabel
*


Beiträge: 27
Registriert seit: Apr 2006

LabVIEW 7.1 Englisch
2006
kA


Deutschland
Globale Varible
<div align="left">Ja das ist mir klar dass ich jedes einzelne Element ändern kann, aber eben nicht bei einer globalen Variablen (zumindest laut meines Wissenstandes). Das VI aus dem Screenshot ist: "Teilarray ersetzen [Replace Array subset]" Aber das Problem ist, dass ich beim Schreiben auf die globale Variable, alle Elemente aus der globalen Variable überschreibe. Zwar werden die unveränderten Werte mit den gleichen (alten) Werten wieder überschrieben. Aber das ist genau mein Problem, da ich viele solcher Schreibzugriffe parallel habe, und somit es zu Race Conditions kommen kann.
Das heißt im Klartext: Das VI X holt sich den Array aus der globalen Variablen, ersetzt Element 3 durch neue Daten, und schreibt den gesamten Array (mit dem neuen Element 3) auf die globale Variable. Aber z.B. kurz bevor das VI X die neuen Daten schreiben kann liest VI Y den Array aus der Globalen Variable aus und VI X schreibt danach erst die den Array auf die globale Variable. Und jetzt ändert VI Y das Element 4 ab, und schreibt den gesamten Array (mit dem neuen Element 4) auf die globale Variable. Und jetzt habe ich ein Problem, WEIL: im Element 3 steht zwar der neue Datensatz den X geschrieben hat, aber leider hat davor Y die globale Variable schon ausgelesen und deswegen geht der Wert von X verloren weil Y diesen mit alten Daten überschreibt. ---> Diese Phänomen nennt man Race Condition!
Ich könnte zwar mit Hilfe von Semaphoren dies unterbinden, aber lieber wäre mir eine Möglichkeit, wo ich wirklich nur einzelne Elemente des Arrays der globalen Variablen überschreiben kann!</div>
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.06.2006, 11:15
Beitrag #5

A.Berndsen Offline
LVF-Team
LVF-Team

Beiträge: 2.437
Registriert seit: Feb 2005

8.2.1 - 2011
2004
DE

724xx
Deutschland
Globale Varible
Hallo Tobey,

ich habe bisher noch nie auf globale Variable zurückgegriffen.
Die Problematik mit Race Conditions ist mir bewußt, und Deine Schilderung verdeutlicht das zusätzlich.
Hast Du mal versucht mit Referenzen in den SubVI's zu arbeiten ?
Damit könnte es funktionieren.

Gruß
Andreas

Geht nicht, gibts nicht!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.06.2006, 12:07
Beitrag #6

tobey Offline
LVF-Grünschnabel
*


Beiträge: 27
Registriert seit: Apr 2006

LabVIEW 7.1 Englisch
2006
kA


Deutschland
Globale Varible
<div align="left">Mit ist nichts bekannt, dass ich Referenzen von globalen Variablen erstellen kann! Wie sollte das gehen? Eine globale Variable ist doch eigentlich schon eine Referenz?</div>
' schrieb:Hallo Tobey,

ich habe bisher noch nie auf globale Variable zurückgegriffen.
Die Problematik mit Race Conditions ist mir bewußt, und Deine Schilderung verdeutlicht das zusätzlich.
Hast Du mal versucht mit Referenzen in den SubVI's zu arbeiten ?
Damit könnte es funktionieren.

Gruß
Andreas
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
09.06.2006, 12:38
Beitrag #7

A.Berndsen Offline
LVF-Team
LVF-Team

Beiträge: 2.437
Registriert seit: Feb 2005

8.2.1 - 2011
2004
DE

724xx
Deutschland
Globale Varible
Statt globale Variabel mit der Referenz auf das ursprüngliche Array arbeiten!

Geht nicht, gibts nicht!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.06.2006, 13:01
Beitrag #8

tobey Offline
LVF-Grünschnabel
*


Beiträge: 27
Registriert seit: Apr 2006

LabVIEW 7.1 Englisch
2006
kA


Deutschland
Globale Varible
<div align="left">Mit Referenzen komme ich auch nicht wirklich weiter, schaffe es nicht ein einzelnes Element aus dem Array auszulesen bzw. zu schreiben (aber habe auch nicht so viel Erfahrungen mit Referenzen). Aber zum anderen ist das schätzungsweise dann schon wieder zu Umständlich und somit für einen generischen Ansatz nicht brauchbar, oder?

thx, tobi</div>
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.485 08.10.2021 17:01
Letzter Beitrag: GerdW
  Boolean als globale Variable ares2013 12 11.357 06.09.2019 13:57
Letzter Beitrag: GerdW
  globale Konstanten? Nordvestlys 6 5.917 20.02.2015 09:35
Letzter Beitrag: Nordvestlys
  Globale Variable mit Excel Banick 5 6.466 29.01.2014 11:44
Letzter Beitrag: Banick
  FGV Funktionale Globale Variable cabua 30 52.373 08.11.2013 10:33
Letzter Beitrag: mate Ria
  Ereignisstruktur & globale Variablen Tm! 6 7.921 02.09.2012 08:15
Letzter Beitrag: Y-P

Gehe zu: