Glosario de Automatización • El descubrimiento BACnet no encuentra dispositivos

El descubrimiento BACnet no encuentra dispositivos

Ingeniería Merobix • • 8 min de lectura

Usted ejecuta un descubrimiento desde su cliente BACnet o su supervisor nuevo y la lista de dispositivos regresa vacía, aunque los controladores estén en línea y otra estación de trabajo los vea bien. El descubrimiento BACnet viaja sobre difusiones, y las difusiones son frágiles en redes enrutadas, así que un descubrimiento vacío casi siempre es un problema de alcance de red y no dispositivos muertos. Esta guía recorre las causas en orden: fundamentos de la misma subred, el puerto UDP, los firewalls del host, y la infraestructura BBMD de la que el descubrimiento depende en cuanto hay más de una subred involucrada.

Volver al glosario

El descubrimiento BACnet no encuentra dispositivos en una línea: Cuando el descubrimiento BACnet no encuentra dispositivos, recuerde qué es el descubrimiento: una difusión Who-Is que los dispositivos responden con I-Am. Las difusiones IP no cruzan enrutadores, así que un cliente en una subred distinta de la de los controladores no oye nada a menos que un BACnet Broadcast Management Device (BBMD) reenvíe las difusiones entre subredes o el cliente se registre con un BBMD como dispositivo foráneo. En la misma subred, un descubrimiento vacío suele significar el puerto UDP equivocado - el predeterminado es 47808, pero los sitios usan otros - o un firewall del host que desecha en silencio las respuestas I-Am entrantes.

Primeras revisiones: misma subred, puerto correcto, firewall abierto

Pruebe primero el caso más simple: ponga su cliente en la misma subred IP que un controlador conocido y descubra de nuevo. El descubrimiento en la misma subred no necesita BBMD ni ayuda de enrutamiento, así que una falla aquí es local y tiene solo unas pocas causas. La primera es el puerto: BACnet/IP predetermina a UDP 47808, pero las instalaciones legítimamente usan otros puertos, en particular donde varias redes BACnet comparten infraestructura, y un cliente transmitiendo en el puerto equivocado es invisible por más sana que esté la red. La documentación de controles del edificio o la configuración de una estación de trabajo existente dan el puerto real en segundos.

La segunda causa local es el firewall del host en la máquina que corre el cliente. El Who-Is sale, los dispositivos responden con I-Am, y el firewall del sistema operativo desecha las respuestas UDP entrantes, así que el cliente se queda en un silencio que él mismo creó. Las laptops nuevas en un sitio hacen esto casi por defecto. Una captura de paquetes es la prueba honesta: si puede ver tramas I-Am llegando en la captura mientras la aplicación no muestra nada, el bloqueo está en su propia máquina. Mientras captura, confirme también que la máscara de subred coincida con la del sitio; una máscara equivocada hace que la dirección de difusión local sea incorrecta, y el Who-Is nunca llega bien al cable.

Cruzar subredes: BBMD y registro de dispositivo foráneo

En cuanto el cliente y los controladores quedan en subredes distintas, el descubrimiento simple está diseñado para no funcionar: los enrutadores no reenvían difusiones, así que el Who-Is nunca llega. La respuesta de BACnet es el BACnet Broadcast Management Device. Un BBMD en cada subred, cada uno con una tabla de distribución de difusión que lista a sus pares, reenvía el tráfico de difusión entre subredes de modo que un Who-Is de un lado se vuelve a difundir en los otros. Si un sitio abarca subredes y el descubrimiento funciona desde algunas máquinas y no otras, mapee qué subredes tienen un BBMD y qué contienen las tablas de distribución; una tabla desactualizada tras un proyecto de resubdivisión es una falla silenciosa clásica.

Para un cliente visitante - una laptop, un servidor supervisorio nuevo, un gateway de monitoreo - el mecanismo previsto es el registro de dispositivo foráneo: el cliente se registra con un BBMD existente, que entonces le retransmite las difusiones a pesar de que no tenga un BBMD en su propia subred. Un descubrimiento vacío desde una máquina en una subred foránea sin registro configurado es por lo tanto comportamiento esperado, no una falla. La solución es ingresar la dirección del BBMD en la configuración de dispositivo foráneo del cliente y confirmar que el registro sea aceptado; una falla de registro apunta a la dirección del BBMD, su puerto, o una política que restringe dispositivos foráneos, todo lo cual vive con el contratista de controles del sitio.

Dos errores de configuración corrompen esta infraestructura desde dentro. Dos BBMD en la misma subred causan tráfico de difusión duplicado y en bucle, y tablas de distribución inconsistentes - un BBMD que lista a un par que no lo lista de vuelta - producen un descubrimiento de un solo sentido donde el lado A ve al lado B pero no al revés. Vale la pena revisar ambos cada vez que el descubrimiento se comporta de forma asimétrica.

Los dispositivos que aun no aparecen

Cuando el descubrimiento devuelve algunos dispositivos pero no los que usted necesita, el alcance del Who-Is es el siguiente sospechoso. El Who-Is puede llevar un rango de instancias de dispositivo, y los clientes configurados con un rango limitado se saltan todo lo que quede fuera. Los números de instancia de dispositivo duplicados - dos controladores configurados con la misma instancia - causan respuestas que confunden a los clientes y pueden hacer que los dispositivos aparezcan y desaparezcan entre descubrimientos. Cada instancia de dispositivo en un sitio debe ser única, y un duplicado es una falla de configuración a corregir en el dispositivo, no una molestia del lado del cliente a tolerar.

Recuerde también que muchos controladores de campo no son BACnet/IP en absoluto sino dispositivos MS/TP en troncales seriales detrás de un enrutador BACnet. Si el enrutador se descubre pero sus hijos no, el problema vive del lado MS/TP - cableado de la troncal, direccionamiento MAC o la propia configuración del enrutador - y ninguna cantidad de trabajo de red del lado IP hará aparecer esos dispositivos. La topología de red enrutada significa que los resultados del descubrimiento deben leerse contra el plan de números de red del sitio, que la documentación de controles debe proveer.

Cuándo escalar

Escale al contratista de controles del sitio o a TI con el artefacto específico que BACnet le da: una captura de paquetes que muestre el Who-Is saliendo y si regresa algún I-Am, más las direcciones de BBMD y las tablas de distribución que usted cree vigentes. Los problemas de descubrimiento que sobreviven a las pruebas en la misma subred, a los puertos correctos y al registro confirmado son problemas de política de red - filtrado de multidifusión y difusión, aislamiento de VLAN privada o reglas de firewall entre subredes - y esos los corrige quien es dueño de los switches, con su captura como evidencia.

Para integraciones permanentes, trate el descubrimiento como una herramienta de puesta en marcha y no como una dependencia operativa. Una plataforma de monitoreo como Merobix que lea datos de edificio a través de un gateway BACnet debe configurarse contra una lista conocida de dispositivos y objetos una vez que el descubrimiento cumplió su trabajo, de modo que el flujo de datos cotidiano no dependa de que las difusiones sigan funcionando para siempre. Los sitios cambian, los BBMD se reemplazan, y la integración que dependía del redescubrimiento en cada reinicio es la que pierde dispositivos misteriosamente tras una renovación de red.

Preguntas frecuentes

¿Por qué el descubrimiento BACnet funciona en una subred pero no entre subredes?

Porque el descubrimiento es una difusión Who-Is, y los enrutadores IP no reenvían difusiones. Los dispositivos en otras subredes nunca oyen la petición. Cruzar subredes requiere la infraestructura de gestión de difusión de BACnet: un BBMD en cada subred reenviando difusiones a sus pares según su tabla de distribución, o el cliente registrándose con un BBMD como dispositivo foráneo para que se le retransmitan las difusiones directamente. Sin una de esas, un descubrimiento vacío entre subredes es el comportamiento diseñado.

¿Qué es un BBMD y cuándo lo necesito?

Un BACnet Broadcast Management Device reenvía mensajes de difusión BACnet entre subredes IP que los enrutadores de otro modo aislarían. Los necesita en cuanto los dispositivos BACnet abarcan más de una subred y deben descubrirse o difundir entre sí: uno por subred, cada uno listando a los demás en su tabla de distribución de difusión. Un dispositivo en una subred sin BBMD aun puede participar registrándose con un BBMD remoto como dispositivo foráneo.

El descubrimiento encuentra el enrutador BACnet pero no los controladores detrás de él, ¿por qué?

Los controladores probablemente son dispositivos seriales MS/TP en una troncal detrás de ese enrutador, así que no son dispositivos IP en absoluto. Si el enrutador responde pero sus hijos no aparecen, la falla está del lado serial: cableado de la troncal, direcciones MAC de los dispositivos, ajustes de velocidad, o la configuración de enrutamiento del propio enrutador. La red IP está haciendo su trabajo; la investigación se mueve a la troncal MS/TP y a los diagnósticos del propio enrutador.

Fuentes y lecturas

Referencias primarias de los organismos de normas y reguladores que definen este tema:

Más en Protocolos industriales
EDDL  •  Acoplador de dispositivos fieldbus  •  Servidor de dispositivos seriales  •  El comunicador HART no encuentra el dispositivo  •  Roles de dispositivos PROFINET IO  •  Todo en Protocolos industriales →
Capacitación SCADA gratuita para operadores
Merobix University - 70 lecciones en video y 261 preguntas de examen, del primer inicio de sesión a los reportes de cumplimiento (contenido en inglés). Sin llamada de ventas.
Comenzar gratis →