(16.01.2016 21:04 )IchSelbst schrieb: Hallo wubs
(16.01.2016 16:51 )wubs schrieb: x ist eine unbestimmte Zeit für ein True bzw. False Zustand.
Eigentlich ist diese Aussage für die Programmiersprache LabVIEW ideal - weil deklarativ: Diese Aussage beschreibt genau das, was getan werden soll.
Dein Problem allerdings besteht darin, dass du die Funktionsweise und Mittel von LabVIEW noch nicht kennst, um genau diese Aussage in ein Programm umzusetzen.
Mein Problem besteht darin, dir fernschriftlich ohne ein Programm zu schreiben mitzuteilen, wie es (vielleicht) funktionieren könnte.
Nimm schon mal keine For-Schleife, die 2000 Mal durchläuft, sondern eine While-Schleife, die du mit einem Stopp-Button auf dem Frontpanel FP beenden kannst. Damit sparst du dir schon mal den brachialen Abbruch.
Wenn du dein Blockdiagramm BD betrachtest, wirst du sehen, dass es in einer bestimmten Weise unübersichtlich ist. Die Drähte, deren Anfang die Eingänge, deren Ende die Ausgänge sind, ziehen sich über einen ganzen Bildschirm. Das ist nicht gut.
Ich würde das so machen:
* Ein Cluster enthält alle Eingänge (Temperaturen, Schalter etc) in Form von Bedienelementen (die linke Seite deines BDs).
* Ein Cluster enthält alle Ausgänge (Leds etc) sowie Steuerungsdaten (z.B. die Zeiten und letzten Zustände) in Form von Anzeigeelementen (die rechte Seite deines BDs).
* Die Steuerungsdaten kann man auch in einen extra Cluster führen.
* Beide Cluster liegen in Schieberegistern, die selbst wieder in einer While-Schleife liegen.
* Innerhalb der While-Schleife befindet sich eine Case-Struktur, die in Form einer Schrittkette durchlaufen wird.
* Im ersten Case wird das Bedienelement ausgelesen => Draht ins Schieberegister.
* Jeder einzelne weitere Case bearbeitet genau einen Ausgang - und fürs Erste selbst dann, wenn viele Operationen dann doppelt oder gar mehrfach durchgeführt werden.
* Im vorletzten Case wird der Ausgangscluster auf ein entsprechenden Anzeige-Cluster geschrieben.
* Im letzten Case wartest du 100ms (nicht eine Sekunde) und zählst gegebenenfalls die Zeiten hoch.
Hallo
Danke für die Antwort. Ich glaube Du musst mich fachlich noch weiter unten einstufen
![Blush Blush](images/smilies/lvfsmilies/fun/blush.gif)
. Bis auf meine angesprochene schlechte Übersicht habe ich nicht viel verstanden. Ich habe mit den Clustern angefangen und dann aufgegeben. Es ist wohl besser wenn Du mir das an meiner VI mal zeigst wie Du es meinst. Ein bisschen aufgeräumt habe ich und es ist auch lauffähig wie ich es mir vorgestellt habe. Mir fehlt noch die Wartezeit nach der erreichten Endtemperatur und die Fehlermeldung falls das neue Kammersignal vor dem Ende der Wartezeit kommt. Ich hatte an einer Flachen Sequenz gedacht mit 3 Rahmen. Im ersten läuft mein jetziges VI, im zweiten wird gewartet nach dem erreichen der Endtemperatur und im dritten wird das neue Kammersignal ausgewertet. Aber vielleicht liege ich hier auch total falsch.
Ich möchte natürlich das die ganze Sache nicht nur funktioniert sondern das ich auch verstehe warum man es besser anders machen sollte. Schau Dir mal meine Versuche an.