![]() |
Parallele Zustandsautomaten - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Parallele Zustandsautomaten (/Thread-Parallele-Zustandsautomaten) |
Parallele Zustandsautomaten - Rainito - 07.06.2010 15:17 Das Projekt das ich anfangs gepostet hab ist noch aktuell. Parallele Zustandsautomaten - IchSelbst - 07.06.2010 20:03 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. Parallele Zustandsautomaten - Rainito - 08.06.2010 10:29 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 Parallele Zustandsautomaten - IchSelbst - 08.06.2010 12:14 ' 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. Parallele Zustandsautomaten - Rainito - 08.06.2010 13:14 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. Parallele Zustandsautomaten - Rainito - 09.06.2010 07:28 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 Parallele Zustandsautomaten - IchSelbst - 09.06.2010 18:25 ' 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. |