11
IFF campus Macaé Informática Industrial Trabalho – P1 – Assunto 1 Érick Alexandre Jackelyne Soares Ilana Costa Raphael Ribeiro 14/10/2010

Tipos de Linguagens de Programação

Embed Size (px)

Citation preview

Page 1: Tipos de Linguagens de Programação

IFF campus Macaé

Informática Industrial

Trabalho – P1 – Assunto 1

Érick AlexandreJackelyne SoaresIlana CostaRaphael Ribeiro

14/10/2010

Page 2: Tipos de Linguagens de Programação

Sumário

Introdução.......................................................................................................................3

IEC 61131.........................................................................................................................3

Sessões da IEC 61131...................................................................................................3

IEC 61131-3.....................................................................................................................3

Diagrama Ladder (Ladder Diagram – LD).....................................................................4

Diagrama de Blocos e Funções (Function Block Diagram – FBD).................................4

Texto Estruturado (Structured Text – ST).....................................................................5

Lista de Instruções (Instruction List – IL)......................................................................6

Sequenciamento Gráfico de Funções (Sequantial Function Chart – SFC).....................6

Escolhendo uma linguagem apropriada..........................................................................7

Conclusão........................................................................................................................9

Bibliografia......................................................................................................................9

Figura 1 - Exemplo de programa em Ladder....................................................................4

Figura 2 - Exemplo de programa usando um Diagrama de Blocos e Funções..................5

Figura 3 - Exemplo de programa em Texto Estruturado..................................................5

Figura 4 - Exemplo de Programa usando Lista de Instruções...........................................6

Figura 5 - Exemplo de programa usando o Sequenciamento Gráfico de Funções...........7

Figura 6 - Exemplo de um mesmo programa usando quatro das linguagens de

programação da norma IEC 61131-3............................................................................................8

2

Page 3: Tipos de Linguagens de Programação

Introdução

Neste trabalho está um estudo sobre as cinco linguagens de programação definidas

pela norma IEC 61131-3, estãop apresentados um histórico de cada uma, uma breve descrição

de cada uma, além de um exemplo de aplicação delas.

No final do trabalho há uma comparação entre as vantagens de cada uma. Na

conclusão escolhemos uma linguagem que usaríamos na indústria, com base nos

conhecimentos obtidos na realização do trabalho.

IEC 61131

A IEC 61131 é um padrão da IEC (Comissão Internacional Eletrotécnica – “International

Electrotechnical Commission”) para Controladores Lógicos Programáveis (CLPs). (Wikipedia,

2009)

Sessões da IEC 61131

Parte 1: Informações gerais;

Parte 2: Equipamentos requeridos e testes;

Parte 3: Linguagens de programação;

Parte 4: Guia de usuários;

Parte 5: Especificações de serviços de mensagens;

Parte 6: Comunicações via Fieldbus;

Parte 7: Programação de controle Fuzzy;

Parte 8: Regras para a aplicação e implantação das linguagens de programação.

IEC 61131-3

A IEC 61131-3 é a terceira parte do padrão internacional IEC 61131, foi publicada

inicialmente em dezembro de 1991 pela IEC. A edição atual foi publicada em 2003. (Wikipedia,

IEC 61131-3, 2010)

A IEC 61131-3 lida com as linguagens de programação e define dois padrões gráficos e

dois textuais para realizar a programação de PLCs, além de uma solução gráfica que pode

englobar o uso das demais:

Diagrama de Ladder (gráfica);

Diagrama de Blocos e Funções (gráfica);

Texto Estruturado (textual);

3

Page 4: Tipos de Linguagens de Programação

Lista de Instruções (textual);

Sequenciamento Gráfico de Funções (possui elementos para organizar programas para

processamento sequencial ou paralelo, podendo usar as demais linguagens em

diferentes sessões).

Diagrama Ladder (Ladder Diagram – LD)

O diagrama Ladder é uma linguagem de programação que representa o programa por

um diagrama gráfico baseado no diagrama de circuito de hardwares lógicos baseados em

relés. (Wikipedia, Ladder logic, 2010)

Trata-se da linguagem de programação mais usada para o desenvolvimento de

softwares para CLPs na indústria.

O nome é baseado na observação de que programas nessa linguagem lembram

escadas (Ladder, em inglês), com dois trilhos verticais e várias linhas horizontais entre elas.

Figura 1 - Exemplo de programa em Ladder.

A figura 1 apresenta um exemplo simples de programa em Ladder que pode ser usado

para ligar remotamente um motor usando uma botoeira de impulso com retorno por mola. O

botão Início é responsável por ligar o motor, enquanto o Parar desliga o mesmo. É usado ainda

um contato de selo (Rodar) para que o motor não se desligue quando o botão Início for solto.

Diagrama de Blocos e Funções (Function Block Diagram – FBD)

Um diagrama de blocos e funções é um diagrama que descreve uma função entre

variáveis de entrada e variáveis de saída. Uma função é descrita como um conjunto de blocos

básicos. Variáveis de entrada e saída são conectadas aos blocos através de linhas. A saída de

um bloco também pode ser conectada a entrada de outro bloco. (Wikipedia, Function block

diagram, 2010)

4

Page 5: Tipos de Linguagens de Programação

Figura 2 - Exemplo de programa usando um Diagrama de Blocos e Funções.

A figura 2 mostra um exemplo de programa usando o Diagrama de Blocos e Funções,

ele é responsável pelo controle de altitude e manuseio de um sistema eletrônico.

Texto Estruturado (Structured Text – ST)

A linguagem de programação de Texto Estruturado é uma linguagem de alto nível que

é estruturada em blocos e que lembra, sintaticamente, a linguagem Pascal. As variáveis e

