Ir al contenido principal

Configurar FlexEdge: Red Lion Crimson 3.2 a la nube por MQTT

Publica los tags de un Red Lion FlexEdge DA50A o DA70A en Ubidots con el conector Ubidots MQTT integrado en Crimson 3.2, por TLS en el puerto 8883, en 4 pasos.

Escrito por Sergio M

El Red Lion FlexEdge (DA50A y DA70A) funciona con Crimson 3.2, que incluye un conector Ubidots MQTT integrado. Activa el conector, ingresa industrial.api.ubidots.com, un nombre de dispositivo y tu token de Ubidots, configura el transporte en TLS y agrega tags a un tag set. Cada tag llega entonces a Ubidots como una variable de un mismo dispositivo, actualizada con la frecuencia de actualización del tag set.

Esta guía crea una pequeña base de datos de prueba en un FlexEdge DA70A y envía tres tags a Ubidots. Los mismos ajustes del conector sirven en cualquier dispositivo con Crimson 3.2: los HMI Graphite y CR1000/CR3000 y los DA10D/DA30D.

El dispositivo flexedge en Ubidots con cuatro variables de Crimson: tag1, tag2, tag3 y connected

Qué hace el conector Ubidots MQTT

El conector Ubidots MQTT es uno de los conectores a la nube de Crimson 3.2, junto con los conectores Generic, Amazon, Azure, Google y Sparkplug MQTT. El conector publica los tags de sus tag sets en un dispositivo de Ubidots por MQTT. Con el primer mensaje, Ubidots crea el dispositivo y una variable por tag, más una variable connected que vale 1 mientras el dispositivo está en línea. El conector solo envía datos numéricos: envía los tags de tipo flag como 1 o 0, porque los tags de texto no se transmiten.

Requisitos

  • Un Red Lion FlexEdge DA50A o DA70A con software Group 2 o superior. Group 2 habilita los conectores a la nube; esta guía usa Group 3 porque en el paso 4 se revisa la conexión en el servidor web.

  • Crimson 3.2, build 3.2.0014.0 (octubre de 2020) o posterior. El conector de Ubidots llegó con ese build.

  • Una red que permita al FlexEdge llegar a industrial.api.ubidots.com por el puerto 8883 (TLS) o 1883, con gateway predeterminado y servidores DNS.

¿Dónde descargo Crimson 3.2 y su manual?

HMS Networks publica ahora el software de Red Lion. Descarga Crimson 3.2 desde la página de descarga de Crimson 3.2 de HMS; la descarga es gratuita, y HMS pide primero tu nombre, tu empresa y tu correo electrónico. El manual Crimson 3.2 Software Guide (LP1153) explica el conector Ubidots MQTT en el capítulo 24, "Using Connectors", en las páginas 297 a 299.

¿Qué dispositivos Red Lion soportan el conector de Ubidots?

Cualquier dispositivo que se programe con Crimson 3.2 puede usar el conector Ubidots MQTT, siempre que su grupo de software sea 2 o superior. Solo el FlexEdge permite elegir su grupo; los demás dispositivos tienen un grupo fijo, que aparece en el Crimson 3.2 Unified Release FAQ de HMS. El DA10D usa Group 2, así que no tiene servidor web: revisa su conexión en Ubidots en lugar de Remote View.

Dispositivo

Grupo de software

Conector de Ubidots

Servidor web

FlexEdge DA50A / DA70A

Seleccionable, de 1 a 4

Group 2 o superior

Group 3 o superior

HMI Graphite

3

Sí

Sí

HMI CR1000 / CR3000

3

Sí

Sí

DA30D

3

Sí

Sí

DA10D

2

Sí

No

En otros dispositivos solo cambian File → New y los nombres de los puertos Ethernet. Para leer dispositivos Modbus con un DA10D o DA30D, sigue la guía de configuración del DA10D/DA30D.

1. Crea la base de datos de Crimson para tu FlexEdge

Una base de datos de Crimson es el archivo de proyecto que Crimson crea en tu computador y descarga al dispositivo. La base de datos contiene los ajustes de hardware, los tags de datos, los conectores y las páginas de visualización. En Crimson 3.2, haz clic en File → New, abre FlexEdge en Models y elige DA50 o DA70. Pon Variant en tu modelo, por ejemplo DA70A0F, y Group en Group 3 - Full Crimson Functionality.

