iec_61131-3

download iec_61131-3

of 16

Transcript of iec_61131-3

Benefcios da norma IEC61131-3 aplicada a CLP sJoo Aristides Bottura Filho [email protected]

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 benefcios e vantagens que a norma IEC61131-3 trs, avaliando a necessidade de plataformas de hardware mais avanadas para suport-la. Desde o advento dos CLP s, muitas linguagens tm sido utilizadas para escrever programas para mquinas e processos e o resultado desta falta de padronizao acaba se refletindo na necessidade de treinamentos em diferentes equipamentos e formao de equipes de manuteno especficas para cada fabricante. A conseqncia direta, muitas vezes no percebida aos usurios, a perda de tempo e dinheiro. Para atenuar este problema, um grupo formado na IEC ( International Electro-technical Commission ) definiu vrios aspectos para os CLP s, tais como caractersticas do hardware, instalao , testes , comunicao e programao.

1. IntroduoEntre as principais vantagens da norma podemos destacar a facilidade que o usurio tem em estruturar a programao em elementos funcionais ou POUs (Program Organization Units) e poder escolher a linguagem em que ir programar determinada parte do projeto. Alm disso, utilizando um ambiente de programao universal, o aprendizado das linguagens da norma, permitir ao usurio usar este conhecimento em diferentes sistemas de programao (diferentes fabricantes). Os programas ou parte deles podero ser exportados para sistemas de diferentes fabricantes tornando a linguagem altamente portvel. 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 evoluo tecnolgica das CPUs , pois a nova metodologia de programao proposta pela norma acaba exigindo CPUs mais velozes e com maior capacidade de memria, porm a evoluo das famlias de novos microcontroladores tem contribudo para que a implementao da norma em nvel de hardware possa ser feita de forma a no haver queda de performance dos sistemas.

2. Paradigma de programaoAs vantagens da norma IEC 6131-3, podero ser atenuadas caso no atentemos para a mudana no modo de programao proposto pela norma. Esta mudana est relacionada utilizao dos Functions e Functions Blocks possveis de serem criados pelo usurio, dando a vantagem de poderem ser reutilizados em novas aplicaes, reduzindo com isto o tempo de desenvolvimento da aplicao e tambm e o tempo de partida do sistema/processo. Esta nova maneira de programar nos leva a quebra de um paradigma de programao para controladores, pois em funo de restries tecnolgicas at ento existentes, ramos obrigados a criar programas em ambientes que no possuam recursos de reusabilidade, o que produz no jargo de programao, verdadeiras lingias de cdigos.

Mas o que um paradigma ? Paradigma um modelo, um padro de comportamento normalmente aceito por todos, senso comum, praticas consagradas . 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 no teve sucesso, seja por motivos corporativos ou mesmo por facilidade do usurio, esta prtica ainda no foi quebrada ou mudada. Os paradigmas normalmente representam um obstculo a um novo conceito, a novas idias. Nesta linha, podemos dizer que a programao de Controladores Programveis est 200 anos atrasado !! Esta constatao pode ser relacionada ao processo de manufatura praticado em meados de 1800, onde a criao de um produto era visto como arte ! Podemos citar como exemplo um fabricante de arma de fogo daquele tempo: Aprendi a fazer cada arma com meus ancestrais: um longo perodo de treinamento . Hoje sou responsvel pela fabricao de cada revlver que assino . So verdadeiras obras de arte! As atividades envolvidas na fabricao da arma eram todas elas realizadas por um nico arteso : Cunhar a coronha Forjar o cabo Fabricar parafusos Aparafusar coronha no cabo Fabricar gatilho Encaixar tambor Finalizar o revolver

Conseqncias marcantes dos processos artesanais: Processo de fabricao artesanal lento, penoso e caro.

Qualidade dos produtos varia com a habilidade do arteso. Processo inviabiliza a padronizao do desempenho dos produtos. A manuteno dos produtos em campo quase impossvel, pois apenas o arteso original poderia reparar as suas criaes. Naquela mesma poca, um famoso inventor americano, Eli Whitney comeava a viver seu paradigma particular, pois ganhara uma licitao do governo americano para produzir 10.000 mosquetes em 24 meses. Para saber mais : www.eliwhitney.org

Na poca, a principal fbrica de construo de armas era a Springfield. Baseado na sua produo, o volume de 5.000 mosquetes seria entregue em 10 anos. Desta forma Whitney deveria encontrar uma forma diferente, para que pudesse alcanar a meta pretendida.

Mudanas propostas ou Paradigma de Whitney :Montar os mosquetes compondo partes padronizadas, livremente intercambiveis Especialistas seriam responsveis por fabricar cada tipo de parte. Um padro rigorosamente definido assegurava que as partes eram funcionalmente idnticas. Montadores seriam responsveis por montar as partes e testar o produto final.

Vantagens do modelo :desempenho dos mosquetes fabricados era muito semelhante, com poucas variaes entre si. O processo de produo, com base em componentes, tornava cada mosquete mais barato. Cada funcionrio se tornava especialista em uma parte do mosquete, o que melhorava a qualidade global do produto. A manuteno envolvia o conceito de substituio de partes intercambiveis.

Comparao com a maneira atual de programaoTrazendo este fragmento da histria para nossa realidade de programao de CLPs, ainda identificamos traos marcantes dos arteses da poca de 1800 em nossos programadores : Cada programa criado por um nico programador, sendo raramente adequado para construir outros programas. A manuteno por outro programador do programa criado uma verdadeira aventura, pois o entendimento muitas vezes no claro em funo da forma e mtodos que o programador original utilizou em sua obra de arte

3. Revoluo industrial para software dos Controladores (IEC61131-3) :O sucesso na nova forma de se programar, baseia-se em identificar e dividir o programa em mdulos, em partes que quando corretamente codificadas, podero ser reutilizadas em outras aplicaes. A norma IEC61131-3 contribu de forma marcante neste processo, pois d aos programadores a possibilidade de se construir uma biblioteca de Function e Functions Blocks de usurio, cujas instncias (Function Block) so utilizadas vrias vezes na mesma aplicao e tambm para montar novas solues. Como exemplo desta tcnica, vamos ilustrar o controle de uma Bomba de recalque, com as seguintes variveis de entrada :

O diagrama em Ladder para fazer o controle mostrado na figura abaixo :

O que um function e um function Block de usurio ?

Aps ter sido criado o Function Block de usurio, o mesmo poder ser declarado nos Programs , sendo possvel declarar quantos Functions Block do tipo Pump forem necessrios.

Veja que aps a criao do componente chamado Pump por um especialista, a montagem de um programa que utiliza este componente, pode ser feita por um profissional que no tenha tanto conhecimento em desenvolver componentes (montador) .

4. Riscos e Benefcios na utilizao da norma IEC61131-3Benefcios em Potencial Desenvolvimento mais rpido Com a norma IEC ningum vai se tornar um super programador a partir do momento que comear a utiliz-la, nem vai virar um coelhinho e fazer os programas rapidinhos. Voc vai aproveitar componentes de outros projetos, no vai fazer teste de todas as funes, e apenas ir testar os novos mdulos criados. O aumento na velocidade de desenvolvimento uma conseqncia das atividades que no precisam ser realizadas na sua totalidade ao criar-se um novo sistema. Custo reduzido de desenvolvimento com mais qualidade : Crio menos, portanto invisto menos tempo para programar utilizando componentes prontos. Fao uso de componentes j consolidados (com qualidade) A modularizao facilita na verificao da funcionalidade do programa. A montagem da aplicao pode ser feita por uma mo de obra no especializada, pois est sendo feito a montagem dos componentes

