BACnet

BACnet

Le protocole BACnet est un protocole spécifié par l'organisation ASHRAE (association de constructeurs et d'utilisateurs dans le domaine du chauffage de la ventilation et de la climatisation (CVC ou HVAC)). La spécification de ce protocole est devenue un standard international normalisé par l'ANSI[1] et l'ISO.

La spécification BACnet intègre plusieurs aspects indépendants les uns des autres :

  • La spécification des supports physiques utilisables (ARCnet, MS/TP, Ethernet, …) et leurs conditions d'utilisation.
  • La spécification des données et des messages échangés entre des éléments "clients" et des éléments "serveurs".
  • La spécification, sur une base "objet", des principes des échanges entre les clients et les serveurs.
  • La spécification des "services" (accès aux objets, alarmes et événements, …) utilisables au travers du protocole BACnet.

Un réseau BACnet et une application de supervision sont tous deux des systèmes intégralement orientés "objet". Du fait de cette logique objet intrinsèque, il est alors possible de les intégrer (les faire communiquer) nativement, sans passer par une conversion entre les objets BACnet et des variables de supervision.

Sommaire

Architecture réseau de BACnet

L'architecture réseau du protocole BACnet peut être mise en relation avec le modèle d'architecture OSI (Open System Interconnection) de l'ISO. Il s'agit cependant d'une architecture simplifiée qui fait référence uniquement aux couches : physique, liaison, réseau, application. Les couches : transport, session et présentation ne sont pas utilisées dans le cas présent.

Les couches réseau et application font l'objet de spécifications propres au protocole BACnet. Les couches : physique et liaison font référence à des spécifications existantes indépendantes de BACnet :

  • ISO 8802-02 + (ISO 8802-3 ou Arcnet)
  • MS/TP + EIA-485
  • PTP + EIA-232
  • Lontalk
  • UDP/IP
Couches BACnet Equivalent OSI

Couche application BACnet

Couche application

Couche réseau BACnet

Couche réseau

ISO 8802-2

MS/TP

PTP

LonTalk

BVLL

Couche liaison

ISO 8802-3

ARCNET

EIA-485

EIA-232

UDP/IP

Couche physique

Topologies des réseaux

Un "système BACnet" est constitué d'un ensemble de devices interconnectés. Cette interconnexion s'appuie sur plusieurs concepts :

Le segment BACnet

Un segment BACnet est constitué d'un ensemble de devices connectés sur un ou plusieurs segments physiques (reliés par des répéteurs) de même nature. Un segment BACnet est homogène du point de vue de la couche physique.

Le réseau BACnet

Un réseau BACnet est constitué d'un ensemble de segments interconnectés par des "ponts". Les devices d'un réseau BACnet sont homogènes du point de vue de la couche liaison.

L'inter-réseau BACnet

L'inter-réseau BACnet est constitué d'un ensemble de réseaux BACnet interconnectés par des routeurs. Les technologies réseau (couche liaison et couche physique) peuvent être différentes pour chacun des réseaux BACnet.

Adressage BACnet

Le protocole BACnet fait appel à plusieurs mécanismes pour l'adressage des devices BACnet en fonction de la couche à laquelle on s'intéresse :

Couche physique

Pour la couche physique, l'adressage des devices n'est pas spécifique à BACnet et se fait en fonction de la technologie utilisée. Cette adresse est identifiée (vu de la couche réseau) comme la "MAC address". Pour la technologie IP par exemple il s'agit de l'ensemble "port UDP + adresse IP".

Couche réseau

Pour la couche réseau, l'adressage des devices fait appel à l'ensemble "numéro de réseau + MAC address". Tous les devices d'un même réseau BACnet doivent appartenir au même domaine (ou espace) d'adressage. Si un système BACnet comporte des devices de même technologie (par exemple BACnet IP) mais répartis dans des domaines d'adressage distincts (par exemple 192.168.10.X et 192.168.20.X), ils doivent alors être répartis dans plusieurs réseaux BACnet comportant un numéro de réseau distinct pour former un inter-réseau BACnet.

