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
, etEvent Log
entréesMise à 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.