Facilidade de manuteno: O melhor plano de manuteno tem como proposta a construo de um produto de qualidade . No caso de produtos construdos com Functions e Functions block, por terem uma qualidade intrnseca maior, demandam um esforo menor de manuteno. Localizao de defeitos A localizao dos defeitos fica restrita a montagem dos componentes, e nos mecanismos de soluo. O mecanismo de soluo referem-se entrada de dados do projeto, ou seja toda a especificao da funcionalidade da planta/ processo, onde algum detalhe pode no ter sido observado ou informaes no devidamente prospectadas durante a fase de especificao far com que modificaes / correes sejam necessrias. Na parte da montagem, temos a interveno de uma mo de obra que no necessariamente precisa ter uma alta qualificao, pois estar trabalhando na montagem dos componentes padronizados e funcionais do sistema. Logicamente que nesta etapa, ajustes e mesmos modificaes so previsveis e aceitveis.

Diagrama geral

Culpa do EstagirioMontagem

Mecanismo de soluo

No identifiquei 100% as necessidades do projeto Ao longo do tempo fica livre de bugs e utilizada em todos os programas da empresa Estvel desde o incio

Biblioteca do usurio

Biblioteca do Fabricante

Reparo de defeitos Um problema comum em produtos desenvolvidos de forma convencional a cascata de reparos . O reparo de um defeito tende a revelar outro defeito e assim sucessivamente.

Rotina 1 Subrotina 1 Rotina 2

Rotina 3

Rotina 3

No caso de um processo centrado em Functions e Functions Block, o programa construdo com um maior grau de modularidade e por apresentar mdulos definidos, a chance das alteraes ficarem confinadas nos Functions bem maior.

5. Riscos da transio para a tecnologia de objetos5.1 Maturidade da tecnologia A Norma IEC61131-3 ainda no esta presente em todos os fabricantes de controladores. Mesmo os que dizem que a seguem, no possuem todos os recursos que a norma disponibiliza. A implantao da norma muitas vezes passar por estgios, onde as linguagens iro paulatinamente sendo incorporadas s novas verses dos aplicativos. Isto faz com que a haja um freio natural na disseminao da norma, cabendo ao usurio saber dimensionar de forma consistente as fases que dever percorrer at que o prprio fornecedor oferea todos os recursos da norma. 5.2 Padronizao A norma oferece um conjunto de instrues bsicas, que todo fabricante de CPs necessita ter, porm deixa em aberto a possibilidade de que o fabricante complemente o set de instrues com aquelas que achar mais conveniente para seus usurios. Esta resoluo da norma benfica pois no engessa o ciclo de criao e desenvolvimento de novas instrues . Por outro lado acaba criando uma enorme dificuldade quando o usurio tenta migrar determinados trechos de programa entre diferentes CPs (diferentes fabricantes). Para estas situaes , a PLCopen (ver item sobre divulgao da norma) criou um selo de conformidade denominado Portability Level , onde so definidos os requisitos de portabilidade que os fabricantes devem respeitar ao exportar um determinado Function ou Function Block.

6. Divulgao da norma praticamente impossvel passar em poucas pginas todo o volume de informaes que a norma demanda, sendo de extrema convenincia 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 fundao em 1992, aPLCopen se tornou numa associao profissional mundial com cerca de 100 membros e escritrios na Europa, EUA e Japo. Isto mostra claramente o sucesso da norma mundial IEC 61131-3 e o objetivo da PLCopen como uma promotora independente desta norma para programao de controladores industriais. A PLCopen, como uma organizao ativa no Controle Industrial, est criando uma alta eficincia para o desenvolvimento do software aplicativo: em um nico projeto assim como em um alto volume de produtos. embasada em ferramentas padres disponveis, para as quais extenses so e sero definidas. Com resultados como a biblioteca para Motion Control, Segurana, Especificao XML, Nveis de Reutilizao e Conformidade, a PLCopen faz slidas contribuies para a comunidade, estendendo a independncia entre o software e o hardware, assim como a reutilizao de cdigo e integrao com ferramentas externas de software.

