Noch immer Probleme mit Temperatur-Vergleichsschleife
Hi Marvin,
die Struktur braucht einen Default (Standard)-Wert! Rechtsklick auf einen beliebigen Case (oder einen neuen) und "Make this case default" (oder in deutsch...;-))
Sollte hier nämlich ein numerischer Wert eingestellt werden, der nicht definiert ist: Was soll dann passieren? Dann muss eben der Default-Case greifen, bei mir im Beispiel "Case 0" (T_ist in keinem der drei Bereiche enthalten => Boolsches Array überall null => Umwandlung in Zahl = 0).´
Wenn der Temperaturistwert kleiner als 77K und größer als 275K ist (kann ja theoretisch sein, zumindest ist so ein Zahlenwert einstellbar), dann müssen die Aktionen ausgeführt werden, die im Default definiert sind (z.B. Abbruch, Fehlermeldung, andere PID's, usw.). Das musst du in deinem Programm abfangen! Wenn du sicher bist, dass solche Istwerte nicht vorkommen können (z.B. weil der Messbereich schon in den Grenzen liegt), dann kannst du auch einen beliebigen der drei Fälle als Default definieren, eben weil andere Werte nie vorkommen.
Naja, irgendwie wirst du meine wirren Gedanken schon durchsteigen ;-)
Gruss
Achim
PS: Folgende Varianten für Belegungen sind im Case möglich, dh. manuell oben eingebbar:
..3 => Case behandelt alle Werte von -Unendlich bis 3
3.. => Case von 3 bis +Unendlich
3..6 => Case von 3 bis 6
3 => Nur "3" wird behandelt
3, Default: "3" und alle nicht weiter definierten Werte werden verarbeitet
Default: Alle nicht definierten Werte werden verarbeitet
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
|