redindustria
Red de conocimiento en Informática Industrial, Gestión en Tiempo Real y Agilidad Empresarial
Big Data
¿Qué es una SmartCity?
Durante los últimos años se han llevado a cabo proyectos consistentes en la introducción de elementos domóticos e inmóticos para la gestión inteligente de casas, espacios comerciales e infraestructuras. Los distintos sistemas que concurren en una infraestructura (iluminación, calefacción, ventilación, climatización, anti incendios, video, megafonía, CCTV, control de accesos, suministros de energía, CPD…) han requerido de sistemas de información que han facilitado su integración y han proporcionado información que ha permitido realizar una gestión inteligente de dichos entornos. Cuando los conceptos de integración de sistemas, acceso a información en tiempo real, eficiencia, sostenibilidad o reducción de emisiones se extrapolan a la gestión integral de las infraestructuras y servicios que conviven en una ciudad (riegos, iluminación, tráfico, sistemas electromecánicos, recogida de residuos, etc…) es cuando surge el concepto de SmartCity.
No existen ciudades inteligentes. El desarrollo de una Smart City ofrece a los ciudadanos la posibilidad de actuar de forma inteligente, acercándoles toda la tecnología que se despliega en una ciudad (sensores, medidores, controladores, cámaras, sistemas de información). Los ciudadanos pueden aprovecharse de este despliegue tecnológico:
- Reduciendo los tiempos de desplazamiento ya que conocen en tiempo real y a través de cualquier tipo de dispositivo móvil el estado del tráfico y la disponibilidad de plazas de parking.
- Reduciendo los costes energéticos ya que se les proporciona información contextualizada de sus hábitos de consumos.
- Incrementando la facilidad de acceso a lugares públicos porque se lleva a cabo una gestión de alarmas que permite reaccionar en tiempo real ante posibles averías de escaleras, pasadores urbanos…
Además de tener un impacto positivo y directo sobre los ciudadanos, las administraciones públicas se aprovechan de las inversiones realizadas, reduciendo drásticamente los costes asociados a las infraestructuras.
En este documental ofrecido por Informe Semanal, se tratan tres casos de éxito de aplicación del concepto SmartCity en las ciudades de Málaga, Rivas Vaciamadrid y el distrito 22@ de Barcelona. En particular, en la ciudad de Málaga la inclusión de inteligencia a la red de farolas de la ciudad ha permitido que los costes se reduzcan hasta un 30% o que se reduzcan las emisiones de C02 hasta un 20%.
Para finalizar, una de las claves que permite que una ciudad se convierta en SmartCity está en la integración de todos los sistemas que conviven en ella y la incorporación de sistemas de información que faciliten dicha integración y proporcionen la información necesaria en tiempo real para que los ciudadanos puedan tomar decisiones inteligentes.
Windows, Linux y transacciones de entre 2 y 12 segundos
- Un sistema tiempo real no debe confundirse con uno que deba ejecutar tareas o gestionar información en intervalos pequeños de tiempo.
- Un sistema en tiempo real debe asegurar que se cumplen las latencias.
En algún foro, ha surgido la siguiente discusión: ¿pueden considerarse sistemas operativos como Windows o Linux sistemas RTOS (Real Time Operating Systems)? La respuesta es no por varios motivos, pero el principal es que son sistemas operativos que no garantizan tiempos de respuesta deterministas.
¿Qué significa esto? Que la probabilidad entra en su funcionamiento (son estocásticos), es decir no se puede prever que un resultado se produzca siempre con la misma latencia. ¿Y qué factores hacen que un SO sea determinista? Principalmente dos, la planificación de procesos y el tratamiento de interrupciones de E/S.
Ninguno de los dos sistemas operativos mencionados gestiona estos dos aspectos de manera que se pueda garantizar el cumplimiento de unas latencias deterministas. Por este motivo no pueden utilizarse en entornos de tiempo real "estricto" o tradicional.
En paralelo a esta cuestión, surge otra discusión. Para la supervisión, control y gestión de información desde centros de control de infraestructuras y entornos industriales se requieren normalmente latencias de entre 2 y 12 segundos. ¿Son Windows y Linux capaces de realizar transacciones en este rango de tiempos aunque no me puedan garantizar que siempre van a tardar lo mismo en ejecutar las mismas tareas? La respuesta es afirmativa. Actualmente Windows tiene la capacidad de realizar transacciones de entre 0.1 ms y 100 ms, y Linux de alrededor de 1ms.
Por tanto, si nuestro sistema es realmente de tiempo real (valga la redundancia), no podemos utiilizar los sistemas operativos habituales y será necesario recurrir a sistemas RTOS diseñados específicamente con este objetivo. Pero para las típicas aplicaciones de supervisión y control de infraestructuas y entornos fabriles, con las latencias antes mencionadas, suele ser más que suficiente cualquiera de estas dos alternativas.
Tipos de hipervisor
- Tipo I (unhosted, bare metal o nativo): Se instala directamente sobre el hardware de la máquina host, sin necesidad de que ésta incorpore un sistema operativo. De esta manera, el sistema operativo guest pasa directamente del hipervisor al hardware físico.
- Tipo II (hosted): Necesita que la máquina host lleve instalado un sistema operativo, de manera que el sistema operativo guest tiene que pasar por el hipervisor y por él antes de llegar al hardware físico.
Servidores tipo Blade
Sistema para telecontrol de vertidos en la Isla de la Cartuja
Para dar respuesta a lo establecido en el Reglamento de la Calidad de las Aguas Litorales, así como en el Real Decreto 334/1994 por el que se regula el procedimiento para la tramitación de las autorizaciones de vertidos, en el año 2007 se elaboró por el Departamento de Control y Servicios Técnicos de EMASESA, un proyecto cuyo resultado debía ser un sistema para supervisión y registro histórico de los parámetros fundamentales de calidad del vertido al río en cuatro puntos de la Isla de la Cartuja, en Sevilla Capital.
En este enlace podéis encontrar el artículo completo.
Wonderware Intelligence 1.5
Actualmente existe un gran número de aplicaciones individuales y aisladas (desarrollos a medida, aplicaciones comerciales, soluciones mixtas) que se ejecutan en diferentes servidores, tienen diferentes fuentes de datos y utilizan diferentes formatos de información, distribuidas geográficamente y con diferentes propietarios.
En estos entornos, es deseable una capa de integración que permita un intercambio de información fiable entre todas estas aplicaciones heterogéneas y la compartición de funciones y procesos entre ellas de una manera completamente interoperable.
A partir de un estilo de integración de BBDD compartida, puede definirse Business Intelligence como el conjunto de herramientas, aplicaciones, tecnologías, soluciones y procesos que permiten a diferentes usuarios acceder a información valiosa para la toma de decisiones proveniente de distintas fuentes de datos.
Partiendo de esta definición surge la adaptación realizada por Wonderware que acuña el concepto Low Latency Data Intelligence (LLDI) y que a su vez se define como el conjunto de herramientas, aplicaciones, tecnologías, soluciones y procesos que permiten a diferentes usuarios acceder a información valiosa para la toma de decisiones proveniente de datos asociados a entornos industriales y/o infraestructuras que son gestionados con sistemas tipo SCADA, BMS, DCS, HMI…y otros datos de carácter transaccional. Puede observarse que uno de los factores diferenciales del enfoque LLDI es que tradicionalmente los proveedores de soluciones BI sólo consolidan datos de BBDD transaccionales, obviando la información que generan los sistemas de información asociados a entornos industriales o infraestructuras.
Las soluciones LLDI se desarrollan partiendo de procesos ETL (Extract, Transform and Load).
El proceso de extracción consiste en comunicar con diferentes fuentes de datos y la capacidad de leer la información contenida en dichas fuentes. Estas fuentes pueden ser BBDD transaccionales tipo SQL y Oracle, BBDD asociadas a entornos industriales (Historian, PI, etc..), servidores OPC o ficheros planos (.txt o .csv).
El proceso de transformación consiste en contextualizar la información bruta recogida de las distintas fuentes de datos.
Por último, el proceso de carga consiste en almacenar toda esta información ya contextualizada en un repositorio centralizado que normalmente recibe el nombre de Datawarehouse. Asociado a este repositorio suelen vincularse otras bases de datos. Una BBDD en la que se recogen los datos de configuración y metadatos y otras BBDD que son pequeñas réplicas del Datawarehouse central que reciben el nombre de Datamart.
Se puede convenir que asociado a estos procesos ETL, existe un proceso de explotación de la información. Es decir, una vez que los datos están contextualizados, almacenados y disponibles en el Datawarehouse, existen herramientas que permiten explotar dicha información. Esta explotación permite realizar minería de datos (Data Mining), visualizar los principales indicadores de gestión (KPI) y definir informes predefinidos.
Es necesario precisar, que más del 80% del esfuerzo que requiere el desarrollo de una solución LLDI se concentra en la realización de los procesos ETL y no tanto en la configuración o parametrización de las herramientas vinculadas a la explotación de la información.
A partir de los conceptos antes nombrados, Wonderware Intelligence 1.5 permite abordar tanto los procesos ETL como los de explotación de la información con soluciones estándares, fácilmente parametrizables y permitiendo un aproximación escalonada.
Para desarrollar los procesos ETL, Wonderware Intelligence 1.5 proporciona tres plantillas de objetos que se integran de forma natural en el entorno de desarrollo de System Platform, el Integrated Development Studio (IDE) e incorpora una BBDD predefinida basada en SQL donde se almacenan todos los datos contextualizados (que recibe el nombre de Intelligence) que cubre el proceso de carga (Load). Estas plantillas de objetos son:
$Data Sources (que permiten los procesos Extract): son interfaces con diferentes fuentes de datos (Historian, SQL Server, Oracle, Access, Text (CSV), OSIsoft PI Server...)
$Dimension (que permite los procesos Transform): las dimensiones son variables que permiten contextualizar las medidas. Ejemplo: turno, equipo, producto…
Es decir la información puede proporcionarse de forma NO CONTEXTUALIZADA. Ejemplo: 10.000 litros de agua desalados (sólo con la medida), o bien puede proporcionarse de forma CONTEXTUALIZADA. Ejemplo: 10.000 litros de agua desalados, el día 28 de febrero, durante el turno de mañana, con el equipo de personas 3, utilizando los filtros de arena 1 y 3 y consumiendo 30.000 Kwh.
Wonderware Intelligence proporciona el entorno de desarrollo que permite integrar información de diferentes fuentes de datos, definir las medidas y contextualizarlas a través de diferentes dimensiones.
Adicionalmente, para realizar los procesos de explotación de la información, Wonderware Intelligence 1.5 incluye herramientas de reporting basadas en la solución Tableu Software. En cualquier caso es preciso matizar que la información contextualizada que está recogida en la base de datos Intelligence puede ser explota con cualquier otra herramienta de explotación de información (tipo Click View, Cognos, Microstrategy...), ya que se trata de una BBDD SQL accesible vía ODBC y OLE DB.
Se puede concluir que las principales funcionalidades de Wonderware Intelligence 1.5 son las siguientes:
- Crea información contextualizada en tiempo real a partir de datos de diferentes fuentes.
- Permite estandarizar y homogenizar procesos de integración de datos.
- Facilita el desarrollo de cuadros de mando sin necesidad de programación.
- Combina información en tiempo real e información transaccional.
- Utiliza un único entorno de desarrollo para gestionar ambos tipos de información.
SOA en entornos industriales (y II)
Volviendo a los entornos industriales, la pregunta que surge es la siguiente: ¿Tiene sentido incluir una capa de integración SOA que de forma estándar permitiera integrar y comunicar todos los dispositivos y sistemas para facilitar la gestión de entornos industriales?
La respuesta es afirmativa. De hecho ya existen varias iniciativas que corroboran la idoneidad de este planteamiento (SIRENA, SODA, SOCRADES, VINNOVA...) de las que hablaremos en futuras entradas.
En esta, resumimos y relacionamos los principales beneficios que se han obtenido al orientar el desarrollo de aplicaciones a servicios o a integrar diferentes sistemas a través de una arquitectura orientada a servicios.
- Se facilita la integración de todos los dispositivos y sistemas ya que han sido desarrollados bajo una arquitectura SOA. En este sentido se puede hablar de una integración horizontal (entre dispositivos y sistemas existentes al mismo nivel, como entre dos PLC o dos SCADA) y una integración vertical (entre dispositivos y sistemas existentes a diferente nivel, como entre un SCADA y un ERP). En caso de que las aplicaciones no hayan sido desarrollados bajo SOA, la práctica común consiste en desarrollar un "envoltorio" basado en Web Services para estas aplicaciones monolíticas que puedan ofrecer sus datos como servicios y ser accesibles por otras aplicaciones.
- Se proporciona una nueva generación de dispositivos y sistemas industriales “Plug&Play” en los que la integración sea una funcionalidad natural asociada a estos y en los que los cambios de configuración, parametrización y mantenimiento se realicen en tiempo real con alta disponibilidad de los sistemas.
- Se reducen los costes de integración entre sistemas transaccionales y sistemas tiempo real.
Por último, en esta imagen (extraida del artículo "Towards an Architecture for Service-Oriented Process Monitoring and Control") se puede observar cómo la incorporación de un capa de servicios sobre todos los dispositivos y aplicaciones asociados al entorno industrial permite que todos ellos puedan integrarse fácilmente.
SOA en entornos industriales (I)
La existencia de islas de información y del desaprovechamiento de los datos generados por todos estos sistemas para la toma de decisiones es una realidad asociada a la gestión industrial.
En el ámbito de los sistemas transaccionales (ERP, CRM, SCM...), también existía este problema, pero la inclusión de arquitecturas SOA ha permitido resolver buena parte de las barreras que se encontraban para realizar proyectos de integración de aplicaciones.
El concepto de SOA ha sido tratado previamente en anteriores entradas.
http://redindustria.blogspot.com/2008/09/qu-es-soa-i.html
http://redindustria.blogspot.com/2008/09/qu-es-soa-ii.html
http://redindustria.blogspot.com/2008/09/qu-es-soa-y-iii.html
De todas ellas podemos extraer las siguientes ideas principales:
- Service Oriented Architecture (SOA), es una nueva filosofía de diseño de aplicaciones que propone una alternativa a las tradicionales aplicaciones de negocio monolíticas basadas en objetos.
- SOA propone que los procesos de negocio no se traduzcan en aplicaciones clásicas (desarrolladas con códigos difícilmente integrables y reutilizables), sino que éstos llamen a los servicios que necesitan para obtener resultados.
- Los servicios deben estar débilmente acoplados y ser altamente interoperables, por lo que son muy importantes los protocolos que definen formalmente estos servicios y que permiten la comunicación con ellos y entre ellos.
- Los estándares que han estado relacionados con SOA desde los comienzos han sido XML, SOAP y WSDL. Es decir, los que proporcionan la base para los Web Services. La definición más extendida de un Web Service es "función pública, encapsulada y débilmente acoplada ofrecida a través de protocolos estándar".
- Por tanto, los Web Services son componentes accesibles desde diferentes aplicaciones, y que al estar basados en protocolos estándares, facilitan mucho la reutilización.
