Skip to main content

Quando utilizzare la libreria BACnet o la libreria CmpBACnet

Nota

Le descrizioni valgono sempre anche per la corrispondente biblioteca di CODESYS BACnet2 SL ("revisione principale 2").

La biblioteca dell'IEC BACnet è inteso come uno strato sopra la libreria IEC CmpBACnet. Tuttavia, il livello non nasconde la libreria perché ciò richiederebbe il file BACnet libreria per avere "funzioni di facciata" per le funzioni di CmpBACnet. Queste "funzioni di facciata" comporterebbero un codice applicativo più grande e maggiori requisiti di runtime. Questo è difficile da accettare per il PLC. Per questo motivo è necessario sapere quando gli elementi del BACnet biblioteca o CmpBACnet biblioteca da utilizzare.

. Regole generali:
  • Avvio e arresto del BACnet pila

    Usalo sempre BACnetServer.StartBACnetStack E BACnetServer.StopBACnetStack O AutoStart. Non utilizzare mai direttamente le funzioni corrispondenti del CmpBACnet biblioteca, come ad es CmpBACnet.BACnetServerInit.

  • Utilizzando BACnet oggetti server e relative proprietà

    Utilizzare sempre i blocchi funzione specificati in IEC-lib-BACnet, come ad es BACnetAnalogValue. Non utilizzare mai direttamente le funzioni corrispondenti del BACnet biblioteca, come ad es CmpBACnet.BACnetStorePropertyInstance.

  • Attivazione di richieste asincrone

    Utilizzare sempre i blocchi funzione client specificati di BACnet biblioteca, come ad es BACnetClientReadProperty. Non utilizzare mai direttamente le funzioni corrispondenti del CmpBACnet biblioteca, come ad es CmpBACnet.BACnetReadProperty. Tutte le funzioni del CmpBACnet libreria che richiede un file BACnetAsyncTransactionToken appartengono a questa categoria e non dovrebbero mai essere utilizzati direttamente.

  • Elaborazione delle "callback" dallo stack BACnet e distribuzione delle "callback" a più ricevitori nell'applicazione

    Usalo sempre IBACnetEventConsumer E BACnetServer.RegisterHook/UnregisterHook/RegisterCallback/UnregisterCallback. Non utilizzare mai direttamente le funzioni corrispondenti del CmpBACnet biblioteca, come ad es CmpBACnet.BACnetSetHook O CmpBACnet.BACnetSetCallback.

Per ulteriori informazioni, vedere: Architettura, componenti e loro compiti

Quando è opportuno e sicuro richiamare direttamente le funzioni del CmpBACnet biblioteca?

Fondamentalmente è necessario chiamare solo le funzioni di CmpBACnet direttamente quando una funzionalità corrispondente non è fornita nel file BACnet biblioteca. Controlla il BACnet libreria prima di provare a utilizzarla CmpBACnet direttamente. È possibile utilizzare le "funzioni di blocco" in CmpBACnet, ad esempio BACnet*CbCompletion, BACnetIam(Ex), O BACnetIHave(Ex), BACnetUnconf*.

Molto spesso utilizzerai BACnet*CbCompletion per implementare le tue specifiche IBACnetEventConsumer.BACnetEventCallbackS. Ma prima controlla se il BACnetDefaultImpl la libreria contiene già un'implementazione standard appropriata.