cld.pt · Web viewProjeto final Rede de Semáforos Leonor Varandas Nº M 8708 Luís Mendes Nº M...
Transcript of cld.pt · Web viewProjeto final Rede de Semáforos Leonor Varandas Nº M 8708 Luís Mendes Nº M...
Projeto final
Rede de Semáforos
Leonor Varandas Nº M 8708
Luís Mendes Nº M 8759
Pedro Silva Nº M 8798
Automação IndustrialDocente: Professor Doutor Pedro Dinis Gaspar
Departamento de Engenharia EletromecânicaUniversidade da Beira Interior
Covilhã, Portugal
Covilhã e UBI, Abril de 2018
Índice1. Introdução/descrição......................................................................................................3
1.1. Módulos mais importantes utilizados..............................................................................4
1.1.1 Temporizador.......................................................................................................4
1.1.2. Programador Cíclico - Drum................................................................................6
2. Configuração do processo...............................................................................................7
2.1. Diagrama funcional do processo...................................................................................11
2.2. Configuração das entradas e saídas...............................................................................12
2.3. Configuração dos temporizadores.................................................................................13
2.4. Configuração das memórias..........................................................................................14
2.5. Configuração dos Programadores Cíclicos - Drums.......................................................16
2.6. PLC a utilizar e expansões..............................................................................................19
3. Procedimento................................................................................................................20
4. Conclusão/Discussão dos Resultados............................................................................26
1. Introdução/descriçãoCom o presente trabalho pretende-se projetar o circuito de comando para o
controlo automático de uma rede de semáforos na cidade da Covilhã, mais
precisamente dois cruzamentos de semáforos, o cruzamento de semáforos da
Garagem de S. João e o cruzamento de semáforos logo a seguir onde está a bomba da
Galp.
É necessário ter em conta, para a realização correta e viável do projeto, não só as
características próprias do local em estudo (características de localização e de tráfego
automóvel) como também as seguintes condições:
Um sistema de “chave de polícia”;
Botões para peões;
Um sistema de deteção de falha do autómato (arranque a frio).
Figura 1 - Cruzamento das Garagens de S. João e da Galp.
Para tal, usámos o programa Twido suite para a programação de autómatos
programáveis ou PLC’s (Programmable Logic Controller) e a linguagem de programação
Ladder.
Posteriormente o objetivo será testar o programa num sistema de teste que
representa uma montagem equivalente ao sistema de semáforos dos cruzamentos
mencionados. Este sistema permite um controlo de cada uma das passadeiras a partir
de um interruptor externo e possui ainda um interruptor para uso geral.
Figura 2 - Maquete do sistema de semáforos
1.1. Módulos mais importantes utilizados1.1.1 Temporizador
Os temporizadores permitem utilizar a noção de atraso. A sua simbolização é a
seguinte: %TM n (0<n<127).
Existem três tipos de temporizadores:
TON: atraso à operação; TOF: atraso à inoperação; TP: temporização de impulso.
Neste caso específico foram usados temporizadores de tipo TON e TP.
O temporizador de tipo TON tem por função atrasar a operação da saída em
relação à entrada através de um tempo preciso. Quando a entrada IN é validada, o
tempo inicia. A saída Q é validada quando o tempo termina (%TM0.V=%TM0.P). A
saída Q passa ao estado lógico “baixo” ao mesmo tempo que a entrada.
Figura 3 - Gráfico que explica o temporizador de tipo TON
O temporizador de tipo TP tem por função gerar um impulso de duração precisa.
Quando a entrada IN é validada, o tempo arranca e a saída Q é validada. Para quando
%TM0.V=%TM0.P e a saída Q passa ao estado lógico “baixo”. O tempo válido de Q é
sempre o mesmo.
Figura 4 - Gráfico que explica o temporizador de tipo TP
Figura 5 - Representação do temporizador
1.1.2. Programador Cíclico - DrumPara a realização do exercício utilizámos o programador cíclico Drum (Tambor). A
cada passo ou “step”, corresponde o estado das várias saídas. Estes estados são
definidos na configuração do programador cíclico e as transições são realizadas a cada
flanco ascendente e seguidamente descendente. A sua notação é a seguinte: %DRn.
Figura 6 - Representação do Programador Ciclo Drum no programa Twido
2. Configuração do processo
Análise dos fluxos de trânsito possíveis para o cruzamento da Galp:
Análise dos fluxos de trânsito possíveis para o cruzamento da Garagem de S.
João:
Figura 8 - Possíveis fluxos do cruzamento da Garagem de S. João
1) 2) 3)
Figura 7 - Possíveis fluxos do cruzamento da Galp
Depois de definida a sequência de trânsito é então possível articular a circulação
de peões. Existem passadeiras que podem normalmente ser atravessadas sem conferir
distúrbios de trânsito, mas existem outras, cuja permissão de passagem requer a
ativação de um botão de pressão por parte dos peões e até, nalguns casos, inibição
direta de trafego automóvel.
A partir destas considerações elaborámos inicialmente uma tabela de etapas,
sendo as transições feitas através de temporizadores e programadores cíclicos. Depois
elaborámos um diagrama funcional do processo para nos conseguirmos orientar
melhor na elaboração do projeto.
Figura 9 - Nomenclatura dos semáforos de acordo com o enunciado do problema
As seguintes tabelas listam as etapas:
1º Cruzamento(Galp)
Figura 10 - Tabela de estados do cruzamento da Galp
S1, S2, S3, S4, S5, S6, S7, S8, e S9, equivalem a cada semáforo para os carros e o
P1, P2, P3 e P4 equivalem aos semáforos para os peões.
De forma geral, as passagens de estado vão ser determinadas pela passagem do
tempo adquirida pelo contador de tempo. Depois de ser alcançado o tempo total
associado ao fim de todos os estados o contador reinicializa.
Para este semáforo temos sempre 9 estados a correr em loop e dois estados
alternativos que apenas entram em curso quando chamados pelos dois botões de
pressão que existem para os peões. Posto esta situação, fomos obrigados a recorrer a
um trabalho de dimensionamento para que quando for autorizada a passagem aos
peões haja sempre circulação de carros por um sentido em que seja possível. Desta
forma nas duas alternativas, temos sempre a circulação de carros, tendo um sistema
bastante eficiente.
Quando está a decorrer o estado 3, o programa vai procurar saber se alguém
carregou num dos botões da passadeira, se alguém carregou, procede de imediato
para a alternativa 1 e posteriormente regressa ao estado 3, permitindo, desta forma,
ter uma transição em que os semáforos para os carros se mantém e o dos peões passa
a verde. Quando estamos a percorrer o estado 9 vamos verificar novamente se o outro
botão foi acionado e caso tenha sido percorremos a alternativa 2, passando
posteriormente para o estado 1. Com isto, conseguimos adaptar os semáforos dos
peões em posições (steps) certos, evitamos estados adicionais e transições
desnecessárias.
2º Cruzamento (Garagem S. João)
Figura 11 - Tabela de estados do cruzamento da Garagem de S. João
Neste caso temos 6 estados sempre a correr em loop e um estado alternativo
que apenas entram em curso quando chamados pelos dois botões de pressão que
existem para os peões. Aqui optámos por criar um estado alternativo em que, quando
o semáforo dos peões for ativo (verde), os semáforos para os carros passariam todos a
vermelho. Este estado (alternativa 3) é chamado na transição do estado 3 para 4 e do
estado 6 para 1.
Em ambos os cruzamentos foi tido em conta um tempo de segurança entre
estados, de forma a garantir um atraso das transições para verde (do semáforo dos
peões) para precaver embates ou atropelamentos pela passagem dos carros durante o
amarelo.
O nosso sistema é dotado também de um botão (fixo) I3.5, chamado de chave de
polícia, para eventos especiais ou algum tipo de avaria do sistema. Esta chave passa
todos os semáforos para os carros a laranja intermitente e desliga os peões.
No entanto, existem situações entre os dois cruzamentos com vários níveis de
incompatibilidade, isto é, a circulação de trânsito numa das vias nem sempre é
correspondida, o que se pode traduzir-se num engarrafamento, caso a permutação
entre estados não seja suficientemente rápida para escoar os veículos retidos entre os
dois cruzamentos.
2.1. Diagrama funcional do processo
A chave de policia funciona como interrupção e desliga todas as saídas, pondo em
intermitente as saídas destinadas ao amarelo.
Start
Estado 0
Estado 1
Estado 2
P1Alternativa 1
Estado 3
Estado 4
Estado 5
Estado 6
Estado 7
Estado 8
Alternativa 2 P2
Estado 0
Estado 1
Estado 2
P3 ou P4
P3 ou P4
Estado 3
Estado 4
Estado 5
Alternativa 3
Alternativa 3
2.2. Configuração das entradas e saídasTabela 1 - Configuração das entradas
Porto Endereço ComentárioEntrada %I3.0 P1
Entrada %I3.1 P2
Entrada %I3.2 P3
Entrada %I3.3 P4
Entrada %I3.5 CH
Entrada %I3.7 Start
Tabela 2 - Configuração das saídas %Q0.x
Porto Endereço ComentárioSaída %Q0.0 S2_V
Saída %Q0.1 S2_A
Saída %Q0.2 S2_E
Saída %Q0.3 S1_V
Saída %Q0.4 S1_A
Saída %Q0.5 S1_A
Considerando V=verde, A=amarelo e E=encarnado
Tabela 3 - Configuração das saídas %Q1.x
Porto Endereço ComentárioSaída %Q1.0 S3_V
Saída %Q1.1 S3_A
Saída %Q1.2 S3_E
Saída %Q1.3 S4_V
Saída %Q1.4 S4_A
Saída %Q1.5 S4_E
Saída %Q1.6 P1_E
Saída %Q1.7 P1_V
Saída %Q1.8 P2_V
Saída %Q1.9 P2_E
Saída %Q1.10 S5_E
Saída %Q1.11 S5_A
Saída %Q1.12 S5_V
Saída %Q1.13 S6_V
Saída %Q1.14 S6_A
Saída %Q1.15 S6_E
Tabela 4 - Configuração das saídas %Q2.x
Porto Endereço ComentárioSaída %Q2.0 S10_E
Saída %Q2.1 S10_A
Saída %Q2.2 S10_V
Saída %Q2.3 P3_V
Saída %Q2.4 P3_E
Saída %Q2.5 S7_E
Saída %Q2.6 S7_A
Saída %Q2.7 S7_V
Saída %Q2.8 S8_E
Saída %Q2.9 S8_A
Saída %Q2.10 S8_V
Saída %Q2.11 P4_V
Saída %Q2.12 P4_E
Saída %Q2.13 S9_E
Saída %Q2.14 S9_A
Saída %Q2.15 S9_V
2.3. Configuração dos temporizadores
Todos os temporizadores usados, excepto um, são do tipo TON , calibrados
para segundos em que, consoante o estado, atua com diferentes tempos. Estes
temporizadores tem a utilidade de ligar a saída após x segundos, ativando com esta,
através de blocos de operação, um estado na Drum e fazendo o reset da memória
anterior e o set da memória seguinte. Estas memórias são usadas para manter os
temporizadores em funcionamento.
A aplicação faz uso de 20 temporizadores:
%TM0: Timer de tipo Ton, base de 1 segundo e preset de 20
%TM1: Timer de tipo Ton, base de 1 segundo e preset de 3
%TM2: Timer de tipo Ton, base de 1 segundo e preset de 2
%TM3: Timer de tipo Ton, base de 1 segundo e preset de 20
%TM4: Timer de tipo Ton, base de 1 segundo e preset de 3
%TM5: Timer de tipo Ton, base de 1 segundo e preset de 2
%TM6: Timer de tipo Ton, base de 1 segundo e preset de 20
%TM7: Timer de tipo Ton, base de 1 segundo e preset de 3
%TM8: Timer de tipo Ton, base de 1 segundo e preset de 2
%TM9: Timer de tipo Ton, base de 1 segundo e preset de 15
%TM10: Timer de tipo Ton, base de 1 segundo e preset de 15
%TM11: Timer de tipo Ton, base de 1 segundo e preset de 20
%TM12: Timer de tipo Ton, base de 1 segundo e preset de 3
%TM13: Timer de tipo Ton, base de 1 segundo e preset de 2
%TM14: Timer de tipo Ton, base de 1 segundo e preset de 20
%TM15: Timer de tipo Ton, base de 1 segundo e preset de 3
%TM16: Timer de tipo Ton, base de 1 segundo e preset de 2
%TM17: Timer de tipo Ton, base de 1 segundo e preset de 20
%TM19: Timer de tipo Tp, base de 1 segundo e preset de 20
%TM20: Timer de tipo Ton, base de 1 segundo e preset de 20
Apesar do funcionamento da maior parte dos temporizadores ser igual, optámos por
utilizar sempre temporizadores diferentes, pois em exercícios anteriores tivemos que resolver
alguns bugs relacionados com o software devido ao uso dos mesmos temporizadores para
diversas operações ao mesmo tempo.
2.4. Configuração das memórias %M0 %M1 %M2 %M3 %M4 %M5 %M6 %M7 %M8 %M9 %M10 %M11
%M12 %M13 %M14 %M15 %M16: CHAVE_POLICIA %M17 %M20 %M21 %M22 %M30: A_MEM_AUX %M31: B_MEM_AUX %M32: C_MEM_AUX %M33: D_MEM_AUX %M34: E_MEM_AUX %M35: F_MEM_AUX %M36: H_MEM_AUX %M37: I_MEM_AUX %M38: J_MEM_AUX %M39: L_MEM_AUX %M40 %M41 %M42 %M43 %M44 %M45 %M46 %M47 %M48 %M49 %M50 %M51 %M52 %M53 %M54 %M55 %M61 %M62 %M63 %M64 %M70: BOTÃO_PASSADEIRA_1 %M71: BOTÃO_PASSADEIRA_2 %M100 %M101 %M110 %M111 %M132: A_FRIO %M196 %M197: INTERMITENTE_INICIO
%M198: AUX_TON20 %M199: INICIO_PROGRAMA %M200 %M201 %M202 %M203 %M204 %M205 %M206 %M207 %M208 %M209 %M210 %M211 %M212 %M213 %M214 %M215 %M216 %M217 %M218 %M219 %M220 %M221 %M222 %M230: BOTÃO_PASSADEIRA_3 %M231: BOTÃO_PASSADEIRA_4 %M240
2.5. Configuração dos Programadores Cíclicos - DrumsPara o cruzamento da Galp:
Inicialmente como temos 11 estados e 19 saídas, uma drum não chega para a
concretização sequencial de todos estes estados, tendo sido necessário usar 4 drums
para conseguirmos fazer um sistema. Foi preciso correr duas a duas em paralelo e para
tal tínhamos de desligar duas drums e ligar as outras duas quando ocorresse essa
transição. A pensar nisso, decidimos deixar um estado em branco nas duas primeiras
drums, permitindo-nos assim, ativar esse estado (todas as saídas passam a nível baixo)
para passarmos para as drums seguintes. Assim, o step 0 funciona como RESET e ajuda
a evitar o conflito entre o par de drums que acabou o seu percurso e o que entrará em
funcionamento. Este conflito advém do facto de na passagem de testemunho entre
drums haver perda da característica sequencial.
Em virtude do controlo de uma drum não poder ser feito de forma direta sobre
as saídas físicas dos módulos do autómato, este é efetuado de forma indireta, a partir
de bits de memória que depois são ligados às saídas físicas.
Drum´s em paralelo: Drum 0 com Drum 3
Drum´s em paralelo: Drum 1 com Drum 4
Relativamente aos estados alternativos, estes situam-se nas drums 1 e 4 no
step 3 e 4.
Para o cruzamento da Garagem de S. João:
Neste cruzamento como o número de saídas e o número de estados era
inferior, conseguimos colocar tudo numa só Drum (Drum 2).
00
2.6. PLC a utilizar e expansõesA maquete onde irá ser testado este projeto possui um PLC Module
TWDLMDA20DRT, duas expansões para saídas TWDDRA16RT e uma expansão de
entradas TWDDDI16DT.
Figura 12 - PLC Module TWDLMDA20DRT, duas expansões para saídas TWDDRA16RT e uma expansão de entradas
TWDDDI16DT.
Figura 13 - Representação do PLC e suas expansões no Twidosuite no Twidosuite
3. Procedimento
Arranque em amarelo intermitente
Nesta rung iniciamos o temporizador TP com um pulso de %I3.7, para que sejam ativas as
saídas que consistem em assumir estados vazios da drum, ou seja, para conseguirmos desligar
todos as saídas, e também para que sejam ativas duas memórias auxiliares, uma que nos irá
ativar diretamente as saídas (amarelo) em serie com o S6 e ativar um set, a outra para ligar um
temporizador seguinte (TON).
De mencionar também que o arranque a frio, S0, liga diretamente a uma memória %M196.
Desta forma, sempre que o sistema sofre uma quebra de energia, o programa vem ter a esta
rung iniciando, de novo, o estado de amarelo intermitente.
Nesta rung, com a memória (%M198) vinda da rung 0, ativamos um TON para proceder ao
inicio dos estados e para desligar inclusive a memória auxiliar vinda de cima. Estes dois
temporizadores funcionam em paralelo para que, através de um impulso de start, entre em
processo de intermitente e passados 20 segundos pare este processo e dê inicio ao programa
(steps).
Chave do polícia
Nesta rung, sempre que é ativada a entrada %I3.5 é, consequentemente, ativada uma
memória. Este botão, ao contrario dos botões de pressão, tem de ser um botão em
que se fixa o estado. Esta memória estará ligada nas saídas como um interruptor de
fim de curso para fazer desligar todas as saídas (verde, vermelho e amarelo), sendo
posteriormente ligada em paralelo (apenas nas rungs destinadas á saída do amarelo)
em série com um interruptor designado S6, permitindo-nos por o amarelo
intermitente em todos os semáforos. Podemos observar isso nas duas rungs que se
seguem.
Neste caso, aplicamos a chave de policia como fim de curso na saída verde de um
semáforo, conseguindo assim desligar essa mesma saída.
Neste caso usamos a memória %M16 como fim de curso (caso esteja num estado em
que o amarelo está a decorrer, temos de desligar essa possibilidade porque não
queremos o amarelo fixo) e em paralelo temos então essa mesma memória em serie
com S6, para fazermos piscar o amarelo. De mencionar também que vem a memória
%M197 de cima (inicio do programa em que o amarelo está intermitente durante 20
segundos).
Cruzamento da Galp/passadeira
Nestas rungs, como os botões das passadeiras são de pressão, temos de acoplar uma
memória para manter este estado guardado.
Nesta Rung, iniciamos o 1º estado, em que quando pressionado (pressão) o start, o
programa começa a ser executado, sendo que ativa duas drums em paralelo (a 0 e a 3)
e desliga as outras (4 e 1 obriga a proceder ao estado 7, que em ambas tem tudo a 0).
A memória %M39 vem do fim do ciclo, o que permite recomeçar novamente. Em
paralelo ao start tem então %M39 e %M70 negado, que permite que apenas proceda a
esta transição se o botão dos peões não for ativo, pois caso seja, este deve pausar até
que o botão da passadeira passe novamente ao estado original.
Nesta rung, quando o botão da passadeira é ativo e quando o processo chega ao
estado 1 (estado esse onde a memória %M39 é ativa), como vimos anteriormente, o
sistema entra em pausa e executa esta rung, fazendo com que se ative o verde para os
peões e se mantenha os semáforos para os carros como o último step.
Após 15 segundos, o sistema faz reset à memória do botão dos peões e como %M39 se
encontrava ativa e se desliga a %M70, o sistema pode agora executar a rung 5(1º
step).
Este sistema é totalmente idêntico para ambos os botões dos peões.
Step do cruzamento da Galp
Neste caso, este é o segundo estado, em que em primeira ação ativa de imediato a
%M30 e começa a contagem do TON, que ao fim de 20 segundos faz reset a essa
mesma memória, ativa a memória necessária para o estado seguinte e faz a transição
nas drums. Este processo é consecutivo até ao ultimo step.
Nestas duas rungs (13 e 14) situa-se o fim das transições. Na rung 13 procede-se à
ultima transição e a rung 14 apenas serve para ao fim de 2 segundos voltar ao inicio
através da memória %M39.
As nossas saídas estão associadas a memorias de entrada que vem das Drums.
Cruzamento da Garagem de S.João
Neste cruzamento as funções são exatamente iguais ao primeiro cruzamento
apresentado, tanto na transição de estados como na utilização e tratamento de dados
proveniente dos botões de pressão dos peões. A chave de policia tem também o
mesmo funcionamento.
4. Conclusão/Discussão dos Resultados
Para uma realização correta deste projeto foi necessário passar primeiramente por
uma identificação e análise do problema para, posteriormente se chegar a uma
solução e à sua criação. Nesta primeira fase foi feita uma análise exaustiva das
características do problema e das possibilidades de solucionamento, permitindo-nos
partir de forma mais segura para a segunda fase, a de programação do autómato.
Relativamente à segunda fase, foi aqui que foram sentidas as maiores dificuldades, não
só ao nível de falhas do próprio programa como também das seguintes limitações:
bugs quando usado o mesmo temporizador para funções diferentes, a estruturação do
arranque a frio e principalmente a organização dos estados de forma a termos transito
a fluir durante a passagem de peões, ou seja, não ser necessário colocar todos os
semáforos a vermelho para a passagem de peões.
Em algumas situações pensamos na possibilidade e na vantagem de “ligar” os dois
cruzamentos, por exemplo o S1 e o S6 ficarem verdes em simultâneo e o mesmo para
o S9 e o S5. No entanto, refutamos esta ideia com o facto da distância entre os
cruzamentos ser muito grande, assim como o tráfego nestes mesmos semáforos, pois
consequentemente iria resultar num aumento excessivo de permanência do sinal
vermelho nos restantes semáforos e, possivelmente, em bugs no que toca aos botões
de passadeira.
Como pontos positivos, conseguimos definir o sistema para fazer face a situações
que originem arranques inesperados, em que poderá ou não haver perda de dados,
originados por quebras de energia na alimentação do autómato (por parte da bateria
e/ou rede). Estas situações são as designadas acima de arranque a frio.
É importante ainda referir que os tempos utilizados nos temporizadores são
apenas para simulação.
Por fim, consideramos que os objetivos a que nos propusemos foram superados
com êxito e que este trabalho nos permitiu um forte contacto, em ambiente
académico, com um dispositivo de tão vasta utilização como é o autómato.