½ºÅ©¸³Æ®¶ó´Â°ÍÀ» Â¥ º¸¾Ò½À´Ï´Ù~ ±×·±µ¥... ÇÑ°¡Áö... ¿©Â庸°í ½ÍÀº°Ô À־ä...¤§¤§
안녕하세요 억군입니다.
저번의 삼각형 식 세워주신거 토대로 공부 해서 다시 스크립트를 짜 보았습니다. ㅋㅋ
그 결과물이 이건데요.....
// === Script Variables === //
double l = 392 ; // center to JH upper wire length
double ll = 0 ; // luffing wire length
double a = 338.4 ; // Backstay diagonal Length
double b = 171 ; // backstay Hight
double c = 191 ; // backstay Length
double cc = 0 ; // center to jh upper wire base distance
double hh = 0 ; // jh upper wire hight
double h = 0 ; // upper triangle hight
double cx = 0 ; //upper triangle base distance
double xa = 0 ; //upper triangle - angle
double ca = 0 ; //opposite angle of jib angle
double ba = 0 ; //JH Wire Angle
// === Value calculation === //
hh = l *(Math.sin(Angle.getIntValue()*Math.PI/180));
cc = l *(Math.cos(Angle.getIntValue()*Math.PI/180));
cx = c + cc ;
ll = Math.sqrt(((cx)*(cx))+((hh-b)*(hh-b)));
h = ll *(Math.cos(Angle.getIntValue()*Math.PI/180));
xa = Math.atan(cx/h*Math.PI/180) ;
@@@@@ atan_Angle_DISP.write(xa) ; @@@@@
// === Script End === //
atan_Angle_DISP 라는 장치변수에 내부변수 xa 의 값을 써 넣으면 미션이 끝납니다.... ;ㅂ;
get.IntValue(); 라는 메소드로 해당 변수의 값이 유효하게 됩니다.
그런데 해당 코드에서 xa 라는 내부변수는 get.IntValue();를 붙여 놓으니 유효하지 않다 하네요~
이 메소드를 내부변수에서 유효하게 쓸 수 있는 방법은 어떤게 있을런지...
약간 만져진 java 기반입니다. 구동 OS는 Windriver 이구요.
일단 hh 나 cc 같이 계산 안의 외부변수와 조합된 getIntValue 는 유효하게 동작하는지 외부로 값이 출력이 잘 됩니다.
미리 감사드립니다~ ;ㅂ;
신경쇠약 터프가이!!!!!!!!!
Angle.getIntValue() ¿ä·±°Ô µÇ¾úÁö¸¸
xa ÀÇ °æ¿ì´Â ±×³É double À̶ó´Â ÀÚ·áÇüÀÌ¶ó¼ ±×·± ¸É¹öÇÔ¼ö°¡ ¾ø¾î¼ ÀÔ´Ï´Ù.
±»ÀÌ int ÇüÀ¸·Î ¹Ù²ã¾ß ÇÑ´Ù¸é
atan_Angle_DISP.write((int)xa) ;
ÀÌ·±½ÄÀ¸·Î Çüº¯È¯À» ½ÃÄѺ¸´Â °ÍÀº ¾î¶³·ÃÁö¿ä?
±×·±µ¥
xa = Math.atan(cx/h*Math.PI/180) ;
À» º¸¸é xa °ªÀÌ ¶óµð¾ÈÀ¸·Î ³ª¿Ãµí Çѵ¥ int ÇüÀ¸·Î ¹Ù²Ù¸é µ¥ÀÌÅÍ ´Ù ³¯¾Æ°¥ÅÙµ¥¿ä..
xa = Math.atan(cx/h)*180/Math.PI;
atan_Angle_DISP.write((int)xa) ;
¿ä·¸°Ô ÇϼžßÇÒµí Çѵ¥¿ä.