Couche application

Pour la couche application, l'adressage des devices s'appuie sur le mécanisme général d'adressage des objets BACnet (le device est représenté sur le réseau au travers d'un objet BACnet). L'adressage d'un objet BACnet fait appel à l'ensemble "type d'objet + numéro d'instance". Cette adresse est référencée sous le nom "BACnetObjectIdentifier".
Des règles unicité doivent être respectées pour permettre un adressage non ambigu des objets (et donc des devices) :
  • Chaque objet BACnet d'un même device doit avoir un "BACnetObjectIdentifier" unique au sein du device.
  • Chaque device BACnet doit avoir un "BACnetObjectIdentifier" (ou Device ID) unique au sein d'un inter-réseau (ou système) BACnet.

Utilisation sur réseau IP

Les travaux de spécifications du protocole BACnet ont débuté (1987) à une époque où la technologie IP n'était pas encore la technologie réseau "universelle" (au moins dans la majorité des domaines) qu'elle est devenue à ce jour.

L'intégration de cette technologie dans les spécifications du protocole BACnet a fait l'objet d'une annexe (annexe J) qui précise les conditions de son utilisation pour ce protocole. L'utilisation du protocole BACnet sur IP est généralement mentionnée sous l'appellation "BACnet/IP".

Le choix du protocole IP utilisé pour BACnet s'est porté sur UDP. Le choix de ce protocole, sans garantie d'acheminement, est basé sur le fait que la messagerie BACnet intègre elle-même les mécanismes de garantie d'acheminement (timeout d'acquittement de réception et tentatives multiples).

Un problème propre au protocole BACnet est posé pour son utilisation sur des réseaux IP publics ou d'entreprise. Ce problème est lié à l'utilisation du principe de broadcast inhérent à certains services du protocole BACnet. Les messages broadcast étant généralement filtrés par les équipements des réseaux non strictement locaux, une réponse spécifique a été apportée à ce problème. Cette réponse est basée sur la notion de "BBMD" (BACnet/IP Broadcast Management Device).

La notion de BBMD correspond à une fonction de "propagation dirigée" des messages broadcast. Une fonction BBMD doit être présente sur chacun des segments de réseau qui doit être relié à un autre segment au travers d'un dispositif qui filtre les messages broadcast. Cette fonction, de la couche réseau, se base sur des tables de configuration (BDT et FDT) pour retransmettre, aux réseaux distants, les messages broadcast émis par les devices locaux, et générer sur le réseau local les demandes de broadcast transmis par les réseaux distants.

Fonctionnement de la couche application de BACnet

La couche application de BACnet repose essentiellement sur la définition d'un ensemble d'objets manipulés, au travers du réseau, par un ensemble de services.

Les objets de BACnet

La notion d'objet est une notion fondamentale du protocole BACnet. Les objets sont utilisés d'une part pour représenter les informations gérées par les devices et échangées au travers du protocole, et d'autre part pour une gestion optimale de certains services ou de fonctions applicatives.

Généralités

Pour le protocole BACnet, un objet est caractérisé par une liste de propriétés et par les valeurs de ces dernières. Les spécifications de BACnet définissent un certain nombre de types d'objets (classes) en indiquant la liste et les caractéristiques des propriétés de chacun des types. Certaines propriétés sont obligatoires pour qu'un objet soit conforme à la définition d'un type, d'autres sont optionnelles. Un constructeur d'équipements BACnet peut ajouter des propriétés qui lui sont propres aux objets standards, et il peut également définir ses propres types d'objets.

L'identification d'un objet (son adresse) au sein d'un système BACnet fait intervenir deux propriétés obligatoires (indépendantes) :

  • Object_Identifier
Cette propriété est constituée de la concaténation du type de l'objet et d'un numéro d'instance. La valeur de cette propriété doit être unique pour le système s'il s'agit d'un objet "device", ou doit être unique au sein du device qui le gère pour les autres objets.
  • Object_Name
