Ir al contenido principal
Todas las coleccionesConecta tus dispositivos
Conectar KEPServerEX a Ubidots usando HTTP
Conectar KEPServerEX a Ubidots usando HTTP

Aprende a implementar soluciones IoT para la automatización industrial utilizando Kepware y Ubidots.

Sergio M avatar
Escrito por Sergio M
Actualizado hace más de 2 meses

KEPServerEX es una plataforma de conectividad que permite a los usuarios conectar, gestionar, monitorear y controlar diversos dispositivos de automatización y aplicaciones de software. KEPServerEX aprovecha los protocolos de comunicación centrados en OPC e IT (como SNMP, ODBC y servicios web) para proporcionar a los usuarios una única fuente de datos industriales.

PTC - Kepware se estableció en 1995 y ha pasado los últimos 20+ años construyendo un portafolio de soluciones de conectividad industrial para ayudar a las empresas a conectar diversos dispositivos de automatización y aplicaciones de software. Reconocida como un jugador temprano en el Internet Industrial de las Cosas (IoT), y sirve a una amplia gama de clientes en una variedad de mercados verticales, incluyendo Manufactura, Petróleo y Gas, Automatización de Edificios, Energía y Servicios Públicos, y más.

El IoT Gateway, un complemento avanzado que extiende las capacidades de la plataforma de conectividad KEPServerEX, permite manejar solicitudes RESTful y MQTT para la integración con servicios web en sistemas de ejecución de manufactura (MES) y otros sistemas. Esto también transmite sin problemas datos industriales en tiempo real directamente a nubes de dispositivos y plataformas de análisis de Big Data en toda la empresa, lo que resulta útil en un puñado de verticales, incluyendo Manufactura, Petróleo y Gas, Automatización de Edificios y Energía y Servicios Públicos. Para obtener más información, consulte la documentación oficial, o vea este video.

El propósito de esta guía es explicar cómo configurar el complemento IoT de KEPServerEx para enviar datos a Ubidots a través de su Cliente HTTP REST.

Requisitos

1. Configuración de UbiFunctions

Si aún no estás familiarizado con las herramientas de desarrollo IoT de Ubidots, por favor crea una cuenta aquí y consulta las siguientes guías para aprender las características básicas:

Después de crear tu cuenta, el siguiente paso es integrar los datos provenientes de KEPServerEx con Ubidots. Para ello, necesitarás la función UbiFunctions, que permite transformar los datos.

  1. Para crear una Función, ve a tu cuenta de Ubidots > Dispositivos > Funciones.

NOTA: UbiFunctions está incluido en planes Profesionales y superiores.

2. Haz clic en el ícono azul de más en la esquina superior derecha para crear una Función:

3. Asigna un nombre a la Función, elige POST como el método HTTP del menú desplegable y selecciona NodeJS 10 como tiempo de ejecución.

4. Ahora, solo copia y pega el código a continuación en el editor de UbiFunctions. Al pegarlo, asigna tu TOKEN de Ubidots donde se indica:

var request = require('request-promise');var token = "PUT_YOUR_TOKEN_HERE";// Función principal - se ejecuta cada vez que se ejecuta la función.// "args" es un diccionario que contiene tanto los parámetros de URL como el cuerpo HTTP (para solicitudes POST).async function main(args) {  var msg = args.values;  var value1 = msg[0].v;  var value2 = msg[1].v;  var payload =  {"temperature": value1, "humidity": value2};  var response = await ubidots_request(token, "chocolate-production", payload);  return response ;}// Esta función construye una solicitud HTTP POST a Ubidotsasync function ubidots_request(token, label, body) {  var options = {    method: 'POST',    url: 'https://industrial.api.ubidots.com/api/v1.6/devices/' + label,    body: body,    json: true,    headers: {      'Content-Type': 'application/json',      'X-Auth-Token': token    }  };  return await request.post(options);}

NOTA IMPORTANTE: El TOKEN es una clave única que se puede encontrar fácilmente en la opción "credenciales de API" del menú desplegable del usuario.

5. Finalmente, guarda la Función haciendo clic en el botón "Hacerlo en vivo".

2. Configuración de KEPServerEX

Para comenzar con KEPServerEX, sigue los siguientes pasos para la implementación y la licencia.

