Minha equipe decidiu usar um PLC para controlar um processo industrial que requer E / S simples e em tempo real para dispositivos externos com processamento mínimo. No entanto, esperamos que as saídas exatas necessárias variem entre as execuções (na verdade, uma determinada execução raramente será repetida) e o operador não terá nenhuma experiência em programação de CLP / software.
Embora eu não possa divulgar o produto real, a melhor analogia seria que estamos projetando um fabricante industrial de smoothies, com o PLC controlando com precisão a abertura e o fechamento de diferentes válvulas em tempo real. O operador usará nosso software para projetar uma sequência personalizada de adições de diferentes reagentes e a ativação / desativação de máquinas pesadas relevantes (por exemplo, um misturador industrial).
Eis o desafio: nossa abordagem atual é escrever nosso próprio compilador que traduza as instruções fornecidas pelo operador (válvula aberta A por 10 ms, válvula aberta B por 20 ms) em lógica ladder e código de máquina do PLC. Em seguida, baixávamos diretamente nosso programa auto-compilado no PLC via serial. Tudo isso precisaria ser automatizado para que o operador só precise clicar em um botão após elaborar sua sequência de etapas.
No entanto, apesar da minha pesquisa, não encontrei um único fornecedor de CLP que ambos: 1) possuam um compilador com API ou publiquem informações suficientes sobre seu código de máquina para permitir escrever um compilador; 2) suporte o download direto de programas no CLP sem o uso do software de programação do fornecedor (programador CX, estúdio Atmel, etc.).
Sou levado a acreditar que podemos estar adotando a abordagem errada ou pelo menos não sabemos qual produto procurar. O I / O é simples o suficiente para não justificar a criação de nossa própria placa, mas a funcionalidade que procuramos, a saber, a interação do CLP com o software de PC de alto nível, parece não estar disponível.
Idealmente, gostaríamos de baixar o programa inteiro para o PLC de uma só vez e não enviar instruções uma de cada vez. A execução de todas as instruções no PLC (ou qualquer outro dispositivo que acabamos usando) precisa ser em tempo real.
Existem CLPs disponíveis comercialmente que suportam a compilação e o download de código de máquina, de modo que todo o processo possa ser automatizado por um programa maior? Existe alguma outra maneira de baixar um programa em tempo real para um CLP escrito pelo software para PC, escrito em um idioma de alto nível?