El camino más corto hacia el estándar Vision

El camino más corto hacia el estándar Vision

Portabilidad sencilla de una aplicación del inventario de IDS Software Suite

Con IDS peak, también las cámaras industriales IDS USB3 Vision y GigE Vision dispondrán de un soporte de software completo. De ese modo los clientes de IDS podrán beneficiarse de un manejo sencillo y de un soporte de fabricante ilimitado en sus nuevos proyectos con cámaras del universo Vision. Por otro lado, los clientes existentes necesitan o desean modernizar sus aplicaciones IDS Software Suite de hace años con nuevas cámaras provistas del estándar Vision, pueden ver fácilmente superadas sus previsiones en materia de tiempo y costes asociados al largo proceso de aprendizaje y de puesta en marcha de un software nuevo. Para estos clientes IDS ha creado un paquete auxiliar llamado IDS sherpa. Con él, una aplicación del inventario de IDS Software Suite puede compatibilizarse con los estándares Vision en muy pocos pasos y volver a ser productiva rápidamente.

El nuevo Software Development Kit IDS peak está basado en los estándares Vision de la EMVA (GenICam) y de la AIA (GigE Vision, USB3 Vision). Se trata de un nuevo software avanzado para cámaras cuyo amplio abanico de ventajas va más allá de la subestructura. También la API de programación se ha renovado por completo y se ha adaptado a las necesidades actuales. En resumidas cuentas es una nueva solución que funciona de forma distinta a como lo hace IDS Software Suite.

La gran inversión en tiempo y en coste que supone reconvertir por completo una aplicación existente con una interfaz de software totalmente distinta para las nuevas cámaras sólo vale la pena si en el futuro esta aplicación se va a utilizar de forma productiva y se va a ampliar para integrar nuevas funciones u otras cámaras, por ejemplo. Pero con ayuda de IDS sherpa, la conversión a IDS peak es rápida y sencilla. En muy pocos pasos se puede hacer que una aplicación de IDS Software Suite trabaje con cámaras industriales conformes con USB3 Vision y GigE Vision sin necesidad de cambiar por completo la interfaz de la cámara. Al mismo tiempo, los desarrolladores de software responsables aprenden a implementar nuevos proyectos con el nuevo Software Development Kit IDS peak conforme con GenICam.

¿Qué es IDS sherpa?

IDS sherpa es un paquete de "primeros auxilios" destinado a usuarios de IDS Software Suite para compatibilizar rápidamente aplicaciones de cámara existentes con cámaras IDS Vision sin necesidad de conocer IDS peak o GenICam. Por consiguiente, el componente clave de este paquete auxiliar es una clase C++ que se puede integrar en aplicaciones existentes del IDS Software Suite y que, por así decirlo, ejerce de adaptador entre las llamadas a funciones de IDS Software Suite e IDS peak. Con una sintaxis API muy similar a la del IDS Software Suite, el adaptador facilita la integración de IDS peak en aplicaciones existentes. Con ayuda de una tabla de traducción se sustituyen funcionalidades conocidas de IDS Software Suite por bloques de funciones del adaptador.  Además, junto con las instrucciones paso a paso, se incluyen ejemplos de código que facilitan el seguimiento de la reconversión y al mismo tiempo enseñan al usuario cómo funciona IDS peak.

Contenido del paquete

  • Instrucciones paso a paso"Integración de IDS sherpa"
  • Tabla de traducción "IDS Software Suite ↔ IDS sherpa"
  • Clase de adaptador C++
  • Los ejemplos de código fuente muestran el uso de la clase de adaptador en distintos casos (captura sencilla de imágenes, secuencias de memorias de imágenes, funcionamiento mixto multicámara IDS Software Suite & IDS peak)

