(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1に記載されたような数式モデルを用いた運転シミュレータでは、複雑な数式モデルを作成及び検証する必要があり、多大な手間を要するおそれがある。ここで、過去データから検索してプロセス値を求める運転シミュレータも考えられるが、この場合、大量の過去データを蓄積するための大容量の記憶装置が必要となるおそれがある。
【0005】
そこで、本発明は、容量の低減を図りつつ、簡易にプロセス値を導出できる運転シミュレータを提供することを課題とする。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明に係る運転シミュレータは、操作者に入力された設定値に応じてプロセス値を導出し、装置の挙動をシミュレーションする運転シミュレータであって、設定値に対応するプロセス値の発生確率に関する統計モデルが予め格納されたモデル記憶部と、設定値及び統計モデルに基づき、プロセス値を導出する演算部と、演算部により導出されたプロセス値に関する情報を表示する表示部とを備える、ことを特徴とする。
【0007】
この運転シミュレータでは、統計モデルを用いて、操作者に入力された設定値からプロセス値を導出することができる。このように、発生確率に基づいたプロセス値導出を行うため、簡易かつ適切にプロセス値を導出することができる。そして、統計モデルは、設定値に対応するプロセス値の発生確率を表す簡易なモデルであるため、大容量の記憶装置等が不要になり、容量の低減を図ることができる。
【0008】
また、統計モデルは、設定値に対応するプロセス値の実測データに基づいて作成されていることが好ましい。この場合、実測データから統計モデルを作成することができる。
【0009】
また、警報の要否を判定する警報判定部をさらに備え、警報判定部は、演算部により導出されたプロセス値が所定の警報範囲に入っている場合に、警報が必要であると判定し、表示部は、警報判定部により警報が必要であると判定された場合に、該警報に関する情報を表示することが好ましい。所定の警報範囲のプロセス値が導出された場合に警報に関する情報を表示することで、実際に即した運転訓練が可能となる。
【0010】
また、上記作用効果を好適に奏する構成として、具体的には、統計モデルは、ベイジアンネットワークモデルであることが好ましい。この場合、ベイジアンネットワークモデルを利用してプロセス値を算出することができる。
【0011】
また、ベイジアンネットワークモデルは、条件付確率表を有し、条件付確率表は、設定値に関する条件ノードと、プロセス値に関する結果ノードと、を有し、条件ノードの値がその程度に応じて複数設けられると共に、結果ノードの値がその程度に応じて複数設けられ、少なくとも条件ノードの複数の値と結果ノードの複数の値と確率変数とが、互いに関連付けられ、演算部は、操作者に入力された設定値に対応する条件ノードの値を判定し、判定した当該条件ノードの値に関連付けられた複数の結果ノードの複数の値のうち、確率変数が最も大きい値を、プロセス値として導出することが好ましい。この場合、設定値とプロセス値と確率変数との条件付確率表を保持し、条件付確率表から検索するようにしてプロセス値を導出することができる。
【0012】
また、上記装置は、循環流動層ボイラであることが好ましい。一般的に、循環流動層(CFB)ボイラでは、プロセス値算出が複雑であり、数式モデルの適用が特に困難である。よって、循環流動層ボイラの挙動をシミュレーションする本発明では、容量の低減を図りつつプロセス値を簡易に導出するという上記作用効果は特に有効となる。
【発明の効果】
【0013】
本発明によれば、容量の低減を図りつつ、簡易にプロセス値を導出できる運転シミュレータを提供することが可能となる。
【発明を実施するための形態】
【0015】
以下、添付図面を参照して、本発明の好適な実施形態について詳細に説明する。なお、以下の説明において、同一又は相当要素には同一符号を付し、重複する説明を省略する。
【0016】
まず、
図1を参照して、運転シミュレータの各機能について説明する。
図1は、本発明の一実施形態に係る運転シミュレータの機能ブロックを示す図である。
図1に示すように、本実施形態に係る運転シミュレータ10は、ボイラプラントであるCFBボイラの運転訓練装置として用いられるコンピュータ装置である。運転シミュレータ10は、操作者に入力された設定値に応じてプロセス値を導出することにより、装置の挙動をシミュレーションする。
【0017】
この運転シミュレータ10は、モデル記憶部11と、設定値入力部12と、プロセス値演算部(演算部)13と、表示部14と、データ出力部15と、警報判定部16と、を備えて構成される。なお、運転シミュレータ10は、物理的には、CPU(Central Processing Unit)や、主記憶装置であるRAM(RandomAccess Memory)及びROM(Read Only Memory)、補助記憶装置等のハードウェアを備えており、これらが動作することによって、上記の各機能ブロックの機能が発揮される。
【0018】
モデル記憶部11には、装置の挙動を表現するモデルとして、設定値に対応するプロセス値の発生確率に関する統計モデルが予め格納されている。統計モデルとして、本実施形態では、ベイジアンネットワークモデルが用いられており、該ベイジアンネットワークモデルは、条件付確率表を有している。そこで、まず、ベイジアンネットワーク及び条件付確率表の概要について、以下に説明する。
【0019】
ベイジアンネットワークは、複数の確率変数の間の確率的な因果関係を記憶するためのデータ構造である。ベイジアンネットワークを用いることにより、複雑な知識を効率良く表現することができ、その知識に基づいて様々な確率的推論を行うことができる。ベイジアンネットワークは、確率変数を表すノードと、確率変数間の因果関係を表すリンクとで構成される。ベイジアンネットワークの構造による統計モデルを、本実施形態ではベイジアンネットワークモデルと定義し説明する。
【0020】
このようなベイジアンネットワークは、各ノードごとに条件付確率表(ConditionalProbability Table, CPT)と呼ばれるものを保持する。条件付確率は、ノードAがある値を取ったという条件の下で別のノードBがある値を取る確率のことを指し、P(B│A)と表す。また、ノードAとノードBとが同時に起こる確率を「同時確率」と呼びP(A∩B)と表す。条件付確率は、ノードAを全体と考えたときのノードBの起こる確率を表しているため、同時確率を用いて下式(1)で表せる。
【数1】
【0021】
つまり、条件付確率表は、ノードBの親ノードであるノードAの集合がある値の組合せを有するときに、ノードBがある値を有する条件確率を表で示したものである。なお、本実施形態では、上記式におけるノードAに対応するノードを条件ノードと、ノードBに対応するノードを結果ノードとして、説明する。
【0022】
図2はベイジアンネットワークモデルを例示する図であり、
図3は条件付確率表を例示する図である。
図2に示すように、ここでの例においては、確率変数を表すノードが3種類記載されており(確率変数A,B,X)、確率変数Aは「給炭量が平均より多いかどうか」、確率変数Bは「給気量が平均より多いかどうか」、確率変数Xは「火炉温度が平均より高いかどうか」を表している。
【0023】
上記3種のノードの因果関係は、
図3のように条件付確率表として与えられる。条件付確率表は、ノード間の因果関係における強さの知識を記憶するデータである。例えば、P(X=低い│A=多い,B=多い)=0.6258は、条件ノードIである給炭量及び給気量を平均より多くした場合に、結果ノードOである火炉温度が低くなる確率が0.6258である、という知識を表している。また、P(A=少ない)は、給炭量が平均より少ない確率が0.7211であるという知識を表している。
【0024】
上述した例において、給炭量及び給気量は、条件ノードIに対応するものであって、操作者による設定項目としての操作端となり、これらの値が設定値となる。一方、火炉温度は、結果ノードOに対応するものであって、その値がプロセス値となる。ここで、操作者が給炭量=多い、給気量=少ないと設定した場合、プロセス値である火炉温度が平均より低くなる確率は0.02、高くなる確率は、0.97である。そのため、この場合には、火炉温度が平均より高くなる確率が最も高いと推論される。
【0025】
ベイジアンネットワークモデル(ベイジアンネットワークのネットワーク構造)が与えられていて、各確率変数の値の組について大量の観測データがあれば、それを基に条件付確率表の要素の値を決めることができる。これを条件付確率表の学習と呼ぶ。例えば、1000個の観測データのうち給炭量が平均より少ないものが721個であれば、P(給炭量=少ない)は721/1000となる。また、その中でさらに火炉温度が平均より高いものが500個であれば、P(火炉温度=高い│給炭量=少ない)は500/721となる。
【0026】
なお、上述の例では、条件ノードIを2つとし、プロセス値に関する結果ノードOを1つとしたが、これに限定されず、条件ノードI及び結果ノードOは、1つ又は2つ以上としてもよい。また、上述の例では、条件ノードIの値を2値(平均より少ない又は多いのいずれか)とし、結果ノードOの値を2値(低い又は高いのいずれか)としたが、1値又は3値以上の複数としてもよい。
【0027】
図1に戻り、本実施形態のモデル記憶部11には、後述するように、設定値に対応するプロセス値の実測データに基づいて作成された条件付確率表H(
図5参照)が格納されている。設定値入力部12は、操作者が設定した設定項目(操作端)の値(設定値)を受け付ける。操作者とは、例えば運転シミュレータ10が訓練用に用いられる場合には訓練者(オペレータ)を指す。
【0028】
プロセス値演算部13は、設定値及び統計モデルに基づき、プロセス値を導出する。ここでのプロセス値演算部13は、モデル記憶部11から統計モデルを読み込み、当該統計モデルに設定値を入力し、設定値に対応する模擬応答値であるプロセス値を模擬演算する。
【0029】
本実施形態のプロセス値演算部13は、後述するように、条件付確率表H(
図5参照)を用いてプロセス値を導出しており、具体的には、設定値入力部12が受け付けた設定値に対応する条件ノードIの値を判定し、この条件ノードIの値に関連付けられた結果ノードOの複数の値のうち確率変数が最も大きい値を、プロセス値として導出する。
【0030】
表示部14は、操作者が視覚的に運転状況を確認するためのものであり、プロセス値演算部13により導出されたプロセス値に関する情報をモニタ画面などに表示する。なお、この表示部14は、設定値などのその他の運転状況の確認に必要な情報を、さらに表示するものであってもよい。また、表示部14は、警報判定部16により警報が必要であると判定された場合に、該警報に関する情報をさらに表示する。
【0031】
データ出力部15は、設定値及びプロセス値を、外部又は内蔵の記憶装置(図示せず)へ出力すると共に、警報判定部16へ出力する。データ出力部15により出力された設定値及びプロセス値のデータは、運転シミュレータの運転状況記録として記憶装置に記憶されるとともに、警報判定部16による警報判定に用いられる。
【0032】
警報判定部16は、警報の要否を判定する。この警報判定部16は、データ出力部15から出力されたプロセス値が所定の警報範囲に入っている場合、警報が必要であると判定する。ここでの所定の警報範囲は、例えばシミュレーション対象の実機(CFBボイラ)に即して設定してもよいし、操作者により適宜設定してもよい。
【0033】
つぎに、
図6を参照して、運転シミュレータ10の処理について説明する。
図6は、本発明の一実施形態に係る運転シミュレータの処理を示すフローチャートである。なお、以下においては、一例として、CFBボイラの起動時におけるプロセス値の模擬演算を例示する。
【0034】
図4は
図1に示す運転シミュレータで用いられるベイジアンネットワークモデルを説明する図であり、
図5は
図4に示すベイジアンネットワークモデルの条件付確率表を示す表である。この
図5では、運転シミュレータ10に用いられる条件付確率表Hについて、一部を省略して示している。
【0035】
図4に示すように、ここでの運転シミュレータ10で用いられるベイジアンネットワークモデルは、設定値に関する条件ノードIとして、重油流量と、給炭量合計と、ボイラMCRとを有する。また、プロセス値に関する結果ノードOとして、ボイラ給水流量と、火炉底部代表温度と、主蒸気温度と、主蒸気圧力と、発電電力とを有する。条件ノードIと結果ノードOとの因果関係を表すリンクLは、各結果ノードOに対して全ての条件ノードIから矢印が向いている。
【0036】
図5に示すように、ここでの条件付確率表Hは、条件ノードIである重油流量と給炭量合計とボイラMCRとをある値とした条件下で、結果ノードOであるボイラ給水流量と火炉底部代表温度と主蒸気温度と主蒸気圧力と発電電力とがそれぞれとる値を、確率(確率変数)で表している。各条件ノードI及び各結果ノードOがとる値は、それぞれ、連続値ではなく離散化された値であり、複数(ここでは10個)設けられている。
【0037】
このような運転シミュレータ10においては、まず、操作者によって入力された設定値が、設定値入力部12によって受け付けられる(S1)。つづいて、プロセス値演算部13によって、設定値及びベイジアンネットワークモデルの条件付確率表Hに基づいて、各結果ノードOの値(プロセス値)が導出される(S2)。
【0038】
つづいて、プロセス値演算部13で導出されたプロセス値が、表示部14によってモニタ画面に表示される(S3)。そして、プロセス値演算部13が導出したプロセス値が、所定の警報範囲内であるか否かが警報判定部16により判定され(S4)、所定の警報範囲内であると判定された場合には、表示部14によって、モニタ画面に警報に関する情報が表示される(S5)。一方、上記S4にて警報判定部16によりプロセス値が所定の警報範囲内でないと判定された場合、又は、上記S5の処理が完了した場合には、後述のS6の処理へ移行される。
【0039】
S6では、運転シミュレータ10を使った各種処理の目標に到達したか(例えば、運転シミュレータ10が操作者の運転訓練に用いられる場合には、運転訓練の目標に到達したか)、又は、操作者が運転シミュレータ10の処理を終了させる操作(例えば、終了メニューの選択)を行ったか、が判定される(S6)。上記S6にてYESの場合、運転シミュレータ10による処理が終了される一方、上記S6にてNOの場合、再度上記S1の処理(設定値の入力)へ移行される。
【0040】
つぎに、条件付確率表Hの作成処理(学習)について説明する。
【0041】
図7は条件付確率表の作成処理を示すフローチャートであり、
図8はCFBボイラ起動時の実測データの一例を示す図である。
図8に示す実測データDでは、約15時間にわたり、重油流量、給炭量合計、ボイラMCR、ボイラ給水流量、火炉底部代表温度、主蒸気温度、主蒸気圧力、及び発電電力の値が実測されている。
【0042】
図7及び
図8に示すように、本実施形態では、設定値に対応するプロセス値のトレンドデータである実測データDに基づいて、条件付確率表Hが作成される。ここでは、例えば以下に示すように、CFBボイラ起動時の実測データDから条件付確率表Hが学習される。
【0043】
すなわち、例えば操作者による各条件ノードI及び各結果ノードOの設定・特定後、設定値入力部12によって実測データDが受け付けられるとともに、当該実測データDが蓄積される(S11,S12)。つづいて、この実測データDの各値が離散化される(S13)。具体的には、実測データDの各項目の値それぞれについて、±3σの範囲が10グループに分けて離散化される。
【0044】
実測データDの各値が離散化された後、該離散化後のデータに基づいて条件付確率表H(
図5参照)が作成される(S14)。具体的には、ある時刻の各条件ノードI及び各結果ノードOの値を取得すると共に、当該取得を複数の時刻に対して行う。そして、各条件ノードIの値が同一の条件となる場合において各結果ノードOの値のとりえる確率を導出することにより、条件付確率表Hが作成される。最後に、条件付確率表Hが出力されて、条件付確率表Hの作成処理が終了される(S15)。
【0045】
ここで、条件付確率表Hを用いたプロセス値導出(上記S2)の一例について、
図5を用いて詳細に説明する。
【0046】
まず、設定値入力部12に受け付けられた設定値から、条件付確率表Hにおける各条件ノードIの値が判定される。ここでは、図中の太枠に示すように、重油流量:7.5[kl/h]、給炭量:3.0[t/h]、ボイラMCR:45.0[%]が、各条件ノードIの値として判定されたとする。
【0047】
つづいて、各条件ノードIの値に関連付けられた各結果ノードOの複数の値のうち、確率が最も大きい値が、各結果ノードOのプロセス値として導出される。ここでは、図中の太枠に示すように、ボイラ給水流量は確率が56%である110[t/h]、火炉底部代表温度は確率が51%である585[℃]、主蒸気温度は確率が62%である510[℃]、主蒸気圧力は確率が58%である9.75[MPaG]、発電電力は確率が72%である0.5[MW]について、それぞれプロセス値として導出されることとなる。
【0048】
つぎに、本実施形態に係る運転シミュレータ10の作用・効果について説明する。
【0049】
本実施形態の運転シミュレータ10では、上述したように、統計モデル(ベイジアンネットワークモデル)を用いて、操作者に入力された設定値からプロセス値を導出することができる。このように発生確率に基づいたプロセス値導出を行うため、簡易かつ適切にプロセス値を導出することができる。そして、統計モデルは、設定値に対応するプロセス値の発生確率を表す簡易なモデルであるため、大容量の記憶装置等が不要になり、容量の低減を図ることができる。なお、運転訓練装置としての本実施形態では、シミュレーションに実機と同一仕様品を用いる必要がなく、大規模な訓練施設が不要となり、安価で簡易な運転訓練装置を提供することが可能となる。
【0050】
図9は、プロセス値導出精度を示す表である。図中の表は、
図4に示した各結果ノードOについて、条件付確率表Hを用いたプロセス値の導出値が実測値とどの程度一致していたかを示している。
図9に示すように、導出精度はいずれの結果ノードOでも70%以上の精度を示しており、これにより、精度の高い推論ができていることが示されている。
【0051】
図10は、主蒸気温度のプロセス値の実測値と導出値とを比較したグラフである。
図10に示すように、プロセス値の実測値と導出値とを比較したグラフからも、当該導出値が概ね実測値と近似していることが確認でき、これにより、精度の高い推論ができていることがわかる。
【0052】
また、本実施形態では、上述したように、ベイジアンネットワークモデルの条件付確率表Hが実測データDに基づき作成されているため、実際に即した、一層精度の高い実用的なプロセス値導出が可能となる。また、
図5に示すように、条件付確率表Hでは各条件ノードIの値に対応する結果ノードOの値が確率で表されるため、各プロセス値を導出した根拠が明確となる。よって、条件付確率表Hを有するベイジアンネットワークモデルを用いることで、操作者にとって使いやすい、実用的なシミュレーションが可能となる。
【0053】
また、本実施形態は、上述したように、警報の要否を判定する警報判定部16をさらに備えており、この警報判定部16は、プロセス値が所定の警報範囲に入っている場合に、警報が必要であると判定し、表示部14は、警報判定部により警報が必要であると判定された場合に、該警報に関する情報を表示する。これにより、運転シミュレータ10を運転訓練用に用いる際、実際に即した運転訓練が可能となり、操作者の操作技能の向上により寄与させることができる。
【0054】
また、本実施形態の運転シミュレータ10は、上述したように、シミュレーション対象としてCFBボイラに適用することができる。この場合、一般的にCFBボイラはプロセス値算出が複雑であることから、容量の低減を図りつつプロセス値を簡易に導出するという上記作用効果は顕著となる。
【0055】
以上、本発明の好適な実施形態について説明したが、本発明は上記実施形態に限られるものではなく、各請求項に記載した要旨を変更しない範囲で変形し、又は他のものに適用したものであってもよい。
【0056】
例えば、上記実施形態では、統計モデルとしてベイジアンネットワークモデルを用い、プロセス値演算部13が条件付確率表Hによってプロセス値を導出したが、これに限定されるものではなく、その他の統計モデル(例えば、ニューラルネットワークモデルや遺伝的アルゴリズムモデル等)を用いてプロセス値を導出してもよい。
【0057】
また、上記実施形態は、CFBボイラの挙動をシミュレーションしたが、これに限定されるものではなく、本発明は、その他の大規模装置、例えば、発電設備や水処理設備の挙動をシミュレーションすることもできる。この場合においても、上記作用効果が奏される。
【0058】
また、上記実施形態では、条件付確率表Hを実測データDに基づき作成したが、これに限定されず、計算で作成してもよいし、その他の方法で作成してもよい。また、上記実施形態では、運転シミュレータ10において条件付確率表Hを作成したが、別の装置によって作成してもよい。また、運転シミュレータ10で条件付確率表Hを作成する場合、当該運転シミュレータ10は、条件付確率表Hを学習させて作成する学習部を有していてもよい。
【0059】
ちなみに、
図5の条件付確率表Hは、条件ノードIと結果ノードOとを逆にした条件付確率表(すなわち、ボイラ給水流量と火炉底部代表温度と主蒸気温度と主蒸気圧力と発電電力との値を設定値とした条件下で、重油流量と給炭量合計とボイラMCRとの各値を確率で表した条件確率表)としてもよい。この場合、例えば逆確率を用いて演算することにより、実質的に、上記条件付確率表Hを用いたプロセス値導出と等しい演算を行うことができる。