(57)【要約】【課題】高いソフトウェア検証精度を得ることができ、実際製品を迅速且つ高精度に完成させるのに寄与できるエミュレーション装置を提供する。【解決手段】エミュレーション装置は、ソフトウェアが搭載されたボードコントロールユニット１と、メカエミュレータ４と、これらを中継するＩ／Ｏ変換装置５とを有している。Ｉ／Ｏ変換装置５にはＩ／Ｏ制御ボードのふりをする実機ボードエミュレーションレジスタ２１が配置されている。Ｉ／Ｏ２３は、レジスタの変化内容を、メカエミュレータ４の仮想メカトロニクスを制御するための専用のＩ／Ｆ形式に変換する。【選択図】図２
2014232405.tif 000002
【特許請求の範囲】
【請求項１】
製品を動作させるソフトウェアからの動作命令を受けて、前記製品の部品を模倣してコンピュータ上に作成された仮想部品を動作させるエミュレータを有するエミュレーション装置において、
前記ソフトウェアと前記エミュレータとを中継するＩ／Ｏ変換装置を備え、
前記Ｉ／Ｏ変換装置は、
前記ソフトウェアからの動作命令を受け取るインターフェースと、
前記仮想部品を操作する操作用インターフェースと、
前記動作命令を相互に変換する処理機構と、
を有することを特徴とするエミュレーション装置。
【請求項２】
請求項１に記載のエミュレーション装置において、
前記処理機構のうち、前記仮想部品への動作命令のためのエミュレータ用Ｉ／Ｏ変換が、前記ソフトウェア側に組み込まれていることを特徴とするエミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、複写機、プリンタ、ファクシミリ、プロッタ、これらのうち少なくとも１つを備えた複合機等の画像形成装置の製造過程で用いられるソフトウェアの動作検証装置としてのエミュレーション装置に関する。
【背景技術】
【０００２】
今日の画像形成装置(以下、「製品」とも称する)は、ＬＳＩ（Large Scale Integration circuit）を実装したＰＣＢ（Printed circuit Board）や、モーター、センサなどのメカトロニクス部品を組み合わせて構成されている。
ＰＣＢに組み込まれたソフトウェアと、メカトロニクス部品とが連携して製品機能を実現している。
製品開発過程ではソフトウェアの動作確認を行う必要があるが、ソフトウェアが駆動すべきメカトロニクス部品などが開発中で使用できない場合が多い。
このような場合でも、開発後期となるメカトロニクス部品などの完成を待たずに組み込みソフトウェアの検証を行うことが実施されている。
【０００３】
すなわち、物理的に存在しないメカトロニクス部品をコンピュータ上で仮想的に作成し、これを模倣ソフトウェアとしてのメカエミュレータで動作させてソフトウェアの確認を行う方式が既に知られている。
このようなメカエミュレータを含むソフトウェアの検証装置は、エミュレーション装置と呼ばれている。
【０００４】
特許文献１には、ソフトウェア検証環境を仮想化する目的で、製品ＣＡＤデータから仮想のメカレイアウトを生成し、コンピュータ上で動作のエミュレーションをする方法が開示されている。
仮想部品のエミュレートに利用されるメカ設定ファイルを設計、編集するメカエディタが、ＣＡＤシステムによって出力されるＣＡＤデータファイルと互換性がなかったことによる面倒さを解消することを目的としている。
具体的には、メカエミュレータ内で、各部品のメカ設定データを作成し、作成されたメカ設定データに基づいて各部品の動作をエミュレートするものである。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示されるような従来の方法は、メカエミュレータが持つＩ／ＯへのＩ／Ｆ（インターフェース）を改造することにより課題を解決するものにすぎなかった。
このため、実際の製品を対象とした場合よりも動作確認の範囲が狭く、ソフトウェア検証精度が高いとはいえなかった。
【０００６】
本発明は、このような現状に鑑みて創案されたもので、高いソフトウェア検証精度を得ることができ、実際製品を迅速且つ高精度に完成させるのに寄与できるエミュレーション装置の提供を、その主な目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明は、製品を動作させるソフトウェアからの動作命令を受けて、前記製品の部品を模倣してコンピュータ上に作成された仮想部品を動作させるエミュレータを有するエミュレーション装置において、前記ソフトウェアと前記エミュレータとを中継するＩ／Ｏ変換装置を備え、前記Ｉ／Ｏ変換装置は、前記ソフトウェアからの動作命令を受け取るインターフェースと、前記仮想部品を操作する操作用インターフェースと、前記動作命令を相互に変換する処理機構と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、製品を動作させるソフトウェアの動作を実際の製品と同等の状態で確認することができ、検証精度を高めることができる。
ひいては、実際製品を迅速且つ高精度に完成させるのに寄与できる。
【図面の簡単な説明】
【０００９】
【図１】本発明の第１の実施形態に係るエミュレーション装置が対象とする画像形成装置の前提構成を示すブロック図である。
【図２】本実施形態に係るエミュレーション装置の制御ブロック図である。
【図３】メカエミュレータ向けのＩ／Ｏ変換の処理シーケンスを示すフローチャートである。
【図４】ボードコントロールユニット向けのＩ／Ｏ変換の処理シーケンスを示すフローチャートである。
【図５】第２の実施形態に係るエミュレーション装置の制御ブロック図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態を図を参照して説明する。
まず、図１乃至図４に基づいて第１の実施形態を説明する。
図１は、本発明のエミュレーション装置が実証すべき対象の一例としての画像形成装置の構成を示すブロック図である。
画像形成装置は、ボードコントロールユニット１が、Ｉ／Ｏ制御ボード２内のレジスタ４１を経由して各種メカトロニクス１１、１２〜１Ｎをコントロールするシステム構成を有している。
ボードコントロールユニット１には、画像形成装置（製品）を動作させるソフトウェアが搭載されている。
【００１１】
この場合、ボードコントロールユニット１にメカエミュレータを接続する際は、ボードコントロールユニット１とＩ／Ｏ制御ボード２との間の、Ｉ／Ｏバス１０１をエミュレーションする方式となる。
Ｉ／Ｏバス１０１上では、各種メカトロニクス１１、１２〜１Ｎ向きの制御データ（ＯＵＴ）と、ボードコントロールユニット１向きのメカトロニクス状態データ（ＩＮ）のＩ／Ｏフローがある。
【００１２】
通常、ボードコントロールユニット１の先にはＩＯ制御ボード２が接続されるが、本実施形態では、これをＩＯ変換装置５に置き換えることで、コンピュータ６上で動作するメカエミュレータ４との接続を実現している（図２）。
メカエミュレータ４はソフトウェア的なＩ／Ｆしか持たない一方、ボードコントロールユニット１はレジスタアクセスのＩ／Ｆ形式となるため直接の接続を行えない。
これを解決するために、ＩＯ変換装置５内にＩＯ制御ボードのふりをする実機ボードエミュレーションレジスタ２１を配置している。
実機ボードエミュレーションレジスタ２１がボードコントロールユニットとのデータのやり取りを担当する。
【００１３】
実機ボードエミュレーションレジスタ２１は逐次変更されていくため、レジスタ制御２２がこれを監視し、変化があった場合その変化内容をＩ／Ｏ変換２３に通知する。
メカエミュレータ４は、製品の部品を模倣してコンピュータ上に作成された仮想メカトロニクスを制御するための専用のＩ／Ｆを持つため、Ｉ／Ｏ変換２３はレジスタの変化内容をそのＩ／Ｆ形式に変換する。
変換後のデータは通信制御２４を介して、メカエミュレータ４に通知される。
メカエミュレータ上の仮想メカトロニクス部品（以下、「仮想メカ部品」ともいう）の状態変化に関しては、上記のシーケンスを逆にたどることで、処理を実現する。
【００１４】
図３は、メカエミュレータ向けのＩ／Ｏ変換の処理シーケンスについて説明する図である。
ＩＯ変換装置５において、説明を容易にするため、ある一回のメカエミュレータ方向の処理シーケンスを説明する。
ボードコントロールユニット１が仮想メカ部品の状態を操作する場合、Ｉ／Ｏ変換装置５の実機ボードエミュレーションレジスタ２１のあるレジスタ値を変化させる。
レジスタ制御２２がこれを検知することで以降の処理が開始される（ステップＳ１）。
レジスタ値の変化内容はＩ／Ｏ変換２３に通知され、メカエミュレータ４の仮想メカトロニクス状態を変化させるためのＩ／Ｆデータ形式に変換される（ステップＳ２）。
【００１５】
実機ボードエミュレーションレジスタ２１は、ソフトウェアからの動作命令を受け取るインターフェースである。
また、Ｉ／Ｏ変換２３は、仮想部品としての仮想メカを操作する操作用インターフェースである。
【００１６】
通信制御２４が変換されたデータをメカエミュレータ４に通知する（ステップＳ３）。
レジスタアクセスは一秒間に複数回行われるため、すべてのレジスタアクセスに対して並行して上記の処理を行うことで、ボードコントロールユニット１とメカエミュレータ４との中継を行う。
【００１７】
図４は、ボードコントロールユニット向けのＩ／Ｏ変換の処理シーケンスについて説明する図である。
Ｉ／Ｏ変換装置５において、説明を容易にするため、ある一回のボードコントロールユニット１方向の処理シーケンスを説明する。
メカエミュレータ４が仮想メカ部品の状態を通知する場合、Ｉ／Ｏ変換装置５がメカエミュレータの仮想メカトロニクスの状態変化通知を受信する（ステップＳ４）。
仮想メカトロ状態の変化内容はＩ／Ｏ変換２３に通知され、実機ボードエミュレーションレジスタ２１にセットするためのレジスタ値に変換される（ステップＳ５）。
変換されたデータが実機ボードエミュレーションレジスタ２１にセットされる。
【００１８】
Ｉ／Ｏ変換装置５としての処理はこれで終了となり、ボードコントロールユニット１が任意のタイミングで実機ボードエミュレーションレジスタ２１を確認することにより、仮想メカトロニクス状態の変化内容が伝わる（ステップＳ６）。
レジスタアクセスは一秒間に複数回行われるため、すべてのレジスタアクセスに対して並行して上記の処理を行うことで、ボードコントロールユニット１とメカエミュレータ４との中継を行う。
【００１９】
Ｉ／Ｏ変換装置５内の各要素は、ソフトウェアからの動作命令を相互に変換する処理機構を構成している。
【００２０】
実際の製品（画像形成装置）に搭載されるソフトウェア（以下、「製品ソフトウェア」ともいう）は、メカ部品を動作させる際に各種Ｉ／Ｏポート経由で動作の指示を出す。
本発明では、上記のように、Ｉ／Ｏポートからの入力と仮想環境の部品との中継を実施し、実際の製品ソフトウェアから見たＩ／Ｏポートを完全にエミュレーションするようになっている。
製品ソフトウェアを製品ＰＣＢ上で動作させることができるため、製品と同等のソフトウェアビルド環境を使用できる。
これにより、ソフトウェアが製品実施時と同等の動作をするので、ソフトウェアの検証精度を高めることができる。
【００２１】
図５に基づいて第２の実施形態を説明する。
ボードコントロールユニット１との電気的な接続先として、Ｉ／Ｏ変換装置５は必須であるが、Ｉ／Ｏ変換装置５内の機能ブロックの一部をコンピュータ６上で動作させるような構成とすることもできる。
Ｉ／Ｏ変換２３の処理内容のうち、メカエミュレータ用の変換をボードコントロールユニット１に持たせている。
実機ボードエミュレーションレジスタ２１の変化内容から、メカエミュレータ４への通知用のデータに変換するには時間的なコストがかかる。
【００２２】
しかしながら、ボードコントロールユニット１ではメカの操作を論理的に決定した後レジスタアクセスに変換している。
このため、論理的な操作内容をメカエミュレータ用Ｉ／Ｏ変換３１が、そのままメカエミュレータ操作用のデータに変換し、ＩＯ変換装置５に通知する。
メカエミュレータ用Ｉ／Ｏ変換３１は、ボードコントロールユニット側（ソフトウェア側）に組み込まれている。
これにより、図２の構成では、「論理制御項目→レジスタ設定値→仮想メカ制御データ」と二段階に変換していた項目を、「論理制御項目→仮想メカ制御データ」と直接変換するため、システム全体としての処理を軽減できる。
【００２３】
本実施形態では、図２中のＩ／Ｏ変換２３はエミュレーションレジスタ向けのＩ／Ｏ変換に特化した、Ｉ／Ｏ変換（エミュレーションレジスタ用）２６となる。
Ｉ／Ｏ変換２６は、メカエミュレータ４の仮想メカトロニクス部品の状態変化データを、エミュレーションレジスタのレジスタ値に変換する処理に特化する。
本実施形態では、ボードコントロールユニット１がＩ／Ｏ変換を実施するため、ＩＯ変換装置５は図３のステップＳ３の処理のみを行う。
【符号の説明】
【００２４】
４  エミュレータとしてのメカエミュレータ
５  Ｉ／Ｏ変換装置
６  コンピュータ
２１  ソフトウェアからの動作命令を受け取るインターフェースとしての実機ボードエミュレーションレジスタ
２３  操作用インターフェースとしてのＩ／Ｏ変換
３１  エミュレータ用Ｉ／Ｏ変換
【先行技術文献】
【特許文献】
【００２５】
【特許文献１】特開２０１０−５５５２３号公報
【図１】
2014232405.tif 000003
【図２】
2014232405.tif 000004
【図３】
2014232405.tif 000005
【図４】
2014232405.tif 000006
【図５】
2014232405.tif 000007