Diálogo New Database de Crimson 3.2 con FlexEdge DA70 seleccionado, Variant DA70A0F y Group 3 - Full Crimson Functionality
  1. En Device Configuration → System Configuration → Network → Interfaces, abre Ethernet 1 y pon el puerto en la misma subred que tu computador. Configured via DHCP funciona; si configuras una dirección manual, configura también un gateway y servidores DNS, o el FlexEdge no podrá resolver el nombre de host de Ubidots.

  2. En Services → Time Sync, deja la zona horaria y los ajustes de NTP en Automatic. Con un reloj preciso, los datos llevan la marca de tiempo correcta y TLS puede validar los certificados.

  3. Haz clic en Link → Options, selecciona TCP/IP e ingresa la dirección IP del FlexEdge. Crimson descarga la base de datos a esa dirección.

Ajustes del puerto Ethernet 1 del FlexEdge en Crimson 3.2, configurado por DHCP y con el gateway tomado de DHCP
Diálogo Link Options de Crimson con TCP/IP seleccionado y la dirección del FlexEdge 192.168.1.211

2. Crea tags de prueba y una página de visualización

La base de datos de prueba usa cuatro tags de datos numéricos. Tag1 cuenta los ticks de la pantalla, Tag2 cuenta las actualizaciones de la pantalla, Tag3 toma un valor que se escribe a mano y Status muestra el estado del conector. Tag1 a Tag3 van a Ubidots en el paso 3; Status se queda en el FlexEdge.

  1. Abre Data Tags, haz clic cuatro veces en New Tag y cambia el nombre de Tag4 a Status.

  2. Abre Display Pages, borra el texto Hello World y arrastra los cuatro tags desde el Resource Pane hasta la página.

  3. Selecciona Tag3 y marca Data Entry en la barra de herramientas flotante, para poder escribir su valor.

  4. Haz clic derecho en la página, elige Properties → Actions, escribe Tag1++ en On Tick y Tag2++ en On Update, y haz clic en OK.

  5. Abre Web Server. Deja Enable Web Server activado con Transport Protocol en TLS-HTTPS, y en la pestaña Features pon Remote Control en Enabled.

Lista Data Tags de Crimson con los tags numéricos Tag1, Tag2, Tag3 y Status
Página de visualización de Crimson con los campos Tag1, Tag2, Tag3 y Status, y Tag3 configurado para entrada de datos
Pestaña Control de Web Server en Crimson, con el servidor web activado por TLS-HTTPS en el puerto 443
Pestaña Features de Web Server en Crimson con Remote Control en Enabled

3. Configura el conector Ubidots MQTT

Abre Communications y selecciona Ubidots MQTT en Connectors. La pestaña Service del conector contiene los ajustes de Ubidots, la pestaña Network contiene el transporte y cada pestaña Tag Set lista los tags que se publican. Configura la pestaña Service así.

Sección

Campo

Valor

Control

Enable Agent

Yes

Operation

Update Mode

Send Changes

Operation

Reconnection, Data Buffering

Según lo que necesite tu aplicación (consulta las preguntas frecuentes)

MQTT Server

Host Name 1

industrial.api.ubidots.com

Data Topics

Device Name

La etiqueta del dispositivo en Ubidots, por ejemplo flexedge: letras minúsculas, números, guiones o guiones bajos

Authentication

Access Token

Tu token de Ubidots

Diagnostics

Status

Arrastra el tag Status

Pestaña Service del conector Ubidots MQTT en Crimson 3.2: Enable Agent en Yes, Host Name 1 industrial.api.ubidots.com, Device Name y Access Token

El broker de Ubidots acepta MQTT en industrial.api.ubidots.com por el puerto 8883 con TLS, o por el puerto 1883 sin TLS. En la pestaña Network, pon Transport Protocol en TLS y Connect via Port en 8883, y deja los demás ajustes en sus valores por defecto.

Pestaña Network del conector Ubidots MQTT en Crimson con Transport Protocol en TLS

En la pestaña Tag Set 1, deja Transfer Mode en Periodic con un Update Rate de 1.0 segundos, y arrastra Tag1, Tag2 y Tag3 desde el Resource Pane hasta Contents. Presiona F9 para descargar la base de datos al FlexEdge. Después de la primera descarga, haz clic en Link → Send Time para copiar la zona horaria de tu computador al dispositivo.

Pestaña Tag Set 1 del conector Ubidots MQTT en Crimson, transferencia Periodic cada 1.0 segundos con Tag1, Tag2 y Tag3 en Contents

