Vous êtes sur la page 1sur 8

FERRAMENTA PARA PROGRAMAO CLPS EM ALTO NVEL

TIAGO GAMELEIRA, FELIPE COUTO, RAIMUNDO MOURA,LUIZ AFFONSO GUEDES

Departamento de Engenharia de Computao e Automao Universidade Federal do Rio Grande do Norte (UFRN) Natal RN Brasil Departamento de Informtica e Estatstica Universidade Federal do Piau (UFPI) Teresina PI Brasil E-mails: gameleira@dca.ufrn.br,felipecouto@dca.ufrn.br, rsm@ufpi.br, affonso@dca.ufrn.br

Abstract Industrial automation is the use of the theory of control systems of machines and processes. Although there is different types of industries such as steel, chemicals, oil, automotive, manufacturing, etc.., Which require different applications, the basic controls are the same. In the oilfield, the use of Programmable Logic Controllers (PLC) in industrial automation has found barriers to learning and maintaining the language most used by the CLP's, the Ladder. Despite of large PLC manufacturers support the five languages defined by IEC61131 standard, the great majority of medium and small PLC manufacturers do not support for programming neither Sequential Function Chart (SFC) nor Structured Text (ST). From this reality, the motivation of this work is define an Integrated Development Environment (IDE), named as SFC/ST Editor, which permits to use both SFC and ST languages. One direct outcome is to enlarge the number of qualified technicians in development and maintenance of PLC systems. The SFC/ST Editor follows the international standard IEC 61131-3 and is in accordance with the recommendation of the PLCopen (TC-6 specification XML 2.0). Keywords Industrial Automation, PLC, SFC, PLCopen, Ladder Diagram Resumo Automao industrial consiste no uso da teoria de sistemas de controles de mquinas e processos. Apesar de existir diversos tipos de indstrias, tais como: ao, qumica, petrleo, automotiva, manufatura, etc., que exigem aplicaes diferentes, os controles bsicos so os mesmos. No campo petrolfero, o uso de Controladores Lgicos Programveis (CLP) na automao industrial tem encontrado barreiras na aprendizagem e manuteno da linguagem mais utilizada pelos CLPs, o Ladder. Apesar dos ambientes de grande porte incluir recursos contemplando as cinco linguagens definidas pelo padro internacional IEC61131, a grande maioria dos fornecedores de equipamentos de pequeno e mdio porte no oferece suporte para programao em Diagramas de Funes Sequenciais (do ingls: Sequential Function Chart SFC) nem texto estruturado (do ingls: Structured Text ST). Diante desta realidade, a motivao deste trabalho apresentar um ambiente de programao, denomidado Editor SFC/ST, que utiliza uma combinao das linguagens SFC e ST, cuja consequncia direta ampliar o pblico capacitado em programao de CLPs. O Editor SFC/ST compatvel com o formato TC6 XML 2.0 definido pela organizao PLCopen. Palavras-chave Automao Industrial, CLP, SFC, PLCopen, Diagrama Ladder

1 Introduo Com o aparecimento da informtica industrial, muitos esforos tm sido realizados para desenvolver notaes e semnticas usadas para classificar e descrever diferentes tipos de sistemas, sobretudo na fase de modelagem. Tais esforos fornecem a infra-estrutura necessria para a soluo de problemas reais de engenharia e a construo de sistemas prticos que visam, principalmente, o aumento da produtividade, qualidade e segurana de processos. Os sistemas de automao industrial tm sido representados atravs de uma estrutura hierrquica de camadas, conhecida na literatura como pirmide de automao. A Figura 1 mostra uma adaptao da verso apresentada em Seixas(2000), onde o nvel 0 composto por sensores e atuadores. No nvel 1, os Controladores Lgico Programados (CLP) so os equipamentos comumente usados no controle de processos e no nvel 2 da pirmide, os sistemas de superviso so geralmente implementados atravs de sistemas SCADA (Supervisory Control And Data Acquisition), com suporte para interface homem - mquina (IHM). O nvel 3 corresponde aos sistemas MES (Manufacturing Execution Systems) e destina-se a aumentar a dinmica dos sistemas de planejamento da produo e, finalmente, o nvel 4 corresponde aos sistemas ERP (Enterprise Resource Planning), destinados ao planejamento dos recursos da empresa. Este trabalho est focado no nvel 1 e o objetivo principal apresentar um ambiente de programao, denomidado Editor SFC/ST, que permite usar uma combinao das linguagens SFC (Sequential Function Chart) e ST(Structured Text), vez que a maioria dos fabricantes de equipamentos de pequeno e mdio porte no oferece

