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 

Sub VI soll im Hintergrund weiterlaufen



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.06.2008, 13:27 (Dieser Beitrag wurde zuletzt bearbeitet: 20.06.2008 13:34 von IchSelbst.)
Beitrag #7

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.697
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Sub VI soll im Hintergrund weiterlaufen
' schrieb:Von meiner Programmierung her geht es in der ersten Schleife darum eine Befehlskette in Form eines 2D Arrays zusammenzustellen.
In der zweiten Schleife geht es nun darum diese Befehlskette auszuführen, indem die einzelnen Befehle an die entsprechende Portnummer geschickt werden.
ABER!
Weshalb ich diesen parallelen Aufwand betreibe, ist die Tatsache dass das Erstellen einer neuen Befehlskette möglich sein soll noch während das Ausführen im Gange ist.
Sprich der Benutzer hat eine Befehlskette eingegeben, welche den Temperaturverlauf für 4 verschiedene Öfen vorgibt.
Jetzt klickt er auf OK und die Befehle werden ausgefüht.
Jetzt bemerkt er nach einiger Zeit (der Temperaturverlauf ist noch nicht beendet), dass er sich bei einer der Öfen geirrt hat. D.h. er möchte für diesen einen neuen Befehl erstellen ohne dass die anderen davon beinträchtigt werden.
Gut, jetzt bin ich dabei. (Jetzt brauch ich auch kein Muster mehr).

Vorschlag:
Mach ein VI, in dem der Benutzer seine Verläufe generiert. Dass dieses VI schon aufwändig werden kann, steht hier nicht zur Debatte. Irgendwann ist der Bediener mit Erstellen eines Verlaufes respektive mehrerer Verläufe fertig. Zu diesem Zeitpunkt klickt der Bediener auf einen Button "Daten zur Ausführung senden". Jetzt sendet dieses VI den Verlauf respektive die Verläufe mittels Queue an das ausführende VI. (Dass bei vier Öfen vier mal per Queue gesendet wird, steht auch nicht nicht zur Debatte. Hat den Vorteil: Oh, da passt einer nicht, dann ändern wir nur einen). Nach dem Senden läuft diese VI weiter. Der Benutzer will ja schließlich einen Verlauf anpassen können.

Außerdem hast du ein zweites VI (eigenlich einen zweiten "Prozess"), das die Verläufe abarbeitet. (Überlegung: Das VI abreitet nur einen einzigen Ofen ab. Durch Instanzierung des VIs (invariante Ausführung), können beliebig viele genau dieser VIs parallel laufen.) Dieses VI holt sich die Daten aus der Queue - und arbeitet genau diesen Ablauf ab.

Durch das Managemant der Verläufe mittels Queue/Melder entsteht eine Entkopplung zwischen Eingabe und Abarbeitung der Verläufe.

Bedenke, dass das Abarbeiten eines Verlaufes ggf. angehalten werden muss. Das würde auch per Queue aus der Eingabemaske heraus geschehen können.

Das, was du bisher als While-Schleife bezeichnet hast, fällt eher unter den Begriff "Task", "Prozess" etc. Im Endeffekt würdest du diese beiden "Haupt-VIs" ganz einfach parallel in ein übergeordnetes VI legen - dann würde beide parallel ausgeführt werden.

Kannst du meiner Intension, die beiden Vorgänge "Eingabe" und "Abarbeitung" so wie beschrieben zu trennen und entsprechend abzuarbeiten, folgen?

Und noch ein Nachtrag:
Ich sehe gerade du hast LV 61? Gibts denn da schon Queues? Kommst du nicht irgendwie an was aktuelles?

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
Sub VI soll im Hintergrund weiterlaufen - IchSelbst - 20.06.2008 13:27

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Ansprechendes Design des Frontpanels | Muster in Hintergrund einfügen dulfried 3 4.312 23.08.2017 17:45
Letzter Beitrag: GerdW
  Hintergrund TiCy 5 4.471 27.11.2012 10:56
Letzter Beitrag: TiCy
  Events filtern, wenn GUI im Hintergrund dimitri84 7 7.210 07.03.2012 12:37
Letzter Beitrag: dimitri84
  VI's im Hintergrund Jontef 8 6.124 24.01.2012 10:21
Letzter Beitrag: Jontef
  Win Explorer im hintergrund? Escatec 2 4.407 06.10.2011 09:50
Letzter Beitrag: M@rRy
  UserInterface mit LabView Hintergrund schiebt sich vor Controls Cluster5020 2 4.031 05.04.2011 09:12
Letzter Beitrag: Cluster5020

Gehe zu: