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 soll momentan ein Programm zum Laufen bringen, welches ich nicht selbst geschrieben habe. Das Programm („Anlagensteuerung“) dient zur Steuerung einer Anlage (Laboranlage) über eine FieldBus-Schnittstelle.
Das Programm scheint sich selbst als Unterfunktion aufzurufen (das VI mit dem Symbol IED ganz links oben), was meines Erachtens nach aber zu einer endlosen Schleife führt, da das Programm sich dann immer wieder selbst aufruft. Es würde ja nur so gehen, wenn nur eine Unterfunktion des Programms „Analgensteuerung“ aufgerufen wird, die nicht wieder das Programm selbst aufruft. Genau so macht es ja das VI „FP get connection list“ (ebenfalls ganz links oben). Das VI „FP get connection list“ ist ein SubVI in „Anlagensteuerung“. Es ruft Unterfunktionen wie „get comm recource list“ oder „get device list“ des Programms „Anlagensteuerung“ auf.
Bei beiden VIs („Anlagensteuerung“ und „FP get connection list“) ist das VI ausgegraut. Wenn ich das VI als neues Sub-VI einbinde ist es ebenfalls ausgegraut. Das Progamm hat wohl schonmal funktioniert, bis der PC, auf welchem das Programm läuft, neu aufesetzt wurde.
Habt ihr da Ideen, wie ich dieses Problem lösen kann? Ich hoffe, ich habe mich verständlich genug ausgedrückt.
Da hast du aber was Schönes vererbt bekommen! Das Programm ruft in der Tat ein falsches VI auf, nämlich sich selbst, was gar nicht geht weil es non-reentrant ist.
Diese 3 VI-Aufrufe musst du mit irgendwas wie Fieldpoint read bzw. write (vi.lib\Fieldpoint\...) ersetzen, dann sind die array of double wires auch nicht mehr broken.
Das VI "FP get connection list" ruft ja ebenfalls das Programm "Anlagensteuerung" auf, bzw. Unterfunktionen davon. Geht das denn, oder müssen da auch andere VIs hin? Das wäre dann immerhin an mehreren Stellen und nicht nur an einer. Da hätte sich ja jemand mächtig verprogrammiert.
Zitat:Da hätte sich ja jemand mächtig verprogrammiert.
Vielleicht wollte irgendjemand mal dieses VI öffnen und LabVIEW hat sich über fehlende subVIs beschwert. Im darauf folgenden Dialog wurde dann einfach irgendein VI ausgewählt (leider nicht das richtige) - und dieses wurde dann als subVI-Aufruf eingefügt. Und zu guter Letzt wurde das dann auch noch gespeichert...
Stimmt, jetzt wo du es sagst. Die Meldungen kamen tatsächlich und die hat der Typ, der an der Anlage arbeitet schnell durchgeklickt. Sah so aus, als ob er wüsste was er tut. Dann hat er da wohl die falschen Dateien ausgewählt. Muss ich mich wohl auf die Suche nach den korrekten VIs begeben, villeicht finde ich ja noch ein Backup.
Hier auch noch die Dateien für ältere LabVIEW-Versionen
*Edit:
Hab inzwischen rausgefunden was fehlt: Die VIs PID(DBL).vi und PID.vi
Da brauche ich definitiv das "NI LabVIEW PID and Fuzzy Logic Toolkit for Windows", oder?
Für das VI "FP get connection list.vi" habe ich die VIs wieder herstellen können. Da gab es leider kein Backup, deswegen musste ich die eher raten. Ich bin danach vorgegangen, dass ich VIs mit den passenden Anschlüssen gesucht habe. Ich weiß ja nicht, was das VI überhaupt machen soll. Wäre nett, wenn ihr da mal drüber gucken könnt, ob das Sinn macht. Alle FieldPoint VIs habe ich neu eingebaut, bei denen ist also nicht sicher, ob das korrekt ist.
Viele Grüße
Herm
PS: Sorry für den Doppelpost, aber die Edit-Time war bereits abgelaufen.