Jarvis - Just Autom for Realtime Vigilance and Incident System
Jarvis es una plataforma de software orientado a las tecnologías de automatización industrial. Proporciona amplias soluciones para la sencilla y efectiva ingeniería de proyectos de aplicaciones de automatización. El objetivo principal de Jarvis es proporcionar un soporte práctico en la implementación de sus tareas de programación de entornos de automatización.
El núcleo o kernel de Jarvis es una aplicación nativa , que compila y ejecuta una serie de archivos fuente. El lenguaje de programación es C con ampliaciones para generación de autómatas de alto nivel, objetos con herencia, y abstracción del hardware. El núcleo no tiene prácticamente interacción con la máquina (solo con el teclado y el terminal). La interacción con el exterior se deja en manos de programas que extienden la funcionalidad de Jarvis, extensiones o mejor llamado módulos.
El núcleo tiene tres funciones básicas:
• Compilación de los autómatas.
• Carga de módulos.
• Ejecución de los autómatas.
Los módulos que extienden el núcleo implementan, básicamente, comunicaciones con otros sistemas, hacia sistemas como SHIELD o hacia hardware de control.
Principales características
- Sistema de programación completo, desde programación básica de PLC hasta programación orientada a objetos.
- Funciones para la ingeniería de proyectos, puesta en servicio de automatización, debugging, y cambio en línea.
- Configuración y puesta en marcha de los buses de campo industriales más importantes así como de sistemas de E/S específicos de variados fabricantes.
- Adaptación y extensibilidad de la interfaz de programación por medio de módulos de plug-in específicos.
- Tiempos de ejecución y respuesta rápidos. Timers adaptables a milisegundos.
- Sistema de persistencias e históricos en tiempo de ejecución.
- Ejecución el diverso hardware. Raspberry, computadoras embebidas, PC, etc...
- Seguridad y redundancia a prueba de fallos.
// breve ejemplo de un autómata Jarvis
autom BLINK
{
stat blink_off
{
ontime (3) -> blink_on;
}
stat blink_on
{
ontime (3) -> blink_off;
}
};
BLINK blink[3];
Elementos de campo
Sensores
Analizadores de red, sensores de contaminación, de presión, etc..
Hardware comandable
Circuitos, motores, señalización, etc...
Centrales externas
Meteorólogicas, de incendio, aforadores, etc...
Red de comunicaciones
Fibra óptica, ethernet, wifi, etc...
Buses de campo
RS232, 485, 422
Remota JARVIS
Módulo de comunicación
Modbus, Profibus, XML, SNMP, serie, etc...
Autómatas de control
Estados, eventos, mensajes entre autómatas.
Módulo de gestión
Históricos, alarmas, valores y estados.