64837_1

Embed Size (px)

Citation preview

  • 8/15/2019 64837_1

    1/6

    UM MÉTODO INTERATIVO DE RECUPERAÇÃO DE DIAGRAMAS GRAFCET APARTIR DE DIAGRAMAS LADDER

    Paulo André Sperandio Giacomin∗, Hans-Jorg Andreas Schneebeli†

    ∗Universidade Estadual de Santa Cruz 

    Departamento de Ciências Exatas e Tecnológicas 

    Ilhéus-BA, Brasil †Universidade Federal do Espírito Santo

    Programa de Pós-Graduação em Engenharia Elétrica 

    Vitória-ES, Brasil 

    Emails:   [email protected], [email protected]

    Abstract—   We show a new interactive method of recovery of grafcet diagrams from ladder diagrams. Wehighlight the advantages when comparing with the methods that already exists. We show the results that wasachieved building a prototype and the analysis of the efficiency of the method showed it is possible.

    Keywords—   Discrete Event Systems, Programmable Controllers, Binary Decision Diagrams, Algorithms

    Resumo—   Apresentamos um método interativo de recuperação de diagramas grafcet a partir de diagramasladder. Destacamos as vantagens em relação a métodos já existentes, mostramos resultados que foram alcançadoscom a construção de um protótipo e a análise da eficiência do método mostrou que ele é possível.

    Palavras-chave—   Sistemas de Eventos Discretos, Controladores Programáveis, Diagramas Binários de Deci-são, Algoritmos

    1 Introdução

    Hoje em dia é comum o uso de Controladores Ló-gico Programáveis (Programmable Logic Control-ler - PLC) na automação das mais variadas plan-tas industriais, sejam elas químicas, metalúrgicas,mineradoras, refinarias, entre outras, para solu-

    ções de problemas de controle seqüencial, caracte-rizados principalmente por sua natureza digital.Como podemos ver na Figura 1, temos em um

    sistema de controle seqüencial dois sub-sistemasbem definidos: o controlador e a planta. A plantaé o sistema que estamos querendo controlar. Delao controlador recebe informações como valores di-gitais de variáveis medidas, tais como sinais desensores de fim de curso, sensores de presença,chaves liga-desliga, e processando essas informa-ções, o controlador toma decisões e responde apro-priadamente injetando energia e/ou informaçãocom atuadores adequados. O controlador, por suavez, poderá também receber informações que nãovenham diretamente da planta, podendo ter ou-tra origem, como um sistema supervisório ou umoperador. Apesar de termos papéis bem definidosentre a planta e o controlador, ambos fazem partede um mesmo sistema que é formado por dois sub-sistemas reativos que se comunicam. Exceto emcasos muito simples, não é possível compreender-mos o funcionamento de um sem que tenhamosque compreender o funcionamento do outro.

    O controlador pode ser implementado com vá-rias ferramentas diferentes, como relés ou conta-

    tores, circuitos microcontrolados construídos sob-medida, software executado em um computadorque faça uso de um sistema operacional em tempo

    Figura 1: O Controlador e a planta

    real ou PLCs. Assim, podemos dizer que os PLCssão uma ferramenta de implementação de contro-ladores digitais, e são, no momento, os mais utili-zados.

    No ano de 2003, a norma IEC 6113-1 padroni-zou 5 linguagens a serem utilizadas na programa-ção de PLCs: o Diagrama Ladder  (LD), Gráfico deFunções Seqüenciais (SFC - cuja especificação vemdo grafcet ), Texto Estruturado (ST), Diagrama deBlocos de Funções (FBD) e a Lista de Instruções(IL). Além do alcance desta norma, podemos ci-tar outras ferramentas para modelagem de siste-mas de controle seqüencial, como o diagrama deestados, as redes de Petri e a linguagem PLSL.

    O diagrama   ladder  é basicamente uma adap-tação do antigo diagrama de contatos usados naindústria antes do aparecimento dos PLCs. Esta

    adaptação foi feita para facilitar a migração doscontroladores baseados em diagramas de reléspara os baseados em PLCs. Ainda hoje muitos

    1749

  • 8/15/2019 64837_1

    2/6

    Figura 2: Um sistema de corte de peças

    Figura 3: Exemplo de um diagrama   ladder 

    controladores industriais complexos são descritosusando diagramas  ladder .

    Um exemplo de uma planta que pode sercontrolada por PLC está ilustrado na Figura 2.Quando uma placa de aço passa sobre  x, o pistãocomprime a placa, cortando-a, e a seguir levanta.

    Uma linguagem que pode ser utilizada para pro-gramar o PLC é o diagrama   ladder . O diagramaladder  de controle desta planta está ilustrado naFigura 3. Nela, o símbolo da primeira malha comendereço x  é um exemplo de um contato normal-mente aberto, o qual sendo ativado, fecha. O sím-bolo da primeira malha com endereço  sv+  é umexemplo de um contato normalmente fechado, oqual sendo ativado, abre. Os círculos presentes emtodas as malhas são os equivalentes as bobinas derelés que uma vez acionadas fecham os contatosnormalmente abertos (NA) e abrem os contatosnormalmente fechados (NF).

    Entretanto, o diagrama  ladder  não é a melhorlinguagem para especificarmos a lógica de um sis-tema de controle seqüencial. Um dos principaisproblemas deste diagrama é a legibilidade. Porexemplo, olhando apenas para a Figura 3, vemosque pode ocorrer uma transição da malha  1  paraa malha 2  quando a entrada  sv+  for ativada. Po-rém, também ocorre uma transição da malha   2para a malha   1  quando a entrada  x  é acionada,e não existe nada no diagrama   ladder   que possanos levar a concluir isso, a menos que conheçamosa planta.

    Assim, compreender um diagrama ladder deuma planta complexa é algo extremamente difí-cil, até mesmo para os profissionais especializados,

    pois descreve como o controlador seria implemen-tado com relés e não o seu funcionamento, comoé possível com outras representações de funciona-mento de controladores sequenciais.

    Vários trabalhos na literatura levantaram li-mitações do uso do diagrama ladder  na programa-ção de PLCs, tais como os de (MengChu Zhou,

    1995) e (Kurapati Venkatesh, 1994). Outrostrabalhos, como o de (Albert Falcione, 1993),(Wareham, 1988), (Denavathan, 1990), confirma-ram as deficiências do diagrama   ladder . Dentrealgumas destas limitações, destacam-se a comple-xidade de projeto. (Kurapati Venkatesh, 1994)apontaram duas características do diagrama   lad-der   que influenciam a complexidade de projetode um programa: a complexidade gráfica e a di-ficuldade de adaptação ? novas especificações. Acomplexidade gráfica de um diagrama   ladder   au-menta consideravelmente com o aumento do sis-tema. Além disso, modificações na especificação

    provocam grandes modificações no diagrama  lad-der . Além disso, (Kurapati Venkatesh, 1994) cons-tataram que o diagrama ladder  não possui simbo-logia para representar conceitos como condições,status, atividades, informação, fluxo e recursos deforma explícita. O problema fica ainda mais sé-rio quando a complexidade dos sistemas aumenta,seja por causa do tamanho do sistema ou devidoa outros fatores técnicos como problemas de con-corrência, etc. Para sistemas mais complexos, darmanutenção em um programa escrito usando-se odiagrama   ladder  é algo extremamente difícil, até

    mesmo para os profissionais mais bem preparados;Muitas das plantas existentes na indústria são

    enormes, e consequentemente a complexidade dosseus respectivos controladores. Assim, construirum novo controlador dessas plantas a partir dozero usando uma nova linguagem seria um grandedesperdício do trabalho de desenvolvimento já re-alizado, pois estes controladores foram efetiva-mente testados e com funcionamento correto háanos.

    Caso optássemos por refazer todo o sistema,levaria algum tempo para o programa ser tes-tado, ou seja, nós perderíamos a confiabilidadeque já está implementada nos antigos diagramasladder . Caso seja feita a engenharia reversa, estaconfiabilidade poderia em parte ser aproveitada.Como confiabilidade é algo extremamente impor-tante em programas de PLCs de plantas indus-triais, podemos dizer que a engenharia reversa éuma alternativa atraente. Outro fator motivadorda engenharia reversa é a redução de custos queela pode trazer, uma vez que com ela não é neces-sário refazer todo o sistema. (Pressman, 2002)faz em seu trabalho uma reflexão da necessidade

    da engenharia reversa em sistemas antigos e falada necessidade da automatização do processo deengenharia reversa.

    1750

  • 8/15/2019 64837_1

    3/6

    2 Definição do Problema

    Devido a todos estes motivos, temos agora umproblema: dada a implementação de um contro-lador representada em um diagrama   ladder , comogerar a partir deste diagrama um diagrama grafcet que implemente um controlador equivalente. Con-sideramos que dois controladores são equivalentes

    se, para a mesma planta eles possuem o mesmofuncionamento, ou seja, para um mesmo estadoinicial e para uma mesma seqüência de valores devariáveis de entrada eles respondem com a mesmaseqüência de valores de variáveis de saída.

    (Albert Falcione, 1993) e (Tadanao Zanma,1999) propuseram técnicas de conversão de di-agramas   ladder    em diagramas   grafcet . Já ,(Gi Bum Lee, 1999) propuseram um método deconversão de diagramas   ladder   em redes de Pe-tri.  No entanto, qualquer que seja o método utili-zado, ele requererá algum tipo de informação sobre 

    a planta para que a conversão possa ser feita . Oalgoritmo de (Albert Falcione, 1993) requer estainformação sob a forma de um grafo de simultanei-dade. Já o algoritmo de (Tadanao Zanma, 1999)requer informações da planta, que deve ser escritaem lógica temporal. (Gi Bum Lee, 1999) pro-põem que esta informação da planta seja dada naforma de uma tabela de estados.

    A nossa proposta é usar o conhecimento deum especialista no processo, e após analise do dia-grama descobrirmos as informações relevantes so-bre a planta através de um questionamento ao es-pecialista.

    3 Solução Proposta

    Precisamos de um método adequado para entradade grande quantidade de informações, uma vezque as plantas na indústria são grandes. Tambémprecisamos evitar repetir o processo de conversão,dado a tarefa ser trabalhosa. Temos duas alterna-tivas:

    •   Modelagem da planta : poderíamos utilizaralgum tipo de diagrama ou linguagem para

    descrever previamente o funcionamento daplanta e unirmos estas informações com adescrição do controlador para que então pu-déssemos converter um diagrama   ladder   emum diagrama grafcet . Levando em considera-ção o tamanho e a complexidade das plantasexistentes na indústria, as quais são o alvodeste trabalho, entrar com estas informaçõesem um sistema de conversão pode requererum esforço muito grande, consumindo assimtempo e dinheiro.

    •   Processo interativo: Sem que fosse feita uma

    análise preliminar do diagrama  ladder , se so-licitássemos ao especialista que ele informasseque transições poderiam ocorrer na planta a

    partir de uma malha de um diagrama   ladder em uma determinada situação, deveríamosinformar todas as outras malhas do sistema,para que o mesmo selecionasse apenas as ma-lhas em que pudessem ocorrer as transiçõesnaquele instante. No entanto, após uma aná-lise das malhas de um diagrama   ladder , po-deríamos filtrar todas as possíveis transições

    que poderão acontecer em um determinadomomento. Assim, uma quantidade muito me-nor de opções precisaria ser fornecida pelo es-pecialista, uma vez que apenas as malhas quepoderão permitir que ocorra uma transiçãona planta serão apresentadas ao especialista.Além disso, apenas as informações relevantesao sub-processo do qual estamos extraindo ofluxo de controle da planta serão necessárias,mas não de todo o diagrama ladder . Isto tam-bém reduz ainda mais a quantidade de opçõesque serão apresentadas ao especialista. Além

    disso, estas informações serão solicitadas uti-lizando uma interface gráfica amigável, como especialista informando todos os dados ne-cessários ao processo de conversão.

    Desta forma, neste trabalho nós utilizamos ométodo interativo para adicionar informações daplanta ao processo de conversão de diagramas  lad-der   em diagramas  grafcet , uma vez que ele apa-renta requerer do especialista um esforço muitomenor.

    4 Metodologia

    Inicialmente o método não levará em consideraçãoos temporizadores e os blocos avançados do dia-grama   ladder , o que será feito em trabalhos pos-teriores.

    Para representarmos o diagrama ladder, usa-mos uma representação em árvore de cada uma desuas malhas. Podemos fazer cada bobina do dia-grama   ladder   representar um passo do diagramagrafcet , após a confirmação do especialista. As-sociada a cada bobina do diagrama   ladder   temosuma expressão booleana. Uma ligação em para-

    lelo no diagrama  ladder  pode ser representada emsua árvore como um nó do tipo  or , enquanto queuma ligação em série pode ser representada comoum nó  and . Utilizando orientação a objetos, po-demos representar os nós desta árvore como ob- jetos polimórficos. Buscamos então utilizar umaferramenta adequada de manipulação de expres-sões booleanas, que possam ser construídas a par-tir destes objetos polimórficos. Como pode ser ve-rificado no trabalho de (Bryant, 1986), os BDDssão uma estrutura de dados eficiente de manipu-lação de expressões booleanas, a qual utilizamos.

    Uma vez construídos os BDDs de cada umadas malhas, fazendo a manipulação destes, pode-mos descobrir as expressões de ativação e desativa-

    1751

  • 8/15/2019 64837_1

    4/6

  • 8/15/2019 64837_1

    5/6

    (a) Pegar

    (b) Soltar

    Figura 6: Funcionamento da garra do sistema beta

    Figura 7: Diagrama grafcet do sistema beta

    6 Análise da eficiência

    O esforço computacional deste método é maisacentuado durante a descoberta e remoção dos in-tertravamentos, durante a construção dos BDDsde ativação e desativação de cada malha, e du-rante a detecção das possíveis transições entre asmalhas.

    Durante a descoberta dos intertravamentos,para cada uma das  n  malhas do diagrama ladder,verificamos se ela possui intertravamento com asoutras  n −  1  malhas. Chamemos de  k1  a ordemde complexidade de comparação entre cada parde malhas. Assim, a complexidade computacionaldeste passo será da ordem   k1   ·  O(n2).   k1   é aordem do tempo gasto para consultarmos se umavariável pertence a um BDD, sendo da ordem deO(n2), onde  n2  é o número de variáveis do BDD(Bryant, 1986), mais a ordem do tempo gasto paraeliminarmos o intertravamento,  O(|G| · log |G|),

    onde   |G|   é o número de vértices do BDD. Re-sumindo, temos para a complexidade do passo  3uma ordem de {O(|G|·log|G|)+O(n2)}·O(n2).Na prática, esta ordem de complexidade não é crí-tica, uma vez que o tamanho dos BDDs a seremmanipulados é pequeno, fazendo com que a com-plexidade  O(n2)   se sobressaia sobre as demais,a qual é satisfatória até mesmo para grandes plantas industriais.

    Durante a construção dos BDDs de ativaçãode desativação de cada uma das malhas, proces-saremos todas as  n   malhas. Assim, o tempo de

    resposta deste passo será da ordem de  O(n) · k2,onde  k2  será a ordem do tempo necessário para osistema construir as expressões de ativação e de-sativação, utilizando operações apply  e restrict . Afunção apply  possui complexidade O(|G1| · |G2|),onde   |G1|   e   |G2|   representam o número de nósdos BDDs 1  e  2, respectivamente (Bryant, 1986).A função   restrict   possui complexidade   O(|G| ·log|G|)   (Bryant, 1986), mais uma operação  not ,de complexidade   O(|G|). Assim, temos que acomplexidade computacional deste passo possuiordem de  O(n)  · {O(|G| ·   log|G|  +  O(|G|) +O(|G1| · |G2|)}. Na prática, esta ordem de com-

    plexidade também não é crítica.Durante a detecção dos sequenciamentos en-

    tre as malhas, o sistema irá interagir com o espe-cialista para cada uma das  n  malhas do sistema.Para cada uma delas, o sistema analisará as outrasn − 1  malhas a fim encontrar as possíveis transi-ções a serem confirmadas. Uma vez que o sistemainterage com o especialista  n  vezes, o tempo deresposta para cada uma destas  n   interações seráproporcional a  O(n)   ·  k3, onde   k3   é ordem decomplexidade de comparação entre cada par demalhas.   k3   é a ordem do tempo gasto para ve-

    rificarmos se um cubo ou sub-cubo do BDD dedesativação da malha   i   é cubo ou sub-cubo doBDD de ativação da malha  j . Para isto, encontra-

    1753

  • 8/15/2019 64837_1

    6/6

    mos as variáveis que são comuns entre estes doisBDDs, com complexidade  O(n2 ·  n3), onde  n2  en3  são o número de variáveis dos BDDs de desa-tivação e ativação, respectivamente, mais a ordemdo tempo de casamento entre cada um destes cu-bos, O(n4 · log(n4) · {|S f 1| + |S f 2|}), onde  n4 éo número de variáveis comuns e  |S f 1|  e  |S f 2|  sãoo número de cubos dos BDDs de desativação e ati-

    vação, respectivamente (Bryant, 1986). Utiliza-mos   backtracking  neste algoritmo para aumentara sua eficiência. Assim, temos que a complexi-dade computacional deste passo possui ordem deO(n) · {O(n2 · n3) + O(n4 · log(n4) · {|S f 1| +|S f 2|})}. Na prática, esta complexidade tambémnão é crítica.

    Com este pré-processamento, o sistema apre-senta ao especialista um número reduzido de pos-síveis transições a serem confirmadas. Além disso,em um diagrama ladder de n malhas, no pior caso,o especialista precisaria interagir com o sistema

    n   vezes. No entanto, as plantas industriais degrande porte são formadas por sub-sistemas me-nores. Na prática, isto faz com que o especialistainteraja com o sistema apenas  m  vezes, onde  m  éo número de malhas do sub-sistema em questão, ena maior parte dos casos,  m  é bem menor do quen.

    7 Conclusão

    Mostramos neste artigo que o método interativode recuperação de diagramas grafcet e do fluxode controle do processo da planta a partir de umdiagrama ladder é possível. Com a implementaçãode um protótipo usando BDDs foi possível mostrarque este método pode ser usado com eficiência epraticidade para extração do fluxo de controle doprocesso da planta a partir de diagramas ladderde relativa complexidade.

    Ao contrário dos outros métodos, a vantagemdeste é a facilidade com que as informações quefaltam no diagrama ladder são solicitadas ao es-

    pecialista, podendo trazer benefícios como econo-mia de tempo e dinheiro. Ao especialista não énecessário grande conhecimento da planta, pois ométodo facilita muito o trabalho de converão.

    O Diagrama grafcet recuperado a partir dodiagrama ladder usando o protótipo foi conside-rado logicamente equivalente ao diagrama ladderinicial, pois ambos os diagramas, para um mesmoestado inicial, e para a mesma seqüência esperadade eventos de entrada, geraram a mesma seqüênciaesperada de eventos de saída. Como esta é umafuncionalidade que os controladores programáveis

    ainda não possuem, acreditamos que esta é umaimportante contribuição para a área de sistemasde automação industrial.

    Referências

    Albert Falcione, B. H. K. (1993). Design recoveryfor relay ladder logic,   IEEE Control Systems Magazine  13(2): 90–98.

    Bryant, R. E. (1986). Graph-based algorithms forboolean function manipulation., IEEE Tran-

    sactions on Computers.  35(8): 677–691.Denavathan, R. (1990). Computer aided design

    of relay ladder diagram from functional spe-cifications,  16th Annual Conference of IEEE Industrial Electronics Society  .

    Gi Bum Lee, J. S. L. (1999). Conversion of lad-der diagram into petri nets, Proceedings of the IASTED International Conference, RO-BOTICS and APPLICATIONS.

    Kurapati Venkatesh, MengChu Zhou, J. R. C.(1994). Comparing ladder logic diagrams

    and petri nets for sequence controller de-sign through a discrete manufacturing sys-tem,   IEEE Transactions on Industrial Ele-tronics  41(6): 611–619.

    MengChu Zhou, E. T. (1995). A comparisonof relay ladder logic programming and petrinet approach for sequential industrial controlsystems, Proceedings of the 4th IEEE Con-ference on Control Applications.

    Pressman, R. S. (2002).   Engenharia de Software ,quinta edição edn, McGraw-Hill.

    Tadanao Zanma, Tatsuya Suzuki, A. I. e. S. O.(1999). Transformation algorithm from lad-der diagram to sfc using temporal logic,  Elec-trial Enginnering in Japan  129(1): 74–81.

    Wareham, R. (1988). Ladder diagram and sequen-tial function chart: Languages in program-mable controllers,   Fourth Annual Canadian Programmable Control and Automation Te-

    chnology Conference and Exhibition Confe-

    rence Proceedings  .

    1754