LabVIEWForum.de - Anlagensteuerung über Field Bus

LabVIEWForum.de

Normale Version: Anlagensteuerung über Field Bus
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

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.

Ich freue mich sehr über jede Hilfe.

Viele Grüße
Herm
Speicher mal bitte für ältere LV-Versionen...
Hallo,

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.

VDB
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.
Hallo Herm,

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...

Könnte es so gewesen sein?
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.
Referenz-URLs