(57)【特許請求の範囲】
【請求項１】
プロセス制御システム内の第１ノードにて記憶され実行されるバッチ実行ルーチンと、第２ノードとを備えるプロセスを制御するために用いられるプロセス制御システムであって、
第１ノードに配置されて実行され、バッチ実行ルーチンと通信するように構成されたソフトフェーズサーバルーチンと、
第１ノードから離れた第２ノードに記憶され実行されるソフトフェーズルーチンであって、該ソフトフェーズルーチンはプロセス制御システムの外部のシステムと相互作用するように構成されて、第２ノードは、通信リンクを介して第１ノードと通信可能に連結されているソフトフェーズルーチンと、
第２ノードに配置されて実行され、ソフトフェーズサーバと通信して、第２ノードでソフトフェーズを実行するように構成されたソフトフェーズブローカールーチンとを備えることを特徴とするプロセス制御システム。
【請求項２】
ソフトフェーズサーバは、通信リンクを介してソフトフェーズブローカーと通信すべくなしてある第１通信ソフトウェアを含んでおり、ソフトフェーズブローカーは、通信リンクを介してソフトフェーズサーバと通信すべくなしてある第２通信ソフトウェアを含んでいる請求項１に記載のプロセス制御システム。
【請求項３】
ソフトフェーズブローカーは更に、第２ノードにソフトフェーズを位置させて該ソフトフェーズを実行するように構成されたプログラムランチャーを含んでいる請求項２に記載のプロセス制御システム。
【請求項４】
ソフトフェーズブローカーは、第２ノードにてソフトフェーズの実行が完了したときにソフトフェーズサーバに通知すべくなしてある請求項２に記載のプロセス制御システム。
【請求項５】
第１ノードから離れた複数の第２ノードを有し、ソフトフェーズサーバは、ソフトフェーズルーチンが記憶されて実行される複数の第２ノードの特定の１つの識別表示をバッチ実行ルーチンから受信するように構成され、
ソフトフェーズサーバは更に、複数の第２ノードのうち、ソフトフェーズルーチンが格納されて実行される特定の１つの識別表示を用いて、ソフトフェーズブローカーと通信するように構成された、請求項２に記載のプロセス制御システム。
【請求項６】
第１ノードから離れた複数の第２ノードを有し、ソフトフェーズサーバは、複数の第２ノードのうち、ソフトフェーズルーチンが環境設定データベース内にて記憶されて実行される旨を示す特定の１つの第２ノードの識別表示を見つけて、
ソフトフェーズサーバは更に、複数の第２ノードのうち、ソフトフェーズルーチンが格納されて実行される特定の１つの識別表示を用いて、ソフトフェーズブローカーと通信するように構成された、請求項２に記載のプロセス制御システム。
【請求項７】
第２ノードにて記憶され実行されるべくなしてあるソフトフェーズテストツールを更に含んで、第２ノードに記憶されているソフトフェーズをテストする、請求項２に記載のプロセス制御システム。
【請求項８】
プロセス制御システム内の第１ノードに配置される第１演算装置と、
プロセス制御システム内の第２ノードに配置される第２演算装置と、
第１ノードと第２ノードとの間の通信を提供する第１ノードと第２ノードとの間の通信リンクと、
第１演算装置にて記憶され実行されるように構成された実行ルーチンと、
第２演算装置にて記憶され実行されるように構成されて、バッチ処理に関する動作を手動で起動することを可能にするソフトフェーズルーチンと、
第１演算装置及び第２演算装置にて記憶され実行されるように構成された遠隔通信ソフトウェアであって、該遠隔通信ソフトウエアによって実行ルーチンは通信リンクを介して第２演算装置にて実行されるソフトフェーズルーチンを呼び出すことを特徴とするプロセス制御システム。
【請求項９】
実行ルーチンは、バッチプロセスを制御すべくなしてあるバッチ実行ルーチンである請求項８に記載のプロセス制御システム。
【請求項１０】
遠隔通信ソフトウェアは、第１演算装置にて記憶され実行されるべくなしてあるサーバルーチンと、第２演算装置にて記憶され実行されるように構成されているブローカールーチンとを含んでいる請求項８に記載のプロセス制御システム。
【請求項１１】
サーバは、通信リンクを介してブローカールーチンと通信するように構成された第１通信ソフトウェアを含んでおり、該ブローカールーチンは、通信リンクを介してサーバルーチンと通信すべくなしてある第２通信ソフトウェアを含んでいる請求項１０に記載のプロセス制御システム。
【請求項１２】
ブローカールーチンは更に、プログラムランチャーを含み、該プログラムランチャーは、第２演算装置のソフトフェーズルーチンを見つけて、第２演算装置のソフトフェーズルーチンを開始するように構成された、請求項１１に記載のプロセス制御システム。
【請求項１３】
ブローカールーチンは、ソフトフェーズルーチンが実行を完了したときにサーバルーチンに通知するように構成された、請求項１２に記載のプロセス制御システム。
【請求項１４】
実行ルーチンは、ソフトフェーズルーチンが第２演算装置にて記憶され実行されることをサーバルーチンに通知するように構成された、請求項１２に記載のプロセス制御システム。
【請求項１５】
ソフトフェーズサーバルーチンによって用いられるべく、ソフトフェーズルーチンが第２演算装置にて記憶され実行される旨を示す識別表示を記憶する環境設定データベースを更に備えている、請求項１２に記載のプロセス制御システム。
【請求項１６】
第２演算装置にて記憶され実行されるように構成されたソフトフェーズテストツールを更に含んで、第２演算装置に記憶されているソフトフェーズルーチンをテストする、請求項８に記載のプロセス制御システム。
【請求項１７】
プロセス内で制御ルーチンを実行する方法であって、
第１演算装置に実行ルーチンを記憶するステップと、
第１演算装置から離れているが、通信リンクを介して第１演算装置と連結されている第２演算装置にソフトフェーズルーチンを記憶するステップであって、該ソフトフェーズルーチンは外部システムの少なくとも１つと相互作用し、又はプロセスに関する動作を手動で起動することを可能にするように構成されたステップと、
実行ルーチンを用いて、プロセスで実行され少なくとも一つはソフトフェーズルーチンである一連のフェーズを呼び出すステップと、
第１演算装置にてサーバルーチンを用いて、第１演算装置内の実行ルーチンと通信し、通信リンクを介して第２演算装置と通信し、実行ルーチンがソフトフェーズルーチンを呼び出すときに、第２演算装置内でソフトフェーズルーチンの実行を開始するステップと、を含むことを特徴とする制御ルーチン実行方法。
【請求項１８】
実行ルーチンを記憶するステップは、バッチプロセスを制御すべくなしてあるバッチ実行ルーチンを記憶するステップを含む、請求項１７に記載の制御ルーチン実行方法。
【請求項１９】
第２演算装置内でブローカールーチンを用いて、通信リンクを介してサーバルーチンと通信し、第２演算装置におけるソフトフェーズルーチンを開始するステップを更に含む、請求項１７に記載の制御ルーチン実行方法。
【請求項２０】
サーバルーチン及びブローカールーチン内で通信層を用いて、通信リンクを介して通信するステップを更に含む、請求項１７に記載の制御ルーチン実行方法。
【請求項２１】
第２演算装置上でソフトフェーズルーチンの実行が完了したとき、ブローカールーチンを用いて、サーバルーチンに通知するステップを更に含む、請求項２０に記載の制御ルーチン実行方法。
【請求項２２】
実行ルーチンがソフトフェーズルーチンを呼び出すとき、ソフトフェーズルーチンが第２演算装置に記憶されたことを示す識別表示をサーバルーチンに渡すステップを更に含む、請求項１７に記載の制御ルーチン実行方法。
【請求項２３】
ソフトフェーズルーチンが第２演算装置に記憶されたことを示す識別表示をデータベース内に記憶し、ソフトフェーズルーチンが第２演算装置に記憶されたことを示す識別表示を用いて、第２のノードにてソフトフェーズブローカルーチンと通信するステップとを更に含む、請求項１７に記載の制御ルーチン実行方法。
【請求項２４】
第２演算装置にソフトフェーズテストツールを記憶し、第２演算装置にてソフトフェーズテストツールを用いて、第２演算装置に記憶されているソフトフェーズルーチンをテストするステップを更に含む、請求項１７に記載の制御ルーチン実行方法。
【請求項２５】
サーバルーチンを用いて通信するステップは、Ｄ−ＣＯＭプロトコルを用いるステップを含む、請求項１７に記載の制御ルーチン実行方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、概してプロセス制御ネットワークに関し、特に、バッチプロセスのようなプロセスにおいてソフトフェーズを開始する方法及びその方法を実施するために用いられるシステムに関する。
【０００２】
【従来の技術及び発明が解決しようとする課題】
化学，石油，又は他のプロセス等において用いられるようなプロセス制御ネットワークは、例えばバルブポジショナ，スイッチ，センサ（例えば温度，圧力及び流速センサ）等である一又は複数のフィールド装置を通信可能に連結する一又は複数のプロセスコントローラを含んでいるのが一般的である。これらのフィールド装置は、（例えばバルブを開く又は閉じる等の）プロセス内で物理制御機能を実施したり、プロセスの動作の制御に用いるためにプロセス内で測定を行ったり、又はプロセス内で他の所望の機能を実施することが可能である。プロセスコントローラは、従来、一又は複数のアナログ信号回線又は例えば４〜２０ミリアンペアの信号をフィールド装置へ及びフィールド装置から伝えることが可能なバスを介してフィールド装置を接続している。しかしながら、より最近では、プロセス制御産業は、コントローラとフィールド装置との間の通信を実施するために用いることができる、例えばファンデーション（商標）フィールドバス（以下、フィールドバスという），ＨＡＲＴ（登録商標），ＰＲＯＦＩＢＵＳ（登録商標），ＷＯＲＬＤＦＩＰ（登録商標），ＬＯＮＷＯＲＫＳ（登録商標），Ｄｅｖｉｃｅ−Ｎｅｔ（登録商標），及びＣＡＮプロトコル等のような標準的で、オープンで、デジタル又はデジタルとアナログとが組み合わされた通信プロトコルをいくつか開発している。一般的に言うと、プロセスコントローラは、一又は複数のフィールド装置及び／又はフィールド装置に関係のある他の情報により行われた測定値を示す信号を受信し、通常の複雑な制御ルーチンを実行するためにこの情報を用い、信号回線又はバスを介してフィールド装置に対して送信される制御信号を生成する。その結果、プロセスの動作が制御されることになる。
【０００３】
例えばバッチプロセスにて用いられるような特定のタイプのプロセス制御ネットワークは、プロセス内で実質的に同一の機能を実施する同一又は類似の設備を備えるように設計された複数組の複製された設備を含んでいるのが通常である。したがって、例えばクッキー製造工場は複数組のミキサー設備、複数組の焼き設備、複数組の包装設備を備えており、いくつかの又はすべての個々のミキサーは並列に実行することができ、いくつかの又はすべての焼き設備及び包装設備と共に連続して動作するために接続することができる。通常では、バッチプロセスにおいては、一又は複数のプロセスコントローラと通信できるように接続されているワークステーションにバッチ実行ルーチンが記憶されており、そのバッチ実行ルーチンはいくつかの異なるステップ又はステージを次々と開始し、バッチの実行を行うために第２ステージを開始する前に第１ステージを終了する。したがって、上述したクッキー製造工場においては、バッチ実行ルーチンはミキサー設備を制御するために第１サブプロセス又はステップを実行し、次にミキサー設備によって作られた製品に対して焼き設備を作動させるために第２サブプロセスを実行し、焼き設備により作られた製品を包装するために第３のサブプロセスを実行する。これらのサブプロセスにおける異なるステップは通常フェーズと呼ばれる。
【０００４】
概して、バッチ実行ルーチンと呼ばれるマスタプログラムは、異なるノードに配置された多くのユーザワークステーション及びコントローラを備えているプロセス制御環境の中で主要なノード又は他の都合の良いノードに配置されている。バッチ実行ルーチンは、特定のバッチプロセス制御の枠組みを構成する異なるフェーズをスケジュールして開始する。特に、バッチ実行ルーチンは、第２のフェーズが開始される前に第１のフェーズが完了する（以降も同様にして次のフェーズが開始される前に先のフェーズが完了する）ことを保証して、次々にバッチプロセスの異なるフェーズを呼び出すために生成される。バッチ実行ルーチンによって開始される実際のフェーズは、（プロセス制御環境内の異なるノードに存在する）一又は複数のコントローラにて記憶されて実行される。そして、特定のフェーズを実行するコントローラは、そのフェーズを実行した後、バッチ実行ルーチンに対してフェーズが完了したことを報告する。同様にして、フェーズの実行が失敗した場合又はフェーズにおいて他の問題が発生した場合、コントローラは、オペレータに問題を伝えることができ、問題を緩和し又は無視するための指示をコントローラに与えることができるバッチ実行ルーチンに対して通知する。いくつかの事例では、コントローラ内のフェーズはまた、フェーズを実行するために必要となる情報のためのバッチ実行ルーチンへの要求及び／又はフェーズの動作と関係のあるデータのバッチ実行ルーチンへの供給を行う。
【０００５】
一般的に、他のプロセスと同様に多くのバッチプロセスにおいては、プロセス制御システムはプロセス制御システムの外部にある他のシステムと対話する必要がある。このような外部システムの例には、これに限られるわけではないが、手元にある原材料の量についての情報を記憶している原材料データベース、これらの材料が割り当てられている等のバッチ、バッチから引き出されたサンプルに基づいて（成分、濃度、純度等のような）実験解析情報を提供する研究所情報管理システム、プロセス設備識別タグ，製品保管コンテナタグ，原材料識別コード等を走査するために用いられる無線周波数バーコードリーダのような情報入力システム、及び手動（即ちオペレータ）により開始されるアクション等が含まれる。一般的に言って、これらの外部のシステムは、コントローラ上よりもむしろワークステーション上で実行する。
【０００６】
外部のシステム又はアクションと対話できるようにするために、バッチ実行ルーチンは、ソフトフェーズと一般に呼ばれるものを実行し又は呼び出す。概して、ユーザにより供給されるものであって、パーソナルコンピュータ（ＰＣ）に基づいた（例えばVisual Basic又はVisual C++等によって記述された）ルーチンであるソフトフェーズは、上述したように、外部のシステムと相互作用するために、又は手動でアクションを開始可能とするために、ワークステーション又はコントローラの代わりの他のユーザインタフェース上で実行される。例えば、ソフトフェーズの主な機能はユーザ、オペレータ、保守管理者等と、バッチプロセスの動作に必要な方式で通信することである。ソフトフェーズは、バッチプロセスのために必要な手動のアクティビティのような特定のアクティビティが発生することを保証するために、オペレータ又は他の工場従事者と対話するときに用いられる。ここで、ソフトフェーズは特定のステップを実行するようにオペレータに通知することが可能であり、アクションが完了するときにソフトフェーズに通知するようにオペレータに依頼することが可能である。ソフトフェーズは、次のステップを実行することをオペレータに通知し、通知が行われたことに対する応答を待つ。これらの一般的なタイプのソフトフェーズは、オペレータに、バッチプロセスの他のフェーズにおいて用いられる特定の設備をロードさせ又は設定させ、バッチプロセスが正確に実施することを保証するためのサンプルを取ってきてテストさせる等のために用いられる。もちろん、ソフトフェーズは他の目的で用いられてもよい。
【０００７】
従来、バッチ実行ルーチンは、そのバッチ実行ルーチンが記憶されているのと同じワークステーション又はコンピュータ（即ちノード）に記憶されているソフトフェーズを呼び出したり又はそのソフトフェーズを実行することに限定されていた。ここで、バッチ実行ルーチンは、同じワークステーション上のソフトフェーズを呼び出して実施するためにバッチ実行ルーチンを実行するようにワークステーション内のサーバに指示していた。ソフトフェーズサーバは、ソフトフェーズを見つけて開始し、ソフトフェーズの実行が完了したときにバッチ実行ルーチンに報告する。ソフトフェーズはまた、必要であれば、バッチ実行ルーチンから情報を取得するためにソフトフェーズサーバを通じてバッチ実行ルーチンとやり取りする。
【０００８】
通常、バッチ実行ルーチンは、工場内の主要な又は安全な場所にあるマスタワークステーション上で作動している。また、ソフトフェーズを実施しているとき、そのフェーズの作動中にある種のユーザに対してアクション及び入力を要求することが通常である。そのため、ユーザはマスタワークステーションの側にいなければならず、ソフトフェーズを実行している間は操作が必要となる工場設備から離れることになる。これにより、オペレータ又はユーザがソフトフェーズの各ステップの後に工場外に出て、そのステップの完了に応答するために戻ることになるため、ユーザにとって不便であり、ソフトフェーズを迅速に実行することができなくなる。換言すれば、ソフトフェーズはバッチ実行ルーチンとして同一のワークステーション上で実行されなければならないため、ソフトフェーズは一般的にソフトフェーズと対話するユーザにとって不便なワークステーション上で実行されることになる。また、バッチ実行ルーチンとして同一のワークステーション上で動作しているソフトフェーズは、バッチ実行ルーチンを低速にしてＣＰＵ上の負荷問題の原因となり得るリソースの処理のためにバッチ実行ルーチンに対処することになる。さらにまた、いくつかのソフトフェーズは、所望の機能を実施するために、データベースのような他のリソースを用いる必要がある。しかしながら、これにより、バッチ実行ルーチンが存在するノードとデータベースサーバのノードとの間で大量のネットワークトラフィックが発生することになるために望ましくない。
【０００９】
【課題を解決するための手段】
本発明のプロセス制御システムは、ソフトフェーズを呼び出しているバッチ実行ルーチンが実行しているノードから遠く離れて又は切り離されているノード又はコンピュータ上で実施することができるソフトフェーズを含んでいる。このシステムは、オペレータの仕事を簡単にしてその結果ソフトフェーズの実行をより速くすることが可能なソフトフェーズの作動に対して最も便利なワークステーション又はノード上のソフトフェーズとオペレータが対話できるようにする。また、このシステムは、バッチ実行ノード上のＣＰＵ又はネットワークの負荷を軽減し、リソース又は通信が集中するおそれのあるソフトフェーズを、他のノード上に配置することによって、バッチ実行ノードに対して及びバッチ実行ノードからのネットワークトラフィックを軽減することが可能である。
【００１０】
本発明の一の側面によれば、プロセス制御システムは、プロセス制御システム内の第１ノードに配置された第１演算装置、プロセス制御システム内の第２ノードに配置された第２演算装置、及び第１ノードと第２ノードとの間の通信を提供する第１ノードと第２ノードとの間の通信リンクを含んでいる。例えばバッチ実行ルーチン等である実行ルーチンは、第１演算装置にて記憶され実行されるべくなしてあり、ソフトフェーズは、第２演算装置にて記憶され実行されるべくなしてあり、遠隔通信ソフトウェアは、通信リンクを介して実行するためのソフトフェーズを実行ルーチンが呼び出すことを可能にするために、第１及び第２演算装置にて夫々記憶され実行されるべくなしてある。
【００１１】
遠隔通信ソフトウェアは、第１演算装置にて記憶され実行されるべくなしてあるサーバと、第２演算装置にて記憶され実行されるべくなしてあるソフトフェーズブローカーとを含んでおり、サーバ及びブローカーは、通信リンクを介して通信すべくなしてある通信ソフトウェア又は通信層を含んでいる。望むのであれば、ブローカーは第２演算装置上にソフトフェーズを配置して実行するためのプログラムランチャを含み、第２演算装置上でソフトフェーズの実行が完了したときにサーバに通知すべくなすことが可能である。また、ブローカーは、ソフトフェーズとバッチ実行ルーチンとの間のやり取りを調整することも可能である。また、実行ルーチンは、ソフトフェーズを呼び出すとき、又はプロセス制御システムに関連する環境設定データベースから確認可能なソフトフェーズの位置を見つけたときに、ソフトフェーズの位置をサーバに通知することも可能である。
【００１２】
【発明の実施の形態】
図１を参照すると、プロセス制御ネットワーク１０は、例えばイーサネット（登録商標）通信コネクション１７を介して種々の複数のコンピュータ又は複数のワークステーション１３，１４及び１５と連結されている一又は複数のコントローラ１２ａ〜１２ｃを含んでいる。もちろん、通信コネクション１７はバス、一組のワイヤ、無線コネクションを含むいくつかのタイプの通信リンクとすることができる。図１に示すように、複数のコントローラ１２ｂの一つは、入力／出力（Ｉ／Ｏ）装置（図示せず）及び一組の通信回線又はバス１８を介してプロセス（一般に参照番号１６によって示されている）内の装置又は設備と連結されている。他のコントローラ１２ａ及び１２ｃは、同様にして他のフィールド装置及び設備と接続されている。例示のみの目的で示すと、フィッシャー・ローズマウント  システムズ，インコーポレイテッドによって販売されているデルタＶ（商標）コントローラであるコントローラ１２ｂは、フィールド装置、及び一又は複数の制御ルーチンを実行するためにプロセス１６を通じて割り当てられるフィールド装置内の機能ブロックのような制御要素と通信することができる。その結果、コントローラ１２ｂは、プロセス１６の所望の制御を実施することができる。これらのプロセス制御ルーチンは、連続的又はバッチプロセス制御ルーチン若しくは手順である。ワークステーション１３〜１５（例えば、パーソナルコンピュータ又はその他の所望のタイプのコンピュータ、サーバ、ワークステーション等）は、プロセス制御システム１０の異なるノードに配置されており、コントローラ１２により実行されるプロセス制御ルーチンを設計するため、コントローラ１２と通信してプロセス制御ルーチン等をダウンロードするため、プロセス１６の動作中にプロセス１６に対して確認する情報を受信して表示するため、及びコントローラ１２により実行されるプロセス制御ルーチンと別の方法で対話するために、一又は複数の技術者、オペレータ、保守管理者等によって用いられる。各ワークステーション１３〜１５は、環境設定アプリケーションのようなアプリケーションを記憶するため、プロセス１６の設定を確認する環境設定データのようなデータを記憶するためにメモリ２０を含んでいる。また、各ワークステーション１３〜１５は、ユーザがプロセス制御ルーチンを実行することができるようにするため、及びコントローラ１２ａ〜１２ｃに対してこれらのプロセス制御ルーチンをダウンロードするためにアプリケーションを実行するプロセッサ２１を含んでいる。同様にして、図示するとおり、コントローラ１２ｂは、設定データ、及びプロセス１６を制御するために用いられるバッチプロセスのためのフェーズのようなプロセス制御ルーチンを記憶するためのメモリ２２を含んでおり、プロセス制御計画を実施するためにプロセス制御ルーチンを実行するプロセッサ２４を含んでいる。コントローラ１２ｂがデルタＶコントローラである場合、プロセス制御ルーチン内のの制御要素及び制御要素がプロセス１６の制御を提供するために設定されている方式を示しているワークステーション１３〜１５のうちの一台を介して、コントローラ１２ｂ内のプロセス制御ルーチンの図式的な表現をユ���ザに対して提供する。
【００１３】
図１に示しているプロセス制御ネットワーク１０の例において、コントローラ１２ｂは、バス１８を介して、２組の同様な設定設備と通信可能に接続されている。その各組は、ここで原子炉＿01（Ｒ１）又は原子炉＿01（Ｒ１）と言及される原子炉ユニットと、フィルタ＿01（Ｆ１）又はフィルタ＿01（Ｆ２）と言及されるフィルタユニットと、乾燥炉＿01（Ｄ１）又は乾燥炉＿02（Ｄ２）と言及される乾燥炉ユニットとを備えている。原子炉＿01は、原子炉容器１００と、例えばヘッドタンク（図示せず）から原子炉容器１００へ流体を与える流入口を制御するために連結されている２個の入力バルブ１０１及び１０２と、その原子炉容器１００からの流量を制御するために連結されている出力バルブ１０３とを含んでいる。温度センサ、圧力センサ、流速メータ等のセンサ又は電気ヒーター若しくは蒸気ヒーター等のいくつかの他の設備である装置１０５は、原子炉容器１００の中に又はその近くに配列される。原子炉＿01は、フィルタ設備１１０を有しているフィルタ＿01と、バルブ１０３を介して連結されており、次に乾燥炉設備１２０を有している乾燥炉＿01と連結されている。同様にして設備の第２の集合は、原子炉容器２００と、２個の入力バルブ２０１及び２０２と、出力バルブ２０３と、装置２１０とを備える原子炉＿02を含んでいる。原子炉＿02は、フィルタ設備２１０を有しているフィルタ＿02と連結されており、次に乾燥炉設備２２０を有している乾燥炉＿02と連結されている。フィルタ設備１１０及び２１０並びに乾燥炉設備１２０及び２２０は、それと共に関連する付加的な制御要素（例えばヒーター、コンベヤベルト及び同様なもの）、センサ等を備えていてもよい。
【００１４】
図１に示すように、コントローラ１２ｂは、これらのユニットに関する一又は複数のオペレーションを実施するための後述する要素のオペレーションを制御するために、バルブ１０１〜１０３,２０１〜２０３と、装置１０５,２０５と、フィルタ１１０，２１０と、乾燥炉１２０,２２０と（それと共に関連する他の設備と）、バス１８を介して通信可能に連結されている。このようなオペレーションには、例えば原子炉容器又は乾燥炉への補充，原子炉容器又は乾燥炉内の材料の加熱，原子炉容器又は乾燥炉の中身の放出，原子炉容器又は乾燥炉の清掃，フィルタの操作等が含まれる。これらの異なるオペレーションの夫々は、例えばコントローラ１２ｂにて記憶されて実行される異なるフェーズによって実施される。
【００１５】
図１に示すバルブ、センサ及び他の設備は、フィールドバス装置、標準的な４〜２０ミリアンペア装置、ＨＡＲＴ装置等を含む所望の種類又はタイプの設備であり、フィールドバスプロトコル、ＨＡＲＴプロトコル、４〜２０ミリアンペアアナログプロトコル等の公知の又は所望の通信プロトコルを用いてコントローラ１２ｂと通信する。さらに、他のタイプの装置は、望むのであればコントローラ１２ｂに連結され、該コントローラ１２ｂによって制御される。また、他のコントローラは、プロセス１６に関連する他の装置又は領域を制御するために、イーサネット通信リンク１７を介して、コントローラ１２ｂ、ワークステーション１３〜１５と連結される。このような付加的なコントローラのオペレーションは、所望の方式で図１に示しているコントローラ１２ｂのオペレーションの調整を行う。
【００１６】
概して、図１のプロセス制御システムは、バッチプロセス（又は非バッチプロセス）を実施するために用いられ、例えば、ワークステーション１３がバッチ実行ルーチンのような実行ルーチンを記憶して実行する。一例であるバッチ実行ルーチン５２は、図１のワークステーションにおいて表現され、図２により詳細が示されている。概して、バッチ実行ルーチン５２は、原子炉ユニット、フィルタユニット、乾燥炉ユニット又は図１の他の設備のような単一のユニット上で動作するサブルーチン又はプロセスである一又は複数のユニット手順のオペレーションを指示する高レベルの制御ルーチンである。各ユニット手順は、一又はそれ以上のコントローラに基づいたフェーズ、伝統的に単にフェーズと呼ばれるものを含む一連のオペレーションを含む又は実施する。ここで、フェーズはユニット上で実施される最低レベルのアクション又はステップであり、通常はコントローラ（コントローラ１２ｂ等）において実施又は実行される。オペレーションは、ユニット上の特定の機能を実施する一組のフェーズであり、コントローラにおいて動作する一連のフェーズを呼び出すことによってワークステーション１３上で実施又は実行される。ユニット手順は単一のユニット上で実施される一連の一又は複数のオペレーションであり、通常は一組のオペレーション呼び出しとして実施される。図２に示すように、バッチ実行ルーチン５２は、４つのユニット手順５４，５６，５８，６０を含んでいる。ユニット手順５４は、２つ又は３つのフェーズを夫々有している２つのオペレーションを含んでおり、ユニット手順５８は、ソフトフェーズ６２と、２つ又は４つのフェーズを夫々有している２つのオペレーションとを含んでいる。ユニット手順５６,６０は、単に、詳細を後述するソフトフェーズである。もちろん、バッチ実行ルーチン５２は例示であって、その一部としてユニット手順、オペレーション、フェーズ及びソフトフェーズを含んでいてもよく、さらに、ソフトフェーズは、望むのであれば、オペレーション又はユニット手順内にあってもよく又はそれらから切り離されていてもよい。フェーズ及びソフトフェーズは、所望の命令又は手順でバッチ実行ルーチンによって呼び出され、ある場合には同時に動作することができる。また、ルーチン５２は、サブルーチン又はフェーズを呼び出す実行ルーチンであればよく、バッチ実行ルーチンに限定されるわけではない。
【００１７】
理解されるとおり、バッチ実行ルーチン５２は、食品、薬品等のような製品を製造するために必要となる異なるステップ又はステージを実施する。異なるユニット手順、オペレーション及びフェーズを実施するために、バッチ実行ルーチン５２は、実施すべきステップ、ステップに関連する量及び時間、並びにステップの順序を特定する手法として一般に言及されるものを用いる。一の手法のためのステップには、例えば、原子炉容器を適切な材料又は成分で満たしたり、原子炉容器内の材料を混ぜたり、特定の時間帯にわたって特定の温度を保つように原子炉容器内の材料を温めたり、原子炉容器を空にして次のバッチ動作のために原子炉容器を清掃したり、原子炉の出力をフィルタリングするためにフィルタを作動させたり、原子炉容器において生成された製品を乾かすために乾燥炉を稼働したりすることが含まれる。異なるユニットに関連する各一連のステップは、バッチ動作のユニット手順と、ユニット手順の一つのための異なる制御アルゴリズムを実行するバッチ実行ルーチン又はバッチ手順５２とを定義する。もちろん、特定の材料、材料の量、温める温度及び時間などは、異なる手法によって異なるものとなり得、その結果、これらのパラメータは製造又は生産される製品及び用いられる手法に依存してバッチ実行からバッチ実行へ変化する。当業者であれば、ここでは、制御ルーチン及び設定が図１に示される原子炉ユニット、フィルタユニット及び乾燥炉ユニットにおけるバッチ実行のために説明しており、望むのであれば、制御ルーチンは他の所望のバッチプロセスを実行するため又は連続的にプロセス動作を実行するための他の所望の装置を制御するために用いられることが可能であることを理解するであろう。
【００１８】
当業者によって理解されるとおり、バッチプロセスの同一のフェーズ、オペレーション又はユニット手順は、同一の時間又は異なる時間に図１の異なる原子炉ユニットの夫々において実施される。さらに、図１の原子炉ユニットは一般的に同一の数及びタイプの設備（即ち、それらは同一のユニットクラスに属している）を含んでいるため、特定のフェーズのための同一の一般的なフェーズ制御ルーチンは、異なる原子炉ユニットの夫々を制御するために用いることが可能である。但し、この一般的なフェーズ制御ルーチンが、異なる原子炉ユニットに関連する異なるハードウェア又は設備を制御するために修正されることは除外する。例えば、原子炉＿01（ここではその原子炉ユニットは満たされている）のための注ぎフェーズを実施するために、例えば流体レベルメータ１０５によって容器１００が満杯であると感知されるまで、注ぎ制御ルーチンは特定の期間に亘って一又は複数の入力バルブ１０１又は１０２を開くことになる。しかしながら、バルブ１０１又は１０２の代わりにバルブ２０１又は２０２を入力バルブとするように単に設定を変更することによって、及び流体レベルメータ１０５の代わりに勇退レベルメータ２０５を流体レベルメータとするように設定を変更することによって、この同一の制御ルーチンは原子炉＿02のための注ぎフェーズを実施するために用いることが可能となる。同様にして、ある手法はタンクが満たされるレベルを特定することが可能である。
【００１９】
上述したとおり、従来、コントローラの代わりにコンピュータ又はワークステーション上で実行されるソフトフェーズは、バッチ実行ルーチン５２が記憶されているのと同一のコンピュータ又はワークステーション上で実行されなければならなかった。したがって、図１のシステムの例において、バッチ実行ルーチン５２はワークステーション１３にて実行されるので、ソフトフェーズ５６，６０及び６２もそのワークステーション１３上にて実行されなければならなかった。しかしながら、ワークステーション１３は、ユーザが一又は複数のソフトフェーズ５６，６０及び６２について取り扱わなければならないアクションに関して不便な場所に配されている。実際に、ソフトフェーズ５６，６０及び６２を、ワークステーション１４又は１５のような、ソフトフェーズと関連のある設備又はソフトフェーズと対話するために最も適した者が位置付けられている場所にあるワークステーションである設備に近いところにある一又は複数の異なるワークステーション上で実行させることが望まれている。また、位置又はそれ以上の異なるワークステーション上で実行されるソフトフェーズ５６，６０及び６２を備えることは、バッチ実行ルーチンを実行させるノードの負荷を軽減し又はその負荷の管理に役立てることが可能であり、バッチを実行しているノードに対して又はそのノードからの通信トラフィックを軽減することに役立てることが可能である。
【００２０】
本発明では、バッチ実行ルーチンが実行されたノードから離れて遠隔的にソフトフェーズを実行することができるようになる。したがって、本発明では、例えば、ワークステーション１４及び１５、又はバッチ実行ルーチン５２を実行するワークステーション１３から離れている他のワークステーション（ワークステーション１３とは異なるノードにあるワークステーション）に、一又は複数のソフトフェーズ５６，６０及び６２を記憶しておき、そのワークステーション上でそれらのソフトフェーズを実行することが可能になる。
【００２１】
図３を参照すると、ワークステーション１３，１４及び１５はブロック図の形式で示されており、バス１７を介して通信可能に相互接続されている。ワークステーション１３は、標準的な又は公知の手法でコントローラ１２ａ〜１２ｃに記憶されているフェーズを次々と呼び出すユニット手順５４及び５８を実行させるバッチ実行ルーチン５２を記憶して実行する。さらに、ワークステーション１３は、バッチ実行ルーチン５２と通信するソフトフェーズサーバ７０を含んでいる。従来、ソフトフェーズサーバ７０は、ソフトフェーズ７２及び７４のように、ワークステーション１３上に記憶されているソフトフェーズの位置を見つけて実行するように制限されていた。しかしながら、本発明に従えば、ソフトフェーズサーバ７０は、ワークステーション１４及び１５に示されるように、他のノードに記憶されているソフトフェーズの位置をソフトフェーズサーバ７０が見つけて、そのソフトフェーズを実行することを可能にする遠隔通信ソフトウェア７６を備えている。より詳しく言うと、ソフトフェーズ５６及び６２はワークステーション１４上に記憶されており、ソフトフェーズ６０はワークステーション１５上に記憶されている。ソフトフェーズ５６は、バーコードリーダによって提供されるような外部入力を認める機能を含んでおり、ソフトフェーズ６２は実験又は材料データベースのような外部データべース７７を使用する機能を含んでいる。ソフトフェーズ６０は、オペレータに手動機能を実施させるためにユーザインタフェースを介してオペレータと通信する機能を含んでいる。
【００２２】
図３に示すとおり、各遠隔ワークステーション１４及び１５は、通信ネットワーク又は回線１７を介してソフトフェーズサーバ７０と通信するように設定されているソフトフェーズブローカー８０を夫々備えている。より詳しく言うと、ソフトフェーズブローカー８０は、ネットワーク１７を渡ってソフトフェーズサーバ７０と通信する遠隔通信ソフトウェア８２を含んでいる。ソフトフェーズサーバ７０及びソフトフェーズブローカー８０内に備えられた通信ソフトウェア又は通信層７６及び８２は、マイクロソフト社のＤ−ＣＯＭプロトコル、ＴＣＰ，ＩＰ等のような通信リンク１７と関連する又は通信リンク１７を用いるいかなるタイプの通信ソフトウェア又は通信層であってもよい。さらに、ソフトフェーズブローカー８０は、同一のノード又はコンピュータ上のソフトフェーズを発見し、開始し（ランチし）、及びそのソフトフェーズと通信するランチングソフトウェア８４のプログラムを含んでいる。ソフトフェーズブローカー８０は、ソフトフェーズサーバ７０によるソフトフェーズの呼び出しに応答する遠隔ノード上のソフトフェーズのオペレーションを調整する。また、ソフトフェーズブローカー８０は、遠隔ノードにおいて実行されるソフトフェーズの代わりに、サーバ７０又はバッチ実行ルーチン５２との間で必要となる通信を実施する。したがって、ソフトフェーズが情報を必要とする場合又はバッチ実行ルーチン５２にエラーの通知を行う必要がある場合等に、ソフトフェーズブローカー８０は、リンク１７を渡ってソフトフェーズサーバ７０に対してこれらの要求又はメッセージを送る通信ソフトウェアを備え、適切な場合には、バッチ実行ルーチン５２からの応答を受け取る。要するに、ソフトフェーズブローカー８０は、ノード上のソフトフェーズのオペレーション及び一又は複数のソフトフェーズを実行するためのソフトフェーズブローカー８０を含む各ノードを調整することになる。
【００２３】
バッチ実行ルーチン５２が動作している間、バッチ実行ルーチン５２はソフトフェーズ５６，６２及び６０を適切なときに呼び出す。この機能を実施するために、バッチ実行ルーチン５２は、ソフトフェーズ５６，６２又は６０を記憶しており、これらを実行するノード又は場所の表示を記憶している。その代わりに、ソフトフェーズが配置されているノードの識別子を、ソフトフェーズサーバ７０又はバッチ実行ルーチン５２がアクセス可能な環境設定データベース９０に記憶しておいてもよい。したがって、例えばソフトフェーズ５６のように一のソフトフェーズを呼び出すとき、バッチ実行ルーチン５２は、ソフトフェーズ５６を実行するために必要となる他の情報と共に、ソフトフェーズ５６が配置されているノードをソフトフェーズサーバ７０に供給する。その代わりに、ソフトフェーズサーバ７０が、環境設定データベース９０又は他の所望のファイル若しくはデータベースからソフトフェーズの位置を見つけるようにしてもよい。次に、ソフトフェーズサーバ７０は、通信リンク１７を介してノード又はワークステーション１４内でソフトフェーズブローカー８０との通信を確立するために、遠隔通信ソフトウェア又は通信層７６を用いる。ワークステーション１４においてソフトフェーズブローカー８０との通信を確立した後又は確立しているとき、ソフトフェーズサーバ７０はソフトフェーズブローカー８０に対してソフトフェーズ５６を見つけて実行するように指示する。その後、ソフトフェーズブローカー８０は、ソフトフェーズ５６を見つけるためにワークステーション１４内を探索し、それからソフトフェーズ５６を開始する。ソフトフェーズ５６は、実行されている間、バッチ実行ルーチン５２に対して情報を供給するため又はバッチ実行ルーチン５２からの情報を取得するために、ソフトフェーズブローカー８０と対話する。もちろん、これらの通信を行っている間、ソフトフェーズブローカー８０は、次々に、ソフトフェーズサーバ７０、バッチ実行ルーチン５２と適宜通信する。ソフトフェーズ５６、ソフトフェーズブローカー８０及び／又はソフトフェーズサーバ７０は、ソフトフェーズ５６の動作中に発生したエラー又は他の問題について報告し、バッチ実行ルーチン５２は、ソフトフェーズ５６に対する更なる情報の供給、異なるルーチンの実行、又はオペレータへの問題の報告のうちのいずれかを行うことによって問題に対処する。
【００２４】
ソフトフェーズ５６の実行が完了した後、ソフトフェーズブローカー８０は、実行が完了したことをソフトフェーズサーバ７０に通知し、ソフトフェーズサーバ７０は、ソフトフェーズ５６の完了をバッチ実行ルーチン５２に通知し、それからバッチ実行ルーチン５２は、次の手順、オペレーション又はフェーズを呼び出す。
【００２５】
もちろん、ソフトフェーズサーバ７０は同一のワークステーション１４内又は他のワークステーション内で他のソフトフェーズと通信してそのソフトフェーズを実行することができる。同様にして、各ソフトフェーズブローカー８０は、ノード又はワークステーション内でいくつかのソフトフェーズを実行して通信することができる。また、いかなるノード又はワークステーションでも、いくつかのソフトフェーズを記憶して実行することができ、バッチ実行ルーチンはいくつかの異なるノード又はワークステーションにおいてもいくつかのソフトフェーズを実行し又は呼び出すことができる。
【００２６】
概して、標準的で公知なソフトフェーズサーバの機能性は、２つの部分に分けられる。第１の部分は、（バッチ実行ルーチン５２と通信する）ソフトフェーズサーバ７０が、バッチ実行ルーチン５２が記憶されているのと同一のワークステーション又はノードに記憶されていることである。また、第２の部分は、（ソフトフェーズとの間の正常な又は標準的な通信を行い、ソフトフェーズを見つけて実行する）ソフトフェーズブローカー８０が、ソフトフェーズが記憶されているのと同一のノードに記憶されていることである。これらの各部分は、互いを繋げる遠隔ネットワークリンクを通じて通信がバッチ実行ルーチン５２とソフトフェーズとの間の通信を達成することを可能にする通信ルーチン又は通信層７６又は８２を含んでいる。バッチ実行ルーチン５２又はソフトフェーズサーバ７０が各特定のソフトフェーズを実行すべきノードに対して通知しなければならないということ以外には、発生する特定のタイプの通信は公知のソフトフェーズで用いられる標準的なものである。この情報は、動作時間の前又は動作時間中にオペレータが提供することができ、バッチ実行ルーチン自身にプログラムさせておくことができる、又は環境設定データベース９０若しくはファイルのための他のデータベースに記憶しておくことができる。
【００２７】
更に、望むのであれば、ルーチン９２及び９４のような、いかなる形式又はいかなるタイプの所望のテストプログラム又は手順にもなり得る図３に示すソフトフェーズのテストルーチンを、ソフトフェーズを記憶しているノードに記憶させておくことができる。テストルーチン９２及び９４は、ソフトフェーズサーバ７０又はバッチ実行ルーチン５２と関連するプロセス制御プロトコルを用いることなく、ノード１４及び１５にてソフトフェーズのテスト及びデバッグに用いることが可能である。このことは、プロセス制御システムのオペレーションから切り離して又は隔てて、所望のときに、ソフトフェーズを次々とテストしてデバッグすることを可能にする。実際に、テストルーチン９２及び９４は、バッチ実行ルーチン５２又はソフトフェーズサーバ７０をシステム１０に提供する前に用いられる。
【００２８】
ここで述べているソフトフェーズを含む通信及びフェーズルーチン、並びにソフトフェーズブローカー及びソフトフェーズサーバルーチンは、所望のプロセス制御プログラミング環境内で用いられ実施することができ、所望のプロセス制御通信プロトコルを用いるいかなるプロセス制御システムにおいても用いられることができ、更にいかなるタイプの装置（複数の装置）又は装置（複数の装置）のサブユニットに関するいかなるタイプの機能を実施するためにも用いることができる。ここで述べたルーチンは、例えばワークステーション、サーバ又は他のコンピュータ装置に記憶されているソフトウェア上で実施されていることが望ましい。しかしながら、これらのルーチンは、望むのであれば、その代わりに又は追加的にハードウェア、ファームウェア、特定用途向けＩＣ（集積回路）、プログラマブル論理回路等で実施するようにしてもよい。ソフトウェアで実施される場合、プロセス制御ルーチンは、磁気ディスク、レーザーディスク又は他の記憶媒体のようなコンピュータが読み取ることが可能なメモリ、コンピュータ、コントローラ、フィールド装置のＲＡＭ又はＲＯＭ等に記憶しておくことが可能である。同様にして、このソフトウェアは、例えば電話回線、インターネット等の通信チャネルを介する場合、コンピュータが読み取ることが可能なディスクのような可搬型媒体を介する場合を含む公知又は所望の納入方法を介してユーザ又は装置に対して納入することが可能である。
【００２９】
本発明は特定の例を参照して説明しているが、この例は例示するのみの目的であって本発明を限定する意図はなく、当業者であれば、本発明の目的及び範疇を逸脱しない範囲で、開示された実施例に対して変更、追加又は削除がなされることは明らかであろう。
【図面の簡単な説明】
【図１】遠隔ノードの一又は複数のソフトフェーズを呼び出すためにバッチ実行を用いるプロセス制御ネットワークの一部を示す部分ブロック図、部分概略図である。
【図２】コントローラに基づいたフェーズ及びソフトフェーズを呼び出すバッチ実行手順を示す図である。
【図３】バッチ実行が遠隔ノードに配置されたソフトフェーズを呼び出すことを可能にする構成要素を含む図１のプロセス制御システムにおける３台のワークステーションを示すブロック図である。
【符号の説明】
１０  プロセス制御ネットワーク
１２ａ〜１２ｃ  コントローラ
１３〜１５  ワークステーション
１６  プロセス
１７  通信コネクション
１８  バス
２０  メモリ
２１  プロセッサ
２２  メモリ
２４  プロセッサ
５２  バッチ実行ルーチン
５４，５８  ユニット手順
５６，６０，６２  ソフトフェーズ
７０  ソフトフェーズサーバ
８０  ソフトフェーズブローカー
９０  環境設定データベース
１００  原子炉容器
１０１，１０２  入力バルブ
１０３  出力バルブ
１０５  装置
１１０  フィルタ設備
１２０  乾燥炉設備
２００  原子炉容器
２０１，２０２  入力バルブ
２０３  出力バルブ
２１０  フィルタ設備
２２０  乾燥炉設備
【図１】
0005155510.tif 000002
【図２】
0005155510.tif 000003
【図３】
0005155510.tif 000004