CLP - Uso e aplicações na engenharia
Por: Hugo.bassi • 20/3/2018 • 5.890 Palavras (24 Páginas) • 358 Visualizações
...
-
LINGUAGENS E INSTRUÇÕES
A norma IEC 61131-3 define duas linguagens gráficas e duas linguagens baseadas em texto para a programação de CLPs. As linguagens gráficas usam símbolos para representar as instruções do programa de controle, enquanto as linguagens baseadas em texto usam palavras como instruções.
As linguagens gráficas são:
- Diagramas Ladder (LD)
- Diagramas de Blocos Funcionais (FBD) As linguagens baseadas em texto são:
- Lista de Instruções (IL)
- Texto Estruturado (ST)
Adicionalmente, a norma IEC61131-3 inclui uma estrutura que permite a programação orientada a objetos, este recurso é chamado Gráfico Seqüencial de Funções (SFC). O SFC é muitas vezes considerado como uma linguagem de programação da norma IEC 61131-3, mas realmente ele é uma ferramenta que permite criar programas de forma organizada usado as quatro linguagens de programação definidas pela norma (LD, FBD, IL e ST).
A estrutura do SFC é muito semelhante aos fluxogramas utilizados em programação de computadores. Nele, tarefas de controle diferentes podem ser escritas utilizando linguagens diferentes. A estrutura básica do SFC é baseada no método de modelagem de sistemas GRAFCET (IEC 848).
A norma IEC 61131-3 estabelece um método de programação em blocos gráfico ou orientado a objetos, este método aumenta a flexibilidade na criação e depuração de programas para os CLPs. O método permite que seções de um programa sejam agrupadas individualmente como tasks, as quais podem ser facilmente interligadas com o restante do programa. Assim, um programa completo, que siga a norma IEC 61131-3, pode ser formado por diversas pequenas tasks, representando um bloco gráfico dentro de um SFC. Pela norma IEC 61131-3, é possível a combinação de linguagens durante a criação de um programa de controle no CLP. Este recurso facilita as tarefas de programação e depuração nos CLPs, já que torna possível implementar cada solução de controle através da linguagem de programação mais apropriada.
A norma IEC 61131-3 define uma grande variedade de funções e blocos funcionais e todos operam com variáveis. Cada variável em um programa deve poder armazenar um determinado tipo de dado, e a norma define um grande número de tipos de dados. A Tabela 1 mostra alguns exemplos dos tipos de dados, funções e blocos funcionais definidos pela norma.
Os tipos de dados estão relacionados com o tipo de informação recebida pelo CLP, tais como informações binárias, números reais, informações de data e hora. Já as funções são operações que manipulam estes dados, tais como comparação, inversão e adição. Os blocos funcionais são conjuntos de funções, arranjadas na forma de instruções, criados para trabalhar com blocos de dados. As variáveis, além de estarem associadas a um tipo de dado, devem também ser associadas a um escopo. O escopo de uma variável se refere a característica de utilizar a variável em uma aplicação. As variáveis globais podem ser usadas por qualquer programa na aplicação, enquanto as variáveis locais podem ser usadas somente por um programa específico.
A norma IEC 61131-3, além de definir tipos de variáveis, funções e blocos funcionais padronizados, permite que usuários e fabricantes de CLPs definam seus próprios elementos de programação. Assim, a norma não especifica um conjunto fixo e rígido de elementos para programação, mas estabelece um conjunto básico de elementos
padronizados, e permite o acréscimo de elementos adicionais conforme as características do CLP e da aplicação em que ele será utilizado.
Tabela 1: Elementos de programação definidos pela norma IEC 61131-3
Tipos de dados de variáveis
- Strings baseadas em bits (booleanos ou bit, byte, word)
- Números inteiros (com ou sem sinal)
- Números reais
- Hora e data
- Strings de caracteres ASCII
- Definidos pelo usuário ou pelo fabricante do CLP (simples ou matriz)
Funções
- Baseadas em bits (booleanas: AND, OR, NOT, etc.)
- Numéricas/aritméticas (ADD, SUB, MUL, DIV, SQR, LOG, LN, SIN, COS, TAN, etc.)
- Funções de conversão de dados
- Funções seletivas (LIMIT, MAX, MIN, etc.)
● Comparações (>, =, =)
- Funções de strings ASCII (LEN, LEFT, RIGHT,INSERT, REPLACE, DELETE, etc.)
- Funções definidas pelo usuário ou pelo fabricante do CLP
Blocos funcionais
- Flip-flops
- Detectores de bordas (↑,↓)
- Contadores (crescente, decrescente, crescente/decrescente)
- Temporizadores (TON, TOF)
- Blocos definidos pelo usuário ou pelo fabricante do CLP
Escopo de variáveis
- Global
- Local
A flexibilidade em relação a tipos de dados e funções da norma IEC 61131-3 permite aos fabricantes de CLPs fornecerem instruções que considerem necessárias, as que não estejam definidas pela norma. Tais instruções podem servir a recursos muito específicos, como por exemplo, um bloco funcional de controle de posicionamento para operar um módulo de controle de servo-motor. Este bloco funcional pode utilizar como parâmetros variáveis com os tipos de dados definidos pela norma, mas este bloco somente estará disponível para ser usado em programas dos CLPs compatíveis com o módulo. Outros CLPs, mesmo em conformidade com a norma, não poderão utilizar tal bloco funcional.
-
DECLARAÇÃO DE VARIÁVEIS
Durante a implementação de um programa de controle em um CLP, o usuário deve nomear,
...