Anda di halaman 1dari 29

Padro IEC 61131-3:

Linguagens Textuais
Informtica Industrial Michel Leles
Introduo

2 Padro IEC - Linguagens Textuais | Michel Leles


Linguagens Textuais
Definidas na norma IEC 1131-3 so
1. Lista de Instrues (IL Instruction List);
2. Texto Estruturado (ST Structureted Text)
Os elementos textuais especificados na norma devem
ser comuns com as linguagens textuais:

3 Padro IEC - Linguagens Textuais | Michel Leles


Listas de Instrues
Linguagem textual de baixo nvel semelhante ao assembly.
Princpios bsicos
Ideal para resolver problemas simples e pequenos onde
existem poucas quebras no fluxo de execuo do programa.
considerada por alguns desenvolvedores como a linguagem
para a qual todas as demais deveriam ser traduzidas.
Este no , entretanto, um requerimento do padro.
Outros a encaram como a linguagem preferencial de pequenos
CLPs e enxergam o Texto Estruturado como a linguagem base.
Na verdade apenas uma linguagem adicional, menos amigvel
e flexvel e que deve ser usada para produzir cdigo otimizado
para trechos de performance crtica em um programa.

4 Padro IEC - Linguagens Textuais | Michel Leles


Listas de Instrues
Exemplo:

5 Padro IEC - Linguagens Textuais | Michel Leles


Listas de Instrues
O programa do slide anterior equivalente ao programa
em texto estruturado:

O valor da expresso sendo calculada substitudo por


seu valor corrente operado pelo operador com relao
ao operando:

Por exemplo, a instruo AND %IX1 interpretada


como:

6 Padro IEC - Linguagens Textuais | Michel Leles


Listas de Instrues
Semntica das Instrues:

7 Padro IEC - Linguagens Textuais | Michel Leles


Listas de Instrues
O modificador abre parntesis ou parentizao, ( indica
que o clculo do operador deve ser adiado at que o
operador fecha parntesis ) seja encontrado, ou seja, a
seqncia de instrues:

Deve ser interpretada como:

8 Padro IEC - Linguagens Textuais | Michel Leles


Listas de Instrues
Operadores:

9 Padro IEC - Linguagens Textuais | Michel Leles


Listas de Instrues
O exemplo abaixo realiza a operao: X + (B * ( C + D))

Este conjunto de operaes equivalente s seguintes


operaes em uma pilha :

10 Padro IEC - Linguagens Textuais | Michel Leles


Listas de Instrues
Operadores comparativos e de desvio (jump):

11 Padro IEC - Linguagens Textuais | Michel Leles


Listas de Instrues
Funes e blocos de funo
Funes devem ser invocadas pela colocao do nome da
funo no campo do operador.
O resultado corrente deve ser usado como o primeiro
argumento da funo.
Argumentos adicionais, se requeridos, devem ser dados no
campo do operando.
O valor retornado pela funo depois da execuo bem
sucedida de uma instruo RET ou depois de atingir o fim
fsico da funo deve se tornar o resultado corrente.

12 Padro IEC - Linguagens Textuais | Michel Leles


Listas de Instrues
Operadores de blocos de funo:

13 Padro IEC - Linguagens Textuais | Michel Leles


Listas de Instrues
Deficincias do padro IL:
No descreve o comportamento da mquina virtual que
executar a linguagem.
No explica como o acumulador armazenar dados de tipos
diferentes.
No explica como o acumulador armazenar dados
estruturados:
matrizes ou vetores.
No descreve como erros de run-time so tratados.

14 Padro IEC - Linguagens Textuais | Michel Leles


Texto Estruturado

15 Padro IEC - Linguagens Textuais | Michel Leles


Texto Estruturado
Exemplo:

Ateno:
criao de variveis no
RSLogix feita na aba
Program Tags Edit Tags

16 Padro IEC - Linguagens Textuais | Michel Leles


Texto Estruturado
Exemplo (cont.):

17 Padro IEC - Linguagens Textuais | Michel Leles


Texto Estruturado
Operadores:

18 Padro IEC - Linguagens Textuais | Michel Leles


Texto Estruturado
Comando Condicional - IF

19 Padro IEC - Linguagens Textuais | Michel Leles


Texto Estruturado
Comando Condicional - IF
Exemplos:

20 Padro IEC - Linguagens Textuais | Michel Leles


Texto Estruturado
Comando Condicional CASE

Exemplo:

21 Padro IEC - Linguagens Textuais | Michel Leles


Texto Estruturado
Laos de Repetio FOR...DO

A expresso precedida por BY opcional. Se BY for omitido, a


varivel de iterao ser incrementada de 1.
A varivel de iterao NO deve ser utilizada fora do loop,
pois seu valor dependente da implementao.
As instrues dentro do comando no devem modificar as
variveis que afetam os valores de incremento e final.

22 Padro IEC - Linguagens Textuais | Michel Leles


Texto Estruturado
Laos de Repetio FOR...DO
Exemplos

23 Padro IEC - Linguagens Textuais | Michel Leles


Texto Estruturado
Laos de Repetio WHILE... DO

Exemplo:

24 Padro IEC - Linguagens Textuais | Michel Leles


Texto Estruturado
Laos de Repetio REPEAT... UNTIL

Exemplo

25 Padro IEC - Linguagens Textuais | Michel Leles


Texto Estruturado
Laos de Repetio
Aborta o lao EXIT
S pode ser usada dentro de iteraes.
Exemplo:

26 Padro IEC - Linguagens Textuais | Michel Leles


Texto Estruturado
Return
S pode ser usado dentro de funes e blocos de funo.
Aborta a execuo da funo ou bloco de funo.

27 Padro IEC - Linguagens Textuais | Michel Leles


Texto Estruturado
Exemplos de Algoritmos
Resolvendo a equao do 2

28 Padro IEC - Linguagens Textuais | Michel Leles


Texto Estruturado
Exemplos de Algoritmos
Calculando a mdia, o mximo e o mnimo

29 Padro IEC - Linguagens Textuais | Michel Leles

Anda mungkin juga menyukai