![]() |
SubVi - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: SubVi (/Thread-SubVi) Seiten: 1 2 |
SubVi - LordPAddy - 23.06.2010 12:49 Hi zusammen, das im Anhang zu findende Vi (EN 8.5) soll als SubVi funktionieren. Leider tut es dies nicht. Es handet sich um 3 Eingänge und eine Ausgang. Ich habe die Conectors zugeordnet und ein Icon erstellt. Wenn ich das eigentlich funktionierende VI, als SubVi in einen anderen Vi einsetzte, funktioniert dieses leider nicht. Woran könnte dies liegen? Für Tipps wäre ich sehr dankbar. MFG Patrick SubVi - Achimedes - 23.06.2010 13:01 Was funktioniert denn nicht? ![]() Es kann sein das das wegen den Localen Variablen die rechnungen erst nicht funktionieren. Beim aufruf des Vis bekommen ja erst mal nur die bedienelemente den am eingang angeschlossenen wert. Bis den die Localen Variablen übernommen haben kann das kurz dauern. Locale Variablen haben nämlich einen eigenen Speicherbereich und der Inhalt muss erst mal da hin kopiert werden. Schmeiss alle Localen Variablen raus und verdrahte das direkt.hier giebts keinen Grund für Locale Variablen. Grüße Achimedes SubVi - LordPAddy - 23.06.2010 13:51 Danke für die Antwort! Hab die Variablen rausgeschmissen, gleiches Problem. Ich nehme das Vi erstelle die 3 Cotrolleingänge und den Indicator als Ausgang. Starte das Programm und es funktioniert nicht. Der Schieberegler funktioniert nicht, die Werte für die Spannungsbereiche funktionieren auch nicht um am Ausgang kommt nix raus. Also nix funktioniert eignentlich. Vielleicht hab ich ja ein grundlegenden Fehler bei SubVi gemacht, irgendwelche Einstellungen oder so. Den das Vi funktioniert ja perfekt! Vielen Dank... SubVi - Achimedes - 23.06.2010 14:03 Ahh. ich glaubjetzt hab ich dein Problem. Wenn du das vi als Sub Vieinbindest und es aufgerufen wird läuft das so lange bis der Stopbutton im Subvi betätigt wird. es werden aber nur die werte beim Aufruf übernommen, änderungen wäred dessen im Übergeordneten Vi kommen gar nicht im Sub Vi an. Der Ausgangswert des sub Vis wird auch erst beim beenden an das Übergeordnete Vi geliefert. 2 möglichkeiten. - wenn du es als Sub Vi einbinden willst, schmeiss die Whileschleife raus - oder ersetz den Stopbutton durch eine konstante damit die schleife nur einmal läuft. Grüße Achimedes SubVi - LordPAddy - 23.06.2010 14:19 Danke... leider war dies nicht das Problem. Ich kann den Regler im dem Intervall bewegen, der bei der Vi abspeicherung eingestellt war. Die Intervall bereiche können aber nicht verändert werden und der 16Bit Hexwert beibt unverändert auf 0000 echt seltsam! Vielleicht noch eine Idee? SubVi - Achimedes - 23.06.2010 15:22 Im Subvi hast du ja auch deinen maximal und minimalwert per eigenschaftsknoten gesetzt. Wenn du dann, im übergeordneten Vi, auf den eingang rechtsklickst und ein Bedinelement erstells übernimmt er die werte. oder wenn du ihn per copi-paste vom Sub ins übergeordnete Vi kopierst. rechtsklick auf den schieberegler im Übergeordneten VI und Wertebereich neu einstellen. also bei mir gehts. stell aml deine beiden Vis hier rein. SubVi - LordPAddy - 23.06.2010 16:06 Hi, hier das funktionierende Programm. Und mein Vi zum testen des SubVi. Vielen Dank für Ihre Mühe! ![]() SubVi - Achimedes - 23.06.2010 16:15 mach alle änderungen im Spannungsbereich Vi die ich schon weiter oben genannt habe! Lokale variablen. Whileschleife. Im TestVi rechts klick auf Schieberegler wertebereich auswählen und einstellen oder häkchen bei Standartbereich setzen. SubVi - LordPAddy - 23.06.2010 16:24 Hier nochmal mein überarbeitetes Vi, das hatte ich vorher auch schon ausprobiert, aber die Intervallgrenzen werden einfach nicht erkannt. ![]() SubVi - Achimedes - 23.06.2010 16:27 In dem besutzt du ein Spannungsbereich2.vi lad das auch noch hoch. |