Hoje o PLCDuino começou a mostrar sinais mais consistentes de vida. Já é possível executar os seguintes passos:
1) Escrever um programa bem básico usando Instruction List simplificado.
2) Compilar este programinha em um PC, transformando-o em um conjunto de instruções em código decimal.
3) Carregar este conjunto de instruções (manualmente ou copy/paste) no PLCDuino utilizando um emulador de terminal.
4) EXECUTAR!
Simples né?
Para isto tive que definir e implementar alguns conceitos importantes que irei esclarecendo aos poucos neste blog e no meu trabalho. O primeiro conceito é o dos modos de funcionamento.
O PLCDuino terá dois modos de funcionamento - Programação e Execução. No modo de programação o PLCDuino permitirá que, com o uso de um emulador de terminal (tipo o HyperTerminal do Windows), sejam alterados o programa de controle, a configuração das entradas/saídas e sejam realizadas operações de diagnóstico.
Sempre que o PLCDuino for reiniciado ele entrará temporáriamente no modo de programação. Caso não haja nenhum comando em um certo intervalo de tempo e haja um programa válido na memória, ele passará automáticamente para o modo de execução.
Para o primeiro teste fiz um programinha assim:
LD %I000/2
STN %Q001/5
LD %I000/4
STN %X000/0
Traduzindo:
LD %I000/2 - Le o bit 2 da entrada zero (isto corresponde ao pino digital 2 do Arduino).
STN %Q001/5 - Armazena o valor lido no bit 5 da saída 1 (isto corresponde ao pino digital 13 do Arduino, que tem um led ligado).
LD %I000/4 - adivinhe...
STN %X000/0 - Armazena o valor lido no bit zero do byte de controle interno do PLCDuino (o bit zero do byte de controle, quando em zero, faz o PLCDuino sair do modo de execução e voltar para o modo de programação).