NOTA IMPORTANTE: Kepware ofrece descargas de demostración gratuitas, que son completamente funcionales y solo están limitadas en su tiempo de ejecución a períodos de 2 horas. Si se requiere más pruebas o POC, por favor contacta al departamento de ventas para consultas sobre licencias.

1. Descarga KEPServerEX. (Nota: El software está disponible solo para Windows OS.)

2. Desde tu carpeta "Descargas", abre el archivo .exe descargado y procede con la instalación del software. Asegúrate de seguir el proceso de instalación cuidadosamente para evitar cualquier problema.

NOTA IMPORTANTE: Kepware debe instalarse en la misma red local que tu equipo de automatización, esto ayudará a optimizar la recolección de datos de tus dispositivos de campo y mitigar riesgos de ciberseguridad.

3. Con KEPServerEx ya instalado, abre el programa y verifica si el complemento IoT Gateway está disponible. Puedes encontrarlo en la vista de árbol en el lado izquierdo del software.

4. El software se abre inicialmente con un proyecto predeterminado. Define un nuevo proyecto eligiendo "Archivo > Nuevo". Si se te solicita cerrar, selecciona “Guardar” o “Editar sin conexión”.

5. Para guardar el proyecto creado, elige “Archivo > Guardar como…”. Ingresa la contraseña configurada en el proceso de instalación para asegurar el archivo de proyecto encriptado. Luego, elige una ubicación para almacenar el archivo y haz clic en “Guardar”.

6. Al crear un nuevo proyecto, los usuarios deben primero determinar el controlador de comunicaciones requerido por la aplicación: esto se conoce como un canal en el servidor. Se puede definir un número de canales dentro de un solo proyecto, dependiendo de los controladores instalados.

Para fines de prueba, utilizaremos el “Controlador Simulador”, sin embargo, en una aplicación del mundo real seleccionaríamos uno de los 150+ controladores proporcionados por Kepware para extraer datos de nuestros dispositivos de automatización; como el Controlador Ethernet Allen-Bradly ControlLogix, el Controlador ABB TotalFLow, o el Controlador Modbus TCP/IP.

Agrega un nuevo canal al proyecto siguiendo una de las opciones a continuación:

  • Haz clic en "Editar > Conectividad > Nuevo Canal".

  • Selecciona "Haz clic para agregar nuevo canal" desde la vista del proyecto o vista de detalles.

  • Haz clic derecho en el nodo "Conectividad" en la vista del proyecto y elige "Nuevo canal".

7. En el asistente de canal, especifica un nombre para el canal. En este ejemplo, lo nombramos "Planta de Manufactura". Con el nombre definido, presiona "Siguiente":

8. En Controlador de Dispositivo, elige “Simulador” como el tipo del canal. Luego, presiona "Siguiente":

9. Deja las siguientes configuraciones como predeterminadas haciendo clic en "Siguiente" hasta finalizar la creación del canal. La última ventana debería ser el resumen para el nuevo canal (ver abajo). Haz clic en “Finalizar” para cerrarla:

10. Con el canal definido, agrega un nuevo dispositivo. El dispositivo identifica un nodo o estación física del enlace de comunicación y es una forma de enmarcar la definición de la conexión a puntos específicos de interés en la aplicación.

Agrega un nuevo dispositivo al canal creado anteriormente siguiendo una de las opciones a continuación:

  • Haz clic en "Editar > Conectividad > Nuevo Dispositivo".

  • Selecciona el canal, luego "Haz clic para agregar un dispositivo" desde la vista del proyecto o vista de detalles.

  • Haz clic derecho en el canal creado "Planta de Manufactura" en la vista del proyecto y elige "Nuevo dispositivo".

11. En el asistente de dispositivo, especifica un nombre para el dispositivo. En este ejemplo, lo llamamos "Cinta Transportadora". Con el nombre definido, haz clic en "Siguiente":

12. En Modelo, selecciona “16-bit” como tamaño de registro para el dispositivo que se está simulando y haz clic en “Siguiente”.

13. Deja las siguientes configuraciones como predeterminadas haciendo clic en "Siguiente" hasta finalizar la creación del dispositivo. La última ventana que deberías tener es el resumen para el nuevo dispositivo (ver abajo). Haz clic en “Finalizar” para cerrarla:

14. Con el dispositivo creado, es hora de crear las etiquetas. Las etiquetas representan direcciones dentro de los PLCs u otros dispositivos de hardware con los que se comunica el servidor. Las etiquetas se pueden definir como una sola etiqueta o grupos de etiquetas.

Agrega una nueva etiqueta única en el dispositivo creado anteriormente haciendo clic derecho en el dispositivo y eligiendo "Nueva Etiqueta":

En las propiedades de la etiqueta, edita las propiedades para que coincidan con las siguientes:

  • Nombre de la Etiqueta: Humedad

  • Descripción (opcional): Humedad del Chocolate

  • Dirección: ALEATORIO (Tasa, Límite Bajo, Límite Alto) - ALEATORIO (100, -20, 75)

  • Tipo de Datos: Predeterminado

  • Acceso del Cliente: Solo lectura

  • Tasa de Escaneo (ms): 100

Habiendo obtenido el resultado:

NOTA: La configuración anterior se puede personalizar según se desee. Ten en cuenta que esta es solo una etiqueta que simula valores aleatorios.

15. Para simular más valores en el Motor 1 o Motor 2, repite el último paso tantas veces como desees. Si creas más de una etiqueta, deberías tener el siguiente resultado:

Para simular un dispositivo adicional, repite los pasos anteriores.

3. Configuración del IoT Gateway

1. Consulta el "IoT Gateway" en las configuraciones del proyecto y presiona "Agregar Agente":

2. En el nuevo diálogo de agente, ingresa “HTTP Ubidots Gateway” como nombre para el agente y elige “REST Client” como tipo. Para continuar, presiona “Siguiente”:

3. Dentro de la configuración del REST Client, asigna la URL de UbiFunctions y selecciona "POST" como Método. Deja las otras configuraciones por defecto y continúa presionando “Siguiente”:

4. En la sección de Encabezado, solo agrega "Content-type: application/json" y Finaliza la creación.

NOTA: La configuración del agente se puede actualizar después de la configuración haciendo doble clic en el nombre del agente.

6. Haz clic derecho en el agente creado anteriormente y selecciona “Nuevos Elementos IoT”:

7. Dentro del navegador de etiquetas, consulta el canal “Producción de chocolate blanco” y selecciona el dispositivo “Motor 2”. Luego, selecciona las etiquetas que deseas publicar en este agente. Como puedes ver a continuación, agregamos las etiquetas "Temperatura" y "Humedad". Una vez seleccionadas las etiquetas, haz clic en Aplicar.

8. En el diálogo de Elementos IoT, deja las configuraciones como predeterminadas. Para continuar, presiona “OK”:

9. En este punto, puedes ver todos los elementos añadidos en la vista de detalles.

4. Visualización de datos en Ubidots

Ve a la sección "Dispositivos" de tu cuenta de Ubidots; deberías ver nuevos dispositivos creados automáticamente:

2. Ingresa al dispositivo "Producción de chocolate" y observa las etiquetas configuradas transmitiendo los datos simulados:

3. Para presentar los datos de los dispositivos y los conocimientos derivados de los datos, te sugerimos explorar el módulo de Tableros de Ubidots, donde podrás crear widgets para mostrar los datos como gráficos, indicadores, controles, tablas, gráficos y más.

Para crear tu primer tablero, ve a la pestaña de Tablero (Datos → Tableros). Luego, selecciona el ícono de más (+) en la esquina superior derecha y selecciona el tipo de widget deseado. Deberías poder crear tableros personalizados como el de abajo:

5. Resumen

KEPServerEX es más que solo un servidor OPC; es una plataforma para la automatización industrial y IoT. Por otro lado, gracias a las características ofrecidas por Ubidots, podrás modelar cualquier sensor, robot, PLC o línea de producción en un entorno web amigable e intuitivo.

En solo unos minutos has integrado KEPServerEX IoT Gateway con Ubidots, enviado algunos datos de muestra utilizando el controlador simulador, y reportado tu trabajo a Ubidots para la retención, visualización y transformación de datos. Ahora estás listo para lanzar aplicaciones industriales en cuestión de días en lugar de meses.

¿Ha quedado contestada tu pregunta?