Integración de Rockwell FactoryTalk Optix
  • 24 Jun 2024
  • 6 Minutos para leer
  • Colaboradores

Integración de Rockwell FactoryTalk Optix


Resumen del artículo

Propósito

Esta guía explica paso a paso cómo integrar Tulip con el software FactoryTalk Optix HMI Visualization de Rockwell Automation.

Las aplicaciones Tulip pueden integrarse completamente en las HMI FactoryTalk Optix, lo que significa que una aplicación Tulip puede ejecutarse directamente en FactoryTalk Optix y es posible la comunicación bidireccional entre las plataformas de software. Esto permite que el operador tenga acceso a Tulip directamente en su HMI, mientras que permite el acceso de Tulip a todos los datos relevantes de la máquina y HMI.

Caso práctico

Tenemos una demostración de esta integración en nuestro Tulip Experience Center (TEC) para un caso de uso de Bioreactor eBR. En este ejemplo, los datos en tiempo real de la máquina, las alarmas abiertas y la pantalla Optix actual se envían desde el HMI FTOptix a Tulip mediante OPC UA. Todo esto aparece en Tulip como una máquina Tulip, que luego se puede utilizar en aplicaciones, en automatizaciones, o con disparadores de máquina para proporcionar lógica basada en esos datos. Los conectores Tulip se utilizan para enviar valores de consigna a la máquina, así como para controlar qué pantalla se muestra en el Optix HMI.

Cómo ejecutar

Ejecutar Tulip en FactoryTalk Optix

Las aplicaciones Tulip pueden ejecutarse directamente en FactoryTalk Optix utilizando la funcionalidad iframe. Optix permite al usuario incrustar un navegador web directamente en su HMI, que luego se utiliza para ejecutar Tulip.

  1. Añada un navegador Web a su HMI Optix haciendo clic con el botón derecho del ratón en UI > New > Contents > Web Browser.image.png
  2. Seleccione el Navegador Web y visualice la pestaña Propiedades en la parte derecha de la pantalla.

image.png

  1. Configure la URL como https://<su-instancia>.tulip.co/player?appId=<su-app-id>.

El ID de la aplicación se puede encontrar abriendo la aplicación deseada en tu instancia de Tulip y viendo la URL que aparece en tu navegador. La URL seguirá el formato https://<su-instancia>.tulip.co/w/<su-app-id>/process/....

Si no desea iniciar una aplicación específica, puede configurar la URL para que sea https://<su-instancia>.tulip.co/player.

Enviar datos de Optix a Tulip

Existen varios protocolos que pueden utilizarse para enviar datos entre Tulip y Optix.

Los datos se pueden enviar a Tulip desde Optix utilizando OPC UA. Optix aloja un servidor OPC UA, mientras que Tulip puede utilizar su funcionalidad de cliente OPC-UA para recibir esos datos en una máquina Tulip. Si usted no está familiarizado con la forma de crear y editar una máquina Tulip, por favor refiérase a ....

  1. Haga clic con el botón derecho del ratón en la carpeta OPC-UA de Optix y seleccione Nuevo > Servidor OPC UA.image.png
  2. Selecciona el servidor OPC UA y visualiza la pestaña Propiedades en la parte derecha de la pantalla.
  3. Introduzca la dirección URL del punto final como opc.tcp://localhost:59100 y, a continuación, configure los nodos, usuarios y seguridad que desee. Consulte el Centro de ayuda de FTOptix si necesita ayuda con la configuración.

image.png

Método 1: Utilizar un Host Conector de Dispositivo Edge

  1. Configure su dispositivo Tulip Edge y conéctelo a la misma red que el HMI.
  2. Navegue a https://<su-instancia>.tulip.co/machine_data_sources. Esta página también se puede encontrar navegando a Shop Floor > Machines y seleccionando Data Sources en el panel lateral izquierdo.
  3. Seleccione el botón 'Crear fuente de datos de máquina'. Rellene lo siguiente: Nombre: <nombre deseado de la fuente de datos> Se ejecuta en: <su dispositivo Edge> Tipo: Agente OPC UA URL: <dirección IP de la HMI>
  4. Rellene las opciones de Seguridad para que coincidan con las del Servidor OPC UA en Optix.
  5. Seleccione "Test" (Probar) para verificar la conexión y, a continuación, "Save" (Guardar).
  6. Consulte Cómo añadir y configurar máquinas para conectar el origen de datos Optix a una máquina en Tulip.

Método 2: Uso de un host de conector local (OPCH)

  1. Configure un OPCH en la HMI. Consulte Descripción general de hosts de conectores locales para obtener instrucciones sobre cómo configurar un host de conectores locales (OPCH).
  2. Vaya a https://<su-instancia>.tulip.co/machine_data_sources. Esta página también se puede encontrar navegando a Shop Floor > Machines y seleccionando Data Sources en el panel lateral izquierdo.
  3. Seleccione el botón 'Crear fuente de datos de máquina'. Rellene lo siguiente: Nombre: <nombre deseado del origen de datos> Se ejecuta en: <su OPCH> Tipo: Agente OPC UA URL: <dirección IP de la HMI>
  4. Rellene las opciones de Seguridad para que coincidan con las del Servidor OPC UA en Optix.
  5. Seleccione "Test" (Probar) para verificar la conexión y, a continuación, "Save" (Guardar).
  6. Consulte Cómo añadir y configurar máquinas para conectar el origen de datos Optix a una máquina en Tulip.

