Un BMS de un edificio comercial suele utilizar dos redes BACnet: BACnet/IP entre controladores supervisores y equipos centrales, y BACnet MS/TP (maestro-esclavo con paso de testigo) por un par trenzado RS-485 hasta los controladores de las unidades terminales de cada planta. 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.
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 |
| 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 |
| 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 |
| 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.
Cómo funciona 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
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 en el cable | 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
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. 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.
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. 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é 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é 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.