¿Qué no es IDS sherpa?

  • No es un wrapper
    IDS sherpa no es un wrapper completo del IDS Software Suite para el nuevo IDS peak basado en el nuevo GenICam ni para el propio GenICam.
  • No es una nueva interfaz
    Tampoco se crea una nueva interfaz de software con la clase de adaptador, que se va a seguir manteniendo.
  • No es una directriz estricta
    La implementación en la clase de adaptador no obedece a ninguna regla única. Más bien el código fuente muestra propuestas y posibilidades.
  • ¡No es OBLIGATORIO!
    Nadie está obligado a utilizar IDS sherpa y, quien lo utiliza, está autorizado a hacer cambios en el código fuente
  • No es el destino final, sino el camino para llegar a él
    IDS sherpa solo es el pionero. Utilizar cámaras Vision con IDS peak es el objetivo. IDS sherpa muestra el método de trabajo y las posibilidades de IDS peak e instruye al usuario en el manejo de cámaras industriales conformes con USB3 Vision y GigE Vision.

Con el desarrollo de IDS peak, IDS pone a disposición de los usuarios una nueva interfaz de programación "It's so easy!" moderna y fácil de entender, además de flexible, independiente del hardware y totalmente conforme con GenICam. En comparación con el propio GenICam, IDS vuelve a poner el foco en un manejo sencillo y en una experiencia de programación intuitiva.

Las diferencias de concepto y en la forma de trabajar de IDS Software Suite y de IDS peak hace imposible una cobertura total de las funcionalidades de las dos interfaces, algo que tampoco será posible en el futuro. Muchas ventajas de las interfaces originales se pierden a través de una traducción directa de las funcionalidades. El abanico de funciones tampoco se puede mantener idéntico por medio de futuras ampliaciones del IDS peak SDK.

NO ES una implementación de referencia de IDS peak
¡Atención! La recuperación de funcionalidad del IDS Software Suite por medio de la clase de adaptador IDS sherpa no debe entenderse nunca como una implementación de referencia para IDS peak. IDS peak sigue otro concepto funcional derivado de la base GenICam, de modo que la operación y el acceso a muchas funcionalidades son distintos. A nivel de aplicación hay espacio suficiente para intercambiar una interfaz de forma óptima. En cambio el nivel funcional es muy complicado y solo se puede restaurar con mucho esfuerzo El único sentido de compatibilidad a este nivel atómico es la comodidad, que es similar a la de un "wrapper". Sin embargo, gracias al código abierto del IDS sherpa, los programadores pueden decidir si aprovechan la comodidad de esta compatibilidad o si la sustituyen por una implementación de referencia del IDS peak y hacerla así a prueba de futuro.

¿A quién ayuda IDS sherpa?

El IDS sherpa está pensado específicamente para los clientes de IDS que ya utilizan una aplicación de cámara con el IDS Software Suite y que quieren o necesitan convertirla rápidamente para usarla con cámaras provistas del estándar Vision. Utilizando la clase de adaptador incluida, los desarrolladores de los clientes uEye existentes ahorran el tiempo asociado a una completa familiarización e integración de IDS peak o GenICam. Los siguientes dos casos de aplicación ilustran el propósito del IDS sherpa:

Caso de aplicación 1: Una aplicación existente, implementada con IDS Software Suite, debe integrar una nueva cámara IDS conforme con el estándar Vision.
Un integrador de sistemas es responsable de un sistema dotado de cámaras uEye y del código del programa basado en IDS Software Suite. El sistema necesita actualizarse y debe equiparse con cámaras IDS de una resolución más alta. Sin embargo, los modelos de cámara necesarios solo están disponibles con el firmware IDS Vision. Esto significa que ya utilizan el nuevo estándar unificado y orientado al futuro USB Vision o GigE Vision, por lo que no son compatibles con la aplicación existente. El propietario debe modernizar el sistema en el menor tiempo posible y tenerlo listo para usar cuanto antes. Debe afrontar la tarea de reconvertir la aplicación para una cámara totalmente nueva e incompatible con el software minimizando el coste y el tiempo invertido.

Con IDS sherpa tiene a su disposición una clase de adaptador operativa que sus desarrolladores pueden integrar con poco esfuerzo. La aplicación funcionará de forma casi equivalente con cámaras IDS Vision. Además, los desarrolladores implicados aprenden a utilizar Vision e IDS peak para poder desarrollar nuevos proyectos con ellos. Con las cámaras IDS Vision, su aplicación conserva una calidad constante de las imágenes de las cámaras.

