Simuladores de PLC

Olá, pessoal!

Tenho visto muito por aí (pessoalmente, e-mail e comunidades do orkut), pessoas procurando simuladores de PLC.

Resolvi então postar alguns links para download com os meus comentários a respeito de cada um (opiniões extremamente particulares):

- CoDeSys - Software de programação na linguagem IEC-61131-3. Na minha opinião

Exemplo de Programa - Parte 2

Exemplo de lógica sequencial

Neste post será mostrado outro exemplo de programaçao de PLC, mas utilizando agora a lógica sequencial, que é aquela em que a(s) saída(s) dependem do estado atual das entradas e também do valor anterior da(s) saída(s).

Tomaremos como base um sistema de acionamento de um motor elétrico, mostrado na Figura 1.

Este sistema simples, deverá funcionar da seguinte maneira:
O motor será ligado se o botão ON for pressionado, ou seja, ON=1.
O motor será desligado se o botão OFF for pressionado, ou seja, OFF=1.
Se nenhum dos dois botões estiver pressionado (ou seja, ON=0 e OFF=0), o motor manterá o seu estado anterior, ou seja, se estava desligado, continua desligado e se estava ligado, continua ligado.
Caso os botões ON e OFF sejam pressionados simultaneamente, ou seja ON=OFF=1, o motor deve permanecer desligado.

Figura 1 - Exemplo de sistema sequencial

No exemplo mostrado na Figura 1, temos uma situação interessante: E se o operador pressionar os botões ON e OFF simultaneamente? No exemplo, o estado do motor será nessa situação será desligado, mas dependendo da aplicação, poderia ser o contrário. Veremos em outros posts mais adiante exemplos com esta situação.

O sistema apresentado no exemplo poderia ser automatizado através de um circuito elétrico, conforme mostrado na Figura 2.

Figura 2 - Circuito elétrico de acionamento do motor

No circuito mostrado na Figura 2, verifica-se que o mesmo é dividido em duas partes. A da esquerda, onde aparece o motor, chamamos de circuito de força e o da direita, que comanda o contator K1, circuito de controle ou comando.

Os componentes S1 e S2 são botões de comando NA (Normalmente Aberto) e NF (Normalmente Fechado), respectivamente, e recebem os estímulos externos do operador.

Observam-se também alguns elementos nomeados de K1, que é um contator. No circuito de controle, aparece a bobina do contator K1 e um contato auxiliar, que nesse caso, é chamado de "contato de selo". No circuito de força, aparecem os contatos de potência de K1, que são utilizados para energizar o motor. Um exemplo de contator é mostrado na Figura 3.
Figura 3 - Vista de um contator
(Fonte: www.geocities.com/SiliconValley/Park/6834/contator.gif)

A partir da visualização da Figura 2, é possível notar que um contato auxiliar do contator K1 faz parte do circuito de acionamento da bobina de K1. Portanto, o estado da bobina de K1, depende do estado do contato auxiliar de K1 (que representa o estado anterior de K1).

Bem, para resolver este problema com um PLC (é claro que este exemplo é uma situação hipotética, pois usar um PLC para acionar apenas um motor certamente é uma solução não vantajosa financeiramente), mostraremos duas soluções: uma com uma lógica similar à mostrada no circuito elétrico e uma outra usando recursos próprios de um PLC.

Solução 01

A primeira solução nada mais é do que a transcrição do circuito elétrico para a linguagem do PLC, conforme pode ser observado na Figura 4.


Figura 4 - Primeira solução - Similar ao circuito elétrico

Vamos simular o funcionamento do circuito em algumas situações:

Situação 01.1

Considerando que a chave S1 foi pressionada, o resultado é o acionamento do motor através de K1 (Ver figura 5).

Figura 5 - Simulação de S1=1 e S2=0

Situação 01.2

Em seguida, simulando o desligamento da chave S1, ou seja, S1=0 e S2=0, o resultado é que o motor continua ligado (ver Figura 6).
Figura 6 - Simulação de S1=S2=0

Situação 01.3

Prosseguindo, se a chave S2 for acionada, o motor é desligado, conforme mostra a simulação na Figura 7.
Figura 7 - Simulação de S1=0 e S2=1

Situação 01.4

Novamente, simularemos S1=S2=0, porém, diferentemente da Situação 02, o motor ficará desligado, pois este era o estado anterior (ver Figura 8).
Figura 8 - Nova simulação de S1=S2=0

Simulação 01.5

Por último, simularemos S1=S2=1. Neste caso, devido à concepção da lógica, tem-se como resultado que o motor fica desligado, conforme mostra a Figura 9.

Figura 9 - Simulação de S1=S2=1

Solução 02

A segunda solução utiliza as funções Set e Reset, que são próprias de programação em PLCs. Estas funções funcionam da seguinte maneira: Se uma linha da lógica possui uma bobina tipo S e fica verdadeira, o elemento associado à bobina S é acionado (=1) e permanece nesse estado mesmo se a linha dessa bobina ficar falsa. Para desligar este elemento, é necessário que uma bobina R associada a este elemento fique verdadeira.

Figura 10 - Representação da solução 02

A lógica desenvolvida é mostrada na Figura 10. Observe que A chave liga (S1) está associada à bobina S (Set=liga) e que a chave desliga (S2) está associada à bobina R (Reset=desliga). Observe também que o motor está associado às duas bobinas (S e R).

Vejamos as situações de simulação:

Situação 02.1

De maneira similar à solução 1, simulamos inicialmente a chave S1 pressionada, conforme mostra a Figura 10.
Figura 10 - Simulação de S1=1 e S2=0

Note que tanto a bobina S quanto a bobina R estão (Ativas), pois estão associadas ao mesmo elemento (K1).

Situação 02.2

Quando o botão S1 é desligado, a saída K1 (Motor) é mantida ligada, mesmo com as linhas de S1 e S2 falsas, pois as bobinas S e R são retentivas (Armazenam o último estado), conforme mostra a Figura 11.

Figura 11 - Simulação de S1=S2=0

Situação 02.3

Ao pressionar o botão S2, K1 é desenergizado. Observe que as duas bobinas aparecem desligadas, mesmo com a linha de S2 verdadeira, conforme Figura 12.
Figura 12 - Simulação de S1=0 e S2=1

Situação 02.4

Novamente, simulando S1=S2=0, porém, K1 permanece desligado devido ao seu estado anterior (Ver Figura 13).

Figura 13 - Simulação de S1=S2=0

Simulação 02.5

Nesta situação, verifica-se que se S1=S2=1, K1 permanece desligado. Neste caso (ver Figuras 10 e 14), K1 permanece desligado porque o PLC processa o programa linha a linha, logo, a última linha processada é a linha da bobina R (Reset=Desliga), portanto, o último comando para a saída K1 é que seja desligada.

Figura 14 - Simulação de S1=S2=1

Chegamos ao fim de mais um post e espero que tenha ajudado a esclarecer o princípio de operação de um PLC em um caso de uma lógica sequencial simples.

O arquivo com este programa para o CoDeSys V3 (disponível no site da 3s-software) está disponível na Solução 01 ou Solução 02.

Um abraço e até o próximo post!

Exemplo de Programa - Parte 1 - Arquivo

Para aqueles que fizeram o download do CoDeSys pelo site da 3s-software, o arquivo com o exemplo do programa (Parte 1), está disponível para download em
Automacoes_Ex01.project.

Estou preparando mais um exemplo que será postado em breve!

Até lá!

automacoes.com - Todos os direitos reservados
Desenvolvido por Adailton Cunha