Cette propriété est une chaîne de caractères qui doit obéir aux mêmes règles d'unicité que la propriété Object_Identifier.

La définition du type d'un objet est indiquée par la propriété obligatoire Object_Type.

Les objets de données

Dans l'ensemble des types d'objets standards de BACnet un certain nombre d'entre eux sont utilisés pour gérer une donnée élémentaire du système. Ces objets sont les suivants :

  • Accumulator, Analog Input, Analog Output, Analog Value, Binary Input, Binary Output, Binary Value, Multi-state Input, Multi-state Output, Multi-state Value
D'une façon générale, ces objets ont pour fonction de représenter la valeur d'une donnée au travers de leur propriété "Present_Value". Ils peuvent comporter des conditions d'alarme et être couplés à un objet de notification (Notification_Class) pour générer des alarmes ou des événements lors du franchissement de ces conditions.

Les objets fonctionnels

Les objets fonctionnels réalisent la prise en charge d'une fonction destinée à piloter des propriétés d'autres objets ou à élaborer des résultats localement. Les objets fonctionnels définis par les spécifications BACnet sont les suivants :

  • Averaging : calcul d'indicateurs statistiques sur une donnée (minimum, maximum, moyenne, variance)
  • Calendar : définition d'une liste de plages calendaires (est généralement utilisé par référence par les objets Schedule)
  • Command : objet utilisé pour déclencher un ensemble d'actions préconfigurées au travers d'une seule écriture de la Present_Value de l'objet Command
  • Event Enrollment : permet de définir des conditions de génération d'événements en dehors des conditions intrinsèques aux objets
  • Group : est utilisé pour donner accès simplement à un ensemble de données
  • Loop : permet de représenter, de façon standardisée, une boucle de régulation
  • Program : permet de représenter, de façon standardisée, un programme exécuté dans un device BACnet
  • Pulse Converter : élaboration d'une grandeur physique à partir d'un comptage d'impulsions
  • Schedule : objet de commande de propriétés d'autres objets sur la base d'une programmation horaire
  • Trend Log : réalise l'historisation de la valeur de propriétés d'autres objets
  • Event Log : réalise l'historisation d'événements
  • Structured View : permet de décrire une organisation (qui peut être hiérarchique) entre des objets d'un système BACnet
  • Trend Log Multiple : réalise l'historisation d'un ensemble de propriétés d'autres objets