Caso de aplicación 2: En una aplicación IDS Software Suite existente con cámaras UI se tienen que utilizar en paralelo cámaras IDS Vision.
Un sistema existente programado con IDS Software Suite debe trabajar en paralelo con cámaras nuevas que solo están disponibles con el firmware Vision. De nuevo el propietario debe modernizar el sistema en el menor tiempo posible y tenerlo listo para usar cuanto antes minimizando el coste y el tiempo invertido. Debe hacer frente a la decisión de si actualizar los procesos de su software con un software de cámara distinto además del IDS Software Suite, y de cómo hacerlo, o si sustituir todas las cámaras existentes y optar por un único software de cámara nuevo.

El ejemplo de código fuente incluido "IdsSherpaMulti" muestra cómo implementar un uso combinado con la clase de adaptador IDS sherpa. Con IDS sherpa este requisito también se puede cumplir de forma rápida y ahorrando costes. Tras la implantación, las cámaras existentes se controlan con el adaptador a través del IDS Software Suite, mientras que las cámaras Vision trabajan ya con IDS peak. Sin embargo, tanto las cámaras existentes como las nuevas cámaras Vision se operan a través de IDS sherpa con la misma base de código, por lo que siguen ofreciendo una calidad idéntica en el sistema existente.

¿Cómo ayuda IDS sherpa?

IDS sherpa minimiza el esfuerzo que requiere reconvertir una aplicación existente a una solución con cámaras IDS Vision. La clase de adaptador C++ suministrada "IdsSherpa" traduce llamadas a función API del IDS Software Suite de forma ejemplar a las funciones correspondientes de IDS peak. Integrando la clase en una aplicación IDS Software Suite, un desarrollador puede empezar a utilizar las implementaciones más importantes de las funcionalidades de cámara con el software de cámara IDS peak basado en Vision. Esto ahorra una gran cantidad de tiempo y el uso de la aplicación puede reanudarse rápidamente con cámaras IDS Vision realizando solo unas pocas modificaciones más. Además, los desarrolladores implicados ya empiezan a aprender a utilizar Vision e IDS peak para poder desarrollar nuevos proyectos con ellos.

Modernizar aplicaciones existentes con IDS sherpa
Modernizar aplicaciones existentes con IDS sherpa

El punto de partida de esta portabilidad de ejemplo paso a paso es un PC de desarrollo Windows (Windows 7/8/10) con el código fuente de su aplicación existente MFC y el IDS Software Suite instalado. En el consejo técnico utilizamos como muestra el código fuente uEye "IdsSimpleLive", que se encuentra en el directorio de instalación del IDS Software Suite.

Requisitos para la portabilidad

Para llevar a cabo la portabilidad de ejemplo de la aplicación existente necesita los componentes siguientes:

  • Cámara existente de la aplicación IDS Software Suite
  • Cámara IDS Vision con el paquete de prestaciones adecuado
  • IDS peak SDK (a partir de la v1.1)
  • Paquete de software IDS sherpa
  • Entorno de desarrollo con un compilador para C++ versión 14 (p. ej. Visual Studio 2015 o superior)

IDS peak es nuestro moderno Software Development Kit para todas las cámaras industriales conforme con los estándares USB3 Vision y GigE Vision. Las bibliotecas de desarrollo de IDS peak se basan en clases y objetos modernos en C++, por lo que también requieren un compilador moderno que conozca y soporte las funcionalidades utilizadas.

Paso 2: Crear una aplicación existente con un nuevo compilador

Para asegurarse de que existen todas las fuentes y bibliotecas y de que funcionan con el nuevo IDE, refacture en primer lugar con él la aplicación heredada no modificada. Lleve a cabo todos los cambios necesarios para crear la aplicación con el IDS Software Suite y para ejecutarla con la cámara existente.

Paso 3: Instalar IDS peak

