ATAN

아크탄젠트

ATAN는 입력 변수의 아크탄젠트를 계산하고(값 ± 52707176) 각도 데이터(라디안)를 출력 변수에 씁니다. 이 펑션은 -p/2보다 크고 p/2보다 작은 값을 반환합니다.

파라미터

입력

정의되지 않은 입력 (REAL, LREAL)

-52707176과 +52707176 사이의 입력값

출력

정의되지 않은 출력 (REAL, LREAL)

입력으로 출력: 입력값(라디안)의 아크탄젠트

에러 플래그

sys_bIsOperationErrorHold (TRUE로 전환되어 TRUE로 유지됨)

입력 변수에 REAL, LREAL 데이터 형식이 없거나 입력 변수가 ³ 52707176인 경우

sys_bIsOperationErrorNonHold (스캔 1회에 대해 TRUE로 전환)

입력 변수에 REAL, LREAL 데이터 형식이 없거나 입력 변수가 ³ 52707176인 경우

sys_bIsEqual (TRUE로 전환되어 TRUE로 유지됨)

출력 변수가 0인 경우

sys_bIsCarry (스캔 1회에 대해 TRUE로 전환)

처리 결과가 출력 변수보다 큰 경우

POU 헤더

이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 POU 헤더에서 선언되었습니다. 모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.

	VAR
		input_value: REAL:=0.0;
			(*range -1 to 1*)
		output_value: REAL:=0.0;
			(*angle data radians -Pi/2 to Pi/2*)
	END_VAR

이 예에서는 변수를 사용합니다. 또한 입력 변수에 정수를 사용할 수 있습니다.

LD 본문

input_value의 아크탄젠트를 계산하여 output_value에 씁니다.

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        NETWORK_BODY
B(B_F,ATAN!,Instance,7,1,12,3,,?D?C);
B(B_VARIN,,input_value,5,1,7,3,);
B(B_VAROUT,,output_value,12,1,14,3,);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST 본문

output_value:=ATAN(input_value);

IL 본문

최종 수정일: 2022-09-19이 페이지에 대한 피드백Panasonic 직통 전화