Certains objets fonctionnels sont plus particulièrement adaptés pour un "métier" particulier (contrôle d'accès, détection incendie, …).

  • Life Safety Point : point de détection incendie
  • Life Safety Zone : permet de définir des zones de détection incendie constituées d'une liste de détecteurs et de zones
  • Access Door : permet de représenter, de façon standardisée, une porte de contrôle d'accès
  • Load Control : permet de représenter, de façon standardisée, une fonction de délestage

D'autres objets fonctionnels sont utilisés en liaison avec les services proposés par le protocole BACnet.

  • Device : l'objet Device représente l'ensemble des caractéristiques d'un équipement BACnet présent sur le réseau
  • Notification Class : cet objet est utilisé pour définir les conditions de diffusion des notifications pour tout ou partie des alarmes et des événements

Gestion des propriétés "commandables"

Il existe deux types de propriétés du point de vue des opérations d'écriture : "commandable" ou "non commandable". Pour les propriétés "commandables", une notion de priorité permet de gérer des forçages de valeur en fonction du niveau de priorité utilisé lors de la demande d'écriture. Un tableau de priorités est géré par les objets qui disposent d'une propriété "commandable". Ce tableau dispose d'un emplacement pour chacun des 16 niveaux de priorité possibles. Ce tableau contient la dernière valeur éventuellement écrite pour un niveau donné. La valeur prise par la propriété concernée est alors la valeur associée à la priorité la plus élevée. La priorité d'écriture est spécifiée à chaque demande d'écriture. Une demande d'écriture avec la valeur NULL libère le niveau de priorité spécifié.

Les services de BACnet

La couche application du protocole BACnet spécifie également un ensemble de services qui permettent de gérer les devices et les objets des devices qui constituent un système BACnet. Ces services couvrent divers aspects, en particulier :

  • Les services d'accès aux objets
Ces services permettent de manipuler les objets :
  • lecture (unitaire, multiple, plage) et écriture (unitaire, multiple) des propriétés
  • création, suppression d'objets
  • ajout, suppression d'éléments dans les propriétés de type liste
  • Les services de gestion des alarmes et événements
Les services d'alarmes et événements sont utilisés pour la gestion des notifications. Ces notifications peuvent concerner l'évolution des valeurs d'une propriété (COV) ou l'occurrence d'une condition d'alarme ou d'événement (intrinsèque ou algorithmique).
  • L'échange de fichiers
Lecture ou écriture de fichiers dans un device.
  • La gestion à distance des devices
Ces services sont principalement utilisés pour des fonctions d'administration des devices : contrôle des échanges sur le réseau, réinitialisation, synchronisation horaire, exploration du réseau (Who-Is, Who-Has, ...)
  • L'accès au travers d'un "terminal virtuel"

Utilisation pour la supervision

Le protocole BACnet est utilisé pour assurer la communication entre les différents devices d'un système BACnet en vue de satisfaire les exigences du fonctionnement global d'une installation. Il est également, voire principalement, utilisé pour les besoins de la supervision de ces installations.

Pour les besoins de la supervision, les services utiles sont essentiellement l'accès aux objets et à leurs propriétés, et la gestion des alarmes.

La mise en œuvre d'un réseau BACnet pour la supervision pose des problèmes spécifiques à cette technologie pour les logiciels de supervision traditionnels.

Ces problèmes sont essentiellement liés à :

  • L'approche objet
Les logiciels de supervision traditionnels gèrent des données unitaires qui diffèrent profondément de la notion de propriété associée à une instance d'objet.
  • L'utilisation de propriétés complexes
Certaines propriétés d'objets (la propriété Weekly_Schedule de l'objet Schedule par exemple) sont accessibles uniquement sous forme d'une structure complexe qui n'est pas manipulable comme une donnée élémentaire d'un superviseur traditionnel.
  • L'optimisation des échanges sur le réseau
D'une façon générale, une supervision peut être intéressée par la totalité des propriétés d'un objet pour afficher les valeurs de ces propriétés ou les modifier. Cependant, toutes les propriétés, selon leur nature, n'évoluent pas de la même manière. Certaines évoluent en permanence (Present_Value), d'autres évoluent occasionnellement à l'initiative du device (Status_Flags), d'autres encore évoluent occasionnellement à l'initiative d'un device extérieur (High_Limit), enfin certaines propriétés sont pratiquement statiques (Description).
Les superviseurs traditionnels ne sont généralement pas capable de distinguer la nature des informations échangées et ne peuvent donc pas adapter la logique des échanges sur le réseau en fonction de cette nature. Lorsqu'il n'est pas possible de prendre en compte ces caractéristiques, il faut alors renoncer à récupérer les propriétés statiques ou quasi-statiques sous peine de surcharger inutilement le réseau.
Il est à noter qu'il existe un service de notification qui permet à un device client de s'abonner à des notifications sur changement de valeur. Ce service ne s'applique cependant qu'à certaines propriétés.
  • L'utilisation d'objets d'historisation locale
Certains objets (Trend Log par exemple) réalisent une mémorisation locale au device de l'évolution des valeurs de propriétés. La prise en compte de ces valeurs historisées nécessitent une implémentation spécifique à BACnet de la gestion de ces objets
  • L'utilisation d'un service de gestion d'alarmes