funções são definidas usando elementos comuns de forma que linguagens diferentes possam

ser usadas no mesmo programa. (Wikipedia, Structured text, 2009)

Instruções e estados complexos, como loops, condições e funções matemáticas, são

suportadas.

Devido à sua flexibilidade, é muito utilizada por profissionais com formação na área de

sistemas de informação e / ou computação. (Emerick, 2008)

Figura 3 - Exemplo de programa em Texto Estruturado.

5

Page 6: Tipos de Linguagens de Programação

A figura 3 mostra um exemplo de programa escrito em texto estruturado, ela mostra o

controle de um cilindro com base em uma série de restrições.

Lista de Instruções (Instruction List – IL)

A linguagem de Lista de instruções é uma linguagem de programação textual de baixo

nível e lembra o Assembly. O formato de arquivo padronizado é o XML. (Wikipedia, Instruction

list, 2009)

É uma linguagem de mnemônicos, ou seja, as funções lógicas são

identificadas por uma letra ou um pequeno conjunto de letras (sílaba) associadas

aos endereços onde se encontram as informações a serem trabalhadas no

programa. (Emerick, 2008)

Figura 4 - Exemplo de Programa usando Lista de Instruções.

A figura 4 mostra um exemplo de programa usando Lista de Instruções, ela realiza uma

série de operações lógicas.

Sequenciamento Gráfico de Funções (Sequantial Function Chart – SFC)

O Sequenciamento Gráfico de Funções (ou Funções Gráficas de Sequenciamento) é

uma linguagem gráfica, baseada no Grafcet e Redes de Petri, utilizada para organizar a

execução de diversos blocos e estes últimos podem estar escritos em qualquer outra

linguagem. É ideal para estruturação de programas, execução de controle sequencial, controle

de estados e tomadas de decisão (como uma árvore de decisões). (Emerick, 2008)

6

Page 7: Tipos de Linguagens de Programação

Figura 5 - Exemplo de programa usando o Sequenciamento Gráfico de Funções.

A figura 5 mostra um exemplo simples da produção de uma bebida usando chocolate

altamente calórico ou de baixa calorias, usando o Sequenciamento Gráfico de Funções.

Escolhendo uma linguagem apropriada

Com as diferentes linguagens de programação disponíveis, é importante considerar

alguns fatores antes de decidir qual será utilizado em uma aplicação. Seguem algumas

informações que podem ajudar a decidir qual utilizar: (Blosch, 2009)

Linguagem aceita universalmente: Ladder;

Velocidade de execução pelo CLP: Lista de Instruções ou Texto Estruturado;

Aplicações usando entradas e saídas digitais e de processamento básico:

Ladder ou Diagrama de Blocos e Funções;

Facilidade de mudar o código depois: Ladder;

Facilidade de uso por engenheiros novos: Texto Estruturado;

Facilidade de implementar operações matemáticas complexas: Texto

Estruturado;

Aplicações com processos repetidos ou processos que precisam de

intertravamentos e operações paralelas: Sequenciamento Gráfico de Funções.

Além disso, existem as limitações impostas pela fabricante do CLP a ser utilizado, já

que as empresas não têm o costume de disponibilizar ferramentas para todas as linguagens, e

7

Page 8: Tipos de Linguagens de Programação

ainda existe o fato de que nem todo CLP é capaz de rodar aplicativos em todas as linguagens,

por limitações de processamento ou memória.

Figura 6 - Exemplo de um mesmo programa usando quatro das linguagens de programação da norma IEC 61131-3.

8

Page 9: Tipos de Linguagens de Programação

Conclusão

Conforme visto neste trabalho, cada linguagem possui vantagens e desvantagens, mas

como a linguagem Ladder é a mais usada na indústria e possui vantagens como facilidade de

manutenção e mudança de código, essa é a linguagem que nós adotaríamos para o trabalho.

Bibliografia

Blosch. (2009). Understanding the IEC61131-3 Programming Languages. Acesso em 14

de Outubro de 2010, disponível em Automation: http://bit.ly/bgb1Hx

Emerick, A. (8 de Dezembro de 2008). O PLC - Parte 2. Acesso em 14 de Outubro de

2010, disponível em Automações - O Blog da Automação Industrial:

http://www.automacoes.com/2008/12/o-plc-parte-2.html

Polito, C. (s.d.). NORMA IEC 1131. Acesso em 14 de Outubro de 2010, disponível em

IFSC: http://bit.ly/9cJeP8

Wikipedia. (16 de Maio de 2010). Function block diagram. Acesso em 14 de Outubro de

2010, disponível em Wikipedia: http://en.wikipedia.org/wiki/Function_block_diagram

Wikipedia. (19 de Dezembro de 2009). IEC 61131. Acesso em 14 de Outubro de 2010,

disponível em Wikipedia: http://en.wikipedia.org/wiki/IEC_61131

Wikipedia. (21 de Setembro de 2010). IEC 61131-3. Acesso em 14 de Outubro de 2010,

disponível em Wikipedia: http://en.wikipedia.org/wiki/IEC_61131-3

Wikipedia. (22 de Agosto de 2009). Instruction list. Acesso em 14 de Outubro de 2010,

disponível em Wikipedia: http://en.wikipedia.org/wiki/Instruction_list

Wikipedia. (6 de Outubro de 2010). Ladder logic. Acesso em 14 de Outubro de 2010,

disponível em Wikipedia: http://en.wikipedia.org/wiki/Ladder_logic

Wikipedia. (20 de Outubro de 2009). Structured text. Acesso em 14 de Outubro de

2010, disponível em Wikipedia: http://en.wikipedia.org/wiki/Structured_text

9