Dziwny problem z formula node

Jeśli masz coś do powiedzenia w sprawie LabVIEW napisz. Tutaj są tematy, których nie można uściślić do innych działów.
komaro
Posty: 39
Rejestracja: 15 wrz 2010 18:50
Wersja środowiska: LabVIEW 8.6

Dziwny problem z formula node

Post autor: komaro »

Witam mam pewien probem z formula node. styworzyłem formula node o nastepującej zawartości:
Cs=xm/(xs+xm);
kd=(Ur/(Cs*Us));
xk=(xr+xs*Cs);
Tb=(3*p*Cs*Cs*Us*Us)/(2*omega*xk);
sb=Rr/xk;
Te=(2*Tb*(s*sb-kd*(sb*cos(alfa)+s*sin(alfa))))/(sb*sb+s*s);


wejscia to:
Us
Ur
xs
xr
xm
Rr
s
p
omega
alfa

wyjście to
Te
gdy prubuje uruchomić vi pojawia się komnikat:
Error on line 3 is marked by a '#' character: "Cs#=xm/(xs+xm); kd=(Ur/(Cs*Us)); xk=(xr+"

o co chodzi?
mam już to któryś raz i nie mam pojęcia o co to chodzi
Spotkaliście się może z tym?
Awatar użytkownika
Pitol
Moderator
Posty: 984
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Dziwny problem z formula node

Post autor: Pitol »

Spróbuj: Cs=(xm/(xs+xm));

Powinno zadziałać
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
komaro
Posty: 39
Rejestracja: 15 wrz 2010 18:50
Wersja środowiska: LabVIEW 8.6

Re: Dziwny problem z formula node

Post autor: komaro »

Niestety tak też już próbowałem:(
Awatar użytkownika
Pitol
Moderator
Posty: 984
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Re: Dziwny problem z formula node

Post autor: Pitol »

... (tu były moje bzdury i herezje)...

EDIT 1: w oknie Error List oprócz komunikatu: "Error on line 1 is marked by a '#' character: "Cs#=(xm/(xs xm)); kd=(Ur/(Cs*Us)); xk=(x"" wyświetla się również, co jest powodem błędu. W okienku wyżej jest tekst w stylu: Formula Node: Undefined variable" albo coś podobnego. Napisz co Ci się tam wyświetla.

EDIT 2: wychodzi na to, że wszystkie elementy typu kd, xk, Tb, sb, itp., które dla Ciebie chyba są tylko pośrednimi wartościami, służącymi do obliczenia ostatecznej wartości Te, muszą być zdefiniowane jako input lub output. W formula node każda zmienna musi być zdefiniowana.

Najlepiej jest czytać uważnie komunikat błędu (wyświetla się jak byk: Undefined variable).
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
Awatar użytkownika
Nowszy
Posty: 504
Rejestracja: 30 maja 2008 08:33
Wersja środowiska: LabVIEW 2011
Lokalizacja: Katowice
Kontakt:

Dziwny problem z formula node

Post autor: Nowszy »

Witaj

Twój problem polega na tym, że Cs nie jest zainicjalizowana. Dopisz na początku np. float Cs albo int Cs (zależnie od typu) i będzie ok. Zainicjalizować musisz każdą zmienną, która nie jest wyjściem z Formula Node. Wyjścia są inicjalizowane przez LabVIEW. Daj znać czy działa
Pozdrawiam, Maciek Antonik
Edu4Industry
komaro
Posty: 39
Rejestracja: 15 wrz 2010 18:50
Wersja środowiska: LabVIEW 8.6

Re: Dziwny problem z formula node

Post autor: komaro »

hej
użycie float przy każdej zmiennej pośredniczącej okazało się owocne
Dziękuje
komaro
Posty: 39
Rejestracja: 15 wrz 2010 18:50
Wersja środowiska: LabVIEW 8.6

Re: Dziwny problem z formula node

Post autor: komaro »

znowu mam problem z formula node :
zawartosc
float L;
float lambda;
float omegat;
float cp;
omegat=omegap/prze;
lambda=(omegat*R)/V0;
L=1/(lambda+(0,08*teta))-0,035/(1+teta*teta*teta);
cp=c1*(c2*L-(c3*teta)-c5)*exp(-c6*L);
P=(ro*A*V0*V0*V0*Cp)/(omegat*2);



input:
c1, c2, c3, c5, c6, V0, teta, prze, omegap, R, A, ro
output :
P


error:
missing right parenthesis

wygląda że brak prawego nawiasu ale gdzie ? w miejscu Hasza? nie rozumiem dlaczego tak mi wyswietla

Error on line 7 is marked by a '#' character: "...0; L=1/(lambda+(0,08#*teta))-0,035/(1+te"
Awatar użytkownika
Pitol
Moderator
Posty: 984
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Dziwny problem z formula node

Post autor: Pitol »

A próbowałeś zamienić przecinki na kropki? Bo czuję, że tu jest problem.
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
komaro
Posty: 39
Rejestracja: 15 wrz 2010 18:50
Wersja środowiska: LabVIEW 8.6

Re: Dziwny problem z formula node

Post autor: komaro »

HEJ
tak wystarczyło zmienić przecinki na kropki. Swoją drogą to ciekawe, gdyż w numeric controls jak zapisuje liczbę uzywam przecinka a tu w formula node używa się kropki. spotkałem się już że różne profgramy wymagały różnego zapisu ułamków dziesiętnych ale żeby dewa sposoby w jednym programie to jeszcze nie.

dziękuje za pomoc
Awatar użytkownika
Pitol
Moderator
Posty: 984
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Re: Dziwny problem z formula node

Post autor: Pitol »

To w jaki sposób interpretowany jest przecinek w LabVIEW ustawiane jest w opcjach (Tools -> Options -> Front Panel -> Use localized decimal point). Natomiast jeśli chodzi o Formula Node to zapewne jest tam na sztywno ustawione, co znaczy przecinek, a co kropka.
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
PiDi
Posty: 641
Rejestracja: 31 gru 2010 01:36
Wersja środowiska: LabVIEW 2017
Lokalizacja: Katowice

Re: Dziwny problem z formula node

Post autor: PiDi »

Zgadza się:
Note The Formula Node accepts only the period (.) as a decimal separator. The node does not recognize localized decimal separators.
Cóż, takie uroki środowiska, ale do dokumentacji warto przynajmniej zerknąć jak coś nie działa ;)
ObrazekObrazekObrazekObrazek
ODPOWIEDZ