O PLC - Parte 2

Introdução

Neste post continuamos com o assunto sobre características de hardware e software de um PLC, iniciado no post anterior.

Memórias

No último post foi dada uma abordagem generalista da estrutura interna de um PLC,

sendo apresentado um bloco interno da arquitetura do PLC intitulado simplesmente como memória RAM. Entretanto, este bloco de memória está dividido em algumas áreas, destinadas a:

  • Armazenar o programa do usuário;
  • Armazenar os valores das entradas digitais e analógicas (espelho de entradas);
  • Armazenar os valores das saídas digitais e analógicas (espelho das saídas);
  • Armazenar bits e valores auxiliares utlizados na lógica do programa do usuário;
  • Armazenar valores de contadores e temporizadores usados no programa;
Armazenamento do programa do usuário

O programa do usuário compreende o conjunto de instruções que o PLC seguirá durante o controle de um determinado processo. Esse programa determinará quais saídas serão acionadas de acordo com o estado de determinadas entradas ou que sequência de operações deverá ser realizada na ocorrência de um evento ou passagem de um determinado tempo. Em resumo o programa do usuário é o conjunto de regras, procedimentos e sequências que devem ser obedecidas para se produzir um determinado produto ou controlar determinados parâmetros produtivos, traduzido em forma de software.

O programa do usuário é concebido através de um software de programação, geralmente desenvolvido para aquele PLC em particular que está sendo programado. Este software de programação geralmente é instalado em um computador PC comum, como um aplicativo, e possibilita, através de um meio de comunicação padrão (serial, ethernet ou USB), efetuar o carregamento do programa do PC para o PLC (operação chamada de download), carregamento do programa do PLC para o PC (chamada de upload), monitoramento do funcionamento do programa e alterações no software. Estas últimas podem ser feitas online, quando esta edição
ocorre com o PLC em funcionamento no processo, sem necessidade de parar o processamento, ou ainda offline, quando as alterações são feitas sem conexão com o PLC e posteriormente é realizado um donwload da nova programação para o PLC, operação esta que geralmente requer a parada do processamento.

Existem algumas linguagens que permitem o desenvolvimento de softwares ou programas aplicativos (do usuário) para um PLC. Essas linguagens estão definidas em uma norma, a IEC 1131-3, que é um padrão global para programação para fins de controle industrial. Essas linguagens são:

  • LD - Ladder Diagram ou Diagrama Ladder
  • FBD - Function Block Diagram ou Diagrama de blocos de funções
  • IL - Instruction List ou lista de instruções
  • ST - Structured Text ou texto estruturado
  • SFC - Sequencal Function Chart
Serão explanadas brevemente a seguir:

LD - Ladder Diagram ou Diagrama Ladder

É a linguagem mais difundida e utilizada por conter elementos como contatos e bobinas, similares aos utilizados em circuitos elétricos que antecederam aos PLCs (lógicas de relés). É a preferida por profissionais com formação na área de eletrotécnica.

Um exemplo de programa ladder é mostrado na Figura 1.

Figura 1 - Exemplo de um programa escrito em Ladder

FBD - Funcrion Block Diagram ou Diagrama de blocos de funções

Essa linguagem se assemelha a circuitos lógicos digitais, onde existem blocos com as funções lógicas básicas (AND, OR, NOT, XOR, etc.) e também existe a possibilidade de criar blocos de funções específicos para o processo a ser controlado. Os profissionais com formação na área de eletrônica algumas vezes têm preferência por essa linguagem.

Um exemplo de um programa em FBD é mostrado na Figura 2.

Figura 2 - Exemplo de programa em linguagem de Blocos Lógicos

IL - Instruction List ou Lista de instruções

É 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. A princípio essa linguagem relembra a linguagem assembly, usada em microcontroladores, mas apresenta uma maior facilidade de entendimento por parte do programador. Geralmente é utilizada por profissionais com formação na área de sistemas de informação e/ou computação.

Um exemplo de um programa em IL é mostrado na Figura 3.

Figura 3 - Exemplo de programa em Lista de Instruções

ST - Structured Text ou Texto Estruturado

É uma linguagem de texto, muito similar a linguagens de alto nível, tais como C++, Visual Basic ou Delphi, ou seja, basicamente o programa é estruturado em um conjunto de condições (IF...THEN...ELSE), bem como operandos de comparação e operações matemáticas associados a comandos específicos para controle de processos (SET... RESET). Devido à sua flexibilidade, é muito utilizada por profissionais com formação na área de sistemas de informação e/ou computação.

Um exemplo de programa em texto estruturado é mostrado na Figura 4.

Figura 4- Exemplo de um programa escrito em texto estruturado

SFC - Sequencial Function Chart 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).

Um exemplo de organização de programas em SFC é mostrado na Figura 5.

Figura 5 - Exemplo de programa em SFC

Um software de programação IEC-61131-3 grátis com um simulador de PLC (limitado a 1 hora de funcionamento, após esse tempo pode ser reiniciado quantas vezes quiser...) pode ser obtido em www.3s-software.com. É necessário fazer um cadastro para receber um usuário e senha para download.

No próximo post será finalizado o assunto sobre Hardware e iniciado um exemplo de programa para entendimento do princípio de operação de um PLC (utilizando o software CoDeSys da 3s-software).

Agradeço à todos que têm comentado este blog, incentivado e sugerido assuntos. Muito obrigado!

9 comentários:

rafa disse...

alguem tem esse progama do lader mande pra min treinar pois fasso tecnico em altomaçao rafachop@gmail.com ]
obrigado

Anônimo disse...

pow velho tu mandou umas perolas boa, "fasso", e "altomaçao"

Anônimo 2 disse...

Ótimo comentário de quem acha que "pow" é um um bom exemplo deportuguês culto. Flexiona a segunda pessoa com terceira (o certo é "tu mandaste"), e esquece de plurais e acentuação. ("pérolas boas"). Ah! Se possível também tente também encerrar suas frases com pontuação.

Anônimo disse...

E o imortal da Academia Brasileira de Letras, Anônimo 2, que logo em seguida apareceu para criticar e corrigir, cometeu deslizes como:
* inserir um comentário entre parênteses de uma frase que havia sido encerrada com um ponto final;
* repetir a mesma palavra em uma frase, ocasionando uma redundância totalmente desnecessária ("Se possível também tente também").

Foi querer aparecer...

Anônimo disse...

Talvez esteja querendo sair do anonimato?

Anônimo disse...

Prestem atenção na maneira como escrevem.Apenas isso!Criticar é facil, mas quando se é criticado....

Hudson disse...

Faço eng. eletr. 6º período, CLP, gostaria de um software que simula algorítimo em TEXTO ESTRUTURADO. virtualhudson@yahoo.com.br
VLW

Celso disse...

Facil parece ser mais fácil. Bom, o que importa é que haja compreensão no que é exposto. Acredito que todos tenham entendido perfeitamente o que o Rafa disse, entretanto, ao criticar esqueceram de dar a ajuda fornecendo um link para o PROGRAMA EM LADDER para o ajudar, também aceito pois estou atuando no ramo de automação e preciso de algo do tipo para realizar algumas simulações.

Adailton Emerick disse...

Olá,

Para simulação de programas em LADDER e em todas as outras linguagens previstas na norma IEC 61131-3, baixe o CoDeSys V2.3 ou V3, no site da 3S Software (www.3s-software.com). Você precisará de fazer um cadastro gratuito primeiro.

Abraços!

automacoes.com - Todos os direitos reservados
Desenvolvido por Adailton Cunha