BACnet

Conectar dispositivos de automatización de edificios BACnet/IP: instancia de dispositivo, direccionamiento por tipo e instancia de objeto, descubrimiento Who-Is y presentValue.

Ver como Markdown

El controlador BACnet habla con equipos de automatización de edificios por BACnet/IP. Cada tag lee el valor presente de un objeto BACnet: la lectura en vivo de una entrada analógica, el estado de una salida binaria, la posición de un valor multiestado. Añada un dispositivo bajo el controlador BACnet en el Connector; el panel muestra solo los campos que usa este protocolo.

Conexión

Campo Significado Por defecto
Host o IP Dirección IP o nombre de host del dispositivo BACnet (o del enrutador que responde por él). vacío
Puerto Puerto UDP del dispositivo. 0 usa el 47808, el estándar de BACnet/IP. 0
Id del dispositivo El número de instancia del dispositivo: el número de su objeto Device, único en la red BACnet. 0

La cabecera del dispositivo muestra el punto de conexión ya compuesto, por ejemplo bacnet://192.168.0.30:47808/1234. Conectar envía una petición del tamaño de la lista de objetos del dispositivo para confirmar que el equipo responde; la lista de objetos en sí no se recorre. Esa respuesta es la conexión: un dispositivo que no contesta se queda sin conexión en lugar de aparecer como conectado, y el motivo (el puerto UDP ya ocupado, una dirección que no es una dirección) se escribe en la página Eventos y en el archivo de registro del día. Este controlador no tiene campos de intervalo de sondeo: sus tags se leen una vez por segundo.

Direccionamiento

Un tag BACnet se direcciona con dos campos tipados de la tarjeta Origen del tag, sin ninguna dirección de texto libre:

Campo Significado Valores aceptados Por defecto
Tipo de objeto Qué clase de objeto BACnet se va a leer. los nueve tipos de abajo AnalogInput
Instancia El número de instancia del objeto dentro de su tipo. 0 en adelante 0

Los tipos de objeto ofrecidos y sus códigos de tipo BACnet estándar:

Tipo de objeto Código El valor presente contiene
AnalogInput 0 un número medido
AnalogOutput 1 un número ordenado
AnalogValue 2 un número guardado
BinaryInput 3 inactivo/activo
BinaryOutput 4 inactivo/activo
BinaryValue 5 inactivo/activo
MultiStateInput 13 un número de estado a partir de 1
MultiStateOutput 14 un número de estado a partir de 1
MultiStateValue 19 un número de estado a partir de 1

AnalogInput 5 en el dispositivo 1234 significa "el valor presente de la entrada analógica 5 de ese dispositivo". Cada lectura pide la propiedad presentValue del objeto; las demás propiedades no son direccionables. La línea de solo lectura Dirección de origen (bus) de la tarjeta Origen muestra la pareja type,instance ya compuesta mientras se edita.

Tipos de dato

El selector Tipo de dato ofrece cuatro tipos. Elija el que se corresponda con el objeto:

Tipo de dato Encaja con Notas
Float los objetos analógicos un valor presente Real; los double se estrechan a Float
Boolean los objetos binarios un valor presente Boolean, o el 0 y el 1 enumerados con los que contesta un objeto binario
Int32 los valores multiestado y otros valores enteros las respuestas con signo, sin signo y enumeradas llegan todas aquí
String los valores de cadena de caracteres el texto tal como lo envía el dispositivo

El tipo elegido tiene que coincidir con lo que contiene el objeto. Un dispositivo que responde con otra cosa hace fallar la lectura de ese tag: el tag pasa a mala calidad y el motivo nombra lo que llegó ("El dispositivo respondió un valor Single para un punto declarado Integer."), en lugar de dejar que entre un número convertido en la tendencia, en el histórico y en las alarmas. Leer un objeto analógico como Boolean, o un Real como Int32, es exactamente ese caso. El resto del dispositivo sigue leyendo; nada se reconecta por un tag cuyo tipo está equivocado.

Escrituras

Se pueden escribir los tags cuyo Acceso es Lectura y escritura o Solo escritura. Una escritura fija el presentValue del objeto, tipado según el tipo de dato del tag: Float escribe un Real de BACnet, Boolean un Boolean de BACnet, Int32 un entero con signo y String una cadena de caracteres. Con la escritura no se envía ninguna prioridad de mando. Un equipo que exige otro tipo para su valor presente (algunas salidas binarias solo aceptan un valor Enumerated, por ejemplo) puede rechazar la escritura; el tag informa entonces del fallo en vez de fingir que salió bien. Un tag nuevo nace como Solo lectura.

Descubrimiento

El botón Descubrir del Connector difunde un Who-Is de BACnet y escucha las respuestas I-Am durante 10 segundos. Todo dispositivo que contesta se convierte en un candidato que lleva su dirección, su puerto y su instancia de dispositivo, listo para añadirlo con los campos de conexión rellenos, y aparece en la lista en el mismo momento en que contesta y no al final de los diez segundos: una exploración que se cancela a mitad conserva todo lo que ya había respondido. La exploración no recorre los objetos, así que los candidatos llegan con cero tags; ponga usted las parejas de tipo e instancia de objeto.

Un dispositivo que responde a través de un enrutador BACnet se añade igual. Su candidato lleva la dirección del enrutador y, junto a ella, la red propia del dispositivo y su dirección en esa red; las dos se conservan al añadirlo, y cada lectura se envía al enrutador nombrando el dispositivo que hay dentro. Un dispositivo encontrado así se lee, por tanto, como cualquier otro, y su punto de conexión se lee "dispositivo vía enrutador". Un dispositivo añadido a mano no tiene ruta y se alcanza directamente en su host.

Conviene saber

  • Solo BACnet/IP: un equipo MS/TP o BACnet/SC solo es alcanzable a través de un enrutador que lo presente en BACnet/IP, y la exploración es lo que lo encuentra: la ruta por la que un dispositivo contesta se conserva desde la exploración, así que añádalo desde la lista de descubiertos en vez de escribir sus campos a mano.
  • El controlador se comunica desde el puerto UDP estándar de BACnet, el 47808, en esta estación; otra aplicación BACnet que ocupe ese puerto en exclusiva en la misma máquina puede entrar en conflicto con él.
  • El sondeo está fijado en un segundo para todos los tags de este controlador; los campos habituales de intervalo de sondeo no se muestran.