説明

リアルタイムバッチラン環境下におけるオンライン式レシピ同期化

【課題】製造環境において、複数の動作および複数のパラメーターを指定する製品レシピによってバッチ処理を実行する際に、レシピの変更に迅速に対応する。
【解決手段】製品レシピの第1バージョンに対応しているバッチ処理の少なくとも1つの動作を行なうステップ388と、上記製品レシピの第1バージョンとは異なる上記製品レシピの第2バージョンを受け取るステップ394と、上記バッチ処理の実行をそのバッチ処理が完了する前に一時停止するステップ396と、および上記製品レシピの第2バージョンによって上記バッチ処理の実行を再開するステップ398を実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般にプロセス制御ネットワークに関するものであり、さらに詳しくは、現在実行中のバッチの変更を受け入れることのできるバッチランエンジンに関するものである。
【背景技術】
【0002】
本出願は、2007年9月21日に提出された「リアルタイムバッチラン環境下におけるオンライン式レシピ同期化」と題された米国仮出願第60/974,368号の利益を主張するものであり、その出願の開示は参照によって本明細書の中にここで明確に組み入れられる。
【0003】
大量の医薬、化学物質、飲料、塗料、または他のあらゆる生成物を生成するためにバッチ処理技術を使用するようなプロセス制御システムには一般に、例えば、バルブポジショナー、スイッチ、センサー(温度センサー、圧力センサーおよび流量センサー)などのような1つ以上のフィールド装置へ通信可能に連結された1つ以上の中央プロセス制御装置が含まれている。これらのフィールド装置は、例えば、バルブ、ポンプ、混合ユニットなどのような制御設備に関連付けられていてもよく、プロセス制御システムの内部で物理的制御機能(バルブの開放または閉鎖、ポンプまたは混合ユニットのオン・オフなど)を果たしてもよく、プロセスの動作を制御する際に使用するためにこのプロセス制御システムの内部で測定を行ってもよく、または、このプロセス制御システムの内部で他のあらゆる所望される機能を果たしてもよい。一般的に言えば、このプロセス制御装置は、1つ以上のフィールド装置によって得られた測定値を示す信号および/またはそのフィールド装置に関する他の情報を受け、この情報を典型的に複雑な制御ルーチンを実施するために使用し、かつ、信号回線または信号バスを通してこれらのフィールド装置へ送られた制御信号を生成して、このプロセス制御システムの動作を制御する。
【0004】
さらにまた、これらのプロセス制御装置は一般に、イーサネット(登録商標)バス(Ethernet(登録商標) bus) のようなデータハイウェイを介して、1つ以上のワークステーションおよび他の装置へ連結されている。これらの他の装置は典型的には、上記制御ルーチンのユーザーインターフェイスを提供し、その制御ルーチンの修正または更新を可能にし、上記フィールド装置に接続され、履歴的プロセス制御データを記憶し、ユーザーのアクセスを制御しまたは制限するなどのような他のプロセス制御機能を提供するために、1つ以上の制御装置によって提供された情報を使用する他のアプリケーションまたはプログラムを実行する。いくつかの大きいプロセス制御システムでは、リモートサイトに置かれた1つ以上のワークステーションを、インターネット接続、衛星通信リンクまたは移動体通信リンク、無線リンク(無線イーサネット(登録商標)接続において使用されるような)などのようなさらに別の通信ネットワークを介してデータハイウェイへ連結することができる。
【0005】
製品のバッチを生成するプロセス制御システムには一般に、ユーザー(例えばエンジニア)が1つ以上の基本的な製品レシピ、バッチパラメーター、設備リストなどを定義しかつ記憶させることのできるグラフィカルインターフェイス(graphical interface)が含まれている。これらの基本的な製品レシピには、それぞれ特定の設備リストに関連付けられまたは結び付けられた一連の処理ステップが典型的に含まれている。ユーザー(例えばオペレーター)は、これらのレシピ処理ステップを特定の設備へ関連付ける際に、レシピのバッチランの前に、そのレシピのそれぞれの処理ステップを実行するために使用される一部のプロセス制御設備を明確に定義する。加えて、それぞれの処理ステップには、ユーザー(例えばオペレーター)が、設備動作の順序および/またはタイミングを制御し、警報限界値を設定し、目標制御値(例えば設定値)を設定するなどするために、バッチの実行の間に使用される1つ以上の入力/出力(I/O)バッチパラメーター値を定義することが必要とされる場合がある。これらのI/Oバッチパラメーター値は、このプロセス制御システムの内部におけるフィールド装置の1つ以上へ送られるかまたはこれらのフィールド装置の1つ以上から受けられる入力値および出力値に関連付けられてもよく、または代わりに、バッチの実行の間にこのプロセス制御システムによって生成された中間値または計算値であってもよい。従って、バッチを定義するときに、ユーザー(例えばオペレーター)は典型的には、グラフィカルインターフェイスを使用して基本的な製品レシピ(上記レシピの上記処理ステップをプロセス制御設備へ結び付ける規格を含んでいる)を選択し、かつ、そのバッチの実行の間に使用されるパラメーター値を指定する。例えば、塗料のバッチを生成する制御システムでは、ユーザー(例えばオペレーター)は、例えば半光沢性外装用水性塗料のような基本的塗料レシピを選択するために上記グラフィカルインターフェイスとのやりとりをしてもよく、また、特定色の半光沢性外装用水性塗料における100ガロンのバッチの生成がもたらされるパラメーター値を指定してもよい。
【0006】
一例として、基本的塗料レシピには、基本的な塗料混合物へ着色剤または他の物質を添加する1つ以上の処理ステップが含まれていてもよく、また、これらの着色剤または他の物質をその基本的な塗料混合物の中へ機械的に混合する付加的な処理ステップがさらに含まれていてもよい。これらの混合処理(mixing, blending)ステップ、または上記基本的塗料レシピに関連付けられた他のあらゆる処理ステップをこのプロセス制御システムの内部における特定の設備の特定部分へ結び付けることができる。例えば、第1混合ステップを第1混合機へ結び付けることができ、また、第2混合ステップを第2混合機へ結び付けることができ、または、代わりに、必要に応じて、その第2混合ステップを上記第1混合機へ代わりに結び付けることができる。同様に、着色剤を上記塗料混合物へ添加するレシピのそれぞれの処理ステップを特定の着色剤分配設備へ結び付けることができる。
【0007】
さらにまた、バッチを定義するときに、ユーザーは、そのバッチによって特定された処理ステップを実行して所望の最終塗料製品を獲得するために、そのバッチの実行の間にこのプロセス制御システムによって使用される、混合時間、着色剤の量などのようなさまざまなI/Oパラメーター値を提供することができる。従って、ユーザーは、さまざまな基本的塗料型(基本的レシピによって特定されたような型)が含まれているさまざまな最終塗料製品をさまざまな色(I/Oパラメーター値によって特定されたような色)で作ることができる。従来のバッチ定義技術は、医薬、飲料、食品などのような他の多くの型の製品を作り出すために使用することもできるので、特定の処理ステップ、この処理ステップへ結び付けられた設備およびI/Oパラメーター値は、このプロセス制御システムによって所望の最終製品が作られるように変更することができる、ことはもちろんである。
【発明の開示】
【発明が解決しようとする課題】
【0008】
近年、バッチラン環境は著しくいっそう複雑なものになってきた。例えば、多くの最新のバッチ処理プラントでは、複数の「設備トレイン(equipment train)」と呼ばれる、特定のバッチランを物理的に行うために必要な作動的に連結された複数のセットの制御設備ユニットを使用して、いくつかの並列なバッチが実行される。レシピは、いっそう長くなり、さらに、すべての手順ステップにおいて複雑さを増している。その一方で、測定装置によって、バッチパラメーターのより良好な測定値がもたらされるようになり、また、これらの測定値は、リアルタイムで、またはほとんどリアルタイムで制御装置およびオペレーターワークステーションへ報告される。具体的に言えば、これらの測定装置は、例えば高すぎる温度、不充分な圧力、または特定化学物質の予想以上に高い濃度のような異常状況を迅速かつ正確に検出することができる。オペレーターは、製品損失を減らすとともに有害な状況を防止するために、これらの状況にできるだけ迅速に対応することを確かに望むのである。その結果、バッチを制御するという仕事がますます複雑になるにもかかわらず、産業界はバッチラン環境からの柔軟性をいっそう要求している。
【0009】
さらにまた、いくつかの国では、ある製造方法に関連した政府規制における変更にもまた直面している。例えば、米国の食品医薬品局(FDA)は最近、いわゆるプロセス分析技術(PAT)の唱導に着手した。PATの目標は、製造された最終製品に加えて、製造プロセスを制御することである。PATの要求に応じるために、製造業者は、対応する製造プロセスの中間ステップでの品質を保証することができるようにしなければならず、また、もちろん、検出された状況に適切かつタイムリーに対応することができるようにしなければならない。従って、最新のバッチラン環境は、経済的理由および法的理由の両方に対して柔軟性があるものでなければならない。
【0010】
残念なことに、現行のバッチランの技術および方法論は、これらの要求を費用効率的なやり方で満たすには不充分である。バッチ処理プラントで機能を果たす典型的なプロセス制御システムでは、専用データベースの中にレシピ情報が記憶されている。そのデータベースには、すべての製品について、そのレシピの手順構造、レシピパラメーター、そのレシピによって要求された設備ユニットのリスト、および他のレシピ情報が含まれていてもよい「制御レシピ」が記憶されている。オペレーターのコマンドまたは他の所定条件に応じて、このプロセス制御システムは、特定の制御レシピをそのデータベースから検索するとともに、そのレシピを選択された「バッチ監視部(batch executive)」に適用する。このバッチ監視部は、受け入れられたレシピに従って1つ以上のバッチを実行するために対応することのできるサブシステムである。このバッチ監視部は、その制御レシピの変更がすでに作動されているバッチの実行に影響を及ぼさないように、そのレシピの受け入れバージョンのスナップショットを保存する。換言すれば、このバッチ監視部は、最初に受け入れたレシピだけを実行することができ、そのデータベースの中における制御レシピへの潜在的な変更には対応しない。
【0011】
伝統的に、オペレーターは、バッチ監視部と受け入れることのできるレシピの単一バージョンとがそれらの存続期間にわたって関連付けられることを許容していた。技術および政府規制の最近の急速な変更まで、プラントは1つ以上のバッチを何ヶ月も同じレシピで一度に作動させていた。オペレーターが新しいレシピを適用することは比較的まれであり、新しいレシピの導入は事前に計画されていた。しかしながら、産業界の現在の状況は、何週間または何ヶ月間で完了するようなバッチに対しても、バッチラン環境がレシピの突然かつ頻繁な変更に対応するようになることを要求している。
【0012】
バッチラン環境の柔軟性を増大させるために、いくつかの試みが近年、行われた。例えば、Emerson Process Management(登録商標) DeltaV(登録商標)インターフェイスツールによれば、オペレーターは、Active Step Change機能の一部として、ステップの間における移行を強制することができる。Force Transition機能はレシピの実行過程におけるオペレーターの制御能力を大きく拡張するが、この機能は、そのレシピの実際のステップまたは論理構造にわたる制御権利をオペレーターに与えるものではない。Active Step Changeによれば、オペレーターはさらに、レシピにおけるあるフェーズ(Phase)の実行を独立型バッチとして開始することができる。しかしながら、この機能のこの態様は、同じようにそのレシピの最初(original)の定義に制限される。さらにまた、手動操作はそのフェーズレベルにおいてだけ可能である。従って、エンジニアまたはオペレーターがバッチ実行部によってすでに実行されているレシピを更新すると、現在の技術では、そのバッチ実行部は、最初のバージョンの実行がそのレシピの適用における変更ポイントをまだ過ぎていなくても、その最初のバージョンの実行が終わるまで、レシピの新しいバージョンを獲得することができない。
【課題を解決するための手段】
【0013】
プロセス制御システムにおいて作動するバッチラン環境によれば、ユーザーは、作動しているバッチをその作動しているバッチによって実行されるレシピの新しいバージョンに同期化することができる。ユーザーは、ユーザーインターフェイスツールを使用して、そのレシピの旧バージョンを実行するバッチを選択し、その選択されたバッチの実行を中断し、その中断されたバッチの動作をそのレシピの更新されたバージョンで再開する。1つの実施形態では、バッチサブシステムが、ユーザーインターフェイスツールからレシピの新バージョンを受けて、その新バージョンを構成データベースの中に保存し、そのレシピの新バージョンとこのバッチラン環境において現在作動しているバージョンの同じレシピとの間の相違点を自動的に確認する。ユーザーインターフェイスツールからのコマンドを受け取ると、このバッチサブシステムは、そのバッチをそのレシピの新バージョンに自動的に同期化する。
【0014】
1つの態様では、このバッチサブシステムは要求に応じて再同期化を行う。別の態様では、このバッチサブシステムは、所定条件によって自動再同期化を引き起こすことができる。さらに別の態様では、ユーザーは、ユーザーの認定を要求することなく再同期化を自動的に試みるようにこのバッチサブシステムを構成することができ、または、上記ユーザーインターフェイスツールにより異なるオプションを起動することによって、ユーザーは再同期化を手動操作だけに制限することができる。この場合に、このバッチサブシステムは、新しいバージョンのレシピを認識したとしても、再同期化の前にユーザーから明確なコマンドを受け取る必要がある。
【0015】
1つの実施形態では、そのバッチサブシステムには、それぞれのバッチ実行部が丁度1つのバッチを実行する1つ以上のバッチ実行部処理、それぞれのバッチ実行部処理の動作を管理するバッチ管理処理、およびレシピの変更を検出するバッチランタイム処理部を含んでいる。それぞれのバッチ実行部は、異なるレシピを実行するように構成されていてもよい。1つの実施形態では、それぞれのバッチ実行部は、ステップ、操作、およびフェーズの間における移行過程(transition)等のイベント情報を永続的な場所に保存する。バッチ管理部は、それぞれのバッチ実行部についての上記イベント情報を上記ユーザーインターフェイスツールへ報告する。別の態様では、バッチ管理部は、上記ユーザーインターフェイスツールからのコマンドを受け取って、バッチ実行部に実行の開始、停止または保持の時点を通知する。
【0016】
1つの態様では、ユーザーは、現行のレシピの特定要素に対応している単位手順(Unit Procedure)の最初の名称を変更することなくこの特定要素に対して変更を行うことができ、従って、そのレシピにおける最初の上位レベルの論理構造を保持することができる。別の態様では、ユーザーは、上記ユーザーインターフェイスツールを使用して、バッチ実行部によって現在作動しているレシピの論理構造を、条件付きステップの選択を制御する演算子の変更によって更新することができる。例えば、ユーザーは、OR演算子をAND演算子へ変更すること、またはあるレシピ要素を省略することを望むことが考えられる。さらに別の態様では、ユーザーは、付加的なレシピ要素を含んでいるバージョンのレシピで作動中のバッチを再同期化することができる。
【0017】
1つの実施形態では、ユーザーは、レシピ構成の間にまたは現行のレシピへその後にアクセスすることによって、1つ以上の有効再同期化ポイントを指定する。それぞれの有効再同期化ポイントは、最初のレシピにおいてバッチを安全に停止させるかまたは一時停止させることのできる移行過程である。安全機能として、このバッチサブシステムは、バッチが上記有効再同期化ポイントの1つへ到達するまでユーザーがそのバッチを再同期化することを防止する。別の実施形態では、バッチサブシステムは、上記再同期化ポイントを使用することによって自動再同期化を行う。対応しているモードに構成されている場合には、上記バッチ管理部は、有効再同期化ポイントへ到達したバッチ実行部を自動的に一時停止させるとともに、(上記バッチランタイム処理部が有効なレシピ変更を検出すると)そのレシピの新バージョンをそのバッチ実行部に適用する。
【0018】
1つの実施形態では、バッチサブシステムは、新しいバージョンのレシピを自動的に検出し、異なるバージョンのレシピの間の相違点を決定し、その新しいレシピ要素または移行過程に関連した情報を上記ユーザーインターフェイスツールへ送信する。いくつかの考えられる実施形態では、バッチサブシステムは、新しいレシピが旧いレシピの新バージョンであるかどうかを決定するために、構成データベースへ最近加えられたレシピへ割り当てられた名称を解析する。上記ユーザーインターフェイスツールは、レシピ要素のリストをユーザーへ視覚的に提示するとともに、ユーザーの注意を同期化のために潜在的に利用することができる新しいレシピ要素へ導く。
【0019】
別の態様では、バッチサブシステムは、これに加えて、バッチ処理が一時中断した後に上記ユーザーインターフェイスツールから同期化もしくは再起動オプションを受け取る。この同期化オプションまたは再起動オプションは、一時停止したバッチ処理を最初から作動させるか(「コールド(cold)」再起動または同期化のオプション)、または先に一時停止した状況から作動させるか(「ウォーム(warm)」再起動または同期化のオプション)を通知する。さらにまた、同期化オプションまたは再起動オプションは、そのバッチ処理をそのレシピの前のバージョンへ戻すか(「再起動する」)、またはそのレシピの新バージョンを適用させるか(「同期化する」)を指定する。
【発明を実施するための最良の形態】
【0020】
さて、図1によれば、処理プラント制御ネットワーク10にはプロセス制御装置12が含まれており、この制御装置は例えばイーサネット(登録商標)通信結線15によって多数のワークステーション14へ連結されている。制御装置12は、入力/出力(I/O)装置(図示略)および通信回線のセットまたはバス18によって、処理プラント(参照符号16によって全体が表わされている)の内部における装置または設備へもまた連結されている。制御装置12は、ほんの一例としてFisher−Rosemount(登録商標) Systems,Inc.,によって販売されている上記DeltaV制御装置であってもよいが、1つ以上のプロセス制御ルーチンを実行し、それによって処理プラント16の所望の制御を実施するために、処理プラント16の全体にわたって配置されたフィールド装置やこれらのフィールド装置の内部における機能ブロックのような制御要素と通信することができるものである。これらのプロセス制御ルーチンは、連続的なものであってもよく、またはバッチ式のプロセス制御のルーチンまたは手順であってもよい。ワークステーション14(例えばパーソナルコンピュータ、サーバーなどであってよい)は、制御装置12によって実行されるプロセス制御ルーチンを設計し、これらのようなプロセス制御ルーチンをダウンロードするように制御装置12と通信し、処理プラント16の作動中に処理プラント16に関する情報を受け取るとともに表示し、そして、さもなければ、制御装置12によって実行されたプロセス制御ルーチンとのやりとりをするために、一人以上のエンジニアまたはオペレーターによって使用されてもよい。加えて、データ履歴作成装置19をLAN15へ接続することができ、また、制御装置12、上記フィールド装置およびワークステーション14も含まれるプラント50の内部で生成されたデータを自動的に選択するとともに記憶することができる。
【0021】
それぞれのワークステーション14には、構成設計アプリケーションのようなアプリケーションを記憶するための、また、処理プラント16の構成に関する構成データのようなデータを記憶するためのメモリー20が含まれている。それぞれのワークステーション14には、とりわけユーザーがプロセス制御ルーチンを設計することを可能にするとともにこれらのプロセス制御ルーチンを制御装置12へダウンロードすることを可能にするための上記アプリケーションを実行するプロセッサー21もまた含まれている。同様に、制御装置12には、構成データと処理プラント16を制御するために使用されるプロセス制御ルーチンとを記憶するためのメモリー22が含まれているとともに、プロセス制御方策を実施するためにプロセス制御ルーチンを実行するプロセッサー24が含まれている。制御装置12がDeltaV制御装置である場合には、この制御装置は、ワークステーション14の1つにおける1つ以上のアプリケーションと相まって、そのプロセス制御ルーチンの内部における上記制御要素とこれらの制御要素が処理プラント16の制御を提供するように構成されている方式とを例示する、制御装置12の内部のプロセス制御ルーチンの図式的描写をユーザーへ提供することができる。
【0022】
一般的に言えば、図1のプロセス制御システムは、例えばワークステーション14の1つが処理プラント16の内部で相異なるバッチランを実施するとともにこれらを調整するバッチ監視部を実行するバッチ処理の実施のために使用することができる。図1に例示された代表的なプロセス制御システムでは、そのようなバッチ監視部30がワークステーション14aの中に存在している。しかしながら、バッチ監視部30は、他のワークステーション14の中で、もしくは、バス15またはバス18へ無線方式を含む所望の方式によって通信可能に接続された他のコンピュータの中で、記憶され、実行されてもよい。同様に、図3に関していっそう詳しく検討されるように、バッチ監視部30は、さまざまな構成要素に分けることができ、または、処理プラント16の内部における相異なるコンピュータまたはワークステーションの中で記憶されかつ実行されるさまざまな構成要素に関連付けることができる。
【0023】
加えて、処理プラント制御ネットワーク10には2つ以上のバッチ監視部30が含まれていてもよい、ということを認識されたい。例えば、最新のプラントでは、処理プラント制御ネットワーク10のリソースのいくつか、またはすべてを共用する4つまでのバッチ監視部が現在サポートされている。1つ以上のバッチ監視部30は一般に、バッチサブシステムと呼ばれることがある。これに対して、構成サブシステムは、レシピを定義するとともに編集し、バッチランの遂行を監視し、そして、他の管理目的のために使用される、ユーザーインターフェイスツール、構成データベース、および他のハードウェア、ファームウェア、ならびに、ソフトウェアモジュールを指す。この検討において、「バッチ監視部」および「バッチサブシステム」という用語は交換可能に使用される、ことに留意されたい。
【0024】
作動において、ユーザーは、レシピを定義し、このレシピを実行するバッチを作成し、かつ、バッチランを制御するために、バッチオペレーターインターフェイス(「BOI」)32を作動させることができる。バッチランの制御に関して具体的に言えば、BOI34によって、ユーザーは、バッチランを起動させ、停止させ、一時停止させ、かつ更新することができる。BOI34は、イーサネット(登録商標)リンク15によって、無線リンクにわたって、または他のあらゆる公知の方式で、バッチサブシステム30とのやりとりすることができる。図1はBOI34をワークステーション14の一部として模式的に描写しているが、他の実装および配置もまた同様に可能である。例えば、BOI34は、ワークステーション14aや、携帯機器(図示略)や、または処理プラント制御ネットワーク10の外側に配置されたホストコンピュータにおいて、実行することもできる。さらに、多数のオペレーターを同時にサポートする処理プラント制御ネットワーク10におけるさまざまなホストコンピュータに実体化されたBOI34のいくつかの実体例がある。またさらに、処理プラント制御ネットワーク10によれば、レシピ構成およびバッチ動作にアクセスするための2つ以上のユーザーインターフェイス手段が提供される、ということを認識されたい。1つの例を挙げると、上記DeltaVシステムによれば、とりわけDeltaV OperateおよびDeltaV Batch Operator Interfaceのような構成要素によってユーザーインターフェイスが提供される。
【0025】
再び図1によれば、構成(configuration)データベース34には、バッチサブシステム30のためのレシピ、このプラントにおける設備ユニットおよび設備階層のリストのような設備データ、このプラントのさまざまな区域、設備ユニットのプラント区域との関連性、設備の階層的機能停止に関連した管理情報、および他の構成データを記憶することができる。この構成データベース34は、バッチサブシステム30から離れた構成サブシステムの中に存在していてもよい。また、構成データベース34は、別のサーバーまたは一群のサーバーであってもよいこと、または処理プラント制御ネットワーク10が充分に小さい場合には、構成データベース34は、ワークステーション14または14aのファイルシステムの専用プロセス供給部として簡単に実施することができる、ことに留意されたい。
【0026】
図1に例示された処理プラント制御ネットワーク10の例では、制御装置12は、バス18によって、同じように構成された2セットの設備へ通信可能に接続されており、それぞれの設備セットは、本明細書ではREACTOR_01(反応装置1、R1)またはREACTOR_02(反応装置2、R2)と呼ばれる反応ユニット、本明細書ではFILTER_01(フィルター1、F1)またはFILTER_02(フィルター2、F2)と呼ばれるフィルターユニット、および本明細書ではDRYER_01(乾燥装置1、D1)またはDRYER_02(乾燥装置2、D2)と呼ばれる乾燥ユニットを有している。REACTOR_01には、反応容器100と、例えばヘッドタンク(図示略)から反応容器100の中へ流体を供給する流体入口管路を制御するように接続された2つの入力バルブ101および102と、出口流体管路によって反応容器100の外側への流体の流れを制御するように接続された出力バルブ103とが含まれている。温度センサー、圧力センサー、流体レベルメーターなどのようなセンサーであってよい装置105、または電気ヒーターまたは蒸気ヒーターのような何らかの他の設備が、反応容器100の中にまたは近傍に配置されている。REACTOR_01は、バルブ103を介して、フィルター設備110が備わっているFILTER_01へ、次いで、乾燥設備120が備わっているDRYER_01へ連結されている。同様に、第2セットの設備には、反応容器200と、2つの入力バルブ201および202と、出力バルブ203と、装置205とが備わっているREACTOR_02が含まれている。REACTOR_02は、フィルター設備210が備わっているFILTER_02へ、次いで、乾燥設備220が備わっているDRYER_02へ連結されている。フィルター設備110および210と乾燥設備120および220とには、これらに関連付けられた付加的な制御要素(ヒーター、コンベアベルトなど)、センサーなどが備わっていてもよい。必要であれば、反応装置、フィルターおよび乾燥装置のそれぞれの1つを使用するバッチランが図1に例示された設備の任意の組み合わせを使用することができるようにするためには、図示されていないが、それぞれのフィルターユニットであるFILTER_01およびFILTER_02は、それぞれの反応ユニットであるREACTOR_01およびREACTOR_02へ物理的に連結することができ、一方、それぞれの乾燥ユニットであるDRYER_01およびDRYER_02は、それぞれのフィルターユニットであるFILTER_01およびFILTER_02に連結することができる。
【0027】
図1に例示されたように、制御装置12は、バス18を介して、バルブ101〜103,201〜203と、装置105,205と、フィルター110,210と、および、乾燥装置120、220とへ(さらに、これらに関連付けられた他の設備へ)通信可能に連結されており、これらの要素(ユニット、フィールド装置などであってよい)に関する一つ以上の動作を管理する。このような動作には、例えば、上記の反応容器または乾燥装置を充填すること、その反応容器または乾燥装置の内部における物質を加熱すること、その反応容器または乾燥装置の中身を放出すること、その反応容器または乾燥装置を洗浄すること、上記フィルターを作動させることなどが含まれていてもよい。当然のことながら、制御装置12は、付加的なバスを介して、4〜20ミリアンペア回線やHART通信回線などのような専用通信回線を介して、処理プラント16の内部における諸要素へ連結されていてもよい。
【0028】
図1に例示されたバルブ、センサーおよび他の設備は、例えば、フィールドバスフィールド装置、標準的な4〜20ミリアンペアフィールド装置、HARTフィールド装置などが含まれるあらゆる所望の種類または型の設備であってもよく、また、フィールドバスプロトコル、HARTプロトコル、4〜20ミリアンペアアナログプロトコルなどのような、あらゆる公知のまたは所望の通信プロトコルを使用して、制御装置12と通信してもよい。またさらに、他の型の装置が、接続されていてもよく、所望の方式で制御装置12によって制御されてもよい。さらに、他の装置または処理プラント16に関連付けられた区域を制御するために、他の制御装置が、例えばイーサネット(登録商標)通信回線15を介して制御装置12へかつワークステーション14へ接続されていてもよく、また、このような付加的制御装置の動作は、図1に例示された制御装置12の動作とあらゆる所望のまたは公知の方式で連動させてもよい。
【0029】
ユーザーは、レシピを設定し、装置バルブ101〜102および容器100などのプロセス制御設備から設備トレインを形成し、この設備トレインをバッチに関連付け、また、BOI34または他のインターフェイスツールを介してバッチサブシステム30とやりとりをすることができる。BOI34は、定期的にまたはリアルタイムで、そのシステムの中で実行されているそれぞれのバッチの状況情報を取り出すことができる。このネットワーク10のバッチラン環境、とりわけBOI34および構成データベース34と相まって機能するバッチサブシステム30によれば、ユーザーは、実行中のバッチを選択し、そのバッチを一時的に停止させ、そのバッチによって実行されるレシピを検分し、かつ、レシピ要素に「穴を開ける(drilling into)」ことによって、上位レベルにおいて、または下層の1つにおいてのいずれかで、そのレシピの変更を行うことができる。ユーザーはその後、更新されたレシピを構成データベース34に保存することができるとともに、バッチサブシステム30に対して一時停止されたバッチを、選択された再同期化オプションの1つによるレシピの新バージョンで再同期化することができる。新しいバージョンのレシピを実行中の上記バッチに同期化することと実行することとに関するモジュールおよび方法は、図3〜11を参照して以下で詳しく検討される。
【0030】
バッチサブシステム30には、ユーザーがこの処理プラントの内部で行なわれるいくつかのバッチランを指定することを可能にし、いくつかの異なったバッチランまたはバッチ処理がこの処理プラント制御ネットワーク10の内部で上記の相異なるバッチランを実施するために基本的に独立して作動するように設定する、上位レベルの制御ルーチンが含まれている。このようなバッチ処理のそれぞれは、反応ユニット、フィルターユニット、乾燥ユニットまたはこの処理プラントの内部における他の設備のうちの1つの単一ユニットを操作するサブルーチンまたは処理である、1つ以上の単位手順の動作を導く。それぞれの単位手順(一般にワークステーション14の1つにおいて実行されるバッチランの一部である)は、一連の操作を行い、これらの各々はあるユニットにおいて1つ以上のフェーズを行ってもよい。上記説明において、あるフェーズは、あるユニットにおいて行われる最も下位レベルにおいての動作またはステップであり、また、典型的には制御装置12の1つにおいて実施されるかまたは実行され、ある操作は、そのユニットにおいて特定の機能を行うフェーズのセットであり、典型的には制御装置12の内部でフェーズのセットを呼び出すことによってワークステーション14の1つにおいて実施されるかまたは実行され、一方、ある単位手順は、ある単一ユニットにおいて行われた1つ以上の操作のセットであり、また、典型的にはワークステーション14の1つにおいて呼び出される操作のセットとして実施される。その結果、任意の単位手順には、1つ以上のフェーズおよび/または1つ以上の操作が含まれている。このように、それぞれのバッチ処理は、食品、薬品などのような製品を作るために必要とされる相異なるステップまたはステージ(すなわち単位手順)を実行する。
【0031】
個々のバッチについて相異なる単位手順、操作およびフェーズを実施するために、バッチ処理では、行うべき諸ステップ及びこれらのステップに関連付けられた量および時間、ならびにこれらのステップの順序を指定する一般にレシピと呼ばれているものを使用する。1つのレシピについてのステップには、例えば、反応容器を適切な物質または材料で満たし、その反応容器の内部でその物質を混合し、その反応容器の内部でその物質をある温度まである時間だけ加熱し、その反応容器を空にし、その後、次のバッチのためにその反応容器を洗浄し、反応容器の産出物を濾過するためにフィルターを作動させ、その後、その反応容器の中で作り出された生成物を乾燥するために乾燥装置を作動させること等が含まれていてもよい。異なったユニットに関連付けられた一連のステップのそれぞれは、そのバッチの単位手順を定義しており、また、そのバッチ処理はこれらの単位手順におけるそれぞれの1つについての異なった制御アルゴリズムを実行する。当然のことながら、上記の特定の物質、これらの物質の量、加熱の温度および時間などは、相異なるレシピについて異なっていてもよく、従って、これらのパラメーターは、製造されまたは生成される生成物および使用されるレシピに左右されるため、バッチランごとに変更されてもよい。制御ルーチンおよび構成が、図1に例示された上記反応ユニット、上記フィルターユニットおよび上記乾燥ユニットを使用するバッチについて本明細書の中に説明されている一方で、他の所望の装置を制御して、他の任意の所望バッチ処理実行を行ったり、望まれる場合には連続的なプロセスプラント実行を行ったりするために、制御ルーチンを使用してもよいことを当業者は理解されよう。
【0032】
さらに、一般的なバッチ処理における同一のフェーズ、操作または単位手順は、図1の相異なる反応ユニットのそれぞれについて、相異なる実際のバッチ処理の一部として同時にまたは異なった時点で実施してもよいことを当業者は理解されよう。さらにまた、図1の反応ユニットには一般に、同一の数および型の設備(すなわち、これらは同一のユニット部類に属している)が含まれるので、特定のフェーズについての同一の一般的なフェーズ制御ルーチンを使用して、相異なる反応ユニットのそれぞれを制御することができるが、ただし、この一般的なフェーズ制御ルーチンは、相異なる反応ユニットに関連付けられた、異なるハードウェアまたは設備を制御するためには、修正しなければならない。例えば、REACTOR_01についての(ここでは反応ユニットが満たすための)充填フェーズを実施するためには、1つ以上の入力バルブ101または102が、ある時間だけ、例えば上記容器100が満たされていることを上記流体レベルメーター105が感知するまで、充填制御ルーチンによって開放される。しかしながら、この同一の制御ルーチンは、入力バルブの指定をバルブ101または102に代えてバルブ201または202へ変更し、かつ、流体レベルメーターの指定を流体レベルメーター105に代えて流体レベルメーター205へ変更することだけで、REACTOR_02についての充填フェーズをも実施するために使用することができる。
【0033】
バッチランの一般的動作に関連付けられた論理構造は周知であるが、図2は、あるバッチラン環境におけるオンライン式レシピ同期化方法に関するレシピ構成の概略図を提供する。レシピ255はS88規格の階層構造に準拠している。しかしながら、このオンライン式レシピ同期化方法は、現在のかつ将来の他のレシピ定義規格に適用することもできることを当業者は認識されよう。図2に例示されたように、レシピ255には、ステップ253およびステップ255のような、移行過程257によって分離された1つ以上のステップが含まれている。レシピ255のそれぞれのステップは、複雑な内部構成を有していてもよく、また、分離された単位手順として定義されてもよい。例えば、ステップ255は単位手順260として定義されてもよい。
【0034】
移行過程257は、移行過程257の次に来るステップ(この場合にはステップ255)を行う前に、ステップ253の内部において満たされなくてはならない条件を指定することができる。例えば、ステップ253が2つの化学物質の混合を行う場合、条件257によってその混合が2分の制限時間を超えたかどうかを検査することができる。別の例として、実行中のステップ253の結果にかかわりなく移行過程に影響を及ぼすために、移行過程257のブール値(Boolean)を「真」であるように設定することができる。一般に、これらの条件は、簡単なものであっても複雑なものであってもよく、また、ANDおよびORのようなブール演算子を含んでいてもよい。単位手順260にはまた、同じように条件257によって分離された1つ以上の操作263または265が含まれていてもよい。図2に例示された例では、操作261は操作定義270によって実施される。操作定義270には、条件257によって分離された1つ以上のフェーズ272および274が含まれていてもよい。
【0035】
ユーザーは、1つ以上のワークステーション14または14aにおいて、レシピ250のようなレシピのための専用ソフトウェアを作成することができる。いくつかの実施形態では、このソフトウェア作成用ソフトウェアはBOI32の一部として設けられている。このようなソフトウェアパッケージの1つは、上記DeltaVシステムの一部として設けられたRecipe Studioである。名称をレシピ250へ割り当てるのに加えて、ユーザーはそのレシピをあるバージョンに関連付けることができる。言い換えれば、ユーザーは、レシピ250の最初のバージョンを作成し、そのレシピ250に「Chocolate_Cookie_001」という名称を割り当て、そして、そのレシピ250にバージョン識別子「v1」を関連付けることができる。その後、ユーザーは、同じレシピ250の別のバージョンを作成するとともに、その新しいバージョンに例えばバージョン識別子「v2」を関連付けることができる。1つの実施形態では、構成データベース34には、同じ名称であるが異なったバージョン識別子のある2つのレシピが含まれていてもよい。別の実施形態では、ユーザーは、その新しいバージョンを前のバージョンと同じ名称で簡単に保存することができる。
【0036】
いずれの場合にも、新しいバージョンのレシピは常に、ユーザーインターフェイス32から、またはバッチサブシステム30を介する構成データベース34での他のレシピ作成ツールからもたらされる。言い換えれば、バッチシステム30は、既存のバージョンのレシピの変更を常に知っておくために、ユーザーと構成データベース34との間でレシピ情報を受け渡しする。このようにして、バッチシステム30は、その新しいバージョンのレシピを必要な場合にはサブシステム30の内部で実行されるバッチと同期化することができる。別の実施形態では、ユーザーインターフェイス32は構成データベース34と直接やりとりをする。レシピ再同期化の少なくともいくつかの態様を自動化するために(以下でいっそう詳しく検討されるように)、ユーザーインターフェイス32または構成データベース34には、バッチサブシステム30のためのレシピ情報を複製するソフトウェアルーチンが含まれている。さらに別の代案として、ユーザーインターフェイス32は構成データベース34と直接やりとりをするとともに、バッチシステム30は構成データベース34からの更新を定期的に要求する。例えば、バッチシステム30は、このバッチシステム30によって実行されているそれらのレシピの新しいバージョンが最後の問い合わせ時以降、構成データベース34で利用可能なものになったかどうかを問い合わせるために、所定のタイムアウト値に従って注意喚起するバックグラウンド処理を実行することができる。しかしながら、バッチシステム30を上記ユーザーインターフェイスツールと構成データベース34との間に置くことによってバッチラン環境をいっそう効率的に実施することができる、ということを当業者は認識されよう。
【0037】
図3は、処理プラント制御ネットワーク10におけるバッチサブシステム30の代表的アーキテクチャーを例示している。このバッチ監視サブシステム30は、イーサネット(登録商標)通信結線15によってまたは、このバッチサブシステム30が同じワークステーション14または14aに存在している場合には公知のプロセス間通信(IPC)手段によって、BOI30のようなユーザーインターフェイスツールとのやりとりをすることができる。バッチサブシステム30には、バッチ管理部282、バッチランタイム処理部284、および1つ以上のバッチ実行部286〜290が含まれていてもよい。バッチサブシステム30のそれぞれの構成要素は、独立したプロセスまたはスレッドとして実施することができる。上で示されたように、バッチサブシステム30は、いくつかのワークステーションまたは他のホストコンピュータにわたって配置することができる。
【0038】
それぞれのバッチ実行部286〜290は1つのバッチを正確に実行する。いくつかのバッチ実行部286〜290は、例えばレシピ250のような同じレシピを実行することができる。これらのバッチ実行部286〜290は、たとえそれぞれのバッチ実行部が同じレシピを実行する場合でも常に同じ実行の状況にある必要はない、ということを認識されたい。図3に例示された例では、バッチ実行部290は、イーサネット(登録商標)結線15によって制御装置12へ接続されている。操作において、バッチ実行部290は、対応するワークステーション14または14aの処理スペースにおける単位手順および操作のレベルにおける論理構造を実行することができる。しかしながら、バッチ実行部290は、それぞれの操作のフェーズ272および274を制御装置12の中へロードする。
【0039】
再び図3によれば、永続的記憶ユニット292が、バッチ実行部286〜290のそれぞれに関連した状態情報、移行過程情報、およびパラメーター情報を保有するができる。この永続的記憶部292は、ワークステーション14または14aの1つのハードディスク、CDまたはDVDのような外部記憶装置、または他の公知のデータ記憶装置であってよい。バッチ管理部282、バッチランタイム処理部284、およびそれぞれのバッチ実行部286〜290は、永続的記憶部292が同じホストコンピュータに存在している場合には、イーサネット(登録商標)15によって、またはIPC呼び出しを通して、永続的記憶部292へアクセスすることができる。操作において、それぞれのバッチ実行部286〜290は、対応するバッチの実行状況に関連した情報を保存する。例えば、バッチ実行部290は、現在実行されている単位手順、操作、およびフェーズの状況を記録することができる。従って、永続的記憶ユニット292における記録は、ある点で、バッチ実行部290がレシピ250のステップ3、操作1、フェーズ2を現在実行していることを示すことができる。加えて、この記録は、例えばRUNNING(実行中)、HELD(一時停止中)、またはABORTED(中止)のようなそれぞれのレベルの状態を指定することができる。さらに、バッチ実行部290は、単位手順、操作、およびフェーズの中へ渡ったパラメーターの値を記録することができる。バッチ実行部290は、永続的記憶ユニット292を実質的にリアルタイムで更新するのが好ましい。
【0040】
加えて、バッチ実行部290は例えば、ステップ253とステップ255との間、操作263と操作265との間、およびフェーズ272とフェーズ274との間におけるそれぞれの移行過程257を記録することができる。この移行過程は、状態情報およびパラメーター情報とともに、永続的記憶部292に記録することができる。代わりに、状態の移行過程は、データ履歴作成装置19に記憶された別のイベントログとして記録することができる。イベントログには、上記パラメーター情報のいくつかまたはすべてと、それぞれの移行過程のタイムスタンプ、エラー条件、および事後においてシステムを監視、またはデバッグするために有用な他の情報等の付加情報が含まれていてもよい。上記イベントログには、同期化指示が同様に記憶されていてもよい。例えば、上記イベントログにおけるある記録は、9月21日の午後である14:25にステップ3、動作1、フェーズ1において、レシピ「Chocolate_Cookie_001」のバージョンv2で再同期化されたバッチ実行部290を示してもよい。
【0041】
上で示されたように、バッチ管理部282はバッチ実行部286〜290の実行を制御する。具体的には、バッチ管理部282は、これらのバッチ実行部286〜290へ実行の起動時、停止時、または一時停止時を示す指示を送信する。加えて、バッチ管理部282は、それぞれのバッチ実行部286〜290の状態をユーザーインターフェイスツール280によってオペレーターへ報告する。例えば、バッチ管理部282は、バッチ実行部290の状態を検索するために永続的記憶部292へアクセスするとともに、その状態を、XMLのような周知のフォーマットまたはバッチサブシステム30の要素の間におけるやりとりのために特に定義された特定目的のフォーマットに従ったメッセージ形式でインターフェイスツール280へ報告する。この意味で、バッチ管理部282は、すべてのバッチ実行部への集中型ゲートウェイとして作用する。
【0042】
1つの実施形態では、バッチ管理部282およびバッチ実行部286〜290は、バッチサブシステム30によって現在実行されているレシピのコピーを記憶する共用メモリー領域へのアクセスをさらに有している。この共用メモリー領域は、永続的または一時的なメモリー場所であってもよく、また、バッチサブシステム30の内部または外部に配置されていてもよい。いくつかの実施形態では、バッチ管理部30は、バッチ実行部286〜290の1つによってそれぞれのレシピのランを起動させる前にそれぞれのレシピのコピーを保存する。別の実施形態では、個々のバッチ実行部は、それ自体の処理スペースに、または知られていないかまたはバッチサブシステム30の残り部分へアクセスすることのできない恒久的場所に、そのレシピのコピーを保存する。いずれの場合にも、バッチサブシステム30は、それぞれのレシピを単一ファイルとしてまたは要素の階層的構造として、記憶することができる。好ましいのは、バッチ管理部282とそれぞれのバッチ実行部286〜290とが、単位手順、操作およびフェーズのような個々のレシピ要素へ読み取りおよび書き込むためのアクセス手段を有していることである。
【0043】
ところで、バッチランタイム処理部284は、処理プラント制御ネットワーク10の残り部分に関するインターフェイスとして作用する。具体的には、バッチランタイム処理部284は、レシピダウンロードスクリプトによって構成データベース34とのやりとりをすることができる。 1つの実施形態では、ユーザーインターフェイス32は、人間および機械の双方が読みやすくなるようにするために、それらのレシピをXMLの中にひとまとめにする。 代わりに、ユーザーインターフェイス32、バッチサブシステム30、および構成データベース34は、スクリプト情報を任意の標準プロトコルまたは専用プロトコルを介して送ることができる。また、バッチランタイム処理部284は、システムのセキュリティおよびログのメンテナンスのような機能を担っていてもよい。 さらにまた、バッチランタイム処理部284は、起動情報、停止情報、および永続的記憶部292の中かまたは構成データベース34の中における他の上位レベルの関連情報を記録することができる。
【0044】
さらに、バッチランタイム処理部284は、同じレシピの若いバージョンに関連した特定のレシピの変更を識別することができる。例えば、ミキサーが実行すべき時間の量のようなある動作における単一の小さいパラメーターが、25分から30分に変更されるとする。レシピの新しい30分バージョンを受け取ると、バッチランタイム処理部284は、バッチ管理部282へ、いずれかのバッチ実行部286〜290が同じレシピの旧バージョンを現在実行しているかどうかをチェックするように、照会をまず送信する。1つの実施形態では、バッチランタイム処理部284およびバッチ管理部286は、それらのレシピの名称を単純に比較することによって、その新しいレシピがバッチサブシステム30の中で現在実行されているかどうかを決定することができる。この目的のために、バッチ管理部286は、作動中のそれぞれのバッチ実行部についてのレシピの名称または他の固有の識別子を記憶してもよい。バッチランタイム処理部284からの上記照会への応答において、バッチ管理部286は、例えばそのレシピが作動中のバッチ実行部286〜290の1つ以上に適用することのできるものであることを指示することができる。バッチランタイム処理部284はその後、構成データベース34から最初のレシピを検索するとともに、新しいレシピと旧いレシピとの間の比較を行う。代わりに、ユーザーインターフェイス32は、ユーザーによって行われた変更を識別するレシピの「印が付けられた」コピーを生成するとともに伝搬することができる。
【0045】
上記のように、レシピの更新は、ユーザーによって行われた変更の程度に左右され、いくつかのカテゴリーの1つに分類することができる。図4は、単位手順の名称が変更されることなくその単位手順の内部に修正を含む代表的な更新シナリオを例示している。このシナリオは、最初の操作名称を保持しながら個々の操作の内部に修正が行われる事例に類似していることを認識されたい。図4に例示されるように、レシピ300の新しいバージョンおよび旧いバージョンには、ステップ302に移行過程304が続き、そしてステップ306が続くようにそれらが含まれている。しかしながら、ユーザーは、ステップ310に対応する上記単位手順を更新することができ、また、対応するバッチがいったん移行過程308へ達すると、ステップ310の代わりにステップ312を実行するようにサブシステム30へ要求することができる。ステップ312は、実行された単位手順のそのバージョンにおいてだけ、ステップ310と異なっている。
【0046】
このバッチラン環境の、そして具体的にはバッチサブシステム30のいくつかの実施形態では、ユーザーは、新しいバージョンのレシピまたはレシピ要素を同じ名称で保存することを避けることを望む場合がある。いくつかの事例では、ユーザーは、方針として、存在しているレシピまたは手順名称を重複させることができない。この状況および類似した状況においては、ユーザーインターフェイス32は、UPROC_MIX_INGREDIENTS_012_V01と名付けられた前のバージョンからレシピ300の新しいバージョンを区別するために、UPROC_MIX_INGREDIENTS_012_V02のような単位手順の新しい名称を自動的に生成してもよい。この名称は、マシンスクリプトがその名称を容易に解析してそのバージョン番号および他の識別子を引き出すことができるようなものである。
【0047】
ところで、図5に例示されたシナリオには、レシピ320への新しいレシピ要素の追加が含まれている。具体的には、レシピ320の新しいバージョンでは、ステップ322に新しいステップ324および移行過程326が続くことが必要とされる。移行過程326はレシピ320のフローを元のステップ328へ導き戻す。図5に例示されたシナリオは、存在しているバッチの範囲内でフェーズを手動で実行するものとは異なっていることを認識されたい。具体的には、新しいステップ324はS88準拠型移行過程によって、現在のステップ322および328へ接続されている。言い換えれば、ユーザーは、新しいレシピ要素を追加した後に移行過程を手動で制御する必要がない。さらにまた、手順ステップ324は、レシピ320の一部になり、その結果、新しいステップ324からのイベントは、レシピ320を実行するバッチの一部として収集することができる。
【0048】
図6によれば、レシピ350の新しいバージョンには、ステップ352に続くレシピ論理構造の変更が含まれている。具体的には、レシピ350の新しいバージョンに従って、条件354(OR)は条件356(AND)に変更される。このシナリオでは、レシピ350の単位手順はまったく変更されなくてもよい。それにもかかわらず、ユーザーは、例えば、レシピ350の前のバージョンに従ってチョコレートおよびバニラの一方を選択する代わりに、チョコレート(ステップ360)およびバニラ(ステップ362)の両方を追加するよう試みることを決定することができる。
【0049】
図4〜図6による上記のシナリオにおいては、バッチ実行部286〜290の1つがレシピ300、320または350の前のバージョンを現在実行しているかもしれないため、サブシステム30は、これらのレシピを永続的なまたは一時的なメモリーの中に保持してもよい。1つの実施形態では、バッチランタイム処理部284は、更新されたレシピ300,320または350の名称もしくは固有の識別子をさらに加えて、上記単位手順または操作レベルに関してレシピ300の中で更新された特定要素のリストを、バッチ管理部282に通知することができる。バッチ管理部282は、バッチランがレシピ300を実行するバッチ実行部286へ、例えば移行過程308へ到達するときにそのバッチランが一時停止されなければならないことを指示することができる。バッチ管理部282はその後、レシピ300の全体のコピーかまたは、バッチサブシステム30の中に保存されたステップ310に対応する単位手順のコピーのいずれかを更新することができる。
【0050】
しかしながら、バッチ管理部282は、レシピ300の新しいバージョンが利用可能なものであり、差がバッチランタイム処理部284によって処理されたことを通知されたときに、レシピ300を実行しているバッチ実行部286〜290のそれぞれを必ずしも常に同期化する必要がない。重要なことは、ユーザーが、どのバッチ実行部286〜290を新しいバージョンのレシピで同期化すべきか、もしくは、どのバッチ実行部が、最初のレシピを完了するか、新しい中止コマンドを受けるか、またはユーザーから一時停止コマンドを受け取るまで引き続いて実行すべきかを選択することができる点である。この点で、この処理プラント制御ネットワーク10の構成サブシステムと相まってバッチサブシステム30により支援されたオンラインレシピ再同期化によって、ユーザーは、その新しいバージョンのレシピをバッチサブシステム30の全体または処理プラント16の全体にその新しいバージョンのレシピを適合させる前に、その新しいバージョンのレシピを制御された規模で「試してみる」ことができる。
【0051】
図7は、このような予想された1つのシナリオをいっそう詳しく例示している。この例では、ユーザーは、BOI32のようなユーザーインターフェイスソフトウェアを作動させて、あるレシピの第1バージョンを作成する(ブロック380)。この時点で、ユーザーは、このレシピの第1バージョンで2つの並行なバッチを実行するように計画してもよい。ユーザーインターフェイス32は、バッチランタイム処理部284によってレシピをバッチサブシステム30へ送る。このレシピを構成データベース34に保存するのに加えて、バッチランタイム処理部284は、このレシピの第1バージョンをバッチ管理部282へ送り、次いで、このレシピを利用可能なバッチ実行部286および288に適用する(ステップ382)。このレシピは、ブロック384および386において、それぞれバッチ実行部286および288へロードされる。
【0052】
次いで、バッチ管理部282は、バッチ実行部286および288におけるそのレシピの実行を起動させることができる。ブロック388においてバッチ実行部286はそのレシピのいくつかのステップにおける実行を起動させることができ、また、バッチ実行部288はブロック390においてバッチの実行を同様に開始させることができる。ところで、ユーザーは、このレシピを最初のバージョンにおける比較的小さい1つ以上の変更によって改善できると決定したとする。このために、ユーザーは、ブロック392においてこのレシピの新しいバージョンを作成することができる。さらにまた、ユーザーは、できるだけ速く効果を生じさせるために変更を希望することがある。同時に、ユーザーは、その新しいレシピをバッチサブシステム30の全体にわたって適用することについて懸念があり、そのレシピを上記バッチのただ1つのものにまず適用するというように慎重に考えることもある。
【0053】
いくつかの実施形態において、ユーザーは、それぞれのバッチ実行部の正確な状態を知ることができる。他のいくつかの実施形態において、バッチインターフェイス32は、ユーザーのアクセス権またはプロフィール構成に左右される状態および移行過程に関する情報をユーザーへ選択的に提示することができる。ユーザーは、再同期化がまだ可能であるポイントを過ぎてレシピの実行がすでに進行したかどうかについて常に知っているとは限らないが、それにもかかわらず、ユーザーインターフェイス32に、最初のレシピ名称で、またはそのバージョンのレシピを正確に反映している名称で、そのレシピの新しいバージョンを保存し、プロンプトにおいてコマンドをタイプするか、またはバッチインターフェイス32において視覚的なコントロールを操作することによりバッチ実行部286を保留状態に置き、そして、バッチ実行部286をその新しいバージョンで同期化するようにバッチサブシステム30に要求するように指示することができる。
【0054】
代わりに、ユーザーは、ユーザーインターフェイス32に、その新しいバージョンをバッチサブシステム30の可能なかぎりの場所において適用するように指示することができる。もちろん、両方の選択肢がバッチサブシステム30の同じ実施形態において利用可能にされていてもよい。さらにまた、再同期化は、バッチサブシステム30と自動的にやりとりすることによって、どのバッチ実行部にその新しいレシピが適用されるのかを判断し、その関連バッチ実行部を自動的に保留状態に置くことができる単一の制御手段として提供されている、と考えられる。さらに、ユーザーインターフェイス32は、確認用(confirmation)ダイアログをユーザーへ表示して、その新しいバージョンのレシピと潜在的に同期化することのできるバッチ処理についてユーザーへ情報を与えることができる。
【0055】
バッチインターフェイス284は、レシピの第1バージョンへのいずれの変更が、バッチ実行部286に適用されるかを決定し、また、関連する更新情報をバッチ実行部286へ(直接にまたはバッチ管理部282を介して)送ってもよい。バッチ実行部286は、そのレシピの最初のバージョンを対応するメモリーから削除し、その新しいバージョンを保存し、次に実行されるステップを特定し、実行を再開させることをバッチ実行部286に告げるユーザー(図示略)からのコマンドを進行させるために上記ユーザーインターフェイスからの指示を待つことができる(ブロック396)。以下で検討されるように、ユーザーは、バッチ実行部286が実行を再開させることのできる上記レシピにおける特定のステップに関するバッチサブシステム30への付加的指示をもたらすことができる。バッチ実行部286は、同期化が成功した場合は、引き続いてその実行をすることができる。しかしながら、ユーザーは、そのレシピの最初のバージョンを誤ったやり方でまたは違法(illegal)なやり方で変更する可能性がある。無効な移行過程、ステップの欠落、または他の異常な状況に遭遇すると、バッチ実行部286は、その状態を例えばRESYNCHRONIZATION_FAILED(同期化失敗)に変更してもよい。考えられるいくつかの実施形態では、バッチ実行部286は、そのレシピの前の(安定した)バージョンへ自動的に戻すことができる。別の実施形態においてまたは別の構成の選択肢に従って、バッチ実行部286は、時には、「コールド再同期化」を試みる、つまり、第1ステップからその新しいレシピを起動させる。
【0056】
ブロック398および400において、バッチ実行部286および288はそれぞれのバッチを実行することができる。ユーザーは、ブロック402におけるバッチランの結果を評価することができるとともに、バッチ実行部286が、最初のバージョンのレシピへ戻すかまたはそのレシピの新しいバージョンをバッチ実行部288へ同様に適用するかについて、決定することができる。具体例として、バッチ実行部286は、そのレシピの検査されていない新バージョンを充分に実行することに失敗するかもしれない。この場合には、バッチサブシステムは、そのバッチの状態をHELD(一時停止中)にまたは実行が停止していることを示す同様の状態に自動的に変更することができる。ユーザーインターフェイス32は次いで、質問「前のバージョンへ戻す(revert)? はい/いいえ?」を表示するダイアログを生成してもよい。
【0057】
図8は、バッチサブシステム30にわたって配置された再同期化手順420とユーザーインターフェイス32のような構成サブシステムの一部とを例示している代表的なフローチャートである。ブロック422において、ユーザーは、構成データベース34からレシピを検索するとともにそのレシピの新しいバージョンを作成することができる。ブロック424において、BOI32は、現在作動中のバッチのリスト、それぞれバッチの状態、および作動中のそれぞれのバッチについてのレシピ情報を表示することができる。ユーザーは、ブロック426において1つのバッチを選択するとともに、そのバッチの作動状態をブロック430においてSTOPPED(停止中)またはABORTED(中止)に変更することができる。図8に例示された例では、ユーザーは、ブロック422の中で更新されたレシピの旧い方のバージョンを実行するバッチを選択する。
【0058】
ユーザーは、ブロック432で、そのレシピの最初のバージョンを引き続いて実行するかまたは新しいバージョンを起動させるかどうかについて選択することができる。ユーザーが一時停止されたバッチを再同期化することを決定すると、手順420はブロック434へ進行することができる。ブロック434において、バッチ管理部282は、一時停止されたバッチを実行するバッチ実行部を特定し、その特定されたバッチ実行部にレシピ更新を適用することができる。先に検討されたように、ステップ434にも、構成データベース34の中でその新しいバージョンのレシピを保存し、バッチランタイム処理部284の中でそのレシピの旧いバージョンと新しいバージョンとを比較し、および変更に関連した必要な情報をバッチ管理部282へ送信することが含まれていてもよい。
【0059】
ブロック436において、ユーザーはコールド再起動とウォーム再起動との選択肢の間で選択することができる。具体的には、コールド再起動によると、そのレシピの第1ステップから始動するバッチランが結果的にもたらされる。これに対して、ウォーム再起動によれば、そのバッチは、そのレシピの現在のステップから再開することができる。ユーザーは、その新しいバージョンが最初のレシピと適切に整合して、1つのまたは更新されたステップまたは新しいステップへの移行過程が違反状態をもたらさない場合には、ウォーム再起動の選択肢を選択することができる。図4に戻れば、ユーザーは、上記バッチ実行部について、移行過程308の後に途切れることなくステップ312へ進むために、ウォーム再起動を選択することができる。このように、手順420はレシピをブロック/ステップ438において整合させることをまず試みる。ステップ438の一部として、手順420は、そのバッチが現在実行されているのはレシピのどのステップであるか、またはそのバッチが到達したのはどの移行過程であるかを特定し、そのステップまたは移行過程をその新しいレシピの中に配置し、これらが実際に可能であって許容できるかどうかを決定することができる。
【0060】
重大な誤りを防止するために、手順420は方針として、バッチの作動中のステップにおける変更は違法であると見なしてもよく、作動中のステップにおける再同期化を禁止してもよい。例えば、あるバッチがあるレシピのステップ2/操作1/フェーズ3を現在実行している場合には、その変更がステップ2/操作1の内部で同じフェーズ3に影響を与えるか、またはその変更がステップ2の内部において操作1の名称に影響を与えるかなど、潜在的に異論がある状況において、手順420は、そのバッチがレシピの新しいバージョンで再同期化することを許容しない。加えて、手順420は、その新しいレシピが利用することのできない値を要求しないことを保証するために、手順パラメーターおよび操作パラメーターを確認(validate)してもよい。一例を挙げれば、そのレシピは、新しい構成において3つのパラメーターを要求する単位手順2を更新するとする。ところで、このバッチは、現在の構成においてただ2つのパラメーターを要求する単位手順2の内部で操作の1つを実行しているとする。従って、このポイントでこのバッチを再同期化すると、そのバッチの実行の早期段階で(すなわち、そのバッチがパラメーターを入力するとともにそのパラメーターを単位手順2へ供給するポイントで)別のパラメーターを追加しなければならないという不可能な要求がなされることになる。
【0061】
ユーザーがレシピ実行の論理構造に違反(violate)する状態を不注意にも作成した場合、手順420は代わりに、有効な同期化ポイントをレシピの後方において探索してもよく、またはそのバッチを単純にSYNCHRONIZATION_FAILED(再同期化失敗)状態に置いてもよい。ユーザーはその後、最初のバージョンのレシピを使用してそのランを再開するか、またはその新しいレシピを使用してコールド再起動を開始してもよい。これに対して、その同期化が有効(valid)であると判断されると、手順420は、その同期化が完了し、そのバッチを再開してもよいことをユーザーへ表示してもよい。ブロック440において、ユーザーは、適切なコマンドをバッチサブシステム30へ送ってもよく、そのコマンドを受け取ると、手順420はそのバッチをRUNNING(実行中)状態へ進めて、そのバッチを引き続き実行してもよい。
【0062】
バッチサブシステム30はまた、一時停止位置リストによって新しいバージョンのレシピへの自動同期化をサポートすることもできる。図9に例示されたように、レシピ500には、移行過程502〜508によって分けられるいくつかのステップが含まれている。一般的に言えば、レシピ500のようなレシピには、バッチ手順、単位手順、および操作レベルにおいていくつかの移行過程が備わっている。先に検討されたように、ユーザーは、DeltaV Recipe Studioツールまたは同様の手段を使用して、レシピ500を作成することができる。レシピ要素および移行過程を指定するのに加えて、ユーザーは、ゼロかまたは1つ以上の有効再同期化ポイントを含むレシピ500に関連したリスト510を供給することができる。この代わりにまたはこれに加えて、サブシステム30およびユーザーインターフェイス32によって、ユーザーは、レシピ500をすでに実行している作動中のバッチについてのリスト510を定義することができる。オペレーターが、レシピ500についての問題点を発見し、同じレシピで実行しているがその問題点のあるバッチよりいくつかのステップが遅れている少なくとも1つ以上のバッチがあることを認識する状況では、例えばオペレーターが一時停止位置リストをその場で定義することが望ましい。
【0063】
図9に例示された例では、リスト510には2つの移行過程識別子512および514が含まれている。移行過程識別子512は上記移行過程502に対応しており、移行過程識別子514は上記移行過程506に対応している。これらの移行過程識別子512および514をリスト510へ追加することによって、ユーザーは、レシピ500の実行が移行過程502および506への到達時に一時停止されることを要求する。言い換えれば、移行過程502および506は常に無効にされるとは限らない。レシピ500を実行するバッチが再開されるようにするためと、移行過程502および506が始まるようにするために、バッチサブシステム30はユーザーからの明確なコマンドを受け取らなければならない。
【0064】
サブシステム30がそれぞれの移行過程502および506への到達時にレシピ500を実行するバッチを自動的に同期化することも考えられる。このために、ユーザーインターフェイス32は、ユーザーに手動同期化モードと自動同期化モードとの間で選択させるダイアログボックスまたはコマンドプロンプトのような制御部を設けてもよい。例えば、レシピの新しいバージョンが前のすべてのバージョンに無条件に取って代わり、かつオペレーターが手動更新をできないときに新しいバージョンが利用可能になるかもしれないことをユーザーが認識した場合には、ユーザーは、自動化モードを選択することができる。ユーザーがその自動化モードを選択したことが検出されると、上記バッチサブシステムは、移行過程502および506でレシピ500の実行を中断し、更新されたレシピが構成データベース34において利用可能であるかどうかをチェックし、新しいバージョンが利用可能なものである場合には、その新しいバージョンを1つ以上の対応バッチ実行部に適用する。バッチサブシステムは次いで、そのイベントをデータ履歴作成装置14の中に記録するとともに、一時停止された同一の状態からの実行を再開する(すなわち、ウォーム再同期化を遂行する)ことができる。
【0065】
図10によれば、バッチランタイム処理部284は、レシピの変更を検出するために、構成データベース34に定期的に照会することができる。バッチサブシステム30は、検出した変更に関する指標をユーザーインターフェイス32へ提供することができる。処理プラント制御ネットワーク10を構成するとともに管理する多くのオペレーターおよびエンジニアが存在していてもよいことを当業者は認識されよう。その結果、エンジニアはレシピの新しいバージョンを作成することがあり、また、何人かのオペレーターはそれらの更新が利用できるものであることに気付かないことがある。人間のコミュニケーションの欠落による影響を最小限にするために、ユーザーインターフェイス32は、代表的なウィンドウ550のような、バッチ構成・制御ツールにおける視覚的表示を使用してもよい。
【0066】
具体的には、ウィンドウ550には現在実行中のバッチ555のリストが含まれていてもよい。好ましくは、ユーザーが、処理プラント制御ネットワーク10の中で実行されているとともにバッチラン環境を閲覧するかまたは構成するように適合されたすべてのソフトウェアモジュールからウィンドウ550を呼び出すことができる。例えば、上記のDeltaV環境によって、バッチ作動型インターフェイスソフトウェアの一部としてだけでなくバッチ作動ソフトウェアの一部として、ウィンドウ550を設けることができる。
【0067】
それぞれの作動中のバッチについて、上記リスト555には、バッチ識別表示557、レシピ識別表示559、および状態表示561が含まれていてもよい。加えて、ウィンドウ550には、開始、停止、および一時停止のボタン565のようなバッチ動作コントロールが含まれていてもよい。さらに、ボタン567を操作することによって、ユーザーは、選択されたバッチの動作を手動制御の下に置くことができる。またさらに、ユーザーは、選択されたバッチをボタン569の操作によって同期化することができる。ユーザーが開始、停止、一時停止、および再同期化の選択肢を有効に呼び出すために、リスト555には更新表示570が含まれていてもよい。図10に例示されたように、更新表示570は、最近更新されたレシピに対応しているラインにおいて起動することができる。例えば、RECIPE_001は、BATCH_001が開始された後で更新されているが、オペレーターがその更新に気付いていない場合がある。
【0068】
ユーザーは、更新表示570を示しているラインにおいてダブルクリックするかあるいは詳細レシピウィンドウ575を同様なやり方で呼び出すことができる。詳細レシピウィンドウ575は、バッチランタイム処理部284が1つ以上の変更を検出したレシピの1つ以上の部分を反転表示させるか、さもなければそれを特定することができる。図10に例示された例では、BATCH_001によって現在実行されているレシピの中に含まれたレシピ要素580は、上記の新しいバージョンとは異なっている。ユーザーは、このレシピ要素580の変更を見ることができるとともに、RECIPE_001を手動方式または自動方式で同期化することができる。
【0069】
本発明は、単に例示的なものであって本発明を限定することを意図しない特定の例を参照して説明されてきたが、本発明の精神および範囲から逸脱することなく、開示された実施形態に変更、追加または削除を行うことができることは当業者にとって明らかである。
【図面の簡単な説明】
【0070】
【図1】図1は、バッチラン環境が要求に応じてレシピ同期化を実施するプロセス制御ネットワークの一部の部分ブロック図、部分模式図である。
【図2】図2は、S88規格に合致するレシピの入れ子構造が例示されているブロック図である。
【図3】図3は、バッチラン環境における構成サブシステムとやりとりするバッチサブシステムの代表的アーキテクチャーを例示しているブロック図である。
【図4】図4は、1つのレシピ要素がその要素の名称を変更することなく更新されるバージョンのレシピにおけるオンライン式バッチ同期化を模式的に例示している。
【図5】図5は、新しいレシピ要素が付加されたバージョンのレシピにおいてのオンライン式バッチ同期化を模式的に例示している。
【図6】図6は、いくつかの条件付き論理が更新されたバージョンのレシピにおけるオンライン式バッチ同期化を模式的に例示している。
【図7】図7は、代表的なバッチラン環境におけるバッチの同期化の間におけるレシピ構成サブシステムとバッチサブシステムとの間の上位レベルにおけるやりとりを例示しているブロック図である。
【図8】図8は、図3において例示されたシステムによって果たされた再同期化の手順を例示している代表的フローチャートである。
【図9】図9は、特定のレシピにおける有効再同期化ポイントの構成を例示している。
【図10】図10は、手動再同期化手順の間にユーザーへ表示することのできる代表的ダイアログスクリーンを例示している。

