Bloque que calcula el arco coseno de Value, almacenando el resultado en Angle.
Representación Ladder
![]()
Estructura del Bloque
Tipo de Variable |
Nombre |
Tipo de Dato |
Descripción |
VAR_INPUT |
EN |
BOOL |
Habilitación del bloque |
Value |
REAL |
Valor del coseno |
|
VAR_OUTPUT |
Done |
BOOL |
Fin de operación |
Angle |
REAL |
Valor do ângulo cujo cosseno é igual a Value (em radianos) |
Operación
Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Angle el arco coseno de Value. No habiendo errores, la variable Done es ajustada. En caso de que haya algún error en la operación, Done no será ajustada, permaneciendo en estado FALSE, mientras que Angle permanecerá con su valor inalterado.
Cuando EN tiene valor FALSE, Angle permanece inalterado y Done permanece en FALSE.
Diagrama de Flujo del Bloque

Ejemplo en Ladder

El ejemplo de arriba calcula el arco, en radianes, cuyo coseno es la variable VALUE, almacenando el resultado final en ANGLE. El bloque finaliza exitosamente y la salida Done es activada.

El ejemplo de arriba calcula el arco, en radianes, cuyo coseno es la variable VALUE, almacenando el resultado final en ANGLE. El bloque generará un error de ejecución y la salida Done será desactivada., visto que VALUE posee valor inferior a -1.
Ejemplo en ST
El siguiente ejemplo muestra las instrucciones para aplicar el ejemplo anterior en el lenguaje ST.
VAR VALUE : REAL := 0.0; ANGLE : REAL; END_VAR
ANGLE := FB_ACOS(EN:=DI1, Value:=VALUE, Done=>DO1);
|
|---|