LabVIEWForum.de
Zahl auf Wertebereich überprüfen und Ausgang setzen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Zahl auf Wertebereich überprüfen und Ausgang setzen (/Thread-Zahl-auf-Wertebereich-ueberpruefen-und-Ausgang-setzen)



Zahl auf Wertebereich überprüfen und Ausgang setzen - Serial - 28.04.2014 12:34

Guten Tag LV Gemeinde,

ich habe folgende Frage:

Ich möchte eine Zahl x nach der Eingabe überprüfen. Je nachdem, welche Bedingung ein TRUE liefert, soll EIN Ausgang auf einen Wert gesetzt werden.

Bedingungen:

x<= 10 setze Ausgang auf 10
x<= 20 and x>10 setze Ausgang auf 20
x<=50 and x>20 setze Ausgang auf 50


Es geht darum, dass ich nur definierte Zahlen weiterverarbeiten kann. Wenn zum Beispiel als Eingangszahl eine 15 kommt, so muss ich den nächst hoheren definierten Wert (in diesem Beispiel 20) benutzen. Ich habe das Problem bereits gelöst, jedoch erscheint mir meine Realisierung als recht aufwendig. Dazu habe ich case innerhalb von case Strukturen verwendet. Wenn also die erste Bedingung nichte erfüllt wird (FALSE) dann wird die nächste geprüft usw....


Also die konkrete Frage ist: Kann man das Problem etwas smarter lösen?

MfG
Serial

PS: Für alle, die sehen wollen, wie es fertig aussieht (mit 8 Unterscheidungen) können sich ja das mit Versionsnummer 2 angucken.


RE: Zahl auf Wertebereich überprüfen und Ausgang setzen - GerdW - 28.04.2014 13:58

Hallo Serial,

das, was du da produziert hast, nennt man Rube-Goldberg-Code!
- Es gibt eine InRangeAndCoerce-Funktion, die dir schon mal jeweils zwei Vergleichsfunktionen ersetzt.
- Man sollte immer Arrays nutzen, wenn man etwas mehrfach durchführen muss und Polymorphismus nutzen!
- Bei den Array-Funktionen gibt es auch vergleichende…

Für alle, die mal sehen wollen, wie dies ohne riesige Case-Strukturen geht:
[attachment=49522]
- skalierbar
- alles auf einen Blick zu erkennen
- wesentlich weniger BD-Platz benötigt
Big Grin


RE: Zahl auf Wertebereich überprüfen und Ausgang setzen - Lucki - 28.04.2014 21:59

Ein zweiter Vorchlag kann vielleicht nichts schaden.
Entweder so:
[attachment=49529]
Oder wenn die Sache im gesamten Bereich von 10E-100 bis 10E100 funktionieren soll, dann so:
[attachment=49530]


RE: Zahl auf Wertebereich überprüfen und Ausgang setzen - Serial - 29.04.2014 06:20

Vielen Dank an euch. Irgendwie wuste ich, dass diese Aufgabe viel einfacher zu lösen ist aber auf eure Ideen wäre ich wohl erst nach einigen Tagen Überlegen gekommen 2hands

Bis bald

MfG
Serial