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 

Dieses Thema hat akzeptierte Lösungen:

Numeric Control erreicht Maximum 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!

20.09.2013, 10:11
Beitrag #1

YYYs Offline
LVF-Grünschnabel
*


Beiträge: 29
Registriert seit: May 2011

LabVIEW 2011
2011
DE


Deutschland
Numeric Control erreicht Maximum nicht
Hallo,

bitte mich nicht auslachen, aber ich schaffe es nicht die Einstellungen so zu setzen, damit man bei meinem Numeric Control das Maximum erreicht. Das sind die versuchten Einstellungen.

Minimum = 0 (Coerce)
Maximum = 1 (Coerce)
Increment = 0,05 (alles ausprobiert)

Wenn ich das Numeric Control inkrementiere, erreicht es nur 0,95. Sobald ich den Wert "1" per Hand eintippe und danach versuche über den Increment/Decrement-Pfeil auf die "1" zu erhöhen klappt es.

Ich hoffe ihr könnt mir bei diesem trivialen Problem helfen.

Vielen Dank


Angehängte Datei(en)
11.0 .vi  Numeric Control Maximum Problem.vi (Größe: 6,79 KB / Downloads: 189)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.09.2013, 10:42 (Dieser Beitrag wurde zuletzt bearbeitet: 20.09.2013 10:47 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Numeric Control erreicht Maximum nicht

Akzeptierte Lösung

Hallo YYY,

das Problem liegt in der begrenzten Genauigkeit von Float-Zahlen - und wurde hier schon desöfteren diskutiert...

Das Inkrement "0,05" kann nicht als DBL-Wert dargestellt werden, da es ein unendlicher Binärbruch ist. Wenn du dann noch anfängst, diesen Wert aufzuaddieren (jeweils um 0,05 erhöhen), ergeben sich sehr schnell Fehler durch Rundungseffekte. Diese führen dazu, dass du zwar 0,95 in der Anzeige siehst, aber intern mit 0,9500..0019 (o.ä.) gerechnet wird und man deshalb mit einem weiteren Inkrement über die 1 hinausschießen würde - also bleibt die Anzeige bei ~0,95 stehen. Gibst du dann eine 1 händisch ein, werden die aufgelaufenen Rundungsfehler gelöscht und du kannst erstmal wieder den Wert (anscheinend) korrekt ändern...

Lösungsvorschläge:
- Diese Anzeige auf Prozent-Werte umstellen, dann könntest du einerseits mit Integer arbeiten (die diese Fehler nicht zeigen) oder problemlos mit DBL und ganzzahligen Werten...
- Das Max auf 1,0001 erhöhen und den Eingabewert mit InRangeAndCoerce auf 0..1 begrenzen...

Weiterführende Literatur: hier oder hier oder in meiner Signatur

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
  DAQmx Control Task.v LabView-Ladefehlercode 3: Frontpanel konnte nicht geladen werden RabenFlug 10 7.069 24.10.2019 12:51
Letzter Beitrag: RabenFlug
  Scale Control with Tab Control GT123 6 6.307 08.12.2016 12:42
Letzter Beitrag: jg
  Schieberegler - Maximum sumsi 3 4.934 24.08.2015 10:44
Letzter Beitrag: sumsi
  programatische Änderung eines Numeric Control mit Range frankfurt2222 2 3.473 10.06.2014 11:14
Letzter Beitrag: frankfurt2222
  DragAndDrop bei Path Control funktioniert nicht MartinLoreck 2 3.358 06.09.2012 13:06
Letzter Beitrag: MartinLoreck
  Numeric-Control Wert mit Radio-Button presetten Tallyho 7 6.461 13.08.2012 21:50
Letzter Beitrag: Lucki

Gehe zu: