(57)【要約】      （修正有）【課題】信頼性を高めた送信システムを提供する。【解決手段】データ通信システム１０は、第１シリアルリンクに対して通信可能に結合され、第１シリアルリンクから第１送信信号を受信する第１シリアルポート（Ｉ／Ｏポート３４）と、第２シリアルリンクに対して通信可能に結合され、第２シリアルリンクから第２送信信号を受信する第２シリアルポート（Ｉ／Ｏポート３６）とを含む。第１シリアルリンクと第２シリアルリンクは、互いに平行に配置されるとともに、第１単一導管３８を介して通信し、第１通信信号と第２通信信号は同一情報を表す。第１通信信号と第２通信信号とを比較することによってシリアルリンクにおける障害を検出するとともに、障害が検出される場合に、障害にもかかわらず送信システムが動作を続けることができるかどうかを決定する回路を更に含む。【選択図】図２
2015136104.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブル論理デバイス（１５）を備えるフォールトトレラント送信システムにおいて、前記プログラマブル論理デバイス（１５）は、
第１のシリアルリンクに対して通信可能に結合されるように構成される第１のシリアルポートであって、該第１のシリアルポートが、前記第１のシリアルリンクから第１の送信信号を受信するように構成される第１のシリアルポートと、
第２のシリアルリンクに対して通信可能に結合されるように構成される第２のシリアルポートであって、該第２のシリアルポートが、前記第２のシリアルリンクから第２の送信信号を受信するように構成され、前記第１のシリアルリンクおよび前記第２のシリアルリンクが、互いに平行に配置されるとともに、第１の単一の導管（３８）を介して通信するように構成され、前記第１の通信信号（５８）および前記第２の通信信号（５８）が同一の情報を表す、第２のシリアルポートと、
前記第１の通信信号（５８）と前記第２の通信信号（５８）とを比較することによって前記第１のシリアルリンク、前記第２のシリアルリンク、または、これらの両方のシリアルリンクにおける障害を検出するように構成される回路であって、障害が検出される場合には、障害にもかかわらず前記送信システムが動作を続けることができるかどうかを決定するように構成される回路と、
を備えるフォールトトレラント送信システム。
【請求項２】
前記プログラマブル論理デバイス（１５）が三重モジュール式冗長（ＴＭＲ）コントローラ（１４）であり、前記コントローラ（１４）は、
第３のシリアルリンクに対して通信可能に結合されるように構成される第３のシリアルポートであって、該第３のシリアルポートが、前記第３のシリアルリンクから第３の送信信号を受信するように構成される第３のシリアルポートと、
第４のシリアルリンクに対して通信可能に結合されるように構成される第４のシリアルポートであって、該第４のシリアルポートが、前記第４のシリアルリンクから第４の送信信号を受信するように構成され、前記第３のシリアルリンクおよび前記第４のシリアルリンクが、互いに平行に配置されるとともに、第２の単一の導管（３８）を介して通信するように構成され、前記第３の通信信号（５８）および前記第４の通信信号（５８）が同一の情報を表す、第４のシリアルポートと、
第５のシリアルリンクに対して通信可能に結合されるように構成される第５のシリアルポートであって、該第５のシリアルポートが、前記第５のシリアルリンクから第５の送信信号を受信するように構成される第５のシリアルポートと、
第６のシリアルリンクに対して通信可能に結合されるように構成される第６のシリアルポートであって、該第６のシリアルポートが、前記第６のシリアルリンクから第６の送信信号を受信するように構成され、前記第５のシリアルリンクおよび前記第６のシリアルリンクが、互いに平行に配置されるとともに、第３の単一の導管（３８）を介して通信するように構成され、前記第５の通信信号（５８）および前記第６の通信信号（５８）が同一の情報を表す、第６のシリアルポートと、
を備え、
前記回路は、前記第３のシリアルリンク、前記第４のシリアルリンク、前記第５のシリアルリンク、前記第６のシリアルリンク、または、これらの任意の組み合わせにおける障害を検出するように構成される、
請求項１に記載のフォールトトレラント送信システム。
【請求項３】
前記回路は、前記第１の通信信号（５８）、前記第２の通信信号（５８）、または、前記これらの両方の通信信号（５８）におけるエラーを検出するように構成されるとともに、前記送信システムを利用するシステムの性質、前記シリアルリンクの状態、エラーがリアルタイムで補正可能かどうか、前記通信信号（５８）で送信される情報の性質、前回のエラーの履歴、または、これらの任意の組み合わせに少なくとも部分的に基づいて、前記送信システムが動作し続けることができるかどうかを決定するように構成される請求項１に記載のフォールトトレラント送信システム。
【請求項４】
前記回路は、前記第１の通信信号（５８）、前記第２の通信信号（５８）、または、前記これらの両方の通信信号（５８）において、繰り返し、削除、挿入、並べ直し、破損、遅延、なりすまし、または、これらの任意の組み合わせを検出するように構成される請求項１に記載のフォールトトレラント送信システム。
【請求項５】
前記回路は、フィールドプログラマブルゲートアレイ、プログラマブルアレイ論理、プログラマブル論理アレイ、一般アレイ論理、特定用途向け集積回路、または、これらの任意の組み合わせを備える請求項１に記載のフォールトトレラント送信システム。
【請求項６】
前記回路は、
前記第１の通信信号（５８）または前記第２の通信信号（５８）のいずれか一方が所定の時間内に受信されない場合にタイムアウト信号を与える、
前記第１の通信信号（５８）と前記第２の通信信号（５８）との間のビット単位の一致をチェックする、
前記第１の通信信号（５８）または前記第２の通信信号（５８）におけるエンコードされたシーケンス番号（６２）と前記プログラマブル論理デバイス（１５）に記憶される予期されるシーケンス番号（６２）とを比較する、
前記第１の通信信号（５８）または前記第２の通信信号（５８）におけるエンコードされたタイミングデータ（６４）と前記プログラマブル論理デバイス（１５）に記憶されるタイミングデータ（６４）とを比較する、
前記第１の通信信号（５８）または前記第２の通信信号（５８）におけるエンコードされた送信元識別表示（６６）と前記プログラマブル論理デバイス（１５）に記憶される予期される送信元識別表示（６６）とを比較する、
前記第１の通信信号（５８）または前記第２の通信信号（５８）に関してエラーチェック技術を行うとともに、該エラーチェック技術からの結果と前記第１の通信信号（５８）または前記第２の通信信号（５８）におけるエンコードされたエラーチェックデータ（６８）とを比較する、
これらの任意の組み合わせを行う、
ように構成される請求項１に記載のフォールトトレラント送信システム。
【請求項７】
送信システムにおいてハードウェア障害検出システムを使用するための方法において、
第２のプログラマブル論理デバイスから第１のシリアルリンクを介して第１の通信信号（５８）を第１のプログラマブル論理デバイスで受信するステップと、
第２のプログラマブル論理デバイスから第２のシリアルリンクを介して第２の通信信号（５８）を第１のプログラマブル論理デバイスで受信するステップであって、前記第１のシリアルリンクおよび前記第２のシリアルリンクが単一の導管（３８）に配置される並列のシリアルリンクであり、前記第１の通信信号（５８）および前記第２の通信信号（５８）が同一の情報を表す、ステップと、
前記第１のシリアルリンク、前記第２のシリアルリンク、または、これらの両方のシリアルリンクにおける障害を検出するために、前記第１の通信信号（５８）と前記第２の通信信号（５８）とを前記第１のプログラマブル論理デバイスで比較するステップと、
障害が検出されるときに、前記送信システムが障害にもかかわらず動作を続けることができるかどうかを決定するステップと、
を備える方法。
【請求項８】
前記第１の通信信号（５８）と前記第２の通信信号（５８）とを比較する前記ステップは、前記第１の通信信号（５８）、前記第２の通信信号（５８）、または、これらの両方の通信信号（５８）におけるエラーを検出するステップを備え、前記送信システムが障害にもかかわらず動作を続けることができるかどうかを決定する前記ステップは、前記送信システムを利用するシステムの性質、前記シリアルリンクの状態、エラーがリアルタイムで補正可能かどうか、前記通信信号（５８）で送信される情報の性質、前回のエラーの履歴、または、これらの任意の組み合わせに少なくとも部分的に基づく請求項７に記載の方法。
【請求項９】
前記第１の通信信号（５８）と前記第２の通信信号（５８）とを比較する前記ステップは、前記第１の通信信号（５８）、前記第２の通信信号（５８）、または、これらの両方の通信信号（５８）において、繰り返し、削除、挿入、並べ直し、破損、遅延、なりすまし、または、これらの任意の組み合わせを検出するステップを備える請求項７に記載の方法。
【請求項１０】
前記第１の通信信号（５８）と前記第２の通信信号（５８）とを比較する前記ステップは、前記第１の通信信号（５８）と前記第２の通信信号（５８）との間のビット単位の一致をチェックするステップを備える請求項７に記載の方法。
【請求項１１】
前記第１の通信信号（５８）と前記第２の通信信号（５８）との間のビット単位の一致をチェックする前記ステップは、前記第２の通信信号（５８）を反転させるあるいは逆転させるステップを備える請求項１０に記載の方法。
【請求項１２】
前記第１の通信信号（５８）および前記第２の通信信号（５８）を所定時間にわたって待って、前記第１の通信信号（５８）または前記第２の通信信号（５８）が所定時間内に受信されない場合にはタイムアウト信号を出力するステップを備える請求項７に記載の方法。
【請求項１３】
前記第１の通信信号（５８）と前記第２の通信信号（５８）とを比較する前記ステップは、前記第１の通信信号（５８）または前記第２の通信信号（５８）におけるエンコードされた第１のタイミングデータと、前記第１のプログラマブル論理デバイスに記憶される第２のタイミングデータとを比較するステップを備える請求項７に記載の方法。
【請求項１４】
前記第１の通信信号（５８）と前記第２の通信信号（５８）とを比較する前記ステップは、前記第１の通信信号（５８）または前記第２の通信信号（５８）におけるエンコードされたシーケンス番号（６２）と、前記第１のプログラマブル論理デバイスに記憶される予期されるシーケンス番号（６２）とを比較するステップを備える請求項７に記載の方法。
【請求項１５】
前記第１の通信信号（５８）と前記第２の通信信号（５８）とを比較する前記ステップは、前記第１の通信信号（５８）または前記第２の通信信号（５８）におけるエンコードされた送信元識別表示（６６）と、前記第１のプログラマブル論理デバイスに記憶される予期される送信元識別表示（６６）とを比較するステップを備える請求項７に記載の方法。
【請求項１６】
前記第１の通信信号（５８）と前記第２の通信信号（５８）とを比較する前記ステップは、
前記第１の通信信号（５８）または前記第２の通信信号（５８）に関してエラーチェック技術を行うステップと、
前記エラーチェック技術からの結果と前記第１の通信信号（５８）または前記第２の通信信号（５８）におけるエンコードされたエラーチェックデータ（６８）とを比較するステップと、
を備える請求項７に記載の方法。
【請求項１７】
前記エラーチェック技術がサイクリック・リダンダンシー・チェックを備える請求項１１に記載の方法。
【請求項１８】
前記第１および第２の通信信号（５８）を比較する前記ステップは、ソフトウェア管理を伴わないハードウェアのみを使用して行われる請求項７に記載の方法。
【請求項１９】
前記単一の導管（３８）は、第１のストランドおよび第２のストランドを有するケーブルを備え、前記第１のストランドが前記第１のシリアルリンクを備え、前記第２のストランドが前記第２のシリアルリンクを備える請求項７に記載の方法。
【請求項２０】
フォールトトレラント送信システムを動作させるための方法において、
第１のプログラマブル論理デバイスでハードウェア検出のみを用いて第１のシリアルリンクで送信される第１の通信信号（５８）または第２のシリアルリンクで送信される第２の通信信号（５８）におけるエラーを検出することによって、前記第１のシリアルリンク、前記第２のシリアルリンク、または、これらの両方のシリアルリンクにおける障害を検出するステップであって、前記第１および第２の通信信号（５８）は、第２のプログラマブル論理デバイスから前記第１のプログラマブル論理デバイスへと並列に送信されるとともに、同一の情報を表す、ステップと、
障害が検出されるときに、検出されたエラーに少なくとも部分的に基づいて、前記第１のシリアルリンク、前記第２のシリアルリンク、または、これらの両方のシリアルリンクの状態を決定するステップと、
前記第１のシリアルリンク、前記第２のシリアルリンク、または、これらの両方のシリアルリンクの状態に少なくとも部分的に基づいて、前記送信システムの動作を続けるかどうかを決定するステップと、
を備える方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書中に開示される主題は、送信システムに関し、より具体的には、データ送信システムのためのハードウェアシリアルリンク障害検出システムに関する。
【背景技術】
【０００２】
一般に、データ送信システムは、１つの入力／出力（Ｉ／Ｏ）デバイスから他の入力／出力（Ｉ／Ｏ）デバイスへデータを転送するために利用される場合がある。例えば、送信システムは、タービン、発電機、コンプレッサ、燃焼器などの様々な装置と接続してこれらの装置を制御する様々な工業用コントローラ間の通信を容易にするために工業用制御システムで利用される場合がある。より具体的には、送信システムは、コントローラが制御コマンドなどのデータを互いに通信できるようにしてもよい。例えば、第１のコントローラは、タービンの動作を始めるために制御コマンドを送信システムを介して第２のコントローラへ送信してもよい。したがって、送信システムの信頼性を高めることが有益である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第７６４２７４８号明細書
【発明の概要】
【０００４】
以下、特許請求の範囲に当初から記載される発明と範囲が相応する特定の実施形態について要約する。これらの実施形態は、特許請求の範囲に記載される発明の範囲を限定しようとするものではなく、むしろ、これらの実施形態は、発明の想定し得る形態の概要を与えようとしているにすぎない。実際に、本発明は、以下に記載される実施形態と同様または異なってもよい様々な形態を包含し得る。
【０００５】
第１の実施形態は、プログラマブル論理デバイスを含むフォールトトレラント送信システムについて記載する。プログラマブル論理デバイスは、第１のシリアルリンクに対して通信可能に結合される第１のシリアルポートであって、該第１のシリアルポートが第１のシリアルリンクから第１の送信信号を受信する、第１のシリアルポートと、第２のシリアルリンクに対して通信可能に結合される第２のシリアルポートであって、該第２のシリアルポートが第２のシリアルリンクから第２の送信信号を受信する、第２のシリアルポートとを含む。第１のシリアルリンクおよび第２のシリアルリンクは、互いに平行に配置されるとともに、第１の単一の導管を介して通信し、また、第１の通信信号および第２の通信信号は同一の情報を表す。また、プログラマブル論理デバイスは、第１の通信信号と第２の通信信号とを比較することによって第１のシリアルリンク、第２のシリアルリンク、または、これらの両方のシリアルリンクにおける障害を検出するとともに、障害が検出される場合に、障害にもかかわらず送信システムが動作を続けることができるかどうかを決定する回路を更に含む。
【０００６】
第２の実施形態は、送信システムにおいてハードウェア障害検出システムを使用するための方法について記載し、この方法は、第２のプログラマブル論理デバイスから第１のシリアルリンクを介して第１の通信信号を第１のプログラマブル論理デバイスで受信するステップと、第２のプログラマブル論理デバイスから第２のシリアルリンクを介して第２の通信信号を第１のプログラマブル論理デバイスで受信するステップであって、第１のシリアルリンクおよび第２のシリアルリンクが単一の導管に配置される並列のシリアルリンクであり、第１の通信信号および第２の通信信号が同一の情報を表す、ステップとを含む。また、方法は、第１のシリアルリンク、第２のシリアルリンク、または、これらの両方のシリアルリンクにおける障害を検出するために、第１の通信信号と第２の通信信号とを第１のプログラマブル論理デバイスで比較するステップと、障害が検出されるときに、送信システムが障害にもかかわらず動作を続けることができるかどうかを決定するステップと  を更に含む。
【０００７】
第３の実施形態は、フォールトトレラント送信システムを動作させるための方法について記載し、この方法は、第１のプログラマブル論理デバイスでハードウェア検出のみを用いて第１のシリアルリンクで送信される第１の通信信号または第２のシリアルリンクで送信される第２の通信信号におけるエラーを検出することによって、第１のシリアルリンク、第２のシリアルリンク、または、これらの両方のシリアルリンクにおける障害を検出するステップであって、第１および第２の通信信号は、第２のプログラマブル論理デバイスから第１のプログラマブル論理デバイスへと並列に送信されるとともに、同一の情報を表す、ステップを含む。また、方法は、障害が検出されるときに、検出されたエラーに少なくとも部分的に基づいて、第１のシリアルリンク、第２のシリアルリンク、または、これらの両方のシリアルリンクの状態を決定するステップと、第１のシリアルリンク、第２のシリアルリンク、または、これらの両方のシリアルリンクの状態に少なくとも部分的に基づいて、送信システムの動作を続けるかどうかを決定するステップとを更に含む。
【０００８】
本発明のこれらのおよび他の特徴、態様、および、利点は、添付図面を参照して以下の詳細な説明が読まれるときに、より良く理解されるようになり、添付図面中、同様の文字は、図面の全体にわたって同様の部分を表す。
【図面の簡単な説明】
【０００９】
【図１】一実施形態に係るデータ送信システムの概略図である。
【図２】一実施形態に係る図１に描かれるデータ送信システムにおけるコントローラのブロック図である。
【図３】一実施形態に係る三重モジュール式冗長コントローラのブロック図である。
【図４】一実施形態に係る通信信号のブロック図である。
【図５】一実施形態にしたがってデータ送信システムへ通信信号を送信するためのプロセスを描くフローチャートである。
【図６】一実施形態にしたがってデータ送信システムから通信信号を受信するためのプロセスを描くフローチャートである。
【図７】一実施形態にしたがってシリアルリンクにおける障害を検出するためのプロセスを描くフローチャートである。
【図８】一実施形態にしたがって受信された通信信号におけるエラーを検出して補正するためのプロセスを描くフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の１つ以上の特定の実施形態について説明する。これらの実施形態の簡潔な説明を与えるために、実際の実施の全ての特徴が明細書中に記載されない場合がある。任意のそのような実際の実施の開発では、任意のエンジニアリングまたは設計プロジェクトの場合のように、実施ごとに異なる場合があるシステム関連およびビジネス関連の制約の順守などの開発者の特有の目的を達成するために多数の実施特有の決定がなされなければならないことが理解されるべきである。また、言うまでもなく、そのような開発努力は、複雑であって多大な時間を要する場合があるが、それにもかかわらず、この開示の利点を有する当業者にとっては、設計、製作、および、製造の決まりきった取り組みである。
【００１１】
本発明の様々な実施形態の要素を導入する際、冠詞「１つの（ａ）」、「１つの（ａｎ）」、「その（ｔｈｅ）」、および、「前記（ｓａｉｄ）」は、その要素のうちの１つ以上が存在することを意味するように意図される。用語「備える」、「含む」、および、「有する」は、内包的であるように、また、挙げられた要素以外の更なる要素が存在してもよいことを意味するように意図される。
【００１２】
データ送信システムは、しばしば、システム内の様々な入力／出力（Ｉ／Ｏ）デバイス間の通信を容易にするために、工業用制御システムおよびオートメーションシステムなどのシステムにおいて利用される。例えば、データ送信システムは、様々なコントローラがデータを互いに通信できるようにしてもよい。一般に、コントローラは、タービン、発電機、コンプレッサ、燃焼器、センサ、ポンプ、バルブ、他分野装置などの様々な装置と接続してこれらの装置を制御する。したがって、コントローラにより通信されるデータは、制御された装置により収集されたデータ、制御コマンド、装置状態などを含んでもよい。データ送信システムを利用してもよいシステムの性質に起因して、そのようなデータ送信システムの信頼性を高めることが有益である。
【００１３】
データ送信システムの信頼性を高めるための１つの技術は、プロセス制御のためのオブジェクトリンキングおよび埋め込み（ＯＰＣ）、Ｍｏｄｂｕｓ、Ｆｏｕｎｄａｔｉｏｎフィールドバス、プロセスフィールドバス、および／または、ＢＡＣｎｅｔなどの様々な通信プロトコルを利用することを含んでもよい。一般に、通信プロトコルは、何らかのソフトウェア管理および処理を使用してもよい。例えば、Ｆｏｕｎｄａｔｉｏｎフィールドバスを利用するときには、データを送受信するための機能ブロックを実行するために特定レベルの処理が利用されてもよい。しかしながら、幾つかのＩ／Ｏデバイスはそのようなプロトコルにとって望ましい処理能力を含まない場合があるため、本開示は、処理能力にかかわらずＩ／Ｏデバイス用の送信システムの信頼性を高めるための実施形態を含む。したがって、本明細書中に記載される技術は、安全システム用途を含む様々な用途における通信のための低レベルシリアルリンクを提供する。低レベルシリアルリンクは、より少ない処理およびリソース（例えば、ソフトウェアリソースおよびハードウェアリソース）を使用してもよいが、ＳＩＬ１、２、３および／または４を含む望ましい安全インテグリティレベル（ＳＩＬ）認証を満たすのに適した動作を与えてもよい。特定の実施形態において、低レベルシリアルリンクは、ハードウェア障害検出方式を適用して、処理および他のリソースの使用を減らすのに適した所望の安全認証を与えてもよい。
【００１４】
したがって、第１の実施形態は、プログラマブル論理デバイスを含むフォールトトレラントな送信システムについて説明する。プログラマブル論理デバイスは、第１のシリアルリンクに対して通信可能に結合される第１のシリアルポートを含み、この場合、第１のシリアルポートは、第１のシリアルリンクから第１の送信信号を受信し、また、プログラマブル論理デバイスは、第２のシリアルリンクに対して通信可能に結合される第２のシリアルポートを含み、この場合、第２のシリアルポートは、第２のシリアルリンクから第２の送信信号を受信する。第１のシリアルリンクおよび第２のシリアルリンクは、互いに平行に配置されるとともに、第１の単一の導管を介して通信し、また、第１の通信信号および第２の通信信号は同一の情報を表す。プログラマブル論理デバイスは、第１の通信信号と第２の通信信号とを比較することによって第１のシリアルリンク、第２のシリアルリンク、または、これらの両方のシリアルリンクにおける障害を検出する回路を更に含み、障害が検出される場合には、障害にもかかわらず送信システムが動作を続けることができるかどうかを決定する。言い換えると、同じ情報を表すパラレル通信信号の受信は、様々な装置間の通信リンク（例えば、シリアルリンク）における障害の検出を可能にする。また、送信システムは、検出された障害に対して知的に反応することによって更にフォールトトレラントであってもよい。
【００１５】
また、第２の実施形態は、プログラマブル論理デバイスを含むデータ送信システムについて説明する。プログラマブル論理デバイスは、第１のシリアルリンクに対して通信可能に結合される第１のシリアルポートを含み、この場合、第１のシリアルポートは、第１のシリアルリンクから第１の送信信号を受信し、また、プログラマブル論理デバイスは、第２のシリアルリンクに対して通信可能に結合される第２のシリアルポートを含み、この場合、第２のシリアルポートは、第２のシリアルリンクから第２の送信信号を受信する。第１のシリアルリンクおよび第２のシリアルリンクは、互いに平行に配置されるとともに、単一の導管を介して通信し、また、第１の通信信号および第２の通信信号は同一の情報を表す。プログラマブル論理デバイスは、第１の通信信号と第２の通信信号とを比較して、第１の通信信号、第２の通信信号、または、これらの両方の通信信号に含まれるデータ中のエラーを検出するための回路を更に含み、エラーが検出されると、少なくとも部分的に第１の通信信号と第２の通信信号との比較に基づいてエラーをリアルタイムで補正する。言い換えると、同じ情報を表すパラレル通信信号の受信は、通信信号中のエラーの検出およびリアルタイムな補正を可能にする。本明細書中で使用される「リアルタイム」は、先行するステップの直後を意味するように意図される。例えば、エラー補正は、エラーが検出されると直ぐに始まってもよい。
【００１６】
以下で更に詳しく説明されるように、幾つかの実施形態において、データ送信システムは、送信システムの信頼性を高めるために、ソフトウェア管理を殆ど伴わないあるいは全く伴わないハードウェアを利用してもよい。したがって、データ送信システムの高められた信頼性は、プロセッサを有するＩ／Ｏデバイスおよびプロセッサを伴わないＩ／Ｏデバイスへ与えられてもよい。また、本明細書中に記載される技術は、Ｉ／Ｏデバイスが国際電気技術委員会（ＩＥＣ）６１５０８に準拠できるようにし、また、幾つかの実施形態ではＳＩＬ１、２、３および／または４認証を満たす。
【００１７】
前置きとして、図１は、工業用制御システム１２内に配置されるデータ送信システム１０の一実施形態を描く。工業用制御システム１２は複数のコントローラ１４を含み、それぞれのコントローラ１４は、工業用制御システム１２内の様々な装置と接続してこれらの装置を制御する。図示のように、第１のコントローラは、タービン１６（例えば、ガスタービン、蒸気タービン、ハイドロタービン）に結合されて該タービン１６を制御するとともに、センサ１８に対して通信可能に結合され、また、第２のコントローラは、バルブ２０およびポンプ２２に結合されてこれらを制御する。他の実施形態において、コントローラ１４は、燃焼器、発電機、および、他のターボ機械などの工業用制御システム１２内の他の装置に結合されてこれらの装置を制御してもよい。
【００１８】
また、図示のように、コントローラ１４は、データ送信システム１０を介して互いに通信してもよい。工業用制御システム１２の幾つかの実施形態では、データ送信システム１０が高速イーサネット（登録商標）（ＨＳＥ）ネットワークまたはＨ１ネットワークを含んでもよい。しかしながら、以下で更に詳しく説明されるように、本明細書中に記載される技術は、任意のシリアルポイント・ツー・ポイントアーキテクチャを利用してもよい。データ送信システム１０を利用することにより、コントローラ１４は、接続された装置の状態、収集された測定値、および、制御コマンドなどの様々なタイプのデータを通信してもよい。例えば、第１のコントローラは、データ送信システム１０を介して、センサ１８により収集された測定値を第２のコントローラへ送信してもよい。それに応じて、第２のコントローラは、タービン１６の動作を変えるように第１のコントローラに指示する制御コマンドを送信してもよい。したがって、コントローラ１４は、通信、接続された装置の制御、および、コントローラの他の様々な機能を容易にするために、１つ以上のプロセッサ２４と、１つ以上のプロセッサ２４により実行可能な持続性機械可読命令を記憶してもよいメモリ２６とを含む。
【００１９】
データ送信システム１０の一実施形態の詳細図が図２に描かれる。図示のように、各コントローラ１４はデータ送信サブシステム１５を含む。幾つかの実施形態において、データ送信サブシステム１５は、フィールドプログラマブルゲートアレイ、プログラマブルアレイ論理、プログラマブル論理アレイ、一般アレイ論理、または、これらの任意の組み合わせなどのプログラマブル論理デバイスであってもよい。他の実施形態では、サブシステム１５が特定用途向け集積回路であってもよい。また、データ送信サブシステム１５は、各コントローラ１４のハードウェアサブシステムとして（例えば、ホットスワップ可能なカードとして）含まれてもよい。サブシステム１５を含んでもよいコントローラ１４の１つの例は、ニューヨーク州のスケネクタディのジェネラル・エレクトリック・カンパニーによって提供されるＭａｒｋ  ＶＩｅ  Ｃｏｎｔｒｏｌ  Ｓｙｓｔｅｍである。
【００２０】
図示の実施形態において、データ送信サブシステム１５によって果たされる機能は、コントローラプロセッサ２４および／またはメモリ２６によって実行されてもよい機能ブロックとして表される。図示のように、サブシステム１５は、クロックシステム（機能ブロック２７）、フリーランニングカウンタ（ＦＲＣ）（機能ブロック２８）、データＩ／Ｏ（機能ブロック３０）、データ比較／複製（機能ブロック３２）、および、コントローラ１４をデータ送信システム１０に結合させるパラレルＩ／Ｏポート（機能ブロック３４、３６）を含む。以下で更に詳しく説明されるように、ＦＲＣ２８は、通信信号の時間同期を可能にするためにタイミングデータを生成してもよく、データＩ／Ｏ３０は通信信号を生成してもよく、また、データ比較／複製３２は、通信信号を複製して、通信リンク（例えば、シリアルリンク）における障害を検出するとともに、受信された通信信号中のエラーを検出する／補正する。
【００２１】
また、図示のように、送信システム１０は、単一の導管（例えば、ケーブル）３８と、導管３８の両端に結合される並列のシリアルトランシーバ４０、４２とを含む。より具体的には、シリアルトランシーバ４０、４２は、コントローラ１４がサブシステム１５を介して他のコントローラ１４と通信できるようにするためにＩ／Ｏポート３４、３６と接続する。シリアルトランシーバ４０、４２は、ＲＳ−２３２トランシーバ、ＲＳ−４８５トランシーバ、差動バストランシーバ、シングルエンドトランシーバ、または、他の低レベルシリアルトランシーバであってもよい。幾つかの実施形態では、２つのサブシステム１５を接続するために１つのケーブル（例えば、Ｃａｔ５、Ｃａｔ５ｅ、または、Ｃａｔ６）のみが使用され、それにより、導管および関連する機器が最小限に抑えられる。他の実施形態では、複数のケーブルが使用されてもよい。幾つかの実施形態において、シリアルトランシーバ４０、４２は、無線周波数によって引き起こされる信号中のノイズの量を最小にするために無線周波数よりも低い周波数で通信信号を送信してもよい。例えば、シリアルトランシーバ４０、４２は、１〜２０ＭＨｚ間、２０〜３０ＭＨｚ間、３０〜４０ＭＨｚ間、４０〜５０ＭＨｚ間、５０〜６０ＭＨｚ間、６０〜１００ＭＨｚ間、または、これらの任意の組み合わせ間で通信して、１〜２０Ｍｂｉｔ／秒間、２０〜３０Ｍｂｉｔ／秒間、３０〜４０Ｍｂｉｔ／秒間、４０〜５０Ｍｂｉｔ／秒間、５０〜６０Ｍｂｉｔ／秒間、６０〜１００Ｍｂｉｔ／秒間、または、これらの任意の組み合わせ間でのデータ送信を可能にしてもよい。
【００２２】
明確に描かれないが、単一の導管３８は、シリアルトランシーバ４０を結合する第１のシリアルリンクと、シリアルトランシーバ４２を結合する第２のシリアルリンクとを並列に含む。より具体的には、第１および第２のシリアルリンクは、コントローラ１４間での通信信号のパラレル送信を可能にしてもよい。例えば、第１の通信信号が第１のシリアルリンクを介して送信されてもよく、また、第２の通信信号が第２のシリアルリンクを介して並列にほぼ同時に送信されてもよい。以下で更に詳しく説明されるように、第１の通信信号および第２の通信信号が同じ情報を表してもよく、それにより、シリアルリンクにおける障害の検出、および、通信信号中のエラーの検出／補正が容易となる。幾つかの実施形態では、適した導管３８がＣａｔｅｇｏｒｙ５（Ｃａｔ５）ケーブルであってもよい。これは、このケーブルが８本のワイヤを含み、それにより、４本のワイヤを第１のシリアルリンクのために使用できるとともに、４本のワイヤを第２のシリアルリンクのために使用できるからである。他の実施形態では、第１のシリアルリンクおよび第２のシリアルリンクが別個の導管に含まれてもよい。また、図示のように、単一の導管３８が１つのコントローラを他のコントローラに結合し、それにより、シリアルポイント・ツー・ポイントアーキテクチャが構築される。本明細書中で使用される「ポイント・ツー・ポイントアーキテクチャ」は、一方の装置が他方の装置に直接に結合されるときを表そうとしている。言い換えると、幾つかの実施形態では、コントローラ１４が専ら導管３８のみを介して通信してもよく、それにより、両方のコントローラ１４は、他方のコントローラ１４の識別情報、通信信号の送信時間、通信信号の順序、または、それらの任意の組み合わせを予め決定できる（例えば、見込むあるいは予期する）。そのようなアーキテクチャは、１〜１０メートル離れて位置付けられる装置間での通信、１０〜２０メートル離れて位置付けられる装置間での通信、２０〜３０メートル離れて位置付けられる装置間での通信、３０〜４０メートル離れて位置付けられる装置間での通信、４０〜１００メートル離れて位置付けられる装置間での通信、あるいは、これらの任意の組み合わせでの通信に適してもよい。
【００２３】
幾つかの実施形態において、コントローラ１４は、図３に描かれるような三重モジュール式冗長（ＴＭＲ）コントローラ１４であってもよい。一般に、ＴＭＲコントローラ１４は、３つのコアを利用することによって信頼性を高めてもよい。より具体的には、図示のように、ＴＭＲコントローラ１４は、Ｒコア４６、Ｓコア４８、および、Ｔコア５０を含み、これらのコアはそれぞれほぼ同じ機能を果たす。したがって、ＴＭＲコントローラ１４は、不良コア（例えば、４６、４８または５０）の影響を減らすために投票方式によって動作する。
【００２４】
図示のように、ＴＭＲコントローラ１４内のＲコア４６は、第１の送信システム５２によって結合され、Ｓコア４８は第２の送信システム５４によって結合され、また、Ｔコアは第３の送信システム５６によって結合される。より具体的には、幾つかの実施形態において、送信システムのそれぞれ（例えば、５２、５４および５６）は、例えば、データ送信サブシステム１５を含むとともに互いにほぼ独立に動作することによって、前述したデータ送信システム１０と同様に機能してもよい。より具体的には、各送信システム（例えば、５２、５４、５６）は、コアのそれぞれの対間での通信信号のパラレル送信を可能にするために第１および第２のシリアルリンク（または、サブシステム１５の任意の他の構成要素）を含んでもよい。言い換えると、第１の送信システム５２は、Ｒコア４６間でパラレル通信信号を送信（例えば、２つ以上の同一のデータ送信）してもよく、第２の送信システム５４は、Ｓコア４８間でパラレル通信信号を送信してもよく、および、第３の送信システム５６は、Ｔコア５０間でパラレル通信信号を送信してもよい。また、前述したように、第１および第２のシリアルリンクが単一の導管または２つの別個の導管に含まれてもよい。したがって、図３に描かれる実施形態では、３つの別個の導管または６つの別個の導管が利用されてもよい。あるいは、６つのシリアルリンクの全てが単一の導管に含まれてもよい。
【００２５】
データ送信システム１０を介してコントローラ１４間で送信されてもよい通信信号５８の一実施形態が図４に描かれる。図示のように、通信信号５８は、通信信号データ６０、シーケンス番号６２、タイミングデータ６４、送信元識別表示６６、および、エラーチェックデータ６８を含む。通信信号データ６０は、コントローラ１４間で通信されるようになっているデータを含んでもよい。例えば、通信信号データ６０は、制御コマンド、論理データ、認証データ、投票データ、測定データ、装置状態などを含んでもよい。
【００２６】
シーケンス番号６２は、通信信号５８が送信された順番を表してもよい。幾つかの実施形態では、シーケンス番号６２が通信信号５８のヘッダに含まれてもよい。したがって、シーケンス番号６２により、受信するコントローラ１４は、通信信号５８が送信された順番を決定できてもよい。
【００２７】
前述したように、タイミングデータ６４は、通信信号５８の時間同期を可能にするためにＦＲＣ２８によって生成されてもよい。例えば、幾つかの実施形態において、タイミングデータ６４は、ＦＲＣ２８におけるカウントを表す固有の文字であってもよい。したがって、送信コントローラ１４および受信コントローラ１４のＦＲＣ２８が同期される場合には、タイミングデータ６４により、受信コントローラ１４は、通信信号５８が送信された時期を決定できる。
【００２８】
送信元識別表示６６は送信コントローラ１４を識別してもよい。例えば、幾つかの実施形態において、送信元識別表示は、媒体アクセス制御（ＭＡＣ）アドレス、独自の固有モジュール識別コード、または、他の同様の固有識別子であってもよい。幾つかの実施形態では、独自の固有モジュール識別コードとして、データコードを含む固有のシリアル番号を挙げることができる。したがって、送信元識別表示６６は、受信コントローラ１４が送信コントローラ１４の識別情報を決定できるようにしてもよい。
【００２９】
エラーチェックデータ６８は、サイクリック・リダンダンシー・チェック、チェックサム、暗号ハッシュ機能、または、同様のものなどのエラーチェック技術を容易にするデータを含んでもよい。例えば、サイクリック・リダンダンシー・チェックが利用される際、エラーチェックデータ６８は、通信信号５８の多項式除算の剰余を含んでもよい。動作中、送信コントローラ１４は、エラーチェック技術を行って、通信信号５８のエラーチェックデータ６８（例えば、チェックサム）をエンコードしてもよい。したがって、受信コントローラ１４は、エラーチェック技術を繰り返して、その結果をエラーチェックデータ６８と照合する（例えば、チェックサムを新たに計算し、その計算を送信されたチェックサムを用いて検証する）ことにより、エラー／障害を検出してもよい。
【００３０】
前述したように、送信システム１０は、通信信号５８をコントローラ１４間で送信できるようにする。図５は、パラレル通信信号を送信するために送信コントローラ１４、より具体的にはデータ送信サブシステム１５（例えば、プログラマブル論理デバイス）によって利用されてもよいプロセス７０の１つの実施形態を描く。プロセス７０は、メモリ２６に記憶されてプロセッサ２４により実行される持続性機械可読命令またはコードによって実施されてもよい。図示の実施形態において、プロセス７０は、第１の通信信号を生成する（括弧７２）ことによって始まり、この生成は、通信信号データを生成すること（プロセスブロック７４）、シーケンス番号をエンコードすること（プロセスブロック７６）、タイミングデータをエンコードすること（プロセスブロック７８）、送信元識別表示をエンコードすること（プロセスブロック８０）、エラーデータをエンコードすること（プロセスブロック８２）を含む。プロセス７０は、第２の通信信号を生成する（プロセスブロック８４）こと、および、第１のシリアルリンクで第１の通信信号（プロセスブロック８６）を且つ第２のシリアルリンクで第２の通信信号（プロセスブロック８８）を並列に送信することによって続く。
【００３１】
より具体的には、第１の通信信号がデータＩ／Ｏ３０によって生成されてもよい。通信信号データ６０を生成する（プロセスブロック７４）ために、データＩ／Ｏ３０は、第１の通信信号で送信されるべきデータを収集してもよい。例えば、装置状態が送信されるようになっているときには、データＩ／Ｏ３０は、接続された装置（例えば、１６、２０または２２）にその状態に関して聞き取りを行ってもよくあるいは装置を監視するセンサ（例えば１８）から測定値を引き出してもよい。シーケンス番号６２をエンコードする（プロセスブロック７６）ために、データＩ／Ｏ３０は、送信されるそれぞれの通信信号に伴ってインクリメントする順次カウンタを含んでもよい。したがって、カウンタからのカウントは、通信信号５８が送信される順番を表すためにシーケンス番号６２として含まれてもよい。送信元識別表示６６をエンコードする（プロセスブロック８０）ために、データＩ／Ｏ３０は、送信コントローラを識別する記憶された固有の識別子を送信コントローラのメモリ２６から引き出してもよい。
【００３２】
タイミングデータ６４をエンコードする（プロセスブロック７８）ために、データＩ／Ｏ３０がタイミングデータ６４をＦＲＣ２８から受信してもよい。より具体的には、ＦＲＣ２８は、クロックシステム２７から受信されるタイミング信号に基づいてタイミングデータ６４を生成してもよい。例えば、ＦＲＣ２８は、タイミング信号に基づいてカウントアップして、カウントをそれが特定のカウントに達した時点でリセットしてもよい。通信信号５８が送信されるべきときのカウントに基づいて、ＦＲＣ２８は、カウントを表す固有の文字を出力してもよい。したがって、通信信号５８が受信されると、受信コントローラは、その固有の文字と、それ自体のＦＲＣ２８内のカウントとを比較して、通信信号５８が送信された時期を決定してもよい。
【００３３】
エラーチェックデータ６８をエンコードする（プロセスブロック８２）ため、データＩ／Ｏ３０は、サイクリック・リダンダンシー・チェック、チェックサム、暗号ハッシュ機能、または、同様のものなどのデータチェック方法を実行してもよい。例えば、サイクリック・リダンダンシー・チェックが利用されると、データＩ／Ｏ３０は、通信信号５８あるいはより具体的には通信信号データ６０に関して多項式除算を行って、除算の剰余をエラーチェックデータ６８としてエンコードしてもよい。したがって、受信コントローラ１４は、エラーチェック技術を繰り返して、その結果をエラーチェックデータ６８と照合することにより、エラーを検出してもよい。他の実施形態では、シーケンス番号６２をエンコードすること（プロセスブロック７６）、タイミングデータ６４をエンコードすること（プロセスブロック７６）、送信元識別表示６６をエンコードすること（プロセスブロック７６）、エラーチェックデータ６８をエンコードすること（プロセスブロック７６）が任意の順序で行われてもよい。
【００３４】
第１の通信信号は、その後、第２の通信信号を生成する（プロセスブロック８４）ために、データＩ／Ｏ３０からデータ比較／複製３２へ送られてもよい。より具体的には、データ比較／複製３２は、第１の通信信号と同じ情報を表すために、例えば第１の通信信号をコピーすることによって第２の通信信号を生成してもよい。これに加えてあるいはこれに代えて、第２の通信信号を生成するために、データ比較／複製３２は、第１の通信信号を反転させてもよく（例えば、「１」を「０」へと変える、および、その逆へと変える）、あるいは、第１の通信信号を逆転させてもよい（例えば、第１の通信信号の最上位ビットを第２の通信信号の最下位ビットと見なすなど）。例えば、第１の通信信号が「１００１１１００」である場合には、逆転された第２の通信信号が「００１１１００１」であってもよく、また、反転された第２の通信信号が「０１１０００１１」であってもよい。
【００３５】
第１の通信信号を逆転させるおよび／または反転させることは、シリアルリンクにおける障害を検出すること、および／または、送信されたデータ中のエラーを検出する／補正することを容易にし得る。例えば、通信信号が反転されるときには、第１および第２の通信信号中の１ビットが両方「ハイ」または両方「ロー」であれば、通信信号のうちの１つにおけるエラーが検出され得る。また、第２の通信信号が逆転されるときには、第１の通信信号の最上位ビットが第２の通信信号の最下位ビットと一致しなければ、エラーが検出され得る。また、エラーは、第１の通信信号の誤りビットを第２の通信信号からの非誤りビットと置き換えることによって補正されてもよい。
【００３６】
第１の通信信号は、第１のシリアルリンクを介して送信される（プロセスブロック８６）ようにデータ比較／複製３２から第１のＩ／Ｏポート３４へと送られてもよく、また、第２の通信信号は、第２のシリアルリンクを介してデータ比較／複製３２から第２のＩ／Ｏポート３６へと送られてもよい（プロセスブロック８８）。以下で更に詳しく説明されるように、シリアルリンク障害検出およびデータエラー検出／補正を容易にするために、第１の通信信号および第２の通信信号が並列にほぼ同時に送信されてもよい。
【００３７】
送信システム１０の受信側では、送信された通信信号５８が受信コントローラ１４によって受信される。図６は、パラレル通信信号５８を例えば単一の導管（例えば、Ｃａｔ５ケーブル）で受信するために、受信コントローラ１４、より具体的にはデータ送信サブシステム１５（例えば、プログラマブル論理デバイス）によって利用されてもよいプロセス９０の一実施形態を描く。プロセス９０は、メモリ２６に記憶されてプロセッサ２４により実行される持続性機械可読命令またはコードによって実施されてもよい。図示のように、プロセス９０は、第１の通信信号を待つ（プロセスブロック９２）とともに第２の通信信号を待つ（プロセスブロック９４）ことによって始まる。第１の通信信号が受信される（プロセスブロック９６）とともに第２の通信信号が受信される（プロセスブロック９８）場合には、第１および第２の通信信号が比較され（括弧１００）、この比較は、第１および第２の通信信号をビット単位の一致に関して比較する（プロセスブロック１０２）こと、エンコードされたシーケンス番号を比較する（プロセスブロック１０４）こと、エンコードされたタイミングデータを比較する（プロセスブロック１０６）こと、送信元識別表示を比較する（プロセスブロック１０８）こと、および、エンコードされたエラーチェックデータを比較する（プロセスブロック１１０）ことを含んでもよい。
【００３８】
より具体的には、データ比較／複製３２は、第１のＩ／Ｏポート３４を介して第１の通信信号を受信するのを待つ（プロセスブロック９２）とともに、第２のＩ／Ｏポート３６を介して第２の通信信号を受信するのを待ってもよい（プロセスブロック９４）。幾つかの実施形態において、これは、定期的にスケジュールされた通信信号５８のためのウォッチドッグタイムアウトを使用することを含んでもよい。言い換えると、データ比較／複製３２は、スケジュールされた通信信号５８に関する予期される到達時間のような所定量の時間を待ってもよく、また、通信信号５８がその時間内に受信されなければ、データ比較／複製３２がタイムアウト信号を出力してもよい。幾つかの実施形態では、予期される到達時間が受信コントローラ１４によって予め決定されてもよい。これは、前述したように、ポイント・ツー・ポイントアーキテクチャを利用することによってコントローラ１４が前の通信信号５８の実際の到達時間を見ることができる場合があるからである。したがって、図２に描かれるように、データ比較／複製３２は、タイミング信号を受信するためにクロックシステム２７に結合される。幾つかの実施形態において、通信信号５８は、１〜５ミリ秒毎に、５〜８ミリ秒毎に、８〜１０ミリ秒毎に、１０〜１２ミリ秒毎に、１２〜１５ミリ秒毎に、１５〜３０ミリ秒毎に、または、それらの任意の組み合わせ毎に予期される。したがって、タイムアウト信号の出力は、通信信号５８が削除されたあるいは遅延されたことを示す場合がある。
【００３９】
第１および第２の通信信号の両方が受信された時点で、データ比較／複製３２が第１および第２の通信信号を比較（括弧１００）し始めてもよく、これは、シリアルリンクにおける障害の検出および送信データ中のエラーの検出／補正を容易にし得る。より具体的には、第１の通信信号および第２の通信信号をビット単位の一致に関して比較する（プロセスブロック１０２）ために、データ比較／複製３２は、前述したように、第２の通信信号を第１の通信信号と比較する前に、第２の通信信号を反転させあるいは逆転させてもよく、第２の通信信号が第１の通信信号の逆転バージョンまたは反転バージョンであってもよい。したがって、ビット単位の比較は、通信信号５８中の１ビットが削除された、挿入された、あるいは、破損されたことを示し得る。また、以下で更に詳しく説明されるように、ビット単位の比較は、通信信号５８中の１ビットのリアルタイム補正を容易にし得る。
【００４０】
エンコードされたシーケンス番号６２を比較する（プロセスブロック１０４）ために、データ比較／複製３２は、通信信号５８のヘッダからシーケンス番号６２を引き出してもよく、これにより、コントローラ１４は、通信信号５８が送信された順番を決定できる。より具体的には、データ比較／複製３２は、第１および第２の通信信号の一方または両方におけるエンコードされたシーケンス番号６２を予期されるシーケンス番号６２と比較してもよい。例えば、通信信号５８におけるエンコードされたシーケンス番号６２が通信信号の前の対と同じである場合には、繰り返しエラーが検出されてもよい。また、通信信号５８におけるエンコードされたシーケンス番号６２が予期されるシーケンス番号とは異なる場合には、削除エラー、挿入エラー、または、並べ直しエラーが検出されてもよい。幾つかの実施形態において、前述したようにポイント・ツー・ポイントシリアルアーキテクチャを利用することは、受信コントローラ１４が予期されるシーケンス番号を維持できるようにし得る。これは、エラーが存在しない場合には、受信される各通信信号５８におけるエンコードされたシーケンス番号６２が、既に受信された通信信号５８におけるエンコードされたシーケンス番号６２と所定の関係を有するからである。したがって、シーケンス番号６２を比較することは、通信信号５８の一方または両方が繰り返される、削除される、挿入される、あるいは、並べ直されることを示し得る。
【００４１】
エンコードされたタイミングデータ６４を比較する（プロセスブロック１０６）ために、データ比較／複製３２は、第１の通信信号および第２の通信信号の一方または両方を時間同期させてもよい。幾つかの実施形態において、これは、通信信号５８におけるエンコードされたタイミングデータ６４と受信コントローラ１４のＦＲＣ２８により生成されてメモリ２６に記憶されるタイミングデータ６４とを照合することによって通信信号５８が送信された時間を決定することを含んでもよい。例えば、送信コントローラおよび受信コントローラの両方のＦＲＣ２８は、３：００ｐｍを示すために固有の文字「Ｘ」を生成してもよい。また、通信信号５８におけるエンコードされたタイミングデータ６４が既に受信された通信信号５８におけるエンコードされたタイミングデータ６４と同じである場合には、繰り返しエラーが検出されてもよい。更に、通信信号５８におけるエンコードされたタイミングデータが既に受信された通信信号５８におけるエンコードされたタイミングデータ６４よりも早い場合には、並べ直しエラーまたは遅延エラーが検出されてもよい。したがって、エンコードされたタイミングデータ６４を比較することは、通信信号５８の一方または両方が繰り返される、並べ直される、または、遅延されることを示し得る。
【００４２】
送信元識別表示６６を比較する（プロセスブロック１０８）ために、データ比較／複製３２は、送信コントローラ１４の識別情報を決定してもよい。より具体的には、これは、第１の通信信号および第２の通信信号の一方または両方におけるエンコードされた送信元識別表示６６とメモリ２６に記憶された送信元識別表示６６とを照合することを含んでもよい。例えば、コントローラメモリ２６は、コントローラが通信信号５８をそこから受信することを予期する装置に対応する送信元識別表示６６のリストを記憶してもよい。幾つかの実施形態では、前述したようにポイント・ツー・ポイントシリアルアーキテクチャを利用することにより、受信コントローラ１４は、該コントローラ１４がいずれの装置に結合されるのかを予め決定できるとともに、それらの装置と関連する送信元識別表示を記憶できる。したがって、エンコードされた送信元識別表示６６を比較することは、エンコードされた送信元識別表示６６がコントローラ１４が通信信号５８をそこから受信することを予期しない装置に対応しない場合に通信信号５８の一方または両方が挿入されることを示し得る。
【００４３】
エンコードされたエラーチェックデータ６８を比較する（プロセスブロック１１０）ために、データ比較／複製３２は、受信された通信信号５８が破損されるかどうかを決定するために第１の通信信号および第２の通信信号の一方または両方に関してサイクリック・リダンダンシー・チェック（ＣＲＣ）などのエラーチェック技術を実行してもよい。より具体的には、データ比較／複製３２は、送信コントローラ１４で行われるエラーチェック技術を複製して、その結果をエンコードされたエラーチェックデータ６８と比較してもよい。したがって、エンコードされたエラーチェックデータ６８を比較することは、通信信号５８の一方または両方が破損されあるいはさもなければ互いに一致しないことを示し得る。
【００４４】
他の実施形態において、通信信号をビット単位で比較する（プロセスブロック１０２）こと、エンコードされたシーケンス番号６２を比較する（プロセスブロック１０４）こと、エンコードされたタイミングデータ６４を比較する（プロセスブロック１０６）こと、送信元識別表示６６を比較する（プロセスブロック１０８）こと、エラーチェックデータ６８を比較する（プロセスブロック１１０）ことは、任意の順序で行われてもよい。また、特定の実施形態において、挿入、削除、遅延、または、これらの任意の組み合わせの検出は、なりすましを示す場合がある。本明細書中で使用される、なりすましとは、送信システム１０への認証されない侵入を表そうとしている。例えば、通信信号５８が挿入され、削除され、あるいは、遅延されると、このことは、認可されない装置（例えば、コントローラ１４）が送信システム１０にアクセスして通信信号５８を改ざんしていることを示し得る。
【００４５】
前述したように、ほぼ同一の情報を表す第１の通信信号および第２の通信信号を第１および第２のシリアルリンクのそれぞれを介して並列に送信することは、第１のシリアルリンク、第２のシリアルリンク、または、これらの両方のシリアルリンクにおける障害および／またはなりすましの検出を可能にする。シリアルリンクにおける障害を検出するために利用されてもよいプロセス１１２の１つの実施形態が図７に描かれる。プロセス１１２は、メモリ２６に記憶されてプロセッサ２４により実行される持続性機械可読命令またはコードによって実施されてもよい。図示のように、プロセス１１２は、第１および第２の通信信号を待つ（決定ブロック１１４）ことによって始まってもよい。両方の通信信号が受信される場合には、第１および第２の通信信号が比較されてもよい（プロセスブロック１００）。タイムアウト信号が出力されるかどうかに基づいておよび／または通信信号の比較に基づいて、シリアルリンクにおける障害が検出されてもよい（決定ブロック１１６）。シリアルリンクにおける障害が検出されない場合には、送信システム１０が動作し続ける（プロセスブロック１１８）。一方、障害が検出される場合には、検出される障害にもかかわらず送信システム１０が動作を続けるべきか（プロセスブロック１１８）あるいは送信システム１０が動作を停止すべきか（プロセスブロック１２２）どうかが決定されてもよい（決定ブロック１２０）。
【００４６】
より具体的には、前述したように、データ比較／複製３２は、通信信号フレームなどの特定の時間にわたって通信信号５８を待ってもよい（決定ブロック１１４）。通信信号５８の一方または両方が受信されなければ、データ比較／複製３２は、通信信号５８の一方または両方が時間切れしたことを示すタイムアウト信号を出力してもよい。一方、特定の時間内に両方の通信信号５８が受信される場合には、データ比較／複製３２が通信信号５８を比較してもよく（プロセスブロック１００）、この比較は、第１および第２の通信信号５８をビット単位の一致に関して比較する（プロセスブロック１０２）こと、エンコードされたシーケンス番号を比較する（プロセスブロック１０４）こと、エンコードされたタイミングデータを比較する（プロセスブロック１０６）こと、送信元識別表示を比較する（プロセスブロック１０８）こと、および、エンコードされたエラーチェックデータを比較する（プロセスブロック１１０）ことを含んでもよい。前述したように、通信信号を比較することは、通信信号で送信されるデータ中のエラーの検出を容易にし得る。
【００４７】
通信信号５８の比較に基づいておよび／またはタイムアウト信号が出力されたかどうかに基づいて、データ比較／複製３２は、障害が第１のシリアルリンクに存在するか、第２のシリアルリンクに存在するか、あるいは、これらの両方のシリアルリンクに存在するかどうかを決定してもよい（決定ブロック１１６）。例えば、第１の通信信号が時間切れしたが、第２の通信信号が時間切れしていない場合、データ比較／複製３２は、第１のシリアルリンクが障害を有すると決定してもよい。また、任意のエラー（例えば、繰り返し、削除、挿入、並べ直し、破損、遅延、または、なりすまし）がシリアルリンクのうちの１つ以上で障害を示す場合がある。例えば、第１の通信信号５８が破損するが第２の通信信号５８が破損しないことは、第１のシリアルリンクにおける絶縁が弱められ、第１のシリアルリンクが浮遊電磁波などの外的混信の影響を受け易いことを示し得る。
【００４８】
また、幾つかの実施形態では、シリアルリンクにおける障害が検出されると、障害に基づいてシリアルリンクの状態が更新されてもよい。例えば、障害が検出される前に、第１のシリアルリンクおよび第２のシリアルリンクの状態が「良」に設定されるが、第１のシリアルリンクで障害が検出されると、第１のシリアルリンクの状態が「不良」へと更新されてもよい。以下で更に説明されるように、他の実施形態において、状態は、送信システム１０が動作をより賢明に管理できるようにするための中間状態を含んでもよい。例えば、シリアルリンクは、単一のエラーのみが検出される場合または１つのエラーが周期的に検出されるにすぎない場合（例えば、送信された全ての通信信号においてではない）には、「部分的に不良」または「潜在的に不良」の状態を有してもよい。例えば、第１のエラーが検出されると、状態が「機能的」から「潜在的に不良」へと更新されてもよく、また、その後に第２のエラーが３つの通信信号で検出されると、状態が再び「不良」へと更新されてもよい。
【００４９】
障害が検出される場合、データ比較／複製３２は、障害に関連する状況に基づいて送信システムの動作を停止するかあるいは続けるかどうかをより賢明に決定する（決定ブロック１２０）。言い換えると、送信システム１０は、よりフォールトトレラントになって、シリアルリンクにおける障害が検出される度に直ちに動作を停止しなくてもよい。幾つかの実施形態において、動作を続けるかどうかの決定は、シリアルリンクの状態と、通信信号５８に含まれる情報とに依存してもよい。例えば、第１のシリアルリンクが「機能的」であるが、第２のシリアルリンクが「不良」であるとともに、通信信号５８が温度測定値のみを通信する場合、送信システム１０は、第１のシリアルリンクを介して受信される通信信号５８のみに基づいて動作を続けてもよい。そのような実施形態において、コントローラ１４は、センサ１８の測定値を送受信し続けることを決定してもよいが、制御コマンドの送信／受信を停止することを決定してもよい。
【００５０】
また、送信システム１０の動作を続けるかどうかの決定に影響を及ぼす他の因子としては、送信システム１０を利用するシステムの性質、および、通信信号におけるエラーの履歴を挙げることができる。例えば、キャンディー製造プラントにおける送信システム１０は、原子力プラントよりもフォールトトレラントであってもよく、また、１つの「機能的」シリアルリンクおよび１つの「潜在的に不良」リンクで動作することを選択してもよいのに対し、原子力プラントは、２つの「機能的」シリアルリンクのみで動作してもよい。また、エラーの履歴が存在しなかった場合、送信システム１０は、エラーが異常に起因すると考え、その後のエラーが検出されるまで動作を続けてもよい。そのような実施形態において、送信システム１０は、障害のあるシリアルリンクを補正するための機会をオペレータに与えるために設定期間にわたって動作を続けるが、設定期間後に障害が補正されなかった場合には動作を停止することを決定してもよい。
【００５１】
また、動作を続けるかどうかの決定は、エラーがリアルタイムで補正可能などうかに依存してもよい。例えば、エラーが両方の通信信号５８における最上位ビットの削除または破損であって、通信信号が逆転される場合、送信システム１０は、補正された通信信号５８に基づいて動作を続けることを選択してもよい。通信信号５８におけるエラーの補正可能性については以下で更に詳しく説明する。
【００５２】
前述した例に基づき、動作を続けるあるいは停止するかどうかの決定は、送信システム１０を利用するシステムの性質、シリアルリンクの状態、通信信号５８におけるエラーがリアルタイムで補正可能かどうか、通信信号５８で送信される情報の性質、エラーの履歴などの様々な因子のうちの１つ以上に基づいてカスタマイズされてもよいことが理解されるはずである。そのような決定のために利用される機能は、データ比較／複製３２またはプロセッサ２４および／またはメモリ２６の他のシステムによって果たされてもよい。
【００５３】
エラーをリアルタイムで補正するためのプロセス１２４の１つの実施形態が図８に描かれる。プロセス１２４は、メモリ２６に記憶されてプロセッサ２４により実行される持続性機械可読命令またはコードによって実施されてもよい。図示のように、エラーが検出される（プロセスブロック１２８）と、エラーが補正可能かどうかの決定がなされる（決定ブロック１３０）。エラーが補正不可能な場合には、送信システム１０が動作を停止してもよい（プロセスブロック１３２）。補正可能である場合には、エラーがリアルタイムで補正され（プロセスブロック１３４）、送信システム１０が動作を続ける（プロセスブロック１３６）。
【００５４】
より具体的には、データ比較／複製３２は、エラーのタイプおよびエラーの大きさなどの様々な因子に基づいてエラーが補正可能かどうかを決定してもよい。例えば、前述した例において、エラーが単に各通信信号５８の最上位ビットを破損しているだけであって、通信信号５８が逆転される場合、データ比較／複製３２は、第１の通信信号における最上位ビットを第２の通信信号における最下位ビットと置き換えることによっておよびその逆によってエラーを補正してもよい。また、検出されたエラーが繰り返しである場合、送信システム１０は、単に、先の受信された通信信号を実行するとともにその後に受信される通信信号を無視することによってエラーを補正してもよい。同様に、検出されたエラーが挿入である場合、送信システムは、単に、挿入された通信信号５８を無視することによってエラーを補正してもよい。一方、検出されたエラーがなりすましである場合には、エラーが補正可能でなくてもよく、送信システム１０は、送信システム１０への侵入が検出されたため、動作を停止することを選択してもよい。
【００５５】
前述した例に基づき、データ比較／複製３２は、第１の通信信号における誤りビットを第２の通信信号からの非誤りビットと置き換えることによって、第１の通信信号の１つ以上のビットに影響を及ぼすエラーをリアルタイムで補正してもよい。また、データ比較／複製３２は、第１の通信信号を無視することによって、第１の通信信号に影響を及ぼすが第２の通信信号に影響を及ぼさないエラーを補正してもよい。更に、データ比較／複製３２は、第１および第２の通信信号の両方に影響を及ぼすエラーをこれらの両方の通信信号を無視することによって補正してもよい。検出されるエラーの補正可能性が事実に固有のものであってもよいことは言うまでもない。そのような決定のために利用される機能は、データ比較／複製３２またはプロセッサ２４および／またはメモリ２６の他の部分によって果たされてもよい。
【００５６】
また、本明細書中に記載される技術は、リアルタイムであるいはエラーが検出されると直ぐにエラーを補正できるようにする。例えば、前述した例では、第１および第２の通信信号がビット単位で比較されるときに第１の通信信号の最上位ビットが第２の通信信号の最下位ビットと置き換えられてもよく、先の受信された通信信号５８が受信時に実行されて、その後に受信された通信信号が受信時に無視されてもよく、および、挿入された通信信号５８が受信時に無視されてもよい。
【００５７】
先の説明は２つの並列のシリアルリンクについて記載するが、他の実施形態は、２つを超える並列のシリアルリンクを含んでもよい（例えば、３つあるいは４つの並列のシリアルリンク）。言うまでもなく、３つ以上の並列のシリアルリンクの使用は、一般に、データ送信システム１０の信頼性を高めるために前述した技術を利用してもよい。
【００５８】
前述した実施形態の技術的効果は、データ送信システム１０の信頼性を高めることを含む。より具体的には、データ送信システム１０の信頼性は、それぞれが同じ情報を表す通信信号５８を並列に送信する並列のシリアルリンクを利用することによって高められてもよい。パラレル通信信号５８の受信および比較に基づいて、シリアルリンクにおける障害および通信信号中のエラーが検出されてもよい。したがって、送信システム１０の信頼性は、送信システム１０をよりフォールトトレラントにするとともにエラーをリアルタイムで補正することによって高められてもよい。また、幾つかの実施形態において、障害およびエラーの検出および／または補正は、処理能力にかかわらず全ての装置に高い信頼性を与えることができるようにするハードウェアの使用のみによって行われてもよい。
【００５９】
この書かれた説明は、最良の形態を含む本発明を開示するために実施例を使用し、また、任意のデバイスまたはシステムを形成して使用すること、および、任意の組み入れられた方法を実行することを含めて、任意の当業者が本発明を実施できるようにする。本発明の特許可能な範囲は、特許請求の範囲によって規定され、また、当業者が想起する他の実施例を含んでもよい。そのような他の実施例は、それらが特許請求の範囲の文字通りの言葉とは異ならない構造要素を有する場合、あるいは、それらが特許請求の範囲の文字通りの言葉との実体のない差異を伴う等価な構造要素を含む場合に、特許請求の範囲内に入るように意図される。
【符号の説明】
【００６０】
１０  データ送信システム
１２  工業用制御システム
１４  コントローラ
１５  データ送信サブシステム（プログラマブル論理デバイス）
１６  タービン
１８  センサ
２０  バルブ
２２  ポンプ
２４  プロセッサ
２６  メモリ
２７  クロックシステム（機能ブロック）
２８  フリーランニングカウンタ（ＦＲＣ）（機能ブロック）
３０  データＩ／Ｏ（機能ブロック）
３２  データ比較／複製（機能ブロック）
３４  第１のＩ／Ｏポート（機能ブロック）
３６  第２のＩ／Ｏポート（機能ブロック）
３８  導管
４０、４２  シリアルトランシーバ
４６  Ｒコア
４８  Ｓコア
５０  Ｔコア
５２  第１の送信システム
５４  第２の送信システム
５６  第３の送信システム
５８  通信信号
６０  通信信号データ
６２  シーケンス番号
６４  タイミングデータ
６６  送信元識別表示
６８  エラーチェックデータ
７０  プロセス
７２  括弧
７４  プロセスブロック
７６  プロセスブロック
７８  プロセスブロック
８０  プロセスブロック
８２  プロセスブロック
８４  プロセスブロック
８６  プロセスブロック
８８  プロセスブロック
９０  プロセス
９２  プロセスブロック
９４  プロセスブロック
９６  プロセスブロック
９８  プロセスブロック
１００  プロセスブロック、括弧
１０２  プロセスブロック
１０４  プロセスブロック
１０６  プロセスブロック
１０８  プロセスブロック
１１０  プロセスブロック
１１２  プロセス
１１４  決定ブロック
１１６  決定ブロック
１１８  プロセスブロック
１２０  決定ブロック
１２２  プロセスブロック
１２４  プロセス
１２８  プロセスブロック
１３０  決定ブロック
１３２  プロセスブロック
１３４  プロセスブロック
１３６  プロセスブロック
【図１】
2015136104.tif 000003
【図２】
2015136104.tif 000004
【図３】
2015136104.tif 000005
【図４】
2015136104.tif 000006
【図５】
2015136104.tif 000007
【図６】
2015136104.tif 000008
【図７】
2015136104.tif 000009
【図８】
2015136104.tif 000010
【外国語明細書】
2015136104000001.pdf