(57)【要約】【課題】使用設備または製造工程が異なるバッチ製造プラントの中で、１つのプラントで様々な銘柄を複数バッチに分けて同時実行した際に発生するデッドロックによりプロセス製造が停滞するのを防止するバッチ制御装置を得る。【解決手段】基本レシピデータをもとにユニット占有においてデッドロックが発生する可能性を検証するバッチシミュレーション機能部１８と、検証した結果、デッドロックが発生する条件を記録・蓄積するデッドロック情報データベース１９と、この記録・蓄積した情報をもとにバッチ製造実行中にデッドロックが発生するのを未然に防ぐデッドロック回避機能部２０を設けた。【選択図】図１
2008282165.tif 000002
【特許請求の範囲】
【請求項１】
使用設備または製造工程が異なる複数のバッチを同時に製造するプラントのバッチ制御装置であって、システム構築者やバッチ製造時のオペレータ等とのインタフェースを司るバッチクライアント機能部と、上記バッチクライアント機能部に登録された基本処方に応じてバッチプロセスを制御するバッチサーバ機能部と、を含むバッチ制御装置において、
上記バッチクライアント機能部は、
上記プラントの設備構成情報を登録するユニット登録機能部と、
製造するバッチに応じた製造工程、及びその製造工程で占有するユニットを登録するレシピ登録機能部と、
上記ユニット登録機能部及びレシピ登録機能部で生成される上記基本処方を上記バッチサーバ機能部に転送する処方転送機能部と、
製造計画を作成・管理するバッチスケジュール管理機能部と、
上記バッチサーバ機能部でのバッチ製造状況を表示するバッチ監視機能部と、
を備え、
上記バッチサーバ機能部は、
上記処方転送機能部より受信した基本処方から実行処方を生成し、この実行処方に基づいてバッチプロセスの最小の制御単位であるフェーズロジックの実行制御を行うことにより、プロセス機器群を動作させバッチ製造を制御するバッチ制御機能部と、
上記基本処方をシミュレーション実行し、上記基本処方の内容によりユニット占有のデッドロックが発生する可能性をチェックするバッチシミュレーション機能部と、
上記バッチシミュレーション機能部でチェックした結果を格納するデッドロック情報データベースと、
を備えたことを特徴とするバッチ制御装置。
【請求項２】
上記バッチ制御機能部に、上記基本処方が上記デッドロック情報データベースに格納されたデッドロックの発生条件と合致した場合に上記フェーズロジックへの起動指令を抑制するデッドロック回避機能部を備えたことを特徴とする請求項１記載のバッチ制御装置。
【請求項３】
使用設備または製造工程が異なる複数のバッチを同時に製造するプラントのバッチ制御方法において、
システム構築者やバッチ製造時のオペレータ等により登録された基本処方の内容によりユニット占有のデッドロックが発生する可能性をバッチシミュレーション機能部でチェックすると共に、そのチェック結果をデッドロック情報データベースに格納し、バッチ製造時にデッドロック回避機能部により上記デッドロック情報データベースを参照し、バッチ製造時の基本処方がデッドロックの発生条件と合致した場合は、バッチプロセスの最小の制御単位であるフェーズロジックへの起動指令を抑制することを特徴とするバッチ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、バッチ制御装置及びバッチ制御方法に係り、特に食品あるいは飲料製造プラントもしくは化学製造プラントのような使用設備または製造工程が異なるバッチ製造プラントの中で、１つのプラントで様々な銘柄を複数バッチに分けて同時実行した際に発生するデッドロックによりプロセス製造が停滞するのを防止するバッチ制御装置及びその装置を用いたバッチ制御方法に関するものである。
【背景技術】
【０００２】
一般にバッチ制御に関しては、プロセス制御の問題に関係する国際組織である、国際測定制御学会（International Society for Measurement and Control）が１９９５年に発行した「バッチ制御パート１：モデルと用語（Batch Control part1：Models and Terminology）」規格がある。この規格は、通常、ＩＳＡ  Ｓ８８．０１−１９９５規格と呼ばれており、このＩＳＡ  Ｓ８８．０１−１９９５規格で規定されているように、従来のバッチ制御装置においては、基本処方のレシピは、プロシージャ（procedure）、ユニット・プロシージャ（unit procedure）、オペレーション(operation)、フェーズ（phase）といった階層化された単位制御機能の要素の組合せで構成され、それぞれの要素において、その機能を実現する為に使用するタンク、釜等の設備である物理的なユニット、あるいは弁、モータ、センサー等のユニットに付随する機器である制御モジュールを紐付けることにより作成されている。これにより複数の品種（バッチ）の製造を同時に実行する場合、複数バッチ間で物理的に１つのユニットあるいは制御モジュールを同時に使用しないようにバッチ制御装置がユニットの占有管理を行っている（例えば、特許文献１参照）。
【０００３】
【特許文献１】特開２０００−１４８７０２号公報（段落００１４、図８）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のバッチ制御装置は上述のようにレシピが構成されているので、ユニットを占有する順序が異なるレシピ、あるいは占有するユニットが異なるレシピを登録した場合、それらをもとに生成した実行処方により制御される複数のバッチを同時に実行した際、バッチの組合せによっては後から実行したバッチが先行するバッチがまだ使用していないユニットを先に占有してしまう場合がある。このとき、先行するバッチは次に必要とするユニットを占有することができない。
【０００５】
また、後から実行したバッチが次に占有する必要があるユニットを先行バッチが占有している場合、互いのバッチで必要なユニットが占有できず、次の工程に進むことが出来ない、所謂、デッドロック状態が発生する危険性があった。
【０００６】
更に、これらを回避する為にレシピの作成方法を工夫する必要があった。
【０００７】
しかし、レシピを構成する要素の数が多く且つ銘柄が増えると、各銘柄の実行順序の組合せを全銘柄に対して検証する必要があり、レシピ作成時間及び動作検証時間に多大な時間を要することになる。また、動作検証漏れにより、バッチ製造中にデッドロックが発生し、バッチ製造が止まってしまい大きな損害が発生するなどの問題点があった。
【０００８】
この発明は上記のような課題を解決するためになされたものであり、登録した複数のレシピをもとに作成された実行処方により、複数バッチを同時に実行した際に、デッドロックが発生する可能性があるか否かを事前に把握できるバッチ制御装置を得ることを目的とする。
【０００９】
また、別の発明はデッドロック発生を未然に回避することができるバッチ制御装置及びバッチ制御方法を得ることを目的とする。
【課題を解決するための手段】
【００１０】
この発明に係るバッチ制御装置は、使用設備または製造工程が異なる複数のバッチを同時に製造するプラントのバッチ制御装置であって、システム構築者やバッチ製造時のオペレータ等とのインタフェースを司るバッチクライアント機能部と、上記バッチクライアント機能部に登録された基本処方に応じてバッチプロセスを制御するバッチサーバ機能部と、を含むバッチ制御装置において、上記バッチクライアント機能部は、上記プラントの設備構成情報を登録するユニット登録機能部と、製造するバッチに応じた製造工程、及びその製造工程で占有するユニットを登録するレシピ登録機能部と、上記ユニット登録機能部及びレシピ登録機能部で生成される上記基本処方を上記バッチサーバ機能部に転送する処方転送機能部と、製造計画を作成・管理するバッチスケジュール管理機能部と、上記バッチサーバ機能部でのバッチ製造状況を表示するバッチ監視機能部と、を備え、上記バッチサーバ機能部は、上記処方転送機能部より受信した基本処方から実行処方を生成し、この実行処方に基づいてバッチプロセスの最小の制御単位であるフェーズロジックの実行制御を行うことにより、プロセス機器群を動作させバッチ製造を制御するバッチ制御機能部と、  上記基本処方をシミュレーション実行し、上記基本処方の内容によりユニット占有のデッドロックが発生する可能性をチェックするバッチシミュレーション機能部と、上記バッチシミュレーション機能部でチェックした結果を格納するデッドロック情報データベースと、を備えたものである。
【００１１】
また、この発明に係るバッチ制御方法は、使用設備または製造工程が異なる複数のバッチを同時に製造するプラントのバッチ制御方法において、システム構築者やバッチ製造時のオペレータ等により登録された基本処方の内容によりユニット占有のデッドロックが発生する可能性をバッチシミュレーション機能部でチェックすると共に、そのチェック結果をデッドロック情報データベースに格納し、バッチ製造時にデッドロック回避機能部により上記デッドロック情報データベースを参照し、バッチ製造時の基本処方がデッドロックの発生条件と合致した場合は、バッチプロセスの最小の制御単位であるフェーズロジックへの起動指令を抑制するものである。
【発明の効果】
【００１２】
この発明によれば、システム構築者がユニット占有のデッドロックの発生可能性を検討することなく基本処方を作成できるので、従来と比較して基本処方の作成時間、作成した処方の動作検証時間を大幅に削減することできる。
【発明を実施するための最良の形態】
【００１３】
以下に添付図面を参照して、この発明に係るバッチ制御装置およびその装置を用いたバッチ制御方法の好適な実施の形態を説明する。
【００１４】
実施の形態１．
図１は実施の形態１に係るバッチ制御装置の全体機能構成を示すブロック図である。図１に示すように、実施の形態１のバッチ制御装置は、システム構築者やバッチ製造時のオペレータ等とのインタフェースを司るバッチクライアント機能部１と、登録された基本処方に応じてバッチプロセスを制御するバッチサーバ機能部２から構成されている。バッチクライアント機能部１は一般にパーソナルコンピュータ、産業用コンピュータ等のハードウエアに実装される。また、バッチサーバ機能部２はハードディスクレスのプロセス制御用コントローラ等信頼性の高いハードウエアに実装される。
【００１５】
バッチクライアント機能部１は、プラントを構成するユニット構成情報を蓄積する設備データベース３、及びバッチシーケンス情報を蓄積するレシピデータベース４、これらの情報を登録するユニット登録機能部５、及びレシピ登録機能部６を有する。基本処方生成部７は、設備データベース３、及びレシピデータベース４からなり、バッチプロセス制御に必要なデータを生成する。
【００１６】
また、バッチクライアント機能部１は、バッチ制御を司るバッチサーバ機能部２に基本処方生成部７で生成された基本処方を転送する処方転送機能部８、バッチスケジュールの登録、実行中のバッチの状態監視、各種データ設定等の機能を有するバッチ監視機能部９、及びバッチ監視機能部９により登録されたバッチスケジュール１０をバッチサーバ機能部２に転送し、バッチスケジュールの進捗状況を管理するバッチスケジュール管理機能部１１を有する。なお、図中の実線矢印はデータの流れを示し、破線矢印は指示・指令の流れを示している。
【００１７】
バッチサーバ機能部２は、バッチクライアント機能部１より受信した基本処方１２から実行処方１３を生成する実行処方生成機能部１４、バッチスケジュール１０、及び実行処方１３にもとづいてバッチ製造において制御論理を行うために定義された制御アプリケーションプログラムの最小単位であるフェーズロジック１５の起動制御を行うことにより、プロセス機器群１６を制御し、且つ、フェーズロジック１５の起動状態をバッチクライアント機能部１に情報提供するバッチ制御機能部１７を有する。
【００１８】
また、基本処方１２に登録された処方にもとづきバッチ製造を模擬するバッチシミュレーション機能部１８、バッチシミュレーション機能部１８により導き出されるユニット占有のデッドロックが発生する条件を蓄積するデッドロック情報データベース１９、バッチ実行制御時に次のフェーズロジック１５に起動指令を出した場合、デッドロック条件に該当するか否かを判断し、デッドロック情報データベース１９に蓄積された条件に該当する場合は、フェーズロジック１５への起動指令を抑制するデッドロック回避機能部２０を有する。
【００１９】
ここで、デッドロックについて説明する。図２はデッドロックについて説明する図であり、この図２において、ＡないしＥはタスク、ＤＡ１ないしＤＡ５はデータセットをそれぞれ示している。いま、タスクＡがデータセットＤＡ１を、タスクＢがデータセットＤＡ２を、タスクＣがデータセットＤＡ３を、タスクＤがデータセットＤＡ４を、タスクＥがデータセットＤＡ５を占有しているものとする。この状態の下において、タスクＢがデータセットＤＡ１を指定して占有要求を発行すると、タスクＢはタスクＡがデータセットＤＡ１を開放するまで待ち状態になる。同様に、この状態の下でタスクＣがデータセットＤＡ２を指定して占有要求を発行するとタスクＣは待ち状態になり、タスクＤがデータセットＤＡ３を指定して占有要求を発行すると、タスクＤは待ち状態になり、タスクＥがデータセットＤＡ４を指定して占有要求を発行するとタスクＥは待ち状態となる。タスクＢないしＥが待ち状態となっている状態の下で、タスクＡがデータセットＤＡ５を指定して占有要求を発行すると、タスクＡないしＥの全てが待ち状態になる。この状態がデッドロックである。
【００２０】
図３は実施の形態１によるバッチ制御装置が制御対象とするバッチプロセスの設備構成の一例を示す図である。このバッチプロセスでは原料タンクＡ、原料タンクＢ、原料タンクＣで原料の受入を行い、調合タンクＡ、調合タンクＢで受け入れた原料の調合を行い、バッファタンクで調合液をバッファリングした後、ろ過タンクＡ、ろ過タンクＢでろ過した後、貯蔵タンクで一定時間温度管理した後、払い出しを行うプロセスとなっている。
【００２１】
図４は図３の設備構成に対してレシピとして登録したプロシージャＡを示す図である。通常、バッチシーケンスは図４のようなストラクチャード・ファンクション・チャート（以下、ＳＦＣと表す）の形式で表現するのが一般的である。図４において、符号３０はシーケンスの開始を表し、符号３１はシーケンスの終了を表す。また、Ａ１〜Ａ１０はステップと呼び、実行する処理の内容を記述する。図４ではプロシージャ階層を記載しているので各ステップはユニット・プロシージャを表す。
【００２２】
ユニット・プロシージャの下位には符号３２で示すＯＰ原料受入Ｃのようなオペレーション、符号３３で示すＰＨ原料受入Ｃのようなフェーズの階層があるが、本実施の形態では記載を省略している。符号３４はトランジションと呼びステップから次のステップへ遷移するための条件を記述する。本実施の形態ではトランジション３４は前のステップの完了とする。符号３５は並列分岐の開始、符号３６は並列分岐の終了を表す。並列分岐の開始３５では、ＵＰ原料受入Ａ（ステップＡ１）とＵＰ原料受入Ｂ（ステップＡ２）の両方が実行可能な条件が揃えば同時に開始し、並列分岐の終了３６では、ＵＰ原料受入Ａ（ステップＡ１）とＵＰ原料受入Ｂ（ステップＡ２）の両方が完了すればトランジション３４の条件が成立し、次のＵＰ調合ＡＢ（ステップＡ３）へとシーケンスが進む。
【００２３】
図５はプロシージャＡの全ての要素及び各要素で占有するユニットを一覧表に表したものである。例えばＵＰ調合ＡＢのように通常はタンク間を移送する場合、移送元・移送先のタンクを占有する。
【００２４】
図１のバッチサーバ機能部２は、図４のように登録されたプロシージャの情報をもとにバッチシーケンスを実行する。このとき図５のように登録されたプロシージャの各要素が占有するユニットの情報を参照し、複数のバッチが同一ユニットを占有しないようにプロシージャの各要素の起動を行う。これによりバッチが混合することを防ぐ。
【００２５】
図６は図３の設備構成における図４とは別のプロシージャＢを表している。また、図７は図６のプロシージャＢの全要素及び各要素で占有するユニットを一覧表に表したものである。
【００２６】
図８は基本処方のプロシージャＡから作成された実行処方Ａ、及び基本処方のプロシージャＢから作成された実行処方Ｂの２つのバッチを同時実行している様子を表している。このとき、実行処方ＡはＵＰ調合ＢＢ（ステップＡ４）を、実行処方ＢはＵＰ調合ＣＡ（ステップＢ２）を実行している。
【００２７】
図５より実行処方Ａでは原料タンクＢ及び調合タンクＢを占有している。また、図６より実行処方Ｂでは原料タンクＣ及び調合タンクＡを占有している。
【００２８】
実行処方Ａは次のステップＡ５の原料受入Ｃを実行する為には、原料タンクＣを占有することが必要である。しかし、原料タンクＣは、実行処方Ｂで占有しており、これが開放されるまで次のステップを開始することができない。
【００２９】
実行処方Ｂは、次のステップＢ３の原料受入Ｂを実行する為には、原料タンクＢを占有することが必要である。しかし、原料タンクＢは、実行処方Ａで占有しており、これが開放されるまで次のステップを開始することができない。
【００３０】
この場合、実行処方Ａ、実行処方Ｂ共に、これ以上ステップを先に進めることができず、デッドロック状態に陥る。このような状況になることを避ける為、ＳＦＣの構築方法を工夫したり、事前に実行処方に基づき、バッチ製造をシミュレーションし、ユニット占有によるデッドロックが発生することが無いように確認することが必要である。
【００３１】
図１に示す実施の形態１において、バッチシミュレーション機能部１８は、基本処方１２から前述したようなデッドロックが発生する可能性があるかを自動的にチェックし、デッドロックが発生する条件をデッドロック情報１９データベースに蓄積する。
【００３２】
デッドロック回避機能部２０は、バッチ実行時にデッドロック情報データベース１９を参照し、デッドロックが発生する条件と合致した場合は、フェーズロジック１５への起動指令を抑制し、デッドロックが発生することを未然に防ぐものである。
【００３３】
実施の形態１に係るバッチ制御装置は上記のように構成されており、次に、実施の形態１によるバッチ制御装置を用いたバッチ制御方法について説明する。
図９は図１のバッチシミュレーション機能部１８がシミュレーションにより、ユニット占有のデッドロック発生の可能性を検出する際の動作を示したフローチャートである。
【００３４】
ユニット占有のデッドロックは２つの実行処方が同時に実行されている際、先行しているバッチを後から実行されたバッチが追いつき、必要なユニット占有が開放されるまで待つ状況下において発生する。したがって、基本処方が完成した時点で、全てのプロシージャの組合せで検証を行い、デッドロックが発生する条件が存在するかチェックを行う必要がある。
【００３５】
図９において、ステップＳＴ１の「チェックしていないプロシージャが存在するか否か」の判断段階では全てのプロシージャに対してチェックが完了しているかを判断している。全てチェックが完了していれば、処理を終了する。チェックが完了していないプロシージャが存在する場合、ステップＳＴ２の「プロシージャの選定１」の段階に移行し、基本処方よりチェック対象のプロシージャを１つ選定する。
【００３６】
次に、ステップＳＴ３の「選定したプロシージャとの検証が完了していないプロシージャが存在するか否か」の判断段階で、ステップＳＴ２にて抽出したプロシージャとの検証が完了していない別のプロシージャが存在するかを判断する。存在しない場合は、ステップＳＴ１に戻り処理を継続する。存在する場合、ステップＳＴ４の「プロシージャの選定２」の段階に移行し、ステップＳＴ２で選定したプロシージャと検証するプロシージャを決定する。この場合、ステップＳＴ２で選定したプロシージャ自身もその選定候補とする必要がある。
【００３７】
次に、ステップＳＴ５の「シミュレーション実行」の段階にて、デッドロックが発生する可能性があるかを判断する為にシミュレーションを実行する。その後、ステップＳＴ６の「ユニット占有でデッドロックが発生するか否か」の判断段階に移行し、デッドロックが発生する可能性が発見された場合、ステップＳＴ７の「デッドロック情報ＤＢへ記録」する段階に移行し、そのときの条件を記録する。なお、デッドロックが発生する可能性が発見されない場合は、ステップＳＴ３に戻り処理を継続する。
【００３８】
図１０は図９におけるステップＳＴ５の「シミュレーション実行」の段階の動作を詳細に示したフローチャートである。選定した２つのプロシージャを実行しながら、デッドロック発生の可能性を検証する。
【００３９】
ステップＳＴ５１の「プロシージャの選定１で選定したプロシージャの実行が終了したか否か」の段階で選定したプロシージャが最後まで実行したことを判断する。最後まで実行した場合は、デッドロックが発生する可能性は無いものとして終了する。また、最後まで実行していなければ、ステップＳＴ５２の「プロシージャの選定１で選定したプロシージャの次のステップを実行」の段階に移行し、１ステップのみ実行する。
【００４０】
次に、ステップＳＴ５３の「ステップの実行結果判定」の段階にて、実行したステップがユニット占有待ちにより実行状態とならなかった場合、デッドロックが発生したと判断して、ステップＳＴ５７の「デッドロック発生条件を検知」の段階に進む。また、実行状態となった場合は、ステップＳＴ５４の「プロシージャの選定２で選定したプロシージャの実行が終了したか否か」の段階に移行し、検証対象のプロシージャが最後まで実行したことを判断する。このステップＳＴ５４の段階で、最後まで実行したと判断された場合は、デッドロックが発生する可能性は無いものとして終了し、最後まで実行していないと判断された場合は、ステップＳＴ５５の「プロシージャの選定２で選定したプロシージャの次のステップを実行」の段階に移行し、検証対象として選定したプロシージャのステップを進める。
【００４１】
次に、ステップＳＴ５６の「ステップの実行結果判定」の段階にて、実行したステップがユニット占有待ちにより実行状態とならなかった場合、ステップＳＴ５１の段階に戻って処理を継続する。また、実行状態となった場合は、ステップＳＴ５４に戻り、検証対象のプロシージャが最後のステップまで実行していれば、デッドロックが発生する可能性は無いものとして終了する。最後のステップまで実行していなければ、ユニット占有待ちになるまでステップを進める。
【００４２】
図１１は図１に示すデッドロック情報データベース１９のデータ構造の一例を表したものである。図９のステップＳＴ７の「デッドロック情報ＤＢへ記録」では、図１１のような情報を図１のデッドロック情報データベース１９へ記録する。
【００４３】
図１２は図１のバッチサーバ機能部２がバッチを実行する際の動作を示したフローチャートである。
図１２において、ステップＳＴ１の「実行処方の作成・起動が必要か否か」の判断段階では図１のバッチスケジュール１０により、バッチ起動が必要かどうかを判断している。バッチ起動が必要な場合はステップＳＴ２の「基本処方参照」に移行し、図１の基本処方１２より起動するバッチの基本処方を抽出する。
【００４４】
その後、ステップＳＴ３の「実行処方作成」段階では、図１の実行処方生成機能部１４により、基本処方から実行処方を作成する。ステップＳＴ４「次に起動するステップを検出」では、作成した実行処方より次に実行するステップを検出する。ステップＳＴ５の「デッドロック情報ＤＢ参照」段階では、図１のバッチシミュレーション機能部１８が作成したデッドロック情報データベース１９を参照する。
【００４５】
次に、ステップＳＴ６の「デッドロック発生条件に該当するか否か」の判断段階では、図１のデッドロック回避機能部２０により、次に起動すべきステップを実行した場合、ステップＳＴ５で検出したデッドロック発生条件と該当するかどうかを判断する。ステップＳＴ６の判断により該当すると判断された場合は、ステップＳＴ７の「先行バッチの条件に該当又は後行バッチの条件に該当か否か」の判断段階に移行する。ステップＳＴ７において、デッドロック発生条件のいずれの条件に該当するかを判断する。
【００４６】
ステップＳＴ６の判断でデッドロック発生条件に該当しないと判断された場合、あるいはステップＳＴ７で先行バッチの条件に該当すると判断された場合は、ステップＳＴ８の「ユニット占有処理実行」の段階に移行し、ユニット占有可能であればステップＳＴ９の「ユニット占有処理」へ進む。また、ステップＳＴ７で後行バッチの条件に該当すると判断された場合、あるいはステップＳＴ８にてユニット占有不可と判断された場合は、ステップＳＴ１０の「渋滞処理」へ進む。
【００４７】
ステップＳＴ８の「ユニット占有処理実行」の段階、及びステップＳＴ９の「ユニット占有処理」の段階では、次ステップが占有するユニットの占有処理を実行し、他バッチがそのユニットを占有できないようにした後、ステップＳＴ１１の「次ステップ起動」の段階に移行し、次ステップへの起動指令を発行する。この起動指令を受けた図１のフェーズロジック１５がプロセス機器群１６を制御し、バッチ製造を実行する。
【００４８】
ステップＳＴ１２の「渋滞中のバッチが存在するか否か」の判断段階で渋滞中のバッチが存在する場合、ステップＳＴ４の「次に起動するステップを検出」段階に戻り、渋滞中のバッチが存在しない場合は、ステップＳＴ１３の「完了済みステップが存在する」の段階に進む。
【００４９】
ステップＳＴ１３の「完了済みステップが存在する」の段階で完了済みステップが存在する場合、ステップＳＴ４の「次に起動するステップを検出」に戻り、完了済みステップが存在しない場合、あるいはステップＳＴ１０の「渋滞処理」の段階で渋滞処理した後には、ステップＳＴ１の「実行処方の作成・起動が必要」の段階に進む。
【００５０】
上記のように実施の形態１では、登録された基本処方に応じてバッチプロセスを制御するバッチサーバ機能部２に、バッチシミュレーション機能部１８、デッドロック情報データベース１９を設け、更に、バッチ制御機能部１７にデッドロック回避機能部２０を設けたので、基本処方の登録に誤りがあった場合でも、バッチサーバ機能部２によりデッドロックが発生する可能性があるか否かを事前に把握できるバッチ制御装置が得られると共に、自動的にそれを回避し、ユニット占有によるデッドロック発生を防ぐバッチ制御装置及びバッチ制御方法を得ることができ、システム構築・検証時間を大幅に減少し、且つバッチ製造の実操業を安全に行うことができる。
【産業上の利用可能性】
【００５１】
この発明によるバッチ制御装置及びバッチ制御方法は、食品あるいは飲料製造プラントもしくは化学製造プラントのようなバッチ製造プラントの中で、１つのプラントで様々な銘柄を複数バッチに分けて同時実行する製造プラントに利用できる。
【図面の簡単な説明】
【００５２】
【図１】この発明の実施の形態１によるバッチ制御装置の全体機能構成を示すブロック図である。
【図２】デッドロックについて説明する図である。
【図３】実施の形態１によるバッチ制御装置が制御対象とするバッチプロセスの設備構成の一例を示す図である。
【図４】図３の設備構成に対してレシピとして登録したプロシージャＡを示す図である。
【図５】プロシージャＡの全ての要素及び各要素で占有するユニットを一覧表に表したものである。
【図６】図３の設備構成における図４とは別のプロシージャＢを示す図である。
【図７】図６のプロシージャＢの全要素及び各要素で占有するユニットを一覧表に表したものである。
【図８】基本処方のプロシージャＡから作成された実行処方Ａ、及び基本処方のプロシージャＢから作成された実行処方Ｂの２つのバッチを同時実行している様子を表した図である。
【図９】図１のバッチシミュレーション機能部がシミュレーションにより、ユニット占有のデッドロック発生の可能性を検出する際の動作を示したフローチャートである。
【図１０】図９におけるシミュレーション実行の段階の動作を詳細に示したフローチャートである。
【図１１】図１に示すデッドロック情報データベースのデータ構造の一例を表したものである。
【図１２】図１のバッチサーバ機能部がバッチを実行する際の動作を示したフローチャートである。
【符号の説明】
【００５３】
１  バッチクライアント機能部
２  バッチサーバ機能部
３  設備データベース
４  レシピデータベース
５  ユニット登録機能部
６  レシピ登録機能部
７  基本処方生成部
８  処方転送機能部
９  バッチ監視機能部
１０  バッチスケジュール
１１  バッチスケジュール管理機能部
１２  基本処方
１３  実行処方
１４  実行処方生成機能部
１５  フェーズロジック
１６  プロセス機器群
１７  バッチ制御機能部
１８  バッチシミュレーション機能部
１９  デッドロック情報データベース
２０  デッドロック回避機能部
３０  シーケンスの開始
３１  シーケンスの終了
３２  ＯＰ原料受入Ｃ
３３  ＰＨ原料受入Ｃ
３４  トランジション
３５  並列分岐の開始
３６  並列分岐の終了
【図１】
2008282165.tif 000003
【図２】
2008282165.tif 000004
【図３】
2008282165.tif 000005
【図４】
2008282165.tif 000006
【図５】
2008282165.tif 000007
【図６】
2008282165.tif 000008
【図７】
2008282165.tif 000009
【図８】
2008282165.tif 000010
【図９】
2008282165.tif 000011
【図１０】
2008282165.tif 000012
【図１１】
2008282165.tif 000013
【図１２】
2008282165.tif 000014