4. Revisa la conexión y los datos en Ubidots

En un navegador, abre https:// seguido de la dirección IP del FlexEdge y haz clic en Remote. El navegador advierte que el sitio no es seguro porque el FlexEdge usa su propio certificado; continúa a la página. El tag Status marca 4 cuando el conector ya publicó datos en Ubidots, y Tag1 y Tag2 siguen contando.

Remote View del servidor web de Crimson en el FlexEdge con Tag1 11, Tag2 95, Tag3 0 y Status 4

En Ubidots, ve a Devices → Devices. Aparece un dispositivo con el nombre de la etiqueta que definiste, con las variables tag1, tag2, tag3 y connected. Ubidots escribe las etiquetas en minúsculas. Puedes cambiar el nombre del dispositivo y de sus variables; conserva las etiquetas, porque el conector publica en ellas.

Solución de problemas: ¿por qué el tag Status no llega a 4?

El conector escribe su estado en el tag Status como un número de 0 a 4, definido en el capítulo 24 del manual Crimson 3.2 Software Guide. Si el tag Status se queda por debajo de 4, el valor indica qué etapa falló.

Status

Significado

Qué revisar

0

Iniciando, o recuperándose de una conexión caída

Enable Agent está en Yes, el cable Ethernet está conectado y, si la dirección IP es manual, tiene gateway y servidores DNS

1

Conectándose al servidor después de resolver su dirección

El puerto coincide con el transporte: 8883 con TLS, 1883 con TCP. El tráfico de salida a ese puerto está permitido. El token es correcto, porque el broker cierra las conexiones con un token equivocado

3

Conectado y listo, sin nada publicado todavía

El tag set tiene tags en Contents y Transfer Mode está en Periodic. Con Send Changes, un tag que nunca cambia solo se envía al conectarse

4

Conectado, y ya se publicaron datos

Si no aparece ningún dispositivo en Ubidots, revisa el Device Name: solo letras minúsculas, números, guiones o guiones bajos

El manual describe el Status 2 como la espera de la Primary Application, un concepto de Sparkplug. La nota de solución de problemas de Ubidots de HMS incluye más verificaciones, y un tag de texto nunca aparece en Ubidots porque el conector solo envía números.

Preguntas frecuentes

¿El conector de Ubidots de Crimson puede enviar tags de texto o booleanos?

El conector de Ubidots de Crimson solo envía datos numéricos. Los tags de tipo flag deben convertirse a enteros, 1 o 0, y los tags de texto no se transmiten. Para enviar texto, usa el conector Generic MQTT de Crimson con una función decodificadora, como se explica en Configurar MQTT genérico en Crimson: tags Red Lion a la nube.

¿Debo usar el conector de Ubidots o el conector Generic MQTT?

Usa el conector Ubidots MQTT para tags numéricos que van a un solo dispositivo de Ubidots por conector. Usa el conector Generic MQTT cuando necesites tu propio tópico, tags de texto, un conector que alimente varios dispositivos o un build de Crimson anterior al conector de Ubidots.

¿El conector de Ubidots funciona en Crimson 3.1?

Sí. Crimson 3.1 incluye el conector Ubidots MQTT desde el build 3.1.3119.001 (diciembre de 2020). La nota de HMS para Crimson 3.1 llama a los campos Client ID y Default Token. El FlexEdge DA50A y DA70A necesitan Crimson 3.2; los modelos anteriores DA50D y DA70D usan Crimson 3.1.

¿Ubidots puede escribir valores de vuelta en los tags de Crimson?

La nota de HMS sobre este conector habilita escrituras por tag set con Tag Writes = Enabled y recomienda Update Mode = Send Changes. Si tu build muestra Tag Writes en la pestaña Tag Set, pon los tags escribibles en su propio tag set. Con Data Buffering activo, deja los tags de solo envío en otro tag set.

¿Qué pasa con los datos mientras el FlexEdge está sin conexión?

Con Data Buffering desactivado, el conector no toma muestras sin conexión y envía los últimos valores al reconectarse. El buffer en memoria guarda hasta 14.400 valores, 4 horas a una muestra por segundo. El buffer en la tarjeta de memoria dura hasta que la tarjeta se llena. Activa el buffer en la pestaña Service y en cada tag set.

Otras guías de Red Lion

¿Ha quedado contestada tu pregunta?