Hallo!
Habe ein Programm erstellt, dass auf vier unterschidlichen PCs laufen wird. Nun bin ich noch im Entwicklungsstadium. Habe das VI reentrant gemacht und in ein weiteres VI mehrmals platziert. Wenn ich das VI starte, fliegt LV raus.
Wo kann das Problem sein? Wie entwickelt und testet ihr solche Progs?
Hallo
Was heißt, LV fliegt raus?
Kannst du evtl. ein Beispiel-VI anhängen, damit wir das nachvollziehen können?
Ich mache es genau so wie du und das funktioniert bei mir (Reentrant + Option für separate Speicherbereiche).
LV beendet sich komplett, ohne etwas zu sagen.
Das Problem kann in gemeinsamen Ressourcen liegen. Jedes Prog ist ein dreifacher Server auf drei Ports.
Rausfliegen heißt doch bestimmt, LV beendet sich ohne Kommentar - respektive wird vom BS ohne Kommentar, also ohne Fehlermeldung, beendet.
' schrieb:Wo kann das Problem sein?
Ich würde sagen, da stimmt was mit den Speichermanager nicht. Irgendwo, vermutlich im reentranten VI, treten derart tief im Speichermanager Probleme auf, dass selbst das BS nichts mehr anzeigen will/kann. Neben dem Speichermanager könnte auch eine ungültige TDMS-Referenz derartige Erscheinungen erzeugen.
Nachtrag:
Wenn TDMS-Referenzen derartige Erscheinungsbilder haben, warum nicht auch TCP/IP-Referenzen? Eben alles, was ganz tief ins BS geht.
Problembehebung ist natürlich entsprechend schwierig. Denk mal so: eine TCP/IP-Referenz wird zwar verwendet - ist aber ungültig!
' schrieb:Wenn TDMS-Referenzen derartige Erscheinungsbilder haben, warum nicht auch TCP/IP-Referenzen? Eben alles, was ganz tief ins BS geht.
TCP-IP Referenzen sind meiner Erfahrung nach unkritisch. TDMS über USI? ... die sind immer ein heißer Kandidat für "LV schließt sich wortlos".
Welche LV-Version eigentlich?
LV 2009.
TDMS wird nicht verwendet. Das Prog sieht so aus und ist ziemlich koplex. Unten sind die parallelen Tasks (Schleifen), die ersten zwei sind reentrant und bedienen je ein COM-Port, die nächsten drei sind reentrante Server (für je ein Port), die nächste überwacht und verarbeitet die Daten, die nächste überwacht Alarme, die nächste noch eine COM-Schnittstelle mit Temp.Sensor und die letzte digitale Eingänge. Es werden auch Daten online geloggt und im Main angezeigt.
Was macht den kurz nach dem Init das VI mit den Referenzen "Main Tab" und "Accept All"?
So im ersten Ansatz würde ich sagen, daß da keine statische VI-Ref, sondern eher "This VI" als Konstante rein gehen sollte.
just wild guessing
Das VI deaktiviert einige Buttons und Pages auf dem FP. Ich denke schon, dass es mit den statischen Refs funktionierten sollte.
Aber danke
Nur auf welcher Referenz arbeitest du dabei? Du hast eine statische VI-Ref auf ein Reentrant VI...welche Instanz...?
Ich meinte folgende Änderung:
[
attachment=29512]
Ok, hab ich gemacht, aber es fliegt trotzdem raus, sobald ich die zweite Instanz starte -_-
P.S. habe das VI eben disabled, hilft aber nix.