Skip to main content

Architecture, composants et leurs tâches

CODESYS BACnet2 SL et CODESYS BACnet(1) SL chacune contient trois bibliothèques CEI :

  • CmpBACnet, CmpBACnet2

  • BACnet, BACnet2

  • BACnetDefaultImpl, BACnet2DefaultImpl2

(Remarque : les descriptions suivantes s'appliquent aux deux « variantes » d'une bibliothèque.)

Le forfait comprend également le BACnet plug-in pour le CODESYS environnement de développement, qui effectue des contrôles de cohérence sur les versions de la bibliothèque et BACnet ID d'objet, ainsi que la fourniture d'exportation/importation EDE.

Le BACnet empiler (BACstack) est un composant facultatif du CODESYS durées d'exécution (CmpBACnet composant).

Le CmpBACnet La bibliothèque CEI représente l'intégration du BACnet empiler dans un CODESYS Environnement CEI et fournit le BACnet types de données ainsi que les BACstack méthodes. La seule utilisation de la bibliothèque CEI CmpBACnet (sans le BACnet et BACnetDefaultImpl bibliothèques) entraînerait un code d’application CEI complexe et long.

Pour plus d'informations, voir : Quand utiliser la bibliothèque BACnet ou la bibliothèque CmpBACnet

Le BACnet la bibliothèque simplifie BACnet développement d'applications considérablement par rapport à la seule utilisation de CmpBACnet, notamment dans les domaines suivants :

  • Démarrer et arrêter le BACnet empiler

  • En utilisant BACnet objets serveur et leurs propriétés

  • Déclenchement des requêtes asynchrones (principalement « demandes de service client ») et traitement de la « transaction de demande »

  • Traitement des "callbacks" du BACnet pile (voir IBACnetEventConsumer) et distribuer les "rappels" à plusieurs récepteurs dans l'application

Par ailleurs, le BACnet la bibliothèque fournit un mécanisme de plug-in (BACnetServerPlugin) visant à étendre certains aspects du BACnet bibliothèque. BACnetServerPlugin est la base de la BACnetDefaultImpl bibliothèque.

Le BACnetDefaultImpl La bibliothèque est utilisée pour la simplification supplémentaire de BACnet développement d'applications. Le BACnet La norme ASHRAE 135 laisse certains aspects de l'utilisation pratique des BACnet ouvrir. Les exemples les plus notables sont les suivants :

  • Persistance des objets serveur

  • Stockage et persistance de Trend Log, Trend Log Multiple, et Event Log entrées

  • Mise à jour des informations date/heure de l'objet appareil

CODESYS les implémentations pour ces aspects sont nécessairement basées sur certaines hypothèses concernant l'automate et l'application, par exemple :

  • L'automate dispose d'un système de fichiers.

  • Le système de fichiers de l'automate n'a pas de limitations trop strictes concernant le volume de données, la vitesse ou le nombre de cycles d'écriture.

En raison de ces hypothèses, de telles implémentations ne peuvent pas être incluses de manière permanente dans le BACnet bibliothèque, car cela empêcherait la mise en œuvre d’autres cas d’usage et le respect d’autres contraintes.

Le BACnetDefaultImpl La bibliothèque est l'endroit idéal pour ce type d'"implémentations par défaut". Dans le meilleur des cas, si les hypothèses sont correctes, alors ces implémentations standards peuvent être utilisées facilement. Si les hypothèses ne s'appliquent pas, alors une implémentation standard d'un aspect particulier peut très bien être utilisée comme exemple et comme base pour une implémentation spécifique à un API/une application.

Pour cette raison, le BACnetDefaultImpl La bibliothèque est fournie à la fois sous forme de bibliothèque compilée et de bibliothèque de code source.