Você está na página 1de 62

Lista de instruções Texto estruturado Diagrama de blocos de funções

Aula 11 – IL, ST e FBD

ECAi06 - Automação de Sistemas Industriais I


Prof. Luiz Felipe Pugliese

UNIFEI - Universidade Federal de Itajubá


Campus Itabira

02 de Julho de 2021

1 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

IL – Lista de instruções

Princı́pios básicos
Cada instrução utiliza ou modifica o valor de um único regis-
trador denominado acumulador.
As instruções são executadas no conteúdo do acumulador.
O resultado da operação é armazenado no próprio acumulador.

2 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

IL – Lista de instruções

Sintaxe
RÓTULO: OPERADOR OPERANDO COMENTÁRIO

Cada instrução se inicia em uma nova linha;


Rótulo e comentário são opcionais;
Pode haver mais de um operando para cada operador;
O operador pode ou não incluir um modificador.

3 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

IL – Lista de instruções

Rótulo/Label
Nome que não deve exceder 16 caracteres seguido de “:”;
Utilizados como operando por instruções de salto;
Primeiro caractere deve ser uma letra;
Não pode haver na mesma POU dois rótulos iguais.

4 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

IL – Lista de instruções

5 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

IL – Lista de instruções

6 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

IL – Lista de instruções

