Escolar Documentos
Profissional Documentos
Cultura Documentos
Artigo Iec 61131-3
Artigo Iec 61131-3
Abstract
This article aims to show all the benefits and advantages the norm IEC61131-3,and evaluating the
necessity for more advanced hardware platforms to support it.
Since the advent of PLC's, many languages have been used to write programs for machines and
processes and the result of this lack of standardization reflects the need of trainings in different
equipments and formation of specific maintenance teams for each manufacturer.
The direct consequence, many times not recognized by the users, is the loss of time and money.
To reduce this problem, a group formed in IEC (International Electro-technical Commission) defined
some aspects for PLC's, such as characteristics of the hardware, installation, tests, communication
and programming.
Resumo
O objetivo deste artigo é mostrar todos os benefícios e vantagens que a norma IEC61131-3 trás,
avaliando a necessidade de plataformas de hardware mais avançadas para suportá-la.
Desde o advento dos CLP s, muitas linguagens têm sido utilizadas para escrever programas para
máquinas e processos e o resultado desta falta de padronização acaba se refletindo na necessidade
de treinamentos em diferentes equipamentos e formação de equipes de manutenção específicas
para cada fabricante. A conseqüência direta, muitas vezes não percebida aos usuários, é a perda de
tempo e dinheiro.
Para atenuar este problema, um grupo formado na IEC ( International Electro-technical Commission )
definiu vários aspectos para os CLP s, tais como características do hardware, instalação , testes ,
comunicação e programação.
1. Introdução
Entre as principais vantagens da norma podemos destacar a facilidade que o usuário tem em
estruturar a programação em elementos funcionais ou POU´s (Program Organization Units) e poder
escolher a linguagem em que irá programar determinada parte do projeto. Além disso, utilizando um
ambiente de programação universal, o aprendizado das linguagens da norma, permitirá ao usuário
usar este conhecimento em diferentes sistemas de programação (diferentes fabricantes).
Os programas ou parte deles poderão ser exportados para sistemas de diferentes fabricantes
tornando a linguagem altamente portável.
Especificamente a IEC61131-3 trata das 5 linguagens mais utilizadas em todo o mundo : Function
Block Diagram (FBD), Ladder Diagram (LD), Sequential Function Chart (SFC), Structured Text (ST),
and Instruction List (IL).
Outro aspecto a ser abordado é a evolução tecnológica das CPU´s , pois a nova metodologia de
programação proposta pela norma acaba exigindo CPU´s mais velozes e com maior capacidade de
memória, porém a evolução das famílias de novos microcontroladores tem contribuído para que a
implementação da norma em nível de hardware possa ser feita de forma a não haver queda de
performance dos sistemas.
2. Paradigma de programação
As vantagens da norma IEC 6131-3, poderão ser atenuadas caso não atentemos para a mudança no
modo de programação proposto pela norma.
Esta mudança está relacionada à utilização dos Functions e Functions Blocks possíveis de serem
criados pelo usuário, dando a vantagem de poderem ser reutilizados em novas aplicações, reduzindo
com isto o tempo de desenvolvimento da aplicação e também e o tempo de partida do
sistema/processo.
Esta nova maneira de programar nos leva a quebra de um paradigma de programação para
controladores, pois em função de restrições tecnológicas até então existentes, éramos obrigados a
criar programas em ambientes que não possuíam recursos de reusabilidade, o que produz no jargão
de programação, verdadeiras lingüiças de códigos.
Exemplo , o auto-atendimento de carros num posto de gasolina é feito por um frentista, nos EUA
predomina o auto-atendimento.
No Brasil a tentativa de mudar este paradigma não teve sucesso, seja por motivos corporativos ou
mesmo por facilidade do usuário, esta prática ainda não foi quebrada ou mudada.
Nesta linha, podemos dizer que a programação de Controladores Programáveis está 200 anos
atrasado !!
Esta constatação pode ser relacionada ao processo de manufatura praticado em meados de 1800,
onde a criação de um produto era visto como arte !
Aprendi a fazer cada arma com meus ancestrais: um longo período de treinamento .
As atividades envolvidas na fabricação da arma eram todas elas realizadas por um único artesão :
Cunhar a coronha
Forjar o cabo
Fabricar parafusos
Aparafusar coronha no cabo
Fabricar gatilho
Encaixar tambor
Finalizar o revolver
A manutenção dos produtos em campo é quase impossível, pois apenas o artesão original poderia
reparar as suas criações.
Naquela mesma época, um famoso inventor americano,
Eli Whitney começava a viver seu paradigma particular,
pois ganhara uma licitação do governo americano para
produzir 10.000 mosquetes em 24 meses.
Para saber mais :
www.eliwhitney.org
Na época, a principal fábrica de construção de armas era a Springfield. Baseado na sua produção, o
volume de 5.000 mosquetes seria entregue em 10 anos.
Desta forma Whitney deveria encontrar uma forma diferente, para que pudesse alcançar a meta
pretendida.
Vantagens do modelo :
desempenho dos mosquetes fabricados era muito semelhante, com poucas variações entre si.
O processo de produção, com base em componentes, tornava cada mosquete mais barato.
Cada funcionário se tornava especialista em uma parte do mosquete, o que melhorava a qualidade
global do produto.
Trazendo este fragmento da história para nossa realidade de programação de CLP´s, ainda
identificamos traços marcantes dos artesões da época de 1800 em nossos programadores :
Cada programa é criado por um único programador, sendo raramente adequado para construir outros
programas.
Como exemplo desta técnica, vamos ilustrar o controle de uma Bomba de recalque, com as
seguintes variáveis de entrada :
Veja que após a criação do componente chamado Pump por um especialista, a montagem de um
programa que utiliza este componente, pode ser feita por um profissional que não tenha tanto
conhecimento em desenvolver componentes (montador) .
Com a norma IEC ninguém vai se tornar um super programador a partir do momento que começar a
utilizá-la, nem vai virar um coelhinho e fazer os programas rapidinhos.
Você vai aproveitar componentes de outros projetos, não vai fazer teste de todas as funções, e
apenas irá testar os novos módulos criados.
O aumento na velocidade de desenvolvimento é uma conseqüência das atividades que não precisam
ser realizadas na sua totalidade ao criar-se um novo sistema.
Crio menos, portanto invisto menos tempo para programar utilizando componentes prontos.
Faço uso de componentes já consolidados (com qualidade)
A modularização facilita na verificação da funcionalidade do programa.
A montagem da aplicação pode ser feita por uma mão de obra não especializada, pois está sendo
feito a montagem dos componentes
Facilidade de manutenção:
O melhor plano de manutenção tem como proposta a construção de um produto de qualidade .
No caso de produtos construídos com Functions e Functions block, por terem uma qualidade
intrínseca maior, demandam um esforço menor de manutenção.
Localização de defeitos
A localização dos defeitos fica restrita a montagem dos componentes, e nos mecanismos de solução.
O mecanismo de solução referem-se à entrada de dados do projeto, ou seja toda a especificação da
funcionalidade da planta/ processo, onde algum detalhe pode não ter sido observado ou informações
não devidamente prospectadas durante a fase de especificação fará com que modificações /
correções sejam necessárias.
Na parte da montagem, temos a intervenção de uma mão de obra que não necessariamente precisa
ter uma alta qualificação, pois estará trabalhando na montagem dos componentes padronizados e
funcionais do sistema.
Logicamente que nesta etapa, ajustes e mesmos modificações são previsíveis e aceitáveis.
Diagrama geral
Culpa do Estagiário
Montagem
Rotina 1
Subrotina 1
Rotina 2
Rotina 3
Rotina 3
5.2 Padronização
A norma oferece um conjunto de instruções básicas, que todo fabricante de CP´s necessita ter,
porém deixa em aberto a possibilidade de que o fabricante complemente o set de instruções com
aquelas que achar mais conveniente para seus usuários.
Esta resolução da norma é benéfica pois não engessa o ciclo de criação e desenvolvimento de novas
instruções .
Por outro lado acaba criando uma enorme dificuldade quando o usuário tenta migrar determinados
trechos de programa entre diferentes CP´s (diferentes fabricantes).
Para estas situações , a PLCopen (ver item sobre divulgação da norma) criou um selo de
conformidade denominado Portability Level , onde são definidos os requisitos de portabilidade que
os fabricantes devem respeitar ao exportar um determinado Function ou Function Block.
6. Divulgação da norma
È praticamente impossível passar em poucas páginas todo o volume de informações que a norma
demanda, sendo de extrema conveniência que o leitor complemente seu conhecimento da norma
com leituras adicionais.
Neste sentido , existem dois importantes sites sobre a norma que o leitor deve visitar :
6.1 Site oficial da norma é o www.plcopen.org, onde desde sua fundação em 1992, a
PLCopen se tornou numa associação profissional mundial com cerca de 100 membros e escritórios
na Europa, EUA e Japão. Isto mostra claramente o sucesso da norma mundial IEC 61131-3 e o
objetivo da PLCopen como uma promotora independente desta norma para programação de
controladores industriais.
A PLCopen, como uma organização ativa no Controle Industrial, está criando uma alta eficiência para
o desenvolvimento do software aplicativo: em um único projeto assim como em um alto volume de
produtos. É embasada em ferramentas padrões disponíveis, para as quais extensões são e serão
definidas. Com resultados como a biblioteca para Motion Control, Segurança, Especificação XML,
Níveis de Reutilização e Conformidade, a PLCopen faz sólidas contribuições para a comunidade,
estendendo a independência entre o software e o hardware, assim como a reutilização de código e
integração com ferramentas externas de software.
6.2 Site www.IEC61131.com.br , que é o primeiro site brasileiro a divulgar a norma, tendo como
missão além da divulgação da norma, também promover a troca de informações entre os usuários
de controladores programáveis.
7. Mudança do patamar tecnológico
Em sistemas (hardware) que originalmente não suportavam a construções em IEC61131, caso
passem a fazê-lo, inevitavelmente haverá uma queda de performance (velocidade de
processamento).
Este efeito acontece em função de que determinadas estruturas da norma como Function e Function
Block demandam maior quantidade de memória e também de maior tempo para mudança de
contexto, que acontece quando há a passagem de parâmetros para a estrutura interna das funções
criadas.
Além desta demanda, outras funções inerentes aos CP´s de primeira linha como a programação on-
line e redundância, fazem com que uma quantidade maior de memória sejam necessária para
implementá-las.
Esta nova geração de microcontroladores está dando suporte a criação de novos produtos industriais,
que passaram a comportar estruturas complexas, além de terem melhorado a velocidade de
processamento.
Como exemplo, podemos destacar a família Blackfin de microcontroladores da Analog Device, cujas
características podem ser observadas na tabela abaixo :
Características básicas :
Programação RISC (Reduced Instruction Set Computing) : que torna a busca das instruções mais
rápidas.
32 K byte de memória Cache : Trata-se de uma porção de memória que roda na mesma
freqüência do core, utilizada para antecipar as próximas instruções tornando o processamento mais
rápido, pois o core busca a próxima instrução na Cachê e não na memória externa
Suporte para até 512Mbyte de SDRAM : As SDRAM (Synchronous Dinamic RAM ) , são memórias
RAM de alta freqüência, são utilizadas para receber firmware do microcontrolador , fazendo com que o mesmo
possa rodar mais rápido quando comparado com as memórias Flash .
Componentes da norma :
Neste sentido a norma permite que o programador inicie seu trabalho criando partes funcionais do
projeto como functions ou functions Block ou então criando a estrutura principal do projeto , esta
facilidade em programar recebe o nome de programação top-down ' ou ' bottom-up '.
Top Down
Common Elements
Programming Languages
Bottom Up
Linguagens de programação:
A norma possui 5 linguagens , sendo 3 gráficas e 2 funcionais. O resumo das linguagens pode ser
visto no quadro abaixo :
TEXTUAIS GRÁFICAS
Exemplos de codificação de um comando composto por dois contatos e uma saída feito nas
linguagens IL,ST,FBD e Ladder :
AND
A C A B C
B -| |--|/|----------------( )
A linguagem SFC : Seqüencial Function Chart
Histórico:
A linguagem SFC é derivado do Grafcet ( Graphe Fonctionnel de Command Etape-Transition).cuja
origem veio da representação de processos baseados nas Redes de Petri.
Em 1988, foi publicado o padrão IEC848, baseado na linguagem Grafcet, sendo que a norma
IEC61131 -3 introduziu pequenas modificações no padrão IEC848, visando acoplar esta linguagem
às demais linguagens da norma.
Agitator
Feed valve
Acidic reagent
Alkali reagent
Temperature
sensor
pH sensor
Heater band
Harvest valve
A figura yy apresenta os principais elementos da construção em SFC do controle do reator
S1 N Inicialização
S3 N Aquecimento
S4 N Fermentação
TimerFerm=1
S5 N Descarga
S6 N Limpeza
Chave_Liga=0
STOP
Palavras chaves utilizadas na norma:
Configuration
Data types
Functions
Function Blocks
Programs
Task Preemptive
Task Non- Preemptive
Task
Configuration (configuração)
Configuração no Âmbito da norma IEC não deve ser confundida com o termo normalmente usado
para expressar os passos para definição de parâmetros e setups para um sistema, ou seja
configurando um sistema .
Configuration portanto, define a planta, o sistema, que pode conter um ou mais equipamentos
interagindo entre si, através de interfaces de comunicação padronizada pela norma.
Resource (Recurso)
Dentro de cada configuração podem existir um ou mais recursos. Um recurso é basicamente qualquer
elemento com capacidade de processamento, responsável pela execução do programa.
Program
Equivale ao programa principal propriamente dito, porém na norma a prática de dividir o projeto em
trechos menores é uma regra, dando origem à criação de vários Programs pelo usuário.
Podem ser escritas em qualquer uma das quatro linguagens.
Function
As functions são elementos que quando executados com um certo conjunto de valores de entrada
(parâmetros) produzem um único dado como resultado.
As funções não são instanciáveis isto é, só existem em tempo de execução, não sendo necessário
um identificador para alocação de memória.
As operações aritméticas são exemplos comuns de funções.
Function Block
Os function Block diferentemente das functions podem ser instanciadas, o que permite persistência
de dados, ou seja, os valores de suas variáveis são preservados entre uma execução e outra.
Exemplos: Blocos PID, Contadores, temporizadores Filtros etc
Uma instância, é um conjunto de dados armazenado em uma estrutura definida pelo tipo de function
Block, e identificados pelo número da instância criada.
Task
Outro termo abstrato definido pela norma e pode ser entendido como sendo uma informação
adicional ao program , que diz ao controlador quando executar determinado program.
base de tempo: O Program associado a esta task é executado a cada período definido pelo usuário
por evento: O programa associado a esta task é executado na transição de um estado interno
booleano
Prioridade: define a ordem em que os programs serão executados, começando o de maior prioridade
com o menor índice.
Task preemptivos: interrompem a execução de uma task de menor prioridade, podendo ser
definidas por base de tempo ou por evento externo como exemplo uma entrada digital ou analógica.
Task não preemptivos: não interrompem a task corrente (aguarda a vez), podendo ser definidas
também por base de tempo ou estados interno do controlador
Data types
A norma IEC 61131-3 , nos mostra uma nova forma de programar Controladores Programáveis,
onde dentre tantas vantagens , se destaca a possibilidade de criação dos Functions e Functions
Blocks, que são componentes reutilizáveis, que quando corretamente entendidos e utilizados, farão
com que as aplicações se tornem mais versáteis e modulares, dando como resultado uma redução do
tempo de desenvolvimento, teste e implantação de sistemas de automação.
Estes benefícios só serão obtidos caso haja uma conscientização por parte do corpo gerencial das
empresas em dar a oportunidade , o espaço para que a transição possa ocorrer de forma gradual.
O risco desta transição existe, pois a maturidade desta nova tecnologia ainda não atingiu um nível
ideal de acomodação , principalmente no que se refere à troca de componentes entre fabricantes.
Em contrapartida, os novos hardwares estão cada vez mais aptos a acomodar a programação
IEC61131-3, em função do aumento de performance e também do aumento da capacidade de
endereçamento.
Não é difícil prever que daqui a pouco mais de 2 anos, a norma não será mais uma novidade para
entre os usuários de CP´s .
È um processo irreversível, e quem agora apostar nesta transição certamente terá um diferencial
competitivo importante sobre seus concorrentes.
TORRES, GABRIEL ; Título: Redes de Computadores: Curso Completo ; Editora: Axcel Books.