6.2 Site www.IEC61131.com.br , que o primeiro site brasileiro a divulgar a norma, tendo como misso alm da divulgao da norma, tambm promover a troca de informaes entre os usurios de controladores programveis.

7. Mudana do patamar tecnolgicoEm sistemas (hardware) que originalmente no suportavam a construes em IEC61131, caso passem a faz-lo, inevitavelmente haver uma queda de performance (velocidade de processamento). Este efeito acontece em funo de que determinadas estruturas da norma como Function e Function Block demandam maior quantidade de memria e tambm de maior tempo para mudana de contexto, que acontece quando h a passagem de parmetros para a estrutura interna das funes criadas. Alm desta demanda, outras funes inerentes aos CPs de primeira linha como a programao online e redundncia, fazem com que uma quantidade maior de memria sejam necessria para implement-las. A favor da implantao da norma, os novos microcontroladores j trazem incorporado em suas estruturas diversas facilidades antes s disponvel em controladores de base PC. Esta nova gerao de microcontroladores est dando suporte a criao de novos produtos industriais, que passaram a comportar estruturas complexas, alm de terem melhorado a velocidade de processamento. Como exemplo, podemos destacar a famlia Blackfin de microcontroladores da Analog Device, cujas caractersticas podem ser observadas na tabela abaixo : Microcontrolador ADSP BF537 Caractersticas bsicas : Programao RISC (Reduced Instruction Set Computing) : que torna a busca das instrues mais rpidas. Freqncia de core de at 600Mhz: Os processadores convencionais possuem freqncia de at 50 Mhz Freqncia de perifricos de at 133Mhz : Os perifricos normalmente para estes processadores so SDRAMs e memrias Flash em geral 32 K byte de memria Cache : Trata-se de uma poro de memria que roda na mesma freqncia do core, utilizada para antecipar as prximas instrues tornando o processamento mais rpido, pois o core busca a prxima instruo na Cach e no na memria externa 10 nveis de pipeline - O pipeline uma forma de aumentar o poder de processamento do controlador, onde as instrues subseqentes so lidas durante determinados ciclos de execuo das instrues anteriores. Est tcnica pode levar o microprocessador a executar uma instruo por ciclo de clock . Suporte para at 512Mbyte de SDRAM : As SDRAM (Synchronous Dinamic RAM ) , so memriasRAM de alta freqncia, so utilizadas para receber firmware do microcontrolador , fazendo com que o mesmo possa rodar mais rpido quando comparado com as memrias Flash .

Vrios tipos de Perifricos : Ex : Canais de comunicao (UARTs) , Serial Peripheral Interface (SPI) , 10/100 timing MAC Controller , Real Time Clock (RTC) , etc .

8. Informaes sobre a normaA norma IEC61131, teve seu inicio em 1979 com um grupo de trabalho dentro da IEC ( International Electrotechinical Commission) e em 1992 foram publicados os primeiros trabalhos. A norma foi dividida em 8 partes , sendo a IEC61131-3 a que trata das linguagens de programao , onde daremos mais ateno neste trabalho Componentes da norma : Parte 1 2 3 Ttulo General Information Equipment requirements and tests Programming languages Contedo Definies da terminologia e conceitos Teste Linguagens de programao com definio de suas estruturas e execuo Orientao para seleo, instalao e manuteno de CPs Definio de blocos de comunicao entre equipamentos No h informaes sobre esta parte da norma ( no utilizada) Padres para tratamento de lgica Fuzzy em CPs Orientao para implementao das linguagens IEC61131-3

4 5 6 7 8

User Guidelines Messaging service specification Fuzzy Control Programming Guidelines for the implementation of languages for programmable controllers

