A programação em Ladder é amplamente utilizada em Controladores Lógicos Programáveis (CLPs). No entanto, você sabia que também é possível usar essa linguagem para programar o seu Arduino?
Para programar um Arduino em Ladder, é possível utilizar o OpenPLC, um software de automação de código aberto que permite programar o seu Arduino em Ladder, assim como em um CLP.
Neste post, vamos mostrar como programar o seu Arduino em Ladder utilizando o OpenPLC.
Sumário
1. Onde baixar o OpenPLC
Você pode baixar o OpenPLC gratuitamente no site oficial do projeto, por meio deste link. Na página de downloads, você encontrará opções para instalar o OpenPLC em sistemas Windows, Mac e Linux.
Ao escolher o sistema operacional que deseja utilizar, certifique-se de baixar a versão mais recente do OpenPLC para garantir que você tenha acesso às atualizações mais recentes e correções de bugs disponíveis. Para este exemplo, utilizaremos o sistema Windows.

Na próxima página clique em “JUST DOWNLOAD”.

Aguarde até o download do instalador finalizar finalizar.

2. Como instalar o OpenPLC
Primeiro vamos executar o instalador do OpenPLC que acabamos de baixar.

Depois clique em install, como mostrado na figura a seguir:

Espere o processo de instalação terminar.

Em seguida, clique em close, como destacado na figura a seguir:

A instalação está concluída. Agora abra o programa e vá em Arquivo, depois em Check for updates. Para atualizar o software para a versão recente.

Após a atualização o programa está pronto para utilização.
3. Como programar o arduino com o OpenPLC
Para programar o arduino utilizando o OpenPLC o primeiro passo é, justamente, executar o OpenPLC Editor. Agora vá em arquivo, depois em novo. Como mostrado na figura a seguir:

Agora escolha o local onde será salvo o arquivo, ele deve ser obrigatoriamente uma pasta vazia.

Em seguida defina o nome do programa. O idioma utilizado deve ser LD, ladder.

Vamos fazer um pisca LED, então o primeiro passo será adicionar a variável que representa esse LED. Para isso clique no “mais”, indicado na figura a seguir. Depois defina um nome para a variável.

Depois escolhemos o tipo da variável, como é um LED devemos escolher o tipo BOOL. Como mostrado na figura a seguir:

Agora vamos começar a montar o diagrama em ladder. Primeiro vamos adicionar as barras laterais, para isso utilizamos a ferramenta mostrada em destaque na figura a seguir:

Selecionando ela e clicando na área mostrada na figura a seguir, podemos escolher a barra e o número de pinos dela.

A barra da esquerda ficará da seguinte forma:

Para colocar a da direita podemos simplesmente copiar e colar a da esquerda e clicar duas vezes nela para abrir a janela de propriedades, onde selecionamos Right PowerRail. Como mostrado na figura a seguir:

Este será o resultado:

Agora vamos adicionar o contato NF da variável LED, para isso utilize a ferramenta em destaque na figura a seguir:

Clique novamente na área de trabalho para adicionar o contato e configurá-lo de acordo com a figura a seguir.

Agora vamos adicionar a bobina referente a essa variável, para isso utilize a ferramenta em destaque na figura a seguir:

Repita o que feito para o anterior, e configure a bobina de acordo com a figura a seguir:

Agora vamos adicionar os blocos de temporização, utilizando a ferramenta mostrada na figura a seguir:

Na janela que irá abrir, ao clicar na tela, vá para a aba Blocos de função padrão, depois pegue o bloco TON.

Posicione o bloco no diagrama e faça uma cópia dele, de acordo com a figura.

Clique duas vezes no bloco TON1, na janela que irá abrir selecione o bloco TOF, mostrado na figura a seguir:

Clique em OK e esse será o resultado.

Agora vamos adicionar os blocos de variável, para isso temos a seguinte ferramenta:

Adicionando ele ao diagrama devemos configurá-lo como mostrado na figura a seguir, para que seu valor seja interpretado como tempo.

Adicione ele e faça uma cópia.

Agora faça as ligações indicadas nas figuras a seguir:


