アーキテクチャ、コンポーネント、およびそれらのタスク
CODESYS BACnet2 SL そして CODESYS BACnet(1) SL それぞれに 3 つの IEC ライブラリが含まれています。
CmpBACnet
、CmpBACnet2
BACnet
、BACnet2
BACnetDefaultImpl
、BACnet2DefaultImpl2
(注: 以下の説明は、ライブラリの両方の「バリアント」に適用されます。)
パッケージには以下も含まれます BACnet のプラグイン CODESYS 開発環境。ライブラリのバージョンと一貫性チェックを実行します。 BACnet オブジェクト ID を提供するだけでなく、EDE エクスポート/インポートも提供します。
の BACnet スタック (BACstack
) は、のオプションのコンポーネントです。 CODESYS ランタイム (CmpBACnet
成分)。
の CmpBACnet
IEC ライブラリは、 BACnet に積み重ねる CODESYS IEC環境を提供し、 BACnet データ型だけでなく、 BACstack
方法。 IEC ライブラリの唯一の使用 CmpBACnet
(なしで BACnet
そして BACnetDefaultImpl
ライブラリ)を作成すると、IEC アプリケーション コードが複雑で長くなる可能性があります。
詳細については、以下を参照してください。 BACnet ライブラリまたは CmpBACnet ライブラリを使用する場合
の BACnet
ライブラリは簡素化します BACnet を単独で使用する場合に比べて、アプリケーション開発が大幅に短縮されます。 CmpBACnet
、特に次の分野で。
の開始と停止 BACnet スタック
使用する BACnet サーバーオブジェクトとそのプロパティ
非同期リクエスト (主に「クライアント サービス リクエスト」) のトリガーと「リクエスト トランザクション」の処理
からの「コールバック」の処理 BACnet スタック (参照
IBACnetEventConsumer
) およびアプリケーション内の複数の受信者に「コールバック」を分散します。
さらに、 BACnet
ライブラリはプラグインメカニズムを提供します(BACnetServerPlugin
) の特定の側面を拡張するため BACnet
図書館。 BACnetServerPlugin
の基礎となっています BACnetDefaultImpl
図書館。
の BACnetDefaultImpl
ライブラリは、さらに単純化するために使用されます。 BACnet アプリケーション開発。の BACnet 標準 ASHRAE 135 では、実際の使用に関するいくつかの側面が残されています。 BACnet 開ける。最も注目すべき例には次のようなものがあります。
サーバーオブジェクトの永続化
の保存と永続化
Trend Log
、Trend Log Multiple
、 そしてEvent Log
エントリデバイスオブジェクトの日時情報の更新
CODESYS これらの側面の実装は、必然的に PLC とアプリケーションに関するいくつかの仮定に基づいています。たとえば、次のとおりです。
PLCにはファイルシステムがあります。
PLC ファイル システムには、データ量、速度、書き込みサイクル数に関して過度に厳しい制限はありません。
これらの前提により、そのような実装を永続的に BACnet
これにより、他のユースケースの実装や他の制約への準拠が妨げられるためです。
の BACnetDefaultImpl
library は、この種の「デフォルト実装」の場所です。最良の場合、仮定が正しければ、これらの標準実装を簡単に使用できます。仮定が当てはまらない場合は、特定の側面の標準実装を、PLC/アプリケーション固有の実装の例および基礎として非常によく使用できます。
このため、 BACnetDefaultImpl
ライブラリは、コンパイルされたライブラリとソース コード ライブラリの両方として提供されます。