SQRT

Raíz Cuadrada

SQRT calcula la raíz cuadrada de un dato de tipo REAL, LREAL (valor ³ 0,0). El resultado se guarda en la variable de salida.

Parámetros

Entrada

Unnamed input (REAL, LREAL)

Valor de entrada

Salida

Unnamed output (REAL, LREAL)

Salida: raíz cuadrada del valor de entrada

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 ³ 0,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 ³ 0,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;
			(*number >=0*)
		output_value: REAL:=0.0;
			(*number >=0*)
	END_VAR

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

Cuerpo LD

Calcula la raíz cuadrada 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 := 2 ;
        NETWORK_BODY
B(B_VARIN,,input_value,9,0,11,2,);
B(B_VAROUT,,output_value,16,0,18,2,);
B(B_F,SQRT!,Instance,11,0,16,2,,?D?C);
L(1,0,1,2);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Cuerpo en ST

output_value:= SQRT(input_value);

Cuerpo IL

LD

input_value

SQRT

ST

output_value

Modificado el: 2023-03-22Comentarios sobre esta páginaPanasonic hotline