JP4986508B2 - シミュレータ装置およびコンピュータプログラム - Google Patents

シミュレータ装置およびコンピュータプログラム Download PDF

Info

Publication number
JP4986508B2
JP4986508B2 JP2006159137A JP2006159137A JP4986508B2 JP 4986508 B2 JP4986508 B2 JP 4986508B2 JP 2006159137 A JP2006159137 A JP 2006159137A JP 2006159137 A JP2006159137 A JP 2006159137A JP 4986508 B2 JP4986508 B2 JP 4986508B2
Authority
JP
Japan
Prior art keywords
simulation
unit
input
speed
calculation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006159137A
Other languages
English (en)
Other versions
JP2007328548A (ja
JP2007328548A5 (ja
Inventor
英之 池上
徹 大野
雅弘 芹澤
晃 森沢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2006159137A priority Critical patent/JP4986508B2/ja
Priority to US11/755,892 priority patent/US8108192B2/en
Publication of JP2007328548A publication Critical patent/JP2007328548A/ja
Publication of JP2007328548A5 publication Critical patent/JP2007328548A5/ja
Application granted granted Critical
Publication of JP4986508B2 publication Critical patent/JP4986508B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation

Description

本発明は、画像形成装置の設計を支援するためのシミュレーション技術に関する。
従来、シート状の搬送体の搬送はあらゆる分野で行われている。例えば画像形成装置では、記録材などの搬送体をローラやガイドなどの搬送機構によって搬送する。搬送体の搬送には制御を行うためのソフトウエアは不可欠である。多くの搬送制御では等速かつ一方向にのみ搬送体を搬送することは稀有である。通常は、搬送体の搬送速度は適宜切り替えられる。例えば、センサが搬送体の位置を検知すると、搬送制御部は、所定位置で搬送体を停止させたり、ローラを逆回転させて搬送方向を反転させたりすることもある。
また、近年の画像形成装置は高機能・高生産が謳われている。それに伴い画像形成装置を制御するためのソフトウエアは複雑化し、不具合の発見から原因特定、修正の工数も増大している。
このような事情から、搬送機構の設計にシミュレーション技術を用いる機会も増えてきている。特許文献1によれば、搬送体の挙動をシミュレーション演算することで、搬送機構に潜在する欠陥を発見するシステムが提案されている。
機構シミュレーションがあらゆる場面で活躍している中、機構を制御するためのソフトウエアの検証技術も要望されつつある。ソフトウエアの検証に関しては、基本的な紙の動作についてのシミュレーションや、イレギュラーな状況の再現が必須である。ソフトウエアの設計ミスは、基本的な動作よりも、イレギュラーな動作を制御する部分に多く発生することが経験的にわかっている。
特許文献2によれば、キーボードなどの入力装置からプリンタ制御ソフトウエアにスイッチのオン/オフやカバーの開閉などの外部イベントを発生させる設計支援方法が提案されている。
特開平9−81600号公報 特開平5−143260号公報
ソフトウエアを検証するための従来のシミュレータにおいては、シミュレーションの実行速度が一定であった。そのため、用途に応じて実行速度を変更できず、大変不便であった。
例えば、種々のモードで動作させることで広範囲なシミュレーションを実行したい場合、シミュレーション速度を通常よりも増加させたほうが、早く結果が得られるため効率が良い。その一方で、実際にどのような現象であるかを厳密に検証したい場合、シミュレーション速度を相対的に低下させたほうが、その現象を細かく分析できる。
そこで、本発明は、このような課題および他の課題のうち、少なくとも1つを解決することを目的とする。なお、他の課題については明細書の全体を通して理解できよう。
本発明は、例えば、
画像形成装置の動作を検証するために該動作をシミュレーションするシミュレータ装置であって、
シミュレーション速度を設定するための設定画面を表示する表示部と、
前記設定画面上で、シミュレーション速度を切り替えるタイミングをユーザに入力させるための第1の入力部と、
前記設定画面上で、第1のシミュレーション速度でシミュレーション演算を実行する高速モードと、前記第1のシミュレーション速度よりも遅い第2のシミュレーション速度でシミュレーション演算を実行する低速モードのいずれかを前記ユーザに入力させるための第2の入力部と、
前記画像形成装置の動作をシミュレーション演算するための演算部と、
前記演算部によるシミュレーション演算中に前記第1の入力部に入力された前記タイミングが到達したことに応じて、前記第2の入力部に入力されたモードに切り替える切替部と
を含み、
前記第2の入力部は、前記演算部におけるシミュレーション演算の実行前および実行中に前記高速モードと前記低速モードのいずれかの入力を受け付けることを特徴とするシミュレータ装置を提供する。
本発明によれば、例えば、設計者は、検証を行う用途に応じて、シミュレーション速度を選択できるため、従来よりも効率よく、画像形成装置の動作を検証することが可能となろう。
以下に本発明の一実施形態を示す。もちろん以下で説明される個別の実施形態は、本発明の上位概念、中位概念および下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
図1は、実施形態に係るシミュレータ装置の概要を示す図である。このシミュレータ装置は、画像形成装置の紙搬送などのシミュレーションを実行することで、設計支援装置として機能しうる。このシミュレータ装置は、例えば、パーソナルコンピュータ(PC)と、シミュレーションプログラムとによって実現してもよいし、専用の論理回路(一部ソフトウエアにより実現されてもよい。)により実現されてもよい。このようなシミュレータ装置は、現実世界における画像形成装置を制御するファームソフトウェア(ファームウェア)における制御タイミングを設計する際に役立つであろう。
ソフトウェアシミュレーション部1は、例えば、紙搬送制御に関するファームソフトウェアをPC上で仮想的に実行するための機能モジュールである。ソフトウェアシミュレーション部1は、ソフトウェアシミュレーションの実行結果を機構シミュレーション部2に渡す。
なお、ソフトウェアシミュレーション部1と機構シミュレーション部2とによって、シミュレーション演算部3を構成している。シミュレーション演算部3は、選択された様々なシミュレーション速度(シミュレーションモード)にしたがって演算を実行する。シミュレーションモードは、高速モードや通常(低速)モードなど、2以上あればよい。また、演算部3は、シミュレーション速度が相対的に遅い場合に、演算精度を相対的に高くしてもよい。
機構シミュレーション部2は、例えば、紙搬送制御に関わるローラの速度などから紙が紙搬送機構内のどの部位に存在するかを算出する機能モジュールである。機構シミュレーション部2は、算出結果をソフトシミュレーション部1もしくは表示制御部5に渡す。
入力監視部4は、マンマシンインターフェース(例:キーボードデバイスやマウスなど)からの入力を監視する機能モジュールである。入力監視部4は、ソフトウェアシミュレーションの実行開始を意味する信号が入力されると、ソフトウェアシミュレーション部1に実行開始を指示する。ま、入力監視部4およびマンマシンインターフェースは、演算部3におけるシミュレーション速度(シミュレーションモード)を選択する手段として機能する。なお、入力監視部4は、演算部3におけるシミュレーション演算の実行前および実行中であっても、シミュレーション速度を選択するための入力を受け付けてもよい。
表示制御部5は、例えば、PCに付随するディスプレイなどの表示装置上に紙搬送シミュレーション画面などを表示させる機能モジュールである。表示制御部5は、シミュレーション速度を選択するための画面を表示装置に表示させてもよい。この画面には、シミュレーション速度を切り替えることになる1以上のタイミングを指定するためのテキストボックスが含まれてもよい。また、この画面には、指定されたタイミングに対応するシミュレーション速度またはシミュレーションモードを指定するためのボタンなどが含まれてもよい。
本実施形態に係るソフトウェアシミュレーション部1や機構シミュレーション部2などの各機能モジュールは、ソフトウエアモジュールとして実現されてもよい。これらのソフトウエアモジュールは、実行前は、PCの記憶装置(例:HDDなど)に保管されているが、実行時には、PCのRAMに展開され、CPUによって実行される。
図2は、実施形態に係るシミュレータ装置の一例を示すブロック図である。CPU201は、コンピュータプログラムに基づいて、コンピュータの各ユニットを統括的に制御する制御ユニットである。ROM202は、PCのファームウェアなどの制御プログラムを記憶する不揮発性の記憶ユニットである。RAM203は、ワークエリアとして機能する揮発性の記憶ユニットである。ハードディスクドライブ(HDD)204は、大容量の記憶ユニットである。HDD204は、ソフトウエアモジュールとして実現されたソフトウェアシミュレーション部1、機構シミュレーション部2、入力監視部4および表示制御部5を記憶していてもよい。実際には、機能自体ではなく、各機能を実現するためのプログラムコードがHDD204に記憶されている。また、HDD204には、画像形成装置の搬送制御をシミュレーションするために必要となる各種のデータを記憶している。これらのデータには、搬送パスの長さ、形状、位置や、搬送ローラ、フラッパ、シートセンサの位置、動力源(モータなと)と各機構との関係などである。
表示制御回路205は、いわゆるグラフィックスカードであり、表示制御部5からの指示に従って表示装置206の表示用の信号を出力する。表示装置206は、ユーザに対して各種情報を表示するための表示ユニットである。操作部207は、ポインティングデバイスやキーボードなどの入力ユニットである。
図3は、実施形態に係るソフトウェアシミュレーション部および機構シミュレーション部の一例を示すブロック図である。各ブロックは、ソフトウエアモジュール、ハードウエアモジュールまたはソフトウエアモジュールとハードウエアモジュールとの協働によって実現される。
ソフトウェアシミュレーション部1は、ファームソフトウェア部10、同期処理部11、入力I/F部12、出力I/F部13、同期信号出力部15、UI情報入力部16を備えている。ファームソフトウェア部10は、例えば、現実世界の画像形成装置における紙搬送制御を行うためのソフトウエアそのものである。同期処理部11は、ファームソフトウェア部10の状況に応じて同期を取りながらシミュレーション時間を進める処理を実行するモジュールである。
入力I/F部12は、機構シミュレーション部2からの情報を入力するためのインタフェースである。出力I/F部13は、機構シミュレーション部2へ情報を出力するためのインタフェースである。同期信号出力部15は、同期処理部11により作られた同期信号を機構シミュレーション部2へ出力するインタフェースである。UI情報入力部16は、機構シミュレーション部2から出力されるUI(ユーザインタフェース)の操作に関する情報を入力するためのインタフェースである。
機構シミュレーション部2は、紙位置演算部20、同期信号入力部21、UI情報出力部22、出力I/F部27、UI部28、入力I/F部29を備えている。
紙位置演算部20は、例えば、紙搬送制御に関わるモータ、クラッチ、フラッパの制御情報に基づいて紙搬送パス上の搬送速度を計算し、紙の先端位置および後端位置を算出するためのモジュールである。
同期信号入力部21は、ソフトウェアシミュレーション部1から出力される同期信号を入力するインタフェースである。紙位置演算部20は、この同期信号に従って、紙位置等の計算を行う。UI情報出力部22は、UI部28から入力された情報のうち同期信号に関わる情報をソフトウェアシミュレーション部1へ出力するインタフェースである。
出力I/F部27は、前段の紙位置演算部20によりセットされた紙位置の情報をソフトウェアシミュレーション部1の入力I/F部12へと出力するインタフェースである。
UI部28は、前段の紙位置演算部20により算出された紙の先端位置および後端位置の各情報に基づき、紙搬送シミュレーション画面を表示するための表示データを作成して、表示制御部5へ出力する。また、UI部28は、操作部207および入力監視部4を通じて入力された情報を受け取り、その情報を紙位置演算部20やUI情報出力部22へと転送する。
入力I/F部29は、ソフトウェアシミュレーション部1の出力I/F部13から出力された情報を受け付けるためのインタフェースである。例えば、入力I/F部29は、紙搬送制御に関わるモータ、クラッチ、フラッパなどの各種デバイスの制御情報を後段へと転送する。
図4は、表示装置206に表示される搬送シミュレーション画面の一例を示す図である。画面W1は、画像形成装置の搬送機構の断面を模したものである。401は、紙Pを搬送するための搬送ローラを示している。402は、紙の先端や後端を検出するためのシートセンサを示している。図中の破線403は、紙搬送パスを示している。なお、搬送ローラ401の数と位置、シートセンサの数と位置および搬送パスの長さと形状など、シミュレーションを行う上で必要となる各種データは、HDD204に格納されているものとする。
図5は、シミュレーション動作を説明するための図である。とりわけ、図5には、紙搬送制御に関する各種デバイスの配列が示されている。紙Pは、搬送パスAB上を実線矢印方向へローラR1により搬送される。ローラR1は、クラッチCL1を介してモータM1から動力が伝達されているローラR1よりも搬送方向下流に配置されたシートセンサS1が、紙Pの先端を検出すると、フラッパFL1が切り替えられる。フラッパFL1は、搬送パスBCとパスBDとを選択的に切り替えることができる。
設計者が操作部207を通じて紙搬送シミュレーションの開始を指示したことを入力監視部4が検出すると、CPU201は、ソフトウェアシミュレーション部1および機構シミュレーション部2を起動する。なお、以下において、各モジュールを動作主体として記述するが、各モジュールがソフトウエアによって実現される場合、実際の動作主体はCPU201であることはいうまでもない。
ソフトウェアシミュレーション部1が起動されると、ファームソフトウェア部10は、同期処理部11と協調して、現実世界における画像形成装置の紙搬送制御を実行するソフトウエアを逐次実行していく。
ファームソフトウェア部10が、モータM1の回転を開始させるために、出力I/F部12を介して機構シミュレーション部2の入力I/F部23へ必要なコマンドを出力する。コマンドの内容は、例えば、モータM1を特定するためのID、回転速度、回転方向などである。入力I/F部23は、入力されたコマンドを紙位置演算部20に渡す。
紙位置演算部20は、モータM1の回転を開始する。演算部20は、モータM1により駆動力が付与されるローラやクラッチをHDD204に記憶されている情報から検索して抽出する。そして、演算部20は、抽出されたローラやクラッチの回転速度や回転方向をコマンドの内容に応じて算出する。例えば、ローラR1にはクラッチCL1を介してモータM1が駆動力を与えている。よって、演算部20は、クラッチCL1のON/OFF情報に基づき、ローラR1の回転速度や回転方向の情報を算出する。
紙位置演算部20は、例えば、所定の時間間隔tごとに、紙Pの先端と後端の位置を算出する。まず、演算部20は、紙Pの先端から後端までが含まれている搬送パスABの情報をHDD204から読み出す。この搬送パスの情報には、例えば、各搬送パス内のローラを特定するためのIDと、その位置情報とが含まれている。
また、演算部20は、紙Pの先端位置から後端方向に向かってローラを検索する。そして、演算部20は、初めに見つかったローラR1のIDに基づいて、ローラR1の情報をHDD204から抽出し、ローラR1の速度vを算出する。演算部20は、速度vと時間間隔tとに基づいて、紙Pがtの間に進む距離S=v×tを算出する。これにより、演算部20は、紙Pの現在位置の情報を更新する。現在位置の情報など、演算に必要となる情報はRAM203に格納されるものとする。
演算部20は、更新された位置情報をUI部28に渡す。UI部28は、受け取った紙Pの位置情報に従って、紙搬送シミュレーション画面W1上の対応した位置に紙Pが表示されるよう表示データを作成する。表示制御部5は、UI部28から表示データを受信して、紙搬送シミュレーション画面W1を表示装置206上に表示させる。
なお、HDD204に記憶されているパス情報には、各搬送パス内に配置されたシートセンサのIDとその位置情報も含まれている。紙位置演算部20は、紙Pの先端位置から後端方向に向かって搬送パスに配置されているシートセンサを検索する。演算部20は、抽出されたシートセンサS1のON情報を出力I/F部27へ送る。また、紙Pの後端がシートセンサS1を通過すると、演算部20は、シートセンサS1のOFF情報を出力I/F部27へ送る。出力I/F部27は、シートセンサS1のON情報もしくはOFF情報をコマンド化し、ソフトウェアシミュレーション部1の入力I/F部12へ出力する。
ファームソフトウェア部10は、入力I/F部12からシートセンサS1のON情報を受け取り、フラッパFL1の制御を開始する。モータM1の場合とほぼ同様に、ファームソフトウェア部10は、機構シミュレーション部2へフラッパFL1を切り替えるためのコマンドを送出する。
演算部20は、このコマンドを受け取ると、紙Pの先端が分岐点Bに到達するの待つ。シミュレーションによってシートセンサS1が先端を検出すると、演算部20は、紙Pが次に進むべき搬送パスを決定する。例えば、搬送パスは、シミュレーション条件として予め設定されたフラッパFL1の切り替え状態に応じて決定される。なお、この例では、紙Pの進行方向は、搬送パスBCと搬送パスBDのいずれかである。
なお、ここで述べたtは、同期処理部11により管理される。紙位置演算20は、同期処理部11からの同期信号を同期信号出力部15ならびに同期信号入力部21を経由して受け取り、受け取った同期信号に応じて、各種のシミュレーション演算を実行する。
図6A、Bは、各シミュレーションモードにおけるシミュレーション時間の違いを説明するための図である。とりわけ、図6Aは、通常モードにおけるシミュレーション時間と実時間との関係を示している。図6Bは、高速モードにおけるシミュレーション時間と実時間との関係を示している。なお、通常モードのシミュレーション速度は、高速モードのそれよりも低速である。よって、通常モードは低速モードと呼ばれてもよい。
図6Aが示すように、通常モードではシミュレーション時間と実時間とが一致している。同期処理部11は、ファームウェアソフト部10の状況を監視するとともに、実時間とシミュレーション時間とが同一となるように同期信号を調整する。具体的には、ファームウェアソフト部10は、2msecの間に完了させるべき動作が実際に完了していても、実時間で2msecが経過しない限り、シミュレーション時間を2msec進めることはしない。同期処理部11は、実時間が2msec進んだらシミュレーション時間を2msec進め、同期信号出力部15から対応する同期信号を送出する。これにより、シミュレーション時間と実時間とが一致することになる。
図6Bが示すように、高速モードでは、実時間とは無関係にシミュレーション時間が進行する。これは、同期処理部11が、ファームウェアソフト部10の状況を監視し、可能な限り早くシミュレーション時間が進む様に同期信号の送信を調整しているからである。具体的には、ファームウェアソフトウェア部10が、2msecの間に完了させるべき動作が実際に完了すると、即座にシミュレーション時間を2msec進める。これにより、実時間よりも早いタイミングでシミュレーション時間が進むことになる。これにより、シミュレーション演算の高速化を達成できる。
このように、本実施形態のシミュレータ装置は、少なくとも2つのシミュレーションモードを持つことで、シミュレーションの用途に応じて各モードを使い分けることが可能となる。
図7Aは、実施形態に係るシミュレーションモードの選択機構の一例を示す図である。とりわけ、図7Aは、基本設定画面の一例を示している。基本設定画面は、表示制御部の制御下、表示装置206に表示される。モード設定レバー71は、操作部207のクリック操作に応じて、左右のいずれかにスライドする。モード設定レバー71が右側にスライドさせられると、入力監視部4は、高速モードが選択されたと認識する。モード設定レバー71が左側にスライドさせられると、入力監視部4は、通常モードが選択されたと認識する。
この際、レバ71ーの動きの情報は、入力監視部4、UI部28、UI情報出力部22およびUI情報入力部16を介して同期処理部11が受信する。同期処理部11は、受信した情報に従って、選択されたシミュレーションモードを特定し、特定されたモードを実現するよう同期信号の送信タイミングを調整する。なお、このUI部28は、操作部207において特定の操作が入力されることで、シミュレーション動作中にも基本設定画面を表示する。すなわち、シミュレーション動作中であっても、シミュレーションモードを切り替えることが可能となっている。
なお、図7Bでは、高速モードと通常モードとが例示されているが、3以上のシミュレーションモードが用意されてもよい。さらに、基本設定画面において、具体的なシミュレーション速度を入力できるようにしてもよい。
図7Bは、実施形態に係るシーケンシャル設定画面の一例を示す図である。テキストボック75は、シミュレーションモードを切り替えるタイミングとなる時間データを入力するためのテキストボックスである。時間データは、時刻であってもよいし、シミュレーション開始時からの経過時間であってもよい。76は、通常モードを選択するためのチェックボックスである。77は、高速モードを選択するためのチェックボックスである。なお、チェックボックス76、77は、択一的に選択可能となっている。そのため、チェックボックス76、77は、ラジオボタンとして実現されてもよい。
閉じるボタン78は、テキストボックス75やチャックボックス76により設定された切り替えタイミングやモードをシミュレーションに反映させるためのボタンである。図7Bに示された設定画面では、シミュレーション速度を切り替える1以上のタイミングを指定でき、また、指定されたタイミングに対応するシミュレーション速度やシミュレーションモードを指定することができる。
閉じるボタン78が押されたことが入力監視部4によって検出されると、UI部28は、指定された切り替えタイミングとモードに関する情報を、UI情報出力部22およびUI情報入力部16を介して同期処理部11へ伝達する。同期処理部11は、指定されたタイミングが到来すると、対応するシミュレーションモードへと切り替えるよう同期信号を調整する。このように、本実施形態では、設計者などのユーザが、切り替えタイミングと、切り替え後のシミュレーションモードとを任意に指定することが可能となる。
図8は、実施形態に係るシミュレーションモードの設定変更シーケンスの一例を示すフローチャートである。このフローチャートは、とりわけ、同期処理部11の一部処理に関するものである。このシーケンスは、シミュレーションプログラムの起動時に開始され、他の処理と並行して実行される。
ステップS801において、同期処理部11を実現するCPU201は、高速モードに設定するための情報を操作部207から受信したか否かを判定する。ここで、高速モードに設定するための情報は、図7Aにおけるレバー71が通常モードから高速モードへとスライドされた時にUI部28から送信される情報である。もちろん、この情報には、高速モードが選択されたことを示す情報が含まれている。
高速モードが選択された場合、ステップS802に進み、CPU201は、シミュレーションモードを高速モードへと変更する。同期処理部11は、上述したように高速モードを実現するための同期信号の送出処理とその他の必要な処理を実行する。
一方、高速モードが選択されたのでなければ、ステップS803に進み、CPU201は、通常モードに設定するため情報を受信したか否かを判定する。ここで、通常モードに設定するための情報は、図7Aにおけるレバー71が高速モードから通常モードへとスライドされた時にUI部28から送信される情報である。もちろん、この情報には、通常モードが選択されたことを示す情報が含まれている。
通常モードに設定するための情報を受信したときは、ステップS804に進み、CPU201は、シミュレーションモードを通常モードへと変更する。同期処理部11は、上述したように通常モードを実現するための同期信号の送出処理とその他の必要な処理を実行する。一方、通常モードに設定するための情報を受信したのでなければ、CPU201は、本フローチャートの処理を一旦終了し、ステップS801から再度各ステップを実行する。
なお、ここでシミュレーションモードについての初期値については触れられていないが、例えば、初期値は通常モードであってもよい。
図9は、実施形態に係るシーケンシャル設定シーケンスの一例を示すフローチャートである。シーケンシャル設定とは、図7Bを用いて、1以上の切り替えタイミングと、対応するシミュレーションモードとを設定する処理のことである。このシーケンスも、同期処理部11の一部処理であるが、ここでは、CPU201が実行するものとして説明する。また、このシーケンスも、シミュレーションプログラムの起動時から開始され、他の処理と並行して実行されるものとする。
ステップS901において、CPU201は、RAM203に記憶されている受信フラグをFALSEに設定する。この受信フラグは、シーケンシャル設定情報を受信したか否かを判断するために、後続のステップにおいて使用される。シーケンシャル設定情報は、図7Bを用いて説明したように、1以上の切り替えタイミングと、対応するシミュレーションモードとを設定するための情報である。
ステップS902において、CPU201は、シーケンシャル設定情報を受信したか否かを判定する。受信したのであれば、ステップS903に進み、CPU201は、シーケンシャル設定情報に基づいて設定テーブルを作成する。設定テーブルには、図7Bにおいて入力されたタイミングが、現在時刻に近いものから順番にソートされて登録されている。もちろん、タイミングに対応するモードの選択情報も一緒にソートされることはいうまでもない。なお、設定テーブルはRAM203に記憶されるものとする。
ステップS904において、CPU201は、受信フラグをTRUEに変更する。なお、ステップS903とS904の順番は、逆であってもよい。なお、本実施形態における各ステップは、図に示された順番にのみ限定されることはなく、同一の結果が得られるのであれば、順番が任意に変更されてもよい。
ステップS905において、CPU201は、作成した設定テーブルを読み出し、現在時間と比較して、まだ経過しておらず、かつ、最も近いタイミングを特定し、特定したタイミングを監視時間として設定する。この監視時間は、CPU201に内蔵されたタイマーを用いて監視される。
ステップS906において、CPU201は、シミュレーションを終了させるべきか否かを判定する。例えば、シミュレーションがすべて完了しているか、割り込み処理によって終了が指示されていれば、終了すべきと判定される。終了すべきでなければ、ステップS902へと戻る。
ステップS902において、シーケンシャル設定情報が受信されたのでなければ、ステップS907へ進む。ステップS907において、CPU201は、RAM203からフラグを読み出して、フラグがTRUEに設定されているか否かを判定する。フラグがTRUEでなければ、ステップS906へ進む。
一方、フラグがTRUEであれば、ステップS908に進む。S908において、CPU201は、タイマーを参照し、設定された監視時間が経過したか否かを判定する。設定した監視時間に達していなければ、ステップS906に進む。
一方、監視時間が経過していれば、ステップS909に進み、CPU201は、RAM203から設定テーブルを読み出し、設定テーブルにおいて現在の監視時間に対応するシミュレーションモードを特定する。そして、CPU201は、特定したシミュレーションモード(通常モードor高速モード)へと変更するための切り替えコマンドを発行する。この切り替えコマンドに従って、図8に示した設定処理が実行されることになる。
ステップS910において、CPU201は、設定テーブルを読み出して、今回経過したと判断された監視時間の次の監視時間を特定し、特定された監視時間を監視対象として設定する。その後、ステップS906に進む。
図10は、実施形態に係るシミュレーションモードの切り替えシーケンスの一例を示すフローチャートである。このシーケンスも、同期処理部11の一部処理であるが、ここでは、CPU201が実行するものとして説明する。また、このシーケンスも、シミュレーションプログラムの起動時から開始され、他の処理と並行して実行されるものとする。
ステップS1001において、CPU201は、同期用の実時間情報をRAM203に記憶する。例えば、実時間情報は、この瞬間におけるCPU201のクロックのカウント数など、実時間を特定可能な情報のことである。この実時間情報は、後続のステップにおいて、シミュレーション時間と実時間との関係を調整するために使用される。
ステップS1002において、CPU201は、ファームウェアソフト部10の状態が、すでに機構シミュレーション部2へ同期信号を送ることが可能な状態であるか否かを判定する。同期信号を送信することが可能となるまで待機してから、CPU201は、ステップS1003へ進む。なお、同期信号を送信することが可能な状態とは、例えば、ファームソフトウェアのメインシーケンス自体が動作していない状態などである。
ステップS1003において、CPU201は、シミュレーションモードが通常モードに設定されているか否かを判定する。通常モードでなければ(すなわち、高速モードであれば)、ステップS1007に進む。ステップS1007において、CPU201は、同期用の実時間情報から同期信号を生成し、同期信号出力部15および同期信号入力部21を経由して機構シミュレーション部2の紙位置演算部20に対して同期信号を送信する。ステップS1008において、CPU201は、同期用の実時間情報をRAM203に保存し、ステップS1002へ戻る。このように、高速モードにおいては、所定の実時間を待つことなく、同期信号が出力されるため、シミュレーションが高速で実行されることになる。なお、高速モードにおいても、通常モードにおける所定の実時間(例:2msec)よりも相対的に短い実時間を待機時間として利用してもよい。
一方、シミュレーションモードが通常モードに設定されている場合、ステップS1004に進む。ステップS1004において、CPU201は、同期用実時間情報に含まれる時間と、現在のシミュレーション時間とを比較し、現在のシミュレーション時間が実時間に換算して所定時間(例:2msec)以上経過したか否かを判定する。所定時間以上経過するまで待ってから、ステップS1005へと進む。
ステップS1005において、CPU201は、RAM203に記憶されている同期用の実時間情報に上述の所定時間を加算することで、実時間情報を更新する。ステップS1006において、CPU201は、同期信号出力部15および同期信号入力部21を経由して機構シミュレーション部2の紙位置演算部20に対して更新後の同期用実時間情報に対応する同期信号を生成して送信し、ステップS1002へ戻る。
以上説明したように、本実施形態によれば、検証を行う用途に応じて、シミュレーションの速度を選択することも可能となるため、従来よりも効率よく、画像形成装置の動作を検証することが可能となろう。
なお、シミュレーション速度については、具体的な値を指定できるようにしてもよいが、複数用意されたシミュレーションモード(例:高速モードや低速モード)からユーザが選択できたほうが、ユーザフレンドリーであろう。
なお、シミュレーション演算部3は、高速モードが選択されると、画像形成装置の動作を第1の精度でもってシミュレーション演算してもよい。また、シミュレーション演算部3は、低速モードが選択されると、画像形成装置の動作を、第1の精度よりも高い第2の精度でもってシミュレーション演算してもよい。とりわけ、低速モードであれば、高速モードに比較して、時間的余裕が生じるため、相対的に高い精度を期待できるような複雑な演算を実行できよう。
また、本実施形態のCPU201は、シミュレーション演算部3におけるシミュレーション演算の実行前および実行中であっても高速モードと低速モードのいずれかを選択するための入力を受け付けることができる。例えば、設計者は、長時間経過した後の動作状態(例えば101枚目のプリント中の動作状態等)を細かく検証することを希望したとする。この場合、検証したい時間の少し前まで高速で動作させ、検証したい時間では動作速度を低下させて細かく分析するといったことも可能となる。よって、検証の効率が向上することになろう。
また、本実施形態のCPU201は操作部207や表示装置206と協働することで、ミュレーション速度を切り替える1以上のタイミングと、指定されたタイミングに対応するシミュレーション速度またはシミュレーションモードとを指定できる(図7B)。よって、設計者は、シミュレーションモードを所望のタイミングで切り替えながら、画像形成装置の動作を検証することが可能となる。
また、本実施形態に係るシミュレータ装置やシミュレーションプログラムを活用すれば、画像形成装置の設計を効率よく支援することが可能となろう。
[他の実施形態]
以上、様々な実施形態を詳述したが、本発明は、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
本発明は、前述した実施形態の各機能を実現するソフトウェアプログラムを、システム若しくは装置に対して直接または遠隔から供給し、そのシステム等に含まれるコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される。
従って、本発明の機能・処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、上記機能・処理を実現するためのコンピュータプログラム自体も本発明の一つである。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、記録媒体としては、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
また、プログラムは、クライアントコンピュータのブラウザを用いてインターネットのホームページからダウンロードしてもよい。すなわち、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードしてもよいのである。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明の構成要件となる場合がある。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布してもよい。この場合、所定条件をクリアしたユーザにのみ、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報で暗号化されたプログラムを復号して実行し、プログラムをコンピュータにインストールしてもよい。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現されてもよい。なお、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ってもよい。もちろん、この場合も、前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ってもよい。このようにして、前述した実施形態の機能が実現されることもある。
実施形態に係るシミュレータ装置の概要を示す図である。 実施形態に係るシミュレータ装置の一例を示すブロック図である。 実施形態に係るソフトウェアシミュレーション部および機構シミュレーション部の一例を示すブロック図である。 表示装置206に表示される搬送シミュレーション画面の一例を示す図である。 シミュレーション動作を説明するための図である。 通常(低速)モードにおけるシミュレーション時間と実時間との関係を示す図である。 高速モードにおけるシミュレーション時間と実時間との関係を示す図である。 実施形態に係る通常モードと高速モードとを選択的に切り替えるための設定画面の一例を示す図である。 実施形態に係るシーケンシャル設定画面の一例を示す図である。 実施形態に係るシミュレーションモードの設定変更シーケンスの一例を示すフローチャートである。 実施形態に係るシーケンシャル設定シーケンスの一例を示すフローチャートである。 実施形態に係るシミュレーションモードの切り替えシーケンスの一例を示すフローチャートである。
符号の説明
1…ソフトウェアシミュレーション部
2…機構シミュレーション部
3…シミュレーション演算部
4…入力監視部
5…表示制御部
10…ファームソフトウェア部
11…同期処理部
12…入力I/F部
13…出力I/F部
15…同期信号出力部
16…UI信号入力部
20…紙位置演算部
21…同期信号入力部
22…UI情報出力部
27…出力I/F部
28…UI部
29…入力I/F部

Claims (3)

  1. 画像形成装置の動作を検証するために該動作をシミュレーションするシミュレータ装置であって、
    シミュレーション速度を設定するための設定画面を表示する表示部と、
    前記設定画面上で、シミュレーション速度を切り替えるタイミングをユーザに入力させるための第1の入力部と、
    前記設定画面上で、第1のシミュレーション速度でシミュレーション演算を実行する高速モードと、前記第1のシミュレーション速度よりも遅い第2のシミュレーション速度でシミュレーション演算を実行する低速モードのいずれかを前記ユーザに入力させるための第2の入力部と、
    前記画像形成装置の動作をシミュレーション演算するための演算部と、
    前記演算部によるシミュレーション演算中に前記第1の入力部に入力された前記タイミングが到達したことに応じて、前記第2の入力部に入力されたモードに切り替える切替部と
    を含み、
    前記第2の入力部は、前記演算部におけるシミュレーション演算の実行前および実行中に前記高速モードと前記低速モードのいずれかの入力を受け付けることを特徴とするシミュレータ装置。
  2. 前記演算部は、
    前記高速モードでシミュレーションを実行する場合は、前記画像形成装置の動作を第1の精度でもってシミュレーション演算する第1のシミュレーション演算手段と、
    前記低速モードでシミュレーションを実行する場合は、前記画像形成装置の動作を、第1の精度よりも高い第2の精度でもってシミュレーション演算する第2のシミュレーション演算手段と
    を含むことを特徴とする請求項1に記載のシミュレータ装置。
  3. コンピュータ上で画像形成装置の動作を検証すべく該動作をシミュレーションするコンピュータプログラムであって、
    前記コンピュータ上で、
    シミュレーション速度を設定するための設定画面を表示部に表示する表示手段と、
    前記設定画面上で、シミュレーション速度を切り替えるタイミングをユーザに入力させる第1の入力手段と、
    前記設定画面上で、第1のシミュレーション速度でシミュレーション演算を実行する高速モードと、前記第1のシミュレーション速度よりも遅い第2のシミュレーション速度でシミュレーション演算を実行する低速モードのいずれかを前記ユーザに入力させる第2の入力手段と、
    前記画像形成装置の動作をシミュレーション演算するための演算手段と、
    前記演算手段によるシミュレーションの実行中に前記第1の入力手段に入力された前記タイミングが到達したことに応じて、前記第2の入力手段に入力されたモードに切り替える切替手段と
    を実現し、
    前記第2の入力手段は、前記演算手段におけるシミュレーション演算の実行前および実行中に前記高速モードと前記低速モードのいずれかの入力を受け付けることを特徴とするコンピュータプログラム。
JP2006159137A 2006-06-07 2006-06-07 シミュレータ装置およびコンピュータプログラム Expired - Fee Related JP4986508B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006159137A JP4986508B2 (ja) 2006-06-07 2006-06-07 シミュレータ装置およびコンピュータプログラム
US11/755,892 US8108192B2 (en) 2006-06-07 2007-05-31 Simulator apparatus and simulation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006159137A JP4986508B2 (ja) 2006-06-07 2006-06-07 シミュレータ装置およびコンピュータプログラム

Publications (3)

Publication Number Publication Date
JP2007328548A JP2007328548A (ja) 2007-12-20
JP2007328548A5 JP2007328548A5 (ja) 2009-07-16
JP4986508B2 true JP4986508B2 (ja) 2012-07-25

Family

ID=38822964

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006159137A Expired - Fee Related JP4986508B2 (ja) 2006-06-07 2006-06-07 シミュレータ装置およびコンピュータプログラム

Country Status (2)

Country Link
US (1) US8108192B2 (ja)
JP (1) JP4986508B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008077356A (ja) * 2006-09-20 2008-04-03 Canon Inc 設計支援方法、設計支援装置、設計支援プログラム、記憶媒体
JP5366614B2 (ja) * 2009-03-31 2013-12-11 キヤノン株式会社 自動評価システム、その制御方法、プログラム及び記憶媒体
JP5686609B2 (ja) * 2011-01-12 2015-03-18 キヤノン株式会社 情報処理装置及びプログラム
JP6089407B2 (ja) * 2012-02-06 2017-03-08 株式会社Ihi 検証方法及び検証プログラム
US10682759B1 (en) 2012-10-26 2020-06-16 The United States Of America, As Represented By The Secretary Of The Navy Human-robot interaction function allocation analysis
JP6664158B2 (ja) * 2015-07-15 2020-03-13 三菱電機株式会社 シミュレーション装置及びシミュレーション方法及びシミュレーションプログラム

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06187355A (ja) * 1991-04-24 1994-07-08 Hitachi Ltd 工程管理支援方法及びその装置
JPH05143260A (ja) 1991-11-22 1993-06-11 Hokuriku Nippon Denki Software Kk プリンタシミユレータ装置
JPH05290119A (ja) * 1992-04-08 1993-11-05 Matsushita Electric Ind Co Ltd 機能および論理シミュレータ
JP3410806B2 (ja) * 1994-03-28 2003-05-26 株式会社東芝 プラント模擬装置
JPH0981600A (ja) 1995-09-19 1997-03-28 Toshiba Corp 機構設計支援方法およびこの方法を実施する装置
JP3682141B2 (ja) * 1997-03-06 2005-08-10 株式会社東芝 列車運行シミュレーション装置
JP3472067B2 (ja) * 1997-03-18 2003-12-02 株式会社東芝 設計支援装置
JPH11328153A (ja) * 1998-05-13 1999-11-30 Canon Inc シミュレーション装置
JP4049925B2 (ja) * 1999-02-04 2008-02-20 株式会社リコー 設計支援システム及び設計支援方法
JP2001290857A (ja) * 2000-04-06 2001-10-19 Matsushita Electric Ind Co Ltd タイミングシミュレータ
US7149676B2 (en) * 2001-06-21 2006-12-12 Renesas Technology Corporation Variable accuracy modes in microprocessor simulation
JP4837844B2 (ja) * 2001-07-19 2011-12-14 富士通株式会社 シミュレーションシステム、方法、プログラム及び記録媒体
US6980945B2 (en) * 2001-12-04 2005-12-27 Koninklijke Philips Electronics N.V. Synchronized simulation of software and hardware in the analog domain
JP4011372B2 (ja) * 2002-03-13 2007-11-21 シチズンホールディングス株式会社 数値制御工作機械の加工プログラムチェック方法およびチェック装置ならびにそれを備えた数値制御工作機械
JP3960866B2 (ja) * 2002-06-20 2007-08-15 Necエレクトロニクス株式会社 複数プロセッサの同時シミュレーション装置および同時シミュレーション方法
US20050234695A1 (en) * 2004-04-19 2005-10-20 Wang John C Timing control method of hardware-simulating program and application of the same
JP4536466B2 (ja) * 2004-09-16 2010-09-01 株式会社平和 パチンコシミュレーション装置およびパチンコシミュレーションプログラム
JP4054793B2 (ja) * 2004-11-11 2008-03-05 キヤノン株式会社 設計支援プログラム
JP4054796B2 (ja) * 2004-11-22 2008-03-05 キヤノン株式会社 設計支援プログラム

Also Published As

Publication number Publication date
US20070288218A1 (en) 2007-12-13
US8108192B2 (en) 2012-01-31
JP2007328548A (ja) 2007-12-20

Similar Documents

Publication Publication Date Title
JP4986508B2 (ja) シミュレータ装置およびコンピュータプログラム
KR101826625B1 (ko) 문서의 동시 편집을 지원하는 문서 협업 지원 장치 및 그 동작 방법
CN104662524A (zh) 将应用的状态从第一计算设备传输至第二计算设备
JP2008157974A (ja) 表示制御装置及び表示制御装置の制御方法
US20060088323A1 (en) Design support program and design support method
KR20200130918A (ko) 새로운 사용자 경험의 정보 제공 인터페이스 방법 및 그 시스템
JP2010128987A (ja) シミュレーション方法及びそのシステム
JP2010128722A (ja) シミュレーションシステム、シミュレーション方法及びプログラム
US7415399B2 (en) Design support program and design support method
US7984375B1 (en) Automated detection and implementation of state and object modifications
CN102662768A (zh) 浏览器窗口操作复现方法与装置
JPH0981600A (ja) 機構設計支援方法およびこの方法を実施する装置
JP2009120300A (ja) 検査支援方法及びプログラム
JP4280698B2 (ja) 設計支援プログラム
JP5753468B2 (ja) プログラム検証装置およびプログラム検証方法
JP5173724B2 (ja) 音楽記号入力装置及び音楽記号入力プログラム
JP2007128244A (ja) 情報処理方法および装置、記録媒体、並びにプログラム
JP4789759B2 (ja) 表示制御装置及びその制御方法
JP4054790B2 (ja) 設計支援プログラム及び設計支援方法
JP5366614B2 (ja) 自動評価システム、その制御方法、プログラム及び記憶媒体
JP2006119512A (ja) 音楽情報表示編集装置及びプログラム
JPH1021062A (ja) ビジュアルプログラミング装置及び方法
JP2009031944A (ja) シミュレーションシステム、シミュレーション演算方法及びコンピュータプログラム
US20130311861A1 (en) Effect Editing Methods, Systems, Application Products and Electronic Devices for Electronic Books
JP5838809B2 (ja) 情報処理装置、情報処理方法、及びコンピュータプログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090528

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090528

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110620

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110805

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111125

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120106

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120423

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120424

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees