LabVIEWForum.de - Formelknotensyntax:

LabVIEWForum.de

Normale Version: Formelknotensyntax:
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
<div align="left">wunderschönenen Tach,

könnte mir bitte jemand sagen, was in meinem Formelknoten faul ist. Einige If -Anweisungen werden schlicht weg ignoriert. wie der für (k = 0) und für ((fbm < fx) || (fbm < fy));
das VI dazu ist angehängt.:</div>

[code]float32 vx, vy, vbin, fbm;

vbin = vrel*1,27;

if (k = 1) {
Der Vergleichsoperator ist ==, nicht =
Es muß richtig heißen
if (k==1) bzw. if (k == 0)
Außerdem: Vorsicht, das in Deinem System als Dezimaltrennzeicehn voreingestellte Komma gilt wahrscheinlich nicht für Scripte, hier muß es immer ein Punkt sein. Für Matlab-Scripte weiß ich das genau, das soll mit der nächsten Version geändert werden. Also: probiere 1.27 und 1,27 beides mal aus.
<div align="left">herzlichen Dank für die Antworten,
seltsam, dass LV da keinen Fehler angezeigt hat.
Das andere lag an falschen Formeln. Das ist mir jetzt erst aufgefallen.

Grüße
SchwindelInside</div>
' schrieb:<div align="left">herzlichen Dank für die Antworten,
seltsam, dass LV da keinen Fehler angezeigt hat.
Das andere lag an falschen Formeln. Das ist mir jetzt erst aufgefallen.

Grüße
SchwindelInside</div>
LV zeigt keinen Fehler an, da keiner vorliegt. In C (die Formelknotensyntax is praktisch mit der von C identisch) ist es völlig legla, ein statement der Form
if (x=1) {
}
zu schreiben. Dabei passiert folgendes
- der Variablen x wird der Wert 1 zugewiesen
- dann wird der Ausdruck (x) auf wahr oder falsch geprüft. Da x ja nun den Wert 1 hat, wird dies als wahr interpretiert und der TRUE-Teil des IF wird ausgeführt

Analog wird bei
if (x=0)

der Variablen x ein Wert Null zugewiesen, und der folgende TRUE/FALSE Test ergibt nun natürlich FALSE.
um Fehler zu vermeiden - if (0==x)
Öhm...:

if(k)_____//also wenn nicht Null
{
...
}
else____ //also wenn genau Null
{
...
}

Big Grin

Gruß
Hallo,

wenn Du auf "gleich" abfragst musst Du den Operator "==" verwenden, ansonsten ist das eine Zuweisung.

Gottfried

[quote='']<div align="left">wunderschönenen Tach,

könnte mir bitte jemand sagen, was in meinem Formelknoten faul ist. Einige If -Anweisungen werden schlicht weg ignoriert. wie der für (k = 0) und für ((fbm < fx) || (fbm < fy));
das VI dazu ist angehängt.:</div>

[code]float32 vx, vy, vbin, fbm;

vbin = vrel*1,27;

if (k = 1) {
Referenz-URLs