Bloque que calcula el arco tangente de Y/X, 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 |
X |
REAL |
Parámetro X de la función |
|
Y |
REAL |
Parámetro Y de la función |
|
VAR_OUTPUT |
Done |
BOOL |
Fin de operación |
Angle |
REAL |
Valor del ángulo cuya tangente es igual a (Y/X) (en radianes) |
Operación
Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Angle el arco tangente de Y/X. 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, cuya tangente es el valor de Y/X, almacenando el resultado final en ANGLE. El arco, para valores positivos de X e Y, siempre se encuentra en el primer cuadrante. El bloque finaliza exitosamente y la salida Done es activada.

El ejemplo de arriba calcula el arco, en radianes, cuya tangente es el valor de Y/X, almacenando el resultado final en ANGLE. El arco, para valores negativos de X y positivos de Y, siempre se encuentra en el segundo cuadrante. El bloque finaliza exitosamente y la salida Done es activada.

El ejemplo de arriba calcula el arco, en radianes, cuya tangente es el valor de Y/X, almacenando el resultado final en ANGLE. El arco, para valores negativos de X e Y, siempre se encuentra en el tercer cuadrante. El bloque finaliza exitosamente y la salida Done es activada.

El ejemplo de arriba calcula el arco, en radianes, cuya tangente es el valor de Y/X, almacenando el resultado final en ANGLE. El arco, para valores positivos de X y negativos de Y, siempre se encuentra en el cuarto cuadrante. El bloque finaliza exitosamente y la salida Done es activada.
Ejemplo en ST
El siguiente ejemplo muestra las instrucciones para aplicar el ejemplo anterior en el lenguaje ST.
VAR X : REAL := 1.0; Y : REAL := -1.0; ANGLE : REAL; END_VAR
ANGLE := FB_ATAN2( EN:=DI1, X:=X, Y:=Y, Done=>DO1);
|
|---|