BACnet
Relier des équipements de gestion technique du bâtiment en BACnet/IP : numéro d'instance de l'équipement, adressage par type et instance d'objet, découverte Who-Is et presentValue.
Le pilote BACnet parle au matériel de gestion technique du bâtiment en BACnet/IP. Chaque tag lit la valeur présente d'un objet BACnet : la lecture en direct d'une entrée analogique, l'état d'une sortie binaire, la position d'une valeur multi-état. Ajoutez un équipement sous le pilote BACnet dans le Connector ; le volet ne montre que les champs que ce protocole emploie.
Connexion
| Champ | Sens | Défaut |
|---|---|---|
| Hôte | L'adresse IP ou le nom d'hôte de l'équipement BACnet (ou du routeur qui répond pour lui). | vide |
| Port réseau | Le port UDP de l'équipement. 0 emploie 47808, le standard BACnet/IP. | 0 |
| Numéro d'instance | Le numéro d'instance de l'équipement, celui de son objet Device, unique sur le réseau BACnet. | 0 |
L'en-tête de l'équipement montre le point de terminaison assemblé, par exemple
bacnet://192.168.0.30:47808/1234. La connexion envoie une requête sur la taille
de la liste d'objets de l'équipement pour confirmer que le matériel répond ; la liste d'objets
elle-même n'est pas parcourue. Cette réponse est la connexion : un équipement qui ne répond pas
reste hors ligne au lieu de s'afficher comme connecté, et la raison (le port UDP
déjà pris, une adresse qui n'en est pas une) est écrite dans la page Événements
et dans le fichier journal du jour. Il n'y a pas de champ de période de scrutation pour ce pilote :
ses tags sont lus une fois par seconde.
Adressage
Un tag BACnet est adressé par deux champs typés de la carte Source du tag, sans adresse en texte libre :
| Champ | Sens | Valeurs acceptées | Défaut |
|---|---|---|---|
| Type d'objet | Quelle sorte d'objet BACnet lire. | les neuf types ci-dessous | AnalogInput |
| Numéro d'instance | Le numéro d'instance de l'objet dans son type. | 0 et plus | 0 |
Les types d'objet proposés et leurs codes de type BACnet standard :
| Type d'objet | Code | La valeur présente porte |
|---|---|---|
AnalogInput |
0 | un nombre mesuré |
AnalogOutput |
1 | un nombre commandé |
AnalogValue |
2 | un nombre conservé |
BinaryInput |
3 | inactif/actif |
BinaryOutput |
4 | inactif/actif |
BinaryValue |
5 | inactif/actif |
MultiStateInput |
13 | un numéro d'état à partir de 1 |
MultiStateOutput |
14 | un numéro d'état à partir de 1 |
MultiStateValue |
19 | un numéro d'état à partir de 1 |
AnalogInput 5 sur l'équipement 1234 signifie « la valeur présente de l'entrée analogique 5 de
cet équipement ». Chaque lecture demande la propriété presentValue de l'objet ; les autres
propriétés ne sont pas adressables. La ligne Adresse source (bus) en lecture seule de la
carte Source montre la paire type,instance assemblée au fil de la saisie.
Types de donnée
Le sélecteur Type de donnée propose quatre types. Choisissez celui qui correspond à l'objet :
| Type de donnée | Convient à | Notes |
|---|---|---|
| Float | les objets analogiques | une valeur présente Real ; les doubles sont réduits à Float |
| Boolean | les objets binaires | une valeur présente booléenne, ou les 0 et 1 énumérés qu'un objet binaire répond |
| Int32 | les valeurs multi-état et les autres valeurs entières | les réponses signées, non signées et énumérées arrivent toutes ici |
| String | les valeurs de type chaîne de caractères | du texte tel que l'équipement l'envoie |
Le type choisi doit correspondre à ce que l'objet porte. Un équipement qui répond avec autre chose fait échouer la lecture de ce tag : le tag passe en mauvaise qualité et la raison nomme ce qui est arrivé (« L'équipement a répondu une valeur Single pour un point déclaré Integer. »), au lieu qu'un nombre converti n'entre dans la courbe, l'historique et les alarmes. Lire un objet analogique en booléen, ou un Real en Int32, est exactement ce cas-là. Le reste de l'équipement continue de se lire ; rien n'est reconnecté à cause d'un tag dont le type est faux.
Écritures
Les tags dont l'accès est Lecture et écriture ou Écriture seule peuvent être écrits. Une écriture
pose le presentValue de l'objet, typé par le type de donnée du tag : Float écrit un
Real BACnet, Boolean un booléen BACnet, Int32 un entier signé et String une
chaîne de caractères. Aucune priorité de commande n'est envoyée avec l'écriture. Un matériel qui
exige un autre type pour sa valeur présente, comme certaines sorties binaires qui n'acceptent
qu'une valeur Enumerated, peut rejeter l'écriture ; le tag rapporte alors l'échec au lieu de
feindre le succès. Un nouveau tag démarre en Lecture seule.
Découverte
Le bouton Découvrir du Connector diffuse un Who-Is BACnet et écoute les réponses I-Am pendant 10 secondes. Chaque équipement qui répond devient un candidat portant son adresse, son port et son numéro d'instance, prêt à ajouter avec les champs de connexion remplis, et il apparaît dans la liste dès qu'il répond plutôt qu'à la fin des dix secondes : un balayage que vous annulez à mi-chemin garde tout ce qui avait déjà répondu. Le balayage ne parcourt pas les objets, si bien que les candidats arrivent avec zéro tag ; ajoutez vous-même les paires type d'objet et instance.
Un équipement qui répond à travers un routeur BACnet s'ajoute de la même façon. Son candidat porte l'adresse du routeur et, à côté, le réseau propre de l'équipement et son adresse sur ce réseau ; les deux sont conservés quand vous l'ajoutez, et chaque lecture est envoyée au routeur en nommant l'équipement à l'intérieur. Un équipement trouvé ainsi se lit donc comme un autre, et son point de terminaison indique « équipement via routeur ». Un équipement ajouté à la main n'a pas de route et est joint directement sur son hôte.
Bon à savoir
- BACnet/IP seulement : un matériel MS/TP ou BACnet/SC n'est joignable qu'à travers un routeur qui le présente en BACnet/IP, et c'est le balayage qui le trouve : la route sur laquelle un équipement répond est conservée depuis le balayage, ajoutez-le donc depuis la liste découverte plutôt qu'en tapant ses champs à la main.
- Le pilote communique depuis le port UDP BACnet standard 47808 sur cette station ; une autre application BACnet qui tient ce port de façon exclusive sur la même machine peut entrer en conflit avec lui.
- La scrutation est fixée à une seconde pour chaque tag de ce pilote ; les champs habituels de période de scrutation ne sont pas affichés.