Bloco que calcula o valor de Value elevado à potência Power, armazenando o resultado em Result.
Representação Ladder

Estrutura do Bloco
Tipo de Variável |
Nome |
Tipo de Dado |
Descrição |
VAR_INPUT |
EN |
BOOL |
Habilitação do bloco |
Value |
REAL |
Base da operação |
|
Power |
REAL |
Potência da operação |
|
VAR_OUTPUT |
Done |
BOOL |
Fim de operação |
Result |
REAL |
Variável que armazena o resultado da operação |
Funcionamento
Este bloco, quando tem um valor TRUE em EN, envia para a saída Result o valor de Value elevado à potência Power. 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 Result permanece com seu valor inalterado.
Quando EN possui valor FALSE, Result permanece inalterado e Done permanece em FALSE.
Fluxograma do Bloco

Exemplo em Ladder

O exemplo acima calcula o valor da variável VALUE elevada à potência da variável POWER, armazenando o resultado final em RESULT. O bloco finaliza com sucesso e a saída Done é ativada.

O exemplo acima calcula o valor da variável VALUE elevada à potência da variável POWER, armazenando o resultado final em RESULT. O bloco finaliza com sucesso e a saída Done é ativada.

O exemplo acima calcula o valor da variável VALUE elevada à potência da variável POWER, armazenando o resultado final em RESULT. Como o resultado é superior ao valor máximo suportado pelo tipo REAL, o bloco gera um erro e a saída Done é desativada.
Exemplo em ST
O exemplo abaixo, exibe as instruções para aplicação do exemplo acima na linguagem ST.
VAR VALUE : REAL := 16; POWER : REAL := -40; RESULT : REAL; END_VAR
RESULT := FB_POW( EN:=DI1, Value:=VALUE, Power:=POWER, Done=>DO1);
|
|---|