LabVIEWForum.de
Design Pattern für sequentiellen Verlauf - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Design Pattern für sequentiellen Verlauf (/Thread-Design-Pattern-fuer-sequentiellen-Verlauf)



Design Pattern für sequentiellen Verlauf - galilio - 22.02.2016 15:29

Hallo Zusammen,

ich habe folgende vor:

(Seh bitte Anhang1)
Der Ablauf sieht wie folgenden aus:


1) INITSubVI, die hat einen Cluster als Output
2) A1 wird eingelesen dann SUbVI1 gestartet. Als Output für das SubVI1 ist ret1 der gegebenfalls in Queue geschrieben wird. Somit ist der erste Sequnenz zu ende.
3) A2 wird dann eingelesen dann SubVI2 gestartet. Als Output für das SubVI2 ist ret2 der gegebenfalls in Queue geschrieben wird. Somit ist der zweite Sequnenz zu ende.
4)...A3-A6 werden auch so sequnenziel eingelsesen und SubVI3-SubVI6 genau wie oben beschrieben durchgeführt.



Mir ist dieses Sequntielle Verlauf nicht so ganz klar wie soll ich das am besten realisieren?
Soll ich 6 Loop pro sequnenz schreiben?


RE: Design Patter von sequnentielle Verlauf - GerdW - 22.02.2016 16:12

Hallo galilio,

nimm eine Statemachine, die deinen "Cluster" aus den 6 Aufgaben nacheinander abarbeitet. Und als erster State wird dein INIT aufgerufen…


RE: Design Patter von sequnentielle Verlauf - galilio - 22.02.2016 16:34

Muss ich das mit Statemaschine realsieren?
Oder gibt es eine andere alternative vielleicht?


RE: Design Patter von sequnentielle Verlauf - GerdW - 22.02.2016 16:44

Hallo galilio,

na klar gibt es Alternativen - aber eben weniger elegant und flexibel…
- FOR-Loop mit Case-Struktur drin ("Statemachine für Arme")
- Sequenzen (bäh)
- subVIs per DATAFLOW sequenzieren: ok, aber unflexibel…


RE: Design Pattern für sequentiellen Verlauf - Lucki - 22.02.2016 19:54

Wenn Dein Cluster lediglich ein Konstante ist, d.h. immer aus den gleichen 6 Elementen besteht, und Du immer den identischen, starren Ablauf Sub1.. Sub6 haben musst, dann würde natürlich eine entsprechend starre Ablaufstruktur, z.B eine Sequenzstruktur, passend sein. Die Erfahrung zeigt aber, dass Du das bereuen tätest. Es ist ja damit nicht einmal möglich, das laufende Programm zu unterbrechen oder zu beenden, bevor nicht alles ausgeführt ist.
Wenn Dein Cluster keine Konstante sein sollte, dann wäre es für weitere Tips hilfreich, wenn Du das mal näher erklären würdest. Es ist auch nie verkehrt, ein paar Worte über den Hintergrund eines solchen Projektes zu verraten.


RE: Design Pattern für sequentiellen Verlauf - galilio - 23.02.2016 07:27

Hallo zusammen,


Die Werte der Cluster ändern sich ständig.
Der grobe gesamte Ablauf sieht wie folgenden aus:

1)Es wird einen SQL Statment Abfrage (Sqlite) geführt. Die Ergebnis dieses Statement wird dann in der Clauster als Output.
--> Dieses erste Ablauf ist mit dem SubVI Init zusammen gefasst.

2) der Cluster beinhaltet 6 Datensätze :
Jeden Datensatz wird sequentielle eingelesen und wie folgende durchgeführt (seh bitte Anhang):
2.1) A1 wird eingelesen dann SUbVI1 gestartet. Als Output für das SubVI1 ist ret1 der gegebenfalls in Queue geschrieben wird. Somit ist der erste Sequnenz zu ende.
2.2) A2 wird dann eingelesen dann SubVI2 gestartet. Als Output für das SubVI2 ist ret2 der gegebenfalls in Queue geschrieben wird. Somit ist der zweite Sequnenz zu ende.
2.3)...A3-A6 werden auch so sequnenziel eingelsesen und SubVI3-SubVI6 genau wie oben beschrieben durchgeführt.


Dieses Verlauf muss immer sequenziell geführt.


RE: Design Pattern für sequentiellen Verlauf - Freddy - 23.02.2016 08:50

Hallo galilio,
ich muss Lucki recht geben.
Nach dem Bild ist das nur eine einfache Sequenz in der VI für VI aufgerufen wird.
Mehr Info zum Projekt könnte da schon helfen oder es ist eben nur eine Sequenz.

Gruß
Freddy