Modificadores
Devem ser incluı́dos logo após nome do operador, sem espaço.
N – inversão lógica do operando;
( – operação adiada;
C – operação condicional;

Var4 := Var1 AND (Var2 OR Var3)

7 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

IL – Lista de instruções

8 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

IL – Lista de instruções: Exemplos

9 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

IL – Lista de instruções: Exemplos

10 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

IL – Lista de instruções: Exemplos

11 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

IL – Lista de instruções: Exemplos

12 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

IL – Lista de instruções: Exemplos

13 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

IL – Lista de instruções: Exemplos

14 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

IL – Lista de instruções: Exemplos

15 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

IL – Lista de instruções: Exemplos

16 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

IL – Lista de instruções
Chamada de funções
Nome da função, seguido pelos parâmetros;
Modo “formal”e “informal”.

17 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

IL – Lista de instruções

18 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

IL – Lista de instruções

Chamada de bloco de funções


Operador CAL;
Modo “formal”e “informal”.

19 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

IL – Lista de instruções

20 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

ST – Texto estruturado

Caracterı́sticas
Linguagem de alto nı́vel semelhante a C ou PASCAL;
Formulação compacta das tarefas de programação;
Comandos para controle do fluxo do programa muito eficientes.

21 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

ST – Texto estruturado

Atribuição
Variável A recebe valor B:

A := B;

Velocidade := 12.5;
Contador := Contador + 1;
A := SIN(Angulo);
Variavel1 := Variavel2;

22 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

ST – Texto estruturado

23 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

ST – Texto estruturado
Bloco de função
Ativada por seu nome seguido da lista de argumentos em pa-
rênteses;
Entradas são atribuı́das pelo sı́mbolo “:=”;
Saı́das são atribuı́das pelo sı́mbolo “=>”;
Alternativamente, pode-se acessar diretamente os parâmetros
de saı́da.

24 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

ST – Texto estruturado

Comandos
IF ... THEN ... ELSE;
CASE ... OF;
WHILE ... DO;
REPEAT ... UNTIL;
FOR ... TO ... DO;
EXIT;
RETURN.

25 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

ST – Texto estruturado
IF ... THEN ... ELSE
Condicional

26 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

ST – Texto estruturado

27 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

ST – Texto estruturado

CASE ... OF
Condicional

28 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

ST – Texto estruturado

29 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

ST – Texto estruturado

30 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

ST – Texto estruturado
Exemplo
Duas esteiras (MotorCimaEsteira, MotorBaixoEsteira) são uti-
lizadas para transportar caixas para um elevador;
Quando um sensor de presença (SensorCimaCaixa, SensorBai-
xoCaixa) é acionado, a esteira correspondente pára e o elevador
é requisitado;
O elevador se move (MotorCimaElevador, MotorBaixoElevador)
até a posição requisitada;

31 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

ST – Texto estruturado
Exemplo
Quando o elevador está na posição requisitada (SensorCimaE-
levador, SensorBaixoElevador), a esteira do elevador (MotorEs-
teiraElevador) é acionada até que a caixa esteja inteiramente
no elevador (SensorCaixaElevador);
O elevador se move para a posição de descarga (SensorDes-
cargaElevador) e liga a esteira até que a caixa tenha saı́do do
elevador.

32 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

ST – Texto estruturado

33 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

ST – Texto estruturado

34 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

ST – Texto estruturado

35 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

ST – Texto estruturado

WHILE ... DO
Iteração

36 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

ST – Texto estruturado

REPEAT ... UNTIL


Iteração

37 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

ST – Texto estruturado

38 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

ST – Texto estruturado

FOR ... TO ... DO


Iteração

39 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

ST – Texto estruturado

EXIT
Sai de um comando de iteração (FOR, WHILE, REPEAT) antes
da condição final ser alcançada.

RETURN
Sai de uma função, bloco de função ou programa.

40 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

FBD – Diagrama de blocos de funções

Caracterı́sticas
Baseado no fluxo de sinais entre blocos de funções;
Semelhante a circuitos lógicos eletrônicos;
Elementos: blocos de funções e conectores.

41 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

FBD – Diagrama de blocos de funções

42 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

FBD – Diagrama de blocos de funções

43 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

FBD – Diagrama de blocos de funções

Observações
Parâmetro de entrada: variável ou constante;
Evitar cruzamento de conectores;
Negação de sinais booleanos;
Entrada sensı́vel a borda.

44 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

FBD – Diagrama de blocos de funções

45 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

FBD – Diagrama de blocos de funções

Avaliação da POU
Circuito por circuito, de cima para baixo;
Se for necessário mudar a sequencia padrão: saltos.

Avaliação do circuito
Avalia todas as entradas de um elemento antes de executar esse
elemento;
A avaliação de um elemento não é finalizada até que todas suas
saı́das tenham sido determinadas;
A avaliação de um circuito não é finalizada até que todos seus
elementos tenham sido avaliados.

46 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

FBD – Diagrama de blocos de funções

47 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

FBD – Diagrama de blocos de funções

48 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

FBD – Diagrama de blocos de funções

49 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

FBD – Diagrama de blocos de funções

Realimentação
Primeira execução: valor padrão da variável;
Depois disso, assume o valor calculado na execução anterior.

50 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

FBD – Diagrama de blocos de funções

Blocos de funções padrões


Biestável SR.

51 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

FBD – Diagrama de blocos de funções

Blocos de funções padrões


Biestável RS.

52 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

FBD – Diagrama de blocos de funções

Blocos de funções padrões


Detector de borda de subida.

53 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

FBD – Diagrama de blocos de funções

Blocos de funções padrões


Detector de borda de descida.

54 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

FBD – Diagrama de blocos de funções

Blocos de funções padrões


Contadores.

55 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

FBD – Diagrama de blocos de funções

Blocos de funções padrões


Temporizadores: TON, TOF, TP.

56 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

FBD – Diagrama de blocos de funções

Blocos de funções padrões


ADD +
SUB -
MUL *
DIV /
AND &
OR >=1

57 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

FBD – Diagrama de blocos de funções

Blocos de funções definidos pelo usuário


Pode ser utilizada qualquer linguagem da IEC 61131-3;
Geralmente escritos em ST.

58 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

FBD – Diagrama de blocos de funções

Exemplo
Definição de bloco funcional que executa a filtragem ilustrada abaixo
T
yk = yk −1 + (xk − yk −1 )
τ

59 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

FBD – Diagrama de blocos de funções

T
yk = yk −1 + (xk − yk −1 )
τ

60 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

FBD – Diagrama de blocos de funções

61 / 62
Lista de instruções Texto estruturado Diagrama de blocos de funções

Leitura complementar

Livro Capı́tulos
Franchi e Camargo 4, 9
John e Tiegelkamp 4

62 / 62

Você também pode gostar