Skip to main content

BACnet 実行時の構成

CODESYS BACnet2 SL を使用します CmpBACnet または CmpBACnet2 通信用のコンポーネント。このコンポーネントは、次のようにランタイムの構成ファイルに入力して構成する必要があります。

[ComponentManager]
Component.1=CmpBACnet2
[CmpBACnet2]
; configuration file of the BACnet stack
IniFile=$PlcLogic$/bacstac2.ini
; task priority of the BACstack process task, default: TASKPRIO_NORMAL_END (159)
TaskPrio=128
; name of the named pipe for the communication with the BACstack
AppName=/tmp/BACnetServer

一般的に、 CODESYS IEC アプリケーション内のファイル システムへのアクセスと、ランタイム コンポーネントのプログラム コードからのアクセスを分離します。ランタイムの構成ファイルでは、異なるルート ディレクトリを指定できます。

[SysFile]
; root file path for runtime components
FilePath=D:/Temp/Default
; root file path for IEC applications
IecFilePath=D:/Temp/IEC

IEC アプリケーションと CODESYS BACnet2 SL の設定ファイルを書き込みます BACnet スタック (からの情報を使用) BACnet.BACnetIPdatalink) を開始するとき BACnet サーバーにアクセスして、そのファイル内のファイルを読み取ります。 CmpBACnet ランタイムコンポーネント。したがって、IEC アプリケーションとランタイム コンポーネントの共有読み取りおよび書き込みアクセスを、この構成ファイルに対して有効にする必要があります。これは、絶対パスを使用するか、プレースホルダーを使用することによって行われます ( CODESYS コントロール V3.5.16.0 以降)。

絶対パス:

...
[CmpBACnet2]
IniFile=D:/Temp/bacstac.ini ; Windows
; Linux -> IniFile=/tmp/bacstac.ini
...

プレースホルダー (例: $BACnet$):

...
[SysFile]
PlcLogicPrefix=1
PlaceholderFilePath=, $Firmware$
PlaceholderFilePath.1=$PlcLogic$/bacnet, $BACnet$

[CmpBACnet]
IniFile=$BACnet$/bacstac.ini
...

さらに、 CODESYS ファイル システムへのアクセスなど、ランタイムのさまざまな側面の「サンドボックス化」が可能になります。この場合、IEC アプリケーション内のファイル システムへのアクセスと、ランタイム コンポーネントのプログラム コードからのアクセスは、設定されたパスに制限されます。詳細については、次の構成を参照してください。 SysFile:

...
[SysFile]
; ForceFilePath=1
; ForceIecFilePath=1
...

詳細については、次のヘルプを参照してください。 CODESYS コントロール V3 ランタイム システム、「CODESYS ファイルパスとプレースホルダーの制御」。このヘルプは、 CODESYS GmbH カスタマーポータル

ファイル システムの「サンドボックス」を構成する場合、ファイル システムの構成ファイルにアクセスできることに注意してください。 BACnet 上で説明したようにスタックします。したがって、この場合、パスが bacstac.ini 他の場所ではまだ構成されていません。

詳細については、以下を参照してください。 アーキテクチャ、コンポーネント、およびそれらのタスク