Monday, 5 October 2009

Automation Object Library para Vijeo Citect con Delphi parte II

Continuando con la primera parte de éste artículo, voy a seguir con la explicación dada en esa entrega y ver como va evolucionando la integración de la idea comentada en ese artículo sobre el nuevo framework VLO. Ésta parte es muy interesante y llevo trabajando en ésto casi todo el fin de semana, incluso ahora estoy dedicando un rato en crear unos vídeos para mostrar lo interesante de la aplicación, pero aún se me encallan un poquito.

En éste artículo voy a comentar los siguientes pasos que ha realizado mi aplicación "Thundax Box manager" para implementar el nuevo framework VLO (Visually Linked Objects) para poder escanear una pantalla del Scada (Vijeo Citect 7.0) y generar su símil en la aplicación Thundax Box Manager y así como dije en su día, crear un mapa mental de lo que realmente hay en la aplicación. Ésto nos servirá más adelante para hacer cosas mucho más potentes que ya os iré explicando.

En definitiva, la primera propuesta era encontrar la manera de obtener todos los objetos y sus propiedades utilizando la librería de automatización que lleva el Vijeo Citect que además es un TLB (type library Borland), por lo tanto si tengo una pantalla típica hecha con Vijeo Citect:

Puedo ver las genies "engine" y "valve" y el símbolo "tank". Pues bien, he creado un pequeño algoritmo que se encarga de escanear éstos objetos y devolverme sus propiedades (nombre, librería, tags, posición, etc).

El resultado de ejecutar éste algoritmo es lo siguiente:

Se muestra en éste formulario la información referente a cada genie, más la información de sus propiedades. Si consultamos en el Scada el punto de animación 35, podemos ver que es el motor y que las propiedades capturadas coinciden con las de la pantalla:


Aquí podréis descargar la aplicación utilizada para el escaneado de propiedades. Podéis comprobar vuestras aplicaciones y ver si devuelve bien o no los parámetros:
Lo más interesante ahora, es que puedo perfeccionar éste algoritmo y utilizar mi framework VLO para representar la información de la siguiente manera:

Y ahora que tengo los mismos objetos que en el Scada, puedo hacer lo siguiente:

¿Veis por dónde van los tiros, no?. Ahora puedo dar una cierta inteligencia a éstos objetos y empezar a generar mucha más información porqué de empezar siendo una imagen (elementos posicionados en un diagrama para simular algo), acaba siendo un diagrama en una plataforma que me permite crear un mapa mental de lo que existe.

¿Y ahora que?. Pues a seguir perfeccionadolo. Al final hay que conseguir poder dibujar ciertos procesos dentro de mi framework y luego empezar a generar diversa información más sutil, como rutas de transporte, enclavamientos entre equipos, etc, etc, etc. Todo ésto con la ayuda de Delphi, una buena base de OO y un buen diseño de patrones.

En mi opinión ésto es algo que creo yo que tendrá tirada. Aún no he visto nada de ésto en el mercado (que yo conozca), ya que no es como un control distribuido, sino que es algo más personalizable. Poco a poco iré implementando más funcionalidades hasta poder disponer de algo un poco global y que no cueste mucho su implementación y que sea muy escalable.




0 comments:

Post a Comment