Londrina PR




    Universidade Estadual de Londrina
                 IV Semana de Engenharia Elétrica

Linguagens de Programação de Controladores Lógicos
                Programáveis (CLP´s)
                          e
         Redes Industriais de Comunicação




                                        Julio Cesar Guimarães, Especialista
Londrina PR




Sumário
      Linguagens de programação de CLP´s
        – Normalização
        – Linguagens gráficas
        – Linguagens textuais
      Redes de industriais de comunicação
        – Protocolos de comunicação
        – Topologias industriais
        – Aplicações
Londrina PR




Linguagens - Motivação
    O CLP´s (controladores lógicos programáveis) são o “núcleo”
     de um sistema de automação industrial;
    Há uma tendência em padronizar as linguagens;
    Os fabricantes têm interesse que seus clientes possam
     “entender” os recursos disponibilizados nos produtos;
    Muitas linguagens podem confundir os programadores;
    Facilitar a interpretação de diagramas e/ou textos de
     programação.
Londrina PR




     IEC 61131-3 – norma para programação
   É o primeiro esforço real para a padronização das
    linguagens de programação de CLP´s
   Resultado de sete empresas internacionais, somando
    dezenas de anos em experiência em automação industrial
   Busca a especificação da sintaxe e semântica de uma suíte
    unificada de linguagens de programação
   São definidas quatro linguagens de programação: duas
    textuais e duas gráficas
Londrina PR




    IEC 61131-3: a norma para programação
   Com o intuito de facilitar o entendimento a norma é
    dividida em:

                       Norma IEC 61131-3

                         Elementos Comuns




                     Linguagens de Programação
Londrina PR




Elemento Comuns
    Tipos de dados
    Variáveis
    Configuração, recursos e tarefas
    Unidades de organização de programas
    Seqüenciamento gráfico de funções
Londrina PR




                         Elementos Comuns
   Tipos de dados: booleanos, inteiros, reais, byte, word, date, time_of_day
    e string

   Variáveis: são associadas somente para endereços explícitos de
    hardware (entradas e saídas) nas configurações, recursos e programas.
    O escopo das variáveis é normalmente limitado à unidade de organização
    nas quais elas são declaradas (escopo local). Se as variáveis tiverem
    escopo global, então devem ser declaradas como tal (VAR_GLOBAL).
Londrina PR




   Configuração, recursos e tarefas: para melhor entendimento, vamos observar
    o modelo de software, como definido pela norma:

                       Configuration
                           Resource                     Resource


                              Task      Task                 Task    Task     FB
                                                                              Function
                                                                              Block

                            Program    Program           Program    Program
                                       FB   FB                      FB   FB


                                                                              Execution
                                                                              control path

                                               Access path




   No nível mais alto, o software deve resolver um problema particular de
    controle que pode ser formulado como uma configuração.
Londrina PR




   A configuração é específica para um sistema de controle particular,
    incluindo a disposição do hardware, recursos de processamento,
    endereçamento de memória para I/O e demais capacidades do sistema.
    Dentro da configuração pode-se definir um ou mais recursos.

   Pode-se entender um recurso como elemento com capacidade de
    processamento dos programas IEC.

   Dentro de um recurso, uma ou mais “tarefas” (tasks) podem ser definidas.
    As tarefas controlam a execução de um conjunto de programas ou blocos
    funcionais (ex: uma mudança de estado de uma variável)
Londrina PR




   Programa: consiste de uma rede de funções (Functions) e blocos
    funcionais (Function Blocks), os quais são capazes de trocar dados.
    Funções e blocos funcionais são os blocos básicos de construção,
    contendo uma estrutura de dados e um algoritmo.

   Na IEC 61131-3 os programas, blocos funcionais e funções são
    chamadas de Unidades de Organização de Programas (POUs).

   A norma também definiu funções padrões e funções definidas pelo
    usuário. Funções padrões são, por exemplo, ADD(ition), ABS (absolute),
    SQRT, SINus e COSinus. Funções definidas pelo usuário podem ser
    usadas inúmeras vezes na mesma rotina.
Londrina PR




Linguagens de Programação Normalizadas
   Textuais
    - ST - structured text (texto estruturado)
    - IL - instruction list (lista de instruções)

   Gráficas
     - LD - ladder diagram (diagrama de contatos)
    - FBD - function diagram blocks (diagrama de blocos de funções)

   Método SFC (sequential function chart) ou Grafcet
    Alguns fabricantes disponibilizam seus CLP´s com recursos de programação
    em gafcet.
Londrina PR



