Dual-core plc para proyectos colaborativos con implementación de software
Autores: Hubacz, Marcin; Trybus, Bartosz
Idioma: Inglés
Editor: MDPI
Año: 2023
Acceso abierto
Artículo científico
2023
Dual-core plc para proyectos colaborativos con implementación de software
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería Eléctrica y Electrónica
Palabras clave
Desarrollo
Plc
Procesador de doble núcleo
Memoria compartida
Sistema operativo en tiempo real
Variables globales
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 38
Citaciones: Sin citaciones
Se presenta el desarrollo de un PLC de propósito general basado en un procesador de doble núcleo típico como plataforma de hardware. Los núcleos ejecutan dos proyectos cooperativos que implican intercambio de datos a través de memoria compartida. Tal solución es equivalente a un PLC de un solo núcleo ejecutando dos tareas mediante un sistema operativo en tiempo real. La actualización a una herramienta de programación típica implica definir qué variables globales son compartidas, y si una variable en un núcleo en particular se lee o se escribe en la memoria compartida. Las extensiones a los tiempos de ejecución de los núcleos consisten en la lectura al principio del ciclo de escaneo y la escritura al final, y en un algoritmo para proteger la memoria compartida contra conflictos de acceso. Como ejemplo, la solución propuesta se implementa en una herramienta de ingeniería con tiempo de ejecución basado en un concepto de máquina virtual. El prototipo de PLC se basa en un microcontrolador STM32 de doble núcleo ARM heterogéneo que ejecuta diferentes proyectos. La innovación en la investigación radica en mostrar cómo ejecutar dos proyectos en un PLC de doble núcleo sin utilizar un sistema operativo. La extensión a múltiples proyectos para un procesador multinúcleo se puede lograr de manera similar.
Descripción
Se presenta el desarrollo de un PLC de propósito general basado en un procesador de doble núcleo típico como plataforma de hardware. Los núcleos ejecutan dos proyectos cooperativos que implican intercambio de datos a través de memoria compartida. Tal solución es equivalente a un PLC de un solo núcleo ejecutando dos tareas mediante un sistema operativo en tiempo real. La actualización a una herramienta de programación típica implica definir qué variables globales son compartidas, y si una variable en un núcleo en particular se lee o se escribe en la memoria compartida. Las extensiones a los tiempos de ejecución de los núcleos consisten en la lectura al principio del ciclo de escaneo y la escritura al final, y en un algoritmo para proteger la memoria compartida contra conflictos de acceso. Como ejemplo, la solución propuesta se implementa en una herramienta de ingeniería con tiempo de ejecución basado en un concepto de máquina virtual. El prototipo de PLC se basa en un microcontrolador STM32 de doble núcleo ARM heterogéneo que ejecuta diferentes proyectos. La innovación en la investigación radica en mostrar cómo ejecutar dos proyectos en un PLC de doble núcleo sin utilizar un sistema operativo. La extensión a múltiples proyectos para un procesador multinúcleo se puede lograr de manera similar.