Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Tecnología Industrial

Optimiza PLCnext con Azure IoT Edge: Analítica en el Edge e integración Cloud

Azure IoT Edge permite mover la analítica en la nube y la lógica personalizada a "el edge" (el borde), en nuestro caso a nuestro dispositivo PLCnext. Esto tiene beneficios en la reducción del ancho de banda usado y la latencia. Con Azure IoT Edge puedes desarrollar y desplegar tus propias aplicaciones desde una aplicación central en la nube. En este blog aprenderás cómo configurar Azure IoT Edge y algunos de sus principios básicos.

Introducción

Explicar todos los entresijos de la solución Azure IoT Edge puede ir demasiado lejos para un Makers Blog, pero asegúrate de informarte bien antes de continuar. En este portal encuentras toda la información que necesitas para tener una buena idea de lo que hacemos en este blog. ¡Vamos a instalar el runtime!

Optimiza PLCnext con Azure IoT Edge: Analítica en el Edge e integración Cloud

Instalación

Crear un Azure IoT Hub y un dispositivo

Antes de empezar, primero necesitamos configurar algunas cosas en el portal de Azure. Asumo que ya has configurado una cuenta de Azure.

Lo primero que haremos es crear un grupo de recursos y darle un nombre descriptivo. Haz clic en crear un nuevo grupo de recursos. Si no está listado, puedes pulsar el botón "+" y buscar nuevo grupo de recursos.

Optimiza PLCnext con Azure IoT Edge: Analítica en el Edge e integración Cloud

Crea un nuevo servicio IoT Hub. Puedes tener 1 servicio IoT Hub gratis, ¡quizás quieras cambiar el tipo de estándar a gratis! De lo contrario, deja todo en sus valores predeterminados y procede con el despliegue del servicio. Nuestro paso final es crear un dispositivo IoT Edge. Abre el servicio y busca en el panel izquierdo de la ventana "IoT Edge". Haz clic en él y crea un nuevo dispositivo IoT Edge. Dale un ID al dispositivo, todos los demás ajustes pueden dejarse en sus valores predeterminados.

Optimiza PLCnext con Azure IoT Edge: Analítica en el Edge e integración Cloud

Haz clic en el dispositivo recién creado y toma nota de la "Cadena de conexión principal", esta cadena la necesitaremos en el siguiente paso para aprovisionar nuestro dispositivo.

Optimiza PLCnext con Azure IoT Edge: Analítica en el Edge e integración Cloud

Instalación del Runtime de Azure IoT Edge

Ejecuta los comandos a continuación en orden, una versión actualizada siempre se puede encontrar aquí.

git clone https://github.com/pxcbe/azure-iot-edge.git
cd azure-iot-edge/install
sudo passwd root
su
chmod +x SetupEdge.sh
./SetupEdge.sh

El siguiente paso es aprovisionar nuestro dispositivo. Es posible hacerlo de forma semi o incluso totalmente automatizada. Puedes encontrar más información sobre eso aquí en el infoportal. Escribe el siguiente comando en tu shell y pega tu cadena de conexión en la línea 55 del archivo yaml (cierra con ctrl+s ctrl+x)

nano /etc/iotedge/config.yaml

Reinicia el controlador para que los cambios surtan efecto.

reboot

Verificación de la instalación

Ejecuta el siguiente comando como root:

iotedge check --verbose

¡Si no obtienes errores podemos continuar! ¿Tienes un error? Revisa el repositorio de GitHub, quizás haya una solución disponible. ¡Si no, siéntete libre de crear un issue!

Despliegue de módulos

Solo el runtime no nos servirá de mucho. ¡Empecemos a desplegar algunos módulos! Haz clic en "Set modules" (Establecer módulos) y haz clic en runtime settings (configuración del runtime). Aquí necesitamos cambiar el "Hostport" (puerto host) para liberar del servidor NGINX que se ejecuta en el PLCnext. Finalmente añade un módulo del marketplace llamado "Simulated Temperature Sensor" (Sensor de temperatura simulado). Pulsa "review + create" (revisar + crear) y despliega el módulo en el dispositivo PLCnext.

Optimiza PLCnext con Azure IoT Edge: Analítica en el Edge e integración Cloud Optimiza PLCnext con Azure IoT Edge: Analítica en el Edge e integración Cloud

La configuración debería verse así:

{
  "HostConfig": {
    "PortBindings": {
      "443/tcp": [{ "HostPort": "444" }],
      "5671/tcp": [{ "HostPort": "5671" }],
      "8883/tcp": [{ "HostPort": "8883" }]
    }
  }
}
Optimiza PLCnext con Azure IoT Edge: Analítica en el Edge e integración Cloud

Visualización de mensajes de telemetría

Para verificar si los mensajes están llegando, sigue este procedimiento para instalar Azure IoT Tools en Visual Studio Code. (Necesitarás iniciar sesión en Azure, así que asegúrate de que si usas certificados estén también en tu máquina de desarrollo).

Llevar datos de PLCnext a IoT Hub

El siguiente paso sería llevar nuestros datos de PLCnext Engineer a la nube. Hay varias formas de hacerlo. Podrías usar el módulo Modbus y crear un servidor Modbus en tu proyecto PLCnext. Puedes usar el servicio REST y peticiones GET con un módulo personalizado, o buscar uno que se adapte a tus necesidades en el Marketplace. Explicaré cómo configurar el OPC Publisher para empezar a publicar tus datos desde el servidor OPC UA embebido del PLCnext.

ACTUALIZACIÓN: Parece que actualmente hay un error con el módulo OPC Publisher, por favor prueba otro método por ahora.

Descargo de responsabilidad: Para este blog deshabilitaremos las funciones de seguridad de PLCnext, ¡por favor no uses esto en producción!

Desactiva la autenticación de usuario en el WBM de tu dispositivo PLCnext antes de continuar.

Añade el OPCPublisher desde el Marketplace de la misma manera que hiciste con el "Simulated Temperature sensor". Haz clic en el módulo y ve a container create options (opciones de creación de contenedor). Copia y pega la siguiente configuración en la ventana bajo container create options.

{
  "Hostname": "publisher",
  "Cmd": [
    "publisher",
    "--pf=/appdata/publishednodes.json",
    "--di=60",
    "--to",
    "--aa",
    "--si=10",
    "--ms=262144"
  ],
  "HostConfig": {
    "Binds": [
      "/iiotedge:/appdata"
    ],
    "PortBindings": {
      "62222/tcp": [{ "HostPort": "62222" }]
    },
    "ExtraHosts": [
      "localhost:127.0.0.1"
    ]
  }
}

Modifica la siguiente configuración para adaptarla a tus node IDs, crea la carpeta /appdata y crea un archivo llamado "publishednodes.json" que contenga tu nueva configuración.

[
  {
    "EndpointUrl": "opc.tcp://192.168.10.10:4840",
    "UseSecurity": false,
    "OpcNodes": [
      {
        "Id": "ns=3;s=Counter",
        "OpcSamplingInterval": 2000,
        "OpcPublishingInterval": 5000
      },
      {
        "Id": "ns=3;s=Sinusoid",
        "OpcSamplingInterval": 2000,
        "OpcPublishingInterval": 5000
      }
    ]
  }
]

Si todo fue bien deberías ver los datos en tus Azure IoT Tools para Visual Studio.

¿Sigues teniendo problemas?
Puedes usar el siguiente comando para ver qué está pasando.

iotedge logs -f "namemode"

Créditos

Agradecimiento especial a Oliver Warneke por su trabajo en el que pude basarme y por tomarse el tiempo para ponerme al día.

Contacto

¿Tienes problemas o quieres saber más? Contacta con axsupport@phoenixcontact.be.

Referencias

Documentación Azure IoT Edge

Tecnología Industrial

  1. Sprint y Ericsson lanzan plataforma Edge Intelligence IoT lista para 5G
  2. Dominando el Diseño de PCB para Internet de las Cosas: Guía Completa
  3. Dispositivos Edge: Conectando redes locales y la nube para un flujo de datos IoT sin fisuras
  4. Renesas presenta serie RA MCU segura para Industrial IoT y aplicaciones edge
  5. Por qué el Edge Computing es esencial para el éxito del IoT
  6. Del Edge al Cloud: Dominando pipelines de datos IoT
  7. Insights de Edge Computing y estrategia IoT desde IoT World 2019
  8. Aprovechando el Edge Computing para IoT, IA y tecnologías emergentes
  9. Edge e IoT: Armonizando datos para el éxito digital
  10. Cómo IoT y Edge Computing se complementan mutuamente
  11. El Open Source Impulsa el Auge del IoT y Edge Computing