FAQ000149 - Warnings de de gráifcos que se usan en ambos ViewApp de InTouch y OMI

FAQ000149 - Warnings de de gráifcos que se usan en ambos ViewApp de InTouch y OMI

CONTEXTO

En migraciones de aplicaciones desde InTouch HMI hacia InTouch OMI es habitual reutilizar los mismos gráficos de sensores y actuadores ya existentes en la librería de objetos. Sin embargo, durante la ejecución en OMI pueden aparecer warnings en el log del SMC, normalmente relacionados con funciones de scripting no compatibles entre ambos entornos.

El origen está en que InTouch HMI y InTouch OMI manejan la visualización de forma diferente:
  1. En InTouch HMI, el modelo clásico utiliza funciones como ShowSymbol() o ventanas popup asociadas al símbolo.
  2. En OMI, la navegación y visualización de faceplates se basa en el concepto de contenido y regiones, siendo la función recomendada ShowContent() para mostrar gráficos dentro del layout.
Cuando se usan gráficos idénticos en ambos entornos, los scripts diseñados para HMI intentan ejecutarse también en OMI, lo que genera advertencias en el log, aunque no afecte a la funcionalidad.
La forma de resolverlo consiste en introducir lógica condicional en los scripts, de modo que cada entorno ejecute solo el bloque de código que le corresponde:
  1. En OMI: usar ShowContent() para navegar al faceplate o contenido definido.
  2. En InTouch HMI: mantener la lógica de ShowSymbol() o incluso no realizar ninguna acción adicional si el símbolo ya abre la ventana por configuración.

OPCIONES

Existen, principalmente, dos estrategias principales para implementar esta separación:
  1. Detección directa del entorno: verificar en el script la existencia de objetos propios de OMI, como MyViewApp. Estos no están disponibles en HMI, por lo que permiten discriminar el entorno en tiempo de ejecución y ejecutar el bloque correcto.
  2. Mecanismo indirecto: definir un tag indicador accesible desde ambos entornos que informe si la aplicación está en HMI o en OMI. El script evalúa el tag y decide qué lógica aplicar, evitando así que el runtime de HMI intente resolver referencias a objetos exclusivos de OMI.
Como alternativa más estricta, puede optarse por mantener gráficos duplicados, uno optimizado para HMI y otro para OMI, lo que garantiza independencia total y evita conflictos, aunque incrementa el mantenimiento.


CONCLUSIÓN

Los warnings al reutilizar gráficos en HMI y OMI provienen de la ejecución de código no válido en el entorno equivocado. La solución pasa por separar la lógica mediante detección de entorno o mediante duplicación de gráficos, y en el caso de OMI, migrar las llamadas de visualización hacia ShowContent() en lugar de funciones heredadas de HMI.
    • Related Articles

    • TN291IT-Graphic not Available

      TN291IT-Graphic not Available Es posible que en alguna situación nos encontremos que cuando la aplicación se encuentra en runtime, los gráficos de la aplicación InTouch aparecen con el mensaje de error "Graphic not Available". Este error puede ser ...
    • FAQ000147 - Cambiar título en InTouch AccessAnywhere

      FAQ000143 - Cambiar título en InTouch Access Anywhere Si estás tratando de averiguar como cambiar el título del acceso a InTouch Access Anywhere, procedemos a mostrar como se puede modificar este parámetro para poder customizar la pantalla de acceso ...
    • TN293OMI - Aplicación OMI no deploya en TS (icono naranja)

      PROBLEMA En ocasiones se pueden hallar problemas al intentar hacer deploy de una OMI App contra un Terminal Server remoto. Uno de los más comunes es el famoso "icono naranja", donde podemos observar que la OMI App no termina de obtener su estado de ...
    • FAQ000071 - Cantidad de Local Tags y Remote Tags se pueden utilizar en Intouch según licencia

      Cualquier licencia Intouch RT de Runtime permite la misma cantidad de Local tags como de Remote tags. Por lo tanto, una licencia de 1.000 tags permitirá 1.000 Local tags y 1.000 Remote tags. Por ejemplo; En la siguiente imagen, al realizar el "Update ...
    • TN283IT - Solucionar problemas de gráficos por corrupción de ficheros caché

      Una posible causa de problemas al visualizar los gráficos en Runtime podría ser debido a la corrupción del fichero PBRefCache.BIN. SÍNTOMAS A pesar de que se representen buenos valores gráficos en el Object Viewer, la corrupción del fichero ...