[ Pobierz całość w formacie PDF ]
.wartoÊç bezp.Zmiennoprzec.wyr.numeryczne(1)%MD dla instrukcji TRUNC.Regu"y" Nie moÝna bezpoÊrednio mieszaç operacji na wartoÊciach zmiennoprzecinkowychz operacjami na liczbach ca"kowitych.Poprzez zastosowanie konwersji moÝnadopasowywaç formaty wartoÊci (patrz rozdzia" 2.6, cz´Êç B)." Bit systemowy %S18 pe"ni takà samà funkcj´ jak dla operacji na liczbach ca"kowitych(patrz rozdzia" 1.4-4, cz´Êç B), s"owo %SW17 zawiera informacj´ o przyczynachwystàpienia b"´du (patrz rozdzia" 2.5-1, cz´Êç B).2.5-5 Instrukcje logarytmiczne i wyk"adniczeSà to instrukcje umoÝliwiajàce wykonywanie operacji logarytmicznych i wyk"adniczych.LOG : logarytm dziesi´tny, EXP : exponent naturalny,LN : logarytm naturalny, EXPT: operacja wyk"adnicza na wartoÊci rzeczywistejz wyk"adnikiem ca"kowitym,StrukturaJ´zyk Ladder Jezyk ListLD %M0[%MF0 := LOG(%MF10)]LD %I3.2[%MF2 := LN(%MF20)]LDR %I3.3[%MF4 := EXP(%MF40)]LDR %I3.4[%MF6 := EXPT(%MF50,5)]J´zyk STIF %M0 THEN%MF0 := LOG(%MF10) ;END_IF ;IF %I3.2 THEN%MF2 := LN(%MF20) ;END_IF ;IF RE %I3.3 THEN%MF4 := EXP(%MF40) ;END_IF ;IF RE %I3.4 THEN%MF6 := EXPT(%MF50,5) ;END_IF ;___________________________________________________________________________2/25BSk"adniaOperatory" LOG, EXP, LN Arg1:=Operator(Arg2)" EXPT Arg1:=Operator(Arg2,Arg3)ArgumentyTyp Argument 1 (Arg1) Argument 2 (Arg2) Argument 3 (Arg3)S"owa indeks.%MF %MF,%KF %MW, %KWS"owa nieindeks.Zmiennop.wart.bezp.Ca"kowite wart.bezp.Zmiennop.wyr.num.Ca"kowite wyr.num.Regu"y" JeÝeli argumentem funkcji jest niew"aÊciwa wartoÊç (np.logarytm z liczby ujemnej),to wynik jest nieokreÊlony lub niesko’czony, co powoduje zmian´ bitu %S18 na 1.S"owo %SW17 zawiera informacj´ o przyczynach b"´du (rozdzia" 2.5-1, cz´Êç B)." W przypadku funkcji logarytmicznych, dla wartoÊci bliskich 1.0 (pomi´dzy 0.99a 1.0 lub 1.0 a 1.01) wynikiem jest 0, a bity %S18 i %SW17:X5 majà wartoÊç 1.2.5-6 Instrukcje trygonometryczneTe instrukcje umoÝliwiajà wykonywanie oblicze’ trygonometrycznych.SIN : sinus kàta zapisanego w radianach ASIN : arc sin (wynik od -À/2 do À/2)COS : kosinus kàta zapisanego w radianach ACOS : arc cos (wynik od 0 do À)TAN : tangens kàta zapisanego w radianach ATAN : arc tan (wynik od -À/2 do À/2)StrukturaJ´zyk Ladder J´zyk ListLD %M0[%MF0 := SIN(%MF10)]LD %I3.2[%MF2 := TAN(%MF10)]LDR %I3.3[%MF4 := ATAN(%MF20)]___________________________________________________________________________2/26Instrukcje z"oÝone 2BJ´zyk STIF %M0 THEN%MF0 := SIN(%MF10) ;END_IF ;IF %I3.2 THEN%MF2 := TAN(%MF10) ;END_IF ;IF RE %I3.3 THEN%MF4 := ATAN(%MF20) ;END_IF ;Sk"adniaOperatory" SIN, COS, TAN Arg1:=Operator(Arg2)ASIN, ACOS, ATANArgumentyTyp Argument 1 (Arg1) Argument 2 (Arg2)S"owa indeksowalne %MF %MF,%KFS"owa nieindeks.Zmiennoprzec.wart.bezpoÊredniaZmiennoprzec.wyraÝenie num.Regu"y" JeÝeli argument jest nieprawid"owy (np.arc cos liczby wi´kszej niÝ 1), to wynik jestnieokreÊlony, co powoduje nadanie bitowi %S18 wartoÊci 1.S"owo %SW17 zawierainformacj´ o przyczynach b"´du (patrz rozdzia" 2.5-1, cz´Êç B)." Funkcje SIN/COS/TAN pozwalajà na obliczenie wyniku dla wartoÊci z przedzia"u od-4096À do 4096À ale dok"adnoÊç bardzo mocno si´ zmniejsza dla kàtów spozaprzedzia"u od -2À do +2À, ze wzgl´du na modulo 2À, obliczane przed kaÝdàoperacjà.___________________________________________________________________________2/27B2.5-7 Instrukcje konwersjiSà to instrukcje umoÝliwiajce przeprowadzenie operacji konwersji:DEG_TO_RAD : przeliczenie ze stopni na radiany, wynikiem jest wartoÊç kàta z przedzia"u 0÷ 2À,RAD_TO_DEG : przeliczenie ze radianów na stopnie, wynikiem jest wartoÊç kàta z przedzia"uod 0 do 360 stopni.StrukturaJ´zyk Ladder Jezyk ListLD %M0[%MF0 := DEG_TO_RAD(%MF10)]LD %M2[%MF2 := RAD_TO_DEG(%MF20)]J´zyk STIF %M0 THEN%MF0 := DEG_TO_RAD(%MF10) ;END_IF ;IF %I3.2 THEN%MF2 := RAD_TO_DEG(%MF20) ;END_IF ;Sk"adniaOperatory" DEG_TO_RAD Arg1:=Operator(Arg2)RAD_TO_DEGArgumentyTyp Argument1 (Arg1) Argument 2 (Arg2)S"owa indeksowalne %MF %MF,%KFS"owa nieindeksowalne Zmiennoprzec.wart.bezpoÊredniaZmiennoprzec.wyraÝenie numeryczneRegu"y" Kàt po konwersji musi mieÊciç si´ w przedziale od -737280.0 do +737280.0 (dlakonwersji DEG_TO_RAD) lub od -4096À do 4096À (dla konwersji RAD_TO_DEG).Dla wartoÊci wykraczajàcych poza ten limit, wynikiem jest + 1.#NAN, przy czym bity%S18 i %SW17:X0 majà wartoÊç 1.___________________________________________________________________________2/28Instrukcje z"oÝone 2B2.6 Instrukcje konwersji numerycznej2.6-1 Konwersja BCD Kod binarnyDla tego typu konwersji moÝna stosowaç 6 instrukcji:" BCD_TO_INT : konwersja 16-bit.liczba BCD --> 16-bit.liczba ca"kowita," INT_TO_BCD : konwersja 16-bit.liczba ca"kowita --> 16-bit.liczba BCD," DBCD_TO_DINT : konwersja 32-bit.liczba BCD --> 32-bit liczba ca"kowita," DINT_TO_DBCD : konwersja 32-bit
[ Pobierz całość w formacie PDF ]