Protocolos y datos

BACnet/IP frente a MS/TP

Compara BACnet/IP y MS/TP: velocidad, tamaño de APDU, paso de testigo, capacidad del bus, fallos, encaminamiento y lectura de controladores en un retrofit.

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/IPBACnet MS/TP
Red físicaEthernet u otra red IPPar trenzado RS-485 en cadena
VelocidadEthernet a 10 o 100 Mbit/s; normalmente limita el procesamiento del controladorDe 9.600 a 115.200 bit/s
APDU máximo sin segmentar1.476 octetos480 octetos
Dirección del dispositivo en su redDirección IP y puerto UDPDirección MAC: de 0 a 127 para maestros y hasta 254 para esclavos
Acceso a la redCualquier dispositivo puede enviar en cualquier momentoSolo el maestro que posee el testigo inicia una transmisión
Difusiones de descubrimientoPermanecen en una subred IP salvo que las reenvíen los BBMDLlegan a todos los dispositivos del bus; los esclavos solo responden a Who-Is mediante un proxy de esclavos
Dispositivos habitualesControladores supervisores, de enfriadoras, calderas y unidades de tratamiento de aireControladores 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 lecturaOctetos en el cableTiempo a 9.600 bit/sTiempo a 38.400 bit/sTiempo a 76.800 bit/s
Petición ReadProperty, con cabecera de encaminamiento3233,3 ms8,3 ms4,2 ms
Respuesta ReadProperty (ComplexACK)3940,6 ms10,2 ms5,1 ms
Dos cambios de sentido de 40 tiempos de bit8,3 ms2,1 ms1,0 ms
Respuesta del controlador, supuesto5 ms5 ms5 ms
Una lecturaunos 87 msunos 26 msunos 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

FalloQué se observaComprobación
Dirección MAC duplicadaErrores de CRC y de trama, pérdida del testigo y dos dispositivos que aparecen y desaparecen por turnosConfiguración MAC (a menudo interruptores DIP) de cada dispositivo
Velocidades distintasUn dispositivo nunca responde y el analizador muestra errores de trama cuando transmiteVelocidad de cada dispositivo, incluidos los configurados para detección automática
Max_Master demasiado bajo en un dispositivoLos maestros con direcciones superiores a su Max_Master nunca reciben el testigo ni aparecenMax_Master de todos los maestros, no solo del router
Terminación ausente o de más, o falta de polarizaciónErrores que aumentan con la longitud del cable o el tráfico, y ruido con la línea inactiva120 Ω solo en los dos extremos físicos; polarización en un punto
Pérdida del testigoEl bus queda en silencio durante 500 ms (Tno_token) y un maestro genera otro testigo; se repiteRuido, 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ónOpción habitual
Leer datos energéticos de controladores MS/TP existentesLeer 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 EthernetBACnet/IP, en la red de control del edificio
Muchos controladores pequeños nuevos por plantaBuses 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 redMS/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.