(13.04.2013 15:37 )Hasenfuss schrieb: Ich möchte gerne ein Blockdiagramm vereinfachen. Nehmen wir mal an, ich habe ein Frontpanel mit drei Signalanzeigen. Zu jeder Signalanzeige gehören diverse Operationen und es sind einige Steuerknöpfe vorhanden, die mittels Eventstruktur verarbeitet werden.
Die Funktion "SubVI erstellen" ist ansich sehr schön. Wenn ich aber z.B. eine while-Schleife habe, um ein Signalverlaufsgramm zu aktualisieren, dann kann ich daraus nicht mehr so einfach ein SubVI erstellen, denn das SubVI bleibt dann so lange stehen, bis es beendet wird. Ausserdem ist ja dann das Signalverlaufsdiagramm auch im SubVI.
Es geht also jetzt hierbei darum, Daten zwischen Hauptprogramm und Unterprogramm auszutauschen. Ich könnte für verschiedene Anzeigewerte unterschiedliche funktionale globale Variablen verwenden, aber ich bin mir grad nicht so sicher, ob FGVs gut sind, um schnell Messwerte hin- und herzuschieben?
Vielleicht wäre das Arbeiten mit Referenzen eine Alternative? Dann könnte ich aus einem SubVI die Daten dierekt in das Diagramm im Hauptprogramm heraus aktualisieren?
Ich erstelle ein SubVI mit eigenem Frontpanel, dass ich in das Hauptprogramm einbinde (mittels Unterpanel)?
XControls scheiden da für mich aus, weil die erstmal ohne weiteres nicht sich selbst aktualisieren.
Was macht Ihr denn so?
Die besten Tipps dürfte es geben wenn du ein Bild deines Blockdiagramms zeigen könntest, weil deine Angaben sind viel zu allgemein. Aber im Allgemeinen würde ich dir folgende Tipps/Ansätze geben.
Wenn du identischen Code für die Aktualisierung der Graphen hast dann mach ein SubVI daraus. FGVs sind (im allgemeinen) performancetechnisch kein Problem. Bei der Arbeit mit Front Panel Referenzen sollte man immer darauf achten die Trennung zwischen GUI und dem restlichen Code beizubehalten. Das erspart einem langfristige Probleme.