
Tempo 1 = Vermelho Semáforo A e Verde Semáforo B
Tempo 2 = Vermelho Semáforo A e Amarelo Semáforo B
Tempo 3 = Verde Semáforo A e Vermelho do Semáforo B
Tempo 4 = Amarelo Semáforo A e Vermelho Semáforo B

Primeiro, devemos inserir um novo PLC em Add new device

Definir o endereço IP nas Propriedades do PLC

E ativar a opção Clock Memory

Depois define as saídas de cada lâmpada dos semáforos

E vamos inserir essas saídas em PLC Tags




Depois, adiciona um bloco FB



Vamos declarar as entradas e saídas deste bloco internamente


Agora vamos criar a lógica
Vamos um inserir um bloco Set/Reset


Associar as entradas declaradas no bloco


Da mesma forma a saída, adicionando comentários

Depois, inserimos os temporizadores, vamos usar o TON que é a contagem na energização.

Coloca em uma nova network

E seleciona DB Multi Instance

Chamamos de Tempo_01

Colocamos um contato aberto na entrada do temporizador, que vai ser a memória de semaforo ligado

E definimos um tempo de 2s para esse temporizador


Como vai ser em cascata, então em paralelo ja puxamos outra linha logo após o sinal de semáforo ligado


E inserimos outro TON DB Instance chamado Tempo_02

Porém, quem vai acionar o nosso Temporizador 2 é o Temporizador 1. Então na entrada do T2 colocamos um contato aberto do T1. Tempo_01.q



Fazemos isso nos 4 temporizadores, utilizando o acionamento sempre com o temporizador anterior.



Quando terminar de contar o temporizador 4, o sistema precisa reiniciar. Para isso, colocamos um contato NF de T4 na linha de acionamento do T1 para quando terminar de contar T4 ele derrube T1 e consequentemente todos temporizadores que estão em cascata. E quando derrubar T1 ele derruba T4 também pela cascata e o contato NF de T4 da a condição para o ciclo iniciar novamente no T1.

Agora criamos uma nova Network e vamos inserir as saídas que acionam cada lâmpada.
Coloca uma bobina e faz o link de cada saída que criamos para as lâmpadas.




Para acender as lâmpadas, o sinal de semáforo tem que estar ligado. Então inserimos um contato aberto do semaforo ligado.

Agora vamos fazer a cascata para acionamento de cada lâmpada em cada tempo.

Enquanto ainda não contou o tempo 1, vai estar com a lâmpada Vermelha do Semaforo A e Verde do Semaforo B

Então a luz vermelha do semaforo A vai acionar quando ainda não der o tempo 1


A lâmpada verde do semaforo B mesma coisa, nenhum tempo acionado ainda.

Na contagem do tempo 2 vai estar com Vermelho aceso no Semaforo A e Amarelo no Semaforo B.
Então o amarelo do semaforo B vai ser enquanto ele está contando o Tempo 2

Então o tempo 1 ja aconteceu, colocamos um contato aberto de T1 e permanece contato fechado em T2 e T3 pois ainda não aconteceu.

Na lâmpada Vermelho do Semaforo A nada foi alterado, então ela permanece a mesma condição. OBS: poderia ter excluído este contato mas assim não muda nada.

Na contagem do tempo 3 teremos o Verde no Semaforo A e o Vermelho no Semaforo B.

Então a lógica fica assim


O T1 e T2 ja aconteceram mas o T3 ainda esta contando.
A mesma coisa para o Vermelho do Semaforo B


Na contagem do Tempo 4 teremos Amarelo do Semaforo A e Vermelho do Semaforo B.
No caso do Amarelo do Semaforo A todos os Temporizadores ja aconteceram T1 T2 T3.

A mesma coisa na Vermelha do Semaforo B
Independente do T3 a lampâda vai acender

Pronto. Agora vamos no OB1 e chamar o bloco FB que criamos.

Clica em cima do bloco e arrasta para a linha de OB1

Como foi criada uma FB ele vai pedir para instancear ela para criar uma DB.

Pronto! O bloco ficará assim:


Agora precisa linkar com a tabela de tags declaradas


Ficará assim:

Faz o Download e simula.