Nicht genügend Quoten?
Mir ist die Tage ein merkwürdiger Fehler untergekommen, dessen Ursache ich bislang leider nicht herausfinden bzw. lokalisieren konnte. Aber vielleicht hat ja jemand hier im Forum eine Idee...
Der Täter: Ein recht komplexes Labview-Programm (8.6) mit vielen parallel laufenden VIs auf einen Windows XP Rechner.
Der Fehler: Nach gewisser Zeit erscheint der Fehler "Nicht genügend Quoten um den Befehl auszuführen" und praktisch nix geht mehr (auch ausserhalb von Labview), d.h. es sieht so aus, als ob alle Ressourcen des Rechners (von Labview?) belegt sind und der Rechner die Waffen streckt.
Die Geschichte: Das Programmpaket entwickle ich auf einem Windows-7 Rechner der augenscheinlich keinerlei Probleme mit dem Programm hat. Die ganzen VIs hatte ich in LLBs gruppiert um Struktur in das Programm zu bringen. In dieser Form tat das Programm auf dem Windows XP-Zielrechner auch klaglos seine Dienste. Dann bin ich über die Bemerkung gestolpert, dass NI (aus mir durchaus nachvollziehbaren Gründen) inzwischen von der Verwendung von LLBs abrät und man lieber normale (Unter)Ordner benutzen sollte. Warum also nicht? So habe ich aus allen LLBs normale Ordner gemacht und die VIs entsprechend angepasst. Da das Programm noch in Entwicklung ist, wurden zeitgleich auch noch zusätzlich ein paar kleine Modifikationen eingebaut (meiner Erinnerung nach nix relevantes, eher kosmetische Korrekturen). Auf meinem Win 7 Rechner war danach auch soweit alles in Ordnung, also das Ganze auf den XP-Zielrechner überspielt, kurzer Testlauf - auch alles reibungslos. Aber dann als das Programm intensiver genutzt wurde, kam der oben erwähnte Fehler: Der XP-Rechner crasht mit "Nicht genügend Quoten um den Befehl auszuführen". Genauer gesagt, crasht der Rechner anscheinend, wenn er bei einer Meßreihe Daten auf die Platte schreibt (so alle 3-5 sec. eine Textzeile, Dateigröße üblicherweise im einstelligen MB-Bereich, der Crash korelliert aber nicht mit einer bestimmten Dateigröße). Da dieser "Quoten"-Fehler für mich recht nichtssagend ist, habe ich alles gecheckt, was meiner Meinung nach für übermäßigen Ressourcen-Verbrauch verantwortlich sein könnte: Überlaufende Queues, nicht geschlossene Referenzen, zu große Arrays - alles in Ordnung und im grünen Bereich. Auch der XP-Rechner scheint soweit ok zu sein: mehr als genügend freier Festplattenspeicher, keine Kontigentverwaltung auf dem Laufwerk aktiv, Auslagerungsdatei auch nur zum Bruchteil voll laut Ressourcenmonitor etc.
Ich steh derzeit ziemlich auf dem Schlauch, was denn nun genau diesen Fehler verursacht (zur Zeit tut wieder die alte LLB-Version des Programm seinen Dienst - die Meßdaten werden auch wie vorgesehen ohne Probleme auf der Platte gespeichert). Die Wandlung von LLBs nach normalen Ordnern kanns doch nicht wirklich sein, oder? Über Tipps wie man diesem Problem beikommen könnte würde ich mich freuen. Momentan weiß ich nichtmal, wo bzw. wie ich überhaupt ansetzen muss, um den eigentlichen Kern des Problems zu finden...
Nachtrag: Auch auf dem Zielrechner läuft das Programm in der Entwicklungsumgebung, da manches Feintuning am Programm leider nur vor Ort möglich ist, d.h. wenn die anzusteuernden Meßgeräte auch wirklich da sind und auf die entsprechenden GPIB-Kommandos reagieren. Also keine .exe-Kompilat.
|