Upload
halamassimon
View
218
Download
0
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