Home
uma plataforma para simulação e geração de
Contents
1. ccccceeeeeeeeeees 86 Figura A 7 Classe Lugar do m dulo petrilad cccccccccccsseccesccccceceeeeeessseceeeeeesaaaesssseeeees 88 Figura A 8 Trecho da cria o de teclas de atalho da classe Programa 89 Figura A 9 Fun o inita da classe Programa o ccccccccccssecscsccccceeceaeeesseeceeeeeeaaaaanssseeeees 90 Figura B l Varnaveis criadas NOS LEP Passas rrenan e SS Sd 91 Figura C 1 M dulo dos eventos EXLCIMOS asus zessassaninta estas dai cedissasiuc n asa pant amanda da dadas 92 Figura C 2 M dulo das condi es de disparo 1 erre 93 Figura C 3 M dulo das condi es de disparo 2 seessssssssseesssssssssserrssssssssserrrsssssssees 94 Figura C 4 M dulo das din micas da Rede de Petri 1 ccc eee ren 95 Figura C 5 M dulo das din micas da Rede de Petri 2 96 Figura C 6 M dulo das din micas da Rede de Petri 3 97 Figura C 7 M dulo das din micas da Rede de Petri 4 97 Figura C 8 Modulo da micializa o ssqasssa dass a aaa a andes Momaeasee 98 Fisura C9 Modulo das acoes 01 hacni a eaten sensed nae 98 Figura C 10 Modulo das acoes 2 sussa tals su ais saha na a dae aba Gsi tas ad 99 xiii Lista de Tabelas Tabela 3 1 Tabela 3 2 Tabela 3 3 Tabela 3 4 Tabela 3 5 Tabela 3 6 Tabela 5 1 Tabela 6 1 Mapeamento das posi es de mem ria de um CLP eceeceeceeceesseeeeeeees 20 DIM POLO Sia Ce COMLAIOS casi saia iai hens ab E rae 2 a RAD 24 SDO ad
2. Em outras palavras o CLP pode ser visto como um equipamento eletr nico de processamento que possui uma interface amig vel com o usu rio e tem como fun o executar o controle de v rios tipos e n veis de complexidade 14 3 1 2 Utiliza o dos CLPs Toda planta industrial necessita de algum tipo de controlador para garantir sua opera o segura e economicamente vi vel desde o n vel mais simples em que pode ser utilizado para controlar o motor el trico de um ventilador ou para regular a temperatura de uma sala at um grau de complexidade elevado controlando a planta de um reator nuclear para produ o de energia el trica Embora existam tamanhos e complexidades diferentes todos os sistemas de controle podem ser divididos em tr s partes com fun es bem definidas os transdutores sensores os controladores como os CLPs e os atuadores Sensores transdutores transdutor um dispositivo que converte uma condi o f sica do elemento sensor em um sinal el trico para ser utilizado pelo CLP atrav s da conex o s entradas do CLP Um exemplo t pico um bot o de press o moment nea em que um sinal el trico enviado do bot o de press o ao CLP indicando sua condi o atual pressionado ou liberado Atuadores sua fun o converter o sinal el trico oriundo do CLP em uma condi o f sica normalmente ligando ou desligando algum elemento Os atuadores s o conectados s sa das do CL
3. x y parent winfo pointerx parent winfo pointery x y x parent canv winfo rootx y parent canv winfo rooty if xs is not None and ys is not None Xx y xs 15 vs 15 xb yb 0 0 self canvas coords sel oval x 15 xb vy 15 yb add x 15 xb y 15 ybtadd seli canvas coords selt elabel x xb y ybtadd selt canvas coords selt label x xb y 16 yb add selt update moving for i in self parent arcos self parent inibidores l redraw Figura A 7 Classe Lugar do m dulo petrilab O programa principal no entanto est todo contido na classe Programa que deriva da classe Tk ou seja representa uma janela A m todo __init__ desse programa cont m diversas linhas que cont m a defini o das propriedades da janela dos quadros de divis o de regi o dos bot es Frames e das vari veis de controle a cria o de todos os menus drop down e bot es e a associa o das teclas de atalho fun es da classe A Figura A 8 mostra um trecho que associa teclas de atalho a algumas fun es 88 LAPADA EPE AAA self bind 1 lambda x self lugar self bind t lambda x self transicao self bind a lambda x self arco self bind i lambda x self inibidor self bind e lambda x self evento self bind c lambda x self condicao self bind k lambda x self acao self bind g lambda x selt ladder self bind s lambda x self simular Figura A 8 Trecho da cria o de teclas
4. 0 self timers t Delay self t self timers t 1 atart Figura A 3 Fun o run da classe CIPN 83 Para a simula o dos temporizadores s o criados objetos da classe Delay Essa classe uma subclasse de Thread a classe do Python que gerencia novas tarefas Sendo assim o programa se torna multitarefa ficando muito mais propenso a travamentos sempre boa pr tica finalizar as tarefas n o utilizadas para evitar esse problema A classe TimerAct tamb m derivada de Thread apenas um delay para controlar o tempo que a luz indicadora de a o acionada fica acesa na Interface gr fica A 2 M dulo ladder O m dulo ladder o respons vel por criar as classes dos elementos do diagrama Ladder e est contido no arquivo ladder py no diret rio principal Os objetos dessa classe s o criados com par metros referentes ao tipo de elemento e os r tulos necess rios para sua exibi o Todos os objetos das classes desse m dulo cont m a fun o draw que tem como argumentos um objeto de Canvas correspondente a uma rea de desenho no m dulo de Interface gr fica do Python e as coordenadas x e y que o objeto deve ser desenhado A Figura A 4 mostra essa fun o expandida para um objeto correspondente a um bloco COMP class Comp def init self l t q def str self def draw self c xy R 20 c create rectangle xy 0 xv 1 R xy 0 3 R xy 1 8 c create text xy 0 1 5 R xy
5. B Extrair aqui ___Petrilab10_ Extrair para petrilab TON Figura 5 8 Extra o do PETRILab 44 4 4 a a e a Ab conversao diagrama fontes grafico Fontmap ladder Figura 5 9 Execu o do PETRILab 5 3 2 Interface O PETRILab conta com uma Interface gr fica simples e intuitiva como exibido na Figura 5 10 ER Arquivo Editar Exibir Inserir Ladder Simula o Ajuda Balala QUIT TI ES Ee elaji w Figura 5 10 Interface do programa 45 Na Figura 5 10 a rea marcada em vermelho a rea de desenho onde ser o inseridos os lugares transi es e arcos da Rede de Petri Essa rea pode ser estendida atrav s das barras de rolagem marcadas em marrom A barra de ferramentas marcada em verde cont m bot es para acesso r pido de fun es como gerenciamento do arquivo Inser o de elementos gera o de Ladder simula o e ferramentas de edi o Por fim a rea em azul mostra os menus do programa onde poss vel acessar todas as fun es presentes nele 5 3 3 Inserir elementos a Lugar Para inserir um lugar na rede clique no bot o marcado na Figura 5 11 Alternativamente v em Inserir gt Lugar L ou use a tecla de atalho lt L gt Em seguida clique em um ponto da rea de desenho Em qualquer momento o usu rio pode apertar a tecla lt Esc gt para cancelar a Inser o Exibir Inserir Ladd Our p Figura 5 11 Inser
6. 65 OL Sistemas EXCApIO ssauaseaitandorias aaa iai onda 65 6 2 Modelagem da RPIC e Gera o do Ladder erre 67 65 Implementa o no CEP sesuais sedes Ena ga balada a a Maeda dps media 70 O4 Montasem cm Bancada oseni ano E 74 Do RO UI AG Os saia dean ter ee cece sats ose ot sera nce a sn A 75 7 Conclus es e Trabalhos KUturos qus2 0 50ezssisisia indaga sida ade E oder 78 Refer ncias Bibliogr ficas ccccccceesessesesssssssssesesssssssseseesteesssesseesseeeeseseeeegs 80 A DENdICE A ni sos es ir eee ne pa do q Si db a o ee eee a de ene 91 AL Modulo CIP N aes aged raat Sta q SE a A dene asgeemetteaman 81 A2 NNO GUIO MAAC 0 CAMPI CURRAIS O RR PR 84 A Modulo CONVELIS O ara SR a 85 AA Modulo diarana E E saca REIS bao asa G ileso 86 AS MOQUIO Pett aiDan pino abas en A cua a east 87 CEDER ACO AD srs eos a nC ee ne een ee ee ee en ee 92 ADendicel ay NSP ae ie eI roe Se ne Se ee Ra 92 1X Lista de Figuras Fig ra 2 13 Modelasem de iim Sistema a acaiaseaa aaa ais 4 Figura 2 2 Evolu o dos estados de um SED eee e eeeeeeeeereeeereenea 6 Figura 2 3 Exemplo de grafo de Rede de Petri eee erre 8 Figura 2 4 Transi o to disparada uma VEZ secisinieeieisels nice hanes nian 9 Figura 2 5 Exemplo de Rede de Petri Rotulada Estendida cc eeeeeeeeeeeeeeeees 10 Figura 2 6 Exemplo de eratode RPIC sic cusatetsm autcauiurees eaa R 12 Figura 3 1 Sistema de controle t
7. Figura C 1 M dulo dos eventos externos 92 vw Network 2 Modulo das condi es de disparo Comment M 0 4 MO 7 eM 1 0 E ria po to PS a DB1 IEC Timer 0 M2 4 TON M1 1 gt i Time tT IN 0 _ _ _ ____ i T 2s FT El MO 5 MO 7 M1 2 s2r po t2 e a DB2 JEC Timer 1 M 2 6 TON M1 3 Es Time Ed EN QD SS MM T 2s PT i M0 3 M2 4 M1 4 sOr p1 t4 e eee A Figura C 2 M dulo das condi es de disparo 1 95 WMO 3 M2 5 M 1 5 sor Erg Wa WDB3 EC Timer 2 no Time t6 H IN Q a eg T 5s PT ET WMO 3 eM 2 4 WM 1 7 sOr p4 A DB4 IEC Timer 3 M3 4 TON M 2 1 p6 Time 9 IN _ _ _ _ __ fr T 5s PT Shee Figura C 3 M dulo das condi es de disparo 2 94 w Network 3 Comment M1 0 tO oM 1 1 a eM 1 2 2 Modulo das Figura C 4 M dulo das din micas da Rede de Petri 1 dinamicas da Rede de Petr 99 M1 3 eM 2 6 Ed p3 R J M 2 7 p4 5 M1 4 HM 2 4 t4 pl O n M 3 3 p5 5 J M1 5 M2 5 par R J M 3 3 p5 5 J Figura C 5 M dulo das din micas da Rede de Petri 2 96 M 1 7 M 2 7 1 p4 R J M3 4 p6 5 J M 2 0 M2 6 148 pa R J M3 4 D
8. aa US US CS a b Figura 5 45 Alternando entre estado l gico de condi es Quando um lugar associado a uma a o impulsional muda sua marca o de O para 1 o indicador da a o associada pisca com uma luz verde durante 1 segundo indicando que a a o foi executada como mostram as Figura 5 46 a e b 58 b Figura 5 46 Execu o de a es impulsionais 5 3 9 Conversao RPIC LADDER Uma das fun es inovadoras do PETRILab a convers o autom tica de uma Rede de Petri Interpretada para Controle em um diagrama Ladder Essa conversao pode ser feita instantaneamente clicando se no botao mostrado na Figura 5 47 ou apertando se a tecla de atalho lt G gt Arquivo Editar Exibir Inserir Ladder Simula o Ajuda Figura 5 47 Gera o de diagrama Ladder 59 O programa ent o abrir uma janela com o diagrama gerado de acordo com os passos propostos na Se o Cap tulo 4 deste trabalho A Figura 5 48 mostra o diagrama gerado para a rede da Figura 5 47 Diagrama DIAGRAMA LADDER COMP p3 lt 1 SU p0 p0 Fei B 1 D p1 p1 2 MOVE p0 2 B S Figura 5 48 Diagrama Ladder gerado a partir da RPIC da Figura 5 47 5 3 10 Salvar imagem da RPIC e do LADDER a Grafo da RPIC O grafo da RPIC modelada pode ser salvo em formato encapsulated postscript eps clicando se no bot o mostrado na Figura 5 49 ou no menu Arguivo Salvar Imagem do Grafo Caso o arquivo da rede j ten
9. e O m dulo CIPN que cont m a classe da RPIC em si e classes para temporizadores e O m dulo ladder que cont m as classes correspondentes a cada elemento do diagrama Ladder e O m dulo conversao respons vel por fazer a convers o de uma RPIC em um diagrama Ladder e O m dulo diagrama respons vel por desenhar o diagrama gerado na rea de desenho e O m dulo petrilab que cont m toda a interface gr fica do programa Este cap tulo est estruturado da seguinte forma Na se o A 1 ser apresentado o m dulo CIPN py na se o A 2 ser apresentado o m dulo ladder na se o A 3 ser apresentado o m dulo conversao na se o A 4 ser apresentado o m dulo diagrama por fim na se o A 5 ser apresentado o m dulo petrilab 81 A 1 M dulo CIPN O m dulo CIPN est contido no arquivo CIPN py no diret rio principal do PETRILab Sua principal classe a classe CIPN que cria um objeto correspondente a uma RPIC Como mostra a Figura A 1 seus argumentos de cria o s o basicamente os da RPIC apresentada na se o 2 4 com exce o de parent que em caso de uso da simula o da Interface gr fica precisa conter uma refer ncia ao objeto Programa do programa principal class CIEN def init self Pe Tc Prec Poste x0c Inc C Ec lc D ld A la parent None self parent parent self xDhe xDc aelf Pc self Tec Pe Te sel Prec sel Poste sel Inc Prec Postc Inc self C self
10. As conex es dos rel s com os motores foi feita de forma id ntica mostrada na Figura 6 1 exceto que n o foram utilizados rel s t rmicos e foram conectados LEDs em cada rel eletromec nico para indicar qual rel est fechado no momento As bobinas dos rel s eletromec nicos foram conectadas por meio dos rel s do CLP fonte trif sica As botoeiras do painel foram conectadas de forma a fechar uma tens o de 24 V gerada pelo pr prio CLP nas entradas digitais do mesmo A montagem final do painel ficou como na Figura 6 13 Figura 6 13 Bancada com fios conectados 6 5 Resultados Com todo sistema montado e energizado iniciaram se os testes Quando apertamos a botoeira correspondente a S1 observamos que o motor partiu para o sentido anti hor rio e os LEDs correspondentes a K1 e K2 se acenderam como mostra a Figura 6 14 Ap s 2s observamos que os LEDs mudaram para K2 e K4 como mostra a Figura 6 15 Ao apertarmos a chave SO em qualquer um desses momentos o motor come a a desacelerar e nenhum bot o funciona durante 5s como esperado 15 Figura 6 14 LEDs de K1 e K2 acesos Figura 6 15 LEDs de K2 e K4 acesos Apertando a botoeira correspondente a S2 observamos que o motor partiu para o sentido hor rio e os LEDs correspondentes a K1 e K3 se acenderam como mostra a Figura 6 16 Ap s 2s observamos que os LEDs mudaram para K3 e K4 como mostra a Figura 6 17 Ao apertarmos a chave SO em qualquer um desses mo
11. 1 R 2 text self s c create text xy 0 1 5 k uy 1 R 2 text seli s font Purisa 65 return xy 0 3 B xy 1 def size self Ea Figura A 4 Classe COMP do m dulo ladder A fun o size retorna as dimens es do bloco para posterior utiliza o pelo m dulo diagrama respons vel pelo deseho A fun o __ str representava os objetos na forma de texto sendo utilizada em vers es anteriores do PETRILab e pode ser ignorada ou apagada 84 A 3 M dulo conversao O m dulo convers o respons vel por realizar a convers o de RPIC em diagrama Ladder proposta no Cap tulo 4 e est contido no arquivo conversao py Ele consiste basicamente de uma nica fun o convert que leva como argumentos um objeto CIPN do m dulo CIPN e uma lista com os r tulos dos elementos no formato mostrado no coment rio acima da fun o A Figura A 5 mostra esse coment rio al m da primeira parte da fun o que faz a cria o do M dulo dos Eventos Externos def convert pn labels None Modulo de eventos externos ml Ladder l Linha for i in range len pn Ec 1 if True in map lambda x x 1 1 pn lc if labels 1 Contato labels 2 1 1 else 1 Contato S str ij 1 if pn eimpulse i 1 l Borda 1 if labels 1 Bobina labels 2 i l r 1 else 1 Bobina S str ij r 1 else l Borda 0 if labels 1 Bobina labelsa 2 i f 1 else 1 Bobina
12. Figura 5 2 Cria o de RPIC em uma vers o antiga do PETRILabD 40 Figura 5 3 Trecho de c digo de convers o de RPIC em diagramas Ladder 40 Figura 5 4 Ladder gerado em forma textual e e eeeeeeeeeeeeeeereena 41 Figura 5 5 Rede de Petri da Figura 5 2 desenhada erre 42 Figura 5 6 Diagrama Ladder gerado a partir da RPIC da Figura 5 5 43 Figura 5 7 P gina do PETRILab no Sourceforge c erre 44 Figura s o Extracaoido PE ERIL AD assa pascal Saba a 44 Fisura 5 9 Execucao do PE LRIL AD ua Ga a 45 Pisura5 10 Intertace do prodtama ssa CUBOS ORM ae ested SS 45 Figura oll Inser o de IW Gal asso sega sons a a espa au a aa canis ap aaa 46 Figura 5 12 Insercao de Wasi AO za asdssaas uai a nos iada Eau aED ad gaia Ud sa 47 Figura 5 13 Inser o de transi o rotaciOnada csessessssseeeeccceeeceeeeeeeeneeeeeeeeeeeeees 47 Figura 5 14 InSercao Cesar CO ssierste sccdetaxaaattaxaieectecsttauraceiiededaasaadtexaltacteestiarecestediiaseetias 47 PIsura Sal D7 Umcem do arco Cel A iiss da dese SE a 47 Fora SO ARCO INSCRITO criara aa SD escent cde Neowd sea ioeannade 48 Figura 5 17 Arco segmentado sendo Inserido eeeee crer re re renan 48 Figura 5 18 Arco segmentado finalizado cccceeee errei rrre cera re rare eeneaaaananas 48 Figura S 10 Ins rcao de aircon Didor saia cara voip a Sea a na
13. Ln 26 Col 4 Figura 5 2 Cria o de RPIC em uma vers o antiga do PETRILab def convert pn labels None f Modulo de eventos externos mi Ladder 1 Linha for iin range len pn Ec 1 if True in map lambda x x 1 i pn ic if labels 1 Contato labels 2 il 1 else 1 Contato S str i i if pn eimpulse i i 1 Borda 1 if labels 1 Bobina labels 2 il r 1 else 1 Bobina S str i r 1 else 1 Rordal o Figura 5 3 Trecho de c digo de convers o de RPIC em diagramas Ladder 40 gt gt gt ladder convert rede gt gt gt for iin ladder print i 50 P S0r S0r lt COMP X0 gt 1 gt BO B0 lt SUB X0 1 gt lt ADD X1 1 gt B lt MOVE X0 2 gt S B gt gt gt Figura 5 4 Ladder gerado em forma textual Em meados de 2014 o programa come ou a ganhar uma interface gr fica que foi finalizada no final do ano Ele ser apresentado em detalhes nas se es seguintes 5 2 Vis o Geral O PETRILab um programa de modelagem e simula o de Redes de Petri Interpretadas para Controle que conta com o recurso de convers o autom tica em diagramas Ladder Para utiliz lo o usu rio deve ter a vers o 2 do Python instalada em seu computador que pode ser baixada gratuitamente em http www python org Aten o o programa n o compat vel com a vers o 3 do Python pois diver
14. o 48 Figura 5 20 Origem do arco inibidor definida eeee erre 48 Figura 5 212 Arco inibidor INSCTIGO nosei a TR Saad cha Sp SS pa 49 Figura 9 227 Arco mibidor SC mE Id Onne DS UR aa 49 Figura 5 23 Arco inibidor segmentado finalizado eee 49 PieuraS 24 Insercao de EVENTO sas nas asanit E S 49 FiSurao 25 insert ao de CONdIC O masi salao a RT a a a 50 Figura 5 26 Inser o de acao impulsional zeze aiusesiscentisnsscasa linea lotadas panties ie sadias 50 BCU a 527 Edi o den Sarandi ais adido REI nR aaa GUS Eca da Rap Ead 51 FIgura 5 252 Luar CIAO rar aniara a as a ENG a 5I Fig r 5 29 Edi o de Transi o rsineisessvosasiedyacesunsaubnviicennensnesdupnctialneciniaesdbncinenseacbotdunnasindst 52 Pisura 5 350 Transi o Editada a arrasa a T E 32 Proura 523 LGR OtaCa de Mansi dOs EN NA 32 Fig ta 5 32 Edi o de AfCOcssarenions i diana E T TE 33 Fura ss Ar Oedi d Oosa a a E io Run ia Renata nina oo a aa 53 Fir ra S 54 Edicao de CVC INO enrera eaa r E c eee Neowd tea hoeeannadeed 53 Pewa Ede ode CONGICAO ie E E ER ira tes 54 Eisuta S o0 Edi o de A O i E E a US inca eia aa 54 Figura 5 37 Figura 5 38 Figura 5 39 Figura 5 40 Figura 5 41 Figura 5 42 Figura 5 43 Figura 5 44 Figura 5 45 Figura 5 46 Figura 5 47 Figura 5 48 Figura 5 49 Figura 5 50 Figura 5 51 Figura 5 52 Figura 5 53 Figura 6 1 Figura 6 2 Figura 6 3 Figura 6 4 Figura 6 5 Figura 6 6 Figura 6 7 Figura 6 8 Figura 6
15. pico utilizando se um CLP cc cceeeeeeeeeeeeeeeees 16 Figura 3 2 Diagrama de bloco dos principais componentes da CPU 17 g SA Wer o a Estrutura de tin C OB saia a E oem ee 18 Figura 3 4 Circuito el trico com chave aberta cccssssseeeeeccceececeeeeeeeaaeaeeeeeeeeeeees 23 Figura 3 5 Circuito el trico com chave fechada erre 23 Figura 3 6 Exemplo de diagrama Ladder r eseassneascennn sees ioeetaceteresanndeavieeedeudanens 29 Figura 3 7 Diagrama Ladder com fluxo reverso ssssssseeseeeereresesssssssssssssseeeeerreeeeee 26 Figura 558 Bloco COMP erer e E E canada ns ana gua gs tada 21 Ficura 3 9 Bloco MOV Es ranie T EO etter 28 Frou a da 0s Bloco TIMER reais E ED es psi O da 28 Figura 4 1 RPIC utilizada para ilustrar o m todo de convers o proposto em 1 30 Figura 4 2 M dulo dos eventos externos da RPIC exemplo eeessees s 31 Figura 4 3 M dulo das condi es de disparo da RPIC exemplo 32 Figura 4 4 M dulo das din micas da Rede de Petri da RPIC exemplo 34 Figura 4 5 M dulo da Inicializa o da RPIC exemplo cc eennneeeeeeeeeeeeeees 35 Figura 4 6 M dulo das a es da RPIC exemplo erre 36 Figura 4 7 M dulo das a es com a o cont nua eee 36 Figura 5 1 Parte do codigo do PETRILaD pastores apl sas apa EU nadas da 39
16. s do m dulo de interface Tkinter e uma fun o gerar que a respons vel por fazer de fato o desenho do diagrama nesse Canvas A fun o gerar leva como argumentos um objeto de RPIC um objeto da classe Programa presente na interface gr fica e os r tulos dos elementos do diagrama Ladder Internamente ele chama a fun o convert do m dulo conversao apresentado na se o A 3 que retorna uma lista com os elementos do diagrama Ladder de cada m dulo criado A Figura A 6 mostra o trecho da fun o que desenha o M dulo da Inicializa o Desenho do Module 4 if len b 3 x 0 x 1 e gt 1 HY Pb XY EY b 3 x 0 x 0 draw apD c Xy app c create line xy 0 xy 1 larg 5 D 3 x 0 x 1 size 0 xy 1 xy larg 5 b 3 x 0 x 1 size 0 xy 1 xy app xYTKY if b 4 x app newline 70 b 3 x 0 x 1 draw app c xy Figura A 6 Trecho da fun o de desenho do diagrama Ladder 86 Na Figura A 6 b representa a lista com os elementos de cada m dulo Sendo assim b 3 o quarto elemento da lista corresponde ao objeto da classe Ladder do m dulo ladder correspondente ao M dulo da Inicializa o A propriedade x dessa classe armazena as linhas do m dulo ent o x 0 acessa sua primeira linha um objeto da classe Linha do m dulo ladder que tamb m tem uma propriedade x que armazena seus elementos Acessando ent o o item x dessa linha obtemos o segundo elemento da linha que no ca
17. 4 ambos de acordo com o m todo de convers o proposto 42 Diagrama DIAGRAMA LADDER ro SOr SUB p0 p0 1 p1 p1 1 Figura 5 6 Diagrama Ladder gerado a partir da RPIC da Figura 5 5 5 3 Guia do Usu rio 5 3 1 Download e instala o O projeto do PETRILab est hospedado no site do Sourceforge 5 sob o endere o https sourceforge net projects petrilab Na p gina inicial do projeto existe um bot o de Download que aponta para a vers o mais recente do programa como mostra a Figura 5 7 Clique no bot o para baix la 43 Home Browse Development Modeling PETRILab PETRILab Simulador de Redes de Petri Interpretadas para Controle Brought to you by andexis Summary Files Reviews Support Tickets Discussion Admin Add a Review 20 Downloads j Last Update 20 hours ago W Tweet 0 gako ge Usam so caes tudo D Ane i alta onae lae oF Figura 5 7 P gina do PETRILab no Sourceforge O arquivo est compactado no formato zip e necess rio descompact lo Se o sistema n o tiver um descompactador nativo necess rio baixar um como o WinRAR 6 A extra o do arquivo ilustrada na Figura 5 8 Ap s a extra o ser criada uma pasta contendo os arquivos do programa Para execut lo basta abrir o arquivo petrilab pyw como mostrado na Figura 5 9 Pode ser conveniente criar um atalho para esse arquivo em sua pasta de prefer ncia B Extrair arquivos
18. DR E GR RR E R T 2 4 Redes de Petri Interpretadas para Controle eessessseeeeessssssssseerrsssssssseeerssss 9 3 Implementa o de Controladores a Eventos Discretos ccccccccceeeeeeeeeeeeeees 13 3 1 Controladores L gicos Program veis cccccccccccecesseeeeeececeeseaaeeeeeeeeeeeeeeaaas 14 3 1 1 Defini o do Controlador L gico Program vel ccccccccsssseeeeeeeeees 14 Sd Wiliz o dos CLPS cana sn ie RED ees 15 dale ApPpheacocs do GLa adi ao tech a cee dA A 16 3 1 4 Arquitetura dos CLPs e principio de funcionamento cc eeeeeeeeeeeees 17 2 Iinguasens de Procrama o sorserien EE 19 S2al ADEMMICOCES DASICAS usado O CD E E e R 19 322 dA programa ao em um CLP sata iirasiasssosta media dida disp an adiadas rdias 19 3 2 3 As linguagens de programa o sesei aa E 21 39 dn PU ce ACE cair ida A aeaee 22 dd MEO CEMOS B SICOS ercsi Prost asa aso Safada salina ada Soda 22 dm LOCA TC CON ALO Six risca rataii dna asia ia aaa a aunts 22 i Wie yo mes 1 01916 600 D SICOS nee eee oe ere oe 23 334 Diagramas de contatos em Ladder qua eresaaisdes is ni Area Asi ada da 24 3 3 5 Outros elementos de diagramas Ladde ccccesseeesseceeeceeeeeseeseeeeeees 26 vil 4 Convers o de Redes de Petri Interpretadas para Controle em Diagramas Ladder 29 4 1 Descri o Geral do M todo Proposto is eeeeeerrerereereennnos 30 42 lt Modulo dos Eventos EXtemos
19. NETS Anderson Linhares de Souza February 2015 Advisors Lilian Kawakami de Carvalho Jo o Carlos dos Santos Bas lio Department Electrical Engineering PETRILab is a software developed in Python to assist the modeling of controllers for Discrete Event Systems DES Through a simple and intuitive graphical user interface the user is able to model and simulate a Control Interpreted Petri Net CIPN one of the models of DES that best represents an automation system Furthermore with a single click the modeled CIPN can be converted into a Ladder diagram The objective of this work is to present PETRILab and all its features and to provide a guide with all its commands In order to show the effectiveness of the software a practical example of the project of a discrete event controller using PETRILab is presented Keywords Discrete Event Systems Petri Nets Automation Software Python vi Sum rio Lista de BCU GAS ansora iTodas Uns ando sis RUDE scan To UEDas ns and sopa Sra sds onda X ESTA de TADCIAS ns isso iria A Rene E eer XIV E INITOdUC O Guess tg ats tS gaara US tito 2 2 Redes de Petri Interpretadas para Controle ii 3 Dl WE ONCE OAS SUS Oe seia ds a Ea da a tal E 3 ZA Delihi o de SIStema ias ca aloe RU A NH 3 2 1 2 Modelagem de sistemas e vari veis de eStado cccccccccccessseesseeeeeeeeeeaes 4 2 stemas a Eventos DISE OS paia a ipiai nessas r ec 5 De Redede Pel PA PORREIRO PRE
20. S str ijt f 1 ml 1 l Linha Figura A 5 Fun o convert do m dulo conversao Note que a convers o segue exatamente o esquema proposto no Cap tulo 4 Primeiramente o programa cria uma inst ncia de um diagrama Ladder e de uma linha Para cada evento da rede o programa checa se ele est associado a alguma transi o para ent o come ar a Inser o de elementos em sua linha correspondente Um contato ent o inserido seguido de um contato de borda e finalizando com uma bobina 85 O teste if labels realizado diversas vezes nessa fun o pode confundir o desenvolvedor Ocorre que originalmente existia a op o de n o fornecer nenhum r tulo dos elementos fun o convert nesse caso a fun o gerava automaticamente r tulos com numera o ordenada para eles Com a cria o da Interface gr fica esse caso nunca Ir ocorrer portanto os testes n o s o necess rios Todos os outros m dulos do diagrama a ser constru do seguem o mesmo esquema de cria o criam se as linhas necess rias e adicionam se os elementos todos provenientes do m dulo ladder A fun o retorna ent o uma lista contento as linhas de todos os m dulos do diagrama convertidos A 4 M dulo diagrama O m dulo diagrama respons vel por fazer o desenho do diagrama Ladder gerado em um Canvas e est contido no arquivo diagrama py Ele cont m uma classe Diagrama que ao ser inicializada cria uma janela e um Canvas atrav
21. Sendo assim temos um SED e podemos model lo utilizando uma RPIC O sistema proposto bem simples e sua modelagem em RPIC bem intuitiva o sistema deve Iniciar com apenas uma ficha em um lugar onde todas as chaves est o abertas ao apertar se um dos bot es de partida uma transi o deve levar um estado do sistema a um lugar com a es correspondentes aos rel s de algum sentido e da liga o em Y ap s 2s uma transi o deve levar a ficha para um lugar que tenha a a o correspondente A ao apertar se a chave SO em qualquer situa o de movimento a ficha deve ir a um lugar sem nenhuma a o somente ap s 5s o sistema deve voltar ao estado Inicial Para a partida no outro sentido de rota o a rede deve ser espelhada 67 Figura 6 2 RPIC correspondente ao sistema de acionamento do motor de indu o A Figura 6 2 mostra a RPIC modelada para o sistema utilizando o PETRILab ap s as a es terem sido alteradas de impulsionais para cont nuas Apesar do programa trabalhar apenas com a es impulsionais elas foram modificadas para cont nuas para facilitar o controle do sistema Os eventos TSO TS1 e 752 representam o apertar dos bot es de parada e partida nos dois sentidos respectivamente As a es K1 K2 K3 e K4 representam a energiza o das bobinas dos rel s eletromec nicos K1 K2 K3 e K4 da Figura 6 1 respectivamente Os lugares s o explicados na Tabela 6 1 Tabela 6 1 Significado dos lugares da RPI
22. de atalho da classe Programa Como fica evidente na Figura A 8 a classe Programa tem diversas fun es que implementam todas as a es de inser o e edi o na interface principal Tomemos como exemplo a fun o inita mostrada na Figura A 9 Ela chamada ao clicar se em qualquer lugar da rea de desenho ap s clicar se no bot o de Inserir Arco e leva como argumento uma tupla com as coordenadas atuais do mouse As primeiras linhas do c digo desassociam o lt Duplo Clique gt lt Clique Direito gt e lt Clique Arrastado gt das suas fun es originais de edi o para evitar edi es acidentais ao inserir se um arco Em seguida o programa chama uma fun o do Canvas que detecta se o usu rio clicou em cima de algum item Em caso negativo a vari vel obj conter None e a fun o terminar Em caso positivo a fun o ent o testa se o objeto clicado pertence a um lugar ou transi o da rede se pertencer ele primeiramente testa se o arco inibidor terminando a fun o em caso positivo e em seguida armazena nas vari veis ainit e arcstart o objeto clicado Por fim ele muda o cursor para uma cruz menor e associa o clique do mouse defini o do fim do arco dada pela fun o enda Muitas outras fun es diferentes da do exemplo mostrado est o presentes nessa classe mas n o o objetivo deste trabalho detalha las No entanto todas elas seguem uma linha l gica n o muito complicada e o desenvolvedor
23. eram anteriormente implementadas com rel s como por exemplo controle liga desliga de m quinas e processos que necessitavam opera es repetitivas Em um curto tempo esses controladores tiveram muitas melhorias em rela o aos rel s como o uso de menor espa o e energia indicadores de diagn stico e ao contr rio dos rel s a sua l gica de opera o poderia ser mudada sem a necessidade de altera o das conex es f sicas dos elementos Um controlador l gico program vel pode ser dividido em duas partes uma unidade central de processamento e sistemas de interface de entrada sa da A Unidade Central de Processamento ou Central Processing Unit CPU em ingl s comanda todas as atividades do CLP sendo formada pelos tr s elementos mostrados na Figura 3 2 Processador Mem ria Fonte de alimenta o Figura 3 2 Diagrama de bloco dos principais componentes da CPU 17 Podemos ter um diagrama de blocos simplificado do CLP como est ilustrado na Figura 3 3 consistindo de Fonte de alimenta o Entradas anal gicas e ou digitais Sa das anal gicas e ou digitais Unidade Central de Processamento CPU os Mm li E Unidade de comunica o Controlador L gico Program vel CLP E Entrada E Sale ES digital Unidade Central de Processamento Entrada i Saida anal gica anal gica Fonte de alimenta o Alimenta o CA ou CC Figura 3 3 Estrutura de um CLP A fonte de alimenta
24. no m dulo das a es todos os lugares que acionam determinada bobina foram colocados em paralelo com ela de forma que s haja uma instancia de cada bobina A Figura 6 5 mostra o diagrama com os ajustes feitos Sendo assim foram criadas as vari veis tags mostradas no Ap ndice B Para criar as tags no STEP7 basta clicar no item PLC Tags do painel Project Tree esquerda da interface como mostrado na Figura 6 6 Note que as vari veis de entrada s o do tipo I as de mem ria do tipo M e as de sa da do tipo Q como explicado na se o 3 2 2 MH PLC 1 CPU 1214C NY Device configur Yl Online amp diagn gt g Program blocks v p PLC tags amp PLC tags 31 Figura 6 6 Inserindo tags no STEP7 Em seguida foi inserido o diagrama Ladder mostrado no Ap ndice C que corresponde ao diagrama da Figura 6 5 Para inserir os componentes do diagrama Ladder no STEP7 basta clicar no item Main OBI do painel Project Tree como mostrado na Figura 6 7 A janela principal se transformar numa janela de edi o com diversos elementos de diagramas Ladder dispon veis para Inser o v MH PLC 1 CPU 1214C AY Device configur Y Online amp diagn lz Program blocks lie Add new blo J Main 081 g EC_Timer_0 Figura 6 7 Op o de inser o do diagrama Ladder no STEP7 Ap s a inser o do Ladder no STEP7 basta clicar no bot o marcado na Figura 6 8 para baixar o programa para o CLP ools Wind Figu
25. o respons vel pelo fornecimento da energia necess ria para a alimenta o da CPU e dos m dulos de entrada e de sa da Fornece todos os n veis de tens o exigidos para as opera es internas do CLP Conv m lembrar que como geralmente os CLPs s o modulares existem casos em que uma segunda fonte necess ria devido ao aumento de consumo com a expans o dos m dulos Cada fabricante especifica as condi es que tornam necess ria a segunda fonte Certos modelos de CLPs s o 18 projetados para operarem com uma tens o de alimenta o de 220 V outros trabalham com tens o de alimenta o cont nua de 24 V As mem rias s o divididas em duas partes instru es do programa executivo que controla as atividades da CPU e instru es do programa de aplica o do usu rio essa ltima parte expans vel 3 2 Linguagens de Programa o 3 2 1 Defini es b sicas Genericamente falando linguagem um meio de transmiss o de informa o entre dois ou mais elementos com capacidade de se comunicarem Esses elementos n o ficam restritos aos seres humanos nem mesmo exclusividade dos seres vivos ja que m quinas podem ser constru das com tal capacidade Na rea da computa o define se instru o como um comando que permite a um sistema com capacidade computacional realizar determinada opera o Linguagem de programa o um conjunto padronizado de instru es que o sistema computacional capaz de reconh
26. o de lugar b Transi o Para inserir uma transi o na rede clique no bot o marcado na Figura 5 12 Alternativamente v em Inserir gt Transi o T ou use a tecla de atalho lt T gt Em seguida clique em um ponto da rea de desenho Em qualquer momento o usu rio pode apertar a tecla lt Esc gt para cancelar a Inser o 46 CAIU IN LOUUET cx 7 ET rifa t Figura 5 13 Inser o de transi o Figura 5 12 Inser o de transi o rotacionada Uma transi o pode ser rotacionada no ato de inser o bastando para isso que o usu rio aperte lt Clique Direito gt em seu mouse A Figura 5 13 ilustra uma transi o rotacionada sendo inserida c Arco Um arco pode ser inserido de um lugar a uma transi o ou de uma transi o a um lugar Para inserir um arco clique no bot o marcado na Figura 5 14 Alternativamente v em Inserir Arco ou use a tecla de atalho lt A gt O cursor se transformar na cruz destacada na Figura 5 14 Ao clicar em um lugar ou transi o o cursor se transformar em uma cruz menor mostrado na Figura 5 15 indicando que a origem do arco ja foi definida restando Informar seu destino Em qualquer momento o usu rio pode apertar a tecla lt Esc gt para cancelar a Inser o fare bh Figura 5 14 Inser o de arco Figura 5 15 Origem do arco definida Para definir o destino do arco basta clicar no lugar ou transi o de destino desejado como mostrado na Fig
27. ser capaz de entende las ap s estar familiarizado com o programa 89 def inita self e self c unbind lt Double Button 1 gt self c unbind lt Button 3 gt self unbind lt Button 3 gt self unbind lt Double Button 1 gt self c unbind lt Bi Hotion gt obj self c find withtag CURRENT if obj for i in self transicoes self lugares if obj 0 in i items if selt inserindoin and isinstance i Transicao return self arcstart i self ainit i self configure cursor plus self c bind lt Button l gt self enda return Figura A 9 Fun o inita da classe Programa 90 Ap ndice B Vari veis criadas no STEP7 PLC tags Name Data type Address 5 0 B oo I 0 0 tJ sOaux Bool MOO 1 Bool 10 1 i 4 1 aux Bool SO 5 2 Bool 10 2 6 s2auy Bool MO 2 7 sor Bool oO 3 8 str Bool M04 D 2r Bool MOS 10 po Bool M0 7 11 p1 Bool M24 p2 Bool M2 5 13 p3 Bool M2 6 14 p4 Bool M2 7 1S ps Bool M3 3 Bool 3 4 tO Bool oll 1 0 tl Bool M1 1 t2 Bool M1 2 t3 Bool Sold t4 Bool M1 4 t5 Bool M1 5 t Bool M1 6 t7 Bool 01 7 t8 Bool aSM2 O yy 26 t9 Bool 2 1 27 E Bool M2 2 28 k1 Bool 00 1 29 k2 Bool 0Q0 2 30 k3 Bool 090 3 31 k4 Bool 00 4 BHAABAAAABALAABAALCALBAAAAAABAAAAAASG SA Figura B 1 Vari veis criadas no STEP7 91 Ap ndice C Diagrama Ladder Inserido no STEP7 w Network1 Modulo dos eventos externo Comment 10 0 MO3 s0 sor WMO 4
28. srusen e gaia OR dd 30 4 3 M dulo das Condi es de Disparo amasse seat ERA 31 4 4 M dulo das Din micas da Rede de Petri erre 33 AS Modulo da IniCialiZA O share rasos hes css coi hance eae da edo haan aa ah 35 AsO Moduiodas AC OCS an oe ee 35 4 7 A Organiza o do Diagrama Ladder s sseoeenessesssseeeersssssssseceressssssseereessesss 36 46 Tamanhodo Diasrama Ladder ccsstwecsctedvier ei pegas aguia ad a ana 37 SO PERDA error eee spa a a er a E ire erenn reat 38 JL Bevo PAIS COE ears ss crase crate Ea USE Ac a 38 32 Visao GeLalz ctsssteieseaseaaarecestecaizavant tens god se E 41 do Cuidado USAR cassa eta a a eee 43 dad Downloade INSLALAC O uso ramais De 43 DOG MMC IAC Ces nocao o dd Ra A a 45 Dido Insent eleme MOS osien a became 46 do ECAP CIC menlo Screan e a 50 Sd Mover CIENTS INOS eee E EE 54 5 5 0 Removerclementos ose a a amie aes a a RO 55 do EXAM OUOCUILAL TONO se a A E see eeneeeee 56 3936 SMu lir a Rede de Peti xtacvic asst si erediivanatwreiecnddxMeensstshioniianeatweeieceddativens 57 55 Conversao RPICEADDER serna rasca liso Dano Dur aiiad adianta 59 5 3 10 Salvar imagem da RPIC e do LADDER esnnneee ee 60 5 3 11 Criar um Novo Arquivo Abrir um Arquivo Salvo e Salvar Arquivo Editado 63 DEZ dA Ud AE SUP OMe a soranaio passa a 63 Se Listede T cias Geta essas sa ada O nine aa O 64 6 Projeto de um Controlador a Eventos Discretos Usando o PETRILab
29. 2015 103 p il 29 7cm Orientadores Lilian Kawakami de Carvalho e Joao Carlos dos Santos Basilio Projeto de Gradua o UFRJ Escola Polit cnica Departamento de Engenharia El trica 2015 Refer ncias Bibliogr ficas p 79 1 Redes de Petri 2 Controladores L gicos Program veis 3 Convers o 4 Guia do Usu rio 5 Exemplo I Souza Anderson Linhares de II Universidade Federal do Rio de Janeiro Escola Polit cnica Departamento de Engenharia El trica II PETRILab Uma Plataforma para Simula o e Gera o de Diagramas Ladder de Controladores a Eventos Discretos Modelados por Redes de Petri 111 Agradecimentos Primeiramente agrade o aos meus pais que apesar de todas as dificuldades sempre se sacrificaram pra que eu tivesse a melhor educa o poss vel Sem eles nada disso teria sido poss vel Agrade o tamb m a minha orientadora professora Lilian Kawakami que veio me procurar com a proposta deste projeto final Durante todo o processo de desenvolvimento do projeto ela confiou na minha capacidade e soube me cobrar no ritmo certo Tamb m devo grande gratid o ao meu orientador professor Bas lio pela dedica o no suporte com rela o a confec o dessa monografia al m das in meras corre es sugeridas Por fim devo agradecer aos meus amigos que fizeram essa jornada de cinco anos de curso passar em um instante 1V Resumo do Projeto de Gradua o apresentado Escola Polit c
30. 6 S Figura C 6 M dulo das din micas da Rede de Petri 3 M 2 1 M3 4 t9 po Rm MO 7 DO sm Figura C 7 M dulo das din micas da Rede de Petri 4 97 wv Network 4 Modulo da Inicializa o Comment M 2 2 MO 7 p po Figura C 8 M dulo da inicializa o w Network5 Modulo das acoes Comment TM 2 4 Q0 1 pl kT Q0 2 po Q0 3 K3 Figura C 9 M dulo das a es 1 98 U S k4 Figura C 10 M dulo das a es 2 99
31. 9 Figura 6 10 Figura 6 11 Figura 6 12 Figura 6 13 Figura 6 14 Figura 6 15 Figura 6 16 Figura 6 17 E Movendo us at s C LrANSICOES nirna Dead ida Soc 54 Remo o de elementos da rea de desenho cec ii irrririeem 55 Retornand ado modo de seletad inss panenas isabela aliados Lane la 55 Remo o de eventos condi es e a Es sssseeensssseeeresssseersssssseressssseees 56 O cultando LOUMOS auras nina ais E E NORN 56 ROO SOCUITOS auria a Aa Ra a aa 57 Modo de simuli Osann DD eae ae 37 Prote o contra loopings infinitos sssseseeeeessssssseeerressssssseerrrssssssseeeeees 58 Alternando entre estado l gico de condi es sseneesssssseseeerssssssseseerees 58 Execucao de acoes 1MPUISIONAIS 2s asas tuas pesso audi uai dada Ea Dai a da mc 59 Getacao de diasrama Ladder suas Sd nana 59 Diagrama Ladder gerado a partir da RPIC da Figura 5 47 60 Salvando imaseni do ralos i e E E E E 6l Grafo aberta no Adobe Illustrator cccccccccnnnetssseessseseeeeeeeeeeeeeeees 6l palvando diasrama Ladder cenir i Sd howe 62 Diagrama Ladder aberto no Adobe Illustrator eeecccceeeeeeeeeeeeeees 62 E NOVO ADLE Salya e e a a a 63 Esquema de partida Y A em dois sentidos oseosssooeeesssssssseeerrssssssseeeeres 66 RPIC correspondente ao sistema de acionamento do motor de indu o 68 Diagrama Ladder gerado pelo PETRILab 2 00 ccccccccsssseeeeeeeeeeeeee
32. C da Figura 6 2 pO Motor parado aguardando comando p1 Motor girando para o sentido 1 em Y p2 Motor girando para o sentido 1 em A p3 Motor girando para o sentido 2 em Y p4 Motor girando para o sentido 2 em A p5 Motor desacelerando girando no sentido 1 p6 Motor desacelerando girando no sentido 2 Nota se que os lugares p5 e p6 da rede s o redundantes e podem ser substitu dos por um nico lugar No entanto esse detalhe s foi percebido ap s a implementa o do controlador portanto iremos nos referir a rede n o simplificada da Figura 6 2 no restante deste trabalho 68 Uma vez modelada a RPIC basta apenas um clique para o programa gerar o diagrama Ladder correspondente como explica a se o 5 3 9 O diagrama mostrado na Figura 6 3 Novamente vale salientar que o programa gera o m dulo das a es considerando as impulsionais Para transformar o m dulo em a es cont nuas basta apagar o bloco P de cada linha dele como foi explicado na se o 4 6 A Ki Kz K2 KA K1 K3 K3 KA DIAGRAMA LADDER Figura 6 3 Diagrama Ladder gerado pelo PETRILab 69 6 3 Implementa o no CLP Com o diagrama Ladder gerado podemos partir para a sua implementa o em um CLP O CLP escolhido para o controle do sistema foi o S7 1200 da Siemens que possui 14 entradas digitais e 10 sa das a rel estando acoplado a um painel que permite acesso com cabos banana a todas suas entradas e sa das o que facilita a monta
33. Ec self lc self D C Ec lc D elf ld self A self la ld A la self x self toFfire xDc Falge Te Cy self timers for t in range Tc self timers append self eimpulse 1 len Ec def setimpulse self e x def isFireable self t i def setFireable sel j def getCondition self c B def initialize self def fire self t i def event self e def run self def check timers self t def str self Be def repr self Figura A 1 Classe CIPN A fun o initialize serve apenas para verificar se alguma a o deve ser acionada assim que a rede criada J a fun o setimpulse tem como objetivo definir o tipo de borda de um determinado evento subida ou descida Tendo sido criado o objeto da rede o estado da rede evoluir na ocorr ncia de eventos ou mudan a de condi es que s o representados pela ocorr ncia das fun es event e setCondition respectivamente Basicamente na ocorr ncia de uma das duas fun es supracitadas o programa modifica uma tag correspondendo a ocorr ncia de um evento e ou uma condi o c e chama a rotina setFireable para definir quais transi es est o aptas a disparar ap s essa mudan a utilizando a fun o isFireable para os test las individualmente Feito 1sso o programa chama a fun o fire para realizar o disparo 82 das transi es modificando o vetor de estados x e para acionar as a es que deve
34. P Um exemplo t pico fazer o controle do acionamento de um motor utilizando um CLP Nesse caso a sa da do CLP vai ligar ou desligar a bobina do contator que o comanda Controladores de acordo com os estados das suas entradas o controlador utiliza um programa de controle para calcular os estados das suas sa das Os sinais el tricos das sa das s o convertidos no processo atrav s dos atuadores Muitos atuadores geram movimentos tais como v lvulas motores bombas outros utilizam energia el trica ou pneum tica O operador pode interagir com o controlador por meio dos par metros de controle Alguns controladores podem mostrar o estado do processo em uma tela ou em um display Um sistema de controle t pico encontra se na Figura 3 1 O controlador monitora o status do processo em tempo real atrav s de um n mero definido de transdutores que convertem grandezas f sicas em sinais el tricos Ap s receber os dados de entrada ele ent o os processa de acordo com as instru es programadas e os par metros configurados provendo informa es sobre seu estado em sua Interface Por fim prov sinais el tricos para atuadores a partir da l gica realizada 15 Sensores Transdutores Atuadores Par metros Estados LJ o i Figura 3 1 Sistema de controle t pico utilizando se um CLP 3 1 3 Aplica es do CLP O CLP devido s suas caracter sticas especiais de projeto tem um campo de aplica o muito vas
35. RE E ERICO CS mjuwa EE o gt Figura 5 39 Retornando ao modo de sele o 55 b Eventos condi es e a es Para remover eventos condi es ou a es basta apertar lt Cligue Direito gt sobre o bot o correspondente ele desaparecer como ilustrado nas Figura 5 40 a e b Qualquer lugar ou transi o associado com o item deletado ser automaticamente desassociado b Figura 5 40 Remo o de eventos condi es e a es 5 3 7 Exibir ou ocultar r tulos Pode de interesse do usu rio ocultar os r tulos de lugares e transi es deixando apenas a mostra os eventos condi es e a es associados Para fazer isso basta ir em Exibir Ocultar R tulos como mostra a Figura 5 41 Os r tulos ser o ent o ocultados como pode ser visto na Figura 5 42 para exibi los novamente basta desmarcar a op o Arquivo Editar Exibir Exibir Inserir Ladder TES o Figura 5 41 Ocultando r tulos 56 Arquivo Editar Exibir Inserir Ladder Simula o Ajuda O Ts fe 5 Figura 5 42 R tulos ocultos 5 3 8 Simular a Rede de Petri Uma vez modelada a RPIC pode ser simulada de acordo com a din mica explicada na se o 2 4 Para entrar no modo de simula o basta clicar no bot o mostrado na Figura 5 43 a ou apertar a tecla de atalho lt S gt Como pode ser visto na Figura 5 43 b todos os bot es de edi o se tornam desabilitados enquanto os bot es de eventos condi e
36. RILab Apresentamos todos os conceitos necess rios para o entendimento do funcionamento do PETRILab Vamos neste cap tulo apresentar o programa em si sua arquitetura b sica sua Interface seus recursos e sua forma de utiliza o Este cap tulo est organizado da seguinte forma na se o 5 1 ser apresentada uma breve hist ria do programa na se o 5 2 ser mostrada uma vis o geral de seus recursos a se o 5 3 cont m o guia de utiliza o do usu rio por fim na se o 5 4 exibida uma lista de teclas de atalho do programa 5 1 Breve Hist ria A elabora o do PETRILab come ou no segundo semestre de 2013 como um projeto de Inicia o cient fica do Laborat rio de Controle e Automa o LCA da Universidade Federal do Rio de Janeiro UFRJ A proposta era que fosse desenvolvido um meio autom tico de realizar a convers o proposta no Cap tulo 4 deste trabalho a convers o de uma RPIC em um diagrama Ladder A linguagem de programa o escolhida para a cria o do programa foi o Python por ser uma linguagem orientada a objetos simples e robusta Em suas primeiras vers es o PETRILab n o contava com interface gr fica a modelagem de Redes de Petri era feita por linha de comando assim como a execu o de eventos e mudan a de condi es Uma pequena parte do c digo da classe de RPIC criada no Python pode ser vista na Figura 5 1 N o o objetivo deste trabalho explicar o c digo completo do programa
37. Universidade Federal do Rio de Janeiro Escola Polit cnica PETRILAB UMA PLATAFORMA PARA SIMULA O E GERA O DE DIAGRAMAS LADDER DE CONTROLADORES A EVENTOS DISCRETOS MODELADOS POR REDES DE PETRI Anderson Linhares de Souza Projeto de Gradua o apresentado ao Corpo Docente do Departamento de Engenharia El trica da Escola Polit cnica Universidade Federal do Rio de Janeiro como parte dos requisitos necess rios obten o do t tulo de Engenheiro Eletricista Orientadores Lilian Kawakami de Carvalho Jo o Carlos dos Santos Bas lio Rio de Janeiro Mar o de 2015 PETRILAB UMA PLATAFORMA PARA SIMULA O E GERA O DE DIAGRAMAS LADDER DE CONTROLADORES A EVENTOS DISCRETOS MODELADOS POR REDES DE PETRI Anderson Linhares de Souza PROJETO DE GRADUA O SUBMETIDO AO CORPO DOCENTE DO CURSO DE ENGENHARIA EL TRICA DA ESCOLA POLIT CNICA DA UNIVERSIDADE FEDERAL DO RIO DE JANEIRO COMO PARTE DOS REQUISITOS NECESS RIOS PARA A OBTEN O DE GRAU DE ENGENHEIRO ELETRICISTA Examinado por A Or lentadora Oaled fr Jo o Carlos dos ne Basf lio Ph D Orientador MU Prof Richard Magdalena Stephan Dr Ing RIO DE JANEIRO RJ BRASIL MAR O DE 2015 Souza Anderson Linhares de PETRILab Uma Plataforma para Simula o e Gera o de Diagramas Ladder de Controladores a Eventos Discretos Modelados por Redes de Petri Anderson Linhares de Souza Rio de Janeiro UFRJ Escola Polit cnica
38. a Posteriormente os dispositivos mec nicos foram substitu dos por rel s e contatores o que permitiu realizar fun es de controle mais complexas e sofisticadas Mais tarde com o desenvolvimento da tecnologia dos Circuitos Integrados CIs surgiu uma nova gera o de sistemas de controle Comparados com os rel s os CIs eram muito menores mais r pidos e possu am uma vida til muito maior Em muitos sistemas de controle que utilizam rel s e CIs a l gica de controle ou algoritmo definida permanentemente pela interliga o el trica Sistemas com l gica definida pela interliga o el trica s o f ceis de implementar mas o trabalho de alterar o seu comportamento ou sua l gica muito dif cil e demorado No in cio da d cada de 1970 com surgimento dos primeiros computadores industriais esse problema come ou a ser resolvido Devido ao fato de o computador ser program vel ele proporciona uma grande vantagem em compara o com a l gica por Interliga o el trica utilizada nos sistemas com rel s e CIs No entanto os primeiros 13 computadores eram grandes caros dif ceis de programar e muito sens veis utiliza o em ambientes hostis encontrados em muitas plantas industriais O Controlador L gico Program vel CLP foi desenvolvido a partir de uma demanda existente na ind stria automobil stica norte americana Podemos considera lo como um computador projetado para trabalhar no ambiente in
39. a inclusive n o estando dispon vel em alguns fabricantes de CLPs ela prevista pela norma Seu funcionamento o inverso da bobina normal fica energizada quando n o h fluxo virtual de energia chegando nela e desenergizada quando h fluxo 3 3 4 Diagramas de contatos em Ladder Sendo conhecidos os elementos b sicos de um diagrama Ladder podemos prosseguir com a apresenta o do diagrama em si A fun o principal de um programa na linguagem Ladder controlar o acionamento de sa das dependendo da combina o l gica dos contatos de entrada O diagrama de contatos Ladder composto de duas barras verticais que representam os polos positivos e negativos de uma bateria A linha esquerda representa o polo positivo e a da direita o negativo A ideia por tr s dessa linguagem representar um fluxo virtual de eletricidade entre duas barras energizadas 24 Conforme dito na se o anterior as vari veis devem ser previamente criadas no CLP e associadas a entrada I sa da Q ou memoria M do mesmo Vari veis associadas entrada s o lidas diretamente do estado dos contatos f sicos do CLP abertos ou fechados sendo assim seu valor n o pode ser modificado pelo programa apenas lido J as vari veis de sa da comandam os rel s f sicos da sa da do CLP abrindo os ou fechando os sendo assim seu valor n o pode ser lido apenas modificado As vari veis de mem ria por sua vez podem ser lidas e modi
40. a proposta pela norma Um dos dois elementos mais b sico de um diagrama Ladder o contato cujo s mbolo pode ser visto na Tabela 3 2 Ele funciona como uma chave em um circuito el trico com a exce o de que a corrente s flui da esquerda para a direita Esse comportamento ser discutido mais frente Os contatos s o associados a vari veis booleanas configuradas previamente no CLP Um contato normalmente aberto NA conduzir caso sua vari vel associada tiver valor l gico 1 e n o conduzir caso ela tenha valor l gico 0 J o contato normalmente 23 fechado NF tem funcionamento contr rio conduz caso sua vari vel tenha valor l gico O e n o conduz caso ela tenha valor l gico 1 Tabela 3 2 Simbologia de contatos Contato Normalmente Aberto NA Contato Normalmente Fechado NF AH Ye O outro elemento b sico de um diagrama Ladder a chamada bobina Assim como o contato a bobina deve ser associada a uma vari vel pr configurada no CLP No entanto diferentemente do contato ela n o l o valor da vari vel e sim o define A Tabela 3 3 mostra os s mbolos da bobina de acordo com a norma Tabela 3 3 Simbologia de bobinas Bobina Bobina Negada gt a Uma bobina fica energizada ou seja define o n vel l gico de sua vari vel associada como 1 quando h um fluxo de energia virtual chegando nela Caso contr rio a vari vel tem n vel l gico 0 Apesar da bobina negada ser raramente utilizad
41. acesso a este guia atrav s do menu Ajuda Guia do Usu rio que abre no navegador um link para download do documento em pdf diretamente da p gina oficial do PETRILab no Sourceforge Para reportar bugs ou dar sugest es de melhorias o usu rio pode entrar no menu Ajuda Informar Bugs Sugest es que abrir no navegador a p gina de Tickets do PETRILab no Sourceforge Alternativamente os bugs e sugest es podem ser enviados por e mail para petrilabl10 gmail com no caso de bugs recomendado que o usu rio anexe o arquivo pl do projeto em que o bug ocorreu 63 5 4 Lista de Teclas de Atalho Tabela 5 1 Lista de teclas de atalho Tecla de Atalho Fun o lt CTRL A gt Abrir arquivo lt CTRL S gt Salvar arquivo lt CTRL N gt Novo arquivo lt Esc gt Cancelar acao atual lt A gt Inserir arco lt C gt Inserir condi o lt E gt Inserir evento lt I gt Inserir arco inibidor lt G gt Gerar diagrama Ladder lt K gt Inserir a o impulsional lt L gt Inserir lugar lt Q gt Modo de sele o lt S gt Iniciar simula o lt T gt Inserir transi o lt X gt Modo de remo o lt gt Parar simula o 64 Cap tulo 6 Projeto de um Controlador a Eventos Discretos usando o PETRILab Com o PETRILab devidamente apresentado iremos ilustrar a sua utiliza o com o projeto de um controlador a eventos discretos Para tanto modelaremos o sistema por uma RPIC e em seguida utilizando o programa realizaremos
42. adder ou seja o fluxo el trico virtual deve sempre ir da esquerda para a direita de um contato A Figura 3 7 ilustra essa situa o Mesmo que os contatos F D B e estejam fechados a bobina Y n o ser energizada pois houve tentativa de fluxo reverso no contato D A B C Y D E F Figura 3 7 Diagrama Ladder com fluxo reverso 3 3 5 Outros elementos de diagramas Ladder Os contatos e bobinas s o os elementos base de qualquer diagrama Ladder No entanto muitos CLPs implementam outros elementos e blocos que podem realizar fun es mais complexas No decorrer deste trabalho utilizaremos alguns desses blocos sendo assim explicaremos aqui suas fun es e formas de utiliza o S o eles e Contatos de borda de subida e descida Al m dos contatos comuns apresentados previamente existem dois outros tipos muito utilizados pelos programadores de Ladder os contatos de borda de subida e borda de descida Um contato de borda de subida fechado conduz apenas no ciclo de varredura em que a condi o booleana anterior a ele muda de O para 1 Nos ciclos seguintes o contato j estar aberto O contato de borda de descida o oposto ser fechado apenas no ciclo de varredura em que a condi o booleana anterior a ele mudar de 1 para 0 A Tabela 3 4 mostra a simbologia desse tipo de contato 26 Tabela 3 4 Contatos de borda de subida e descida Contato de Borda de Subida Contato de Borda de Descida e H AN Bobin
43. ado que ela est associada a uma condi o l gica sempre verdadeira De modo an logo caso o evento associado transi o n o seja especificado consideramo la associada a o evento sempre ocorrente J as transi es temporizadas t T est o associadas apenas a um tempo em D atrav s da fun o lp Uma transi o instant nea t E T poder disparar apenas se al m de estar habilitada sua condi o associada for verdadeira A transi o disparar de fato quanto seu evento associado ocorrer No momento em que uma transi o temporizada t T fica habilitada inicia se um contador Quando esse contador alcan ar o tempo associado transi o ela ira 11 disparar automaticamente Se a transi o ficar desabilitada nesse meio tempo o contador retornar a zero As a es s o sinais de sa da da RPIC e est o associadas a lugares seguros atrav s da fun o ly Caso um lugar seguro p E Pc n o tenha uma a o associada considerado que L pc Quando um desses lugares muda seu n mero de fichas de zero para um todas as suas a es associadas s o executadas imediatamente As a es podem ser do tipo impulsional ou cont nua uma a o impulsional executada apenas no momento da mudan a da marca o do lugar correspondente enquanto uma a o cont nua permanece sendo executada enquanto o lugar correspondente mantiver sua marca o igual a um Nos grafos das RPICs as a e
44. amb m que o motor possa ter partida em dois sentidos diferentes o que pode ser realizado escolhendo se entre os rel s K2 e K3 que ligam o motor a rede no esquema ABC ou ACB R S T i Fl Wu U Pri ES 5 PTZ 6 68 HSS EA MI 30 Figura 6 1 Esquema de partida Y A em dois sentidos 66 O sistema de controle do motor deve obedecer aos seguintes crit rios e Deve haver um bot o S1 para partida em um sentido um bot o S2 para partida em outro sentido e um bot o SO para parada e Nao deve ser poss vel reverter o motor com ele girando e O motor deve partir em liga o Y e alternar para A ap s 2s e Ao apertar se a chave de parada nenhum bot o ter efeito por 5s para garantir a parada completa do motor 6 2 Modelagem da RPIC e Gera o do Ladder Para dar a partida do motor em um determinado sentido respeitando se a partida em Y A o par de chaves K1 K2 deve ser fechado e em seguida K4 K2 Para o outro sentido o par K1 K3 deve ser fechado e em seguida K4 K3 Para o parar o motor podemos abrir todas as chaves do sistema O conjunto de estados do sistema pode ent o ser dado por X f K1 K2 K1 K3 K4 K2 K4 K3 9 O conjunto da Equa o 9 um conjunto cont vel portanto os estados do sistema s o discretos Sabemos tamb m que os estados do sistema s devem mudar quando os rel s forem acionados pelo sistema de controle ou seja o sistema dirigido por eventos
45. as de Set e Reset Nas bobinas tradicionais suas vari veis associadas s permanecem no estado l gico 1 enquanto elas est o energizadas caso sejam desenergizadas a vari vel volta para o estado l gico 0 As bobinas Set por sua vez colocam a vari vel no estado l gico 1 ao serem energizadas e n o modificam seu estado l gico ao serem desenergizadas Por outro lado a bobina Reset modifica a vari vel para o estado l gico O ao ser energizada e n o modifica seu estado ao ser desenergizada A Tabela 5 mostra a simbologia dessas bobinas Tabela 3 5 Bobinas Set e Reset Bobina Set Bobina Reset s XR Blocos COMP Blocos COMP s o utilizados para compara o entre vari veis e n meros inteiros As compara es podem ser do tipo gt 2 lt e lt Caso a compara o seja verdadeira o bloco age como um contato fechado conduzindo caso contr rio age como um contato aberto A Figura 3 8 mostra a simbologia de um bloco COMP Figura 3 8 Bloco COMP Blocos MOVE Os blocos do tipo MOVE s o usados para definir o valor de vari veis inteiras Ao ser energizado ele define sua vari vel com o valor configurado A Figura 3 9 21 mostra a simbologia de um bloco MOVE O bloco deve ser inserido no final da linha Figura 3 9 Bloco MOVE Blocos ADD e SUB O bloco ADD incrementa o valor de uma vari vel inteira em uma certa quantia J o bloco SUB faz o oposto subtrai o valor de uma vari vel inteira em uma
46. bilitada ela somente ser disparada na ocorr ncia do evento t E E associado a ela Vale notar que diversas transi es podem estar associadas a um evento e Nesse caso todas que estiverem habilitadas disparar o quando da ocorr ncia do evento e Essa rede tamb m possui um novo tipo de arco o arco inibidor que aumenta significativamente sua capacidade de modelagem Com o arco inibidor poss vel restringir o n mero maximo de fichas em um lugar p para que uma transi o t esteja habilitada s condi es para a habilita o de uma transi o dadas pela Equa o 2 deve tamb m ser acrescida a condi o seguinte x p lt In p t para todo p I t 5 Note que caso o numero de fichas seja igual ao peso do arco a transi o estar desabilitada O arco inibidor representado no grafo como uma linha com um c rculo vazio na ponta como pode ser visto no grafo de exemplo da Figura 2 5 Nesse exemplo a transi o t est desabilitada pois o numero de fichas em Dog igual ao peso do arco inibidor que o interconecta com ty Nota se tamb m que a transi o est associada com o evento T Sg e s disparar caso o evento ocorra e se estiver habilitada pu fa 3 ps pe Figura 2 5 Exemplo de Rede de Petri Rotulada Estendida A Rede de Petri Interpretada para Controle se assemelha a Rede de Petri Rotulada Estendida por m cont m estruturas adicionais para lidar com sensores e atuadores As
47. certa quantia A Tabela 3 6 mostra a simbologia de ambos os blocos Estes blocos devem ser inseridos no final da linha Tabela 3 6 Blocos ADD e SUB Bloco ADD Bloco SUB ADD SUB Y Y 3 X X 1 Bloco TIMER O bloco TIMER representa o temporizador Timer On Delay dos diversos fabricantes de CLPs S o associados a ele uma vari vel e um valor de tempo Ao ser energizado o bloco inicia um contador e quando esse atinge o tempo configurado a vari vel configurada assume o valor l gico 1 Se o bloco for desenergizado em qualquer momento o contador zera e a vari vel configurada assume o valor l gico 0 A Figura 3 10 mostra a simbologia do bloco TIMER Figura 3 10 Bloco TIMER 28 Cap tulo 4 Convers o de Redes de Petri Interpretadas para Controle em Diagramas Ladder Vimos que as Redes de Petri Interpretadas para Controle s o excelentes modelos para Sistemas a Eventos Discretos na rea de automa o tendo alta capacidade de modelagem e controle no entanto elas s o apenas modelos te ricos n o podendo ser utilizadas diretamente no controle de m quinas reais Os diagramas Ladder por sua vez podem ser implementados em qualquer CLP podendo ser utilizados para o controle de m quinas no entanto n o f cil obter um diagrama Ladder diretamente de um SED Objetivando estabelecer um elo entre teoria e pr tica Moreira e Bas lio 1 prop em um m todo sistem tico para a convers o de RPICs em diagramas Ladder Este cap t
48. dder uma linguagem visual que simula a l gica de contatos el tricos cria o do m todo sistem tico proposto em 1 para a convers o de RPICs em diagramas Ladder permitiu que modelos te ricos possam ser utilizados diretamente na pr tica para o controle de DES por meio de um CLP Nesse contexto o PETRILab se destaca por fazer essa convers o computacionalmente com apenas um clique Al m da convers o instant nea de RPIC para Ladder o programa se destaca pela facilidade de Inser o e capacidade de simula o da rede podendo servir tamb m para estudos e testes Apesar do PETRILab cumprir com todos os requisitos propostos em sua cria o existem recursos e melhorias que poderiam facilitar ainda mais a modelagem simula o ou convers o de RPICs que possivelmente ser o inclu dos em vers es futuras Podemos citar alguns deles e Possibilidade de selecionar itens nicos ou m ltiplos para ent o mov los ou remov los e Fun es Desfazer e Refazer e Possibilidade de salvar imagens dos grafos e diagramas em outros formatos que n o o eps 78 e Tradu o da interface para o ingl s Outros recursos e corre es de bugs tamb m podem ser sugeridos atrav s do menu Ajuda do programa como foi dito na se o 5 3 12 79 Refer ncias Bibliogr ficas 1 2 3 4 5 6 7 M V Moreira e J C Bas lio Bridging the Gap Between Design and Implementation of Discrete Ev
49. de ndice O e vemos que a marca o da rede muda para 1 1 como esperado Posteriormente mesmo ainda n o tendo sido feita uma interface gr fica foi implementada a fun o de convers o em diagramas Ladder de acordo com o m todo proposto no Cap tulo 4 deste trabalho Um trecho do c digo de convers o pode ser visto na Figura 5 3 ele converte a rede em objetos do diagrama criados em um outro m dulo passando como argumento os r tulos correspondentes O diagrama Ladder podia ent o ser exibido desenhado em texto conforme mostra a Figura 5 4 A formata o era prec ria e o texto gerado n o muito intuitivo mas o diagrama correspondia ao m todo de convers o proposto Na figura representa um contato representa uma bobina que ter um S dentro se for do tipo Set lt gt representa um bloco de fun o e Il representa itens paralelos 39 a File Edit Shell Debug Options Windows Help Python 2 7 9 default Dec 10 2014 12 24 55 MSC v 1500 32 bit Intel on win32 Type copyright credits or license for more information gt gt gt sss sss RESTART PS gt gt gt rede CIPN 2 1 1 0 0 1 2 0 0 0 True False True 0 0 0 0 1 None None gt gt gt print rede Estado 2 0 Condicoes True Acoes gt gt gt rede event 0 gt gt gt print rede Estado 1 1 Condicoes True Acoes gt gt gt v
50. definiu sint tica e semanticamente cinco linguagens de programa o Diagrama de Blocos de Fun es Function Block Diagram FBD uma das linguagens gr ficas de programa o cujos elementos s o expressos por blocos interligados semelhantes aos utilizados em eletr nica digital Essa linguagem permite um desenvolvimento hier rquico e modular do software uma vez que podem ser constru dos blocos de fun es mais complexos a partir de outros menores e mais simples Sequenciamento Gr fico de Fun es System Function Chart SFC O SFC uma linguagem gr fica que permite a descri o de a es sequenciais paralelas e alternativas existentes numa aplica o de controle Como descendente direto do Grafcet o SFC fornece os meios para estruturar uma unidade de organiza o de um programa num conjunto de etapas separadas por transi es A cada etapa est associado um conjunto de a es A cada transi o est associada uma receptividade que ter de ser satisfeita para que a transposi o da transi o ocorra e assim o sistema evolua para a etapa seguinte Lista de instru es Instruction List IL Inspirada na linguagem assembly e de caracter stica puramente sequencial caracterizada por Instru es que possuem um operador e dependendo do tipo de opera o podem incluir um ou mais operandos separados por v rgulas E indicado para pequenos CLPs ou para controle de processos simples Texto estruturado St
51. diagrama Ladder por X gt 2eX gt 1 Vale notar que para lugares seguros poss vel substituir os blocos COMP por contatos pois suas marca es s poder o valer zero ou um As condi es de 7 s o ent o representadas por contatos NF e as condi es de 8 s o representadas por contatos NA Essa simplifica o pode permitir o uso do diagrama gerado em CLPs antigos que n o possuem blocos COMP 4 4 M dulo das Din micas da Rede de Petri Ap s o disparo de uma transi o t o n mero de fichas na Rede de Petri precisa ser atualizado Esse processo realizado no diagrama Ladder pelo m dulo das din micas da Rede de Petri Este m dulo tem Tc linhas Cada linha associada a uma transi o tc Tc e expressa as mudan as na marca o dos lugares ap s o disparo de t Um contato NA associado com a vari vel bin ria B ou com a bobina do temporizador TD N usado para representar que a transi o tc est pronta para disparar Fun es matem ticas s o usadas em s rie com o contato NA para representar as mudan as nas marca es dos lugares de entrada e sa da de tc A fun o de subtra o SUB usada para vari veis associadas com os lugares de entrada p de tc e o peso Pre Pci tc j subtra do da vari vel inteira X que representa o n mero de fichas de pc A fun o de adi o ADD usada para vari veis associadas com os lugares de sa da pc de tc e o peso 33 Postc te
52. disparo tem Tc linhas em que denomina cardinalidade Cada linha descreve as condi es para o disparo da transi o tc E Te Uma vez que cada RPIC uma Rede de Petri Rotulada Estendida ent o uma transi o t est habilitada se e somente se 31 xc Pci gt Prec Pei tej YPci E I tc 7 xc Pci lt Inc Pci tej VInc Pci tcj gt 0 8 Se a transi o tc E Te ent o tc estar em condi es de disparar se as condi es 7 e 8 forem satisfeitas e a condi o associada c verdadeira e ser disparada quando D ss 2 e x o evento associado e ocorrer Por outro lado se tc E Tc ent o tc estar em condi es de disparar se as condi es 7 e 8 forem satisfeitas mas disparada apenas depois de um tempo de atraso dj As condi es de habilita o 7 e 8 podem ser facilmente expressas no diagrama Ladder usando instru es de compara o as quais s o conectadas em s rie com outros elementos que dependem da transi o t ser temporizada ou n o Se a transi o n o for temporizada a express o booleana para a condi o c implementada com uma associa o simples de contatos NA ou NF Essa associa o conectada em s rie com o contato NA que representa a borda de subida ou descida do sinal de sensor correspondente que observa e Quando todas as condi es para o disparo de tc T forem satisfeitas uma bobina associada com a vari vel bin ria B energizada para re
53. do O usu rio pode tamb m adicionar diversos segmentos ao arco antes de definir seu destino Para isso basta clicar em qualquer lugar da rea de desenho como ilustrado na Figura 5 22 O cursor se manter como uma cruz pequena Para finalizar o arco basta clicar em uma transi o como mostrado na Figura 5 23 to tO p0 Figura 5 23 Arco inibidor segmentado Figura 5 22 Arco inibidor segmentado finalizado p e Evento Para adicionar um evento basta clicar no bot o marcado na Figura 5 24 ou ir em Inserir Evento ou ainda apertar a tecla de atalho lt E gt Um bot o de evento ser Inserido automaticamente no canto esquerdo do programa como mostra a Figura 5 24 Para associar eventos s transi es veja a se o 5 3 4b arquivo Editar Exibir Inserir Lado Figura 5 24 Inser o de evento 49 f Condi o Para adicionar uma condi o basta clicar no bot o marcado na Figura 5 25 ou ir em Inserir Condi o ou ainda apertar a tecla de atalho lt C gt Um bot o de condi o sera Inserido automaticamente na parte superior da rea de desenho como mostra a Figura 5 25 Para associar condi es s transi es veja a se o 5 3 4b Arquivo Editar Exibir Inserir Ladder O sir Figura 5 25 Inser o de condi o g A o impulsional Para adicionar uma a o basta clicar no bot o marcado na Figura 5 26 ou ir em Inserir A o ou ainda apertar a tecla de atalho lt K gt Um ind
54. dos m dulos proposta em 1 que ela permite as a es associadas aos lugares seguros de marca es inst veis da RPIC serem executadas corretamente importante notar que as a es associadas aos lugares seguros que tem uma ficha na marca o Inicial devem ser executadas Para garantir esse comportamento o m dulo de inicializa o implementado depois dos m dulos de condi es de disparo e din micas da Rede de Petri Portanto se um lugar seguro com a es associadas marcado com uma ficha no m dulo de inicializa o as a es associadas s o executadas como descrito no m dulo das a es Por fim vale ressaltar que apesar do m todo proposto em geral gerar um c digo Ladder maior do que outros m todos propostos na literatura ele garante que o comportamento esperado da RPIC ser executado por sua implementa o em Ladder 4 8 Tamanho do Diagrama Ladder Considerando que existem l eventos externos distintos associados com a borda de subida ou descida de sinais de sensores ent o o m ximo n mero de linhas no diagrama Ladder obtido por este m todo l 2 Tc 1 P Apesar do n mero de linhas poder ser menor o diagrama Ladder proposto permite uma completa visualiza o da estrutura da Rede de Petri e imita seu comportamento Assim qualquer modifica o no Controlador a Eventos Discretos descrito pela RPIC pode ser facilmente implementada no diagrama Ladder existente 37 Cap tulo 5 O PET
55. dos lugares na forma de fichas Arcos conectam lugares a transi es e vice versa definindo as condi es de disparo delas al m da din mica que ocorre no sistema quando essas s o disparadas Dessa forma a Rede de Petri pode ser representada em um grafo onde transi es e lugares s o n s e s o interconectados atrav s de arcos Formalmente uma Rede de Petri N definida como uma quintupla dada por N P T Pre Post Xo 1 sendo e Po conjunto finito dos lugares e To conjunto finito das transi es e Pre P xT gt Nafun o de peso dos arcos que conectam lugares a transi es e Post T xP N a fun o de peso dos arcos que conectam transi es a lugares e xo P gt Na fun o de marca o inicial No grafo associado s Redes de Petri as transi es s o representadas como barras enquanto os lugares s o representados como c rculos As fichas podem ser representadas por n meros ou bolinhas e os arcos por setas Na descri o de Redes de Petri comum utilizarmos I t para representar o conjunto de lugares de entrada da transi o t De forma similar O t representa o conjunto de lugares de sa da da transi o t A fun o x P gt N a fun o de marca o ou seja para um dado lugar p x p denota o n mero de fichas presentes nele A transi o t dita estar habilitada quando o n mero de fichas em cada um dos seus lugares de entrada for maior ou igual que o
56. dustrial em que os transdutores e atuadores s o conectados a robustos cart es de interface Comparados com um computador de escrit rio os primeiros CLPs tinham um conjunto de instru es reduzido normalmente apenas condi es l gicas e n o possu am entradas anal gicas podendo manipular somente aplica es de controle digital discreto Este cap tulo est estruturado da seguinte forma na se o 3 1 ser o apresentados os controladores l gicos program veis na se o 3 2 ser o abordadas as diversas linguagens de programa o para os CLPs por fim na se o 3 3 ser estudada mais a fundo a linguagem Ladder 3 1 Controladores L gicos Program veis 3 1 1 Defini o do Controlador L gico Program vel Um Controlador L gico Program vel definido pelo IEC International Electrotechincal Commision como Sistema eletr nico operando digitalmente projetado para uso em um ambiente industrial que usa uma mem ria program vel para a armazenagem interna de instru es orientadas para o usu rio para implementar fun es espec ficas tais como l gica sequencial temporiza o contagem e aritm tica para controlar atrav s de entradas e sa das digitais ou anal gicas v rios tipos de m quinas ou processos O controlador program vel e seus perif ricos associados s o projetados para serem facilmente integrdveis em um sistema de controle industrial e facilmente usados em todas as suas fun es previstas
57. e DO DIMAS assa sue E 24 Contatos de borda de subida e descida erre 27 Bobinas Sete ReSel apa par a sons aa au 21 Blocos ADD SUB star ea ie tanec em tases a 28 Lista deteclas de MANO ssa east E E 64 Significado dos lugares da RPIC da Figura 6 2 68 X1V Cap tulo 1 Introdu o Quando pensamos em grandes ind strias o que geralmente vem em mente s o as gigantescas m quinas de produ o capazes de realizar trabalhos imposs veis para o ser humano seja pela for a ou pela precis o requerida No entanto um ponto de extrema Import ncia que muitas vezes esquecido o de que essas m quinas nada seriam sem um sistema de controle para oper las Diversas m quinas da ind stria operam em diferentes modos que s o determinados por sensores ou pela opera o de um ser humano m quinas com tais caracter sticas podem ser denominadas Sistemas a Eventos Discretos SED Existem diversos modelos te ricos para SEDs dentre os quais se destacam as Redes de Petri Elas modelam os SEDs de forma simples e intuitiva e possuem diversas extens es que ampliam sua capacidade de modelagem Dentre essas extens es vale citar as Redes de Petri Interpretada para Controle RPICs que t m elementos que visam aproxim las de m quinas de automa o reais Do ponto de vista pr tico de sistemas de automa o um dos aparelhos de grande destaque o Controlador L gico Program vel CLP que consiste em um microcom
58. ecer Programar significa fornecer uma s rie de instru es a um sistema com capacidade computacional de maneira que esse seja capaz de comportar se deterministicamente executando de forma autom tica as decis es de controle em fun o do estado atual das entradas e das sa das do sistema num dado instante 3 2 2 A programa o em um CLP Os elementos mais importantes de um CLP s o as entradas as sa das e a mem ria interna Somente atrav s de suas entradas o CLP recebe informa es do mundo externo De forma similar o CLP s pode controlar algum dispositivo se este estiver conectado a uma de suas sa das Chamamos de vari veis os elementos textuais que permitem acessar diretamente as posi es de mem ria dos CLPs Uma posi o de mem ria de um CLP identificada 19 por tr s regi es l gicas A primeira letra identifica se a vari vel est mapeando uma entrada sa da ou posi o Interna de mem ria conforme a Tabela 3 1 Tabela 3 1 Mapeamento das posi es de mem ria de um CLP Primeira letra Ingl s Portugu s I Inputs Entradas Q Outputs Saidas M Memory Memoria No ato de sua defini o uma vari vel deve ser associada a uma das posi es de mem ria mostradas na Tabela 3 1 al m de ser provida de um nome simb lico e ser indicado o tipo de dado que ela armazenar Vari veis de entrada e sa da s podem ser do tipo booleano J as vari veis de mem ria podem assumir diversos tipos como inte
59. emas dirigidos por eventos a ocorr ncia dos eventos determina os Instantes de tempo associados As transi es de estado s o resultado apenas dessas ocorr ncias ass ncronas de eventos Com isso podemos ent o definir formalmente um SED como segue Um Sistema a Eventos Discretos SED um sistema de estados discretos e dirigido por eventos isto sua evolu o de estados depende inteiramente da ocorr ncia de eventos discretos ass ncronos ao longo do tempo 3 Como exemplo de SED podemos citar uma agenda eletr nica onde os estados s o o n mero de contatos armazenados A evolu o dos estados se d quando h adi o e remo o de determinado contato O gr fico da Figura 2 2 mostra o comportamento desse sistema ao longo do tempo QI Contatos 0 2 3 5 10 12 16 Tempo min es es C6 Figura 2 2 Evolucao dos estados de um SED 2 3 Rede de Petri At agora analisamos as caracter sticas que definem um sistema a eventos discretos Como dito anteriormente o objetivo principal do estudo de qualquer sistema do ponto de vista da engenharia o de model lo A Rede de Petri um dos diversos modelos matem ticos poss veis para SEDs e se destaca por sua estrutura de grafos de simples compreens o e alta capacidade de modelagem Nas Redes de Petri eventos s o associados a transi es Para uma transi o ocorrer diversas condi es devem ser satisfeitas condi es essas que est o contidas nos chama
60. ent Controllers IEEE Transactions on Automation Science and Engineering pp 48 65 2013 R M Stephan Acionamento Comando e Controle de M quinas El tricas 1 ed Rio de Janeiro Ci ncia Moderna 2013 C G Cassandras e S Lafortune Introduction to Discrete Event Systems 2 ed New York NY Springer 2008 C M Franchi e V L A d Camargo Controladores L gicos Programaveis 1 ed S o Paulo rica 2008 Sourceforge Online Available http www sourceforge net Acesso em 23 02 2015 WinRAR Online Available http www win rar com Acesso em 23 02 2015 F P L Junior Automa o de uma Planta Mecatr nica Modelada por uma Rede de Petri Interpretada para Controle Rio de Janeiro 2014 pp 33 48 80 Ap ndice A Manual T cnico do PETRILab Este cap tulo tem como intuito apresentar a arquitetura base do PETRILab de modo a permitir a implementa o de novas fun es ou corre o de bugs por futuros desenvolvedores O programa n o trivial e todo orientado a objetos portanto o desenvolvedor deve estar bem familiarizado com esse tipo de programa o Tamb m recomendado um amplo conhecimento do m dulo de interface gr fica do Pyhon o Tkinter A estrutura de cada m dulo ser explicada assim como a rela o entre eles O PETRILab consiste basicamente de 5 m dulos cada um contido em um arquivo separado no diret rio principal S o eles
61. entradas da RPIC sao sinais enviados pelos sensores para informar a ocorr ncia de eventos e as sa das associadas aos lugares sao a es impulsionais enviadas para a planta 10 Para incluir temporizadores a RPIC tamb m tem transi es temporizadas Desse modo o conjunto de transi es T pode ser particionado como Te T2UT em que Te O conjunto de transi es instant neas e T o conjunto de transi es temporizadas Definimos uma RPIC N formalmente como uma 13 tupla _ 6 Ne Pe Te Prec Poste xoc Inc C Ec D ly A la sendo Pc Tc Prec Postc Xo Inc uma Rede de Petri Rotulada Estendida e e Co conjunto das condi es de entrada associadas s transi es em T e E o conjunto dos eventos de entradas associados s transi es em T e Ie T gt C x E a fun o que associa cada transi o em T a um evento de E e uma condi o de C e Do conjunto de atrasos associados com as transi es em T e Ip T gt D a fun o de temporiza o que associa cada transi o em T a um atraso em D e A o conjunto de a es associadas a lugares seguros e ly Pes gt 24 a fun o de associa o s a es em que Pes E Pe o conjunto de lugares seguros Em uma RPIC admite se que todas as transi es instant neas t E Te s o associadas a uma condi o de C e a um evento de E atrav s da fun o l Caso a condi o associada transi o n o seja especificada consider
62. etos e em particular das Redes de Petri no Cap tulo 3 s o apresentados os Controladores a Eventos Discretos com destaque para o CLP no Cap tulo 4 apresentado o m todo de convers o proposto em 1 no Cap tulo 5 o programa PETRILab apresentado no Cap tulo 6 o programa utilizado para a modelagem do controle de um motor de indu o por fim no Cap tulo 7 apresentada a conclus o do trabalho assim como os trabalhos futuros a serem realizados Cap tulo 2 Redes de Petri Interpretadas para Controle Antes de come ar a apresentar o programa PETRILab necess rio rever a teoria por tr s do objeto a ser modelado a Rede de Petri Interpretada para Controle RPIC Neste abordaremos os seguintes temas na se o 2 1 ser definido o conceito b sico de um sistema na se o 2 2 ser apresentado o Sistema a Eventos Discretos na se o 2 3 ser introduzida a Rede de Petri e por fim na se o 2 4 ser apresentada a Rede de Petri Interpretada para Controle 2 1 O Conceito de Sistema 2 1 1 Defini o de Sistema Apresentar uma defini o de sistema n o uma tarefa trivial pois defini es formais podem deixar a desejar Seguem algumas das defini es de diferentes literaturas 1 Um sistema uma agrega o ou associa o de coisas combinadas pela natureza ou homem para formar um integral ou complexo todo Encyclopedia Americana 2 Um sistema um grupo de itens que interagem regularmente for
63. ficadas Um exemplo simples de diagrama Ladder pode ser visto na Figura 3 6 onde as vari veis X Y e W s o vari veis de entrada F vari vel de sa da e Z vari vel de mem ria A bobina Z s ser energizada caso o contato X esteja no n vel l gico 1 e o contato Y no n vel l gico 0 o que corresponde aos contatos f sicos de entrada associados do CLP estarem fechado e aberto respectivamente Caso isso ocorra o contato Z sera considerado fechado conduzindo e basta que o contato de entrada W se feche para que a bobina de sa da F seja energizada Nesse caso o rel de sa da correspondente no CLP ser fechado xX Y W F Figura 3 6 Exemplo de diagrama Ladder As linhas do diagrama sao processadas sequencialmente pelo CLP de cima para baixo num processo chamado de varredura Um ciclo de varredura completo do diagrama leva de 1 a 20 milissegundos 4 Em geral o tempo de varredura muito menor que o da comuta o das entradas do CLP No entanto nos casos raros de um contato comutar duas vezes dentro desse intervalo de tempo o programa pode n o perceber a primeira comuta o causando resultados inesperados Devido ao processo sequencial de varredura a ordem das linhas no diagrama tamb m deve ser levada em conta no ato da programa o 25 O diagrama Ladder se assemelha muito a um circuito el trico mas n o podemos trat lo inteiramente como tal O chamado fluxo reverso n o permitido em L
64. gem do sistema O conjunto mostrado na Figura 6 4 sf 7 V I Figura 6 4 CLP Siemens S7 1200 acoplado em painel A programa o do CLP foi feita em um PC utilizando o software STEP7 da Siemens Ele foi conectado ao PC por meio de um cabo Ethernet e configurado seguindo se OS mesmos passos propostos em 7 para a configura o do Siemens S7 300 Com as configura es Iniciais feitas podemos partir para a cria o das vari veis associadas a tags no STEP7 e inser o do Ladder Inicialmente tentamos usar exatamente o Ladder da Figura 6 3 no CLP para realizarmos os testes No entanto ocorreram comportamentos inesperados com rela o ao uso de vari veis inteiras elas inicializavam com valores n o nulos e tentativas de reset no in cio do diagrama n o surtiam efeito Como a RPIC deste exemplo segura isto todos os seus lugares s assumem marca o um ou zero podemos utilizar vari veis 10 booleanas no lugar de inteiras para representar a marca o dos estados Assim os blocos COMP gt COMP podem ser substitu dos por contatos NA blocos ADD e MOVE por bobinas SET e blocos SUB por bobinas RESET como descrito nas se es 4 3 4 4 e 4 5 DIAGRAMA LADDER Figura 6 5 Diagrama Ladder com simplifica o de blocos 71 Al m desse problema verificamos tamb m que n o poss vel utilizar duas bobinas de vari veis iguais ao longo do diagrama Por esse motivo
65. ha sido salvo um arquivo chamado RPIC eps ser gerado na mesma pasta dele caso contr rio ser gerado na pasta do PETRILab 60 Arquivo Edit ibir Inserir Ladder Simula o Ajuda SO rr FEES E gt tO pl D SO Figura 5 49 Salvando imagem do grafo O arquivo eps pode ent o ser aberto em algum programa compat vel como o Adobe Illustrator conforme mostra a Figura 5 50 View Window Help Uniform iy Basic fg x RPICeps 400 RGB Preview x Figura 5 50 Grafo aberta no Adobe Illustrator b Diagrama Ladder Para salvar uma imagem do diagrama Ladder em formato eps basta ir ao menu Diagrama Salvar como mostra a Figura 5 51 61 MEEN acRAMA LADDER po a comp comp t0 COMP COMP FORO Figura 5 51 Salvando diagrama Ladder A Figura 5 52 mostra o arquivo eps correspondente ao diagrama Ladder da figura T3 File Edit No Selection DIAGRAMA LADDER Figura 5 52 Diagrama Ladder aberto no Adobe Illustrator 62 5 3 11 Criar um Novo Arquivo Abrir um Arquivo Salvo e Salvar Arquivo Editado O PETRILab salva os arquivos de projeto com a extens o pl os arquivos s o extremamente leves dificilmente superando 20kB As fun es Novo Abrir e Salvar podem ser executadas clicando se nos bot es mostrados na Figura 5 53 que est o nessa mesma ordem ou atrav s do menu Arquivo Figura 5 53 Novo Abrir e Salvar 5 3 12 Ajuda e suporte O usu rio pode ter
66. icador de a o impulsional ser Inserido automaticamente no canto direito do programa como mostra a Figura 5 26 Para associar a es impulsionais aos lugares veja a se o 5 3 4a Figura 5 26 Inser o de a o impulsional 5 3 4 Editar elementos a Lugares Para editar um lugar basta apertar lt Duplo Clique Esquerdo gt com o mouse em cima do lugar desejado A interface mostrada na Figura 5 27 ira aparecer nela poss vel alterar o r tulo do lugar alterar sua marca o inicial ou associar a ele a es impulsionais ja 50 criadas O lugar ser ent o alterado conforme as modifica es realizadas como mostra a Figura 5 28 Caso seja de interesse a gera o do diagrama Ladder da rede recomenda se que o r tulo dos lugares tenha no m ximo tr s d gitos para que ele n o extravase o desenho dos blocos de fun es R tulo pO Estado Inicial Es Ok Cancelar Figura 5 27 Edi o de lugar Figura 5 28 Lugar editado b Transi es Para editar uma transi o basta apertar lt Duplo Clique Esquerdo gt com o mouse em cima da transi o desejada A interface mostrada na Figura 5 29 ira aparecer nela poss vel alterar o r tulo da transi o o evento associado a condi o associada ou o atraso associado A transi o ser ent o alterada conforme as modifica es realizadas como 51 mostra a Figura 5 30 Caso seja de interesse a gera o do diagrama Ladder da rede
67. iros decimais e temporizadores dependendo do CLP Uma vez configuradas as vari veis resta criar o programa em uma das linguagens de programa o dispon veis para o CLP A interface que permite a configura o e programa o varia de CLP para CLP No entanto de maneira geral todos dividem seus modos de opera o em programa o e execu o No modo de programa o Prog o CLP n o executa nenhum programa isto fica aguardando para ser configurado ou receber novos programas ou modifica es de programas j instalados Esse tipo de programa o chamado de off line J no modo de execu o Run o CLP passa a executar o programa do usu rio CLPs de maior porte podem sofrer altera es de programa mesmo durante a execu o Esse tipo de programa o chamado de on line O funcionamento do CLP baseado num sistema microprocessado em que h uma estrutura de software que realiza continuamente ciclos de leitura chamados de scan O scan constitu do de tr s processos 1 Efetua se a leitura dos dados atrav s dos dispositivos via interface de entrada 2 Executa se o programa de controle armazenado na mem ria 3 Atualizam se os dispositivos de sa da via interface de sa da 20 3 2 3 As linguagens de programa o Visando atender aos diversos segmentos da ind stria incluindo seus usu rios e uniformizar as v rias metodologias de programa o dos controladores industriais a norma IEC 61131 3
68. j que o 38 programa completo tem mais de 3 000 linhas No entanto o Ap ndice A explica a arquitetura b sica do programa para permitir futuro desenvolvimento por outra pessoa class CIPN def init self Pc Ic Prec Postc x0c Inc C Ec lc D ld A la parent None self parent parent self x c x0c self Pc self Ic Pc Tc self Prec self Postc self Inc Prec Postc Inc selt t selt Ec selt lc sSelt b amp Ec ic D self ld self A self la id A la self x self toFire x0c False TIc self timers for t in range Tc self timers append self eimpulse 1 len Ec ef setImpulse self e x self eimpulse e x jet isFireable self t for iin range self Pc if self x i lt self Prec i t return False if self inc i t if self x i gt self Inc il t return False if not self C self lc t 0 or not self Ec self lc t 1 return False return True la eatrtFirashia gcal fi Figura 5 1 Parte do c digo do PETRILab Na vers o Inicial para criar uma RPIC era necess rio criar um objeto da classe CIPN que tem m todos para a exibi o execu o de eventos e mudan a de condi es da rede A Figura 5 2 mostra como era feita a cria o de uma rede simples com dois lugares p p2 uma transi o t um arco de p a t e outro de t a p2 ambos com peso 1 um evento e sincronizado com a transi o t e marca o inicial 2 0 Ao disparar o evento
69. jo Pco adicionado na vari vel inteira X que representa o n mero de fichas no lugar de sa da p o A Figura 4 4 mostra o diagrama Ladder do m dulo das din micas da Rede de Petri mostrada na Figura 4 1 Cada lugar de entrada de uma transi o associado com um bloco SUB e cada lugar de sa da associado com um bloco ADD Considere por exemplo a transi o t gt Ela tem um arco de entrada de peso um vindo de pez e um arco de sa da de peso um chegando em p desse modo a segunda linha do m dulo das din micas da Rede de Petri conter um contato da bobina B em s rie com uma combina o paralela de um bloco SUB removendo uma ficha de pc com um bloco ADD adicionando uma ficha a p B2 K2 X2 1 ADD X1 X1 1 B3 SUB TDNS Md X4e2 Figura 4 4 M dulo das din micas da Rede de Petri da RPIC exemplo 34 Caso um determinado lugar seja seguro sabemos que sua marca o s pode valer zero ou um Nesse caso os blocos ADD e SUB podem ser substitu dos por bobinas SET e RESET respectivamente Essa outra medida que pode aumentar a compatibilidade com os diversos modelos de CLP 4 5 M dulo da Inicializa o O m dulo da inicializa o cont m apenas uma linha formada por um contato NF associado com uma vari vel interna By que no primeiro ciclo de varredura energiza logicamente blocos MOVE associados com lugares que t m fichas na marca o inicial Ap s o primeiro ciclo de varredura o c
70. m fo Figura 2 4 Transi o to disparada uma vez Por fim conv m definir que um lugar p um lugar seguro quando x p lt 1 para qualquer marca o alcan vel a partir do estado inicial xp No exemplo da Figura 2 3 e Figura 2 4 nenhum lugar seguro 2 4 Redes de Petri Interpretadas para Controle A Rede de Petri apresentada na se o anterior apenas a forma mais gen rica e simplificada dentre todos os tipos existentes Existem diversas extens es para Redes de Petri que possuem alguns formalismos adicionais ou modificam algumas das caracter sticas originais visando uma aplica o mais espec fica Uma dessas extens es a denominada Rede de Petri Interpretada para Controle RPIC que voltada para a modelagem de sistemas implementados em m quinas de automa o Antes de apresentarmos em detalhe a RPIC vi vel realizarmos uma introdu o sucinta denominada Rede de Petri Rotulada Estendida que possui alguns par metros adicionais em rela o Rede de Petri gen rica A Rede de Petri Rotulada Estendida N uma ctupla dada por N P T Pre Post E l Xp In 4 sendo P T Pre Post e x s o os mesmos par metros da Rede de Petri da se o anterior e e Fo conjunto de eventos para rotula o das transi es e T gt E a fun o de rotula o das transi es e In P XT 5 Na fun o de peso dos arcos inibidores Nesse tipo de Rede de Petri estando a transi o t ha
71. m ser ativadas A Figura A 2 mostra a fun o isFireable expandida Note que a fun o bem simples sendo puramente um teste das condi es de habilita o e disparo de uma transi o t def isFireable self tj for i in range self Pc if self x i lt self Prec i t return False if self Inc i t if self x i gt self Inc i t return False if not self C self lc t 0 or not self Ec self l c t 1 return False return True Figura A 2 Fun o isFireable da classe CIPN Em certos casos as transi es de uma rede podem ser disparadas em sequ ncia Isso ocorre quando elas n o est o associadas a eventos e foram habilitadas depois do disparo de outra transi o Por esse motivo o programa n o pode executar apenas um ciclo de evolu o de estados sendo necess rio checar repetidamente se existem transi es a serem disparadas ap s a ocorr ncia de um evento Isso alcan ado atrav s da fun o run a fun o que de fato chamada quando um evento ocorre na interface A fun o pode ser vista na Figura A 3 def run self contador 0 while self tofire I O self Toe contador 1 1f contador gt 2000 if abortar yes selt parent parar return else for t in range self Tc usuario ada ois ais aia aia aia aia aia ali oia aia aia Deseja at 1f self tofire t and gelf D self ld t 0 gself fire t elif self toFfire t and self D self ld t
72. mando um conjunto unificado Webster s Dictionary 3 Um sistema uma combina o de componentes que agem em conjunto para realizar uma fun o que n o seria poss vel com quaisquer das partes individualmente IEEE Standard Dictionary of Electrical and Eletronic Terms Apesar de cada defini o conter palavras chave que as diferencia das demais podemos de acordo com todas elas tomar uma postura generalizada para definir um sistema da seguinte forma uma combina o de componentes utilizada para realizar uma determinada fun o 2 1 2 Modelagem de sistemas e vari veis de estado Diante da defini o de sistema apresentada acima fica vis vel que existem in meros sistemas no nosso dia a dia como aparelhos el tricos e eletr nicos uma empresa o corpo humano dentre outros Do ponto de vista da engenharia o principal interesse no estudo de sistemas o de criar modelos para estes de forma a possibilitar um tratamento quantitativo de suas vari veis Com um modelo acurado poss vel ent o prever o comportamento de um sistema e possivelmente control lo utilizando determinadas t cnicas de controle Os modelos visam ent o representar a din mica de um sistema da forma mais precisa poss vel O diagrama da Figura 2 1 ilustra o processo de modelagem no qual as entradas e sa das do sistema s o tratadas como vari veis e o sistema em si aproximado por um modelo Entradas Sa das Modelo Figura 2 1 M
73. mentos o motor come a a desacelerar e nenhum bot o funciona durante 5s como esperado me p E Figura 6 16 LEDs de K1 e K3 acesos Figura 6 17 LEDs de K3 e K4 acesos Al m da verifica o dos LEDs conveniente medir a tens o que est sendo aplicada s bobinas do motor para garantir que o esquema Y A est montado corretamente Um oscilosc pio foi utilizado para medir a tens o em uma das bobinas do motor durante sua opera o O resultado est disposto na Figura 6 18 16 ACS 42600 W312 000 l 100 300 200 Tens o Wy o 100 II 300 0 5 1 1 5 2 2 5 3 3 6 4 4 5 Tempo 5 Figura 6 18 Tens o em uma das bobinas do motor de indu o Podemos verificar que quando a botoeira de partida apertada uma tens o de 180 V 127 Vm aplicada sobre o motor ap s exatos 2s a tens o sobe para 312 V 221 V ms gt O que corresponde a uma partida Y A para uma tens o de linha de 220 V T Cap tulo 7 Conclus o e Vers es Futuras Os Sistemas a Eventos Discretos est o presentes em qualquer setor da ind stria sendo de extrema import ncia o seu estudo e modelagem Dentre os modelos poss veis as Redes de Petri Interpretadas para Controle se destacam por sua simplicidade e intuitividade O CLP um aparelho vers til e robusto capaz de controlar sistemas de qualquer porte atrav s de sensores e atuadores Sua principal linguagem de programa o o La
74. nica UFRJ como parte dos requisitos necess rios para a obten o do grau de Engenheiro Eletricista PETRILAB UMA PLATAFORMA PARA SIMULA O E GERA O DE DIAGRAMAS LADDER DE CONTROLADORES A EVENTOS DISCRETOS MODELADOS POR REDES DE PETRI Anderson Linhares de Souza Mar o 2015 Orientadores Lilian Kawakami de Carvalho Jo o Carlos dos Santos Bas lio Departamento Engenharia El trica O PETRILab um programa desenvolvido em Python para auxiliar na modelagem e implementa o de controladores de Sistemas a Eventos Discretos SEDs A partir de uma interface gr fica simples e intuitiva o usu rio capaz de modelar e simular uma Rede de Petri Interpretada para Controle RPIC um dos modelos de SEDs que melhor representa um sistema de automa o Al m disso com apenas um clique poss vel converter a RPIC modelada em um diagrama Ladder Este trabalho tem como objetivo apresentar o PETRILab e todos os seus recursos e prover um guia com todos seus comandos Para ilustrar a efic cia do programa um exemplo pr tico de projeto de um controlador a eventos discretos apresentado Palavras chave Sistemas a Eventos Discretos Redes de Petri Automa o Programa Python Abstract of Graduation Project presented to POLI UFRJ as a partial fulfillment of the requirements for the dregree of Electrical Engineer PETRILAB A PLAFTORM FOR SIMULATION AND LADDER DIAGRAMS GENERATION OF DISCRETE EVENT CONTROLLERS MODELED BY PETRI
75. odelagem de um sistema Quando se trata de sistemas desej vel que se tenham medidas que avaliem seu comportamento ao longo do tempo Grosseiramente falando o estado de um sistema uma descri o desse comportamento Na teoria de sistemas no entanto sua defini o feita mais precisamente como segue o estado de um sistema em um instante t a informa o necess ria em tg tal que a sa da y t para todo t gt t seja unicamente determinada por esta informa o e pelo conhecimento de u t t gt to em que u t e y t s o vetores representando todas as entradas e sa das do sistema respectivamente 3 Assim como as entradas e saidas os estados tamb m podem ser representados por um vetor x t e suas componentes x t s o denominadas vari veis de estado As vari veis de estados podem ser classificadas primariamente em dois tipos cont nuas ou discretas Temos vari veis cont nuas quando elas podem assumir qualquer valor dentro de um conjunto n o enumer vel como o conjunto dos n meros reais Por outro lado elas s o denominadas discretas quando s assumem valores de um conjunto cont vel como LIGADO DESLIGADO 1 2 3 4 ou ALTO BAIXO MEDIO comum adotarmos o tempo como uma vari vel cont nua afinal isso se verifica na vida real No entanto na modelagem de alguns tipos de sistemas comum tratarmos o tempo como uma vari vel discreta pois as transi es de estado s ocorrem em instante
76. ontato NF aberto Vale salientar que n o necess rio definir o valor zero para vari veis associadas a lugares sem nenhuma marca o Inicial j que as vari veis s o automaticamente inicializadas com zero Figura 4 5 M dulo da Inicializa o da RPIC exemplo Novamente para aumentar a compatibilidade do diagrama Ladder com os diversos modelos de CLP podemos substituir os blocos MOVE por bobinas SET caso os lugares sejam seguros 4 6 M dulo das A es O numero de linhas no m dulo das a es igual ao n mero de lugares com a es associadas na RPIC A es impulsionais devem ser executadas apenas quando a marca o de um lugar muda de zero para um Para implementar esse comportamento uma instru o de compara o em s rie com um contato P usado para verificar se a 35 marca o do lugar que tem uma a o associada muda seu valor l gico de zero para um Se esse for o caso uma bobina logicamente energizada e a a o impulsional executada Figura 4 6 M dulo das a es da RPIC exemplo O m dulo das a es para o exemplo da Figura 4 1 mostrado na Figura 4 6 Perceba que o diagrama Ladder do m dulo das a es tem apenas duas linhas j que a RPIC tem apenas dois lugares com a es associadas Para a es cont nuas a linha correspondente ser apenas um bloco COMP com a bobina de sa da em s rie pois ela precisa estar energizada durante todo o tempo em que a marca o do l
77. os da manuten o no ch o de f brica a linguagem Ladder deveria ser algo familiar para esses profissionais Assim ela foi desenvolvida com os mesmos conceitos dos diagramas de comandos el tricos que utilizam bobinas e contatos 3 3 2 L gica de contatos O diagrama Ladder segue basicamente a chamada l gica de contatos que baseada na condu o de corrente el trica em um circuito com chaves Uma chave fechada permite a passagem de corrente el trica enquanto uma chave aberta n o A sa da do circuito um elemento que deve ser energizado ou n o dependendo do estado das chaves Um exemplo de circuito com uma chave aberta pode ser visto na Figura 3 4 um exemplo com uma chave fechada mostrado na Figura 3 5 Nesses circuitos a sa da uma l mpada que pode estar acesa ou apagada 22 Chave aberta L mpada Bateria apagada Figura 3 4 Circuito el trico com chave aberta Chave fechada Bateria Figura 3 5 Circuito el trico com chave fechada 3 3 3 S mbolos b sicos A simbologia utilizada em um diagrama Ladder n o nica diferentes fabricantes de CLPs utilizam diferentes s mbolos para cada elemento do diagrama A ind stria caminha em dire o ado o da norma IEC 61131 3 que padroniza essa simbologia mas como ainda n o obrigat ria grandes fabricantes como Siemens Allen Bradley Schneider Electric ainda n o a aderiram Neste trabalho no entanto utilizaremos apenas a simbologi
78. peso dos arcos conectando esses lugares transi o ou seja x p gt Pre p t para todo p E I t 2 Se a transi o t estiver habilitada para uma dada marca o x e t disparar uma nova marca o X obtida e sua evolu o dada pela seguinte equa o x pi x pi Pre p t Post t pi i 1 2 n 3 A Figura 2 3 mostra um exemplo de um grafo de uma Rede de Petri Para essa Rede de Petri P po pi p2 T to Pre poto 1 Pre pyto 2 Post to p 2 3 e x 2 3 0 Vale notar que caso n o haja arco de entrada ou sa da em uma transi o vinda de um determinado lugar definido que as fun es Pre e Post tem valor zero No exemplo temos ent o que Pre po to 0 Post to po 0 e Post to p4 0 Para a transi o t0 estar habilitada todos os seus lugares de entrada devem ter um n mero de fichas maior do que o peso do arco que os conectam a t0 como dita a Equa o 2 f cil verificar que a transi o est habilitada neste caso Figura 2 3 Exemplo de grafo de Rede de Petri Ao disparar to o estado do sistema evolui segundo a Equa o 3 e o novo estado pode ser visto no grafo da Figura 2 4 Observe que os lugares po e pi perderam respectivamente uma e duas fichas e o lugar p2 ganhou tr s fichas Observe tamb m que agora a condi o da Equa o 2 n o mais verdadeira pois o numero de fichas em p menor do que o peso do arco que o interconecta co
79. presentar que t esta pronta para disparar importante salientar que se c 1 ou e A ent o nenhum contato adicionado para representar a condi o ou evento Por outro lado se tc T ent o um temporizador com valor preconfigurado igual ao tempo de atraso d deve ser utilizado Passado o tempo de atraso um temporizador energiza uma bobina TDN indicando que o tempo de atraso passou TIMER TONS d5 Figura 4 3 M dulo das condi es de disparo da RPIC exemplo 32 A Figura 4 3 mostra o diagrama Ladder para o m dulo das condi es de disparo da RPIC da Figura 4 1 Perceba que as transi es tc para j 1 4 n o s o temporizadas mas a transi o tcs temporizada Considere por exemplo a transi o nao temporizada tc Perceba que a transi o tc habilitada se xc pc 1 e xc p a lt 2 e tc dispara quando 7S ocorre As condi es de habilita o s o representadas na primeira linha da Figura 4 3 com duas instru es de compara o associadas com a marca o dos lugares pc e P a representadas pelas vari veis inteiras X e X3 respectivamente e a ocorr ncia de 7S verificada usando um contato NA associado com a vari vel bin ria S As condi es para o disparo da transi o temporizada tc s o representadas na quinta linha da Figura 4 3 Perceba que o temporizador energizado apenas depois da habilita o das condi es xc Pecz 2 e xc Pc6 1 ocorrer o que representado no
80. putador program vel com entradas para sensores e sa das para atuadores sendo capaz de controlar sistemas de qualquer porte Dentre suas linguagens de programa o a mais utilizada na ind stria o Ladder uma linguagem gr fica simples e eficaz Para unir os aspectos de modelagem te rica com a aplica o pr tica do controle de Sistemas a Eventos Discretos Moreira amp Bas lio propuseram em 1 um m todo sistem tico de convers o de Redes de Petri Interpretadas para Controle em diagramas Ladder Dessa forma a modelagem por Redes de Petri ficou ainda mais interessante pois pode ser convertida e implementada diretamente em um CLP Dada a forma sistem tica de se converter uma RPIC em um diagrama Ladder proposta em 1 natural pensar em uma maneira autom tica de se realizar essa convers o dentro desse contexto que foi desenvolvido o PETRILab um programa escrito em Python que conta com interface gr fica e capaz de modelar e simular RPICs com simplicidade e agilidade Al m disso o programa capaz de realizar a convers o de RPICs em diagramas Ladder proposta em 1 com apenas um clique instantaneamente Este trabalho visa apresentar o PETRILab exibindo seus recursos e guia para o usu rio A efic cia do PETRILab demonstrada por meio de um exemplo real retirado da literatura 2 Este trabalho esta estruturado da seguinte forma no Capitulo 2 sao apresentados Os conceitos principais de Sistemas a Eventos Discr
81. r elementos Para mover um lugar ou uma transi o basta segurar lt Cligue Esquerdo gt no mouse com o ponteiro em cima deles e ent o mover para onde desejar Quando o elemento estiver no local desejado basta soltar o bot o Quando movemos um lugar ou transi o os arcos se ajustam automaticamente no entanto arcos segmentados s movimentam seu primeiro e ltimo segmentos Esse comportamento ilustrado nas Figura 5 37 a e b p a b Figura 5 37 Movendo lugares e transi es 54 5 3 6 Remover elementos a Lugares transi es arcos e arcos inibidores Para remover elementos presentes na rea de desenho necess rio entrar no modo de remo o clicando no bot o mostrado na Figura 5 38 a ou apertando a tecla de atalho lt X gt O cursor se tornar uma m o indicando o modo de remo o Para deletar um elemento basta ent o apertar lt Clique Esquerdo gt com o ponteiro do mouse em cima dele todos os arcos de sa da ou chegada do elemento removido tamb m ser o removidos com ilustram a Figura 5 38 b IUUCT STR Ajuug IUUCI Jriuoey au mjuwa Elo eel EIEIO E ju 8 for t1 tl y a b Figura 5 38 Remo o de elementos da rea de desenho Para voltar ao modo de sele o basta clicar no cone de sele o marcado na Figura 5 39 o cursor ent o voltar a ser uma seta Alternativamente poss vel apertar a tecla de atalho lt Q gt ou a tecla lt Esc gt TU P
82. ra 6 8 Baixando o programa para o CLP 72 Feito isso a janela da Figura 6 9 ser mostrada basta clicar em Load e o programa ser baixado Em seguida a tela da Figura 6 10 ser exibida necess rio marcar a caixa Start All e ent o clicar em Finish para que o CLP entre em modo de execu o Ap s esses passos o CLP est pronto para operar o sistema Load preview x Q Check preconditions for downloading to device Status Target Message Action ri Ready for loading The software will not be loaded because the online status is up to date Refresh waa i Figura 6 9 Tela de download do programa para o CLP Load results Status and actions after downloading to device Status Target Message Action O PLO Downloading to device completed without error Q The software has not been loaded because itis up to date a gt Start modules Start modules after downloading to device Start all Finish Load Cancel Figura 6 10 Tela de execucao do CLP 73 6 4 Montagem em Bancada O CLP j programado foi ent o levado para uma bancada contendo diversos rel s eletromec nicos fus veis LEDs e botoeiras com os terminais acess veis como mostra a Figura 6 11 O motor de indu o a ser controlado encontra se debaixo da bancada com os terminais dos dois lados de cada bobina tamb m acess veis como mostra a Figura 6 12 Figura 6 12 Motor de indu o trif sico com os terminais das bobinas acess veis 74
83. recomenda se que o r tulo das transi es tenha no m ximo tr s d gitos R tulo t0 Evento Condi o Atraso lt Nenhum gt lt Nenhuma gt no TE Ok Cancelar Figura 5 29 Edi o de transi o O m S pMa wi Figura 5 30 Transi o editada Uma transi o j Inserida tamb m pode ser rotacionada basta que o usu rio aperte lt Clique Direito gt com o ponteiro do mouse em cima da transi o como ilustrado na Figura 5 31 Figura 5 31 Rota o de transi o 52 c Arcos e arcos inibidores Para editar qualquer tipo de arco basta apertar lt Clique Duplo gt com o ponteiro do mouse em cima do arco correspondente E poss vel ent o editar seu peso como mostra a Figura 5 32 Figura 5 32 Edi o de arco O peso do arco ser ent o mostrado no meio do arco correspondente Um algoritmo garante que o peso esteja sempre no meio do arco mesmo que ele seja segmentado como ilustrado na Figura 5 33 N Figura 5 33 Arco editado d Eventos condi es e a es Para editar eventos a es e condi es basta apertar lt Clique Direito gt com o mouse em cima do bot o correspondente E poss vel ent o editar seus r tulos e para o caso de eventos o seu tipo de borda como ilustrado da Figura 5 34 a Figura 5 36 R tulo Sa Borda C Subida Descida Ok Cancelar Figura 5 34 Edi o de evento 53 Figura 5 36 Edi o de a o 5 3 5 Move
84. ructured Text ST uma linguagem textual de alto n vel e muito poderosa inspirada na linguagem Pascal que cont m todos os elementos essenciais de uma linguagem de programa o moderna incluindo as instru es condicionais IF THEN ELSE e CASE OF e instru es de itera es FOR WHILE e REPEAT Como o seu nome sugere encoraja o desenvolvimento de programa o estruturada sendo excelente para a defini o de blocos funcionais complexos 21 e Linguagem Ladder Ladder Diagram LD E uma linguagem gr fica baseada na l gica de rel s e contatos el tricos para a realiza o de circuitos de comandos e acionamentos Por ser a primeira linguagem utilizada pelos fabricantes a mais difundida e encontrada em quase todos os CLPs da atual gera o Uma metodologia sistem tica de convers o de Redes de Petri em Diagramas Ladder foi proposta em 1 Essa metodologia foi uma das principais raz es para o desenvolvimento do PETRILab que conta com o recurso de fazer essa convers o automaticamente Por esse motivo entraremos em mais detalhes da linguagem Ladder neste trabalho 3 3 A Linguagem Ladder 3 3 1 Conceitos b sicos A linguagem Ladder foi a primeira a surgir para CLPs Para que obtivesse uma aceita o imediata no mercado seus projetistas consideraram que ela deveria evitar uma mudan a de paradigma muito brusca Considerando que na poca os t cnicos e engenheiros eletricistas eram normalmente os encarregad
85. s de tempo predefinidos como o caso de qualquer processamento computacional que tem seu clock constante A este tipo de sistema damos o nome de sistema de tempo discreto 2 2 Sistemas a Eventos Discretos Quando os estados de um sistema s o descritos por um conjunto discreto e suas transi es de estado ocorrem de forma ass ncrona no tempo associamos essas transi es a eventos e come amos a falar em sistema a eventos discretos SEDs Um evento pode ser Interpretado como um acontecimento qualquer seja ele uma a o como o apertar de um bot o ou o resultado da evolu o din mica do sistema como por exemplo uma caixa chegando em uma esteira de montagem um fluido atingindo determinado n vel em um tanque ou ainda o resultado de uma falha como por exemplo uma m quina travando Enquanto alguns sistemas s o considerados dirigidos pelo tempo ou seja o tempo dita quando determinada mudan a de estado ira ocorrer outros s o dirigidos por eventos 5 pois as mudan as de estado s o instant neas e ocorrem apenas quando da ocorr ncia de eventos A primeira vista ambos os tipos parecem ser o mesmo mas existem diferen as fundamentais entre eles e Nos sistemas dirigidos pelo tempo as mudan as de estado s o sincronizadas com o clock Para cada passo do clock um evento ou nenhum evento selecionado o estado muda e o processo se repete O clock respons vel pela transi o de estados e J nos sist
86. s e os indicadores de a es se tornam habilitados Para voltar ao modo de edi o basta clicar no bot o destacado na Figura 5 43 b ou apertar a tecla de atalho lt Z gt Figura 5 43 Modo de simula o 57 O modo de simula o s poder ser iniciado caso haja ao menos um lugar uma transi o e um arco na rede Al m disso todas as transi es da rede precisam de algum limitador para a sua ocorr ncia seja ele um arco de entrada um evento ou uma condi o Isso feito para evitar disparos infinitos de uma transi o O programa conta tamb m com um sistema de preven o de loopings infinitos caso sejam executadas mais de 2000 itera es na rede sem a Interven o do usu rio a janela mostrada na Figura 5 44 sera mostrada e o usu rio pode optar por interromper a simula o O PETRILab realizou 2000 itera es sem a interven o do usu rio prov vel que haja um looping infinito na rede Deseja abortar a simula o Figura 5 44 Prote o contra loopings infinitos Para acionar um evento basta clicar em seu bot o correspondente na barra esquerda da rea de desenho Para alternar o estado de uma condi o basta clicar em seu bot o correspondente na barra superior rea de desenho uma luz no bot o indica se o estado l gico atual 1 ou O verde ou vermelho como ilustrado nas Figura 5 45 a e b A rede responder de acordo evoluindo conforme explicado na se o 2 4
87. s 69 CLP Siemens S7 1200 acoplado em painel ee iii 70 Diagrama Ladder com simplifica o de DIOCOS cccccecececesseeeeeeeeeeeeeeees 71 nsermdo taes noS TED aia a ana coin we a eewesnces 12 Op o de inser o do diagrama Ladder no STEP7 cc eeeeeeeeeeeeeeees 72 Baixando o programa para o CLP sessssssssseesssssssssserrrsssssssscerressssssseerrrssssss T2 Tela de download do programa para o CLP sssseeessssssseseeessssssssserrssssssssee 73 ST lS execucao do CLP assassinas sda ss 13 Bancada de controle do motor asus A ease 74 Motor de indu o trif sico com os terminais das bobinas acess veis 74 Bancada COM fios conectados ecin n 75 EEDS do Re KZ ACCS OS enre E ends Pa 76 PES de R e RA ACCS OS nea e Ace E REG od Ae ia 16 LEDS Ge KI CSS ACCS OS tra a ca di nior esaf sida dio css a aaa 16 LEDS de RS CNA AC ESOS pisa star tis dera astavpeontalatnceneuentmet at saida 16 Figura 6 18 Tens o em uma das bobinas do motor de indu o seeeeeeeeeeeeeeeees T11 Feira Ast osse CIPN ee E em 82 Figura A 2 Fun o isFireable da classe CIPN eee 83 Figura A 3 Fun o run da classe CIPN sensei aaa dada Gani 83 Figura A 4 Classe COMP do m dulo ladder ee erre 84 Figura A 5 Fun o convert do m dulo convers o 11 cccccceceeeeeeeeeeseececeeeceaaaeesseeeeess 85 Figura A 6 Trecho da fun o de desenho do diagrama Ladder
88. s impulsionais s o representadas por um asterisco na frente do seu nome e as cont nuas apenas pelo nome O exemplo da Figura 2 6 ilustra um grafo de uma RPIC Vale salientar que ambos os lugares dessa rede s o seguros pois suas marca es nunca superar o uma ficha A transi o ty est associada condi o Cg e nenhum evento Sendo assim como est habilitada a transi o t disparar assim que a condi o Cp se tornar verdadeira Ao ser disparada ela mudar a marca o do lugar p de zero para um executando a a o impulsional Ap J a condi o t est associada ao evento T Sy mas nenhuma condi o foi especificada Nesse caso a transi o ir disparar no momento em que T Sp ocorrer caso esteja habilitada A transi o t uma transi o temporizada de 2 segundos Sendo assim 2s ap s sua habilita o ela disparar caso mantenha se habilitada neste tempo Se a ficha de p for retirada antes desse tempo o contador retornar a zero CO Figura 2 6 Exemplo de grafo de RPIC 12 Cap tulo 3 Implementa o de Controladores a Eventos Discretos Para a opera o de m quinas reais s o necess rios sistemas de controle Os primeiros sistemas de controle foram desenvolvidos durante a Revolu o Industrial no final do s culo XIX Suas fun es eram implementadas por engenhosos dispositivos mec nicos que automatizavam algumas tarefas cr ticas e repetitivas das linhas de montagem da poc
89. sas rotinas s o alteradas em rela o vers o 2 O site ainda desenvolve as duas vers es em separado basta baixar o lan amento mais recente da segunda vers o Algumas de suas principais caracter sticas s o e Interface gr fica simples e intuitiva e Simula o completa da rede com o controle da execu o de eventos e mudan a de condi es e Suporte a transi es temporizadas e Indicadores de execu o de a es impulsionais e Prote o contra travamentos em loopings infinitos e Convers o instant nea de RPICs em diagramas Ladder e Possibilidade de salvar imagens da RPIC e do diagrama e Teclas de atalho para facilitar a inser o e edi o de RPICs Com essas caracter sticas o programa se mostra uma plataforma completa para a modelagem de RPICs A interface gr fica combinada com teclas de atalho permite que 41 as redes sejam desenhadas muito rapidamente A rede criada atrav s da linha de comando na Figura 5 2 pode ser desenhada facilmente com alguns cliques resultando na rede mostrada na Figura 5 5 Arquivo Editar Exibir Inserir Ladder Simula o Ajuda O rir elo gt Figura 5 5 Rede de Petri da Figura 5 2 desenhada Clicando no bot o LAD mostrado na barra de ferramentas da Figura 5 5 ou apertando a tecla de atalho lt G gt uma nova janela com o diagrama imediatamente exibida como mostra a Figura 5 6 Podemos ver que o diagrama corresponde ao gerado textualmente na Figura 5
90. ses de forma a facilitar a navega o pelo c digo O m dulo implementa diversas classes que cont m instru es para o desenho movimenta o e remo o de diversos itens no Canvas principal A Figura A 7 mostra a classe Lugar com a fun o mover expandida Essa fun o supostamente chamada ao 87 mover se o mouse enquanto o bot o esquerdo est pressionado sobre um lugar portanto ela ser chamada diversas vezes durante uma nica movimenta o As linhas antes de c digo antes do if servem apenas para determinar a posi o atual do ponteiro do mouse levando em conta as barras de rolagem sh e sv da janela principal As fun es obscuras utilizadas para essa parte podem ser consultadas em alguma documenta o do Tk programa que originou o m dulo Tkinter do Python Em seguida o programa apenas move os objetos relativos ao lugar no Canvas chama a fun o update moving que serve pra mover os textos das a es impulsionais associadas ao lugar e a fun o redraw de todos os arcos da rede que os redesenha para acompanhar a movimenta o do lugar class Lugar def init self parent def follow self e add 0 def mover selt add 0 xs None ys None self parent saved False parent selr parent a b sel parent sh get perch a 1l b a a b selt parent sv get percy a 1 bta xb perch CANVASSIZEX selt parent c winfo width yb percv CANVASSIZEY selt parent c winfo height
91. so do M dulo da Inicializa o uma associa o em paralelo representada por um objeto da classe Paralelo do m dulo ladder A propriedade e desse objeto armazena os elementos associados em paralelo Portanto a fun o o teste len b 3 x O x 1 e gt 1 testa se a quantidade de elementos em paralelo no M dulo da Inicializa o maior que um pois se ela fosse igual a um a bobina Set que est sempre presente n o haveria necessidade do desenho desse m dulo As linhas restantes desse trecho de c digo basicamente chamam as fun es draw dos elementos do m dulo al m de desenhar a linha que os une atrav s da fun o de desenhar linha do m dulo Tkinter A vari vel xy cont m uma tupla que representa a posi o atual de desenho do m dulo no Canvas O restante do c digo segue o mesmo esquema do trecho mostrado sendo necess ria uma boa an lise para entender o que de fato est sendo testado ou Inserido Vale notar que n meros os Inteiros com valores aleat rios distribu dos pelo c digo representam as dimens es de alguns componentes e foram descobertos a partir de tentativa e erro A 5 M dulo petrilab O m dulo petrilab contido no arquivo petrilab pyw respons vel pela cria o da interface gr fica do programa um m dulo extenso contendo pouco mais de 2 400 linhas de c digo por esse motivo recomenda se o uso de alguma interface de desenvolvimento que permita a minimiza o de fun es e clas
92. sua convers o em diagrama Ladder O diagrama ser ent o inserido em um CLP para que seja feito o controle do SED O cap tulo est estruturado da seguinte forma na se o 6 1 descrito o sistema que servir de exemplo a se o 6 2 trata da sua modelagem em RPIC e convers o em Ladder na se o 6 3 mostrado como o sistema foi implementado em um CLP na se o 6 4 descrita a montagem em bancada por fim na se o 6 5 s o mostrados os resultados 6 1 Sistema de Exemplo O sistema escolhido para servir de exemplo foi extra do de 2 Trata se de um motor de indu o trif sico Sabe se que a corrente de partida de um motor desse tipo pode ser muito elevada e dependendo da carga a ele acoplada pode chegar a danificar seus enrolamentos Por esse motivo comum utilizar se algum m todo diferente da partida direta Dentre esses m todos se destaca o da partida Y A devido a sua simplicidade e 65 baixo custo O m todo consiste em inicialmente alimentar o motor com a tens o de fase liga o Y e ap s o sistema atingir regime permanente mudar a alimenta o para a tens o de linha liga o A dessa forma a corrente de partida fica reduzida a 1 3 da corrente de partida direta Neste exemplo a troca das liga es ser feita atrav s de rel s eletromec nicos A liga o a ser montada em bancada a da Figura 6 1 Os rel s que fazem as liga es de Y e A s o K1 e K4 respectivamente desejado t
93. to A constante evolu o do hardware e do software uma necessidade para que o CLP possa atender s demandas dos processos E utilizado fundamentalmente nas instala es em que necess rio um processo de manobra controle e supervis o Dessa forma sua aplica o abrange desde processos de fabrica o industrial at qualquer processo que envolva transforma o de mat ria prima As dimens es reduzidas extrema facilidade de montagem e possibilidade de armazenar os programas que descrevem o processo tornam o CLP ideal para aplica es em processos industriais como e Ind stria de pl stico e Ind stria petroqu mica e M quinas de embalagens e Instala es de ara condicionado e calefa o e Ind stria de a car e lcool e Papele celulose e Ind strias aliment cias 16 e Minera o 3 1 4 Arquitetura dos CLPs e princ pio de funcionamento O CLP um equipamento de estado s lido que pode ser programado para executar Instru es que controlam dispositivos m quinas e opera es de processos pela implementa o de fun es espec ficas como l gica de controle sequenciamento controle de tempo opera es aritm ticas controle estat stico controle de malha transmiss o de dados etc Os primeiros controladores l gicos program veis tinham como fun o primordial somente substituir os rel s utilizados na ind stria A sua fun o era somente realizar opera es sequenciais que
94. tos de borda de subida ou de descida Como ja foi dito esse tipo de contato fecha por apenas um ciclo quando a 30 vari vel muda seu valor de O pra 1 contato P ou de 1 para O contato N O evento sempre ocorrente A n o representado no m dulo de eventos externos j que um evento Interno Na Rede de Petri da Figura 4 1 existem quatro eventos sincronizando com as transi es dois eventos associados s bordas de subida dos sinais dos sensores 7Sg 1Sp um evento associado com a borda de descida do sinal de um sensor S e o ltimo evento o evento sempre ocorrente A Portanto o m dulo de eventos externos para esta RPIC deve ter tr s linhas como mostra a Figura 4 2 A primeira e a segunda linha do diagrama Ladder levam em conta os eventos externos associados borda de subida dos sinais dos sensores 7S e 7Sp respectivamente Quando por exemplo Sa muda seu valor de zero para um o contato P fecha por um ciclo de varredura energizando a bobina denominada Sar que representa a borda de subida de Sa TSg 0 r vem de rising subida em ingl s A terceira linha leva em conta a borda de descida de S Quando S muda seu valor de um para zero o contato N fecha energizando a bobina Sef que corresponde a borda de descida de S S o f vem de falling descida em ingl s Sar Figura 4 2 M dulo dos eventos externos da RPIC exemplo 4 3 M dulo das Condi es de Disparo O m dulo das condi es de
95. ugar associado for um Caso a a o aX do exemplo fosse uma a o cont nua o diagrama correspondente seria o da Figura 4 7 Figura 4 7 M dulo das a es com a o cont nua Vale salientar que os blocos COMP deste m dulo sempre podem ser substitu dos por contatos NF pois foi definido anteriormente que as a es s podem estar associadas a lugares seguros 4 7 A Organiza o do Diagrama Ladder Os cinco m dulos devem ser implementados na mesma ordem apresentada neste cap tulo ou seja 1 m dulo dos eventos externos 11 m dulo das condi es de disparo 11 m dulo das din micas da Rede de Petri 1v m dulo da inicializa o e v m dulo das a es 36 A ordem dos m dulos do c digo Ladder importante para evitar o efeito avalanche 1 e tamb m para garantir que as a es definidas na marca o inicial sejam executadas O efeito avalanche evitado porque as condi es para o disparo de todas as transi es s o verificadas primeiro no m dulo das condi es de disparo e somente depois disso a evolu o das fichas s o dadas no m dulo das din micas da Rede de Petri Esse esquema de implementa o garante que cada marca o da RPIC mesmo marca es inst veis continuam inalteradas por pelo menos um ciclo de varredura na sua implementa o em Ladder Portanto apenas transi es habilitadas poder o disparar quando o evento associado ocorrer Outro benef cio da organiza o da estrutura
96. ulo destina se a apresentar esse m todo estando estruturado da seguinte forma na se o 4 1 ser mostrada a estrutura geral do m todo proposto nas se es de 4 2 a 4 6 ser o mostrados os diferentes m dulos que comp em o diagrama gerado na se o 4 7 ser tratado sobre a organiza o do diagrama gerado por fim na se o 4 8 ser explicitado o tamanho final do diagrama gerado 29 4 1 Descri o Geral do M todo Proposto No m todo proposto por Moreira e Bas lio o diagrama Ladder dividido em cinco m dulos e M dulo M1 associado a identifica o da ocorr ncia de eventos externos e M dulo M2 associado com as condi es para o disparo das transi es e M dulo M3 que descreve a evolu o das fichas na Rede de Petri e M dulo M4 que representa a inicializa o da Rede de Petri isto define sua marca o inicial e M dulo M5 que define quais a es ser o ativadas no estado atual do sistema Nas subse es seguintes ser o apresentadas explica es detalhadas sobre cada um dos m dulos e ser apresentado um exemplo para ilustrar o m todo de convers o proposto O grafo da Rede de Petri para o exemplo o mostrado na Figura 4 1 Figura 4 1 RPIC utilizada para ilustrar o m todo de convers o proposto em 1 4 2 M dulo dos Eventos Externos Eventos externos s o associados com as bordas de subida ou descida dos sinais dos sensores na RPIC e podem ser detectados utilizando se conta
97. ura 5 16 O programa reajusta automaticamente a posi o exata do arco para melhor exibi o 47 Figura 5 16 Arco inserido O usu rio pode tamb m adicionar diversos segmentos ao arco antes de definir seu destino Para isso basta clicar em qualquer lugar da rea de desenho como ilustrado na Figura 5 17 O cursor se manter como uma cruz pequena Para finalizar o arco basta clicar em um lugar ou transi o como mostrado na Figura 5 18 tO p0 Figura 5 17 Arco segmentado sendo inserido Figura 5 18 Arco segmentado finalizado d Arco inibidor Um arco inibidor pode ser inserido apenas de um lugar a uma transi o Para inseri lo clique no bot o marcado na Figura 5 19 Alternativamente v em Inserir Arco Inibidor ou use a tecla de atalho lt gt O cursor se transformar na cruz destacada na Figura 5 19 Ao clicar em um lugar o cursor se transformar em uma cruz menor mostrado na Figura 5 20 indicando que a origem do arco j foi definida restando informar seu destino Em qualquer momento o usu rio pode apertar a tecla lt Esc gt para cancelar a Inser o Our 0 ms r a Figura 5 20 Origem do arco inibidor Figura 5 19 Inser o de arco inibidor definida Para definir o destino do arco basta clicar na transi o de destino desejada como mostrado na Figura 5 21 O programa reajusta automaticamente a posi o exata do arco para melhor exibi o 48 t0 Figura 5 21 Arco inibidor inseri
Download Pdf Manuals
Related Search
Related Contents
Manual de Caldiad del SGC 詳しくはこちら MANUAL DE INSTRUÇÕES Manuel d`utilisation ISTRUZIONI D'USO OPERATING INSTRUCTIONS Prime-Line E 2235 Instructions / Assembly ZAN310_Usermanual_ge.. 取扱説明書 - 日立の家電品 Service Manual 06/2011 Copyright © All rights reserved.
Failed to retrieve file