LabVIEWForum.de - Strom regeln

LabVIEWForum.de

Normale Version: Strom regeln
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallo Zadomo,

LabVIEW bringt einen Beispielfinder mit jeder Menge BeispielVIs mit.
Zum PID-Regler gibt es auch Beispiele…

Generell gilt aber: Messwert lesen -> Vergleich mit Sollwert -> Ausgabe Stellwert -> wieder von vorn…
Hallo GerdW,

ich habe den PID regler so eingelegt aber funktioniert nicht mit der Verbindung!
kannst du mir eine Hinweis, damit den Fehler beseitigen.

in anhang findest du screenshot.

Gruß, Zadomo
Hallo zadomo,

Screenshot-Images lassen sich mit LabVIEW nur sehr schwer debuggen. Warum hängst du nicht dein VI an?

Zitat:aber funktioniert nicht mit der Verbindung! kannst du mir eine Hinweis, damit den Fehler beseitigen.
Warum musst/willst du ein 1D-Array zweimal indizieren?
Warum musst du parallel noch ExpressVIs verwenden, um die Messwerte darzustellen?
Warum willst du Einzelwerte in einer Waveform darstellen?
Warum verbindest du die Differenz zweier Werte mit dem Outputrange des PID?
Warum liest du mehrere Werte ("1 chan N samples") von deinem AI-Kanal?
Warum benutzt du nicht Autocleanup?
Wozu die FOR-Loop mitten im Bild?

So viele Fragen, und noch nicht mal ein VI…
Hallo GerdW,

Warum musst/willst du ein 1D-Array zweimal indizieren?
ich will die Differenz der Spannung AI2 und AI3 und dannach der Strom berechnen.
der fließt durch 1 KOhm und regeln damit nicht ein 1mA überschritten.
I=(Uai3-Uai2)/1kOhm und ich suche Uao die Spannung bei Analog Output.
also gegeben I=1mA gesucht Uao.

Warum musst du parallel noch ExpressVIs verwenden, um die Messwerte darzustellen?
was meinst du in dieser Frage, welchr ExpressVIs?

Warum willst du Einzelwerte in einer Waveform darstellen?
ich wollte hier nun Probieren, ob mit dieser Option erfassen kann

Warum verbindest du die Differenz zweier Werte mit dem Outputrange des PID?
damit ich die Soll- und Istwert zu betrachten.

Warum benutzt du nicht Autocleanup?
in diesem Programm jetzt ist unnötig aber später ich werden benutzen

Wozu die FOR-Loop mitten im Bild?
für die Waveform bilden kann.

in Ahang mein VIs wie du gewünscht.

Gruß,
Zadomo
Hallo Zadomo,

noch mehr Fragen:
Warum setzt du das DAQmxRead auf "1 chan", wenn du im Task mehr als einen Channel konfiguriert hast? Warum nicht "n chan 1 sample"?
Warum verbindest du dein Eingang des PID mit dem Input des DAQmxWrite? Warum willst du nicht den Ausgabewert des PID mit dem DAQmxWrite ausgeben?
Wozu diese ganzen Waveforms?

Warum fängst du nicht "einfach" an, statt "alles möglich" auf einmal erledigen zu wollen?
Idee:
[attachment=59843]
Nachtrag: im gezeigten Bild sollte die Samplerate auf max. 100Hz (statt bisher 1kHz) verringert werden…

Zitat:was meinst du in dieser Frage, welchr ExpressVIs?
Du verwendest IndexArray, um an die Samplewerte zu kommen.
Parallel verwendest du die ExpressVIs ToDDT und SplitSignal, um die exakt gleichen Werte anzuzeigen.
Also nochmal: wozu irgendwelche ExpressVIs, wenn du parallel schon dein Problem mit "einfachen" LabVIEW-Funktionen gelöst hast?
Hallo GerdW,

Warum setzt du das DAQmxRead auf "1 chan", wenn du im Task mehr als einen Channel konfiguriert hast? Warum nicht "n chan 1 sample"?
ich will das tun aber es klappt nicht mit verbindung.

in ahnang eine Schaltung beschreibt die aufgabe was ich regeln möchte.
also die Spannung regeln um den Strom auf 1 mA bleiben und nicht übershritten.

Gruß,
Zadomo
Hallo Zadomo,

Zitat:ich will das tun aber es klappt nicht mit verbindung.
Ich wiederhole mich nur ungern, aber es ist anscheinend nötig:
Warum verbindest du dein Eingang des PID mit dem Input des DAQmxWrite? Warum willst du nicht den Ausgabewert des PID mit dem DAQmxWrite ausgeben?
Wieso verwechselst du beim PID den Eingang mit dem Ausgang dieser Funktion?
Und warum willst du jetzt beim DAQmxWrite plötzlich "n chan" ausgeben, obwohl dieser Task nur einen AO-Kanal enthält?
Wall

Nochmal das Beispiel:
[attachment=59848]
Hallo GerdW,

ich bitte dich ein bisschen geduld, weil ich nicht viel ahnung mit LabVIEW habe.

Warum verbindest du dein Eingang des PID mit dem Input des DAQmxWrite? Warum willst du nicht den Ausgabewert des PID mit dem DAQmxWrite ausgeben?
weil ich Die AO regeln auf bestimmte Spannung kommen, damit ich mein Strom immer 1 mA regeln kann. Deswegen habe ich Input mit Eigang PID verbinde und bei der Ausgabe sowieso den Strom ist bekannt wird mit dem DAQmxwrite verbindet.
so ist meine Gedanke aber ich weiss nicht, ob was ich mache Richtig ist.

Wieso verwechselst du beim PID den Eingang mit dem Ausgang dieser Funktion?
ich habe vertan.

Und warum willst du jetzt beim DAQmxWrite plötzlich "n chan" ausgeben, obwohl dieser Task nur einen AO-Kanal enthält?
du hast mich gefragt, Warum nicht "n chan 1 sample"?

ich habe in adere Post meine Schaltung angehängt und was soll ich regeln.

in ahang findest das neue VIs.
Hallo Zadomo,

Zitat:du hast mich gefragt, Warum nicht "n chan 1 sample"?
Ja, da ging es aber um das DAQmxRead
Bitte genau lesen!

Zitat:in ahang findest das neue VIs.
Ok, jetzt ohne Verdrahtungsfehler…

Warum verwendest du hier den Median? Du kennst den Unterschied zwischen Mean und Median?
Warum hast du jetzt wieder Sollwert und Prozessvariable vertauscht?
Warum addierst du jetzt deine beiden Spannungsmesswerte? Warum plötzlich der Faktor 1000?
Hast du dir passende PID-Gains überlegt? Hast du einen passenden Output-Range festgelegt?
Hallo GerdW,

Warum verwendest du hier den Median? Du kennst den Unterschied zwischen Mean und Median?
was ich versthe von beiden sind die Mitelwert.

Warum hast du jetzt wieder Sollwert und Prozessvariable vertauscht?
danke für deine Hinweis, ich habe korrgiert.

Warum addierst du jetzt deine beiden Spannungsmesswerte? Warum plötzlich der Faktor 1000?
Es ist einen Fehler von mir.

Hast du dir passende PID-Gains überlegt? Hast du einen passenden Output-Range festgelegt?
p=0,05 und I=0,001 D=0, und mein Output range Output high=5 und Output low=0

was sagst du davon?

Gruß, Zadomo
Seiten: 1 2 3
Referenz-URLs