LabVIEWForum.de
Passwortgeschützten SubVI aufrufen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Passwortgeschützten SubVI aufrufen (/Thread-Passwortgeschuetzten-SubVI-aufrufen)



Passwortgeschützten SubVI aufrufen - MarcoQ - 05.07.2010 09:27

Hallo Leute,

ich möchte passwortgeschützten SubVI aus dem Hauptprogramm aufrufen und habe mir so ein kleines Programm gebastelt. Beim SubVIAufruf kommt dann Fenster für Passworteingabe. Das Problem ist, wenn ins Feld nichts eingegeben wird, wird dann SubVI aufgerufen. Nur beim falschen Passwort funktioniert das.
Könnte mir jemand Tipps geben? Danke.

Gruß Marco


Passwortgeschützten SubVI aufrufen - chrissyPu - 05.07.2010 10:54

Fang das doch ab. Vor der Weitergabe an das Sub-VI checken, ob der Passwort-String leer ist, falls ja, einfach eigenen Fehler produzieren, falls nein, weitergeben... Oder halt im Sub-VI schauen, was das macht, wenn es ein leeres Passwort bekommt...

ch


Passwortgeschützten SubVI aufrufen - MarcoQ - 05.07.2010 13:27

Danke chrissyPu. Ich habe schon eine Lösung gefunden) Vielleicht nicht die eleganteste, aber immerhin alles läuft gut) Vergleiche einfach die Strings Name und Passwort und weiter an CASE. Im Prinzip ist das recht einfach und hätte ich selber einbissel nachdenken müssen, na ja))) Wegen eigeiner Fehlererzeugung beim leeren Pass, mir wäre es lieber, dass Programm nicht mit Fehler zurückmeldet, sondern einfach nicht reinlässt) Danke noch mal.

Eine zusätzliche Frage zum Programm. Aus dem Hauptprogramm und Unterprogramm sollte ich dieselbe Ausgänge ansteuern können. Dafür muss ich Prio setzen, wenn ich es richtig weiß, sollte die Priorität in VI Eigenschaften liegen. Bei mir ist es so, das Unterprogramm muss höchste Prio haben, nach der Fehlerüberwachung natürlich. Hat schon jemand Erfahrung damit gemacht, ob höhere Prio beim SubVI Probleme macht?

Gruß Marco.


Passwortgeschützten SubVI aufrufen - GerdW - 05.07.2010 13:38

Hallo Marco,

die Prioritäten in den Execution Properties sind nicht zum Rumspielen gedacht...

Eigentlich muss da niemand was dran drehen - und wenn man da was ändert, kann sich das durchaus negativ auswirken! (z.B. gegenseitiges CPU "wegfressen", RaceConditions (!) bzw. gegenseitiges Blockieren durch die Priorisierung)
Also: nicht dran rumspielen, bevor du nicht wirklich gesagt hast, was du damit erreichen willst.
"Priorisieren" kann auch heißen, Schleifen unterschiedlich schnell auszuführen. Oder man nimmt die TimedLoop und vergibt dort eine Priorität (und muss gleiches wie oben beachten).

Das ist ein Thema, welches beim PerfomanceOptimization-Kurs angeschnitten wird - und wo man (als Kernaussage) lernt: Finger weg!


Passwortgeschützten SubVI aufrufen - MarcoQ - 05.07.2010 15:29

Das ist eine Antwort) Danke GerdW. Mit einem Beitrag ist schon das wichtigste aus dem Kurs PerfomanceOptimization gelernt. Finder weg, tue ich gerne. Zum Glück habe ich noch nichts kaputt gemacht.
Zu meinem Problem zurück. Was ich erreichen möchte ist gegenseitiges Einsteuern von gleichen Asgängen. Klartext: Zweikammer Anlage, in der Vakuum mit Turbopumpen erzeugt wird. Dafür muss ich kleine Steuerung machen. Jetzt habe ich ein Rätsel, wie ich z.b. ein Ventil von verschiedenen VIs ansteuere. Ein Hauptprogramm, in dem alle Abläufe wie Messen, Steuern udn Speichern automatisch erledigt werden und ein extra-VI, wo alle Objekte(Turbopumpen, Ventile, Messinstrumente, I/O-Dateien usw) sind. Dazu muss unbedingt ein VI programmiert werden, mit dem ich sozusagen soft- und hardwaretechnisch vollen Zugang zur Anlage habe. Meine heutige Erfahrung sagt schon, dass es nicht so einfach geht, sprich einen Ausgang kann man nicht aus 2,3,... VIs gelichzeitig ansprechen. dann muss ich erst einen Baustein deaktivieren, das geht aber nicht, aus dem geCALLten SubVI den HaptVI zu passivieren. Ich kann natürlich zwei Programme benuztzen, nach dem Motto User-Administrator, aber das wäre zu einfach)
Wie könnte man aus dem aufgerufenen VI den ersten HauptVI stoppen und weiter schon in SubVI arebeiten?

Gruß Marco.


Passwortgeschützten SubVI aufrufen - GerdW - 05.07.2010 15:41

Hallo Marco,

"schon das wichtigste aus dem Kurs"
Naja, das Wichtigste war's nicht...

"Wie könnte man aus dem aufgerufenen VI den ersten HauptVI stoppen und weiter schon in SubVI arebeiten?"
Dein HauptVI wartet, bis dein subVI beendet ist. Es sei denn, das subVI wird in einer parallelen Schleife ausgeführt...

Wenn ich von mehreren Stellen im Programm auf eine 'Objekt' zugreifen will (und sich dabei nicht alle in die Quere kommen sollen), verwende ich gern eine FGV (Functional Global Variable aka LV2-style Global). Diese "puffert" die diversen Anfragen und übernimmt die eigentliche Kommunikation mit dem "Objekt". So können alle drauf zugreifen und man hat eine zentrale Stelle pro Objekt, in der man Zugriffe steuern kann.


Passwortgeschützten SubVI aufrufen - M Nussbaumer - 06.07.2010 07:44

' schrieb:Wenn ich von mehreren Stellen im Programm auf eine 'Objekt' zugreifen will (und sich dabei nicht alle in die Quere kommen sollen), verwende ich gern eine FGV (Functional Global Variable aka LV2-style Global). Diese "puffert" die diversen Anfragen und übernimmt die eigentliche Kommunikation mit dem "Objekt". So können alle drauf zugreifen und man hat eine zentrale Stelle pro Objekt, in der man Zugriffe steuern kann.

Ne Frage dazu, verwendest du zum "puffern" eine Queue? Oder wie funktioniert das?


Passwortgeschützten SubVI aufrufen - GerdW - 06.07.2010 07:53

Hallo M. Nussbaumer,

das hängt vom Gerät und dem von der FGV verwendeten Treiber ab.
Meist reicht es schon aus, wenn die FGV (prinzipbedingt) nicht mehrfach gleichzeitig aufgerufen werden kann...