【特許請求の範囲】
【請求項1】
製造環境において、複数の動作および複数のパラメーターを指定する製品レシピに従ってバッチ処理を実行する方法であって、
前記製品レシピの第1バージョンに対応するバッチ処理の少なくとも1つの動作を実行し、
前記製品レシピの前記第1バージョンとは異なる前記製品レシピの第2バージョンを受け取り、
前記バッチ処理が完了する前に前記バッチ処理の実行を一時停止し、
前記バッチ処理の実行を前記製品レシピの前記第2バージョンに従って再開する、
方法。
【請求項2】
前記製品レシピに従って前記バッチ処理を実行することは、複数のステップを実行することを含み、それぞれのステップは、少なくとも1つの操作を備えている単位手順に対応し、それぞれの操作は、少なくとも1つのフェーズを有し、
前記バッチ処理は、前記複数のステップの第1のステップに関連付けられた条件が満たされた場合に前記複数のステップの前記第1のステップから前記複数のステップの第2のステップへ移行することを含む、
請求項1に記載の方法。
【請求項3】
前記製品レシピの前記第2バージョンを受け取ることは、
単位手順、操作、またはフェーズの少なくとも1つにおいて前記製品レシピの前記第1バージョンとは異なる前記製品レシピの前記第2バージョンを受け取ることを含む、
請求項2に記載の方法。
【請求項4】
前記製品レシピに従って前記バッチ処理を実行することは、
ANSI/ISA−88(S88)規格に合致する前記製品レシピに従って前記バッチ処理を実行することを含む、
請求項2に記載の方法。
【請求項5】
前記バッチ処理の少なくとも1つの同期化ポイントを指定する構成データを受け取ることをさらに含み、
前記少なくとも1つの同期化ポイントは、前記バッチ処理を一時停止することができる、前記製品レシピの前記第1バージョンの前記複数の動作のうちの2つ以上の動作の間のトランザクションに対応する、
請求項1に記載の方法。
【請求項6】
前記バッチ処理の実行を前記レシピの前記第2バージョンに従って再開することは、
前記少なくとも1つの同期化ポイントに到達した場合に前記レシピの前記第2バージョンを自動的に選択することを含む、
請求項5に記載の方法。
【請求項7】
前記構成データを受け取ることは、
前記バッチ処理の少なくとも1つの動作を実行する前に、前記構成データを受け取ることを含み、
前記バッチ処理の実行を一時停止することは、
前記少なくとも1つの同期化ポイントに到達した場合に前記バッチ処理の実行を一時停止し、
前記バッチ処理の実行の前記一時停止をユーザーインターフェイスへ報告する、
ことを含み、
前記方法は、
前記ユーザーインターフェイスからの第1コマンドの受け取りに応じて、前記バッチ処理の実行を前記レシピの前記第1バージョンに従って再開することをさらに含み、
前記バッチ処理の実行を前記レシピの前記第2バージョンに従って再開することは、
前記ユーザーインターフェイスからの第2コマンドの受け取りに応じて、前記バッチ処理の実行を前記レシピの前記第2バージョンに従って再開することを含む、
請求項5に記載の方法。
【請求項8】
前記構成データを受け取ることは、
複数の同期化ポイントを指定する前記構成データを受けることを含み、
前記バッチ処理の実行を一時停止することは、
前記複数の同期化ポイントの1つに到達するたびに前記バッチ処理の実行を一時停止し、
前記レシピの前記第2バージョンが利用可能であるかを検出するために照会を開始し、
前記レシピの前記第2バージョンが利用可能でない場合には、前記バッチ処理の実行を前記レシピの前記第1バージョンに従って再開する、
ことを含む、
請求項5に記載の方法。
【請求項9】
前記バッチ処理の実行を前記製品レシピの前記第2バージョンに従って再開することは、
認証されたユーザーからの確認を受け取ることを含む、
請求項1に記載の方法。
【請求項10】
永続的メモリーの中にイベント情報を保存することをさらに含み、
前記イベント情報は、前記複数の動作の1つまたはいくつかの完了に対応する、
請求項1に記載の方法。
【請求項11】
前記製品レシピの前記第2バージョンを受け取ることは、
前記レシピの前記第2バージョンを前記レシピの前記第1バージョンと比較して、前記レシピの前記第1バージョンと前記レシピの前記第2バージョンとの差を示すレポートを作成し、
前記レポートをユーザーインターフェイスへ送信する、
ことを含む、
請求項1に記載の方法。
【請求項12】
製造環境において、複数の動作を指定する製品レシピに従って実行されるバッチ処理を制御するシステムであって、
プロセス制御設備へ通信可能に接続されて、前記バッチ処理を実行するためのバッチ実行部と、
前記バッチ実行部へ通信可能に接続されて、少なくとも、前記バッチ処理を起動する第1コマンドと前記バッチ処理を停止する第2コマンドとによって前記バッチ実行部を制御するバッチ管理部と、
前記レシピの修正を検出するとともに前記検出された修正を示すデータを前記バッチ管理部へ報告するバッチランタイムモジュールと、
を備え、
前記バッチ管理部は、前記バッチ実行部が前記バッチ処理の実行を完了する前に、前記レシピにおける変更を前記バッチ実行部に適用することを含む、
システム。
【請求項13】
前記レシピは、複数の単位手順を含み、
前記レシピの修正は、前記レシピへの新しい単位手順の追加を含む、
請求項12に記載のシステム。
【請求項14】
前記レシピは、複数の単位手順を含み、
前記修正は、前記複数の単位手順の1つの単位手順の複数のステップの少なくとも1つの変更を含み、
前記複数の単位手順の前記1つの単位手順に、前記複数の単位手順の前記1つの単位手順の最初の名称に関連した新しいバージョン識別子を割り当てる、
請求項12に記載のシステム。
【請求項15】
前記修正は、前記複数の動作の2つの間の移行過程に関連付けられた論理演算子の変更を含む、
請求項12に記載のシステム。
【請求項16】
前記複数の動作の間の移行過程を示すイベントデータを記憶するために永続的メモリーをさらに備える、
請求項12に記載のシステム。
【請求項17】
前記バッチ管理部へ通信可能に接続されたユーザーインターフェイスをさらに備え、
前記ユーザーインターフェイスは、
前記修正を含む前記レシピの新しいバージョンで前記レシピを同期化し、前記レシピの前記新しいバージョンを前記バッチ実行部に適用するためのユーザー要求を受け取る第1機能を含む、
請求項12に記載のシステム。
【請求項18】
前記ユーザーインターフェイスは、
作動中のバッチ実行部のリストをユーザーへ提供するための第2機能と、
前記作動中のバッチ実行部の前記リストから作動中のバッチ実行部の選択をユーザーから受け取るための第3機能と、
をさらに含む、
請求項17に記載のシステム。
【請求項19】
前記ユーザーインターフェイスは、
前記レシピの前記新しいバージョンを前記バッチ実行部に適用する前にユーザー認証情報を確認するための第2機能をさらに含む、
請求項17に記載のシステム。
【請求項20】
前記ユーザーインターフェイスは、
前記レシピの同期化ポイントのセットを指定する構成データを受け取るための第2機能をさらに含み、
前記同期化ポイントのセットのそれぞれの同期化ポイントは、前記バッチ実行部を一時停止することができる、前記レシピの前記複数の動作のうちの2つの動作の間のトランザクションに対応している、
請求項17に記載のシステム。
【請求項21】
前記修正が前記レシピの論理構造に違反するか否かを決定するとともに確認表示を生成するための確認モジュールをさらに備え、
前記バッチ管理部は、前記確認表示が前記論理の違反を示していない場合にだけ、前記レシピの前記変更を前記バッチ実行部に適用する、
請求項12に記載のシステム。
【請求項22】
前記バッチランタイムモジュールは、前記レシピの前記修正を示すレポートを作成するとともに前記作成されたレポートをユーザーへ送信する、
請求項12に記載のシステム。
【請求項23】
処理プラントの内部で、複数の動作および複数のパラメーターを指定する製品レシピに従って複数のバッチ処理を実行する方法であって、
前記製品レシピの第1バージョンを受け取り、
前記製品レシピの前記第1バージョンを第1バッチ実行部および第2バッチ実行部に適用し、前記第1バッチ実行部および前記第2バッチ実行部のそれぞれは各々のプロセス制御設備を使用して前記製品レシピの実行を制御し、
前記第1バッチ実行部および前記第2バッチ実行部のそれぞれにおいて前記製品レシピの前記第1バージョンに合致する各々のバッチランを始動し、
前記製品レシピの第2バージョンを受け取り、前記製品レシピの前記第2バージョンは前記複数の動作または前記複数のパラメーターの少なくとも一つにおいて前記製品レシピの前記第1バージョンとは異なるものであり、
前記第1バッチ実行部において前記バッチランの実行を一時停止し、
前記第1バッチ実行部が前記レシピの前記第1バージョンの実行を完了する前に、前記レシピの前記第2バージョンを前記第1バッチ実行部に適用し、
前記レシピの前記第2バージョンに従って、前記第1バッチ実行部において前記バッチランの実行を再開する、
方法。
【請求項24】
前記第1バッチ実行部における前記バッチランの実行を前記レシピの前記第2バージョンに従って完了し、
前記第2バッチ実行部における前記バッチランの実行を前記レシピの前記第1バージョンに従って完了し、
前記第1バッチ実行部および前記第2バッチ実行部から実行結果を受け取り、
前記実行結果に基づいて前記第1バージョンおよび前記第2バージョンから選択する、
ことをさらに含む、
請求項23に記載の方法。
【請求項25】
前記実行結果に基づいて前記第1バージョンおよび前記第2バージョンから選択することは、
前記実行結果を示すユーザーレポートを作成し、
前記製品レシピの前記第1バージョンまたは前記製品レシピの前記第2バージョンの選択を示すユーザー選択を受け取る、
ことを含む、
請求項24に記載の方法。
【請求項26】
前記実行結果に基づいて前記第1バージョンおよび前記第2バージョンから選択することは、
前記第1バッチ実行部に関連した前記実行結果が不満足なものである場合に前記第1バッチ実行部において前記製品レシピの前記第1バージョンへ戻すことを含む、
請求項24に記載の方法。
【請求項27】
前記第1バッチ実行部における前記バッチランの実行を一時停止することは、
ユーザーコマンドの受け取りに応じて前記バッチランの実行を一時停止することを含む、
請求項24に記載の方法。
【請求項28】
前記第1バッチ実行部における前記バッチランの実行を一時停止することは、
前記バッチランの実行に関連した所定の状態の検出に応じて前記バッチランの実行を自動的に一時停止することを含む、
請求項24に記載の方法。
【請求項29】
前記レシピの前記第1バージョンを、同期化ポイントのセットに関連付けることをさらに含み、同期化ポイントそれぞれが対応するバッチ実行部の実行を一時停止することが可能な前記複数の動作のうちの2つ以上の動作の間の移行過程を指定する、
請求項24に記載の方法。
【請求項30】
前記第1バッチ実行部における前記バッチランの実行を一時停止することは、
前記第1バッチ実行部の現在の状態の情報を検索し、前記現在の状態は、前記バッチ実行部によってまたは前記複数の動作のうちの2つ以上の動作の間におけるトランザクションによって実行される前記複数の動作の1つを指定し、
前記レシピの前記第2バージョンを前記バッチ実行部の前記現在の状態で前記第1バッチ実行部に適用することができるかどうかを決定するために、前記現在の状態の情報を前記同期化ポイントのセットと比較する、
ことを含む、
請求項29に記載の方法。
【請求項31】
前記レシピの前記第2バージョンを前記第1バッチ実行部に適用する前に、前記レシピの前記第2バージョンに関連したレシピの論理構造を検証することにより前記レシピの前記第2バージョンを確認することをさらに含む、
請求項24に記載の方法。
【請求項32】
前記プロセス制御設備は、複数のフィールド装置を含み、
前記複数のフィールド装置のそれぞれは、前記処理プラントの内部で測定機能または制御機能の少なくとも一つを実行し、
前記第1バッチ実行部および前記第2バッチ実行部のそれぞれは、前記複数のフィールド装置に接続された少なくとも1つのプロセス制御装置と通信し、
前記第1バッチ実行部および前記第2バッチ実行部のそれぞれにおいて各々のバッチランを始動することは、前記レシピの前記第1バージョンに対応している指示セットを前記プロセス制御装置にダウンロードすることを含む、
請求項24に記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2009−146386(P2009−146386A)
【公開日】平成21年7月2日(2009.7.2)
【国際特許分類】
【外国語出願】
【出願番号】特願2008−242687(P2008−242687)
【出願日】平成20年9月22日(2008.9.22)
【出願人】(594120847)フィッシャー−ローズマウント システムズ, インコーポレイテッド (231)
【Fターム(参考)】