シミュレーション装置およびシミュレーション方法
【課題】 本発明は、異なる複数のシミュレータを連携させた全体のシミュレーションを行うことができるシミュレーション装置を提供することを目的とする。
【解決手段】 上記課題を解決するために、請求項1に記載のシミュレーション装置は、複数のシミュレーション装置と接続されたシミュレーション装置であって、複数のシミュレータの各々からシミュレーションの対象となる部品を示す部品情報を取得する取得手段と、前記取得された部品情報を表示する表示手段と、前記表示された部品情報に対するユーザの配置指示に基づき、該部品情報を接続させて配置する配置手段と、前記接続させて配置された部品間の接続属性を設定する設定手段とを有する。
【解決手段】 上記課題を解決するために、請求項1に記載のシミュレーション装置は、複数のシミュレーション装置と接続されたシミュレーション装置であって、複数のシミュレータの各々からシミュレーションの対象となる部品を示す部品情報を取得する取得手段と、前記取得された部品情報を表示する表示手段と、前記表示された部品情報に対するユーザの配置指示に基づき、該部品情報を接続させて配置する配置手段と、前記接続させて配置された部品間の接続属性を設定する設定手段とを有する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のシミュレータを連携させてシミュレーションを行う処理に関する。
【背景技術】
【0002】
従来、メカトロニクス製品は、メカトロニクス製品における、メカ部品を設計するメカ設計者、エレキ(電気)部品を設計するエレキ設計者、ソフトウェア部品を設計するソフトウェア設計者によって設計されていた。また、開発工数の削減や品質確保を狙い、各設計者は、それぞれの設計を別々に行い、製品を仮想表現したシミュレータによる検証を行っていた。すなわち、メカ設計者は形状や機構の特性を3D−CADシステムで設計し、設計が製品要件を満たすかどうかをメカシミュレータによって確認する。エレキ設計者はメカ機構の制御のための電気回路をエレキCADシステムで設計し、設計が製品要件を満たすかどうかをエレキシミュレータによって確認する。ソフトウェア設計者は電気回路を制御するためのソフトウェアを設計し、設計が製品要件を満たすかどうかをソフトウェアシミュレータによって確認する。
【0003】
このシミュレータによるシミュレーションに関し、より実機製品に近似させるため、メカ・エレキ・ソフトといった個別の検証を独立して行うのではなく、他のCADシステムによって設計されたデータを用いて各シミュレータを連携させる技術が知られている(特許文献1)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−195971号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、メカ・エレキ・ソフトの各部品を独立に設計したとしても、最終的に開発される製品は、メカ・エレキ・ソフトの各部品を要素とする一体物である。そのため従来の、他のCADシステムによって設計されたデータが、予め定めた所定の値であると仮定して、あるシミュレータを連携させる手法では、部分的な検証は可能であるが製品全体を直接連携させて検証を行うことができない。
【0006】
そこで本発明は、異なる複数のシミュレータを連携させた全体のシミュレーションを行うことができるシミュレーション装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、請求項1に記載のシミュレーション装置は、複数のシミュレーション装置と接続されたシミュレーション装置であって、複数のシミュレータの各々からシミュレーションの対象となる部品を示す部品情報を取得する取得手段と、前記取得された部品情報を表示する表示手段と、前記表示された部品情報に対するユーザの配置指示に基づき、該部品情報を接続させて配置する配置手段と、前記接続させて配置された部品間の接続属性を設定する設定手段とを有する。
【発明の効果】
【0008】
異なる複数のシミュレータを連携させた全体のシミュレーションを行うことができる。
【図面の簡単な説明】
【0009】
【図1】シミュレーションシステムの構成図である。
【図2】シミュレーションの機能構成例を示す図である。
【図3】部品属性を説明する図である。
【図4】シミュレーション全体の処理のフローチャートである。
【図5】シミュレーションの準備の処理を説明する図である。
【図6】部品間の接続を設定する処理のフローチャートである。
【図7】部品構成画面の例を示す図である。
【図8】部品属性画面の例を示す図である。
【図9】接続属性画面の例を示す図である。
【図10】シミュレーション実行時の処理を説明する図である。
【図11】シミュレーションの実行結果を表示する処理のフローチャートである。
【図12】シミュレーションの実行結果の表示画面の例を示す図である。
【図13】シミュレーションの実行時に逐次、実行結果を表示する処理のフローチャートである。
【発明を実施するための形態】
【0010】
以下、図面を参照して本発明の実施の形態を説明する。
【実施例1】
【0011】
図1は、本実施例におけるシミュレーションシステムの構成図である。図1において、コンピュータ110は、メカ機構のシミュレーションを行うメカシミュレータ111および、メカシミュレータ111に用いられる各種メカ部品を格納するメカ部品データベース112を備える。コンピュータ120は、エレキ(電気)機構のシミュレーションを行うエレキシミュレータ121および、エレキシミュレータ121に用いられる各種エレキ部品を格納するエレキ部品データベース122を備える。コンピュータ130は、ソフトウェア機構のシミュレーションを行うソフトシミュレータ131および、ソフトシミュレータ131に用いられるソフト部品を格納するソフト部品データベース132を備える。
【0012】
統合シミュレータシステム100は、メカ・エレキ・ソフトの各シミュレータを一つのシステムとして連携する。統合シミュレータシステム100はネットワーク160を介して、メカシミュレータ111、エレキシミュレータ121、ソフトシミュレータ131と接続されている。
【0013】
統合シミュレータシステム100は、演算部としてのCPU101、記憶部としてのメモリ102、HDD103、表示部としてのディスプレイ104、ユーザインタフェース部としてのマウス/キーボード140を備える。また、部品構成設定部105、部品属性設定部106、接続属性設定部107、シミュレーション実行管理部108、シミュレーション実行結果表示部109、バス150を備えている。統合シミュレータシステム100は、CPU101、メモリ102、HDD103、バス150によって各種データの演算・記憶/蓄積・送受信を行い、マウス/キーボード140によるユーザ指示の入力を行い、ディスプレイ104によって画面の出力表示を行う。部品構成設定部105は、統合シミュレータシステム100によってシミュレーションが行われる部品の構成に対する設定を行う。部品属性設定部106は、各種部品の属性に対する設定を行う。接続属性設定部107は、部品間の接続に対する設定を行う。シミュレーション実行管理部108は、統合シミュレータシステム100によって行われるシミュレーションの実行を管理する。シミュレーション実行結果表示部109は、統合シミュレータシステム100によって行われるシミュレーションの実行結果をディスプレイ104に表示させる。
【0014】
図2は本実施例における統合シミュレータシステム100によるシミュレーションの機能構成例を示す図である。
【0015】
メカシミュレーション210はメカシミュレータ111内で行われるメカシミュレーションにおける機構モデルである。メカシミュレーション210では、3次元CAD(Computer Aided Design)システムで設計された、メカ部品の形状を表す形状データやメカ部品の動作などの機構を表す機構データを用いて表される機構モデルを検証する。すなわち、コンピュータ110上でシミュレーションを行い、機構モデルが製品要件としての機構を充足しているかどうかを検証する。本実施例における機構モデルは、モーター211によってローラーa214が回転し、その回転に合わせてベルト216、荷物215、ローラーb217が動作する構成を有する。シミュレーションを行う対象の動作は、荷物215がセンサa212のセンシング位置に来た際にベルト216を停止させるためにモーター211が減速し、センサb213のセンシング位置に来た際にモーター211が停止する。なお、機構モデルは上記構成に限られるものではなく、また、シミュレーションを行う対象の動作も上記動作に限られるものではない。また、機構モデルを構成する各メカ部品は、メカ部品データベース112に格納されている。
【0016】
エレキシミュレーション220は、エレキシミュレータ121内で行われるエレキシミュレーションにおける電気(エレキ)回路である。エレキシミュレーション220では、エレキCADで設計されたエレキ回路部品データ、回路構成データ、制御パラメータなどを用いて表されるエレキ回路を検証する。すなわち、コンピュータ120上でシミュレーションを行い、エレキ回路が製品要件に則した制御を充足しているかどうかを検証する。本実施例におけるエレキ回路は、ROM221、ポート222、CPU223の構成からなるエレキ回路を有する。CPU223は、ポート222を介してモーター211の駆動信号、センサa212あるいはセンサb213のセンサ信号のキャッチにより、ROM221に格納された制御命令に基づき機構モデルの動作の制御を切り替えるシミュレーションである。また、回路図内のエレキ部品は、エレキ部品データベース122に格納されている。
【0017】
ソフトシミュレーション230は、ソフトシミュレータ131内で行われるソフトシミュレーションにおける制御ソフトウェアである。ソフトシミュレーション230では、ソフトウェア開発環境で開発されたソフト部品である各種製品制御プログラムの制御動作が正しく実施されているかどうかを検証する。本実施例における制御ソフトウェアは、モーター制御プログラム231、センサキャッチプログラム232のようなソフト部品をROM221に有し、図示しないメインプログラムがソフトウェア全体の制御を行う。また、これらの部品はソフト部品データベースに格納されている。
【0018】
ここで、メカシミュレータ201における機構モデルのモーター211、センサa212、センサb213は、エレキシミュレータ220における電気回路のポート222に接続されており、機構モデル、電気回路、制御ソフトウェアが連携して動作可能となっている。
【0019】
このように、各シミュレータが要素ごとに独自であっても、またそのシミュレータが変わった場合でもメカ・エレキ・ソフトの各シミュレータの連携が容易に実現可能で、その結果、シミュレーション対象である製品を、一つの統合シミュレータとして動作・検証することができる。
【0020】
図3を用いて統合シミュレータシステム100が扱う部品属性の詳細について説明する。図3(a)は、統合シミュレータシステム100で扱う部品の定義図である。部品はメカ・エレキ・ソフトのシミュレータに関係なく部品名301と、0個以上の入力部302と0個以上の出力部303と、入力に対する動作を決定する属性部304を持つ。本実施例においては、この入出力インタフェースおよび属性を部品属性と定義する。
【0021】
図3(a)における部品としてモーターを挙げた例を図3(b)に示す。モーターは、入力信号として電圧値を受信すると、予めモーターの製品仕様として定義された基本駆動特性に基づき、ユーザが定義した最大入力電圧や、モーターのトルクと電流値との関係を表す特性の係数であるT−I特性係数などの属性に応じて、回転速度を出力する部品である。
【0022】
なお、基本駆動特性は必要に応じてユーザが属性を変更してカスタマイズすることができる。
また、メカ・エレキ・ソフトそれぞれの部品がこのような属性を有し、この属性により、部品に対する個別のシミュレータ内での入出力が決定される。
【0023】
このように、各部品は入出力インタフェースと属性とを有するため、それぞれを適切に設定しないと適切なシミュレーションを行うことができない。また、より正確な属性を設定することにより、シミュレーションの精度を高めることができる。なお、属性の設定方法の詳細については後述する。
【0024】
図4は本実施例における統合シミュレータシステム100を用いたシミュレーション全体の処理のフローチャートである。まず、各シミュレータを互いに連携して動作させるために、シミュレーションの準備を行う(ステップS401)。次に、各シミュレータのシミュレーション対象を統合して1つの統合シミュレータとしてシミュレーションを実行し(ステップS402)、シミュレーションの実行結果を表示する(ステップS403)。各ステップにおける処理の詳細を以下に説明する。
【0025】
<シミュレーションの準備>
図5(a)は、ステップS401において、統合シミュレータシステム100上で製品の構成を構築し、シミュレーションの準備を行うフローチャートである。統合シミュレータシステム100は、まず、ステップS501において、メカシミュレータ111を起動する。次に、ステップS502において、メカシミュレータ111に必要なメカ部品の読み込みを行う。さらに、ステップS503において、ステップS502で読み込んだメカ部品の部品属性を統合シミュレータシステム100に読み込む。ステップS501からステップS503までの詳細なシーケンスは、次の図5(b)で後述する。エレキシミュレータ121およびソフトシミュレータ131のそれぞれについてもステップS501からステップS503までの処理と同様に起動および必要な部品の読み込みを行う。そして、統合シミュレータシステム100は、部品構成画面700をディスプレイ104に表示する。ただし、上記メカ・エレキ・ソフトの順番はこれに限らず、どのような順番でもよい。
【0026】
図5(b)に、メカシミュレータ111におけるステップS501〜ステップS503を例に、各シミュレータの起動から統合シミュレータに部品を読み込む際のシーケンス図を示す。統合シミュレータシステム100は、ユーザによってシミュレーション開始の要求を受けると、まずメカシミュレータ111の起動要求を出す。メカシミュレータ111から完了通知を受け取り、起動が完了したことを確認すると、メカシミュレータ111に対し、メカ部品をメカ部品データベース112から読み込む要求を出す。メカ部品がメカシミュレータ111に転送されると、メカシミュレータ111上にメカ部品が表示される。続いてメカ部品のうち形状データなどを除き、部品属性のみを統合シミュレータシステム100に転送する。転送された部品属性はHDD103に記憶され、転送される度に順次蓄積される。
【0027】
なお、ここでは、メカシミュレータ111がメカ部品を用いてメカシミュレーションを行う例を説明したため、統合シミュレータシステム100に転送される部品情報は部品属性のみであるが、統合シミュレータシステム100がメカシミュレーションも行う場合は、部品属性およびメカ部品の両方が統合シミュレータシステム100に転送される。
【0028】
メカに続いて、エレキ・ソフトに関しても同様にシミュレータの起動と部品の読み込み処理を行う。ただし、エレキ部品は、エレキCADで設計されたエレキ回路内における電気信号の入力と出力との振舞いを表すデータに加え、部品属性を含む部品を示す。同様に、ソフト部品とはソフトCADで設計された制御プログラムコードに加え、部品属性を含む部品を示す。
【0029】
統合シミュレータシステム100は、上記ステップにおいて部品が読み込まれると、ステップS510において部品構成画面をディスプレイ104に表示する。
【0030】
ここで、メカ・エレキ・ソフトの各シミュレータは、それぞれ個別のシミュレーション対象を検証するものであり、通常、それぞれの設計担当者が個別に利用するものである。すなわち、あるシミュレータにとって他のシミュレータのシミュレーション対象がどのように構成されているか不明なため、単に各シミュレータ間において入出力データを受け渡ししても、製品構成が成り立つとは限らない。そこで、読み込まれた部品の配置および部品間の接続の詳細について説明する。
【0031】
図6は、ステップS401において、メカ・エレキ・ソフトが連携された一つのシミュレータを構成するために、読み込まれた部品を配置し、配置された部品間の接続を設定する処理の流れを示すフローチャートである。このフローチャートおよび図7〜図9を用いて統合シミュレータを構成するための手順を説明する。
【0032】
図7は、上述したステップS510において表示される、読み込んだ部品を配置するための部品構成画面の一例である。部品構成画面の表示直後の例を図7(a)に示す。部品構成画面は、部品一覧表示部710、部品配置部720、シミュレーション実行管理部730を備える。部品一覧表示部710は、部品構成画面表示の際に、HDD103に蓄積された部品属性を部品一覧表示部710に一覧表示711する。その際、部品名が表示されたアイコンを用いて、読み込まれた部品の部品属性を表す。同様にエレキ部品712・ソフト部品713も部品一覧表示部にアイコンで部品属性を一覧表示する。この部品一覧は部品情報を呼び出すシミュレータごとに分類される。ユーザは読み込まれた部品の中から接続したい部品のアイコンを選択し、配置する指示を行う。統合シミュレーションシステム100は、ユーザからの選択・配置の指示に従い、指示された部品を入力(ステップS601)し、部品配置部720に部品のアイコンを配置(ステップS602)する。
【0033】
図7(b)は、部品配置および部品の接続を行った後の部品構成画面の表示例である。なお、部品の接続の詳細については後述する。ステップS602により、部品が部品配置部720に配置されると、その都度、図8に示す部品属性画面800が表示される。部品属性画面800は、配置した部品の名称を表示する部品名称表示部801、その部品が持つ入出力インタフェースの定義を表示する入出力表示部802、また部品が持つ属性を設定する属性設定部803を備える。ユーザは、各部品の、シミュレータ間で送受信されるべきデータを検討し、属性のパラメータである属性値を設定し、部品の入出力を決定する。統合シミュレータシステム100は、表示された部品属性画面800に対するユーザの指示に従い、決定された部品の属性を設定する(ステップS603)。
【0034】
部品の配置および部品の属性設定を、入出力の決定が必要な全部品に対して行う(ステップS604)。
ステップS604において部品の配置が完了した後、ユーザは、各シミュレータの統合に必要な部品間の接続を設定するための指示を行う。まず、ユーザによって接続を設定すべき2部品が選択されると、統合シミュレーションシステム100は、選択指示を入力する(ステップS605)。2部品に対する選択指示が入力されると、統合シミュレーションシステム100は、図9に示す接続属性画面900を表示する。接続属性画面900は、2部品間の入出力の形式を表示する入出力表示部901、2部品間の入出力のデータの整合性を設定する入出力変換関数設定部902、接続される部品の動作状態を設定する動作状態設定部903を備える。ユーザは、この画面を用いて部品を接続するための指示を行い、統合シミュレーションシステム100は、ユーザからの指示に応じて対象の2部品に対する接続の設定を行う(ステップS606)。
【0035】
ここで、データの整合性を設定するとは、異なるシミュレータ上で動作する2つの部品がそれぞれ同じ入出力インタフェースを持つとは限らないため、一方の部品の出力形式をもう片方の入力形式に変換する設定を定義することである。図9に示す接続属性画面900の例では、ポート1の出力形式が論理型の0か1の電気信号であり、モーターの入力形式が小数点型の電圧値であり、この論理型の0か1をモーターが受け取る電圧値0.0か5.0に変換する関数である。なお、この関数は、この接続属性画面900で定義してもよいし、過去にその部品に設定された関数を予め複数取得しておき、その中から選択して定義することで再利用してもよい。また、設定された定義を再利用したい場合は作成した接続の設定をHDD103や各部品データベースに保存しておくと良い。
【0036】
また動作状態とは、例えば、ポート1がモーターを回転させている状態、あるいは停止させている状態のように、各部品の制御動作の状態を示す。動作状態設定部903では、ユーザの定義によって選択された表示色を用いて、接続の表示色を変更できる。図9の例では、ポート1の電気信号の出力値によって表示色を、回転制御時は白、非回転制御時は黒と定義している。このように、動作状態に応じて表示上の色を区別し、表示することでシミュレーションの実行時に、ユーザは、意図どおりに制御が行われているかを確認できる。
【0037】
ステップS605からステップS606の処理を、接続が必要な全部品に対して行う(ステップS607)。なお、接続の必要のない、すなわちシミュレータ間で連携しない部品については、部品の配置は必要ない。
【0038】
以上の処理により、統合シミュレーションシステム100が完成し、シミュレーション実行の準備が完了する。
【0039】
<シミュレーションの実行>
統合シミュレーションシステム100によるシミュレーションの実行は、図7に示す部品構成画面のシミュレーション実行管理部730により管理される。シミュレーション実行管理部730は、シミュレーション開始要求部731とシミュレーション停止要求部732を備える。
【0040】
統合シミュレーションシステム100は、ユーザによるシミュレーション開始要求部に対する選択指示を入力すると、シミュレーションの準備処理により設定された部品情報および接続情報に基づきシミュレーションを開始する。また、シミュレーション停止要求部に対するユーザ指示を入力すると、実行中のシミュレーションを停止する。シミュレーションの開始から停止までの流れについては、図10を用いて後述する。
【0041】
図10(a)は、統合シミュレーションシステム100によるシミュレーションを実行する処理のフローチャートである。統合シミュレータシステム100は、シミュレーション開始要求を受けると、各部品の出力値を各シミュレータから取得する(ステップS1001)。取得する部品の対象は、部品配置部720において接続され、出力値を持つ部品全てである。ここで、シミュレータ上の全部品ではなく、部品配置部720で指定された部品のみにデータの送受信を限定することで、通信のオーバーヘッドを減らすことができる。統合シミュレータシステム100は、ステップS1001により取得した各部品の出力値を、それぞれ接続属性画面900で指定された入出力変換関数設定を元に演算し、変換後の出力値を算出する(ステップS1002)。このとき、演算により決定される部品の入出力値をHDDに記憶し、順次蓄積する(ステップS1003)。さらに、接続属性画面900で指定された動作状態設定を元に、接続の表示色を変更する(ステップS1004)。
【0042】
次に、統合シミュレータシステム100は、ステップS1002による演算結果を、接続属性画面900において設定された接続属性を基づき、各部品の入力値として設定する(ステップS1005)。この設定された値を各シミュレータに送信する(ステップS1006)。送信後、統合シミュレータシステム100は、各シミュレータに1ステップごとの実行要求を出す(ステップS1007)。この実行要求によって、各シミュレータ上の各部品の出力値が更新される。次に、シミュレーション停止要求を受信したかどうかの確認を行い(ステップS1008)、停止要求を受け付けた場合はシミュレーションを完了し、受け付けていない場合はステップS1001からステップS1008を再度、実行する。
【0043】
図10(b)は、図7(b)のポート1とモーターを例にした、図10(a)におけるシミュレーションの処理のフローチャートである。まず、エレキシミュレータ121からポート1の出力を取得する(ステップS1011)。次に、入出力変換関数に基づいた演算を行う(ステップS1012)。ポート1の出力が1であった場合、入出力変換関数によってモーターが受け取るべき電圧値に変換される。図9の説明における例であれば、変換後の電圧値は“5.0”である。同様にポート1の出力が0であった場合は、変換後の電圧値は“0.0”である。入出力変換関数による演算完了後、モーターへの入力値をHDD103に保存する(ステップS1013)。また、動作状態設定により接続の表示色を変更する(ステップS1014)。続いて、ステップS1013における演算結果を接続先であるモーターの入力値に設定する(ステップS1015)。この設定された入力値をメカシミュレータ111に送信する(ステップS1016)。送信後、メカシミュレータ111を1STEP実行させる。他の部品についても同様である。
【0044】
図10(c)は、シミュレーション実行時にモーターが駆動しているときの動作状態の表示例である。この表示により、モーター制御モジュールによってポート1が制御され、ポート1の出力信号によってモーターが回転し、モーターの回転によってローラーaが回転していることが示されている。このとき、例えば、モーター制御モジュールがポート1を制御する設定値が誤っていた場合、モーター制御モジュールとポート1間の表示色のみ変更され、ポート1からローラーaまでの間の表示色は変更されない。
【0045】
すなわち、ユーザは、制御しようとしているにも関わらずモーターが動作しないことから、設定値の誤りに気づくことができる。
【0046】
なお、表示色の変更は、2段階を区別にする色への変更に限らず、3段階以上の区別したい場合は、それぞれに対応する色を定義することで可能である。
【0047】
<シミュレーションの実行結果の表示>
図11は、統合シミュレータシステム100によるシミュレーションの実行結果を表示する処理のフローチャートである。統合シミュレータシステム100は、シミュレーション終了後、図12に示す実行結果表示画面を表示する。
【0048】
図12(a)は、一つの部品を選択した場合の実行結果表示画面である。ここでは、モーターの実行結果を表示している。左欄の時間軸における時間の経過(シミュレーションの1ステップごとの実行)とともにモーターの入出力値を表示することで、モーターの入出力値がどのように推移しているかを確認することができる。
【0049】
統合シミュレータシステム100は、実行結果表示画面を表示している状態で、ユーザが実行結果を表示させたい部品の、図7の部品一覧表示部710に表示されたアイコンに対するユーザの選択指示を入力する(ステップS1101)。選択指示が入力されると、統合シミュレータシステム100は、選択指示された部品のシミュレーション実行結果をHDD103から取得し(ステップS1102)、図12に示す実行結果表示画面としてディスプレイ104に出力する(ステップS1103)。
【0050】
また、上記では、1つの部品の入出力値を表示する例について説明したが、表示は1つの部品に限るものではない。メカ・エレキ・ソフトを統合したシミュレータシステムではそれぞれのシミュレータを統合して実行した際の、それぞれのシミュレータの実行結果である、部品における入出力値のログを時間軸(タイムスケール)を揃えて同一画面に表示することで、シミュレーションに問題が発生した場合の要因の解析が容易になる。
【0051】
図12(b)は複数の部品を選択した場合の実行結果表示画面である。ここでは、荷物215とモーター211の部品に対するシミュレーションの実行結果を表示しており、モーター211の制御によって荷物215がどのように移動しているかを確認することができる。このように、時間の経過とともに複数の部品の入出力を並べて表示することでシステム全体としての制御を確認することが出来る。
【0052】
各シミュレータ上では、各部品ごとに時系列に多量に実行結果が保存されるが、この手段によって全ての実行結果から必要な情報を探し出す手間を省き、必要な部品のみの実行結果を容易に指定し、確認することが出来る。
また、表示するログはある部品の入出力に限らない。部品間の接続において両端となる入出力値を表示してもよい。
【0053】
さらに、動作状態によって接続の表示色を変更する際(ステップS1004)、図12(b)に示す実行結果表示画面に出力された実行結果の色も同時に変えることで、表示される数値と動作状態を比較して確認することができる。例えば、荷物215がセンサa212を越えた際に、モーター211が正しく減速しているかどうかを確認したい場合を考え、荷物215がセンサa212を超えた状態を黄色、センサb213を超えた状態を赤と設定する。このとき、ユーザは時系列に多量に保存される実行結果のうち、先に指定した色を目印に確認すべき実行結果を容易に絞り込むことが出来る。
【0054】
以上を実現するために、ステップS1103の処理に続いて、実行結果を表示したい部品を全てに対する選択指示が入力されたかを判定する(ステップS1104)。複数の部品が選択されている場合は、選択順に右に並べて出力する。このように、複数の部品に対するシミュレーション結果を同一画面に出力することで、メカ・エレキ・ソフトが連携して正しく制御されているかを時系列で確認することができる。また、シミュレーション結果の出力は表示に限らず、ログファイルとしてHDD103に出力してもよい。
【0055】
なお、上記の説明では、1つの部品に対し1つの部品を接続させる例について説明したが、部品の接続はこれに限るものではない。1つの部品は0個以上の部品と接続が可能であり、例えば1つのモーターで2つのギア(ギア1、ギア2)を回転させる場合は、モーターとギア1を接続し、モーターとギア2を接続すればよい。
【0056】
また、統合シミュレーションシステム100におけるシミュレーション対象は、メカ・エレキ・ソフトを全て含む必要は無く、いずれかの組合せでもよい。例えば、異なる2つの部品として設計前と設計後のモーターを用意し、それぞれを2つのメカシミュレータ上に読み込み、エレキシミュレータとの入出力をこの2つの部品に接続することで、設計変更の前後の変化を比較可能となる。
【0057】
また、コンピュータ110、コンピュータ120、コンピュータ130は、アプリケーションソフトウェアとして構成されてもよく、その場合は、統合シミュレータシステム100がそれぞれのソフトウェアを呼び出して、各種処理の制御・実行を行う。
【0058】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステムあるいは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
【0059】
以上により、1つの部品(または製品)に対して異なる複数のシミュレータを連携させた全体のシミュレーションを行うことができる。
【実施例2】
【0060】
実施例1においては、シミュレーションの実行結果をシミュレーションの終了後に表示する例について説明したが、本実施例においては、シミュレーションの終了後ではなく、シミュレーションの実行時に逐次、実行結果を表示する場合について説明する。
【0061】
シミュレーションの実行時に逐次、実行結果を表示する処理のフローチャートを図13に示す。まず、シミュレーションを開始する前に、実行結果表示画面を表示し(ステップS1301)、実行結果を表示したい部品に対するユーザの選択指示を入力しておく(ステップS1302)。次に、選択指示された部品に対するシミュレーションを開始する(ステップS1303)。図10(a)のステップS1001〜ステップS1003と同様にシミュレーションを実行し(ステップS1304〜ステップS1306)、演算結果をHDD103に保存した後、実行結果表示画面にも実行結果を出力する(ステップS1307)。接続の表示色の変更(ステップS1308)からシミュレーションの停止要求を受信したかどうかの確認(ステップS1312)までは、図10(a)のステップS1004からステップS1008の処理と同様である。
【0062】
以上により、例えば、メカシミュレーションの実行結果を図示しない別の表示部によりディスプレイ104上にアニメーション表示した場合などに、アニメーションとアニメーションを制御するシミュレータ間の入出力値とを同時に確認することができる。
【技術分野】
【0001】
本発明は、複数のシミュレータを連携させてシミュレーションを行う処理に関する。
【背景技術】
【0002】
従来、メカトロニクス製品は、メカトロニクス製品における、メカ部品を設計するメカ設計者、エレキ(電気)部品を設計するエレキ設計者、ソフトウェア部品を設計するソフトウェア設計者によって設計されていた。また、開発工数の削減や品質確保を狙い、各設計者は、それぞれの設計を別々に行い、製品を仮想表現したシミュレータによる検証を行っていた。すなわち、メカ設計者は形状や機構の特性を3D−CADシステムで設計し、設計が製品要件を満たすかどうかをメカシミュレータによって確認する。エレキ設計者はメカ機構の制御のための電気回路をエレキCADシステムで設計し、設計が製品要件を満たすかどうかをエレキシミュレータによって確認する。ソフトウェア設計者は電気回路を制御するためのソフトウェアを設計し、設計が製品要件を満たすかどうかをソフトウェアシミュレータによって確認する。
【0003】
このシミュレータによるシミュレーションに関し、より実機製品に近似させるため、メカ・エレキ・ソフトといった個別の検証を独立して行うのではなく、他のCADシステムによって設計されたデータを用いて各シミュレータを連携させる技術が知られている(特許文献1)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−195971号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、メカ・エレキ・ソフトの各部品を独立に設計したとしても、最終的に開発される製品は、メカ・エレキ・ソフトの各部品を要素とする一体物である。そのため従来の、他のCADシステムによって設計されたデータが、予め定めた所定の値であると仮定して、あるシミュレータを連携させる手法では、部分的な検証は可能であるが製品全体を直接連携させて検証を行うことができない。
【0006】
そこで本発明は、異なる複数のシミュレータを連携させた全体のシミュレーションを行うことができるシミュレーション装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、請求項1に記載のシミュレーション装置は、複数のシミュレーション装置と接続されたシミュレーション装置であって、複数のシミュレータの各々からシミュレーションの対象となる部品を示す部品情報を取得する取得手段と、前記取得された部品情報を表示する表示手段と、前記表示された部品情報に対するユーザの配置指示に基づき、該部品情報を接続させて配置する配置手段と、前記接続させて配置された部品間の接続属性を設定する設定手段とを有する。
【発明の効果】
【0008】
異なる複数のシミュレータを連携させた全体のシミュレーションを行うことができる。
【図面の簡単な説明】
【0009】
【図1】シミュレーションシステムの構成図である。
【図2】シミュレーションの機能構成例を示す図である。
【図3】部品属性を説明する図である。
【図4】シミュレーション全体の処理のフローチャートである。
【図5】シミュレーションの準備の処理を説明する図である。
【図6】部品間の接続を設定する処理のフローチャートである。
【図7】部品構成画面の例を示す図である。
【図8】部品属性画面の例を示す図である。
【図9】接続属性画面の例を示す図である。
【図10】シミュレーション実行時の処理を説明する図である。
【図11】シミュレーションの実行結果を表示する処理のフローチャートである。
【図12】シミュレーションの実行結果の表示画面の例を示す図である。
【図13】シミュレーションの実行時に逐次、実行結果を表示する処理のフローチャートである。
【発明を実施するための形態】
【0010】
以下、図面を参照して本発明の実施の形態を説明する。
【実施例1】
【0011】
図1は、本実施例におけるシミュレーションシステムの構成図である。図1において、コンピュータ110は、メカ機構のシミュレーションを行うメカシミュレータ111および、メカシミュレータ111に用いられる各種メカ部品を格納するメカ部品データベース112を備える。コンピュータ120は、エレキ(電気)機構のシミュレーションを行うエレキシミュレータ121および、エレキシミュレータ121に用いられる各種エレキ部品を格納するエレキ部品データベース122を備える。コンピュータ130は、ソフトウェア機構のシミュレーションを行うソフトシミュレータ131および、ソフトシミュレータ131に用いられるソフト部品を格納するソフト部品データベース132を備える。
【0012】
統合シミュレータシステム100は、メカ・エレキ・ソフトの各シミュレータを一つのシステムとして連携する。統合シミュレータシステム100はネットワーク160を介して、メカシミュレータ111、エレキシミュレータ121、ソフトシミュレータ131と接続されている。
【0013】
統合シミュレータシステム100は、演算部としてのCPU101、記憶部としてのメモリ102、HDD103、表示部としてのディスプレイ104、ユーザインタフェース部としてのマウス/キーボード140を備える。また、部品構成設定部105、部品属性設定部106、接続属性設定部107、シミュレーション実行管理部108、シミュレーション実行結果表示部109、バス150を備えている。統合シミュレータシステム100は、CPU101、メモリ102、HDD103、バス150によって各種データの演算・記憶/蓄積・送受信を行い、マウス/キーボード140によるユーザ指示の入力を行い、ディスプレイ104によって画面の出力表示を行う。部品構成設定部105は、統合シミュレータシステム100によってシミュレーションが行われる部品の構成に対する設定を行う。部品属性設定部106は、各種部品の属性に対する設定を行う。接続属性設定部107は、部品間の接続に対する設定を行う。シミュレーション実行管理部108は、統合シミュレータシステム100によって行われるシミュレーションの実行を管理する。シミュレーション実行結果表示部109は、統合シミュレータシステム100によって行われるシミュレーションの実行結果をディスプレイ104に表示させる。
【0014】
図2は本実施例における統合シミュレータシステム100によるシミュレーションの機能構成例を示す図である。
【0015】
メカシミュレーション210はメカシミュレータ111内で行われるメカシミュレーションにおける機構モデルである。メカシミュレーション210では、3次元CAD(Computer Aided Design)システムで設計された、メカ部品の形状を表す形状データやメカ部品の動作などの機構を表す機構データを用いて表される機構モデルを検証する。すなわち、コンピュータ110上でシミュレーションを行い、機構モデルが製品要件としての機構を充足しているかどうかを検証する。本実施例における機構モデルは、モーター211によってローラーa214が回転し、その回転に合わせてベルト216、荷物215、ローラーb217が動作する構成を有する。シミュレーションを行う対象の動作は、荷物215がセンサa212のセンシング位置に来た際にベルト216を停止させるためにモーター211が減速し、センサb213のセンシング位置に来た際にモーター211が停止する。なお、機構モデルは上記構成に限られるものではなく、また、シミュレーションを行う対象の動作も上記動作に限られるものではない。また、機構モデルを構成する各メカ部品は、メカ部品データベース112に格納されている。
【0016】
エレキシミュレーション220は、エレキシミュレータ121内で行われるエレキシミュレーションにおける電気(エレキ)回路である。エレキシミュレーション220では、エレキCADで設計されたエレキ回路部品データ、回路構成データ、制御パラメータなどを用いて表されるエレキ回路を検証する。すなわち、コンピュータ120上でシミュレーションを行い、エレキ回路が製品要件に則した制御を充足しているかどうかを検証する。本実施例におけるエレキ回路は、ROM221、ポート222、CPU223の構成からなるエレキ回路を有する。CPU223は、ポート222を介してモーター211の駆動信号、センサa212あるいはセンサb213のセンサ信号のキャッチにより、ROM221に格納された制御命令に基づき機構モデルの動作の制御を切り替えるシミュレーションである。また、回路図内のエレキ部品は、エレキ部品データベース122に格納されている。
【0017】
ソフトシミュレーション230は、ソフトシミュレータ131内で行われるソフトシミュレーションにおける制御ソフトウェアである。ソフトシミュレーション230では、ソフトウェア開発環境で開発されたソフト部品である各種製品制御プログラムの制御動作が正しく実施されているかどうかを検証する。本実施例における制御ソフトウェアは、モーター制御プログラム231、センサキャッチプログラム232のようなソフト部品をROM221に有し、図示しないメインプログラムがソフトウェア全体の制御を行う。また、これらの部品はソフト部品データベースに格納されている。
【0018】
ここで、メカシミュレータ201における機構モデルのモーター211、センサa212、センサb213は、エレキシミュレータ220における電気回路のポート222に接続されており、機構モデル、電気回路、制御ソフトウェアが連携して動作可能となっている。
【0019】
このように、各シミュレータが要素ごとに独自であっても、またそのシミュレータが変わった場合でもメカ・エレキ・ソフトの各シミュレータの連携が容易に実現可能で、その結果、シミュレーション対象である製品を、一つの統合シミュレータとして動作・検証することができる。
【0020】
図3を用いて統合シミュレータシステム100が扱う部品属性の詳細について説明する。図3(a)は、統合シミュレータシステム100で扱う部品の定義図である。部品はメカ・エレキ・ソフトのシミュレータに関係なく部品名301と、0個以上の入力部302と0個以上の出力部303と、入力に対する動作を決定する属性部304を持つ。本実施例においては、この入出力インタフェースおよび属性を部品属性と定義する。
【0021】
図3(a)における部品としてモーターを挙げた例を図3(b)に示す。モーターは、入力信号として電圧値を受信すると、予めモーターの製品仕様として定義された基本駆動特性に基づき、ユーザが定義した最大入力電圧や、モーターのトルクと電流値との関係を表す特性の係数であるT−I特性係数などの属性に応じて、回転速度を出力する部品である。
【0022】
なお、基本駆動特性は必要に応じてユーザが属性を変更してカスタマイズすることができる。
また、メカ・エレキ・ソフトそれぞれの部品がこのような属性を有し、この属性により、部品に対する個別のシミュレータ内での入出力が決定される。
【0023】
このように、各部品は入出力インタフェースと属性とを有するため、それぞれを適切に設定しないと適切なシミュレーションを行うことができない。また、より正確な属性を設定することにより、シミュレーションの精度を高めることができる。なお、属性の設定方法の詳細については後述する。
【0024】
図4は本実施例における統合シミュレータシステム100を用いたシミュレーション全体の処理のフローチャートである。まず、各シミュレータを互いに連携して動作させるために、シミュレーションの準備を行う(ステップS401)。次に、各シミュレータのシミュレーション対象を統合して1つの統合シミュレータとしてシミュレーションを実行し(ステップS402)、シミュレーションの実行結果を表示する(ステップS403)。各ステップにおける処理の詳細を以下に説明する。
【0025】
<シミュレーションの準備>
図5(a)は、ステップS401において、統合シミュレータシステム100上で製品の構成を構築し、シミュレーションの準備を行うフローチャートである。統合シミュレータシステム100は、まず、ステップS501において、メカシミュレータ111を起動する。次に、ステップS502において、メカシミュレータ111に必要なメカ部品の読み込みを行う。さらに、ステップS503において、ステップS502で読み込んだメカ部品の部品属性を統合シミュレータシステム100に読み込む。ステップS501からステップS503までの詳細なシーケンスは、次の図5(b)で後述する。エレキシミュレータ121およびソフトシミュレータ131のそれぞれについてもステップS501からステップS503までの処理と同様に起動および必要な部品の読み込みを行う。そして、統合シミュレータシステム100は、部品構成画面700をディスプレイ104に表示する。ただし、上記メカ・エレキ・ソフトの順番はこれに限らず、どのような順番でもよい。
【0026】
図5(b)に、メカシミュレータ111におけるステップS501〜ステップS503を例に、各シミュレータの起動から統合シミュレータに部品を読み込む際のシーケンス図を示す。統合シミュレータシステム100は、ユーザによってシミュレーション開始の要求を受けると、まずメカシミュレータ111の起動要求を出す。メカシミュレータ111から完了通知を受け取り、起動が完了したことを確認すると、メカシミュレータ111に対し、メカ部品をメカ部品データベース112から読み込む要求を出す。メカ部品がメカシミュレータ111に転送されると、メカシミュレータ111上にメカ部品が表示される。続いてメカ部品のうち形状データなどを除き、部品属性のみを統合シミュレータシステム100に転送する。転送された部品属性はHDD103に記憶され、転送される度に順次蓄積される。
【0027】
なお、ここでは、メカシミュレータ111がメカ部品を用いてメカシミュレーションを行う例を説明したため、統合シミュレータシステム100に転送される部品情報は部品属性のみであるが、統合シミュレータシステム100がメカシミュレーションも行う場合は、部品属性およびメカ部品の両方が統合シミュレータシステム100に転送される。
【0028】
メカに続いて、エレキ・ソフトに関しても同様にシミュレータの起動と部品の読み込み処理を行う。ただし、エレキ部品は、エレキCADで設計されたエレキ回路内における電気信号の入力と出力との振舞いを表すデータに加え、部品属性を含む部品を示す。同様に、ソフト部品とはソフトCADで設計された制御プログラムコードに加え、部品属性を含む部品を示す。
【0029】
統合シミュレータシステム100は、上記ステップにおいて部品が読み込まれると、ステップS510において部品構成画面をディスプレイ104に表示する。
【0030】
ここで、メカ・エレキ・ソフトの各シミュレータは、それぞれ個別のシミュレーション対象を検証するものであり、通常、それぞれの設計担当者が個別に利用するものである。すなわち、あるシミュレータにとって他のシミュレータのシミュレーション対象がどのように構成されているか不明なため、単に各シミュレータ間において入出力データを受け渡ししても、製品構成が成り立つとは限らない。そこで、読み込まれた部品の配置および部品間の接続の詳細について説明する。
【0031】
図6は、ステップS401において、メカ・エレキ・ソフトが連携された一つのシミュレータを構成するために、読み込まれた部品を配置し、配置された部品間の接続を設定する処理の流れを示すフローチャートである。このフローチャートおよび図7〜図9を用いて統合シミュレータを構成するための手順を説明する。
【0032】
図7は、上述したステップS510において表示される、読み込んだ部品を配置するための部品構成画面の一例である。部品構成画面の表示直後の例を図7(a)に示す。部品構成画面は、部品一覧表示部710、部品配置部720、シミュレーション実行管理部730を備える。部品一覧表示部710は、部品構成画面表示の際に、HDD103に蓄積された部品属性を部品一覧表示部710に一覧表示711する。その際、部品名が表示されたアイコンを用いて、読み込まれた部品の部品属性を表す。同様にエレキ部品712・ソフト部品713も部品一覧表示部にアイコンで部品属性を一覧表示する。この部品一覧は部品情報を呼び出すシミュレータごとに分類される。ユーザは読み込まれた部品の中から接続したい部品のアイコンを選択し、配置する指示を行う。統合シミュレーションシステム100は、ユーザからの選択・配置の指示に従い、指示された部品を入力(ステップS601)し、部品配置部720に部品のアイコンを配置(ステップS602)する。
【0033】
図7(b)は、部品配置および部品の接続を行った後の部品構成画面の表示例である。なお、部品の接続の詳細については後述する。ステップS602により、部品が部品配置部720に配置されると、その都度、図8に示す部品属性画面800が表示される。部品属性画面800は、配置した部品の名称を表示する部品名称表示部801、その部品が持つ入出力インタフェースの定義を表示する入出力表示部802、また部品が持つ属性を設定する属性設定部803を備える。ユーザは、各部品の、シミュレータ間で送受信されるべきデータを検討し、属性のパラメータである属性値を設定し、部品の入出力を決定する。統合シミュレータシステム100は、表示された部品属性画面800に対するユーザの指示に従い、決定された部品の属性を設定する(ステップS603)。
【0034】
部品の配置および部品の属性設定を、入出力の決定が必要な全部品に対して行う(ステップS604)。
ステップS604において部品の配置が完了した後、ユーザは、各シミュレータの統合に必要な部品間の接続を設定するための指示を行う。まず、ユーザによって接続を設定すべき2部品が選択されると、統合シミュレーションシステム100は、選択指示を入力する(ステップS605)。2部品に対する選択指示が入力されると、統合シミュレーションシステム100は、図9に示す接続属性画面900を表示する。接続属性画面900は、2部品間の入出力の形式を表示する入出力表示部901、2部品間の入出力のデータの整合性を設定する入出力変換関数設定部902、接続される部品の動作状態を設定する動作状態設定部903を備える。ユーザは、この画面を用いて部品を接続するための指示を行い、統合シミュレーションシステム100は、ユーザからの指示に応じて対象の2部品に対する接続の設定を行う(ステップS606)。
【0035】
ここで、データの整合性を設定するとは、異なるシミュレータ上で動作する2つの部品がそれぞれ同じ入出力インタフェースを持つとは限らないため、一方の部品の出力形式をもう片方の入力形式に変換する設定を定義することである。図9に示す接続属性画面900の例では、ポート1の出力形式が論理型の0か1の電気信号であり、モーターの入力形式が小数点型の電圧値であり、この論理型の0か1をモーターが受け取る電圧値0.0か5.0に変換する関数である。なお、この関数は、この接続属性画面900で定義してもよいし、過去にその部品に設定された関数を予め複数取得しておき、その中から選択して定義することで再利用してもよい。また、設定された定義を再利用したい場合は作成した接続の設定をHDD103や各部品データベースに保存しておくと良い。
【0036】
また動作状態とは、例えば、ポート1がモーターを回転させている状態、あるいは停止させている状態のように、各部品の制御動作の状態を示す。動作状態設定部903では、ユーザの定義によって選択された表示色を用いて、接続の表示色を変更できる。図9の例では、ポート1の電気信号の出力値によって表示色を、回転制御時は白、非回転制御時は黒と定義している。このように、動作状態に応じて表示上の色を区別し、表示することでシミュレーションの実行時に、ユーザは、意図どおりに制御が行われているかを確認できる。
【0037】
ステップS605からステップS606の処理を、接続が必要な全部品に対して行う(ステップS607)。なお、接続の必要のない、すなわちシミュレータ間で連携しない部品については、部品の配置は必要ない。
【0038】
以上の処理により、統合シミュレーションシステム100が完成し、シミュレーション実行の準備が完了する。
【0039】
<シミュレーションの実行>
統合シミュレーションシステム100によるシミュレーションの実行は、図7に示す部品構成画面のシミュレーション実行管理部730により管理される。シミュレーション実行管理部730は、シミュレーション開始要求部731とシミュレーション停止要求部732を備える。
【0040】
統合シミュレーションシステム100は、ユーザによるシミュレーション開始要求部に対する選択指示を入力すると、シミュレーションの準備処理により設定された部品情報および接続情報に基づきシミュレーションを開始する。また、シミュレーション停止要求部に対するユーザ指示を入力すると、実行中のシミュレーションを停止する。シミュレーションの開始から停止までの流れについては、図10を用いて後述する。
【0041】
図10(a)は、統合シミュレーションシステム100によるシミュレーションを実行する処理のフローチャートである。統合シミュレータシステム100は、シミュレーション開始要求を受けると、各部品の出力値を各シミュレータから取得する(ステップS1001)。取得する部品の対象は、部品配置部720において接続され、出力値を持つ部品全てである。ここで、シミュレータ上の全部品ではなく、部品配置部720で指定された部品のみにデータの送受信を限定することで、通信のオーバーヘッドを減らすことができる。統合シミュレータシステム100は、ステップS1001により取得した各部品の出力値を、それぞれ接続属性画面900で指定された入出力変換関数設定を元に演算し、変換後の出力値を算出する(ステップS1002)。このとき、演算により決定される部品の入出力値をHDDに記憶し、順次蓄積する(ステップS1003)。さらに、接続属性画面900で指定された動作状態設定を元に、接続の表示色を変更する(ステップS1004)。
【0042】
次に、統合シミュレータシステム100は、ステップS1002による演算結果を、接続属性画面900において設定された接続属性を基づき、各部品の入力値として設定する(ステップS1005)。この設定された値を各シミュレータに送信する(ステップS1006)。送信後、統合シミュレータシステム100は、各シミュレータに1ステップごとの実行要求を出す(ステップS1007)。この実行要求によって、各シミュレータ上の各部品の出力値が更新される。次に、シミュレーション停止要求を受信したかどうかの確認を行い(ステップS1008)、停止要求を受け付けた場合はシミュレーションを完了し、受け付けていない場合はステップS1001からステップS1008を再度、実行する。
【0043】
図10(b)は、図7(b)のポート1とモーターを例にした、図10(a)におけるシミュレーションの処理のフローチャートである。まず、エレキシミュレータ121からポート1の出力を取得する(ステップS1011)。次に、入出力変換関数に基づいた演算を行う(ステップS1012)。ポート1の出力が1であった場合、入出力変換関数によってモーターが受け取るべき電圧値に変換される。図9の説明における例であれば、変換後の電圧値は“5.0”である。同様にポート1の出力が0であった場合は、変換後の電圧値は“0.0”である。入出力変換関数による演算完了後、モーターへの入力値をHDD103に保存する(ステップS1013)。また、動作状態設定により接続の表示色を変更する(ステップS1014)。続いて、ステップS1013における演算結果を接続先であるモーターの入力値に設定する(ステップS1015)。この設定された入力値をメカシミュレータ111に送信する(ステップS1016)。送信後、メカシミュレータ111を1STEP実行させる。他の部品についても同様である。
【0044】
図10(c)は、シミュレーション実行時にモーターが駆動しているときの動作状態の表示例である。この表示により、モーター制御モジュールによってポート1が制御され、ポート1の出力信号によってモーターが回転し、モーターの回転によってローラーaが回転していることが示されている。このとき、例えば、モーター制御モジュールがポート1を制御する設定値が誤っていた場合、モーター制御モジュールとポート1間の表示色のみ変更され、ポート1からローラーaまでの間の表示色は変更されない。
【0045】
すなわち、ユーザは、制御しようとしているにも関わらずモーターが動作しないことから、設定値の誤りに気づくことができる。
【0046】
なお、表示色の変更は、2段階を区別にする色への変更に限らず、3段階以上の区別したい場合は、それぞれに対応する色を定義することで可能である。
【0047】
<シミュレーションの実行結果の表示>
図11は、統合シミュレータシステム100によるシミュレーションの実行結果を表示する処理のフローチャートである。統合シミュレータシステム100は、シミュレーション終了後、図12に示す実行結果表示画面を表示する。
【0048】
図12(a)は、一つの部品を選択した場合の実行結果表示画面である。ここでは、モーターの実行結果を表示している。左欄の時間軸における時間の経過(シミュレーションの1ステップごとの実行)とともにモーターの入出力値を表示することで、モーターの入出力値がどのように推移しているかを確認することができる。
【0049】
統合シミュレータシステム100は、実行結果表示画面を表示している状態で、ユーザが実行結果を表示させたい部品の、図7の部品一覧表示部710に表示されたアイコンに対するユーザの選択指示を入力する(ステップS1101)。選択指示が入力されると、統合シミュレータシステム100は、選択指示された部品のシミュレーション実行結果をHDD103から取得し(ステップS1102)、図12に示す実行結果表示画面としてディスプレイ104に出力する(ステップS1103)。
【0050】
また、上記では、1つの部品の入出力値を表示する例について説明したが、表示は1つの部品に限るものではない。メカ・エレキ・ソフトを統合したシミュレータシステムではそれぞれのシミュレータを統合して実行した際の、それぞれのシミュレータの実行結果である、部品における入出力値のログを時間軸(タイムスケール)を揃えて同一画面に表示することで、シミュレーションに問題が発生した場合の要因の解析が容易になる。
【0051】
図12(b)は複数の部品を選択した場合の実行結果表示画面である。ここでは、荷物215とモーター211の部品に対するシミュレーションの実行結果を表示しており、モーター211の制御によって荷物215がどのように移動しているかを確認することができる。このように、時間の経過とともに複数の部品の入出力を並べて表示することでシステム全体としての制御を確認することが出来る。
【0052】
各シミュレータ上では、各部品ごとに時系列に多量に実行結果が保存されるが、この手段によって全ての実行結果から必要な情報を探し出す手間を省き、必要な部品のみの実行結果を容易に指定し、確認することが出来る。
また、表示するログはある部品の入出力に限らない。部品間の接続において両端となる入出力値を表示してもよい。
【0053】
さらに、動作状態によって接続の表示色を変更する際(ステップS1004)、図12(b)に示す実行結果表示画面に出力された実行結果の色も同時に変えることで、表示される数値と動作状態を比較して確認することができる。例えば、荷物215がセンサa212を越えた際に、モーター211が正しく減速しているかどうかを確認したい場合を考え、荷物215がセンサa212を超えた状態を黄色、センサb213を超えた状態を赤と設定する。このとき、ユーザは時系列に多量に保存される実行結果のうち、先に指定した色を目印に確認すべき実行結果を容易に絞り込むことが出来る。
【0054】
以上を実現するために、ステップS1103の処理に続いて、実行結果を表示したい部品を全てに対する選択指示が入力されたかを判定する(ステップS1104)。複数の部品が選択されている場合は、選択順に右に並べて出力する。このように、複数の部品に対するシミュレーション結果を同一画面に出力することで、メカ・エレキ・ソフトが連携して正しく制御されているかを時系列で確認することができる。また、シミュレーション結果の出力は表示に限らず、ログファイルとしてHDD103に出力してもよい。
【0055】
なお、上記の説明では、1つの部品に対し1つの部品を接続させる例について説明したが、部品の接続はこれに限るものではない。1つの部品は0個以上の部品と接続が可能であり、例えば1つのモーターで2つのギア(ギア1、ギア2)を回転させる場合は、モーターとギア1を接続し、モーターとギア2を接続すればよい。
【0056】
また、統合シミュレーションシステム100におけるシミュレーション対象は、メカ・エレキ・ソフトを全て含む必要は無く、いずれかの組合せでもよい。例えば、異なる2つの部品として設計前と設計後のモーターを用意し、それぞれを2つのメカシミュレータ上に読み込み、エレキシミュレータとの入出力をこの2つの部品に接続することで、設計変更の前後の変化を比較可能となる。
【0057】
また、コンピュータ110、コンピュータ120、コンピュータ130は、アプリケーションソフトウェアとして構成されてもよく、その場合は、統合シミュレータシステム100がそれぞれのソフトウェアを呼び出して、各種処理の制御・実行を行う。
【0058】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステムあるいは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
【0059】
以上により、1つの部品(または製品)に対して異なる複数のシミュレータを連携させた全体のシミュレーションを行うことができる。
【実施例2】
【0060】
実施例1においては、シミュレーションの実行結果をシミュレーションの終了後に表示する例について説明したが、本実施例においては、シミュレーションの終了後ではなく、シミュレーションの実行時に逐次、実行結果を表示する場合について説明する。
【0061】
シミュレーションの実行時に逐次、実行結果を表示する処理のフローチャートを図13に示す。まず、シミュレーションを開始する前に、実行結果表示画面を表示し(ステップS1301)、実行結果を表示したい部品に対するユーザの選択指示を入力しておく(ステップS1302)。次に、選択指示された部品に対するシミュレーションを開始する(ステップS1303)。図10(a)のステップS1001〜ステップS1003と同様にシミュレーションを実行し(ステップS1304〜ステップS1306)、演算結果をHDD103に保存した後、実行結果表示画面にも実行結果を出力する(ステップS1307)。接続の表示色の変更(ステップS1308)からシミュレーションの停止要求を受信したかどうかの確認(ステップS1312)までは、図10(a)のステップS1004からステップS1008の処理と同様である。
【0062】
以上により、例えば、メカシミュレーションの実行結果を図示しない別の表示部によりディスプレイ104上にアニメーション表示した場合などに、アニメーションとアニメーションを制御するシミュレータ間の入出力値とを同時に確認することができる。
【特許請求の範囲】
【請求項1】
複数のシミュレーション装置と接続されたシミュレーション装置であって、
複数のシミュレータの各々からシミュレーションの対象となる部品を示す部品情報を取得する取得手段と、
前記取得された部品情報を表示する表示手段と、
前記表示された部品情報に対するユーザの配置指示に基づき、該部品情報を接続させて配置する配置手段と、
前記接続させて配置された部品間の接続属性を設定する設定手段と
を有することを特徴とするシミュレーション装置。
【請求項2】
前記複数のシミュレータは、メカシミュレータ、電気シミュレータ、ソフトウェアシミュレータの少なくともいずれか2つ以上を含むことを特徴とする請求項1に記載のシミュレーション装置。
【請求項3】
前記表示手段は、前記部品情報を前記シミュレータ毎にグループ分けして表示することを特徴とする請求項1又は2に記載のシミュレーション装置。
【請求項4】
前記部品情報は、部品属性を示す情報であることを特徴とする請求項1乃至3のいずれか1項に記載のシミュレーション装置。
【請求項5】
前記設定手段は、前記部品情報に基づき、前記部品間の入出力形式の整合性を定義することを特徴とする請求項1乃至4のいずれか1項に記載のシミュレーション装置。
【請求項6】
前記設定手段は、関数を用いて前記整合性を設定することを特徴とする請求項5に記載のシミュレーション装置。
【請求項7】
前記接続属性に基づき前記シミュレータが行ったシミュレーション結果を出力する出力手段とをさらに有することを特徴とする請求項1乃至6のいずれか1項に記載のシミュレーション装置。
【請求項8】
前記出力手段は、前記接続属性が設定された2部品間における入出力値を出力することを特徴とする請求項7に記載のシミュレーション装置。
【請求項9】
前記出力手段は、前記シミュレーション結果を時間軸を揃えて前記シミュレータごとに表示することを特徴とする請求項7に記載のシミュレーション装置。
【請求項10】
複数のシミュレーション装置と接続されたシミュレーション方法であって、
複数のシミュレータの各々からシミュレーションの対象となる部品を示す部品情報を取得する取得工程と、
前記取得された部品情報を表示する表示工程と、
前記表示された部品情報に対するユーザの配置指示に基づき、該部品情報を接続させて配置する配置工程と、
前記接続させて配置された部品間の接続属性を設定する設定工程と
を有することを特徴とするシミュレーション方法。
【請求項11】
コンピュータを請求項1乃至10のいずれか1項に記載のシミュレーション装置として機能させるためのプログラム。
【請求項12】
コンピュータ読取り可能な記憶媒体であって、請求項11に記載のプログラムを記憶したことを特徴とする。
【請求項1】
複数のシミュレーション装置と接続されたシミュレーション装置であって、
複数のシミュレータの各々からシミュレーションの対象となる部品を示す部品情報を取得する取得手段と、
前記取得された部品情報を表示する表示手段と、
前記表示された部品情報に対するユーザの配置指示に基づき、該部品情報を接続させて配置する配置手段と、
前記接続させて配置された部品間の接続属性を設定する設定手段と
を有することを特徴とするシミュレーション装置。
【請求項2】
前記複数のシミュレータは、メカシミュレータ、電気シミュレータ、ソフトウェアシミュレータの少なくともいずれか2つ以上を含むことを特徴とする請求項1に記載のシミュレーション装置。
【請求項3】
前記表示手段は、前記部品情報を前記シミュレータ毎にグループ分けして表示することを特徴とする請求項1又は2に記載のシミュレーション装置。
【請求項4】
前記部品情報は、部品属性を示す情報であることを特徴とする請求項1乃至3のいずれか1項に記載のシミュレーション装置。
【請求項5】
前記設定手段は、前記部品情報に基づき、前記部品間の入出力形式の整合性を定義することを特徴とする請求項1乃至4のいずれか1項に記載のシミュレーション装置。
【請求項6】
前記設定手段は、関数を用いて前記整合性を設定することを特徴とする請求項5に記載のシミュレーション装置。
【請求項7】
前記接続属性に基づき前記シミュレータが行ったシミュレーション結果を出力する出力手段とをさらに有することを特徴とする請求項1乃至6のいずれか1項に記載のシミュレーション装置。
【請求項8】
前記出力手段は、前記接続属性が設定された2部品間における入出力値を出力することを特徴とする請求項7に記載のシミュレーション装置。
【請求項9】
前記出力手段は、前記シミュレーション結果を時間軸を揃えて前記シミュレータごとに表示することを特徴とする請求項7に記載のシミュレーション装置。
【請求項10】
複数のシミュレーション装置と接続されたシミュレーション方法であって、
複数のシミュレータの各々からシミュレーションの対象となる部品を示す部品情報を取得する取得工程と、
前記取得された部品情報を表示する表示工程と、
前記表示された部品情報に対するユーザの配置指示に基づき、該部品情報を接続させて配置する配置工程と、
前記接続させて配置された部品間の接続属性を設定する設定工程と
を有することを特徴とするシミュレーション方法。
【請求項11】
コンピュータを請求項1乃至10のいずれか1項に記載のシミュレーション装置として機能させるためのプログラム。
【請求項12】
コンピュータ読取り可能な記憶媒体であって、請求項11に記載のプログラムを記憶したことを特徴とする。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2011−107962(P2011−107962A)
【公開日】平成23年6月2日(2011.6.2)
【国際特許分類】
【出願番号】特願2009−262066(P2009−262066)
【出願日】平成21年11月17日(2009.11.17)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成23年6月2日(2011.6.2)
【国際特許分類】
【出願日】平成21年11月17日(2009.11.17)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]