Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
Ich arbeite z.Z. an einem Projekt, bei dem LabVIEW RT 7.1 eingesetzt wird. Über einen Desktop-PC wird die PXI, auf der die VI's laufen, bedient. Wie gehabt also.
Da ich im laufe der Zeit den Bedienungs-PC wechseln mustte, war ich dazu gezwungen, auf dem neuen PC alles neu aufzuspielen. Ich habe dann natürlich die VI's vom alten PC einfach übernommen.
Im nächsten Schritt habe ich sie über den Comm Wizard aufbearbeitet, und dann über den Application Builder aufs RT-Target geladen. Allerdings ist es nun so, das eine Fehler meldung (Error 1050) bei der Bearbeitung über den Comm Wizard erscheint. Dies war vorher nicht so. Es ist dann so, das die erstellte NPL Datei auch nicht in die Applikation geschrieben wird, das heisst auf dem RT Target ist keine Applikation erstellt worden.
Beim Starten der PXI (8186) kommt dann die Meldung, das keine Applikation erstellt wurde (klar).
Kann es eventuell daran liegen, das mein Rechner 256 MB Ram hat? Der vorige hatte 1 GB.
Am Ram kann es eigentlich nicht liegen.
3 Dinge fallen mir an der Stelle ein:
-> Deutsches LabVIEW und Englisches RT
-> Du hast Elemente am Frontpanel/Blockdiagramm gruppiert
-> Du hast kein Mass-Compile laufen lassen
Danke für die schnelle Antwort. Ich habe tatsächlich auf dem Kontroll-PC das deutsche LabVIEW laufen, und auf der PXI das englische RT. Ich werde dann eben das englische LabVIEW installieren. Hätte mir schöneres vorstellen können, die Hoffnung war zumindest da
Werd mich nochmal melden wenns geklappt hat bzw. Probleme gab. Vielen Dank erstmal!
So, ich habe nun LabVIEW komplett neu aufgespielt, ist auch alles soweit in Ordnung. Der Fehler, den ich im Comm Wizard erhielt, ist nun geklärt. Allerdings tut sich eine neue Schwierigkeit auf.
Nach Erstellen der Application (was einwandfrei geht) und Neustarten der PXI, kommt leider immer noch die Meldung, das das zu ladende VI (also das NPL-VI) in der Startup.exe nicht gefunden werden kann. (Habe auch schon die startup.exe manuell gelöscht).
Dies resultiert meiner Meinung nach daraus, das beim Durchlaufen des Comm Wizards die VI's, die eigentlich in den TCL geschrieben werden sollten, eben nicht einbezogen werden. Dies betrifft z.B. ein DAQ-VI, über welches Daten aus einem PC-Lenkrad empfangen und dargestellt werden sollen.
Nunja, wie gesagt, das entsprechende fertige TCL-File habe ich zwar, und ich kann es auch probehalber auf dem RT-Target laufen lassen (funktioniert auch soweit) aber das löst natürlich das Problem nicht, da ich das Top-Level-VI komplett neu durch den Comm Wizard laufen lassen muss, und dadurch erst die Probleme auftauchen.
Dann noch die Sache mit dem Mass-Compile. Ich habe versucht mich da schlau zu machen, und auch etwas rumprobiert, aber wozu genau brauche ich das? Könnte das ganze vielleicht daran liegen? Das ich z.B. die ganzen VI's neu kompiliere und dann das Top-Level-VI neu durch den Comm Wizard schicke?
Ich hoffe ich konnte das Problem einigermassen gut darstellen, und danke schonmal für eure Hilfe.
Deinem Text kann ich nicht ganz folgen, aber ich versuche mal ein Resumee zu schreiben :-)
Du programmierst dein "zeitkritisches" VI als ob du es unter Windows laufen lassen willst, d.h. keine RT FIFO einbauen, keine dynamische Speicherallokierung, keine Daten von einer Datei lesen oder schreiben, keine RS232 Kommunikation, ....
Im Anschluss startest den Comm Wizard -> dieser generiert dir aus deinem VI, drei neue VIs.
NPL, TCL und Host VI.
Im NPL VI ist das TCL VI includiert (als SubVI). Wenn du also eine EXE generierst, musst du als TOP Level VI lediglich das NPL VI angeben (das TCL wird automatisch mitkompiliert).
Diese EXE kannst du dann optional als StartupExe einbauen oder nicht.
Wenn du es NICHT als StartupEXE deklarierst, musst du das Starten anders bewerkstelligen (z.B. mittels VI Server). Wenn du es jedoch als Startup deklarierst, dann laeuft es, sobald das RT Target hoch gefahren ist
(Problematik siehe: http://www.LabVIEW-power-users.de/index.ph...&st=0entry42).
Nachdem die RT Exe laeuft kannst du dein HOST VI starten und dich darauf verbinden.
Das MASS Compile wird nicht unbedingt benoetigt, jedoch ersparst du dir beim Laden von Funktionen eine unmenge an Zeit, wenn du ein Mass-Compile ueber den LV Ordner laufen laesst. Hintergrund ist, dass mit neuen Updatest auch diverse neue VIs in LLB eingespielt werden, die wiederum von anderen VIs verwendet werden. Mit dem Mass-Compile werden diese Referenzen neu geladen und abgespeichert.
Vielleicht habe ich das Problem nicht klar genug eingegrenzt...
ALso es ist, kurz gesagt so, das ich die Application bilde, diese dann nach dem Neustart aber von LabVIEW nicht geladen werden kann. Es kommt die Meldung, das das VI auf der PXI fehlt.
Wenn ich dann auf der PXI WIndows starte, kann ich aber nachvollziehen, das in der startup.exe sehrwohl das richtige VI eingebunden ist.
Ich habe das mittlerweile mit verschiedenen Top-Level VI's probiert, immer das gleiche.
Vielleicht sollte ich es mal über den Server versuchen. Oder habt ihr andere Ideen?
ich check leider noch immer net was du ueberhaupt versuchst zu machen...
Du versuchst dich mit deinem HOST VI auf die startup.exe von deinem RT target zu verbinden?
Folgende URLs habe ich noch fuer dich, sollte das alles net helfen, versuch mal bitte klipp und klar zu erklaeren was du ueberhaupt machst und das Schritt fuer Schritt UND was du als Endergebnis haben willst!
Es ist zwar schon ein paar Tage her - aber trotzdem meine Idee:
Ich hatte ein ähnliches Problem bzw. habe ich mehrere unterschiedliche RT-VI's .
Daher habe ich es mit Windows Scipts gelöst.
Dieses Sript lädt die NPL exe auf das RT System herunter und beendet die Anwendung auf dem
Host. Dadurch läuft die exe auf dem RT und Du kannst dann deine Host exe laden und dich verbinden.
Ich hatte in der letzten Zeit viel anderes am Hut, allerdings bin ich mit diesem Problem noch nicht weiter. Svente, ich finde da bei dir keinen Anhang... könntest du das vielleicht nochmal posten? Wäre nett
Also ich versuchs nochmal einfach darzustellen:
Ziel ist es, die Kommunikation zwischen Host-Rechner und RT-Target (PXI) zeitkritisch zu bewerkstelligen. Die fertigen VIs sind dazu bereits vorhanden und liefen auf einem anderen Rechner mit LV7.1 schon.
Ich habe ein zeitkritisches VI erstellt, in dem alle benötigten Funktionen ohne RT-FIFOs usw. vorhanden sind.
Aus diesem generiere ich über den commwizard meine 3 VIs (NPL,TCL,Host).
Nun erstelle ich aus dem NPL VI meine EXE Datei über "Build Appl. Or Shared Library" und möchte sie als startup.exe einbinden.
Bis dahin ist alles klar, das funktioniert auch. Dann mache ich einen Neustart der PXI. Sobald ich dann wieder auf RT-Target switche kommt dann aber: Changed or Missing VI, und zwar genau das , welches ich grad hochgeladen habe. Ich verstehe nicht warum, da es vorher auf einem anderen Rechner in genau der Config ging.