En el área de Internet industrial de las cosas, hay tantos dispositivos esclavos industriales detrás del controlador lógico programable, que no se les da ninguna dirección IP o identidad, ¿cómo podríamos mapear la identidad de estos dispositivos y sus controles sobre el nivel de aplicación en la nube. Por ejemplo, voy a usar el rasberrypi como puerta de enlace, esta puerta de enlace está conectada con un PLC. Detrás del PLC hay muchos dispositivos esclavos conectados, como ventiladores, luces LED, sensores de CO2.
Soy muy nuevo en el protocolo PLC y Modbus , incluso después de leer la introducción, todavía tengo preguntas, la pregunta principal es cómo podríamos registrar y asignar los dispositivos esclavos a la puerta de enlace y finalmente a la capa de aplicación IOT. y debajo de la pregunta principal hay muchas preguntas pequeñas para responder como
- ¿Cómo podría determinar la dirección para cada dispositivo, se determina manualmente o se puede descubrir desde el dispositivo esclavo?
- Si un dispositivo esclavo es disfuncional, ¿cómo podríamos descubrirlo?
fuente
modbus discover devices
Respuestas:
Mirando los códigos de función Modbus en wikipedia
Determinar direcciones
Puede consultar los códigos de función Report Slave ID 17 y Read Device Identification 43.
Aunque es posible que sus dispositivos no admitan esta función y regresen con un código de excepción 1 (función ilegal). Si no obtiene ninguna respuesta, el dispositivo está apagado o la ID está desocupada.
Puede enumerar estos dispositivos en su Raspberry Pi. Por lo tanto, puede crear una lista con valores: ID + identificación, ID establecida, ID no establecida.
Para Modbus / TCP este enlace puede ser útil.
Descubrir un dispositivo es disfuncional
Para saber si es disfuncional, puede sondear diagnósticos de vez en cuando y escuchar cualquier mensaje de excepción.
Si no recibe un mensaje, eso también podría indicar un problema (si la ID tenía un dispositivo conectado anteriormente).
fuente
El 'mapeo' del PLC se realizará con etiquetas variables.
Estructurará los nombres de etiqueta y luego enrutará los datos a través de cualquier protocolo, en este caso modbus. Mira el Advantech WISE-4060
Alternativamente, puede tener un OPC ejecutándose en su red donde extrae las etiquetas de datos y sus estados.
fuente
Echa un vistazo a Node-Red. Se ejecuta en RPI y una de las suites de nodos cubre casi todo lo que quieras hacer con Modbus. Es de código abierto y puede descargar una imagen funcional y ejecutar un script para comenzar.
Recientemente creé un sistema de control para el control de agua y temperatura utilizándolo y fue rápido y fácil.
En cuanto al descubrimiento, me temo que probablemente sea similar a limpiar el ático de la abuela. ¡Solo tengo que revisarlo todo de una en una! Con el RPI en una red, abre un mundo de conectividad ya que Node-Red puede manejar bases de datos, twitter, correo electrónico, MQ y casi cualquier otro protocolo que pueda imaginar. Además, todos los datos pueden aparecer en una página web simplemente colocando un par de nodos en el lienzo y arrastrando cables entre ellos.
fuente