Funções / Blocos de funções

O padrão IEC suporta uma vasta variedade de funções e blocos de funções. A tabela a seguir detalha o nome da função e a sua descrição.

Funções do padrão IEC61131 (em ordem alfabética)

Função

Descrição

ABS(A)

Valor absoluto de A

ACOS(A)

O inverso do cosseno de A

ADD(A,B,…)

Soma de A+B+…

AND(A,B,…)

Logica AND das entradas A,B,…

ASIN(A)

O inverso do seno de A

ATAN(A)

O inverso da tangente de A

CONCAT(A,B,…)

Concatena as strings A,B,…

CONCAT_DATE(A,B…)

Concatena valores de dia, mês e ano

CONCAT_DATE_TOD(A,B…)

Concatena valores de data e hora completos

CONCAT_DT(A,B…)

Concatena valores de data e hora em partes

CONCAT_TOD(A,B…)

Concatena valores de hora, minutos, segundos e milisegundos

COS(A)

Encontra o cosseno de A

CTD(A,B)

Contador decrescente ativo <=0, A diminui, B carrega predefinição

CTU(A,B)

Contador crescente ativo >=C, A diminui, B reinicia

CTUD(A,B,D)

Contador crescente/decrescente combina as funções dos dois contadores

DELETE(A,B,C)

Irá deletar caracteres B na posição C na string A

DIV(A,B)

A/B

EQ(A,B,C,…)

Irá comparar A=B=C=…

EXP(A)

Encontra e**A onde e é o número natural

EXPT(A,B)

A**B

FIND(A,B)

Irá encontrar o começo da string B na string A

F_TRIG(A)

Trigger de borda de descida

GE(A,B,C,…)

Irá comparar A>=B, B>=C, C>=…

GT(A,B,C,…)

Irá comparar A>B, B>C, C>…

INSERT(A,B,C)

Irá inserir B em A na posição C

INT_TO_REAL(A)

Converte A de inteiro para real

LE(A,B,C,…)

Irá comparar A<=B, B<=C, C<=…

LEFT(A,B)

Irá retornar os caracteres que estão à esquerda de B na string A

LEN(A)

Irá retornar o tamanho da string A

LIMIT(A,B,C)

Verifica se B>=A e B<=C

LN(A)

Logaritmo natural de A

LOG(A)

Logaritmo na base 10 de A

LT(A,B,C,…)

Irá comparar se A<B, B<C, C<…

MAX(A,B,…)

Indica o máximo entre A,B,…

MID(A,B,C)

Irá retornar os caracteres B começando em C na string A

MIN(A,B,…)

Indica o mínimo entre A,B,…

MOD(A,B)

O resto ou parte fracionária de A/B

MOVE(A)

Move um valor da entrada para saída, o mesmo que :=

MUL(A,B,…)

Multiplica os valores A*B*….

MUX(A,B,C,…)

O valor A irá selecionar a saída B,C,…

NE(A,B)

Irá comparar se A <> B

NOT(A)

Lógica NOT de A

OR(A,B,…)

Lógica OR das entradas A,B,…

REAL_TO_INT(A)

Converte A de real para inteiro

REPLACE(A,B,C,D)

Irá substituir os caracteres C na posição D na string A com a string B

RIGHT(A,B)

Irá retornar os caracteres A à direita da string B

ROL(A,B)

Rotaciona para esquerda o valor A de comprimento B bits

ROR(A,B)

Rotaciona para direita o valor A de comprimento B bits

RS(A,B)

Flip flop RS com entradas A e B

RTC(A,B)

Irá setar e/ou retornar o tempo do sistema atual

R_TRIG(A)

Trigger de borda de subida

SEL(A,B,C)

Se a=0 a saída será B se A=1 a saída será C

SHL(A,B)

Desloca para esquerda o valor A do comprimento B bits

SHR(A,B)

Desloca para direita o valor A do comprimento B bits

SIN(A)

Encontra o seno de A

SQRT(A)

Raiz quadrada de A

SR(A,B)

Flip flop SR com entradas A e B

SUB(A,B)

A-B

TAN(A)

Encontra a tangente de A

TOF(,B)

Temporizador que aguarda um tempo de retardo para desligar.

TON(A,B)

Temporizador que aguarda um tempo de retardo para ligar.

TP(A,B)

Temporizador de tempo ligado, quando a entrada ficar ativa, temporiza um tempo, mantendo a saida ativa durante a temporização.

TRUNC(A)

Converte um real para inteiro, sem arredondamento

XOR(A,B,…)

Lógica XOR, OR exclusiva de A,B,…