Bloco que calcula o arco tangente de Y/X, armazenando o resultado em Angle.
Representação Ladder

Estrutura do Bloco
Tipo de Variável |
Nome |
Tipo de Dado |
Descrição |
VAR_INPUT |
EN |
BOOL |
Habilitação do bloco |
X |
REAL |
Parâmetro X da função |
|
Y |
REAL |
Parâmetro Y da função |
|
VAR_OUTPUT |
Done |
BOOL |
Fim de operação |
Angle |
REAL |
Valor do ângulo cuja tangente é igual a (Y/X) (em radianos) |
Funcionamento
Este bloco, quando tem um valor TRUE em EN, envia para a saída Angle o arco tangente de Y/X. Não havendo erros, a variável Done é setada. Caso haja algum erro na operação, Done não é setado, permanecendo em estado FALSE, enquanto Angle permanece com seu valor inalterado.
Quando EN possui valor FALSE, Angle permanece inalterado e Done permanece em FALSE.
Fluxograma do Bloco

Exemplo em Ladder

O exemplo acima calcula o arco, em radianos, cuja tangente é o valor de Y/X, armazenando o resultado final em ANGLE. O arco, para valores positivos de X e Y, sempre se encontra no primeiro quadrante. O bloco finaliza com sucesso e a saída Done é ativada.

O exemplo acima calcula o arco, em radianos, cuja tangente é o valor de Y/X, armazenando o resultado final em ANGLE. O arco, para valores negativos de X e positivos de Y, sempre se encontra no segundo quadrante. O bloco finaliza com sucesso e a saída Done é ativada.

O exemplo acima calcula o arco, em radianos, cuja tangente é o valor de Y/X, armazenando o resultado final em ANGLE. O arco, para valores negativos de X e Y, sempre se encontra no terceiro quadrante. O bloco finaliza com sucesso e a saída Done é ativada.

O exemplo acima calcula o arco, em radianos, cuja tangente é o valor de Y/X, armazenando o resultado final em ANGLE. O arco, para valores positivos de X e negativos de Y, sempre se encontra no quarto quadrante. O bloco finaliza com sucesso e a saída Done é ativada.
Exemplo em ST
O exemplo abaixo, exibe as instruções para aplicação do exemplo acima na linguagem 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);
|
|---|