(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024153479
(43)【公開日】2024-10-29
(54)【発明の名称】プロセス制御システムおよび方法
(51)【国際特許分類】
G05B 17/02 20060101AFI20241022BHJP
【FI】
G05B17/02
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2023067400
(22)【出願日】2023-04-17
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000279
【氏名又は名称】弁理士法人ウィルフォート国際特許事務所
(72)【発明者】
【氏名】河野 洋平
(72)【発明者】
【氏名】石飛 太一
【テーマコード(参考)】
5H004
【Fターム(参考)】
5H004GA30
5H004GB02
5H004KB01
5H004KC02
5H004KC10
5H004KC28
5H004KD62
(57)【要約】
【課題】対象のプロセスに適した運転条件を効率的に得ることができるプロセス制御システムを提供すること。
【解決手段】コンピュータによって対象のプロセスを制御するプロセス制御システム1は、プロセスへの操作量から制御量を予測するプロセスモデルを記憶するプロセスモデル記憶部15と、プロセスの製造実績データを記憶する製造実績データ記憶部21と、プロセスモデル記憶部から取得されたプロセスモデルを用いて、対象のプロセスのシミュレーションを行うプロセスシミュレーション部13と、対象のプロセスと所定範囲内で類似する他のプロセスにおける製造実績データを製造実績データ記憶部から抽出し、抽出された製造実績データに基づいて、対象のプロセスが持つ運転制約を満たす運転条件を探索する運転条件探索部14とを備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
コンピュータによって対象のプロセスを制御するプロセス制御システムであって、
プロセスへの操作量から制御量を予測するプロセスモデルを記憶するプロセスモデル記憶部と、
プロセスの製造実績データを記憶する製造実績データ記憶部と、
前記プロセスモデル記憶部から取得された前記プロセスモデルを用いて、対象のプロセスのシミュレーションを行うプロセスシミュレーション部と、
前記対象のプロセスと所定範囲内で類似する他のプロセスにおける製造実績データを前記製造実績データ記憶部から抽出し、前記抽出された製造実績データに基づいて、前記対象のプロセスが持つ運転制約を満たす運転条件を探索する運転条件探索部と、
を備えるプロセス制御システム。
【請求項2】
前記プロセスモデル記憶部は、製造対象の品種と製造に使用する機器の種類とに応じてあらかじめ計算されたプロセスモデルを記憶する
請求項1に記載のプロセス制御システム。
【請求項3】
さらに、プロセスの制御則を記憶する制御則記憶部を備えており、
前記プロセスシミュレーション部は、前記プロセスモデル記憶部から取得されたプロセスモデルと前記制御則記憶部から取得された制御則とを用いた閉ループシミュレーションを実行し、
前記運転条件探索部は、前記閉ループシミュレーションの結果に基づいて、前記運転条件を探索する
請求項2に記載のプロセス制御システム。
【請求項4】
前記運転条件探索部は、さらに、プラントに設定された所定の評価指標に基づいて、前記運転条件を探索する
請求項3に記載のプロセス制御システム。
【請求項5】
前記運転条件探索部は、前記プロセスモデルを用いて対象のプロセスの状態の時間変化を算出し、前記算出された状態の時間変化と所定範囲内で類似する状態の時間変化を持つ他のプロセスの製造実績データを抽出する
請求項1に記載のプロセス制御システム。
【請求項6】
前記運転条件探索部は、前記状態の時間変化として、実測データを用いずに、プロセス内部の状態の時間変化を算出する
請求項5に記載のプロセス制御システム。
【請求項7】
前記プロセスモデル記憶部は、製造対象の品種と製造に使用する機器の種類とに応じてあらかじめ計算されたプロセスモデルを記憶し、
前記製造実績データ記憶部は、前記製造対象の品種と前記製造に使用する機器の種類とに応じて記憶し、
前記運転条件探索部は、対象のプロセスモデルと動特性が所定範囲内で近い他のプロセスモデルに関する品種および機種を特定し、特定された品種および機種に対応する製造実績データを前記製造実績データ記憶部から抽出する
請求項1に記載のプロセス制御システム。
【請求項8】
前記運転条件探索部は、前記対象のプロセスが持つ運転制約を満たす運転条件の候補を区分線形関数で近似し、前記区分線形関数のパラメータを用いて、運転条件を探索する際に用いる制約条件および目的関数を定義する
請求項1に記載のプロセス制御システム。
【請求項9】
前記運転制約は、前記対象のプロセスについて実測された状態と、前記対象のプロセスモデルを用いて算出される内部状態とに基づいて設定される
請求項1に記載のプロセス制御システム。
【請求項10】
前記プロセスは、バッチプロセスである
請求項1-9のいずれか一項に記載のプロセス制御システム。
【請求項11】
コンピュータによって対象のプロセスを制御するプロセス制御方法であって、
プロセスへの操作量から制御量を予測するプロセスモデルをプロセスモデル記憶部へ記憶し、
プロセスの製造実績データを製造実績データ記憶部へ記憶し、
前記プロセスモデル記憶部から取得された前記プロセスモデルを用いて、対象のプロセスのシミュレーションを実行し、
前記対象のプロセスと所定範囲内で類似する他のプロセスにおける製造実績データを前記製造実績データ記憶部から抽出し、前記抽出された製造実績データに基づいて、前記対象のプロセスが持つ運転制約を満たす運転条件を探索する
プロセス制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、プロセス制御システムおよび方法に関する。
【背景技術】
【0002】
石油化学プラントなどのプロセス運転の現場では、試運転の実績や過去の運転実績などから、所望の品質および収率を実現するのに最適なプロセスの運転条件(温度の時間プロファイルなど)を求めておき、運転時には、その運転条件を再現するために、バルブ等の制御機器を操作する。通常、このような制御は、プロセスの物質収支およびエネルギー収支を表すプロセスモデルを用いて、プロセスの状態(温度、物質濃度など)を推定したり予測したりし、その結果に基づき操作量を決定するという枠組み(モデルベースト制御)で行われる。
【0003】
プロセスの物質収支やエネルギー収支は、プロセスの運転毎に異なり得る。この原因として、例えば、製造品種の違いによる反応熱の差異、バルブ等の制御機器の特性の違いや経年劣化、入力されない外部環境状態などの、様々な外乱が運転毎に異なることにより、同じ運転条件を達成するための運転方法が、毎回異なるためである。
【0004】
こうした違いは、製造単位(バッチ)毎に異なる機器で異なる品種を製造し得るバッチプロセスにおいてよく生じる。このため、バッチプロセスの制御では、機器の種類や品種に応じてプロセスモデルのパラメータを変更し、制御に用いている。
【0005】
しかしながら、バッチプロセスの制御では、機種や品種によってはそもそもプロセスの運転条件が定まっておらず、モデルベースト制御の枠組みを適用できない場合がある。例えば、制御対象とするバッチと同じ品種と機種の組合せで、試運転ないし製造した実績がない場合、どのような運転条件を設定すれば品質や収率が良くなるかは不明である。さらに、設定した運転条件がプラントの運転制約を遵守できるかも不明である。さらに、試運転の実績や製造実績がある場合でも、プラントの運転制約を逸脱したときにはユーザが手動で介入する必要がある。ユーザが手動介入した実績データしか無い場合、その実績データのある運転条件をそのまま用いて運転制約を遵守できるかは不明である。すなわち、実績のないバッチプロセスの場合、機種または品種の違いによる、物質収支の差異とエネルギー収支の差異を考慮しつつ、少なくともプラントの運転制約を遵守可能な運転条件を探索することが求められる。
【0006】
運転条件を探索する従来技術として、例えば特許文献1がある。特許文献1では、運転条件探索のために、シミュレーションの精度がよく、且つ最適化計算の時間を短縮することのできる最適化装置を提供する。特許文献1では、制御対象に関して与えられるデータに基づき探索空間内の実行可能領域を推定し、推定された実行可能領域に対応する多項式モデルを作成し、その多項式モデルを用いて、与えられる目的関数の最適化を行い、多項式モデルにおける第1最適解を求める。この第1最適解に基づき、制御対象の厳密なプロセスモデルを用いて、与えられる目的関数を最適化することで第2最適解を求める。
【先行技術文献】
【特許文献】
【0007】
【発明の概要】
【発明が解決しようとする課題】
【0008】
特許文献1では、実行可能領域を推定するための多項式モデルを実績データから構築している。しかし、前述の通り、多種類の製品を製造するバッチプロセスでは、そもそも制御対象バッチと同じ品種および同じ機種であって、かつユーザの手動介入なく製造を行った実績がない場合がある。
【0009】
信頼できる実績データが無い場合、制御対象と同じ特性を有するプロセスの実績データを用いて多項式モデルを構築することは不可能である。別のプロセスの実績データを用いて、特許文献1の技術を適用したとしても、推定された実行可能領域が実際の制御対象の特性を反映していない。したがって、最適化によって求められた運転条件の下で制御対象を運転しても、運転制約を遵守できる保証はない。
【0010】
事前に試運転を行い、実行可能領域を推定するためのデータを収集する方法も考えられるが、一般にプラントの試運転は、運転制約に抵触しないよう試行錯誤しながら行うため、試運転には数週間から数ヶ月の時間を要する。すなわち、新たな運転条件を探索するために毎回試運転を行うのは、リードタイムの観点から現実的ではない。
【0011】
このため、制御対象と同じ特性を有するプロセスの実績データが無い場合でも、運転制約を遵守できる運転条件を実行可能な時間で求める技術が求められている。
【0012】
本開示は、対象のプロセスに適した運転条件を効率的に得ることができるプロセス制御システムを提供する。
【課題を解決するための手段】
【0013】
上記課題を解決すべく、本開示の一つの観点に従うプロセス制御システムは、コンピュータによって対象のプロセスを制御するプロセス制御システムであって、プロセスへの操作量から制御量を予測するプロセスモデルを記憶するプロセスモデル記憶部と、プロセスの製造実績データを記憶する製造実績データ記憶部と、プロセスモデル記憶部から取得されたプロセスモデルを用いて、対象のプロセスのシミュレーションを行うプロセスシミュレーション部と、対象のプロセスと所定範囲内で類似する他のプロセスにおける製造実績データを製造実績データ記憶部から抽出し、抽出された製造実績データに基づいて、対象のプロセスが持つ運転制約を満たす運転条件を探索する運転条件探索部とを備える。
【発明の効果】
【0014】
本開示によれば、対象のプロセスと類似する他のプロセスの製造実績データを用いて、対象のプロセスの運転制約を満たす運転条件を探索できる。
【図面の簡単な説明】
【0015】
【
図1】本実施形態のプロセス制御システムの全体図である。
【
図2】プロセス制御システムに用いることができるコンピュータのハードウェア構成図である。
【
図6】プロセスモデルを生成する処理のフローチャートである。
【
図7】プロセス制御システムによりプロセスを制御しながら製造する手順を示すフローチャートである。
【
図8】
図7中のステップS300で行われる運転条件候補抽出処理の詳細を示すフローチャートである。
【
図9】
図7中のステップS300において、ユーザに提供される運転条件候補抽出画面の例を示す。
【
図10】
図8中のステップS305で行われるプロセスモデル間距離計算処理を示すフローチャートである。
【
図11】
図7中のステップS400で行われる運転条件探索処理を示すフローチャートである。
【
図14】
図7中のステップS400において、ユーザに提供される運転条件探索画面の例である。
【
図15】
図11中のステップS406においてユーザに提供される、運転条件の探索結果を示す画面の例である。
【
図16】第2実施例に係り、製造実績データを取得する処理を示すフローチャートである。
【
図17】第3実施例に係り、製造対象の品種と製造に用いる機種を取得する処理を示すフローチャートである。
【発明を実施するための形態】
【0016】
以下、図面に基づいて、本開示の実施の形態を説明する。以下、図面を参照して本開示の実施形態を説明する。以下の記載および図面は、本開示を説明するための例示であって、説明の明確化のため、適宜、省略および簡略化がなされている。本開示は、他の種々の形態でも実施する事が可能である。特に限定しない限り、各構成要素は単数でも複数でも構わない。
【0017】
図面において示す各構成要素の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。本開示は、必ずしも、図面に開示された位置、大きさ、形状、範囲などに限定されない。
【0018】
以下の説明では、「データベース」、「テーブル」、「リスト」等の表現にて各種情報を説明することがあるが、各種情報は、これら以外のデータ構造で表現されてもよい。データ構造に依存しないことを示すために「XXテーブル」、「XXリスト」等を「XX情報」と呼ぶことがある。識別情報について説明する際に、「識別情報」、「識別子」、「名」、「ID」、「番号」等の表現を用いた場合、これらについてはお互いに置換が可能である。
【0019】
同一あるいは同様な機能を有する構成要素が複数ある場合には、同一の符号に異なる添字を付して説明する場合がある。ただし、これらの複数の構成要素を区別する必要がない場合には、添字を省略して説明する場合がある。
【0020】
以下の説明では、コンピュータプログラムを実行して行う処理を説明する場合があるが、コンピュータプログラムは、プロセッサ(例えばCPU(Central Processing Unit)、GPU(Graphics Processing Unit))によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)および/またはインターフェースデバイス(例えば通信ポート)等を用いながら行うため、処理の主体がプロセッサとされてもよい。同様に、コンピュータプログラムを実行して行う処理の主体が、プロセッサを有するコントローラ、装置、システム、計算機、ノードであってもよい。コンピュータプログラムを実行して行う処理の主体は、演算部であれば良く、特定の処理を行う専用回路(例えばFPGA(Field-Programmable Gate Array)やASIC(Application Specific Integrated Circuit))を含んでいてもよい。
【0021】
コンピュータプログラムは、プログラムソースから計算機のような装置にインストールされてもよい。プログラムソースは、例えば、コンピュータプログラム配布サーバまたは計算機が読み取り可能な記憶メディアであってもよい。プログラムソースがプログラム配布サーバの場合、プログラム配布サーバはプロセッサと配布対象のプログラムを記憶する記憶資源を含み、プログラム配布サーバのプロセッサが配布対象のプログラムを他の計算機に配布してもよい。また、以下の説明において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。
【0022】
本開示のプロセス制御システムでは、制御対象において正常に製造を行った実績データが無い場合でも、過去の製造実績データから適切な運転条件を生成し、生成された運転条件を用いてプロセスを制御し、製品を製造する。
【0023】
本開示にかかるプロセス制御システムは、コンピュータにより、制御対象の特性に適した運転条件を探索し、その運転条件下で制御を行う。制御対象の特性に応じたプロセスモデルと、実際に操作量を定めるアルゴリズムである制御則とを用いて、運転制約を遵守するような運転条件を探索する処理部を有する。
【0024】
本開示の一態様によれば、制御対象と同一の特性を有するプロセスの実績データが無い場合でも、運転制約を遵守できる運転条件を効率よく見つけることができ、製造のリードタイムを低減でき、歩留りを向上でき、手動介入を削減できるなどの効果を得る。
【0025】
本開示は、例えば化学製品または薬品などを製造するプラントに用いることができるが、それ以外に、発電プラント、製鉄プラント、水処理プラントなどの種々のプラントにも適用可能である。
【実施例0026】
図1~
図15を用いて第1実施例を説明する。以下、本実施例にかかるプロセス制御システムおよびプロセス制御方法の一実施例について詳細に説明する。
【0027】
図1は、実施例1におけるプロセス制御システム1の構成例を示す。プロセス制御システム1は、それぞれ後述するように、例えば、モデル構築部11と、制御則設計部12と、シミュレーション部13と、運転条件探索部14と、プロセスモデル15と、制御則16と、ユーザインターフェース部19とを含む。
【0028】
制御システム1は、製造実績データを記憶する製造実績データベース21と、特性情報を記憶する特性情報データベース22とに接続されており、それらデータベース21,22との間でデータを送受信可能である。特性情報とは、製造対象の品種についての情報(品種情報)、製造に使用する各機器についての情報(機種情報)などである。製造実績データとは、過去に製造された実績のあるデータであり、品種と機種の組合せ、手動介入の有無などを含む。
【0029】
以下、製造実績データベース21に記憶される製造実績データに符号21を与えて説明する場合がある。同様に、特性情報データベース22に記憶される特性情報に符号22を与えて説明する場合がある。プロセスモデル15を記憶するプロセスモデル記憶部に符号15を与えることもある。制御則16を記憶する制御則記憶部に符号16を与えることもある。運転条件17を記憶する運転条件記憶部に符号17を与えることもある。
【0030】
プロセス制御システム1は、制御対象の特性に適したプロセスモデル15を用いて、製造実績データから、制御対象と最も特性の近いプロセスでの運転条件を運転条件候補として抽出する。プロセス制御システム1は、さらにプロセスモデルを用いてシミュレーションを行い、運転制約を遵守するシミュレーション結果が得られるように、抽出された運転条件候補を修正する。これにより、プロセス制御システム1は、制御対象の特性に適した運転条件を設定し、その運転条件下で制御対象を制御する。
【0031】
制御対象とは、プロセス運転を行う制御機器など、プロセス制御システム1が制御する対象である。以下では、制御対象として、化学プラントなどで用いられるリアクタ等の機器を前提として説明するが、これに限らず、プロセス運転を行うプラント以外の様々な機器や装置に適用可能である。
【0032】
制御対象の特性情報22として、機器の種類や、制御対象が製造する製造物の品種を前提に説明するが、制御対象の特性を表すこれら以外の情報を特性として定めてよい。
【0033】
特性とは、制御対象がプロセス運転により製造する製造物の品種や、プロセス運転を行う機器など、プロセスモデルの挙動に影響を与える要素である。特性種類とは、例えば、ある種類の特性に含まれる要素の種類を表す。特性の組み合わせとは、例えば、複数種類の特性の組み合わせを表す。
【0034】
モデル構築部11は、プロセスモデル15を生成する。モデル構築部11は、製造実績データ21と特性情報22のいずれか一方または両方に基づいて、プロセス運転を行う制御対象を制御するためのプロセスモデル15を構築し、記憶させる。本実施例では、あらかじめ制御対象の特性毎にモデル構築処理が行われており、制御対象の特性ごとにプロセスモデルが得られていることを前提とする。
【0035】
制御則設計部12は、制御対象を制御するためのロジックである制御則16を生成し、記憶させる。モデル構築部11と同様に、制御対象の特性毎に、適した制御則が得られていることを前提とする。
【0036】
シミュレーション部13は、制御対象の挙動をシミュレーションする。シミュレーションの方法としては、プロセスモデル15のみを用いる開ループシミュレーションと、プロセスモデル15と制御則16とを用いる閉ループシミュレーションの2つがある。開ループシミュレーションの場合は、制御対象に与える操作量をプロセスモデル15へ入力し、制御対象の物理量をシミュレートする。閉ループシミュレーションの場合は、制御対象へ与える操作量をプロセスモデル15に入力し、制御対象の物理量を求める演算と、制御対象の物理量と運転条件17を制御則16へ入力し制御対象に与える操作量を求める演算とを組合わせてシミュレーションする。すなわち、閉ループシミュレーション全体としては、運転条件17と制御対象の物理量の初期状態とを入力すると、制御対象の物理量および操作量をシミュレートする。
【0037】
プロセスモデル15は、制御対象の特性をモデル化したものであり、物質収支則、エネルギー収支則、化学反応式などの理論式によって構築された数式、もしくはシステム同定または機械学習によって得られる数式により、表現される。以下では、
図6中のステップS11に記載された式(1)に示す微分方程式で表されるモデルを用いて説明する。
【0038】
先に
図6を参照すると、上述のように、制御対象の特性ごとにプロセスモデルがあらかじめ生成される。図示せぬプロセスモデル生成装置は、プロセスモデルを生成するために必要なデータ群を取得し(S10)、取得したデータ群と所定の式(1)を用いてプロセスモデルを生成し(S11)、生成されたプロセスモデルを保存する(S12)。
【0039】
式(1)において、θmは原料の濃度、θpは製造する製品の濃度、Tはリアクタ内温度、Tjはジャケットを流れる冷媒の温度、Qrは反応熱を表す。Cはリアクタ内の熱容量、Uはジャケットのリアクタの間の総括熱伝達係数、Aは伝熱面積であり、いずれも機種に依存したパラメータである。km、kpは反応速度定数、Qrはアレニウスの式等により定まる反応熱の関数であり、いずれも製造する品種によって定まる。リアクタ内温度Tおよび冷媒温度Tjは運転中に測定可能であるが、原料濃度θm、製品濃度θpは運転中には測定できない。原料濃度θmと製品濃度θpは、実測データを用いずに計算される、プロセス内部の状態の例である。
【0040】
制御則16は、上の例で言うと、式(1a)~式(1c)のモデルを用いて、原料濃度θm、製品濃度θp、リアクタ内温度Tを最適な運転条件に保つような冷媒温度Tjを求める機能を持つ。制御方式は、いわゆるPID制御のように単体で演算を行う方式でもよいし、または、モデル予測制御(MPC)のように、プロセスモデル15を内部で実行して演算を行う方式でもよい。
【0041】
運転条件17は、品質および収率を所定の範囲に収めるために、制御対象の状態が満たすべき条件である。例えば、式(1)のモデルで表されるプロセスでは、リアクタ内温度Tの目標値の時系列が運転条件に相当する。一般に、ある製品を製造するための運転条件は、目標値を様々な時系列パターンに設定した上でプロセスの試運転または試製を行い、得られた品質や収率から最良の時系列パターンを選定することで得られる。すなわち、バッチ毎にプロセスの特性が大きく変わる場合、運転条件を新たなに設計し直さなければならない可能性がある。
【0042】
ユーザインターフェース部19は、プロセス制御システム1を操作するユーザ41との間で情報を交換する機能を持つ。詳しくは、ユーザインターフェース部19は、プロセス制御システム1の行う一連の処理に必要なパラメータを受け取る機能(入力)と、演算結果および制御結果などを提供する機能(出力機能)とを有する。入力機能は、例えば、キーボード、タッチパネル、音声入力装置、視線検出装置などを用いて、ユーザ41から情報を受け取る。出力機能は、例えば、モニタディスプレイ、プリンタ、音声合成装置などを用いて、ユーザ41へ情報を提供する。ユーザインターフェース部19をプロセス制御システム1の本体とは別の端末として構成してもよい。例えば、ラップトップ型、ノート型、タブレット型、デスクトップ型などのパーソナルコンピュータ、スマートフォン、ゴーグル型または腕時計型などのウェアラブル端末をユーザインターフェース部19として用いることもできる。
【0043】
製造実績記憶部18は、制御対象32へ入力された操作量と、制御対象から検出された制御量との時間変化を含む製造実績データ21を生成し、生成された製造実績データ21を記憶させる。
【0044】
制御装置31は、プロセス制御システム1により算出された運転条件にしたがって、制御対象32へ操作量を与え、制御対象32から取得される制御量に基づいて操作量を制御する。
【0045】
図2は、プロセス制御システム1を実現するコンピュータ100の例である。コンピュータ100は、例えば、プロセッサ101と、メモリ102と、外部記憶装置103と、通信装置104と、出力装置105と、入力装置106と、読み書き装置107とを備えており、これら各回路101~107は通信線108を介して相互に接続される。プロセッサ101は、CPU(Central Processing Unit)に限らず、演算機能を持つ他の装置でもよい。外部記憶装置103は、例えば、ハードディスク装置、フラッシュメモリ装置、光磁気ディスク装置、光ディスク装置などの、比較的大容量のデータを書き換え可能に記憶する装置である。
【0046】
通信装置104は、NIC(Network Interface Card)等のように構成されており、通信ネットワークCNを介して、外部の装置と通信する。外部の装置としては、例えば、制御装置31、各記憶部(データベース)21,22、図示せぬセンサなどである。さらに例えば、プロセス制御システム1は、図外の生産管理システムなどとも双方向通信可能である。
【0047】
出力装置105は、ユーザインターフェース部19が使用する装置であり、例えば、モニタディスプレイ、プリンタなどである。入力装置106は、ユーザインターフェース部19が使用する装置であり、例えば、キーボード、ポインティングデバイス、タッチパネルなどである。読み書き装置107は、非一時的にコンピュータプログラムを記憶する記憶媒体MMに対して情報を読み書きする。
【0048】
通信線108は、一つのコンピュータ内を接続するシステムバスでもよいし、複数のコンピュータ間を接続する通信ネットワークでもよい。つまり、プロセス制御システム1の主要機能を複数のコンピュータ上に設け、それらコンピュータを通信ネットワークで相互に接続することで、プロセス制御システム1を実現することもできる。
【0049】
プロセス制御システム1に記憶され、あるいは処理に用いられる様々なデータ(例えば、プロセスモデル15、制御則16、運転条件17)は、プロセッサ101がメモリ102または外部記憶装置103から読み出して利用することにより実現可能である。各システムや装置が有する各機能部(例えば、モデル構築部11、制御則設計部12、シミュレーション部13、運転条件探索部14)は、プロセッサ101が外部記憶装置103に記憶されている所定のコンピュータプログラムをメモリ102にロードして実行することにより実現可能である。
【0050】
上述した所定のコンピュータプログラムは、読み書き装置107を介して記憶媒体MMから、あるいは、通信装置104を介してネットワークから、外部記憶装置103へ記憶(ダウンロード)され、それから、メモリ102上にロードされて、プロセッサ101により実行されるようにしてもよい。コンピュータプログラムは、読み書き装置107を介して記憶媒体MMから、あるいは通信装置104を介してネットワークから、メモリ102上へ直接ロードされ、プロセッサ101により実行されるようにしてもよい。
【0051】
以下では、プロセス制御システム1が、ある1つのコンピュータにより構成される場合を例示するが、これらの機能の全部または一部が、クラウドのような1または複数のコンピュータに分散して設けられ、ネットワークを介して互いに通信することにより同様の機能を実現してもよい。プロセス制御システム1を構成する各部が行う具体的な処理については、フローチャートを用いて後述する。
【0052】
図3は、製造実績データ21の一例を示す。製造実績データ21は、制御対象32から得られた過去の稼動実績を示すデータであり、モデル構築部11へ入力される。
図3に示すように、製造実績データ21は、データを識別するためのデータID211と、特性を示す品種212および機種213と、運転に用いた制御則214および運転条件215と、実績データ216と、手動介入の有無217とが対応付けて記憶されている。
【0053】
実績データ216は、例えば、プラントを構成する制御対象の操業情報および計測情報であり、例えば、操作量および制御量を含む時系列データなどが格納されている。操作量は、制御量に基づく制御を実現するための、目標値に基づいて制御対象となる機器が計算した制御対象の運転方法を示す情報である。
【0054】
例えば、制御対象であるリアクタの壁面に接続されたジャケットに冷水が流れており、冷水を流す調節バルブの開閉度を変えて温度を変化させる場合を説明する。制御量は、制御対象が実際に行う制御の運転条件であり、例えば、制御対象であるリアクタ内の実際の温度を示す情報である。
【0055】
図3では、例えば、データID「0」で識別される製造実績データは、品種「イ」、機器「A」で表される特性の制御対象についての製造実績データ301を含んでいる。目標値、操作量、制御量は、それぞれ、目標値α0[℃]:[20,20,50,50,…,20]、操作量β0[%]:[15,18,80,70,…,0]、制御量γ0[℃]:[15,18,37,40,…,30]として、所定の間隔ごと(例えば、1分ごと)の値が時系列に記憶されている。例えば、品種「イ」の製造物を製造する機器「A」の参照値α0には、1分ごとに、20℃,20℃,50℃,50℃,…,20℃といった、温度の値が記憶されている。t0,t1,t2は、データを記録した時刻である。
【0056】
図4は、プロセスモデル15の一例、およびプロセスモデルと特性との関係の一例を示す。プロセスモデル15は、上述のとおり所定の理論式(1)で構築されたモデルとして表される。プロセスモデル15は、品種151、機種152およびモデルパラメータ153を含む。
図4では、式(1)により表されるモデルをプロセスモデル15として例示している。この例では、プロセスモデルのパラメータC、km、kp、U、Aが、それぞれ0.1、0.2、0.1、1.5、10として与えられている。
【0057】
図5は、制御則16の一例を示している。制御則16は、制御則ID161、制御則の種類162と制御則を規定するパラメータ163とを含む。例えば、データID「C1」で識別される制御則を例に説明する。この場合、制御方式の種別162は「PID制御」であり、パラメータ163には「比例ゲインKp、積分ゲインKi、微分ゲインKdにそれぞれ1.0、0.1、0.01」といった値が格納されている。
【0058】
図7は、プロセス制御システム1を用いてプロセスを運転し、製品を製造する手順を示す。
【0059】
プロセス制御システム1は、ユーザ41によりユーザインターフェース部19へ入力される、製造する品種と製造に用いる機種とを取得する(S100)。
【0060】
ここで、
図9を参照する。
図9は、運転条件の候補を抽出する画面G1の例である。運転条件の候補を抽出する画面G1は、例えば、品種を選択する欄GP11、機種を選択する欄GP12、運転条件候補の抽出を指示するボタンGP13、運転条件候補の抽出結果を表示する欄GP14、プロセス動特性を比較する欄GP15を備える。
【0061】
運転条件候補の抽出結果を表示する欄GP14では、対象プロセスに近いプロセスのデータが抽出されて表示される。品種表示部GP141には、比較対象のプロセスの品種が表示される。機種表示部GP142には、比較対象のプロセスの機種が表示される。運転データの時間パターンを表示する欄GP143には、例えば、目標温度の時間変化が表示される。圧力制御の場合は、目標圧力の時間変化となる。
【0062】
プロセス動特性を比較する欄GP15には、対象プロセスの動特性(図中、実線)と抽出された比較対象のプロセスの動特性(図中、点線)とが対比されて表示される。
図9の例では、プロセスの動特性として、例えば、反応器温度、原料濃度、成分濃度を示す。さらに、欄GP15には、対象プロセスの反応終点GP151と、比較対象のプロセスの反応終点GP152も表示される。対象プロセスの反応が終了する時刻GP151と比較対象のプロセスの反応が終了する時刻GP152とが異なる場合でも、後述のように、時間軸を調整するなどして比較することができる。
【0063】
図7に戻る。ステップS100では、ユーザ41が欄GP11,GP12において品種と機種をそれぞれ選択し、運転条件候補抽出ボタンGP13を押下するものとする。運転条件探索部14は、プロセスモデル15に記憶されたプロセスモデルの中から、ステップS100で入力された品種および機種に対応するモデルMを取得する(S200)。
【0064】
運転条件探索部14は、製造実績データベース21から、モデルMに最も近い動特性を有する製造実績データを取得し、その製造実績データ中の運転条件を運転条件候補として抽出する(S300)。ここでは、プロセスモデル15からモデルMと最も動特性の近いモデルM´を取得し、モデルM´に対応する品種および機種での製造実績データを取得する。動特性とは、ある操作量を与えたときの制御対象の状態の時間変化を表し、詳細については後述する。対象のプロセスモデルMと最も動特性の近いモデルM´は、「対象のプロセス(対象のプロセスモデルM)と所定範囲内で類似する他のプロセス」の一例に該当する。動特性が最も近いプロセスモデルに代えて、動特性の相違が所定範囲内のプロセスモデルを抽出してもよい。
【0065】
運転条件探索部14は、ステップS300で抽出された運転条件候補を修正し、運転制約を遵守しつつKPIを最大化する運転条件を探索する(S400)。ここで、運転制約は、例えば、安全のために設けられるリアクタ内温度や製品濃度の上限値である。KPI(Key Performance Indicator)は、「所定の評価指標」に該当する。KPIは、例えば1バッチあたりの製造時間である。運転制約のほかにも、例えば、反応時間を一定以上に保つなど、品質を維持するために運転条件が満たすべき制約条件があれば、それも遵守した形で運転条件を探索する。
【0066】
プロセス制御システム1は、ステップS100で取得された品種および機種に対応する制御則を制御則16から取得し、取得された制御則とステップS400で探索された運転条件とを制御装置31へ伝送する。制御装置31は、プロセス制御システム1から受信された制御則と運転条件を用いて、制御対象32を制御し、指定された製品を製造する(S500)。
【0067】
この際、操作量と制御量の実測値とは、制御装置31へ伝送されている。制御装置31は、操作量と制御量の実測値とを製造実績記録部18へ送信する。
図1では、説明の便宜のために、操作量は制御装置31から製造実績記録部18へ入力され、制御量の実測値は制御対象32に設けられたセンサ(不図示)から製造実績記録部18へ入力されるかのように示している。しかし、実際には、制御装置31から製造実績記録部18へ操作量と制御量の実測値とを送信すればよい。
【0068】
製造実績記録部18は、操作量や制御量の実測値を取得し、これらを基に製造実績データ21を記録する(S600)。ここでは、ステップS100で入力された品種および機種22と、ステップS400で探索された運転条件17と、ステップS500で取得された制御則16とが、操作量および制御量と合わせて、
図3に示した形式で製造実績データとして記録される。
【0069】
さらに、製造実績記録部18は、操作量と制御量の実測値とから、プラントの運転制約に違反するなどして手動介入が生じたかを判断し、手動介入の有無を記録する。例えば、操作量が出力された時刻と制御量の実測時刻とが一定周期でなく、非測定期間がある場合などに、手動介入があったものと判断できる。
【0070】
図8は、
図7に示したステップS300で行われる運転条件候補抽出処理の詳細を示すフローチャートである。ステップS300では、以下に述べるように、制御対象の品種および機種に対応するプロセスモデルMと、プロセスモデル15に記録されている全てのプロセスモデルとの間の動特性の類似度を評価し、その評価関数が最小となるプロセスモデルに対応する製造実績データから、運転条件候補を抽出する。
【0071】
運転条件探索部14は、ループ変数iを0に設定し(S301)、評価関数の空リストLを作成し(S302)、モデルを評価するループ1に入る。ループ1では、製造実績データ21からi番目の品種および機種を取得し(S303)、取得された品種および機種に対応するモデルMiをプロセスモデル15から取得し(S304)、プロセスモデルMとプロセスモデルMiとの間の距離E[i]を算出し、リストLに{i、E[i]}を追加する(S305)。そして、運転条件探索部14は、変数iを1つインクリメントし(S306)、変数iが製造実績データの数以上になるまで(S307)、ステップS303~S305の処理を繰返す。
【0072】
ステップS307で「YES」と判定されてループ1を抜けた後、運転条件探索部14は、リストLから距離E[i]が最小となるような変数i*を抽出し(S308)、製造実績データ21からi*番目のデータの運転条件を抽出し、抽出された運転条件を運転条件の候補とする(S309)。
【0073】
最後に、運転条件探索部14は、
図9に示す画面G1中の運転条件候補抽出結果表示欄GP14に、i*番目の品種および機種と、運転条件候補の時間パターンとを表示させる。さらに、運転条件探索部14は、画面G1中の動特性比較欄GP15に制御対象のプロセスモデルMの動特性とi*番目の品種および機種に対応するプロセスモデルM*の動特性とを比べて表示させる(S310)。
【0074】
ステップS305およびステップS310において、動特性とは、ある初期状態の制御対象に何らかの操作量を与えたときに、制御対象の状態が時間的にどのように変化するかを表した特性のことである。プロセス制御においては、例えばインパルス信号、ステップ信号、ランプ信号などの時間信号を操作量として与えたときの状態の時系列そのもの、もしくはその時定数ないし周波数などから動特性を定義することが多い。本実施例では、過去の製造実績データにおける操作量をプロセスモデルへ入力して状態の時系列を計算し、状態の時系列の間の差分を距離E[i]とする。
【0075】
図10は、
図8中のステップS305の詳細を示す。
図10のフローチャートは、距離E[i]の計算処理の処理手順を示している。以下、本計算処理について、式(1)のモデルに従って説明する。
【0076】
運転条件探索部14は、製造実績データベース21からi番目のデータの操作量を取得し(S3051)、取得された操作量をプロセスモデルMiおよびプロセスモデルMへそれぞれ入力し、式(2)にしたがって、状態Xiおよび状態Xをシミュレートする(S3052、S3053)。
図10では、ステップS3052に式(2)を示す。ステップS3053でも式(2)が使用される。
【0077】
運転条件探索部14は、ステップS3052で得られた状態XiとステップS3053で得られた状態Xとの間の差分を、式(3)にしたがって計算する(S3054)。
【0078】
ここで、ステップS3052,S3053において、プロセスモデルとして例えば式(1)を考える場合、操作量はジャケット内冷媒温度Tjであり、状態Xiおよび状態Xは、原料濃度θm、製品濃度θp、リアクタ内温度Tからなるベクトル[θm,θp,T]である。各時刻においてジャケット内冷媒温度Tjを入力して式(1)を時間方向に積分することで、θm,θp,Tの値を得ることができる。例えば、離散的な時点kでのTj、θm、θp、Tの値をそれぞれTj[k]、θm[k]、θp[k]、T[k]と書くと、系列{Tj[0]、Tj[1]、…、}および初期状態[θm[0],θp[0],T[0]]が所与のとき、式(2)を繰返し解くことによって、各時点のθm、θp、Tの値を計算することができる。
【0079】
ステップS3054において、状態Xi:=[θmi,θpi,Ti]とX:=[θm,θp,T]の間の差分には、様々な距離指標を用いることができる。ステップS3052とステップS3053とで、シミュレーションの時間点数Nが同一である場合には、以下のL2距離で算出すればよい。
【0080】
ここで、||・||はベクトルノルムを表す。一方、ステップS3052とステップS3053とで、シミュレーションの時間点数Nが異なる場合には、式(3)のようなL2距離で演算することはできない。この場合は、サンプル数が異なる時系列同士を比較できるDTW(Dynamic Time Wrapping)などの指標を用いて、E[i]を構成すればよい。
【0081】
図11は、
図7に示したステップS400の詳細を示すフローチャートである。
図11は、運転条件探索の処理手順の一例を示す。
【0082】
運転条件探索部14は、運転条件探索に用いる運転条件候補を選択する(S401)。ここで、複数の運転条件候補が存在する場合は、
図14の運転条件探索画面G2の運転条件候補選択部GP21に示すように、ユーザが運転条件候補を選択できるようにする。
【0083】
ここで
図14を参照する。
図14は、運転条件を探索するための情報を設定する運転条件探索画面G2の例である。運転条件探索画面G2は、例えば、運転条件候補を選択する欄GP21、運転条件候補の詳細を表示させるボタンGP22、運転条件候補と記述パラメータを表示する欄GP23、運転条件に関する制約を設定する欄GP24、プラント状態に関する制約を設定する欄GP25、運転条件を探索する際の目的関数を設定する欄GP26、運転条件の探索を指示するボタンGP27を備える。
【0084】
図11に戻る。ユーザが
図14中の表示ボタンGP22を押下すると、運転条件探索部14は、ステップS401で選択された運転条件候補を区分線形関数で近似し、
図14の運転条件候補と記述パラメータを表示する欄GP23へ表示させる(S402)。ここで、区分線形関数近似は、最小二乗法などの曲線近似アルゴリズムを用いて実現される。表示欄GP23には、リアクタ内温度の目標値Trefの時系列が、
図12に示す式(4)の区分線形関数で近似された例が示されている。
図12は、
図11中のステップS402の詳細を示す。
図13は、
図11中のステップS406の詳細を示す。
【0085】
再び
図11へ戻る。ユーザは、運転条件候補の区分線形近似結果を参考に、運転条件に関する制約条件を入力する(S403)。
図14の運転条件に関する制約を設定する欄GP24に示すように、運転条件候補を区分線形関数で近似した際のパラメータに基づき、ユーザが制約条件を入力することができる。
【0086】
こうした運転条件に関する制約には、例えば、反応開始に最低限必要な時間、リアクタ内で攪拌のむらが無くなるまでに最低限必要な時間、品質維持に必要な冷却速度など、一定以上の品質で製品を製造するためのノウハウが含まれていることが多い。本実施例では、こうした製造ノウハウも制約条件として設定することができる。したがって、本実施例のプロセス制御システム1は、現場の製造ノウハウも取り入れて、対象プロセスに適した運転条件を探索することができ、使い勝手がよい。
【0087】
ユーザは、プラント状態に関する制約条件を入力する(S404)。ここで、
図14のプラント状態に関する制約を設定する欄GP25に示すように、ユーザは、プラントの制御量および状態に関する制約条件を入力することができる。例えば、
図14では、安全上の理由でリアクタ内温度Tが常時10℃から80℃の範囲に収める必要があり、かつ品質上の理由で、反応終点(時刻t5)における製品濃度θpが80%から95%の範囲に収める必要がある、といった制約条件が設定されている。
【0088】
さらに、ユーザは、運転条件を探索する際の目的関数を設定する(S405)。例えば、
図14の目的関数設定欄GP26に示すように、ユーザは、製造時間最小化のために反応終点時刻t5(欄GP23の時間軸参照)を目的関数として設定することができる。なお、製造時間だけでなく、例えば品質に係る目的関数として、製品濃度などの関数を設定してもよいし、製造時間と品質の両方を考慮した複合的なKPIを目的関数として設定してもよい。
【0089】
運転条件探索部14は、ステップS403,S404で設定された制約条件と、ステップS405で設定された目的関数とを用いて、最適化問題を解き、制約条件を遵守しつつ目的関数が最小となる運転条件を探索する(S406)。本実施例において、最適化問題は、
図13に示すステップS406の詳細に示す式(5)で定式化される。
【0090】
図13に示すステップS406中の式(5a)は目的関数を示し、式(5b)~式(5j)は制約条件である。制約条件のうち、式(5b)と式(5c)は、
図14に示すプラント状態に関する制約を設定する欄GP25により設定される制約条件である。式(5e)、(5g)、式(5j)は、
図14中の運転条件に関する制約を設定する欄GP24により設定される制約条件である。式(5d)、式(5f)、式(5h)、式(5i)は、運転条件候補の時系列の形状から自明となる制約条件である。目的関数の値や、制約条件を満たしているか否かは、ある運転条件の下でプロセスモデルと制御則を用いて閉ループシミュレーションを行うことで算出できる。この算出手法と、公知の最適化手法、例えばランダム探索や貪欲法などを組合わせて最適化問題を解くことができる。
【0091】
図15は、
図11中のステップS406において探索した運転条件の表示結果の一例である。ここでは、運転条件表示部GP31に、探索した運転条件を表示し、ユーザが確認できるようにする。さらに前記運転条件の下で閉ループシミュレーションを行い、リアクタ内温度T、原料濃度θm、製品濃度θpの時系列を計算する。これらの計算結果は、リアクタ内温度表示部GP32、原料濃度表示部GP33、製品濃度表示部GP34に表示される。さらに、ステップS404で設定されたプラント状態に関する制約条件を合わせて表示することで、プラント運転制約を遵守するような運転ができることをユーザが確認することができる。
図15中の黒三角形は、反応が終了する時刻を示す。
【0092】
以上の処理フローにおいて、運転制約を遵守する運転条件が見つからなかった場合、ステップS403に戻って制約条件を修正する(S407:NO)。運転制約を遵守する運転条件が見つかった場合(S407:YES)、運転条件探索処理を終了する。
【0093】
以上のように、実施例1に示すプロセス制御システムでは、製造実績のない品種および機種の組合せに対しても、製造実績データから最も制御対象と近い動特性を有する実績データを抽出し、当該実績データを起点として運転条件を探索することにより、プラントの運転制約を遵守しながら品質や製造時間に係るKPIを最大化するようなプラント運転を実現できる。
【0094】
なお、実施例1では、品種および機種の変化に応じて制御対象の特性が変化する場合を想定したが、例えば、石油化学系の連続プロセスにおいて、プラントの経年変化によって制御対象の特性が変わるような場合や、原料切替によってプラント運転に非定常操作が生じる場合に対しても、本実施例によって運転条件を探索できる。
製造実績データを取得する処理S700は、保守管理データベースを参照し(S701)、製造実績データベースから製造実績データ21を一つ選択する(S702)。保守管理データベースは、図示を省略するが、プラントで使用される各機種のメンテナンス時期などを管理する。
運転条件探索部14は、選択された製造実績データがメンテナンス対象機器のデータであるか判定し(S703)、メンテナンス対象機器の製造実績データである場合(S703:YES)、ステップS702へ戻り、次の製造実績データを一つ選択する。ここで、メンテナンス対象機器とは、近々メンテナンスが予定されている機器である。メンテナンス中の機器は対象製品の製造に使用できないため、メンテナンス対象機器の製造実績データは使用されない。
運転条件探索部14は、選択された製造実績データがメンテナンス対象機器のデータでは無い場合(S703:NO)、最新のメンテナンスからの経過時間が所定時間内であるか判定する(S704)。運転条件探索部14は、最新のメンテナンス日からの経過時間が短く、劣化していない機種の製造実績データを抽出する(S704:YES)。最新のメンテナンス日からの経過時間が所定時間を越えている機種の場合(S704:NO)、ステップS702へ戻り、次の製造実績データを一つ選択する。
運転条件探索部14は、抽出された製造実績データを一時保存する(S705)。そして、一時保存された製造実績データは、上述の通り、運転条件探索部14による運転条件の探索に用いられる。
このように構成される本実施例も実施例1と同様の作用効果を奏する。さらに本実施例の運転条件探索部14は、メンテナンス対象ではない機種の製造実績データであって、最新のメンテナンス日から所定期間内の製造実績データのみを用いて運転条件を探索するため、実用的な製造実績データに基づいて運転条件を探索でき、使い勝手が向上する。