Skip to main content

フィールドバス – 一般編

用語

出力テレグラムは、安全コントローラから安全フィールド デバイスへのプロトコル固有のテレグラム (安全 PDO) です。このテレグラムには、安全フィールド デバイスへの出力データが含まれています。

入力テレグラムは、安全フィールド デバイスから安全コントローラへのプロトコル固有のテレグラム (安全 PDO) です。このテレグラムには、安全フィールド デバイスからの入力データが含まれています。

ドライバインスタンス: 構成された論理I/Oごとに、サポートされているプロトコルタイプのドライバインスタンス用のコードが作成されます(たとえば、タイプのドライバインスタンス)。 FSoEMaster FSoEフィールドデバイス用)。 NonSafeIO 標準モジュールと交換変数用に型が作成されます(章を参照)。 論理I/Oの使用タイプ標準フィールドデバイスの論理I/O標準コントローラとのデータ交換のための論理I/O)。代替値については、を参照してください。 標準コントローラとの連携

インターフェースの説明

安全コントローラは、安全フィールド デバイスとの間の I/O データの送信を監視します。開発システムによって、安全フィールド デバイスごとに論理 I/O が生成されます。論理デバイスごとにドライバー インスタンスが自動的に作成されます。

ドライバー インスタンスを作成すると、暗黙的なコードが生成され、入力変数または出力変数に対して次の結果がもたらされます。

  • フェーズ 1 (入力フェーズ): 入力電文の処理 (暗黙的)

    ドライバー インスタンスは入力テレグラムを受信し、PROFIsafe などのプロトコル仕様に従ってこれをチェックします。

    入力データ、またはエラーが発生した場合は代替値が、アプリケーションのマップされた入力変数にコピーされます。

  • フェーズ2: ユーザーアプリケーションの処理

    出力データは、入力データとアプリケーションの状態に応じて生成されます。

  • フェーズ3(出力フェーズ):出力電文の処理(暗黙的)

    アプリケーションのマッピングされた出力データは、ドライバー インスタンスに引き渡されます。ドライバー インスタンスは、プロトコル仕様に従って出力テレグラムを生成し、これを安全なフィールド デバイスに送信します。

ドライバーのデフォルトの動作

通知Drv_1(アプリケーションの開始)

アプリケーションが起動されると、最初のサイクルからフィールドとアプリケーション間でプロセスデータが交換されることがあります。スタートアップロック付きのFBの使用(S_StartReset = FALSE) またはその他のシステムおよびアプリケーション対策の実装 (安全ユーザーマニュアルの「PLCopen 準拠の機能ブロックの使用規則」を参照) により、アプリケーションの起動時に機械の予期しない (または意図しない) 起動が発生しないことが保証されます。

Drv_2に通知(起動時の通信エラー)

デフォルトでは、開始時の通常の通信エラーはプロセスデータ通信の自動開始を妨げることはなく、遅延されるだけです。 起動エラーの自動確認のための入力 (自動確認起動エラー)。

リセット後の起動時または通信エラー後の再起動時のドライバーのデフォルト動作は、それぞれの入力の初期値によって定義されます。デフォルト動作を上書きするには、アプリケーション内の関数ブロックを呼び出して、それぞれの入力をそれに応じて設定する必要があります。

開始後のプロセスデータ送信の自動開始は、アプリケーション内のファンクションブロックを呼び出して入力を設定することでプログラムによって防止されます。 自動確認起動エラーFALSE (見る。 起動エラーの自動確認のための入力)。

プロセスデータ送信の自動再開は、アプリケーション内の機能ブロックを呼び出して入力を設定することでプログラムによって有効になります。 自動確認割り込み 入力する TRUE (見る。 中断後の自動確認の入力)。

起動エラーの自動確認のための入力

名前

データタイプ

初期値

説明、パラメータ値

<自動確認起動エラー>

BOOL

TRUE

リセット後の起動動作(コマンド: リセットコールド – 安全性 そして 再起動) のアプリケーション (例: PowerON) を実行します。

TRUE: 安全な通信が一度開始されるまで、安全な通信の起動フェーズ中にエラーを自動的に確認します。

FALSE: 安全な通信の起動フェーズ中に発生したエラーについては、アプリケーション ベースで明示的に確認する必要があります。

重要

ご注意ください Drv_2に通知(起動時の通信エラー): リセット後の起動動作の入力の初期値は TRUEリセット後、起動動作に関するすべてのエラーが確認されます。

その後、初期通信エラーが消えるとすぐにプロセスデータ通信が開始されます。

重要

ご注意ください 通知Drv_1(アプリケーションの開始): 設定 自動確認起動エラーFALSE プロセスデータ通信の自動開始を妨げることはありません。起動中にエラーが発生しない場合は、スタックは自動的に開始されます。 自動確認起動エラー に設定されています FALSEユーザーはアプリケーションでこれを考慮する必要があります。

中断後の自動確認の入力

名前

データタイプ

初期値

説明、パラメータ値

<自動確認割り込み>

BOOL

FALSE

TRUE: 通信エラー後の自動確認。

FALSE: 通信エラーについては、明示的なアプリケーションベースの確認が必要です。

通知Drv_3(中断後の自動確認の入力)

注意

もし <自動確認起動エラー> そして <自動確認割り込み>TRUEすると、すべてのエラーが認識されます。これは、特定の例外的な場合にのみ意味があります。

通信エラー後の再起動動作

通信エラー後の再起動動作の入力の初期値は FALSE; 通信伝送に関するエラーは自動的に確認されません。

入力の対応する接続を伴う関数ブロック インスタンスの明示的な呼び出しが必要です。

確認エッジの入力(手動確認)

エラーは、確認入力の正エッジで確認することができます。ただし、(確認要求の出力)が設定されています。

すべてのエラーが自動的に確認される場合 (これは例外的な場合にのみ意味があります)、この入力は必要なく、未接続のままにすることができます。

現在確認応答が要求されていない場合、入力は無視されます。したがって、通信の問題の非特定の確認応答を実現するために、すべてのドライバー インスタンスの確認応答エッジの入力に同じ信号を接続できます。

名前

データタイプ

初期値

説明、パラメータ値

<ack-edge>

BOOL

FALSE

安全機能の再開は、エラー後に入力の立ち上がりエッジで確認されます。

Drv_4 通知 (ack-edge)

注意

<ack-edge> 入力はユーザーによる確認に使用されます。プログラムによって設定するのではなく、入力信号に接続します。

ヒント

<ack-edge> 入力には立ち上がりエッジが必要です。ユーザーが確認を停止した後、 FALSE 確認応答を終了するために再度確認応答を要求します。その後、入力時に次の確認応答が要求されます。 <ack-req> 次の通信エラー時に。

確認要求の出力

出力は TRUE 通信エラー(起動エラーまたは中断)が発生した場合、通信を再開するには手動で確認するだけで済みます。

出力が <ack-req>TRUE、接続にはユーザーによる確認が必要です。通常、ユーザーには確認が必要であることが通知されます(たとえば、標準コントローラへの交換変数の助けを借りて、視覚化に表示されます)。

出力が設定されている場合は、確認のために入力時にエラーを確認できます。

名前

データタイプ

初期値

説明、パラメータ値

<ack-req>

BOOL

FALSE

ヒント

出力時のディスプレイ 確認要求 以下の場合にのみ実施できます:

  1. 通信エラーは自動的には認識されません。つまり、 <自動確認起動エラー> または <自動確認割り込み>FALSE

  2. <ack-edge> 入力は現在 FALSEつまり、手動確認が開始されたがまだ完了していない場合です。

したがって、ユーザーが以前に発生した問題を確認している間に新しい通信の問題が発生した場合、新しい通信の問題は、ユーザーが以前の問題の確認を完了した後にのみ表示され、処理されます。

関数ブロックの明示的な呼び出し

アプリケーション内でユーザーがファンクション ブロックを明示的に呼び出すと (フェーズ 2)、ファンクション ブロック自体は操作を実行しませんが、ファンクション ブロックの入力を設定したり、ファンクション ブロックの出力を読み取ったりすることができます。ドライバー インスタンスごとに、アプリケーション内での呼び出しは最大 1 回までです。

ドライバー インスタンスの機能ブロック出力は、呼び出しに関係なく読み取ることができます。