A Norma IEC 61131-3 incentiva o desenvolvimento de programas estruturados. Neste sentido a norma permite que o programador inicie seu trabalho criando partes funcionais do projeto como functions ou functions Block ou ento criando a estrutura principal do projeto , esta facilidade em programar recebe o nome de programao top-down ' ou ' bottom-up '.

Top Down

Common Elements

Programming LanguagesBottom Up

Linguagens de programao:A norma possui 5 linguagens , sendo 3 grficas e 2 funcionais. O resumo das linguagens pode ser visto no quadro abaixo :

Sequenciamento Grfico de Funes (SFC) Sequencial Function Chart

Texto Estruturad o (ST) Strutured Text

Lista de instrues (IL) Instruction List

Diagrama Ladder (LD)

Diagrama Blocos Funcionais (FBD) Function Block Diagram

TEXTUAIS

GRFICAS

Exemplos de codificao de um comando composto por dois contatos e uma sada feito nas linguagens IL,ST,FBD e Ladder :

Instruction List LD A ANDN B ST C

Structured Text

C:= A AND NOT B

Function Block Diagram AND A B C

Ladder Diagram

A B C -| |--|/|----------------( )

A linguagem SFC : Seqencial Function ChartA linguagem SFC descreve um comportamento sequencial do programa de controle, sendo portando muito utilizado em processos de batelada, onde a caracterstica seqencial predominante. Pode ser utilizado para descrever as etapas macros do processo tais como Partida,Carga,Aquecimento, mistura, Drenagem ,etc . Em cada etapa do processo as aes podero ser descritas em qualquer uma das quatro linguagens da norma ( IL, Ladder,Strutured Text ou Function Blocks).

Histrico: A linguagem SFC derivado do Grafcet ( Graphe Fonctionnel de Command Etape-Transition).cuja origem veio da representao de processos baseados nas Redes de Petri. Em 1988, foi publicado o padro IEC848, baseado na linguagem Grafcet, sendo que a norma IEC61131 -3 introduziu pequenas modificaes no padro IEC848, visando acoplar esta linguagem s demais linguagens da norma.

Como exemplo , na figura xx temos um reator a ser controlado

Agitator

Feed valve Acidic reagent Alkali reagent Temperature sensor pH sensor

Heater band

Harvest valve

A figura yy apresenta os principais elementos da construo em SFC do controle do reator

Passo (STEP) Inicial

Transio Start Chave_Liga=1 S1

Qualificador da ao Ao

N

Inicializao

S2 ReatorCheio=1 S3

N

Carga dos produtos (Bombeamento) Aquecimento

N

S4 TimerFerm=1 S5

N

Fermentao

N

Descarga

S6 Chave_Liga=0 STOP

N

Limpeza

Palavras chaves utilizadas na norma:

Raiz de um Aplicativo baseado em IEC61131-3

Configuration Data types Functions Function Blocks

Programs

Task Preemptive Task Non- Preemptive

Task

Configuration (configurao) Configurao no mbito da norma IEC no deve ser confundida com o termo normalmente usado para expressar os passos para definio de parmetros 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, atravs de interfaces de comunicao padronizada pela norma. Resource (Recurso) Dentro de cada configurao podem existir um ou mais recursos. Um recurso basicamente qualquer elemento com capacidade de processamento, responsvel pela execuo do programa. POU - Program Organization Unit, Denomina uma estrutura genrica de programao, podendo existir um POU para Program, Function e Function Block. Program mais precisamente: um POU do tipo PROGRAM - Categoria que se enquadra o programa principal propriamente dito, podendo o usurio criar mais de um, permitindo assim modularizar o projeto. Program Equivale ao programa principal propriamente dito, porm na norma a prtica de dividir o projeto em trechos menores uma regra, dando origem criao de vrios Programs pelo usurio. Podem ser escritas em qualquer uma das quatro linguagens.