Linguagem ST (Structured Text) – Texto Estruturado
   Linguagem de alto nível, muito poderosa, com raízes Ada, Pascal e C
   Contém todos os elementos essenciais de uma linguagem moderna, incluindo estruturas
    condicionais (IF-THEN-ELSE e CASE OF) e iterações (FOR, WHILE e REPEAT)
   Exemplo:
                        I:=2
                       WHILE J<5 DO
                        Z:= F(I+J);
                        END_WHILE
                        IF B_1 THEN
                        %QW100:= INT_TO_BCD(Display)
                        ENDIF
                        CASE TW OF
                        1,5: TEMP := TEMP_1;
                        2:   TEMP := 40;
                        4:   TEMP := FTMP(TEMP_2);
                        ELSE
                        TEMP := 0;
                        B_ERROR :=1;
                        END_CASE
Londrina PR



Linguagem ST (Structured Text) – Texto Estruturado
Londrina PR



Linguagem IL (Instruction List) - Lista de Instrução
   De origem européia
   Semelhante ao Assembler
Londrina PR



    Linguagem LD (Ladder Diagram) – Diagrama de Relês
   Originou nos EUA
   Baseada na representação gráfica da lógica de relês
   Exemplo:




       Circuito biestável para relês         Circuito biestável para ladder
Londrina PR



Linguagem FBD (Function Diagram Blocks) - Diagrama de
blocos de funções
   Muito usada na indústria de processos.

   Expressa o comportamento de funções, blocos funcionais e programas
    como um conjunto de blocos gráficos interligados, como nos diagramas
    de circuitos eletrônicos.

   Se parece com um sistema em termos do fluxo de sinais entre elementos
    de processamento.
Londrina PR



Linguagem FBD (Function Diagram Blocks) - Diagrama de
blocos de funções
Londrina PR




Linguagem Grafcet ou SFC (Sequential Function Chart)

    Descreve graficamente o comportamento seqüencial de um programa de
     controle.
    É derivado das redes de Petri e da
     norma IEC 848 Grafcet.                         Step 1         N    FILL
    Consiste de “passos”, interligados com blocos
    de “ações” e “transições”. Cada passo                  Transition 1
    representa um estado particular do sistema
     que está sendo controlado.                     Step 2         S Empty

                                                                Transition 2


                                                       Step 3
Londrina PR




   Estrutura a organização interna do programa e ajuda a decompor o
    problema de controle em partes gerenciáveis, enquanto mantém a sua
    visão geral.


                                   0     PASSO INICIAL

                       TRANSIÇÃO        Início da sequència


                                   1            Produto A

                                        Fim da alimentação A        AÇÃO


                       ETAPA /
                       PASSO
                                   2             Produto B

                                        Fim da alimentação B



                                   3           Mistura        T=3

                                       Fim do tempo de mistura
Londrina PR




   Exemplo:

