LabVIEWForum.de - Parallele Zustandsautomaten

LabVIEWForum.de

Normale Version: Parallele Zustandsautomaten
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Das Projekt das ich anfangs gepostet hab ist noch aktuell.
Ich hab mir's noch mal angekuckt - und muss sagen: Wenn du da was ändern willst, musst du ganz schön umbauen.

Was immer schlecht ist, ist Propertynodes kontinuierlich (also z.B. alle 100ms in der While-Schleife) zu verwenden. Propertys kosten extrem viel Zeit. Wenn, dann sollten sie nur z.B. in Event-Cases verwendet werden (oder in IF-Cases, die von einem gelatchtem Button gesteuert werden).

SubVIs, die in allen parallelen While-Schleifen verwendet werden, sollten als ablauf-invariant definiert werden. Ansonsten können sich die While-Schleifen gegenseitig blockieren.

Außerdem vermisse ich Event-Sequenzen. Alles das, was infolge eines Buttonclicks gemacht wird, gehört als Event gemacht.
Werde in naher Zukunft nicht die Zeit haben das programm nochmal neu aufzubauen. Aber Danke für die Tipps....wenn ich die Zeit dafür eingeräumt bekomme werd ich es auf jeden Fall berücksichtigen.

Gibt es noch ein paar "schnelle" Optimierungen?

Danke

Gruß

Rainer
' schrieb:Gibt es noch ein paar "schnelle" Optimierungen?
In allen 9 While-Schleifen befindet sich ganz links ein SubVI. Das kannst du mal auf ablaufinvariant stellen. Außerdem kannst du ein paar Sequenzierungen (einfach Errorcluster der Propertys verbinden) machen.

Ansonsten sehe ich keine schnelle Möglichkeit.
Also ganz links find ich nur das SubVI "Zusammenfassung versch. Vi´s" aber das ist ablaufinvariant deklariert. Was für eins meinst du genau??

Bringt die Sequenzierung etwas??

danke.
hab mich gestern jetzt noch auf deinen Rat hin mit Ereignisstrukturen befasst und mit erschrecken feststellen müssen dass diese in der Base-Version von LabVIEW leider nicht dabei sind.

Komm dann wohl um ein Upgrade der Software nicht herum.

Danke für Eure Hilfe.

Gruß

Rainer
' schrieb:Also ganz links find ich nur das SubVI "Zusammenfassung versch. Vi´s" aber das ist ablaufinvariant deklariert. Was für eins meinst du genau??
Genau dieses.

Zumindest in dem ZIP-File aus deinem ersten Posting steht dieses VI noch nicht auf ablaufinvariant. Beachte aber: Es müssen alle SubVIs, die von diesem SubVI aufgerufen werden, als ablaufinvariant deklariert sein.

Inwieweit 9 parallele, relativ komplexe Schleifen in einem SubVI, mehr CPU-Last verbrauchen als 9 parallele SubVIs kann ich so ohne weiteres nicht beurteilen. Ich kann mit aber vorstellen, dass dem so ist. Ein SubVIs hat zwei "Main-Threads": Einer, der das BD bearbeitet und einer, der das FP bearbeitet. Da aber die 9 parallelen Schleifen das selbe FP haben, könnte es sein, dass es hier zu "Verzögerungen" kommen kann.

Ein Versuch für auf die Schnelle ist mir noch eingefallen: Mach mal bei allen Graphen "Fortgeschritten->Achsendarstellung zurücksetzen" (und danach kannst du die Achsen wieder seiten-wechseln). Möglicherweise hilf das was.
Seiten: 1 2 3
Referenz-URLs