(57)【要約】      （修正有）【課題】工学プロジェクトのシミュレータの延長として訓練シミュレータを実現する方法及びシステムを提供する。【解決手段】工学プロジェクトに関連する１つ以上の動作を制御する制御モデル３２０を模倣するように機能する少なくとも１つの構成要素を含み、また、シミュレータには、オペレータ訓練シミュレータ３２５が組み込まれる。このオペレータ訓練シミュレータ３２５は、工学プロジェクトの適切な動作についての人員の訓練を提供することを容易化するように機能する。【選択図】図３
2009265668.tif 000002
【特許請求の範囲】
【請求項１】
工学プロジェクトの訓練シミュレータ（３２５）を提供する方法において、
前記工学プロジェクトをシミュレートするように機能するシミュレータであって、前記工学プロジェクトに関連する１つ以上の動作を制御する制御システム（３２０）を模倣するように機能する少なくとも１つの構成要素を含むシミュレータを提供し、
前記シミュレータに訓練シミュレータ（３２５）構成要素を組み込むことを含み、
前記訓練シミュレータ（３２５）構成要素は、前記工学プロジェクトの適切な動作についての人員の訓練を提供することを容易化するように機能する、方法。
【請求項２】
前記シミュレータを提供することは、
個別のソフトウェアコンポーネントを実行するように機能する複数のネットワークコンピュータ（１２２〜１４６）を提供し、前記個別のソフトウェアコンポーネントが、前記工学プロジェクトの個別の構成要素のシミュレーションを容易化し、
前記複数のネットワークコンピュータ（１２２〜１４６）のそれぞれに、個別のメモリ（２０５，２１０，２１５）を対応付けることを含み、
前記個別のメモリ（２０５，２１０，２１５）は、それぞれ、前記工学プロジェクトに関連し、かつ、前記複数のネットワークコンピュータにおいて共有されるシミュレーションデータを保存するように機能する、請求項１に記載の方法。
【請求項３】
前記訓練シミュレータ（３２５）構成要素を始動すること、および前記個別のソフトウェアコンポーネントの実行を開始することによって、前記工学プロジェクトの訓練シミュレーションを開始し、その際に、前記訓練シミュレータ（３２５）は、前記制御システム（３２０）を模様するように機能する前記少なくとも１つの構成要素を利用し、
前記訓練シミュレータ（３２５）構成要素および前記個別のソフトウェアコンポーネントの実行を同期させること、ならびに前記個別のメモリ内に保存された共有の前記シミュレーションデータの少なくとも一部を更新することに少なくとも部分的に基づいて、前記訓練シミュレーションを管理することをさらに含む、請求項２に記載の方法。
【請求項４】
前記訓練シミュレーションを開始することは、少なくとも１つのシミュレーションタイマを始動することをさらに含み、
前記訓練シミュレータ（３２５）構成要素および前記個別のソフトウェアコンポーネントの実行を同期させることは、前記少なくとも１つのシミュレーションタイマの１つ以上の値に少なくとも部分的に基づいて、前記訓練シミュレータ（３２５）構成要素および前記個別のソフトウェアコンポーネントの実行を同期させることを含む、請求項３に記載の方法。
【請求項５】
前記個別のソフトウェアコンポーネントの少なくとも一部は、前記工学プロジェクトに付随する設備のシミュレーションを容易に行えるようにする、請求項２乃至４のいずれか１項に記載の方法。
【請求項６】
前記工学プロジェクトは、ガス化複合発電プラントを含む、請求項１乃至５のいずれか１項に記載の方法。
【請求項７】
前記複数のネットワークコンピュータ（１１７，１１８，１２２〜１４６）に含まれるいくつかのコンピュータは、シミュレートされる工学プロジェクトに少なくとも部分的に基づいて拡大縮小可能である、請求項２乃至６のいずれか１項に記載の方法。
【請求項８】
訓練シミュレーションは、１つ以上の所定の訓練シミュレーションパラメータに少なくとも部分的に基づいて、訓練シミュレーションを開始することを含む、請求項２乃至７のいずれか１項に記載の方法。
【請求項９】
前記訓練シミュレーションに関連するユーザ入力を受け取り、
前記受け取ったユーザ入力に少なくとも部分的に基づいて、前記個別のソフトウェアコンポーネントのうちの少なくとも１つの実行を調整することをさらに含む、請求項２乃至８のいずれか１項に記載の方法。
【請求項１０】
訓練シミュレーションの少なくとも１つの所定のイベントを保存し、当該少なくとも１つの所定のイベントに対して、少なくとも１つの事前定義条件を対応付け、
前記訓練シミュレーション中に、前記少なくとも１つの事前定義条件が満たされたかどうかを判定し、
前記少なくとも１つの事前定義条件が満たされたかどうかに少なくとも部分的に基づいて、前記少なくとも１つの所定のイベントを実行することをさらに含む、請求項２乃至９のいずれか１項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、訓練シミュレータに関し、より詳細には、工学プロジェクトの訓練シミュレータに関する。
【背景技術】
【０００２】
たとえば、発電システムや発電プラントなどの大規模な工学プロジェクトの開発時には、非常に多くの労力が費やされることが多い。これらの大きな工学プロジェクトを適切に開発および検査するために、各種の過渡的なシミュレーションを利用する場合がある。これらのシミュレーションを利用して、設計および操作性の問題を解決することができる。
【０００３】
特に、ガス化複合発電システムなど、特定の工学プロジェクトに対して、個別仕様の工学シミュレータが特別に開発されることがある。この場合、工学プロジェクトで利用されることになる制御システムを含め、工学プロジェクトのさまざまな構成要素に応じて、シミュレーションが開発されるかもしれない。
【０００４】
１つの工学プロジェクトのために個別仕様のシミュレータを開発することは非常に高価であり、また時間のかかるものになる。いくつかの大規模な工学プロジェクトの中で、多くの時間と、労力と、他の資源とが、各種の個別仕様のシミュレータの開発に費やされる可能性がある。
【０００５】
さらに、工学プロジェクト用に開発されたシミュレータは、オペレータを訓練する目的に適していないことが多い。一般に、訓練シミュレータは、工学シミュレータとは別に開発されるため、二重に費用および労力がかかることになる。
【０００６】
したがって、大きな工学プロジェクトのための、改善された訓練シミュレータを求める要望がある。また、工学プロジェクトのシミュレータの延長として開発できる訓練シミュレータも求められている。
【発明の概要】
【課題を解決するための手段】
【０００７】
本発明の一実施形態において、工学プロジェクトの訓練シミュレータを提供する方法を開示する。工学プロジェクトをシミュレートするように機能するシミュレータが提供される。このシミュレータは、工学プロジェクトに関連する１つ以上の動作を制御する制御システムを模倣するように機能する、少なくとも１つの構成要素を含む。訓練シミュレータ構成要素は、シミュレータ内に組み込まれる。訓練シミュレータ構成要素は、工学プロジェクトの適切な動作についての作業者の訓練を容易化するように機能する。
【０００８】
本発明の他の実施形態において、訓練シミュレータを開示する。この訓練シミュレータは、複数のネットワークコンピュータと、複数のメモリデバイスと、マネージャとを含む。複数のネットワークコンピュータは、工学プロジェクトの各構成要素のシミュレーションと工学プロジェクトの訓練シミュレータの実行とを容易化する各ソフトウェアコンポーネントを実行するように機能する。少なくとも１つの個別メモリデバイスは、前記複数のネットワークコンピュータそれぞれに関連付けられる。メモリデバイスは、それぞれ、複数のメモリデバイスで共有されるシミュレーションデータを保存するように機能する。マネージャは、前記複数のネットワークコンピュータによる各ソフトウェアコンポーネントの実行を開始することによって、工学プロジェクトの訓練シミュレーションを開始するように機能する。マネージャは、さらに、各ソフトウェアコンポーネントの実行を同期させて、前記複数のメモリデバイスに格納された共有シミュレーションデータの少なくとも一部を更新することに少なくとも部分的に基づいて、訓練シミュレーションを管理するように機能する。
【０００９】
本発明のさらに他の実施形態において、工学プロジェクトの訓練シミュレータを提供するシステムを開示する。このシステムは、工学プロジェクトをシミュレートするように機能する工学シミュレータと、訓練シミュレータ構成要素とを含む。このシミュレータは、工学プロジェクトの１つ以上の動作を制御する制御システムを模倣するように機能する、少なくとも１つの構成要素を含む。前記訓練シミュレータ構成要素は、工学シミュレータの延長として提供され、かつ、前記訓練シミュレータ構成要素は、工学プロジェクトの適切な動作についての作業員の訓練を容易化するように機能する。
【００１０】
本発明の他の実施形態と、側面と、特徴と、利点とは、当業者であれば、詳細な説明、添付の図面、および付随する請求項から明らかになるであろう。
【００１１】
本発明について総括的な表現で説明したが、下記では添付の図面を参照しながら説明する。これらの図面は、必ずしも特定の倍率で描画されたものではない。図面は次のとおりである。
【図面の簡単な説明】
【００１２】
【図１Ａ】工学プロジェクトをシミュレートするために利用できる、本発明の具体的実施形態に係るシステムの一例を模式的に示す図である。
【図１Ｂ】工学プロジェクトをシミュレートするために利用できる、本発明の具体的実施形態に係るシステムの他の例を模式的に示す図である。
【図２】工学プロジェクトをシミュレートするために利用できる、本発明の具体的実施形態に係るアーキテクチャの一例を示すブロック図である。
【図３】工学プロジェクトをシミュレートするために利用され、かつ、当該工学プロジェクトの訓練シミュレータとして利用される、本発明の具体的実施形態に係るシステムの構成要素の一例を示すブロック図である。
【図４】本発明の各種実施形態に従って利用できる制御ユニットの一例を示すブロック図である。
【図５】本発明の具体的実施形態に係る、工学プロジェクトのシミュレーションを実行する方法の一例を示すフローチャートである。
【図６】本発明の具体的実施形態に係る、工学プロジェクトのシミュレーションを管理する方法の一例を示すフローチャートである。
【図７】本発明の具体的実施形態に係る、工学プロジェクトをデバッグする方法の一例を示すフローチャートである。
【図８】本発明の具体的実施形態に係る、工学プロジェクトの訓練シミュレーションを実行する方法の一例を示すフローチャートである。
【発明を実施するための形態】
【００１３】
下記において、添付の図面を参照しながら本発明の具体的実施形態をより完全に説明する。図面には、全てではないが本発明の実施形態のいくつかを示した。実際には、本発明を多数の異なる形式で実施することができ、本明細書に記載した実施形態に限定されるものと解釈されるべきではない。正確には、これらの実施形態は、適用される法的要件を本開示内容が満たすように提供されるものである。同様の番号は、全般的に同様の要素を表す。
【００１４】
以下、本発明の例示的実施形態について図面を参照しながら説明する。図面において、同様の番号は、複数の図面にわたる同様の要素を示す。
【００１５】
工学プロジェクトをシミュレートし、かつ、当該工学プロジェクトの訓練シミュレータを提供するシステムおよび方法の実施形態を開示する。具体的には、たとえば、ガス化複合発電プラントや発電システムなどの発電プラントおよび発電システムの少なくともいずれかの訓練シミュレータをシミュレートおよび提供するシステムならびに方法の実施形態を開示する。一実施形態において、トークンリング構成内で、複数のネットワークステーションを接続することができる。前記ネットワークステーションのうちの１つ以上は、シミュレーションの個別の構成要素を実行することができる。１つ以上の制御ステーションは、その他のネットワークステーションによるシミュレーション構成要素の実行を連携させることができる。また、１つ以上のシミュレーション変数およびデータ値の少なくともいずれかは、リフレクティブメモリを利用する各ネットワークステーションによって共有されてよい。訓練シミュレータまたは訓練シミュレータ構成要素は、工学プロジェクトのシミュレーションの延長として提供することができる。
【００１６】
本発明の実施形態のうちの一部または全ての技術的効果は、たとえば、ガス化複合発電プラントなどの工学プロジェクトのシミュレータを提供することである。このシミュレータは、柔軟性および拡張性のあるシミュレータであってよく、このシミュレータには、シミュレートする工学プロジェクトの仕様もしくは要件、またはその両方に従ってハードウェアコンポーネントとソフトウェアコンポーネントの少なくともいずれかを設けることができる。また、シミュレータは、工学プロジェクトの適切または適正な動作についての作業員の訓練を容易化する、工学プロジェクトの訓練シミュレータを提供するように拡張されてよい。
【００１７】
図１Ａは、本発明の具体的実施形態に係る、工学プロジェクトをシミュレートするために利用できるシステム１００の一例を模式的に示す図である。たとえば、図１に示したシステム１００は、ガス化複合発電システムをシミュレートするために利用されてよい。本明細書の用例において、「システム」、「アーキテクチャ」、および「システムアーキテクチャ」の用語は、交換可能に用いられてよい。システム１００は、少なくとも、設備シミュレーションモデル１０５と、制御部シミュレーションモデル１１０と、インストラクタステーション１１５とを含む。設備シミュレーションモデル１０５、制御部シミュレーションモデル１０５、制御部シミュレーションモデル１１０、およびインストラクタステーション１１５は、たとえば、有線ネットワーク接続もしくは無線ネットワーク接続、またはその両方など、１つ以上の適切なネットワーク接続を介して、互いに通信することができる。
【００１８】
本発明の一態様によれば、設備シミュレーションモデル１０５、制御部シミュレーションモデル１１０、およびインストラクタステーション１１５は、たとえば、トークンリングネットワークなどの適切なネットワーク構成に配置されてよい。図１Ａに、トークンリングネットワークの例を示す。トークンリングネットワークは、各種ネットワーク構成要素の間の環状ネットワーク接続によって実現されてよい。１つ以上の適切なネットワークカードなどの１つ以上の適切なネットワークインターフェース装置を、ネットワーク装置のそれぞれに組み込んで、トークンリングネットワークを形成することができる。また、トークンリングネットワークは、デイジーチェイン方式で形成されてもよい。トークンリングネットワーク構成を利用することによって、トークンリング内の１つのネットワークステーションから次のネットワークステーションへと順次データを伝達することができる。データは、トークンリング内の各ネットワークステーションに到達するまで連続的に伝達されてよい。トークンリングネットワークは、比較的高速のデジタルネットワークであってよい。本発明の実施形態に従って、幅広い種類のネットワーク構成を利用できること、および図１Ａのトークンリングネットワークの図は、適切なネットワーク構成の一例にすぎないことは理解されるであろう。
【００１９】
インストラクタステーション１１５は、システム１００による工学プロジェクトのシミュレーションまたは管理を制御することができる。すなわち、インストラクタステーション１１５は、システム１００の他の構成要素のうちの１つ以上の動作を少なくとも部分的に制御することができる。本明細書の用例において、「インストラクタステーション」、「シミュレーションエグゼクティブ」、「エグゼクティブ」、「マネージャ」、および「管理ステーション」の用語は、交換可能に用いられてよい。インストラクタステーション１１５は、システム１００によるシミュレーションの実行を管理すること、制御すること、および／または連携させることができる。幅広い種類のシミュレーション動作は、インストラクタステーション１１５によって制御もしくは実行されても、またはその両方であってもよく、このような動作には、たとえば、シミュレーションの初期化、シミュレーションの実行、シミュレーションの一時中断、シミュレーションの順方向または逆方向ステップ送り、および／または所定の状態もしくは保存された状態へのシミュレーションの復元がある。加えて、インストラクタステーション１１５は、シミュレーションデータ、および／またはシミュレーションで利用される各種構成要素プログラムの状態を管理することができる。
【００２０】
インストラクタステーション１１５は、１つ以上のコンピュータ１１７，１１８を含むことができる。本明細書の用例において、「コンピュータ」、「パーソナルコンピュータピュータ」、および「ワークステーション」の用語は交換可能に用いられてよい。１つ以上の各コンピュータは、任意の適切な計算装置またはコンピュータシステム構成、たとえば、パーソナルコンピュータ、手持ち式計算装置、マルチプロセッサシステム、マルチプロセッサベースのコンピュータまたは計算システム、ミニコンピュータ、メインフレームコンピュータなどであってよい。図１Ａに示すように、インストラクタステーション１１５は、少なくとも２つのコンピュータ１１７，１１８を含むことができるが、ネットワークステーション内に、任意の数のコンピュータが組み込まれていてもよいことは理解されるであろう。本発明の一態様によれば、工学シミュレーションを管理および／または制御するために、必要に応じて、インストラクタステーション１１５に他のコンピュータが追加されてもよい。同様に、コンピュータは、必要に応じて、インストラクタステーション１１５から除去されてもよい。この点に関して、インストラクタステーション１１５は、工学シミュレーションの要件に応じて拡大縮小することができる。
【００２１】
インストラクタステーション１１５に含まれる１つ以上のコンピュータ１１７，１１８のうちの少なくとも１つは、本発明の一部の実施形態では、１つ以上の該当するユーザインターフェースもしくは入出力装置、またはその両方を必要に応じて包含してよい。該当するユーザインターフェースは、たとえば、適切なコンピュータモニタや他のディスプレイなどの適切な装置であってよい。該当する入出力装置は、特に限定するものではないが、キーボード、マウス、タッチスクリーン、選択可能ディスプレイ、音声認識装置、カメラなどであってよい。
【００２２】
また、図１Ａには、システム１００による工学プロジェクトのシミュレーションを管理および／または制御できるインストラクタステーションが図示されているが、本発明の一部の実施形態では、シミュレーションの管理および／または制御は、システム１００の１つ以上の他の構成要素によって実行されてもよい。また、本発明の一部の実施形態では、インストラクタステーション１１５を包含しなくてもよいことも理解されるであろう。たとえば、システム１００は、インストラクタステーション１１５を含まなくてもよく、シミュレーションの管理は、設備シミュレーションモデル１０５の１つ以上のコンピュータによって実行されてもよい。他の例として、シミュレーションの管理は、制御部シミュレーションモデル１１０の１つ以上のコンピュータによって実行されてもよい。また他の例として、シミュレーションの管理および／または制御は、システムの各種構成要素の中で分散されてもよい。
【００２３】
インストラクタステーション１１５は、トークンリングネットワークを介して、１つ以上の他のネットワークステーションと通信することができる。インストラクタステーション１１５は、トークンリングネットワークスイッチ１２０を介してデータおよび／または命令をネットワーク上で伝達することができる。このとき、伝達されたデータおよび／または命令は、１つ以上の他のネットワークステーションにおいて受信されてよい。同様に、インストラクタステーション１１５は、トークンリングネットワークスイッチ１２０を介して、１つ以上の他のネットワークステーションからデータを受信することができる。
【００２４】
また、インストラクタステーション１１５は、トークンリングネットワーク外の１つ以上の装置および／またはシステムと通信してもよい。たとえば、図１Ａに示すように、インストラクタステーション１１５は、工学技術室１５０と通信することができる。ガス化複合発電プラントのシミュレーションでは、工学技術室１５０は、技術者または他の作業者が、発電プラントの特定の技術的側面を確認および調整することができる、発電プラントの工学技術室を模倣することができる。この工学技術室１５０は、コンピュータ１５２，１５４などの１つ以上のコンピュータを含むことができる。１つ以上のコンピュータ１５２，１５４は、たとえば、有線接続や無線接続などの適切なネットワーク接続を用いて、相互の通信および／またはインストラクタステーション１１５との通信を行える。図１Ａに示すように、工学技術室１５０の１つ以上のコンピュータ１５２，１５４は、適切なネットワークスイッチ１３０を介してインストラクタステーション１１５と通信できるが、本発明の実施形態に従って、幅広い種類の他の接続も利用できることは理解されるであろう。
【００２５】
インストラクタステーション１１５などのインストラクタステーションと通信できる外部システムの他の例として、図１Ｂに、中央制御室１６０と通信できるインストラクタステーション１１５を示す。図１Ｂは、本発明の具体的実施形態に係る、工学プロジェクトをシミュレートするために利用できる、他の例のシステム１０２を示す模式図である。図１Ｂに図示したシステム１０２の構成要素は、図１Ａのシステム１００に例示したものと実質的に同様であってよい。ただし、図１Ｂのシステム１０２には、図１Ａに示した工学技術室１５０の代わりに、中央制御室１６０が外部システムとして図示されている。システム１０２の構成要素は、システム１００の構成要素と異なっていてもよいことは理解されるであろう。
【００２６】
引き続き図１Ｂを参照して説明すると、ガス化複合発電プラントのシミュレーションを実行する場合、中央制御室１６０は、発電プラントの中央制御室を模倣できる。これにより、中央制御室１６０は、オペレータが実際の発電プラントを制御する場合と同様に、被訓練者、オペレータ、または他の人員が、工学プロジェクトのシミュレーションを制御することを可能にする。したがって、中央制御室１６０を、システム１００によって実行される訓練シミュレータと組み合わせて利用することができる。
【００２７】
図１Ａに示した工学技術室１５０と同様に、中央制御室１６０は、コンピュータ１６２，１６４，１６６など、１つ以上のコンピュータを含むことができる。１つ以上のコンピュータ１６２，１６４，１６６は、たとえば、有線接続や無線接続などの適切なネットワーク接続を介して、相互の通信および／またはインストラクタステーション１１５との通信を行うことができる。図１Ｂに示すように、中央制御室１６０の１つ以上のコンピュータ１６２，１６４，１６６は、スイッチ１３０などの該当するネットワークスイッチを介してインストラクタステーション１１５と通信できるが、幅広い種類の他の接続も本発明の実施形態に従って利用できることは理解されるであろう。
【００２８】
任意の数の外部装置および／または外部システムは、トークンリングネットワークの１つ以上の構成要素と通信できることは理解されるであろう。図１Ａおよび図１Ｂにそれぞれ示した工学技術室１５０および中央制御室１６０は、インストラクタステーション１１５と通信できる外部システムの一例にすぎない。
【００２９】
本発明の一態様によれば、インストラクタステーション１１５は、さらに、シミュレートされた工学プロジェクトの訓練シミュレータや訓練シミュレータ構成要素を容易に実行できるようにする。インストラクタステーション１１５および訓練シミュレータは、工学シミュレータのシミュレーションエグゼクティブによってシミュレートされた工学プロジェクトのシミュレーションの延長として実行することができる。オペレータを訓練するために、訓練シミュレータは、シミュレートされた工学プロジェクトの各種の動作を模倣することができる。たとえば、ガス化複合発電プラントをシミュレートする場合、訓練シミュレータは、この発電プラントの動作を模倣するように機能できる。加えて、訓練シミュレータは、前記発電プラントに関連して生じ得る幅広い種類のイベントを模倣することができる。その場合、訓練シミュレータは、模倣されたイベントに応じたオペレータからのユーザ入力を受け取ることができる。本発明の実施形態に係る訓練シミュレータの一例の動作については、後で、図８を参照しながら詳細に説明する。
【００３０】
続けて図１Ａを参照すると、設備シミュレーションモデル１０５は、工学プロジェクトで利用される各種の設備を模倣するように動作できる１つ以上のコンピュータやシステムを含むことができる。本明細書の用例において、「設備シミュレーションモデル」、「設備シミュレータ」、「設備シミュレーションシステム」、および「設備シミュレーションモジュール」の用語は、交換可能に用いられてよい。一例として、ガス化複合発電プラントまたは発電システムをシミュレートする場合、設備シミュレーションモデル１０５は、当該ガス化複合発電プラントまたは発電システムの１つ以上の物理的構成要素を模倣することができる。たとえば、設備シミュレーションモデル１０５は、前記ガス化複合発電プラントに付随する物理現象と、電力生成と、電力系統とのうちの少なくともいずれかを模倣することができる。また、設備シミュレーションモデル１０５は、発電プラントまたは発電システムの動作に付随する１つ以上の方法、プロセス、および／または技法を模倣することができる。たとえば、設備シミュレーションモデル１０５は、発電プラントまたは発電システムの動作に付随するロジスティックプロセスおよび方法を模倣することができ、このプロセスおよび方法は、特に限定するものではないが、発電プラント内に含まれる１つ以上のガスタービンを動かすために利用される石炭や他の資源を処理することを含む。
【００３１】
設備シミュレーションモデル１０５は、図１Ａに示したコンピュータ１２２，１２４，１２６，１２８，１３０，１３２，１３４など、１つ以上のコンピュータを含むことができる。設備シミュレーションモデル１０５は、本発明の各種実施形態において、任意の数のコンピュータを必要に応じて包含できることは理解されるであろう。この点に関して、設備シミュレーションモデル１０５は、拡大縮小可能であり得る。設備シミュレーションモデル１０５は、また、任意の数のコンピュータと任意のタイプのコンピュータの両方を利用する能力における柔軟性も有する。
【００３２】
幅広い種類のシミュレーションモデルおよび／またはソフトウェアプログラムは、工学プロジェクトをシミュレートするために、必要に応じて設備シミュレーションモデル１０５のコンピュータ１２２，１２４，１２６，１２８，１３０，１３２，１３４によって実行されてよい。ガス化複合発電プラントの例を用いると、設備シミュレーションモデル１０５のコンピュータ１２２，１２４，１２６，１２８，１３０，１３２，１３４は、発電プラントの各種構成要素および／または発電プラントに付随する各種プロセスを模倣するように動作する各種のシミュレーションモデルおよび／またはソフトウェアプログラムを包含することができる。
【００３３】
図１Ａに示したシステムに基づいて、ガス化複合発電プラントのシミュレーションを行う場合、設備シミュレーションモデル１０５の１つ以上のコンピュータ１２２，１２４，１２６，１２８，１３０，１３２，１３４は、ガス化複合発電プラントの物理特性および動的側面、たとえば、ガス化複合発電プラント内で利用されるガスタービン、蒸気タービン、および／または熱回収システムなどをモデル化する１つ以上のソフトウェアパッケージおよび／またはプログラムを実行するように機能してよい。たとえば、コンピュータ１２２，１２４，１２６は、ＭＳＣソフトウェア（ＭＳＣ  Ｓｏｆｔｗａｒｅ）社によって流通および販売されるＥａｓｙ５（登録商標）ソフトウェアパッケージを実行するように機能できる。工学プロジェクトの物理特性もしくは動的側面、またはその両方を模倣／モデル化するために、必要に応じて幅広い種類のソフトウェアパッケージおよび／またはプログラムを利用できることは理解されるであろう。さらに、１つ以上のコンピュータ１２２，１２４，１２６，１２８，１３０，１３２，１３４など、任意の数のコンピュータは、利用されるソフトウェアパッケージおよび／またはプログラムを実行するように機能できることも理解されるであろう。
【００３４】
同様に、設備シミュレーションモデル１０５の１つ以上のコンピュータ１２２，１２４，１２６，１２８，１３０，１３２，１３４は、ガス化複合発電プラントの電気構成要素、電気系統、および／または電気エネルギ伝達をモデル化する１つ以上のソフトウェアパッケージならびにプログラムの少なくともいずれかを実行するように機能できる。幅広い種類の電気構成要素、電気系統、および／または電気エネルギ伝達は、工学プロジェクトの要件に応じて、任意の数の適切なソフトウェアパッケージおよび／またはプログラムによって模倣されてよいことは理解されるであろう。たとえば、コンピュータ１２６などの設備シミュレーションモデル１０５のコンピュータは、ゼネラル・エレクトリック社（Ｇｅｎｅｒａｌ  Ｅｌｅｃｔｒｉｃ  Ｃｏｍｐａｎｙ）によって流通および販売されるＰｏｓｉｔｉｖｅ  Ｓｅｑｕｅｎｃｅ  Ｌｏａｄ  Ｆｌｏｗ  Ｓｏｆｔｗａｒｅ（ＰＳＬＦ（登録商標））を実行するように機能できる。このコンピュータ１２６によるＰＳＬＦ（登録商標）ソフトウェアの実行によって説明したように、コンピュータ１２６は、Ｅａｓｙ５（登録商標）ソフトウェアの一部または全てを実行でき、また、コンピュータやトークンリングネットワークを有するネットワークステーションは、複数のシミュレーションタイプ、ソフトウェアパッケージ、および／またはプログラムを実行するように機能できることは理解されるであろう。
【００３５】
引き続き図１Ａを参照して説明すると、設備シミュレーションモデル１０５の１つ以上のコンピュータ１２２，１２４，１２６，１２８，１３０，１３２，１３４は、ガス化複合発電プラントに付随するプロセス製作および／またはプロセスエンジニアリングをモデル化または模倣する１つ以上のソフトウェアパッケージおよび／またはプログラムを実行するように機能できる。ガス化複合発電プラントに付随する幅広い種類のプロセスは、たとえば、ロジスティック、資源の取り扱い、ガス化処理、ガス洗浄など、工学プロジェクトの要件に応じて模倣することができる。これらのプロセスは、任意の数の適切なソフトウェアパッケージおよび／またはプログラムによって模倣されてよい。たとえば、１つ以上のコンピュータ１２２，１２４，１２６，１２８，１３０，１３２，１３４のうちのコンピュータ１２８，１３０，１３２，１３４などは、アスペンテクノロジー社（Ａｓｐｅｎ  Ｔｅｃｈｎｏｌｏｇｙ，Ｉｎｃ．）によって流通および販売されるＡｓｐｅｎ（登録商標）プロセスエンジニアリングソフトウェアを実行するように機能できる。追加および／または代替の構成として、１つ以上のコンピュータ１２２，１２４，１２６，１２８，１３０，１３２，１３４のうちのコンピュータ１２８，１３０，１３２，１３４などは、インベンシス社（Ｉｎｖｅｎｓｙｓ  ｐｌｃ）によって流通および販売されるＤｙｎａｓｉｍ（登録商標）プロセスエンジニアリングソフトウェアを実行するように機能してよい。幅広い種類のソフトウェアパッケージおよび／またはプログラムは、工学プロジェクトに付随するプロセスエンジニアリングおよび／またはプロセス製作を模倣および／またはモデル化するために必要に応じて利用できることは理解されるであろう。また、１つ以上のコンピュータ１２２，１２４，１２６，１２８，１３０，１３２，１３４など、任意の数のコンピュータは、利用するソフトウェアパッケージおよび／またはプログラムを実行するように機能できることも判るであろう。
【００３６】
制御部シミュレーションモデル１１０は、工学プロジェクトで利用される１つ以上の制御システムを模倣するように機能する１つ以上のコンピュータおよび／またはシステムを含んでよい。本明細書の用例において、「制御部シミュレーションモデル」、「制御部シミュレータ」、「制御部シミュレーションシステム」、および「制御部シミュレーションモジュール」の用語は交換可能に用いられてよい。一例として、ガス化複合発電プラントまたは発電システムをシミュレートする場合、制御部シミュレーションモデル１１０は、発電プラントまたは発電システムによって利用される１つ以上の制御システムを模倣することができる。
【００３７】
制御部シミュレーションモデル１１０は、図１Ａに示したコンピュータ１３６，１３８，１４０，１４２，１４４，１４６など、１つ以上のコンピュータを含むことができる。制御部シミュレーションモデル１１０は、本発明の各種実施形態の要件に応じて、任意の数のコンピュータを含んでよいことは理解されるであろう。この点において、制御部シミュレーションモデル１１０は拡大縮小可能である。制御部シミュレーションモデル１１０は、任意の数のコンピュータおよび任意のタイプのコンピュータの両方を利用する能力における柔軟性も備えていてよい。
【００３８】
幅広い種類の制御システムが、工学プロジェクトの要件に応じて、制御部シミュレーションモデル１１０によって模倣またはモデル化されてよいことは理解されるであろう。また、制御システムをシミュレートするために、必要に応じて、各種の異なるソフトウェアを利用することができる。たとえば、ガス化複合発電プラントをシミュレートする場合、発電プラントによって利用される制御システムは、制御部シミュレーションモデル１１０の１つ以上のコンピュータ１３６，１３８，１４０，１４２，１４４，１４６によって模倣されてよい。模倣できる制御システムの一例は、ゼネラル・エレクトリック社（Ｇｅｎｅｒａｌ  Ｅｌｅｃｔｒｉｃ  Ｃｏｒｐｏｒａｔｉｏｎ）によって開発されたＭａｒｋ＊ＶＩｅ（登録商標）制御システムである。
【００３９】
本発明の一態様によれば、工学プロジェクトの制御システムを模倣するために利用されるソフトウェアは、工学プロジェクトの制御システムにおいて利用されることになるソフトウェアと少なくとも実質的に同等であってよい。前述したガス化複合発電プラントのシミュレーション例を用いると、Ｍａｒｋ＊ＶＩｅ制御システムを模倣するために利用されるソフトウェアは、ガス化複合発電プラントにおいて利用されることになるＭａｒｋ＊ＶＩｅ制御システムソフトウェアと少なくとも実質的に同等であってよい。この点において、シミュレーションソフトウェアは、発電プラントで利用される制御システムソフトウェアが実行することになる方式とほぼ同一の方式で実行することができる。
【００４０】
たとえば、Ｍａｒｋ＊ＶＩｅ制御システムソフトウェアなど、利用する制御システムソフトウェアの正常な実行を容易化するために、必要に応じて制御部シミュレーションモデル１１０によって、１つ以上のソフトウェアおよび／またはハードウェア製品もしくは装置が利用されてよいことは理解されるであろう。たとえば、発電ステーションで利用される専用コンピュータまたはメインフレームコンピュータ上で稼働するようにＭａｒｋ＊ＶＩｅ制御システムソフトウェアを設計する場合は、制御部シミュレーションモデル１１０において、適切なソフトウェアおよび／またはハードウェア製品もしくは装置を利用して、制御部シミュレーションモデル１１０の１つ以上のコンピュータ１３６，１３８，１４０，１４２，１４４，１４６上でのＭａｒｋ＊ＶＩｅソフトウェアの正常な実行を容易化することができる。ただし、制御部シミュレーションモデル１１０によって１つ以上のパーソナルコンピュータが利用される場合は、その１つ以上のパーソナルコンピュータを用いて、Ｍａｒｋ＊ＶＩｅ制御システムソフトウェアを正常に実行することができる。たとえば、該当するポーティングソフトウェアを利用することによって、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）オペレーティングシステムなどの標準のオペレーティングシステムを利用する１つ以上のパーソナルコンピュータで、Ｍａｒｋ＊ＶＩｅ制御システムソフトウェアを容易に実行できることは理解されるであろう。
【００４１】
本発明の一態様によれば、インストラクタステーション１１５、設備シミュレーションモデル１０５、および制御部シミュレーションモデル１１０のうちの少なくともいずれかに含まれる各種のコンピュータは、パーソナルコンピュータであってよい。この点において、システム１００など、工学プロジェクトのシミュレーションを容易化するシステムの設計は柔軟性を有し、任意の数のパーソナルコンピュータを必要に応じて利用して、該当する累積的処理能力を提供することができる。本発明の実施形態において、タイプおよびモデルが異なる幅広い種類のパーソナルコンピュータを利用できることは理解されるであろう。
【００４２】
本発明の他の態様によれば、システム１００など、工学プロジェクトのシミュレーションを容易化するシステムは、それぞれ並行してシミュレーションデータを処理する複数のコンピュータを含むことができる。この点において、工学プロジェクトのシミュレーションは、分散型並行処理モデルに従って実行することができる。たとえば、設備シミュレーションモデル１０５は、制御部シミュレーションモデル１１０が、発電プラントによって利用される１つ以上の制御システムを模倣している間に、同時に、ガス化複合発電プラントに付随する物理的構成要素および処理方法を模倣することができる。インストラクタステーション１１５は、システム１００の他のコンピュータによって行われる発電プラントのシミュレーションを管理することができる。
【００４３】
図２は、本発明の具体的実施形態に従って工学プロジェクトをシミュレートするために利用できるデータフローおよび通信アーキテクチャ２００の一例を示すブロック図である。図２に示したアーキテクチャ２００は、図１Ａに示したシステム１００などの工学プロジェクトをシミュレートするために利用されるシステムに対応する適切なネットワークアーキテクチャであってよい。たとえば、アーキテクチャ２００は、工学プロジェクトをシミュレートするために利用される複数のコンピュータ、たとえば、図１Ａのシステム１００内に図示されたコンピュータ１１７，１１８，１２２，１２４，１２６，１２８，１３０，１３２，１３４，１３６，１３８，１４０，１４２，１４４，１４６など、からなるトークンリングネットワークであってよい。
【００４４】
本発明の一態様によれば、アーキテクチャ２００の各コンピュータまたは各ネットワークステーションは、当該アーキテクチャの各コンピュータまたは各ネットワークステーションによって共有されるデータを保存するように機能する１つ以上のメモリを含むことができる。この点において、各コンピュータによって実行されるシミュレーション構成要素を、互いに同期させることができる。たとえば、各コンピュータは、各コンピュータにおける共有データの保存を容易にする１つ以上のリフレクティブメモリデバイスを含むことができる。
【００４５】
図２を参照して説明すると、アーキテクチャ２００は、インストラクタステーション１１５、第１シミュレーションコンピュータ１２２、第２シミュレーションコンピュータなど、任意の数のコンピュータまたはネットワークステーションを含むことができる。第１および第２シミュレーションコンピュータ１２２，１２４は、シミュレーションで利用される任意の適切なソフトウェアまたはソフトウェアコンポーネント、たとえば、Ｅａｓｙ５（登録商標）ソフトウェアなど、を実行することができる。各コンピュータまたは各ネットワークステーションは、リフレクティブメモリカードまたはリフレクティブメモリデバイスを内蔵することができる。たとえば、インストラクタステーション１１５は、インストラクタステーションリフレクティブメモリカード２０５を内蔵でき、第１シミュレーションコンピュータ１２２は第１シミュレーションコンピュータリフレクティブメモリカード２１０を内蔵でき、さらに、第２シミュレーションコンピュータ１２４は、第２シミュレーションコンピュータリフレクティブメモリカード２１５を内蔵できる。
【００４６】
アーキテクチャ２００に含まれる他のコンピュータまたはネットワークステーションも、リフレクティブメモリカードまたはリフレクティブメモリデバイスを内蔵できることは理解されるであろう。リフレクティブメモリカードまたはリフレクティブメモリデバイスは、それぞれ、専用ランダムアクセスメモリ（ＲＡＭ）などの専用メモリのブロックを提供でき、かつ、ネットワーク内の他のリフレクティブメモリカードやリフレクティブメモリデバイスとの比較的高速のネットワーク通信を促進することができる。１つのリフレクティブメモリカードの専用ＲＡＭ内のデータが更新、修正、または変更されるときに、これらの更新または変更は、ネットワーク内の他のリフレクティブメモリカードまたはリフレクティブメモリデバイスと共有することができる。
【００４７】
カード２０５，２１０，２１５などの各リフレクティブメモリカードは、図１Ａに示したトークンリングネットワークハブ１２０などのトークンリングネットワークハブと通信することができる。この点において、各リフレクティブメモリカード２０５，２１０，２１５は、トークンリングネットワーク上でデータを送信もしくは受信、または送受信することができる。本発明の一態様によれば、１つ以上の共有データ値およびデータパラメータの少なくともいずれかは、トークンリングネットワークの各リフレクティブメモリカード２０５，２１０，２１５によって保持されてよい。これらの共有データ値および／またはデータパラメータは、当該データ値やパラメータがアーキテクチャ２００のコンピュータ１１５，１２２，１２４によって修正、変更、または更新されたときに、各リフレクティブメモリカード２０５，２１０，２１５内で更新されてよい。コンピュータがデータ値を更新する場合、そのデータ値は、リフレクティブメモリカードを介して他の各コンピュータで更新することができる。
【００４８】
本開示の目的に合わせて、インストラクタステーション１１５の構成要素の少なくとも一部を図示したが、他のネットワークステーションそれぞれが同様の構成要素を包含できることは理解されるであろう。また、インストラクタステーション１１５は、図１Ａに示したコンピュータ１１７，１１８など、１つ以上のコンピュータを包含できることも理解されるであろう。
【００４９】
インストラクタステーション１１５は、アプリケーション層２２０および通信層２２５を含むことができる。通信層２２５は、リフレクティブメモリカード２０５とインストラクタステーション１１５との間の通信を容易化することができる。通信層２２５は、リフレクティブメモリカード２０５とインストラクタステーション１１５との間の通信を容易にする適切なハードウェアおよびソフトウェアの少なくともいずれか、たとえば、適切なポートや、スロットや、データバスや、ドライバなどを含むことができる。図２に示すように、通信層２２５は、リフレクティブメモリカード２０５とＲＦＭインターフェース２４０との間の通信を容易にするように機能するＲＦＭインターフェース２４０を含むことができる。このＲＦＭインターフェース２４０は、リフレクティブメモリカード２０５とインストラクタステーション１１５との間の適切なハードウェアインターフェースもしくはソフトウェアインターフェース、またはその両方であってよい。
【００５０】
アプリケーション層２２０は、少なくとも、データ入力ブロック２３０およびデータ出力ブロック２３５を含むことができる。データ入力またはブロック内のデータは、ＲＦＭインターフェース２４０からデータを受信することができる。受信したデータは、インストラクタステーション１１５上で動作している、または実行される１つ以上のソフトウェアプログラムに送信することができ、受信したデータは、必要に応じて、１つ以上のソフトウェアプログラムの実行に利用することができる。また、受信したデータは、本発明の一部の実施形態において、インストラクタステーションに関連付けられた１つ以上のメモリデバイス内に必要に応じて保存されてよい。データ出力またはブロックから出たデータは、インストラクタステーション１１５上で動作している、または実行される１つ以上のソフトウェアプログラムからのデータを受信することができ、そのデータを、ＲＦＭインターフェース２４０からリフレクティブメモリカード２０５に送信することができる。
【００５１】
リフレクティブメモリカード２０５は、トークンリングネットワークの他のコンピュータと共有できる１つ以上のデータ変数、パラメータ、および／または値を保存するように機能できる。加えて、リフレクティブメモリカード２０５は、更新されたデータ変数、パラメータ、および／または値をトークンリングネットワークから受信する、もしくはトークンリングに送信する、またはその両方を行うように動作できる。
【００５２】
リフレクティブメモリカード２０５は、共有メモリ層２４５およびネットワークプロトコル層２５０を少なくとも含むことができる。共有メモリ層２４５は、リフレクティブメモリカード２０５による、共有のデータ変数、パラメータ、および／または値の保存を容易化することができる。本発明の一部の実施形態によれば、共有メモリ層２４５は、データパーティション２５５および制御パーティション２６０を少なくとも含むことができる。データパーティション２５５は、トークンリングネットワークのコンピュータまたはネットワークステーションによって実行される各種のシミュレーションソフトウェアで利用される共有のデータ値および／またはパラメータを保存するように機能できる。本発明の一部の実施形態において、幅広い種類のデータ値またはパラメータが、必要に応じてデータパーティション２５５内に保存されてよい。制御パーティション２６０は、各種のシミュレーションソフトウェアの同期化もしくは適正な実行、またはその両方を制御するために利用される共有のデータ値および／またはパラメータを保存することができる。たとえば、制御パーティション２６０は、シミュレーションの共有グローバルタイマまたはシステムクロックを保存するため、また、どのネットワークステーションがシミュレーションのいずれの側面を制御するのかを定義するデータを保存するために利用されてよい。
【００５３】
ネットワークプロトコル層２５０は、リフレクティブメモリカード２０５からトークンリングネットワークへのデータの送信、および／またはリフレクティブメモリカード２５０におけるトークンリングネットワークからのデータの受信を容易に行えるようにする。リフレクティブメモリカード２０５の共有メモリ層２４５内でデータ値またはパラメータが更新されると、ネットワークプロトコル層２５０は、トークンリングネットワークへの更新データの送信を促進して、トークンリングネットワークの他のリフレクティブメモリカードを更新できるようにする。また、ネットワークプロトコル層２５０において、トークンリングネットワークから更新データ値またはパラメータを受信したときには、受信したデータに従って、共有メモリ層２４５に保存されているデータ値またはパラメータを更新することができる。
【００５４】
本発明の一態様によれば、図２に示したアーキテクチャ２００は、工学プロジェクトのシミュレーションの分散型並行処理を容易に実現できるようにする。アーキテクチャ２００は、トークンリングネットワークを介して互いに通信する任意の数のコンピュータおよび／またはネットワークステーションを含むことができる。アーキテクチャで利用されるコンピュータおよび／またはネットワークステーションの数は、工学プロジェクトをシミュレートするための要件に応じて、柔軟性および／または拡大縮小性を備える設定であってよい。
【００５５】
図３は、工学プロジェクトをシミュレートするために利用され、かつ、工学プロジェクトの訓練シミュレータとして利用される、本発明の具体的実施形態に係るシステム３００の構成要素を例示するブロック図である。このシステム３００は、工学プロジェクトをシミュレートするために利用されるソフトウェアコンポーネントおよび／またはハードウェアコンポーネントを含むことができる。さらに、システム３００は、シミュレートされた工学プロジェクトに対応するオペレータ訓練シミュレーションを実行する、またはその実行を制御するように機能できるソフトウェアコンポーネントおよび／またはハードウェアコンポーネントを含むことができる。
【００５６】
本発明の一態様によれば、システム３００は、階層化アーキテクチャを含んでもよい。階層化アーキテクチャは、少なくとも、ハードウェアプラットフォーム３１０と、設備モデル３１５と、制御部モデル３２０とを含むことができる。ハードウェアプラットフォーム３１０は、工学プロジェクトのシミュレーションを容易に行えるようにする、任意の数の適切なハードウェアコンポーネントを含むことができる。たとえば、ハードウェアプラットフォーム３１０は、各種のソフトウェアおよび／またはソフトウェアパッケージを実行して、工学プロジェクトをシミュレートするように機能する複数のコンピュータを包含できる。ハードウェアプラットフォーム３１０は、複数のコンピュータのうちの１つ以上の間でのデータの共有および更新を容易化する、たとえば、リフレクティブメモリカードなどの共有メモリデバイスを複数個、追加的に含んでもよい。ハードウェアプラットフォーム３１０は、共有メモリデバイスの利用を補助するドライバ、もしくは他のソフトウェア、またはその両方を包含することもできる。
【００５７】
設備モデル３１５は、工学プロジェクトに付随する物理的設備および／または処理をシミュレートするように機能する１つ以上のソフトウェアコンポーネントもしくはソフトウェアパッケージ、またはその両方を含むことができる。同様に、制御部モデル３２０は、工学プロジェクトで利用される１つ以上の制御システムをシミュレートするように機能する１つ以上のソフトウェアコンポーネントもしくはソフトウェアパッケージ、またはその両方を含むことができる。図３に示すように、ハードウェアプラットフォーム３１０は、設備モデル３１５および制御部モデル３２０の両方を容易に実行できるようにする。設備モデル３１５および／または制御部モデル３２０の各種ソフトウェアパッケージの実行は、各種異なるタイプのハードウェアプラットフォームで動作するように適合されてよいことは理解されるであろう。これに代わる構成として、幅広い種類の異なるポーティングおよび／またはインターフェース適合プログラムを利用して、ハードウェアプラットフォーム上での設備モデル３１５および／または制御部モデル３２０の各種のソフトウェアパッケージの実行を容易化できることは理解されるであろう。
【００５８】
また、シミュレーションエグゼクティブ３２２の層を設けて、システム３００の各種のソフトウェアコンポーネントおよび／またはハードウェアコンポーネントの監視と制御とを容易に行えるようにしてもよい。工学シミュレータ３０５は、ハードウェアプラットフォーム３１０、設備モデル３１５、制御部モデル３２０、およびシミュレーションエグゼクティブ３２２を組み合わせて形成することができる。工学シミュレータ３０５を利用して、たとえば、ガス化複合発電プラントなど、幅広い種類の異なる工学プロジェクトをシミュレートすることができる。図３に示されるとおり、インストラクタステーションは、工学シミュレータの必須の構成要素でないことは理解されるであろう。
【００５９】
図３の参照を続けると、システム３００に、インストラクタステーション３３０を追加して、工学プロジェクトのオペレータ訓練シミュレータの実行を容易化するように構成できる。インストラクタステーション３３０は、工学プロジェクトのオペレータおよび／または将来のオペレータを訓練するために利用できる、各種の異なる訓練プログラムもしくは訓練シミュレーション、またはその両方を実行することができる。図３に示すように、オペレータ訓練シミュレータ３２５は、工学シミュレータ３０５にインストラクタステーション３３０を追加することによって形成することができる。
【００６０】
インストラクタステーション３３０は、ソフトウェアコンポーネントもしくはハードウェアコンポーネント、またはその両方を含むことができる。たとえば、インストラクタステーション３３０は、幅広い種類の訓練プログラムを実行するように機能する１つ以上のソフトウェアコンポーネントを包含できる。これらのソフトウェアコンポーネントは、インストラクタステーション３３０に搭載された１つ以上のコンピュータによって実行されてよい。追加および／または代替の構成として、これらのソフトウェアコンポーネントは、工学シミュレータ３０５のハードウェアプラットフォーム３１０に搭載されたコンピュータによって実行されてもよい。
【００６１】
図４は、工学プロジェクトのシミュレーションもしくは訓練シミュレーション、またはその両方を実行および／または制御するために、本発明の各種実施形態に従って利用できるコンピュータ４００の一例を示すブロック図である。システム１００など、工学プロジェクトをシミュレートするシステム内で利用される各コンピュータは、図４に示したコンピュータ４００とほぼ同様の構成要素を包含できることは理解されるであろう。
【００６２】
コンピュータ４００は、本発明の実施形態に従ってプログラム化論理４１５（たとえば、ソフトウェア）を格納するメモリ４０５を内蔵できる。このメモリ４０５は、本発明の動作に利用されるデータ４２０およびオペレーティングシステム４２５を収容することもできる。プロセッサ４１０は、オペレーティングシステム４２５を利用してプログラム化論理４１５を実行でき、その実行の際にデータ４２０も利用できる。データバス４３５は、メモリ４０５およびプロセッサ４１０間の通信を提供することができる。コンピュータ４００は、１つ以上の適切な入出力（Ｉ／Ｏ）インターフェース４４０を介して、リフレクティブメモリカードなどの外部装置と通信することができる。ユーザは、キーボードや、マウスや、操作盤や、コンピュータ４００にデジタルデータを通信できる他の装置など、１つ以上のユーザインターフェース機器４４５を介して、コンピュータ４００とのインターフェースを確立できる。コンピュータ４００および当該コンピュータによって実装されたプログラム化論理４１５は、ソフトウェア、ハードウェア、ファームウェア、またはこれらの各種の組み合わせを含むことができる。さらに、理解されるであろうが、本発明の実施形態に従って利用される適切なコンピュータは、図４に示した構成要素のほぼ全てを含むことができる。
【００６３】
図５は、本発明の具体的実施形態に係る、工学プロジェクトのシミュレーションを実行する方法５００の一例を示すフローチャートである。図５の方法５００は、たとえば、ガス化複合発電プラントなど、幅広い種類の異なる工学プロジェクトをシミュレートするために利用されてよい。この方法５００は、１つ以上の適切なソフトウェアプログラムを実行して工学プロジェクトをシミュレートするように機能する、１つ以上の該当するコンピュータによって実行されてよい。
【００６４】
図５を参照すると、方法５００は、ブロック５０５において開始できる。ブロック５０５において、１つ以上のシミュレーションパラメータを決定することができる。この１つ以上のシミュレーションパラメータは、シミュレーションの指針、特徴、および／または要素を記述することができる。また、１つ以上のシミュレーションパラメータは、工学プロジェクトをシミュレートするために利用されるシミュレーションシステムの構成要素、たとえば、シミュレーションで利用されるコンピュータやソフトウェアプログラムなど、を記述することができ、かつ／または前記構成要素を決定するために利用することができる。
【００６５】
ブロック５０５では、幅広い種類のシミュレーションパラメータが決定されてよい。これらのシミュレーションパラメータは、特に限定するものではないが、シミュレーションで利用される構成要素および／またはソフトウェアプログラム、シミュレーションシステムの複数の構成要素によって共有されることになる変数および／またはデータ、各種共有される変数および／またはデータ値の初期値、特定の共有変数を編集する際に、システム構成要素が行う制御を優先順序付けする１つ以上の規則（優先順序付けは、全体での優先順序であっても、または１つ以上のデータ変数および／またはデータ変数のグループに固有の優先順序であってもよい）、シミュレーションの初期状態、ならびにシミュレーションの速度のうちの少なくともいずれかを含んでよい。工学シミュレーションは、必要に応じて、各種の異なる速度、たとえば、リアルタイム、近似リアルタイム、リアルタイムより高速、および／またはリアルタイムより低速で実行できることは理解されるであろう。
【００６６】
本発明の一部の実施形態の一側面によれば、前述した１つ以上のシミュレーションパラメータは、工学プロジェクトのシミュレーションを管理するように機能する、たとえば、図１Ａに示したインストラクタステーション１１５などのインストラクタステーションによって決定されてよい。ただし、１つ以上のシミュレーションパラメータは、シミュレーションシステムの１つ以上の他の構成要素によって決定されてもよいことは理解されるであろう。
【００６７】
本発明の一態様によれば、１つ以上のシミュレーションパラメータは、少なくとも部分的に、ユーザ設定もしくはユーザ入力、またはその両方に基づいたものであってよい。たとえば、ユーザは、インストラクタステーション１１５などのインストラクタステーションに１つ以上のシミュレーションパラメータを入力することができる。他の例として、ユーザ設定は、１つ以上の適切なメモリデバイスに保存され、ブロック５０５においてアクセスされてもよい。また、ユーザ設定は、本発明の一部の実地形態において、必要に応じて、１つ以上の外部装置および／またはシステムからシミュレーションシステムに、必要に応じて送信されてもよい。
【００６８】
ブロック５１０において、シミュレーションを起動できる。シミュレーションを起動するために、当該シミュレーションで利用される各種の構成要素を初期化して、シミュレーションを開始することができる。たとえば、シミュレーションで利用される各種ソフトウェアパッケージなど、利用する各種の構成要素を初期化するために、１つ以上のシミュレーションパラメータおよび／または共有データ変数の１つ以上の初期値を、必要に応じて、各種の構成要素に送信することができる。
【００６９】
さらに、シミュレーションカウンタまたはシミュレーションタイマを始動できる。シミュレーションカウンタは、シミュレーションで利用される各種構成要素の同期を容易に行えるようにする。たとえば、シミュレーションで利用される１つの構成要素は、シミュレーションカウンタにアクセスして、シミュレーションの一部として追加のステップを実行するべきか、または他の構成要素が、各種シミュレーションの一部を完了するのを待つべきかどうかを決定することができる。この点において、シミュレーションカウンタは、シミュレーションシステムの各種構成要素によって共有されるグローバルカウンタまたはシミュレーションクロックとして動作できる。これに代わる構成として、インストラクタステーション１１５などのインストラクタステーションが、少なくとも部分的にシミュレーションカウンタに基づいて、各種の構成要素を制御および管理してもよい。
【００７０】
ブロック５１５において、シミュレーションを管理することができる。シミュレーションは、その実行の全体をとおして管理することができる。シミュレーションの管理には、特に、シミュレーションシステムの構成要素を同期させること、各種構成要素によるシミュレーションの実行を監視すること、シミュレーションシステムの構成要素間で共有データ値を更新すること、シミュレーションに関連するデータを出力すること、および／またはシミュレーションの実行に関連するユーザ入力を受信することが含まれていてよい。
【００７１】
シミュレーションは、たとえば、図１Ａに示したインストラクタステーション１１５のようなインストラクタステーションで管理できることは理解されるであろう。インストラクタステーション１１５は、シミュレーションを実行するために利用される各種ソフトウェアコンポーネントの実行を管理または制御することができる。また、インストラクタステーション１１５は、各種のソフトウェアコンポーネントの実行を同期させることができる。各種のソフトウェアコンポーネントを同期させることにより、シミュレーションを実行している間中、各種ソフトウェアコンポーネント間での１つ以上の共有データ変数の正確な更新を容易に実現できる。この点において、シミュレーションは、互いに並列して動作する各種のソフトウェアコンポーネントで正確に実行することができる。この並列処理により、シミュレーションシステム内の任意の数のコンピュータおよび／または他のネットワークステーション、たとえば、パーソナルコンピュータなどの利用を促進できる。
【００７２】
シミュレーションを管理および実行している途中で、シミュレーションを保存および／または一時停止できることは理解されるであろう。一時停止されたシミュレーションは、後の時点で再開することができる。同様に、保存されたシミュレーションは、後の時点で復元することができ、その復元したシミュレーションを再開することができる。下記のブロック５２０から５３５には、シミュレーションの一時停止、保存、復元、および再開が一連のステップとして記載されているが、これらのステップはどのような順序で実行されてもよいことは理解されるであろう。また、シミュレーションの管理は、これらのステップのいずれにおいてもその実行中を通じて継続することができる。
【００７３】
ブロック５２０において、シミュレーションを一時停止することができる。シミュレーションの一時停止中には、当該シミュレーションの各種のソフトウェアコンポーネントの実行が一時停止または中断されてよい。加えて、シミュレーションカウンタも一時停止されてよい。シミュレーションが一時停止した後、シミュレーションシステムへのユーザ入力および／または外部装置からの入力の認識が中断されてよい。シミュレーションが一時停止している間に、特定のコマンドもしくは入力、またはその両方を許可することができ、たとえば、シミュレーションの保存、シミュレーションの終了、および／またはシミュレーションの再開を行うコマンドは、実行可能であってよいことは理解されるであろう。
【００７４】
理解されるであろうが、シミュレーションが一時停止したときに、シミュレーションシステムの１つ以上の構成要素によって、該当する表示またはメッセージを出力することができる。たとえば、インストラクタステーションなど、シミュレーションで利用される１つ以上のコンピュータは、シミュレーションが一時停止したことを表す該当するメッセージを、たとえば、出力および／または表示することができる。他の例として、たとえば、インストラクタステーションなど、シミュレーションで利用される１つ以上のコンピュータは、１つ以上の外部装置やシステムにメッセージを送信または転送して、シミュレーションが停止していることを示すことができる。
【００７５】
動作は、ブロック５２５に継続されてよく、そこで、シミュレーションを保存することができる。シミュレーションは、所定の時間間隔で、所定のイベントの発生時に、受け取ったユーザ入力の結果として、および／または外部装置やシステムから受け取った入力の結果として、保存されてよいことは理解されるであろう。
【００７６】
シミュレーションの保存中に、シミュレーションシステムの各種ソフトウェアコンポーネントの状態を、１つ以上の該当するメモリデバイスに保存することができる。さらに、１つ以上の共有データ変数の値を、１つ以上の該当するメモリデバイスに保存することができる。後の時点でシミュレーションを再ロードするために必要になり得る全てのデータは、シミュレーションの保存中に、１つ以上の適切なメモリデバイスに保存できることは理解されるであろう。また、保存データを含む１つ以上のファイルは、一元的にインストラクタステーションにおいて保存されても、あるいは別の選択肢として、保存データを含むファイルは、シミュレーションシステムで利用される各種構成要素のそれぞれにおいて保存されてもよいことも判るであろう。
【００７７】
シミュレーションの一時停止と同様に、該当する表示またはメッセージは、シミュレーションが保存されたときに、シミュレーションシステムの１つ以上の構成要素によって出力されてよい。
【００７８】
動作はブロック５３０に継続されてよく、そこで、保存されたシミュレーションを復元することができる。保存されたシミュレーションの復元中に、保存されているシミュレーションデータを利用して、シミュレーションの各種ソフトウェアコンポーネントそれぞれの保存された状態を復元することができる。加えて、保存された共有データ変数も復元できる。
【００７９】
本発明の一部の実施形態によれば、保存されているシミュレーションが復元されている最中に、パラメータおよび／またはデータ値が、保存された状態ファイルの１つのみの中と、シミュレーションを実行するために利用されるソフトウェアコンポーネントまたはソフトウェアスイートの実行時コピーの中とに存在する場合には、そのパラメータおよび／またはデータ値を無視することができる。この点において、保存されたシミュレーションは、システム内で利用される１つ以上のソフトウェアコンポーネントに変更および／または更新が行われている場合であっても、シミュレーションシステム内に復元することができる。また、任意構成として、ソフトウェアコンポーネントの実行時コピー、および保存された状態ファイルの両方に共有されていない１つ以上のデータ変数またはパラメータの値を入力するように求める指示をユーザに提供できることは理解されるであろう。
【００８０】
シミュレーションの一時停止および保存と同様に、該当する表示またはメッセージは、シミュレーションを復元するときにも、シミュレーションシステムの１つ以上の構成要素によって出力されてよい。
【００８１】
動作はブロック５３５に継続されてよく、そこで、シミュレーションを再開することができる。シミュレーションを再開するために、シミュレーションシステムによって利用される各種のソフトウェアコンポーネントの実行が再開されてよい。加えて、シミュレーションカウンタの値を増加することも再開されてよい。
【００８２】
シミュレーションの一時停止、保存、および復元と同様に、該当する表示またはメッセージは、シミュレーションが再開されたときにも、シミュレーションシステムの１つ以上の構成要素によって出力されてよい。
【００８３】
方法５００は、ブロック５３５の後で終了してよい。
【００８４】
図５に示した方法５００に基づいて前述した動作は、必ずしも図５に記載した順序で実行される必要はなく、代わりに、任意の適切な順序で実行できることは理解されるであろう。また、方法５００に記載した動作の２つ以上を、互いに並行して実行できることも理解されるであろう。さらに、本発明の一部の実施形態では、図５に記載した動作のほぼ全てを実行できることも判るであろう。
【００８５】
図６は、本発明の具体的実施形態に係る、工学プロジェクトのシミュレーションを管理する方法６００の一例を示すフローチャートである。図６に示した方法６００は、たとえば、図５に示したブロック５１５の敷衍であってよいが、方法６００は、本発明の各種実施形態に従って実行されても、もしくは幅広い種類の他の方法の構成要素として実行されても、またはその両方であってもよいことは理解されるであろう。方法６００は、シミュレーションの実行を管理するように機能する、シミュレーションシステムの１つ以上の構成要素、たとえば、図１Ａに示したインストラクタステーションン１１５によって実行されてよい。
【００８６】
図６を参照しながら説明すると、本方法６００は、ブロック６０５において開始することができる。ブロック６０５において、シミュレーションシステムの各種ソフトウェアコンポーネントの同期化を容易にするシミュレーションタイマの値を決定することができる。シミュレーションタイマの値を決定した後、動作は、ブロック６１０に継続されてよい。
【００８７】
ブロック６１０において、シミュレーションで利用される各種ソフトウェアコンポーネントを監視することができる。この各種ソフトウェアコンポーネントの監視中に、個々のソフトウェアコンポーネントのタイミングを、シミュレーションタイマと比較することができる。各ソフトウェアコンポーネントの実行が、シミュレーションタイマと略一致しているかどうかを判定することができる。ソフトウェアコンポーネントの実行が、シミュレーションタイマと略一致していない場合は、そのソフトウェアコンポーネントの実行を調整することができ、また、他の選択肢として、シミュレーションを停止して、該当するエラーメッセージを出力してもよい。これにより、シミュレーションで利用される各種ソフトウェアコンポーネントを同期させることができる。
【００８８】
動作はブロック６１５に継続されてよい。ブロック６１５において、シミュレーションで利用される各種ソフトウェアコンポーネントをステップごとに先に進めることができる。一例として、個々の各ソフトウェアコンポーネントは、それぞれ次のプログラミング命令を実行することができる。このとき、各種の各ソフトウェアコンポーネントを並列して実行することができる。加えて、各種の各ソフトウェアコンポーネントを互いに同期させることができる。ソフトウェアコンポーネントが複数の命令を互いに並行して実行している場合は、その命令をそれぞれ実行できることは理解されるであろう。各種シミュレーションソフトウェアコンポーネントのステップ前進の後、動作は、ブロック６２０に継続されてよい。
【００８９】
ブロック６２０において、共有のデータ変数および／またはパラメータを更新することができる。たとえば、共有データ変数が、シミュレーションシステムの少なくとも１つのソフトウェアコンポーネントによって更新または修正された場合は、データ変数の新しい値を、シミュレーションシステムの他の構成要素に送信することができる。本発明の一部の実施形態によれば、ネットワークステーションまたはコンピュータそれぞれがリフレクティブメモリデバイスを有するトークンリングネットワークを利用することで、データ値の共有および更新を容易にできることは、図１Ａおよび図２を参照しながら既に説明したとおりである。複数のソフトウェアコンポーネントが、更新または修正された共有のデータ変数またはパラメータを有する場合は、１つ以上の優先順位規則を利用して、シミュレーションシステムの他の構成要素によって保存されるべき共有のデータ変数またはパラメータの更新値を決定することができる。
【００９０】
さらに、ブロック６２０において、シミュレーションタイマを更新することができる。シミュレーションタイマを増分して、新しいシミュレーションタイマを反映できる。シミュレーションタイマは、リアルタイムで、リアルタイムよりも高速で、および／またはリアルタイムよりも低速で更新できることは理解されるであろう。シミュレーションタイマを増分する割合は、図５を参照して前述したように、シミュレーションの実行前に設定される１つ以上のシミュレーションパラメータによって決定されてよい。ブロック６２０における共有の変数および／またはパラメータの更新、ならびにシミュレーションタイマの更新に続いて、動作はブロック６２５に継続されてよい。
【００９１】
一部の実施形態では任意の構成であってよいブロック６２５において、シミュレーションに関連するデータは、必要に応じて、シミュレーションシステムの１つ以上の構成要素によって出力されてよい。シミュレーションに関連するデータは、たとえば、適切なディスプレイおよび／またはプリンタのような、幅広い種類の出力装置を利用して出力することができる。データは、シミュレーションシステムの外部の１つ以上の装置またはシステムにデータを送信または転送することによって出力されてもよい。本発明の一実施形態において、必要に応じて、各種の異なるフォーマットでデータを出力できることは理解されるであろう。たとえば、１つ以上のグラフィカルユーザインターフェースは、ユーザへの表示用にフォーマットすることができ、そのグラフィカルユーザインターフェースによって表示されたデータを更新することができる。
【００９２】
また、シミュレーションの実行に関連したデータは、１つ以上のメモリデバイスおよび／またはメモリファイルに、保存および／または記録することができる。
【００９３】
動作はブロック６３０に継続されてよく、このブロック６３０は、一部の実施形態においては任意の構成であってよい。ブロック６３０において、ユーザ入力、１つ以上の外部装置および／またはシステムからの入力、ならびにこれら両方の入力のうちの少なくともいずれかを受け取ることができる。入力は、特に限定するものではないが、１つ以上のネットワーク接続および／または１つ以上の適切な入力装置を含め、任意の数の適切な装置、方法、および技術のうちの少なくともいずれかを利用して受け取ることができる。適切な入力装置は、たとえば、可搬式メモリデバイス、ディスケット、ＣＤ−ＲＯＭ、マウス、キーボード、タッチスクリーンディスプレイなどを含んでよい。
【００９４】
受け取った入力は、必要に応じて、シミュレーションシステムの１つ以上の該当するソフトウェアコンポーネントに送信できること、および受け取った入力に従ってシミュレーションの各種構成要素の動作を調整できることは理解されるであろう。また、受け取った入力に従って、必要に応じて、１つ以上の共有のデータ変数および／またはパラメータを更新できることも理解されるであろう。
【００９５】
動作はブロック６３５に継続されてよい。ブロック６３５において、シミュレーションが終了したかどうかについての判定を行うことができる。シミュレーションの終了は、各種幅広い方式で判定できることは理解されるであろう。たとえば、シミュレーションタイマが所定の値に達した時点で、シミュレーションが終了したと判定することができる。他の例として、１つ以上の所定のイベントが発生した時点、たとえば、シミュレートされた工学プロジェクトにおける所望の結果、またはシミュレートされた工学プロジェクトにおいて認識されたエラーもしくは欠陥が生じた時点で、シミュレーションが終了したと判定されてもよい。他の例として、シミュレーションによって利用されるデータ変数が、所定の閾値範囲外であると判断された場合に、シミュレーションが終了したと判定されてもよい。さらに他の例示として、受け取った入力に基づいて、シミュレーションが終了したと判定されてもよい。
【００９６】
ブロック６３５においてシミュレーションが終了したと判定された場合は、ブロック６３５の後で、本方法６００を終了することができる。ただし、ブロック６３５において、シミュレーションは終了していないと判定された場合、動作はブロック６０５に継続されてよい。
【００９７】
図６に示した方法６００に基づいて前述した動作は、必ずしも図６に記載した順序で実行される必要はなく、任意の適切な順序で実行できることは理解されるであろう。さらに、本発明の一部の実施形態では、図６に記載した動作のほぼ全てを実行できることも判るであろう。
【００９８】
たとえば、本発明の一部の実施形態では、シミュレーションの実行中もしくは実行の全体を通して、またはその両方において、たとえば、１つ以上のシミュレーションパラメータおよび／または変数の値に関連するデータなど、各種のタイプのデータを保存することができる。そして、保存されたデータに少なくとも部分的に基づいて、動向を決定することができる。データおよび／または決定された動向に少なくとも部分的に基づいて、各種のレポートを作成することもでき、作成されたレポートは、たとえば、グラフィカルディスプレイなど、任意の数の適切な出力装置によって出力することができる。
【００９９】
図７は、本発明の具体的実施形態に係る、工学プロジェクトのデバッグ方法７００の一例を示すフローチャートである。幅広い種類のエラーもしくは他のイベント、またはその両方が、工学プロジェクトのシミュレーション中に発生し得ることは理解および認識されるであろう。たとえば、ガス化複合発電プラントをシミュレートする場合、シミュレーションの実行中に、幅広い種類のエラー、障害、および／または他のイベント、たとえば、ガス化複合発電プラントのパラメータが許容可能な範囲から外れることなどが生じる可能性がある。他の可能性として、シミュレートされた工学プロジェクトを監視するために、ユーザが、１つ以上の所定の時点においてシミュレーションを停止することを求める場合があることも理解されるであろう。本発明の一態様によれば、シミュレーションのデバッグを容易にする方法７００をユーザに提供することができる。このデバッグ方法は、シミュレートされた工学プロジェクト内のエラーの識別、もしくはシミュレートされた工学プロジェクトの更新、またはその両方を容易に行えるようにできる。
【０１００】
本方法７００は、ブロック７０５において開始できる。ブロック７０５において、デバッグモードを初期化することができる。このデバッグモードは、たとえば、マウスおよび／またはキーボードのような、１つ以上の適切な入力装置によって受け取られたユーザ入力に少なくとも部分的に基づいて初期化することができる。たとえば、ユーザは、デバッグモードで工学プロジェクトをシミュレートする付加機能を選択することができる。他の例として、ユーザは、デバッグモードに入るために、１回以上の打鍵および／または連続した打鍵を行ってもよい。
【０１０１】
ブロック７０５においてデバッグモードが初期化されたら、動作はブロック７１０に進むことができる。ブロック７１０において、１つ以上のブレークポイントについてのユーザ入力を受け取ることができる。ブレークポイントは、シミュレーションの実行中に、シミュレーションの実行を一時停止または停止するポイントまたは時間であってよい。ブレークポイントは、シミュレーション実行中の所定の条件を指定することができ、この条件は、当該条件が満たされたとき、または達したときに、シミュレーションの実行を一時停止または停止するように機能する条件である。
【０１０２】
１つ以上のブレークポイントは、本発明の実施形態において、必要に応じて複数の異なる方式で設定または定義できることは理解されるであろう。たとえば、ブレークポイントは、シミュレーションの実行を一時停止または停止する所定のシミュレーション時間に少なくとも部分的に基づいて設定することができる。シミュレーションタイマは、所定のシミュレーション時間と比較することができ、シミュレーションタイマと前記所定のシミュレーション時間とがほぼ等しいと判定された時点で、シミュレーションの実行を一時停止または停止することができる。他の例として、ブレークポイントは、１つ以上のイベント、またはシミュレーションの実行中に検査できる所定の条件に少なくとも部分的に基づいて設定することができ、この１つ以上のイベントまたは所定の条件が満たされた時点で、シミュレーションを一時停止または停止することができる。さらに他の例として、ブレークポイントは、シミュレーションで利用される変数またはパラメータの所定の値に少なくとも部分的に基づいて設定されてもよい。シミュレーションで利用される１つ以上の変数またはパラメータの値を監視し、その値を１つ以上の各所定の値と比較することができる。ブレークポイントに関して監視されている各変数またはパラメータの値が、ブレークポイントに利用される各所定の値とほぼ等しいと判定された場合に、シミュレーションを一時停止または停止することができる。
【０１０３】
１つ以上のブレークポイントについてのユーザ入力は、本発明の実施形態において、必要に応じて各種の装置、方法、および／または技法に従って受け取れることは理解されるであろう。たとえば、１つ以上の適切な入力装置は、１つ以上のブレークポイントに関するユーザ入力の収集を容易化することができる。適切な入力装置は、たとえば、ディスプレイなどの１つ以上の適切な出力装置に関連して利用される、たとえば、キーボードおよびマウスの少なくともいずれかを含んでよい。ユーザは、入力装置を介して、１つ以上のブレークポイントの設定に関する入力を行うことができる。
【０１０４】
ブロック７１０において１つ以上のブレークポイントが設定されたら、動作はブロック７１５に継続されてよい。ブロック７１５において、シミュレーションを実行することができる。本発明の一実施形態において、シミュレーションは、その実行中に、図６を参照しながら前述した方法５１５に従って、必要に応じて管理および監視することができる。
【０１０５】
シミュレーションの実行中に、ブロック７２０において、シミュレーションの実行が終了したかどうかを判定することができる。ブロック７２０において、シミュレーションの実行は終了したと判定された場合は、方法７００を終了することができる。ただし、ブロック７２０において、シミュレーションの実行は終了していないと判定された場合、動作はブロック７２５に継続されてよい。
【０１０６】
ブロック７２５において、ブレークポイントに到達したかどうかを判定することができる。ブレークポイントに到達したかどうかを判定するために、ブレークポイントの設定基準である１つ以上の所定の条件が満たされたかどうかの判断を行うことができる。たとえば、所定のシミュレーション時間に少なくとも部分的に基づいてブレークポイントが設定されている場合は、ブロック７２５において、所定のシミュレーション時間に達したかどうか、および／または所定のシミュレーション時間を満たしたかどうかについての判断を行うことができる。ブロック７２５では、本発明の実施形態の要件に応じて、各種の異なるブレークポイントを検査できることは理解されるであろう。
【０１０７】
ブロック７２５において、いずれのブレークポイントにも到達または一致しないと判定された場合、動作はブロック７１５に継続されて、シミュレーションの実行を続行することができる。ただし、少なくとも１つのブレークポイントに到達していると判定された場合、動作はブロック７３０に継続されてよい。
【０１０８】
ブロック７３０において、シミュレーションの実行を中断することができる。シミュレーションの実行が中断または一時停止されたときに、シミュレーションシステムの１つ以上の構成要素によって該当する表示またはメッセージを出力できることは理解されるであろう。到達したブレークポイントを示す該当する表示またはメッセージも出力されてよい。たとえば、シミュレーションで利用される１つ以上のコンピュータ、たとえばインストラクタステーションなどは、ブレークポイントに到達したためにシミュレーションの実行が中断されたことを示す該当するメッセージを出力および／または表示することができる。他の例として、シミュレーションで利用される１つ以上のコンピュータ、たとえばインストラクタステーションなどは、シミュレーションの実行が中断または一時停止されたこと示すメッセージを、１つ以上の外部の装置またはシステムに送信または転送してもよい。
【０１０９】
ブロック７３０においてシミュレーションの実行が中断された後、動作はブロック７３５に継続されてよい。ブロック７３５において、単一ステップ入力を受け取ったかどうかの判定を行うことができる。単一ステップ入力は、アプリケーションコードおよび／またはシミュレーションモデルの実行をステップごとに進める、ユーザによる要望を示すものであってよい。アプリケーションコードは、本発明の一部の実施形態において、シミュレーションのあらゆるレベルで、必要に応じて１ステップずつ実行できることは理解されるであろう。単一ステップ入力は、本発明の実施形態において、必要に応じて、たとえば、キーボード、マウスなどの１つ以上の適切な入力装置を介してユーザから受け取ることができる。
【０１１０】
ブロック７３５において、単一ステップ入力を受け取ったと判定された場合、動作はブロック７４５に継続されてよい。これについては後で詳細に説明する。一方、ブロック７３５において、いずれの単一ステップ入力も受け取っていないと判定された場合、動作はブロック７４０に継続されてよい。
【０１１１】
ブロック７４０において、シミュレーションを再開する入力を受け取ったかどうかの判定を行うことができる。シミュレーションを再開する入力は、本発明の実施形態において、必要に応じて、たとえば、キーボード、マウスなどの１つ以上の適切な入力装置を介して、ユーザから受け取れることは理解されるであろう。ブロック７４０において、シミュレーションを再開する入力を受け取ったと判定された場合、動作はブロック７１５に継続されて、シミュレーションの実行を再開することができる。ただし、ブロック７４０において、シミュレーションを再開する入力を受け取っていないと判定された場合、動作は、前述したようにブロック７３０に継続されてよい。
【０１１２】
シミュレーションの実行が再開されたときに、シミュレーションシステムの１つ以上の構成要素によって該当する表示またはメッセージが出力されてよいことは理解されるであろう。たとえば、シミュレーションで利用される１つ以上のコンピュータ、たとえばインストラクタステーションなどは、シミュレーションの実行が再開されたことを示す該当するメッセージを出力および／または表示することができる。
【０１１３】
ブロック７３５において、単一ステップ入力を受け取った場合、動作はブロック７４５に継続されてよい。ブロック７４５において、シミュレーションの実行を、１ステップずつ先に進めることができる。単一ステップの実行中には、アプリケーションコードおよび／またはシミュレーションの実行を、１ステップずつ先に進めることができる。理解されるであろうが、アプリケーションコードは、本発明の一部の実施形態では、シミュレーションのあらゆるレベルにおいて、必要に応じて１ステップずつ先に進めることができる。一例として、たとえば、ガス化複合発電プラントの一側面をシミュレートする構成要素など、シミュレーションの構成要素を１ステップずつ先に進めることができる。他の例として、シミュレーションの複数の構成要素を１ステップずつ先に進めてもよい。
【０１１４】
一部の実施形態では任意の構成であってよいブロック７５０において、シミュレーションおよび／またはシミュレーションの実行に関連するデータは、シミュレーションシステムの１つ以上の構成要素、たとえば、シミュレーションシステムに対応付けられた１つ以上の適切なディスプレイなどを用いて出力することができる。幅広い種類の異なるデータは、本発明の一部の実施形態において、必要に応じて出力されてよく、たとえば、１つ以上のデータ変数および／またはパラメータの現在値、シミュレーションタイマの現在値、ならびにシミュレーションがステップ送りされていることを示す表示のうちの少なくともいずれかを出力することができる。ユーザは、データの出力先である、シミュレーションの１つ以上の構成要素を選択できることは理解されるであろう。また、ユーザは、データの出力先である１つ以上のデータ変数および／またはパラメータを選択できることも理解されるであろう。
【０１１５】
ブロック７５０におけるシミュレーションデータの出力に続き、動作はブロック７３５に継続されてよく、追加の単一ステップ入力を受け取ったかどうかの判定を行うことができる。この点に関して、ユーザは、必要に応じて、各種のパラメータおよび／または出力を追跡するために、シミュレーションの実行を、１ステップずつ進めることができる。ユーザは、任意の時点で、シミュレーションの実行を再開すること、またはシミュレーションの実行を中止することを選択することができる。ユーザがシミュレーションの実行を中止または終了した場合、またはシミュレーションが完了した場合は、本方法７００を終了してよい。
【０１１６】
図７に示した方法７００に基づいて前述した動作は、必ずしも図７に記載された順序で実行される必要はなく、任意の適切な順序で実行できることは理解されるであろう。また、本発明の一部の実施形態では、図７に記載した動作のほぼ全てを実行できることも理解されるであろう。
【０１１７】
図８は、本発明の具体的実施形態に係る、工学プロジェクトの訓練シミュレーションを実行する方法８００の一例を示すフローチャートである。本発明の一態様によれば、工学プロジェクトのシミュレーションシステムは、訓練シミュレータまたは訓練シミュレータ構成要素を包含するように、統合または拡張することができる。訓練シミュレータは、シミュレーションシステムによってシミュレートされた設備または工学プロジェクトの適切な用法および／または動作について、オペレータまたは他の作業員の訓練を容易にすることができる。工学プロジェクトに対応した訓練シミュレータを開発することは、比較的費用が高く、時間を消費するプロセスであり得る。本発明の一態様によれば、基底の工学プロジェクトをシミュレートするために要した労力と比べて、比較的少ない追加の労力で訓練シミュレータを提供することができる。
【０１１８】
また、本発明の一態様によれば、訓練シミュレータは、たとえば、図１Ａに図示した制御部シミュレーションモデル１１０など、工学プロジェクトの制御部をシミュレートするために利用するものと同一の制御システムを利用することができる。たとえば、ガス化複合発電システムのシミュレーションの一部として、当該発電システムの制御部は、制御部シミュレーションモデル１１０によってシミュレートされてよい。訓練シミュレータは、訓練プログラム、シナリオ、および／またはシミュレーションの実行を容易にするためにも、前記制御部シミュレーションモデル１１０を利用することができる。
【０１１９】
工学プロジェクトの訓練シミュレーションを実行する方法８００は、ブロック８０５において開始されてよい。ブロック８０５において、１つ以上の訓練シミュレーションパラメータを決定することができる。この訓練シミュレーションパラメータを利用して、訓練シナリオおよび／または訓練の目的を定義することができる。たとえば、訓練シミュレーションパラメータは、訓練シナリオの開始条件または開始状態を定義することができる。ガス化複合発電プラントの例において、訓練シミュレーションパラメータは、特に、発電プラントの初期条件、たとえば、起動条件、タービン負荷条件などを設定することができる。他の例として、訓練シミュレーションパラメータは、訓練シミュレーションの実行中に生じるイベントを定義することができる。イベントは、ランダム、所定の時点、および／または１つ以上の所定の状態の発生後に生じ得ることは理解されるであろう。幅広い種類の異なるイベントは、本発明の一部の実施形態において、訓練シミュレーション中に必要に応じて発生してよい。
【０１２０】
訓練シミュレーションパラメータの一部または全ては、任意の数の適切な人員によって選択および／または入力されてよく、この人員は、たとえば、訓練シミュレーションを利用して訓練または指導されている個人、または被訓練者のために訓練シミュレーションを調整している指導者であってよい。追加または代替の構成として、訓練シミュレーションパラメータの一部または全ては、訓練シミュレーション中に実行されることになる１つ以上の所定の訓練シナリオに従って定義されてよい。理解されるであろうが、１つ以上の所定の訓練シナリオは、シミュレーションシステムの１つ以上の構成要素に対応付けられた１つ以上の適切なメモリデバイス内に、図１Ａに示したシステム１００の構成要素などによって保存されてよい。また、１つ以上の訓練シナリオは、任意の数の適切な入力装置と、たとえば、ディスクドライブ、可搬式メモリデバイス、および／またはネットワーク接続のような接続とのうちの少なくともいずれかを利用して、シミュレーションシステム１００によって受け取られてよい。
【０１２１】
訓練シミュレーションパラメータの決定に続いて、動作はブロック８１０に継続されてよく、訓練シミュレーションを初期化することができる。本方法８００は、訓練シミュレーションの初期化の前に訓練シミュレーションパラメータが決定されているものとして記載されているが、１つ以上の訓練シミュレーションパラメータは、ブロック８１０における訓練シミュレーションの初期化の後で、決定、入力、および／または受信できることは理解されるであろう。
【０１２２】
ブロック８１５において、初期化された訓練シミュレーションを実行することができる。訓練シミュレーションの実行中に、たとえば、ガス化複合発電プラントなどの工学プロジェクトを、訓練シミュレーションパラメータに従ってシミュレートして、当該工学プロジェクトの適切または正しい動作について人員を訓練することができる。
【０１２３】
ブロック８２０において、訓練シミュレーションは完了したかどうかの判定を行うことができる。ブロック８２０において訓練シミュレーションは完了したと判定された場合、方法８００の動作を終了することができる。ただし、ブロック８２０において、訓練シミュレーションは完了していないと判定された場合、動作はブロック８２５に継続されてよい。
【０１２４】
一部の実施形態では任意の構成であってよいブロック８２５において、訓練シミュレーションに関連するデータを出力することができる。訓練を容易にするために、幅広い種類のデータを、必要に応じて表示または他の方式で出力できることは理解されるであろう。たとえば、シミュレートされた工学プロジェクトの１つ以上の構成要素の現在の状態および動作に関連するデータを、被訓練者に表示することができる。他の例として、データは、外部の装置またはシステムに送信、可搬式メモリデバイスに格納、および／または印刷されてもよい。
【０１２５】
ブロック８３０において、いずれかのユーザ入力または他の入力を受け取ったかどうかの判定を行うことができる。入力は、たとえば、訓練シミュレーションを利用している被訓練者および／または被訓練者の指導者のような幅広い種類の供給元から受け取ることができる。たとえば、被訓練者は、シミュレートされた工学プロジェクトの動作を調整または修正するための命令を入力することができる。被訓練者は、シミュレートされた工学プロジェクトの現在の状態に関連するシミュレーションデータの出力に応答して、命令を入力することができる。他の例として、指導者は、訓練シミュレータおよび／または土台をなすシミュレートされた工学プロジェクトの実行内容を変更するための命令を入力することができる。この点において、指導者は、訓練シミュレーションに対する新しい訓練シミュレーションパラメータもしくはシナリオ、またはその両方を導入することができる。たとえば、指導者は、シミュレートされた工学プロジェクトに異常事態を挿入する命令を入力できる。本発明の一部の実施形態において、ユーザ入力を受け取るために、たとえば、キーボード、マウス、タッチパッド、選択可能ディスプレイなど、必要に応じて任意の数の適切な装置を利用できることは理解されるであろう。
【０１２６】
ブロック８３０において、いずれのユーザ入力も受け取っていないと判定された場合、動作はブロック８４０に継続されてよい。ただし、ブロック８３０において、ユーザ入力を受け取ったと判定された場合、動作は任意構成のブロック８３５に継続されてよく、受け取ったユーザ入力に少なくとも部分的に基づいて、訓練シミュレーションの実行を調整することができる。次に、動作はブロック８４０に継続されてよい。
【０１２７】
ブロック８４０において、１つ以上の所定のイベントが起動されたかどうかの判定を行うことができる。所定のイベントは、任意の事前定義条件、イベント、および／またはシナリオであってよく、これらは、所定のイベントに関連付けられた１つ以上の閾値条件が発生した時点で起動される。たとえば、所定のイベントは、シミュレートされた工学プロジェクトに関連付けられた警報、非常事態イベント、または保守イベントであってよい。ガス化複合発電プラントのシミュレーション例において、所定のイベントは、たとえば、発電プラントの動作がシミュレートされた際の発電プラントの１つ以上の構成要素の劣化に基づいて起動されてよい。
【０１２８】
本発明の一部の実施形態において、必要に応じて、幅広い種類の所定のイベントを定義でき、そのイベントについての１つ以上の閾値条件が満たされた時点で、当該イベントを起動できることは理解されるであろう。また、所定のイベントに、多くの異なるタイプの閾値条件を設定することができ、たとえば、シミュレーションタイマに関連付けられた閾値条件、および／またはシミュレートされた工学プロジェクトに付随する１つ以上のパラメータまたは変数の値に関連付けられた閾値条件などを設定できることも理解されるであろう。
【０１２９】
ブロック８４０において、１つ以上の所定のイベントが起動されたと判定されなかった場合、動作はブロック８１５に継続されてよく、訓練シミュレーションの実行を継続することができる。ただし、ブロック８４０において、１つ以上の所定のイベントが起動されたと判定された場合、動作はブロック８４５に継続されてよく、その所定のイベントを実行することができる。所定のイベントの実行は、シミュレートされた工学プロジェクトの各種パラメータを修正または調整するように作用してよい。これに関して、訓練シミュレータを利用して、被訓練者に訓練課題を提示することができる。加えて、たとえば、グラフィカルディスプレイなど、各種の適切な出力装置を利用して、被訓練者、または所定のイベントの実行に関連のある他のユーザにデータを出力してもよい。
【０１３０】
ブロック８５０において、１つ以上の所定のイベントの実行に応答して、ユーザ入力を受け取ることができる。本発明の一部の実施形態では、ユーザ入力を受け取るために、たとえば、キーボード、マウス、タッチパッド、選択可能ディスプレイなど、任意の数の適切な装置を必要に応じて利用することができる。この点において、シミュレートされた工学プロジェクトの適正な動作条件を維持するための試みとして、被訓練者は、実行されている所定のイベントに応答することができる。たとえば、被訓練者は、工学プロジェクトのシミュレートされた構成要素の１つ以上の動作を調整することができる。他の例として、被訓練者は、シミュレートされた工学プロジェクトに対する保守や修理の予定を決定してもよい。さらに他の例として、被訓練者は、シミュレートされた工学プロジェクトを停止してもよい。
【０１３１】
ブロック８５５において、所定のイベントは終了可能であるかどうかの判定を行うことができる。ある種の所定のイベントは、当該イベントに対応付けられた警報、および／または所定のイベントを終了する前に満たす必要がある条件を備えていてよい。所定のイベントは、必ずしも、警報および／または所定のイベントを終了する前に満たす必要がある条件を持たなくてもよいことは理解されるであろう。これらの警報および／または条件を有する所定のイベントに関しては、ブロック８５５において、警報を終了してよいかどうかの判定、および／またはイベントを終了する条件が満たされたかどうかの判定を行うことができる。
【０１３２】
ブロック８５５において、所定のイベントを終了してよいと判定された場合、その所定のイベントは、ブロック８６０において終了することができ、動作はブロック８１５に継続されてよい。ただし、ブロック８５５において、所定のイベントを終了できないと判定された場合、動作はブロック８６５に継続されてよい。所定のイベントに関連付けられた終了条件が存在しない場合、動作はブロック８１５に継続されてよい。また、一部の警報は停止する必要がないことは理解されるであろう。このような場合、動作はブロック８１５に継続されてよい。
【０１３３】
ブロック８６５において、土台をなす、シミュレートされた工学プロジェクトに関連付けられた障害、たとえば、工学プロジェクトの停止を必要とする状態など、が発生したかどうかの判定を行うことができる。ブロック８６５において、障害は発生していないと判定された場合、動作はブロック８５０に継続されてよく、所定のイベントに応答して、追加のユーザ入力を受け取ることができる。一方、ブロック８６５において、障害が発生していると判定された場合は、本方法８００を終了してよい。
【０１３４】
図８に示した方法８００に基づいて前述した動作は、必ずしも図８に記載された順序で実行される必要はなく、むしろ任意の適切な順序で実行できることは理解されるであろう。また、本発明の一部の実施形態では、図８に記載した動作のほぼ全てを実行できることも判るであろう。また、訓練シミュレーションでは、シミュレーションの一時停止、保存、復元、および再開を含め、工学シミュレーションによって実行される動作と同様の多数の動作を実行できることも理解されるであろう。たとえば、訓練シミュレータは、訓練シミュレーションの実行中に、当該訓練シミュレーションを定期的に保存することができ、これは、訓練シミュレーションのスナップショットの保存とも呼ばれる。これらの保存または取り込まれたスナップショットは、後に、訓練シミュレーションを再開するため、または新しい訓練シミュレーションを開始するために呼び出すことができる。
【０１３５】
本発明について、本発明の実施形態に係るシステム、方法、装置、およびコンピュータプログラム製品のブロック図を参照しながら説明した。ブロック図の各ブロック、およびブロック図内のブロックの組み合わせは、それぞれ、コンピュータプログラム命令によって実現できることは理解されるであろう。これらのコンピュータプログラム命令を、汎用コンピュータ、専用コンピュータ、または他のプログラマブルデータ処理装置に読み込んで、コンピュータまたは他のプログラマブルデータ処理装置上で実行される命令が、前記ブロック図の各ブロックの機能、またはブロック図内のブロックの組み合わせの機能を実施する手段を形成するように、マシンを作製することができる。これについて、下記で詳述する。
【０１３６】
また、これらのコンピュータプログラム命令は、コンピュータ可読メモリに格納されてもよく、このコンピュータプログラム命令が、コンピュータまたは他のプログラマブルデータ処理装置を特定の方式で動作させることにより、前記コンピュータ可読メモリに格納された命令は、単一または複数の前記ブロックに指定された機能を実施する命令手段を含む製品を作製することができる。また、コンピュータプログラム命令を、コンピュータまたはプログラマブルデータ処理装置上に呼び出し、当該コンピュータまたはプログラマブル装置上で一連の動作要素を実行することで、前記コンピュータまたは他のプログラマブル装置上で実行される命令が、単一または複数の前記ブロックに指定された機能を実施する要素を提供するように、コンピュータ実装プロセスを作製してもよい。
【０１３７】
したがって、ブロック図のブロックは、指定の機能を実行する手段の組み合わせと、指定の機能を実行する要素の組み合わせと、指定の機能を実行するプログラム命令手段とを支援するものである。ブロック図の各ブロックおよびブロック図内のブロックの組み合わせは、指定の機能または要素を実行する専用ハードウェアベースのコンピュータシステムによって、または専用ハードウェアとコンピュータ命令の組み合わせによって実施されてよいことも理解されるであろう。
【０１３８】
本発明の実施形態は、コンピュータのオペレーティングシステム上で動作するアプリケーションプログラムによって実施されてもよい。また、これらの実施形態は、他のコンピュータシステム構成を利用して実施されてもよく、たとえば、手持ち式装置、マルチプロセッサシステム、マイクロプロセッサベースの民生用電化製品、プログラム可能な民生用電化製品、ミニコンピュータ、メインフレームコンピュータなどで実施されてよい。
【０１３９】
本発明の実施形態の構成要素であるアプリケーションプログラムは、特定の抽象データ型を実装して、特定のタスク、動作、他のタスクを実行するルーチン、プログラム、コンポーネント、データ構造などを包含することができる。分散コンピューティング環境において、アプリケーションプログラム（の全体または一部）は、ローカルメモリ内または他の記憶装置内に配置されてよい。これに追加または代替の構成として、アプリケーションプログラム（の全体または一部）を、リモートメモリ内または記憶装置内に配置して、通信ネットワークを介して連結されたリモート処理装置によってタスクが実行される本発明の応用例を実現することもできる。
【０１４０】
上述の詳細な説明および添付図面に開示した本発明の教示内容による利点を有する、本発明における様々な改変形態および本明細書に記載した以外の実施形態が当業者に想起可能であろう。本発明は、開示した特定の実施形態にとどまらず、それらの改変形態およびその他の実施形態も添付の特許請求の範囲の範疇に含まれるものとする。なお、本明細書に使用した特定の用語は、限定目的においてではなく、あくまでも説明目的において広義的に用いられている。
【符号の説明】
【０１４１】
１００  システム
１０２  システム
１０５  設備シミュレーションモデル
１１０  制御部シミュレーションモデル
１１５  インストラクタステーション
１１７  コンピュータ
１１８  コンピュータ
１２２  コンピュータ
１２４  コンピュータ
１２６  コンピュータ
１２８  コンピュータ
１３０  コンピュータ
１３１  ネットワークスイッチ
１３２  コンピュータ
１３４  コンピュータ
１３６  コンピュータ
１３８  コンピュータ
１４０  コンピュータ
１４２  コンピュータ
１４４  コンピュータ
１４６  コンピュータ
１５０  工学技術室
１５２  コンピュータ
１５４  コンピュータ
１６０  制御室
１６２  コンピュータ
１６４  コンピュータ
１６６  コンピュータ
２００  アーキテクチャ
２０５  メモリカード
２１０  メモリカード
２１５  メモリカード
２２０  アプリケーション層
２２５  通信層
２３０  データ入力ブロック
２３５  データ出力ブロック
２４０  ＲＦＭインターフェース
２４５  共有メモリ層
２５０  ネットワークプロトコル層
２５５  データパーティション
２６０  制御パーティション
３００  システム
３０５  工学シミュレータ
３１０  ハードウェアプラットフォーム
３１５  設備モデル
３２０  制御部モデル
３２２  シミュレーションエグゼクティブ
３２５  訓練シミュレータ
３３０  インストラクタステーション
４００  コンピュータ
４０５  メモリ
４１０  プロセッサ
４１５  プログラム化論理
４２０  データ
４２５  オペレーティングシステム
４４０  入出力（Ｉ／Ｏ）インターフェース
４４５  ユーザインターフェース機器
５００  方法
５０５  ブロック
５１０  ブロック
５１５  ブロック
５２０  ブロック
５２５  ブロック
５３５  ブロック
６００  方法
６０５  ブロック
６１０  ブロック
６１５  ブロック
６２０  ブロック
６２５  ブロック
６３０  ブロック
６３５  ブロック
７００  方法
７０５  ブロック
７１０  ブロック
７１５  ブロック
７２０  ブロック
７２５  ブロック
７３０  ブロック
７３５  ブロック
７４０  ブロック
７４５  ブロック
７５０  ブロック
８００  方法
８０５  ブロック
８１０  ブロック
８１５  ブロック
８２０  ブロック
８２５  ブロック
８３０  ブロック
８３５  ブロック
８４０  ブロック
８４５  ブロック
８５０  ブロック
８５５  ブロック
８６０  ブロック
８６５  ブロック
【図１Ａ】
2009265668.tif 000003
【図１Ｂ】
2009265668.tif 000004
【図２】
2009265668.tif 000005
【図３】
2009265668.tif 000006
【図４】
2009265668.tif 000007
【図５】
2009265668.tif 000008
【図６】
2009265668.tif 000009
【図７】
2009265668.tif 000010
【図８】
2009265668.tif 000011