BACnet

Conectar equipos 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 driver BACnet habla con equipos de automatización de edificios sobre 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. Agregue un dispositivo bajo el driver BACnet en el Connector; el panel muestra solo los campos que usa este protocolo.

La conexión

Campo Significado Valor inicial
Host o IP Dirección IP o nombre de host del dispositivo BACnet (o del enrutador que contesta 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

El encabezado del dispositivo muestra el punto de conexión armado, por ejemplo bacnet://192.168.0.30:47808/1234. Conectarse envía una sola petición por el tamaño de la lista de objetos del dispositivo, para confirmar que el equipo contesta; la lista de objetos misma no se recorre. Esa respuesta es la conexión: un dispositivo que no contesta se queda sin conexión en lugar de mostrarse como conectado, y el motivo (el puerto UDP ya tomado, 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 driver no tiene campos de intervalo de sondeo: sus tags se leen una vez por segundo.

El direccionamiento

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

Campo Significado Valores aceptados Valor inicial
Tipo de objeto Qué clase de objeto BACnet se lee. 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 estándar de BACnet:

Tipo de objeto Código El valor presente contiene
AnalogInput 0 un número medido
AnalogOutput 1 un número comandado
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 desde 1
MultiStateOutput 14 un número de estado desde 1
MultiStateValue 19 un número de estado desde 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 el par tipo,instancia armado conforme usted edita.

Los tipos de dato

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

Tipo de dato Sirve para Notas
Float los objetos analógicos un valor presente Real; los dobles se estrechan a Float
Boolean los objetos binarios un valor presente booleano, o el 0 y el 1 enumerados con los que contesta un objeto binario
Int32 los multiestado y los demás 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 manda el dispositivo

El tipo elegido tiene que coincidir con lo que contiene el objeto. Un dispositivo que contesta 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 contestó un valor Single para un punto declarado como Integer."), en lugar de que un número convertido entre en la tendencia, en el histórico y en las alarmas. Leer un objeto analógico como booleano, o un Real como Int32, es exactamente ese caso. El resto del dispositivo sigue leyendo; nada se reconecta por un tag cuyo tipo está mal.

Las escrituras

Los tags cuyo Acceso es Lectura y escritura o Solo escritura se pueden escribir. Una escritura pone el presentValue del objeto, tipado por 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 comando. Un equipo que insiste en otro tipo para su valor presente (algunas salidas binarias solo aceptan un valor Enumerated, por ejemplo) puede rechazar la escritura; el tag reporta entonces la falla en lugar de fingir que salió bien. Un tag nuevo arranca como Solo lectura.

El descubrimiento

El botón Descubrir del Connector difunde un Who-Is de BACnet y escucha las respuestas I-Am durante 10 segundos. Cada dispositivo que contesta se convierte en un candidato que lleva su dirección, su puerto y su instancia de dispositivo, listo para agregarse con los campos de conexión llenos, y aparece en la lista en cuanto contesta y no al final de los diez segundos: un escaneo que usted cancele a medio camino conserva todo lo que ya había contestado. El escaneo no recorre los objetos, así que los candidatos llegan con cero tags; ponga usted mismo los pares de tipo e instancia de objeto.

Un dispositivo que contesta a través de un enrutador BACnet se agrega 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 cuando usted lo agrega, y cada lectura se envía al enrutador nombrando al dispositivo que hay dentro. Por eso un dispositivo encontrado así se lee como cualquier otro, y su punto de conexión dice "dispositivo a través del enrutador". Un dispositivo agregado a mano no tiene ruta y se alcanza directamente en su host.

Bueno saber

  • Solo BACnet/IP: un equipo MS/TP o BACnet/SC se alcanza únicamente a través de un enrutador que lo presente en BACnet/IP, y el escaneo es lo que lo encuentra: la ruta por la que contesta un dispositivo se conserva desde el escaneo, así que agréguelo desde la lista descubierta en lugar de escribir sus campos a mano.
  • El driver se comunica desde el puerto UDP estándar de BACnet, el 47808, en esta estación; otra aplicación BACnet que tenga ese puerto en exclusiva en la misma máquina puede entrar en conflicto con él.
  • El sondeo es fijo de un segundo para todos los tags de este driver; los campos habituales de intervalo de sondeo no se muestran.