(57)【特許請求の範囲】
【請求項１】
バッチプロセスにより処理を行う機器又は設備の時系列の運転状態を示す運転データに基づき該機器又は設備の異常を検出するプロセス監視装置であって、
予め蓄積された前記機器又は設備の複数のバッチの運転データに基づき、該運転データに含まれるサンプリング時刻毎かつ状態変数毎の複数の状態データのそれぞれについて前記複数のバッチ間の平均と、前記複数のバッチ間の標準偏差とを算出する算出手段と、
前記算出手段により算出された前記平均及び前記標準偏差に基づき、前記バッチ毎に、前記バッチにおける前記サンプリング時刻及び前記状態変数毎の前記複数の状態データをそれぞれ正規化する第１の正規化手段と、
前記第１の正規化手段により前記バッチ毎に正規化された前記複数の状態データがそれぞれ含まれる前記複数のバッチの運転データに基づき、前記機器又は設備の異常を検出するための正常モデルを作成するモデル作成手段と、
前記モデル作成手段により作成された前記正常モデルと前記機器又は設備から出力された運転データとに基づき、該機器又は設備の異常を検出する異常検出手段と
を有し、
前記第１の正規化手段は、
前記バッチ毎に、前記バッチにおける前記サンプリング時刻毎かつ前記状態変数毎の前記複数の状態データのそれぞれを、該状態データと同一のサンプリング時刻かつ同一の状態変数に対応する前記平均で減算した後、前記同一のサンプリング時刻かつ前記同一の状態変数に対応する前記標準偏差で除算することで正規化し、
前記モデル作成手段は、
前記複数のバッチの運転データを前記バッチ毎に分解し、前記バッチ毎に分解された運転データに含まれる複数の状態データを前記サンプリング時刻で連結して、前記状態変数の総数を行数、前記バッチの総数×前記サンプリング時刻の総数を列数とする行列データから前記正常モデルを作成する、プロセス監視装置。
【請求項２】
前記第１の正規化手段は、
前記標準偏差が０である場合には、該標準偏差の値を補正する、請求項１に記載のプロセス監視装置。
【請求項３】
前記異常検出手段は、
前記モデル作成手段により作成された前記正常モデルと、前記機器又は設備から出力された運転データとに基づきＱ統計量及びＴ２統計量を算出し、該Ｑ統計量又は該Ｔ２統計量が所定の閾値を超えている場合に、前記異常を検出する、請求項１又は２に記載のプロセス監視装置。
【請求項４】
前記異常検出手段は、
前記モデル作成手段により作成された前記正常モデルと、前記機器又は設備から出力された運転データとに基づき、前記バッチ毎に、前記バッチにおける複数のＱ統計量及び前記バッチにおける複数のＴ２統計量を算出し、該算出した複数のＱ統計量及び複数のＴ２統計量それぞれのバッチ単位のデータ系列に基づいて算出された第１の指標値及び第２の指標値の少なくとも一方が、所定の閾値を超えている場合に、前記異常を検出する、請求項１ないし３のいずれか１項に記載のプロセス監視装置。
【請求項５】
前記平均及び前記標準偏差に基づき、前記機器又は設備から出力された運転データに含まれる複数の状態データをそれぞれ正規化する第２の正規化手段を有し、
前記異常検出手段は、
前記正常モデルと、前記第２の正規化手段により正規化された複数の状態データが含まれる前記運転データとに基づきＱ統計量及びＴ２統計量を算出する、請求項４記載のプロセス監視装置。
【請求項６】
前記第２の正規化手段は、
前記運転データに含まれる前記複数の状態データのそれぞれを、前記状態データのサンプリング時刻及び状態変数に対応する前記平均で減算した後、前記状態データのサンプリング時刻及び状態変数に対応する前記標準偏差で除算することで正規化する、請求項５に記載のプロセス監視装置。
【請求項７】
前記Ｑ統計量及び前記Ｔ２統計量は、それぞれ第１の寄与度の和及び第２の寄与度の和で表され、
前記異常検出手段は、
前記第１の寄与度から算出される第１の分散又は前記第２の寄与度から算出される第２の分散の少なくとも一方が、予め設定された所定の値以上である場合、前記正常モデルの再作成を促すメッセージを通知する、請求項４ないし６のいずれか１項に記載のプロセス監視装置。
【請求項８】
前記異常検出手段は、
前記バッチにおける複数のＱ統計量と所定の第１の関数とを用いて前記第１の指標値を算出すると共に、前記バッチにおける複数のＴ２統計量と所定の第２の関数とを用いて前記第２の指標値を算出する、請求項４ないし７のいずれか一項に記載のプロセス監視装置。
【請求項９】
前記異常検出手段は、
前記バッチにおける複数のＱ統計量をＱ（１），Ｑ（２），・・・，Ｑ（Ｋ），前記第１の関数をＦ１として、Ｆ１（Ｑ（１），Ｑ（２），・・・，Ｑ（Ｋ））により前記第１の指標値を算出し、
前記バッチにおける複数のＴ２統計量をＴ２（１），Ｔ２（２），・・・，Ｔ２（Ｋ），前記第２の関数をＦ２として、Ｆ２（Ｔ２（１），Ｔ２（２），・・・，Ｔ２（Ｋ））により前記第２の指標値を算出する、請求項８に記載のプロセス監視装置。
【請求項１０】
前記異常検出手段は、
前記バッチにおける複数のＱ統計量をＱ（１），Ｑ（２），・・・，Ｑ（Ｋ），前記第１の関数をＦ１として、Ｆ１（Ｑ（１），Ｑ（２），・・・，Ｑ（Ｋ））＝Ｑ´（１）＋Ｑ´（２）＋・・・＋Ｑ´（Ｋ），（ただし、ｋ＝１，２，・・・，Ｋ，Ｃ１を予め決められた定数として、Ｑ´（ｋ）は、Ｑ（ｋ）＞Ｃ１である場合はＱ（ｋ）−Ｃ１，Ｑ（ｋ）≦Ｃ１である場合は０）により前記第１の指標値を算出し、
前記バッチにおける複数のＴ２統計量をＴ２（１），Ｔ２（２），・・・，Ｔ２（Ｋ），前記第２の関数をＦ２として、Ｆ２（Ｔ２（１），Ｔ２（２），・・・，Ｔ２（Ｋ））＝Ｔ２´（１）＋Ｔ２´（２）＋・・・＋Ｔ２´（Ｋ），（ただし、ｋ＝１，２，・・・，Ｋ，Ｃ２を予め決められた定数として、Ｔ２´（ｋ）は、Ｔ２（ｋ）＞Ｃ２である場合はＴ２（ｋ）−Ｃ２，Ｔ２（ｋ）≦Ｃ２である場合は０）により前記第２の指標値を算出する、請求項８に記載のプロセス監視装置。
【請求項１１】
前記モデル作成手段は、
前記第１の正規化手段により前記バッチ毎に正規化された前記複数の状態データがそれぞれ含まれる前記複数のバッチの運転データに含まれる複数の状態データのそれぞれについて、前記状態データと、該状態データを所定の時間ずつ減算した複数の過去状態データとに基づき、複数の部分データ系列を作成し、
作成された該複数の部分データ系列に基づき、前記正常モデルを作成する、請求項１ないし１０のいずれか１項に記載のプロセス監視装置。
【請求項１２】
前記モデル作成手段は、
前記過去状態データを、前記状態データを所定の時間ずつ、予め設定された多重度に応じた回数を減算することで作成し、
前記状態データ及び前記複数の過去状態データで共通に定義される時間の範囲のデータ系列をそれぞれ抽出することで、前記複数の部分データ系列を作成する、請求項１１に記載のプロセス監視装置。
【請求項１３】
バッチプロセスにより処理を行う機器又は設備の時系列の運転状態を示す運転データに基づき該機器又は設備の異常を検出するプロセス監視装置に用いられるプロセス監視方法であって、
予め蓄積された前記機器又は設備の複数のバッチの運転データに基づき、該運転データに含まれるサンプリング時刻毎かつ状態変数毎の複数の状態データのそれぞれについて前記複数のバッチ間の平均と、前記複数のバッチ間の標準偏差とを算出する算出手順と、
前記算出手順により算出された前記平均及び前記標準偏差に基づき、前記バッチ毎に、前記バッチにおける前記サンプリング時刻及び前記状態変数毎の前記複数の状態データをそれぞれ正規化する第１の正規化手順と、
前記第１の正規化手順により前記バッチ毎に正規化された前記複数の状態データがそれぞれ含まれる前記複数のバッチの運転データに基づき、前記機器又は設備の異常を検出するための正常モデルを作成するモデル作成手順と、
前記モデル作成手順により作成された前記正常モデルと前記機器又は設備から出力された運転データとに基づき、該機器又は設備の異常を検出する異常検出手順と
を有し、
前記第１の正規化手順は、
前記バッチ毎に、前記バッチにおける前記サンプリング時刻毎かつ前記状態変数毎の前記複数の状態データのそれぞれを、該状態データと同一のサンプリング時刻かつ同一の状態変数に対応する前記平均で減算した後、前記同一のサンプリング時刻かつ前記同一の状態変数に対応する前記標準偏差で除算することで正規化し、
前記モデル作成手順は、
前記複数のバッチの運転データを前記バッチ毎に分解し、前記バッチ毎に分解された運転データに含まれる複数の状態データを前記サンプリング時刻で連結して、前記状態変数の総数を行数、前記バッチの総数×前記サンプリング時刻の総数を列数とする行列データから前記正常モデルを作成する、プロセス監視方法。
【請求項１４】
バッチプロセスにより処理を行う機器又は設備の時系列の運転状態を示す運転データに基づき該機器又は設備の異常を検出するプロセス監視装置を、
予め蓄積された前記機器又は設備の複数のバッチの運転データに基づき、該運転データに含まれるサンプリング時刻毎かつ状態変数毎の複数の状態データのそれぞれについて前記複数のバッチ間の平均と、前記複数のバッチ間の標準偏差とを算出する算出手段、
前記算出手段により算出された前記平均及び前記標準偏差に基づき、前記バッチ毎に、前記バッチにおける前記サンプリング時刻及び前記状態変数毎の前記複数の状態データをそれぞれ正規化する第１の正規化手段、
前記第１の正規化手段により前記バッチ毎に正規化された前記複数の状態データがそれぞれ含まれる前記複数のバッチの運転データに基づき、前記機器又は設備の異常を検出するための正常モデルを作成するモデル作成手段、
前記モデル作成手段により作成された前記正常モデルと前記機器又は設備から出力された運転データとに基づき、該機器又は設備の異常を検出する異常検出手段
として機能させ、
前記第１の正規化手段は、
前記バッチ毎に、前記バッチにおける前記サンプリング時刻毎かつ前記状態変数毎の前記複数の状態データのそれぞれを、該状態データと同一のサンプリング時刻かつ同一の状態変数に対応する前記平均で減算した後、前記同一のサンプリング時刻かつ前記同一の状態変数に対応する前記標準偏差で除算することで正規化し、
前記モデル作成手段は、
前記複数のバッチの運転データを前記バッチ毎に分解し、前記バッチ毎に分解された運転データに含まれる複数の状態データを前記サンプリング時刻で連結して、前記状態変数の総数を行数、前記バッチの総数×前記サンプリング時刻の総数を列数とする行列データから前記正常モデルを作成する、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセス監視装置、プロセス監視方法及びプログラムに関する。
【背景技術】
【０００２】
鉄鋼、鋳造、食品、半導体等の分野の製造プロセスでは、原料や中間製品の一定量を製造単位としてまとめて、製造単位毎に繰り返し製造処理を行う。このような製造プロセスはバッチプロセスと称される。
【０００３】
また、製造処理を行う設備又は機器の運転状態を監視し、バッチプロセスの異常を検知する技術が知られている（例えば特許文献１参照）。このような技術では、オフラインにおいて、予め蓄積された正常な運転状態を示すデータから正常モデルを作成する。そして、オンラインにおいて、当該正常モデルを用いて算出されたＱ統計量及びＴ２統計量に基づきバッチプロセスの異常を検知する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第６８８５９０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上記の従来技術においては、オフラインにおいて作成される正常モデルのモデル化の精度が高くない場合があった。すなわち、例えば主成分分析（ＰＣＡ：Principal Component Analysis）により正常モデルを作成する場合において、モデル化に用いられるデータのサンプリング周期と１つのバッチに要する時間との関係によってはモデル化の精度が高くない場合があった。したがって、オンラインにおいて、高い精度でバッチプロセスの異常を検知できない場合があった。
【０００６】
本発明の実施の形態は、上記の点に鑑みてなされたものであり、バッチプロセスの異常を高い精度で検知することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の実施の形態は、バッチプロセスにより処理を行う機器又は設備の時系列の運転状態を示す運転データに基づき該機器又は設備の異常を検出するプロセス監視装置であって、予め蓄積された前記機器又は設備の複数のバッチの運転データに基づき、該運転データに含まれる複数の状態データのそれぞれについて前記複数のバッチにおける平均と、前記複数のバッチにおける標準偏差とを算出する算出手段と、前記算出手段により算出された前記平均及び前記標準偏差に基づき、前記複数のバッチの運転データを正規化する第１の正規化手段と、前記第１の正規化手段により正規化された前記複数のバッチの運転データに基づき、前記機器又は設備の異常を検出するための正常モデルを作成するモデル作成手段と、前記モデル作成手段により作成された前記正常モデルと前記機器又は設備から出力された運転データとに基づき、該機器又は設備の異常を検出する異常検出手段とを有することを特徴とする。
【発明の効果】
【０００８】
本発明の実施の形態によれば、バッチプロセスの異常を高い精度で検知することができる。
【図面の簡単な説明】
【０００９】
【図１】第一の実施形態に係るプロセス監視システムの一例のシステム構成図である。
【図２】第一の実施形態に係るプロセス監視装置の一例のハードウェア構成図である。
【図３】第一の実施形態に係るプロセス監視システムの一例の機能構成図である。
【図４】バッチデータの一例を説明するための図である。
【図５】第一の実施形態に係るモデル作成処理の一例のフローチャートである。
【図６】データの変換処理の一例を説明するための図である。
【図７】第一の実施形態に係る異常検知処理の一例のフローチャートである。
【図８】オンラインにおけるＱ統計量及びＴ２統計量の推移を示すグラフの一例のイメージ図である。
【図９】第二の実施形態に係るプロセス監視システムの一例の機能構成図である。
【図１０】第二の実施形態に係る異常検知処理の一例のフローチャートである。
【図１１】Ｑ統計量の１バッチ分の積算及びＴ２統計量の１バッチ分の積算を示す一例のイメージ図である。
【図１２】第三の実施形態に係るプロセス監視システムの一例の機能構成図である。
【図１３】第三の実施形態に係るモデル作成処理の一例のフローチャートである。
【図１４】第１の中間系列の一例を説明するための図である。
【図１５】第三の実施形態に係る異常検知処理の一例のフローチャートである。
【発明を実施するための形態】
【００１０】
次に、本発明の実施の形態について、図面を参照しながら詳細に説明する。
【００１１】
［第一の実施形態］
＜システム構成＞
まず、本実施形態に係るプロセス監視システム１のシステム構成について、図１を用いて説明する。図１は、第一の実施形態に係るプロセス監視システムの一例のシステム構成図である。
【００１２】
図１に示すプロセス監視システム１は、プロセス監視装置１０と、１台以上の機器制御装置２０とが、例えばＬＡＮ（Local Area Network）等のネットワークＮを介して通信可能に接続されている。また、機器制御装置２０には、１台以上の機器３０が接続されている。ここで、機器３０は、機器制御装置２０により制御され、バッチプロセスにより処理を行う設備やプラント等である。
【００１３】
本システムの動作には、機器３０により処理されているバッチプロセスの異常を検知するための正常モデルを作成する「モデル作成」フェーズと、機器３０の運転状態を示すデータに基づきバッチプロセスの異常を検知する「異常検知」フェーズとがある。基本的に「モデル作成」フェーズはオフラインの処理であり、「異常検知」フェーズはオンラインの処理である。
【００１４】
プロセス監視装置１０は、「モデル」作成フェーズにおいて、予め蓄積された正常なバッチプロセスにおける機器３０の運転状態を示すデータ（以降、「運転データ」という。）に基づき、正常モデルを作成する。また、プロセス監視装置１０は、「異常検知」フェーズにおいて、機器制御装置２０から受信した機器３０の運転データと、「モデル作成」フェーズで作成された正常モデルとに基づき、機器３０により処理されているバッチプロセスの異常を検知する。
【００１５】
機器制御装置２０は、機器３０を制御する装置である。機器制御装置２０は、例えば各種センサ等により計測された機器３０の運転状態を運転データとして取得し、プロセス監視装置１０に送信する。ここで、機器３０の運転状態は、各種センサ等により計測された機器３０の所定の部品等の温度、圧力、流量等（これは、「プロセス変数」とも称される）により表される。したがって、運転データは、温度、圧力、流量等の状態を示す複数の状態データにより表されるベクトルデータである。
【００１６】
なお、各種センサ等は、機器３０から運転状態を所定の時間毎に計測する。このような各種センサ等が機器３０の運転状態を計測する所定の時間の間隔は、サンプリング周期と称される。サンプリング周期は、例えば数十ミリ秒ないし数十秒とすればよい。
【００１７】
機器３０は、上述したように、機器制御装置２０により制御され、バッチプロセスにより処理を行う設備やプラント等である。
【００１８】
＜ハードウェア構成＞
次に、本実施形態に係るプロセス監視装置１０のハードウェア構成について、図２を用いて説明する。図２は、第一の実施形態に係るプロセス監視装置の一例のハードウェア構成図である。
【００１９】
図２に示すプロセス監視装置１０は、入力装置１１と、表示装置１２と、外部Ｉ／Ｆ１３と、ＲＡＭ（Random Access Memory）１４と、ＲＯＭ（Read Only Memory）１５とを有する。また、プロセス監視装置１０は、ＣＰＵ（Central Processing Unit）１６と、通信Ｉ／Ｆ１７と、記憶装置１８とを有する。これらの各ハードウェアは、バスＢにより通信可能に接続されている。
【００２０】
入力装置１１は、例えばキーボードやマウス、タッチパネル等であり、ユーザが各操作信号を入力するのに用いられる。表示装置１２は、例えばＬＣＤ（Liquid Crystal Display）等であり、処理結果を表示する。なお、入力装置１１及び／又は表示装置１２は、必要なときにバスＢに接続して利用する形態であってもよい。
【００２１】
外部Ｉ／Ｆ１３は、外部装置とのインタフェースである。外部装置には、記録媒体１３ａ等がある。これにより、プロセス監視装置１０は、外部Ｉ／Ｆ１３を介して記録媒体１３ａの読み取り及び／又は書き込みを行うことができる。記録媒体１３ａには、フレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリ等がある。なお、記録媒体１３ａには、本実施形態を実現するプログラムが格納されてもよい。
【００２２】
ＲＡＭ１４は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ＲＯＭ１５には、プロセス監視装置１０の起動時に実行されるＢＩＯＳ（Basic Input/Output System）、ＯＳ（Operating System）設定、及びネットワーク設定等のプログラムやデータが格納されている。
【００２３】
ＣＰＵ１６は、ＲＯＭ１５や記憶装置１８等からプログラムやデータをＲＡＭ１４上に読み出し、処理を実行することで、プロセス監視装置１０全体の制御や機能を実現する演算装置である。
【００２４】
通信Ｉ／Ｆ１７は、プロセス監視装置１０をネットワークＮに接続するためのインタフェースである。これにより、プロセス監視装置１０は、通信Ｉ／Ｆ１７を介してデータ通信を行うことができる。
【００２５】
記憶装置１８は、プログラムやデータを格納している不揮発性のメモリであり、例えばＨＤＤ（Hard Disk Drive）やＳＳＤ（solid state drive）等である。格納されるプログラムやデータには、本実施形態を実現するプログラム、プロセス監視装置１０全体を制御する基本ソフトウェアであるＯＳ、及びＯＳ上において各種機能を提供するアプリケーションソフトウェア等がある。なお、記憶装置１８は、格納しているプログラムやデータを所定のファイルシステム及び／又はＤＢにより管理している。
【００２６】
本実施形態に係るプロセス監視装置１０は、上記のハードウェア構成を有することにより、後述するような各種処理を実現できる。
【００２７】
＜機能構成＞
次に、本実施形態に係るプロセス監視システム１の機能構成について、図３を用いて説明する。図３は、第一の実施形態に係るプロセス監視システムの一例の機能構成図である。
【００２８】
図３に示すように、プロセス監視装置１０は、データ取得部１０１と、平均プロファイル算出部１０２と、標準偏差プロファイル算出部１０３と、第１の正規化部１０４と、データ変換部１０５と、モデル作成部１０６とを有する。また、プロセス監視装置１０は、第２の正規化部１０７と、指標値算出部１０８と、異常検知部１０９と、結果出力部１１０とを有する。これらの各部は、プロセス監視装置１０にインストール又はダウンロードされる１以上のプログラムが、ＣＰＵ１６に実行させる処理により実現される。
【００２９】
さらに、プロセス監視装置１０は、バッチデータ記憶部１２１と、モデル記憶部１２２とを利用する。これら各記憶部は、記憶装置１８又はプロセス監視装置１０にネットワークを介して接続される記憶装置等を用いて実現可能である。
【００３０】
データ取得部１０１は、「モデル作成」フェーズにおいて、例えばユーザ等により正常モデルの作成が指示された場合に、バッチデータ記憶部１２１に予め蓄積されているバッチデータを取得する。ここで、バッチデータとは、詳細は後述するが、バッチプロセスにおけるバッチ毎の運転データである。
【００３１】
平均プロファイル算出部１０２は、「モデル作成」フェーズにおいて、データ取得部１０１により取得されたバッチデータに基づき、平均プロファイルを算出する。平均プロファイルとは、詳細は後述するが、バッチデータに含まれる複数のバッチの運転データについて、バッチ間で平均を算出したものである。なお、平均プロファイル算出部１０２により算出された平均プロファイルは、モデル記憶部１２２に記憶される。
【００３２】
標準偏差プロファイル算出部１０３は、「モデル作成」フェーズにおいて、データ取得部１０１により取得されたバッチデータに基づき、標準偏差プロファイルを算出する。標準偏差プロファイルとは、詳細は後述するが、バッチデータに含まれる複数のバッチの運転データについて、バッチ間で標準偏差を算出したものである。なお、標準偏差プロファイル算出部１０３により算出された標準偏差プロファイルは、モデル記憶部１２２に記憶される。
【００３３】
第１の正規化部１０４は、「モデル作成」フェーズにおいて、平均プロファイル及び標準偏差プロファイルに基づきバッチデータを正規化する。
【００３４】
データ変換部１０５は、「モデル作成」フェーズにおいて、正規化されたバッチデータのデータ変換を行う。データ変換部１０５は、例えば、Ｊ、Ｉ、及びＫを１以上の整数として、正規化されたバッチデータがＩ個のＪ行Ｋ列の行列データとして表される場合、このバッチデータをＪ行ＩＫ列の行列データに変換する。
【００３５】
モデル作成部１０６は、「モデル作成」フェーズにおいて、データ変換部１０５により変換されたバッチデータに基づき、正常モデルを作成する。ここで、モデル作成部１０６は、例えば主成分分析により得られるローディング行列を正常モデルとして作成する。なお、モデル作成部１０６により作成された正常モデルは、モデル記憶部１２２に記憶される。
【００３６】
第２の正規化部１０７は、「異常検知」フェーズにおいて、平均プロファイル及び標準偏差プロファイルに基づき、機器制御装置２０から受信した機器３０の運転データを正規化する。
【００３７】
指標値算出部１０８は、「異常検知」フェーズにおいて、正規化された運転データ及び正常モデルに基づき、異常検知部１０９が異常を検知するための所定の指標値を算出する。ここで、所定の指標値としては、例えば、Ｑ統計量及びＴ２統計量を算出すればよい。
【００３８】
異常検知部１０９は、「異常検知」フェーズにおいて、指標値算出部１０８により算出された所定の指標値に基づき、機器３０のバッチプロセスにおいて異常が発生したことを検知する。異常検知部１０９は、例えば、指標値算出部１０８により算出された所定の指標値が予め設定された所定の閾値を超えている場合、機器３０のバッチプロセスにおいて異常が発生したと判定し、これを検知する。
【００３９】
結果出力部１１０は、「異常検知」フェーズにおいて、異常検知部１０９により異常が検知された場合に、異常の発生を示す結果を出力する。ここで、結果出力部１１０は、当該結果を、例えばプロセス監視装置１０の表示装置１２に出力してもよいし、予め登録された電子メールアドレス宛に電子メールにより通知してもよい。
【００４０】
モデル記憶部１２２は、平均プロファイル算出部１０２により算出された平均プロファイルと、標準偏差プロファイル算出部１０３により算出された標準偏差プロファイルと、モデル作成部１０６により作成された正常モデルとを記憶する。
【００４１】
バッチデータ記憶部１２１は、機器３０の正常なバッチプロセスにおけるバッチ毎の運転データを示すバッチデータを記憶する。このようなバッチデータは、予め蓄積されているものとする。ここで、バッチデータについて、図４を用いて説明する。
【００４２】
図４（ａ）は、機器３０の運転データの一例を示す。図４（ａ）に示すように、運転データには、例えば温度、圧力、流量等のプロセス変数（以降、単に「変数」とも表す）毎、かつ、サンプリング周期毎に各種センサ等で計測された値を示す状態データが含まれる。そして、バッチプロセスにおいては、各状態データは、バッチ毎に、類似の波形を示す。例えば、図４（ａ）に示すように、バッチ１、バッチ２、及びバッチ３において、温度を示す状態データは、類似の波形を示している。同様に、バッチ１、バッチ２、及びバッチ３において、圧力を示す状態データは、類似の波形を示している。なお、このようなバッチ毎の類似の波形パターンは「プロファイル」と称される。
【００４３】
ここで、各種センサ等で計測された時間として、バッチ毎に、バッチ開始時からの相対時間を用いれば、バッチデータは、運転データを、バッチ毎、変数毎、及び時間毎に記憶（蓄積）したものとして表すことができる。また、時間は、サンプリング周期の自然数倍であるため、時間をｋ（１≦ｋ≦Ｋ）で表す。さらに、運転データに含まれる変数をｊ（１≦ｊ≦Ｊ）、バッチ数をｉ（１≦ｉ≦Ｉ）で表すとすれば、図４（ｂ）に示すように、バッチデータは、Ｊ×Ｋ×Ｊ個のデータとして表すことができる。したがって、以降では、バッチデータをｘ（ｉ，ｊ，ｋ）、（１≦ｉ≦Ｉ，１≦ｊ≦Ｊ，１≦ｋ≦Ｋ）と表す。
【００４４】
＜処理の詳細＞
次に、本実施形態に係るプロセス監視システム１の処理の詳細について、説明する。
【００４５】
≪モデル作成処理≫
まず、「モデル作成」フェーズにおいて、正常モデルを作成する処理について、図５及び図６を用いて説明する。図５は、第一の実施形態に係るモデル作成処理の一例のフローチャートである。
【００４６】
ステップＳ５１において、データ取得部１０１は、バッチデータ記憶部１２１からバッチデータを取得する。これは、例えばユーザ等により入力装置１１を介して、正常モデルの作成が指示された場合に行われる。ここで、上述したように、バッチデータは、ｘ（ｉ，ｊ，ｋ）、（１≦ｉ≦Ｉ，１≦ｊ≦Ｊ，１≦ｋ≦Ｋ）と表される。
【００４７】
ステップＳ５２において、平均プロファイル算出部１０２は、取得されたバッチデータｘ（ｉ，ｊ，ｋ）に基づき、平均プロファイルを算出する。より具体的には、平均プロファイル算出部１０２は、以下の式（１）により平均プロファイルμｊ，ｋを算出する。なお、平均プロファイル算出部１０２は、算出された平均プロファイルμｊ，ｋをモデル記憶部１２２に記憶させる。
【００４８】
【数１】
0006733164.tif 000002
【００４９】
ステップＳ５３において、標準偏差プロファイル算出部１０３は、取得されたバッチデータｘ（ｉ，ｊ，ｋ）に基づき、標準偏差プロファイルを算出する。より具体的には、標準偏差プロファイル算出部１０３は、以下の式（２）により標準偏差プロファイルｓｊ，ｋを算出する。なお、標準偏差プロファイル算出部１０３は、算出された標準偏差プロファイルｓｊ，ｋをモデル記憶部１２２に記憶させる。
【００５０】
【数２】
0006733164.tif 000003
【００５１】
なお、上記の式（２）において、Ｉで除算している箇所について、Ｉの代わりに、Ｉ−１で除算してもよい。
【００５２】
ステップＳ５４において、第１の正規化部１０４は、上記で算出された平均プロファイル及び標準偏差プロファイルに基づきバッチデータを正規化する。より具体的には、第１の正規化部１０４は、以下の式（３）によりバッチデータｘ（ｉ，ｊ，ｋ）を正規化する。ここで、正規化されたバッチデータｘ（ｉ，ｊ，ｋ）を、ｘｓ（ｉ，ｊ，ｋ）と表す。
【００５３】
【数３】
0006733164.tif 000004
【００５４】
なお、上記の式（３）を計算するあたり、ｓｊ，ｋ＝０となる（ｊ，ｋ）が存在する場合、例えば線形補間やスプライン補間等を用いて、当該ｓｊ，ｋを０でない値に置き換えればよい。
【００５５】
ここで、上記の式（３）において、平均プロファイルμｊ，ｋ及び標準偏差プロファイルｓｊ，ｋの代わりに、当該平均プロファイルμｊ，ｋ及び標準偏差プロファイルｓｊ，ｋの移動平均をそれぞれ算出したμ'ｊ，ｋ及びｓ'ｊ，ｋをそれぞれ用いてよい。すなわち、上記の式（３）において、μｊ，ｋ及びｓｊ，ｋの代わりに、以下の式（４）及び式（５）で算出されるμ'ｊ，ｋ及びｓ'ｊ，ｋをそれぞれ用いてよい。なお、式（４）及び式（５）は、移動平均を算出する計算式の一例であり、これに限られず、他の計算式により移動平均を求めてもよい。
【００５６】
【数４】
0006733164.tif 000005
【００５７】
【数５】
0006733164.tif 000006
【００５８】
ステップＳ５５において、データ変換部１０５は、正規化されたバッチデータｘｓ（ｉ，ｊ，ｋ）のデータ変換を行う。これについて、図６を用いて説明する。
【００５９】
Ｓｔｅｐ１）データ変換部１０５は、正規化されたバッチデータｘｓ（ｉ，ｊ，ｋ）を、ｉ毎に分解する。すなわち、データ変換部１０５は、バッチデータｘｓ（ｉ，ｊ，ｋ）を、ｘｓ（１，ｊ，ｋ），ｘｓ（２，ｊ，ｋ），・・・，ｘｓ（Ｉ，ｊ，ｋ）と分解する。
【００６０】
Ｓｔｅｐ２）データ変換部１０５は、分解した各ｘｓ（１，ｊ，ｋ），ｘｓ（２，ｊ，ｋ），・・・，ｘｓ（Ｉ，ｊ，ｋ）について、時間ｋで連結して、Ｊ行ＩＫ列の行列データＸｓ（ｉ，ｊ，ｋ）を作成する。すなわち、データ変換部１０５は、各ｋに対して、Ｘｓ（ｊ，ｋ）を以下の式（６）ように定義して、ｘｓ（ｉ，ｊ，ｋ）をＸｓ（ｊ，ｋ）に変換する。
【００６１】
【数６】
0006733164.tif 000007
【００６２】
これにより、Ｉ個のＪ行Ｋ列の行列データとして表される正規化されたバッチデータｘｓ（ｉ，ｊ，ｋ）が、Ｊ行ＩＫ列の行列データＸｓ（ｊ，ｋ）に変換される。
【００６３】
ステップＳ５６において、モデル作成部１０６は、上記で変換されたバッチデータＸｓ（ｊ，ｋ）（１≦ｊ≦Ｊ，１≦ｋ≦ＩＫ）に基づき、正常モデルを作成する。ここで、モデル作成部１０６は、Ｘｓ（ｊ，ｋ）について主成分分析を行って得られるローディング行列を正常モデルとして作成したものとする。なお、モデル作成部１０６は、作成された正常モデルをモデル記憶部１２２に記憶させる。
【００６４】
以上により、本実施形態に係るプロセス監視システム１では、オンラインにおいて機器３０により処理されているバッチプロセスの異常を検知するための正常モデルを作成される。
【００６５】
≪異常検知処理≫
次に、「異常検知」フェーズにおいて、正常モデルに基づき機器３０により処理されているバッチプロセスの異常を検知する異常検知処理について、図７及び図８を用いて説明する。図７は、第一の実施形態に係る異常検知処理の一例のフローチャートである。
【００６６】
ステップＳ６１において、プロセス監視装置１０は、機器制御装置２０からバッチプロセスの開始を示すバッチ開始データを受信する。このバッチ開始データは、機器３０においてバッチプロセスの処理が開始されたことを契機として、機器制御装置２０から送信される。すなわち、バッチ開始データは１つのバッチの開始を示すデータであり、プロセス監視装置１０は、バッチ開始データを受信することで、機器３０において１つのバッチのバッチプロセスが開始されたことを検知することができる。したがって、プロセス監視装置１０は、バッチ開始データを受信した時間と、運転データを受信した時間（各種センサ等により計測された時間）とからバッチ内での運転データの相対時間を算出することができる。
【００６７】
ステップＳ６２において、プロセス監視装置１０は、機器制御装置２０から機器３０の運転データを受信する。なお、運転データは、機器制御装置２０からサンプリング周期毎に送信される。ここで、以降では、バッチ開始データを受信してから時間ｋ後に受信した（すなわち、ｋ番目に受信した）運転データをｚ（ｊ，ｋ）、（１≦ｊ≦Ｊ）と表す。換言すれば、サンプリング周期をΔｔとした場合、ｚ（ｊ，ｋ）は、バッチ開始データを受信してからΔｔ×ｋ時間後に受信された運転データである。
【００６８】
ステップＳ６３において、第２の正規化部１０７は、受信した運転データｚ（ｊ，ｋ）から対応する（ｋの値が同一の）平均プロファイルμｊ，ｋを減算した後、対応する（ｋの値が同一の）標準偏差プロファイルｓｊ，ｋで除算する。すなわち、第２の正規化部１０７は、以下の式（７）により正規化した運転データｚｓ（ｊ，ｋ）を算出する。なお、第２の正規化部１０７は、「モデル作成」フェーズにおいてモデル記憶部１２２に記憶させた平均プロファイルμｊ，ｋ及び標準偏差プロファイルｓｊ，ｋを取得する。
【００６９】
【数７】
0006733164.tif 000008
【００７０】
ステップＳ６４において、指標値算出部１０８は、上記で正規化した運転データｚｓ（ｊ，ｋ）と、「モデル作成」フェーズにおいて作成した正常モデルとに基づき所定の指標値を算出する。ここで、指標値算出部１０８は、運転データｚｓ（ｊ，ｋ）と、正常モデル（すなわち、Ｘｓ（ｊ，ｋ）について主成分分析を行って得られたローディング行列）とに基づきＱ統計量及びＴ２統計量を算出したものとする。
【００７１】
ここで、Ｑ統計量は、１以上のＱ統計量の寄与度（これを「Ｑ寄与度」と表す）の和で表される。同様に、Ｔ２統計量は、１以上のＴ２統計量の寄与度（これを「Ｔ２寄与度」と表す）の和で表される。一般に、１以上のＱ寄与度から算出される分散が低い方がＱ統計量は、指標値として精度が高いことが知られている。同様に、１以上のＴ２寄与度から算出される分散が低い方がＴ２統計量は、指標値として精度が高いことが知られている。したがって、Ｑ寄与度から算出される分散又はＴ２寄与度から算出される分散の少なくとも一方が、予め設定された所定の値以上である場合、正常モデルの再作成をユーザ等に促すメッセージ通知を行ってもよい。このようなメッセージ通知は、例えばプロセス監視装置１０の表示装置１２に出力することにより行ってもよいし、予め登録された電子メールアドレス宛に電子メールを送信することにより行ってもよい。なお、寄与度は「寄与プロット」とも称される。
【００７２】
ステップＳ６５において、異常検知部１０９は、上記で算出されたＱ統計量及びＴ２統計量が、予め設定された所定の閾値を超えているか否かを判定する。そして、異常検知部１０９は、Ｑ統計量及びＴ２統計量の少なくとも一方が、予め設定された所定の閾値を超えていると判定した場合、機器３０のバッチプロセスにおいて異常が発生したことを検知する。
【００７３】
ステップＳ６６において、結果出力部１１０は、異常検知部１０９により異常が検知された場合に、異常の発生を示す結果を出力する。すなわち、結果出力部１１０は、異常の発生を示す結果を、例えばプロセス監視装置１０の表示装置１２に出力したり、予め登録された電子メールアドレス宛に電子メールにより通知する。
【００７４】
さらに、結果出力部１１０は、上記で算出されたＱ統計量及びＴ２統計量をサンプリング周期毎にプロットして作成された例えば図８に示すようなグラフを、プロセス監視装置１０の表示装置１２に出力してもよい。図８（ａ）はＱ統計量をサンプリング周期毎にプロットして作成されたグラフを示し、図８（ｂ）はＴ２統計量をサンプリング周期毎にプロットして作成されたグラフを示している。これにより、例えばプラントのオペレータ等は、Ｑ統計量及びＴ２統計量のサンプリング周期毎の推移を監視することができる。なお、図８に示すグラフを、所定の時間毎に、予め登録された電子メールアドレス宛に電子メールにより通知してもよいし、例えばプロセス監視装置１０とインターネット等の広域的なネットワークを介してＰＣ等から閲覧することができるようにしてもよい。
【００７５】
＜まとめ＞
以上により、第一の実施形態に係るプロセス監視システム１では、予め蓄積されている正常なバッチプロセスの運転データに基づき、オンラインにおいて異常を検知するための正常モデルを作成する。しかも、このとき、第一の実施形態に係るプロセス監視システム１は、平均プロファイルと標準偏差プロファイルに基づき、予め蓄積されている正常なバッチプロセスの運転データを正規化することで、異常検知の精度が高い正常モデルを作成することができる。このため、第一の実施形態に係るプロセス監視システム１では、機器３０のプロセス変数（例えば、圧力、温度、流量等）の異常な値が計測されたことを高い精度で検知することができる。
【００７６】
［第二の実施形態］
次に、第二の実施形態について説明する。第二の実施形態に係るプロセス監視システム１では、「異常検知」フェーズにおいて、所定の指標値として、１バッチ分のＱ統計量に基づく値と、１バッチ分のＴ２統計量に基づく値とを用いるものである。これにより、本実施形態に係るプロセス監視システム１では、バッチプロセス単位における異常の発生を高い精度で検知することができるようになる。
【００７７】
なお、以降の本実施形態の説明では、第一の実施形態との相違点について主に説明し、第一の実施形態と同様の機能構成を有する箇所及び同様の処理を行う箇所には、第一の実施形態と同様の符号を付与し、その説明を省略する。
【００７８】
＜機能構成＞
第二の実施形態に係るプロセス監視システム１の機能構成について、図９を用いて説明する。図９は、第二の実施形態に係るプロセス監視システムの一例の機能構成図である。
【００７９】
図９に示すように、第二の実施形態に係るプロセス監視装置１０は、指標値算出部１０８Ａと、異常検知部１０９Ａとを有する。
【００８０】
指標値算出部１０８Ａは、「異常検知」フェーズにおいて、正規化された運転データ及び正常モデルに基づき、異常検知部１０９Ａが異常検知するための所定の指標値を算出する。
【００８１】
ここで、本実施形態における所定の指標値としては、サンプリング周期毎の時系列データとして得られる１バッチ分のＱ統計量の関数値と、サンプリング周期毎の時系列データとして得られる１バッチ分のＴ２統計量の関数値とを用いる。
【００８２】
例えば、所定の関数をＦ１、１バッチ分のＱ統計量をＱ（１）、Ｑ（２）、・・・、Ｑ（Ｋ）とすれば、本実施形態における指標値Ｖ（Ｑ）は、Ｖ（Ｑ）＝Ｆ１（Ｑ（１）、Ｑ（２）、・・・、Ｑ（Ｋ））と表される。
【００８３】
同様に、例えば、所定の関数をＦ２、１バッチ分のＴ２統計量をＴ２（１）、Ｔ２（２）、・・・、Ｔ２（Ｋ）とすれば、本実施形態における指標値Ｖ（Ｔ２）は、Ｖ（Ｔ２）＝Ｆ２（Ｔ２（１）、Ｔ２（２）、・・・、Ｔ２（Ｋ））と表される。
【００８４】
異常検知部１０９Ａは、「異常検知」フェーズにおいて、指標値算出部１０８Ａにより算出された指標値Ｖ（Ｑ）及びＶ（Ｔ２）に基づき、機器３０のバッチプロセスにおいて異常が発生したことを検知する。異常検知部１０９Ａは、例えば、指標値算出部１０８Ａにより算出された指標値Ｖ（Ｑ）及びＶ（Ｔ２）が予め設定された所定の閾値を超えている場合、機器３０のバッチプロセスにおいて異常が発生したと判定し、これを検知する。
【００８５】
このように、本実施形態に係るプロセス監視システム１では、機器３０により処理されたバッチプロセスについて、このバッチプロセスで異常が発生したことを検知する。
【００８６】
＜処理の詳細＞
次に、本実施形態に係るプロセス監視システム１の処理の詳細について、説明する。なお、「モデル作成」フェーズにおけるモデル作成処理については、第一の実施形態と同様であるため、その説明を省略する。
【００８７】
≪異常検知処理≫
「異常検知」フェーズにおいて、正常モデルに基づき機器３０により処理されたバッチプロセスの異常を検知する異常検知処理について、図１０及び図１１を用いて説明する。図１０は、第二の実施形態に係る異常検知処理の一例のフローチャートである。なお、図１０におけるステップＳ６１〜ステップＳ６３及びステップＳ６６については、第一の実施形態と同様であるため、その説明を省略する。
【００８８】
ステップＳ１０１において、指標値算出部１０８Ａは、ステップＳ６３で正規化した運転データｚｓ（ｊ，ｋ）と、「モデル作成」フェーズにおいて作成した正常モデルとに基づきＱ統計量及びＴ２統計量を算出する。
【００８９】
ここで、指標値算出部１０８Ａにより算出された１バッチ分のＱ統計量及びＴ２統計量を、それぞれＱ（ｋ）及びＴ２（ｋ）、（１≦ｋ≦Ｋ）とする。
【００９０】
すなわち、正規化した運転データｚｓ（ｊ，１）と、正常モデルとに基づき算出されたＱ統計量及びＴ２統計量を、それぞれＱ（１）及びＴ２（１）とする。同様に、正規化した運転データｚｓ（ｊ，２）と、正常モデルとに基づき算出されたＱ統計量及びＴ２統計量を、それぞれＱ（２）及びＴ２（２）とする。以降、同様に、正規化した運転データｚｓ（ｊ，Ｋ）と、正常モデルとに基づき算出されたＱ統計量及びＴ２統計量を、それぞれＱ（Ｋ）及びＴ２（Ｋ）とする。
【００９１】
ステップＳ１０２において、指標値算出部１０８Ａは、１バッチ分のＱ統計量及びＴ２統計量に基づいて、それぞれ指標値Ｖ（Ｑ）及びＶ（Ｔ２）を算出する。
【００９２】
ここで、上述したように、指標値Ｖ（Ｑ）は、所定の関数をＦ１として、Ｖ（Ｑ）＝Ｆ１（Ｑ（１）、Ｑ（２）、・・・、Ｑ（Ｋ））と表される。同様に、指標値Ｖ（Ｔ２）は、所定の関数をＦ２として、Ｖ（Ｔ２）＝Ｆ２（Ｔ２（１）、Ｔ２（２）、・・・、Ｔ２（Ｋ））
関数Ｆ１としては、例えば、以下の式（８）に示すような関数が挙げられる。
【００９３】
【数８】
0006733164.tif 000009
また、関数Ｆ２としては、例えば、以下の式（９）に示すような関数が挙げられる。
【００９４】
【数９】
0006733164.tif 000010
ここで、上記の式（８）によれば、Ｖ（Ｑ）は、図１１（ａ）に示すように、１バッチ分のＱ統計量を表すグラフと、定数Ｃ１とで囲まれた領域であって、Ｑ統計量がＣ１以下となる部分を除いた領域の面積として表される。
【００９５】
同様に、上記の式（９）によれば、Ｖ（Ｔ２）は、図１１（ｂ）に示すように、１バッチ分のＴ２統計量を表すグラフと、定数Ｃ２とで囲まれた領域の面積として表される。ここで、特に、定数Ｃ１及び／又は定数Ｃ２を「０」としてもよい。
【００９６】
なお、関数Ｆ１及びＦ２は、上記の式（８）及び式（９）に限られず、任意の関数を用いることができる。また、関数Ｆ１及びＦ２として、同一の関数を用いてもよい。
【００９７】
ステップＳ１０３において、異常検知部１０９Ａは、上記で算出された指標値Ｖ（Ｑ）及びＶ（Ｔ２）が、予め設定された所定の閾値を超えているか否かを判定する。そして、異常検知部１０９Ａは、指標値Ｖ（Ｑ）及びＶ（Ｔ２）の少なくとも一方が、予め設定された所定の閾値を超えていると判定した場合、機器３０により処理されたバッチプロセスにおいて異常が発生したことを検知する。
【００９８】
＜まとめ＞
以上により、第二の実施形態に係るプロセス監視システム１では、「異常検知」フェーズにおいて、バッチ単位の指標値を用いて異常検知を行う。これにより、第二の実施形態に係るプロセス監視システム１では、機器３０により処理されたバッチプロセス毎に、このバッチプロセスにおいて異常が発生したことを高い精度で検知することができるようになる。
【００９９】
［第三の実施形態］
次に、第三の実施形態について説明する。第三の実施形態に係るプロセス監視システム１では、プロセス変数毎に、過去の計測値との相関を考慮した正常モデルを作成し、異常検知を行う。これにより、本実施形態に係るプロセス監視システム１では、プロセス変数の異常な値が計測されたことを、より高い精度で検知することができるようになる。
【０１００】
なお、以降の本実施形態の説明では、第一の実施形態との相違点について主に説明し、第一の実施形態と同様の機能構成を有する箇所及び同様の処理を行う箇所には、第一の実施形態と同様の符号を付与し、その説明を省略する。
【０１０１】
＜機能構成＞
第三の実施形態に係るプロセス監視システム１の機能構成について、図１２を用いて説明する。図１２は、第三の実施形態に係るプロセス監視システムの一例の機能構成図である。
【０１０２】
図１２に示すように、第三の実施形態に係るプロセス監視装置１０は、第１のデータ系列作成部１１１と、データ変換部１０５Ａと、第２のデータ系列作成部１１２と、指標値算出部１０８Ｂとを有する。
【０１０３】
第１のデータ系列作成部１１１は、「モデル作成」フェーズにおいて、正規化されたバッチデータに基づいて、第１のデータ系列を作成する。
【０１０４】
ここで、第１のデータ系列作成部１１１は、正規化されたバッチデータｘｓ（ｉ，ｊ，ｋ）のプロセス変数を示す各ｊに対して、それぞれＮ個の第１の中間系列を作成し、このＮ個の第１の中間系列をリナンバリングすることにより第１のデータ系列を作成する。
【０１０５】
第１のデータ系列作成部１１１により作成された第１のデータ系列は、例えば、Ｉ個のＪＮ行（Ｋ−Ｎ＋１）列の行列データとして表すことができる。なお、Ｎは、予め設定された値であり、「多重度」とも称される。
【０１０６】
データ変換部１０５Ａは、「モデル作成」フェーズにおいて、第１のデータ系列のデータ変換を行う。データ変換部１０５Ａは、第１のデータ系列がＩ個のＪＮ行（Ｋ−Ｎ＋１）列の行列データとして表される場合、この第１のデータ系列をＪＮ行Ｉ（Ｋ−Ｎ＋１）列の行列データに変換する。
【０１０７】
第２のデータ系列作成部１１２は、「異常検知」フェーズにおいて、正規化された運転データに基づいて、第２のデータ系列を作成する。
【０１０８】
ここで、第２のデータ系列作成部１１２は、正規化された運転データｚｓ（ｊ，ｋ）のプロセス変数を示す各ｊに対して、それぞれＮ個の第２の中間系列を作成し、このＮ個の第２の中間系列をリナンバリングすることにより第２のデータ系列を作成する。
【０１０９】
第２のデータ系列作成部１１２により作成された第２のデータ系列は、例えば、ＪＮ行（Ｋ−Ｎ＋１）列の行列データとして表すことができる。なお、Ｎは、上述した通り、予め設定された多重度である。
【０１１０】
指標値算出部１０８Ｂは、「異常検知」フェーズにおいて、第２のデータ系列及び正常モデルに基づき、異常検知部１０９が異常を検知するための所定の指標値を算出する。
【０１１１】
ここで、所定の指標値は、例えば、第一の実施形態で説明したＱ統計量及びＴ２統計量を算出してもよいし、第二の実施形態で説明した１バッチ分のＱ統計量及びＴ２統計量の関数値Ｖ（Ｑ）及びＶ（Ｔ２）を算出してもよい。
【０１１２】
＜処理の詳細＞
次に、本実施形態に係るプロセス監視システム１の処理の詳細について、説明する。
【０１１３】
≪モデル作成処理≫
まず、「モデル作成」フェーズにおいて、正常モデルを作成する処理について、図１３及び図１４を用いて説明する。図１３は、第三の実施形態に係るモデル作成処理の一例のフローチャートである。なお、図１３におけるステップＳ５１〜ステップＳ５４及びステップＳ５６については、第一の実施形態と同様であるため、その説明を省略する。
【０１１４】
ステップＳ１３１において、第１のデータ系列作成部１１１は、正規化されたバッチデータｘｓ（ｉ，ｊ，ｋ）のプロセス変数を示す各ｊに対して、それぞれ多重度に応じた第１の中間系列を作成する。
【０１１５】
ここで、多重度がＮである場合における第１の中間系列の作成について、図１４を用いて説明する。図１４は、第１の中間系列の一例を説明するための図である。
【０１１６】
まず、第１のデータ系列作成部１１１は、各ｉ及びｊに対して、ｘｓ（ｉ，ｊ，ｋ）の時間ｋの値を、例えば、１ずつ減算したデータ系列をＮ個作成する。すなわち、第１のデータ系列作成部１１１は、ｘｓ（ｉ，ｊ，ｋ）、ｘｓ（ｉ，ｊ，ｋ−１）、・・・、ｘｓ（ｉ，ｊ，ｋ−Ｎ＋２）、ｘｓ（ｉ，ｊ，ｋ−Ｎ＋１）のＮ個のデータ系列を作成する。
【０１１７】
そして、第１のデータ系列作成部１１１は、ｘｓ（ｉ，ｊ，ｋ）、ｘｓ（ｉ，ｊ，ｋ−１）、・・・、ｘｓ（ｉ，ｊ，ｋ−Ｎ＋２）、ｘｓ（ｉ，ｊ，ｋ−Ｎ＋１）において、ｋの値が共通に定義される範囲（すなわち、Ｎ≦ｋ≦Ｋの範囲）をそれぞれ抽出する。
【０１１８】
これにより、ｙ１（ｉ，ｊ，１）＝ｘｓ（ｉ，ｊ，Ｎ）、ｙ１（ｉ，ｊ，２）＝ｘｓ（ｉ，ｊ，Ｎ＋１）、・・・、ｙ１（ｉ，ｊ，Ｋ−Ｎ＋１）＝ｘｓ（ｉ，ｊ，Ｋ）とすることにより、第１の中間系列ｙ１（ｉ，ｊ，ｋ）、（１≦ｋ≦Ｋ−Ｎ＋１）が作成される。
【０１１９】
同様に、ｙ２（ｉ，ｊ，１）＝ｘｓ（ｉ，ｊ，Ｎ−１）、ｙ２（ｉ，ｊ，２）＝ｘｓ（ｉ，ｊ，Ｎ）、・・・、ｙ２（ｉ，ｊ，Ｋ−Ｎ＋１）＝ｘｓ（ｉ，ｊ，Ｋ−１）とすることにより、第１の中間系列ｙ２（ｉ，ｊ，ｋ）、（１≦ｋ≦Ｋ−Ｎ＋１）が作成される。
【０１２０】
以降も同様にして、第１のデータ系列作成部１１１により、Ｎ個の第１の中間系列ｙ１（ｉ，ｊ，ｋ）、ｙ２（ｉ，ｊ，ｋ）、・・・、ｙＮ（ｉ，ｊ，ｋ）が作成される。このように、第１のデータ系列作成部１１１は、各ｉ及びｊに対して、Ｎ個の第１の中間系列ｙ１（ｉ，ｊ，ｋ）、ｙ２（ｉ，ｊ，ｋ）、・・・、ｙＮ（ｉ，ｊ，ｋ）を作成する。
【０１２１】
なお、上記のステップＳ１３１では、第１のデータ系列作成部１１１により、ｘｓ（ｉ，ｊ，ｋ）の時間ｋの値を１ずつ減算したＮ個のデータ系列に基づいて第１の中間系列を作成したが、これに限られない。すなわち、第１のデータ系列作成部１１１は、ｘｓ（ｉ，ｊ，ｋ）の時間ｋの値を任意の値（この値を以降では「減算値」と表す。）ずつ減算したＮ個のデータ系列に基づいて第１の中間系列を作成してもよい。また、多重度Ｎは、ｘｓ（ｉ，ｊ，ｋ）のプロセス変数を示すｊ毎に、異なる値としてもよい。
【０１２２】
ステップＳ１３２において、第１のデータ系列作成部１１１は、Ｎ個の第１の中間系列ｙ１（ｉ，ｊ，ｋ）、ｙ２（ｉ，ｊ，ｋ）、・・・、ｙＮ（ｉ，ｊ，ｋ）をｊについてリナンバリングすることにより第１のデータ系列ｙ（ｉ，ｊ，ｋ）を作成する。
【０１２３】
第１のデータ系列作成部１１１は、ｙ（ｉ，ｊ，ｋ）、（１≦ｋ≦Ｋ−Ｎ＋１）を、各ｊに対して、次のように定義することで、第１のデータ系列を作成する。
【０１２４】
すなわち、１≦ｊ≦Ｎの場合、ｙ（ｉ，１，ｋ）＝ｙ１（ｉ，１，ｋ）、ｙ（ｉ，２，ｋ）＝ｙ２（ｉ，１，ｋ）、ｙ（ｉ，３，ｋ）＝ｙ３（ｉ，１，ｋ）、・・・、ｙ（ｉ，Ｎ，ｋ）＝ｙＮ（ｉ，１，ｋ）とする。
【０１２５】
次に、Ｎ＋１≦ｊ≦２Ｎの場合、ｙ（ｉ，Ｎ＋１，ｋ）＝ｙ１（ｉ，２，ｋ）、ｙ（ｉ，Ｎ＋２，ｋ）＝ｙ２（ｉ，２，ｋ）、ｙ（ｉ，Ｎ＋３，ｋ）＝ｙ３（ｉ，２，ｋ）、・・・、ｙ（ｉ，２Ｎ，ｋ）＝ｙＮ（ｉ，２，ｋ）とする。
【０１２６】
以降も同様にして、最後に、（Ｊ−１）Ｎ＋１≦ｊ≦ＪＮの場合、ｙ（ｉ，（Ｊ−１）Ｎ＋１，ｋ）＝ｙ１（ｉ，Ｊ，ｋ）、ｙ（ｉ，（Ｊ−１）Ｎ＋２，ｋ）＝ｙ２（ｉ，Ｊ，ｋ）、・・・、ｙ（ｉ，ＪＮ，ｋ）＝ｙＮ（ｉ，Ｊ，ｋ）とする。
【０１２７】
これにより、第１のデータ系列作成部１１１により、第１のデータ系列ｙ（ｉ，ｊ，ｋ）、（１≦ｉ≦Ｉ、１≦ｊ≦ＪＮ、１≦ｋ≦Ｋ−Ｎ＋１）が作成される。
【０１２８】
ステップＳ１３３において、データ変換部１０５Ａは、作成された第１のデータ系列ｙ（ｉ，ｊ，ｋ）のデータ変換を行う。
【０１２９】
すなわち、データ変換部１０５Ａは、各ｋに対して、Ｙ（ｊ，ｋ）を以下の式（１０）のように定義して、ｙ（ｉ，ｊ，ｋ）をＹ（ｊ，ｋ）に変換する。
【０１３０】
【数１０】
0006733164.tif 000011
これにより、Ｉ個のＪＮ行（Ｋ−Ｎ＋１）列の行列データとして表されるｙ（ｉ，ｊ，ｋ）が、ＪＮ行Ｉ（Ｋ−Ｎ＋１）列の行列データＹ（ｊ，ｋ）に変換される。したがって、以降のステップＳ５６において、モデル作成部１０６により、Ｙ（ｊ，ｋ）について主成分分析を行って得られるローディング行列が正常モデルとして作成される。
【０１３１】
≪異常検知処理≫
次に、「異常検知」フェーズにおいて、正常モデルに基づき機器３０により処理されているバッチプロセスの異常を検知する異常検知処理について、図１５を用いて説明する。図１５は、第三の実施形態に係る異常検知処理の一例のフローチャートである。なお、図１５におけるステップＳ６１〜ステップＳ６３及びステップＳ６５〜ステップＳ６６については、第一の実施形態と同様であるため、その説明を省略する。
【０１３２】
ステップＳ１５１において、第２のデータ系列作成部１１２は、正規化された運転データｚｓ（ｊ，ｋ）のプロセス変数を示す各ｊに対して、それぞれ多重度Ｎに応じた第２の中間系列を作成する。
【０１３３】
ここで、バッチ内における最新のｚｓ（ｊ，ｋ）を、ｚｓ（ｊ，ｋ１）、（ただし、１≦ｋ１≦Ｋ）とすると、第２のデータ系列作成１１２は、次のようにして第２の中間系列を作成する。すなわち、第２のデータ系列作成部１１２は、第１の中間系列と同様の方法で、ｗ１（ｊ，１）＝ｚｓ（ｊ，Ｎ）、ｗ１（ｊ，２）＝ｚｓ（ｊ，Ｎ＋１）、・・・、ｗ１（ｊ，ｋ１−Ｎ＋１）＝ｚｓ（ｊ，ｋ１）とすることにより、第２の中間系列ｗ１（ｊ，ｋ）を作成する。同様に、第２のデータ系列作成部１１２は、ｗ２（ｊ，１）＝ｚｓ（ｊ，Ｎ−１）、ｗ２（ｊ，２）＝ｚｓ（ｊ，Ｎ）、・・・、ｗ２（ｊ，ｋ１−Ｎ＋１）＝ｚｓ（ｊ，ｋ１−１）とすることにより、第２の中間系列ｗ２（ｊ，ｋ）を作成する。
【０１３４】
以降も同様にして、第２のデータ系列作成部１１２は、Ｎ個の第２の中間系列ｗ１（ｊ，ｋ）、ｗ２（ｊ，ｋ）、・・・、ｗＮ（ｊ，ｋ）、（１≦ｋ≦ｋ１−Ｎ＋１）を作成する。このように、第２のデータ系列作成部１１２は、時間ｋ＝１からｋ＝ｋ１までの正規化された運転データｚｓ（ｊ，１）、・・・、ｚｓ（ｊ，ｋ１）から第２の中間系列ｗ１（ｊ，ｋ）、ｗ２（ｊ，ｋ）、・・・、ｗＮ（ｊ，ｋ）、（１≦ｋ≦ｋ１−Ｎ＋１）を作成する。
【０１３５】
なお、第２のデータ系列作成部１１２は、第１のデータ系列作成部１１１と同様の方法により第２の中間系列を作成する。すなわち、「モデル作成」フェーズにおいて第１のデータ系列１１１が第１の中間系列を作成した際に用いた減算値及び多重度と同様の減算値及び多重度を用いて、第２のデータ系列作成部１１２は、第２の中間系列を作成する。
【０１３６】
ステップＳ１５２において、第２のデータ系列作成部１１２は、Ｎ個の第２の中間系列ｗ１（ｊ，ｋ）、ｗ２（ｊ，ｋ）、・・・、ｗＮ（ｊ，ｋ）をｊについてリナンバリングすることにより第２のデータ系列ｗ（ｊ，ｋ）を作成する。
【０１３７】
第２のデータ系列作成部１１２は、ｗ（ｊ，ｋ）、（１≦ｋ≦ｋ１−Ｎ＋１）を、各ｊに対して、次のように定義することで、第２のデータ系列を作成する。
【０１３８】
すなわち、１≦ｊ≦Ｎの場合、ｗ（１，ｋ）＝ｗ１（１，ｋ）、ｗ（２，ｋ）＝ｗ２（１，ｋ）、ｗ（３，ｋ）＝ｗ３（１，ｋ）、・・・、ｗ（Ｎ，ｋ）＝ｗＮ（１，ｋ）とする。
【０１３９】
次に、Ｎ＋１≦ｊ≦２Ｎの場合、ｗ（Ｎ＋１，ｋ）＝ｗ１（２，ｋ）、ｗ（Ｎ＋２，ｋ）＝ｗ２（２，ｋ）、ｗ（Ｎ＋３，ｋ）＝ｗ３（２，ｋ）、・・・、ｗ（２Ｎ，ｋ）＝ｗＮ（２，ｋ）とする。
【０１４０】
以降も同様にして、最後に、（Ｊ−１）Ｎ＋１≦ｊ≦ＪＮの場合、ｗ（（Ｊ−１）Ｎ＋１，ｋ）＝ｗ１（Ｊ，ｋ）、ｗ（（Ｊ−１）Ｎ＋２，ｋ）＝ｗ２（Ｊ，ｋ）、・・・、ｗ（ＪＮ，ｋ）＝ｗＮ（Ｊ，ｋ）とする。
【０１４１】
これにより、第２のデータ系列作成部１１２により、第２のデータ系列ｗ（ｊ，ｋ）、（１≦ｊ≦ＪＮ、１≦ｋ≦ｋ１−Ｎ＋１）が作成される。なお、上記において、ｋ１＜Ｎ＋１である場合には、ステップＳ１５１以降の処理は行わなくもよい。
【０１４２】
ステップＳ１５３において、指標値算出部１０８は、第２のデータ系列ｗ（ｉ，ｋ）と、「モデル作成」フェーズにおいて作成した正常モデルとに基づき所定の指標値を算出する。これにより、ステップＳ６５において、異常検知部１０９により、算出された指標値に基づいて異常が発生したか否かが判定される。
【０１４３】
＜まとめ＞
以上により、第三の実施形態に係るプロセス監視システム１では、プロセス変数毎に、過去の計測値との相関を考慮した正常モデルが作成され、この正常モデルに基づいて異常検知を行う。これにより、本実施形態に係るプロセス監視システム１では、プロセス変数の異常な値やバッチプロセスにおける異常の発生等を、より高い精度で検知することができるようになる。
【０１４４】
なお、本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０１４５】
１      プロセス監視システム
１０    プロセス監視装置
２０    機器制御装置
３０    機器
１０１  データ取得部
１０２  平均プロファイル算出部
１０３  標準偏差プロファイル算出部
１０４  第１の正規化部
１０５  データ変換部
１０６  モデル作成部
１０７  第２の正規化部
１０８  指標値算出部
１０９  異常検知部
１１０  結果出力部
１２１  バッチデータ記憶部
１２２  モデル記憶部
【図１】
0006733164.tif 000012
【図２】
0006733164.tif 000013
【図３】
0006733164.tif 000014
【図４】
0006733164.tif 000015
【図５】
0006733164.tif 000016
【図６】
0006733164.tif 000017
【図７】
0006733164.tif 000018
【図８】
0006733164.tif 000019
【図９】
0006733164.tif 000020
【図１０】
0006733164.tif 000021
【図１１】
0006733164.tif 000022
【図１２】
0006733164.tif 000023
【図１３】
0006733164.tif 000024
【図１４】
0006733164.tif 000025
【図１５】
0006733164.tif 000026