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