Upload
leonardo-cruz
View
305
Download
14
Embed Size (px)
Citation preview
IEC-61131-3 - Vantagens e desvantagens da programação de CLPs
Com os avanços da tecnologia, os controladores modernos vão ficando cada vez mais
complexos, responsáveis por transmitir e receber um fluxo crescente de informações, mas
ainda devem manter o compromisso com a robustez e confiabilidade
Rodrigo de Toledo Caropreso
Histórico dos Sistemas de Controle
Para entender melhor como a norma IEC-61131 foi criada é interessante mostrar rapidamente
um pouco da história dos sistemas de controle, mostrando alguns aspectos relevantes dos
avanços tecnológicos que ocorreram ao longo dos anos.
A primeira necessidade de se desenvolver um sistema de controle surgiu durante a Revolução
Industrial (no século XIX) e a solução veio através dos sistemas mecânicos, responsáveis pela
automatização de certas tarefas. Apesar de serem uma solução inovadora, estes sistemas
tinham a desvantagem de serem específicos a uma determinada tarefa e possuírem uma vida
útil relativamente curta.
Já no início do século 20, entraram em cena os sistemas baseados em lógica de relés, que
permitiam o desenvolvimento de uma lógica de controle mais sofisticada e foram largamente
empregados na indústria.
Na década de 60, o surgimento dos circuitos integrados revolucionou a Eletrônica,
proporcionando também a criação de uma nova geração de sistemas de controle mais
modernos e robustos (a vida útil dos sistemas baseados na nova tecnologia era
significativamente maior do que aqueles baseados em relés).
Quando os primeiros computadores comerciais começaram a se popularizar, sua utilização
como controladores de sistemas de grande porte foi cogitada e isso culminou em uma nova
0“revolução” na área de controle (sua principal vantagem era a maior flexibilidade de
programação em relação aos sistemas com relés e CIs). A demanda por computadores
adequados à realidade das fábricas acabou por tornar o surgimento do CLP uma realidade no
início da década de 70. A possibilidade de se rodar um ou mais programas, que podiam ser
escritos e compilados em um computador comum e depois transferidos e carregados na CPU
do controlador fizeram com que o CLP fosse largamente empregado na indústria e até hoje
ele é um dos elementos mais importantes de toda a planta.
Os avanços da tecnologia não pararam e vários fornecedores de software apresentaram o
conceito do Soft PLC: um software de tempo real que executa o programa de controle em um
computador PC padrão, tornando o equipamento (hardware) independente do fabricante. Essa
proposta é relativamente nova e ainda não foi adotada pelos fabricantes como um padrão
industrial, ou seja, ainda existe incompatibilidade entre programas de controle desenvolvidos
por Soft PLCs de fornecedores diferentes.
Todo esse avanço também traz consigo uma série de desvantagens que devem ser analisadas
e dentre elas é possível destacar:
Linguagens de Desenvolvimento Proprietárias: as soluções apresentadas pelos fabricantes,
apesar de similares, apresentam peculiaridades no tocante às linguagens de programação.
Essas diferenças podem resultar em incompatibilidade de hardware, retrabalho e custo
adicional ao usuário de CLP.
Qualidade de Software: com o aumento na taxa de automatização de sistemas, a
complexidade dos programas de controle também cresce e a qualidade de software se torna
uma necessidade para a indústria. A Engenharia de Software precisa atuar de forma cada vez
mais intensa no desenvolvimento de projetos.
Redução de Custos de Software: a padronização de pacotes de software proporciona uma
grande redução de custo.
Portabilidade de aplicações: o mercado de CLPs não possui uma portabilidade de
aplicações tão eficiente quanto os PCs modernos. Entretanto, essa portabilidade garantiria
maior confiabilidade nos sistemas, minimização de retrabalho e conseqüente redução de
custos.
Reutilização de Software: este é um requisito cada vez mais freqüente quando o assunto é
desenvolvimento de sistemas baseados em software. Proporciona todas as vantagens citadas
logo acima.
Uma forma de resolver os problemas propostos acima e atender às necessidades da
comunidade industrial foi adotada pela International Electrotechnichal Commision (IEC), em
1979, baseada na avaliação toda a situação, uma norma que pudesse auxiliar no
desenvolvimento de sistemas.
Norma IEC-61131 – Principais Características
A norma IEC-61131 foi criada para atender a demanda do mercado de controle industrial e
padroniza as múltiplas linguagens, conjuntos de instruções e conceitos existentes no campo
da automação de sistemas. Essa norma é dividida em partes de acordo com a tabela 1.
T1 – Partes da Norma IEC 61131.
A norma IEC 61131-3 é a mais importante de toda a tabela, pois trata exatamente de estrutura
de software que deve ser adotada e das principais características que devem ser
implementadas e suportadas pelas linguagens de programação (que ela também define).
Além da criação da norma IEC-61131, foi fundada em 1992, a PLCOpen (www.plcopen.org),
uma associação independente, cuja principal “missão” é tratar de assuntos relacionados à
programação de controle (as informações da tabela 1 acima foram obtidas no site da
PLCOpen). E dentre suas principais atribuições está a divulgação e suporte ao uso da norma
IEC-61131-3, como também a certificação de produtos.
Modelo de Software e linguagens de programação
A norma IEC-61131-3 foi desenvolvida levando-se em conta um aspecto muito importante
para a programação de sistemas complexos: a componentização, ou seja, a capacidade de
decompor o software em partes menores (componentes), capazes de serem gerenciadas
adequadamente e de forma independente (também chamada de modularização).
Além disso, outro conceito muito importante para a produtividade na área de software é o de
“reutilização”. Aliado ao conceito de modularização, esse conjunto se torna uma ferramenta
poderosa para o desenvolvimento de sistemas.
Ao propor seu modelo de software, a norma já inova em sua proposta, mostrando uma visão
diferente em relação ao CLP convencional. Enquanto este utiliza o modelo “1 – Lê entradas;
2 – Executa instruções; 3 – Atualiza saídas”, a norma define um modelo baseado em
multitarefa, onde é possível o processamento de mais de uma tarefa, de forma periódica ou
então baseada em eventos que disparam processos específicos. A figura 1 mostra o modelo
proposto pela norma.
F1 – Modelo de Software da Norma IEC 61131.
Cabe aqui a definição dos conceitos mostrados pela figura 1:
-Configuração: define todos os elementos que interagem entre si para executar a lógica de controle.
Normalmente, corresponde ao software necessário para um único CLP, mas pode comportar
diversos controladores;
-Recurso: elemento com capacidade de processamento, responsável pela execução de programas;
-Programa: contém a lógica de controle, escrita em uma das 5 linguagens padrão IEC, definidas pela
norma;
-Tarefas: controlam a execução de programas ou blocos funcionais, de forma periódica ou
engatilhada por eventos (triggers);
-Blocos Funcionais (Function Blocks): elemento-chave da norma IEC-61131. Permite criação de
elementos de software reutilizáveis e programas;
-Caminhos de acesso: permitem a transferência de dados (escrita/leitura) entre diferentes recursos
e/ou configurações.
Além do modelo de software, a norma também define as linguagens de programação a serem
utilizadas, seus elementos comuns, padrões e conjuntos de caracteres, tipos e estruturas de dados,
palavras-chave e identificadores. São 5 as linguagens de programação definidas pela norma:
-Lista de Instruções (IL): linguagem textual de baixo nível, similar ao Assembler, baseada em
acumulador simples. Normalmente utilizada para problemas menos complexos ou como resultado
de compilação de uma linguagem mais complexa;
-Texto Estruturado (ST): linguagem textual de alto nível, similar ao Pascal (ISO 7185), mais fácil de
interpretar e entender. Recomendada para cálculos aritméticos mais complexos, por apresentar
uma lista de instruções superior à IL;
-Diagramas Ladder (LD): linguagem gráfica baseada em diagramas elétricos que
representam contatos e bobinas, seguindo o modelo de lógica de relés. As versões híbridas
desta linguagem contam com blocos funcionais para temporizadores (timers) e contadores,
dentre outros;
-Diagramas de Blocos Funcionais (FBD): linguagem gráfica baseada em diagramas de
circuitos que representam blocos, modelando o sistema em termos de fluxo de sinais entre os
elementos de processamento;
-Sequenciamento Gráfico Funções (SFC): linguagem gráfica baseada em técnicas correntes
de descrição de fluxo seqüencial, composta por blocos de ação e transições, similar a uma
“máquina de estados”. O modelo SFC tem suas origens nos estudos das Redes de Petri e é
uma representação adequada para processos de “batelada” (batch).
Dentre as linguagens citadas acima, os diagramas Ladder (figura 2) são utilizados com maior
freqüência na indústria, devido ao fato de estarem diretamente relacionados à lógica de relés,
adotada há muito tempo pelas empresas como lógica de controle. Entretanto, a constante
busca por modelos que possam representar o fluxo do sistema de forma mais ampla, tem
resultado num interesse cada vez maior do mercado em relação às demais linguagens
gráficas, principalmente a SFC.
F.2 – Exemplo de diagrama Ladder, linguagem de programação muito comum em sistemas
de controle.
Vantagens e aplicações da norma
A multitarefa, juntamente com a modularização e elementos que permitem sua reutilização
(oriundos dos conceitos de Programação Orientada a Objetos – OOP), tornam o modelo proposto
pela norma extremamente flexível e poderoso. Ele permite o processamento distribuído e a forma
de representar o mundo real (modelagem do sistema) apresenta vantagens para o desenvolvedor
em comparação ao modelo anterior à criação do padrão IEC-61131, em todas as etapas de
desenvolvimento: captação e tratamento de pré-requisitos, onde o programador já pode criar
“classes de requisitos”, sabendo que poderá representar essas classes e seus processos através dos
“módulos” que as linguagens da norma permitem utilizar; estruturação do sistema, onde o
programador pode criar seus componentes e blocos funcionais de acordo com sua necessidade e
reutilizá-los em desenvolvimentos e projetos posteriores; na implantação, onde o sistema pode ser
dividido em tarefas adequadamente e distribuído em CLPs multiprocessados; e na fase de
manutenção, onde um componente de software pode ser atualizado ou corrigido sem que haja
necessidade de se interferir na lógica completa do sistema, diminuindo o retrabalho e “efeitos
colaterais” no software de controle.
Uma conseqüência da utilização da norma é a exigência de um hardware de controle (CLP) mais
poderoso, com mais memória e capacidade de gerenciamento dinâmico dela (para a alocação de
objetos e function blocks). Isso poderia tornar o projeto de um sistema mais oneroso, porém os
benefícios proporcionados pelo modelo de software reduzem os custos nas fases mais
problemáticas do projeto (implantação e manutenção), o que viabiliza a utilização dele em sistemas
industriais.
E de fato isso vem ocorrendo: cada vez mais empresas estão adequando seus controladores de
sistemas à norma IEC-61131, fornecendo soluções de software baseadas nela. Já é possível
encontrar plantas industriais controladas por CLPs rodando sistemas distribuídos em Ladder ou SFC e
fazendo uso de multitarefa preemptiva, seguindo os conceitos do padrão IEC 61131, demonstrando
que esse modelo está realmente sendo aceito e está se firmando cada vez mais (para a alegria dos
programadores).
*Rodrigo de Toledo Caropreso é engenheiro eletricista do departamento de desenvolvimento
eletrônico da Smar Equipamentos Industriais Ltda.