(57)【特許請求の範囲】
【請求項１】
標準直列通信網を使用する産業用制御装置用のネットワークから独立した高信頼性通信システムであって、
産業プロセスの制御のためにＩ／Ｏデータを受信する第１Ｉ／Ｏ通信回路と、
Ｉ／Ｏデータを受信し、検出されていない伝送ループエラーを削減するためにフォーマットされた高信頼性フォーマット済みデータを作成するために、ネットワークから独立したプロトコルの元での伝送のためにそれをフォーマットする第１のネットワークから独立したプロトコルデバイスと、
高信頼性フォーマット済みデータを受信し、さらにそれを、標準直列通信網での伝送のために二重にフォーマットされたデータを生じさせるために、標準直列通信網のプロトコルの元での伝送のためにフォーマットし、標準直列通信網のプロトコルが検出されていない伝送ループエラーを削減するためのデータもフォーマットする第１標準ネットワークプロトコルデバイスと、
標準直列通信網から二重にフォーマットされたデータを受信し、標準直列通信網のプロトコルに従って高信頼性フォーマット化データを抽出する第２標準ネットワークプロトコルデバイスと、
高信頼性フォーマット化データを受信し、Ｉ／Ｏデータを抽出する第２のネットワークから独立したプロトコルデバイスと、
第２のネットワークから独立したプロトコルデバイスから、産業プロセスの制御のためにＩ／Ｏデータを受信する第２Ｉ／Ｏ通信回路と、
を備え、
それにより高信頼性伝送が、任意の標準直列通信網プロトコルで簡略に得られる通信システム。
【請求項２】
第１と第２Ｉ／Ｏ通信回路が、産業用制御装置、産業用制御装置用入力回路、ブリッジ、及び産業用制御装置用出力回路から成り立つグループから選択される、請求項１に記載の産業用制御装置。
【請求項３】
第１のネットワークから独立したプロトコルデバイスが、Ｉ／Ｏデータに関係する冗長巡回符号及び伝送されているその他のＩ／Ｏに関してＩ／Ｏデータの伝送の局所的な順序に関係するシーケンスカウントから成り立つエラー検出データを追加することによりＩ／Ｏデータをフォーマットする、請求項１に記載の産業制御装置。
【請求項４】
第２のネットワークから独立したプロトコルデバイスが、さらにそれを、Ｉ／Ｏデータの受信時に肯定応答メッセージを作成し、高信頼性フォーマット化肯定応答データを生じさせるために、ネットワークから独立したプロトコルの元でフォーマット化し、
第２標準ネットワークプロトコルデバイスが高信頼性フォーマット化肯定応答データを受信し、さらにそれを、標準直列通信網上での伝送のために二重にフォーマットされた肯定応答データを生じさせるために、標準直列通信網のプロトコルの元での伝送のためにフォーマットし、
第１標準ネットワークプロトコルデバイスが標準直列通信網から二重にフォーマットされた肯定応答データを受信し、標準直列通信網のプロトコルに従って高信頼性フォーマット化肯定応答データを抽出し、
高信頼性フォーマット化肯定応答データを受信する第１のネットワークから独立したプロトコルデバイスが、伝送ループエラーを検出するためにデータをチェックする、
請求項１に記載の産業用制御装置。
【請求項５】
肯定応答データが、Ｉ／Ｏデータを含み、第１のネットワークから独立したプロトコルデバイスが、Ｉ／Ｏデータを肯定応答データに比較することによってエラーを検出する、請求項４に記載の産業用制御装置。
【請求項６】
第１のネットワークから独立したプロトコルデバイスが、Ｉ／Ｏデータの受信時にタイマを起動するために動作し、第１のネットワークから独立したプロトコルデバイスが、肯定応答メッセージの受信時に許容時間に、タイマ上の時間を突き合わせることによりエラーを検出する、請求項１に記載の産業用制御装置。
【請求項７】
第１のネットワークから独立したプロトコルデバイスが、定期的な間隔でＩ／Ｏデータを伝送し、第２のネットワークから独立したプロトコルデバイスが、最後のＩ／Ｏデータが受信された時間を時間間隔に突き合わせて比較することによってエラーを検出する、請求項１に記載の産業用制御装置。
【請求項８】
第２のネットワークから独立したプロトコルデバイスが、Ｉ／Ｏデータの伝送ループエラーを検出するために高信頼性フォーマット化データを評価し、Ｉ／Ｏデータについてエラーの検出時に、Ｉ／Ｏデータのデフォルトの安全状態を受け入れる、請求項１に記載の産業用制御装置。
【請求項９】
第１のネットワークから独立したプロトコルデバイスが、Ｉ／Ｏデータの伝送ループエラーを検出するために、高信頼性フォーマット化データを評価し、Ｉ／Ｏデータについてエラーの検出時に、Ｉ／Ｏデータのデフォルトの安全状態を受け入れる、請求項４に記載の産業用制御装置。
【請求項１０】
標準直列通信網が、イーサネット、デバイスネット、コントロールネット、ファイヤワイヤ及びフィールドバスから成り立つネットワークのグループから選択される、請求項１に記載の産業用制御装置。
【発明の詳細な説明】
【０００１】
本出願は、１９９９年１２月２２日に提出された仮出願第６０／１７１，４３９号の利益を主張する。
【０００２】
（関連出願に対するクロスリファレンス）
【０００３】
（連邦政府により後援された研究開発に関する陳述）
【０００４】
（発明の背景）
本発明は、産業プロセスのリアルタイム制御のために使用される産業用制御装置に関し、特に、人間の生命と健康を守ることを目的とするデバイスで使用するのに適切な高信頼性産業用制御装置に関する。「高信頼性」とは、一般的には、エラー状態または障害状態を検出し、それらの発生を信号で知らせる、及び／または所定の障害状態に入ることによって、誤ったデータまたは信号の伝搬から保護するシステムを指す。高信頼性システムは、高可用性システムと区別されてよいが、本発明は、両方のこのようなシステムで有効であるため、ここに使用されるように、高信頼性は、高可用性システムを除外すると考えられてはならない。
【０００５】
産業用制御装置とは、産業プロセスを制御する上で使用される特殊目的のコンピュータである。記憶されているコンピュータプログラムの指令を受けて、産業用制御装置は、制御されているプロセスのステータスを反映する一連の入力を調べ、産業用プロセスを制御する一連の出力を変更する。入力及び出力はバイナリ、すなわちオンまたはオフ、つまりアナログでよく、連続的な範囲内で値を提供する。入力は、制御されている装置に取り付けられているセンサから得られ、出力は制御されている装置上のアクチュエータに対する信号であってよい。
【０００６】
「安全システム」は、産業プロセスの環境の中で仕事をしている人間の安全を保証することを目的としている。このようなシステムは、緊急停止ボタン、インターロックスイッチ、及び機械ロックアウトを含んでよい。従来、安全システムは、該安全システムが関連付けられている産業プロセスを制御するために使用される産業用制御システムとはまったく別個の回路のセットによって実現されている。このような安全システムは、開閉器と中継器から「結線され」、そのいくつかは冗長な信号の比較を可能にし、溶接接点または固着接点などの状態の内部チェックを提供する特殊化した「安全中継器」であってよい。安全システムは、二重接点付きの開閉器を使用し、接触故障の早期表示を行ってよく、複数の接点は、複数の接点が閉じる場合にだけアクチュエータが付勢されるようにアクチュエータに結線されてよい。
【０００７】
結線されている安全システムは、産業プロセスの完全性が高まるにつれて不適切であることが判明してきた。これは、部分的には、中継器を設置、配線する費用のためであり、部分的には、論理回路が、物理的な中継器及び開閉器を配線し直すことによってのみ変更できる安全システムによって実現されている「プログラム」を障害探索し、保守することの困難のためである。
【０００８】
このため、産業用制御装置を使用して安全システムを実現することにかなりの関心がある。このような制御装置はプログラミングするのがさらに容易であり、それらが高速直列通信網を使用することにより、ポイントツーポイント配線の長い引き回し長さを排除するため、設置コストを削減してきた。
【０００９】
残念なことに、産業制御で使用されている高速直列通信網は、安全システムにとっては十分に信頼できない。このため、データの伝送でさらに大きな確実性を提供する高速直列通信網である「安全ネットワーク」を開発するための作業が着手されてきた。現在提案されている安全ネットワークは、産業制御で広く使用されているプロトコルとは相容れない。結果的に、これらの新しい安全ネットワークが採用される場合、既存の産業用制御装置ハードウェア及び標準技術は使用不能となることがあり、既存の工場及び新規工場に対して高いコストを課す。このようなコストは、高度安全技術の大幅な規模の採用を有害に延期する可能性がある。
【００１０】
必要とされるのは、従来の産業用制御装置ネットワーク及び構成要素と互換性のある安全ネットワークである。理想的には、このような安全ネットワークは、多岐に渡るさまざまな標準通信プロトコルを処理し、信頼性を傷つけなくても標準的な産業用制御構成要素と安全システム構成要素の混合を可能とするだろう。
【００１１】
標準ネットワークで安全システムを実現する上での追加の問題とは、結線されているシステムの故障を（それらが一致しないときに）検出するために使用される冗長な制御信号が、必ずしもつねに、まったく同時に変化しないという点である。結果的に、信号の一致の欠如が無視される時間のウィンドウが確立される。理想的には、このウィンドウは、実際の故障が迅速に特定できるように短い。
【００１２】
しかしながら、短い一致ウィンドウは、高信頼性システムが、制御システムで使用されているような標準的な直列ネットワークで実現されるときには問題を生じさせる。これは、妥当なネットワーク帯域幅のために、メッセージを待ち行列に入れると、冗長な信号の伝送で歪みが生じ、伝送ウィンドウの望ましくない延長が必要とされるためである。これは、特に、信号の通信に別個のネットワークの伝送による応答メッセージが必要とされるときに当てはまる。
【００１３】
やはり必要とされているのは、従来の産業用制御装置直列ネットワーク及び構成要素と互換性はあるが、冗長な制御信号を使用することにより生じる利益を提供する安全ネットワークである。理想的には、このような安全ネットワークは、産業用制御網の現在使用できる帯域幅を使用するだろう。
【００１４】
（発明の概要）
本発明は、このような標準的なネットワークの接続済みメッセージ通信プロトコルの下で冗長な「接続」を開くことによって、及びメッセージ作成者とメッセージ消費者の両者に対しどちらかの接続の失敗を明らかにする、送信されたメッセージの反響を採用することによって標準制御ネットワーク上で高信頼性通信を提供する。二重接続は、このようにして、従来、高信頼性を課すことを既存のネットワーク媒体を用いて可能にするこのようなシステムで使用される二重媒体の代わりに役立つ。
【００１５】
具体的には、本発明は、いくつかが制御されているプロセスから制御信号を受信する産業用制御装置の構成要素の間で高信頼性通信を確立する方法を提供し、該構成要素は、標準ネットワーク上で通信する。方法は、指定された受信済み制御信号と関連付けられた少なくとも二人の冗長な論理メッセージ作成者を確立するステップと、該二人の論理メッセージ作成者と対応する論理メッセージ消費者のそれぞれの間で論理接続を開くステップとを含む。指定された受信済み制御信号を含むデータは、論理メッセージ作成者から論理メッセージ消費者への接続で伝送され、各論理メッセージ消費者での破壊されていないデータの受信後に、指定された受信済み制御信号を含む応答データを、論理メッセージ作成者への接続で伝送する。論理メッセージ作成者は、所定の安全状態を入力することによって応答データの伝送の破壊されていない受信の不在に応える。
【００１６】
このようにして、標準的な接続済みメッセージ通信プロトコルの元での高信頼性通信に備えることが、発明の１つの目的である。冗長な接続及び応答メッセージは、検出されていないメッセージ破壊に対する抵抗力を提供する。
【００１７】
本発明は、さらに、初期化のために標準ネットワークを利用できる高信頼性通信システムも提供する。
【００１８】
高信頼性システムの１つの要件は、メッセージが誤って宛てられてないという点である。これは、通常、各通信デバイスにそれ自体を識別し、各デバイスが、それが通信するそれ以外のすべての関係者のアイデンティティを確立することを確認する方法を与えることによって保証できる。理想的には、アイデンティティは、指定された「接続」、つまり一人のメッセージ作成者と一人のメッセージ消費者の通信対に一意であるだろう。
【００１９】
別の要件とは、すべての関係者が通信のパラメータを知っていることである。通信パラメータの誤りは、メッセージを誤って解釈させたり、理解できなくすることがある。
【００２０】
各デバイスにそのアイデンティティを通知し、共通通信パラメータを通信する必要性は、高信頼性通信システムは初期化されているので、標準ネットワーク上でデバイスにパラメータ及びアイデンティティを伝送することによって最もよく満たされる。残念なことに、アイデンティティ及びパラメータの標準ネットワーク上での分散は、アイデンティティまたはパラメータが誤って宛てられたり、誤って伝えられるかなりの確率がある場合、高信頼性通信システムを確立することに逆らって作用することがある。
【００２１】
本発明は、制御時間中に互いと通信することを目的とする２台のデバイスに構成データを対称的に通信する構成ツール（おそらく別個のデバイス）を使用することによって、標準ネットワーク上でのきわめて信頼性の高い通信システムの構成を可能にする。該構成データは、通信関係者に（接続または通信対に一意の）両方のアイデンティティを与え、通信の重要なパラメータも伝達する。構成データの受信後、２つの相互通信関係者は、構成データを比較し、彼らが正しく通信の一部であることを確認してよい。
【００２２】
具体的には、本発明は、制御されているプロセスと制御信号を交換する産業用制御システムの構成要素間で高信頼性通信を確立する方法を提供し、該構成要素は標準ネットワーク上で通信する。方法は、構成ソースからの構成メッセージを、標準ネットワークプロトコルを使用する標準ネットワーク上で第１構成要素及び第２構成要素に伝送する第１ステップを含み、該構成メッセージは、標準ネットワークで使用可能な高信頼性通信プロトコルに関係するデータを提供する。次のステップで、構成ソースは、第１構成要素と第２構成要素から構成応答メッセージを受信し、該構成応答メッセージは、第１構成要素と第２構成要素によって過去に受信された構成メッセージのデータを記述する。構成メッセージのデータによって定義されるように、第１構成要素と第２構成要素間での制御信号の通信は、構成ソースによって受信される構成応答メッセージが、構成ソースから伝送される構成メッセージと同じデータを記述する場合にだけイネーブルされる。
【００２３】
このようにして、高信頼性通信システムの一部として通信するだろうデバイスを構成し、特定するために標準ネットワークを使用できるようにすることが、本発明の１つの目的である。構成データの２つの相互通信デバイスへの対称的な伝送、及び構成データを反映する応答メッセージに対するニーズは、標準ネットワークが被りやすい多くの種類のエラーを削減する。
【００２４】
本発明は、さらに、ネットワーク上で伝送されているデータに、プロトコルの２つのレベルを課すことによって、ネットワークから独立した高信頼性通信システムを提供する。プロトコルの第１レベルは、安全システムにとって必要な高信頼性を提供するが、プロトコルの第２レベルは、安全システムのプロトコルをカプセル化し、それを標準ネットワークで伝送できるようにする。
【００２５】
本発明の安全システムは、多岐に渡る標準ネットワーク及び標準ネットワークハードウェアと互換性があり、標準ネットワークの媒体を通して安全構成要素と非安全構成要素を混合できるようにもする。安全プロトコルは、エラー検出データを、すべてが標準ネットワークによってデータとして処理される伝送済みデータに追加する。安全プロトコルは、確実な伝送を保証するが、標準ネットワークのプロトコルにとって可視のままとなることのあるメッセージ伝送のタイミング要件も追加する。
【００２６】
具体的には、本発明は、ネットワークと無関係な、高信頼性通信システムを、標準直列通信網を利用する産業用制御装置に提供する。通信システムは、産業プロセスの制御用の第１Ｉ／Ｏ通信回路を含む。このＩ／Ｏデータは、入力または出力データであってよく、回路は産業用制御装置またはそのＩ／Ｏモジュールにあってよい。Ｉ／Ｏデータは、伝送のエラーを削減するようにフォーマットされた高信頼性フォーマット済みデータを生成するために、ネットワークとは無関係なプロトコルの元での伝送のためにそれをフォーマットする第１のネットワークとは無関係なプロトコル回路によって受信される。高信頼性フォーマット済みデータは、標準直列通信ネットワークのプロトコルの元での伝送のためにさらにそれをフォーマットする、標準ネットワークプロトコル回路によって受信される。このようにして、それは、標準直列通信網での伝送のために二重にフォーマットされたデータを生成する。標準直列通信網用にプロトコルをフォーマットすると、伝送のエラーも削減する。標準直列通信網での伝送後、二重にフォーマットされたデータは、標準直列通信網のプロトコルに従って高信頼性フォーマット済みデータを抽出する第２標準ネットワークプロトコル回路によって受信される。それから、データは、高信頼性フォーマット済みデータから原Ｉ／Ｏデータを抽出する第２のネットワークに無関係なプロトコル回路によって受信される。第２Ｉ／Ｏ通信回路は、産業プロセスの制御のためにＩ／Ｏデータを受け取る。
【００２７】
このようにして、それにも関わらず、共通した十分に開発され、市販されている直列通信網の標準回路構成要素及びプロトコルを使用してよい高信頼性通信システムに備えることが、本発明の１つの目的である。安全性フォーマットは、フォーマットされた安全性データを伝送される通常データとして処理する、直列ネットワークの標準プロトコルに埋め込まれている。
【００２８】
最後に、本発明は、ネットワーク上での制御信号の伝送の前に、一致検出ステップをメッセージ作成者に移動することによって、標準直列ネットワーク上での冗長な制御信号の伝送及び使用を容易にする。その後ネットワーク上で冗長に伝送されてよい単一の一致信号は、短い一致ウィンドウを使って作成される。一致は伝送の前に解決されるため、ネットワーク歪みは、一致ウィンドウの延長を必要としない。
【００２９】
具体的には、本発明は、制御装置を有する高信頼性産業用制御システムに、共用されている直列ネットワークに対する第１ネットワークインタフェースを提供する。産業用制御システムは、少なくとも２つの冗長入力信号を受信するための少なくも２つのインタフェース回路付きの入力モジュールも含み、インタフェース回路は、内蔵バスを介して少なくとも１台のプロセッサと通信する。プロセスは、さらに、共用される直列ネットワークに対する第２ネットワークインタフェースと通信し、インタフェース回路によって処理される冗長な入力信号を受信するため、事前に定められた時間期間のウィンドウ内で冗長な入力信号の一致を判断するため、及びウィンドウ内に一致がある場合にだけ、第２ネットワークインタフェースを介して、冗長入力信号の一致状態を示す少なくとも１つの一致信号を制御装置に伝送するために、記憶されているプログラムを実行する。
【００３０】
このようにして、入力信号のネットワークの歪みの影響を排除することによって、一致ウィンドウに対する相対的に短い事前に定められた時間期間の使用を可能にすることが、発明の１つの目的である。
【００３１】
発明の前記及びそれ以外の目的及び優位点は、以下の説明から明らかになるだろう。説明中、この一部を形成し、発明の好ましい実施形態が図によって示されている添付図面が参照される。しかしながら、このような実施形態は、必ずしも発明の完全な範囲を表さず、発明の範囲を解釈するためにはクレームが参照されなければならない。
【００３２】
（発明の詳細な説明）
本発明は、産業用環境において人間の生命及び手足を保護するために使用される「安全システム」の一部となることがある。それにも関わらず、ここに使用されるような用語「安全」は、本発明が産業プロセスを安全にするだろう、あるいはそれ以外のシステムが安全ではない動作を生じさせるだろうという表現ではない。産業プロセスにおける安全は、安全システムの設計、安全システムの構成要素の設置及び保守、及び安全システムを使用する個人の協力と訓練を含む、本発明の範囲外にある多岐に渡る要因に依存している。本発明は、高信頼性であることを目的としているが、すべての物理的なシステムは故障を受けやすく、このような故障に対して準備がなされなければならない。
【００３３】
ここで図１を参照すると、本発明を用いた安全システムを実現するための産業用制御システム１０は、遠隔入力モジュール１４及び遠隔出力モジュール１６付きの直列ネットワーク１５で通信している制御装置１２を含む。ネットワーク１５は、イーサネット（Ｅｔｈｅｒｎｅｔ）、デバイスネット（ＤｅｖｉｃｅＮｅｔ）、コントロールネット（ＣｏｎｔｒｏｌＮｅｔ）、ファイヤワイヤ（Ｆｉｒｅｗｉｒｅ）またはフィールドバス（ＦｉｅｌｄＢｕｓ）を含むが、それらに限られない標準的且つ一般的に入手可能な高速直列ネットワークであってよい。ネットワーク１５は、オプションで前記標準的なプロトコルまたはそれ以外のプロトコルの異なったの間で変換するブリッジ１７を含んでよい。以下から理解されるように、本発明はアプリケーションを架橋するように容易に適応されてよい。
【００３４】
入力モジュール１４は、産業用制御装置１２にネットワーク１５上で通信される（類似して称されるライン上の）入力信号１８を受け入れてよい。産業用制御装置１２では、信号１８は、（機械ロックアウトまたは緊急停止などの）安全システムを実現する制御プログラムの元で処理され、追加信号が、アクチュエータ２２への（類似して称されるライン上の）出力信号２０を生成してよい出力モジュール１６に送信されてよい。
【００３５】
入力信号１８は、緊急停止開閉器、インターロック開閉器、光カーテン、及びその他の近接検出器を含むが、それらに限られない、安全入力信号を生成する多岐に渡るデバイスのどれかであってよい開閉器１９から生じる。アクチュエータ２２は、中継器、ソレノイド、モータ、エナンシエータ（ｅｎｕｎｃｉａｔｏｒ）、ランプ、または安全機能を実現するその他のデバイスであってよい。
【００３６】
やはりネットワーク１５に接続されているのは、その目的が後述されるだろう構成端末２４として使用されてよい標準コンピュータである。
【００３７】
冗長システムハードウェア
ここで図２を参照すると、開閉器１９は、冗長な信号１８ａと１８ｂを生成し、信号１８ａは、例えば開閉器１９内の第１接点から、信号１８ｂは開閉器１９内の第２の独立した接点からである。該接点は、両方とも通常開かれている（例えば、プッシュボタン２６を作動すると閉じられる）同じ論理回路（図示されていない）を有してよいか、あるいは１つの接点が通常は開かれ、１つの接点が通常は閉じられている反転論理回路であってよい。いずれのケースでも、冗長信号１８ａと１８ｂは、開閉器１９の状態の判断でより高い信頼性に備えるように生成される。
【００３８】
入力モジュール１４は、信号１８ａを受信する冗長インタフェース回路構成要素２８ａ、及び信号１８ｂを受信するインタフェース回路構成要素２８ｂを含んでよい。代わりに、図示されていないが、インタフェース回路構成要素２８ａ及び２８ｂは、それぞれ（内部比較のために）信号１８ａと１８ｂの両方を受信してよいか、あるいは単一接点から信号１８ａと１８ｂを受信してよい。信号１８ａと１８ｂを生成する上で、接点には、入力回路構成要素２８ａと２８ｂから、または１つの共通した電圧ソース（図示されていない）からそれぞれ別個の電圧が提供されてよい。技術で既知であるこれらの配線システムでのその他の冗長な変形も使用されてよい。
【００３９】
インタフェース回路構成要素２８ａと２８ｂのそれぞれは、結果的に、関連付けられたマイクロコントローラ３０ａと３０ｂに信号を提供してよい。マイクロコントローラ３０ａと３０ｂは、後述されるように、コンピュータプロセッサ、メモリ、及び安全プロトコルを実行するために記憶されているプログラムを提供する。代わりに、あるいは加えて、安全プロトコルは、マイクロコントローラ３０ａと３０ｂが通信する安全プロトコル回路３２によって実行されてよい。このケースでは、安全プロトコル回路２８ａと２８ｂは、特定用途向け集積回路（ＡＳＩＣ）である。技術において、ハードウェアまたはソフトウェア、あるいはそれぞれの組み合わせによってプロトコルを実現することは周知であるので、ここに及び請求項で使用されているような「プロトコルデバイス」は、一般的に、示されている機能を実現するソフトウェア及びハードウェアの構成要素の任意の組み合わせを包含すると解釈されるべきである。
【００４０】
マイクロコントローラ３０ａ及び３０ｂは、記述されるように、信号１８ａと１８ｂを比較するために内蔵バス３４を通して互いと通信してよい。
【００４１】
マイクロコントローラ３０ａと３０ｂ、あるいは安全プロトコル回路２８ａと２８ｂは、結果的に、標準ネットワーク１５の低レベルプロトコルを処理するために、技術で周知である型の標準ネットワークプロトコル回路３６ａと３６ｂに接続する。典型的には、標準ネットワークプロトコル回路３６ａと３６ｂは、そのインプリメンテーションがかなりの開発時間を表し、容易に修正することのできないＡＳＩＣによって実現される。
【００４２】
標準ネットワークプロトコル回路３６ａと３６ｂは、類似した標準ネットワークプロトコル回路３８ａと３８ｂを通して制御装置１２で受信される、ネットワーク１５上の入力モジュール１４からの信号を伝送する。これらの信号は、標準ネットワークプロトコル回路３８によって処理され、前述の安全プロトコル回路３２ａと３２ｂに類似している、冗長安全プロトコル回路４０ａと４０ｂに提供される。これらの安全プロトコル回路４０ａと４０ｂは、それぞれ、周知の冗長性技法に従って別個のメモリシステム及び制御プログラムを含み、内蔵バス３４’上で相互通信するプロセッサ４２ａと４２ｂと通信する。プロセッサ４２ａと４２ｂによって生成される出力信号は、後述されるように、安全プロトコルを実現するために安全プロトコル回路４０ａと４０ｂを通して通信しなおされてよく（あるいは、代わりに安全プロトコルは、プロセッサ４２ａと４２ｂによって処理されてよく）、出力信号は、出力モジュールへの再びネットワーク１５上での伝送のために標準ネットワークプロトコル回路３８ａと３８ｂに通信される。
【００４３】
出力モジュール１６は、標準ネットワークプロトコル回路３６ａと３６ｂ、及び３８ａと３８ｂに類似している標準ネットワークプロトコル回路４４ａと４４ｂを通して出力データを受信してよい。標準ネットワークプロトコル回路４４ａと４４ｂは、データを、結果的にそれらを冗長コントローラ４８ａと４８ｂに提供する安全プロトコル回路４６ａと４６ｂに提供する。前述されたように、代わりに、安全プロトコルは、その代わりとして制御装置４８ａと４９ｂによって処理されてよい。制御装置４８ａと４８ｂは、内蔵バス３４”によって通信し、結果的に信号を、出力信号２０ａと２０ｂを提供する出力インタフェース回路５０ａと５０ｂに提供する。出力信号は、アクチュエータ２２が電力を供給されるために出力がイネーブルされなければならないように、アクチュエータ２２に接続されてよい。この意味において、プロセッサ４８ａと４８ｂの間で受信される信号の間に一貫性がない場合に、（アクチュエータ２２に電力が供給されない）デフォルトの安全状態が生じる。配線を並列構成に変更すると、プロセッサ４８ａと４８ｂによって受信される両方の信号ともイネーブルされるとアクチュエータが作動される安全状態を生じさせることができるだろう。
【００４４】
代わりに、及び説明されるように、安全状態は、制御装置１２または入力モジュール１４から出力モジュール１６のマイクロコントローラ４８ａと４８ｂに伝送される安全状態信号によって施行されてよく、後者は、さらに後述されるように、構成端末２４を通してプログラミングされる所望の安全状態の記憶されている値によって求められる出力インタフェース回路５０ａと５０ｂへの出力を生じさせることによって応答してよい。
【００４５】
本発明によるブリッジ回路１７は、入力モジュール１４に示される基本的な構造を仕様できるが、入力モジュール１４のインタフェース回路構成要素２８ａと２８ｂを、ネットワークプロトコル回路３８ａと３８ｂ、ならびに４０ａと４０ｂの安全プロトコル回路で置換する（この場合、ネットワークプロトコル回路３８と３６は別のプロトコル用であり、それによって後述される技法による安全データのシームレスな伝送を可能にする）。
【００４６】
ここで図３を参照すると、本発明の専門化された冗長入力モジュール１４は、２つの標準入力モジュール１４ａと１４ｂで置換されてよく、入力モジュール１４ａは、前述されたインタフェース回路構成要素２８ａ、マイクロコントローラ３０ａ、安全プロトコル回路３２ａ及び標準ネットワークプロトコル回路３６ａと同等なものを保持し、入力モジュール１４ｂは、インタフェース回路構成要素２８ｂ、マイクロコントローラ３０ｂ、安全プロトコル回路３２ｂ、及び標準ネットワークプロトコル回路３６ｂの同等なものを保持する。このケースでは、安全プロトコル回路３２ａと３２ｂの動作はマイクロコントローラ３０ａと３０ｂのファームウェア内で実現され、内蔵バス３４よりむしろネットワーク１５上で通信されるメッセージを介して実施される。
【００４７】
同様に、図４を参照すると、出力モジュール１６の冗長性は、別個の出力回路１６ａと１６ｂによって実現されてよく、出力モジュール１６ａは、標準ネットワークプロトコル回路４４の相当物、安全プロトコル回路４６ａ、マイクロコントローラ４８ａ、及び出力インタフェース回路５０ａを含み、出力モジュール１６ｂは、４４’としての標準ネットワークプロトコル回路４４の相当物、安全プロトコル回路４６ｂ、マイクロコントローラ４８ｂ、及び出力インタフェース回路５０ｂを含む。後述されるように、本発明は、ネットワーク１５でアドレスを有する物理装置の間での安全構成要素の正確なパーシングに無関心であるプロトコルを提供する。
【００４８】
ここで図５及び図２を参照すると、入力回路内での安全プロトコル回路３２及び標準ネットワークプロトコル回路３６の動作とは、説明されるように、ネットワーク１５で送信されるメッセージの添付される追加データとして、及びそのデータの管理においての両方で実現される安全ネットワークプロトコル５４内に線路１８ｂからの入力データ５２を埋め込むことである。安全ネットワークプロトコル５４は、結果的に、ネットワーク１５上でのシームレス伝送のために標準ネットワークプロトコル５６内でカプセル化される。
【００４９】
安全ネットワークプロトコル
ここで図５及び図２を参照すると、標準ネットワークプロトコル回路３６、３８及び４４と関連した安全プロトコル回路３２、４０及び４６の動作とは、ネットワーク１５上で送信されるＩ／Ｏデータ５２に添付される追加データとして、及びそのＩ／Ｏデータ５２の伝送の詳細の管理においての両方で実現される安全ネットワークプロトコル５４の中に（例えば、ライン１８ｂからの）Ｉ／Ｏデータ５２を埋め込むことである。安全ネットワークプロトコル５４は、結果的に、ネットワーク１５上でのシームレス伝送のために標準ネットワークプロトコル５６内でカプセル化される。
【００５０】
それから、安全ネットワークプロトコル５４及び標準ネットワークプロトコル５６でカプセル化されるデータは、その基本的な状態でＩ／Ｏデータ５２を提供するために、標準ネットワークプロトコル回路３６、３８及び４４、ならびに安全プロトコル回路３２、４０及び４６の連続動作を通して（例えば、制御装置１２によって）受信し、抽出することができる。図５がプロセスを表象するだけであること、及び安全ネットワークプロトコル５４が、単に、例えば、安全データヘッダ内のデータ５２のカプセル化したものではなく、むしろ安全プロトコルは、安全ネットワークプロトコル５４が、ネットワーク１５または標準ネットワークプロトコル回路３６，３８及び４４を修正しないで、標準ネットワークプロトコル５６内で動作できるように、標準ネットワークプロトコル５６と順番で実行されてよいタイミング制約を含むことに注意する。
【００５１】
この二重レベルのカプセル化（ｅｎｃａｐｓｕｌａｔｉｏｎ）及び非カプセル化（ｄｅ−ｅｎｃａｐｓｕｌａｔｉｏｎ）は、安全システムに釣り合った高レベルの信頼性を必要とするネットワーク１５でＩ／Ｏデータ５２が伝送されるたびに実行される。非安全システムデータについて、標準ネットワークプロトコル５６は、産業用制御システム１０の非安全要素との通信のために、安全ネットワークプロトコル５４を使用せずに単独で使用されてよい。ネットワーク１５で伝送されるすべてのデータは標準ネットワークプロトコル５６に埋め込まれているため、それらがＩ／Ｏデータ５２に適したデータ伝送容量を有し、後述されるように、安全ネットワークプロトコル５４の追加された安全エラー検出データ５８を受け入れるのに十分な容量を有するのであれば、安全ネットワークプロトコル５４は、多岐に渡るネットワーク１５とシームレスに動作するだろう。
【００５２】
安全メッセージフォーマット化
ここで図６を参照すると、安全ネットワークプロトコル５４の第１態様とは、Ｉ／Ｏデータ５２が、ネットワークメッセージ６１を作成するために標準ネットワークプロトコル回路３６、３８及び４４に提供されるデータを形成する安全メッセージ６０を形成するために安全エラー検出データ５８に添付されるという点である。安全エラー検出データ５８は、安全メッセージの早期伝送に関して、安全メッセージ６０が伝送される局所的な順序を示すシーケンスカウントを含んでよい。該シーケンスカウントは、説明されるように単一のメッセージだけの損失を検出することが意図されるので、通常、範囲（０−３）に限られる。
【００５３】
やはりＩ／Ｏデータ５２及び安全エラー検出データ５８の部分に添付されるのは、好ましい実施形態では、１２ビットであるために選択される巡回冗長符号（ＣＲＣ）である。該巡回冗長符号は、ＣＲＣが受信側デバイスによって再計算され、一致しないときに、それらのデータ要素のどれかの伝送でのエラーが検出できるようにＩ／Ｏデータ５２及びシーケンスカウントから機能的に生成される。技術で理解されるように、１２ビットのエラーコードは、ビットエラーの奇数、全２ビットエラー、１２ビットまでの全バーストエラー、及び安全メッセージ６０のデータの２０４７ビットまで、１２ビットより大きなバーストエラーの９９．９５１％を含むエラーの検出を可能にするだろう。
【００５４】
安全メッセージ６０は、ネットワーク１５の標準ネットワークプロトコル５６に応じて変化するネットワークヘッダとフッタ６２と６４に埋め込まれている。ネットワーク１５に応じて、ネットワークヘッダとフッタ６２と６４は、ＣＲＣコードとその他のシーケンスカウント、及び安全エラー検出データ５８と冗長に動作するそれ以外の類似した安全エラー検出データ５８を含んでよい。それにも関わらず、安全メッセージ６０は、可能な程度まで完全にネットワークから独立するように、独自の安全エラー検出データ５８を含む。
【００５５】
接続されたメッセージ通信
前述されたように、安全エラー検出データ５８は、安全ネットワークプロトコル５４の一部だけを形成する。安全ネットワークプロトコル５４は、接続されたメッセージ通信方式の元での適切な通信を保証する構成ステップも含む。ここで図９を参照すると、制御装置１２、入力モジュール１４（つまり入力モジュール１４ａと１４ｂ）、及び出力モジュール１６（つまり出力モジュール１６ａと１６ｂ）の間の通信が、接続されたメッセージ通信システムを提供してよい。技術で理解されるように、接続されたメッセージ通信は、一方がメッセージの「作成者」としての役割を果たし、一方がメッセージの「消費者」としての役割を果たす論理装置の対の間で接続を開くことを必要とする。接続を開くプロセスは、ネットワークの帯域を確保し、接続のデータが確実に伝送、受信されることを保証するために、作成者と消費者における必要な処理リソースとバッファリングリソースを確保する。
【００５６】
接続されたメッセージ通信プロトコルは、安全ネットワークプロトコル５４の一部として、または標準ネットワークプロトコル５６の一部として実現されてよく、後者のオプションは、使用されてよい標準ネットワーク１５の種類をいくぶん制限する。接続されるメッセージ通信をサポートするいくつかの標準ネットワークプロトコルは、デバイスネットとコントロールネット、イーサネット、及びＡＴＭである。
【００５７】
ここで図９を参照すると、接続されたメッセージ通信プロトコルの元で、入力モジュール１４は、２つの接続を開く二人の作成者８０に、信号１８ａと１８ｂのそれぞれのために一人づつ、制御装置１２の二人の消費者８２を与える。実際問題として、これらの２つの接続とは、２つの別個のネットワークメッセージ６１がネットワーク１５上を送信され、両方のメッセージの損失の確率を引き下げることを意味する。
【００５８】
別個の入力モジュール１４ａと１４ｂがある図３のインプリメンテーションについて、二人の作成者８０も提供される。作成者８０が現在（ネットワーク１５で異なるアドレスを有する）別のデバイス内にいるにしても、安全システムを実現する制御プログラムの動作は、接続レベルより上で、インプリメンテーション内のこれらの変更によって変更される必要はない。接続されたメッセージ通信は、このようにして、安全システムを、単一ネットワーク、つまり複数のリンク上で自然な冗長性に備えるようなトポロジにたいてい無関心にさせる。
【００５９】
制御装置１２は、同様に、図２による単一出力モジュール１６内または図４の実施形態による別個の出力モジュール１６ａと１６ｂのどちらかで、消費者８２とデータを交換している二人の作成者８０を含む。２つの矢印が、それぞれの作成者８０と消費者８２の間に図示され、図９に従って、後述されるように、安全プロトコル５４の元で肯定応答メッセージによる各メッセージのパーシングを示す。
【００６０】
図９に図示されていないが前述されるように、ブリッジ回路１７は、当業者に理解されるように、四人の消費者と四人の作成者（ネットワーク側ごとに二人）を実現するだろう。
【００６１】
安全構成データ及びプロトコル
ここで図１０を参照すると、安全プロトコルは、さらに一般的には、第１ステップがプロセスブロック６６によって示されるように構成データを作成することである、初期化状態を含む。
【００６２】
構成プロセスは、構成端末２４で構成データを作成することと、構成データが入力モジュール１４、制御装置１２、及び出力モジュール１６のそれぞれにあることを保証することを必要とする。構成データは各接続に一意であり、安全プロトコルの必須構成要素を提供し、安全システムの中にスプリアスデータを注入する不適切な接続の可能性を削減するために相互通信関係者を特定する。これは、安全ネットワークプロトコル５４を観察するシステム構成要素と、標準ネットワークプロトコルだけを観察する標準構成要素の混合を可能とする上で特に重要である。デバイスは、複数の接続をサポートしてよく、そのケースでは、各接続に特定的な複数の構成データが使用されるだろう。
【００６３】
一般的には、構成データは、入力モジュール１４、制御装置１２、及び構成データを保持する出力モジュール１６の特定のデバイス及び特にそのデバイスの連続番号を識別するデータを含む。連続番号は物理装置の一意の不変の一部であり、このようにして（独立した接続を確立してよい）物理装置内の論理装置の内部アドレスとともに、連続番号は各接続に一意のアイデンティティを与え、いったん構成データが適切に広められると、異なるデバイス間での交差接続の可能性を排除する。連続番号を強化するために、構成データは、すべてが技術で既知であり、特定のデバイスを識別するデバイスの論理アドレス、物理アドレスを含むネットワークデータだけではなく、ベンダ識別番号、デバイスコード、製品コード、主要改訂、マイナー改訂も含んでよい。同様に、デバイス内の構成データは、それが接続されるデバイスの連続番号を含んでよい。
【００６４】
言及されたように、接続データは、「定期時間間隔」、「応答タイマ間隔」、「フィルタカウント」及び「再試行限度」という変数を含む、さらに説明されなければならない安全プロトコルの他の態様のインプリメンテーションに必要なデータも含んでよい。構成データは、ネットワークエラーの発生時にデバイスが復旧するだろう安全状態、及び現在の接続がエラーを有する場合に安全状態に復旧しなければならない（その他の接続に関係する）その他のＩ／Ｏ点を示す関連Ｉ／Ｏ点のリストも含む。このもっと後の特徴が、説明されるように、通信時の安全システムの選択的及びインテリジェントなディスエーブルを可能にする。文脈から明らかとなるように、このデータのいくらかは、デバイスに依存しており、システムプログラマはいくつかを開発しなければならない。
【００６５】
図７を参照すると、構成端末２４の中に保持される構成データは、メッセージ６６ａ、６６ｂ、及び６６ｃとして、入力モジュール１４、制御装置１２、及び出力モジュール１６のそれぞれに送信される。
【００６６】
受信側入力モジュール１４、制御装置１２、及び出力モジュール１６は、構成を記憶し、同じではあるが、受信される構成データの（単に別のバイナリコーディングである）一つの（ｏｎｅ’ｓ）補間的な形式に従って変更される構成メッセージで応答する。この一つの補間的なメッセージは、メッセージ６６ｄ、６６ｅ及び６６ｆによって、それぞれの入力モジュール１４、制御装置１２、及び出力モジュール１６から戻される。メッセージ６６ａ、６６ｂ及び６６ｃの構成が正確に（補間後に）メッセージ６６ｄ、６６ｅ及び６６ｆの構成データに一致する場合、構成は成功した。
【００６７】
構成データは、確認のために人間のオペレータに見せられてよい。オペレータが、構成が正しいことを認めると、構成は、構成端末２４からそれぞれの入力モジュール１４、制御装置１２、及び出力モジュール１６へ、メッセージ６８ａ、６８ｂ、及び６８ｃを通して図１０に図示されるプロセス６８によって示されるように適用される。デバイスは、所定の時間間隔内にメッセージ６８ｄ、６８ｅ及び６８ｆを介してこれらのメッセージを肯定応答しなければならないか、でなければ構成はクリアされ、どの構成も発生したとみなされないだろう。メッセージ６６と６８の構成データは、標準ネットワークプロトコル５６だけを使用して送信されてよい。
【００６８】
いったん構成が完了すると、安全プロトコルは、通常、図８と図１０に示される起動段階に入る。起動段階中、必要な安全接続が確立され、構成データが、予想される接続が、実際行われる接続であることを検証するために使用される。構成の起動部分の目的は、（１）安全システム内のデバイスと安全システム内のそれ以外の誤ったデバイス、及び（２）安全システムのデバイスと、混合システム内の安全システム内にないその他のデバイスの間で誤った接続が開かれるのを防ぐことである。
【００６９】
図１０のプロセスブロック７０で示されるこの起動プロセスでは、接続は、制御装置１２から入力モジュール１４と出力モジュール１６に確認される。特に（図９に図示される）制御装置１２内の作成者８０は、それぞれ、入力モジュール１４と出力モジュール１６に開放接続メッセージ７０ａと７０ｂを送出する。適切な消費者８２は、それぞれ接続肯定応答メッセージ７０ｃと７０ｄで応答する。それから、制御装置１２及び入力モジュール１４内の作成者８０は、メッセージ７０ｅと７０ｆによって示されるように、制御装置１２内の消費者８２に構成データを送信する。制御装置の消費者８２は、構成データがそれらの構成データに一致することを確かめるためにチェックしてから、肯定応答メッセージ７０ｆと７０ｇを送信し、その一致を承認する。その後、メッセージ７２ａと７２ｂで、従来のＩ／Ｏデータは送信し始められてよい。
【００７０】
図１０を再び参照すると、データ７２ａと７２ｂは、前述されたように、ネットワークメッセージ６１の中に安全エラー検出データ５８を組み込む安全メッセージ６０の形成を含むプロセスブロック７２によって示される安全プロトコルの部分に従って、及びここで説明されるだろう安全メッセージ６０のコンテンツとは無関係に、及び関連して動作しているメッセージ処理プロトコル７４に従って伝送されるだろう。
【００７１】
メッセージ処理安全プロトコル
（１）通常の伝送
通常、図１０と図１１を参照すると、メッセージ処理プロトコル７４は、メッセージ時間測定に備え、実行時中に安全エラー検出データ５８内のエラーに応える。これらのメッセージ処理プロトコル７４は、安全プロトコル回路３２、４０及び４６内で実現されるか、あるいはソフトウェア内で実現されてよく、作成者と消費者に対して異なる。
【００７２】
ここで、通常の実行時伝送のための図１１と図１９を参照すると、作成者８０は、実行時に、図１１に従って消費者８２に（前述されたように、安全メッセージ６０に従って標準ネットワークメッセージ６１にカプセル化される）安全メッセージ８４を送信するだろう。この送信は、通常、図１９に示される。メッセージ８４を送信する直前に、定期的なタイマが、プロセスブロック８９に従って起動され、応答タイマは、メッセージ８４がプロセスブロック９１に従って伝送される瞬間に伝送される。定期的なタイマ間隔８６は、前述された構成プロセスに設定されるように、応答タイマ間隔８８より長い。
【００７３】
ここで図９、図１１、及び図２０を参照すると、消費者８２は、メッセージ８４を受信する前に、（最後のメッセージ８４を消費者が受信した時点で起動された）独自の定期タイマの定期的な時間間隔８６’が、決定ブロック９２で示されるように期限切れとなったかどうかを確かめるために絶えずチェックしている。定期的なタイマ値８６’は、通常、定期タイマ値８６に同一である。
【００７４】
定期タイマが期限切れになると、故障が示され、プログラムは、後述されるように、プロセスブロック１３４、安全状態に進む。
【００７５】
タイマ値８６が期限切れになっていない場合には、決定ブロック９０で、消費者８２は、メッセージ８４が到達したかどうかを確かめるためにチェックする。メッセージ８４が到達していない場合、プログラムは決定ブロック９２に戻り、定期タイマ８６が期限切れとなったかどうかを再び確かめる。
【００７６】
メッセージ８４が定期タイマ８６の期限切れの前に到達したと仮定し、プログラムは決定ブロック１１２に進み、メッセージ８４のＣＲＣをチェックする。
【００７７】
ＣＲＣが正しいと仮定して、プログラムは決定ブロック９６に進み、シーケンスカウントが受信された最後のメッセージのシーケンスカウントより１つ大きいことを確認するためにチェックする。
【００７８】
シーケンスカウントが正しい場合には、プログラムは、プロセスブロック９４に進み、定期タイマ８６がリセットされる。プロセスブロック９５では、データは、例えば、出力にまたは更新変数に適用されてから、プロセスブロック９８で、肯定応答メッセージ１００が作成者８０に戻される。
【００７９】
再び図１９を参照すると、決定ブロック１０２で肯定応答メッセージを受信した作成者８０は決定ブロック１０６に進み、定期タイマ８６が期限切れとなったかどうかを判断する。
【００８０】
定期タイマが期限切れになっていないと仮定して、プログラムは決定ブロック１２４に進み、肯定応答メッセージ１００のＣＲＣをチェックする。冗長巡回符号は、伝送された安全メッセージ６０のデータに一致しなければならない。
【００８１】
再び、ＣＲＣが正しいと仮定し、プログラムは決定ブロック１２５に進み、肯定応答メッセージ１００のシーケンスカウントが、送信されたメッセージ８４のシーケンスカウントに一致するかどうかを判断する。
【００８２】
一致する場合には、決定ブロック１２７で、メッセージ８４で送信されたデータが肯定応答メッセージ１００のデータに比較される。一致がある場合には、プログラムは、それが、定期タイマが期限切れになるまでループする決定ブロック１２９に進んでから、プロセスブロック１１０に進み、新しいメッセージ８４を作成する。
【００８３】
このプロセスは、安全メッセージ８４及び肯定応答メッセージ１００の複数の伝送について繰り返される。
【００８４】
（２）受信されたが破壊されているメッセージ
ここで図１１を参照すると、１つの潜在的なエラーの中で、安全メッセージ８４は、例えば電磁干渉８５によって破壊されている。このケースでは、メッセージは、プロセスブロック９２によって測定されるような定期タイマ値内で、プロセスブロック９０に従って、図２０によって示されるように、消費者８２において受信されるが、決定ブロック１１２によって判断されるようにＣＲＣデータにはエラーがある。このケースでは、プログラムはプロセスブロック１１４に進み、処置は講じられず、特に、肯定応答メッセージ１００は戻されない。
【００８５】
図１９を参照すると、このケースでは、プロセスブロック１０２で、作成者８０によって受信される肯定応答メッセージ１００はないだろう。プログラムは決定ブロック１１６に進み、定期時間間隔８６が期限切れになったかどうかを判断する。期限切れになっている場合、故障が示され、プログラムはプロセスブロック１２６の安全状態に進む。
【００８６】
定期タイマ間隔８６が期限切れになっていない場合、プログラムは決定ブロック１１８に進み、さらに短い応答時間間隔８８が期限切れになったかどうかを確かめる。期限切れになっていない場合、プログラムはプロセスブロック１０２に折り返すだろう。期限切れになっている場合、プログラムはプロセスブロック１２０に進み、再試行限度が超えられたかどうかを確かめる。最初に、これは、当てはまらない可能性があり、プログラムはプロセスブロック１２２に進み、同じシーケンスカウントを有する反復メッセージ８４’が、やはり図１２によって示されるように、プロセスブロック８４で送信されるだろう。再試行限度が超えられた場合、プログラムは安全状態１２６に進む。
【００８７】
この反復メッセージ８４’は、図２０のプロセスブロック９０によって示されるように、消費者８２で受信され、それが正しいこと、及びそれが過去の誤りのないメッセージに基づいて定期時間間隔８６’内に到達したと仮定して、このメッセージ８４’は、前述されたステップに従って、プロセスブロック９８で肯定応答メッセージ１００の送信を生じさせる。
【００８８】
典型的には、ただ１回の見失われた伝送が発生すると、肯定応答メッセージ１００は、作成者の定期タイマ間隔８６内で発生し、メッセージは、図１１に関して前述されたように、通常に交換され続けるだろう。
【００８９】
（３）受信されなかったメッセージ
ここで、図１３を参照すると、前記例においては、安全メッセージ８４は、エラー付きであるにも関わらず、検出される消費者８２に到達した。低レベルネットワークプロトコルの元ではメッセージとして認識できないこのような極端な干渉の結果として、あるいは間欠的な性質の作成者と消費者間の構成要素の故障の結果として、安全メッセージ８４が消費者８２に到達しないことが考えられる。この状況下では、作成者８０は、メッセージ８４を送信するが、消費者は図２０のプロセスブロック９０でメッセージを受信しない。
【００９０】
（前述されたように）消費者の図２０の「処置なし」ブロック１１４は、このようにして遭遇されないが、結果はいずれにせよ同じである。つまり、消費者８２は、処置を講じない。
【００９１】
このようにして、作成者８０における応答タイマ期限切れ時の図１２に関して前述されたように、作成者８０は、受信されると、通常の通信の文字列を開始する肯定応答メッセージ１００を生じさせるだろう第２メッセージ８４を作成するだろう。
【００９２】
（４）受信されたが破壊されている肯定応答メッセージ
ここで、図１４を参照すると、安全メッセージ８４は、エラーなしで無事に消費者８２に達するが、肯定応答メッセージ１００は電磁干渉８５により生じるエラーを有することがある。このケースでは、作成者８０は、定期的なタイマ間隔８６内で肯定応答メッセージ１００の受信を検出するために決定ブロック１０６によって図１９に図示されるように反応する。しかし、肯定応答メッセージ１００のデータにはエラーがある。
【００９３】
ＣＲＣが、決定ブロック１２４によって判断されるように正しく、プロセスブロック１２４に従って間違っているのがシーケンスカウントである場合には、プログラムは、消費者８２の出力と入力が構成データの事前に定められた安全状態に設定される安全状態１２６に入る。同様に、シーケンスカウントが正しいが、肯定応答データが決定ブロック１２７に従って一致しない場合、プログラムは安全状態１２６に進む。消費者８２が制御装置１２である場合には、メッセージは、それらにも安全状態に移るように信号で知らせる構成データ内で示される他のＩ／Ｏデバイスに送信されてよい。
【００９４】
プロセスブロック１２４で、ＣＲＣ符号が、誤った重複メッセージよりむしろ安全メッセージ内の破壊を示す安全メッセージ６０に一致しないと仮定して、プログラムは決定ブロック１１８に進み、応答タイマが前述されたように期限切れになっているかどうかを確かめる。応答タイマが期限切れになると、プログラムは前述されたようにプロセスブロック１２０に進み、再試行限度が超えられているかどうか確かめるために再試行カウンタをチェックする。超えられている場合、プログラムは安全状態１２６に進むが、多くの場合、これは発生せず、プログラムはプロセスブロック１２２に進み、再試行メッセージ８４’が図１４に示されるように作成される。
【００９５】
この再試行メッセージが破壊されていない肯定応答メッセージ１００’を引き起こすと仮定して、通信は通常の様式で続行する。
【００９６】
（１５）受信されなかった肯定応答メッセージ
ここで、図１５を参照すると、肯定応答メッセージ１００が、干渉を通して、あるいは一時的な通信障害を通して、完全に失われることが考えられる。そのケースでは、前述されたように、重複メッセージ８４が作成者８０から送信されるが、シーケンスカウントは、消費者８２によって過去に受信されたメッセージ８４のシーケンスカウントに同一となるだろう。図２０に図示されるようなこのケースでは、プロセスブロック１１２で、ＣＲＣは正しいだろうが、それ以降の決定ブロック９６で試験されると、シーケンスコードは間違っているだろう。このケースでは、プログラムはシーケンスコードが予想されるより１少ないかどうかをチェックするためにプロセスブロック１３０に進む。しかしながら、１少ない場合、消費者８２は、肯定応答メッセージ１００が失われたと結論付けなければならず、過去のメッセージの肯定応答が、プロセスブロック１３２で消費者によって再送される。
【００９７】
（６）受信メッセージなし
最後に、図１５に示されるように、作成者が、消費者の定期間隔８６’内で消費者と接続できない可能性がある。そのケースでは、プログラムは、図２０に図示されるように、決定ブロック９２から直接的に安全状態１３４に進む。
【００９８】
ネットワークにより誘導される歪みの削減
図２、図１７及び図１８を参照すると、重複入力信号１８ａと１８ｂが、入力モジュール１４内のその関連付けられた入力回路１８ａと２８ｂのサンプリングでの差異に対処するために濾波されなければならない。図１７に示されるように、ライン１８ａ上の信号は、（点線で図示される）間隔１４０ａでサンプリングされてよいが、（おそらく１８ａのそれと同一の）ライン１８ｂの入力信号は、実線で示される間隔１４０ｂでサンプリングされてよい。サンプリング速度のこの差異は、時間ｔ０で、インタフェース回路構成要素２８ａによって処理される信号１８ｂ’が高状態にあるが、インタフェース回路構成要素２８ａによって処理されるような信号１８ａが高状態にあることを意味する。歪み信号１８ａ’と１８ｂ’は、二重接点システムのわずかな機械的な遅延によっても引き起こされることがある。
【００９９】
補正されない場合、ゆがみは時間ｔ０とｔ１の間の瞬間的なエラー状態を生じさせ、故障を示唆する。これらの偽エラー表示は排除されなければならず、これは典型的には、その間信号１８ａと１８ｂの一致の欠如が無視されるウィンドウ１５０を確立することによって行われる。
【０１００】
ネットワークシステムにおいて、これは、ネットワークメッセージを介してそれぞれのプロセッサ４２ａと４２ｂへ信号１８ａ’と１８ｂ’を送信することを必要とすることがある。ネットワーク１５上での伝送のために待ち行列に入れた結果生じたこれらのメッセージの伝送での歪みは、ウィンドウ１５０を増加することを必要とする可能性がある。このようなアプローチにおける追加の問題は、ウィンドウ処理プロセスが、各入力１８ａと１８ｂの繰り返されるサンプルを必要とするという事実で生じる。例えば、（信号１８ａとの一致が欠如している）信号１８ｂで変化があると、ウィンドウ１５０内で信号１８ａのそれ以降の値を監視（し、伝送）し続ける必要がある。結果的に、ネットワーク１５は各入力の複数のサンプルの追加伝送で酷使される。高応答時間に対するニーズがサンプル数を増やすにつれて、ネットワークトラフィックも増加する。
【０１０１】
結果的に、本発明では、図２に図示される構成を使用して、マイクロコントローラ３０ａと３０ｂは、１８ａと１８ｂの共通の値を求めるためにウィンドウ濾波を使用して一致の欠如を解決するため、及びプロセッサ４２に、「事前に濾波された状態」の別々のメッセージでこの共通の値を送信するために、バス３４上で通信する。プロセッサ４２は、同期して動作するため、追加の歪みは生じない、あるいはニーズは排除される。その結果、歪みウィンドウは大きく削減され、ネットワークトラフィックは大きく削減される。
【０１０２】
特に、図１８を参照すると、マイクロコントローラ３０ａと３０ｂは、２つの入力が一致するかどうか、決定ブロック１４２で試験するフィルタプログラムを動作する。つまり、２つの入力（例えば、信号１８ａと１８ｂ）は同じであるか、あるいは所定の規約に従って、一方は他方の逆転である。一致がある場合には、それらの入力の出力状態は、プロセスブロック１４４によって示されるように、その一致した値に設定される。これは、概して図１７の領域１４６に相当する。
【０１０３】
プロセスブロック１４４の共通出力は、定期的に伝送されるか、あるいは状態が変更する瞬間だけに伝送されてよい。
【０１０４】
図１７の領域１４８によって示されるように一致が発生しない場合には、プログラムはプロセスブロック１４５に進み、例えば現在開始し、２つのサンプルを前方に進めるウィンドウ１５０内で、一致を見つけることができるのかを確かめるためにサンプリングする。プロセスブロック１５２によって示されるように、一致をウィンドウ１５０内で見つけることができる場合には、ウィンドウ一致値は、プロセスブロック１５４によって示されるように出力として使用される。
【０１０５】
一致を見つけることができない場合には、プログラムは安全状態１３６に進む。
【０１０６】
マイクロコントローラ３０ａと３０ｂは、多数の入力状態をさらに少ない数の伝送状態の中に写像することによって入力データをさらに濾波してよい。（より少ない伝送済みデータによって表されてよいような）これらのより少ない数の伝送状態が、高信頼性システムによってネットワーク帯域幅に課される重荷を削減する。さらに、伝送状態の変化だけが伝送されるケースでは、より少ない数の状態は、より少ない伝送を生じさせるだろう。このようにして、例えば、二重ボタン安全ロックアウトからなどの２つの入力は、２つの状態「実行」または「停止」に分解されてよい。入力データの２つのビットは、伝送されたデータの１つのビットに濾波されてよい。この圧縮は、前述されたウィンドウ処理と関連して動作してよい。
【０１０７】
前記説明は、本発明の好ましい実施形態の説明であり、当業者は、本発明の精神及び範囲を逸脱することなく多くの修正が加えられてよいことを思い浮かべるだろう。本発明の範囲内に該当してよい多様な実施形態を一般に知らせるために、以下の請求がなされる。
【図面の簡単な説明】
【図１】  中央制御装置を、遠隔入力回路と出力回路と、及び本発明で使用されてよいような遠隔構成端末とリンクする標準直列通信網を使用する簡略化された産業用制御装置の斜視図である。
【図２】  入力開閉器から図１の入力回路への冗長な配線を示す図１の制御システムの概略ブロック図であり、入力回路は通信網上で図１の制御装置に信号を送信するために入力開閉器からの信号を処理してよいような冗長な構成要素を有し、制御装置は、通信網上で図１の出力回路に信号を送信するための冗長なプロセッサを有し、出力回路はアクチュエータに出力を提供するために冗長な構成要素を有する。
【図３】  冗長な構成要素のない従来の制御入力回路を使用する図２の入力回路の代替構成を示す、図２に類似する断片的な図である。
【図４】  冗長な構成要素のない従来の制御出力回路を使用する図２の出力回路の代替構成を示す、図２に類似する断片的な図である。
【図５】  データが、直列ネットワークと互換性を持つために、最初に安全プロトコルで、次にネットワークプロトコルで符号化される本発明によって提供される二重通信プロトコルの代表的な図である。
【図６】  標準直列ネットワークによって提供されるフォーマットの中でのＩ／Ｏデータによる安全性フォーマットデータの埋め込みを示す、標準直列ネットワーク上で伝送されるデータワードの概略表現である。
【図７】  入力回路、制御装置、及び出力回路への構成メッセージの伝送を示し、本発明の安全プロトコルの基礎を形成する、垂直軸に時間、水平軸にネットワークに沿った距離を有するグラフィック表現である。
【図８】  ネットワークの起動段階及び実行時段階の間の構成プロセス後のメッセージの伝送を示す、図７の図に類似した図である。
【図９】  入力回路、制御装置及び出力回路の間の通信を、単一のネットワーク上での冗長な通信及び図２、図３、及び図４のインプリメンテーションの変化したトポロジを提供する作成者−消費者対に分割することを示す、産業用制御装置のブロック図である。
【図１０】  初期化、起動、及び実行時の安全プロトコルの原則段階を示すフローチャートである。
【図１１】  実行時中の本発明の安全プロトコルの元での通常のプロトコル動作を示す、図７の図に類似した図である。
【図１２】  作成者メッセージが破壊されたプロトコル動作を示す、図１１の図に類似した図である。
【図１３】  作成者メッセージが失われたプロトコル動作を示す、図１１の図に類似した図である。
【図１４】  消費者からの肯定応答メッセージが破壊されたプロトコル動作を示す、図１１に類似した図である。
【図１５】  消費者肯定応答メッセージが失われたプロトコル動作を示す、図１１に類似する図である。
【図１６】  作成者と消費者間の接続が分裂したプロトコル動作を示す、図１１に類似する図である。
【図１７】  ２つの冗長な入力回路の異なるサンプリング点から生じる歪みを示す、経時的な典型的な入力信号のグラフである。
【図１８】  ネットワーク伝送の前に、図１７の歪みを排除するために、図１の入力回路によって実行されてよいプログラムである。
【図１９】  安全プロトコルを実現する上で図９の作成者によって実行されるプログラムのフローチャートである。
【図２０】  本発明の安全プロトコルを実現する上で図９の消費者によって実行されるプログラムのフローチャートである。
【図１】
0004307776.tif 000002
【図２】
0004307776.tif 000003
【図３】
0004307776.tif 000004
【図４】
0004307776.tif 000005
【図５】
0004307776.tif 000006
【図６】
0004307776.tif 000007
【図７】
0004307776.tif 000008
【図８】
0004307776.tif 000009
【図９】
0004307776.tif 000010
【図１０】
0004307776.tif 000011
【図１１】
0004307776.tif 000012
【図１２】
0004307776.tif 000013
【図１３】
0004307776.tif 000014
【図１４】
0004307776.tif 000015
【図１５】
0004307776.tif 000016
【図１６】
0004307776.tif 000017
【図１７】
0004307776.tif 000018
【図１８】
0004307776.tif 000019
【図１９】
0004307776.tif 000020
【図２０】
0004307776.tif 000021