Mi equipo ha decidido usar un PLC para controlar un proceso industrial que requiere IO simple y en tiempo real para dispositivos externos con un procesamiento mínimo. Sin embargo, esperamos que los resultados exactos necesarios varíen entre ejecuciones (de hecho, una ejecución dada rara vez se repetirá), y el operador no tendrá ninguna experiencia de 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 licuados industriales, con PLC controlando con precisión la apertura y el 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 traduce las instrucciones que da el operador (abrir la válvula A durante 10 ms, abrir la válvula B durante 20 ms) en la lógica de escalera y el código de la máquina del PLC. Luego, descargamos directamente nuestro programa autocompilado al PLC a través de una serie. Todo esto tendría que ser automatizado para que el operador solo tenga que hacer clic en un botón después de encontrar 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 permitirle escribir un compilador, 2) es compatible con la descarga directa de programas al PLC sin utilizar el software de programación del proveedor (programador CX, estudio Atmel, etc.).
Me llevan a creer que podemos estar tomando el enfoque equivocado, o al menos no sabemos qué producto buscar. La I / O es lo suficientemente simple como para no justificar la creación de nuestra propia placa, pero la funcionalidad que estamos buscando, a saber, la interacción del PLC con software de PC de alto nivel, no parece estar disponible.
Idealmente, nos gustaría descargar todo el programa al PLC a la vez y no enviar instrucciones una por 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 manera de descargar un programa en tiempo real a un PLC escrito por software de PC escrito en un lenguaje de alto nivel?