Le couplage entre un logiciel de supervision et un service externe de gestion des alarmes n'est pas habituel et les mécanismes utilisés par le protocole BACnet lui sont spécifiques. Ici aussi, il est nécessaire de disposer d'une implémentation native de la gestion des alarmes BACnet dans la supervision pour pouvoir disposer de l'ensemble des fonctions nécessaires : synchronisation de l'état, propagation des acquittements, …
  • La notion de propriété "commandable"
Traditionnellement, la commande des installations supervisées est réalisée au travers d'une simple écriture dans les données qui représentent les actionneurs (ou les consignes). Le protocole BACnet a introduit la notion de propriété "commandable" qui permet, à un device client, de "prendre la main" sur une commande. L'utilisation d'un niveau de priorité adéquat permet alors à ce device d'empêcher toute action par un device moins prioritaire. Ce mécanisme, propre à BACnet, nécessite également une implémentation spécifique à ce protocole au sein de la supervision.

La façon d'apporter une réponse à ces problèmes doit être un critère de choix de premier niveau pour le logiciel de supervision d'un système BACnet.


Une des solutions de supervision qui intégre nativement le protocole a été lancé par Codra un des acteurs français de la supervision industrielle dans son produit Panorama².

Autres articles : Avec BACnet, le concept objet s’est imposé dans les solutions de supervision GTC

Notes et références

  1. ANSI/ASHRAE Standard 135-2008 ISSN 1041-2336

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article BACnet de Wikipédia en français (auteurs)

Игры ⚽ Нужна курсовая?

Regardez d'autres dictionnaires:

  • BACnet — is a Data Communications Protocol for Building Automation and Control Networks. It is an ASHRAE, ANSI, and ISO standard protocol. Definition BACnet, an ASHRAE building automation and control networking protocol, was designed specifically to meet… …   Wikipedia

  • BACnet — (Building Automation and Control Networks) ist ein Netzwerkprotokoll für die Gebäudeautomation. Inhaltsverzeichnis 1 Entwicklung 2 Konzept 3 Beschreibung 4 Litera …   Deutsch Wikipedia

  • BACnet — (англ. Building Automation and Control network)  сетевой протокол, применяемый в системах автоматизации зданий и сетях управления. BACnet устройство  это устройство системы автоматизации (контроллер, датчик, исполнительный… …   Википедия

  • BACnet — Saltar a navegación, búsqueda BACnet (de Building Automation and Control Networks) es un protocolo de comunicación de datos diseñado para comunicar entre sí a los diferentes aparatos electrónicos presentes en los edificios actuales (alarmas,… …   Wikipedia Español

  • BACNET — abbr. Building Automation and Control NETwork Syn: BACnet …   United dictionary of abbreviations and acronyms

  • BACnet — abbr. Building Automation and Control NETwork Syn: BACNET …   United dictionary of abbreviations and acronyms

  • зональный контроллер с интерфейсом BACnet — [Интент] Тематики управление инженерн. оборуд. здания EN BACnet zone controller …   Справочник технического переводчика

  • Domotik — Als Gebäudeautomatisierung oder Gebäudeautomation (GA) bezeichnet man die Gesamtheit von Überwachungs , Steuer , Regel und Optimierungseinrichtungen in Gebäuden. Sie ist damit ein wichtiger Bestandsteil des technischen Facility Managements. Ziel… …   Deutsch Wikipedia

  • Gebäudeautomation — Als Gebäudeautomatisierung oder Gebäudeautomation (GA) bezeichnet man die Gesamtheit von Überwachungs , Steuer , Regel und Optimierungseinrichtungen in Gebäuden. Sie ist damit ein wichtiger Bestandsteil des technischen Facility Managements. Ziel… …   Deutsch Wikipedia

  • Gebäudeautomatisierung — Als Gebäudeautomatisierung oder Gebäudeautomation (GA) bezeichnet man die Gesamtheit von Überwachungs , Steuer , Regel und Optimierungseinrichtungen in Gebäuden. Sie ist damit ein wichtiger Bestandteil des technischen Facility Managements. Ziel… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”