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 

wert in der lokalen Variablen stimmt nicht



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!

19.12.2007, 15:20
Beitrag #1

toaran_ Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 237
Registriert seit: Feb 2007

2012
2006
EN

90763
Deutschland
wert in der lokalen Variablen stimmt nicht
Hallo

ich hab da mal ein problem ....

ich werd noch irre ...VI als bild siehe unten in den roten Kreisen die beiden dinger die mich zum verzweifeln bringen ...

ein einfacher String indicator und dessen lokale Variable ...

wenn nun meine state maschine zu diesem punkt kommt(grosser kreis mitte) und in der zweiten while schleife etwas von dem notifier eingelesen wird und angezeigt wird (in dem Sensor-Status indikator) ... meint die lokale variable aber noch einen komplett alten inhalt auslesen zu müssen ...

was mach ich hier falsch ? ich mein ich mach das in anderen Prgrammen auch so oder so in der art ....
ich hab auch schon den notifier an der stelle auslesen lassen wo die lokale variable sitzt .. da kommt auch der alte inhalt raus ... nur unten in der zweiten while schleife wird richtig ausgelesen ....

Toaran


   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.12.2007, 15:40 (Dieser Beitrag wurde zuletzt bearbeitet: 19.12.2007 15:44 von rolfk.)
Beitrag #2

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
wert in der lokalen Variablen stimmt nicht
' schrieb:Hallo

ich hab da mal ein problem ....

ich werd noch irre ...VI als bild siehe unten in den roten Kreisen die beiden dinger die mich zum verzweifeln bringen ...

ein einfacher String indicator und dessen lokale Variable ...

wenn nun meine state maschine zu diesem punkt kommt(grosser kreis mitte) und in der zweiten while schleife etwas von dem notifier eingelesen wird und angezeigt wird (in dem Sensor-Status indikator) ... meint die lokale variable aber noch einen komplett alten inhalt auslesen zu müssen ...

was mach ich hier falsch ? ich mein ich mach das in anderen Prgrammen auch so oder so in der art ....
ich hab auch schon den notifier an der stelle auslesen lassen wo die lokale variable sitzt .. da kommt auch der alte inhalt raus ... nur unten in der zweiten while schleife wird richtig ausgelesen ....

Toaran
[attachment=37449:verr_ckt.JPG]

Schon mal was gehört von Race Conditions???? Wie stellst Du denn sicher das der Notifier unten aktiviert wird UND die Variable in die lokale Variable geschrieben wird, BEVOR Du in der oberen Loop diese liest. Da man nicht das ganze Programm sehen kann, lässt sich schwer sagen wo und wie es falsch geht, aber falsch geht es eben schon.

Ich nehme mal an dass Du in der oberen Schlaufe irgendwo den Notifier aktivierst und dann den State auf NMD abwarten setzt. Bis der Notifier dann reagiert und die Variable gesetzt wird, hat die obere Schlaufe halt schon lange eine neue Iteration begonnen, und Auswertung von Terminals und Lokals ist immer so ziemlich das erste was LabVIEW macht wenn es ein neues Subdiagramm abzuarbeiten beginnt.

Im Übrigen ist die Verwendung von Lokals als Statevariable nicht gerade schön. Ein Schieberegister wäre da viel besser geeignet und macht es auch etwas deutlicher was da passiert.

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.12.2007, 16:38
Beitrag #3

toaran_ Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 237
Registriert seit: Feb 2007

2012
2006
EN

90763
Deutschland
wert in der lokalen Variablen stimmt nicht
hi

also der notifier wird von nem hintergrund VI gesetzt...
in der unteren schleife wir dann alle 50 ms der notifier abgefragt und das ergebniss im frontpanal angezeigt .... und was dort angezeigt wird ist das richtige ...

wenn dann irgendwann der state auf NMD abwarten kommt sollte doch eigentlich das was im terminal (der lokalen)angezeigt wird und das was in der lokalen Variable drinn steht das selbe sein ... isses aber nicht ...

ich lad mal das vi hoch ... laufen wirds nicht da subvis fehlen ...

LabVIEW 7.1

Sonstige .vi  einbau_config.vi (Größe: 311,61 KB / Downloads: 207)


Toaran
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
  Default Wert wird nicht gespeichert ares2013 8 6.712 27.02.2020 12:51
Letzter Beitrag: jg
  Wert an naheliegensten Wert aus Array anpassen TSC 17 11.507 26.07.2016 06:59
Letzter Beitrag: TSC
  "Passwort stimmt überein" Anzeige bei Passwortänderung antonym 4 4.460 13.08.2015 17:21
Letzter Beitrag: jg
  Wert nicht ausgeben Zufall 18 11.637 29.10.2014 14:40
Letzter Beitrag: J.Engel
  Wert wird nicht übernommen rabber 13 10.279 10.07.2014 10:14
Letzter Beitrag: Lucki
  Aktueller Wert von vorherigem Wert abziehen Semicon 6 7.404 18.06.2014 16:34
Letzter Beitrag: jg

Gehe zu: