標準コントローラとの連携
重要
標準コントローラの物理デバイスと変数が安全コントローラに(論理 I/O オブジェクトとして)適用される場合、アプリケーションを標準コントローラにダウンロードし、安全アプリケーションを安全コントローラにダウンロードする必要があります。これは、物理デバイス、メイン コントローラの論理交換 GVL、および安全コントローラの論理 I/O に現在の値を提供するために必要です。
設定の違い
物理デバイスと交換変数が安全アプリケーションの対応するオブジェクトと異なるように構成されている場合、これは次のように示されます。 CODESYS 安全コントローラに隣接するプロジェクト ツリー内の構成エラーの警告シンボルが標準で表示されます。
構成の違いは、I/O モジュールの数、ID、または I/O サイズと、標準コントローラと安全コントローラの交換変数に関係します。
安全構成が標準構成によって送信されるバス システムの場合、I/O モジュールの異なるパラメータ設定が構成の違いとして表示されます。
I/O構成の違い
I/O 構成に違いがある場合は、次のようになります。
これは、メイン コントローラーのプロジェクト ツリー内の警告シンボルによって示されます。
安全コントローラのアプリケーション ログにログ エントリが生成されます。このログ エントリは、安全コントローラとメイン コントローラに I/O 構成がロードされ、これらの I/O 構成が等しくなく、安全コントローラがこの違いを初めて検出した場合にのみ生成されます。
安全コントローラでは、メインコントローラにロードされたのと同じ I/O 構成が安全コントローラによって検出されると、不正な I/O 構成の状態がリセットされます。
値を代入する
重要
このセクションの情報とは対照的に、この実装では次の動作が示されます。デフォルト コントローラーが停止されている場合、デフォルト コントローラーの値が送信されます。
標準アプリケーションの実行中に安全アプリケーションが停止した場合、物理 I/O は安全アプリケーションの現在の値を受信しません。安全アプリケーションの実行中に標準アプリケーションが停止した場合、論理 I/O はメイン コントローラの現在の値を受信しません。これらの場合、代替値が適用されます。
開発者が安全アプリケーションを停止すると、すべての出力チャネル (デジタルとアナログ、安全と非安全) が自動的にゼロに設定され、安全なフィールド デバイスの場合は、安全プロトコルがこれをサポートしていれば、それらはフェイルセーフ値としてマークされます。
開発者が安全アプリケーションを停止すると、有効なデータは入力チャネルからマップされた変数に引き続きコピーされます。
アプリケーションの実行中に不一致により I/O 通信が停止した場合、安全なフィールド デバイスの入力チャネルはプロトコルに従ってフェールセーフ値に設定され、プロトコル API でフェールセーフとしてマークされます。
アプリケーションの実行中に不一致により I/O 通信が停止した場合、安全でないフィールドデバイスの入力チャネルはゼロに設定されます。
アプリケーションが終了すると(新しいアプリケーションをダウンロードするなど)、安全なフィールド デバイスのすべての出力チャネル(デジタルとアナログ)がプロトコルに従ってフェールセーフ値に設定され、プロトコルでフェールセーフとしてマークされた最終出力イメージが生成されます。
アプリケーションが終了すると(新しいアプリケーションをダウンロードするなど)、安全でないフィールド デバイスのすべての出力チャネル(デジタルおよびアナログ)がゼロに設定された最終出力イメージが生成されます。
アプリケーションが終了していない限り、現在の値を交換できない場合は、変数の交換に次の処理が適用されます。
開発者が安全アプリケーションを停止した場合、または標準コントローラのアプリケーションが実行されていない場合は、次のようになります。
他のアプリケーションのマップされた読み取り変数 (交換変数) にゼロ値が書き込まれます。
交換ミスマッチの場合を除き、他のアプリケーションの値(変数
...Out
)は引き続きアプリケーション独自の変数(変数...In
)。
不一致により変数交換が停止した場合、マッピングされた読み取り変数(論理交換オブジェクト)の安全アプリケーションにゼロ値が書き込まれます。 ...で)。
安全アプリケーションが終了した場合(新しいアプリケーションをダウンロードした場合など)、すべての書き込み変数(変数 ...外) が最初に再びゼロに設定されます。