Enviar datos de Tulip a Optix

  1. Haga clic con el botón derecho del ratón en la carpeta NetLogic y seleccione Nuevo > Runtime NetLogic. Utilice la siguiente secuencia de comandos para alojar el servidor HTTP REST. @(Embed)(https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/RESTServer(1).cs){height="320" width="640"}
  2. Modifique las líneas 869-1000 para su caso de uso. Actualmente, está configurado para recibir llamadas PUT en las rutas /targetValues y /screen. Los valores recibidos se almacenan en ref_<variable-name>, por ejemplo ref_TargetPressure.

El siguiente código se utiliza para recibir las llamadas PUT y pasarlas a los alias en Optix.

Líneas 924 - 955:``` case "PUT": switch (e.Path) { case "screen": // http://localhost:8081/screen byte[] payloadraw = (byte[])e.Data; string payload = System.Text.Encoding.UTF8.GetString(payloadraw, 0, payloadraw.Length); string screen = JObject.Parse(payload)["screen"].ToString();

                       ((IUAVariable)LogicObject.GetAlias("refScreenToShow")).Value = screen; res = 1; break; case "targetValues": // http://localhost:8081/targetValues payloadraw = (byte[])e.Data; payload = System.Text.Encoding.UTF8.GetString(payloadraw, 0, payloadraw.Length); Log.Warning(payload); int targetPressure = int.Parse(JObject.Parse(payload)["targetPressure"].ToString()); int targetTemperature = int.Parse(JObject.Parse(payload)["targetTemperature"].ToString()); float targetpH = float.Parse(JObject.Parse(payload)["targetpH"].ToString()); int targetDO = int.Parse(JObject.Parse(payload)["targetDO"].ToString()); ((IUAVariable)LogicObject.GetAlias("ref_TargetPressure")).Value = targetPressure; ((IUAVariable)LogicObject.GetAlias("ref_TargetTemperature")).Value = targetTemperature; ((IUAVariable)LogicObject.GetAlias("ref_TargetpH")).Value = targetpH; ((IUAVariable)LogicObject.GetAlias("ref_TargetDO")).Value = targetDO; res = 1; break; por defecto: break; } break;


1. En Optix, seleccione el servidor REST Netlogic y, a continuación, visualice el panel Propiedades situado en la parte derecha. Los alias asignados en el código para el Servidor REST pueden asignarse a variables en Optix. Por ejemplo, en la imagen siguiente `ref_TargetTemperature` se asigna a la variable `cfg_TargetTemperature` de Optix.![image.png](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/image%28639%29.png){height="" width=""}
2. En su instancia de Tulip, vaya a Aplicaciones > Conectores.
3. Selecciona el botón 'Crear Conector'.
4. Cree un conector personalizado de tipo HTTP.
5. Los detalles de la conexión deben coincidir con los siguientes: **Ejecutándose en:** `<su dispositivo de borde u OPCH>` **Host:** `<dirección IP de la HMI>` **Puerto:** `<puerto asignado al servidor REST en Optix>` - *En la imagen anterior estamos utilizando el puerto 8081*.
6. Seleccione 'Test' para verificar la conexión y luego 'Save'.
7. Cree una función y configure lo siguiente: **Tipo:** PUT **Ruta:** Esto debe coincidir con lo que se establece en el código como su ruta. Siguiendo el ejemplo anterior, es `/targetValues` o `/screen`.
8. Añada todos los parámetros relevantes al cuerpo de la petición:![image.png](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/image%28640%29.png){height="" width=""}


Si necesitas ayuda para crear funciones de conector en Tulip, consulta [Cómo configurar un conector](/r230/docs/how-to-configure-a-connector).


## Resumen


La comunicación bidireccional ha sido configurada entre su aplicación Tulip y Optix HMI, permitiéndole enviar datos libremente entre ellos. En nuestra demostración de esta integración, utilizamos OPC UA para enviar los datos de la máquina en vivo, cualquier alarma abierta, y la pantalla actual de Optix a Tulip. Utilizamos el servidor REST para enviar los valores objetivo de la máquina junto con la pantalla a la que queremos cambiar la aplicación Optix. Esto nos permite supervisar y controlar la máquina, así como la propia aplicación Optix utilizando disparadores en nuestra aplicación Tulip.


Si usted está interesado en el control de la pantalla Optix de Tulip, consulte el siguiente código NetLogic Runtime. Debe ser colocado directamente en el MainWindow (tipo) y tendrá que ser alterado para adaptarse a los nombres de su Panel Loader y pantallas. @(Embed)(https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/MainWindowRuntimeLogic.cs){height="320" width="640"}


¿Te ha sido útil este artículo?