¿Qué es el Object Identifier de BACnet?
Todo objeto de un dispositivo BACnet tiene que ser direccionable, y el Object_Identifier es cómo se direcciona. Es un valor compacto que funde dos hechos - qué clase de objeto es este y cuál de ellos - en una sola referencia que el cliente usa para leerlo o escribirlo. Esta referencia explica cómo se construye el identificador a partir de un tipo de objeto y un número de instancia, por qué el identificador del objeto Device funge además como la dirección del propio dispositivo, y cómo este esquema de direccionamiento sostiene el descubrimiento y el enrutamiento a través de una interred BACnet.
Object Identifier de BACnet en una línea: Un Object_Identifier de BACnet combina un tipo de objeto y un número de instancia en un solo valor que nombra de forma única a un objeto dentro de su dispositivo - por ejemplo, Analog Input instancia 3, o Binary Output instancia 12. La mitad del tipo le dice al cliente cómo interpretar el objeto; la de la instancia lo distingue de otros objetos del mismo tipo. El identificador del objeto Device lleva el número de instancia del dispositivo, que debe ser único en toda la interred BACnet.
Tipo más instancia en un solo valor
El Object_Identifier codifica dos piezas de información juntas. La primera es el tipo de objeto - Analog Input, Binary Output, Schedule, Trend Log y demás - tomado de la lista enumerada de tipos del estándar. La segunda es el número de instancia, que distingue a los objetos del mismo tipo en el mismo dispositivo. Así, Analog Input 0, Analog Input 1 y Analog Input 2 son tres sensores distintos, mientras que Analog Input 0 y Binary Input 0 son objetos sin relación que comparten número de instancia pero difieren en tipo. El identificador solo tiene significado como el tipo y la instancia juntos, exactamente como un punto DNP3 necesita tanto su grupo de objetos como su índice.
Esta estructura significa que los números de instancia reinician por tipo. Un dispositivo puede tener Analog Inputs del 0 al 40 y Binary Inputs del 0 al 40 al mismo tiempo, sin conflicto, porque el tipo los desambigua. Cuando un cliente quiere un punto específico, nombra el identificador completo - el tipo y la instancia - y el dispositivo devuelve exactamente ese objeto. Leer un número de instancia crudo sin su tipo es, por tanto, ambiguo, y por eso la documentación de puntos de un dispositivo BACnet siempre registra el tipo de objeto junto a la instancia.
Como el identificador es un solo valor, viaja compacto en cada petición de servicio. Una petición ReadProperty nombra el Object_Identifier del objeto que quiere y la propiedad que quiere de ese objeto. El dispositivo separa el tipo y la instancia del identificador, localiza el objeto y devuelve la propiedad. Este es el mecanismo de direccionamiento detrás de cada lectura y escritura, y entenderlo hace concreto el modelo de objetos y propiedades: a un objeto se llega por su identificador, y a un valor se llega nombrando una propiedad de ese objeto.
El identificador del objeto Device como dirección del dispositivo
Todo dispositivo BACnet tiene exactamente un objeto Device, y el identificador de ese objeto es especial: su número de instancia es el número de instancia del dispositivo, la dirección por la que el dispositivo completo se conoce en la interred. Cuando un cliente descubre dispositivos con una difusión Who-Is, las respuestas I-Am que recibe llevan el identificador del objeto Device de cada equipo, y así el cliente aprende qué instancias de dispositivo están presentes. El número de instancia del objeto Device no es, entonces, la dirección de un objeto más entre muchos: es la identidad del propio dispositivo.
Por eso la numeración de instancias de dispositivo es un asunto de planeación y no una ocurrencia tardía. La instancia de dispositivo debe ser única en toda la interred BACnet, no solo en un segmento, porque un cliente en cualquier punto de la interred direcciona a un dispositivo por ese número. Dos dispositivos compartiendo instancia causan respuestas que confunden a los clientes y equipos que aparecen y desaparecen, una falla explorada en la guía de numeración de instancias de dispositivo. El esquema del identificador de objeto es lo que hace esencial, y no opcional, un plan de numeración coherente.
La instancia de dispositivo también ancla cómo se direcciona por completo un valor a través de una red. Un punto específico en un sistema grande se identifica por la instancia de dispositivo más el identificador de objeto dentro de ese dispositivo - dispositivo 200401, Analog Input 3, por ejemplo. La instancia de dispositivo localiza al controlador; el identificador de objeto localiza el punto dentro de él. Ese direccionamiento de dos niveles es lo que permite a un cliente supervisorio alcanzar cualquier punto de cualquier dispositivo a través de una interred BACnet enrutada, siempre que estén en su lugar el enrutamiento y, donde se cruzan subredes, la infraestructura de difusión descrita en la referencia del BBMD.
Preguntas frecuentes
¿Qué dos cosas componen un Object Identifier de BACnet?
Un tipo de objeto y un número de instancia, fundidos en un solo valor. El tipo - como Analog Input, Binary Output o Schedule - le dice al cliente cómo interpretar el objeto. El número de instancia distingue a los objetos de ese mismo tipo en el mismo dispositivo. El identificador solo tiene significado como el par, así que Analog Input 3 y Binary Output 3 son objetos por completo distintos que casualmente comparten número de instancia.
¿Por qué los números de instancia de objeto BACnet reinician por tipo?
Porque el tipo de objeto es parte del identificador, así que los números de instancia solo necesitan ser únicos dentro de un tipo. Un dispositivo puede tener Analog Inputs del 0 al 40 y Binary Inputs del 0 al 40 a la vez sin conflicto, ya que el tipo los desambigua. Por eso la documentación de puntos siempre registra el tipo de objeto junto al número de instancia: la instancia sola es ambigua sin él.
¿Qué es el número de instancia de dispositivo en el Object Identifier?
Es el número de instancia del único objeto Device del dispositivo, y funge además como la dirección del equipo completo en la interred BACnet. El descubrimiento Who-Is devuelve el identificador del objeto Device de cada equipo, y así los clientes conocen a los dispositivos por ese número. Debe ser único en toda la interred, no solo en un segmento, porque los clientes de cualquier punto direccionan a un dispositivo por su instancia.
Fuentes y lecturas
Referencias primarias de los organismos de normas y reguladores que definen este tema:
- ASHRAE Standard 135 (BACnet) - ASHRAE
Servicios de automatización
¿Necesita convertir esta información en un sistema que funcione?
Merobix integra SCADA, programa PLC Allen-Bradley y Siemens, y diseña y fabrica tableros de control industrial.
Las solicitudes de reunión se revisan antes de confirmarse.