Podemos simular o programa, sem carregá-lo no arduino. Para isso utilizamos a seguinte ferramenta:

Clicando duas vezes no ícone de óculos à esquerda, mostrado na figura a seguir, podemos visualizar o valor da variável.

Veja na figura a seguir o gráfico obtido. Na caixa de seleção destacada podemos selecionar o tempo de amostragem do gráfico.

Para finalizar a simulação clique em stop, mostrado na figura a seguir:

Agora vamos carregar o programa no Arduino, porém, antes devemos definir o pino que a variável LED controla. Entretanto, temos alguns detalhes importantes que precisam de atenção ao utilizar o OpenPLC.
Primeiro devemos saber que os pinos de entrada e saída são fixos e definidos pela tabela a seguir, que pode ser encontrada na documentação oficial presente no site do projeto.

É importante observar que, ao programar o Arduino em Ladder com o OpenPLC, há limitações nos pinos que podem ser usados. No caso do Arduino UNO, por exemplo, apenas os pinos 2, 3, 4, 5 e 6 podem ser utilizados como entradas digitais, enquanto os pinos 7, 8, 12 e 13 podem ser usados como saídas digitais. O mesmo vale para os pinos analógicos.
Na terceira coluna da tabela, é possível ver os códigos que devem ser utilizados no OpenPLC como referência para cada pino. Por exemplo, para utilizar o pino 2 como entrada digital, é necessário usar o código %IX0.0. Já para o pino 8 como saída digital, o código é %QX0.1. Para o pino A2 como entrada analógica, o código é %IW2 e assim por diante.
Vale lembrar que as tabelas para outras placas podem ser diferentes e podem ser encontradas no site do OpenPLC. É importante sempre verificar a documentação correspondente para cada placa antes de programar em Ladder.
Vamos piscar o LED ligado ao pino 13, portanto, o código que define a localização da variável na placa será %QX0.3. A configuração deve ficar igual a figura a seguir:

Agora podemos carregar o código no arduino, para isso clique no ícone destacado na figura a seguir:

Na janela que irá abrir precisamos fazer as configurações mostradas na figura. Na aba Transfer devemos selecionar a placa que vamos utilizar, nesse caso um Arduino Uno e também a sua porta serial.

Na aba I/O Config devemos informar os detalhes do hardware, se não estiver de acordo com a figura, podemos clicar em Restore Defaults para utilizar o padrão. Depois clique em Save Changes.

Para esse exemplo não será necessário modificar a aba Communications.

Volte para a aba Transfer e clique em Transfer to PLC, mostrado em destaque na figura a seguir.

Após compilar e carregar o código o resultado será igual ao mostrado na figura a seguir:

4. Como programar o ESP32 com o OpenPLC
Para programar o ESP32 em Ladder utilizando o OpenPLC, é possível utilizar o mesmo diagrama em ladder, porém, é necessário alterar a localização dos pinos. Para isso, é possível utilizar a tabela a seguir como referência:

Vamos utilizar o pino 4, portanto, a localização deve ser %QX0.3. Como mostrado na figura a seguir:

O próximo passo é selecionar a placa e a porta serial na hora de carregar o código para o ESP32. Depois basta transferir o código para a placa.

Após carregar o código para o ESP32 utilizando o OpenPLC, é possível ver que o microcontrolador está executando a lógica do programa, como por exemplo, o pisca LED no exemplo mencionado.
É importante lembrar que existem diversas outras possibilidades que podem ser exploradas utilizando o OpenPLC, permitindo a criação de projetos complexos de automação utilizando a linguagem Ladder. Com isso, é possível controlar diversos dispositivos eletrônicos e desenvolver soluções para as mais diversas aplicações industriais e comerciais.
5. Material complementar
Acabamos de aprender como utilizar o OpenPLC e carregar nosso primeiro código na placa. No entanto, o ladder oferece uma ampla gama de possibilidades. Para obter mais informações sobre o OpenPLC e suas diversas aplicações, recomendamos assistir aos vídeos a seguir.
Autor: Thales Ferreira
Comments