BACnet/IP y BACnet MS/TP son dos redes distintas que conectan el mismo tipo de controladores, sensores y supervisores BACnet. BACnet/IP utiliza la red Ethernet del edificio, con cada dispositivo en una dirección IP y un puerto UDP. MS/TP (maestro-esclavo con paso de testigo) utiliza un par trenzado RS-485 a velocidades de 9.600 a 115.200 bit/s, donde cada dispositivo tiene una dirección MAC y un maestro solo puede iniciar una transmisión mientras tiene el testigo. Un BMS de un edificio comercial suele utilizar las dos: BACnet/IP entre controladores supervisores y equipos centrales, y MS/TP hasta los controladores de las unidades terminales de cada planta, unidas por un router BACnet. La lectura de un punto de un fancoil atraviesa ambas redes, cada una con sus límites de tamaño de mensaje, velocidad y direccionamiento.
BACnet/IP frente a MS/TP: comparación
| BACnet/IP | BACnet MS/TP | |
|---|---|---|
| Red física | Ethernet u otra red IP | Par trenzado RS-485 en cadena |
| Velocidad | Ethernet a 10 o 100 Mbit/s; normalmente limita el procesamiento del controlador | De 9.600 a 115.200 bit/s; 9.600 y 38.400 son obligatorias |
| Cableado | Cable de red a un puerto de switch, como cualquier dispositivo IP | Par trenzado apantallado, terminación de 120 Ω en ambos extremos, hasta 1.200 m por segmento |
| APDU máximo sin segmentar | 1.476 octetos | 480 octetos |
| Dirección del dispositivo en su red | Dirección IP y puerto UDP | Dirección MAC: de 0 a 127 para maestros y hasta 254 para esclavos |
| Puerto predeterminado | UDP 47808 (0xBAC0) | Ninguno: es un bus serie |
| Acceso a la red | Cualquier dispositivo puede enviar en cualquier momento | Solo el maestro que posee el testigo inicia una transmisión |
| Difusiones de descubrimiento | Permanecen en una subred IP salvo que las reenvíen los BBMD | Llegan a todos los dispositivos del bus; los esclavos solo responden a Who-Is mediante un proxy de esclavos |
| Entre subredes IP | Un BBMD en cada subred reenvía las difusiones BACnet; un dispositivo externo se registra en uno | No aplica: un router BACnet une el bus a una red BACnet/IP |
| Dispositivos habituales | Controladores supervisores, de enfriadoras, calderas y unidades de tratamiento de aire | Controladores VAV, de fancoil y de habitación |
La instancia del dispositivo, los identificadores de objetos y las propiedades no cambian según la red. La guía de descubrimiento explica la diferencia entre la instancia de un dispositivo y una dirección de red.
El límite de APDU sí importa cuando un cliente BACnet/IP lee a través de un router. Cada dispositivo indica su límite en Max_APDU_Length_Accepted y lo anuncia en su I-Am. Una petición o respuesta mayor necesita segmentación, que muchos controladores MS/TP pequeños no admiten; la operación se cancela o rechaza. Una respuesta ReadPropertyMultiple ocupa alrededor de 16 octetos por cada Present_Value, de modo que caben unos 29 valores en una respuesta de 480 octetos. Algunos controladores pequeños solo admiten 50 o 128 octetos, y por tanto muchos menos valores. Ajuste las peticiones ReadPropertyMultiple al menor límite del recorrido.
BACnet/IP y nombres parecidos
Cuatro nombres se confunden a menudo en especificaciones y ofertas:
| Nombre | Qué es |
|---|---|
| BACnet/IP | Mensajes BACnet en paquetes UDP/IP, definidos en el anexo J de la norma 135. El puerto UDP predeterminado es 47808, que en hexadecimal es 0xBAC0. |
| BACnet Ethernet | Mensajes BACnet directamente en tramas Ethernet (ISO 8802-3), sin IP, definidos en la cláusula 7. Los dispositivos se identifican por su dirección MAC y los mensajes no atraviesan routers IP. Se encuentra sobre todo en sistemas antiguos. |
| BACnet/SC (Secure Connect) | BACnet sobre conexiones WebSocket protegidas con TLS hacia un hub, definido en el anexo AB de la norma 135-2020. Los dispositivos se autentican con certificados. |
| EtherNet/IP | No es BACnet. Es el Common Industrial Protocol (CIP) sobre Ethernet, de ODVA, utilizado sobre todo por PLC. Un cliente BACnet no puede leerlo. |
Un dispositivo que «admite Ethernet» puede referirse a cualquiera de ellos. Pregunte qué capa de enlace de datos utiliza y, si es BACnet, pida su PICS (declaración de conformidad de la implementación del protocolo).
Cómo funciona BACnet MS/TP
Al encenderse, cada maestro espera un intervalo según su dirección MAC, de 0 a 127, y busca al siguiente maestro. Cuando recibe el testigo, puede enviar hasta Max_Info_Frames tramas. Después entrega el testigo al maestro siguiente. Cada 50 pases de testigo (Npoll), un maestro envía tramas Poll For Master a las direcciones entre la suya y la del siguiente maestro conocido para detectar dispositivos nuevos.
Si envía Poll For Master a una dirección vacía, espera una respuesta durante Tusage_timeout: al menos 20 ms según la norma, o 75 ms en la configuración flexible del router de Johnson Controls. Cada dirección vacía consultada añade ese tiempo de silencio al bus.
Los dispositivos esclavos, con direcciones MAC hasta 254, nunca poseen el testigo. Solo responden cuando un maestro les pregunta. No pueden contestar por sí mismos a una difusión Who-Is, por lo que un proxy de esclavos (añadido en el apéndice 135-2001a) envía un I-Am por ellos.
Dos parámetros de cada maestro afectan a todo el bus:
- Max_Master es la dirección más alta de maestro que el dispositivo consultará. Un dispositivo que no permite cambiarla utiliza 127. Configúrela en cada maestro con la dirección MAC más alta en uso. Si hay 20 maestros con direcciones de 1 a 20 y Max_Master permanece en 127, el maestro de dirección 20 consulta 108 direcciones vacías: de 21 a 127 y la 0.
- Max_Info_Frames es el número de tramas que un maestro puede enviar cada vez que posee el testigo. Un dispositivo que no permite cambiarlo utiliza 1, apropiado para un controlador de habitación. Un router reenvía tráfico de todos los clientes del lado IP, así que necesita más. Son habituales los valores predeterminados de 100; la guía del router de Johnson Controls recomienda más de 20.
Velocidad y baudios de BACnet MS/TP
La norma 135 exige que todos los dispositivos MS/TP admitan 9.600 y 38.400 bit/s. El apéndice 135-2008ab hizo obligatorio 38.400 bit/s y añadió 57.600 y 115.200 bit/s. Las velocidades de 19.200, 57.600, 76.800 y 115.200 bit/s son opcionales; compruebe que todos los dispositivos admiten la elegida. Todos los equipos de un bus deben usar la misma velocidad. El límite de longitud del cable RS-485 es 1.200 m a las velocidades estándar y 1.000 m a 115.200 bit/s, suponiendo un par trenzado de buena calidad. Los cables de alta capacitancia y las derivaciones largas reducen esas distancias.
Capacidad del bus: ejemplo
MS/TP transmite cada octeto como 10 bits: uno de inicio, ocho de datos y uno de parada, sin paridad. Una trama lleva una cabecera de 8 octetos, los datos y un CRC de 2 octetos. A 38.400 bit/s, un octeto tarda 0,26 ms, por lo que una trama de testigo tarda 2,1 ms.
Suponga que un cliente BACnet/IP lee un Present_Value analógico de un controlador MS/TP a través de un router:
| Parte de la lectura | Octetos transmitidos | Tiempo a 9.600 bit/s | Tiempo a 38.400 bit/s | Tiempo a 76.800 bit/s |
|---|---|---|---|---|
| Petición ReadProperty, con cabecera de encaminamiento | 32 | 33,3 ms | 8,3 ms | 4,2 ms |
| Respuesta ReadProperty (ComplexACK) | 39 | 40,6 ms | 10,2 ms | 5,1 ms |
| Dos cambios de sentido de 40 tiempos de bit | 8,3 ms | 2,1 ms | 1,0 ms | |
| Respuesta del controlador, supuesto | 5 ms | 5 ms | 5 ms | |
| Una lectura | unos 87 ms | unos 26 ms | unos 15 ms |
Por tanto, 200 puntos leídos uno a uno consumen unos 17 s de bus a 9.600 bit/s, 5 s a 38.400 bit/s y 3 s a 76.800 bit/s. Una vez por minuto, a 38.400 bit/s, eso representa alrededor del 9 % del bus. Cada 5 s a 9.600 bit/s es imposible: las lecturas tardan más que el intervalo. Por encima de 38.400 bit/s, el tiempo de respuesta del controlador constituye una parte importante de cada lectura, así que aumentar la velocidad aporta menos de lo esperado.
ReadPropertyMultiple reduce la sobrecarga. Una petición de 10 Present_Value en un mismo controlador ocupa unos 115 octetos y la respuesta unos 185. A 38.400 bit/s tarda unos 85 ms, frente a 256 ms de diez lecturas individuales.
El testigo añade espera. El router solo puede enviar mientras lo posee y transmite como máximo Max_Info_Frames peticiones por turno. Si cada maestro tarda unos 3 ms en empezar a transmitir, un anillo inactivo de 20 maestros completa una vuelta en unos 100 ms a 38.400 bit/s. Cada trama de otro maestro alarga esa vuelta. Un controlador que retrasa la respuesta hasta volver a poseer el testigo añade una vuelta completa a cada lectura.
Configure el tiempo de espera APDU del cliente por encima del peor caso: vuelta del testigo, cola del router y respuesta. Un tiempo menor provoca reintentos, que cargan aún más el bus y hacen que el cliente muestre dispositivos como desconectados cuando solo son lentos.
Fallos habituales de MS/TP
| Fallo | Qué se observa | Comprobación |
|---|---|---|
| Dirección MAC duplicada | Errores de CRC y de trama, pérdida del testigo y dos dispositivos que aparecen y desaparecen por turnos | Configuración MAC (a menudo interruptores DIP) de cada dispositivo |
| Velocidades distintas | Un dispositivo nunca responde y el analizador muestra errores de trama cuando transmite | Velocidad de cada dispositivo, incluidos los configurados para detección automática |
| Max_Master demasiado bajo en un dispositivo | Los maestros con direcciones superiores a su Max_Master nunca reciben el testigo ni aparecen | Max_Master de todos los maestros, no solo del router |
| Terminación ausente o de más, o falta de polarización | Errores que aumentan con la longitud del cable o el tráfico, y ruido con la línea inactiva | 120 Ω solo en los dos extremos físicos; polarización en un punto |
| Pérdida del testigo | El bus queda en silencio durante 500 ms (Tno_token) y un maestro genera otro testigo; se repite | Ruido, un dispositivo que se reinicia o una MAC duplicada |
La guía de cableado RS-485 explica la terminación y la polarización.
Cableado de BACnet MS/TP
MS/TP sigue las mismas reglas RS-485 que Modbus RTU: bus en cadena, derivaciones cortas, terminación en los dos extremos físicos, polarización en un punto y referencia de señal. La norma 135 (cláusula 9.2.1) especifica el cable: par trenzado apantallado con una impedancia característica entre 100 y 130 Ω, una capacitancia entre conductores inferior a 100 pF por metro y entre conductores y pantalla inferior a 200 pF por metro. Se admiten pantallas de lámina o de malla. La longitud máxima recomendada de un segmento es 1.200 m con cable AWG 18 (0,82 mm²). El cable de red habitual de categoría 5 es de 100 Ω y normalmente no está apantallado, así que compruebe su capacitancia y elija un tipo apantallado antes de usarlo para MS/TP. El apéndice 135-2008y (2010) añadió diagramas y reglas sobre aislamiento, puesta a tierra y conductor de referencia. Un bus entre edificios necesita aislamiento de 1.500 V. El comprobador de terminación y polarización RS-485 muestra dónde van las resistencias de terminación y polarización en un bus concreto.
MS/TP y Modbus RTU no pueden compartir un bus. Sus tramas son diferentes y un maestro Modbus interrumpiría el paso del testigo.
Encaminamiento de MS/TP a BACnet/IP
Un router BACnet conecta un bus MS/TP con una red BACnet/IP; a menudo está integrado en el controlador supervisor del BMS. Cada red BACnet de la instalación, IP o MS/TP, necesita un número entre 1 y 65.534 que no use ninguna otra red. Dos redes con el mismo número envían mensajes al bus equivocado y los dispositivos parecen cambiar de identidad.
Un cliente IP llega a un dispositivo MS/TP a través del router mediante el número de red MS/TP y la dirección MAC del dispositivo. El cliente que descubre por instancia no necesita conocerlos: el router reenvía Who-Is al bus y devuelve las respuestas I-Am con la red y dirección de origen. Para enumerar las redes situadas detrás de un router, envíe Who-Is-Router-To-Network. Este responde con I-Am-Router-To-Network y los números de red que sirve. La guía de encaminamiento y BBMD explica cómo cruzan las difusiones las subredes IP.
Elección en una modernización
| Situación | Opción habitual |
|---|---|
| Leer datos energéticos de controladores MS/TP existentes | Leer a través del router o supervisor existente por BACnet/IP. No conecte un segundo maestro al bus sin acordarlo con el responsable del BMS: necesita una dirección MAC libre, Max_Master correcto en todos los dispositivos y parte del tiempo de testigo. |
| Equipo nuevo con puerto Ethernet | BACnet/IP, en la red de control del edificio |
| Muchos controladores pequeños nuevos por planta | Buses MS/TP hacia un router. Dimensione cada bus con el cálculo anterior, incluidas las lecturas que añadirán los sistemas de energía y análisis. |
| Controladores lejos de cualquier conmutador de red | MS/TP, o un sensor inalámbrico si solo se necesita monitorización |
BACnet con Edge
Edge, en el Gateway ZGW-20, es un cliente BACnet/IP. Lee los controladores MS/TP a través de un router BACnet de la instalación. No se conecta directamente al bus MS/TP ni utiliza BACnet/SC. La guía de pasarelas Modbus y BACnet explica la diferencia entre un router BACnet, un convertidor de protocolos y una pasarela IoT como esta. Edge consulta Present_Value en intervalos alineados al minuto, como 60 o 300 s, o una vez por minuto en modo de transmisión en directo. No utiliza suscripciones COV. Para dimensionar el bus, cuente cada punto como una lectura por intervalo en el ejemplo anterior. La guía de BACnet frente a Modbus describe qué lee y escribe Edge; la guía de COV y consultas periódicas compara los dos métodos.
Esta guía forma parte de la serie sobre BACnet y protocolos de edificios.
Preguntas frecuentes
¿Qué es BACnet/IP?
BACnet transportado en paquetes UDP/IP por Ethernet u otra red IP, según el anexo J de la norma ASHRAE 135. Cada dispositivo se alcanza en una dirección IP y un puerto UDP, 47808 por defecto. Lo utilizan normalmente los controladores supervisores, los controladores de planta y los servidores del BMS.
¿Qué es BACnet MS/TP?
Maestro-esclavo con paso de testigo: BACnet transportado por un par trenzado RS-485, según la cláusula 9 de la norma 135. Los maestros, con direcciones MAC de 0 a 127, se pasan un testigo y solo transmiten mientras lo tienen. Funciona de 9.600 a 115.200 bit/s y suele conectar controladores de habitación, VAV y fancoil a un router BACnet.
¿Qué diferencia hay entre BACnet/IP y BACnet MS/TP?
BACnet/IP transporta mensajes BACnet en datagramas UDP por una red IP. BACnet MS/TP los transporta por un par trenzado RS-485, donde los maestros se pasan un testigo y solo transmiten cuando lo poseen. Objetos y servicios son iguales, pero cambian velocidad, direccionamiento y tamaño máximo: 1.476 octetos por APDU en BACnet/IP y 480 en MS/TP.
¿Qué puerto utiliza BACnet/IP?
El puerto UDP 47808 por defecto, 0xBAC0 en hexadecimal. El anexo J admite otros puertos UDP. Los dispositivos que deben oír directamente las difusiones de los demás utilizan el mismo puerto. MS/TP no tiene número de puerto: es un bus serie.
¿Qué velocidad utiliza BACnet MS/TP?
Todo dispositivo MS/TP debe admitir 9.600 y 38.400 bit/s. Son opcionales 19.200, 57.600, 76.800 y 115.200 bit/s; las de 57.600 y 115.200 se añadieron en el apéndice 135-2008ab, por lo que algunos equipos antiguos no las ofrecen. Todos los dispositivos del bus deben usar la misma velocidad.
¿Cuántos dispositivos admite un bus MS/TP?
Las direcciones de maestros van de 0 a 127 y las de esclavos pueden llegar a 254. Un segmento RS-485 admite 32 cargas unitarias sin repetidor. Los transceptores de media o un cuarto de carga unitaria elevan esa cifra a unos 62 o 124 dispositivos junto a un router de carga completa. Normalmente el tiempo de rotación del testigo limita el bus antes.
¿Cómo conecto dispositivos MS/TP a BACnet/IP?
Mediante un router BACnet, a menudo integrado en un controlador supervisor del BMS. El router asigna al bus MS/TP su propio número de red; así, los clientes IP pueden llegar a cada dispositivo por número de red y dirección MAC.
¿Es BACnet/IP lo mismo que EtherNet/IP?
No. BACnet/IP transporta mensajes BACnet sobre UDP, por defecto en el puerto 47808. EtherNet/IP es el Common Industrial Protocol (CIP) de ODVA, que utilizan sobre todo los PLC. Un cliente BACnet/IP no puede leer un dispositivo EtherNet/IP, ni a la inversa.
¿Qué cable utiliza BACnet MS/TP?
Par trenzado apantallado con una impedancia característica entre 100 y 130 Ω y una capacitancia entre conductores inferior a 100 pF por metro, según especifica la norma 135. La longitud máxima recomendada de un segmento es 1.200 m con cable AWG 18 (0,82 mm²). Termine los dos extremos y polarice en un punto, como en cualquier bus RS-485.