Function As functions so elementos que quando executados com um certo conjunto de valores de entrada (parmetros) produzem um nico dado como resultado. As funes no so instanciveis isto , s existem em tempo de execuo, no sendo necessrio um identificador para alocao de memria. As operaes aritmticas so exemplos comuns de funes. Function Block Os function Block diferentemente das functions podem ser instanciadas, o que permite persistncia de dados, ou seja, os valores de suas variveis so preservados entre uma execuo e outra. Exemplos: Blocos PID, Contadores, temporizadores Filtros etc Uma instncia, um conjunto de dados armazenado em uma estrutura definida pelo tipo de function Block, e identificados pelo nmero da instncia criada. Task Outro termo abstrato definido pela norma e pode ser entendido como sendo uma informao adicional ao program , que diz ao controlador quando executar determinado program. As tasks podem ser programadas por : base de tempo: O Program associado a esta task executado a cada perodo definido pelo usurio por evento: O programa associado a esta task executado na transio de um estado interno booleano Prioridade: define a ordem em que os programs sero executados, comeando o de maior prioridade com o menor ndice. Task preemptivos: interrompem a execuo de uma task de menor prioridade, podendo ser definidas por base de tempo ou por evento externo como exemplo uma entrada digital ou analgica. Task no preemptivos: no interrompem a task corrente (aguarda a vez), podendo ser definidas tambm por base de tempo ou estados interno do controlador Data types Define os tipos de dados permitidos pelo controlador. O usurio tambm pode definir estruturas de dados, dando origem a um novo tipo de dado. Exemplos de data types da norma: TIPO INT UINT DINT Real Descrio Integer Unsigned integer Double integer Real (ponto flutuante) Bits 16 16 32 32 Faixa -32768 a 32767 0 a 65535 -2E31 a 2E31 +/-10E+/-38

9. CONCLUSES A norma IEC 61131-3 , nos mostra uma nova forma de programar Controladores Programveis, onde dentre tantas vantagens , se destaca a possibilidade de criao dos Functions e Functions Blocks, que so componentes reutilizveis, que quando corretamente entendidos e utilizados, faro com que as aplicaes se tornem mais versteis e modulares, dando como resultado uma reduo do tempo de desenvolvimento, teste e implantao de sistemas de automao. Estes benefcios s sero obtidos caso haja uma conscientizao por parte do corpo gerencial das empresas em dar a oportunidade , o espao para que a transio possa ocorrer de forma gradual. O risco desta transio existe, pois a maturidade desta nova tecnologia ainda no atingiu um nvel ideal de acomodao , principalmente no que se refere troca de componentes entre fabricantes. Em contrapartida, os novos hardwares esto cada vez mais aptos a acomodar a programao IEC61131-3, em funo do aumento de performance e tambm do aumento da capacidade de endereamento. No difcil prever que daqui a pouco mais de 2 anos, a norma no ser mais uma novidade para entre os usurios de CPs . um processo irreversvel, e quem agora apostar nesta transio certamente ter um diferencial competitivo importante sobre seus concorrentes.

10. REFERNCIAS BIBLIOGRFICAS

E-3 Programmable controllers-part 3;Ttulo: Programming Languages ;Editora: IEC Italo , Programao orientada a objetos , notas de aula curso MBIS. Karl-Heinz John,Michael Tiegelkamp; Ttulo: Programming Industrial Automation Systems; Editora: Springer Bonfatti, Monari,Sampieri ;Ttulo:IEC61131-3 Programming Methodology;AlterSysTORRES, GABRIEL ; Ttulo: Redes de Computadores: Curso Completo ; Editora: Axcel Books.

11. DADOS DO AUTOR Joo Aristides Bottura Filho Atos Automao Industrial Ltda. Rua Arnoldo Felmanas, 201 Vila Friburgo CEP: 04774-010 So Paulo SP Telefone: 5547-7439 FAX: 5686-9194 E-mail: [email protected]