LabVIEWForum.de - 2 PID-Regler verwenden

LabVIEWForum.de

Normale Version: 2 PID-Regler verwenden
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Leute,

eine ganz allgemeine Frage: Ist es möglich 2 simplePIDs gleichzeitig zu verwenden?

Grüße,

Alex
Ganz allgemeine Antwort: Ja.

Im speziellen: Ich weiß jetzt nicht, auf welches VI du dich beziehst, aber wenn es irgendwelche internen Werte zwischen den Aufrufen speichert, dann musst du darauf achten, dass das VI reentrant ist.

Gruß, Jens
Hallo,

da ich nur die Studentenversion besitze, konnte ich mich auf keine Beispiel-VI aus der Bibliothek beziehen.
Da ich kaum Erfahrung mit LabView habe, bin ich hier im Forum auf einen PID-Regler gestoßen, den dann auch verdrahtet habe und somit die Luftfeuchtigkeit einigermaßen geregelt bekommen habe. Nun wollte ich einen 2. PID-Regler in das Programm einsetzen, der mir den Flow regeln sollte. Leider funktioniert es nicht wie geplant Big Grin.

Könntest Du deinen Satz genauer erläutern? Wie sollte ich dabei vorgehen, um das VI reentrant zu machen?

Grüße,

Alex
Hallo Alex,

"reentrant"

- Normalerweise ist ein subVI nur einmal im Speicher und kann nicht parallel ausgeführt werden. Wenn aber ein VI mehrfach und parallel ausgeführt werden soll, muss es reentrant sein.
- Wenn ein VI interne Speicher verwendet (Schieberegister!, FeedbackNode!) und man es mehrfach/parallel aufruft, muss es reentrant sein, da sonst in verschiedenen Instanzen auf die gleichen Speicherstellen zurückgegriffen wird -> Kollision…

Dein SimplePID erfüllt beide Bedingungen: mehrfach parallele Nutzung und interne Speicher…

Nachtrag:
Zitat:bin ich hier im Forum auf einen PID-Regler gestoßen
Wenn man sich auf andere Forumsbeiträge bezieht, sollte man auch einen Link darauf angeben. Dann wissen alle sofort, worum es sich handelt…
Hallo Gerd,

vielen Dank für deine sehr verständliche Antwort! Hat mir sehr geholfen Smile

Grüße,

Alex
(23.02.2015 23:17 )Alex_91 schrieb: [ -> ]Könntest Du deinen Satz genauer erläutern? Wie sollte ich dabei vorgehen, um das VI reentrant zu machen?
Um diese eigentliche Frage zu beantworten:
Mit rechter Maustaste auf das Ikon rechts oben klicken --> VI-Eigenschaften --> Ausführung
--> ablaufinvariante Ausführung
Die schlechtere Alternative wäre, den beiden Reglern unterschiedliche Namen zu geben, also z.B PID1.vi und PID2.vi. Rein ausführungstechnisch wäre das etwa das Gleiche.

Dass der PID-Regeler nicht mit mit in der Beispielsammlung ist, hat nichts mit der Studentenversion zu tun. Er war bei älteren Versionen dabei, aber dann brachte NI ein kostenpflichtiges Regler-Zusatzmodul heraus. Warum mag wohl ab diesem Zeitpunkt das Beispiel nicht mehr in der Grundversion enthalten sein?
Ich glaube ich war es, der das alte Beispiel mal hier gepostet hatte, und es macht von den Downloads her Karriere. Hoffentlich macht man mich nicht verantwortlich, wenn NI deswegen vor die Hunde geht.Big Grin
Referenz-URLs