suporte para programao em SFC nem ST1. importante ressaltar que grande parte do mercado de automao no Brasil se enquadra justamente nesta categoria. Dessa forma, a maioria dos CLPs ainda programada atravs de mtodos convencionais no estilo tentativa e erro e, na prtica, usualmente no existe documentao escrita para essas solues. Consequentemente, o nmero de profissionais habilitados para realizar o processo de desenvolvimento e manuteno dos programas de controle muito pequeno. Portanto, a principal contribuio deste trabalho ampliar o pblico capacitado em programao de CLPs. O Editor SFC/ST compatvel com o formato TC6 XML 2.0, que um padro especificado pela organizao PLCopen para representao de aplicaes (software) para automao de mquinas e processos industriais, visando a interoperabilidade entre ambientes de programao e equipamentos CLP aderentes norma IEC 61131. No entanto, como a PLCopen no descreve um formato para troca de dados entre o CLP e o ambiente de programao, tem-se discutido e adotado formatos baseados no referido padro tanto para configurar o ambiente de acordo com informaes especficas de cada equipamento, quanto para mostrar as mensagens de erros retornadas pelo compilador e carregador implementados pelo fabricante. Esse trabalho foi realizado atravs de projeto de pesquisa da Petrobras (Unidade Bahia) em convnio com a Universidade Federal do Rio Grande do Norte (UFRN) e Universidade Federal da Bahia (UFBA), com a participao da HI-Tecnologia (HTTP://www.hitecnologia.com.br). Na literatura existe o projeto Beremiz (HTTP://www.beremiz.org) que disponibiliza um framework para automao. O projeto Beremiz apresenta uma ambiente que permite ao programador do CLP escrever programas em uma das cinco linguagens do padro IEC-61131-3 e em conformidade com o formato PLCopen XML. Porm, neste projeto no existe a integrao com CLPs reais e, portanto, os problemas associados com a comunicao entre o CLP e o ambiente de programao no so relacionados. Este artigo est assim organizado: na Seo 2 discute-se brevemente os padres usados na programao de CLPs, em especial o padro TC6-XML 2.0 da PLCopen e usado no Editor SFC/ST como representao intermediria entre a descrio do processo industrial e cdigo executado pelo CLP. Na Seo 3 apresenta-se a estrutura dos diagramas SFC e os detalhes da IDE desenvolvida. Por fim, na Seo 4, conclui este trabalho destacando as consideraes finais e as propostas futuras.

Figura 1. Pirmide de automao de sistemas

2 Padres Usados na Programao de CLPs A forma bsica de programao de CLP era realizada a partir de uma linguagem oriunda do diagrama de rels (do ingls: Ladder Diagram LD). De inicio, resultou numa popularizao dos CLPs no ambiente industrial, mas posteriormente provocou a dependncia por tcnicos especializados em Ladder. Dessa forma, linguagens, mtodos e padres de mais alto nvel tm sido proposto nos meios acadmicos e profissionais atravs de organizaes como a International Electrotechnical Commission (IEC) e PLCopen (www.plcopen.org), na tentativa de maximizar a eficincia para modelagem, construo e manuteno de sistemas de automao. O padro IEC 61131-3 define elementos bsicos de programao, regras sintticas e semnticas para linguagens grficas como Diagramas Ladder, Diagramas de Blocos de Funes e Diagramas de Funes Sequenciais e linguagens textuais como Lista de Instruo e Texto Estruturado, assim como as reas de aplicao e os mecanismos e testes, atravs dos quais os fabricantes podem expandir ou adaptar o conjunto bsico para as suas prprias implementaes de controladores programveis. O padro largamente aceito pela comunidade de usurios e fabricantes de CLPs para programao e configurao de dispositivos de controle industrial. Marcos Faustino(2005),traa um panorama dos CLPs e tecnologias associadas em momentos anteriores e posteriores publicao da norma e discute aspectos relativos sua adoo. A literatura dedicada exclusivamente a esta norma bastante vasta. Referncia como Lewis(1998), Lewis(2007), Karl-Heinz et al. (2001) podem ser consultados para maiores informaes. Cada vez mais, faz-se necessrio o desenvolvimento de aplicaes voltadas para o usurio, seguindo padres de usabilidade, com interfaces grficas amigveis, com interoperabilidade e com portabilidade. Entre os
1 Ao longo deste trabalho usa-se a traduo Diagrama de Funes Sequenciais com o mesmo significado da sigla SFC (Sequential Function Chart) e Texto Estruturado como a sigla ST (Structured Text).

requisitos essenciais para a programao de controladores, conforme a norma IEC 61131, esto a qualidade, desempenho, robustez, segurana e o uso de padres. Com o objetivo de alcanar esses requisitos foi desenvolvido um tradutor para converter uma linguagem de alto nvel (combinao das linguagens SFC e ST) em uma linguagem intermediria, compatvel com o formato TC6-XML 2.0 especificado pela PLCopen (http://www.plcopen.org). A Figura 2 apresenta a estrutura bsica do tradutor. Note que a partir do formato TC6-XML possvel gerar linguagens de mquina para equipamentos de diferentes fabricantes.

Figura 2. Tradutor de linguagem alto-nvel para cdigo executvel

A linguagem XML (eXtended Markup Language) foi apresentada pelo W3C (World Wide Web Consortium) em 1998 para descrever diversos tipos de dados e tem sido usada para transferir informaes entre plataformas distintas. Normalmente, as ferramentas para programao de CLPs reservam uma rea para importao/exportao de projetos armazenados em uma base de dados. O formato utilizado para o armazenamento destes projetos geralmente uma representao textual no qual sua estrutura dependente do fabricante da ferramenta. Entretanto, o Comit Tcnico da PLCopen definiu uma interface padro para suportar a transferncia de informaes entre ferramentas de programao de CLPs dos diversos fornecedores, denominada TC6-XML. Desde ento, os fabricantes de CLPs esto fazendo um esforo para acrescentar a interface TC6-XML da PLCopen s suas ferramentas de desenvolvimento. Esta interface possibilita a transferncia de informaes entre as ferramentas de programao de CLPs e, neste sentido, as solues apresentadas podem ser reutilizadas para aumentar a eficincia do desenvolvimento de novos programas de controle dos CLPs, alm de possibilitar a independncia dos usurios em adquirir CLPs sempre de um mesmo fabricante, vez que seus programas de controle podem ser reutilizveis por outros CLPs, desde que seja compatvel com o formato TC6-XML. Os formatos da interface so especificados atravs do XML composto por elementos equivalentes s linguagens do padro IEC 61131-3. Com relao s linguagens grficas, os elementos XML so correspondentes tanto aos elementos comuns das linguagens (por exemplo, etapas e transies) como aos prprios atributos grficos de cada uma delas, tais como a altura e largura dos objetos ou as posies x e y destes na tela. 3 Ferramentas Para Programao de CLPs A idia de desenvolver uma linguagem para programao de CLPs utilizando uma abstrao de alto nvel, para permitir aos especialistas no processo desenvolver aplicaes, com baixo custo de aprendizado, no nova. Na rea de automao industrial da Petrobras, ela surgiu por volta dos anos 90, dada a necessidade de automatizar a partida de plataformas de produo de petrleo, um processo especializado altamente dependente da expertise de especialistas, mas com pouco conhecimento em linguagens de baixo nvel do tipo Ladder. O uso dos diagramas SFC na Petrobras para a programao de CLPs foi proposto por nosso grupo de pesquisa atravs do projeto 060307 (ver COUTO, 2009). SFC uma das linguagens grficas definidas pelo padro IEC 61131 utilizada para programao de CLPs, onde a estrutura bsica do SFC tem suas origens no padro francs Grafcet (ver IEC60848, 2002). Um diagrama SFC composto de etapas e transies, interligadas atravs de conexes orientadas. Cada etapa pode ter uma um mais de aes. Cada ao possui um qualificador que determina quando a ao deve ser iniciada ou finalizada, por exemplo, se o qualificador for do tipo pulso (qualificador P), a ao ser executada apenas uma vez quando a etapa for ativada; se o qualificador for do tipo noarmazenada (qualificador N), a ao ser executada repetidamente enquanto a etapa estiver ativa; se o qualificador for do tipo timeDelayed (qualificador D), a ao ser executada aps t unidades de tempo que a etapa se tornar ativa. Cada transio associada com uma condio lgica, avaliada para verdadeiro ou falso. A Figura 3 mostra um exemplo de diagrama SFC. A etapa e0 representa a etapa inicial e no possui nenhuma ao associada; a transio t1 associada com a condio I1 & I2, ou seja, duas chaves que representam entradas para o sistema. Assim, se o sistema estiver na etapa e0 e as chaves I1 e I2 forem ativadas, o sistema evolui para a etapa e1; a etapa e1 possui a ao O1, que significa uma sada para o sistema, por exemplo, uma lmpada, um motor ou um atuador qualquer; a transio t2 possui a condio 1, que significa sempre verdadeiro. Assim, quando o sistema chegar etapa e1, aps a execuo da ao O1, ele evoluir automaticamente para a etapa e0.

Figura 3. Diagrama SFC: Exemplo

Os principais elementos que constituem o SFC so descritos, em detalhes, no livro de Aplicando a Norma IEC 61131 na Automao de Processos de Fonseca et al. (2008). 3.1 Ambiente Grfico: Editor SFC/ST Esse trabalho foi realizado atravs de projeto de pesquisa da Petrobras em convnio com a Universidade Federal do Rio Grande do Norte (UFRN) e Universidade Federal da Bahia (UFBA), com a participao da HITecnologia, fabricante do CLP ZAP 900. O Editor SFC/ST consiste em um ambiente grfico de alto nvel para programao de CLPs em poos petrolferos. Ele usado para especificar projetos de controle industrial utilizando os diagramas SFC. As aes das etapas e as condies associadas s transies so descritas usando a sintaxe da linguagem ST (Texto Estruturado). O uso da ferramenta tem como objetivo aumentar a eficincia no desenvolvimento e manuteno dos programas de controle dos poos de petrleo automatizados, alm de melhorar os procedimentos de testes e validaes das funcionalidades requeridas pelas aplicaes. O Editor SFC/ST foi implementado de acordo com a estrutura mostrada na Figura 4.

Figura 4. Estrutura geral do Editor SFC/ST

O Editor SFC/ST foi implementado na linguagem Java (2006) usando a biblioteca NetBeans Visual Library (2008). Ele est dividido em dois mdulos da seguinte forma: Mdulo para especificao da estrutura geral do programa de controle dos poos de petrleo atravs do SFC/ST do padro IEC 61131-3. Neste mdulo possvel construir e editar os objetos do diagrama (etapas, transies, conexes, etc.); Mdulo de teste e validao dos diagramas gerados atravs de uma animao grfica do diagrama SFC, indicando a etapa ativa ou as etapas ativas em um determinado momento. O mdulo permite que o usurio faa uma pausa na animao para observar/monitorar o valor de variveis e dos canais de entrada e sada do CLP. Dessa forma, o usurio pode verificar o comportamento do processo de controle em determinado instante de tempo. O Editor SFC/ST suporta a criao, configurao e depurao de controle de processos industriais. A Figura 5 apresenta a tela principal com destaque para as reas do ambiente desenvolvido.

Figura 5. Editor SFC/ST: Tela principal

3.1.1 Programao em ST A programao das aes de uma etapa e as condies lgicas das transies de um diagrama SFC feita usando a linguagem ST. Dentro de uma etapa possvel escrever comandos de atribuio, deciso e repetio para criar lgicas de controle para descrever as aes desejadas. Para cada ao possvel atribuir um qualificador que modifica o comportamento da execuo da ao. A tela de programao ST da ao de uma etapa apresentada na Figura 6. Observe que o qualificador usado foi N: Non stored, que significa que a ao ser executada repetidamente enquanto a etapa estiver ativa. Note tambm a mensagem de erro Identificador no declarado (token: ALARME) apresentada na parte inferior da janela. O editor de aes possui sintaxe highlight para o cdigo ST, alm de um parser para verificao da estrutura do cdigo.

Figura 6. Editor SFC/ST: Ambiente de programao ST

3.1.2 Depurador O ambiente de depurao permite testar e validar o controle, atravs do controle das variveis do CLP e de animao grfica das etapas e transies ativas em um determinado instante. Com isso, pode-se observar o comportamento do controle e encontrar possveis erros ou identificar melhorias. A execuo do depurador s possvel com o uso de um CLP real. O cdigo SFC/ST compilado e carregado para o CLP definido na criao do projeto. Tanto o compilador quando o carregador foi fornecido pelo fabricante do CLP em questo. A Figura 7 apresenta o processo de depurao, onde a etapa ativa apresentada na cor verde. Em projetos que envolvem concorrncia, possvel ter mais de uma etapa ativa. Na evoluo da execuo do controle, quando uma transio habilitada for disparada, o depurador atualiza o ambiente, desabilitando a etapa anterior e apresentando a nova etapa ativa na cor verde. A ativao e desativao das transies ocorrem de acordo com a execuo das aes da etapa atual e com a avaliao das condies associadas com as possveis transies. Observe na rea de menu os botes parar, pausa e executar, que permitem paradas na execuo da aplicao para observar o comportamento dos identificadores, bem como visualizar o fluxo de execuo da aplicao.

Figura 7. Editor SFC/ST: Processo de depurao

3.1.3 Definio de Variveis O Editor SFC/ST possui uma tela para definio e visualizao dos identificadores usados na aplicao. A Figura 8 apresenta a janela para cadastrar, visualizar, editar e remover os diversos tipos de variveis, incluindo entradas, sadas e vetores (arrays). Cada identificador pode ser associado a um endereo pr-definido, usado em ambientes de superviso. Alm disso, o identificador pode ser associado a endereos retentivos ou no. Endereos retentivos mantm os valores armazenados em memria do tipo no voltil, ou seja, quando o CLP desligado, os valores no so perdidos.

Figura 8. Editor SFC/ST: Lista de identificadores

Outra funcionalidade do Editor SFC/ST visualizar os blocos funcionais pr-estabelecidos pelo fabricante do CLP. A Figura 9 mostra a tela de blocos funcionais onde possvel visualizar as entradas, as sada e os comentrios fornecidos pela empresa fabricante do CLP para cada bloco funcional, na figura em questo, mostrase o bloco HI_TMR que opera como um temporizador. importante destacar que a PLCopen no descreve um formato para troca de dados entre o CLP e o ambiente de programao. Logo, tem-se discutido e adotado formatos baseados no referido padro tanto para configurar o ambiente de acordo com informaes especficas de cada equipamento, quanto para mostrar as mensagens de erros retornadas pelo compilador e carregador implementados pelo fabricante. Essa definio de formatos para troca de dados entre o CLP e o ambiente representa um diferencial de nosso trabalho em relao aos demais.

Figura 9. Editor SFC/ST: Blocos funcionais

3.1.4 Pr-Parser das Aes Para facilitar a programao das aes das etapas, foi criado um pr-parser para checar a corretude do cdigo ST escrito. O processo consiste em uma pr-anlise do texto estruturado. Como existe a possibilidade de declaraes de identificadores globais, a ordem de definio das aes das etapas importante, uma vez que uma etapa pode usar um identificador declarado em outra etapa. Sempre que for solicitada a verificao, uma pr-compilao executada e, se a etapa contiver algum erro, ela ser apresentada no editor SFC/ST na cor laranja. Para evitar inconsistncias entre as declaraes de identificadores feitas em uma etapa e o uso em outras etapas, foi criado um pr-parser global no ambiente para analisar todas as etapas e transies do projeto. Por fim, sempre que um projeto aberto ele analisado e as etapas e transies com erros e/ou inconsistncias so mostradas na cor laranja, como apresentado na Figura 10.

Figura 10. Editor SFC/ST: Funo pr-parser

4 Concluso Este trabalho apresentou um ambiente para programao de CLP, denominado Editor SFC/ST, que permite usar uma combinao das linguagens SFC e ST do padro IEC-61131-3, cuja consequncia direta ampliar o pblico capacitado em programao de CLPs. O Editor SFC/ST compatvel com o formato PLCopen XML que usado para representao de aplicaes para automao de mquinas e processos industriais, visando a interoperabilidade entre ambientes de programao e equipamentos CLP aderentes norma IEC 61131.

Esse trabalho foi realizado atravs de projeto de pesquisa da Petrobras em convnio com a Universidade Federal do Rio Grande do Norte (UFRN) e Universidade Federal da Bahia (UFBA), com a participao da HITecnologia. O ambiente tem sido usado no contexto do Projeto de Automao de Poos da Petrobras na Bahia, e alguns exemplos de diagramas SFC foram compilados e carregados diretamente no CLP ZAP 900 fabricado pela HI Tecnologia. Adicionalmente, como o SFC faz parte de um padro internacional, qualquer equipamento CLP compatvel com o padro poder executar os projetos desenvolvidos utilizando esta linguagem. Os trabalhos futuros incluem: escrever o programa de controle atravs do Editor SFC/ST, compilar e carregar o programa no CLP ZAP 900 da HI Tecnologia e realizar os testes de funcionalidades em um ambiente real e validar o arquivo de sada do nosso ambiente em outros CLPs reais, que sejam compatveis com o formato PLCopen XML.

Referncias Bibliogrficas [COUTO 09] Felipe Couto, Raimundo Moura, Luiz Affonso Guedes & Jes Cerqueira (2009), Programao de CLPs Utilizando Linguagens de Alto Nvel, Rel. Tcnico, UFRN/UFBA/PETROBRAS UN - BA. [FAUSTINO 05] Marcos Roberto Faustino (2005). Norma IEC61131-3: Aspectos Histricos, Tcnicos e um Exemplo de Aplicao. Dissertao de Mestrado, Escola Politcnica, USP, So Paulo, SP. [FONSECA 08] Marcos de Oliveira Fonseca, Constantino Seixas Filho & Joo Aristides Bottura Filho (2008), Aplicando a Norma IEC 61131 na Automao de Processos, ISA Amrica do Sul. [IEC 02] IEC60848(2002). International Eletrotechnical Commission. Grafcet Specification Language for Sequential Function Charts. [JAVA 06] Java (2006). Java Technology. http://java.sun.com/. [KARL-HEINZ 01] John Karl-Heinz and Tiegelkamp Michael(2001). IEC 61131-3 Programming Industrial Automation Systems. Springer-Verlag Berlin and Heidelberg GmbH Co. K; Har/Cdr edition. [LEWIS 98] R. Lewis(1998). Programming Industrial Control Systems Using IEC 1131- 3. Institution of Engineering and Technology; 2Rev Ed edition. [LEWIS 07] R. Lewis (2007). Iec 61131-3, a Standard for PLC Software. http://www.searcheng.co.uk/selection/control/Articles/IEC61131/main.htm. [LIB 08] Visual Library (2008). Netbeans Visual Library API. http://graph.netbeans.org/ [MORENO 07] Ramn Piedrafita Moreno, Vctor Larraga Egido, and Jos Luis Villarroel Salcedo (2007). Internet Visualization of PLCs Programs. In Proc. of 5th IEEE International Conference on Industrial Informatics (INDIN07), Vienna, Austria. [SEIXAS 00] Constantino Seixas Filho(2000). A Automao nos Anos 2000 - Uma Anlise das Novas Fronteiras da Automao. CONAI2000 / ATAN Sistemas.

Vous aimerez peut-être aussi