Instale en su PC de desarrollo la versión actual del IDS peak SDK descargada de la página web de IDS. Una vez finalizada la configuración de todos los elementos, haga una prueba de su nueva cámara IDS Vision. Para ello inicie el IDS Vision Cockpit suministrado y abra la cámara conectada. Si la cámara muestra una imagen en directo, puede proseguir con la portabilidad de su aplicación.

Paso 4: (opcional) Crear y probar aplicaciones de muestra de IDS sherpa

En este punto puede utilizar las aplicaciones de muestra suministradas para probar el IDS sherpa, el IDS peak, el nuevo IDE y la existencia de todos los archivos de código fuente necesarios. Ya se han realizado todos los cambios necesarios. Abra el proyecto de muestra Visual Studio correspondiente y cree la aplicación. Los ejemplos muestran cómo se implementan distintas funcionalidades básicas con IDS sherpa e IDS peak. Si puede crear y ejecutar correctamente los ejemplos queda garantizado que se cumplen todos los requisitos y que IDS sherpa funciona con IDS peak en su PC. Ahora puede proseguir con la portabilidad de su aplicación.

  • IDS sherpa - Freeze
    Adquirir imágenes sueltas de una cámara y renderizarlas en una ventana de diálogo.
  • IDS sherpa - Live
    Visualizar una imagen en directo continua de una cámara en una ventana de diálogo utilizando mensajes de ventana.
  • IDS sherpa - Multi
    Uso en paralelo de IDS Software Suite e IDS peak en una aplicación con IDS sherpa como clase básica de cámara.
  • IDS sherpa - Sequence
    Utilizar secuencias de memorias de imágenes con IDS peak o IDS Software Suite.

Consejo
En todos los programas de ejemplo de código fuente se puede utilizar la instrucción de preprocesador "USE_SHERPA" para pasar del código heredado con el IDS Software Suite a la implementación del IDS sherpa. Utilizando el adaptador solo el handle de la cámara decide si las cámaras se controlan con el IDS peak (IdsSherpa_peak.cpp) o con el IDS Software Suite (IdsSherpa_ueye.cpp).

Consejo
Si ha conectado varias cámaras utilice el número de serie de las cámaras de prueba para abrirlas. Para ello cambie la llamada "InitCamera" transfiriendo los números de serie como cadena de parámetros. Ej. "ret = m_hCam->InitCamera("4002890498");"

Paso 5: Integrar IDS sherpa en la aplicación existente

Ahora puede hacerse efectiva la portabilidad de su aplicación con ayuda de IDS sherpa. Para ello solo es necesario hacer algunos cambios en el código fuente de su aplicación:

  • Integrar las bibliotecas y las cabeceras del IDS peak en las propiedades del proyecto y establecer las banderas del compilador
  • Importar la clase de adaptador de IDS sherpa
  • Sustituir las llamadas a función de IDS Software Suite por las funciones de IDS sherpa

A partir de ahora su aplicación debería volver a compilar. La clase de adaptador IDS sherpa convierte completamente la conexión de la cámara con el IDS Software Suite al estándar Vision con IDS peak. Esto significa que a partir de ahora puede utilizar en su aplicación cualquier cámara IDS conforme con GenICam. Si desea ampliar su aplicación con nuevas prestaciones puede hacerlo a partir de ahora directamente con la interfaz de programación IDS peak.

Recomendación

IDS sherpa es muy útil para reanudar rápidamente el uso de aplicaciones existentes IDS Software Suite con cámaras Vision y para formar a los desarrolladores en el entorno IDS peak. Pero como ya se ha mencionado en este consejo técnico, IDS sherpa no es un producto de software autónomo ni una nueva interfaz que pueda utilizar en nuevos proyectos de cámaras. Como usuario consciente de IDS Software Suite, siguiendo este consejo técnico ha podido conocer el nuevo IDS peak SDK basado en GenICam. Con su interfaz de programación fácil de entender, en línea con nuestro lema "It's so easy!", facilita mucho el manejo de GenICam. Utilice IDS peak como interfaz para todas las aplicaciones de cámara nuevas y benefíciese también en el futuro de una experiencia de programación intuitiva de este moderno Software Development Kit para todas las cámaras industriales IDS USB3 Vision y GigE Vision.