(09.02.2015 23:39 )teegee schrieb: - Die Queues werden in sub-VIs erzeugt. Das macht den Zugriff in sub-VIs einfach, da sie nicht als Parameter uebergeben werden muessen. Der Uebersicht halber wuerde ich alle Get-Queue VIs in ein disabled diagram auf das Main BD legen.
Bei diesen SubVIs handelt es sich um Funktionale Globale Variablen für die Queue-Referenzen. Als Nachteil von Queues habe ich immer empfunden, dass sich die fetten Referenzdrähte immer durch das ganze Projekt ziehen und die BD-Optik versauen. Die fallen jetzt weg. Und das Besondere in diese FGVs ist noch, dass sie sich beim ersten Aufruf mit ihrem eigenem Code selbst initialisieren:
Das mit dem Disabled-Struktur hatte ich ursprünglich gemacht, allerdings nicht für die 3 Queue-Referenz-FGVs, sondern für die drei echten SubVIs. Diese werden nämlich nur über Methodenknoten von Haupt-VI aus aufgerufen und erscheinen deshalb nirgendwo im Projekt-Manager. (Genau genommen: Sie erscheinen nur dann im Projekt-Manager in den Abhängigkeiten, solange das Haupt-VI läuft). Ich habe das deshalb wieder herausgenommen, weil ich befürchtete, dass das meinen Dilletantismus offenbart
- ich habe ja nie an einem teuren Lehrgang von Ni teilgenommen. Jetzt sind die 3 SubVIs im Projektmanager dort, wo sich auch das Haupt-VI befindet. Der Nachteil ist jetzt, dass man nicht erkennt, welche von den 4 Vis das anzuklickende Haupt-VI ist. (Falls jemand einen besseren Vorschlag hat, wie man solche SubVIs in den Projektmanager integriert - her damit)
(Anmerkuung: Die gepostete 2011-Version ist ohne Projektmanager)
Zitat:- Im VI Ref Manager haette ich anstatt eines named cluster die Funktion Set/Get Variant Attribute benutzt. Bei der Anzahl der Elemente im Array macht das wahrscheinlich absolut nichts aus, aber da es sich um ein Beispiel handelt, ist dieses VI eine gute Gelegenheit dafuer.
Bei dem VI-Referenz-Array handelt es sich um ein Cluster-Array. In jedem Cluster befindet sich außer der eigentlichen Referenz noch der Name des VIs und dessen Pfad. Ein Attribut, welches Du für den Namen vorschlägst, kann ich doch nur in einem Variant unterbringen: Ohne Variant kein Attribut möglich. Dehalb verstehe ich Deinen Vorschlag nicht.
Zitat:- Das sequence diagram im VI Ref Manager (Return a Reference / True) gefaellt mir nicht. Es macht wenig Sinn die Haelfte vom code zu verstecken, nur um ein bisschen Platz zu sparen.
Der Code ist aber nicht mehr "versteckt" als das z.B bei jeder Case-Struktur auch der Fall ist. Diese ist genau so gestapelt wie die gestapelte Sequenz, und die Aufregung, dass das so ist, hält sich bei der Cases-Struktur in Grenzen bzw. ich habe nie etwas davon gehört. Da es sich hier nur um eine Art bla-bla-Code für die Fehlermeldung handelt, würde ich das Diagramm deswegen nicht aufblähen wollen. Es ist aber Geschmackssache.
Gruß Ludwig