Aufbau einer Schaltung mit Event Structures - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Aufbau einer Schaltung mit Event Structures (/Thread-Aufbau-einer-Schaltung-mit-Event-Structures) Seiten: 1 2 |
Aufbau einer Schaltung mit Event Structures - Oli_N - 16.03.2007 09:38 Hallo zusammen Ich habe ein grundsätzliches Verständnisproblem bei der Anwendung von Event Structures. Und zwar würde mich interessieren, wie man diese Event Structures korrekt einsetzen muss, wenn man quasi ein Hauptpragramm hat, welches ständig laufen soll und bei speziellen Ereignissen (z.B. Tastendrücke oder Seitenwechsel eines TabControl) eben diese Events (wie ein Interrupt) ausgeführt werden sollen. In einem ersten Programm habe ich es wie folgt gelöst: [attachment=5655] Dies hat auch ohne gross darüber nachzudenken funktioniert. In einem zweiten Programm habe ich den selben Aufbau verwendet und da funktioniert das ganze nicht. Deshalb habe ich mich gefragt, ob man das überhaupt so machen darf. Eigentlich müssten so ja zwei (Endlos)schleifen parallel laufen, geht das überhaupt? Wenn ja, wie werden diese dann abgearbeitet, etwa abwechslungsweise? Oder wie sieht es mit folgendem Aufbau aus: [attachment=5672] Wäre sowas besser? (funktioniert bei mir irgendwie auch nicht) (Ich verwende übrigens die Timeout-Funktion der Event Structures nicht, vieleicht hat es auch damit etwas zu tun?) Ach ja, dann noch etwas ganz anderes, bezüglich Sequenz-Strukturen. Kann man immer davon ausgehen, dass eine Seite (Sequenz) einer Sequenz-Struktur am Stück (ohne Unterbruch) abgearbeitet wird? Vielen Dank schon mal! Gruss Oli Aufbau einer Schaltung mit Event Structures - eg - 16.03.2007 09:46 Das erste ist fast richtig, nur dürfen die Whileschleifen miteinander NICHT verbunden sein. Die müssen unabhängig voneinander laufen. Gruss, Eugen Aufbau einer Schaltung mit Event Structures - Oli_N - 16.03.2007 10:00 ' schrieb:Das erste ist fast richtig, nur dürfen die Whileschleifen miteinander NICHT verbunden sein. Die müssen unabhängig voneinander laufen. Hallo Eugen Vielen Dank für deine Antwort, so funktionierts! Ich versteh zwar nicht ganz wieso! ;-) Bei allen Events neben dem Abbruch-Event ist so der Wert der Abbruchbedingung der Schleife um die Event Structure ja eigentlich nicht explizit definiert, wird dieser Wert dann immer default auf false gesetzt, damit die Schleife nicht beendet wird? Gruss Oli Aufbau einer Schaltung mit Event Structures - eg - 16.03.2007 10:03 ' schrieb:Hallo Eugen So ist es. Was verstehst du denn nicht? Aufbau einer Schaltung mit Event Structures - Oli_N - 16.03.2007 10:12 ' schrieb:So ist es. Ich versteh nicht genau wieso es nicht funktioniert, wenn die beiden Schleifen (also die Abbruchbedingungen) miteinander verbunden sind. So sollten die Schleifen doch auch miteinander beendet werden. Gruss Oli Aufbau einer Schaltung mit Event Structures - eg - 16.03.2007 10:22 ' schrieb:Ich versteh nicht genau wieso es nicht funktioniert, wenn die beiden Schleifen (also die Abbruchbedingungen) miteinander verbunden sind. So sollten die Schleifen doch auch miteinander beendet werden. Weil eine Schleife von der anderen dadurch sequentiell abhängt. Du könntest mal googlen, was Datenflussprinzip bedeutet. Dann wird es dir auch klar. Eugen P.S. du könntest auch die gelbe Lampe (Highlighting) einschalten und genau anschauen wo im BD was und in welcher Reihenfolge passiert. Aufbau einer Schaltung mit Event Structures - eg - 16.03.2007 10:23 ' schrieb:Eigentlich müssten so ja zwei (Endlos)schleifen parallel laufen, geht das überhaupt? Wenn ja, wie werden diese dann abgearbeitet, etwa abwechslungsweise? Um die Ausführung abzusichern, kannst du Semaphore verwenden. Ansonsten hast du Recht, die werden abwechslungsweise abgearbeitet. Gruss, Eugen Aufbau einer Schaltung mit Event Structures - Achim - 16.03.2007 11:21 Hi, dein zweiter Gedanke - nur eine Schleife mit Eventstruktur - ist auch gut! Du benötitgst nicht unbedingt eine zweite Schleife! Damit die eine Schleife aber durchlaufen kann, musst du an der Eventstruktur eine Timeoutzeit angeben. Nach dieser wird die Schleife auf jeden Fall durchlaufen. Viele platzieren den eigentlichen Code dann im Timeout-Case, aber dass ist evtl. ein bisschen fragwürdig. Du kannst deinen Code einfach so in die Schleife packen...am besten verwendet man dann ne State Machine, d.h. eine Case-Struktur in einer While-Schleife, (mit-)gesteuert durch eine Eventstruktur. Dazu gibts hier im Forum jede Menge Beispiele... http://www.LabVIEWforum.de/index.php...mp;p=15729& Gruss Achim Aufbau einer Schaltung mit Event Structures - Achim - 16.03.2007 11:29 ' schrieb:Ach ja, dann noch etwas ganz anderes, bezüglich Sequenz-Strukturen. Kann man immer davon ausgehen, dass eine Seite (Sequenz) einer Sequenz-Struktur am Stück (ohne Unterbruch) abgearbeitet wird? Ich nehme an, du meinst "ohne Unterbrechung", hm? Ja, das ist so...eine Sequenz läuft komplett durch, es sei denn du hast in der Sequenz irgendwo das VI "Quit LV" eingebaut! Ansonsten ist es nicht möglich, eine Sequenz abzubrechen, genausowenig wie einen Schritt zurückzugehen! Das könnte man wiederum mit einer State Machine realisieren! A. Aufbau einer Schaltung mit Event Structures - Oli_N - 16.03.2007 11:39 Ich danke euch viel mal, jetzt ist mir einiges klar! Übrigens, die "Highlighting"-Funktion ist ziemlich cool und in einigen Fällen extrem hilfreich! Leider kannte ich diese bis jetzt noch nicht! Gruss Oli |