以下で本発明の例示的実施形態について添付図面を参照してより完全に説明する。図面には、本発明のすべてではないがいくつかの実施形態を図示する。実際、本発明は、多くの異なる形態で実施することができ、本明細書に記される実施形態に限定されるものとは解釈すべきでない。むしろ、それらの実施形態は、この開示が、該当する法的要件を満たすように提供される。明細書全体を通じて同様の参照符号は同様の要素を参照する。
制御システム内でフィールドバス装置の制御を同期させるシステムおよび方法が開示される。より具体的には、外部コントローラまたは制御システムを1つまたは複数のフィールドバス装置と同期させるシステムおよび方法が開示される。1つのコントローラおよび任意の数のフィールドバス装置を提供することができる。コントローラは、各フィールドバス装置と直接または間接的に通信することができる。例えば、コントローラは、1つまたは複数の適切なリンク装置を介して1つまたは複数のフィールドバス装置と通信することができる。動作時、コントローラは、少なくとも1つのフィールドバス装置についてのタイミング情報を含むメッセージを受信することができる。例えば、コントローラは、リンク装置からメッセージを受信することができる。リンク装置に関連付けられた1つまたは複数のセグメントについての現在のタイミング情報等、受信したメッセージに含まれる情報に基づいて、コントローラは、フィールドバス装置またはフィールドバス装置の群についての現在の動作サイクル(例えば現在のマクロサイクル)の開始時間を判定することができる。コントローラは、また、例えば適切なメモリ装置の継続時間情報にアクセスすることにより、現在の動作サイクルの継続時間を識別または判定することもできる。動作サイクルの開始時間および継続時間に基づいて、コントローラは、フィールドバス装置または装置の群に対してコントローラが制御機能を実行する特定の時間または時点を決定することができる。例えば、コントローラは、現在時刻からのオフセットを決定することができる。決定された特定の時間に達すると、コントローラは、フィールドバス装置から受け取った入力を処理する、かつ/またはフィールドバス装置のための他の制御処理を行うことができる。そして、コントローラは、フィールドバス装置に通信するために任意の数の制御メッセージおよび/またはデータを出力することができる。本発明の一態様によれば、出力されたメッセージは、フィールドバス装置の現在の動作サイクル中に装置で受信することができる。この点で、コントローラとフィールドバス装置を同期させることができる。
特定の実施形態で必要とされるように、コントローラは、1つまたは複数のフィールドバス装置との通信を容易にすることもできる。例えば、コントローラは、ヒューマンマシンインタフェース(HMI)コンピュータ等の外部コンピュータとフィールドバス装置の間の通信を容易にすることができる。この点に関して、コントローラは、HMIコンピュータからフィールドバスプロトコル以外のプロトコルに従ってフォーマットされたコマンドを受信し、フィールドバスプロトコルに従ってフォーマットされたコマンドを生成し、生成したコマンドを1つまたは複数のフィールドバス装置に通信するために出力することができる。例えば、コントローラは、HMIコンピュータによるフィールドバスのデータ値および/または変数の読み出しおよび/または書き込みを容易にするゲートウェイ装置として機能することができる。一例として、フィールドバス装置への値の書き込みを容易にするために、コントローラは、フィールドバス装置に値を書き込むことを指示する第1のコマンドをHMIコンピュータから受信することができる。コントローラは、対象フィールドバス装置を識別し、第1のコマンドに含まれる情報に基づいて、フィールドバスプロトコルに従ってフォーマットされた第2のコマンドを生成することができる。そして、所望の値の書き込みを完了するために、識別されたフィールドバス装置に第2のコマンドを通信することができる。
また、特定の実施形態では、コントローラは、制御システム内に接続されたフィールドバス装置を動的に識別することができる。例えば、コントローラは、1つまたは複数の個々のフィールドバスリンク装置から、通告メッセージ等の1つまたは複数のメッセージを受信することができる。受信される各メッセージは、個々のリンク装置の複数のセグメントに関連する情報を含むことができる。それら各セグメントは、フィールドバス装置をリンク装置に接続することが可能な通信チャネルを提供することができる。コントローラは、少なくとも1つのフィールドバス装置が接続された各リンク装置のアクティブセグメントの1つまたは複数を識別するために、受信した各メッセージを解析または構文解析することができる。そして、コントローラは、そのセグメントに接続された1つまたは複数のフィールドバス装置に関連する情報を要求するために、識別された各アクティブセグメントに対する個々の照会メッセージを生成することができる。アクティブセグメントに照会メッセージを通信するのに応答して、コントローラは、接続されたフィールドバス装置に関連する情報を含む任意の数の応答を受信することができる。必要に応じて、コントローラは、次いで、フィールドバス装置についてのより詳細な情報を得るために、任意の数の接続されたフィールドバス装置に対して個々の装置照会メッセージを生成し、通信することができる。コントローラで情報が収集されると、コントローラは、制御システム内に接続されたフィールドバス装置の1つまたは複数のリストおよび/または接続されたフィールドバス装置に関連付けられた各種のグラフィックプレゼンテーションを作成することができる。作成されたリストおよび/またはプレゼンテーションは、次いで、制御システムの操作者に利用されるワークステーションコンピュータ等の任意の数の適切な受信者に送信することができる。
特定の実施形態では、フィールドバス装置とコントローラ間の通信を容易にするために、複数の冗長なリンク装置を備えることができる。例えば、主要リンク装置および副リンク装置を備えることができる。主要リンク装置は、コントローラとのネットワーク接続性が失われたことを検出し、副リンク装置への通信制御の切り替えまたは移行を指示することができる。特定の実施形態では、切り替えは、副リンク装置と外部コントローラ間にネットワーク接続性が存在すると追加的に決定したことに基づいて指示することができる。特定の実施形態で必要とされるように、移行後に副リンク装置を主要装置として設定することができる。
本発明の各種実施形態は、フィールドバス装置と外部コントローラまたは制御システムの同期を容易にする、1つまたは複数の専用コンピュータ、システム、および/または特定の機械を含むことができる。特定の実施形態では、外部コンピュータと1つまたは複数のフィールドバス装置の間の通信を容易にする、1つまたは複数の専用コンピュータ、システム、および/または特定の機械も提供されてよい。また、特定の実施形態では、制御システム内に接続された、かつ/または制御システム内でアクティブなフィールドバス装置の動的な識別を容易にする、1つまたは複数の専用コンピュータ、システム、および/または特定の機械を備えることができる。専用コンピュータまたは特定の機械は、各種実施形態で必要に応じて多種多様なソフトウェアモジュールを含むことができる。下記でより詳細に説明するように、特定の実施形態では、それら各種のソフトウェアコンポーネントを利用して、フィールドバス装置に関連付けられたタイミング情報を処理し、外部コントローラとフィールドバス装置を同期させることができる。
本明細書に記載される本発明の特定の実施形態は、フィールドバス装置と外部コントローラまたは制御システムとの同期を容易にする技術的効果を有することができる。また、本発明の特定の実施形態は、フィールドバス装置から受信したデータを処理し、フィールドバス装置に対する制御機能を行い、フィールドバス装置の1動作サイクルまたは1マクロサイクル中に1つまたは複数の制御メッセージをフィールドバス装置に出力する技術的効果を有することができる。この点で、フィールドバス装置と外部コントローラの動作を同期させることができる。また、本発明の特定実施形態は、制御システムに関連付けられたHMIコンピュータ等の外部コンピュータと、1つまたは複数のフィールドバス装置との間の通信を容易にするという技術的効果を有することができる。例えば、1つまたは複数のフィールドバス装置に通信できるコマンドを生成または作成するために、外部コンピュータから受信したコマンドを処理することができる。実際、特定の実施形態は、非フィールドバスプロトコルでフォーマットされたコマンドを受信し、フィールドバスプロトコルに従ってフォーマットされたコマンドを生成して1つまたは複数のフィールドバス装置に出力する技術的効果を有することができる。必要に応じて、本明細書に記載される本発明の特定実施形態は、制御システムに接続された、かつ/または制御システム内にあるフィールドバス装置の動的な識別を容易にする技術的効果も有することができる。
さらに、本発明の特定実施形態は、フィールドバス装置と外部コントローラ間の通信を容易にするという技術的効果を有することができる。外部コントローラと複数のリンク装置の間のネットワーク接続性を監視して、第1のリンク装置から第2のリンク装置への通信制御の切り替えを容易にすることができる。この点で、コントローラとフィールドバス装置間の通信を容易にする1つまたは複数のリンク装置とのネットワーク接続性が失われた場合でも、外部コントローラとフィールドバス装置間のネットワーク接続性を維持することができる。
本発明の各種実施形態は、ファンデーションフィールドバスタイプ(以下「フィールドバス」)の装置を、制御システム、例えば発電装置(例えばガスタービン、蒸気タービン、風力タービン等)、発電所、および/またはプロセスプラントに関連する制御システムに組み込む。本発明の各種実施形態では必要に応じて多種多様なフィールドバス装置を利用することができる。フィールドバス装置の例には、これらに限定されないが、センサ、計器、測定装置、弁、アクチュエータ、入出力サブシステム、ホストシステム、リンク装置、任意の適切なフィールドバスH1装置、および/または任意の適切なフィールドバス高速イーサネット(商標)(HSE)装置が含まれる。特定の実施形態では、H1装置は、HSE装置とは異なる速度で動作および/または通信する場合がある。一例として、H1装置は毎秒およそ31.25キロビットで動作することができ、HSE装置は、毎秒およそ100メガビットで動作することができる。必要に応じて、リンク装置等の各種のHSE装置を利用して、H1装置を制御システムの中央コントローラと相互接続することができる。また、用語「HSEプロトコル」を利用して、HSEフィールドバス装置との通信を容易にするフィールドバスプロトコルを指す場合がある。
フィールドバス装置間、および/または1つまたは複数のコントローラ間、および/または制御システムとフィールドバス装置のプロセッサ間の通信は、フィールドバスプロトコルを利用することによって容易にすることができる。フィールドバスプロトコルは、全デジタルシリアル、2方向の通信プロトコルであり、現場機器またはフィールドバス装置を相互接続するバスまたはネットワークとの標準化された物理インタフェースを提供する。フィールドバスプロトコルは、ファンデーションフィールドバスによって開発および管理されるオープンアーキテクチャプロトコルである。フィールドバスプロトコルは、実際、プラントまたは施設内の現場機器または現場装置のためのローカルエリアネットワークを提供し、それにより、それらの現場装置は、施設内全域に分散された場所で制御機能を行い、その制御機能を行う前後に相互と通信して全体的な制御方針を実装することができる。フィールドバスプロトコルではプロセス制御ネットワーク全体に制御機能を分散することができるので、中央コントローラの作業負荷を減らすことができる。
図1は、本発明の各種実施形態に従って利用することが可能な1つの例示的な制御システム100のブロック図である。制御システム100は、1つまたは複数のコントローラ105(例えば中央コントローラ)および/もしくは制御装置、1つまたは複数のリンク装置110a〜n、ならびに/または1つまたは複数のフィールドバス装置115a〜nを含むことができる。コントローラ105は、1つまたは複数の適切なネットワーク120または通信バスを介してリンク装置110a〜nと通信することができる。また、リンク装置110a〜nは、1つまたは複数の適切なバス125a〜nまたはネットワークを介して各種のフィールドバス装置115a〜nと通信することができる。
必要に応じて、任意の数のリンク装置110a〜nを制御システム100との関連で利用することができる。リンク装置110a〜nは、フィールドバスネットワークまたはバス、およびコントローラ105との通信を容易にする1つまたは複数の比較的高速のネットワークを介して通信することが可能な装置であってよい。例えば、リンク装置(リンク装置110と総称する)は、HSEフィールドバス装置またはHSE/H1複合装置であってよい。そのため、リンク装置110は、適切なイーサネット(商標)ネットワークまたは他の適切なネットワークを介してコントローラ105と通信することができる。また、リンク装置110は、1つまたは複数のフィールドバスネットワークおよび/またはデータバスを介して、接続されたフィールドバス装置115a〜nと通信することができる。必要に応じて、リンク装置110a〜nは、コントローラ105とフィールドバス装置115a〜nの間の通信を容易にすることができる。あるいは、他の実施形態では、フィールドバス装置115は、適切なネットワーク120またはバス125を介してコントローラ105と直接通信状態にあってもよい。
リンク装置110は、フィールドバスデータバス125またはローカルフィールドバスネットワークを接続することができる任意の数のセグメントおよび/または接続を備えることができる。例えば、特定の実施形態では、リンク装置110は4つのセグメントを備えることができるが、必要に応じて他の数のセグメントが含まれてよい。各セグメントは、別個の通信チャネルを確立することができ、リンク装置110とそのセグメントに接続されたフィールドバス装置との間の通信を容易にするように構成することができる。
動作時、リンク装置110は、タイミング情報を含むメッセージをコントローラ105に送信または通信するように構成することができる。特定の実施形態では、メッセージは周期的に通信することができる。通信の周期は、デフォルトの期間であっても、1つまたは複数のユーザ嗜好によって設定される期間であってもよい。また、およそ500ミリ秒の期間等、種々の適切な期間を必要に応じて利用してよい。他の実施形態では、メッセージ要求に応答してコントローラ105にメッセージを通信することができる。本発明の一態様によれば、通信されるメッセージは、リンク装置110のセグメントおよび/またはそのセグメントに接続されたフィールドバス装置に関連付けられたタイミング情報を含むことができる。例えば、メッセージは、現在のマクロサイクルまたは他の動作サイクルにおけるセグメントおよび/または接続フィールドバス装置の現在の動作時間を含むことができる。必要に応じて、メッセージは、動作サイクルの継続時間等、多種多様な追加的情報を含んでよい。リンク装置110からメッセージを受信する代わりに、本発明の特定の実施形態では、フィールドバス装置115から直接メッセージを受信することもできる。
引き続き図1を参照すると、制御システム100との関連で任意の数のフィールドバス装置115a〜nを利用することができる。特定の実施形態では、各フィールドバス装置(装置115と総称する)は、ローカルフィールドバスネットワークまたはデータバス125を介してリンク装置110と通信することができる。この点に関して、フィールドバス装置115とコントローラ105間の通信をリンク装置110によって容易にすることができる。他の実施形態では、フィールドバス装置115はコントローラ105と直接通信することができる。本発明の各種実施形態で必要に応じて、任意の数のH1フィールドバス装置および/または他の適切な装置を含む多様な異なる種類のフィールドバス装置を利用することができる。特定の実施形態では、フィールドバス装置115a〜nは、発電所またはプロセスプラント内の異なる地点に分散または配置することができる。この点に関して、フィールドバス装置115a〜nを利用して、プラントの各種側面および/または動作を監視および/または制御することができる。
特定の実施形態では、リンク装置110a〜nとフィールドバス装置115a〜n間の通信は、フィールドバスプロトコルを使用して容易にすることができる。また、リンク装置110a〜nとコントローラ105間の通信もフィールドバスプロトコルを使用して容易にすることができる。
本発明の一態様によれば、リンク装置110のセグメントおよびそのセグメントに接続されたフィールドバス装置は、フィールドバスマクロサイクル等の動作サイクルに従って動作するように構成することができる。例えば、フィールドバスのマクロサイクルで、1つのセグメント内のロジックの合計実行時間を定義することができる。特定の実施形態では、動作サイクルの継続時間または長さは、ユーザまたは技術者によって構成または設定することができる。他の実施形態では、動作サイクルの継続時間は、動的に決定および/または設定することができる。必要に応じて、対象セグメントに接続された最も低速の装置の待ち時間および/または動作速度に少なくとも部分的に基づいて、動作サイクルの最小継続時間を定義することができる。リンク装置110のセグメントについて動作サイクルを設定する代わりに、個々のフィールドバス装置またはフィールドバス装置の群について同様の方式で動作サイクルを設定してもよい。
本発明の各種実施形態で必要に応じて任意の数の動作サイクルを設定してよい。例えば、各リンク装置110a〜nのセグメントごとに各自の動作サイクルを設定することができる。特定の実施形態では、設定された動作サイクルの継続時間が設定または決定されると、その継続時間をコントローラ105に通信する、かつ/またはコントローラ105で記憶することができる。
特定の実施形態では、セグメントに接続された(または直接コントローラ105に接続された)フィールドバス装置115は、測定データ、事象データ、および/またはそのフィールドバス装置115の動作に関連する他の適切なデータをコントローラ105に通信するように動作可能であるか、または通信するように構成することができる。本発明の一態様によれば、フィールドバス装置115は、データが同じ動作サイクル中にコントローラ105で受信され、処理されるように該当の動作サイクル中にデータを出力するように構成することができる。また、データは、コントローラ105による当該データの処理に関連する制御信号または他のメッセージがその動作サイクル中にフィールドバス装置115で受信できるように出力することができる。この点で、フィールドバス装置115とコントローラ105の動作を同期させることができる。
引き続き図1を参照すると、図示される1つまたは複数のネットワーク120は、リンク装置110a〜nとコントローラ105の間の通信を容易にする適切なネットワークまたはネットワークの組み合わせを含むことができる。同様に、フィールドバスデータバス125a〜nまたはネットワークは、リンク装置110とそのリンク装置110に接続されたフィールドバス装置の間の通信を容易にする任意の数の適切なデータバスおよび/またはローカルエリアネットワークを含むことができる。適切なネットワークおよび/またはデータバスの例には、これらに限定されないが、ローカルエリアネットワーク、ワイドエリアネットワーク、インターネット、無線周波(RF)ネットワーク、Bluetooth(商標)対応ネットワーク、適切な有線ネットワーク、適切なワイヤレスネットワーク、または有線ネットワークとワイヤレスネットワークの適切な組み合わせが含まれる。イーサネット(商標)ネットワークを利用する実施形態等の本発明の特定の実施形態では、1つまたは複数のイーサネット(商標)スイッチを備えることができる。イーサネット(商標)スイッチは、ネットワーク120内でデータをルーティングすることができる。各イーサネット(商標)スイッチは、ネットワーク120内のデータのルーティングを容易にするように動作することが可能なハードウェアおよび/またはソフトウェアコンポーネントを含むことができる。適切なイーサネット(商標)スイッチの例には、これらに限定されないが、ネットワークブリッジ、マルチレイヤスイッチ等が含まれる。
本発明の各種実施形態で、必要に応じて、ネットワーク120および/またはシステム100内に冗長なコンポーネントを備えることができる。例えば、冗長な配線、スイッチ、および/またはルータを備えることができる。また、特定の実施形態では、冗長なリンク装置110a〜nおよび/またはセグメントを備えることができる。この点で、ネットワーク装置の障害が発生した場合に制御システム100内で十分な動作を維持することができる。
引き続き図1を参照すると、制御システム100は、中央コントローラ等のコントローラ105を含むことができる。適切なコントローラのいくつかの例は、General Electric Company製造のMark(商標)VI制御システムおよびMark(商標)Vie制御システムである。コントローラ105は、制御システム100の他のコンポーネント、および/または制御システム100で制御されるプラントもしくはシステムのコンポーネントと通信し、かつ/またはコンポーネントを制御するように構成することができる。また、コントローラ105は、フィールドバス装置115a〜nおよび/またはリンク装置110a〜nに関連するデータを受信して受信したデータの少なくとも一部分を処理し、かつ/または、任意の数のリンク装置110a〜nおよび/またはフィールドバス装置115a〜nに受信されるように1つまたは複数の制御信号もしくは他のメッセージを出力するように構成することができる。本発明の一態様によれば、コントローラ105は、フィールドバス装置115a〜nとコントローラ105の同期を容易にするために、フィールドバス装置115a〜nの動作に関連する受信データが処理される1つまたは複数の特定の時間を決定することができる。
コントローラ105は、制御システム100の動作を制御する任意の数のプロセッサ駆動型装置を含むことができる。例えば、コントローラ105は、任意の数の専用コンピュータまたは特定の機械、特定用途向け回路、プログラマブルロジックコントローラ(PLC)、マイクロコントローラ、パーソナルコンピュータ、ミニコンピュータ、メインフレームコンピュータ、スーパーコンピュータ等を含むことができる。特定の実施形態では、コントローラ105の動作は、コントローラ105に関連付けられた1つまたは複数のプロセッサで実行されるコンピュータ実行命令またはコンピュータ実装命令で制御することができる。命令は、本発明の各種実施形態で必要に応じて1つまたは複数のソフトウェアコンポーネントとして実施することができる。命令の実行で、制御システム100の動作を制御する、かつ/またはコントローラ105とフィールドバス装置115a〜nの同期を容易にするように動作することが可能な専用コンピュータまたは他の特定の機械を形成することができる。コントローラ105の動作を制御する1つまたは複数のプロセッサは、コントローラ105に内蔵するか、かつ/または1つまたは複数の適切なネットワークを介してコントローラ105と通信状態にすることができる。本発明の特定の実施形態では、コントローラ105の動作および/または制御は、数個の処理コンポーネントに分散してよい。
コントローラ105は、1つまたは複数のプロセッサ140、1つまたは複数のメモリ装置141、および、1つまたは複数のネットワークインタフェース装置142を含むことができる。1つまたは複数のメモリ装置141は、任意の適切なメモリ装置、例えばキャッシュ、読み取り専用メモリ装置、ランダムアクセスメモリ装置、磁気記憶装置等であってよい。1つまたは複数のメモリ装置141は、データ、実行可能命令、および/またはコントローラ105が利用する各種のプログラムモジュール、例えば、制御システム、リンク装置110a〜n、および/またはフィールドバス装置115a〜nの動作に関連するデータ145、オペレーティングシステム146、制御モジュール147、同期化モジュール148、通信モジュール149、および/またはライブリストモジュール152を記憶することができる。また、メモリ141は、制御システムの動作に関連する情報を操作者に提示することができる、かつ/または操作者がユーザコマンドを入力することができる1つまたは複数のワークステーション130等の制御システム100の他のコンポーネントとの通信を容易にするフィールドバスプロトコルもしくはHSEプロトコル150、および/または第2の制御システムプロトコル151を記憶するように動作することができる。データ145は、制御システム100の動作および/または制御システム100で監視されるプラントもしくはシステムの動作に関連する適切なデータを含むことができ、例えば、測定データ、動作データ、1つまたは複数のリンク装置110a〜nの動作に関連するデータ、1つまたは複数のフィールドバス装置115a〜nの動作に関連するデータ、リンク装置110a〜nおよび/またはフィールドバス装置115a〜nの1つまたは複数の動作サイクルもしくはマクロサイクルに関連するデータ等を含むことができる。オペレーティングシステム(OS)146は、中央コントローラ105の全般的な動作を容易にする、かつ/または制御する、実行可能命令および/またはプログラムモジュールを含むことができる。例えば、OS146で、プロセッサ140による他のソフトウェアプログラムおよび/またはプログラムモジュールの実行を容易にすることができる。
制御モジュール147は、制御システム100の全体動作、ならびに/または制御システム100で監視および/もしくは制御されるプラントもしくはシステムを監視および/もしくは制御するように動作することができる。その際、制御モジュール147は、各種測定値、および/または、制御システム100および/または監視対象のプラントもしくはシステムの動作に関連する他のデータを利用することができる。利用されるデータの少なくとも一部分は、フィールドバス装置115a〜nから直接、またはリンク装置110a〜nを介して受け取ることができる。制御モジュール147はさらに、制御システム100の動作に関連するコマンド信号を生成し、生成した信号を制御システム100の他のコンポーネント、例えばフィールドバス装置115a〜nに通信することを指示するように動作することができる。例えば、制御モジュール147は、1つまたは複数のフィールドバス装置115a〜nから受信したデータを処理し、生成した制御信号または他のメッセージをフィールドバス装置115a〜nに通信することを指示するように動作できる、またはそのように構成することができる。
同期化モジュール148は、コントローラ105とフィールドバス装置115a〜nの動作および/または処理を同期させるように動作可能であるか、そのように構成することができる。本発明の一態様によれば、同期化モジュール148は、コントローラ105で生成および/または出力された制御信号および他のメッセージがフィールドバス装置の1つまたは複数の該当する現在の動作サイクル中にフィールドバス装置に受信されるように、コントローラ105が1つまたは複数の個々のフィールドバス装置および/またはフィールドバス装置の群に対する制御機能および/または処理を実行する1つまたは複数の特定の時間を特定することができる。
一例示的実施形態では、同期化モジュール148は、1つのフィールドバス装置115、またはリンク装置110の同じセグメントもしくは同じデータバス125に接続されているフィールドバス装置の群等のフィールドバス装置の群に関連するタイミング情報を受信することができる。本発明の各種実施形態で必要に応じて多種多様なタイミング情報を受信することができる。一例示的実施形態では、現在の動作サイクルまたはマクロサイクルにおける現在時間に関連する情報を受信することができる。別の例示的実施形態では、現在の動作サイクルの開始時間に関連する情報を受信することができる。特定実施形態では、タイミング情報は、リンク装置110またはフィールドバス装置115から出力される同期化メッセージまたはタイミングメッセージで受信することができる。例えば、リンク装置110は、そのリンク装置110の各セグメントについての各自のタイミング情報を含むタイミングメッセージまたは同期化メッセージを出力することができる。特定の実施形態では、必要に応じて、タイミングメッセージまたは同期化メッセージは、コントローラ105に受信されるように周期的に出力することができる。すなわち、リンク装置110またはフィールドバス装置115は、所定の間隔または時間に周期的にタイミングデータを出力するように構成することができる。例えば、タイミングデータは、コントローラ105に受信されるように、動作サイクルまたはマクロサイクルの開始時または開始時近くに出力することができる。
セグメントまたはフィールドバス装置115についてのタイミング情報が受信されると、同期化モジュール148は、セグメントまたは装置115に関連付けられた現在の動作サイクルの開始時間を判定するためにそのタイミング情報を利用することができる。例えば、同期化モジュール148は、コントローラ105に関連付けられた現在の時間(例えばクロック時間)から、タイミング情報に含まれるタイミング値(例えば動作サイクル内における現在の時間を表す値)、および必要に応じて推定ネットワーク遅延時間を減算することにより、現在の動作サイクルの開始時間を求めることができる。また、同期化モジュール148は、動作サイクルの継続時間等、セグメントまたは装置115の動作サイクルに関連する情報にアクセスする、または情報を取得してもよい。例えば、同期化モジュール148は、コントローラ105に関連付けられた適切なメモリにある継続時間データにアクセスすることができる。別の例として、同期化モジュール148は、受信したタイミング情報または別の受信メッセージに含まれる継続時間情報を識別することもできる。
動作サイクルの開始時間が判定されると、同期化モジュール148は、そのセグメントまたはフィールドバス装置115に対して制御モジュール147がコントローラ機能を実行すべき特定の時間を決定するために、判定した開始時間および動作サイクルの継続時間情報を利用することができる。例えば、コントローラ機能を実行するタイミングオフセット、またはコントローラ機能を実行すべき具体的なクロック値を決定することができる。決定される特定の時間は、コントローラ105から出力される制御信号または他のメッセージが現在の動作サイクル中にフィールドバス装置115、セグメント、および/またはセグメントに接続された装置に受信されるように、セグメントまたは装置115の制御動作が行われる時間とすることができる。この点で、コントローラ105の動作と接続されたフィールドバス装置115a〜nの動作を同期させることができる。また、コントローラ105と、接続されたフィールドバス装置115a〜nの動作速度の差を考慮することができる。決定された特定の時間に達すると、制御モジュール147は、フィールドバス装置115、セグメント、および/またはそのセグメントに接続された装置にコントローラ機能を実行することができる。その際、制御モジュール147は、セグメントおよび/またはフィールドバス装置115から受信した入力(例えば測定データ、事象データ等)を処理し、かつ/または、フィールドバス装置115、セグメント、および/またはそのセグメントに接続された装置に出力する任意の数の適切な制御信号および/または他のメッセージを生成することができる。そして、制御モジュール147は、生成した信号および/またはメッセージを指定された受信者に送信するよう指示することができる。
コントローラ105とフィールドバス装置115a〜nを同期させるために同期化モジュール148で行うことが可能な動作の例については、下記で図2を参照してより詳細に説明する。
通信モジュール149は、ネットワーク120を通じて送信される通信、および/またはワークステーション130に送信する通信をフォーマットおよび/または生成するように動作することができる。また、通信モジュールは、中央コントローラ105に送信された通信、例えば、ワークステーション130、リンク装置110a〜n、および/またはフィールドバス装置115a〜nから受信された通信を受信し、受信した通信からデータを抽出し、処理するように動作可能であることができる。通信モジュールは、通信をフォーマットする際に、フィールドバスプロトコルもしくはHSEプロトコル150、および/または、制御システムプロトコルもしくは第2のプロトコル151等の1つまたは複数の他のプロトコルの両方を利用することができる。
本発明の一態様によれば、通信モジュール149は、ワークステーション130とフィールドバス装置115a〜nの間の通信を容易にするように動作可能であることができる。例えば、通信モジュール149は、1つまたは複数のワークステーション130からフィールドバス装置115a〜nに関連するコマンドを受信するように構成することができる。一例示的実施形態では、ワークステーション130のユーザは、フィールドバス装置115の動作モードを変更するコマンド等、フィールドバス装置115a〜nの動作に関連する1つまたは複数のコマンドを入力し、入力されたコマンドは、通信モジュール149および/または制御モジュール147による処理のためにコントローラ105に通信することができる。受信されたコマンドは、フィールドバスプロトコル以外のプロトコルに従ってフォーマットされていてよい。フィールドバス装置から値を読み出す、またはフィールドバス装置に値を書き込むコマンド等のコマンドが受信されると、通信モジュール149は、そのコマンドをフィールドバス装置115に対するコマンドと識別することができる。例えば、通信モジュール149は、コマンドに含まれる変数をフィールドバス装置115a〜nについての変数に関連付けられた記憶情報と比較することにより、受信したコマンドに関連付けられた変数、または受信したコマンドで参照される変数が、フィールドバス装置115に関連付けられた変数であると識別することができる。一例示的実施形態では、受信したコマンドに含まれる変数を利用して、変数の参照表や変数のデータベース等、フィールドバス装置115a〜nについての変数のデータリポジトリにアクセスおよび/または検索することができる。この点で、受信したコマンドに関連付けられたフィールドバス装置115を識別することができる。
受信したコマンドに関連付けられたフィールドバス装置115が識別されると、通信モジュール149は、受信したコマンドを変換または翻訳して、フィールドバスプロトコルに従ってフォーマットされたコマンドにすることができる。特定の実施形態では、通信モジュール149は、受信したコマンドに含まれる情報の少なくとも一部分を利用して、フィールドバスプロトコルに従ってフォーマットされた第2のコマンドを生成することができる。必要に応じて、通信モジュール149は追加的に、第2のコマンドを生成するために、コマンドに関連付けられた変数の記憶メモリアドレス等、記憶データ145の一部を利用することができる。例えば、生成された第2のコマンドは、変更すべき変数またはパラメータが記憶されたフィールドバス装置115のメモリアドレス情報を含むことができる。生成されると、通信モジュール149は、第2のコマンドを識別されたフィールドバス装置115に通信するように指示することができる。この点で、通信モジュール149は、非フィールドバスワークステーション130とフィールドバス装置115a〜nの間の通信を容易にするゲートウェイモジュールとして機能することができる。
ワークステーション130から受信したコマンドの処理に加えて、通信モジュール149および/または制御モジュール147は、フィールドバス装置115a〜nから情報を受信し、受信した情報の少なくとも一部をユーザに提示するためにワークステーション130に通信するように動作することができる。例えば、フィールドバス装置115は、フィールドバス装置115の1つまたは複数の動作変数および/もしくはパラメータの値、測定データ、計算値、ならびに/または他のデータ等、フィールドバス装置115の動作に関連する情報をコントローラ105に通信することができる。特定の実施形態では、実時間または近実時間でフィールドバス装置115からコントローラ105に情報を通信することができる。他の実施形態では、適切な所定の時間間隔で周期的にフィールドバス装置115からコントローラ105に情報を通信することができる。他の実施形態では、フィールドバス装置115に関連する動作変数の値を読み出す要求またはコマンド等、情報の要求に応答してフィールドバス装置115からコントローラ105に情報を通信することができる。さらに他の実施形態では、識別された動作変数の変化や、測定値が閾値または閾値範囲の外側にあると判定されたこと等、フィールドバス装置115によってトリガ事象が識別されたことに基づいてフィールドバス装置115からコントローラ105に情報を通信することができる。フィールドバス装置115からコントローラ105への通信は、フィールドバスプロトコルに従ってフォーマットすることができる。
受信されると、情報の少なくとも一部分を通信モジュール149によって利用して、フィールドバスプロトコル以外のプロトコル(例えばEGDプロトコル)に従ってフォーマットされたメッセージを生成することができる。そして、通信モジュール149は、生成したメッセージを出力してワークステーション130に通信するように指示することができる。この点で、フィールドバス装置115から受信した情報を、ワークステーション130に関連付けられたプロトコルまたは言語に変換または翻訳し、ユーザに表示するためにワークステーション130に通信することができる。そして、ワークステーション130のユーザは、表示された情報を見、フィールドバス装置115の動作の変更が要求されるかどうかを判断することができる。変更が要求される場合、ユーザは、ワークステーション130を利用して、上記でより詳細に説明したようにコマンドをコントローラ105に通信することができる。
ワークステーション130と1つまたは複数のフィールドバス装置115a〜nの間の通信を容易にするために通信モジュール149で行うことができる動作の例については、下記で図4および図5を参照してより詳細に述べる。
ライブリストモジュール152は、制御システム100内に接続されたリンク装置110a〜n、セグメント、および/またはフィールドバス装置115a〜nのリストを動的に生成および/または維持するように動作することができる。特定の実施形態では、ライブリストモジュール152は、各種のリンク装置110a〜nからの個々の通告メッセージまたはステータスメッセージの受信、および受信メッセージの評価に基づいて、装置のリストを生成および/または更新するように動作可能であることができる。例えば、受信した通告メッセージを以前に受信した通告メッセージと比較することにより、新たに接続および/または切断された装置を識別することができる。この点で、本発明の特定の実施形態では、接続された装置のリストが近実時間で維持される。接続されたフィールドバス装置115a〜nのリストを生成し、そのリストを動的に維持および/または更新するためにライブリストモジュール152によって行うことができる動作の一例は、下記で図6および図7を参照してより詳細に述べる。接続された装置のリストの生成および/または維持に加えて、ライブリストモジュール152は、グラフィック表示および/またはグラフィカルユーザインタフェース等、接続された装置に関連する多種多様なプレゼンテーションを生成することができる。必要に応じて、ライブリストモジュールは、制御システム100の操作者に表示するために、ワークステーション130等の1つまたは複数の受信側装置に生成したリストおよび/またはプレゼンテーションを通信するように指示することができる。
引き続き図1を参照すると、ネットワークインタフェース装置142は、ネットワーク120および/またはワークステーション130へのコントローラ105の接続を容易にすることができる。ネットワークインタフェース装置142は、任意の数の入出力カード(例えばイーサネット(商標)カード)および/またはネットワーク通信を容易にする他の装置を含むことができる。
本発明の特定実施形態では、1つまたは複数のワークステーション130を備えることができる。必要に応じて、それらのワークステーション130は、制御システム100と制御システム100の1人または複数の操作者の間のヒューマンマシンインタフェース(HMI)を提供することができる。例えば、ワークステーション130で、制御システム100の動作に関連するユーザ入力および/またはユーザコマンドの受信を容易にすることができる。また、ワークステーション130は、接続されたフィールドバス装置115a〜nに関連するプレゼンテーションおよび/または他の情報等のデータをコントローラ105から受信するように構成することができる。ワークステーション130はさらに、受信したデータの少なくとも一部分を、モニタ等の適切な表示装置を介してユーザに表示するように構成することができる。この点で、フィールドバス装置115a〜nの動作に関連する各種のデータ値をワークステーション130に通信してユーザに表示することができる。
特定の実施形態では、ワークステーション130は、フィールドバス装置115に通信するコマンドに関連するユーザ入力の受信を容易にすることができる。例えば、フィールドバス装置115のメモリに値を書き込むコマンドをワークステーション130に入力する、かつ/またはワークステーション130によって生成することができる。入力または生成されたコマンドは、ワークステーション130からコントローラ105に通信することができる。コントローラ105は、受信したコマンドを処理し、フィールドバス装置115へのコマンドの通信を容易にすることができる。特定の実施形態では、コントローラ105は、非フィールドバスプロトコルでフォーマットされたコマンドを受信し、受信したコマンドを利用してフィールドバスプロトコルに従ってフォーマットされたコマンドを生成し、生成したコマンドをフィールドバス装置115に受信されるように出力することができる。この点で、コントローラは、ワークステーション130とフィールドバス装置115a〜nの間の通信を容易にすることができる。例えば、コントローラ105は、ワークステーション130によるフィールドバス装置115a〜nからの値の読み出し、および/またはフィールドバス装置115a〜nへの値の書き込みを容易にすることができる。
ワークステーション130は、パーソナルコンピュータ、手持ち型コンピューティング装置、ミニコンピュータ等、1つまたは複数の適切なコンピュータまたはコンピューティング装置を含むことができる。また、ワークステーション130は、1つまたは複数の適切なネットワーク接続、例えば、直接リンクまたは直接接続、ローカルエリアネットワーク、ワイドエリアネットワーク、インターネット、無線周波(RF)ネットワーク、Bluetooth(商標)対応ネットワーク、任意の適切な有線ネットワーク、または任意の適切なワイヤレスネットワークを介してコントローラ105と通信することができる。この点で、制御システム100の動作に関連するユーザコマンド、命令、および/または他の入力をワークステーション130で受信し、コントローラ105に通信することができる。また、制御システム100および/または制御システム100に監視されるプラントもしくは他のシステムの動作に関連する出力データを、ユーザに出力および/または表示するために、コントローラ105からワークステーション130に通信することができる。
必要に応じて、本発明の実施形態は、図1に示すコンポーネントよりも多い、または少ないコンポーネントを備える制御システム100を含むことができる。図1の制御システム100は、単なる例として提供する。
フィールドバスの同期
図2は、本発明の例示的実施形態による、フィールドバス装置と外部制御システムを同期する一例示的方法200のフローチャートである。方法200は、図1の制御システム100に関連付けられたコントローラ105等、制御システムに関連付けられた適切なコントローラによって行うことができる。方法はブロック205で開始することができる。
ブロック205で、図1に示すフィールドバス装置115a〜nおよび/またはリンク装置110a〜n等の、任意の数のフィールドバス装置および/またはリンク装置を初期化することができる。また、フィールドバス装置および/またはリンク装置110a〜nとコントローラ105の間の通信を確立することができる。
ブロック210で、タイミングメッセージまたは同期化メッセージを受信することができる。例えば、リンク装置110に関連付けられた1つまたは複数のセグメントについてのタイミング情報を含むタイミングメッセージをリンク装置110から受信することができる。別の例として、対象フィールドバス装置115から直接タイミングメッセージを受信することができる。本発明の特定の実施形態は、コントローラ105と直接通信する1つまたは複数のフィールドバス装置を含むことができるが、図2の方法200の残りの部分は、リンク装置110を介してコントローラ105と通信するフィールドバス装置との関連で説明する。本発明の各種実施形態で、必要に応じて、セグメントまたはフィールドバス装置115の現在の動作サイクルの開始時間や、現在の動作サイクルにおける現在時間等の多種多様なタイミング情報を受信することができる。
ブロック215で、受信したタイミングメッセージに含まれる情報に基づいて、リンク装置に関連付けられた1つまたは複数の対象セグメントまたはリンクを識別することができる。例えば、作動状態になっているリンク装置110の1つまたは複数のセグメント、および/または少なくとも1つのフィールドバス装置が接続されているリンク装置110の1つまたは複数のセグメントを識別することができる。そして、動作はブロック220に進み、処理のために次のセグメントを識別することができる。
ブロック225で、セグメントについての動作サイクル情報にアクセスするか、または他の方法で取得することができる。例えば、動作サイクル情報は、メモリにアクセスして得る、または外部データ源から取得することができる。別の例として、セグメントの動作サイクル情報は、受信したタイミングメッセージおよび/または別の受信メッセージから識別または解析することができる。セグメントの動作サイクルの継続時間または長さ等、セグメントの動作サイクルに関連する多種多様な情報にアクセスまたは取得することができる。
ブロック230で、受信したタイミングメッセージに含まれる情報に基づいて、セグメントの現在の動作サイクルの開始時間を判定または識別することができる。例えば、現在の動作サイクルの開始時間は、コントローラ105に関連付けられた現在時間(例えばクロック時間)から、タイミングメッセージに含まれるタイミング値(例えば動作サイクル内における現在時間を表す値)、および必要に応じて推定ネットワーク遅延時間を減算することにより求めることができる。別の例として、現在の動作サイクルの開始時間は、タイミングメッセージに含まれる開始時間情報を識別することによって求めることができる。
ブロック235で、セグメントおよび/またはそのセグメントに接続されたフィールドバス装置に対してコントローラ105によってコントローラ機能を実行すべき特定の時間を決定するために、求められた開始時間および動作サイクルの継続時間情報を利用することができる。例えば、コントローラ機能を実行するタイミングオフセット、またはコントローラ機能を実行すべき特定のクロック値を求めることができる。求められる特定の時間は、コントローラ105から出力された制御信号または他のメッセージが現在の動作サイクルまたは現在のマクロサイクル中にセグメントおよび/またはセグメントに接続された装置に受信されるように、セグメントおよび/または装置に対する制御動作が行われる時間とすることができる。この点で、コントローラ105の動作とセグメントの動作を同期させることができる。
ブロック240で、現在のセグメントが利用可能な最後のセグメントであるかどうかについて判定を行うことができる。ブロック240で現在のセグメントがリンク装置110の利用可能な最後のセグメントでないと判定された場合は、動作はブロック220に進み、次のセグメントを処理のために識別することができる。一方、ブロック240で現在のセグメントが利用可能な最後のセグメントであると判定された場合は、動作はブロック245に進むことができる。
ブロック245で、セグメントおよび/または接続されたフィールドバス装置に対するコントローラ機能を実行することができる。例えば、あるセグメントについて求められた特定の時間に達すると、コントローラ105は、そのセグメントおよび/またはそのセグメントに接続された装置にコントローラ機能を実行することができる。その際、コントローラ105は、セグメントおよび/または接続されたフィールドバス装置から受信される入力(例えば測定データ、事象データ等)を処理し、かつ/または、セグメントおよび/または接続されたフィールドバス装置に出力するために任意の数の適切な制御信号および/または他のメッセージを生成することができる。そして、コントローラ105は、生成した信号および/またはメッセージを指定受信者に通信するように指示することができる。
方法200は、ブロック245の後終了することができる。
図2に示す方法200は、リンク装置110に関連するセグメントを処理し、コントローラ105を各セグメントと同期させるための反復的な方法を記載するが、特定の実施形態では1つまたは複数のセグメントを並行して処理することができる。また、必要に応じて、方法200は任意の数のリンク装置との関連で利用することができる。
図2の方法200に記載する動作は、必ずしも図2に示す順序で行う必要はなく、代わりに任意の適切な順序で行ってよい。また、本発明の特定の実施形態では、図2に示すすべての要素または動作よりも多い、または少ない要素または動作を行ってよい。
図3は、本発明の各種実施形態によって達成することが可能な同期化の一例の説明図300である。図3に示すように、本発明の実施形態は、図1に示すコントローラ105等の外部コントローラと、図1に示すフィールドバス装置115等の接続されたフィールドバス装置の同期を容易にすることができる。フィールドバス装置115とコントローラを同期させることにより、フィールドバス装置115から入力を受け取り、コントローラ105からフィールドバス装置115に出力を通信して1動作サイクルまたは1マクロサイクル中にフィールドバス装置115で受信できるように入力をコントローラ105で処理することができる。この点で、コントローラ105の機能とフィールドバス装置115の機能の間の適正なタイミングを提供することができる。
対して、非同期のタイミング法(図3にも示す)では、コントローラは、出力された制御メッセージまたは信号が同じ動作サイクル中にフィールドバス装置によって受信されないような形である時点でフィールドバス装置に対する制御機能を実行する可能性がある。その結果、フィールドバス装置は、自身の機能を実行する前に必要な入力を受信できない可能性があり、それによりフィールドバス装置とコントローラ間でタイミングエラーおよび/またはデータエラーを招く。場合によっては、コントローラの動作が、接続されたフィールドバス装置よりも最高で2動作サイクルまたはマクロサイクル遅れる場合もある。本発明の各種実施形態によりコントローラとフィールドバス装置を同期させることにより、そのようなタイミングエラーを低減または解消することができる。
フィールドバスの通信
図4は、本発明の例示的実施形態による、外部コンピュータから受信したコマンドをフィールドバス装置に通信する一例示的方法400のフローチャートである。方法400は、図1の制御システム100に関連付けられたコントローラ105等、制御システムに関連付けられた適切なコントローラによって行うことができる。方法はブロック405で開始することができる。
ブロック405で、図1に示すワークステーション130の1つ等、ヒューマンマシンインタフェース(HMI)コンピュータから、制御システム100の動作に関連するコマンドを受信することができる。コマンドは、上記で図1を参照して説明したネットワーク120と同様のネットワークを介して等、任意の数の適切なネットワークおよび/またはネットワーク接続を介して受信することができる。また、受信したコマンドは、フィールドバスプロトコル以外のプロトコルに従ってフォーマットされていてもよい。例えば、特定の実施形態では、受信されるコマンドは、EGDプロトコルまたは別の適切なプロトコルに従ってフォーマットされている場合がある。
ブロック410で、そのコマンドが、図1に示すフィールドバス装置115a〜nの1つ等のフィールドバス装置に対するコマンドであるかどうかについて判定を行うことができる。特定の実施形態では、そのコマンドがフィールドバス装置115に対するコマンドであるかどうかを判定するために、コマンドに含まれる情報を解析することができる。例えば、コマンドに含まれる装置識別子を識別し、その装置識別子がフィールドバス装置115に関連付けられているかどうかを判定することができる。別の例として、コマンドに含まれる、またはコマンドで識別される変数またはパラメータを解析することができ、その変数がフィールドバス装置115に関連付けられているかどうかを判定することができる。例えば、コマンドに含まれる変数を利用して、任意の数のフィールドバス装置115a〜nに関連付けられた変数を含むデータベースまたは参照表にアクセス、または検索することができる。一致の識別に基づいて、変数に関連付けられたフィールドバス装置115を識別することができる。ブロック410でコマンドがフィールドバス装置115に対するコマンドではないと判定された場合、方法400は終了することができる。一方、ブロック410でコマンドがフィールドバス装置115に対するコマンドであると判定された場合は、動作はブロック415に進むことができ、コマンドに関連付けられたフィールドバス装置115を識別することができる。例えば、コマンドに含まれる装置識別子または変数を利用して、コマンドに関連付けられたフィールドバス装置115を識別することができる。
ブロック420で、HMIコンピュータから受信したコマンドに基づいて、識別されたフィールドバス装置115に対するフィールドバスコマンドを生成することができる。例えば、受信したコマンドに含まれる情報および/または受信したコマンドで識別される変数もしくはパラメータに関連付けられた記憶情報(例えばフィールドバス装置115の識別子、変数に関連付けられたフィールドバス装置115の記憶場所等)を利用して、フィールドバスプロトコルに従ってフォーマットされたフィールドバスコマンドを生成することができる。この点で、HMIコンピュータから受信したコマンドをフィールドバスプロトコルに従ってフォーマットされたコマンドに変換または翻訳することができる。
ブロック425で、生成したフィールドバスコマンドをフィールドバス装置115に通信するために出力することができる。例えば、フィールドバスコマンドは、直接フィールドバス装置115に通信することができる。別の例として、フィールドバスコマンドは、フィールドバス装置115に送達するためにリンク装置110に通信することができる。
方法は、ブロック410または425のいずれかの後に終了することができる。
多種多様なコマンドをHMIコンピュータから受信し、コントローラ105および/または通信モジュール149で処理することができる。処理することが可能な適切なコマンドの一例は、フィールドバス装置に値を書き込むコマンドである。図5は、本発明の例示的実施形態による、外部コンピュータがフィールドバス装置に値を書き込むことを容易にする一例示的方法500のフローチャートである。方法500は、図1の制御システム100に関連付けられたコントローラ105等、制御システムに関連付けられた適切なコントローラによって行うことができる。方法はブロック505で開始することができる。
ブロック505で、図1に示すフィールドバス装置115等のフィールドバス装置に値を書き込むコマンドを、図1に示すワークステーション130の1つ等のヒューマンマシンインタフェース(HMI)コンピュータから受信することができる。コマンドは、上記で図1を参照して説明したネットワーク120と同様のネットワークを介して等、任意の数の適切なネットワークおよび/またはネットワーク接続を介して受信することができる。また、受信したコマンドは、フィールドバスプロトコル以外のプロトコルに従ってフォーマットされていてよい。例えば、特定の実施形態では、受信されるコマンドは、EGDプロトコルまたは別の適切なプロトコルに従ってフォーマットされている場合がある。
ブロック510で、受信した書き込みコマンドに関連付けられた変数またはパラメータを識別することができる。例えば、値を書き込むことが要求される変数またはパラメータを識別することができる。ブロック515で、その変数に基づいてフィールドバス装置115が識別されるかどうかについて判定を行うことができる。例えば、変数を利用して、フィールドバス装置115a〜nに関連付けられた変数の参照表またはデータベースを検索またはアクセスし、一致が見つかった場合はその変数がフィールドバス装置115に関連付けられていると判定することができる。ブロック515でその変数で識別される、またはその変数に関連付けられたフィールドバス装置がないと判定される場合は、動作は終了することができる。一方、ブロック515でその変数でフィールドバス装置115が識別される、または変数にフィールドバス装置115が関連付けられていると判定された場合は、動作はブロック520に進むことができる。
ブロック520で、識別された変数への書き込みが可能または許可されるかどうかについて判定を行うことができる。特定の実施形態では、HMIコンピュータが識別された変数に値を書き込む許可またはアクセス権を有するかどうかを判定することができる。例えば、識別された変数への書き込みが可能である、または許可されるかどうかを判定するために、書き込みの許可および/またはアクセス権に関連する記憶情報を調べることができる。ブロック520で識別された変数への書き込みが許可されないと判定される場合は、動作は終了することができる。一方、ブロック520で変数への書き込みが許可されると判定された場合は、動作はブロック525に進むことができる。
ブロック525で、フィールドバスプロトコルを使用して、変数に対する第2の書き込みコマンドを生成することができる。必要に応じて、第2の書き込みコマンドの生成は、HMIコンピュータから受信したコマンドに基づくことができる。例えば、受信した書き込みコマンドに含まれる情報を利用してフィールドバス書き込みコマンドを生成することができる。また、必要に応じて、識別された変数またはパラメータに関連付けられた記憶情報、例えばフィールドバス装置115の識別子、および/または変数の値が記憶されているフィールドバス装置115の記憶場所もしくはメモリアドレスを利用してフィールドバス書き込みコマンドを生成することができる。この点で、HMIコンピュータから受信したコマンドをフィールドバスプロトコルに従ってフォーマットされたコマンドに変換または翻訳することができる。
ブロック530で、生成したフィールドバス書き込みコマンドをフィールドバス装置115に通信するために出力することができる。例えば、フィールドバス書き込みコマンドは直接フィールドバス装置115に通信することができる。別の例として、フィールドバスコマンドは、リンク装置110に通信してフィールドバス装置115に送達することもできる。
本発明の実施形態は、HMIコンピュータがフィールドバス装置115に関連する多種多様な変数またはパラメータに値を書き込むことを容易にすることができる。例えば、本発明の実施形態は、フィールドバス装置115に関連する動作モード(operating mode or operational mode)に値を書き込むことを容易にすることができる。この点で、HMIコンピュータを利用してフィールドバス装置115の動作モードを設定することができる。例えば、動作モードは、手動動作モード、運転休止の動作モード、自動動作モード、または他の適切な動作モードの1つに設定することができる。
本発明の特定実施形態では必須でない場合もあるブロック535で、フィールドバス装置115の動作に関連する情報をコントローラ105で受信することができる。例えば、測定データ、ならびに/またはフィールドバス装置115の1つまたは複数の変数および/もしくパラメータの値に関連するデータを受信することができる。受信した情報は、フィールドバスプロトコルに従ってフォーマットされている場合もある。
本発明の特定の実施形態では必須でない場合もあるブロック540で、受信した情報の少なくとも一部分を利用してHMIコンピュータに出力するメッセージを生成することができる。例えば、書き込まれた更新後の変数値を含むメッセージを生成することができる。生成されるメッセージは、EGDプロトコル等、フィールドバスプロトコル以外のプロトコルに従ってフォーマットすることができる。生成されると、ブロック545でHMIコンピュータに通信するため、および/またはHMIコンピュータのユーザに提示するためにメッセージを出力することができる。この点で、コントローラ105は、フィールドバス装置115とHMIコンピュータ間の通信を容易にするゲートウェイ装置として機能することができる。
フィールドバス装置115からHMIコンピュータへの通信は、図5ではフィールドバス装置に関連付けられた変数に書き込みを行った後に行われるものと説明するが、本発明の特定の実施形態では、それに代えて、またはそれに加えて、変数値に関連する情報および/または測定データは、フィールドバス装置115に値を書き込むコマンドを受信する前にHMIコンピュータに通信してもよい。
ブロック515、520、または545のいずれかの後に方法は終了することができる。
図4および図5の方法400、500に説明する動作は必ずしも図4および図5に示す順序で行う必要はなく、代わりに任意の適切な順序で行ってよい。また、本発明の特定の実施形態では、図4および図5に示すすべての要素または動作よりも多い、または少ない要素または動作を行ってよい。
図4および図5の方法400、500では、フィールドバス装置115a〜nに対するコマンドの受信を説明するが、必要に応じて同様の動作を行って1つまたは複数のリンク装置110a〜nに対するコマンドを受信および処理することができる。
フィールドバス装置の識別
図6は、本発明の例示的実施形態による、制御システム内のフィールドバス装置を識別する一例示的方法600のフローチャートである。方法600は、図1の制御システム100に関連付けられたコントローラ105等、制御システムに関連付けられた適切なコントローラによって行うことができる。方法はブロック605で開始することができる。
ブロック605で、リンク装置110a〜nやフィールドバス装置115a〜n等、1つまたは複数のリンク装置および/またはそれに関連付けられたフィールドバス装置を制御システム100に接続する、かつ/または初期化することができる。例えば、H1装置等の任意の数のフィールドバス装置115a〜nを適切なフィールドバスデータバスおよび/または他の適切なネットワーク接続を介してリンク装置110に接続することができる。そして、リンク装置110(適切なH1/HSE装置であってよい)を任意の数の適切なネットワーク接続を介して制御システム100の中央コントローラ105に接続することができる。リンク装置110a〜nがコントローラ105に接続されると、各リンク装置110a〜nは、通告メッセージまたはステータスメッセージを周期的にコントローラ105に通信することができる。必要に応じて、通告メッセージを通信する期間を各種のユーザパラメータで設定することができ、本発明の各種実施形態により多種多様なタイマ期間を利用することができる。そのメッセージを利用して、コントローラ105に接続されたリンク装置110a〜nおよびフィールドバス装置115a〜nのリストを生成および/または動的に更新することができる。
ブロック610で、コントローラ105に接続された1つまたは複数のリンク装置110a〜nの群から次のリンク装置110を選択することができる。例えば、次のリンク装置110は、コントローラ105に各自の通告メッセージを通信した1つまたは複数のリンク装置110a〜nの群から選択することができる。ブロック615で、選択されたリンク装置110から受信した通告メッセージを識別することができる。特定の実施形態では、識別された通告メッセージは、下記で図7を参照してより詳細に説明するように、後に、接続されたフィールドバス装置115a〜nの変化を検出する際に使用するために記憶しておくことができる。
選択されたリンク装置110について受信した通告メッセージは、そのリンク装置110の1つまたは複数のセグメントに関連する多種多様な情報を含むことができる。各セグメントは、リンク装置110と任意の数のフィールドバス装置115a〜nの間の通信を容易にするリンク装置110の岐路または通信岐路とすることができる。例えば、各セグメントは、リンク装置110と各種フィールドバス装置115a〜nの間の通信を容易にするフィールドバスデータバスまたはローカルネットワークに接続することができる。特定の実施形態では、1つのリンク装置110が4つのセグメントを含むことができるが、リンク装置は任意の数のセグメントを備えてよい。通告メッセージは、リンク装置のセグメントに関連する多種多様な情報を含むことができる。例えば、通告メッセージは、各セグメントのバージョン番号または他の識別子を含むことができる。特定の実施形態では、バージョン番号は、セグメント、そのセグメントが使用中であるかどうかの指示、そのセグメントに接続されたフィールドバス装置があるかどうかの指示、接続されたフィールドバス装置の数、および/または必要に応じて他の情報を識別することができる。
ブロック620で、リンク装置110に関連付けられたアクティブなセグメントを識別するために、受信した通告メッセージを構文解析するか、または他の方法で解析することができる。そして、セグメントに接続された個々のフィールドバス装置を識別または判定するために、識別された各セグメントを解析することができる。ブロック625で、選択されたリンク装置110の次のセグメントを識別および選択することができる。そして、ブロック630で、選択されたセグメントに対する照会メッセージを生成することができる。生成した照会メッセージで、そのセグメントに接続されたフィールドバス装置115a〜nに関連する情報を要求することができる。本発明の各種実施形態では、フィールドバス装置115a〜nの識別子および/またはバージョン番号等、必要に応じて多様な情報を要求することができる。あるいは、照会メッセージは、そのセグメントに接続されたフィールドバス装置に関連する情報を含む、当該セグメントについての標準化されたステータスメッセージを要求することもできる。生成されると、照会メッセージをセグメントに通信することができる。
ブロック635で、照会メッセージに対する応答を受信することができる。応答は、当該セグメントに接続されたフィールドバス装置115a〜nを識別するメッセージを含むことができる。特定の実施形態では、応答は、セグメントの識別情報、接続された各フィールドバス装置115の識別子、フィールドバス装置115がアクティブであるかどうかの指示、および/またはフィールドバス装置115に関連する他の適切な情報を含むことができる。必要に応じて、セグメントに接続された1つまたは複数のフィールドバス装置115a〜nを識別するために、受信したメッセージを構文解析するか、または他の方法で解析することができる。そして、フィールドバス装置115に関連する追加的な情報を得るために、識別された各フィールドバス装置115を解析することができる。
ブロック640で、次のフィールドバス装置115を識別および/または選択することができる。そして、ブロック645で、選択されたフィールドバス装置115に対する装置照会メッセージを生成することができる。生成した装置照会メッセージは、各種実施形態で必要に応じてフィールドバス装置115の多種多様な情報を要求することができ、それらの情報には、これらに限定されないが、装置識別子、装置115のユーザタグ、製造者識別子、装置のタイプ、装置の改定識別子、装置の記述の改定、1つまたは複数の機能ブロック改定、および/または他の適切な情報が含まれる。生成されると、装置照会メッセージをフィールドバス装置115に送信、または他の方法で通信することができる。例えば、装置照会メッセージをリンク装置110に通信することができ、リンク装置110が装置照会メッセージをフィールドバス装置115に通信することができる。
ブロック650で、装置照会メッセージに対する応答を受信することができる。受信される応答メッセージは、フィールドバス装置115で生成することができ、上記でブロック645を参照して説明した情報の一部またはすべて等、フィールドバス装置115に関連する多種多様な情報を含むことができる。この点で、フィールドバス装置115および/またはその動作に関連する正確な情報をコントローラ105によって収集することができる。
ブロック655で、選択されたフィールドバス装置115が、選択されたセグメントに接続された最後のフィールドバス装置であるかどうかについて判定を行うことができる。ブロック655でフィールドバス装置115がセグメントに接続された最後の装置ではないと判定された場合、動作はブロック640に進むことができ、次のフィールドバス装置を処理のために識別または選択することができる。この点で、当該セグメントに接続された各フィールドバス装置に関連する情報をコントローラ105によって収集または他の方法で取得することができる。一方、ブロック655で選択されたフィールドバス装置115がセグメントに接続された最後のフィールドバス装置であると判定された場合は、動作はブロック660に進むことができる。
ブロック660で、選択されたセグメントが選択されたリンク装置110の最後のアクティブなセグメントであるかどうかについて判定を行うことができる。ブロック660でセグメントが最後のセグメントでないと判定された場合は、動作はブロック625に進み、次のセグメントを処理のために識別または選択することができる。この点で、リンク装置の各セグメントに関連する情報をコントローラ105によって収集または他の方法で入手することができる。一方、ブロック660で選択されたセグメントがリンク装置の最後のセグメントであると判定された場合は、動作はブロック665に進むことができる。
ブロック665で、選択されたリンク装置110がコントローラ105に接続された最後のリンク装置であるかどうかについて判定を行うことができる。ブロック665でリンク装置110が最後のリンク装置ではないと判定された場合は、動作はブロック610に進むことができ、次のリンク装置を処理のために識別または選択することができる。この点で、接続された各リンク装置110a〜nに関連する情報をコントローラ105によって収集または他の方法で入手することができる。一方、ブロック665で選択されたリンク装置110が最後のリンク装置であると判定された場合は、動作はブロック670に進むことができる。
ブロック670で、制御システム100に接続された、かつ/または制御システム100内で機能しているフィールドバス装置115a〜nのリストを作成または生成することができる。生成されるリストには、各リンク装置110a〜n、セグメント、および/またはフィールドバス装置115a〜nの識別情報および/または動作情報等の多種多様な情報を含めることができる。特定の実施形態では、1つまたは複数のグラフィカルユーザインタフェース等、生成したリストに関連付けられた1つまたは複数のプレゼンテーションを作成または生成することができる。プレゼンテーションは、接続されたフィールドバス装置115a〜nおよび/またはそれらの動作の視覚的表現を提供することができる。必要に応じて、多様な種々の技術および/またはレイアウトを利用してプレゼンテーションをフォーマットすることができる。プレゼンテーションレイアウトの一例については図8を参照して下記でより詳細に説明する。
必要に応じて、生成したリストおよび/またはプレゼンテーションは、コントローラ105から、図1に示す1つまたは複数のワークステーションコンピュータ130等の1つまたは複数の受信者に送信または他の方法で通信することができる。特定の実施形態では、生成したリストおよび/またはプレゼンテーションは、制御システム100に関連付けられたプロトコルに従って通信することができる。この点で、制御システム100の操作者に、接続されたフィールドバス装置115a〜nに関連する情報を提供することができる。したがって、操作者は、フィールドバス装置115a〜nの1つまたは複数を適正に、または正確に割り当てることができる。また、操作者は、フィールドバス装置115a〜nに任意の数の診断を行い、かつ/またはフィールドバス装置115a〜nが適正に動作しているかどうかを判定することができる。
方法600は、ブロック670の後終了することができる。
図6に示す方法600は、リンク装置を処理し、様々なリンク装置セグメントおよび/またはそのセグメントに接続されたフィールドバス装置に関連する情報を収集するための反復的方法を記載するが、特定の実施形態では、1つまたは複数のリンク装置、セグメント、および/またはフィールドバス装置を並行して処理してよい。例えば、1つのリンク装置の複数セグメントについての照会メッセージを並行して生成および/または通信することができる。別の例として、1つのセグメントに接続された複数のフィールドバス装置に対する装置照会メッセージを並行して生成および/または通信してもよい。
図7は、本発明の例示的実施形態による、制御システム内のフィールドバス装置のリストを更新するための一例示的方法のフローチャートである。方法700は、図1の制御システム100に関連付けられたコントローラ105等、制御システムに関連付けられた適切なコントローラによって行うことができる。方法700は、ブロック705で開始することができる。
ブロック705で、リンク装置110から通告メッセージまたはステータスメッセージを受信すべき時点を特定することができる。特定の実施形態では、リンク装置から周期的に出力される通告メッセージを受信するためのタイミング閾値を特定することができる。リンク装置110から最後の通告メッセージが受信されたタイミングおよびタイミング閾値に基づいて、続く通告メッセージが受信されるべき時点を求めることができる。必要に応じて、特定される時点は、送信遅延、接続性制約のエラー、および/またはメッセージを出力するリンク装置の障害等、通告メッセージの受信において一定量の誤差を許してよい。特定の実施形態では、コントローラ105は、代わりに、リンク装置110に通告メッセージを要求し、応答が受信されるかどうかを判定するように構成してもよい。
ブロック710で、予期される通告メッセージがリンク装置110から受信されたかどうかについて判定を行うことができる。ブロック710で通告メッセージが受信されていないと判定される場合は、動作はブロック715に進み、リンク装置110がもはやコントローラ105および/または制御システム100に接続されていないと判定することができる。そして、下記でより詳細に説明するブロック780に動作が進むことができ、制御システム100に接続されたフィールドバス装置115a〜nに関連付けられたリストおよび/またはプレゼンテーションを更新することができる。
一方、ブロック710でリンク装置110から通告メッセージが受信されたと判定された場合は、動作はブロック720に進むことができる。ブロック720で、受信した通告メッセージに含まれる情報を、以前にリンク装置110から受信した通告メッセージについての記憶情報と比較することができる。比較に基づいて、リンク装置110のセグメントに関連する情報が変化しているかどうかについて判定を行うことができる。例えば、受信した通告メッセージと記憶されている通告との間に相違がある場合は、リンク装置110の1つまたは複数のセグメントについての情報が変化したと判定することができる。ブロック725で、受信した通告メッセージと以前に受信された通告メッセージについて記憶された情報との間に相違があるかどうかを判定することができる。ブロック725で相違が識別されない場合は、動作はブロック730に進むことができ、リンク装置110に接続されたフィールドバス装置のリストに更新は必要ないと判定することができる。方法はブロック730の後終了することができる。
一方、ブロック725で相違が識別される場合は、動作はブロック735に進むことができる。ブロック735で、変化が発生したセグメントを識別することができる。例えば、各セグメントのバージョン番号を、記憶されている各セグメントの各自のバージョン番号と比較することができる。通告メッセージで受け取られたバージョン番号と記憶された個々のバージョンの間に相違を識別することにより、変化したセグメントを識別することができる。ブロック735では単一のセグメント内の変化の識別を説明するが、2つ以上のセグメント内で同様に変化を識別してもよい。また、バージョン番号または通告メッセージに含まれる他の情報を利用して、リンク装置110に関連付けられた、新たに作動状態にされたセグメントを識別してもよい。
ブロック740で、図6のブロック630を参照して上述したのと同様にして、照会メッセージを生成し、識別されたセグメントに通信することができる。次いで、ブロック745で、通信した照会メッセージに対する応答が受信されるかどうかについて判定を行うことができる。例えば、タイミング閾値または所定の期間内に応答が受信されるかどうかについて判定を行うことができる。ブロック745で応答が受信されないと判定される場合は、動作はブロック750に進むことができ、そのセグメントがもはやアクティブでない、かつ/またはリンク装置110を介してコントローラ105に接続されていないと判定することができる。次いで、下記でより詳細に説明するブロック780に動作が進むことができ、制御システム100に接続されたフィールドバス装置115a〜nに関連付けられたリストおよび/またはプレゼンテーションを更新することができる。
一方、ブロック745で照会メッセージに対する応答が受信されたと判定される場合は、動作はブロック755に進むことができる。ブロック755で、受信した応答を、図6のブロック650の後に記憶された応答等、当該セグメントについて以前に受信された応答に関連付けられた記憶情報と比較することができる。ブロック755の比較に基づいて、変化が発生したフィールドバス装置115を識別することができる。例えば、変更されたフィールドバス装置115は、受信した照会応答と、当該セグメントについて記憶された個々の照会応答との相違を識別することによって識別することができる。ブロック755では単一のフィールドバス装置内の変化の識別を説明するが、同様にして2つ以上のフィールドバス装置内で変化を識別してもよい。また、新たに作動状態にされた、または接続されたフィールドバス装置を同様にして識別することもできる。
ブロック760で、図6のブロック645を参照して上記で説明したのと同様にして、識別されたフィールドバス装置115に対する装置照会メッセージを生成し、フィールドバス装置115に通信することができる。次いで、ブロック765で、通信した装置照会メッセージに対する応答が受信されるかどうかについて判定を行うことができる。例えば、タイミング閾値または所定の期間内に応答が受信されるかどうかについて判定を行うことができる。ブロック765で応答が受信されないと判定される場合は、動作はブロック770に進むことができ、フィールドバス装置115がもはやアクティブでない、かつ/またはリンク装置110を介してコントローラ105に接続されていないと判定することができる。次いで、下記でより詳細に説明するブロック780に動作が進むことができ、制御システム100に接続されたフィールドバス装置115a〜nに関連付けられたリストおよび/またはプレゼンテーションを更新することができる。
一方、ブロック765で装置照会メッセージに対する応答が受信されたと判定される場合は、動作はブロック775に進むことができる。ブロック775で、受信した応答を解析、かつ/または他の方法で利用してフィールドバス装置115に関連する情報を識別することができる。この点で、フィールドバス装置115の動作の変化を識別することができる。次いで動作はブロック780に進むことができる。
ブロック780で、制御システム100に接続されたフィールドバス装置115a〜nに関連付けられたリストおよび/またはプレゼンテーションを更新することができる。例えば、新たに接続されたフィールドバス装置および/または新たに切断されたフィールドバス装置を識別することができる。リンク装置またはセグメントが切断されたと識別され(かつ、冗長なリンク装置および/またはセグメントが利用できない)場合は、そのリンク装置またはセグメントに接続された各フィールドバス装置はもはや接続されていないと判定することができる。また、1つまたは複数のフィールドバス装置の動作の変化を識別することができる。識別された変化に基づいて、図6のブロック670で当初生成されたリスト等、フィールドバス装置のリストおよび/またはプレゼンテーションを更新または改定することができる。この点で、接続されたフィールドバス装置の比較的正確なリストを動的に維持することができる。
必要に応じて、更新されたリストおよび/またはプレゼンテーションを、図1に示すワークステーションコンピュータ130等の1つまたは複数の受信者に通信することができる。特定の実施形態では、変化が識別された時に、更新された情報を受信者に通信することができる。他の実施形態では、変化が発生した旨の指示を受信者に通信することができ、その後、更新された情報を求める要求の受信に基づいて、更新情報を受信者に通信することができる。さらに他の実施形態では、更新された情報を周期的に受信者に通信するか、または更新情報を求める要求の受信に基づいて通信することができる。
方法700は、ブロック715、730、750、または770のいずれかの後に終了することができる。
図7の方法700は単一のリンク装置110に対する動作を説明するが、コントローラ105に接続された他のリンク装置110a〜nに対して必要に応じて同様の動作を行うことができる。この点で、コントローラ105に接続されたフィールドバス装置115a〜nのリストを動的に判定し、更新することができる。また、特定の実施形態では、新しいリンク装置から通告メッセージを受信することができ、そのリンク装置に関連付けられたセグメントおよびフィールドバス装置のリストを判定し、利用して、制御システム100内に接続されたリンク装置115a〜nの以前に生成されたリストを更新することができる。
図6および図7の方法600、700で説明する動作は、必ずしも図6および図7に示す順序で行う必要はなく、代わりに任意の適切な順序で行ってよい。また、本発明の特定実施形態では、図6および図7に示すすべての要素または動作よりも多い、または少ない要素または動作を行ってよい。
図8は、本発明の各種実施形態により生成することができる、接続されたフィールドバス装置のプレゼンテーション800の一例の図である。図8に示すように、生成されるプレゼンテーション800は、コントローラ105に接続され、かつ/または制御システム100内に接続されたリンク装置110a〜n、セグメント、および/またはフィールドバス装置115a〜nを表す、ライブリスト、または動的に生成されるリスト、またはグラフィックプレゼンテーションとすることができる。
図8を参照すると、例示的プレゼンテーション800は、コントローラ105に接続された3つのリンク装置を示す。第1のリンク装置には2つのフィールドバス装置が接続され、第2のリンク装置には3つのフィールドバス装置が接続され、第3のリンク装置には2つのフィールドバス装置が接続されている。図8の例示的プレゼンテーション800を利用することにより、ワークステーションのユーザ(例えば制御システム100の操作者)は、接続されたリンク装置110a〜nおよび/またはフィールドバス装置115a〜nを識別することができる。この点で、ユーザは、各種のフィールドバス装置115a〜nを割り当てる、かつ/または制御システム100に関連する各種診断を行うことができる。
図8に示すプレゼンテーション800は単なる例として提供する。本発明の各種実施形態で必要に応じて、多種多様なプレゼンテーションを生成する、かつ/または受信側システムもしくは装置に提供することができる。それらのプレゼンテーションは、多種多様なレイアウトを利用する、かつ/または多種多様な情報を含むことができる。
冗長なリンク装置
本発明の特定実施形態では、フィールドバス装置と、図1に示すコントローラ105等の外部コントローラの間の通信を容易にするために複数の冗長なリンク装置を備えることができる。例えば、主要リンク装置および副リンク装置を備えることができる。主要リンク装置は、コントローラ105とのネットワーク接続性が失われたことを検出し、副リンク装置への通信制御の切り替えまたは移行を指示することができる。特定の実施形態では、副リンク装置と外部コントローラの間にネットワーク接続性が存在すると追加的に判定したことに基づいて切り替えを指示することができる。特定の実施形態で必要とされるように、副リンク装置は、移行後に主要装置として設定することができる。
図9は、本発明の各種実施形態により利用することが可能な制御システム900の一例のブロック図である。制御システム900は、1つまたは複数のコントローラ905(例えば中央コントローラ)および/もしくは制御装置、第1のリンク装置910、第2のリンク装置912、ならびに/または1つまたは複数のフィールドバス装置915a〜nを含むことができる。コントローラ905は、1つまたは複数の適切なネットワーク920または通信バスを介してリンク装置910、912と通信することができる。また、リンク装置910、912は、1つまたは複数の適切なバス925またはネットワークを介してフィールドバス装置915a〜nと通信することができる。
必要に応じて、第1のリンク装置910および第2のリンク装置912を含む任意の数のリンク装置を制御システム900との関連で利用することができる。各リンク装置は、図1を参照して上述したリンク装置110と同様であってよい。本発明の一態様によれば、リンク装置910、912は、コントローラ905とフィールドバス装置915a〜nの間に冗長な通信能力および/または接続性を提供することができる。例えば、第1のリンク装置910または主要リンク装置は、コントローラ905と、主要リンク装置910に接続されたフィールドバス装置915a〜nの間の通信を制御することができる。コントローラ905とのネットワーク接続性が失われたと主要リンク装置910が判定したことに基づいて、主要リンク装置910は、第2のリンク装置912または副リンク装置に通信制御を移行するように構成することができる。特定の実施形態では、通信制御の移行は、さらに、副リンク装置910とコントローラ905の間になおネットワーク接続性が存在していると主要リンク装置910が判定したことに基づくことができる。
動作時、主要リンク装置910等のリンク装置は、コントローラ905に通信するために、タイミングメッセージ、マルチキャストメッセージ等のメッセージを送信または出力するように構成することができる。例えば、所定または事前に設定された時間間隔に従って、タイミングメッセージまたはマルチキャストメッセージを周期的に出力することができる。本発明の各種実施形態で、必要に応じて、およそ500ミリ秒の時間間隔等、多種多様な時間間隔を利用することができる。特定の実施形態では、時間間隔は、コントローラ905、またはリンク装置910のユーザによって設定または確立することができる。特定の実施形態で必要とされるように、主要リンク装置910は、第2のタイミングメッセージを出力するように副リンク装置912に指示してもよい。あるいは、副リンク装置912は、主要リンク装置910と同様にして第2のタイミングメッセージを周期的に出力するように構成してもよい。
タイミングメッセージの出力後、主要リンク装置910は、メッセージに対する応答がコントローラ905から受信されるかどうかを判定することができる。例えば、リンク装置910は、特定のタイミング閾値期間内、またはメッセージが出力された時にリンク装置910によって開始されるタイマが満了する前に応答が受信されるかどうかを判定することができる。本発明の各種実施形態で、必要に応じて、多種多様なタイミング閾値および/または初期タイマ値を利用することができる。応答が受信されたと判定された場合は、リンク装置910は、自身の現在の動作状態を維持することができる。一方、応答が受信されないと判定された場合は、主要リンク装置910は、副リンク装置912への通信制御の切り替えまたは移行を指示することができる。必要に応じて、主要リンク装置910は、移行を開始または指示する前に、副リンク装置912とコントローラ905の間にネットワーク接続性が存在するかどうかを判定することができる。例えば、主要リンク装置910は、副リンク装置912が副リンク装置912から出力された第2のタイミングメッセージに対する応答をコントローラ905から受信したかどうかを判定するために、副リンク装置912を照会することができる。照会への応答に基づいて、主要リンク装置910は、第2のタイミングメッセージが副リンク装置912から出力されたかどうか、および/または第2のタイミングメッセージに対する応答が受信されたかどうかを判定することができる。第2のタイミングメッセージに対する応答が副リンク装置912に受信されなかったと判定された場合は、主要リンク装置910は移行を行わなくてよく、必要に応じて、エラーメッセージを生成するか、またはネットワーク接続性が失われたことを知らせるために何らかの他の制御動作を取ることができる。一方、第2のタイミングメッセージに対する応答が副リンク装置912に受信されたと判定された場合は、主要リンク装置910は、副リンク装置912への通信制御の移行を指示することができる。例えば、副リンク装置912を新しい主要リンク装置に指定することができる。この点で、主要リンク装置910とのネットワーク接続性が失われた場合でも、コントローラ905とフィールドバス装置915a〜n間のネットワーク接続性を維持することができる。
引き続き図9を参照すると、任意の数のフィールドバス装置115a〜nを制御システム900との関連で利用することができる。特定の実施形態では、各フィールドバス装置(装置915と総称する)は、ローカルフィールドバスネットワークまたはデータバス925を介して1つまたは複数のリンク装置910、912と通信することができる。この点で、フィールドバス装置915とコントローラ905間の通信をリンク装置910、912の1つまたは複数によって容易にすることができる。本発明の各種実施形態では、任意の数のH1フィールドバス装置および/または他の適切な装置を含む、多種多様な種類のフィールドバス装置を必要に応じて利用することができる。特定の実施形態では、フィールドバス装置915a〜nは、発電所またはプロセスプラント内の異なる箇所に分散または配置することができる。この点で、フィールドバス装置915a〜nを利用してプラントの各種側面および/または動作を監視および/または制御することができる。特定実施形態では、リンク装置910、912とフィールドバス装置915a〜n間の通信は、フィールドバスプロトコルを使用して容易にすることができる。
引き続き図9を参照すると、1つまたは複数の図のネットワーク920は、リンク装置910、912とコントローラ905間の通信を容易にする任意の適切なネットワークまたはネットワークの組み合わせを含むことができる。同様に、フィールドバスデータバス925またはネットワークは、リンク装置910、912と、リンク装置910、912に接続されたフィールドバス装置915a〜nとの間の通信を容易にする任意の数の適切なデータバスおよび/またはローカルエリアネットワークを含むことができる。適切なネットワークおよび/またはデータバスの例には、これらに限定されないが、ローカルエリアネットワーク、ワイドエリアネットワーク、インターネット、無線周波(RF)ネットワーク、Bluetooth(商標)対応ネットワーク、任意の適切な有線ネットワーク、任意の適切なワイヤレスネットワーク、または有線ネットワークとワイヤレスネットワークの任意の適切な組み合わせが含まれる。イーサネット(商標)ネットワークを利用する実施形態等の本発明の特定実施形態では、1つまたは複数のイーサネット(商標)スイッチを備えることができる。イーサネット(商標)スイッチは、ネットワーク920内でデータをルーティングすることができる。各イーサネット(商標)スイッチは、ネットワーク920内のデータのルーティングを容易にするように動作することが可能なハードウェアおよび/またはソフトウェアコンポーネントを含むことができる。適切なイーサネット(商標)スイッチの例には、これらに限定されないが、ネットワークブリッジ、マルチレイヤスイッチ等が含まれる。
引き続き図9を参照すると、制御システム900は、中央コントローラ等のコントローラ905を含むことができる。適切なコントローラのいくつかの例は、General Electric Company製造のMark(商標)VI制御システムおよびMark(商標)Vie制御システムである。コントローラ905は、制御システム900の他のコンポーネントおよび/または制御システム900で制御されるプラントもしくはシステムのコンポーネントと通信する、かつ/またはそれらを制御するように構成することができる。また、コントローラ905は、フィールドバス装置915a〜nおよび/またはリンク装置910、912の動作に関連するデータを受信して、受信したデータの少なくとも一部分を処理する、かつ/または、リンク装置910、912および/またはフィールドバス装置915a〜nに受信されるように1つまたは複数の制御信号もしくは他のメッセージを出力するように構成することができる。コントローラ905は、図1のコントローラ105を参照して上記で説明したものと同様のコンポーネントを含むことができる。そのため、コントローラ905は、任意の数のプロセッサ940、メモリ装置941、および/またはネットワークインタフェース装置942を含むことができる。メモリ装置941は、データファイル945、オペレーティングシステム946、制御モジュール947、フィールドバスHSEプロトコル950、および/または制御システムプロトコル951等、多種多様なデータを記憶することができる。これらの各コンポーネントは、図1を参照して上記で説明したのと同様にして機能することができる。
引き続き図9を参照すると、主要リンク装置910は、リンク装置910の動作および/または副リンク装置912への切り替えもしくは移行を容易にする、任意の数のプロセッサ駆動型装置、および/または処理コンポーネントを含むことができる。例えば、主要リンク装置910は、任意の数の専用処理コンポーネント、コンピューティング装置、特定の機械、特定用途向け回路、プログラマブルロジックコントローラ(PLC)、マイクロコントローラ、ミニコンピュータ等を含むことができる。特定の実施形態では、主要リンク装置910の動作は、主要リンク装置910に関連付けられた1つまたは複数のプロセッサまたは処理コンポーネントで実行される、コンピュータ実行命令またはコンピュータ実装命令で制御することができる。命令は、本発明の各種実施形態で必要に応じて1つまたは複数のソフトウェアコンポーネントとして実施することができる。命令の実行で、主要リンク装置910の動作を制御するように、かつ/または副リンク装置912への切り替えもしくは移行を容易にするように動作することが可能な専用コンピュータまたは他の特定の機械を形成することができる。主要リンク装置910の動作を制御する1つまたは複数の処理コンポーネントは、主要リンク装置910に組み込むか、かつ/または1つまたは複数の適切なネットワークを介して主要リンク装置910と通信状態にすることができる。本発明の特定の実施形態では、主要リンク装置910の動作および/または制御は、数個の処理コンポーネントに分散することができる。
主要リンク装置910は、1つまたは複数のプロセッサ952、1つまたは複数のメモリ装置953、および1つまたは複数のネットワークインタフェース装置954もしくは通信インタフェース装置を含むことができる。1つまたは複数のメモリ装置953は、任意の適切なメモリ装置、例えばキャッシュ、読み取り専用メモリ装置、ランダムアクセスメモリ装置、磁気記憶装置等とすることができる。1つまたは複数のメモリ装置953は、主要リンク装置910で利用されるデータ、例えば、主要リンク装置910の動作に関連するデータ955、コントローラ905に関連するデータ、フィールドバス装置915a〜nに関連するデータ、タイミングメッセージの出力に関連するデータ等を記憶することができる。また、1つまたは複数のメモリ装置953は、実行可能命令、および/または、オペレーティングシステム956や切り替えモジュール957等、主要リンク装置910によって利用される各種プログラムモジュールを記憶することができる。また、必要に応じて、メモリ953は、コントローラ905やフィールドバス装置915a〜n等の制御システム900の他コンポーネントとの通信を容易にするフィールドバスプロトコルまたはHSEプロトコルを記憶するように動作可能とすることができる。オペレーティングシステム(OS)956は、本発明の特定実施形態では必須でない場合もあるが、主要リンク装置910の全般的な動作を容易にする、かつ/または制御する実行可能命令および/またはプログラムモジュールを含むことができる。例えば、OS956は、プロセッサ952による他のソフトウェアプログラムおよび/またはプログラムモジュールの実行を容易にすることができる。
切り替えモジュール957は、タイミングメッセージまたはマルチキャストメッセージが主要リンク装置910、および必要に応じて副リンク装置112から出力される特定の時間または時点の判定または特定を容易にすることができる。例えば、切り替えモジュール957は、タイミングメッセージを出力する所定の時間間隔(例えば500ミリ秒)を判定することができ、切り替えモジュール957は、タイミングメッセージが出力される時点を決定するために、その時間間隔をリンク装置のクロック信号と併せて利用することができる。そして切り替えモジュール957は、コントローラ905に通信するために、主要リンク装置910および必要に応じて副リンク装置912からタイミングメッセージを出力するように指示することができる。そして、切り替えモジュール957は、出力されたタイミングメッセージに対する応答が主要リンク装置910および/または副リンク装置912で受信されるかどうかを判定することができる。それらの判定については上記でより詳細に説明し、下記では続いて図10を参照して説明するが、それらの判定に基づいて、切り替えモジュール957は、通信制御を副リンク装置912に切り替えるべきかどうかを判定することができる。移行を行うべきと判定された場合、切り替えモジュール957は、切り替えまたは移行を指示することができる。
切り替えモジュール957、967によって行うことが可能な動作の例は下記で図10を参照してより詳細に説明する。
引き続き主要リンク装置910を参照すると、ネットワークインタフェース装置954は、ネットワーク920および/またはフィールドバスバス925への主要リンク装置910の接続を容易にすることができる。ネットワークインタフェース装置954は、任意の数の入出力カードおよび/またはネットワーク通信を容易にする他の装置を含むことができる。
引き続き図9を参照すると、副リンク装置912は、主要リンク装置910と同様のコンポーネントを含むことができる。例えば、副リンク装置912は、1つまたは複数のプロセッサ960もしくは処理コンポーネント、1つまたは複数のメモリ装置961、および/または1つまたは複数のネットワークインタフェース装置962もしくは通信インタフェース装置を含むことができる。これら各コンポーネントは、主要リンク装置910の対応するコンポーネントと同様に動作することができる。例えば、メモリ装置961は、主要リンク装置910の対応する要素と同様のデータファイル965、オペレーティングシステム966、および/または切り替えモジュール967を記憶するように構成することができる。
動作時、副リンク装置912は、コントローラ905に受信されるタイミングメッセージまたはマルチキャストメッセージを出力するように構成またはプログラムすることができる。特定の実施形態では、メッセージは、主要リンク装置910に関して上記で説明したのと同様に周期的に出力することができる。他の実施形態では、メッセージは、主要リンク装置910からの指示で出力することができる。そして、副リンク装置912は、主要リンク装置910に関して上記で説明したのと同様に、タイミングメッセージに対する応答がコントローラ905から受信されたかどうかを判定することができる。この判定に基づいて、副リンク装置912は、応答が受信されたかどうかの指示を記憶することができる。副リンク装置912はさらに、副リンク装置912がタイミングメッセージへの応答を受信したかどうかに関連する照会メッセージを主要リンク装置910から受信するように構成することができ、副リンク装置912は、照会メッセージに対して、応答が受信されたか否かの指示を主要リンク装置910に通信することができる。あるいは、特定実施形態では、副リンク装置912は、主要リンク装置910から照会メッセージを受信することなく、タイミングメッセージへの応答が受信されたかどうかの指示を出力してもよい。そして、主要リンク装置910は、副リンク装置912に通信制御を切り替えるべきかどうかを判定するために、受信した指示を利用することができる。
本発明の特定実施形態では、1つまたは複数のワークステーション930を備えることができる。必要に応じて、それらのワークステーション930は、制御システム900と制御システム900の1人または複数の操作者の間のヒューマンマシンインタフェース(HMI)を提供することができる。例えば、ワークステーション930は、制御システム900の動作に関連するユーザ入力および/またはユーザコマンドの受信を容易にすることができる。すなわち、ワークステーション930は、コントローラ905とのユーザ対話を容易にすることができる。また、ワークステーション930は、接続されたフィールドバス装置915a〜nに関連するプレゼンテーション等のデータをコントローラ905から受信するように構成することができる。ワークステーション930はさらに、受信したデータの少なくとも一部分を、モニタ等の適切な表示装置を介してユーザに表示するように構成することができる。ワークステーション930は、図1のワークステーション130について上述したコンポーネントと同様のコンポーネントを含むことができる。
必要に応じて、本発明の実施形態は、図9に示すコンポーネントよりも多い、または少ないコンポーネントを備える制御システム900を含むことができる。図9の制御システム900は、単なる例として提供する。
図10は、本発明の例示的実施形態による、少なくとも1つのフィールドバス装置と外部コントローラまたは外部制御システムとの間の通信を容易にする一例示的方法100のフローチャートである。方法1000は、図9に示す主要リンク装置910や副リンク装置912等の適切なリンク装置によって行うことができる。方法はブロック1005で開始することができる。
ブロック1005で、主要リンク装置910または第1のリンク装置を初期化することができる。主要リンク装置910は、図9に示すフィールドバス装置915a〜n等の任意の数のフィールドバス装置と、図9に示すコントローラ905等の外部コントローラとの間の通信を容易にすることができる。特定の実施形態で必要に応じて、副リンク装置912または第2のリンク装置もブロック1005で初期化してよい。副リンク装置912もフィールドバス装置915a〜nとコントローラ905の間の通信を容易にすることができる。例えば、副リンク装置912は、主要リンク装置910で提供される通信能力に加えて冗長な通信能力を提供することができる。
ブロック1010で、主要リンク装置910は、コントローラ905に通信するためにタイミングメッセージやマルチキャストメッセージ等のメッセージが主要リンク装置910から出力される特定の時間または時点を特定することができる。特定の実施形態では、主要リンク装置910は、周期的にタイミングメッセージを出力するように構成またはプログラムしてもよい。例えば、タイミングメッセージは、およそ500ミリ秒の間隔または他の適切な間隔等、所定の時間間隔に従って周期的に出力することができる。主要リンク装置910は、タイミングメッセージが出力される次の特定の時間または次の時点を特定するために所定の時間間隔を利用することができる。
ブロック1015で、主要リンク装置910は、コントローラ905に通信するため、またはコントローラ905に受信されるように、タイミングメッセージまたはマルチキャストメッセージを出力することができる。例えば、主要リンク装置910は、特定された特定の時間または時点に達したことを判定することができ、主要リンク装置910は、その判定に基づいてタイミングメッセージを出力することができる。本発明の特定実施形態では必須でない場合もあるブロック1020で、主要リンク装置910は、追加的に、コントローラ905に受信されるようにタイミングメッセージを出力するよう副リンク装置912に指示することができる。例えば、主要リンク装置910は、タイミングメッセージを出力する命令を副リンク装置912に通信することができる。あるいは、副リンク装置912は、主要リンク装置910に利用されるのと同様の方式で周期的にタイミングメッセージを出力するように構成してもよい。
ブロック1025で、主要リンク装置910は応答タイマを開始することができる。応答タイマは、主要リンク装置910とコントローラ905の間に適正なネットワーク接続性が確立されていることを知らせるために、出力されたタイミングメッセージへの応答がコントローラ905から受信されるべき期間を監視するために利用することができる。特定実施形態では、タイマは、およそゼロから計数するタイマとすることができ、タイマの値を所定の閾値と比較することができる。他の実施形態では、タイマは、所定の閾値に設定された初期値を有することができ、タイマはゼロまでカウントダウンするように構成することもできる。いずれの場合も、タイミングメッセージへの応答が所定の時間間隔内、または適正なネットワーク接続性に関連付けられた期間内に受信されるかどうかを判定するためにタイマを利用することができる。本発明の各種実施形態で、必要に応じて多種多様な時間間隔または期間を利用することができる。
ブロック1030で、タイマが満了したかどうか、またはタイマの値が閾値に達したかどうかについて主要リンク装置910で判定を行うことができる。ブロック1030でタイマが満了していない、または閾値に達していないと判定された場合は、動作はブロック1035に進むことができる。ブロック1035で、出力されたタイミングメッセージに対する応答がコントローラ905から受信されたかどうかについて判定を行うことができる。ブロック1035で応答が受信されたと判定された場合は、動作は上記のブロック1010に進むことができる。一方、ブロック1035で応答が受信されていないと判定された場合は、動作はブロック1030に進み、主要リンク装置910はタイマの監視を続けることができる。
一方、ブロック1030でタイマが満了した、または閾値に達したと判定された場合は、主要リンク装置910とコントローラ905間に適正なネットワーク接続性が確立されていないと判定することができる。必要に応じて、特定実施形態では、主要リンク装置910は、適正なネットワーク接続性が利用できない、または確立されていないと判定する前に、2つのメッセージや3つのメッセージ等、複数の連続したタイミングメッセージにわたって応答が受信されないことを判定することができる。いずれの場合も、主要リンク装置910とコントローラ905間に適正なネットワーク接続性が利用できない、または確立されていないと判定されると、動作はブロック1045に進むことができる。
ブロック1045で、主要リンク装置910は、副リンク装置912から出力された第2のタイミングメッセージに対する応答が副リンク装置912でコントローラ905から受信されたかどうかを判定するために、副リンク装置912を照会することができる。例えば、主要リンク装置910は、第2のタイミングメッセージが副リンク装置912から出力されたかどうか、および/または第2のタイミングメッセージに対する応答が副リンク装置912で受信されたかどうかの指示を含むデータを主要リンク装置に提供させる命令を含む照会メッセージを生成することができる。生成されると、照会メッセージは、副リンク装置912に通信するために主要リンク装置910から出力することができる。特定実施形態では、主要リンク装置910は次いで、副リンク装置910から照会メッセージへの応答を受信することができる。副リンク装置912を照会する代わりに、主要リンク装置910は、第2のタイミングメッセージに対する応答が副リンク装置910で受信されたかどうかに関して、副リンク装置912から指示が受信されたかどうかを判定することができる。
ブロック1050で、副リンク装置912が第2のタイミングメッセージへの応答をコントローラ905から受信したかどうかについて判定を行うことができる。例えば、第2のタイミングメッセージに関連する情報が副リンク装置912から受信されたかどうか、および/または、受信した情報が、第2のタイミングメッセージへの応答が受信されたことを示すかどうかを判定することができる。この点で、副リンク装置912とコントローラ905の間にネットワーク接続性が確立されているかどうかについて判定を行うことができる。ブロック1050で副リンク装置912が第2のタイミングメッセージに対する応答を受信していないと判定された場合は、副リンク装置912に通信制御を切り替えずに動作が終了することができる。また、必要に応じて、主要リンク装置910は、コントローラ905とフィールドバス装置915a〜nの間のネットワーク接続性が失われたことを知らせるために、1つまたは複数の制御行動を取ることができる。例えば、主要リンク装置910は、コントローラ905、ワークステーション930、および/または、発電所やプロセスプラントの操作者または管理者に関連付けられた移動装置等の別の装置に受信されるように、1つまたは複数のネットワーク接続性エラーメッセージを出力することができる。
一方、ブロック1050で第2のタイミングメッセージへの応答を副リンク装置が受信したと判定された場合は、動作はブロック1055に進むことができる。ブロック1055で、主要リンク装置910は、副リンク装置912への通信制御の切り替えまたは移行を指示することができる。例えば、主要リンク装置910は、副リンク装置912に通信制御を引き継ぐように命令する制御信号を副リンク装置912に通信することができる。この点で、コントローラ905とフィールドバス装置915a〜n間の継続的なネットワーク接続性および/または通信を維持することができる。必要に応じて、副リンク装置912を新たな主要リンク装置として設定することができる。そして、副リンク装置912は、図10の方法1000に示す動作の一部またはすべてを行うことができる。
方法1000はブロック1050または1055の後に終了することができる。
図10に示す方法1000では、外部コントローラ905と1つまたは複数のフィールドバス装置915a〜nの間の通信を容易にする2つのリンク装置910、912を切り替えるための方法を説明するが、本発明の各種実施形態では、必要に応じて、任意の数の冗長なリンク装置(例えば3つのリンク装置、4つのリンク装置等)を利用してよい。また、特定の実施形態では、リンク装置910に関連付けられた冗長なセグメントの切り替えにも同様の方法を利用することができる。例えば、リンク装置910に関連付けられた複数のセグメントに1つまたは複数のフィールドバス装置915a〜nを接続することができる。主要セグメントとフィールドバス装置915a〜nの間のネットワーク通信が失われたことの検出に基づいて、副セグメントに通信制御を切り替える、または移行することができる。この点で、主要セグメントとフィールドバス装置915a〜nの間にネットワーク接続性の消失がある場合に、リンク装置910とフィールドバス装置915a〜nの間の通信を維持することができる。
図10の方法1000に記載される動作は、必ずしも図10に示す順序で行う必要はなく、任意の適切な順序で行ってよい。また、本発明の特定実施形態では、図10に示すすべての要素または動作よりも多い、または少ない要素または動作を行ってよい。
本発明について、上記で、本発明の例示的実施形態によるシステム、方法、装置、および/またはコンピュータプログラム製品のブロック図および流れ図を参照して説明した。ブロック図および流れ図の1つまたは複数のブロック、ならびにブロック図および流れ図のブロックの組み合わせは、それぞれコンピュータ実行可能プログラム命令で実装できることが理解されよう。同様に、本発明の一部の実施形態によれば、ブロック図および流れ図の一部ブロックは必ずしも提示した順序で行う必要はなく、または全く行わなくともよい。
それらのコンピュータ実行可能プログラム命令は、汎用コンピュータ、専用コンピュータ、プロセッサ、または他のプログラム可能なデータ処理装置にロードして特定の機械を生成することができ、コンピュータ、プロセッサ、または他のプログラム可能な処理装置で実行される命令が、フローチャートのブロックに記される1つまたは複数の機能を実装する手段を形成する。これらのコンピュータプログラム命令は、コンピュータ可読メモリに記憶することもでき、それらの命令でコンピュータまたは他のプログラム可能データ処理装置に特定の方式で機能するように指示して、コンピュータ可読メモリに記憶された命令で、流れ図のブロックに記される1つまたは複数の機能を実装する命令手段を含む製造物品を形成する。一例として、本発明の実施形態は、コンピュータ可読プログラムコードまたはプログラム命令が実施されたコンピュータ使用可能媒体を備えるコンピュータプログラム製品を提供することができ、コンピュータ可読プログラムコードは、実行されて流れ図のブロックに記される1つまたは複数の機能を実装するようになされる。コンピュータプログラム命令は、コンピュータまたは他のプログラム可能なデータ処理装置にロードして、一連の動作要素またはステップをコンピュータまたは他のプログラム可能装置で行わせてコンピュータ実装プロセスを形成することもでき、コンピュータまたは他のプログラム可能装置で実行される命令が、流れ図のブロックに記される機能を実装する要素またはステップを提供する。
したがって、ブロック図および流れ図のブロックは、それらに記された機能を行う手段の組み合わせ、記された機能を行う要素またはステップの組み合わせ、および、記された機能を行うプログラム命令手段をサポートする。ブロック図および流れ図の各ブロック、ならびにブロック図および流れ図のブロックの組み合わせは、それらに記された機能、要素もしくはステップを行う専用、ハードウェアベースのコンピュータシステム、または専用ハードウェアとコンピュータ命令の組み合わせにより実装できることも理解されよう。
本発明について現時点で最も実際的と考えられる事柄および各種実施形態との関係で説明したが、本発明は開示される実施形態に限定されず、反対に、特許請求の範囲内に含まれる各種の変更および均等構成を包含することを意図されることを理解されたい。
この書面による説明では例を使用して最良の形態を含む本発明を開示し、また当業者が、装置またはシステムの作成および使用ならびに組み込まれる方法の実行を含めて本発明を実施することを可能にする。本発明の特許可能範囲は、特許請求の範囲に定義され、当業者に想到される他の例を含むことができる。そのような他の例は、特許請求の範囲の字義通りの文言と異ならない構造要素を有する場合、または特許請求の範囲の字義通りの文言とごくわずかに異なる均等構造要素を含む場合は、特許請求の範囲にあるものとする。