ASIN

Arcoseno

ASIN calcula el arcoseno de la variable de entrada y escribe el valor del ángulo resultante (en radianes) en la variable de salida. La función devuelve un valor entre - π/2 y π/2.

Parámetros

Entrada

Unnamed input (REAL, LREAL)

Valor de entrada entre -1 y +1

Salida

Unnamed output (REAL, LREAL)

Salida: arcoseno de la variable de entrada en radianes

Banderas de error

sys_bIsOperationErrorHold (pasa a TRUE y permanece TRUE)

si el valor de entrada no es de tipo REAL, LREAL o la variable de entrada no es ³ -1,0 y £ 1,0

sys_bIsOperationErrorNonHold (pasa a TRUE para un ciclo de scan)

si el valor de entrada no es de tipo REAL, LREAL o la variable de entrada no es ³ -1,0 y £ 1,0

sys_bIsEqual (pasa a TRUE y permanece TRUE)

si la salida es cero

sys_bIsCarry (pasa a TRUE para un ciclo de scan)

en caso de desbordamiento del resultado

Ejemplo

Cabecera de la POU

Todas las variables de entrada y de salida utilizadas para la programación de esta función han sido declaradas en la Cabecera de la POU. Se utiliza la misma cabecera de la POU para todos los lenguajes de programación.

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

En este ejemplo se utilizan variables. También puede utilizarse una constante para la variable de entrada.

Cuerpo LD

Calcula el arcoseno de input_value y escribe el resultado en 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,ASIN!,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

Cuerpo en ST

output_value:=ASIN(input_value);

Cuerpo IL

Modificado el: 2024-03-15Comentarios sobre esta páginaLínea directa de Panasonic