Hallo zusammen,
ich habe mal eine Frage bezüglich des Nachladens von VI's. Ich arbeite an einem sehr umfangreichen Messwerterfassungssystem. Dessen Funktionen alle auf ein FP gebracht, da würde kein User mehr durchsehen. Der Übersicht halber habe ich mehrere VI's geschrieben (z.B. eines misst Spannung, eines Strom und eines speichert alle Daten als TDM-Files, etc...), die in einem Haupt-VI aufgerufen werden. Das klappt auch alles super, nur habe ich ein VI dabei, dass etwas größer ist. Hier dauert das Laden des VI's bis zu 30s, je nach dem, wie der Rechner gerade Lust hat :-). Mit der Ladezeit könnte man ja auch noch leben, allerdings stehen während des Ladens alle anderen VI's auch und liefern auch keine Messwerte.
Nun meine Frage: Kann man LV dazu motivieren, nachzuladende Daten (VI's) im Hintergrund / parallel zu laden? Oder gibts die Möglichkeit eines Preloads, dass man bereits vor den Messungen das VI lädt, und nur auf Anforderung des Users dieses nur noch angezeigt wird?
Vielen Dank schon mal vorab für Ideen und Anregungen...
30 s kann ich mir nicht vorstellen..... Verwendest Du "Shared Variables"??
Gruß Markus
1.) Ich muss dazu sagen, dass die VI's auf einem Server liegen, auf den wir über SDSL zugreifen müssen. Unser Netz ist nicht sehr schnell. Lokal sollen wir seitens unserer IT Abteilung nichts ablegen. Das ist zwar Arbeiten mit angezogener Handbremse, aber derzeit kann ich's leider nicht ändern. Daher die langen Ladezeiten.
2.) Ja, ich verwende eine Globale Variable, in die jedes VI seine Daten hinein gibt. Das VI, welches die Daten speichert, holt sich aus dieser Globalen Variable die Daten heraus.
Das habe ich deshalb so gemacht, da ich mit verschiedener Hardware arbeite (mal über Seriell, mal über GPIB oder mal über lokale Hardware, also PCI). Dadurch hat jedes Mess-VI eine unterschiedliche Schleifendurchlaufzeit und eine Globale Variable erschien mir das einzigste Mittel um unabhängig von den Timings meiner Hardware speichern zu können, da ich ja auch hier wieder mit der "superschnellen" IT-Landschaft zu kämpfen habe :angry2:.
Derzeit stehe ich noch in Verhandlung um lokal speichern zu können, nur das kann eben noch dauern, bis es eventuell genemigt wird...
Weshalb ich gefragt habe ist folgendes: Wenn man bei LabVIEW-Programmen "Shared Variables" (Umgebungsvariablen) verwendet kommt es zu Problemen, wenn man eine zweite Netzwerkkarte im Rechner hat. Da gibt es gut und gerne mal Wartezeiten von 30 s und mehr.
Vielleicht ist das ja das Problem. Wenn Du eine zweite Netzwerkkarte hast, dann deaktiviere doch mal eine davon und schau' ob es daran lag. Vielleicht gibt es da ja auch hier ein Problem (auch wenn Du keine SV verwendest). Wenn es das nicht ist, dann poste doch mal Dein VI, bzw. Deine VIs, ansonsten kann ich Dir momentan leider nicht helfen.
Gruß Markus
Eine zweite Netzwerkkarte verwende ich nicht.
Das Problem liegt in der Tat in der sehr langsamen Serververbindung. Ich habe das Projekt mittels Application Builder auf einem Proberechner installiert, der nicht im Netzt ist, und da dauert das Laden des großen VI's (1MB) knapp 1s. Damit könnte ich noch leben. Trotzdem ist auffällig, dass alle anderen VI's eben diese 1s stehen. Kann man da noch etwas dagegen tun?
Derzeit funktioniert das Nachladen von VI's bei mir so:
[
attachment=7128]
Leider kann ich Dir da nicht weiterhelfen, da ich das Problem bei mir nicht habe und auch noch nicht hatte. Ich habe auch ein großes VI geöffnet, während ich zwei andere VIs (über Netzwerk per Shared Variable) "in Betrieb" hatte und die liefen brav weiter. Vielleicht kannst Du ja mal Deine VIs hochladen, dann sieht man evtl. an was das liegen könnte.
Gruß Markus
' schrieb:Eine zweite Netzwerkkarte verwende ich nicht.
Das Problem liegt in der Tat in der sehr langsamen Serververbindung. Ich habe das Projekt mittels Application Builder auf einem Proberechner installiert, der nicht im Netzt ist, und da dauert das Laden des großen VI's (1MB) knapp 1s. Damit könnte ich noch leben. Trotzdem ist auffällig, dass alle anderen VI's eben diese 1s stehen. Kann man da noch etwas dagegen tun?
Derzeit funktioniert das Nachladen von VI's bei mir so:
[attachment=33807:SubNachladen.vi]
Ich habe mal versucht, das wichtigste aus dem Projekt in extrem abgespeckter Form beizufügen. Das ganze Projekt besteht aus über 40 VI's.
Wenn man das "_Messwerterfassung.vi" startet, danach die "Visualisierung", dann kann man beim Starten des Programmteils "Datenspeicherung" sehen, wie die Visualisierung stehen bleibt.