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.
Avvio e arresto del BACnet pila
Usalo sempre
BACnetServer.StartBACnetStackEBACnetServer.StopBACnetStackOAutoStart. Non utilizzare mai direttamente le funzioni corrispondenti delCmpBACnetbiblioteca, come ad esCmpBACnet.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 delBACnetbiblioteca, come ad esCmpBACnet.BACnetStorePropertyInstance.Attivazione di richieste asincrone
Utilizzare sempre i blocchi funzione client specificati di
BACnetbiblioteca, come ad esBACnetClientReadProperty. Non utilizzare mai direttamente le funzioni corrispondenti delCmpBACnetbiblioteca, come ad esCmpBACnet.BACnetReadProperty. Tutte le funzioni delCmpBACnetlibreria che richiede un fileBACnetAsyncTransactionTokenappartengono 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
IBACnetEventConsumerEBACnetServer.RegisterHook/UnregisterHook/RegisterCallback/UnregisterCallback. Non utilizzare mai direttamente le funzioni corrispondenti delCmpBACnetbiblioteca, come ad esCmpBACnet.BACnetSetHookOCmpBACnet.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.