(57)【要約】      （修正有）【課題】多変量バッチ制御解析のためのステージを画定する方法及び装置を提供する。【解決手段】例示的な方法には、プロセッサによって、バッチステージパラメータの現在値に基づいて現在のバッチプロセスにおける現在のステージを判定することが含まれる。バッチステージパラメータの現在値は、現在のバッチプロセスにおけるプロセスパラメータに関連付けられたプロセス制御データに基づいて判定される。現在のステージは、バッチレシピにおける手順、ユニット手順、操作、またはフェーズの開始または終了のうちの少なくとも１つによって画定されるバッチイベントから独立して判定される。例示的な方法には、プロセッサによって、現在のステージに対応するモデルを現在のバッチプロセスに適用することがさらに含まれる。【選択図】図１
2022002126.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサによってバッチステージパラメータの現在値に基づいて現在のバッチプロセスにおける現在のステージを判定することであって、前記バッチステージパラメータの前記現在値は、前記現在のバッチプロセスにおけるプロセスパラメータに関連付けられたプロセス制御データに基づいて判定され、前記現在のステージは、バッチレシピにおける手順、ユニット手順、操作、またはフェーズの開始または終了のうちの少なくとも１つによって画定されるバッチイベントから独立して判定される、判定することと、
前記プロセッサによって前記現在のバッチプロセスにモデルを適用することであって、前記モデルは、前記現在のステージに対応する、適用することと、を含む、方法。
【請求項２】
前記バッチステージパラメータの前記現在値は、前記バッチイベントを参照することなく、前記プロセスパラメータの条件に関連付けられたユーザー指定の定義に基づいて定義される、請求項１に記載の方法。
【請求項３】
前記現在のステージは、前記バッチプロセスのランタイム中に前記バッチイベントのなかの連続するイベントの間に受信されたオペレーター入力によって画定され、前記オペレーター入力は、前記バッチステージパラメータの前記現在値を定義するためのユーザー指定の規則を満たす、請求項１に記載の方法。
【請求項４】
前記現在のステージは、前記プロセスパラメータの特定の相互作用に関連付けられた前記現在のバッチプロセスの一部分に対応する、請求項１に記載の方法。
【請求項５】
以前実行された複数のバッチプロセスの各々における対応するステージに基づいて、前記現在のバッチプロセスの前記現在のステージのための前記モデルを生成することをさらに含む、請求項１に記載の方法。
【請求項６】
前記モデルは、
連続ヒストリアンデータベース内に記憶された前記以前実行されたバッチプロセスに関連付けられた前記プロセス制御データを取り出すことと、
以前実行された各バッチプロセスに関連付けられた前記プロセス制御データが前記バッチステージパラメータの前記現在値を定義するユーザー指定の定義を初めて満たすときに基づいて、以前実行された各バッチプロセスにおける前記対応するステージの開始を検出することと、
以前実行された各バッチプロセスに関連付けられた前記プロセス制御データがもはや前記ユーザー指定の定義を満たさなくなるときに基づいて、以前実行された各バッチプロセスにおける前記対応するステージの終了を検出することと、
前記以前実行されたバッチプロセスの各々における前記対応するステージの前記開始と前記終了との間で、前記以前実行されたバッチプロセスに関連付けられた前記プロセス制御データを分析することと、によって生成される、請求項５に記載の方法。
【請求項７】
前記バッチステージパラメータが前記現在値に初めて対応するときに基づいて、前記現在のステージの開始を判定することと、
前記バッチステージパラメータが前記現在値にもはや対応しなくなるときに基づいて、前記現在のステージの終了を判定することと、
前記現在のステージの前記開始及び前記終了を、前記プロセス制御データと共に、連続ヒストリアンデータベース内に記憶することと、をさらに含む、請求項１に記載の方法。
【請求項８】
前記現在のステージの前記開始と前記終了との間に前記連続ヒストリアンデータベース内に記憶された前記プロセス制御データに基づいて、後続のバッチプロセスのために前記モデルを洗練させることをさらに含む、請求項７に記載の方法。
【請求項９】
前記バッチステージパラメータが前記現在値以外の異なる値に対応するとき、異なるモデルを適用して前記現在のバッチプロセスを分析することをさらに含み、前記モデルは、前記現在のステージ以外の前記バッチプロセスの異なるステージに対応し、前記現在のステージと前記異なるステージとの境界は、前記バッチイベントに対応しない、請求項１に記載の方法。
【請求項１０】
プロセッサを介して実装され、バッチステージパラメータの現在値に基づいて現在のバッチプロセスにおける現在のステージを判定するバッチステージ分析器であって、前記バッチステージパラメータの前記現在値は、前記現在のバッチプロセスにおけるプロセスパラメータに関連付けられたプロセス制御データに基づいて判定され、前記現在のステージは、バッチレシピにおける手順、ユニット手順、操作、またはフェーズの開始または終了のうちの少なくとも１つによって画定されるバッチイベントから独立して判定される、バッチステージ分析器と、
前記現在のバッチプロセスにモデルを適用するバッチモデル分析器であって、前記モデルは、前記現在のステージに対応する、バッチモデル分析器と、を備える、装置。
【請求項１１】
前記バッチステージパラメータの前記現在値は、前記バッチイベントを参照することなく、前記プロセスパラメータの条件に関連付けられたユーザー指定の定義に基づいて定義される、請求項１０に記載の装置。
【請求項１２】
前記バッチステージパラメータの前記現在値は、前記バッチプロセスを実行するコントローラによって判定され、前記コントローラは、前記ユーザー指定の定義を前記プロセスパラメータの現在値と比較する、請求項１１に記載の装置。
【請求項１３】
前記バッチステージパラメータの前記現在値は、前記バッチステージ分析器によって判定される、請求項１０に記載の装置。
【請求項１４】
以前実行された複数のバッチプロセスの各々における対応するステージに基づいて、前記現在のバッチプロセスの前記現在のステージのための前記モデルを生成するモデル生成器をさらに含む、請求項１０に記載の装置。
【請求項１５】
前記モデル生成器は、
連続ヒストリアンデータベース内に記憶された前記以前実行されたバッチプロセスに関連付けられた前記プロセス制御データを取り出し、
以前実行された各バッチプロセスに関連付けられた前記プロセス制御データが前記バッチステージパラメータの前記現在値を定義するユーザー指定の定義を初めて満たすときに基づいて、以前実行された各バッチプロセスにおける前記対応するステージの開始を検出し、
以前実行された各バッチプロセスに関連付けられた前記プロセス制御データがもはや前記ユーザー指定の定義を満たさなくなるときに基づいて、以前実行された各バッチプロセスにおける前記対応するステージの終了を検出し、かつ
前記以前実行されたバッチプロセスの各々における前記対応するステージの前記開始と前記終了との間で、前記以前実行されたバッチプロセスに関連付けられた前記プロセス制御データを分析する、請求項１４に記載の装置。
【請求項１６】
前記バッチステージ分析器は、
前記バッチステージパラメータが前記現在値に初めて対応するときに基づいて、前記現在のステージの開始を判定し、
前記バッチステージパラメータが前記現在値にもはや対応しなくなるときに基づいて、前記現在のステージの終了を判定し、かつ
前記現在のステージの前記開始及び前記終了を、前記プロセス制御データと共に、連続ヒストリアンデータベース内に記憶する、請求項１０に記載の装置。
【請求項１７】
命令を備える製造物品であって、前記命令は、実行されるとき、機械をもって、少なくとも
バッチステージパラメータの現在値に基づいて現在のバッチプロセスにおける現在のステージを判定することであって、前記バッチステージパラメータの前記現在値は、前記現在のバッチプロセスにおけるプロセスパラメータに関連付けられたプロセス制御データに基づいて判定され、前記現在のステージは、バッチレシピにおける手順、ユニット手順、操作、またはフェーズの開始または終了のうちの少なくとも１つによって画定されるバッチイベントから独立して判定される、判定することと、
前記現在のバッチプロセスにモデルを適用することであって、前記モデルは、前記現在のステージに対応する、適用することと、を行わせる、製造物品。
【請求項１８】
前記命令は、前記機械をもって、以前実行された複数のバッチプロセスの各々における対応するステージに基づいて、前記現在のバッチプロセスの前記現在のステージのための前記モデルを生成することをさらに行わせる、請求項１７に記載の製造物品。
【請求項１９】
前記モデルは、
連続ヒストリアンデータベース内に記憶された前記以前実行されたバッチプロセスに関連付けられた前記プロセス制御データを取り出すことと、
以前実行された各バッチプロセスに関連付けられた前記プロセス制御データが前記バッチステージパラメータの前記現在値を定義するユーザー指定の定義を初めて満たすときに基づいて、以前実行された各バッチプロセスにおける前記対応するステージの開始を検出することと、
以前実行された各バッチプロセスに関連付けられた前記プロセス制御データがもはや前記ユーザー指定の定義を満たさなくなるときに基づいて、以前実行された各バッチプロセスにおける前記対応するステージの終了を検出することと、
前記以前実行されたバッチプロセスの各々における前記対応するステージの前記開始と前記終了との間で、前記以前実行されたバッチプロセスに関連付けられた前記プロセス制御データを分析することと、によって生成される、請求項１８に記載の製造物品。
【請求項２０】
前記命令は、前記機械をもって、
前記バッチステージパラメータが前記現在値に初めて対応するときに基づいて、前記現在のステージの開始を判定し、
前記バッチステージパラメータが前記現在値にもはや対応しなくなるときに基づいて、前記現在のステージの終了を判定し、かつ
前記現在のステージの前記開始と前記終了との間に連続ヒストリアンデータベース内に記憶された前記プロセス制御データに基づいて、後続のバッチプロセスのために前記モデルを洗練させることをさらに行わせる、請求項１７に記載の製造物品。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般的にはプロセス制御システムに関し、より具体的には多変量バッチ制御解析のためのステージを画定する方法及び装置に関する。
【背景技術】
【０００２】
一部のプロセス制御システムは、バッチプロセス制御を使用して実装されている。バッチプロセスの実行中、オペレーター及び／または他のプラント要員は、現在のバッチプロセスに適用される解析モデルを実装して、バッチプロセスが必ず期待通りに進捗するようにすることができる。これらのモデルは、以前実行されたバッチプロセスから収集されたデータに基づいて生成され得る。解析モデルの有効性は、モデルを生成する上で使用されるデータの信頼性と、モデル適用対象である現在のバッチプロセスの実際の処理条件を表す上でのモデルの精確性とに依存する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
多変量バッチ制御解析のためのステージを画定する例示的な方法及び装置が開示される。例示的な方法には、プロセッサによって、バッチステージパラメータの現在値に基づいて現在のバッチプロセスにおける現在のステージを判定することが含まれる。バッチステージパラメータの現在値は、現在のバッチにおけるプロセスパラメータに関連付けられたプロセス制御データに基づいて判定される。現在のステージは、バッチレシピにおける手順、ユニット手順、操作、またはフェーズの開始または終了のうちの少なくとも１つによって画定されるバッチイベントから独立して判定される。例示的な方法には、プロセッサによって、現在のステージに対応するモデルを現在のバッチプロセスに適用することがさらに含まれる。
【０００４】
例示的な方法には、プロセッサを介して実装され、バッチステージパラメータの現在値に基づいて現在のバッチプロセスにおける現在のステージを判定するバッチステージ分析器が含まれる。バッチステージパラメータの現在値は、現在のバッチにおけるプロセスパラメータに関連付けられたプロセス制御データに基づいて判定される。現在のステージは、バッチレシピにおける手順、ユニット手順、操作、またはフェーズの開始または終了のうちの少なくとも１つによって画定されるバッチイベントから独立して判定される。例示的な装置にはまた、現在のステージに対応するモデルを現在のバッチプロセスに適用するバッチモデル分析器も含まれる。
【０００５】
例示的な製造物品には、実行されるとき、機械をもって、少なくともバッチステージパラメータの現在値に基づいて現在のバッチプロセスにおける現在のステージを判定させる命令が含まれる。バッチステージパラメータの現在値は、現在のバッチにおけるプロセスパラメータに関連付けられたプロセス制御データに基づいて判定される。現在のステージは、バッチレシピにおける手順、ユニット手順、操作、またはフェーズの開始または終了のうちの少なくとも１つによって画定されるバッチイベントから独立して判定される。命令はさらに、機械をもって、現在のステージに対応するモデルを現在のバッチプロセスに適用させる。
【図面の簡単な説明】
【０００６】
【図１】例示的なバッチレシピにおける手順要素を表すガントチャートである。
【図２】例示的なプロセス制御システムの概略図である。
【図３】図２の例示的なバッチ実行エンジンを実装する例示的な方式を図示する。
【図４】図２及び／または３の例示的なバッチ実行エンジンを実装するために実施され得る例示的な方法を表す流れ図である。
【図５】図２及び／または３の例示的なバッチ実行エンジンを実装するために実施され得る例示的な方法を表す流れ図である。
【図６】図２及び／または３の例示的なバッチ実行エンジンを実装するために実施され得る例示的な方法を表す流れ図である。
【図７】図２及び／または３の例示的なバッチ実行エンジンを実装するために実施され得る例示的な方法を表す流れ図である。
【図８】図４〜７の例示的な方法を実施するために、かつ／またはより一般的には図２及び／または３の例示的なバッチ実行エンジンを実装するために、使用及び／またはプログラムされ得る例示的なプロセッサプラットホームの概略図である。
【発明を実施するための形態】
【０００７】
バッチ制御に関する手順制御モデルまたはフレームワークの標準規格が、国際計測制御学会（ＩＳＡ）によって１９９５年にＩＳＡ−８８として採択された。具体的には、ＩＳＡ−８８規格は、規則正しい順序のユニット手順を含み得るレシピまたは手順の観点からバッチプロセスに関する手順制御フレームワークを定義しており、これらのユニット手順は規則正しい順序の操作を含み得、これらの操作は、規則正しい１セットのフェーズを含み得る。例示的なバッチレシピ１００における手順要素を表すガントチャートが、図１に示されている。
【０００８】
図１の図示されている実施例に示されているように、レシピ１００における最上層または最も高レベルの要素は、バッチ手順１０２（時として「レシピ手順」または単に「手順」と呼ばれる）である。バッチ手順は、バッチプロセスを実施するための全体的な戦略を定義する。図示されている実施例のバッチ手順１０２には、２つのバッチユニット手順１０４、１０６（時として「レシピユニット手順」または単に「ユニット手順」と呼ばれる）が含まれる。バッチユニット手順は、プロセス制御システムの設備体系における特定のユニット内のバッチ手順の全部または一部を実施するための戦略を定義する。図示されている実施例に示されているような第３のレベルの手順要素が、レシピまたはバッチ操作に対応する。バッチ操作は、バッチユニット手順内の特定の独立した処理活動を実施するための戦略を定義する。図１に示されているように、第１のバッチユニット手順１０４には、２つのバッチ操作１０８、１１０が含まれる一方で、第２のバッチユニット手順１０６には、１つのバッチ操作１１２が含まれる。バッチ制御のための最も低レベルの手順要素が、フェーズであり、これらは、バッチ操作の実行に関連付けられた特定のプロセス志向タスクまたは機能を実施するための戦略を定義する。図示されている実施例では、第１のユニット手順１０４の第１の操作１０８には、３つのフェーズ１１４、１１６、１１８が含まれる一方で、第１のユニット手順１０４の第２の操作１１０には、２つのフェーズ１２０、１２２が含まれる。さらに、図示されている実施例では、第２のユニット手順１０６の操作１１２には、２つのフェーズ１２４、１２６が含まれる。
【０００９】
図１の例示的なレシピ１００内の異なる手順要素のほとんどは、総称的なラベルで表されているものの、第１のユニット手順１０４の第１の操作１０８に関連付けられたフェーズ１１４、１１６、１１８は、説明目的のため、より具体的なラベルを含んでいる。具体的には、図示されている実施例では、第１のフェーズ１１４は、処理対象材料がタンクまたは他の容器内に導入される「材料添加フェーズ」である。第２のフェーズ１１６は、材料が化学的及び／または物理的変化をこうむる「反応フェーズ」である。第３のフェーズ１１８は、図示されている実施例では、第２の操作１１０に関連付けられたさらなる処理のために反応フェーズの産物がタンクから除去される「搬出フェーズ」である。
【００１０】
典型的には、レシピ内の手順要素（例えば、手順、ユニット手順、操作、フェーズ）の各々は、バッチエンジニアリング環境内に配置されてバッチプロセスの逐次実行を定義する個別のモジュール式セグメントとして構成される。図１の図示されている実施例に示されているように、バッチユニット手順１０４、１０６、バッチ操作１０８、１１０、１１２、及びフェーズ１１４、１１６、１１８、１２０、１２２、１２４、１２６は、時間を通じた連続シーケンスとして並べられる。図１に表されていないものの、一部の実施例では、同じバッチ操作に対応する複数のフェーズが同時に実施されてもよい。同様に、一部の実施例では、複数のバッチ操作が特定のユニット内で並行して実行されてもよい。さらに、バッチプロセス全体において異なるユニットに関連付けられた異なるバッチユニット手順が、並行して実行されてもよい。
【００１１】
バッチレシピ内の手順要素のモジュール式セグメント化及び連続配置は、連続する各手順要素の開始及び終了を識別することによって、バッチプロセス内の任意の時点で実行されている現在の手順要素の明確な識別を可能にする。手順バッチレシピ要素（例えば、バッチ手順、バッチユニット手順、バッチ操作、フェーズ）の開始は、バッチのモジュール式構成セグメントが実行され始めるときに基づいて判定される一方で、手順要素の終了は、対応する構成セグメントが終結したときに基づいて判定される。バッチプロセス内の各手順要素の始まり（始動）及び終了（終結）は、本明細書においてバッチイベントと呼ばれる。典型的には、バッチイベント、及びこのようなイベントが発生する対応する時間は、バッチヒストリアンデータベース内に記憶される。一部の実施形態では、バッチヒストリアンデータベースは、バッチプロセスを通して監視されている全てのプロセスパラメータの値を記憶する連続ヒストリアンデータベースとは別個である。バッチヒストリアンデータベースと連続ヒストリアンデータベースの両方は、長期間にわたって実行される複数の異なるバッチプロセスのデータを記憶し得る。
【００１２】
ほとんどのバッチプロセスには、所望の出力製品及び／または材料に到達するまでに、投入原材料に対する複数の化学的及び／または物理的変化が含まれる。このような化学的及び／または物理的な各変化によって（例えば、温度反応をトリガーする材料の追加、タンク液位に基づいて温度への影響が異なるフロー等）、プロセス動態または様々なプロセスパラメータ間の相互作用の性質もまた変化する。プロセスパラメータの特定の相互作用を画定する（すなわち、特定のプロセス動態を呈する）バッチプロセス内の期間は、本明細書でプロセスステージ（または単に「ステージ」）と呼ばれ、これは、ＩＳＡ−８８で同様に定義されている。例えば、処理対象材料のタンクに水を添加することは、材料の温度を上昇させないが、化学反応をトリガーする反応性化学物質をタンクに添加することは、タンク内容物のタンク温度の上昇を発生させ得る。プロセスパラメータの相互作用（タンク内容物及びタンク温度）はこれら２つのシナリオでは異なるため、水の充填と化学物質の充填とは、異なるステージを構成するであろう。
【００１３】
バッチ制御解析は、しばしば、バッチプロセスの安全性、性能、及び／または効率性を改善及び／または維持するために、バッチプロセスの実行中に実施される。より具体的には、一部の場合では、バッチ制御解析は、以前実行された（例えば、歴史的にアーカイブされた）バッチプロセスから生成されたバッチプロセスのモデルに対する、バッチプロセスの多変量解析を伴う。典型的には、各ステージ中のプロセス動態の相違のため、各異なるステージ中、異なるモデルがバッチプロセスに適用される。例えば、上記実施例を参照すると、材料タンクへの水充填のモデルは、反応性化学物質がタンクに導入されているプロセスを代表しないであろう。したがって、水充填ステージと化学物質充填ステージとは、各ステージのプロセス動態に固有の別個のモデルを使用して分析され得る。
【００１４】
解析モデルをバッチプロセスに（すなわち、個別モデルをバッチプロセスの個別のステージに）適用することの有効性は、最初にモデルを生成するために使用されるデータの信頼性に、かつ適用されるモデルがバッチプロセスの現在のステージに対してどの程度妥当であるかに、依存する。つまり、以前実行されたバッチプロセスの水充填ステージ中に収集されたプロセス制御データが、反応性化学物質充填ステージのモデルを生成する際に含められると、得られるモデルは、モデルを生成するために使用されるデータが反応性化学物質がプロセス内に導入される場合に具体的に限定される場合よりも、信頼性が低くなる。同様に、あるモデルが（以前実行されたバッチプロセスからの正確な歴史的データに基づいている場合でさえ）現在のバッチプロセスにおける化学物質充填ステージが実際に始まる（または、結果として生じる反応の終了を越えて延長する）前に適用される場合、モデルがバッチプロセスに適用されているものの、プロセスに存在する実際のプロセス動態に対して妥当ではないような期間が（前か後のいずれかに）存在するであろう。したがって、（１）以前実行されたバッチからのどのデータが特定のステージのためのモデル生成に妥当であるか識別するため、及び（２）このようなモデルを現在のバッチプロセス中に適用する場合に妥当な期間を識別するため、の両方の目的で、バッチプロセス内の境界すなわちステージの始まり及び終わりを精確かつ精密に識別する必要性がある。
【００１５】
公知のバッチ制御解析技術は、対応するバッチレシピの手順要素の始まり及び／または終わりに基づいてステージの始まり及び終わりを識別する。つまり、ステージの境界は、バッチイベント（すなわち、手順１０２、ユニット手順１０４、１０６、操作１０８、１１０、１１２、またはフェーズ１１４、１１６、１１８、１２０、１２２、１２４、１２６の始まり及び／または終わり）に結び付けられる。一部の場合では、これは精確な仮定であり得るものの、他の場合には、そうではない。例えば、図１に示されているように、「反応フェーズ」とラベル付けされたフェーズ１１６は、初期加熱の期間１２８と共に始まり（例えば、所定の温度に到達するまで）、実際に反応を開始するために触媒が導入される時点１３０まで続く。このような実施例では、プロセス動態（すなわち、プロセス変数の相互作用）は、フェーズ１１６の途中で触媒が添加されるまで変化しない。したがって、この反応に対応する実際の反応に関連付けられたプロセス動態の時間的境界を画定するプロセスステージは、触媒が添加されるまで始まらない。したがって、反応フェーズ１１６の開始に対応するバッチイベントで始まるバッチプロセスに適用される反応の解析モデルは、それがバッチプロセスの実際の条件に対して妥当となる前に、適用される。同様に、反応フェーズ１１６の開始に対応するバッチイベントに始まるある期間にわたって以前実行されたバッチプロセスから取り出されたプロセス制御データに基づいて生成された反応のモデルは、モデル作成対象ステージに対応しないデータに、少なくとも部分的に基づくであろう。
【００１６】
バッチイベント（すなわち、バッチレシピ内の手順要素の始まりまたは終わり）と整合しないステージ境界（すなわち、プロセス動態の変化）の上記の問題に対する１つの解決策は、バッチレシピを再構成することである。例えば、図１の反応フェーズ１１６は、２つのフェーズに分離することができ、一方は、初期加熱期間１２８に対応し、他方は、触媒が添加される時点１３０に始まる。この解決策は可能であるものの、システムを再構成し新しいシステムのための操作訓練を提供することは時間及び費用の点で相当のコストを伴う可能性が高いであろうため、しばしば実行不可能である。さらに、既存のレシピを改変することは、品質評価及び／またはプロセス妥当性評価に影響を及ぼす可能性が高いであろう。さらに、ステージをバッチイベントにより緊密に整合させるためにレシピ及びそれに関連付けられた手順要素が再構成される状況においてさえ、一部のプロセス変数の相互作用（特定のステージに対応する）は、特定の機能タスク中に（その始まりにおいてではなく）到達され得るため、バッチレシピにおける別個のフェーズへプロセス動態の変化の直前の時間を単離することは可能ではないであろう。
【００１７】
上記の課題を克服するため、本明細書に開示される実施例は、バッチプロセスにおける現在のステージ（ならびにそのステージの対応する始まり及び／または終わり）をバッチイベント（これは、バッチレシピにおける手順、ユニット手順、操作、及び／またはフェーズの開始及び／または終了を画定する）から完全に独立して識別する。一部の実施例では、バッチプロセスにおける現在のステージは、バッチプロセスが実行されるにつれて収集されるプロセス制御データに基づいて計算されるバッチステージパラメータの値に基づいて判定される。より具体的には、バッチステージパラメータの値は、特定のステージが始まり、かつ／または終わる点でプロセス制御データを解釈し、プロセスパラメータの条件を識別するための、ユーザー指定の定義及び／または規則に基づいて定義される。つまり、レシピ要素の開始及び終了（すなわち、バッチイベント）に関連付けられたプロセス論理にステージを結び付けるのではなく、本明細書に開示される実施例では、現在のステージは、プロセス制御データが生成されるシステムにおいて監視されているプロセスパラメータの条件に基づいて判定される。したがって、プロセスパラメータの相互作用（すなわち、ステージ）は、プロセス制御データに基づいて（バッチステージパラメータの計算から）直接判定されるため、バッチプロセスにおける現在のステージは、バッチイベントを参照することなく判定され得る。さらに、あるステージが始まるか、または終わる具体的な時点は、バッチステージパラメータの値が変化するときに基づいて判定され得る。一部の実施例では、バッチステージパラメータの値（バッチプロセスにおける特定のステージを表示する）は、対応するバッチプロセスを実装するコントローラによって決定される。このような一部の実施例では、バッチステージパラメータの値は、他のプロセスパラメータの値と共に記憶されるために連続ヒストリアンデータベースに提供される。他の実施例では、バッチ実行エンジンは、コントローラによって報告されるプロセスパラメータの条件（例えば、値）に基づいてバッチステージパラメータの値を決定し得る。リアルタイムで実装されることに加えて、このような実装は、バッチの実行時にはバッチステージパラメータを計算及び記憶するようには構成されていなかった、以前実行されたバッチプロセスから収集されたプロセス制御データに事後的に適用され得る。
【００１８】
バッチプロセスにおける特定のステージの指定を識別またはトリガーするステージ定義及び／または規則は、プロセスエンジニア及び／または他のユーザーがプロセス制御データに基づいて指定する任意のものであってよい。一部の実施例では、複数の条件が特定のステージに適用され得る。例えば、タンク内の測定された液位に応じて変動するしきい値温度を超えてタンクが加熱されるとき、及び指定されたしきい値流量を超えて材料をタンク内に導入するように弁が開放されるとき、特定のステージが指定され得る。追加としてまたは代替として、一部の実施例では、ステージ定義及び／または規則は、オペレーターが入力を提供したときにかかわらず（例えば、特定のバッチレシピ要素の始まり及び終わりに関連付けられた連続するバッチイベント間の任意の点で）、特定のステージの始まりまたは終わりはバッチプロセスのランタイム中に受信されたオペレーター入力に基づいて指定される（例えば、バッチステージパラメータが変更される）と規定し得る。
【００１９】
このような方式によるステージの識別に基づいて、各ステージの精密な境界（始まり及び終わり）は、境界がバッチイベントに対応または整合しない場合でさえ、判定され得る。結果として、指定されたステージに対応するモデルは、正確な期間にわたって現在のバッチプロセスに適用され得、それによって多くの公知の方法よりも解析の精確性及び信頼性を改善する。さらに、一部の実施例では、バッチステージパラメータは、全ての他のプロセス制御データと共に連続ヒストリアンデータベース内で旧版化されるか、またはアーカイブされる。つまり、バッチステージパラメータの値（特定のステージの始まりまたは終わりに対応する）が変化する都度、値及び対応する時間が記憶される。このようにして、以前実行されたバッチプロセスにおける任意の特定のステージに対して妥当であるプロセス制御データは、対象となる特定のステージのアーカイブされた始まりと終わりとの間で容易に識別され得る。このようなデータは、後に実行されるバッチプロセスに伴って実装するための新たなモデルを生成する（または既存のモデルを洗練させる）ために有用であり、それによって解析をさらに改善する。
【００２０】
図２は、本明細書で開示される教示事項に従って実装され得る例示的なプロセス制御システム２００の概略図である。図２の例示的なプロセス制御システム２００には、１つまたは複数のプロセスコントローラ（そのうち１つが、参照数字２０２で指定されている）、１つまたは複数のオペレーターステーション（そのうち１つが、参照数字２０４で指定されている）、及び１つまたは複数のワークステーション（そのうち１つが、参照数字２０６で指定されている）が含まれる。例示的なプロセスコントローラ２０２、例示的なオペレーターステーション２０４、及び例示的なワークステーション２０６は、バス及び／またはローカルエリアネットワーク（ＬＡＮ）２０８を介して通信可能に連結されており、これは、一般にアプリケーション制御ネットワーク（ＡＣＮ）と呼ばれる。
【００２１】
図２の例示的なオペレーターステーション２０４は、オペレーターがプロセス制御システムのパラメータ、状態、条件、アラーム等を閲覧し、かつ／またはプロセス制御システムの設定（例えば、設定値、動作状態等）を変更することを可能にする１つまたは複数のオペレーター表示器画面及び／またはアプリケーションを、オペレーターが閲覧し、かつ／または操作することを可能にする。図２の例示的なオペレーターステーション２０４を実装する例示的な方式を、図３に関連して以下に説明する。
【００２２】
例示的なオペレーターステーション２０４は、プロセス制御システム２００内でバッチプロセスを実行する例示的なバッチ実行エンジン２０５を含み、かつ／または実装する。一部の実施例では、バッチ実行エンジン２０５は、バッチレシピの個別に構成された手順要素をそれらの配列順序で実装する。バッチプロセスの実行中、バッチ実行エンジン２０５は、現在のバッチプロセスに関連付けられたプロセスパラメータを実質的にリアルタイムで監視する。一部の実施例では、バッチ実行エンジン２０５がプロセスパラメータを監視している間、得られたプロセス制御データ（例えば、プロセスパラメータの値）は、適宜後に取り出すために連続ヒストリアンデータベース内に記憶される。また、一部の実施例では、バッチ実行エンジン２０５は、各レシピ要素（手順、ユニット手順、操作、またはフェーズ）の始まり及び終わりに対応するバッチイベントをバッチヒストリアンデータベース内に記憶する。一部の実施例では、バッチ実行エンジン２０５は、以前実行されたバッチのプロセス制御データを使用して、バッチプロセス内の異なる期間（例えば、異なるプロセスステージ）のモデルを生成し、このようなモデルを現在のバッチプロセス内の対応する期間において実質的にリアルタイムで現在のバッチプロセスに適用する。一部の実施例では、以前実行されたバッチ（モデル生成の場合）及び／または現在のバッチステージ（モデル適用の場合）における期間（例えば、ステージ）は、バッチプロセス内のプロセス制御データがバッチプロセス内の異なるステージを指定するユーザー指定の定義、規則、及び／または条件を満たすときに基づいて識別される。このような一部の実施例では、バッチプロセス内の特定の時点における特定のステージの判定または指定は、バッチヒストリアンデータベース内に記憶されたバッチイベントから独立して達成される。つまり、バッチ実行エンジン２０５は、特定のステージの境界（始まり及び／または終わり）を、２つの隣接または連続するバッチイベントの間のいずれかの時点で発生するとして識別し得る。より具体的には、一部の実施例では、バッチプロセスにおける特定の（例えば、現在の）ステージの指定は、ユーザー指定の定義及び／または規則に基づいて決定されたバッチステージパラメータの値に基づいている。一部の実施例では、バッチステージパラメータの値は、バッチ実行エンジン２０５によって決定される。追加としてまたは代替として、一部の実施例では、バッチステージパラメータの値は、コントローラ２０２によってバッチ実行エンジン２０５に提供され、ユーザー指定の定義及び／または規則がその値を決定するために適用される。
【００２３】
図２の例示的なワークステーション２０６は、１つまたは複数の情報技術アプリケーション、ユーザー対話型アプリケーション、及び／または通信アプリケーションを遂行するアプリケーションステーションとして構成され得る。例えば、アプリケーションステーション２０６は、プロセス制御関連アプリケーションを主として遂行するように構成され得る一方で、別のアプリケーションステーション（図示せず）は、プロセス制御システム２００が任意の所望の通信媒体（例えば、無線、直結等）及びプロトコル（例えば、ＨＴＴＰ、ＳＯＡＰ等）を使用して他のデバイスまたはシステムと通信することを可能にする通信アプリケーションを主として遂行するように構成され得る。図２の例示的なオペレーターステーション２０４及び例示的なワークステーション２０６は、１つまたは複数のワークステーション、ならびに／または任意の他の好適なコンピュータシステム及び／もしくは処理システムを使用して実装され得る。例えば、オペレーターステーション２０４及び／またはワークステーション２０６は、単一プロセッサのパーソナルコンピュータ、単一または複数プロセッサのワークステーション等を使用して実装され得る。
【００２４】
図２の例示的なＬＡＮ２０８は、任意の所望の通信媒体及びプロトコルを使用して実装され得る。例えば、例示的なＬＡＮ２０８は、直結及び／または無線のイーサネット通信方式に基づいていてもよい。しかしながら、任意の他の好適な通信媒体（複数可）及び／またはプロトコル（複数可）も、使用され得る。さらに、図２では単一のＬＡＮ２０８が図示されているが、図２の例示的なシステム間の冗長通信経路を提供するために２つ以上のＬＡＮ及び／または他の代替通信ハードウェアが使用され得る。
【００２５】
図２の例示的なコントローラ２０２は、デジタルデータバス２１６及び入力／出力（Ｉ／Ｏ）ゲートウェイ２１８を介して、複数のスマートフィールドデバイス２１０、２１２、及び２１４に連結される。スマートフィールドデバイス２１０、２１２、及び２１４は、フィールドバスに適合した弁、アクチュエータ、センサ等であってもよく、その場合、スマートフィールドデバイス２１０、２１２、及び２１４は、デジタルデータバス２１６を介してよく知られたＦｏｕｎｄａｔｉｏｎフィールドバスプロトコルを使用して通信する。当然ながら、他の種類のスマートフィールドデバイス及び通信プロトコルが代わりに使用され得る。例えば、スマートフィールドデバイス２１０、２１２、及び２１４は、代わりに、データバス２１６を通じてよく知られたＰｒｏｆｉｂｕｓ及びＨＡＲＴ通信プロトコルを使用して通信するＰｒｏｆｉｂｕｓ及び／またはＨＡＲＴに適合したデバイスであってもよい。追加的なＩ／Ｏデバイス（Ｉ／Ｏゲートウェイ２１８に似た、かつ／または同一の）は、Ｆｏｕｎｄａｔｉｏｎフィールドバスデバイス、ＨＡＲＴデバイス等であり得る追加的な群のスマートフィールドデバイスがコントローラ２０２と通信できるように、コントローラ２０２に連結され得る。
【００２６】
例示的なスマートフィールドデバイス２１０、２１２、及び２１４に加えて、１つまたは複数の非スマートフィールドデバイス２２０及び２２２が、例示的なコントローラ２０２に通信可能に連結され得る。図２の例示的な非スマートフィールドデバイス２２０及び２２２は、例えば、それぞれのハードウェアリンクを介してコントローラ２０２と通信する４〜２０ミリアンペア（ｍＡ）または０〜１０ボルトの従来型直流（ＶＤＣ）デバイスであってもよい。
【００２７】
図２の例示的なコントローラ２０２は、例えば、Ｅｍｅｒｓｏｎ  Ｐｒｏｃｅｓｓ  Ｍａｎａｇｅｍｅｎｔの企業であるＦｉｓｈｅｒ−Ｒｏｓｅｍｏｕｎｔ  Ｓｙｓｔｅｍｓ，Ｉｎｃ．によって販売されているＤｅｌｔａＶ（商標）コントローラであってもよい。しかしながら、任意の他のコントローラが代わりに使用され得る。さらに、図２にはただ１つのコントローラ２０２しか示されていないものの、任意の所望の種類及び／または種類の組み合わせの追加的なコントローラ及び／またはプロセス制御プラットホームがＬＡＮ２０８に連結され得る。いずれの場合にも、例示的なコントローラ２０２は、システムエンジニア及び／または他のシステムオペレーターによってオペレーターステーション２０４を使用して生成され、コントローラ２０２にダウンロードされ、かつ／またはそこでインスタンス生成された、プロセス制御システム２００に関連付けられた１つまたは複数のプロセス制御ルーチンを遂行する。
【００２８】
図２は、以下でより詳細に説明されるバッチ制御解析のためのステージを画定する方法及び装置が中で有利に用いられ得る例示的なプロセス制御システム２００を図示しているものの、当業者は、オペレーター及び／または他の要員に供給される情報を制御する本明細書に記載の方法及び装置が、所望の場合には、図２の図示されている実施例よりも複雑性の高い、または低い他のプロセスプラント及び／またはプロセス制御システム（例えば、２つ以上の地理的位置にわたって２つ以上のコントローラを有する等）で有利に用いられ得ることを容易に理解するであろう。
【００２９】
図３は、図２の例示的なバッチ実行エンジン２０５を実装する例示的な方法を図示している。図３の例示的なバッチ実行エンジン２０５には、例示的な通信インターフェース３０２、例示的なユーザーインターフェース３０４、例示的なバッチステージ分析器３０６、例示的なステージモデル生成器３０８、例示的なバッチモデル分析器３１０、例示的なバッチ実行コントローラ３１２、例示的なステージ定義データベース３１４、例示的なステージモデルデータベース３１６、及び例示的なバッチレシピデータベース３１８が含まれる。
【００３０】
図３の例示的なバッチ実行エンジン２０５には、例示的なプロセス制御システム２００内の他のコンポーネントと通信するための例示的な通信インターフェース３０２が設けられている。一部の実施例では、通信インターフェース３０２は、プロセス制御データ（プロセスパラメータの値を表示する）をフィールドデバイス２１０、２１２、２１４、２２０、２２２からコントローラ２０２を介して受信する。一部の実施例では、このようなプロセス制御データは、記憶するために連続ヒストリアンデータベース３２０に送られる。一部の実施例では、連続ヒストリアンデータベース３２０は、バッチ実行エンジン２０５によって実装される。他の実施例では（図示されている実施例に示されているように）、連続ヒストリアンデータベース３２０は、バッチ実行エンジン２０５とは別個に、かつ／またはオペレーターステーション２０４とは別個に実装される。一部の実施例では、プロセス制御データは、ローカル（例えば、オペレーターステーション２０４で）及び別個の場所（例えば、ワークステーション２０６）の両方で記憶される。
【００３１】
図３の例示的なバッチ実行エンジン２０５には、オペレーター、エンジニア、及び／または他の要員がバッチプロセスの実行を構成、分析、及び／または監視し、かつ／または設備を選択し、プロンプトに返答し、かつ／またはバッチプロセス内のアクティブなステップを変更することによってバッチプロセスを制御することを可能にする、例示的なユーザーインターフェース３０４が設けられている。例えば、ユーザーは、情報を提供して、プロセス制御システム２００において実行されるべきバッチレシピ内の手順要素を構成及び／または定義し得る。一部の実施例では、このような情報は、バッチレシピデータベース３１８内に記憶される。さらに、一部の実施例では、ユーザーは、バッチプロセスの実行の間、特定のプロセスステージに対応するプロセスパラメータの条件を定義する定義及び／または規則を概説する入力を、ユーザーインターフェース３０４を介して提供し得る。このような一部の実施例では、バッチステージ分析器３０６は、ユーザー指定の定義及び収集されたプロセス制御データを使用して、バッチステージパラメータの値を計算する。一部の実施例では、バッチステージパラメータの値は、現在実行しているバッチプロセスにおける現在のステージならびにそのステージの関連する境界（始まり及び終わり）を表示している。一部の実施例では、ユーザー指定の定義及び／または規則は、ステージ定義データベース３１４内に記憶される。一部の実施例では、各現在のステージ（例示的なバッチステージ分析器３０６によって判定されるような）及びそのステージの対応する境界の指定は、プロセス制御データと共に連続ヒストリアンデータベース３２０内に記憶される。
【００３２】
一部の実施例では、コントローラ（例えば、図２のコントローラ２０２）は、同様にユーザー指定の定義及び／または規則を分析し、バッチステージパラメータの現在値を判定するバッチステージ分析器を含む（バッチ実行エンジン２０５内に設けられるバッチステージ分析器３０６に加えて、またはその代わりに）。このような一部の実施例では、バッチステージ分析器３０６が値を決定することなく、コントローラが、バッチステージパラメータの値をバッチ実行エンジン２０５に提供し得る。さらに、このような一部の実施例では、コントローラによって提供されるバッチステージパラメータの値は、コントローラによって提供される他のプロセス制御データと共に、連続ヒストリアンデータベース３２０内に記憶され得る。
【００３３】
図３の例示的なバッチ実行エンジン２０５には、バッチプロセスのモデルを生成する例示的なステージモデル生成器３０８が設けられている。一部の実施例では、モデルは、以前実行されたバッチプロセスから収集されたプロセス制御データに基づいている。より具体的には、一部の実施例では、バッチプロセス内の各特定のステージについて、個別のモデルが生成される。したがって、このような一部の実施例では、モデルを生成するために使用されるプロセス制御データは、特定のモデル作成対象ステージの始まりと終わりとの間に収集されたプロセス制御データに基づいている。一部の実施例では、（適切なプロセス制御データを識別するために）以前実行されたバッチプロセスにおける特定のステージの始まり及び終わりが、例示的なバッチステージ分析器３０６によって判定される。具体的には、一部の実施例では、バッチステージ分析器３０６は、以前実行されたバッチプロセスのプロセス制御データを、特定のプロセスステージに対応するプロセスパラメータのユーザー指定の条件（例えば、ユーザー指定の定義及び／または規則）に関連して分析して、対象となる特定のステージの条件をプロセス制御データが満たすときを判定する。追加としてまたは代替として、一部の実施例では、以前実行されたバッチプロセスが実行されたときのバッチステージパラメータの値が、バッチステージ分析器３０６を使用して計算された場合、特定のステージの始まり及び終わりは、連続ヒストリアンデータベース３２０内に記憶されたバッチステージパラメータの値に基づいて識別される。同様に、バッチステージパラメータの値がコントローラ（例えば、図２のコントローラ２０２）によって以前計算されていた実施例では、それらの値は、バッチプロセスのステージ境界を直接識別するために、連続ヒストリアンデータベース３２０から取り出され得る。一部の実施例では、ステージモデル生成器３０８によって生成されるモデルは、ステージモデルデータベース３１６内に記憶される。
【００３４】
図３の例示的なバッチ実行エンジン２０５には、ステージモデル生成器３０８によって生成されたモデルを現在実行されているバッチプロセスに実質的にリアルタイムで適用する例示的なバッチモデル分析器３１０が設けられている。上記のように、一部の実施例では、バッチプロセス内の各ステージについて異なるモデルが生成される。このような実施例では、任意の特定の時点でバッチプロセスに適用される特定のモデルは、現在のステージに依存する。したがって、一部の実施例では、バッチモデル分析器３１０は、バッチステージ分析器３０６によって指定または識別された現在実行されているバッチプロセス内の現在のステージに対応するモデルを適用する。
【００３５】
図３の例示的なバッチ実行エンジン２０５には、バッチ実行エンジン２０５の様々な操作を制御する例示的なバッチ実行コントローラ３１２が設けられている。一部の実施例では、バッチ実行コントローラ３１２は、例示的なバッチ実行エンジン２０５の他の部分に命令またはコマンドを通信して、それらの部分の操作を制御する。例えば、バッチ実行コントローラ３１２は、バッチレシピデータベース３１８に記憶された手順レシピ要素を配列及び実行すること、ならびにステージモデルデータベース３１６内に記憶された適切なモデルを使用して現在のステージ（バッチステージ分析器３０６を介して）及び得られた解析（バッチモデル分析器３１０を介して）を識別することを指示する。
【００３６】
図２のバッチ実行エンジン２０５を実装する例示的な方式が図３に図示されているものの、図３に図示されている１つまたは複数の要素、プロセス、及び／またはデバイスは、任意の他の方法で組み合わせ、分割、再配置、省略、除去、及び／または実装され得る。さらに、図３の例示的な通信インターフェース３０２、例示的なユーザーインターフェース３０４、例示的なバッチステージ分析器３０６、例示的なステージモデル生成器３０８、例示的なバッチモデル分析器３１０、例示的なバッチ実行コントローラ３１２、例示的なステージ定義データベース３１４、例示的なステージモデルデータベース３１６、例示的なバッチレシピデータベース３１８、及び／または、より一般的に例示的なバッチ実行エンジン２０５は、ハードウェア、ソフトウェア、ファームウェア、ならびに／またはハードウェア、ソフトウェア、及び／もしくはファームウェアの任意の組み合わせによって実装され得る。したがって、例えば、例示的な通信インターフェース３０２、例示的なユーザーインターフェース３０４、例示的なバッチステージ分析器３０６、例示的なステージモデル生成器３０８、例示的なバッチモデル分析器３１０、例示的なバッチ実行コントローラ３１２、例示的なステージ定義データベース３１４、例示的なステージモデルデータベース３１６、例示的なバッチレシピデータベース３１８、及び／または、より一般的に例示的なバッチ実行エンジン２０５のうちのいずれも、１つまたは複数のアナログもしくはデジタル回路（複数可）、論理回路、プログラマブルプロセッサ（複数可）、特定用途向け集積回路（複数可）（ＡＳＩＣ（複数可））、プログラマブル論理デバイス（複数可）（ＰＬＤ（複数可））及び／またはフィールドプログラマブル論理デバイス（複数可）（ＦＰＬＤ（複数可））によって実装され得る。本特許の装置またはシステム請求項のうちのいずれかを、純粋にソフトウェア及び／またはファームウェアによる実装を包含すると読む場合、例示的な通信インターフェース３０２、例示的なユーザーインターフェース３０４、例示的なバッチステージ分析器３０６、例示的なステージモデル生成器３０８、例示的なバッチモデル分析器３１０、例示的なバッチ実行コントローラ３１２、例示的なステージ定義データベース３１４、例示的なステージモデルデータベース３１６、及び／または例示的なバッチレシピデータベース３１８のうち少なくとも１つは、ソフトウェア及び／またはファームウェアを記憶したメモリ、デジタル汎用ディスク（ＤＶＤ）、コンパクトディスク（ＣＤ）、Ｂｌｕ−ｒａｙディスク等の、コンピュータ読み取り可能な有形の記憶デバイスまたは記憶ディスクを含むと、ここに明示的に定義される。さらに、図２の例示的なバッチ実行エンジン２０５は、図３に図示されているものに加えて、もしくはそれらの代わりに、１つまたは複数の要素、プロセス、及び／またはデバイスを含み得、かつ／または図示されている要素、プロセス、及びデバイスの任意もしくは全部のうち２つ以上を含み得る。
【００３７】
図２及び／または３のバッチ実行エンジン２０５を実装する例示的な方法を表す流れ図を図４〜７に示す。これらの方法は、図８に関連して以下で検討される例示的なプロセッサプラットホーム８００に示されているプロセッサ８１２等のプロセッサによって実行されるためのプログラムを含む、機械読み取り可能な命令を使用して実装され得る。プログラムは、ＣＤ−ＲＯＭ、フロッピーディスク、ハードドライブ、デジタル汎用ディスク（ＤＶＤ）、Ｂｌｕ−ｒａｙディスク、またはプロセッサ８１２に関連付けられたメモリ等の、コンピュータ読み取り可能な有形記憶媒体上に記憶されたソフトウェア内で具現化されてもよいが、プログラムの全部及び／またはその一部は、代替的に、プロセッサ８１２以外のデバイスによって実行されてもよく、かつ／またはファームウェアもしくは専用ハードウェア内で具現化されてもよい。さらに、例示的なプログラムは図４〜７に図示されている流れ図を参照して説明されているものの、例示的なバッチ実行エンジン２０５を実装する多くの他の方法が代替として使用され得る。例えば、ブロックの実行順序は、変更されてもよく、かつ／または説明されているブロックのうちのいくつかは、変更、排除、もしくは組み合わせられてもよい。
【００３８】
上記のように、図４〜７の例示的な方法は、ハードディスク駆動装置、フラッシュメモリ、読み取り専用メモリ（ＲＯＭ）、コンパクトディスク（ＣＤ）、デジタル汎用ディスク（ＤＶＤ）、キャッシュ、ランダムアクセスメモリ（ＲＡＭ）、及び／または任意の持続期間の間（例えば、長期間、永続的、短時間、一時的バッファ保持用、及び／または情報のキャッシュ保持用）情報が内部に記憶される任意の他の記憶デバイスもしくは記憶ディスク等の、コンピュータ読み取り可能な有形記憶媒体上に記憶された符号化命令（例えば、コンピュータ及び／または機械読み取り可能な命令）を使用して実装されてもよい。本明細書で使用される場合、「コンピュータ読み取り可能な有形記憶媒体」という用語は、任意の種類のコンピュータ読み取り可能な記憶デバイス及び／または記憶ディスクを含み、伝播信号を除外し、伝送媒体を除外すると明示的に定義される。本明細書で使用される場合、「コンピュータ読み取り可能な有形記憶媒体」及び「機械読み取り可能な有形記憶媒体」は、互換的に使用される。追加としてまたは代替として、図４〜７の例示的な方法は、ハードディスク駆動装置、フラッシュメモリ、読み取り専用メモリ、コンパクトディスク、デジタル汎用ディスク、キャッシュ、ランダムアクセスメモリ、及び／または任意の持続期間の間（例えば、長期間、永続的、短時間、一時的バッファ保持用、及び／または情報のキャッシュ保持用）情報が内部に記憶される任意の他の記憶デバイスまたは記憶ディスク等の、コンピュータ及び／または機械読み取り可能な非一時的媒体上に記憶された符号化命令（例えば、コンピュータ及び／または機械読み取り可能な命令）を使用して実装されてもよい。本明細書で使用される場合、「コンピュータ読み取り可能な非一時的媒体」という用語は、任意の種類のコンピュータ読み取り可能な記憶デバイス及び／または記憶ディスクを含み、伝播信号を除外し、伝送媒体を除外すると明示的に定義される。本明細書で使用される場合、「少なくとも」という文言が請求項のプリアンブルで遷移用語として使用されるとき、それは、「含む（ｃｏｍｐｒｉｓｉｎｇ）」という用語が制約のない語であるのと同様に、制約のない語である。
【００３９】
図面に詳細に目を向けると、図４は、バッチプロセスから収集されたプロセス制御データに基づいて１セットのバッチプロセス内のプロセスステージの始まり及び終わりを識別して、各々のステージ用のモデルを生成する例示的な方法を表す流れ図である。図４の例示的な方法は、例示的なユーザーインターフェース３０４が（例えば、ユーザーから）バッチステージパラメータのステージ定義を受信するブロック４０２で始まる。一部の実施例では、ステージ定義は、バッチプロセス内のステージの境界を画定するバッチプロセスに関連付けられたプロセスパラメータに関する、ユーザー指定の定義、規則、及び／または条件に対応する。つまり、ステージ定義は、プロセスパラメータの相互作用がバッチプロセスの実行を通じて変化するときを識別し、異なるステージの始まり及び終わりを分画するように、ユーザーによって指定される。ブロック４０４で、例示的なバッチ実行コントローラ３１２は、バッチプロセスを実行する。
【００４０】
ブロック４０６で、例示的な通信インターフェース３０２は、プロセス制御データを収集する。ブロック４０８で、例示的なバッチ実行コントローラ３１２は、プロセス制御データを例示的な連続ヒストリアンデータベース３２０内に記憶する。例示的な方法は、プロセス制御データを記憶することがバッチ実行コントローラ３１２によって指示されることを示しているものの、一部の実施例では、このようなデータは、バッチ実行エンジン２０５から独立して連続ヒストリアンデータベース３２０内に記憶される。ブロック４１０で、例示的なバッチステージ分析器３０６は、プロセス制御データに基づいてバッチステージパラメータの値を計算する。一部の実施例では、このような計算は、実質的にリアルタイムで行われる。一部の実施例では、計算は、プロセス制御データを入力として使用して、ブロック４０２で受信されたステージ定義を分析する。ブロック４１２で、バッチステージ分析器３０６は、バッチステージパラメータの値に基づいてバッチプロセスの現在のステージを指定する。つまり、一部の実施例では、プロセス制御データは、バッチプロセス内の特定のステージを画定する特定の１セットのユーザー指定の定義及び／または規則を満たすか、またはそれに対応するであろう。
【００４１】
ブロック４１４で、例示的なバッチステージ分析器３０６は、新たなステージが始まったか否か判定する。一部の実施例では、新たなステージは、バッチステージパラメータが変化する値として初めて検出されたときに、識別される。バッチステージパラメータの値が異なることは、プロセスパラメータに関連付けられたプロセス制御データが、異なるユーザー指定の定義及び／または規則に基づいて指定された異なるステージに対応する異なる条件を満たすことの表れである。新たなステージが始まったと例示的なバッチステージ分析器３０６が判断すると（ブロック４１４）、制御は、ブロック４１６に進み、例示的なバッチ実行コントローラ３１２は、現在のステージ（すなわち、ブロック４１２で指定されたステージ）の始まりを連続ヒストリアンデータベース３２０内に記憶する。新たなステージは始まっていないと例示的なバッチステージ分析器３０６が判断すると（ブロック４１４）、制御は、ブロック４１８に進む。
【００４２】
ブロック４１８で、例示的なバッチステージ分析器３０６は、前ステージが終了したか否か判定する。一部の実施例では、ステージの終わりは、バッチステージパラメータの値が特定のステージに対応し、その後異なる値に変化するときに、識別される。一部の実施例では、前ステージの終わりは、次ステージの始まりに対応するため、ブロック４１４における判定は、前ステージの終了を識別するために十分であり得る。しかしながら、一部の実施例では、ユーザー指定の定義及び／または規則は、バッチプロセス内の連続する分析対象ステージ間の時間の空隙または間隔を定義してもよい。したがって、示されているような一部の実施例では、ステージの始まり（ブロック４１４）及びステージの終わり（ブロック４１８）は、別個に判定される。前ステージが終了したと例示的なバッチステージ分析器３０６が判断すると（ブロック４１８）、制御は、ブロック４２０に進み、例示的なバッチ実行コントローラ３１２は、前ステージ（すなわち、現在のステージの指定前にブロック４１２で指定されたステージ）の終了を連続ヒストリアンデータベース３２０内に記憶する。前ステージは終了していないと例示的なバッチステージ分析器３０６が判断すると（ブロック４１８）、制御は、ブロック４２２に進む。
【００４３】
ブロック４２２で、例示的なバッチ実行コントローラ３１２は、バッチプロセスが完了しているか否か判定する。完了していない場合、制御は、ブロック４０６に戻り、プロセスの監視を継続する。さもなければ、制御は、ブロック４２４に進み、例示的なステージモデル生成器３０８は、モデルを生成するために十分なバッチが存在するか否か判定する。モデルは、単一のバッチプロセスに基づいて生成され得るものの、典型的に、複数のバッチプロセスからのプロセス制御データは、モデルを生成する前に収集されるため、モデルは、より頑健であり得る。モデル生成に使用されるバッチプロセスの具体的な数は、任意の好適な所望の数であってよい。モデルを生成するために十分なバッチが存在しないと例示的なステージモデル生成器３０８が判断すると（ブロック４２４）、制御は、ブロック４０４に戻り、別のバッチプロセスを実行する。モデルを生成するために十分なバッチが存在すると例示的なステージモデル生成器３０８が判断すると（ブロック４２４）、制御は、ブロック４２６に進む。
【００４４】
ブロック４２６で、例示的なステージモデル生成器３０８は、ステージの対応する始まり及び終わりの間に連続ヒストリアンデータベース３２０内に記憶された各バッチプロセスからのプロセス制御データに基づいてモデルを生成する。つまり、一部の実施例では、各バッチプロセスからの適切なプロセス制御データは、ブロック４１６及び４２０で記憶されたステージの始まり及び終わりに基づいて、各バッチプロセス内の妥当なステージの境界を識別することによって、識別される。ブロック４２８で、例示的なバッチ実行コントローラ３１２は、対応するステージのための生成されたモデルを（例えば、ステージモデルデータベース３１６内に）記憶する。ブロック４３０で、例示的なバッチ実行コントローラ３１２は、別のモデル作成対象ステージが存在するか否か判定する。別のモデル作成対象ステージが存在するのであれば、制御は、ブロック４２６に戻る。さもなければ、図４の例示的な方法は終了する。特に、バッチ実行エンジン２０５は、バッチイベントを監視し、それをバッチヒストリアンデータベース内に記憶し得るものの、このような情報は、ステージ境界を識別する図４の例示的な方法では依拠されない。むしろ、ステージ境界は、ブロック４０２でユーザーによって指定された特定のステージ定義を満たすプロセス制御データに基づいて識別される。
【００４５】
上記のように、一部の実施例では、バッチステージパラメータの値の決定及び特定のバッチプロセス内の各ステージの対応する指定は、制御のレベルで達成され得る（例えば、ユーザー指定の定義及び／または規則をプロセスパラメータに適用するコントローラによって）。このような一部の実施例では、バッチプロセス内の各ステージの始まり及び終わりの識別、ならびに連続ヒストリアンデータベース３２０内での記憶は、バッチ実行エンジン２０５から独立して取り扱われ得る。つまり、一部の実施例では、ブロック４０８、４１０、４１２、４１４、４１６、４１８、及び４２０は、モデルを生成するために十分なバッチが存在するようになるまで（ブロック４２４）バッチ実行エンジン２０５が各バッチプロセスの実行を単に監督するように、コントローラによって実装される。このような実施例では、ブロック４２６、４３８、及び４３０は、上記と同じ方式で実装される。
【００４６】
図５は、図４に関連して上記したようにバッチステージパラメータを旧版化せず、１セットの以前実行されたバッチプロセス内のプロセスステージの始まり及び終わりを識別する例示的な方法を表す流れ図である。つまり、一部の実施例では、プロセス制御システムは、本明細書に開示される教示事項を実装する前に、各バッチプロセス内のステージの始まり及び終わりを識別及び記憶する（例えば、連続ヒストリアンデータベース３２０内に）いくつかのバッチプロセスをすでに実装していることがある。図５の例示的な方法は、中でモデルが生成されるべき各ステージについて、以前実行された各バッチプロセスから収集されたプロセス制御データが分析され、妥当な部分が抽出されることを可能にする。具体的には、図５の例示的な方法は、モデル作成対象ステージのステージ定義を例示的なユーザーインターフェース３０４が受信するブロック５０２で始まる。一部の実施例では、ステージ定義は、図４のブロック４０２に関連して上記したバッチステージパラメータについて提供されたステージ定義に対応する。
【００４７】
ブロック５０４で、例示的なバッチ実行コントローラ３１２は、以前実行されたバッチプロセスの連続ヒストリアンデータベース３２０からプロセス制御データを取り出す。ブロック５０６で、例示的なバッチステージ分析器３０６は、プロセス制御データがモデル作成対象ステージのステージ定義を初めて満たしたときに基づいて、ステージの始まりを識別する。ブロック５０８で、例示的なバッチステージ分析器３０６は、プロセス制御データがモデル作成対象ステージのステージ定義をもはや満たさなくなったときに基づいて、ステージの終わりを識別する。ブロック５１０で、例示的なステージモデル生成器３０８は、ステージの始まりと終わりの間のプロセス制御データを分析用に抽出する。
【００４８】
ブロック５１２で、例示的なステージモデル生成器３０８は、モデルを生成するために十分なバッチが存在するか否か判定する。十分なバッチが存在するのでなければ、制御は、ブロック５０４に戻り、以前実行された別のバッチプロセスからプロセス制御データを取り出す。モデルを生成するために十分なバッチが存在すると例示的なステージモデル生成器３０８が判断すると（ブロック５１２）、制御は、ブロック５１４に進み、例示的なステージモデル生成器３０８は、抽出されたプロセス制御データに基づいてモデルを生成する。ブロック５１６で、例示的なバッチ実行コントローラ３１２は、対応するステージのための生成されたモデルを（例えば、ステージモデルデータベース３１６内に）記憶する。ブロック５１８で、例示的なバッチ実行コントローラ３１２は、別のモデル作成対象ステージが存在するか否か判定する。別のモデル作成対象ステージが存在するのであれば、制御は、ブロック５０２に戻る。さもなければ、図５の例示的な方法は、終了する。特に、以前実行されたバッチプロセスに関連付けられたバッチイベントが収集され、バッチヒストリアンデータベース内に記憶されたことがあり得るものの、このような情報は、ステージ境界を識別する図５の例示的な方法では依拠されない。むしろ、ステージ境界は、ブロック５０２でユーザーによって指定された特定のステージ定義を満たすプロセス制御データに基づいて識別される。
【００４９】
図６は、現在実行されているバッチプロセスに対して、そのバッチプロセスのステージに整合するモデルを適用する例示的な方法を表す流れ図である。この例示的な方法は、ブロック６０２で始まり、例示的なユーザーインターフェース３０４は、（例えば、ユーザーから）バッチステージパラメータのステージ定義を受信する。ブロック６０４で、例示的なバッチ実行コントローラ３１２は、バッチプロセスを実行する。ブロック６０６で、例示的な通信インターフェース３０２は、プロセス制御データを収集する。ブロック６０８で、例示的なバッチ実行コントローラ３１２は、プロセス制御情報を例示的な連続ヒストリアンデータベース３２０内に記憶する。ブロック６１０で、例示的なバッチステージ分析器３０６は、プロセス制御データに基づいてバッチステージパラメータの値を計算する。ブロック６１２で、例示的なバッチステージ分析器３０６は、バッチステージパラメータの値に基づいてバッチプロセスの現在のステージを識別する。ブロック６１４で、例示的なバッチ実行コントローラ３１２は、バッチステージパラメータを連続ヒストリアンデータベース３２０内に記憶する。一部の実施例では、バッチステージパラメータは、図４のブロック４１４〜４２０に関連して上記したように、ステージの識別された始まり及び終わりに記憶される。
【００５０】
ブロック６１６で、例示的なバッチモデル分析器３１０は、現在のステージに関連付けられたモデルがあるか否か判定する。現在のステージに関連付けられたモデルがなければ、制御は、ブロック６０６に戻る。現在のステージに関連付けられたモデルはないと例示的なバッチモデル分析器３１０が判断すると、制御は、ブロック６１８に進み、例示的なバッチモデル分析器３１０は、現在の状態に対応するモデルをバッチプロセスに適用する。ブロック６２０で、例示的なバッチ実行コントローラ３１２は、バッチプロセスが完了しているか否か判定する。バッチプロセスが完了していなければ、制御は、ブロック６０６に戻る。さもなければ、制御は、ブロック６２２に進み、例示的なバッチ実行コントローラ３１２が、ステージモデルを更新すべきか否か判定する。ステージモデルを更新すべきでなければ、図６の例示的な方法は、終了する。例示的なバッチ実行コントローラ３１２がステージモデルを更新することを決定すると、制御は、ブロック６２４に進み、例示的なステージモデル生成器３０８が、プロセス制御データに基づいてモデルを洗練させる。モデルを洗練させた後、図６の例示的な方法は、終了する。特に、バッチ実行エンジン２０５は、バッチイベントを監視し、それをバッチヒストリアンデータベース内に記憶し得るものの、このような情報は、ステージ境界を識別する図６の例示的な方法では依拠されない。むしろ、ステージ境界は、ブロック６０２でユーザーによって指定された特定のステージ定義を満たすプロセス制御データに基づいて識別される。
【００５１】
図７は、現在実行されているバッチプロセスに対して、そのバッチプロセスのステージに整合するモデルを適用する別の例示的な方法を表す流れ図である。図６の例示的な方法は、バッチ実行エンジン２０５がバッチステージパラメータの値を決定することによって現在のステージを決定する場合に対応する一方で、図７の例示的な方法は、バッチステージパラメータの値がバッチ実行エンジン２０５に（例えば、コントローラから）提供される場合に対応する。この例示的な方法は、ブロック７０２で始まり、例示的なバッチ実行コントローラ３１２が、バッチプロセスを実行する。ブロック７０４で、例示的な通信インターフェース３０２は、プロセス制御データを収集する。ブロック７０６で、例示的な通信インターフェース３０２は、コントローラによって決定されたバッチステージパラメータの値を受信する。ブロック７０８で、例示的なバッチステージ分析器３０６は、バッチステージパラメータの値に基づいてバッチプロセスの現在のステージを識別する。ブロック７１０で、例示的なバッチモデル分析器３１０は、現在のステージには関連付けられたモデルがあるか否か判定する。現在のステージには関連付けられたモデルがなければ、制御は、ブロック７０４に戻る。現在のステージに関連付けられたモデルがないと例示的なバッチモデル分析器３１０が判断すると、制御は、ブロック７１２に進み、例示的なバッチモデル分析器３１０は、現在の状態に対応するモデルをバッチプロセスに適用する。ブロック７１４で、例示的なバッチ実行コントローラ３１２は、バッチプロセスが完了しているか否か判定する。バッチプロセスが完了していなければ、制御は、ブロック７０４に戻る。さもなければ、制御は、ブロック７１６に進み、例示的なバッチ実行コントローラ３１２が、ステージモデルを更新すべきか否か判定する。ステージモデルを更新すべきでなければ、図７の例示的な方法は、終了する。例示的なバッチ実行コントローラ３１２がステージモデルを更新することを決定すると、制御は、ブロック７１８に進み、例示的なステージモデル生成器３０８が、プロセス制御データに基づいてモデルを洗練させる。モデルを洗練させた後、図７の例示的な方法は、終了する。
【００５２】
図８は、図４〜７の方法を実装する命令を実行することができる例示的なプロセッサプラットホーム８００ならびに図２及び／または３の例示的なバッチ実行エンジン２０５のブロック図である。  プロセッサプラットホーム８００は、例えば、サーバ、パーソナルコンピュータ、携帯機器（例えば、携帯電話、スマートフォン、ｉＰａｄ（商標）等のタブレット）、携帯情報端末（ＰＤＡ）、インターネット家電、または任意の他の種類の計算装置であってもよい。
【００５３】
図示されている実施例のプロセッサプラットホーム８００には、プロセッサ８１２が含まれる。図示されている実施例のプロセッサ８１２は、ハードウェアである。例えば、プロセッサ８１２は、任意の所望のファミリまたは製造業者からの１つまたは複数の集積回路、論理回路、マイクロプロセッサ、またはコントローラによって実装されてもよい。
【００５４】
図示されている実施例のプロセッサ８１２には、ローカルメモリ８１３（例えば、キャッシュ）が含まれる。図示されている実施例では、プロセッサ８１２は、例示的な通信インターフェース３０２、例示的なユーザーインターフェース３０４、例示的なバッチステージ分析器３０６、例示的なステージモデル生成器３０８、例示的なバッチモデル分析器３１０、及び／または例示的なバッチ実行コントローラ３１２を実装する。図示されている実施例のプロセッサ８１２は、揮発性メモリ８１４及び不揮発性メモリ８１６を含む主メモリとバス８１８を介して連通している。揮発性メモリ８１４は、シンクロナス動的ランダムアクセスメモリ（ＳＤＲＡＭ）、動的ランダムアクセスメモリ（ＤＲＡＭ）、ＲＡＭＢＵＳ動的ランダムアクセスメモリ（ＲＤＲＡＭ）、及び／または任意の他の種類のランダムアクセスメモリデバイスによって実装されてもよい。不揮発性メモリ８１６は、フラッシュメモリ及び／または任意の他の所望の種類のメモリデバイスによって実装されてもよい。主メモリ８１４、８１６へのアクセスは、メモリコントローラによって制御される。
【００５５】
図示されている実施例のプロセッサプラットホーム８００には、インターフェース回路８２０も含まれる。インターフェース回路８２０は、イーサネットインターフェース、ユニバーサルシリアルバス（ＵＳＢ）、及び／またはＰＣＩエクスプレスインターフェース等の、任意の種類のインターフェース規格によって実装されてもよい。
【００５６】
図示されている実施例では、１つまたは複数の入力デバイス８２２が、インターフェース回路８２０に接続される。入力デバイス（複数可）８２２は、ユーザがデータ及びコマンドをプロセッサ８１２内に入力することを可能にする。入力デバイス（複数可）は、例えば、オーディオセンサ、マイクロホン、カメラ（静止画もしくは動画）、キーボード、ボタン、マウス、タッチスクリーン、トラックパッド、トラックボール、ｉｓｏｐｏｉｎｔ及び／または音声認識システムによって実装されてもよい。
【００５７】
１つまたは複数の出力デバイス８２４も、図示されている実施例のインターフェース回路８２０に接続される。出力デバイス８２４は、例えば、表示器デバイス（例えば、発光ダイオード（ＬＥＤ）、有機発光ダイオード（ＯＬＥＤ）、液晶表示器、陰極線管表示器（ＣＲＴ）、タッチスクリーン、触覚出力デバイス、発光ダイオード（ＬＥＤ）、印刷機、及び／またはスピーカ）によって実装されてもよい。したがって、図示されている実施例のインターフェース回路８２０には、典型的にグラフィックスドライバカード、グラフィックスドライバチップ、またはグラフィックスドライバプロセッサが含まれる。
【００５８】
図示されている実施例のインターフェース回路８２０には、送信器、受信器、トランシーバ、モデム、及び／またはネットワークインターフェースカード等の、ネットワーク８２６（例えば、イーサネット接続、デジタル加入者線（ＤＳＬ）、電話線、同軸ケーブル、携帯電話システム等）を介して外部機械（例えば、任意の種類の計算装置）とのデータの交換を促進する通信デバイスも含まれる。
【００５９】
図示されている実施例のプロセッサプラットホーム８００には、ソフトウェア及び／またはデータを記憶するための１つまたは複数の大容量記憶デバイス８２８も含まれる。例えば、大容量記憶デバイス８２８は、図３の例示的な連続ヒストリアンデータベース３２０、例示的なステージ定義データベース３１４、例示的なステージモデルデータベース３１６、及び／または例示的なバッチレシピデータベース３１８を含み得る。このような大容量記憶デバイス８２８の例としては、フロッピーディスク駆動装置、ハードドライブディスク、コンパクトディスク駆動装置、Ｂｌｕ−ｒａｙディスク駆動装置、ＲＡＩＤシステム、及びデジタル汎用ディスク（ＤＶＤ）駆動装置が挙げられる。
【００６０】
図４〜７の方法を実装する符号化命令８３２は、大容量記憶デバイス８２８内に、揮発性メモリ８１４内に、不揮発性メモリ８１６内に、及び／またはＣＤもしくはＤＶＤ等の着脱可能なコンピュータ読み取り可能な有形記憶媒体上に、記憶されてもよい。
【００６１】
以上により、上で開示された方法、装置、及び製造物品は、バッチプロセスを通じて、ステージをバッチイベントに結び付ける公知のアプローチよりも、特定のプロセス動態またはプロセスパラメータの相互作用に対応するプロセスステージを、より正確に識別することを可能にすることが理解されるであろう。結果として、本明細書に記載の教示事項は、特定のステージの始まりと終わりとの間に発生するプロセス制御データが具体的に分離され得るため、バッチプロセスに適用するモデルを生成するための妥当なプロセス制御データのより精確な識別を可能にする。また、現在実行されているバッチプロセス内のあるステージの精密な始まり及び終わりをより精密に識別して、モデルを適用する適当な時間を判定できる。このようにして、バッチ制御解析は、現在のバッチプロセスについて、他の公知の方法よりも精確かつ信頼性あるフィードバック及び分析を提供し得る。
【００６２】
本明細書では特定の例示的な方法、装置、及び製造物品が開示されたものの、本特許の包含範囲は、それらには限定されない。それどころか、本特許は、本特許の特許請求の範囲内に公正に属する全ての方法、装置、及び製造物品を包含する。 
【図１】
2022002126.tif 000003
【図２】
2022002126.tif 000004
【図３】
2022002126.tif 000005
【図４】
2022002126.tif 000006
【図５】
2022002126.tif 000007
【図６】
2022002126.tif 000008
【図７】
2022002126.tif 000009
【図８】
2022002126.tif 000010
【手続補正書】
【提出日】令和3年10月13日(2021.10.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
多変量バッチ制御解析のためのステージを画定する方法であって、
プロセッサによってバッチステージパラメータの現在値に基づいて現在のバッチプロセスにおける現在のステージを判定することであって、前記バッチステージパラメータの前記現在値は、前記現在のバッチプロセスにおけるプロセスパラメータに関連付けられたプロセス制御データに基づいて判定され、前記現在のステージはバッチイベントから独立して判定される、判定することと、
前記プロセッサによって前記現在のステージ中の第１のモデルに対するプロセス制御データを解析することであって、前記第１のモデルは、前記現在のステージに対応する、解析することと、
前記バッチステージパラメータが前記現在値以外の異なる値に対応する場合に、前記プロセッサによって異なるモデルに対するプロセス制御データを解析することであって、前記異なるモデルは、前記現在のステージ以外の前記現在のバッチプロセスの異なるステージに対応する、解析することと、
前記プロセッサによって前記第１および前記異なるモデルのそれぞれに対する前記プロセス制御データの解析に基づいて、前記現在および前記異なるステージのそれぞれの最中に前記現在のバッチプロセスの実行を制御することと、
を含む、方法。
【請求項２】
前記バッチステージパラメータの前記現在値は、前記バッチイベントを参照することなく、前記プロセスパラメータの条件に関連付けられたユーザー指定の定義に基づいて定義される、請求項１に記載の方法。
【請求項３】
前記現在のステージは、前記現在のバッチプロセスのランタイム中に前記バッチイベントのなかの連続するイベントの間に受信されたオペレーター入力によって画定され、前記オペレーター入力は、前記バッチステージパラメータの前記現在値を定義するためのユーザー指定の規則を満たす、請求項１又は請求項２に記載の方法。
【請求項４】
前記現在のステージは、前記プロセスパラメータの特定の相互作用に関連付けられた前記現在のバッチプロセスの一部分に対応する、請求項１〜請求項３の何れか１項に記載の方法。
【請求項５】
以前実行された複数のバッチプロセスの各々における対応するステージに基づいて、前記現在のバッチプロセスの前記現在のステージのための前記第１のモデルを生成することをさらに含む、請求項１〜請求項４の何れか１項に記載の方法。
【請求項６】
前記第１のモデルは、
連続ヒストリアンデータベース内に記憶された前記以前実行されたバッチプロセスに関連付けられた前記プロセス制御データを取り出すことと、
以前実行された各バッチプロセスに関連付けられた前記プロセス制御データが前記バッチステージパラメータの前記現在値を定義するユーザー指定の定義を初めて満たすときに基づいて、以前実行された各バッチプロセスにおける前記対応するステージの開始を検出することと、
以前実行された各バッチプロセスに関連付けられた前記プロセス制御データがもはや前記ユーザー指定の定義を満たさなくなるときに基づいて、以前実行された各バッチプロセスにおける前記対応するステージの終了を検出することと、
前記以前実行されたバッチプロセスの各々における前記対応するステージの前記開始と前記終了との間で、前記以前実行されたバッチプロセスに関連付けられた前記プロセス制御データを分析することと、によって生成される、請求項５に記載の方法。
【請求項７】
前記現在のステージの前記開始と前記終了との間に前記連続ヒストリアンデータベース内に記憶された前記プロセス制御データに基づいて、後続のバッチプロセスのために前記モデルを洗練させることをさらに含む、請求項６に記載の方法。
【請求項８】
前記バッチステージパラメータが前記現在値以外の異なる値に対応するとき、異なるモデルを適用して前記現在のバッチプロセスを分析することをさらに含み、前記第１のモデルは、前記現在のステージ以外の前記バッチプロセスの異なるステージに対応し、前記現在のステージと前記異なるステージとの境界は、前記バッチイベントに対応しない、請求項１〜請求項７の何れか１項に記載の方法。
【請求項９】
多変量バッチ制御解析のためのステージを画定する装置であって、
プロセッサを介して実装され、バッチステージパラメータの現在値に基づいて現在のバッチプロセスにおける現在のステージを判定するバッチステージ分析器であって、前記バッチステージパラメータの前記現在値は、前記現在のバッチプロセスにおけるプロセスパラメータに関連付けられたプロセス制御データに基づいて判定され、前記現在のステージは、バッチイベントから独立して判定される、バッチステージ分析器と、
前記プロセッサを介して実装され、前記現在のステージ中の第１のモデルに対するプロセス制御データを解析し、前記バッチステージパラメータが前記現在値以外の異なる値に対応する場合に異なるモデルに対するプロセス制御データを解析し、前記第１および前記異なるモデルのそれぞれに対する前記プロセス制御データの解析に基づいて、前記現在および前記異なるステージのそれぞれの最中に前記現在のバッチプロセスの実行を制御するバッチモデル分析器であって、前記第１のモデルは、前記現在のステージに対応し、前記異なるモデルは、前記現在のステージ以外の前記現在のバッチプロセスの異なるステージに対応する、バッチモデル分析器と、
を備えた装置。
【請求項１０】
前記バッチステージパラメータの前記現在値は、前記バッチイベントを参照することなく、前記プロセスパラメータの条件に関連付けられたユーザー指定の定義に基づいて定義される、請求項９に記載の装置。
【請求項１１】
前記バッチステージパラメータの前記現在値は、前記バッチプロセスを実行するコントローラによって判定され、前記コントローラは、前記ユーザー指定の定義を前記プロセスパラメータの現在値と比較する、請求項１０に記載の装置。
【請求項１２】
前記バッチステージパラメータの前記現在値は、前記バッチステージ分析器によって判定される、請求項９〜請求項１１の何れか１項に記載の装置。
【請求項１３】
以前実行された複数のバッチプロセスの各々における対応するステージに基づいて、前記現在のバッチプロセスの前記現在のステージのための前記第１のモデルを生成するモデル生成器をさらに含む、請求項９〜請求項１２の何れか１項に記載の装置。
【請求項１４】
前記モデル生成器は、
連続ヒストリアンデータベース内に記憶された前記以前実行されたバッチプロセスに関連付けられた前記プロセス制御データを取り出し、
以前実行された各バッチプロセスに関連付けられた前記プロセス制御データが前記バッチステージパラメータの前記現在値を定義するユーザー指定の定義を初めて満たすときに基づいて、以前実行された各バッチプロセスにおける前記対応するステージの開始を検出し、
以前実行された各バッチプロセスに関連付けられた前記プロセス制御データがもはや前記ユーザー指定の定義を満たさなくなるときに基づいて、以前実行された各バッチプロセスにおける前記対応するステージの終了を検出し、かつ
前記以前実行されたバッチプロセスの各々における前記対応するステージの前記開始と前記終了との間で、前記以前実行されたバッチプロセスに関連付けられた前記プロセス制御データを分析する、請求項１３に記載の装置。
【請求項１５】
前記バッチステージ分析器は、
前記バッチステージパラメータが前記現在値に初めて対応するときに基づいて、前記現在のステージの開始を判定し、
前記バッチステージパラメータが前記現在値にもはや対応しなくなるときに基づいて、前記現在のステージの終了を判定し、かつ
前記現在のステージの前記開始及び前記終了を、前記プロセス制御データと共に、連続ヒストリアンデータベース内に記憶する、請求項９〜請求項１４の何れか１項に記載の装置。
【請求項１６】
命令を備える製造物品であって、前記命令は、プロセッサにより実行されるとき、機械をもって、少なくとも
バッチステージパラメータの現在値に基づいて現在のバッチプロセスにおける現在のステージを判定することであって、前記バッチステージパラメータの前記現在値は、前記現在のバッチプロセスにおけるプロセスパラメータに関連付けられたプロセス制御データに基づいて判定され、前記現在のステージは、バッチイベントから独立して判定される、判定することと、
前記現在のステージ中の第１のモデルに対するプロセス制御データを解析することであって、前記第１のモデルは、前記現在のステージに対応する、解析することと、
前記バッチステージパラメータが前記現在値以外の異なる値に対応する場合に、異なるモデルに対するプロセス制御データを解析することであって、前記異なるモデルは、前記現在のステージ以外の前記現在のバッチプロセスの異なるステージに対応する、解析することと、
前記第１および前記異なるモデルのそれぞれに対する前記プロセス制御データの解析に基づいて、前記現在および前記異なるステージのそれぞれの最中に前記現在のバッチプロセスの実行を制御することと、
を行わせる、製造物品。
【請求項１７】
前記命令のさらなる実行は、前記機械をもって、以前実行された複数のバッチプロセスの各々における対応するステージに基づいて、前記現在のバッチプロセスの前記現在のステージのための前記第１のモデルを生成することをさらに行わせる、請求項１６に記載の製造物品。
【請求項１８】
前記第１のモデルは、
連続ヒストリアンデータベース内に記憶された前記以前実行されたバッチプロセスに関連付けられた前記プロセス制御データを取り出すことと、
以前実行された各バッチプロセスに関連付けられた前記プロセス制御データが前記バッチステージパラメータの前記現在値を定義するユーザー指定の定義を初めて満たすときに基づいて、以前実行された各バッチプロセスにおける前記対応するステージの開始を検出することと、
以前実行された各バッチプロセスに関連付けられた前記プロセス制御データがもはや前記ユーザー指定の定義を満たさなくなるときに基づいて、以前実行された各バッチプロセスにおける前記対応するステージの終了を検出することと、
前記以前実行されたバッチプロセスの各々における前記対応するステージの前記開始と前記終了との間で、前記以前実行されたバッチプロセスに関連付けられた前記プロセス制御データを分析することと、によって生成される、請求項１７に記載の製造物品。
【請求項１９】
前記命令のさらなる実行は、前記機械をもって、
前記バッチステージパラメータが前記現在値に初めて対応するときに基づいて、前記現在のステージの開始を判定し、
前記バッチステージパラメータが前記現在値にもはや対応しなくなるときに基づいて、前記現在のステージの終了を判定し、かつ
前記現在のステージの前記開始と前記終了との間に連続ヒストリアンデータベース内に記憶された前記プロセス制御データに基づいて、後続のバッチプロセスのために前記第１のモデルを洗練させることをさらに行わせる、請求項１６〜請求項１８の何れか１項に記載の製造物品。