(57)【要約】【課題】データベースとして与えられたプラント構造図及びマスターレシピから、効率よくコントロールレシピを作成（自動生成）する方法等を提供する。【解決手段】スケジュール情報と、クラス及びトポロジーを含むプラント構造データと、マスターレシピとを用いてコントロールレシピを作成するコントロールレシピの作成システムであって、前記マスターレシピは、領域知識又は前記プラント構造データの情報とリンクされた複数のキーワードを用いてプラントの操作手順を記述する形式言語で作成されていることを特徴とする構成とする。【選択図】図１
2005128862.tif 000002
【特許請求の範囲】
【請求項１】
スケジュール情報と、クラス及びトポロジーを含むプラント構造データと、マスターレシピとを用いてコントロールレシピを作成するコントロールレシピの作成システムであって、前記マスターレシピは、領域知識又は前記プラント構造データの情報とリンクされた複数のキーワードを用いてプラントの操作手順を記述する形式言語で作成されていることを特徴とするコントロールレシピの作成システム。
【請求項２】
マスターレシピに含まれる前記形式言語のキーワードが、予め決められた論理演算に従って、前記キーワードとリンクされている領域知識又はプラント構造データの情報に順次置換されることにより、前記プラントにおける特定のコントロールレシピが作成されることを特徴とする請求項１記載のコントロールレシピの作成システム。
【請求項３】
前記マスターレシピは、マスターレシピの中で繰り返し用いられる複数のタスクの組とリンクされた形式動作表現（メタオペレーション又はメタユニットプロシージャ）を含むことを特徴とする請求項１記載のコントロールレシピの作成システム。
【請求項４】
形式言語で記述されると共にプラント構成要素の結合状態を含むプラント構成情報と制御レイヤーとが関連づらけて記述されたマスターレシピから、各制御レイヤー毎のコントロールレシピを自動生成するためのプログラムであって、マスターレシピで記述された形式言語のキーワードを予め登録した領域知識又はプラント構造データから取得したデータに順次置換することによりコントロールレシピを作成するステップを実行させるコントロールレシピ生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プラント（工場）のコントロールレシピを作成する方法等に関する。
【背景技術】
【０００２】
プラントはプラント構成要素（タンク、バルブ、ポンプ等）が配管で結合され、所定の工程手順に従って各プラント構成要素が操作されて目的とする製品を製造することができる有機的なシステムである。
【０００３】
多くのプラントでは、コントロールレシピ（ある製品を生産するための具体的なプラントの操作手順）は熟練したレシピ作成者がプラント構造図を見ながら手作業で作成する。しかし、作成されたコントロールレシピはそのプラントにおけるその製品に固有のものであり、既に完成したコントロールレシピを他の製品のに転用することが難しかった。そのため、装置構成や設定条件等のわずかな変更であっても、レシピ作成者はコントロールレシピを最初から作り直さなければならなかった。
【０００４】
また、従来のコントロールレシピは自然言語で記述されていたため、方式が統一されておらず、シーケンシャルファンクションチャートとよばれるプラント構成要素の操作（例えばバルブの開閉やヒーターのオンオフなど）を単に時系列に列挙したものにすぎず、操作手順の意味を理解するには相当な熟練が必要であった。また、コントロールレシピのミスに気づきにくく、誤った操作手順が深刻な事故を引き起こす原因ともなっていた。
【０００５】
これに対し、近年では、コントロールレシピを作成する過程を定式化し、その作成負荷を低減する方法が提案されている（例えば、特許文献１参照。）。
この方法の特徴は、プラントの各工程を階層的に表現し、一連の操作手順を階層的な表現方法で記述することを前提として、プラントの制御単位を予め一定の領域で仕切られる区画領域（これを本明細書では「制御グループユニットＣＧＵ」及び「要素制御グループユニットＥＣＧＵ」という。）という単位でグループ分けし、各工程がこの制御ユニットを単位として階層制御されるようにした点にある。
【特許文献１】特開２００１−２０２１２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記特許文献１記載の方法によって、ＣＧＵ等の概念を用いて各工程の制御（プロセスコントロール）の階層性とプラント構成要素の結合状態（プラントトポロジー）とが明確に対応づけられた。
【０００７】
しかし、ＣＧＵ等の概念に基づいて制御対象となる機器を選択する方法は各階層毎のそれぞれにおいて複数の方法が考えられる。ある機器を選択する場合にどのパス（例えば、タンクＡからプラント区画領域Ｍ−ＣＧＵ−Ｒ＆Ｄに冷却水を送ることができるパス）を選ぶかは、設計者のプログラム設計方針に委ねられる。実際に選択可能なパスはその時々の状況など、種々の条件により種々の可能性があるが、パスを一つ選択すると、さらに次の選択があり、選択肢（解）が最終的に存在しないときは再検索が必要となる。物理的な要因（機器の結合関係情報や個々の機器の特性等）或いは安全上の要請に起因する制限により、特定のパスは選択が不可能な場合もあり、適切なパスの選択は極めて複雑な作業である。
【０００８】
また、マスターレシピは表現方法に多様性があり、従来は方式のない自由平文（フリーテキスト）で記載されていたが、これをできるだけ標準化して所定の書式に従って表現できることが望ましい。しかし、従来は自明であることを理由に必要な手順を省略したて記載したり、反応の開始条件（イニシャルトリガー）や終端条件（ターミネーショントリガー）の表記方法など、表現に統一性がなかった。
【０００９】
本発明が解決しようとする課題は、データベースとして与えられたプラント構造図及びマスターレシピから、効率よくコントロールレシピを作成（自動生成）する方法等を提供することにあり、本発明は、コントロールレシピを容易に作成する新規な方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、プラントの操作手順（レシピ）をプラント構造データや領域知識と階層的にリンクされた形式的な表記方法を持つレシピ作成用言語（RFDL:Recipe Formal Definition Language）によって表現し、ＲＦＤＬによって表現されたマスターレシピに基づいてコントロールレシピを作成するシステム構成を最も主要な特徴とする。
【００１１】
本発明に係るコントロールレシピの作成システムは、スケジュール情報と、クラス及びトポロジーを含むプラント構造データと、マスターレシピとを用いてコントロールレシピを作成するコントロールレシピの作成システムであって、前記マスターレシピは、領域知識又は前記プラント構造データの情報とリンクされた複数のキーワードを用いてプラントの操作手順を記述する形式言語で作成されていることを特徴とする。
【００１２】
このシステムでは、マスターレシピに含まれる前記形式言語のキーワードが、予め決められた論理演算に従って、前記キーワードとリンクされている領域知識又はプラント構造データの情報に順次置換されることにより、前記プラントにおける特定のコントロールレシピが作成されることが好ましい。
【００１３】
さらに、マスターレシピは、マスターレシピの中で繰り返し用いられる複数のタスクの組とリンクされた形式動作表現（メタオペレーション又はメタユニットプロシージャ）を含むことが好ましい。
【００１４】
本発明に係るコントロールレシピ生成プログラムは、形式言語で記述されると共にプラント構成要素の結合状態を含むプラント構成情報と制御レイヤーとが関連づらけて記述されたマスターレシピから、各制御レイヤー毎のコントロールレシピを自動生成するためのプログラムであって、マスターレシピで記述された形式言語のキーワードを予め登録した領域知識又はプラント構造データから取得したデータに順次置換することによりコントロールレシピを作成するステップを実行させることを特徴とする。なお、この領域知識及びプラント構造データには、マスターレシピで規定した定式化レシピやトポロジーエリアが含まれる。
【発明の効果】
【００１５】
本発明に係るコントロールレシピ作成システムによると、従来よりもコントロールレシピの作成が極めて容易となる。また、マスターレシピは自然言語に近い形式言語で記載されているため、プラント設計者にとって理解しやすく、作成、修正、変更が容易である。本発明に係るコントロールレシピ作成システムによると、マスターレシピ、スケジュール情報あるいはプラント構造データに変更があった場合のコントロールレシピの修正が容易である。
本発明に係るコントロールレシピ生成プログラムをコンピュータに実行させると、ユーザーが形式言語でマスターレシピを作成すればそこから自動的にコントロールレシピが生成される。また、プログラムには形式言語の文法チェックアルゴリズムが内蔵されているため、意図しないコントロールレシピを作成するミスが未然に防止される。
【発明を実施するための最良の形態】
【００１６】
以下、実施例について説明する。
【実施例】
【００１７】
−階層制御に関する基本的な考え方について−
プラントで製造される製品は、「マスターレシピ」とよばれる基本レシピと、製品の製造要求量を含むスケジュール情報と、プラント構造に関する情報とから作成される「コントロールレシピ」に基づいて作成される。
【００１８】
マスターレシピ（基本手順）とは、一つの製品を基準量だけ製造するためのレシピのことであり、プロセス化学をベースとして原材料やその混合比率、反応時間などを定めた基本的な製造手順を示すものである。マスターレシピは、化学反応の理論や実験結果から導き出される実験室レベルでのジェネラルレシピ（一般手順）をもとに作成される。マスターレシピはプラントでの製造を意識しているが、プラントの機器固有の情報を特定せずに記述する。これに対し、コントロールレシピとは、マスターレシピから具体的に特定されたプラントの操作手順を指す。
【００１９】
例えば、マスターレシピでは、タンク(TANK）というときはタンクという装置クラスを持つプラント構成要素であり、プラント中のどのタンクという特定はなされない。しかし、コントロールレシピの場合、最終的にはタンクが具体的に特定（例えば”タンクT1”というように。）されなければならない。
マスターレシピが同じでもそれを適用するプラントやスケジュール情報が異なれば作成されるコントロールレシピは異なるものとなる。
【００２０】
コントロールレシピは、最終的にはプラント構成要素の操作（例えばバルブの開閉やヒーターのオンオフなど）を時系列に列挙した表現となるが、そこに至る一連の工程を階層的に表現することが可能である。このような階層的表現による制御（階層制御）の考え方は近年標準化されつつあり、代表的なものとしてはＡＮＳＩ／ＩＳＡ−Ｓ８８という規格により定義されるものが挙げられる。
この定義によると、制御レイヤーは、（ｉ）プロシージャ、（ｉｉ）ユニットプロシージャ、（ｉｉｉ）オペレーション、（ｉｖ）フェーズ、の各階層（hierarchy）によって表現される。最も上位のレイヤーはプロシージャであり、最も下位のレイヤーはフェーズである。最終的なプラント構成要素の具体的操作はフェーズレベルで表現されるものとなる。
【００２１】
プロシージャは、一つのバッチの実行に要する全工程の手順（例えば、ポリマーＸを製造すること）をいい、通常複数のユニットプロシージャ（例えば、反応Ｙを進行させる）から構成される。
ユニットプロシージャには、主操作（分離［例えば、抽出、蒸留、乾燥、吸着など］、反応［例えば、塩化ビニル重合反応など］など、及び機械的操作（［例えば、成形、分級など］）等が含まれ、例えば、仕込みＡを行う等の動作もユニットプロシージャのレイヤーで制御される。
【００２２】
各ユニットプロシージャを実行するのはオペレーションであり、オペレーションには輸送操作（チャージ、ドレンなど）、制御操作（温度制御など）、などがあるがこれ以外にも様々な操作がある。
オペレーションの詳細はフェーズであり、特定された操作端（例えばバルブＶを開く、ポンプＰをスタートさせる）とそれへの制御が規定される。
【００２３】
上述したＩＳＡ−Ｓ８８による定義は、プラントに区画を設けずプラント全体として規定しているために制御階層レベルとプラント構造とを密接に対応づけて制御するという概念を持っていなかった。この欠点を補うための新しい考え方が、先に述べたＣＧＵ（制御グループユニット）及びＥＣＧＵ（要素制御グループユニット）である。
【００２４】
図１（ａ）は操作手順とプラント構造の対応関係を示す図である。ＣＧＵ及びＥＣＧＵという概念を用いることにより、全ての階層における工程制御（プロセスコントロール）がプラント構成要素の結合状態（プラントトポロジー）と明確に対応づけられ、その結果、プラント操作がどのレイヤーからの命令に基づく操作なのかが明確に対応づけられた（上掲特許文献１参照）。本発明においてもこの階層制御（ＣＧＵ及びＥＣＧＵを含む）の考え方をベースとしている。
【００２５】
−プラント構造図について−
プラント構造図とは、例えば図２に示すような、プラント構成要素（タンク、バルブ、ポンプ、ヒーター等）と配管との結合を示すグラフィカルな図面（このような図面を『Ｐ＆ＩＤ（Piping ＆ Instrument Diagram）図』という。）である。
プラント構造図は近年テキストベースで表現できる形式に標準化されつつある。その一つとして、例えば、ＩＳＯ１０３０３  ＡＰ２２１（審議中）及びＡＰ２２７に準拠したプラント構造図の表現方法がある。この方法によれば、プラント構成要素のクラス（ポート及び装置クラス）やプラントトポロジ（プラント構成要素間の結合関係及び配置情報等）などがテキストベース（ＸＭＬ形式）で表現される。
【００２６】
本明細書では、プラント構造図を表すテキストベースのデータを『プラント構造データ』という。プラント構造データはコンピュータの機種依存性がほとんどなく、しかも、プラント構造データから従来のグラフィカルなプラント構造図を描くことも、また、ユーザーインターフェースからユーザが制御対象となる特定のＣＧＵを抽出したりすることも容易である。
【００２７】
−本発明の基本的な考え方について−
図１（ｂ）は、本発明に係るコントロールレシピ作成システムのベースとなるレシピ作成支援システムを示す機能分解図である。
本発明に係るコントロールレシピ作成システムは、形式言語(formal language)によってマスターレシピを作成(synthesize)すると、その言語を構成するセンテンス（文）の構成要素（キーワード）からコンピュータが所定のルックアップリストやプラント構造データ（プラントトポロジーなど）等を参照し、コントロールレシピ生成プログラムが自動的にコントロールレシピを生成(generate)するというものである。コントロールレシピの生成に先立ち、まず、マスターレシピを作成しなければならないが、本発明ではコンピュータのユーザーインターフェース環境を利用してマスターレシピを作成する。
【００２８】
本発明においてマスターレシピは、まず、ＲＦＤＬ（Recipie Formal Definition Language)という形式言語を用いて作成される。ＲＦＤＬとは、コンピュータが扱う言語の文法を定義する際に用いられるメタ言語(言語を記述するための言語)の一つであり、いわゆるＢＮＦ（バッカス・ナウア記法）の一種である。ＢＮＦは構文を形式的に定義するための言語で、領域知識（domain knowledge)を表現するために用いられる定義式の組である。トークンとよばれるキーワード（ＲＦＤＬセンテンスの最小構成要素）を予め具体的な操作手順、プラント構造情報及び領域知識等とリンクさせ、必要時に適宜参照できるようにしておくことにより、操作手順を簡潔で分かりやすくかつ正確に記述することができる。
【００２９】
−ＲＦＤＬについて−
上述の通り、本発明に係るコントロールレシピの作成システムは、まず始めに、ＲＦＤＬという言語を用いて人間が理解しやすい形式的な表現で操作手順を作成する。例えば、『MOVE material1 FROM t1 TO t2』という形式的な表現は、「材料１をタンクｔ１からタンクｔ２に移動させよ」ということを意味するものと予め定義しておく。この表現は、決められた方式に従っていてかつ人間にとって直感的に分かりやすい反面、材料１とは何を指すのか、タンクｔ１及びタンクｔ２とはどの部位のどのような種類のプラント構成要素であるのか、移動させとは具体的にどのような動作によって行うのか、一切不明である。
【００３０】
しかし、それぞれの形式表現のキーワードが領域知識（及び／又は種々の材料を表すルックアップリスト等）やプラント構成要素の部位・大きさ・種類などを含むプラント構造データ等から選択されるようにしておけば、プロシージャレベルのマスターレシピから順次条件を与えていくことにより、最終的にはフェーズレベルのコントロールレシピを自動生成することが可能となる。
【００３１】
ここで、形式表現とリンクされて参照される知識のことを、「領域知識」という。領域知識は形式表現と関係する全ての知識を集めたものであり、プラント設計モデル、運転状態、操作条件、材料、製造物、クラス等々が含まれる。
例えば、ＭＴは材料(material)を意味し、ＭＴ１とは”emulsifier”という物質を指すと定義する。同様に、ＮＴ１は”窒素（Ｎ２）”を指すと定義する。
なお、領域知識はオントロジエディタとよばれるエディターを用いて作られる。このオントロジエディタは、クラス(classes)、属性（attributes）、段階（instances）、制限（constraint or rules）などの情報がＲＦＤＬセンテンスを構成するトークンとリンクされ、必要時に参照されるようになっている。「オントロジ」とは、意味情報を定義するための方法であり、共通の属性など、意味上のつながりを利用してＲＦＤＬの文法チェックなどが可能となる。例えば、『MOVE』の次には必ず『材料（material)』の属性を持つトークンがおかれなければならない。オントロジ記述によると他のタイプのトークンが来たとき、エラーを発する又は選択肢から除外するようなアルゴリズムを採用することが容易である。
【００３２】
−ＲＦＤＬキーワード（トークン）−
トークンは、そのタイプ（種類）に応じて次の４つに分類される。
（１）入力トークン(input)：  ユーザーインターフェースから入力されるキーワードである。
（２）変数トークン(variable)：  ＲＦＤＬ構文以外を用いたさらに進んだ定義式を表すキーワードである。
（３）参照トークン(lookup)：  ルックアップリスト又はルックアップテーブルからトークン（トークンバリュー）を得るために参照されるキーワードである。
（４）定数トークン(constant)：  定数トークンとはＲＦＤＬで用いられる最も簡単なキーワードである。
【００３３】
以上の４つのトークンは例えば次のように表記して識別される。
入力トークン（i_token）：参照トークンの頭に”ｉ＿”を付加して表記される
変数トークン（Token）：最初の一字のみ大文字で表記される
参照トークン（token）：全て小文字で表記される
定数トークン（TOKEN）：全て大文字で表記される
【００３４】
このようにＲＦＤＬ文はその中で用いられるトークンが形式的な表現にすぎず、実際の内容はトークンからリンクされ、階層構造となっている。トークン（キーワード）のリンク先（参照先）は、トークンの種類によって異なるが、全てのキーワードが解決されて初めて詳細なレシピの具体的内容が明らかとなる。
【００３５】
ＲＦＤＬ文の基本形は以下の通りである。
RFDL Statment IS Identifier_token IS token_1 token_2 .....    token_n    [S1]
Recipe_Condition IS External_Command / (procedure_id procedure_status) / Process_condition     [S2]
Action IS structure_action [ALL / UPSTREAM / DOWNSTREAM ] actionable_equip_class OF Topology_Area      [S3]
Topology_Area IS unit_id / ecgu_id / structure_function structure_class / material_class structrure_class       [S4]
【００３６】
ステートメントＳ１はＲＦＤＬ文の文法を表している。ステートメントＳ２はレシピ条件の文法を表している。Process_conditionは変数トークンである。後述するメタオペレーションによる表現では、例えば、「CLOSE UPSTREAM VALVE OF water feed」はステートメントＳ３及びＳ４で表すことができる。ＲＦＤＬの構文は予め準備されなければならない。
【００３７】
（マスターレシピの作成）
図３は、マスターレシピ作成支援プログラム（マスターレシピエディター）のフローチャートを示している。
ステップＳＡ１は、マスターレシピのＲＦＤＬのキーワードを定義するステップである。プラント構造データにより特定されたプラントに関する領域知識を用いながらトークンとしてキーワードを定義することにより、キーワードを領域知識とリンクさせる。
ステップＳＡ２は、プラント設計モデルを定義するステップである。ここではトポロジーエディターというプラント構造データを作成・修正するためのツールを用いてプラント設計モデルを定義する。
ステップＳＡ３は、レシピを定式化（Formula)するステップである。レシピの定式化(Recipe Formula)とは、プロセス材の入力及び出力、プロセスパラメータ等のレシピ情報を数式で表したものである。例えば、記号”ｘ００１”を、”材料１の総量（AMOUNT）”と定義するステップであり、例えばユニットプロシージャの終了条件（終了トリガー）を規定する場合に式を用いて表現を簡素化することができる。また、数式の定義は、種々のものが可能である。
ステップＳＡ４は、マスターレシピの元となるジェネラルレシピ（上述）のヘッダー情報を定義するステップである。例えば、識別記号ＩＤとタイトル(description)を定義する。
ステップＳＡ５は、マスターレシピのヘッダー情報を定義するステップであり、例えば、識別記号ＩＤ、日付、所有者、製品名、プラント名、バッチサイズなどを定義する。
【００３８】
ステップＳＡ６ａ乃至ＳＡ６ｃは、マスターレシピのヘッダー及び詳細（details)を定義するステップである。マスターレシピの制御レイヤーは、通常はプロシージャ、ユニットプロシージャ、オペレーションの３つである（マスターレシピではフェーズレベルまでは定義しないことが通常である。）。いずれのレイヤーにおいても、ヘッダー情報には例えば識別記号ＩＤとタイトルなどを定義し、詳細情報には各レイヤーにおけるタスク（開始条件InitiationTrigger、操作Action、終了条件Termination Triggerなど)を定義する。
【００３９】
図４は、マスターレシピ作成例を説明するための表である。この図のように、マスターレシピはプロシージャ、ユニットプロシージャ、オペレーション、フェーズの４つのレイヤーからなる。
表は上下にレイヤーが示され、左側はヘッダー情報、右側が詳細情報を示している。ヘッダー情報は詳細情報とリンクされている。
【００４０】
プロシージャレイヤーの左欄（ヘッダー情報）には、「識別記号ＩＤ＝Ｐ００１」と、タイトル「２段階ポリマー化プロセス」を入力する。一方、詳細情報には、「タスクＴ１」及び、
「初期トリガー：Ｐ００１−ＵＰ００２  ＳＴＡＲＴＥＤ」
「アクション  ：ＩＮＩＴＩＡＴＥ（初期化）Ｐ００１−ＵＰ００１」
「終了トリガー：ｎ／ａ（なし）」
と入力する。
【００４１】
次に、ユニットプロシージャレイヤーの左欄（ヘッダー情報）には、「識別記号ＩＤ＝Ｐ００１−ＵＰ００１」とタイトル「Emulsifier（注：材料の名称）の準備」を入力する。一方、詳細情報には、「タスクＴ１」及び、
「初期トリガー：Ｐ００１−ＵＰ００１  ＳＴＡＲＴＥＤ」
「アクション  ：ＩＮＩＴＩＡＴＥ（初期化）Ｐ００１−ＵＰ００１−ＯＰ００１」
「終了トリガー：ＡＭＯＵＮＴ  ＥＱ  ｘ００１  ＯＦ  emulsifier  ＭＯＶＥＤ」
を入力する。
【００４２】
次に、オペレーションレイヤーの左欄（ヘッダー情報）には、「識別記号ＩＤ＝Ｐ００１−ＵＰ００１−ＯＰ００１」とタイトル「チャージ Emulsifier」を入力する。一方、詳細情報には、「タスクＴ１」及び、
「初期トリガー：ｎ／ａ（なし）」
「アクション  ：ＭＯＶＥ  Ｅｍｕｌｓｉｆｉｅｒ  ＦＲＯＭ  ｍｅａｓｕｒｅｍｅｎｔ  ＴＡＮＫ  ＴＯ  Ｕ００１」
「終了トリガー：ｎ／ａ（なし）」
を入力する。
【００４３】
（ＲＦＤＬサーチリストプログラム）
なお、実際には例えば図６に示すようなユーザーインターフェース環境を利用してユーザーが適宜ＲＦＤＬ文（又はトークン）を入力していけばよく、図４のような表を毎回作成する必要はない。また、コンピュータに入力情報を保存できるため、修正・変更等が容易に行える。このようなユーザーインターフェース環境は、プログラム言語（Visual Basic（登録商標）など）を用いて作成することができる。
【００４４】
（トークンルックアップリスト）
ＲＦＤＬトークンと、領域知識・プラント構造及び操作手順とのリンクは、ルックアップリストを用いて構築される。ルックアップリストはＲＦＤＬ文に含まれる全てのルックアップトークンのために作成される。ルックアップトークンの例は、ストラクチャーｉｄ（プラント構成要素のリストとリンクされる）、プロシージャｉｄ（あらゆるレイヤーで定義された全てのプロシージャｉｄとリンクされる）などがある。
【００４５】
（コントロールレシピの自動生成）
図５は、マスターレシピからコントロールレシピを自動生成するためのプログラムの一例を示している。
ステップＳＢ１は、プラントトポロジーのためのＥＣＧＵの境界領域を定義するステップである。具体的には、コントロールバルブによって囲まれた全ての微小トポロジージーエリアを定義する。
ステップＳＢ２は、コントロールレシピのＲＦＤＬのキーワードを定義するステップである。プラント構造データにより特定されたプラントに関する領域知識を用いながらトークンとしてキーワードを定義することにより、キーワードを領域知識とリンクさせる。
ステップＳＢ３は、マスターレシピのヘッダー情報及び詳細情報を定義するステップである。
ステップＳＢ４は、与えられたマスターレシピの識別記号ＩＤに対するコントロールレシピのヘッダー（プロシージャ、ユニットプロシージャ及びオペレーションのレイヤー）を生成するステップである。
ステップＳＢ５は、コントロールレシピの詳細情報を生成するステップである。この時点では、マスターレシピの各レイヤーにおける詳細情報（図４の右欄）をコピーする。
【００４６】
ステップＳＢ６及びＳＢ７は、マスターレシピからコントロールレシピを自動生成する最も重要なステップの一つである。
ステップＳＢ６は、マスターレシピにおいて定式化されたレシピを実際の値に置換するステップ、ステップＳＢ７は、全てのタスクにおけるトポロジーエリアを実際のトポロジーエリアで置換するステップである。この置換ステップは領域知識を用いて行われる。このステップでは同時に、クラス（マテリアルストラクチャークラス）を実際のストラクチャーＩＤで置換する。
コントロールレシピの自動生成アルゴリズムは、ＲＦＤＬ文で作成されたマスターレシピと領域知識とリンクされているそれぞれのルックアップリスト等から所定の解を代入することにより行われる。
【００４７】
このとき、マスターレシピの文法をチェックしながらコントロールレシピを自動生成するために、マスターレシピで規定された変数トークンを、具体的なプラント機器やプロセス温度などに置き換えるためのプログラムの考え方（アルゴリズム）について説明する。なお、このような選択可能なトークンを検索するプログラムを「ＲＦＤＬサーチリスト（検索リスト）プログラム」とよぶ。
【００４８】
サーチリストプログラムの基本的な考え方は、入れ子になった括弧を展開することである。変数トークンをＲ、変数トークン以外のトークンをＡ，Ｂ，Ｃと表し、Ｒ＝Ａ、Ｃ＝ＤＥであった場合、
Ｒ＝  Ａ｜Ｂ    （※論理演算記号”｜”は論理和ｏｒを指す）  ・・・（１）
は、  
Ｒ＝Ａ  ａｎｄ  Ｒ＝Ｂ                               ・・・・・・（１’）
に展開できる。また、
Ｒ＝Ａ［Ｂ］Ｃ  （※［  ］で囲まれたトークンは任意）     ・・・・（２）
は、
Ｒ＝ＡＢＤＥ  ａｎｄ  Ｒ＝ＡＤＥ                    ・・・・・・（２’）
と展開できる。また、
Ｒ＝Ａ（Ｂ）Ｃ  （※（  ）で囲まれた部分は積演算が優先される）・・・（３）
は、Ｃ＝ＤＥを代入すれば、
Ｒ＝ＡＢＤＥ                                        ・・・・・・（３’）
というように展開される。これらはあくまで一例にすぎないが、すなわち、予め決めておいた論理演算に従って、括弧を含む複雑な変数トークンは単純な論理演算式に置き換えられる。
【００４９】
また、上記アルゴリズムを含むプログラムをマスターレシピ作成のためのユーザーインターフェース環境に適用すると、一つの変数トークンに対して選択可能な入力を絞り込むことで、文法エラーを未然に防止することができる。
【００５０】
ステップＳＢ８は、マスターレシピの中に、後述するメタオペレーションが存在していた場合にのみ行う追加的なステップである。メタオペレーションではトポロジーエリアを規定せずにＲＦＤＬ文を作成するため、トポロジーエリアの置換が必要である。これを行うのがステップＳＢ８である。
ステップＳＢ９は、プラントトポロジーのためのＣＧＵの境界領域を定義するステップである。具体的には、ソースと目的地とを含むＣＧＵ境界を認識する。
ステップＳＢ１０は、フェーズレベルオペレーションの生成を行うステップである。フェーズレベルのタスクは材料の移動、トポロジーエリアの切り離しアイソレーション（切り離し)、クリーニング（洗浄）、加熱、等の操作をサポートしている。これらのタスクは制御可能なデバイス（コントロールバルブやポンプ等）を通して実行される。
ステップＳＢ１１は、メタオペレーションのフェーズレベルオペレーションの生成を行うステップである。
【００５１】
図４の例において、上述したフローに従ってマスターレシピからコントロールレシピを生成すると、プロシージャ及びユニットプロシージャのレイヤーでは変わらないが、オペレーションのレイヤーは、マスターレシピでは”emulsifire TANK”が”MT1”に、”mesurement TANK”が”MT2”に、それぞれ置き換わる。
【００５２】
図７は、材料をタンクｔ１からタンクｔ２に移動するという動作をオペレーションレイヤーにおけるマスターレシピとして記述したものから、フェーズレベルにおけるコントロールレシピを自動生成するメカニズムについて説明するための図である。図５の左欄のＲＦＤＬ文、すなわち、マスターレシピにおけるオペレーションレイヤーのあるタスク要素『MOVE material FROM topology-area(t1) TO topology-area(t2)』を、同図の右欄のように定義しておく。その結果、マスターレシピのフェーズレイヤーからフェーズレベルのコントロールレシピが生成される。
【００５３】
コントロールレシピの自動生成の過程で、もし、参照すべき値が存在しないときは、コントロールレシピ自動生成プログラム（システム）が警告を発することもできる。これにより、従来のような手作業によるコントロールレシピ作成の場合と比較してコントロールレシピの作成ミスが大幅に軽減される。
【００５４】
また、ＲＦＤＬ文に誤りがあったときは、システムがその箇所及び理由を指摘することもできる。さらに、もし、次のキーワードが入力トークンであった場合には、ユーザーに入力を求めたり或いは選択を促す画面を表示することもできる。入力された数値情報が所定の範囲外であったとき、修正を促したり必要な情報を提示することも容易である。
【００５５】
（メタオペレーションについて）
マスターレシピの中で繰り返し用いられる典型的な動作、例えば、特定のプラント区画のアイソレーション（切り離し）、プラント区画の結合（コネクション）、クリーニング、ベント（タンクの空気抜き）、チャージ（充填）、リカバリー（回復）等は、いずれも複数のタスクから成り立っている。
【００５６】
これらの一連の動作は常に一組のセットとして用いられる。そこで、これらを例えば予めＲＦＤＬで定義しておくことにより、マスターレシピをより簡潔に記述することができるようになる。
【００５７】
例えば、マスターレシピにおいて、「アイソレーション（プラント区画の切り離し）」という動作が頻繁に繰り返される。これを、メタオペレーションとしてアイソレーションが『OPEN DOWNSTREAM VALVE OF main AJ』を意味するものと、トポロジーエリアやタンクを具体的に特定せずに動作を定義しておくと、マスターレシピ作成の際、ユーザーがアイソレーションを示すメタオペレーションのヘッダー情報（ＩＤやタイトル）をユーザーインターフェースから選択することで、これに対応するＲＦＤＬ文（『OPEN DOWNSTREAM VALVE OF main AJ』）がマスターレシピのオペレーションタスクにコピーされるようにしておく。
【００５８】
コントロールレシピ生成の際には、プラント構造データ等を参照し、仮にそのプラントではメインタンクＡＪが「ＡＪ４１０１」であったとすると、対応するコントロールレシピは、『OPEN DOWNSTREAM VALVE OF main AJ4101』となり、これが、フェーズレベルの操作手順ではさらに具体的になり、例えば、
OPEN BV4111
及び
OPEN BV4118
という表現に置換（展開）される。なお、この置換についても上述したサーチリストプログラムで実現できる。
【００５９】
なお、メタオペレーションは主にマスターレシピにおけるオペレーションレベル（レイヤー）で用いられるが、ユニットプロシージャのレベルで用いても（この場合メタユニットプロシージャというべきであるが）問題はない。
【００６０】
例えば、「アイソレーション」と「初期冷却」と「アイソレーション」という３つのメタオペレーションを含む一つのメタユニットプロシージャ「初期設定」を定義しておくことにより、マスターレシピの作成において、ユニットプロシージャのレイヤーで「初期設定(initial setting）」と記述（実際にはユーザーインターフェースの中の選択画面で選択）するだけで、３つのメタオペレーションに展開される。
【００６１】
メタオペレーションを利用すると、オペレーションレイヤーの右欄に記載された詳細情報（タスク）の表現を、『Action: OPEN DOWNSTREAM VALVE OF main AJ』のように記載することが可能となる。メタユニットプロシージャの場合もレイヤーが異なるだけで基本的な考え方は同様である。
このように、メタオペレーション或いはメタユニットプロシージャを定義しておくと、マスターレシピの作成がより一層簡単になる。メタオペレーションやメタユニットプロシージャはいずれも一般的な（つまり上位概念的な）定義であるため、プラント構造データを変えてもそのまま使用することができる。このため、種々のメタオペレーション或いはメタユニットプロシージャ等を集めたライブラリを作成しておくと、マスターレシピ作成の際の利用価値が高い。
【００６２】
なお、メタオペレーション又はメタユニットプロシージャいずれもはトポロジーエリア等を規定せずに上位概念として表現するいわばジェネリックな形式的表現である。このため、これを用いてマスターレシピを作成してさらにコントロールレシピを自動生成する場合には、メタオペレーション等の展開作業（図５におけるステップＳＢ８、ＳＢ１１参照）が必要となる。
【００６３】
（その他の実施形態）
ＲＦＤＬはバッチプラントにおけるマスターレシピやコントロールレシピに限られず、連続オペレーションの操作手順、具体的には、スタートアップオペレーション、シャットダウンオペレーション、リカバリーオペレーションの操作手順及び定常操作状態などを記述することに用いることもできる。
【産業上の利用可能性】
【００６４】
本発明に係るコントロールレシピ作成システムによると、コントロールレシピの作成やコントロールレシピの設計変更が容易となり、少量多品種生産などを行うプラントに適している。さらに、安全管理が容易となり、事故軽減の効果も期待でき、その産業上の利用可能性は極めて大きい。
【図面の簡単な説明】
【００６５】
【図１】（ａ）は操作手順とプラント構造の対応関係を示す図である。（ｂ）はレシピ作成支援システムを示す機能分解図
【図２】図２はプラント構造図である。
【図３】図３はマスターレシピ作成支援プログラムのフローチャートを示す図である。
【図４】図４はマスターレシピ作成例を説明するための表である。
【図５】図５はコントロールレシピを自動生成するためのプログラムのフローチャートを示す図である。
【図６】図６はユーザーインターフェース環境を利用したマスターレシピ作成支援プログラムの実行画面を示したものである。
【図７】図７はコントロールレシピを自動生成するメカニズムについて説明するための図である。
【図１】
2005128862.tif 000003
【図２】
2005128862.tif 000004
【図３】
2005128862.tif 000005
【図４】
2005128862.tif 000006
【図５】
2005128862.tif 000007
【図６】
2005128862.tif 000008
【図７】
2005128862.tif 000009