(57)【特許請求の範囲】
【請求項１】
複数のシミュレータと接続されたシミュレーション装置であって、
前記複数のシミュレータの各々からシミュレーションの対象となる部品を示す部品情報を取得する取得手段と、
前記取得された部品情報を表示部に表示制御する表示制御手段と、
前記表示された部品情報に対するユーザの配置指示に基づき、該部品情報を接続させて配置する配置手段と、
前記接続させて配置された部品間の接続属性を設定する設定手段と、
前記部品情報及び接続属性に基づき前記各シミュレータを連携させてシミュレーションを実行させるものであって、前記シミュレーションの実行ステップ毎に、前記各シミュレータから前記接続させて配置された各部品の出力値を取得するとともに前記出力値を前記接続属性に基づき前記各部品の入力値として前記各シミュレータに対して送信して前記シミュレーションを実行させるシミュレーション実行手段
を有することを特徴とするシミュレーション装置。
【請求項２】
前記複数のシミュレータは、メカシミュレータ、電気シミュレータ、ソフトウェアシミュレータの少なくともいずれか２つ以上を含むことを特徴とする請求項１に記載のシミュレーション装置。
【請求項３】
前記表示手段は、前記部品情報を前記シミュレータ毎にグループ分けして表示することを特徴とする請求項１又は２に記載のシミュレーション装置。
【請求項４】
前記部品情報は、部品属性を示す情報であることを特徴とする請求項１乃至３のいずれか１項に記載のシミュレーション装置。
【請求項５】
前記設定手段は、前記部品情報に基づき、前記部品間の入出力形式が整合しない場合に、一方の部品の出力形式を他方の部品の入力形式に変換する設定をすることを特徴とする請求項１乃至４のいずれか１項に記載のシミュレーション装置。
【請求項６】
前記表示制御手段は、さらに、前記部品の入力値と出力値とを前記表示部に表示制御することを特徴とする請求項１乃至５のいずれか１項に記載のシミュレーション装置。
【請求項７】
複数のシミュレータと接続されたシミュレーション装置の制御方法であって、
取得手段が、前記複数のシミュレータの各々からシミュレーションの対象となる部品を示す部品情報を取得する取得工程と、
表示制御手段が、前記取得された部品情報を表示部に表示制御する表示制御工程と、
配置手段が、前記表示された部品情報に対するユーザの配置指示に基づき、該部品情報を接続させて配置する配置工程と、
設定手段が、前記接続させて配置された部品間の接続属性を設定する設定工程と、
シミュレーション実行手段が、前記部品情報及び接続属性に基づき前記各シミュレータを連携させてシミュレーションを実行させるものであって、前記シミュレーションの実行ステップ毎に、前記各シミュレータから前記接続させて配置された各部品の出力値を取得するとともに前記出力値を前記接続属性に基づき前記各部品の入力値として前記各シミュレータに対して送信して前記シミュレーションを実行させるシミュレーション実行工程
を有することを特徴とするシミュレーション装置の制御方法。
【請求項８】
コンピュータを請求項１乃至６のいずれか１項に記載のシミュレーション装置として機能させるためのプログラム。
【請求項９】
コンピュータ読取り可能な記憶媒体であって、請求項８に記載のプログラムを記憶したことを特徴とする。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のシミュレータを連携させてシミュレーションを行う処理に関する。
【背景技術】
【０００２】
従来、メカトロニクス製品は、メカトロニクス製品における、メカ部品を設計するメカ設計者、エレキ（電気）部品を設計するエレキ設計者、ソフトウェア部品を設計するソフトウェア設計者によって設計されていた。また、開発工数の削減や品質確保を狙い、各設計者は、それぞれの設計を別々に行い、製品を仮想表現したシミュレータによる検証を行っていた。すなわち、メカ設計者は形状や機構の特性を３Ｄ−ＣＡＤシステムで設計し、設計が製品要件を満たすかどうかをメカシミュレータによって確認する。エレキ設計者はメカ機構の制御のための電気回路をエレキＣＡＤシステムで設計し、設計が製品要件を満たすかどうかをエレキシミュレータによって確認する。ソフトウェア設計者は電気回路を制御するためのソフトウェアを設計し、設計が製品要件を満たすかどうかをソフトウェアシミュレータによって確認する。
【０００３】
このシミュレータによるシミュレーションに関し、より実機製品に近似させるため、メカ・エレキ・ソフトといった個別の検証を独立して行うのではなく、他のＣＡＤシステムによって設計されたデータを用いて各シミュレータを連携させる技術が知られている（特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１９５９７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、メカ・エレキ・ソフトの各部品を独立に設計したとしても、最終的に開発される製品は、メカ・エレキ・ソフトの各部品を要素とする一体物である。そのため従来の、他のＣＡＤシステムによって設計されたデータが、予め定めた所定の値であると仮定して、あるシミュレータを連携させる手法では、部分的な検証は可能であるが製品全体を直接連携させて検証を行うことができない。
【０００６】
そこで本発明は、異なる複数のシミュレータを連携させた全体のシミュレーションを行うことができるシミュレーション装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明におけるシミュレーション装置は、複数のシミュレータと接続されたシミュレーション装置であって、複数のシミュレータの各々からシミュレーションの対象となる部品を示す部品情報を取得する取得手段と、前記取得された部品情報を表示部に表示制御する表示制御手段と、前記表示された部品情報に対するユーザの配置指示に基づき、該部品情報を接続させて配置する配置手段と、前記接続させて配置された部品間の接続属性を設定する設定手段と、前記部品情報及び接続属性に基づき前記各シミュレータを連携させてシミュレーションを実行させるものであって、前記シミュレーションの実行ステップ毎に、前記各シミュレータから前記接続させて配置された各部品の出力値を取得するとともに前記出力値を前記接続属性に基づき前記各部品の入力値として前記各シミュレータに対して送信して前記シミュレーションを実行させるシミュレーション実行手段を有する。
【発明の効果】
【０００８】
異なる複数のシミュレータを連携させた全体のシミュレーションを行うことができる。
【図面の簡単な説明】
【０００９】
【図１】シミュレーションシステムの構成図である。
【図２】シミュレーションの機能構成例を示す図である。
【図３】部品属性を説明する図である。
【図４】シミュレーション全体の処理のフローチャートである。
【図５】シミュレーションの準備の処理を説明する図である。
【図６】部品間の接続を設定する処理のフローチャートである。
【図７】部品構成画面の例を示す図である。
【図８】部品属性画面の例を示す図である。
【図９】接続属性画面の例を示す図である。
【図１０】シミュレーション実行時の処理を説明する図である。
【図１１】シミュレーションの実行結果を表示する処理のフローチャートである。
【図１２】シミュレーションの実行結果の表示画面の例を示す図である。
【図１３】シミュレーションの実行時に逐次、実行結果を表示する処理のフローチャートである。
【発明を実施するための形態】
【００１０】
以下、図面を参照して本発明の実施の形態を説明する。
【実施例１】
【００１１】
図１は、本実施例におけるシミュレーションシステムの構成図である。図１において、コンピュータ１１０は、メカ機構のシミュレーションを行うメカシミュレータ１１１および、メカシミュレータ１１１に用いられる各種メカ部品を格納するメカ部品データベース１１２を備える。コンピュータ１２０は、エレキ（電気）機構のシミュレーションを行うエレキシミュレータ１２１および、エレキシミュレータ１２１に用いられる各種エレキ部品を格納するエレキ部品データベース１２２を備える。コンピュータ１３０は、ソフトウェア機構のシミュレーションを行うソフトシミュレータ１３１および、ソフトシミュレータ１３１に用いられるソフト部品を格納するソフト部品データベース１３２を備える。
【００１２】
統合シミュレータシステム１００は、メカ・エレキ・ソフトの各シミュレータを一つのシステムとして連携する。統合シミュレータシステム１００はネットワーク１６０を介して、メカシミュレータ１１１、エレキシミュレータ１２１、ソフトシミュレータ１３１と接続されている。
【００１３】
統合シミュレータシステム１００は、演算部としてのＣＰＵ１０１、記憶部としてのメモリ１０２、ＨＤＤ１０３、表示部としてのディスプレイ１０４、ユーザインタフェース部としてのマウス／キーボード１４０を備える。また、部品構成設定部１０５、部品属性設定部１０６、接続属性設定部１０７、シミュレーション実行管理部１０８、シミュレーション実行結果表示部１０９、バス１５０を備えている。統合シミュレータシステム１００は、ＣＰＵ１０１、メモリ１０２、ＨＤＤ１０３、バス１５０によって各種データの演算・記憶／蓄積・送受信を行い、マウス／キーボード１４０によるユーザ指示の入力を行い、ディスプレイ１０４によって画面の出力表示を行う。部品構成設定部１０５は、統合シミュレータシステム１００によってシミュレーションが行われる部品の構成に対する設定を行う。部品属性設定部１０６は、各種部品の属性に対する設定を行う。接続属性設定部１０７は、部品間の接続に対する設定を行う。シミュレーション実行管理部１０８は、統合シミュレータシステム１００によって行われるシミュレーションの実行を管理する。シミュレーション実行結果表示部１０９は、統合シミュレータシステム１００によって行われるシミュレーションの実行結果をディスプレイ１０４に表示させる。
【００１４】
図２は本実施例における統合シミュレータシステム１００によるシミュレーションの機能構成例を示す図である。
【００１５】
メカシミュレーション２１０はメカシミュレータ１１１内で行われるメカシミュレーションにおける機構モデルである。メカシミュレーション２１０では、３次元ＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）システムで設計された、メカ部品の形状を表す形状データやメカ部品の動作などの機構を表す機構データを用いて表される機構モデルを検証する。すなわち、コンピュータ１１０上でシミュレーションを行い、機構モデルが製品要件としての機構を充足しているかどうかを検証する。本実施例における機構モデルは、モーター２１１によってローラーａ２１４が回転し、その回転に合わせてベルト２１６、荷物２１５、ローラーｂ２１７が動作する構成を有する。シミュレーションを行う対象の動作は、荷物２１５がセンサａ２１２のセンシング位置に来た際にベルト２１６を停止させるためにモーター２１１が減速し、センサｂ２１３のセンシング位置に来た際にモーター２１１が停止する。なお、機構モデルは上記構成に限られるものではなく、また、シミュレーションを行う対象の動作も上記動作に限られるものではない。また、機構モデルを構成する各メカ部品は、メカ部品データベース１１２に格納されている。
【００１６】
エレキシミュレーション２２０は、エレキシミュレータ１２１内で行われるエレキシミュレーションにおける電気（エレキ）回路である。エレキシミュレーション２２０では、エレキＣＡＤで設計されたエレキ回路部品データ、回路構成データ、制御パラメータなどを用いて表されるエレキ回路を検証する。すなわち、コンピュータ１２０上でシミュレーションを行い、エレキ回路が製品要件に則した制御を充足しているかどうかを検証する。本実施例におけるエレキ回路は、ＲＯＭ２２１、ポート２２２、ＣＰＵ２２３の構成からなるエレキ回路を有する。ＣＰＵ２２３は、ポート２２２を介してモーター２１１の駆動信号、センサａ２１２あるいはセンサｂ２１３のセンサ信号のキャッチにより、ＲＯＭ２２１に格納された制御命令に基づき機構モデルの動作の制御を切り替えるシミュレーションである。また、回路図内のエレキ部品は、エレキ部品データベース１２２に格納されている。
【００１７】
ソフトシミュレーション２３０は、ソフトシミュレータ１３１内で行われるソフトシミュレーションにおける制御ソフトウェアである。ソフトシミュレーション２３０では、ソフトウェア開発環境で開発されたソフト部品である各種製品制御プログラムの制御動作が正しく実施されているかどうかを検証する。本実施例における制御ソフトウェアは、モーター制御プログラム２３１、センサキャッチプログラム２３２のようなソフト部品をＲＯＭ２２１に有し、図示しないメインプログラムがソフトウェア全体の制御を行う。また、これらの部品はソフト部品データベースに格納されている。
【００１８】
ここで、メカシミュレータ２０１における機構モデルのモーター２１１、センサａ２１２、センサｂ２１３は、エレキシミュレータ２２０における電気回路のポート２２２に接続されており、機構モデル、電気回路、制御ソフトウェアが連携して動作可能となっている。
【００１９】
このように、各シミュレータが要素ごとに独自であっても、またそのシミュレータが変わった場合でもメカ・エレキ・ソフトの各シミュレータの連携が容易に実現可能で、その結果、シミュレーション対象である製品を、一つの統合シミュレータとして動作・検証することができる。
【００２０】
図３を用いて統合シミュレータシステム１００が扱う部品属性の詳細について説明する。図３（ａ）は、統合シミュレータシステム１００で扱う部品の定義図である。部品はメカ・エレキ・ソフトのシミュレータに関係なく部品名３０１と、０個以上の入力部３０２と０個以上の出力部３０３と、入力に対する動作を決定する属性部３０４を持つ。本実施例においては、この入出力インタフェースおよび属性を部品属性と定義する。
【００２１】
図３（ａ）における部品としてモーターを挙げた例を図３（ｂ）に示す。モーターは、入力信号として電圧値を受信すると、予めモーターの製品仕様として定義された基本駆動特性に基づき、ユーザが定義した最大入力電圧や、モーターのトルクと電流値との関係を表す特性の係数であるＴ−Ｉ特性係数などの属性に応じて、回転速度を出力する部品である。
【００２２】
なお、基本駆動特性は必要に応じてユーザが属性を変更してカスタマイズすることができる。
また、メカ・エレキ・ソフトそれぞれの部品がこのような属性を有し、この属性により、部品に対する個別のシミュレータ内での入出力が決定される。
【００２３】
このように、各部品は入出力インタフェースと属性とを有するため、それぞれを適切に設定しないと適切なシミュレーションを行うことができない。また、より正確な属性を設定することにより、シミュレーションの精度を高めることができる。なお、属性の設定方法の詳細については後述する。
【００２４】
図４は本実施例における統合シミュレータシステム１００を用いたシミュレーション全体の処理のフローチャートである。まず、各シミュレータを互いに連携して動作させるために、シミュレーションの準備を行う（ステップＳ４０１）。次に、各シミュレータのシミュレーション対象を統合して１つの統合シミュレータとしてシミュレーションを実行し（ステップＳ４０２）、シミュレーションの実行結果を表示する（ステップＳ４０３）。各ステップにおける処理の詳細を以下に説明する。
【００２５】
＜シミュレーションの準備＞
図５（ａ）は、ステップＳ４０１において、統合シミュレータシステム１００上で製品の構成を構築し、シミュレーションの準備を行うフローチャートである。統合シミュレータシステム１００は、まず、ステップＳ５０１において、メカシミュレータ１１１を起動する。次に、ステップＳ５０２において、メカシミュレータ１１１に必要なメカ部品の読み込みを行う。さらに、ステップＳ５０３において、ステップＳ５０２で読み込んだメカ部品の部品属性を統合シミュレータシステム１００に読み込む。ステップＳ５０１からステップＳ５０３までの詳細なシーケンスは、次の図５（ｂ）で後述する。エレキシミュレータ１２１およびソフトシミュレータ１３１のそれぞれについてもステップＳ５０１からステップＳ５０３までの処理と同様に起動および必要な部品の読み込みを行う。そして、統合シミュレータシステム１００は、部品構成画面７００をディスプレイ１０４に表示する。ただし、上記メカ・エレキ・ソフトの順番はこれに限らず、どのような順番でもよい。
【００２６】
図５（ｂ）に、メカシミュレータ１１１におけるステップＳ５０１〜ステップＳ５０３を例に、各シミュレータの起動から統合シミュレータに部品を読み込む際のシーケンス図を示す。統合シミュレータシステム１００は、ユーザによってシミュレーション開始の要求を受けると、まずメカシミュレータ１１１の起動要求を出す。メカシミュレータ１１１から完了通知を受け取り、起動が完了したことを確認すると、メカシミュレータ１１１に対し、メカ部品をメカ部品データベース１１２から読み込む要求を出す。メカ部品がメカシミュレータ１１１に転送されると、メカシミュレータ１１１上にメカ部品が表示される。続いてメカ部品のうち形状データなどを除き、部品属性のみを統合シミュレータシステム１００に転送する。転送された部品属性はＨＤＤ１０３に記憶され、転送される度に順次蓄積される。
【００２７】
なお、ここでは、メカシミュレータ１１１がメカ部品を用いてメカシミュレーションを行う例を説明したため、統合シミュレータシステム１００に転送される部品情報は部品属性のみであるが、統合シミュレータシステム１００がメカシミュレーションも行う場合は、部品属性およびメカ部品の両方が統合シミュレータシステム１００に転送される。
【００２８】
メカに続いて、エレキ・ソフトに関しても同様にシミュレータの起動と部品の読み込み処理を行う。ただし、エレキ部品は、エレキＣＡＤで設計されたエレキ回路内における電気信号の入力と出力との振舞いを表すデータに加え、部品属性を含む部品を示す。同様に、ソフト部品とはソフトＣＡＤで設計された制御プログラムコードに加え、部品属性を含む部品を示す。
【００２９】
統合シミュレータシステム１００は、上記ステップにおいて部品が読み込まれると、ステップＳ５１０において部品構成画面をディスプレイ１０４に表示する。
【００３０】
ここで、メカ・エレキ・ソフトの各シミュレータは、それぞれ個別のシミュレーション対象を検証するものであり、通常、それぞれの設計担当者が個別に利用するものである。すなわち、あるシミュレータにとって他のシミュレータのシミュレーション対象がどのように構成されているか不明なため、単に各シミュレータ間において入出力データを受け渡ししても、製品構成が成り立つとは限らない。そこで、読み込まれた部品の配置および部品間の接続の詳細について説明する。
【００３１】
図６は、ステップＳ４０１において、メカ・エレキ・ソフトが連携された一つのシミュレータを構成するために、読み込まれた部品を配置し、配置された部品間の接続を設定する処理の流れを示すフローチャートである。このフローチャートおよび図７〜図９を用いて統合シミュレータを構成するための手順を説明する。
【００３２】
図７は、上述したステップＳ５１０において表示される、読み込んだ部品を配置するための部品構成画面の一例である。部品構成画面の表示直後の例を図７（ａ）に示す。部品構成画面は、部品一覧表示部７１０、部品配置部７２０、シミュレーション実行管理部７３０を備える。部品一覧表示部７１０は、部品構成画面表示の際に、ＨＤＤ１０３に蓄積された部品属性を部品一覧表示部７１０に一覧表示７１１する。その際、部品名が表示されたアイコンを用いて、読み込まれた部品の部品属性を表す。同様にエレキ部品７１２・ソフト部品７１３も部品一覧表示部にアイコンで部品属性を一覧表示する。この部品一覧は部品情報を呼び出すシミュレータごとに分類される。ユーザは読み込まれた部品の中から接続したい部品のアイコンを選択し、配置する指示を行う。統合シミュレーションシステム１００は、ユーザからの選択・配置の指示に従い、指示された部品を入力（ステップＳ６０１）し、部品配置部７２０に部品のアイコンを配置（ステップＳ６０２）する。
【００３３】
図７（ｂ）は、部品配置および部品の接続を行った後の部品構成画面の表示例である。なお、部品の接続の詳細については後述する。ステップＳ６０２により、部品が部品配置部７２０に配置されると、その都度、図８に示す部品属性画面８００が表示される。部品属性画面８００は、配置した部品の名称を表示する部品名称表示部８０１、その部品が持つ入出力インタフェースの定義を表示する入出力表示部８０２、また部品が持つ属性を設定する属性設定部８０３を備える。ユーザは、各部品の、シミュレータ間で送受信されるべきデータを検討し、属性のパラメータである属性値を設定し、部品の入出力を決定する。統合シミュレータシステム１００は、表示された部品属性画面８００に対するユーザの指示に従い、決定された部品の属性を設定する（ステップＳ６０３）。
【００３４】
部品の配置および部品の属性設定を、入出力の決定が必要な全部品に対して行う（ステップＳ６０４）。
ステップＳ６０４において部品の配置が完了した後、ユーザは、各シミュレータの統合に必要な部品間の接続を設定するための指示を行う。まず、ユーザによって接続を設定すべき２部品が選択されると、統合シミュレーションシステム１００は、選択指示を入力する（ステップＳ６０５）。２部品に対する選択指示が入力されると、統合シミュレーションシステム１００は、図９に示す接続属性画面９００を表示する。接続属性画面９００は、２部品間の入出力の形式を表示する入出力表示部９０１、２部品間の入出力のデータの整合性を設定する入出力変換関数設定部９０２、接続される部品の動作状態を設定する動作状態設定部９０３を備える。ユーザは、この画面を用いて部品を接続するための指示を行い、統合シミュレーションシステム１００は、ユーザからの指示に応じて対象の２部品に対する接続の設定を行う（ステップＳ６０６）。
【００３５】
ここで、データの整合性を設定するとは、異なるシミュレータ上で動作する２つの部品がそれぞれ同じ入出力インタフェースを持つとは限らないため、一方の部品の出力形式をもう片方の入力形式に変換する設定を定義することである。図９に示す接続属性画面９００の例では、ポート１の出力形式が論理型の０か１の電気信号であり、モーターの入力形式が小数点型の電圧値であり、この論理型の０か１をモーターが受け取る電圧値０．０か５．０に変換する関数である。なお、この関数は、この接続属性画面９００で定義してもよいし、過去にその部品に設定された関数を予め複数取得しておき、その中から選択して定義することで再利用してもよい。また、設定された定義を再利用したい場合は作成した接続の設定をＨＤＤ１０３や各部品データベースに保存しておくと良い。
【００３６】
また動作状態とは、例えば、ポート１がモーターを回転させている状態、あるいは停止させている状態のように、各部品の制御動作の状態を示す。動作状態設定部９０３では、ユーザの定義によって選択された表示色を用いて、接続の表示色を変更できる。図９の例では、ポート１の電気信号の出力値によって表示色を、回転制御時は白、非回転制御時は黒と定義している。このように、動作状態に応じて表示上の色を区別し、表示することでシミュレーションの実行時に、ユーザは、意図どおりに制御が行われているかを確認できる。
【００３７】
ステップＳ６０５からステップＳ６０６の処理を、接続が必要な全部品に対して行う（ステップＳ６０７）。なお、接続の必要のない、すなわちシミュレータ間で連携しない部品については、部品の配置は必要ない。
【００３８】
以上の処理により、統合シミュレーションシステム１００が完成し、シミュレーション実行の準備が完了する。
【００３９】
＜シミュレーションの実行＞
統合シミュレーションシステム１００によるシミュレーションの実行は、図７に示す部品構成画面のシミュレーション実行管理部７３０により管理される。シミュレーション実行管理部７３０は、シミュレーション開始要求部７３１とシミュレーション停止要求部７３２を備える。
【００４０】
統合シミュレーションシステム１００は、ユーザによるシミュレーション開始要求部に対する選択指示を入力すると、シミュレーションの準備処理により設定された部品情報および接続情報に基づきシミュレーションを開始する。また、シミュレーション停止要求部に対するユーザ指示を入力すると、実行中のシミュレーションを停止する。シミュレーションの開始から停止までの流れについては、図１０を用いて後述する。
【００４１】
図１０（ａ）は、統合シミュレーションシステム１００によるシミュレーションを実行する処理のフローチャートである。統合シミュレータシステム１００は、シミュレーション開始要求を受けると、各部品の出力値を各シミュレータから取得する（ステップＳ１００１）。取得する部品の対象は、部品配置部７２０において接続され、出力値を持つ部品全てである。ここで、シミュレータ上の全部品ではなく、部品配置部７２０で指定された部品のみにデータの送受信を限定することで、通信のオーバーヘッドを減らすことができる。統合シミュレータシステム１００は、ステップＳ１００１により取得した各部品の出力値を、それぞれ接続属性画面９００で指定された入出力変換関数設定を元に演算し、変換後の出力値を算出する（ステップＳ１００２）。このとき、演算により決定される部品の入出力値をＨＤＤに記憶し、順次蓄積する（ステップＳ１００３）。さらに、接続属性画面９００で指定された動作状態設定を元に、接続の表示色を変更する（ステップＳ１００４）。
【００４２】
次に、統合シミュレータシステム１００は、ステップＳ１００２による演算結果を、接続属性画面９００において設定された接続属性を基づき、各部品の入力値として設定する（ステップＳ１００５）。この設定された値を各シミュレータに送信する（ステップＳ１００６）。送信後、統合シミュレータシステム１００は、各シミュレータに１ステップごとの実行要求を出す（ステップＳ１００７）。この実行要求によって、各シミュレータ上の各部品の出力値が更新される。次に、シミュレーション停止要求を受信したかどうかの確認を行い（ステップＳ１００８）、停止要求を受け付けた場合はシミュレーションを完了し、受け付けていない場合はステップＳ１００１からステップＳ１００８を再度、実行する。
【００４３】
図１０（ｂ）は、図７（ｂ）のポート１とモーターを例にした、図１０（ａ）におけるシミュレーションの処理のフローチャートである。まず、エレキシミュレータ１２１からポート１の出力を取得する（ステップＳ１０１１）。次に、入出力変換関数に基づいた演算を行う（ステップＳ１０１２）。ポート１の出力が１であった場合、入出力変換関数によってモーターが受け取るべき電圧値に変換される。図９の説明における例であれば、変換後の電圧値は“５．０”である。同様にポート１の出力が０であった場合は、変換後の電圧値は“０．０”である。入出力変換関数による演算完了後、モーターへの入力値をＨＤＤ１０３に保存する（ステップＳ１０１３）。また、動作状態設定により接続の表示色を変更する（ステップＳ１０１４）。続いて、ステップＳ１０１３における演算結果を接続先であるモーターの入力値に設定する（ステップＳ１０１５）。この設定された入力値をメカシミュレータ１１１に送信する（ステップＳ１０１６）。送信後、メカシミュレータ１１１を１ＳＴＥＰ実行させる。他の部品についても同様である。
【００４４】
図１０（ｃ）は、シミュレーション実行時にモーターが駆動しているときの動作状態の表示例である。この表示により、モーター制御モジュールによってポート１が制御され、ポート１の出力信号によってモーターが回転し、モーターの回転によってローラーａが回転していることが示されている。このとき、例えば、モーター制御モジュールがポート１を制御する設定値が誤っていた場合、モーター制御モジュールとポート１間の表示色のみ変更され、ポート１からローラーａまでの間の表示色は変更されない。
【００４５】
すなわち、ユーザは、制御しようとしているにも関わらずモーターが動作しないことから、設定値の誤りに気づくことができる。
【００４６】
なお、表示色の変更は、２段階を区別にする色への変更に限らず、３段階以上の区別したい場合は、それぞれに対応する色を定義することで可能である。
【００４７】
＜シミュレーションの実行結果の表示＞
図１１は、統合シミュレータシステム１００によるシミュレーションの実行結果を表示する処理のフローチャートである。統合シミュレータシステム１００は、シミュレーション終了後、図１２に示す実行結果表示画面を表示する。
【００４８】
図１２（ａ）は、一つの部品を選択した場合の実行結果表示画面である。ここでは、モーターの実行結果を表示している。左欄の時間軸における時間の経過（シミュレーションの１ステップごとの実行）とともにモーターの入出力値を表示することで、モーターの入出力値がどのように推移しているかを確認することができる。
【００４９】
統合シミュレータシステム１００は、実行結果表示画面を表示している状態で、ユーザが実行結果を表示させたい部品の、図７の部品一覧表示部７１０に表示されたアイコンに対するユーザの選択指示を入力する（ステップＳ１１０１）。選択指示が入力されると、統合シミュレータシステム１００は、選択指示された部品のシミュレーション実行結果をＨＤＤ１０３から取得し（ステップＳ１１０２）、図１２に示す実行結果表示画面としてディスプレイ１０４に出力する（ステップＳ１１０３）。
【００５０】
また、上記では、１つの部品の入出力値を表示する例について説明したが、表示は１つの部品に限るものではない。メカ・エレキ・ソフトを統合したシミュレータシステムではそれぞれのシミュレータを統合して実行した際の、それぞれのシミュレータの実行結果である、部品における入出力値のログを時間軸（タイムスケール）を揃えて同一画面に表示することで、シミュレーションに問題が発生した場合の要因の解析が容易になる。
【００５１】
図１２（ｂ）は複数の部品を選択した場合の実行結果表示画面である。ここでは、荷物２１５とモーター２１１の部品に対するシミュレーションの実行結果を表示しており、モーター２１１の制御によって荷物２１５がどのように移動しているかを確認することができる。このように、時間の経過とともに複数の部品の入出力を並べて表示することでシステム全体としての制御を確認することが出来る。
【００５２】
各シミュレータ上では、各部品ごとに時系列に多量に実行結果が保存されるが、この手段によって全ての実行結果から必要な情報を探し出す手間を省き、必要な部品のみの実行結果を容易に指定し、確認することが出来る。
また、表示するログはある部品の入出力に限らない。部品間の接続において両端となる入出力値を表示してもよい。
【００５３】
さらに、動作状態によって接続の表示色を変更する際（ステップＳ１００４）、図１２（ｂ）に示す実行結果表示画面に出力された実行結果の色も同時に変えることで、表示される数値と動作状態を比較して確認することができる。例えば、荷物２１５がセンサａ２１２を越えた際に、モーター２１１が正しく減速しているかどうかを確認したい場合を考え、荷物２１５がセンサａ２１２を超えた状態を黄色、センサｂ２１３を超えた状態を赤と設定する。このとき、ユーザは時系列に多量に保存される実行結果のうち、先に指定した色を目印に確認すべき実行結果を容易に絞り込むことが出来る。
【００５４】
以上を実現するために、ステップＳ１１０３の処理に続いて、実行結果を表示したい部品を全てに対する選択指示が入力されたかを判定する（ステップＳ１１０４）。複数の部品が選択されている場合は、選択順に右に並べて出力する。このように、複数の部品に対するシミュレーション結果を同一画面に出力することで、メカ・エレキ・ソフトが連携して正しく制御されているかを時系列で確認することができる。また、シミュレーション結果の出力は表示に限らず、ログファイルとしてＨＤＤ１０３に出力してもよい。
【００５５】
なお、上記の説明では、１つの部品に対し１つの部品を接続させる例について説明したが、部品の接続はこれに限るものではない。１つの部品は０個以上の部品と接続が可能であり、例えば１つのモーターで２つのギア（ギア１、ギア２）を回転させる場合は、モーターとギア１を接続し、モーターとギア２を接続すればよい。
【００５６】
また、統合シミュレーションシステム１００におけるシミュレーション対象は、メカ・エレキ・ソフトを全て含む必要は無く、いずれかの組合せでもよい。例えば、異なる２つの部品として設計前と設計後のモーターを用意し、それぞれを２つのメカシミュレータ上に読み込み、エレキシミュレータとの入出力をこの２つの部品に接続することで、設計変更の前後の変化を比較可能となる。
【００５７】
また、コンピュータ１１０、コンピュータ１２０、コンピュータ１３０は、アプリケーションソフトウェアとして構成されてもよく、その場合は、統合シミュレータシステム１００がそれぞれのソフトウェアを呼び出して、各種処理の制御・実行を行う。
【００５８】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステムあるいは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００５９】
以上により、１つの部品（または製品）に対して異なる複数のシミュレータを連携させた全体のシミュレーションを行うことができる。
【実施例２】
【００６０】
実施例１においては、シミュレーションの実行結果をシミュレーションの終了後に表示する例について説明したが、本実施例においては、シミュレーションの終了後ではなく、シミュレーションの実行時に逐次、実行結果を表示する場合について説明する。
【００６１】
シミュレーションの実行時に逐次、実行結果を表示する処理のフローチャートを図１３に示す。まず、シミュレーションを開始する前に、実行結果表示画面を表示し（ステップＳ１３０１）、実行結果を表示したい部品に対するユーザの選択指示を入力しておく（ステップＳ１３０２）。次に、選択指示された部品に対するシミュレーションを開始する（ステップＳ１３０３）。図１０（ａ）のステップＳ１００１〜ステップＳ１００３と同様にシミュレーションを実行し（ステップＳ１３０４〜ステップＳ１３０６）、演算結果をＨＤＤ１０３に保存した後、実行結果表示画面にも実行結果を出力する（ステップＳ１３０７）。接続の表示色の変更（ステップＳ１３０８）からシミュレーションの停止要求を受信したかどうかの確認（ステップＳ１３１２）までは、図１０（ａ）のステップＳ１００４からステップＳ１００８の処理と同様である。
【００６２】
以上により、例えば、メカシミュレーションの実行結果を図示しない別の表示部によりディスプレイ１０４上にアニメーション表示した場合などに、アニメーションとアニメーションを制御するシミュレータ間の入出力値とを同時に確認することができる。
【図１】
0005451329.tif 000002
【図２】
0005451329.tif 000003
【図３】
0005451329.tif 000004
【図４】
0005451329.tif 000005
【図５】
0005451329.tif 000006
【図６】
0005451329.tif 000007
【図７】
0005451329.tif 000008
【図８】
0005451329.tif 000009
【図９】
0005451329.tif 000010
【図１０】
0005451329.tif 000011
【図１１】
0005451329.tif 000012
【図１２】
0005451329.tif 000013
【図１３】
0005451329.tif 000014