Linguagens clp

  • 1.
    Londrina PR Universidade Estadual de Londrina IV Semana de Engenharia Elétrica Linguagens de Programação de Controladores Lógicos Programáveis (CLP´s) e Redes Industriais de Comunicação  Julio Cesar Guimarães, Especialista
  • 2.
    Londrina PR Sumário  Linguagens de programação de CLP´s – Normalização – Linguagens gráficas – Linguagens textuais  Redes de industriais de comunicação – Protocolos de comunicação – Topologias industriais – Aplicações
  • 3.
    Londrina PR Linguagens -Motivação  O CLP´s (controladores lógicos programáveis) são o “núcleo” de um sistema de automação industrial;  Há uma tendência em padronizar as linguagens;  Os fabricantes têm interesse que seus clientes possam “entender” os recursos disponibilizados nos produtos;  Muitas linguagens podem confundir os programadores;  Facilitar a interpretação de diagramas e/ou textos de programação.
  • 4.
    Londrina PR IEC 61131-3 – norma para programação  É o primeiro esforço real para a padronização das linguagens de programação de CLP´s  Resultado de sete empresas internacionais, somando dezenas de anos em experiência em automação industrial  Busca a especificação da sintaxe e semântica de uma suíte unificada de linguagens de programação  São definidas quatro linguagens de programação: duas textuais e duas gráficas
  • 5.
    Londrina PR IEC 61131-3: a norma para programação  Com o intuito de facilitar o entendimento a norma é dividida em: Norma IEC 61131-3 Elementos Comuns Linguagens de Programação
  • 6.
    Londrina PR Elemento Comuns  Tipos de dados  Variáveis  Configuração, recursos e tarefas  Unidades de organização de programas  Seqüenciamento gráfico de funções
  • 7.
    Londrina PR Elementos Comuns  Tipos de dados: booleanos, inteiros, reais, byte, word, date, time_of_day e string  Variáveis: são associadas somente para endereços explícitos de hardware (entradas e saídas) nas configurações, recursos e programas. O escopo das variáveis é normalmente limitado à unidade de organização nas quais elas são declaradas (escopo local). Se as variáveis tiverem escopo global, então devem ser declaradas como tal (VAR_GLOBAL).
  • 8.
    Londrina PR  Configuração, recursos e tarefas: para melhor entendimento, vamos observar o modelo de software, como definido pela norma: Configuration Resource Resource Task Task Task Task FB Function Block Program Program Program Program FB FB FB FB Execution control path Access path  No nível mais alto, o software deve resolver um problema particular de controle que pode ser formulado como uma configuração.
  • 9.
    Londrina PR  A configuração é específica para um sistema de controle particular, incluindo a disposição do hardware, recursos de processamento, endereçamento de memória para I/O e demais capacidades do sistema. Dentro da configuração pode-se definir um ou mais recursos.  Pode-se entender um recurso como elemento com capacidade de processamento dos programas IEC.  Dentro de um recurso, uma ou mais “tarefas” (tasks) podem ser definidas. As tarefas controlam a execução de um conjunto de programas ou blocos funcionais (ex: uma mudança de estado de uma variável)
  • 10.
    Londrina PR  Programa: consiste de uma rede de funções (Functions) e blocos funcionais (Function Blocks), os quais são capazes de trocar dados. Funções e blocos funcionais são os blocos básicos de construção, contendo uma estrutura de dados e um algoritmo.  Na IEC 61131-3 os programas, blocos funcionais e funções são chamadas de Unidades de Organização de Programas (POUs).  A norma também definiu funções padrões e funções definidas pelo usuário. Funções padrões são, por exemplo, ADD(ition), ABS (absolute), SQRT, SINus e COSinus. Funções definidas pelo usuário podem ser usadas inúmeras vezes na mesma rotina.
  • 11.
    Londrina PR Linguagens deProgramação Normalizadas  Textuais - ST - structured text (texto estruturado) - IL - instruction list (lista de instruções)  Gráficas - LD - ladder diagram (diagrama de contatos) - FBD - function diagram blocks (diagrama de blocos de funções)  Método SFC (sequential function chart) ou Grafcet Alguns fabricantes disponibilizam seus CLP´s com recursos de programação em gafcet.
  • 12.
    Londrina PR Linguagem ST(Structured Text) – Texto Estruturado  Linguagem de alto nível, muito poderosa, com raízes Ada, Pascal e C  Contém todos os elementos essenciais de uma linguagem moderna, incluindo estruturas condicionais (IF-THEN-ELSE e CASE OF) e iterações (FOR, WHILE e REPEAT)  Exemplo: I:=2 WHILE J<5 DO Z:= F(I+J); END_WHILE IF B_1 THEN %QW100:= INT_TO_BCD(Display) ENDIF CASE TW OF 1,5: TEMP := TEMP_1; 2: TEMP := 40; 4: TEMP := FTMP(TEMP_2); ELSE TEMP := 0; B_ERROR :=1; END_CASE
  • 13.
    Londrina PR Linguagem ST(Structured Text) – Texto Estruturado
  • 14.
    Londrina PR Linguagem IL(Instruction List) - Lista de Instrução  De origem européia  Semelhante ao Assembler
  • 15.
    Londrina PR Linguagem LD (Ladder Diagram) – Diagrama de Relês  Originou nos EUA  Baseada na representação gráfica da lógica de relês  Exemplo: Circuito biestável para relês Circuito biestável para ladder
  • 16.
    Londrina PR Linguagem FBD(Function Diagram Blocks) - Diagrama de blocos de funções  Muito usada na indústria de processos.  Expressa o comportamento de funções, blocos funcionais e programas como um conjunto de blocos gráficos interligados, como nos diagramas de circuitos eletrônicos.  Se parece com um sistema em termos do fluxo de sinais entre elementos de processamento.
  • 17.
    Londrina PR Linguagem FBD(Function Diagram Blocks) - Diagrama de blocos de funções
  • 18.
    Londrina PR Linguagem Grafcetou SFC (Sequential Function Chart)  Descreve graficamente o comportamento seqüencial de um programa de controle.  É derivado das redes de Petri e da norma IEC 848 Grafcet. Step 1 N FILL  Consiste de “passos”, interligados com blocos de “ações” e “transições”. Cada passo Transition 1 representa um estado particular do sistema que está sendo controlado. Step 2 S Empty Transition 2 Step 3
  • 19.
    Londrina PR  Estrutura a organização interna do programa e ajuda a decompor o problema de controle em partes gerenciáveis, enquanto mantém a sua visão geral. 0 PASSO INICIAL TRANSIÇÃO Início da sequència 1 Produto A Fim da alimentação A AÇÃO ETAPA / PASSO 2 Produto B Fim da alimentação B 3 Mistura T=3 Fim do tempo de mistura
  • 20.