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 wird nicht übernommen



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.07.2014, 14:12
Beitrag #1

rabber Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Jun 2014

2011
2013
EN



Wert wird nicht übernommen
Servus zusammen,

ich habe in meinem VI ein "numeric control", gebe ich hier eine Zahl ein und betätige ein "Button" "Werte übernehmen" wird dieser Wert nicht übernommen erst wenn ich aus dem Zahlenfeld klicke wird der Wert bei betätigen des "Button" richtig übernommen.

Kann ich z.B. in einer Event Struktur "Timeout" den "numeric control" dazu zwingen dennoch den richtigen Wert zu liefen ohne, dass ich extra aus dem Feld klicken muss?

besten Dank schon mal

gruß ruben
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
09.07.2014, 14:19 (Dieser Beitrag wurde zuletzt bearbeitet: 09.07.2014 14:20 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.412
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Wert wird nicht übernommen
Hallo rabber,

das hört sich nach einer Race Condition an.

Zeig doch mal deinen Code (vorzugsweise LV2011) und überprüfe den DATAFLOW!

Zitat:betätige ein "Button" "Werte übernehmen" wird dieser Wert nicht übernommen erst wenn ich aus dem Zahlenfeld klicke wird der Wert bei betätigen des "Button" richtig übernommen.
Wie kannst du einen Button betätigen, ohne dabei nicht "aus dem Zahlenfeld zu klicken"? (Oder benutzt du Tastatursteuerung?)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.07.2014, 15:31
Beitrag #3

rabber Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Jun 2014

2011
2013
EN



RE: Wert wird nicht übernommen
hi,
hab nur mal ganz schnell ein einfaches Beispiel nachgebaut....

Problematik:
- VI starten
- Wert in Numeric eingeben (mit Tastatur ohne anschließend aus dem Feld zu klicken=
- Button "wert übernehmen" betätigen

- Wert bei Numeric 2 ändert sich nicht!

besten dank für die Hilfen Wink

Gruß Ruben


Angehängte Datei(en)
11.0 .vi  bsp_fehler_wertuebernahme.vi (Größe: 9,18 KB / Downloads: 137)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.07.2014, 15:35 (Dieser Beitrag wurde zuletzt bearbeitet: 09.07.2014 15:35 von GerdW.)
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.412
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Wert wird nicht übernommen
Hallo rabber,

bei mir funktioniert es. Ich tippe einen Wert bei Numeric ein und mit einem Mausklick auf den Button wird der Wert nach Numeric2 übernommen…

Tipps:
- Es gibt da diese "ValueChange"-Events…
- Lokale Variablen führen zu RaceConditions…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.07.2014, 16:11
Beitrag #5

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Wert wird nicht übernommen
Bei mir zickt dein VI zwar auch rum, aber bei Verwendung von:
(09.07.2014 15:35 )GerdW schrieb:  - Es gibt da diese "ValueChange"-Events…
(sowieso das besser Event!!!) geht es wie gewünscht.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.07.2014, 18:53
Beitrag #6

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Wert wird nicht übernommen
..und außerdem läßt sich das VI nicht stoppen. So ists richtig:

11.0 .vi  bsp_fehler_wertuebernahme.vi (Größe: 6,42 KB / Downloads: 173)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
10.07.2014, 07:38 (Dieser Beitrag wurde zuletzt bearbeitet: 10.07.2014 07:41 von rabber.)
Beitrag #7

rabber Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Jun 2014

2011
2013
EN



RE: Wert wird nicht übernommen
ich verstehe das nicht das kann doch nicht sein, dass das Problem nur bei mir (und meinen Kollegen besteht) verändert sich das VI wenn ich es hochlade Wink ?

ok spaß bei Seite....

nochmals:
Wert über Tastatur eingeben (ohne raus zu klicken und auch keine "Entertaste" betätigen), dann wie gesagt Button "wert übernehmen" drücken (nach 2 mal Betätigen des Buttons wird der Wert übernommen da mit dem ersten klicken zusätzlich aus dem Feld geklickt wird!) siehe auch Anhang....


Zum besseren Verstehen meiner Problematik warum ich hier so ein "Theater" veranstalte: Ich habe bei mir ein Numeric Feld indem ich die Schrittweite von 3 Motoren definieren kann nun folgendes Szenario:
-ein Wert von 20 ist im Numeric Feld aktiv
-Motor bzw Verfahrobjekt ist kurz vor der Kollision
-daher gibt der "user" einen Wert von 1 ein
-betätigt anschließen die Verfahrtaste (nach oben beschriebenen Szenario)
-Kollion da der Motor noch den Wert von 20 bekommt


"ValueChange"-Events kenne ich das bringt aber hier nichts! da wenn ich den Wert eingebe und nicht aus dem Feld klicke hat sich ja der Wert für LabView noch gar nicht geändert!

Da sollte es doch irgendein PopertyNode geben mit dem Befehl "Wert auslesen" der den Wert den ich im Feld eingegeben habe dann aktiviert auch wenn ich wie gesagt kein "Enter" betätigt oder aus dem Feld geklickt habe....


Ps.: Das mit dem VI lässt sich nicht stoppen hab ich auf die Schnell nicht richtig beachtet ist aber klar dennoch danke für den Hinweiß


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.07.2014, 07:50
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.412
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Wert wird nicht übernommen
Hallo rabber,

Zitat:nochmals:
Wert über Tastatur eingeben (ohne raus zu klicken und auch keine "Entertaste" betätigen), dann wie gesagt Button "wert übernehmen" drücken (nach 2 mal Betätigen des Buttons wird der Wert übernommen da mit dem ersten klicken zusätzlich aus dem Feld geklickt wird!) siehe auch Anhang....
Auf einem zweiten Rechner kann ich das Verhalten bestätigen. Muss was mit dem OS/Anzahl der CPU-Cores/Wetterlage zu tun haben…

Erläuterung:
Du hast hier eine klassische RACE-CONDITION!
- Du tippst einen Wert ein, der aber noch nicht als neuer Wert übernommen wird.
- Du klickst auf einen Button, um ein Event auszulösen.
- Im Event wird eine lokale Variable gelesen (das sind die Konstrukte, die sehr "Race-Condition"-anfällig sind!).
Was geht nun schneller: das Auslesen der lokalen Variable (mit dem noch nicht aktualisierten Wert) oder das Aktualisieren des Wertes aufgrund deines Mausklicks?

In den meisten Fällen scheint das Auslesen der Variable zu gewinnen - aber halt nicht immer.

Lösung:
Du musst dir eine Race-Condition-sichere Lösung einfallen lassen. Das einfachste wäre ein ValueChange-Event und der User muss die Enter-Taste drücken. Geht eh schneller als die Hand wieder von der Tastatur zur Maus zu bewegen…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.07.2014, 08:21
Beitrag #9

rabber Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Jun 2014

2011
2013
EN



RE: Wert wird nicht übernommen
Hab das "Test VI" gerade mal schnell umgebaut und anstatt der lokalen Variable den Indikator selbst angeschlossen da besteht das gleiche Problem

Das mit dem dass der User die Entertaste drücken muss ist natürlich eine Option wobei die nicht gerne gesehen wird, was ist wenn der User vergisst die Enter Taste zu betätigen ich kann das ja nicht abfangen oder gibt es da eine Möglichkeit?


So etwas über einen Property Node zu losen, dass der Wert immer ausgelesen wird (in der Event Struktur "Timeout") ist nicht möglich?


besten dank für deine/eure Bemühungen Wink
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.07.2014, 08:25 (Dieser Beitrag wurde zuletzt bearbeitet: 10.07.2014 08:26 von GerdW.)
Beitrag #10

GerdW Offline
______________
LVF-Team

Beiträge: 17.412
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Wert wird nicht übernommen
Hallo rabber,

auch bei der "Lösung" mit dem Lesen aus dem Terminal bleibt die Race Condition bestehen!

Es wird immer noch der zuletzt eingestellte Wert gelesen, da der neu eingegebene Wert noch nicht übernommen wurde!

Weitere Option:
Bei einem String-Control kann man einstellen, dass die Werte direkt beim Eintippen übernommen werden. Dies könntest du hier für deine Zwecke nutzen - mit dem dann nötigen Overhead, selbst für korrekte Zahleneingabe (per Zeichenfilterung) zu sorgen.

Zitat:So etwas über einen Property Node zu losen, dass der Wert immer ausgelesen wird (in der Event Struktur "Timeout") ist nicht möglich?
Du kannst natürlich immer im TimeOut auslesen. Warum dann eine PropertyNode? Warum nicht direkt das Terminal?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Frontpanel wird beim beenden nicht immer geschlossen Winterkind 4 2.895 08.04.2020 08:30
Letzter Beitrag: Freddy
  Default Wert wird nicht gespeichert ares2013 8 5.809 27.02.2020 12:51
Letzter Beitrag: jg
  Vi-Einstellungen werden nicht übernommen Janis 5 3.572 13.02.2017 11:09
Letzter Beitrag: Janis
  Wert an naheliegensten Wert aus Array anpassen TSC 17 9.674 26.07.2016 06:59
Letzter Beitrag: TSC
  Aenderungen in strikter Typdefinition werden nicht übernommen Hasenfuss 2 3.287 25.06.2015 17:30
Letzter Beitrag: BNT
  Case wird wiederholt --> weiß nicht warum mexas450 9 5.845 12.12.2014 13:35
Letzter Beitrag: Lucki

Gehe zu: