【国等の委託研究の成果に係る記載事項】(出願人による申告)国立研究開発法人新エネルギー・産業技術総合開発機構 戦略的省エネルギー技術革新プログラム/省エネルギー技術開発事業の重要技術に係る周辺技術・関連技術の検討(平成28年度)/高度EMSによる生産最適化技術の開発に関する調査検討、産業技術力強化法第19条の適用を受ける特許出願
(58)【調査した分野】(Int.Cl.,DB名)
前記入力値と前記出力値を含むプロセス毎のプロセスデータから、解析対象のプロセスからの前記出力値に対する寄与度が所定の寄与度よりも高い入力値もしくは他のプロセスの出力値を特定し、特定した入力値もしくは出力値を含む有効データを抽出するプロセスデータ解析部を、
さらに備える請求項1又は請求項2に記載のデータ処理装置。
【発明を実施するための形態】
【0018】
以下、図面を参照し、本発明のデータ処理装置、プロセス制御システム、データ処理方法及びプログラムの実施形態について説明する。
【0019】
(プロセス制御システム)
まず、本実施形態に係るプロセス制御システムの一構成例について説明する。
図1は、本実施形態に係るプロセス制御システム1の一構成例を示すブロック図である。
プロセス制御システム1は、データ処理装置10と、複数の制御装置70(コントローラ)と、を含んで構成される。
図1に示す例では、制御装置70の個数は2個である。また、以下の説明では、複数の制御装置70とその構成要素ならびに関連する機器を、例えば、制御装置70−1、70−2等と、子番号を用いて区別する。個々の制御装置70を区別しない場合には、単に制御装置70と呼ぶ。制御装置70の個数は、必ずしも2個には限られず、3個以上であってもよい。
また、データ処理装置10と制御装置70は、ネットワークを介して相互に通信可能に接続されている。ネットワークは、インターネット、公衆通信網、構内通信網(LAN:Local Area Network)、専用線のいずれか又は組み合わせにより構成される。また、ネットワークは、無線であっても、有線であってもよい。
【0020】
プロセス制御システム1は、さらに監視装置(図示せず)を備える。監視装置は、例えば、エンジニアがプロセスの運転状態の監視や、その運転状態を制御するための各種の設定値を設定するためのHMI(Human Machine Interface)である。監視装置は、ネットワークに接続され、プラントPLの各プロセスの状態を示す測定値である出力値を各制御装置70から所定時間(例えば、1分)毎に受信する。監視装置は、例えば、各時点における測定値を表示する表示部(図示せず)を備える。監視装置は、操作に応じて制御目標とするプロセスの目標値を設定する操作入力部(図示せず)を備える。監視装置は、設定した目標値を設定対象となる制御装置70に送信する。このように、プロセス制御システム1は、複数の制御装置70が分散配置されてなるDCSとして構成される。
【0021】
データ処理装置10は、各プロセス80の状態を示すプロセス値を示すプロセスデータを各制御装置70から取得し、取得したプロセスデータに基づいてプロセス80の操業改善を支援する機能を有する。プロセス値には、プロセス80の入力値、出力値及び制御目標とする目標値が含まれる。データ処理装置10は、少なくとも1つの解析対象のプロセス80への入力値とそのプロセス80からの出力値である実測出力値に対して機械学習を行い、そのプロセス80における入出力関係を示す出力予測モデルを生成する。また、データ処理装置10は、出力予測モデルと入力値に基づいて出力値の予測値である予測出力値を算出する。データ処理装置10は、その予測出力値とプロセス80に対する制御の目標値との差が減少するように制御パラメータを定める(最適化)。また、データ処理装置10は、生成した出力予測モデルと制御パラメータを用いて、そのプロセスにおける入力値や出力値を算出する(シミュレーション)。データ処理装置10は、定めた制御パラメータについて、そのプロセスを制御する制御装置70に提供する。
【0022】
制御装置70は、プロセス80の状態を示す測定値として、プラントPLに備えられたセンサ82から所定時間毎に入力される出力値と、監視装置から受信した目標値に基づいてプロセスの運転状態を時間的に連続して制御する(連続制御)。制御装置70は、制御演算部72を備える。制御演算部72は、例えば、PID制御を実行するPID制御器である。PID制御とは、比例項P、積分項I及び微分項Dの総和を操作量として計算し、得られた操作量を、プロセスを制御するアクチュエータ84に出力する手法である。比例項Pは、その時点における目標値から出力値を差し引いて得られる偏差に所定の比例ゲインK
Pを乗じて得られる。積分項Iは、その時点までの偏差を積分して得られる積分値に所定の積分ゲインK
Iを乗じて得られる。微分項Dは、その時点における偏差を微分して得られる微分値に所定の微分ゲインK
Dを乗じて得られる。これらの比例ゲインK
P、積分ゲインK
I及び微分ゲインK
Dが、PID制御の制御パラメータに相当する。制御演算部72は、算出した操作量をプロセス80への入力値としてプラントPLに備えられたアクチュエータ84に出力する。なお、制御装置70は、所定時間毎にセンサ82から入力されるプロセス80からの出力値と、アクチュエータ84に出力するプロセス80への入力値とデータ処理装置10に送信する。
【0023】
センサ82は、プロセス80の状態を検出する。センサ82は、例えば、温度を検出する温度センサ、圧力を検出する圧力センサ、流量を検出する流量計、電流を検出する電流計、電圧を検出する電圧計などである。センサ82は、検出した状態を示す出力値を制御装置70に逐次に出力する。
アクチュエータ84は、制御装置70から入力される入力値に応じて動作する。その動作によりプロセス80の状態が変化する。一般に、入力される入力値が大きいほど、アクチュエータ84の動作量が大きくなる。アクチュエータは、例えば、ポンプ、コンプレッサ、バルブ、モータ、モータ駆動装置などである。
【0024】
図1に示す例では、制御装置70−1、70−2は、プロセス80−1、80−2をそれぞれ制御対象とする。プロセス80−1、80−2において、入力値、出力値のチャネル数は、それぞれ1チャネルである。センサ82−1、制御装置70−1及びアクチュエータ84−1のセット、センサ82−2、制御装置70−2及びアクチュエータ84−2のセットのそれぞれについて、各1個の制御ループが形成される。この例では、各制御ループにおける入力値のチャネル数、出力値のチャネル数は、それぞれ1チャネルである。プロセス80−1、80−2における制御ループの数は、1個である。一般には、制御ループ1個当たりの入力値のチャネル数、出力値のチャネル数は、制御ループ毎に独立であり2個以上となりうる。また、プロセス1個当たりの制御ループ数は、プロセス毎に独立であり2個以上となりうる。プラントに設けられたプロセス数は、3個以上となりうる。
【0025】
(データ処理装置)
次に、本実施形態に係るデータ処理装置10の機能構成について説明する。
データ処理装置10は、プロセスデータ収集部20と、プロセスデータ解析部22と、プロセス最適化部30と、プロセスシミュレーション部40と、第2プロセスデータ解析部52と、出力予測モデル生成部54と、制御パラメータ情報生成部56と、を含んで構成される。なお、データ処理装置10は、キーボード、ポインティングデバイス等の操作入力部、LCD(Liquid Crystal Display;液晶ディスプレイ)等の表示部、入出力インタフェース、通信インタフェース等のデータ入出力部、1個又は複数個のCPU(Central Processing Unit;中央処理装置)等の演算回路、RAM(Random Access Memory)、ROM(Read−only Memory)等の記憶媒体、等を含んで構成されるコンピュータ(図示せず)として実現されてもよい。その場合には、演算回路は、起動時において予め記憶媒体に記憶された制御プログラムを読み出し、制御プログラムに記述された命令で示される処理を実行することによって上述した各部の機能を実現する。
【0026】
プロセスデータ収集部20は、制御装置70−1、70−2からネットワークを介して所定時間毎の各時刻の制御ループ毎のプロセス値を受信する。プロセス値には、入力値、出力値及び制御目標とする目標値が含まれる。ここで、入力、出力とは、それぞれプロセスへの入力、プロセスからの出力を意味する。即ち、入力値は、制御装置70から出力されるアクチュエータ84への操作量に相当し、出力値は、センサ82から制御装置70に入力される測定値に相当する。プロセスデータ収集部20は、受信したプロセス値を時間順に累積する。従って、プロセスデータ収集部20には、各プロセスに対応する制御ループ毎のプロセス値の時系列を示すプロセスデータが蓄積される。プラントPLに多数のプロセスが設置されている場合には、プロセスデータは、多量のプロセス値が含まれるプラントビッグデータとして形成される。なお、プロセスデータを収集する際、プロセスデータ収集部20は、例えば、プロセスデータ通信の標準規格であるOPC(OLE:Object Linking and Embedding for Process Control)を用いる。データ形式がOPCに規定された形式に統一されるので、データ処理装置10は、制御装置70や監視装置の製造業者や内部構成によらずに、それらの装置から受信したデータをOPCに規定された手順で利用することができる。
【0027】
なお、以下の説明では、プロセスデータ収集部20が収集した入力値及び出力値を、それぞれ実測入力値、実測出力値と呼んで、プロセスシミュレーション部40その他の各部で算出される入力値(予測入力値)、出力値(予測出力値)と区別することがある。入力値のチャネル数、出力値のチャネル数は、必ずしも1チャネルに限られず、複数となることがある。なお、入力値のチャネルを入力チャネル、入力値のチャネル数を入力チャネル数と呼ぶことがある。出力値のチャネルを出力チャネル、出力値のチャネル数を出力チャネル数と呼ぶことがある。
【0028】
プロセスデータ解析部22は、プロセスデータ収集部20に蓄積されたプロセスデータを解析する。プロセスデータ解析部22は、例えば、各制御ループの入力値、出力値それぞれの特性を解析し、その特性を示す指標値を算出する。プロセスデータ解析部22は、例えば、入力値に対する出力値の変動量が所定量よりも大きい制御ループに対応するプロセスを特定してもよいし、その変動が最も早期に開始する制御ループに対応するプロセスを特定してもよい。プロセスデータ解析部22は、非線形の解析手法を用いてもよいし、線形の解析手法を用いてもよい。線形の解析手法として、例えば、周波数解析、主成分分析等の手法が利用可能である。プロセスデータ解析部22は、解析により得られた変動成分その他の特性を示す指標値や、その入力値、出力値の時系列を表示部(図示せず)に表示させてもよい。
【0029】
なお、プロセスデータ解析部22は、操作入力部(図示せず)から入力される操作信号で指示されたプロセスを、解析対象のプロセスとして特定してもよい。
プロセスデータ解析部22は、制御ループ毎の入力値、出力値、目標値の他、算出した指標値などを表示部(図示せず)に表示させてもよい。
また、プロセスデータ解析部22は、入力値等を表示させた制御ループのうち、さらに操作入力部(図示せす)から入力される操作信号で指示された制御ループを、制御パラメータの最適化対象のプロセスに係る制御ループとして特定してもよい。これにより、表示されたデータを目視したエンジニア等のユーザが制御パラメータの最適化の対象とする制御ループに係るプロセスを選択することができる。プロセスデータ解析部22は、特定したプロセスをプロセス最適化部30に通知する。
【0030】
プロセス最適化部30は、主にプロセスデータ解析部22から通知された解析対象プロセスを特定する。プロセス最適化部30は、解析対象プロセスに係る制御パラメータを最適化する。ここで、最適化とは、目標値から出力値の偏差の大きさを大局的に小さくすることを意味し、最適化において一時的に偏差の大きさが増加することがある。第2プロセスデータ解析部52から有効データが入力される場合には、プロセス最適化部30は、入力された有効データを制御パラメータの最適化に用いてもよい。
プロセス最適化部30は、周波数解析部32、プロセス同定部34及び制御パラメータ最適化部36を備える。
【0031】
周波数解析部32は、解析対象プロセスに係る制御ループのプロセスデータをプロセスデータ収集部20から読み出し、読み出したプロセスデータが示す出力値の周波数特性を解析する。周波数解析部32は、例えば、周波数毎のパワーが処理対象の全周波数のパワーの合計値に対する比率が所定の比率以上である周波数成分を主成分として判定する。周波数解析部32は、感度関数(後述)について周波数特性を解析し、その主成分を判定してもよい。第2プロセスデータ解析部52から、有効データが入力される場合には、周波数解析部32は、読み出したプロセスデータに代えて、入力された解析対象プロセスに係る有効データを解析対象としてもよい。周波数解析部32は、主成分として判定した周波数の周波数成分を示す周波数成分情報を制御パラメータ最適化部36に出力する。
【0032】
プロセス同定部34は、プロセスデータ収集部20から解析対象プロセスに係る制御ループのプロセスデータを読み出し、読み出したプロセスデータが示す制御ループの入力値及び出力値に基づいて、その制御ループの伝達関数を同定する。第2プロセスデータ解析部52から、有効データが入力される場合には、読み出したプロセスデータに代えて入力された解析対象プロセスに係る有効データを処理対象としてもよい。
プロセス同定部34は、例えば、入力値に伝達関数を作用して出力値の予測値である予測出力値を算出し、算出した予測出力値と出力値との差の大きさが小さくなるように、伝達関数のパラメータを算出する。伝達関数の次数は、予めプロセス同定部34に設定しておく。差の大きさの指標として、例えば、平均二乗誤差が利用可能である。算出した伝達関数のパラメータは、処理対象プロセスに対応する制御ループにおける出力予測モデルを構成する。プロセス同定部34は、算出した伝達関数のパラメータを出力予測モデルとして制御パラメータ最適化部36とプロセスシミュレーション部40に出力する。
【0033】
制御パラメータ最適化部36には、周波数解析部32から入力される周波数成分情報、伝達関数のパラメータに基づいて、解析対象プロセスに係る制御装置70の制御パラメータを最適化する。制御パラメータ最適化部36は、制御パラメータを最適化する際、例えば、FRIT(Fictitious Reference Iterative Tuning)アルゴリズムを用いる。制御パラメータ最適化部36は、入力されたパラメータで表される伝達関数から感度関数を算出する。感度関数は、出力値に対する外乱の寄与もしくは減衰の度合いを示す関数である。感度関数は、算出した伝達関数と制御装置70の入出力特性を示す伝達関数の乗算値に1を加えた値の逆数に相当する。そして、制御パラメータ最適化部36は、例えば、主成分が他の周波数帯域よりもゲインが大きいピーク特性を有するか否かを判定し、ピーク特性を有する場合に、ゲインが最も大きい中心周波数において、減衰率が最も大きくなるように減衰率関数を定める。制御パラメータ最適化部36は、より高い周波数帯域よりもゲインが大きくなる特性である低域通過特性を有するか否かを判定する。低域通過特性を有する場合には、主成分が所定の周波数よりも低い低周波成分となる。その場合には、制御パラメータ最適化部36は、直流成分において、減衰率が最も大きくなるように減衰率関数を定める。制御パラメータ最適化部36には、減衰率関数の次数、減衰率の最大値を予め設定しておく。
【0034】
制御パラメータ最適化部36は、感度関数に減衰率関数を乗じて目標感度関数を算出する。そして、制御パラメータ最適化部36は、制御パラメータの関数となる感度関数と目標関数との差の大きさが減少するように、制御パラメータを再帰的に算出する。差の大きさを示すコスト値が、所定のコスト値の閾値よりも小さくなったとき、制御パラメータ最適化部36は、制御パラメータの算出を停止する。制御パラメータ最適化部36は、算出した制御パラメータをプロセスシミュレーション部40に出力する。なお、制御パラメータの初期値は、予め設定された初期値であってもよいし、プロセスシミュレーション部40からの再調整要求に付随して入力された制御パラメータであってもよい。制御パラメータ最適化部36が制御パラメータを算出する手法は、特願2017−2451号明細書に詳しく記載されている。
【0035】
プロセスシミュレーション部40は、プラント設備情報保持部42と、プロセス演算部44と、を含んで構成される。
プラント設備情報保持部42には、プラント設備情報が記憶されている。プラント設備情報は、プラントPLに設置されている各プロセスの制御ループ毎の制御装置70とフィールド機器に関する情報である。プラント設備情報には、例えば、制御ループ毎の制御装置70、センサ82及びアクチュエータ84のセット、制御装置70が制御演算に用いる制御方式、制御装置70に設定される目標値、センサ82から取得される入力値の種別、アクチュエータ84から取得される出力値の種別などの情報が含まれる。
【0036】
プロセス演算部44は、1個又は複数のプロセスについて出力予測モデルと各プロセスの制御ループ毎の制御パラメータを用いて、所定時間(例えば、1秒)毎の各プロセスへの入力値(予測入力値)とそのプロセスからの出力値(予測出力値)を算出する(シミュレーション)。プロセス演算部44は、例えば、シミュレーション対象のプロセスを操作入力部(図示せず)から入力される操作信号で指定されるプロセスとして特定する。プロセス演算部44は、特定したプロセスについて、プラント設備情報を参照して、そのプロセスに係る制御ループ毎の制御装置70、入力値、出力値及び目標値の種別を特定する。プロセス演算部44は、特定した各プロセスについて当該プロセスの出力予測モデルを用いて入力予測値から出力予測値を算出する。各プロセスの出力予測モデルは、出力予測モデル生成部54又はプロセス同定部34から入力される。出力予測モデル生成部54から入力される出力予測モデルは、後述するように機械学習に基づいて生成される。また、プロセス演算部44は、特定した各プロセスについて、制御パラメータ情報生成部56又は制御パラメータ最適化部36から入力された制御パラメータを用いて、制御装置70に入力される予測出力値(測定値の予測値に相当)と目標値から当該プロセスへの入力予測値(操作量の予測値に相当)を算出する。複数の制御ループを有するプロセスに対しては、複数の制御装置70が並列に組み合わされる。また、1つのプロセスに対して、複数の制御装置70が並列に組み合わされてもよい。即ち、1つのプロセスからの予測出力値が複数の制御装置70のそれぞれに入力され、それぞれの制御装置70からの予測出力値がその1つのプロセスへの予測入力値として入力されうる。
【0037】
シミュレーション対象のプロセス数が複数個である場合には、操作入力部(図示せず)からの操作信号の指示により、その一部又は全部のプロセスが直列に組み合わせを設定可能としてもよい。即ち、1つのプロセスからの予測出力値が他のプロセスへの予測入力値として入力されうる。このようにして、プロセス演算部44は、複数のプロセスや複数の制御装置70を組み合わせたシミュレーションを行うことができる。また、各プロセスの出力予測モデルとして、伝達関数モデルと機械学習モデルとが組み合わされうる。
【0038】
プロセス演算部44は、シミュレーションにより算出されたプロセスの制御状態を示す指標として、プロセス毎の予測出力値と目標値との偏差の大きさを示すコスト値を算出する。予測出力値のチャネル数が1チャネルである場合には、コスト値として二乗誤差を用いることができる。また、シミュレーションに係る予測出力値のチャネル数が2以上である場合には、コスト値として重み付き二乗誤差を用いることができる。重み付き二乗誤差は、チャネル毎の予測出力値と目標値との偏差の二乗値とそのチャネルに対応する重み係数を乗じて得られる乗算値のチャネル間の総和となる。重み付き二乗誤差は、その値が小さいほど制御状態が良好であり、その値が大きいほど制御状態が劣悪であることを示す。また、プロセス演算部44は、その指標を表示部(図示せず)に出力してもよい。プロセス演算部44は、各プロセスに対応する制御ループ毎に算出した予測入力値、予測出力値それぞれの時系列を表示部(図示せず)に出力してもよい。
なお、プロセス演算部44は、操作入力部(図示せず)から制御パラメータの再調整要求を示す操作信号が入力されるとき、算出した制御パラメータを制御パラメータ最適化部36又は制御パラメータ情報生成部56を再調整要求に付随して通知してもよい。
【0039】
第2プロセスデータ解析部52は、プロセスデータ収集部20からプロセスデータを読み出し、処理対象として注目するプロセス(注目プロセス)のそれぞれに対応する制御ループの出力チャネル毎に出力値の変動に対する各入力チャネルの入力値の寄与度を算出する。寄与度を示す指標として、例えば、相関係数の絶対値が用いられる。相関係数の絶対値は、その値が大きいほど出力値の変動に対する寄与度が高いことを示す指標である。第2プロセスデータ解析部52は、操作入力部(図示せず)から入力される操作信号で指示されるプロセスを解析対象プロセスとして特定してもよい。第2プロセスデータ解析部52は、出力チャネル毎に算出した寄与度が所定の寄与度よりも大きい入力値に係る入力チャネルを特定する。即ち、出力チャネル毎に寄与度が高い入力値に係る入力チャネルが特定される。以下、寄与度の高い入力値を高寄与入力値、寄与度の高い入力値に係る入力チャネルを高寄与チャネルと呼ぶことがある。
【0040】
第2プロセスデータ解析部52は、注目プロセスにおける出力チャネル毎の出力値に対する、他のプロセス(以下、他プロセス)からの各出力チャネルの出力値による寄与度として相関係数を算出してもよい。第2プロセスデータ解析部52は、算出した相関係数の絶対値が所定の相関係数の閾値よりも高い出力値をそれぞれ高寄与出力値として特定する(プロセス間相関)。第2プロセスデータ解析部52は、その高寄与出力値に係る他プロセス、出力チャネルをそれぞれ高寄与プロセス、高寄与チャネルとして判定する。従って、プロセス間の干渉が少ない場合には、高寄与プロセスが検出されない場合もある。
【0041】
第2プロセスデータ解析部52は、いずれかの出力チャネルにおいて目標値から出力値の偏差が有意に変動する時点を変動時点として特定する。変動時点の特定対象とする出力チャネルは、注目プロセスにおける出力チャネルに限られず、高寄与プロセスからの出力チャネルも含まれてもよい。第2プロセスデータ解析部52は、例えば、処理対象として注目する時点(注目時点)における偏差の直前の時点における偏差からの変化量が所定の変化量の閾値よりも大きいか否かを判定する。第2プロセスデータ解析部52は、大きいと判定した注目時点を変動時点として特定し、それ以外の時点を非変動時点とする。そして、第2プロセスデータ解析部52は、特定した変動時点までの非変動時点の継続時間が所定の継続時間よりも長い変動時点を変動開始時点として特定する。変動開始時点は、偏差の変動が少ない状況が所定の継続時間以上継続した後で、偏差の有意な変動が開始した時点となる。変動開始時点は、例えば、目標値が変更されるとき、プロセスからの出力値に外乱が付加されるとき、などに相当する。第2プロセスデータ解析部52は、変動開始時点から所定の期間を含む期間を解析期間として特定する。この解析期間内のプロセスデータは、偏差の有意な変動に応じたプロセスの応答が観察されるため、プロセスの入出力関係を解析するうえで好都合である。解析期間の長さは、偏差の有意な変動が生じた時点から各プロセスからの出力値の変化量が所定の変化量未満に収束する時点までの時間よりも長ければよい。第2プロセスデータ解析部52は、プロセスデータから解析対象プロセスと高寄与プロセスについて特定した解析期間内のプロセス値を示すデータを有効データとして読み出したプロセスデータから抽出する。第2プロセスデータ解析部52は、抽出した有効データを出力予測モデル生成部54と制御パラメータ情報生成部56に出力する。
【0042】
出力予測モデル生成部54は、第2プロセスデータ解析部52から入力された有効データから入力値セットと出力値セットを特定し、特定した入力値セットと出力値セットに対して機械学習を行う。入力値セットには、解析対象プロセスの各高寄与チャネルの入力値と解析対象プロセスに対応する高寄与プロセスの各高寄与チャネルの入力値が含まれる。他方、出力値セットには、解析対象プロセスの各出力チャネルの出力値が含まれる。ここで、出力予測モデル生成部54は、プラント設備情報を参照して、特定した入力値セットに含まれる各チャネルの入力値の種別と、出力値セットに含まれる出力値の種別を特定する。出力予測モデル生成部54は、機械学習により、入力値セットに対する出力値セットに写像する関数を示す出力予測モデルを生成する。出力予測モデル生成部54は、入力値セットから出力予測モデルを作用して算出される各出力チャネルの出力値と目標出力値との偏差が小さくなるように、出力予測モデルを構成するモデルパラメータを再帰的に算出する。目標出力値として、有効データが示す出力チャネル毎の出力値(実測出力値)が用いられる。即ち、第2プロセスデータ解析部52から入力された有効データが出力予測モデルの生成において、教師データとして用いられる。出力予測モデル生成部54は、機械学習の手法として、例えば、深層学習を行う。深層学習とは、多層構造のニューラルネットワークを用いた機械学習である。出力予測モデル生成部54は、各出力チャネルからの出力値と目標出力値との偏差の大きさを示すコスト値が、所定のコスト値未満になったとき、モデルが収束したと判定し学習を停止する。その後、出力予測モデル生成部54は、学習により算出されたパラメータからなる出力予測モデルをプロセスシミュレーション部40と制御パラメータ情報生成部56に出力する。
【0043】
ニューラルネットワークは、入力層、中間層及び出力層を含んで構成される。入力層、出力層は、それぞれ1又は複数の入力端、出力端を有する。中間層は、複数の節点を有する。多層構造のニューラルネットワークとは、中間層の数が2層以上であるニューラルネットワークのことを指す。学習において、出力予測モデル生成部54は、入力端、節点、出力端のそれぞれにおいて入力値と出力値の関係を与える活性化関数のパラメータをモデルパラメータとして算出する。活性化関数として、例えば、ランプ関数、ソフトサインなどのいずれかが用いられる。出力予測モデル生成部54は、収束の判定に用いるコスト値として、例えば、入力値セットから算出される出力値と目標出力値の偏差の重み付き二乗和を用いる。
なお、第2プロセスデータ解析部52が高寄与プロセスを検出しない場合には、高寄与プロセスの各高寄与チャネルの入力値は入力値セットに含まれない。また、入力値セットには、解析対象プロセスの全入力チャネルの入力値が含まれてもよい。
【0044】
制御パラメータ情報生成部56には、第2プロセスデータ解析部52から有効データが入力され、出力予測モデル生成部54から出力予測モデルが入力される。出力予測モデル生成部54は、プラント設備情報を参照して、解析対象プロセスならびに高寄与プロセスに係る各制御ループの制御装置70とその制御方式、目標値、入力値ならびに出力値の種別を特定する。制御パラメータ情報生成部56は、少なくとも解析対象プロセスに係る制御装置70の制御パラメータを最適化する。ここで、制御パラメータ情報生成部56は、有効データが示す解析対象プロセス、高寄与プロセスのそれぞれの出力チャネル毎の実測出力値と目標値とから、当該各プロセスに係る入力チャネル毎に入力値を算出する。制御入力値を算出する際、当該各プロセスに係る制御装置70で適用される制御方式(例えば、PID制御)を用いる。
【0045】
制御パラメータ情報生成部56は、算出した各入力チャネルから高寄与チャネルの入力値と、高寄与チャネルの出力値を含む入力値セットを特定し、特定した入力値セットについて、入力された出力予測モデルを用いて出力値セットを算出する。出力値セットには、解析対象プロセスの各出力チャネルの予測出力値が含まれる。出力値セットを算出する際に用いる機械学習モデルは、出力予測モデルの生成に用いる機械学習モデルと同じ種類であればよい。出力値セットを算出する際に用いる入力値セットは、出力予測モデルの生成に用いる入力値セットと同じ入力チャネルの入力値が含まれればよい。制御パラメータ情報生成部56は、解析対象プロセスの各出力チャネルの予測出力値と目標値との偏差の大きさを示すコスト値を小さくするように解析対象プロセス、高寄与プロセスそれぞれの制御ループに係る制御装置70の制御パラメータを算出する。従って、予測出力値が目標値に近づくことを報酬として制御パラメータが学習される。制御パラメータ情報生成部56は、算出した制御パラメータをプロセス演算部44に出力する。なお、制御パラメータの初期値は、予め設定された初期値であってもよいし、プロセスシミュレーション部40からの再調整要求に付随して入力された制御パラメータであってもよい。
【0046】
なお、制御パラメータ情報生成部56は、コスト値として解析対象プロセスと当該解析対象プロセスに対応する高寄与プロセスの出力チャネル毎の予測出力値と偏差の出力チャネル間の重み付き二乗和を算出してもよい。出力チャネル毎の重み係数は、予め制御パラメータ情報生成部56に設定しておく。これにより、解析対象プロセスと高寄与プロセスの全体について、制御パラメータが最適化される。
また、制御パラメータ最適化部36が高寄与プロセスに係る制御装置70の制御パラメータを並行して算出する場合、又は既に算出した場合がありうる。その場合には、制御パラメータ情報生成部56は、高寄与プロセスに係る制御装置70の制御パラメータを算出しなくてもよい。制御パラメータ情報生成部56は、制御入力値の算出において、制御パラメータ最適化部36が算出した制御パラメータを用いてもよい。
【0047】
制御パラメータ情報生成部56は、解析対象プロセスに対応する高寄与プロセスをプロセス演算部44に通知してもよい。従って、プロセス演算部44は、シミュレーション対象のプロセスが指定されたとき、そのプロセスに対応する高寄与プロセスを特定することができる。また、プロセス演算部44は、通知された高寄与プロセスに係る出力予測モデルを、プロセス同定部34又は出力予測モデル生成部54から取得する。プロセス演算部44は、通知された高寄与プロセスに係る制御装置70の制御パラメータを、制御パラメータ最適化部36又は制御パラメータ情報生成部56から取得する。
なお、制御パラメータ情報生成部56は、パラメータ適用指示を示す操作信号が操作入力部(図示せず)から入力されるとき、算出した制御パラメータを、該当する制御装置70に送信する。制御装置70の制御演算部72は、制御パラメータ情報生成部56から受信した制御パラメータを制御演算に用いる。
【0048】
次に、出力予測モデル、制御パラメータの計算例について説明する。
図2は、出力予測モデル、制御パラメータの計算例を示す説明図である。
図2に示す例では、プラントPLに制御演算部72−1〜72−3をそれぞれ有する制御装置70−1〜70−3(図示せず)、センサ82−1、82−2及びアクチュエータ84−1〜84−3が設置されている。制御演算部72−1〜72−3は、それぞれPID制御を実行するPID制御器である。センサ82−1、制御演算部72−1及びアクチュエータ84−1間、センサ82−1、制御演算部72−3及びアクチュエータ84−3間、センサ82−2、制御演算部72−2及びアクチュエータ84−2間でそれぞれ制御ループが形成される。センサ82−1、制御演算部72−1及びアクチュエータ84−1からなる制御ループを制御ループ1と呼ぶ。センサ82−1、制御演算部72−3及びアクチュエータ84−3からなる制御ループを制御ループ2と呼ぶ。センサ82−2、制御演算部72−2及びアクチュエータ84−2からなる制御ループを制御ループ3と呼ぶ。制御ループ1〜3のうち、制御ループ1、2がプロセス1に対応し、制御ループ3がプロセス2に対応する。プロセス1に対応する制御ループ1、2間でセンサ82−1が共有される。センサ82−1は、プロセス2に対応する制御ループ3に係るセンサ82−3とは独立である。
【0049】
プラントPLは、例えば、化学プラントである。プロセス1は、反応器内のプロセスのように複雑なプロセスである。プロセス2は、反応器を構成するタンク内のプロセスのように比較的単純なプロセスである。そこで、この例では、プロセス1、3の出力予測モデルを機械学習モデルとし、プロセス2の出力予測モデルを伝達関数モデルとする。
【0050】
プロセスデータ収集部20は、各プロセスに対応する制御ループ毎の入力値、出力値及び目標値のセットからなるプロセス値を制御装置70−1〜70−3(
図1)から所定時間毎に取得する。この例では、各プロセスにおいて入力チャネル数、出力チャネル数は、それぞれ1チャネルである。
第2プロセスデータ解析部52は、解析対象プロセスとしてプロセス1に対応する制御ループ1、2の出力値と、制御ループ1、2の入力値もしくは他プロセスとしてプロセス2に対応する制御ループ3の出力値との相関係数を算出する。第2プロセスデータ解析部52は、算出した相関係数に基づいて制御ループ1、2からの出力値に対する高寄与入力値として制御ループ1、2の入力値をそれぞれ特定し、制御ループ2からの出力値に対する高寄与プロセスであるプロセス2からの高寄与出力値として制御ループ3からの出力値を特定する。第2プロセスデータ解析部52は、制御ループ1〜3それぞれの出力値から変動時点を特定し、特定した変動時点に基づいて解析期間を定める。第2プロセスデータ解析部52は、定めた解析期間内のプロセス1、2のプロセス値を含む有効データを抽出する。
【0051】
出力予測モデル生成部54は、有効データに含まれる制御ループ1、2の入力値とプロセス3からの出力値からなる入力値セットに対するプロセス1に対応する制御ループ1、2の出力値からなる出力値セットについて機械学習を行う。機械学習により、入力値セットを出力値セットに写像するニューラルネットワークモデル(NNモデルn01)がプロセス1の出力予測モデルとして生成される。
他方、プロセス同定部34(
図1)は、制御ループ3の入力値に対する制御ループ3の出力値に写像する伝達関数t02を、プロセス2の出力予測モデルとして算出する。
【0052】
制御パラメータ情報生成部56は、プロセス1に係る制御ループ1、2について予測出力値と目標値との偏差が小さくなるように制御演算部72−1、72−3における制御パラメータp01、p02を定める。制御パラメータ情報生成部56は、偏差の大きさを示すコスト値として平均二乗誤差を計算する。平均二乗誤差は、例えば、制御ループ1からの予測出力値A1の目標値に対する偏差A1’と制御ループ2からの予測出力値A2の目標値に対する偏差A2’の平方和である。
なお、制御パラメータ最適化部36(
図1)は、プロセス2に係る制御ループ3について予測出力値と目標値との偏差が小さくなるように制御演算部72−2における制御パラメータp03を定める。制御パラメータp01〜p03には、それぞれ比例ゲインK
P、積分ゲインK
I、微分ゲインK
Dが含まれる。
【0053】
図2に示す例では、プロセス演算部44は、プロセス1、2について入力値、出力値のシミュレーションを行う。
プロセス演算部44は、制御演算部72−1、72−3、72−2にそれぞれ入力される予測出力値と設定される目標値から制御パラメータp01、p02、p03を用いて制御演算部72−1、72−3、72−2から出力される予測入力値を算出する。
プロセス演算部44は、制御演算部72−1、72−3から入力される予測入力値とプロセス2から出力される予測出力値A2を含む入力値セットを特定する。プロセス演算部44は、NNセットn01を用いて特定した入力値セットから予測出力値A1を算出する(NNモデル演算)。予測出力値A1は、制御演算部72−1、72−2、72−3に出力される。他方、プロセス演算部44は、制御演算部72−2から入力される予測入力値から伝達関数t02を用いて予測出力値A2を算出する(伝達関数モデル演算)。
【0054】
以上に説明したように、第2プロセスデータ解析部52は、プロセス変動に主要な影響を及ぼす寄与度の高いデータを有効データとして抽出する。得られた有効データは、出力予測モデル生成部54、制御パラメータ情報生成部56に提供され、解析の効率化や精度を向上させることができる。
出力予測モデル生成部54は、入出力関係を表現する出力予測モデルとして機械学習モデルを生成することができる。これにより、プロセス演算部44は、伝達関数モデルなど従来の手法では同定できない複雑なプロセスの入出力をシミュレーションにより予測することができる。また、プロセス演算部44は、従来の手法で同定された出力予測モデルと組み合わせて、複数のプロセス間の入出力をシミュレーションにより予測することができる。
制御パラメータ情報生成部56によれば、生成された出力予測モデルによって予測される予測出力値が制御目標である目標値により近くなるように、制御パラメータの強化学習がなされる。
【0055】
従って、上述した実施形態によれば、プロセスデータから機械学習を活用してプラントにおける複雑な入出力関係が解析される。また、プロセス変動への寄与度が高いデータが特定されるので、注目すべきデータが絞り込まれる。そのため、エンジニアリングにおける作業量を大幅に短縮することができる。
ここで、従来の手法では同定できないもしくは十分な精度が得られない複雑なプロセスに対して、その入出力関係をより高い精度で示す出力予測モデルが生成される。生成された出力予測モデルにより、より具現化可能な解析結果、例えば、所望のプロセスにおける制御状態を示す入出力やその指標が導出される。そのため、エンジニアは同定されたプロセスの状態を容易に把握することができる。
また、機械学習により生成された出力予測モデルにより導出される入出力に基づく制御パラメータの強化学習によって、さらに適切な制御パラメータが得られる。そのため、エンジニアによる制御パラメータの調整に係る作業が軽減する。
【0056】
以上、図面を参照してこの発明の実施形態について説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
例えば、データ処理装置は、コンピュータで実現されてもよい。その場合、それぞれの制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、CPU等の演算処理回路により実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、各装置に内蔵されたコンピュータシステムであって、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。また、上述したコンピュータシステムは、ネットワークを介して相互に各種のデータを送受信可能とするクラウドコンピューティングシステムの構成要素であるコンピューティングリソースとして構成されていてもよい。
また、上各装置の一部、又は全部は、LSI(Large Scale Integration)等の集積回路として実現されてもよい。各装置の各機能ブロックは個別にプロセッサ化してもよいし、一部又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、又は汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。