(57)【特許請求の範囲】
【請求項１】
夫々の作業工程を実現する単位プログラムであるプログラムブロックを組み合わせることによって複数の作業工程を実行する制御システムの制御プログラムを作成する制御システム開発支援装置であって、
プログラムブロックに関する少なくとも１つの項目からなる設定情報を有するプログラムブロック情報を作業工程毎に設定する情報であるプログラムブロック設定情報と、前記作業工程間の依存関係を設定する情報である工程フロー設定情報と、を予め格納する設定情報格納部と、
前記プログラムブロック設定情報に設定される夫々のプログラムブロック情報に夫々対応する制御ブロックを設定するとともに、予め指定された項目について同じ設定情報を有するプログラムブロック情報が複数存在する場合、該複数のプログラムブロック情報に対応する夫々の制御ブロックを１つの制御ブロックに統合する制御ブロック生成部と、
前記工程フロー設定情報に設定される作業工程間の依存関係に基づいて制御ブロック間の依存関係を導出する制御システムフロー生成部と、
前記工程フロー設定情報において設定される作業工程間の依存関係と、前記制御システムフロー生成部によって導出された制御ブロック間の依存関係とを、作業工程と制御ブロックとを対応付けて表示装置に表示させる制御システムフロー表示管理部と、
を備えることを特徴とする制御システム開発支援装置。
【請求項２】
前記制御ブロック生成部は、指定する項目を選択する入力を受け付け、前記選択された項目の設定情報の内容が同じプログラムブロック情報が複数存在する場合、該複数のプログラムブロックに対応する夫々の制御ブロックを１つに統合する、
ことを特徴とする請求項１に記載する制御システム開発支援装置。
【請求項３】
夫々の作業工程を実現する単位プログラムであるプログラムブロックを組み合わせることによって複数の作業工程を実行する制御システムの制御プログラムを作成する制御システム開発支援装置であって、
プログラムブロックに関する少なくとも１つの項目からなる設定情報を有するプログラムブロック情報を作業工程毎に設定する情報であるプログラムブロック設定情報と、前記作業工程間の依存関係を設定する情報である工程フロー設定情報と、を予め格納する設定情報格納部と、
前記作業工程を分類する情報である作業工程分類情報を予め格納する分類情報格納部と、
前記プログラムブロック設定情報に設定される各プログラムブロック情報に夫々対応する複数の制御ブロックを設定するとともに、作業工程分類情報によって同じ種類に分類される作業工程のプログラムブロック情報が複数存在する場合、該複数のプログラムブロック情報に対応する制御ブロックを１つの制御ブロックに統合する制御ブロック生成部と、
前記工程フロー設定情報に設定される作業工程間の依存関係に基づいて制御ブロック間の依存関係を導出する制御システムフロー生成部と、
前記工程フロー設定情報において設定される作業工程間の依存関係と、前記制御システムフロー生成部によって導出された制御ブロック間の依存関係とを、作業工程と制御ブロックとを対応付けて表示装置に表示させる制御システムフロー表示管理部と、
を備えることを特徴とする制御システム開発支援装置。
【請求項４】
前記分類情報格納部は作業工程分類情報を複数格納し、
前記制御ブロック生成部は、前記複数の作業工程分類情報のうち使用する作業工程分類情報を選択する入力を受付け、前記プログラムブロック設定情報に設定される各プログラムブロック情報に夫々対応する複数の制御ブロックを設定するとともに、前記選択された作業工程分類情報により同じ種類に分類される作業工程のプログラムブロック情報が複数存在する場合、該複数のプログラムブロック情報に対応する制御ブロックを１つの制御ブロックに統合する、
ことを特徴とする請求項３に記載の制御システム開発支援装置。
【請求項５】
同一のプログラムブロック設定情報および工程フロー設定情報に基づいて導出された制御ブロックおよび該制御ブロック間の依存関係を複数セット格納する制御システムフロー設定格納部をさらに備え、
前記制御システムフロー表示管理部は、前記工程フロー設定情報において設定される作業工程間の依存関係と、前記制御システムフロー設定格納部に格納されている前記複数セットの制御ブロック間の依存関係とを、作業工程と制御ブロックとを対応付けて表示装置に表示させる、
ことを特徴とする請求項２または４に記載の制御システム開発支援装置。
【請求項６】
前記プログラムブロック情報の項目は、
作業工程からプログラムブロックを作成するために必要な作業機の名称、該作業機に実行させる割当プログラム、該割当プログラムが使用する変数、および該プログラムブロックに関する備考情報からなる群のうちの少なくとも１つの項目を含む、
ことを特徴とする請求項１〜５のうちの何れか１つに記載の制御システム開発支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御機器によって構成される制御システムを動作させるプログラムの開発を支援する制御システム開発支援装置に関するものである。
【背景技術】
【０００２】
半導体製品や液晶基板などの複雑な製品を作成する制御システムは、制御機器を動作させるプログラムも複雑で規模が大きくなるため、従来のようにラダー言語などで一から全てを作成すると、非常に工数がかかる。そのため、例えば特許文献１や特許文献２に開示される技術のように、製品の加工プロセスの依存関係や実行順序を工程フローで記述し、工程フローによって制御機器の設計やプログラム作成を行う技術が提案されてきた。
【０００３】
【特許文献１】特開平８−２０３７９４号公報
【特許文献２】特許第３８５２１９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
加工プロセスの依存関係や実効順序を工程フローで記述する技術は工程の流れを設計するためには効果的である。しかしながら、工程フローに基づいて開発された制御システムによって処理される物やデータの流れなど処理間の関連性を工程フローの流れから理解することは困難であるという問題があった。例えば、２機の加工機の間で加工物が１つの搬送機の働きにより何度も往復し、加工機により加工が行われるという簡単な構成の制御システムの場合であっても、工程フローにおいては、行き来の処理や加工機による処理ごとに工程が設定されるので結果として多数の工程で構成されることになるため、このような多数の工程で構成される工程フローから２機の加工機および１つの搬送機の処理の関連性を読み取るのは簡単ではない。
【０００５】
本発明は、上記に鑑みてなされたものであって、処理間の関連性をわかりやすく表示する制御システム開発支援装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、夫々の作業工程を実現する単位プログラムであるプログラムブロックを組み合わせることによって複数の作業工程を実行する制御システムの制御プログラムを作成する制御システム開発支援装置であって、プログラムブロックに関する少なくとも１つの項目からなる設定情報を有するプログラムブロック情報を作業工程毎に設定する情報であるプログラムブロック設定情報と、前記作業工程間の依存関係を設定する情報である工程フロー設定情報と、を予め格納する設定情報格納部と、前記プログラムブロック設定情報に設定される夫々のプログラムブロック情報に夫々対応する制御ブロックを設定するとともに、予め指定された項目について同じ設定情報を有するプログラムブロック情報が複数存在する場合、該複数のプログラムブロック情報に対応する夫々の制御ブロックを１つの制御ブロックに統合する制御ブロック生成部と、前記工程フロー設定情報に設定される作業工程間の依存関係に基づいて制御ブロック間の依存関係を導出する制御システムフロー生成部と、前記工程フロー設定情報において設定される作業工程間の依存関係と、前記制御システムフロー生成部によって導出された制御ブロック間の依存関係とを、作業工程と制御ブロックとを対応付けて表示装置に表示させる制御システムフロー表示管理部と、を備えることを特徴とする。
【発明の効果】
【０００７】
この発明によれば、処理間の関連性をわかりやすく表示する制御システム開発支援装置を得ることができるという効果を奏する。
【発明を実施するための最良の形態】
【０００８】
以下に、本発明にかかる制御システム開発支援装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【０００９】
実施の形態１．
図１は、本発明にかかる制御システム開発支援装置の実施の形態１の構成を示す図である。図１において、制御システム開発支援装置１は、入力部２と、表示部３と、工程フロープログラム管理部４と、制御システムフロー管理部５と、これらの各処理部を制御する制御部６とを備える。
【００１０】
入力部２は、制御システムフローを作成するために必要なデータをこの制御システム開発支援装置１に設定する際の入力インタフェースである。この入力部２として、例えばキーボードや、マウスなどのポインティングデバイスなどが用いられる。表示部３は、制御システムフローを作成する際に必要なデータ入力画面や、作成した制御システムフローや工程フローなどを表示する機能を有し、例えば液晶ディスプレイなどの表示装置によって構成される。
【００１１】
工程フロープログラム管理部４は、制御システムにおける処理の単位である工程ごとに作成されるプログラムをプログラムブロックという単位で扱い、プログラムブロック間における依存関係を管理する。この工程フロープログラム管理部４は、プログラムブロック間の依存関係を記述する工程フロー設定情報を作成するための表示を表示部３に表示させるとともに、入力される依存関係を工程フロー設定情報に書き込む工程フロー設定管理部４１と、各プログラムブロックに対する設定情報であるプログラムブロック設定情報を設定するための表示を表示部３に表示させるとともに、入力される設定情報をプログラムブロック設定情報に書き込むプログラムブロック設定管理部４２と、作成された工程フロー設定情報およびプログラムブロック設定情報を格納する工程フロープログラム設定情報格納部４３と、を有する。
【００１２】
工程フロー設定情報は、プログラムブロック間の依存関係が定義されていれば、テキスト形式のデータでも、図形式のデータでも、その他の形式の情報であっても良い。実施の形態１においては、工程フロー設定情報は、プログラムブロックを矩形で表現し、依存関係をプログラムブロックからプログラムブロックへ矢印を有する線を引くことで表現する図形式のデータで表示部３上に表示するものとする。ここでは、これらの図形の材料は予め用意されており、使用者がこれらの図形を入力部２を介して所望の形に配置することで設定されるとする。
【００１３】
図２は、工程フロー設定管理部４１が工程フロー設定情報を表示部３に表示させる表示画面の一例を示す図である。工程フロー設定画面１００には、処理の１単位を表すプログラムブロック１０１として、プログラムブロックＡ、Ｂが設定されている。そして、プログラムブロックＡからプログラムブロックＢに向けて依存関係を示す矢印１０２が引かれている。
【００１４】
プログラムブロック間の依存関係とは、例えばＳＦＣ(Ｓｅｑｕｅｎｔｉａｌ  Ｆｕｎｃｔｉｏｎ  Ｃｈａｒｔ)のように、プログラムブロック間の逐次的な実行順序関係を示しても良いし、あるプログラムブロックの実行により得られたデータを、別のプログラムブロックに受け渡す関係を示してもよい。例えば図２における矢印１０２は、プログラムブロックＡの実行後にプログラムブロックＢを実行することを示しても良いし、プログラムブロックＡの実行によって得られたデータを、プログラムブロックＢに受け渡し、プログラムブロックＢにて使用することを示しても良い。また、依存関係に対して、実行が遷移するための条件や、データの受け渡しが発生する条件を設定できるようにしても良い。
【００１５】
プログラムブロック設定情報は、各プログラムブロックのプログラムを作成するための設定情報を工程毎に設定する設定情報である。この設定情報の項目は、例えば、工程を実現する作業機名、割当プログラムのプログラム名、該割当プログラムで使用する変数、およびプログラムブロックに関するコメントなどであってよい。また、項目の数は複数であってもよい。
【００１６】
制御システムフロー管理部５は、工程フロープログラム管理部４で作成された工程フロー設定情報から制御システムフローを生成して保管する処理部であり、制御ブロック生成部５１と、制御システムフロー生成部５２と、制御システムフロー設定格納部５３と、制御システムフロー表示管理部５４と、を有する。
【００１７】
制御ブロック生成部５１は、工程フロープログラム設定情報格納部４３に格納されたプログラムブロック設定情報を取得し、プログラムブロックの予め指定されている項目の設定情報を調べ、同じ情報が設定されているプログラムブロックがあれば、それらと対応する一つの制御ブロックを生成する。制御ブロック生成部５１は、他に同じ情報が設定されているプログラムブロックが無いプログラムブロックの場合、該プログラムブロックのみに対応する一つの制御ブロックを生成する。制御ブロック生成部５１は、生成した制御ブロックの情報を集めた制御ブロック情報を制御システムフロー設定格納部５３に格納する。
【００１８】
制御システムフロー生成部５２は、工程フロープログラム設定情報格納部４３に格納された工程フロー設定情報に基づいて制御ブロック生成部５１で生成した制御ブロック間の依存関係を導出することによって制御システムフローを生成し、制御システムフロー設定格納部５３に格納する。
【００１９】
制御システムフロー表示管理部５４は、制御システムフロー設定格納部５３に格納されている制御システムフローを、工程フロー設定管理部４１によって表示されている工程フローとの対応関係がわかるように表示部３へ表示する。
【００２０】
つぎに、このような構成の制御システム開発支援装置１における制御ブロック生成手順と、制御システムフローの生成処理手順とについて、順に説明する。
【００２１】
図３は、実施の形態１の制御システム開発支援装置における制御ブロックの生成処理手順を示すフローチャートである。予め、工程フロー設定管理部４１およびプログラムブロック設定管理部４２により、図４に示す開発対象となる制御システムに関して、図５に示す工程フロー設定情報と、図６に示すプログラムブロック設定情報と、が工程フロープログラム設定情報格納部４３に格納されている状態にあるものとする。図６におけるプログラムブロック設定情報１１０には、割当プログラム名と使用変数名とを設定情報の項目とし、各プログラムブロックに対して前記する各項目の情報が設定されている。例えば、プログラムブロック「搬送ロボット(Ｓｔａｒｔ→Ａ)」には、プログラム「ＭｏｖｅＳｔｏＡ」が設定され、「ＭｏｖｅＳｔｏＡ」で使用する変数名として「アーム開」と、「アーム位置情報」とが割り当てられている。
【００２２】
まず、制御ブロック生成部５１は、工程フロープログラム設定情報格納部４３から、プログラムブロック設定情報を取得し(ステップＳ１)、全てのプログラムブロックに対応する制御ブロックを生成する(ステップＳ２)。図６の例では、プログラムブロックが７つあるため、それぞれに対応するように７つの制御ブロックを設定する。
【００２３】
つぎに、統合する制御ブロックを決定するために、制御ブロック生成部５１は、全てのプログラムブロックの設定内容を逐次確認する。まず、制御ブロック生成部５１は、抽出していないプログラムブロックが存在するか否かを判定する（ステップＳ３）。抽出していないプログラムブロックが存在する場合（ステップＳ３、Ｙｅｓ）、制御ブロック生成部５１は、抽出されていないプログラムブロックを一つ抽出し(ステップＳ４)、該抽出したプログラムブロックと比較していないプログラムブロックが存在するか否か判定し（ステップＳ５）、比較していないプログラムブロックが存在する場合（ステップＳ５、Ｙｅｓ）、それらのプログラムブロックを比較し、２つのプログラムブロック設定情報の予め指定されている項目に重複する情報が存在するか否か判定する（ステップＳ６）。
【００２４】
比較したプログラムブロック設定情報間で同じ情報がある場合（ステップＳ６、Ｙｅｓ）、制御ブロック生成部５１は、比較した２つのプログラムブロックに対応する制御ブロックを統合し、１つの制御ブロックとし(ステップＳ７)、ステップＳ５に移行する。ステップＳ６において、比較したプログラムブロック設定情報間に重複する情報がない場合（ステップＳ６、Ｎｏ）、ステップＳ５に移行する。
【００２５】
ステップＳ５において、抽出したプログラムブロックと比較していないプログラムブロックが存在しない場合（ステップＳ５、Ｎｏ）、制御ブロック生成部５１は何もせずにステップＳ３に移行し、抽出していないプログラムブロックを探す。ステップＳ３において、抽出していないプログラムブロックが存在しないと判定した場合（ステップＳ３、Ｎｏ）、制御ブロックの生成処理を終了する。生成した制御ブロックと、制御ブロックとプログラムブロックの対応関係とは、制御システムフロー設定格納部５３に格納される。
【００２６】
ここで、使用変数名が予め指定されている項目とすると、プログラムブロック「搬送ロボット(Ｓｔａｒｔ→Ａ)」と、「搬送ロボット(Ａ→Ｂ)」と、「搬送ロボット(Ｂ→Ｃ)」とでは、使用変数「アーム開」が重複し、「搬送ロボット(Ｂ→Ｃ)」と、「搬送ロボット(Ｃ→Ｅｎｄ)」とでは、使用変数「アーム閉」が重複する。そのため、これらのプログラムブロックに割りつく制御ブロックを１つに統合することにより、最終的に図７に示すような４つの制御ブロックが生成される。図７において制御ブロックに記した名称が、制御ブロックに対応するプログラムブロックの名称を示している。
【００２７】
ステップＳ６で行う情報の重複確認は、入力部２から確認を行う設定情報の項目の指定を受け付け、指定された項目の情報に基づいて行われるようにしてもよい。例えば、制御ブロック生成処理の開始時に、プログラムブロック設定情報１１０の「割当プログラム名」か、「使用変数名」かを使用者が選び、ステップＳ６では、使用者が選択した項目の情報に基づいて重複確認を行う。この例の場合、使用者が「使用変数名」を選択すれば、図７に示す制御ブロックが生成されるが、「割当プログラム名」を選択すると、重複した設定が存在しないため、プログラムブロックそれぞれに対応する７つの制御ブロックが生成される。
【００２８】
次に、制御システムフロー生成部５２は、作成された制御ブロックを組み合わせて制御システムフローを生成する。図８は、実施の形態１の制御システム開発支援装置において、制御システムフローを生成する動作を説明するフローチャートである。
【００２９】
まず、制御システムフロー生成部５２は、工程フロープログラム設定情報格納部４３から、工程フロー設定情報を取得する(ステップＳ１１)。そして、制御システムフロー生成部５２は、制御ブロック間の依存関係を設定するために、プログラムブロック間の依存関係を全て抽出する。すなわち、制御システムフロー生成部５２は、プログラムブロック間の依存関係で抽出していないものがあるか否かを判定する（ステップＳ１２）。抽出されていないプログラムブロック間の依存関係がある場合（ステップＳ１２、Ｙｅｓ）、制御システムフロー生成部５２は、該依存関係を１つ抽出し（ステップＳ１３）、該依存関係が設定されている２つのプログラムブロックが割りついている制御ブロックが統合されているか否か判定する(ステップＳ１４)。該制御ブロックが別々の制御ブロックの場合（ステップＳ１４、Ｙｅｓ）、その制御ブロック間にこの依存関係を設定し（ステップＳ１５）、ステップＳ１２に移行する。
【００３０】
ステップＳ１４において、制御ブロックが統合されている場合（ステップＳ１４、Ｎｏ）、制御システムフロー生成部５２は、ステップＳ１２に移行し、まだ抽出していない別の依存関係があるか否か判定する。制御システムフロー生成部５２は、依存関係を全て抽出し終わると（ステップＳ１２、Ｎｏ）、制御システムフロー生成処理を終了する。
【００３１】
ここで、制御システムフロー生成部５２は、ステップＳ１５において設定する依存関係の向きを、プログラムブロック間に設定された依存関係の向きに合わせて設定する。例えば、図５で設定された依存関係のうち、「搬送ロボット(Ｓｔａｒｔ→Ａ)」から「加工機Ａ」への依存関係を抽出した際には、「搬送ロボット(Ｓｔａｒｔ→Ａ)」と「加工機Ａ」に対応する制御ブロックを確認すると、異なる制御ブロックであるため、制御ブロック間に依存関係を設定する。依存関係の向きはプログラムブロック間の向きに合わせて、「搬送ロボット(Ｓｔａｒｔ→Ａ)」に対応する制御ブロックから、「加工機Ａ」に対応する制御ブロックへの依存関係を設定する。
【００３２】
依存関係を設定する際に既に別の依存関係が設定されている場合、複数の依存関係を設定するようにしても良いし、同じ設定は複数しないようにしても良い。生成した依存関係は、制御システムフロー設定格納部５３に格納される。例では、図７に示した制御ブロック間に依存関係を設定すると、図９に示す制御システムフローが生成され、制御システムフロー設定格納部５３に格納される。
【００３３】
制御ブロック生成部５１と制御システムフロー生成部５２とで生成された制御システムフローは、制御システムフロー表示管理部５４によって、表示部３に表示される。制御システムフロー表示管理部５４は、工程フローのプログラムブロックと制御システムフローの制御ブロックの対応関係がわかる形で、工程フローと制御システムフローを同時に表示部３へと表示する。
【００３４】
図１０に、制御システムフロー表示管理部５４によって、工程フローに対応する制御システムフローが表示される例を示す。制御ブロックにはプログラムブロック名が記されているため、プログラムブロックと制御ブロックとの対応関係を把握することができる。
【００３５】
なお、ここでは、プログラムブロックと制御ブロックの対応関係を表示する方法として、プログラムブロック名称を制御ブロックに表示する例を示したが、対応関係を別途リスト形式で表示させるようにしたり、制御ブロックを選択すると対応するプログラムブロックをポップアップで表示させるようにしてもよい。また、プログラムブロックが選択されると、対応する制御ブロックを強調表示させるようにしてもよい。
【００３６】
このように、本発明の実施の形態１によれば、同じ情報が設定された工程のプログラムブロックを統合するように各作業工程に対応する各プログラムブロックから制御ブロックを作成し、制御ブロック間の依存関係を示す制御システムフローを作業工程の依存関係を示す工程フローと対応付けて表示するようにしたので、処理間の関連性をわかりやすく表示する制御システム開発支援装置を得ることができる。その結果、使用者は、工程フローの中に使用される各プログラムブロックについて関連するプログラムブロックを把握することができるので、設計効率や、デバッグ効率が向上する。
【００３７】
実施の形態２．
次に、本発明の実施の形態２に係る制御システム開発支援装置を説明する。図１１は、この発明にかかる制御システム開発支援装置の実施の形態２の構成を説明する図である。実施の形態２に係る制御システム開発支援装置１は、実施の形態１の図１に示した構成に制御システム分類情報管理部７が追加された構成となっている。ここでは、実施の形態１と同一の構成部の説明は省略し、追加された制御システム分類情報管理部７についてのみ説明する。
【００３８】
制御システム分類情報管理部７は、制御システム分類情報設定部７１と、制御システム分類情報格納部７２とをさらに有する。
【００３９】
制御システム分類情報設定部７１は、制御システムにおける作業工程の一部、または全てを、種別毎に分類するために、作業工程の種別と夫々の種別に関連する情報とを制御システム分類情報として設定し、制御システム分類情報格納部７２に格納する。この制御システム分類情報設定部７１は、制御システム分類情報の入力を使用者に促し、入力部２から入力されるようにして設定されるようにしても良いし、他のソフトウェアが有する情報をインポートして制御システム分類情報とするようにしてもよい。ここでは、図４の制御システムに対し、図５の工程フロー設定情報と、図６のプログラムブロック設定情報１１０が工程フロープログラム設定情報格納部４３に格納されており、図１２に示す入出力信号表を制御システム分類情報として使用することとする。入出力信号表１２０は、制御システムを構成するユニット毎に入出力変数を定義している。
【００４０】
つぎに、このような構成の制御システム開発支援装置１における制御ブロック生成手順を説明する。なお、制御システムフロー生成部の処理手順は、実施の形態１と同様であるため、説明を省略する。図１３は、実施の形態２の制御システム開発支援装置において制御ブロックを生成する手順を説明するフローチャートである。
【００４１】
まず、制御ブロック生成部５１は、工程フロープログラム設定情報格納部４３から、プログラムブロック設定情報を取得し (ステップＳ２１)、全てのプログラムブロックに対応する制御ブロックを生成する(ステップＳ２２)。図６の例では、プログラムブロックが７つあるため、それぞれに対応するように７つの制御ブロックを設定する。
【００４２】
つぎに、制御システム分類情報格納部７２より図１２に示す制御システム分類情報を取得する（ステップＳ２３）。取得した制御システム分類情報のうち、種別と、種別分けされた情報として何を用いるかは、ソフトウェアで特定してもよいし、使用者が選択することができるようにしてもよい。ここでは、入出力信号表１２０の「ユニット名称」を種別とし、「変数名」を種別分けされた情報として扱う。
【００４３】
続いて、取得した制御システム分類情報から種別を一つずつ抽出し、抽出した種別に分類されるプログラムブロックに対応する制御ブロックを統合する動作を行う。まず、制御ブロック生成部５１は、抽出していない種別があるか否か判定し（ステップＳ２４）、抽出していない種別がある場合（ステップＳ２４、Ｙｅｓ）、まだ抽出していない種別を１つ抽出する（ステップＳ２５）。そして、制御ブロック生成部５１は、抽出した種別に対応する種別分けされた情報がプログラムブロック設定情報において設定されたプログラムブロックを全て選択し、選択した全てのプログラムブロックを統合する（ステップＳ２６）。そして、ステップＳ２４に移行する。ステップＳ２４において、抽出していない種別が無い場合（ステップＳ２４、Ｎｏ）、制御ブロック生成部５１は、制御ブロック生成処理を終了する。
【００４４】
ここでは、入出力信号表１２０から種別「ロボット」を抽出した際に、「ロボット」に含まれる変数「スライダ出現」と、「スライダ引限」と、「アーム閉」と、「アーム開」と、のいずれかの変数を、プログラムブロック設定情報１１０において、プログラムブロック「搬送ロボット(Ｓｔａｒｔ→Ａ)」と、「搬送ロボット(Ａ→Ｂ)」と、「搬送ロボット(Ｂ→Ｃ)」と、「搬送ロボット(Ｃ→Ｅｎｄ)」と、が使用変数名として保持しているため、対応する制御ブロックを一つに統合する。残りの種別「加工機Ａ」と、「加工機Ｂ」と、が保持する変数名を持つプログラムブロックは、それぞれ一つずつしか存在しないため、制御ブロックの統合は行わない。この結果、最終的に図７に示すような４つの制御ブロックが生成される。図７において制御ブロックに記した名称が、制御ブロックに対応するプログラムブロックの名称を示している。
【００４５】
この実施の形態２によれば、プログラムブロックの設定とは独立した制御システム分類情報を用いた制御ブロックの統合処理が行えるため、実施の形態１の制御システム開発支援装置に比べてより自由度の高い制御システムフローの生成が可能となる。また、図１２に示す入出力信号表のように、制御システムを作成する上で必要となるデータをそのまま使用することが可能なため、制御システムフローを作成するための余分な工数をかけなくてよくなる。
【００４６】
実施の形態３．
次に、本発明の実施の形態３の制御システム開発支援装置を説明する。実施の形態３の制御システム開発支援装置は、実施の形態２の制御システム開発支援装置において、複数の制御システム分類情報を設定できるようにしたことが特徴となっている。
【００４７】
すなわち、制御システム分類情報格納部７２は、複数の制御システム分類情報を格納可能とする。ここでは、図１２に示す入出力信号表１２０と、図１４に示すプログラム割当表１３０とを制御システム分類情報として格納する。プログラム割当表１３０には、制御機器で実行されるプログラム名称が記されており、ＣＰＵ１などの「制御機器名称」を種別とし、ＰｒｏｃｅｓｓＢやＰｒｏｃｅｓｓＣなどの「プログラム名称」を種別分けされた情報として扱う。
【００４８】
そして、制御ブロック生成部５１で制御ブロックの生成を行う際に、使用する制御システム分類情報を選択可能とし、予め選択された制御システム分類情報を図１３におけるステップＳ２３で取得し、以降の処理で用いる。例えば、図５の工程フロー設定情報と、図６のプログラムブロック設定情報１１０が工程フロープログラム設定情報格納部４３に格納されている場合において、入出力信号表１２０が選択されているとき、図９に示す制御システムフローが生成され、プログラム割当表１３０が選択されているとき、図１５の制御システムフローが生成される。使用者は用途によって、これらの制御システムフローを切り替えて表示することができる。
【００４９】
また、制御システムフロー設定格納部５３が、複数の制御システムフロー設定を格納する手段を持ち、制御システムフロー表示管理部５４が、複数の制御システムフローを表示部３に表示可能としてもよい。例えば、設定情報の異なる項目に基づいて作成されて制御システムフロー設定格納部５３に格納されている同一の工程フローに対応する夫々異なる制御システムフローを同時に表示させるようにする。また、同様に、異なるシステム分類情報に基づいて作成された同一の工程フローに対応する異なる制御システムフローを同時に表示させるようにする。図１６は、同一の工程フローに対応する２つの制御システムフローが表示されている表示例を説明する図である。また、複数の制御システムフローを表示する際にそれぞれを区別できるように、生成した制御システムフローに対する名称付けができるようにしてもよい。
【００５０】
この実施の形態３によれば、異なる制御ブロックの生成方法によって生成した複数の制御システムフローを表示することができるため、使用者は工程フロー内の処理間の関連をより詳しく判別可能となる。
【産業上の利用可能性】
【００５１】
以上のように、本発明にかかる制御システム開発支援装置は、制御機器によって構成される制御システムを動作させるプログラムの開発を支援する制御システム開発支援装置に適用して好適である。
【図面の簡単な説明】
【００５２】
【図１】実施の形態１の制御システム開発支援装置の構成を示す図である。
【図２】表示部に表示される工程フロー設定情報の一例を説明する図である。
【図３】実施の形態１の制御システム開発支援装置における制御ブロックの生成処理手順を示すフローチャートである。
【図４】開発対象となる制御システムの一例を説明する図である。
【図５】工程フロー設定情報の一例を示す図である。
【図６】プログラムブロック設定情報の一例を示す図である。
【図７】作成された制御ブロックを説明する図である。
【図８】実施の形態１の制御システム開発支援装置において制御システムフローを生成する動作を説明するフローチャートである。
【図９】生成された制御システムフローを説明する図である。
【図１０】工程フローに対応する制御システムフローが表示されている表示例を説明する図である。
【図１１】実施の形態２の制御システム開発支援装置の構成を示す図である。
【図１２】制御システム分類情報として使用する入出力信号表の例を説明する図である。
【図１３】実施の形態２の制御システム開発支援装置における制御ブロックの生成処理手順を説明するフローチャートである。
【図１４】制御システム分類情報として使用するプログラム割当表の例を説明する図である。
【図１５】生成された制御システムフローを説明する図である。
【図１６】同一の工程フローに対応する２つの制御システムフローが表示されている表示例を説明する図である。
【符号の説明】
【００５３】
１  制御システム開発支援装置
２  入力部
３  表示部
４  工程フロープログラム管理部
５  制御システムフロー管理部
６  制御部
７  制御システム分類情報管理部
４１  工程フロー設定管理部
４２  プログラムブロック設定管理部
４３  工程フロープログラム設定情報格納部
５１  制御ブロック生成部
５２  制御システムフロー生成部
５３  制御システムフロー設定格納部
５４  制御システムフロー表示管理部
７１  制御システム分類情報設定部
７２  制御システム分類情報格納部
１００  工程フロー設定画面
１０１  プログラムブロック
１０２  依存関係を示す矢印
１１０  プログラムブロック設定情報
１２０  入出力信号表
１３０  プログラム割当表
【図１】
0005058063.tif 000002
【図２】
0005058063.tif 000003
【図３】
0005058063.tif 000004
【図４】
0005058063.tif 000005
【図５】
0005058063.tif 000006
【図６】
0005058063.tif 000007
【図７】
0005058063.tif 000008
【図８】
0005058063.tif 000009
【図９】
0005058063.tif 000010
【図１０】
0005058063.tif 000011
【図１１】
0005058063.tif 000012
【図１２】
0005058063.tif 000013
【図１３】
0005058063.tif 000014
【図１４】
0005058063.tif 000015
【図１５】
0005058063.tif 000016
【図１６】
0005058063.tif 000017