例: プロキシ
製品: CODESYS Application Composer
この例では、プロキシの使用方法を示します。プロキシを使用すると、モジュールインスタンス間の通信が可能になります。アプリケーションの各部分は異なるコントローラー上にあります。
説明
この例のモジュールは建物と小屋を表します。各モジュールには独自のコントローラーがあり、物理的に分離されたハードウェア上で実行されます。
建物内では、小屋は「小屋プロキシ」を介して参照されます。これは、通信が必要な場合に小屋モジュール専用に作成されたものです。「小屋プロキシ」を介して、建物のコントローラーは小屋のコントローラーと情報を交換(送受信)できます。
コントローラの制限を超えた通信は、ネットワーク変数リストによって自動的に作成および設定されます。CODESYS Application Composer必要に応じて。プロキシは「MirrorVars」によって実装されていません。用意された「RMP」を介した通信は行われません。
![]() |
詳細については、以下を参照してください。プロキシセクション。
追加情報
この例を実行するには、同じネットワークに接続された2つのコントローラーを使用する必要があります。CODESYS Application Composerをコントローラーにダウンロードして起動すると、既存の視覚化を使用して観察およびテストできます。
例えば、CODESYS Control Win構成された仮想マシン上の 2 番目のコントローラとして使用できます。
プロキシとして使用されるすべての機能ブロックは、それ自体がAC.ProxyInstance
機能ブロックまたは実装AC.IProxyInstance
インターフェース。プロキシ機能ブロックは、通信を行うためにモジュールと同じインターフェースを実装することがよくあります。
![]() |
「MirrorVar」変数を使用する場合、モジュールからプロキシに転送またはミラーリングされる変数は、両方のアプリケーションの関数ブロックで同じ名前と型で使用可能である必要があります。これはモジュール宣言で指定できます。
ミラーリングされた変数に加えて、RMP経由の通信も可能です。これは、プロキシインスタンスの主要部分と、モジュール関数ブロックの周期的に呼び出されるメソッドの1つで行われます。この目的のために、各インスタンスに読み取りおよび書き込みアクセスが可能な64バイトの配列が用意されています。
システム要件と制限事項
プログラミングシステム | CODESYS Development System(バージョン3.5.17.0以上) |
ランタイムシステム | CODESYS Control Win(バージョン3.5.17.0) |
アドオンコンポーネント | CODESYS Application Composer |
注記
ダウンロードプロジェクト