Hallo erstmal!
Kurze Vorstellung meinerseits:
Ich programmiere LabVIEW seit Version 5.0 (soweit ich mich erinnern kann). Angefangen hat das ganze bei meinem Maturaprojekt.
Mittlerweile bin ich doch ganz gut, und bekomm nach mehr oder weniger langer Zeit alles programmiert, was ich mir vornehme.
Soweit einmal von mir, kommen wir nun zu meinem Problem:
Ich habe ein Hauptprogramm und mehrere selbst erstellte SubVI's. Der Einfachheit halber nehmen wir einfach mal nur das Hauptprogramm und ein SubVI unter die Lupe:
Das SubVI besteht aus ca. 12 Eingängen und ca. 8 Ausgängen. Ihr seht, dass es doch etwas umfangreicher ausgefallen ist. Im SubVI selber läuft eine Art "Status-Maschine ab".
Da dieses SubVI einen Prüfplatz steuert, ich jedoch insgesamt 8 Prüfplätze unabhängig voneinander mit dem gleichen Programmablauf steuern möchte, habe ich 8 Sequenzen, in welchen jeweils das gleiche SubVI liegt.
Meine Lösungsansätze:
- Ablaufinvariante Ausführbarkeit: Ich habe im SubVI diese Funktion aktiviert. Leider funktioniert es nicht. Eventuell ist es bei einem zu komplexen SubVi nicht möglich dieses mehrfach aufzurufen.
- Mehrmaliges speichern des SubVIs unter anderem Namen: Diese Möglichkeit funktioniert, jedoch möchte ich sie vermeiden, da Programmänderungen dann immer 8 Mal durchgeführt werden müssen.
Ich hoffe ihr verseht mein Problem und könnt mir helfen!
lg
Wolfgang, der kurz davor ist den Computer zu zerstören
' schrieb:- Ablaufinvariante Ausführbarkeit: Ich habe im SubVI diese Funktion aktiviert. Leider funktioniert es nicht. Eventuell ist es bei einem zu komplexen SubVi nicht möglich dieses mehrfach aufzurufen.
Sollte auf jeden Fall funktionieren.
Arbeitest du immer noch mit LV6.1 ?
' schrieb:Arbeitest du immer noch mit LV6.1 ?
Ich weiß, dass es etwas antiquiert ist, aber ich mag es recht gerne.
Ausserdem hätte ich für die neueren Versionen keine Lizenz.
Kurze Fehlerbeschreibung der Ablaufinvarianten Ausführbarkeit:
Ich habe einen Taster EIN/AUS, welcher das Programm im SubVI starten soll.
Speichere ich jedes VI einzeln ab funktioniert dies auch. Bei der AA (Ablaufinvarianten Ausführbarkeit) rührt sich rein gar nichts. Ich Habe das SubVI neben dem Hauptprogramm geöffnet, doch wird die Boolsche Variable, welche zum Taster im Hauptprogramm führt nicht angesprochen. Umgekehrt jedoch, wenn ich im SubVI kurz die Boolsche Variable auf True setze, realisiert das Hauptprogramm dies.
Hoffe ich konnte das Problem einigermaßen beschreiben.
' schrieb:Ich Habe das SubVI neben dem Hauptprogramm geöffnet, doch wird die Boolsche Variable, welche zum Taster im Hauptprogramm führt nicht angesprochen. Umgekehrt jedoch, wenn ich im SubVI kurz die Boolsche Variable auf True setze, realisiert das Hauptprogramm dies.
Ich gehe also davon aus, dass das 8mal auszuführende SubVI ein sichtbares Frontpanel hat - also im Falle eines Falles acht Stück sichtbare Frontpanel. (Mit ablaufinvariant und sichtbares Frontpanel hab ich noch nichts gemacht. Kann ich nicht beurteilen).
Ich gehe mal davon aus, du kuckst dir auch immer den entsprechenden Klon an - nämlich den, auf den der Taster gerade geht. Weiterhin gehe ich davon aus, dass in dem VI - respective den VIs - keine "Zugriffe auf gemeinsame Hardware" etc stattfinden respektive dass das entsprechend gemanagert wird (dafür spricht, dass es mit 8 verschiedenen geht).
Kannst du notfalls mal ein SubVI posten, das den Fehler zeigt?
' schrieb:Ich gehe also davon aus, dass das 8mal auszuführende SubVI ein sichtbares Frontpanel hat - also im Falle eines Falles acht Stück sichtbare Frontpanel. (Mit ablaufinvariant und sichtbares Frontpanel hab ich noch nichts gemacht. Kann ich nicht beurteilen).
Ja, jedes der 8 auszuführenden SubVI's hat ein sichtbares Frontpanel im Hauptprogramm!
' schrieb:Ich gehe mal davon aus, du kuckst dir auch immer den entsprechenden Klon an - nämlich den, auf den der Taster gerade geht. Weiterhin gehe ich davon aus, dass in dem VI - respective den VIs - keine "Zugriffe auf gemeinsame Hardware" etc stattfinden respektive dass das entsprechend gemanagert wird (dafür spricht, dass es mit 8 verschiedenen geht).
Ich kann bei der Ablaufinvarianten Ausführung ja nicht in den entsprechenden Klon sehen, da ich keine 2 VI's mit dem gleichen Namen öffnen kann.
Oder sehe ich da etwas falsch? wie kann ich genau den entsprechenden Klon ansprechen?!
' schrieb:Ich kann bei der Ablaufinvarianten Ausführung ja nicht in den entsprechenden Klon sehen, da ich keine 2 VI's mit dem gleichen Namen öffnen kann.
Oder sehe ich da etwas falsch?
In LV8.2 [*reusper*] steht in der Titelleiste Klon:X.
Zitat:wie kann ich genau den entsprechenden Klon ansprechen?!
LV6? Keine Ahnung.
Zwischen verschiedenen Versionen von LV ist halt oft ein großer Unterschied. Solltest du nicht auf eine aktuelle Version umzusteigen wollen, möchte ich fast empfehlen, die Methode mit den acht verschiedenen Namen beizubehalten.
[*kuck*]
Nicht mal hier gibt es LV6 oder LV61 erstlv71und höher z.B:
' schrieb:In LV8.2 [*reusper*] steht in der Titelleiste Klon:X.
[*kuck*]
Nicht mal hier gibt es LV6 oder LV61 erstlv71und höher z.B:
Naja bleibt mir wirklich nichts anderes über als die Methode mit den 8 verschiedenen VI's.
Hätte zwar gerne eine "elegantere" Lösung programmiert, aber die Zeit, welche ich dafür bis jetzt schon aufgewendet habe steht in keinster Weise dafür.
Trotzdem danke fürs Helfen!
"Letzte" Alternative: Kannst du dein Haupt-VI und dein Sub-VI (oder ähnliche reduzierte Bsp) hochladen, vielleicht versuchst du doch was, was auch mit "modernen" (LV>=8) Mitteln nicht funktioniert.
MfG, Jens
Gerne!
Ich werde demnächst mal ein kleines Programm schreiben, welches den gleichen Fehler produziert, und es dann hier uploaden!
Hallo,
Ich habe das gleiche Problem wie du! Ich habe mir ein SubVI gebaut, dass mir einen Impuls erzeugt.
Sobald ich das SubVI mehrmals einfüge, funktioniert es nicht mehr. Habe eigentlich die gleichen Einstellung wie hier schon besprochen
vorgenommen.
Bin Hilflos. Habs mit LV 8.5 entwickelt! An einer alten Version kann es also nicht liegen.
Angehängt hab ich es als 8.0 damit ihr es euch alle anschauen könnt! (hoffe ich zumindest)
Wer mir helfen möchte muss zum Test den Button, das subvi und die led einfach nochmal kopieren. Man sieht dann beim ausführen gleich den Unterschied / Fehler!!