(57)【要約】【課題】シミュレーションの時間を倍速で行った場合の演算負荷を低減し、より少ない計算機台数で、臨場感のあるシミュレーションを行う。【解決手段】実施形態によれば、プラント模擬装置は、シミュレータ計算部１００が計算部１１０，１２０，１３０を有し、その計算部１１０に実機プラントを模擬する少なくとも１つのプラント模擬部１１１，…を有する。このプラント模擬部１１１，…は、データ共有部１０５を介して計算部１２０，１３０と入出力を行い、データ再生部１０４により読み出した運転データを用いて実機プラントの模擬を行う。シミュレータ実行制御部１０２は、複数のプラント模擬部１１１，…から演算を行うプラント模擬部を指定し、シミュレータ実行制御部１０２の指定により演算を停止したプラント模擬部の出力として、データ再生部１０４により読み出した運転データをデータ共有部１０５に出力する。【選択図】図１
2016071227.tif 000002
【特許請求の範囲】
【請求項１】
実機プラント及び実機監視制御装置の模擬を行うシミュレータ計算部と、
前記シミュレータ計算部のデータに基づいて前記実機監視制御装置を模擬する監視制御部と、
前記シミュレータ計算部の実行制御を行うシミュレータ実行制御部と、
前記実機プラントの運転データ又は前記シミュレータ計算部によるシミュレーション結果の運転データを蓄積する運転データ蓄積部と、
前記運転データ蓄積部の運転データを、指定された時刻から読み出すデータ再生部と、を備え、
前記シミュレータ計算部は、入出力データを記憶し、読み出すデータ共有部と、少なくとも１つの計算部とを備え、１つの計算部の場合に前記実機プラントを模擬する複数のプラント模擬部を有し、かつ複数の計算部の場合に少なくとも１つのプラント模擬部を有し、このプラント模擬部は、前記データ共有部を介して前記計算部と演算データの入出力を行い、前記データ再生部により読み出した運転データを用いて前記実機プラントの模擬を行い、
前記シミュレータ実行制御部は、前記複数のプラント模擬部から演算を行うプラント模擬部を指定し、前記シミュレータ実行制御部の指定により演算を停止した前記プラント模擬部の出力として、前記データ再生部により読み出した運転データを前記データ共有部に出力することを特徴とするプラント模擬装置。
【請求項２】
前記プラント模擬部は、プラントの構成要素として質量の積算を行う積算要素により模擬された機器を境界として他のプラント模擬部と分割されたことを特徴とする請求項１に記載のプラント模擬装置。
【請求項３】
前記計算部が複数設置された場合、前記シミュレータ実行制御部は、前記プラント模擬部の演算負荷に関する情報を有し、この情報に基づいて各計算部の負荷が均一に近くなるように、前記複数の計算部から演算する計算部を選択することを特徴とする請求項１に記載のプラント模擬装置。
【請求項４】
前記シミュレータ実行制御部は、前記監視制御部の操作を監視し、高速で実行しているときに、その操作があった場合には、演算速度を等倍速に戻すように制御することを特徴とする請求項１に記載のプラント模擬装置。
【請求項５】
前記運転データ蓄積部は、運転データを編集する運転データ編集部と接続され、前記運転データの値を変更し保存することを特徴とする請求項１に記載のプラント模擬装置。
【請求項６】
前記データ共有部が複数設置され、前記シミュレータ実行制御部は、前記複数の計算部と前記複数のデータ共有部を対応付けて切替を行い、前記複数の計算部が独立した複数の演算を並列に実行することを特徴とする請求項１に記載のプラント模擬装置。
【請求項７】
実機プラント及び実機監視制御装置の模擬を行うシミュレータ計算部と、
前記シミュレータ計算部のデータに基づいて前記実機監視制御装置を模擬する監視制御部と、
前記シミュレータ計算部の実行制御を行うシミュレータ実行制御部と、
前記実機プラントの運転データ又は前記シミュレータ計算部によるシミュレーション結果の運転データを蓄積する運転データ蓄積部と、
前記運転データ蓄積部の運転データを、指定された時刻から読み出すデータ再生部と、を備え、
前記シミュレータ計算部は、入出力データを記憶し、読み出すデータ共有部と、少なくとも１つの計算部とを備え、１つの計算部の場合に前記実機プラントを模擬する複数のプラント模擬部を有し、かつ複数の計算部の場合に少なくとも１つのプラント模擬部を有し、このプラント模擬部は、前記データ共有部を介して前記計算部と演算データの入出力を行い、前記データ再生部により読み出した運転データを用いて前記実機プラントの模擬を行うプラント模擬方法であって、
前記シミュレータ実行制御部が、前記複数のプラント模擬部から演算を行うプラント模擬部を指定するプラント模擬部指定工程と、
前記シミュレータ実行制御部が、前記指定により演算を停止した前記プラント模擬部の出力として、前記データ再生部により読み出した運転データを前記データ共有部に出力する運転データ出力工程と、
を有することを特徴とするプラント模擬方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、プラント模擬装置及びプラント模擬方法に関する。
【背景技術】
【０００２】
近年、発電プラント、再処理プラント等のプラントにおいては、詳細なプラント及び制御特性に基づき、プラントを操作する運転員の訓練を行いたいというニーズが高まっている。そのため、運転訓練シミュレータでは、物理の数式、化学式を多用し、機器及び制御ロジックの模擬も広範囲にわたる複雑なシミュレーションモデルを多く適用している。
【０００３】
運転訓練シミュレータの計算機（以下、計算部ともいう。）ハードの演算能力は、ＣＰＵ（中央情報処理装置）性能の向上と、メモリ、ディスク容量の増大により年々高まっている。しかしながら、複雑なシミュレーションモデルを適用した場合には、計算機ソフト量（演算量）が飛躍的に多くなり、演算性能が低下してしまうことになる。その結果、運転訓練シミュレータに必要とされる演算のリアルタイム性を確保することができなくなるという課題がある。
【０００４】
従来のプラント模擬装置では、時間積分手法又は時間刻みの調整、個別のモデルソフトの改良（演算プログラムの簡易化、収束計算を行う演算の高速化等）、又は個別チューニングにより、シミュレーションモデルの演算量を減らすようなチューニングを行っていた。
【０００５】
その他、演算量を低減させる手段として、特許文献１，２に記載された分散型のシミュレーションが提案されている。この分散型のシミュレーションは、複数の計算機、又はＣＰＵに演算処理を分散し、１つの計算機で行う演算量を低下させることで計算機システム全体としての演算負荷を低下させ、運転訓練シミュレータのリアルタイム性を確保している。
【０００６】
一般的な運転訓練シミュレータでは、倍速機能が備わっている。この倍速機能とは、シミュレーションでの時間を通常よりも速く（２倍速、４倍速等）進ませて、運転訓練を効率よく行う機能のことである。ここで、計算機の演算負荷を低下させるため、上記のように複数の計算機に演算処理を分散した場合でも、倍速機能を実施しても演算が十分行えるように計算機システムの構成を設計している。そのため、等倍速にした時には、各計算機の負荷が低くなり、計算機資源を有効に活用することができないといった問題が発生する。
【０００７】
また、複数の計算機を導入した場合には、その設置数に伴って従来よりも多くの設置スペースを必要としてしまう課題がある。
【０００８】
従来技術を用いた場合の課題を、図８及び図９を用いて説明する。
【０００９】
図８は従来のプラント模擬装置において単一の計算部により運転訓練シミュレータを実行する例を示すブロック図である。図９は従来のプラント模擬装置において複数の計算部により運転訓練シミュレータを実行する例を示すブロック図である。
【００１０】
図８に示す計算部１１０は電子計算機であり、内部にＣＰＵ、メモリ等の演算に必要な装置を備えている。計算部１１０は、プラント模擬部１１１，１１２，１１３，１１４及び１１５までの５つの演算機能を備えている。ここで、プラント模擬部とは、運転訓練シミュレータで模擬するプラント特性、制御装置のロジックを含めたソフトにより実現される機能である。
【００１１】
図８に示すように、１つのプラント模擬部の演算を行うために、等倍速でＣＰＵ負荷が１０％必要とすると、プラント模擬部１１１〜１１５までを実施するために、１０％負荷×５＝５０％のＣＰＵ負荷が必要となる。なお、これは等倍速の場合であり、２倍速の場合には、同じ時間幅の中で２倍の演算を行うことから、１０％負荷×５×２倍＝１００％負荷となる。よって、１つの計算機の場合、５つのプラント模擬部１１１〜１１５で演算を２倍速で実行すると、全ての計算機能力（１００％）を使い切ってしまう。
【００１２】
そのため、図９に示す従来のプラント模擬装置により、複数台の計算機による負荷分散を実施する。図９に示す従来のプラント模擬装置は、計算部１１０，１２０，１３０，１４０及び１５０（以下、１１０〜１５０と略称する。）の５台の計算部を有している。これらの計算部１１０〜１５０は、それぞれ独立した計算機であり、内部にプラント模擬部を１つだけ備えている。
【００１３】
したがって、等倍速の実行時には、計算部１１０〜１５０の負荷は、それぞれ１０％であり、２倍速を実行しても１０％負荷×２倍＝２０％の負荷にしかならない。また、２倍速の５倍の演算量である１０倍速を実行した場合に、１０％負荷×１０倍速＝１００％負荷となり、計算部の能力を１００％使い切るとすれば、１０倍速までの演算が可能となる。
【００１４】
よって、同じプラント模擬部の数（同じソフト演算量となる）で比較した場合、複数の計算部を導入することで、より高速な演算を実現することができることがわかる。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開平１０−３９７２８号公報
【特許文献２】特開平９−１６５５４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
しかしながら、最大性能（上記の場合では、５つのプラント模擬部を１０倍速で実行可能である。）を発揮することができるように複数の計算部を導入すると、等倍速の場合は各計算部の負荷は１０％程度であり、９０％のＣＰＵ負荷が有効活用することができていないこととなる。しかも、５台設置された計算部１１０〜１５０の中で５台とも負荷が１０％である。
【００１７】
また、５台の計算部１１０〜１５０を導入したことにより、５台分の設置スペースが必要になるとともに、消費電力も５倍に増加し、計算機の発熱による空調設備（冷却能力）も５倍必要になる等のデメリットがある。このデメリットの解消と計算機システムとしての演算能力の向上とが同時に成立しない二律背反の関係が生じる課題があった。
【００１８】
本発明の実施形態が解決しようとする課題は、シミュレーションを倍速で行った場合の演算負荷を低減し、より少ない計算部の台数で、臨場感のあるシミュレーションを行うことのできるプラント模擬装置及びプラント模擬方法を提供することにある。
【課題を解決するための手段】
【００１９】
上記課題を解決するために、本実施形態に係るプラント模擬装置は、実機プラント及び実機監視制御装置の模擬を行うシミュレータ計算部と、前記シミュレータ計算部のデータに基づいて前記実機監視制御装置を模擬する監視制御部と、前記シミュレータ計算部の実行制御を行うシミュレータ実行制御部と、前記実機プラントの運転データ又は前記シミュレータ計算部によるシミュレーション結果の運転データを蓄積する運転データ蓄積部と、前記運転データ蓄積部の運転データを、指定された時刻から読み出すデータ再生部と、を備え、前記シミュレータ計算部は、入出力データを記憶し、読み出すデータ共有部と、少なくとも１つの計算部とを備え、１つの計算部の場合に前記実機プラントを模擬する複数のプラント模擬部を有し、かつ複数の計算部の場合に少なくとも１つのプラント模擬部を有し、このプラント模擬部は、前記データ共有部を介して前記計算部と演算データの入出力を行い、前記データ再生部により読み出した運転データを用いて前記実機プラントの模擬を行い、前記シミュレータ実行制御部は、前記複数のプラント模擬部から演算を行うプラント模擬部を指定し、前記シミュレータ実行制御部の指定により演算を停止した前記プラント模擬部の出力として、前記データ再生部により読み出した運転データを前記データ共有部に出力することを特徴とする。
【００２０】
本実施形態に係るプラント模擬方法は、実機プラント及び実機監視制御装置の模擬を行うシミュレータ計算部と、前記シミュレータ計算部のデータに基づいて前記実機監視制御装置を模擬する監視制御部と、前記シミュレータ計算部の実行制御を行うシミュレータ実行制御部と、前記実機プラントの運転データ又は前記シミュレータ計算部によるシミュレーション結果の運転データを蓄積する運転データ蓄積部と、前記運転データ蓄積部の運転データを、指定された時刻から読み出すデータ再生部と、を備え、前記シミュレータ計算部は、入出力データを記憶し、読み出すデータ共有部と、少なくとも１つの計算部とを備え、１つの計算部の場合に前記実機プラントを模擬する複数のプラント模擬部を有し、かつ複数の計算部の場合に少なくとも１つのプラント模擬部を有し、このプラント模擬部は、前記データ共有部を介して前記計算部と演算データの入出力を行い、前記データ再生部により読み出した運転データを用いて前記実機プラントの模擬を行うプラント模擬方法であって、前記シミュレータ実行制御部が、前記複数のプラント模擬部から演算を行うプラント模擬部を指定するプラント模擬部指定工程と、前記シミュレータ実行制御部が、前記指定により演算を停止した前記プラント模擬部の出力として、前記データ再生部により読み出した運転データを前記データ共有部に出力する運転データ出力工程と、を有することを特徴とする。
【発明の効果】
【００２１】
本発明の実施形態によれば、シミュレーションを倍速で行った場合の演算負荷を低減し、より少ない計算部の台数で、臨場感のあるシミュレーションを行うことが可能となる。
【図面の簡単な説明】
【００２２】
【図１】第１実施形態のプラント模擬装置を示すブロック図である。
【図２】第１実施形態のデータ切替部と他の各部との接続関係を示すブロック図である。
【図３】図１のシミュレータ実行制御部に記憶された実行割当てデータベースを示す説明図である。
【図４】第１実施形態の計算部割当て処理を示すフローチャートである。
【図５】第１実施形態の計算部割当て結果の演算負荷を示す説明図である。
【図６】第２実施形態を適用したプラントモデルの構成を示す説明図である。
【図７】第３実施形態のプラント模擬装置を示すブロック図である。
【図８】従来のプラント模擬装置において単一の計算部により運転訓練シミュレータを実行する例を示すブロック図である。
【図９】従来のプラント模擬装置において複数の計算部により運転訓練シミュレータを実行する例を示すブロック図である。
【発明を実施するための形態】
【００２３】
以下に、本実施形態に係るプラント模擬装置及びプラント模擬方法について、図面を参照して説明する。
【００２４】
（第１実施形態）
図１は第１実施形態のプラント模擬装置を示すブロック図である。なお、従来の構成と同一又は対応する部分には、同一の符号を付して説明する。
【００２５】
図１に示すように、本実施形態のプラント模擬装置は、シミュレータ計算部１００と、監視制御部１０１と、シミュレータ実行制御部１０２と、運転データ蓄積部１０３と、データ再生部１０４と、データ共有部１０５と、運転データ収集部１０６と、運転データ編集部２１０と、を備える。
【００２６】
シミュレータ計算部１００は、実機プラント及び実機監視制御装置の模擬を行う。監視制御部１０１は、シミュレータ計算部１００のデータに基づいて実機監視制御装置を模擬する。シミュレータ実行制御部１０２は、シミュレータ計算部１００の演算開始又は演算停止、初期状態の設定等の実行制御を行う。
【００２７】
運転データ蓄積部１０３は、シミュレータ計算部１００によるシミュレーション結果の運転データ、及び運転データ収集部１０６からの実機の運転データ３０３を蓄積する。データ再生部１０４は、運転データ蓄積部１０３のデータを指定された時刻から読み出す。データ共有部１０５は、シミュレータ計算部１００の入出力データを記憶し、読み出しを行う。運転データ収集部１０６は、実機の運転データを収集する。運転データ編集部２１０は、運転データ蓄積部１０３のデータを加工し、運転編集データ３０４として出力する。
【００２８】
シミュレータ計算部１００は、計算部１１０、計算部１２０、計算部１３０及びデータ共有部１０５から構成されている。計算部１１０は、実機プラントを模擬する２つのプラント模擬部１１１，１１２を有する。計算部１２０は、実機プラントを模擬する３つのプラント模擬部１２１，１２２，１２３を有する。計算部１３０は、実機プラントを模擬する１つのプラント模擬部１３１を有する。これらのプラント模擬部１１１，１１２，１２１，１２２，１２３，及び１３１は、データ共有部１０５を介して計算部１１０、計算部１２０、及び計算部１３０と入出力を行い、さらにデータ再生部１０４で読み出したデータを活用して実機プラントの模擬を行う。
【００２９】
なお、以下の説明では、計算部及びプラント模擬部を具体的に特定せず、全体又はいずれかの計算部及びプラント模擬部を示す場合、符号を付すのを省略している。
【００３０】
シミュレータ実行制御部１０２は、複数のプラント模擬部１１１，１１２，１２１，１２２，１２３，及び１３１のうち、演算を行うプラント模擬部を指定する。シミュレータ実行制御部１０２は、その指定により演算を停止したプラント模擬部の出力として、データ再生部１０４により読み出した運転データ３０３をデータ共有部１０５に出力する。
【００３１】
シミュレータ計算部１００は、いわゆる計算機であり、ＣＰＵやメモリ等といったソフトウェアの演算に必要な機器から構成されている。シミュレータ計算部１００は、内部にプラント模擬部として実機プラントの特性や、実機監視制御装置の演算ロジックを模擬するソフトウェアを搭載し、運転訓練シミュレータの核となるプラント模擬を行う。
【００３２】
なお、シミュレータ計算部１００は、１台の計算部から構成されてもよく、あるいは本実施形態のように複数の計算部（例えば、計算部１１０、計算部１２０、計算部１３０）から構成されてもよい。なお、１台の計算部の場合には、複数のプラント模擬部を備えている。また、複数の計算部の場合は、１つの計算部の内部に少なくとも１つのプラント模擬部を備えている。
【００３３】
このシミュレータ計算部１００は、監視制御部１０１に接続されている。この監視制御部１０１は、プラントの運転員が操作する監視及び操作画面の模擬を行う。シミュレータ計算部１００の演算結果データと、監視制御部１０１で運転員が実施した操作の信号は、監視制御データ３００として互いに入出力される。
【００３４】
監視制御部１０１は、実機同様のハードを用いて、シミュレータ計算部１００の演算結果を元に表示を行ってもよいし、計算機と監視制御部１０１の模擬ソフト、表示モニタ等により実機同様のハードでなくても、ソフト的に模擬されてもよい。
【００３５】
シミュレータ実行制御部１０２は、シミュレータ計算部１００に接続され、このシミュレータ計算部１００に搭載されたソフトの演算開始又は演算停止、シミュレーション計算に必要な初期状態の設定等を実行制御データ３０１として出力し、実行制御を行う。
【００３６】
運転データ収集部１０６は、実機プラントの監視制御装置に接続され、実機プラントからの運転データを収集し、この運転データ３０３を運転データ蓄積部１０３に出力して蓄積する。運転データ蓄積部１０３は、シミュレータ計算部１００により演算した結果の演算データ３０２を蓄積する。運転データ蓄積部１０３に蓄積した運転データ３０３は、データ再生部１０４により読み出して再生される。
【００３７】
データ再生部１０４は、シミュレータ実行制御部１０２から送信されるクロック信号に基づいて、他のプラント模擬部と同期するようにデータ再生を行う。このクロック信号は、データ再生部１０４自体にクロック信号を有し、そのクロック信号を参照するようにしてもよい。
【００３８】
また、データ再生部１０４が読み出す運転データ３０３の開始時刻については、シミュレータ実行制御部１０２でシミュレーション開始の断面データである初期状態のセットを行うが、この初期状態と運転データ３０３の開始時刻を対応付けておけばよい。ある初期状態が選択された場合には、上記の通りに対応付けられた開始時刻をシミュレータ実行制御部１０２からの実行制御データ３０１としてデータ再生部１０４に送信し、この時刻から運転データ３０３の読み出しを行う。
【００３９】
計算部が複数設けられている場合は、互いの計算結果を参照するためにデータ共有部１０５を介して演算データ３０２の入出力を行う。例えば、図１のプラント模擬部１１１とプラント模擬部１２１は、データ共有部１０５を介して互いの演算データ３０２を送受信する。
【００４０】
実際のプラントにおける構成機器のプロセス（圧力、温度、流量等）は、隣接する機器の間で互いに相互作用が発生する。プラントをソフトウェアで模擬する場合には、例えば主要な系統によってソフトウェアの機能を分割し、模擬を行う。プラント模擬部の１つ１つが、プラントモデルの分割された系統に対応する。このためモデル分割されたプラント模擬部の互いのインターフェイス部分では、機器の相互作用に相当するデータの入出力が必要となる。
【００４１】
シミュレータ実行制御部１０２は、複数のプラント模擬部１１１，１１２，１２１，１２２，１２３，及び１３１のうち、どのプラント模擬部の演算を実行するかを実行制御データ３０１により指定する。指定されたプラント模擬部は、シミュレータ実行制御部１０２から実行制御データ３０１として送信されるクロック信号に基づいて、タイミングを協調してプラントを模擬する演算を実行する。このクロック信号は、それぞれのプラント模擬部で個別に同一周期で演算が実行されるような時計を持ち、それを参照するようにしてもよい。
【００４２】
シミュレータ実行制御部１０２により、演算が停止されたプラント模擬部は、演算を行わないため、その分の演算負荷を低下させることができる。この場合に、単純に演算を停止してしまうと、運転訓練を行うための一部のプラント模擬データが更新されない（欠損する）こととなり、運転訓練のための一部の画面が使えなくなってしまうばかりでなく、関連するプラント模擬部に適切なデータを出力することができない。
【００４３】
このため、本実施形態では、演算を停止したプラント模擬部の出力として、データ再生部１０４により読み出した運転データ３０３をデータ共有部１０５に出力して、他のプラント模擬部の演算結果と合わせて監視制御部１０１に表示することで、運転訓練に必要な画面表示を行うことができる。
【００４４】
図２は第１実施形態のデータ切替部と他の各部との接続関係を示すブロック図である。
【００４５】
図２では、各計算部におけるプラント模擬部からの出力と、データ再生部１０４からの出力の切替を行う。具体的には、図２に示すように、データ共有部１０５の入力部分に、データ切替部２１１が接続されている。このデータ切替部２１１は、プラント模擬部１２１とデータ再生部１０４の出力のいずれか一方をデータ共有部１０５に入力するかの切替を行う。
【００４６】
データ切替部２１１は、シミュレータ実行制御部１０２からの実行制御データ３０１に応じて、プラント模擬部１２１が演算を行う場合、このプラント模擬部１２１の演算結果を出力する。また、データ切替部２１１は、プラント模擬部１２１が演算を行わない場合、データ再生部１０４を通してプラント模擬部１２１に対応する運転データ３０３を読み出して出力するように切り替える。
【００４７】
このように構成することにより、運転訓練の中で運転員による応答操作に応じた演算結果を出力する等、プラント模擬部の演算が必要なプラント系統は、プラント模擬部による演算で模擬を行い、運転訓練の中で画面にデータだけ表示されていればよいようなプラント系統は、データ再生部１０４による運転データ３０３の模擬により実現することができる。その結果、各計算部の演算負荷を低減させることができる。
【００４８】
なお、本実施形態では、プラント模擬部１２１を例として説明したが、他のプラント模擬部についても、同様な構成とすることができる。
【００４９】
このように本実施形態によれば、演算を行わないプラント模擬部のデータとして、運転データ蓄積部１０３のデータを読み出して出力することで、臨場感のあるプラント模擬を行いつつ、プラント模擬部の一部を停止することで、演算負荷を低減することができる。特に、運転訓練シミュレータで必要な倍速機能を使う場合に、顕著な低減効果が得られる。
【００５０】
これにより、複数の計算機によりプラント模擬部を分散して演算を行った場合でも、上記のように演算負荷を低減したことにより、必要な計算機の台数を削減することができるため、計算機の設置スペース、計算機の冷却に必要な空調設備を削減することができる。
【００５１】
また、本実施形態によれば、等倍実行時と倍速実行時の計算機の負荷の差を減らすことができ、計算機資源の有効活用（稼働率の向上）を図ることができる。
【００５２】
次に、本実施形態のモデル演算の自動判定について説明する。
【００５３】
図３は図１のシミュレータ実行制御部に記憶された実行割当てデータベースを示す説明図である。図４は第１実施形態の計算部割当て処理を示すフローチャートである。
【００５４】
本実施形態において、シミュレータ実行制御部１０２は、プラント模擬部の演算負荷に関する情報を有し、この情報に基づいて各計算部の負荷が均一に近くなるように、複数の計算部から演算する少なくとも１つの計算部を自動で選択するようにしている。
【００５５】
このように構成された本実施形態において、それぞれの計算部では、プラント模擬部用のプログラムとしてそれぞれ同じものを記憶する。例えば、計算部１１０、計算部１２０、計算部１３０では、全てのプラント模擬部用のプログラムを同じように記憶する。
【００５６】
すなわち、計算部１１０のプラント模擬部１１１，１１２、計算部１２０のプラント模擬部１２１，１２２，１２３、計算部１３０のプラント模擬部１３１は、全てそれぞれ同じように記憶する。
【００５７】
シミュレータ実行制御部１０２は、プラント模擬部の演算負荷に関する情報として、図３に示すデータを記憶する。図３では、各プラント模擬部に対して、演算を行った場合の演算負荷（ｍｓｅｃ）と、そのプラント模擬部の演算を行うか（１）行わないか（０）を示す実行指定と、ユーザがプラント模擬部を特定の計算部に割り当てるか（１）割当てないか（０）を示すユーザ指定と、割り当てる場合にはどの計算部に割当てるかを計算部割当てとして示している。
【００５８】
次に、図４に示すフローチャートに従って計算部割当てを自動で行う手順を説明する。
【００５９】
まず、ステップＳ１では、ユーザが、図３に示す実行割当てＤＢ（データベース）に対し、各プラント模擬部の演算負荷、及びそのプラント模擬部の演算を行うか（１）、行わないか（０）を実行指定に入力する。
【００６０】
次いで、ユーザが、図３に示す実行割当てＤＢに対し、プラント模擬部を特定の計算部に割り当てるか（１）割当てないか（０）をユーザ指定に入力し、割り当てる場合には、どの計算部に割当てるかを計算部割当てに入力する（ステップＳ２）。
【００６１】
ステップＳ３では、図３に示す実行指定の列で値が１となっているプラント模擬部について、その演算負荷を合計し、計算部の総台数で割る。これにより実行した場合の平均演算負荷を求める。
【００６２】
ステップＳ４では、各計算部毎に、実行指定＝１、かつユーザ指定＝１（指定あり）の演算負荷を合計する。
【００６３】
さらに、ステップＳ５では、実行割当てＤＢにおいてリストの最初の計算部から、実行指定＝１、かつユーザ指定＝０（指定なし）のプラント模擬部に対する演算負荷を、ステップＳ４で求めた演算負荷に加える（つまり、プラント模擬部を特定の計算部に割当てたこととなる）。演算負荷を加えた計算部の名称を計算部割当てに入力する。
【００６４】
そして、ステップＳ３で求めた平均演算負荷を超えるまで演算負荷を加えて、計算部の名称を計算部割当てに入力する。この処理を計算部に割り当てられていないプラント模擬部がなくなるまで繰り返す。
【００６５】
図４のフローチャートにより割当てを行った結果は、図５の通りとなる。図５は第１実施形態の計算部割当て結果の演算負荷を示す説明図である。なお、図５では、計算部をＡ，Ｂ，Ｃ，…Ｎ、プラント模擬部をＸ，Ｙ，Ｚで示している。
【００６６】
図５に示すように、例えば、基本演算周期として、１シミュレーションステップの時間を５００ｍｓｅｃ毎に行うとすると、図３に示す演算負荷の平均から、平均演算負荷が求まる。この平均演算負荷は、基本演算周期よりも低くなるように設計されている。
【００６７】
図４のフローチャートにより割当てを行うと、図５に示すように、例えば計算部Ａには、プラント模擬部Ｘ、Ｙ、Ｚが割り当てられる。その合計演算負荷は、図４のステップＳ５の判定基準によると、平均演算負荷よりも若干高くなる。各計算部についても同様となり、最後に割当てられる計算部Ｎの合計演算負荷は、平均演算負荷よりも若干低くなる。
【００６８】
このように本実施形態によれば、シミュレータ実行制御部１０２は、プラント模擬部の演算負荷に関する情報を有し、この情報に基づいて各計算部の負荷が均一に近くなるように、複数の計算部から演算する少なくとも１つの計算部を選択することにより、プラント模擬部をどの計算部で実行するか自動で割当てることができる。
【００６９】
これにより、分散した計算部に対して、どの計算部でどのプラント模擬部を演算するのか自動で割当てを決定し、平均演算負荷に対して演算負荷が同程度となるように割り当てることができる。
【００７０】
次に、本実施形態において運転員の操作との連動した演算速度切替処理について説明する。
【００７１】
シミュレータ実行制御部１０２は、運転員による監視制御部１０１の操作を監視し、高速で演算を実行しているときに、その操作があった場合、演算速度を通常の等倍速に戻すよう制御する。
【００７２】
シミュレータ実行制御部１０２は、監視制御部１０１の動作を監視する。具体的には、シミュレータ実行制御部１０２は、機器の起動停止、バルブの開閉等、一般的に監視制御部１０１が備えている機器の動作状態を監視する。すなわち、シミュレータ実行制御部１０２は、運転員により機器の起動停止やバルブの開閉等が行われて動作状態が変化した場合、倍速機能により高速で実行していた演算速度を通常の速度（等倍速）に切り替える処理を行う。
【００７３】
このように本実施形態によれば、運転員の操作と連動してシミュレータの演算速度が通常速度に戻るので、必要な運転操作を適切なタイミングで行うことができる。
【００７４】
また、演算速度の切替は、シミュレータ実行制御部１０２で行うが、これは一般的にインストラクタ端末と呼ばれる運転員の指導員（インストラクタ）専用の端末から行い、運転員が操作する機能ではない。そのため、演算速度の切替が運転員の操作と連動することで、上記インストラクタが運転員の操作を監視したり、切替を実施したりする手間を省くことができる。
【００７５】
次に、本実施形態の運転データの編集機能について説明する。
【００７６】
運転データ蓄積部１０３は、運転データ編集部２１０と接続され、データの値を変更して保存する。
【００７７】
前述した通り、運転データ蓄積部１０３では、実機プラントから収集した運転データや、シミュレータ計算部１００により演算した結果の演算データ３０２を蓄積し、データ再生部１０４により読み出して再生される。
【００７８】
ところで、これらの蓄積したデータを元に、一部加工した運転データにより運転訓練を行いたい場合がある。例えば、実機データでは、ある温度の上昇が早すぎた場合に、その温度を運転データ編集部２１０により加工する。運転データ編集部２１０は、一部加工した運転データを運転編集データ３０４として運転データ蓄積部１０３に出力して、所望の温度上昇に変更することで、このデータにより訓練することができる。
【００７９】
運転データ蓄積部１０３において、テキスト形式でデータを記憶している場合には、運転データ編集部２１０として、テキストエディタ（文字情報のみのファイル）を用いてデータ編集を行ってもよい。また、データベースとしてエクセル（登録商標）やオラクル（登録商標）といった固有のデータベースを使っている場合、運転データ編集部２１０は、それらに対応したアプリケーションを使うことでデータ編集を行うことができる。
【００８０】
さらに、データをグラフとして描画するアプリケーションも市販されているので、それらのアプリケーションを活用することで、データをグラフとして描画しユーザにわかり易く可視化し、エディタによりデータ編集を行うことができる。
【００８１】
（第２実施形態）
図６は第２実施形態を適用したプラントモデルの構成を示す説明図である。なお、第２実施形態は、前記第１実施形態の変形例であり、前記第１実施形態と同一又は対応する部分には、同一の符号を付して異なる構成及び作用を説明する。
【００８２】
プラント模擬部は、プラントの構成要素として質量の積算を行う積算要素により模擬された機器を境界として他のプラント模擬部とモデル分割している。
【００８３】
前記第１実施形態で既に説明したが、プラントをソフトウェアで模擬する場合には、例えば主要な系統によってソフトウェアの機能を分割し、模擬を行う。プラント模擬部の１つ１つが、プラントモデルの分割された系統に対応する。このため、モデル分割されたプラント模擬部の互いのインターフェイス部分では、機器の相互作用に相当するデータの入出力が必要となる。
【００８４】
このような特性を考慮した場合、図１に示したそれぞれのプラント模擬部１１１，１１２，１２１，１２２…は、互いに自由に分割することができるわけではない。もしこの分割が適切に行われないと、分割した断面データでの隣接した機器同士の影響が互いに反映されず、互いに独立した計算となってしまう。
【００８５】
シミュレータのプラント特性を表すモデルとよばれるソフトは、一般に図６に示すように、圧力ノード部品と呼ばれる種類の部品と、流量計算部品と呼ばれる種類の部品から構成される。
【００８６】
圧力ノード部品は、圧力を計算により求め、各機器からの流量の合流計算、あるいは各機器へ出力する流量の分岐計算を行う。２つの圧力ノード部品の間には、流量計算部品が設置され、前後の圧力差に基づき流れる流量の計算を行う。
【００８７】
図６では、圧力ノード部品２２０、流量計算部品２２１、圧力ノード部品２２２、流量計算部品２２３、圧力ノード部品２２４の繰り返しにより、プラントのモデルが作成されている。
【００８８】
圧力ノード部品２２０，２２２、２２４、流量計算部品２２１、２２３の入出力は一般に以下の通りになる。
【００８９】
（１）圧力ノード部品２２０，２２２、２２４の入出力
入力：出入り流量、入口成分、入口温度
出力：保有質量、出口成分、出口温度
（２）流量計算部品２２１、２２３の入出力
入力：出入り圧力、入口成分、入口温度
出力：出入り流量、出口成分、出口温度
圧力ノード部品の種類の中でも、出入り流量の差分を求めて積算し、機器の保有質量を求める積算要素を行う部品がある。図６に示す例では、圧力ノード部品２２２が該当する。
【００９０】
この圧力ノード部品２２２は、上流側の流量計算部品２２１から流量、成分、温度を示すデータを入口側として入力し、演算を行って保有質量、出口側の成分、温度を示すデータを流量計算部品２２３へ出力する。
【００９１】
この圧力ノード部品２２２とその上流側の流量計算部品２２１の出口部分でモデルを分割し、それぞれプラント模擬部として分割させる。これにより、例えば圧力ノード部品２２０、流量計算部品２２１をデータ再生部１０４により読み出した運転データ３０３により模擬した場合、この運転データ３０３の流量を流量計算部品２２１の出力の代わりに、圧力ノード部品２２２へ出力する。
【００９２】
すなわち、本実施形態の場合は、圧力ノード部品２２２がタンク部品であり、このタンク部品の上流でモデルを分割している。この上流側では、蓄積データを再生してプラントを模擬し、タンク部品を含む下流側では、演算を実行してプラントを模擬している。蓄積した実機データを再生して、タンク部品の入力データとしている。このように蓄積データを再生し表示することで、臨場感のあるシミュレーションを行うことができる。
【００９３】
圧力ノード部品２２２では、運転データ３０３の流量変化に基づき、演算を行ってプラントの挙動を模擬するので、モデル分割によって上流側の応答と下流側の応答とが食い違うことはない。運転データ３０３の流量が増えれば、圧力ノード部品２２２の保有質量が増加する一方、運転データ３０３の流量が減れば、圧力ノード部品２２２の保有質量が減少する。
【００９４】
なお、圧力ノード部品２２２の圧力が変動することで、本来は上流側の流量計算部品２２１の流量が変化するものの、このようにモデル分割を行った場合にはその影響は表れない。しかしながら、一般には、流量はバルブにより制御され、その変動幅と比較して圧力の変動は小さいため、その影響は無視できる範囲と考えることができる。
【００９５】
また、プラントの系統や運転訓練の内容によっては、圧力ノード部品２２２の圧力が大きく変動し、それが流量計算部品２２１にも大きく影響する場合がある。この場合には、上流側の圧力ノード部品２２０や流量計算部品２２１をデータ再生部１０４により読み出した運転データ３０３により模擬するのではなく、プラント模擬部として演算を行って模擬する必要がある。
【００９６】
このように本実施形態によれば、プラントの構成要素として質量の積算を行う積算要素により模擬された機器を境界としてモデル分割を行うことで、全体のうちの一部のプラントを、運転データ３０３の読み出しにより模擬してプラント模擬部の演算を停止させることができる。これにより、計算部の演算負荷を低下させるとともに、プロセスの上流側と下流側の演算に不整合を発生させず、適切な画面表示に基づく運転訓練を行うことができる。
【００９７】
（第３実施形態）
図７は第３実施形態のプラント模擬装置を示すブロック図である。なお、第３実施形態は、前記第１実施形態の変形例であり、前記第１実施形態と同一又は対応する部分には、同一の符号を付して異なる構成及び作用を説明する。
【００９８】
第３実施形態では、複数のデータ共有部を有し、シミュレータ実行制御部１０２により計算部とデータ共有部を対応付けて切替を行い、独立した複数の演算を実行する。
【００９９】
具体的に、図７に示すように、前記第１実施形態にて説明した構成に加え、本実施形態では、データ共有部１０５として複数のデータ共有部２００，２０１，２０２を備えている。
【０１００】
シミュレータ実行制御部１０２は、それぞれの計算部１１０，１２０，１３０と複数のデータ共有部２００，２０１，２０２を対応付けて切替を行う。例えば、図７では、計算部１１０はデータ共有部２００を用い、計算部１２０はデータ共有部２０１を用い、計算部１３０はデータ共有部２０２を用いる。
【０１０１】
データ共有部２００、データ共有部２０１、データ共有部２０２としては、同じデータサイズ、同じ変数領域のものを用いている。つまり、計算部１１０、計算部１２０、計算部１３０の全ての変数に対応するものをそれぞれのデータ共有部として備えている。計算部１１０，１２０，１３０でも同じプログラムを保存し、同じ演算を行えるようにする。
【０１０２】
計算部１１０で演算した結果の演算データ３０５は、データ共有部２００を記憶領域として用い、計算部１２０で演算した結果の演算データ３０６に用いる変数は、データ共有部２０１を記憶領域として用いる。計算部１３０で演算した結果が演算データ３０７である。これにより、計算部の演算負荷に余裕がある場合には、１つのシミュレーションを低い演算負荷で実行するのではなく、複数のシミュレーションを複数の計算部で並列的に実行することができる。
【０１０３】
このように本実施形態によれば、複数のデータ共有部２００，２０１，２０２を有し、シミュレータ実行制御部１０２により計算部１１０，１２０，１３０とデータ共有部２００，２０１，２０２を対応付けて切替を行い、独立した複数の演算を実行することにより、複数のシミュレーションを複数の計算部１１０，１２０，１３０で並列的に実行する。これにより、１つ当りのシミュレーションの演算負荷が低い場合でも、複数のシミュレーションを並列に実行することができ、計算機ハードの稼働効率を高めることができる。
【０１０４】
また、複数シミュレーションを行う場合に、１つずつシーケンシャルに行わないので、全体の計算にかかる時間を減らすことができる。
【０１０５】
（その他の実施形態）
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更、組み合わせを行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【０１０６】
なお、上記各実施形態を組み合わせて構成することも可能である。例えば、第１実施形態と第２実施形態を組み合せて構成し、また第２実施形態と第３実施形態を組み合せて構成してもよい。
【０１０７】
また、上記各実施形態において、シミュレータ実行制御部１０２とシミュレータ計算部１００は、別々に構成する例について説明したが、これに限定することなく、シミュレータ実行制御部１０２をシミュレータ計算部１００に含めるように構成してもよい。
【符号の説明】
【０１０８】
１００…シミュレータ計算部、１０１…監視制御部、１０２…シミュレータ実行制御部、１０３…運転データ蓄積部、１０４…データ再生部、１０５…データ共有部、１０６…運転データ収集部、１１０…計算部、１１１…プラント模擬部、１１２…プラント模擬部、１２０…計算部、１２１…プラント模擬部、１２２…プラント模擬部、１２３…プラント模擬部、１３０…計算部、１３１…プラント模擬部、２００…データ共有部、２０１…データ共有部、２０２…データ共有部、２１０…運転データ編集部、２１１…データ切替部、２２０…圧力ノード部品、２２１…流量計算部品、２２２…圧力ノード部品、２２３…流量計算部品、２２４…圧力ノード部品、３００…監視制御データ、３０１…実行制御データ、３０２…演算データ、３０３…運転データ、３０４…運転編集データ、３０５…演算データ、３０６…演算データ、３０７…演算データ
【図１】
2016071227.tif 000003
【図２】
2016071227.tif 000004
【図３】
2016071227.tif 000005
【図４】
2016071227.tif 000006
【図５】
2016071227.tif 000007
【図６】
2016071227.tif 000008
【図７】
2016071227.tif 000009
【図８】
2016071227.tif 000010
【図９】
2016071227.tif 000011