LabVIEWForum.de
Sub VI, wieso keine Definition von Ausgängen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Sub VI, wieso keine Definition von Ausgängen (/Thread-Sub-VI-wieso-keine-Definition-von-Ausgaengen)

Seiten: 1 2


Sub VI, wieso keine Definition von Ausgängen - skaven - 06.06.2010 21:43

Hallo zusammen,

ich habe ein kleines Programm zur Com POrt Zuweisung geschrieben, siehe Anhang. Dieses habe ich als Sub VI mit Ausgängen versehen.
Wenn ich jetzt das Sub vi in einem Programm benutzen möchte und dessen "Ausgänge" an ein anderes Sub Vi anschliessen möchte (Bsp. OWIS Lieneartisch Com Port), meldet LV immer das ich einen Eingang mit einem Eingang verbinden möchte. Aber mein Sub Vi hat doch nur Ausgänge, oder muss ich das speziell zuweisen?



Version: Lab View 2009


Sub VI, wieso keine Definition von Ausgängen - Y-P - 07.06.2010 06:32

Nur Dein "Boolesch" ist ein Ausgang. Du kannst rechts oben im Frontpanel auf das Icon einen Rechtsklick machen und dann "Show Connector" auswählen. Da sind die fett umrandeten "Kästchen" Ausgänge, die normal umrandeten Eingänge.
Mit "Diconnect Terminals" kannst Du alles Verknüpfungen auflösen und sie neu vergeben.
Aus einem Control wird ein Eingang und aus einem Indicator ein Ausgang. Mit Patterns kannst Du ein anderes Muster für Deine Ein- und Ausgänge verwenden.

Gruß Markus


Sub VI, wieso keine Definition von Ausgängen - Ome - 07.06.2010 06:35

Guten Morgen,

in deinem SubVi sind nur Bedienelemente, wenn du diese mit dem Symbol verbindest bleiben das Eingänge und Eingänge kannst du nicht zusammenschalten. Entweder Wandelst du die Bedienelemente in Anzeigeelement um, oder aber du fügst noch Anzeigelehmente ein die du dann Verlinkst.

kleiner Tipp: Der Negatior vor der Abbruchbedingung ist unnötig, du kannst mit einem Rechtsklick angeben ob die schleife bei true oder false abbrechen soll.

Gruß Ome


Sub VI, wieso keine Definition von Ausgängen - skaven - 07.06.2010 13:17

Danke erst mal für die Antworten. Habe noch eine Frage.

Ich möchte das ich in dem Sub VI beispielsweise eien com port auswähle und dann diesen Wert, aus dem sub vi weiter gebe, genau dasselbe möchte ich dem VISA Resource machen. Geht sowas, das ich diese Sachen auch aus dem VI herrausleite?


Sub VI, wieso keine Definition von Ausgängen - Y-P - 07.06.2010 13:27

Klar. Einfach den Wert in einen Indicator Deines SubVIs schreiben, dann kannst Du ihn am Ausgang (des SubVIs) in Deinem Main-VI direkt abgreifen.

Gruß Markus


Sub VI, wieso keine Definition von Ausgängen - skaven - 07.06.2010 14:04

Hallo Markus,

wenn ich ehrlich bin weiß ich nicht genau was du meinst. Könntest du mal in mein Programm schauen und dies diesbezüglich abändern oder mir beschreiben wie es geht.

Sorry, aber ich bin totaler Lab View Anfänger.

Danke


Sub VI, wieso keine Definition von Ausgängen - Y-P - 07.06.2010 14:53

Meinst Du so?

[attachment=26911]
Lv09_img2

Gruß Markus


Sub VI, wieso keine Definition von Ausgängen - BsaiboT - 07.06.2010 14:58

Ich hab dir jetzt einfach mal dein SubVI fertig programmiert. Bitte schau dir an, was ich gemacht habe!
Zu allererst gehört in ein SubVI ein Errorhandling (äussere Case-Struktur). Zu jeder Eingabe kann man auch eine Ausgabe erzeugen (-> Rechtsklick -> create -> Indicator), die man dann im Anschlussterminal des SubVI verknüpfen kann. Das Anschlussterminal bekommst du mit Rechtsklick auf das SubVI-Icon oben recht im Fenster. Der Erroreingang sollte immer als Anschluss erforderlich sein, da dies eine Konsequente sequenzierung des Programmes unterstützt und dafür sorgt, dass im Fehlerfall nicht erst noch unnötiger Code ausgeführt wird.

Man könnte ausserdem noch das "Nicht" vor der Abbruchbedingung der Whileschleife entfernen, wenn man die Werte in den Cases direkt richtig ausgibt.
Da es sich um eine Benutzereingabe handelt und das Hauptprogramm darauf warten wird, gehört noch ein Wait mit in die Schleife, damit deine Prozessorlast nicht gegen 100% strebt.

Lv09_img2
[attachment=26912]
[attachment=26913]

Edit: Markus war schneller, aber meins ist schöner und besser!Tongue

Grüße,


Sub VI, wieso keine Definition von Ausgängen - skaven - 07.06.2010 15:01

Vieln Dank


Sub VI, wieso keine Definition von Ausgängen - BeFu - 07.06.2010 15:19

Hallo Skaven,

Markus und EIS waren schneller. - Ich habe fast die selbe Lösung wie EIS.

Du solltest - zur Schonung von CPU-Ressoursen - die Änderungen der Bedienfelder jedoch mittels Event-Strukturen erfassen. Bei jeder Änderung eines Bedienelements kannst Du in der zugehörigen Event-Struktur (Ereignis-Struktur) dann den eingestellten Wert an den zugehörigen Ausgang Deines SubVI legen.

Auch sollten SubVI immer mit Ein- und Ausgang des ERROR-Cluster versehen sein.

Weiterhin viel Spaß mit LabVIEW,

BeFu

[attachment=26914]
Lv09_img2