LabVIEWForum.de - Fehler beim Formelknoten

LabVIEWForum.de

Normale Version: Fehler beim Formelknoten
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich bin gerade dabei in einen Formelknoten einen PI-Regler mit einzubinden. Leider bekomme ich hierbei eine Fehlermeldung und weiß nicht wie ich die beheben kann. Es wird angezeigt, dass e eine undefinierte Variable ist, e wird doch aber aus w und x bestimmt und ist somit definiert oder nicht?

Ich danke euch schon vielmals.
Variablen mussen definiert werden. Stell mal
float32 e;
voran. Ob man "esum" dann aber als static definieren kann können Dir die Experten erklären...
Hallo PatiPati,

warum muss man den PID-Regler im Formelknoten realisieren? Warum nicht mittels G im BD?
Für das, was im Bild zu sehen ist, gibt es die InRangeAnCoerce-Funktion…

Außerdem: Ich weiß nicht, ob der Formelknoten ohne weiteres mit Arrays (wie "x") umgehen kann…
mit float32 e; erscheint eine neue Fehlermeldung

mit double32 e; funktioniert es leider auch nicht Sad


Hey GerdW,

Was meinst du mit G im BD? BD steht bestimmt für Blockdiagramm. InRangeAnCoerce-Funktion wo finde ich diese Funktion? Kannst du mir ein Bild davon machen. Ich soll den Regler experimentell auslegen und mich generell mit Labview vertraut machen, daher bietet sich der Formelknoten schon an.
Du wirst Dich etwas stärker in die Syntax einlesen müssen.
Undefiniert sind bei Dir e, esum, Ki, Ta, y, ...
die müssen alle erst als float, integer usw. definiert werden.
Schau mal hier:
http://zone.ni.com/reference/en-XX/help/...de_syntax/
Jopi, mit float32 will der Fehler auch nicht verschwinden bzw. es kommt eine andere Fehlermeldung Big Grin
Hallo,

w,x,mC und Kp sind bereits durch die Eingänge definiert und müssen nicht noch einmal definiert werden.

lg panduci
Lies das Manual. Die Variablen die Du aussen angeschlossen hast sind bereits deklariert.
Wenn Du Dir deine Declaration hingebastelt hast, wirst Du weitere Probleme finden:
Wie gerd Dir schrieb: x hast du als Array übergeben. Was ist denn jetzt e=w-x ?
Das funktioniert nicht.
Ausserdem willst Du den Wert von esum für jeden Durchlauf des Formelknotens behalten.
Dafür ist die "Static" Declaration in der C Welt. Aber ich glaube, die gibt es hier garnicht.

Vielleicht suchst Du mal nach einer "normalen" Labview interpretation eines PI reglers.
Grüße, Johannes
Hallo Pati,

"G" ist die Programmiersprache, die LabVIEW verwendet. Steht in der LabVIEW-Hilfe…

InRangeAndCoerce: es gibt eine LabVIEW-Hilfe, in der man suchen kann. Und es gibt Quickdrop, wo man auch suchen kann…

Hast du die ganzen Links in meiner Signatur beachtet?
Referenz-URLs