Toutes les ressources

Protocoles et réseaux

BACnet : les bases indispensables

Objets, propriétés, services, adressage, réseaux et profils d'équipements : tout ce qu'il faut maîtriser pour intégrer du BACnet.

Fiche GTB HUB · gratuite

En bref

BACnet (Building Automation and Control networks) est le protocole ouvert de référence de la GTB. Il est normalisé par l'ASHRAE (norme 135) et par l'ISO (ISO 16484-5). Il décrit ce que les équipements échangent (objets, propriétés, services) indépendamment du support physique.

Le modèle objet

Chaque équipement BACnet est vu comme un ensemble d'objets, chacun ayant des propriétés.

ObjetUsage typique
DeviceL'équipement lui-même (une seule instance par équipement)
Analog Input / Output / Value (AI, AO, AV)Mesures, commandes analogiques, consignes
Binary Input / Output / Value (BI, BO, BV)États, commandes TOR, autorisations
Multi-state Input / Output / ValueModes, vitesses, saisons
Schedule, CalendarProgrammes horaires, jours fériés
Trend LogHistoriques
Notification ClassDestinataires et priorités des alarmes
LoopBoucle de régulation

Propriétés à connaître : Present_Value, Status_Flags (in-alarm, fault, overridden, out-of-service), Out_Of_Service, Units, Priority_Array et Relinquish_Default pour les objets commandables, COV_Increment pour les analogiques.

Identifiants et adressage

  • Un objet est identifié par son type et son instance (ex. AI:12).
  • L'instance de l'objet Device doit être unique sur tout l'interréseau BACnet : c'est l'erreur de mise en service la plus fréquente. Plage utilisable : 0 à 4 194 302.
  • Chaque réseau BACnet (IP, MS/TP…) porte un numéro de réseau unique ; les routeurs BACnet relient ces réseaux.

Les supports (couches liaison)

  • BACnet/IP : UDP, port standard 47808 (0xBAC0). Les découvertes (Who-Is) sont des diffusions : elles ne traversent pas les routeurs IP sans BBMD ou enregistrement en Foreign Device.
  • BACnet MS/TP : bus RS-485 à passage de jeton (voir la fiche dédiée).
  • BACnet/SC (Secure Connect) : transport chiffré (TLS sur WebSocket) avec certificats, pensé pour la cybersécurité.

Les services clés

  • Who-Is / I-Am : découverte des équipements.
  • ReadProperty / ReadPropertyMultiple : lecture (préférez le « Multiple », plus efficace).
  • WriteProperty : écriture, avec une priorité pour les objets commandables.
  • SubscribeCOV : abonnement aux changements de valeur, moins de trafic que la scrutation.
  • Event / Alarm notification et AcknowledgeAlarm : gestion des alarmes.

Le Priority Array

Un objet commandable possède 16 niveaux de priorité. La valeur présente est celle de la priorité active la plus forte (1 = la plus forte) ; si toutes sont vides (NULL), c'est Relinquish_Default qui s'applique. Priorités nommées par la norme : 1 Manual-Life Safety, 2 Automatic-Life Safety, 5 Critical Equipment Control, 6 Minimum On/Off, 8 Manual Operator. Un forçage oublié en priorité 8 bloque la régulation (priorité 16 en général) : c'est une cause classique de « l'automate ne commande plus ».

👉 Testez-le dans le Laboratoire des protocoles.

Interopérabilité : PICS et BTL

  • Le PICS (Protocol Implementation Conformance Statement) liste les objets, services et supports gérés par un produit : demandez-le au fabricant avant de concevoir l'intégration.
  • Le label BTL atteste de tests de conformité.
  • Profils usuels : B-OWS (poste opérateur), B-BC (contrôleur de bâtiment), B-AAC / B-ASC (contrôleurs applicatifs), B-SA (actionneur), B-SS (capteur).

Pannes courantes

  • Équipement invisible : instance Device en double, mauvais numéro de réseau, Who-Is bloqué par un routeur IP (BBMD absent), pare-feu sur UDP 47808.
  • Valeurs figées : objet Out_Of_Service, forçage dans le Priority Array.
  • Réseau lent : scrutation trop rapide au lieu du COV, ReadProperty au lieu de ReadPropertyMultiple.

Fiche de synthèse : pour les valeurs propres à un produit, référez-vous toujours à sa documentation officielle et aux textes en vigueur.