(57)【要約】【課題】分散制御システムを構成する各コントローラの制御プログラム作成を容易化でき、システム全体のデバッグやシミュレーションを一度に行うことを可能にする。【解決手段】複数のコントローラから構成される分散処理システムの制御プログラムを作成する分散オブジェクト開発ツールにおいて、中央演算処理装置１は、入力装置１２から入力されるグループ分け指令に基づいて、制御ブロック図の複数の処理ノードをグループ分けして複数のコントローラに対応付け、入力されるコンパイル指令に基づいて制御ブロック図を他のプログラムが解釈できる制御ブロック図データに変換し、変換した制御ブロック図データをグループごとに分割するとともに、各グループ内の処理ノード間の情報伝送で使用するインターフェースプログラムと、各グループ間の情報伝送で使用するインターフェースプログラムとを予め定められた基準で選定して各処理ノードのプログラムに実装する。【選択図】  図２
2008299763.tif 000002
【特許請求の範囲】
【請求項１】
中央演算処理装置と主メモリと入力・出力インターフェースを有してなる計算機と、該計算機に接続されたデータベースと入力装置とディスプレイとを備えてなり、複数のコントローラから構成される分散処理システムの制御プログラムを作成する分散オブジェクト開発ツールにおいて、
前記データベースには、制御ブロック図作成プログラムと、制御ブロック図変換プログラムと、グループ分割プログラムと、実行コード生成プログラムを含む開発プログラムが格納され、
前記中央演算処理装置は、
前記入力装置から入力される前記制御プログラムのデータ及びグループ分け指令に基づいて、前記制御ブロック図作成プログラム実行して、前記制御プログラムを複数の処理ノードと該複数の処理ノードをグループ分けして前記複数のコントローラに対応付けてなる制御ブロック図を作成して前記データベースに保存するとともに、作成した制御ブロック図を前記ディスプレイに表示する第１の処理と、
前記入力装置から入力されるコンパイル指令に基づいて前記制御ブロック図変換プログラムを実行して、前記データベースから前記制御ブロック図を読み出して他のプログラムが解釈できる制御ブロック図データに変換する第２の処理と、
前記グループ分割プログラムを実行して、第２の処理で作成された制御ブロック図データをグループごとに分割して前記データベースに格納する第３の処理と、
前記実行コード生成プログラムを実行して、前記データベースから前記制御ブロック図データをグループごとに読み出して、各グループ内の処理ノード間の情報伝送で使用するインターフェースプログラムと、各グループ間の情報伝送で使用するインターフェースプログラムとを前記データベースに格納されている予め定められたインターフェーステーブルを参照して選択し、該選択したインターフェースプログラムを各処理ノードのプログラムに実装して前記データベースに格納する第４の処理とを含んでなることを特徴とする分散オブジェクト開発ツール。
【請求項２】
請求項１に記載の分散オブジェクト開発ツールにおいて、
各グループ内の処理ノード間の情報伝送で使用する前記インターフェースプログラムは、当該コントローラ内部で処理可能なインターフェースプログラムであり、
前記各グループ間の情報伝送で使用するインターフェースプログラムは、各コントローラ間で処理可能なネットワークインターフェースプログラムであることを特徴とする分散オブジェクト開発ツール。
【請求項３】
請求項２に記載の分散オブジェクト開発ツールにおいて、
前記処理ノード間の情報伝送で使用する前記インターフェースプログラムは、シグナル通信モジュールであり、
前記各グループ間の情報伝送で使用するインターフェースプログラムは、ＴＣＰ／ＩＰ通信モジュールであることを特徴とする分散オブジェクト開発ツール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のコントローラから構成される分散処理システムの制御プログラムを作成する分散オブジェクト開発ツールに関する。
【背景技術】
【０００２】
複数のコンピュータを分散設置し、それら複数のコンピュータに一連の機能を分割して処理させる分散処理システムが知られている（例えば、特許文献１、特許文献２）。
【０００３】
一方、コンピュータを備えてなる複数のコントローラを分散設置し、それら複数のコントローラにより一連の機能を分割して処理させる分散制御システムが知られている。このような分散制御システムでは、一連の機能を実現するアプリケーションプログラム（以下、単にプログラムと称する。）を個々の分散コントローラ毎に分割して作成している。また、分散制御システムのプログラムを作成する分散オブジェクト開発ツールは、各分散コントローラに割り付けられた個々のプログラム単位で作成する機能を有して構成されている。
【０００４】
【特許文献１】特開２００４−２７１９０７号公報
【特許文献２】特開２０００−２９３３７５公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、従来の分散オブジェクト開発ツールは、コントローラ毎にそれぞれ制御プログラムを作成しているため、分散制御システム全体のデバッグやシミュレーションを行うことができないという問題がある。したがって、個々の制御プログラム単位でデバッグやシミュレーションを行った後、各制御プログラムをコントローラにインストールして実機を動作させながら再度デバッグやシミュレーションを行わなければならない。
【０００６】
この問題を解決するため、分散制御システムの各コントローラの制御プログラムを一連とした全体プログラムを作成して、デバッグやシミュレーションを行うことが考えられる。しかし、その後、個々のコントローラにコンパイルするために、全体プログラムを分割する作業に手間がかかるという問題がある。
【０００７】
本発明が解決しようとする課題は、分散制御システムを構成する各コントローラの制御プログラム作成を容易化でき、システム全体のデバッグやシミュレーションを一度に行うことを可能にすることにある。
【課題を解決するための手段】
【０００８】
上記の課題を解決するため、本発明は、中央演算処理装置と主メモリと入力・出力インターフェースを有してなる計算機と、該計算機に接続されたデータベースと入力装置とディスプレイとを備えてなり、複数のコントローラから構成される分散処理システムの制御プログラムを作成する分散オブジェクト開発ツールにおいて、前記データベースには、制御ブロック図作成プログラムと、制御ブロック図変換プログラムと、グループ分割プログラムと、実行コード生成プログラムを含む開発プログラムが格納され、前記中央演算処理装置は、前記入力装置から入力される前記制御プログラムのデータ及びグループ分け指令に基づいて、前記制御ブロック図作成プログラム実行して、前記制御プログラムを複数の処理ノードと該複数の処理ノードをグループ分けして前記複数のコントローラに対応付けてなる制御ブロック図を作成して前記データベースに保存するとともに、作成した制御ブロック図を前記ディスプレイに表示する第１の処理と、前記入力装置から入力されるコンパイル指令に基づいて前記制御ブロック図変換プログラムを実行して、前記データベースから前記制御ブロック図を読み出して他のプログラムが解釈できる制御ブロック図データに変換する第２の処理と、前記グループ分割プログラムを実行して、第２の処理で作成された制御ブロック図データをグループごとに分割して前記データベースに格納する第３の処理と、前記実行コード生成プログラムを実行して、前記データベースから前記制御ブロック図データをグループごとに読み出して、各グループ内の処理ノード間の情報伝送で使用するインターフェースプログラムと、各グループ間の情報伝送で使用するインターフェースプログラムとを前記データベースに格納されている予め定められたインターフェーステーブルを参照して選択し、該選択したインターフェースプログラムを各処理ノードのプログラムに実装して前記データベースに格納する第４の処理とを含んでなることを特徴とする。
【０００９】
本発明によれば、入力装置から制御プログラムのグループ分け指令を入力することにより、制御プログラムを複数の処理ノードをグループ分けして複数のコントローラに対応付けた制御ブロック図を作成できるから、グループ化された処理ノード間及びグループ間の処理に適したインターフェースプログラムを自動で作成することができる。
【００１０】
したがって、分散制御システムの各コントローラの制御プログラムを一連とした全体プログラムを作成することができるから、一連とした全体プログラムのデバッグやシミュレーションを一度に行うことができる。
しかも、処理ノード間のインターフェースプログラムの実装が自動で行われるため、プログラム開発者は処理ノード間のインターフェースプログラムを１つずつ設定する作業を省くことができ、かつ、個々のコントローラにコンパイルするための全体プログラムの分割作業の手間を省略できるので、分散制御システムを構成する各コントローラのプログラム作成を容易化でき、処理効率を向上できる。
【発明の効果】
【００１１】
本発明によれば、分散制御システムを構成する各コントローラの制御プログラム作成を容易化でき、システム全体のデバッグやシミュレーションを一度に行うことができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明を実施形態に基づいて説明する。
【００１３】
図１に、本発明の一実施形態の分散オブジェクト開発ツールのブロック構成図を示す。図示のように、分散オブジェクト開発ツールは、中央演算処理装置（ＣＰＵ）１、主メモリ２、入力インターフェース３、出力インターフェース４、及び通信装置５を有する計算機１０を備えて構成されている。計算機１０のシステムバスに記憶装置からなるデータベース１１が接続されている。入力インターフェース３には、キーボードやマウスなどの入力装置１２が接続されている。出力インターフェース４には、ディスプレイなどの出力装置１３が接続されている。通信装置５には、ローカルエリアネットワーク（ＬＡＮ）などのネットワーク１４が接続されている。ネットワーク１４には、図示していないが、分散制御システムのコントローラが接続されており、生成した各コントローラの実行コードをデータベース１１から各コントローラへダウンロードするのに用いられる。
【００１４】
データベース１１には、本実施形態の分散オブジェクト開発ツールで用いる開発プログラムが保存されている。開発プログラムには、制御ブロック図作成プログラムと、制御ブロック図変換プログラム（Ｖ）と、グループ分割プログラム（Ｗ）と、実行コード生成プログラム（Ｘ）を含んで構成されている。
【００１５】
制御ブロック図変換プログラム（Ｖ）は、ユーザが入力装置１２を用いて出力装置１３のディスプレイ上で作成した制御ブロック図を他のプログラムが解釈できる制御ブロック図データに変換するプログラムである。
【００１６】
グループ分割プログラム（Ｗ）は、制御ブロック図変換プログラム（Ｖ）により変換された制御ブロック図データをグループごとに分割してグループテーブル（Ｕ）を作成し、データベース１１に格納するプログラムである。
【００１７】
実行コード生成プログラム（Ｘ）は、グループテーブル（Ｕ）のグループごとに、実行コードを生成するプログラムである。このとき、実行コード生成プログラム（Ｘ）は、各グループの内部と外部で使用するインターフェースプログラムを選択する。このインターフェースプログラムの選択は、データベース１１に格納されているインターフェーステーブル（Ｙ）を参照して決める。つまり、インターフェーステーブル（Ｙ）には、予め内部・外部インターフェースプログラムには、どのモジュールを適用するかのデータが格納・定義されている。例えば、グループ内部は、シグナル通信モジュールを用いることが定義されている。また、グループ外部は、ＴＣＰ／ＩＰ通信モジュールを用いることが定義されている。
【００１８】
このように構成される本実施形態の分散オブジェクト開発ツールの詳細構成について、分散オブジェクト開発ツールの処理手順のフローチャートを図２に示し、さらにプログラム開発対象の分散制御システムの具体的な実施例に基づいて、動作とともに説明する。
【実施例１】
【００１９】
図３に、プログラム開発対象の一実施例の分散制御システムの全体構成図を示し、図４に本実施形態の分散オブジェクト開発ツールにより作成された一実施例の分散制御システムの制御内容の図表を示す。
【００２０】
図４に示すように、本実施例の分散制御システム２０は、複数のロボットなどに制御工程を分散して協調制御するシステムであり、例えば３つのコントローラ２０１〜２０３に分散して一連の制御工程を実行するように構成される。コントローラ２０１は、イーサ（Ｅｔｈｅｒ：登録商標）ネットワーク２１，２２を介してそれぞれコントローラ２０２，２０３に通信可能に接続されている。
【００２１】
このような分散制御システム２０の制御プログラムを開発する手順を図２のフローチャートに沿って説明する。
【００２２】
（ステップＳ１）
開発者は、ステップＳ１において、図１の入力装置１２のキーボードやマウスを使い、ＣＰＵ１を動作させながら分散制御システム２０の制御プログラムを作成する。このとき、図示していない描画プログラムによりＣＰＵ１を動作させて、出力装置１３のディスプレイに図４に示すような制御ブロック図３０が作成される。すなわち、ＣＰＵ１は、制御ブロック図作成プログラムを実行して、入力装置１３から入力される制御プログラムのデータ及び指令に基づいて、制御プログラムを複数の処理ノードｎ１〜ｎ６と該複数の処理ノードｎ１〜ｎ６をグループ分けして複数のコントローラ２０１〜２０３に対応付けてなる制御ブロック図３０を作成する。そして、データベース１１に保存するとともに、作成した制御ブロック図３０を出力装置１３のディスプレイに表示する。
【００２３】
この制御ブロック図３０は、図４に示すように、開発者は、分散制御システム２０の制御プログラムの全体を処理ノードｎ１〜ｎ６に分け、それらの処理ノードｎ１〜ｎ６をそれぞれアークａ１〜ａ５によって接続して作成する。また、開発者は、コントローラ２０１〜２０３に処理ノードｎ１〜ｎ６を割り付けて、グループ３１〜３３の定義を入力する。つまり、グループ３１の処理はコントローラ２０１が行う処理、グループ３２の処理はコントローラ２０２が行う処理、グループ３３の処理はコントローラ２０３が行う処理であることを定義する。このようにして作成された制御ブロック図３０は、データベース１１などの記憶装置に保存される。
【００２４】
また、制御ブロック図３０に示す制御プログラムが作成された後、入力装置１２のキーボードやマウスからＣＰＵ１に指令を入力して、制御プログラムの全体をシミュレーション及びデバッグする。
【００２５】
（ステップＳ２）
制御プログラム全体のシミュレーション及びデバッグが終了した後、開発者が入力装置１３からコンパイル指示を入力すると、ＣＰＵ１は制御ブロック図変換プログラム（Ｖ）を実行して、制御ブロック図３０を他のプログラムが解釈できる制御ブロック図データに変換して、データベース１１などの記憶装置に格納する。
【００２６】
（ステップＳ３）
ＣＰＵ１は、制御ブロック図変換プログラム（Ｖ）の実行を終了したとき、グループ分割プログラム（Ｗ）を起動して、制御ブロック図変換プログラム（Ｖ）により変換された制御ブロック図データをグループ３１〜３３ごとに分割してグループテーブル（Ｕ）を作成し、データベース１１などの記憶装置に格納する。  
（ステップＳ４）
ＣＰＵ１は、実行コード生成プログラム（Ｘ）を起動して、データベース１１などの記憶装置からグループテーブル（Ｕ）を読み出して、制御ブロック図データのグループ３１〜３３ごとに実行コードを生成する。例えば、グループ３１に属する処理ノードｎ１とアークａ１と処理ノードｎ２は、１つの実行コードとして生成される。また、ＣＰＵ１は、実行コード生成プログラム（Ｘ）を実行して、各グループ３１〜３３の内部と外部で使用するインターフェースを選択する。このインターフェースの選択は、データベース１１に格納されているインターフェーステーブル（Ｙ）を参照して決める。
【００２７】
例えば、アークａ１はコントローラ２０１の内部の処理と判定して、例えばＣＰＵ１の処理速度が最速になるようなパイプやプロセス間通信などの内部通信インターフェースをインターフェーステーブル（Ｙ）から選択する。そして、選択したインターフェースをコントローラ２０１の制御プログラムに実装して、実行コードを作成する。
【００２８】
一方、グループ３２からコントローラ２０２の実行コードを生成する場合、処理ノードｎ３とアークａ３と処理ノードｎ４は、１つの実行コードとして生成される。また、アークａ３はコントローラ２０２の内部の処理とみなせるから、例えばＣＰＵ１の処理速度が最速になるようなパイプやプロセス間通信などの内部通信インターフェースをインターフェーステーブル（Ｙ）から選択して実装する。同様に、グループ３３からコントローラ２０３の実行コードを生成する場合、処理ノードｎ５とアークａ５と処理ノードｎ６は、１つの実行コードとして生成される。また、アークａ５はコントローラ２０３の内部の処理とみなせるから、例えばＣＰＵ１の処理速度が最速になるようなパイプやプロセス間通信などの内部通信インターフェースをインターフェーステーブル（Ｙ）から選択して実装する。
【００２９】
さらに、コントローラ２０１とコントローラ２０２間、及びコントローラ２０１とコントローラ２０３間は、それぞれイーサネット（登録商標）ワーク２１、２２で接続されていることから、アークａ２とアークａ４は、例えば通信速度が最速になるようなＴＣＰ／ＩＰ等のネットワークで通信可能なインターフェースが選択実装される。
【００３０】
このようにして、制御ブロック図３０に基づいて生成された各コントローラ２０１〜２０３の実行コードは、データベース１１などの記憶装置に格納される。そして、各コントローラ２０１〜２０３の実行コードは、通信装置５を介してネットワーク１４に出力され、ネットワーク１４に通信可能に接続されたロボットなどのコントローラにダウンロードされる。
【００３１】
以上説明したように、本実施形態の分散オブジェクト開発ツールによれば、分散制御システムの各コントローラのプログラムを一連とした全体プログラムを作成することができるから、一連とした全体プログラムのデバッグやシミュレーションを一度に行うことができる。
【００３２】
しかも、処理ノード間の各アークのインターフェースの実装が自動で行われるため、プログラム開発者は処理ノード間のインターフェースを１つずつ設定する作業を省くことができ、かつ、個々のコントローラにコンパイルするための全体プログラムの分割作業の手間を省略できるので、分散制御システムを構成する各コントローラのプログラム作成を容易化でき、処理効率を向上できる。
【実施例２】
【００３３】
図５に、プログラム開発対象の他の実施例の分散制御システムの全体構成図を示す。本実施例は、テレビ解体システム４０の分散制御プログラムを開発する例である。図６に本実施形態の分散オブジェクト開発ツールにより作成された一実施例のテレビ解体システムの制御ブロック図５０を示す。
【００３４】
図５に示すように、家電製品であるテレビの自動解体作業を行う工場では、コンベア４１上に解体用テレビ４２が載置されて、図において左から右に搬送されるようになっている。そして、コンベア４１の搬送方向にそって、解体作業を行うロボットＡＲ、ＢＲ、ＣＲが配列され、例えばＡ−Ｂ−Ｃの３つの工程を順次経てテレビを解体するようになっている。工程Ａは「テレビのフロントカバーのネジを外す作業」、工程Ｂは「フロントカバーを取り外す作業」、工程Ｃは「内部の基板を取り除く作業」に分けられている。
【００３５】
各工程Ａ〜Ｃの作業は、それぞれロボットＡＲ、ＢＲ、ＣＲに割り付けられている。ロボットＡＲ、ＢＲ、ＣＲへの作業指示は、記憶媒体、計算処理部、コントローラ同士の通信インターフェースを実装しているコントローラＡＣ、ＢＣ，ＣＣによって行われる。各コントローラＡＣ、ＢＣ，ＣＣの記憶媒体には、コントローラプログラムＡＰ、ＢＰ，ＣＰがダウンロードされている。
【００３６】
このような分散制御システムのコントローラプログラムＡＰ、ＢＰ，ＣＰを作成する場合、従来は、開発者がコントローラＡＣを動作させるコントローラプログラムＡＰを作成して、シミュレーション及びデバッグを行い、同様にコントローラＢＣ、ＣＣを動作させるコントローラプログラムＢＰ、ＣＰをそれぞれ別個に作成して、シミュレーション及びデバッグを行っていた。そして、最後に、コントローラプログラムＡＰ，ＢＰ、ＣＰを各コントローラＡＣ、ＢＣ，ＣＣにインストールして、ロボットＡＲ、ＢＲ、ＣＲを動作させながら、再度デバッグを行う必要があった。つまり、工程・作業別に開発者がプログラムを作成し、シミュレーション及びデバッグを行い、更に全てのプログラムをコントローラにインストールして実機を動作させながら再度デバッグを行う必要があった。
【００３７】
このようなテレビ解体システム４０の制御プログラムを開発する手順を図２のフローチャートに沿って説明する。
【００３８】
（ステップＳ１）
開発者は、ステップＳ１において、図１の入力装置１２のキーボードやマウスを使い、図示していない描画プログラムによりＣＰＵ１を動作させて、出力装置１３のディスプレイに図６に示すような制御ブロック図５０を作成する。
【００３９】
この制御ブロック図５０は、図６に示すように、開発者は、テレビ解体システム４０の制御プログラムの全体を「Ｘネジ外し命令」５１、「Ｙネジ外し命令」５２、「フロントカバー取り外し命令」５３、「締結部破壊命令」５４、「基板取り出し命令」５５の各処理ノードに分け、それらの処理ノードをそれぞれグループ内通信６１、グループ間通信６２、６３、グループ内通信６４のアークによって接続して作成する。また、開発者は、コントローラＡＣに「Ｘネジ外し命令」５１と「Ｙネジ外し命令」５２を割り付け、コントローラＢＣに「フロントカバー取り外し命令」５３を割り付け、コントローラＣＣに「締結部破壊命令」５４と「基板取り出し命令」５５を割り付けて、グループＡ〜Ｃの定義を入力する。つまり、グループＡの処理はコントローラＡＣが行う処理、グループＢの処理はコントローラＢＣが行う処理、グループＣの処理はコントローラＣＣが行う処理であることを定義する。このようにして作成された制御ブロック図５０は、データベース１１などの記憶装置に保存される。
【００４０】
（ステップＳ２）
入力装置１３からコンパイル指示を入力すると、ＣＰＵ１は制御ブロック図変換プログラム（Ｖ）を実行して、制御ブロック図５０を他のプログラムが解釈できる制御ブロック図データに変換して、データベース１１などの記憶装置に格納する。
【００４１】
（ステップＳ３）
ＣＰＵ１は、制御ブロック図変換プログラム（Ｖ）の実行を終了したとき、グループ分割プログラム（Ｗ）を起動して、制御ブロック図変換プログラム（Ｖ）により変換された制御ブロック図データをグループＡ〜Ｃごとに分割してグループテーブル（Ｕ）を作成し、データベース１１などの記憶装置に格納する。
【００４２】
（ステップＳ４）
ＣＰＵ１は、実行コード生成プログラム（Ｘ）を起動して、データベース１１などの記憶装置からグループテーブル（Ｕ）を読み出してグループＡ〜Ｃごとに実行コードを生成する。例えば、グループＡに属する「Ｘネジ外し命令」５１と「グループ内通信」６１と「Ｙネジ外し命令」５２は、１つの実行コードとして生成される。また、ＣＰＵ１は、実行コード生成プログラム（Ｘ）を実行して、各グループＡ〜Ｃの内部と外部で使用するインターフェースを選択する。このインターフェースの選択は、データベース１１に格納されているインターフェーステーブル（Ｙ）を参照して決める。
【００４３】
例えば、「グループ内通信」６１はコントローラＡＣの内部の処理とみなせるから、例えばＣＰＵ１の処理速度が最速になるようなパイプやプロセス間通信などの内部通信インターフェースをインターフェーステーブル（Ｙ）から選択する。そして、選択したインターフェースをコントローラＡＣの制御プログラムに実装して、実行コードを作成する。
【００４４】
一方、グループＢからコントローラＢＣの実行コードを生成する場合、「フロントカバー取り外し命令」５３は、１つの実行コードとして生成される。同様に、グループＣからコントローラＣＣの実行コードを生成する場合、「締結部破壊命令」５４と「グループ内通信」６１と「基板取り出し命令」５５は、１つの実行コードとして生成される。また、「グループ内通信」６１はコントローラＣＣの内部の処理とみなせるから、例えばＣＰＵ１の処理速度が最速になるようなパイプやプロセス間通信などの内部通信インターフェースをインターフェーステーブル（Ｙ）から選択して実装する。例えば、インターフェーステーブル（Ｙ）には、グループ内部通信はシグナル通信モジュールが、グループ外部間通信はＴＣＰ／ＩＰ通信モジュールが定義されている。
【００４５】
さらに、コントローラＡＣとコントローラＢＣ間、及びコントローラＢＣとコントローラＣＣ間は、それぞれ「グループ間通信」６２，６３で接続されている。これらの「グループ間通信」６２，６３は、例えば通信速度が最速になるようなＴＣＰ／ＩＰ等のネットワークで通信可能なインターフェースが選択実装される。
【００４６】
つまり、図６に示すように、「Ｘネジ外し命令」５１の終了通知と、その終了通知を受信して「Ｙネジ外し命令」５２の実行開始は、同一のコントローラＡＣ内部で行われるから、分散オブジェクト開発ツールによってコントローラプログラムＡＰは、メモリを使ったシグナル通信が自動実装されて内部通信を行う。
【００４７】
また、「Ｙネジ外し命令」５２の終了通知と、その終了通知を受信して開始する「フロントカバー取り外し命令」は、別コントローラ間の通信で行われるため、分散オブジェクト開発ツールによってコントローラプログラムＡＰはネットワーク通信モジュールが自動実装され、コントローラプログラムBP側もネットワーク通信モジュールが自動実装され、互いにネットワーク通信を行えるような実行コードが自動生成される。
【００４８】
このようにして、制御ブロック図５０に基づいて生成された各コントローラＡＣ，ＢＣ、ＣＣの実行コードは、データベース１１などの記憶装置に格納される。そして、各コントローラＡＣ，ＢＣ、ＣＣの実行コードは、通信装置５を介してネットワーク１４に出力され、ネットワーク１４に通信可能に接続されたコントローラＡＣ，ＢＣ、ＣＣにダウンロードされる。
【００４９】
このように構成されることから、本実施形態の分散オブジェクト開発ツールでは、開発者がプログラムＡＰ、ＢＰ、ＣＰを全て1つの統合された環境でプログラムし、そこで全体のシミュレーションやデバッグを一度に行うことができるから、何度もデバッグする手間が省ける。
【００５０】
また、開発者が統合環境で作成したプログラムを各コントローラ毎にグループ分けを行うと、分散オブジェクト開発ツールはグループ化された処理部分をコンパイルして実行コードを作成する際に、グループ内部、つまりコントローラ内部の通信と判別したものについては、実行コードにメモリを使ったシグナル通信を自動実装する。また、グループ外つまりコントローラ外部への通信と判別したものについては、実行コードにネットワーク通信モジュールを自動実装する。
【実施例３】
【００５１】
図７に、実施例２の変形例のテレビ解体システム６０を示す。図８に本実施形態の分散オブジェクト開発ツールにより作成された一実施例のテレビ解体システムの制御ブロック図７０を示す。
【００５２】
本実施例は、図７に示すように、ＣＰＵ性能の向上やロボットの多機能化により実施例２のロボットＡＲとロボットＢＲが1つのロボットＤＲとして置き換えられた例である。これに合わせて、コントローラＡＣとコントローラＢＣも１つのコントローラＤＣに置き換えられる。この場合でも、開発者が再度プログラムを１から作成する必要は無く、図８に示すように、開発者がグループＡとグループＢを新しくグループＤとして定義すれば、分散オブジェクト開発ツールはグループDをコントローラＤＣ用のプログラムとして認識し、実行コードを自動生成する。この時、プログラムＡＰとプログラムＢＰ間でネットワーク通信していたモジュールは、同一のコントローラＤＣの処理となるため、分散オブジェクト開発ツールはメモリを使ったシグナル通信が自動実装される。
【図面の簡単な説明】
【００５３】
【図１】本発明の一実施形態の分散オブジェクト開発ツールのハードウエア構成を示すブロック図である。
【図２】本発明の一実施形態の分散オブジェクト開発ツールの処理手順とソフトウエアを示すフローチャートである。
【図３】本発明の分散オブジェクト開発ツールにより制御プログラムを開発する対象の一実施例の分散制御システムの構成図である。
【図４】図３の実施例の分散制御システムの制御プログラム図である。
【図５】本発明の分散オブジェクト開発ツールにより制御プログラムを開発する対象の他の実施例のテレビ解体システムの構成図である。
【図６】図５の実施例のテレビ解体システムの制御プログラム図である。
【図７】図５のテレビ解体システムの他の実施例の構成図である。
【図８】図７の実施例のテレビ解体システムの制御プログラム図である。
【符号の説明】
【００５４】
１  中央演算処理装置
２  主メモリ
３  入力インターフェース
４  出力インターフェース
５  通信装置
１０  計算機
１１  データベース
１２  入力装置
１３  出力装置
１４  ネットワーク
【図１】
2008299763.tif 000003
【図２】
2008299763.tif 000004
【図３】
2008299763.tif 000005
【図４】
2008299763.tif 000006
【図５】
2008299763.tif 000007
【図６】
2008299763.tif 000008
【図７】
2008299763.tif 000009
【図８】
2008299763.tif 000010