아크탄젠트
ATAN는 입력 변수의 아크탄젠트를 계산하고(값 ± 52707176) 각도 데이터(라디안)를 출력 변수에 씁니다. 이 펑션은 -p/2보다 크고 p/2보다 작은 값을 반환합니다.
입력
-52707176과 +52707176 사이의 입력값
출력
입력으로 출력: 입력값(라디안)의 아크탄젠트
입력 변수에 REAL, LREAL 데이터 형식이 없거나 입력 변수가 ³ 52707176인 경우
입력 변수에 REAL, LREAL 데이터 형식이 없거나 입력 변수가 ³ 52707176인 경우
출력 변수가 0인 경우
처리 결과가 출력 변수보다 큰 경우
이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 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
이 예에서는 변수를 사용합니다. 또한 입력 변수에 정수를 사용할 수 있습니다.
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
output_value:=ATAN(input_value);