jul 24, 2015
Engineering a la vanguardia
Engineering recientemente completó un Proyecto de I&D exitoso con uno de nuestros más grandes clientes de aeroespacial. El Proyecto fue un importante paso adelante para nuestro cliente en el desarrollo de su sistema de manufactura de próxima generación. Esta nueva clase de Sistema de Ejecución de Manufactura les permitirá sostener su ventaja en la economía altamente competitiva de nuestros días.
Para concretar las posibilidades de mayor productividad y ahorros en costos que pueden ofrecer estos tipos de sistemas, se comisionó a Engineering para diseñar y desarrollar un prototipo y para probar la viabilidad de la tecnología. La solución de software es una combinación de software de paquete (Siemens Opcenter Execution (SIMATIC IT)) y aplicaciones a la medida. La integración de los variados sistemas de software presentó enormes retos. La unificación de componentes, que van desde sistemas antiguos hasta aplicaciones de reciente desarrollo, todo en un sistema integrado, no fue una tarea fácil. La naturaleza compleja del proyecto y el proceso de manufactura de nuestro cliente presentó un reto muy difícil cuyo acometimiento requeriría planeación detallada, trabajo de equipo y experiencia técnica.
El siguiente artículo describe el Proyecto en mayor detalle, y esboza los requerimientos del sistema, así como ciertos de los retos que enfrentamos durante el diseño y desarrollo.
Requerimientos de sistema
La visión para este proyecto era determinar la factibilidad de un sistema de automatización de celda de trabajo que requeriría casi ninguna intervención humana para su funcionamiento. El sistema debiera de estar completamente automatizado, y tener la capacidad de recuperarse de errores que ocurren en el curso del proceso de manufactura. El sistema también debiera de ser adaptable, con la habilidad para incorporar los nuevos tipos de equipo y las nuevas tareas con muy poco esfuerzo y conocimiento técnico por parte de administradores de sistema e ingenieros. El equipo, a lo largo del proceso, captura amplias cantidades de datos, y el sistema tendría que tener la capacidad de recuperar y almacenar estos datos tanto para actualizaciones de tiempo real y análisis de datos históricos.
La siguiente lista perfila algunas de las tareas de alto nivel que realizará el sistema para lograr los requerimientos indicados:
- Planeación y despacho de tareas de equipos
- Actualizaciones de estatus de equipo en tiempo real
- Monitoreo de estado de equipo en tiempo real
- Recolección de datos de alto volumen
- Almacenamiento y análisis de datos históricos
- Integración con aplicaciones de software de terceros
Retos de desarrollo
Un proyecto de esta escala y alcance presenta numerosos retos de diseño, tecnología y administración que tienen que ser superados para tener éxito. El sistema necesitaba diseñarse de forma tal que este fuera completamente automatizado, y aun así seguro y confiable. Los ingenieros en la fábrica requerirían una forma de diseñar y controlar el proceso de producción que fuese directa y no técnica. Los supervisores, por su parte, necesitarían una forma de monitorear el proceso en tiempo real. Además, sería necesario definir e implementar protocolos de seguridad para asegurar que no se dañase a personas ni equipamiento.
Los componentes individuales del sistema serían desarrollados por cinco equipos diversamente geográficos de Engineering. El asegurarse de que todos estuvieran en línea y comprendieran cómo iba a trabajar en su conjunto el sistema era vital para el éxito del proyecto.
Para superar este y otros retos, adoptamos una metodología de desarrollo y escogimos una arquitectura de sistema que ayudaría al equipo a superar requerimientos rápidamente en cambio y extrema complejidad técnica. También fomentamos un ambiente que permitía la colaboración cercana dentro de nuestro equipo, lo mismo que con nuestros clientes.
Nuestra metodología
Conforme el desarrollo avanza, los requerimientos de sistema en proyectos de investigación pueden cambiar en cualquier momento. Para manejar los cambios de la forma más efectiva posible, y para asegurar el mejor resultado posible, nuestro equipo adoptó un enfoque de desarrollo agile. Agile es un enfoque iterativo flexible para el desarrollo de software y sistemas que permite cambios en el diseño y la adición de nuevas características conforme avanza el desarrollo y los requerimientos cambian. Esto pasó para alinearse de cerca con la forma en que trabajaba nuestro cliente; como resultado, pudimos desarrollar características rápidamente en “sprints”, o periodos de tiempo fijos en los cuales se completan nuevas características.
Para el desarrollo de aplicación, utilizamos flujos de trabajo de desarrollo estándar y aplicamos principios de diseño de software orientados a objetos. El emplear un enfoque de desarrollo moderno fue un factor clave en el éxito del proyecto entero, ayudando a cumplir con cerradas fechas límite para características nuevas.
Diseño de arquitectura
El sistema se conforma de numerosos subsistemas que abarcan capas múltiples, desde Controladores Lógicos Programables (PLCs) en el piso de fábrica hasta sistemas de nivel más alto responsables por la ejecución de gestión de tareas, análisis de datos, y la muestra de actualizaciones de estatus de tiempo real del equipo. La comunicación entre el equipo y el servidor de aplicaciones se facilita mediante un protocolo personalizado diseñado para ser lo suficientemente flexible para funcionar con prácticamente cualquier tipo de PLC. En la capa de aplicación, asumimos un enfoque de diseño modular que habría de complementar nuestra filosofía de desarrollo. Esto nos permitió agregar nuevas características rápidamente, al cambiar los requerimientos.
La interacción principal desde los usuarios se verifica mediante una aplicación web que permite que los operadores inicien tareas y vean el estatus de equipo en toda la fábrica. La interfaz web toma ventaja completa de las últimas características HTML 5 que admiten los navegadores web. Esto permite la muestra dinámica de datos de tiempo real recolectados por el equipo, a la vez que el estatus del equipo y celdas de trabajo en el piso de la fábrica.