Mi equipo ha decidido utilizar un PLC para controlar un proceso industrial que requiere IO simple en tiempo real para dispositivos externos con un procesamiento mínimo. Sin embargo, esperamos que los resultados exactos necesarios varíen entre las ejecuciones (de hecho, una ejecución determinada rara vez se repetirá), y el operador no tendrá experiencia en programación de PLC / software.
Si bien no puedo revelar el producto real, la mejor analogía sería que estamos diseñando un fabricante de batidos industrial, con PLC que controla con precisión la apertura y cierre de diferentes válvulas en tiempo real. El operador utilizará nuestro software para diseñar una secuencia personalizada de adiciones de diferentes reactivos y el encendido / apagado de maquinaria pesada relevante (por ejemplo, un mezclador industrial).
Aquí está el desafío: nuestro enfoque actual es escribir nuestro propio compilador que traduzca las instrucciones que da el operador (abrir la válvula A durante 10 ms, abrir la válvula B durante 20 ms) en lógica de escalera y código de máquina PLC. Luego descargaríamos directamente nuestro programa autocompilado al PLC a través de serie. Todo esto debería ser automatizado para que el operador solo tenga que hacer clic en un botón después de su secuencia de pasos.
Sin embargo, a pesar de mi investigación, no he encontrado un solo proveedor de PLC que 1) tenga un compilador con API o publique suficiente información sobre su código de máquina de PLC para permitir que uno escriba un compilador, 2) admite la descarga directa de programas al PLC sin el uso del software de programación del proveedor (programador CX, estudio Atmel, etc.).
Me hacen creer que podríamos estar adoptando un enfoque incorrecto, o al menos no saber qué producto buscar. La E / S es lo suficientemente simple como para no justificar la construcción de nuestra propia placa, pero la funcionalidad que estamos buscando, a saber, la interacción del PLC con el software de PC de alto nivel, no parece estar disponible.
Idealmente, nos gustaría descargar todo el programa al PLC de una vez y no enviar instrucciones de una en una. La ejecución de todas las instrucciones en el PLC (o cualquier dispositivo que terminemos usando) debe ser en tiempo real.
¿Hay algún PLC disponible comercialmente que admita la compilación y descarga de código de máquina, de modo que todo el proceso pueda ser automatizado por un programa más grande? ¿Hay alguna otra forma de descargar un programa en tiempo real a un PLC escrito por un software de PC escrito en un lenguaje de alto nivel?