Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
22.06.2010, 13:11 (Dieser Beitrag wurde zuletzt bearbeitet: 22.06.2010 13:15 von Matze.)
Ist es richtig, dass ich meinen Editor als eigenständiges VI erstelle und das Frontpanel dort so designe, wie ich es später haben möchte?
Wenn ja, wie füge ich denn Eingänge hinzu (bsp. eine Referenz auf einen Chart, einen boolschen Eingang o.ä.) ohne, dass ich diese im Frontpanel später sehe?
Bei den äh "normalen" SubVIs ziehe ich mir alles auf deren Frontpanel und kann die Elemente als Eingänge definieren (das Design ist dabei egal). In meinem Fall benötige ich ein SubVI, das Eingänge besitzt, die natürlich im anzuzeigenden Frontpanel nicht erscheinen dürfen.
Und natürlich den erwähnten Ausgangs-Cluster. Dieser soll nicht auf dem Frontpanel erscheinen.
Grüße
Anzeige
22.06.2010, 13:17 (Dieser Beitrag wurde zuletzt bearbeitet: 22.06.2010 13:18 von GerdW.)
ich gehe mal davon aus, das du weißt was ein ConnectorPane ist und wie man ihn verdrahtet (ansonsten gibt's ja die LabVIEW-Hilfe zu diesem Stichwort).
Du kannst dein FP so designen, wie du es haben willst /der Benutzer es sehen soll. Du kannst auch Ein/Ausgabeelemente definieren, die nicht im sichtbaren Bereich liegen - der User muss ja nicht alles sehen, was du so machst:)Man kann FP-Elemente auch unsichtbar machen, entweder per PropertyNode oder per Eigenschaften-Dialog. Es wird aber eher dazu geraten, solche Elemente aus dem (sichtbaren) Fensterbereich zu schieben.
natürlich weiß ich, was ein ConnectorPane ist. Ich habe schon zahlreiche SubVIs erstellt. ;-)
Die Elemente einfach aus dem sichtbaren Bereich zu schieben kommt mir sehr unsauber vor. Wenn das so üblich ist, dann ist es natürlich ok.
Ich probiere mal etwas herum und stöbere in der Hilfe, bin mir aber fast sicher, dass ich mich nochmals melden werde.
Jedenfalls vielen Dank für die zahlreichen Antworten.
was soll daran unsauber sein?
Du definierst eine Funktion (=subVI) mit Ein- und Ausgängen (=Connectorpane mit verdrahteten Elementen). Es gibt aber kein "Gesetz", das genau diese Elemente auch dem Benutzer gezeigt werden müssen! Dem Benutzer zeigt man "hübsche" Eingabefelder und die "häßlichen" Funktions-Ein/Ausgänge werden verborgen... Dies ist nichts LabVIEW-typisches, dies gilt für alle Programmiersprachen!
Bei klassischen Programmiersprachen ist es sehr unsauber, GUI-Elemente zu verwenden als Zwischenspeicher o.ä. und diese nie anzuzeigen. Dort sollte man nur das grafisch platzieren, was der Benutzer sieht, da diese Elemente ausschließlich diesen einen Zweck erfüllen. In LabVIEW ist das natürlich anders.
Daher die Frage.
Nachtrag:
Ich habe die Option zum Anzeigen des Fensters gefunden. Ich hatte das SubVI offen und bei "VI-Einstellungen" gesucht und nicht im Blockdiagramm des Haupt-VIs unter "SubVI-Einstellungen".
Grüße
22.06.2010, 13:45 (Dieser Beitrag wurde zuletzt bearbeitet: 22.06.2010 13:50 von GerdW.)
also ändere ich mein Beispiel:
Ich definiere Ein/Ausgaben mit optimierten Datenstrukturen zur weiteren Verarbeitung. Diese Datenstrukturen würden den Benutzer aber eher irritieren/verwirren - deshalb bekommt er eigens designte FP zur Dateneingabe. Meine optimierten Ein/Ausgaben wandern in den nicht sichtbaren Fensterbereich...
Besser erläutert?
Zu deinem Nachtrag: Die genannte Option befindet sich in den VI-Properties des subVI! (Jedes VI hat diese Eigenschaften, im FP Rechtsklick auf das Icon!) Über das BD des mainVI und Rechtsklick-subVI stellst du nur diese eine spezielle Instanz ein!
Mithilfe der LabVIEW-Beispiele habe es hinbekommen, mein SubVI im SubPanel anzuzeigen. Nur kann man dort auch zu den Elementen scrollen, die man nicht sehen soll, doch das ist erstmal nebensächlich.
Im SubVI habe ich eine Ereignisstruktur innerhalb einer Schleife. Die muss ich irgendwie stoppen können, vermute ich.
Ich lande immer in einer Endlosschleife und kann den Editor nicht mehr bedienen.
Die Zeit zum Bearbeiten von Einträgen hier ist sehr kurz. Daher ein neuer Beitrag:
Ich habe gesehen, dass ich über "Aufruf über Referenz" gehen kann/muss.
Wenn ich das mache und die Hauptschleife aus dem eingebundenen SubVI entferne, scheint alles zu klappen.