(57)【要約】【課題】  搬送機構制御ソフトウェアの検証を細部まで行うことができる設計支援プログラム及び設計支援方法を提供すること。【解決手段】  コンピュータに付随するディスプレイに、仮想紙Ｐの搬送に係るシミュレーション画面を表示し（図３）、シミュレーション画面上の仮想紙Ｐを、ユーザの指示により選択し（図１１）、選択された仮想紙Ｐをシミュレーション画面上から消去する（図１２、図１３）手順を、コンピュータに実行させる。【選択図】  図１０
2006168879.tif 000002
【特許請求の範囲】
【請求項１】
紙搬送機構を制御するソフトウェアの処理動作を検証可能とする、コンピュータ読み取り可能な設計支援プログラムにおいて、
前記コンピュータに付随する表示部に、仮想紙の搬送に係るシミュレーション画面を表示する表示手順と、
前記表示手順において表示された前記シミュレーション画面上の仮想紙を、ユーザの指示により選択する選択手順と、
前記選択手順において選択された仮想紙を前記シミュレーション画面上から消去する消去手順と、
を前記コンピュータに実行させることを特徴とする設計支援プログラム。
【請求項２】
前記選択手順において、ユーザが任意の仮想紙を消去するかすべての仮想紙を消去するかの選択が可能であることを特徴とする請求項１記載の設計支援プログラム。
【請求項３】
仮想紙のジャム発生条件を予め設定するジャム設定手順と、
前記ジャム設定手順において設定された前記ジャム発生条件に基づいて、ジャムを発生させるジャム発生手順と、を有し、
前記選択手順は、前記ジャム発生手順によりジャムを発生させられた場合に、ジャムの発生した仮想紙をユーザの指示により選択することを特徴とする請求項１記載の設計支援プログラム。
【請求項４】
前記ジャム設定手順において設定された前記ジャム発生条件は、ジャムの発生位置、及び何枚目でジャムを発生させるかの情報を含むことを特徴とする請求項３記載の設計支援プログラム。
【請求項５】
前記選択手順において仮想紙が選択された場合、当該選択された仮想紙を検知している仮想センサの検知状態を非検知状態に変更する変更手順を有することを特徴とする請求項１記載の設計支援プログラム。
【請求項６】
紙搬送機構を制御するソフトウェアの処理動作を検証可能とする、コンピュータ読み取り可能な設計支援プログラムにおいて、
前記コンピュータに付随する表示部に、仮想紙の搬送に係るシミュレーション画面を表示する表示手順と、
前記表示手順において表示された前記シミュレーション画面上の任意の位置を、ユーザの指示により入力する入力手順と、
前記入力手順において入力された前記シミュレーション画面上の位置において、仮想紙を生成する生成手順と、
を前記コンピュータに実行させることを特徴とする設計支援プログラム。
【請求項７】
前記入力手順において、仮想紙のサイズも入力可能であることを特徴とする請求項６記載の設計支援プログラム。
【請求項８】
前記生成手順において仮想紙が生成された場合、当該生成された仮想紙を検知する仮想センサの非検知状態を検知状態に変更する変更手順を有することを特徴とする請求項６記載の設計支援プログラム。
【請求項９】
紙搬送機構を制御するソフトウェアの処理動作を検証可能とする、コンピュータ読み取り可能な設計支援プログラムにおいて、
前記コンピュータに付随する表示部に、仮想紙の搬送に係るシミュレーション画面を表示する表示手順と、
前記表示手順において表示された前記シミュレーション画面上の仮想センサを、ユーザの指示により選択する選択手順と、
前記選択手順において選択された仮想センサが検知している１枚の仮想紙の一部分を、前記シミュレーション画面上から消去する消去手順と、
を前記コンピュータに実行させることを特徴とする設計支援プログラム。
【請求項１０】
前記選択手順において、１枚の仮想紙を複数の仮想センサが検知している場合、該複数の仮想センサから任意の仮想センサの選択が可能であることを特徴とする請求項９記載の設計支援プログラム。
【請求項１１】
仮想紙のジャム発生条件を予め設定するジャム設定手順と、
前記ジャム設定手順において設定された前記ジャム発生条件に基づいて、ジャムを発生させるジャム発生手順と、を有し、
前記選択手順は、前記ジャム発生手順によりジャムを発生させられた場合に、ジャムの発生した仮想紙を検知している仮想センサを、ユーザの指示により選択することを特徴とする請求項９記載の設計支援プログラム。
【請求項１２】
前記選択手順において仮想センサが選択された場合、当該仮想センサの検知状態を非検知状態に変更する変更手順を有することを特徴とする請求項９記載の設計支援プログラム。
【請求項１３】
紙搬送機構を制御するソフトウェアの処理動作を、コンピュータを用いて検証可能とする設計支援方法において、
前記コンピュータに付随する表示部に、仮想紙の搬送に係るシミュレーション画面を表示する表示手順と、
前記表示手順において表示された前記シミュレーション画面上の仮想紙を、ユーザの指示により選択する選択手順と、
前記選択手順において選択された仮想紙を前記シミュレーション画面上から消去する消去手順と、
を有することを特徴とする設計支援方法。
【請求項１４】
紙搬送機構を制御するソフトウェアの処理動作を、コンピュータを用いて検証可能とする設計支援方法において、
前記コンピュータに付随する表示部に、仮想紙の搬送に係るシミュレーション画面を表示する表示手順と、
前記表示手順において表示された前記シミュレーション画面上の任意の位置を、ユーザの指示により入力する入力手順と、
前記入力手順において入力された前記シミュレーション画面上の位置において、仮想紙を生成する生成手順と、
を有することを特徴とする設計支援方法。
【請求項１５】
紙搬送機構を制御するソフトウェアの処理動作を、コンピュータを用いて検証可能とする設計支援方法において、
前記コンピュータに付随する表示部に、仮想紙の搬送に係るシミュレーション画面を表示する表示手順と、
前記表示手順において表示された前記シミュレーション画面上の仮想センサを、ユーザの指示により選択する選択手順と、
前記選択手順において選択された仮想センサが検知している１枚の仮想紙の一部分を、前記シミュレーション画面上から消去する消去手順と、
を有することを特徴とする設計支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機構制御設計を支援するための設計支援プログラム及び設計支援方法に関する。より詳細には、シート状の搬送体を搬送するための搬送機構を制御するためのソフトウェアの設計支援プログラム及び設計支援方法に関する。
【背景技術】
【０００２】
従来、紙などのシート状の搬送体（以下、単に紙と称す）の搬送はあらゆる分野で行われている。例えば、複写機、プリンタ等の画像形成装置では、紙をローラやガイドなどの搬送機構によって搬送する。
【０００３】
紙を搬送する際には、多くの場合、単に等速で一方向にのみ搬送するのは稀有であり、例えばセンサにより搬送体の位置を検知し、所定位置で停止させたり、ローラを逆回転させ搬送方向を反転させたりすることがほとんどである。したがって、紙を搬送する際には、紙を搬送する機構を制御するためのソフトウェアが不可欠である。
【０００４】
また、例えば、近年の画像形成装置は高機能・高生産が謳われており、それに伴い画像形成装置を制御するためのソフトウェアは複雑化し、不具合の発見から原因特定、修正の工数も増大している。
【０００５】
そこで、近年のコンピュータの性能向上に伴い、搬送機構設計にシミュレーション技術を用いる機会も増えてきている。例えば、紙の挙動をシミュレーションにより算出し、搬送機構に潜在する欠陥を発見するためのシステムなども提案されている（例えば特許文献１参照。）。
【０００６】
また、機構シミュレーションがあらゆる場面で活躍する一方、機構を制御するためのソフトウェアの検証に関するものも提案されている。例えば、キーボード等の入力装置からプリンタ制御ソフトウェアにスイッチのオン／オフやカバーの開閉などの外部イベントを発生させる設計支援方法が提案されている（例えば、特許文献２参照。）。
【特許文献１】特開平９−８１６００号公報
【特許文献２】特開平５−１４３２６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来のソフト検証のためのシミュレータにおいて、異常状態を発生させる機能はあったが、異常状態から正常状態に戻す機能がなかった。特に、紙を搬送中にジャムが発生したとき、シミュレートした紙を消去するためのインターフェース及び機能がなかったために、正常状態に戻して次のジョブに移行等することが出来なかった。
【０００８】
実機を用いたシミュレータの場合は、異常からの復帰はユーザの作業により行われるため正常に戻す機能は必要ではないが、すべてをコンピュータ上でシミュレートしているシミュレータではこの機能がないと復帰のシーケンスを検証出来ない事となる。
【０００９】
プリンタ制御において、異常状態が発生した時と同様に、異常状態から復帰する際に起こる不具合が多く、異常状態からの復帰、特にジャム等からの復帰は搬送機構制御ソフトウェアの検証としては必須である。
【００１０】
また、ジャム等からの復帰時には、紙が破れて本体内に残る事もあるが、その様な状況も考えて異常復帰のシミュレーションを行わなくてはならないが、従来の設計支援方法ではこのような状況をシミュレータ上で再現できなかった。
【００１１】
このような課題を解決するため、本発明は、搬送機構制御ソフトウェアの検証を細部まで行うことができる設計支援プログラム及び設計支援方法を提供することを目的としている。
【課題を解決するための手段】
【００１２】
上記目的を達成するため、本発明に係る設計支援プログラムは、紙搬送機構を制御するソフトウェアの処理動作を検証可能とする、コンピュータ読み取り可能な設計支援プログラムにおいて、前記コンピュータに付随する表示部に、仮想紙の搬送に係るシミュレーション画面を表示する表示手順と、前記表示手順において表示された前記シミュレーション画面上の仮想紙を、ユーザの指示により選択する選択手順と、前記選択手順において選択された仮想紙を前記シミュレーション画面上から消去する消去手順と、を前記コンピュータに実行させることを特徴とする。
【００１３】
また、本発明に係る設計支援プログラムは、紙搬送機構を制御するソフトウェアの処理動作を検証可能とする、コンピュータ読み取り可能な設計支援プログラムにおいて、前記コンピュータに付随する表示部に、仮想紙の搬送に係るシミュレーション画面を表示する表示手順と、前記表示手順において表示された前記シミュレーション画面上の任意の位置を、ユーザの指示により入力する入力手順と、
前記入力手順において入力された前記シミュレーション画面上の位置において、仮想紙を生成する生成手順と、を前記コンピュータに実行させることを特徴とする。
【００１４】
また、本発明に係る設計支援プログラムは、紙搬送機構を制御するソフトウェアの処理動作を検証可能とする、コンピュータ読み取り可能な設計支援プログラムにおいて、前記コンピュータに付随する表示部に、仮想紙の搬送に係るシミュレーション画面を表示する表示手順と、前記表示手順において表示された前記シミュレーション画面上の仮想センサを、ユーザの指示により選択する選択手順と、前記選択手順において選択された仮想センサが検知している１枚の仮想紙の一部分を、前記シミュレーション画面上から消去する消去手順と、を前記コンピュータに実行させることを特徴とする。
【００１５】
また、本発明に係る設計支援方法は、紙搬送機構を制御するソフトウェアの処理動作を、コンピュータを用いて検証可能とする設計支援方法において、前記コンピュータに付随する表示部に、仮想紙の搬送に係るシミュレーション画面を表示する表示手順と、前記表示手順において表示された前記シミュレーション画面上の仮想紙を、ユーザの指示により選択する選択手順と、前記選択手順において選択された仮想紙を前記シミュレーション画面上から消去する消去手順と、を有することを特徴とする。
【００１６】
また、本発明に係る設計支援方法は、紙搬送機構を制御するソフトウェアの処理動作を、コンピュータを用いて検証可能とする設計支援方法において、前記コンピュータに付随する表示部に、仮想紙の搬送に係るシミュレーション画面を表示する表示手順と、前記表示手順において表示された前記シミュレーション画面上の任意の位置を、ユーザの指示により入力する入力手順と、前記入力手順において入力された前記シミュレーション画面上の位置において、仮想紙を生成する生成手順と、を有することを特徴とする。
【００１７】
また、本発明に係る設計支援方法は、紙搬送機構を制御するソフトウェアの処理動作を、コンピュータを用いて検証可能とする設計支援方法において、前記コンピュータに付随する表示部に、仮想紙の搬送に係るシミュレーション画面を表示する表示手順と、前記表示手順において表示された前記シミュレーション画面上の仮想センサを、ユーザの指示により選択する選択手順と、前記選択手順において選択された仮想センサが検知している１枚の仮想紙の一部分を、前記シミュレーション画面上から消去する消去手順と、を有することを特徴とする。
【発明の効果】
【００１８】
請求項１及び１３に係る発明によれば、ユーザが選択した仮想紙をシミュレーション画面上から消去するので、例えばユーザがジャム紙を取り除いた状況等を再現することができ、搬送機構制御ソフトウェアの検証を細部まで行うことができる。
【００１９】
また、請求項６及び１４に係る発明によれば、ユーザが入力した位置に仮想紙を生成するので、例えば電源ＯＮ時等、任意のタイミングで仮想紙が存在する状況を再現することができ、搬送機構制御ソフトウェアの検証を詳細に行うことができる。
【００２０】
また、請求項９及び１５に係る発明によれば、ユーザが選択した仮想センサが検知している１枚の仮想紙の一部分を、シミュレーション画面上から消去するので、例えばユーザがジャム紙を取り除くときに、紙が破れて紙の一部が装置内にとどまっている状況を再現することができ、搬送機構制御ソフトウェアの検証を細部まで行うことができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明に係る設計支援装置を図面に則して更に詳しく説明する。
【実施例１】
【００２２】
まず、実施例１について説明する。本実施例では、紙搬送シミュレーションにおいてジャムが発生した場合、ユーザからの指示によりジャムが発生した仮想紙をシミュレーション画面上から消去し、ジャム紙を検知している仮想センサの検知状態を解除するものである。ここでは、シミュレーション上での仮想的な紙及びセンサを指すため、「仮想」という表現を用いている。
【００２３】
図１は、本実施例に係る設計支援装置である。本実施例の設計支援装置は、画像形成装置の紙搬送シミュレーションをパーソナルコンピュータ上で行うことの出来る紙搬送シミュレータである。また、現実世界の画像形成装置を制御するファームソフトウェアの制御タイミング設計を支援し、ファームソフトウェアの処理動作の検証を可能とするものである。
【００２４】
本実施例の設計支援装置は、ソフトウェアシミュレーション部１、機構シミュレーション部２、入力監視部４、表示制御部５から構成される。各々はパーソナルコンピュータ内のＨＤＤ内に記憶されており、同パーソナルコンピュータ内のＣＰＵ上で実行される。実行される時には、パーソナルコンピュータのＲＡＭ上に展開された後実行される。
【００２５】
ソフトウェアシミュレーション部１は、紙搬送制御に関するファームソフトウェアをパーソナルコンピュータ内のＣＰＵ上で仮想的に実行するためのものである。入力監視部４はマンマシンインターフェースたるキーボードデバイスやマウスなどの入力を監視しており、前記ソフトウェアシミュレーションの実行開始をソフトウェアシミュレーション部１に指示する。
【００２６】
ソフトウェアシミュレーションの実行結果は機構シミュレーション部２に渡される。機構シミュレーション部２では紙搬送制御に関わる仮想ローラの速度などから仮想紙が紙搬送機構内のどの部位に存在するかを計算により求め、ソフトウェアシミュレーション部１もしくは表示制御部５に渡される。
【００２７】
図２は、表示制御部５によってパーソナルコンピュータに付随するディスプレイ上に示される紙搬送シミュレーション画面Ｗ１の表示例である。紙搬送シミュレーション画面Ｗ１では、仮想紙搬送パスは点線、仮想ローラは丸、仮想センサは三角、仮想紙は実線Ｐで表現される。
【００２８】
図２は本実施例の設計支援装置のソフトウェアシミュレーション部１および機構シミュレーション部２の態様を示す。
【００２９】
ソフトウェアシミュレーション部１は、ファームソフトウェア部１０、入力Ｉ／Ｆ部１２、出力Ｉ／Ｆ部１３から構成される。
【００３０】
ファームソフトウェア部１０は現実世界の画像形成装置の紙搬送制御を行うためのソフトウェアである。
【００３１】
入力Ｉ／Ｆ部１２は機構シミュレーション部２からの情報を入力する部分である。出力Ｉ／Ｆ部１３は機構シミュレーション部２に情報を出力する部分である。
【００３２】
機構シミュレーション部２は、紙位置計算部２０、入力Ｉ／Ｆ部２９、出力Ｉ／Ｆ部２７、紙位置表示部２８から構成される。
【００３３】
入力Ｉ／Ｆ部２９はソフトウェアシミュレーション部１の出力Ｉ／Ｆ部１３からの出力結果を受け付ける部分であり、紙搬送制御に関わる仮想モータや仮想クラッチ、仮想フラッパなどの各種デバイスの制御情報を後段に渡すためのものである。
【００３４】
紙位置計算部２０は、紙搬送制御に関わる仮想モータや仮想クラッチ、仮想フラッパの制御情報から紙搬送パス上の搬送速度を計算し、仮想紙の先端位置および後端位置を計算し、記憶する部分である。
【００３５】
紙位置表示部２８は、前段の紙位置計算部２０により計算された仮想紙の先端位置および後端位置に基づき、表示制御部５に対して図３に示す紙搬送シミュレーション画面Ｗ１を表示させるよう指示するための部分である。
【００３６】
出力Ｉ／Ｆ部２７は、前段の紙位置計算部２０でセットされた紙位置情報をソフトウェアシミュレーション部１の入力Ｉ／Ｆ部１２に与えるための部分である。
【００３７】
次に、図４を用い実際のシミュレーション動作に則して説明を加える。図４は紙搬送制御に関する各種デバイス配置の一例であり、仮想紙Ｐが仮想パスＡＢ上の実線矢印方向に駆動を仮想クラッチＣＬ１を介し仮想モータＭ１から受けている仮想ローラＲ１により搬送され、仮想センサＳ１を仮想紙Ｐ先端が通過したタイミングで仮想フラッパＦＬ１を切換え、仮想パスＢＣまたは仮想パスＢＤに仮想紙Ｐを進めるシミュレーションを前提としている。点線矢印は駆動関係を示している。
【００３８】
設計者がマンマシンインターフェースより紙搬送シミュレーションの開始を指示すると、入力監視部４を介してソフトウェアシミュレーション部１および機構シミュレーション部２が実行される。ソフトウェアシミュレーション部１が開始されると、ファームソフトウェア部１０は現実世界の画像形成装置の紙搬送制御を行うためのソフトウェアを逐次実行していく。
【００３９】
ファームソフトウェア部１０にて、仮想モータＭ１の回転開始の処理が始まると、出力Ｉ／Ｆ部１３を介して仮想モータＭ１を特定するＩＤ番号と回転速度、回転方向がコマンドとして機構シミュレーション部２の出入力Ｉ／Ｆ部２９に与えられる。出入力Ｉ／Ｆ部２９は、上記コマンドを紙位置計算部２０に渡す。
【００４０】
紙位置計算部２０は仮想モータＭ１の回転を開始し、仮想モータＭ１が駆動を与えている仮想ローラまたは仮想クラッチを検索して、回転速度、回転方向を計算する。仮想ローラＲ１に関しては仮想クラッチＣＬ１を介して駆動を与えているため、仮想クラッチＣＬ１のＯＮ／ＯＦＦ情報に基づき仮想ローラＲ１の回転速度、回転方向の情報を計算する。
【００４１】
紙位置計算部２０は所定時間間隔ｔで仮想紙Ｐの先端と後端の位置を演算している。まず仮想紙Ｐの先端から後端までが含まれている仮想パスＡＢの情報を取得する。パス情報には各仮想パス内の仮想ローラのＩＤとその位置情報も含まれており、仮想紙Ｐの先端位置から後端方向に向かって仮想ローラを検索し、始めに見つかった仮想ローラＲ１のＩＤに対応する速度ｖを取得する。
【００４２】
速度ｖと時間間隔ｔから仮想紙Ｐがその間に進んだ距離Ｓ＝ｖ×ｔを求めることにより、仮想紙Ｐの位置を更新する。更新された位置情報は紙位置表示部２８に渡され、紙搬送シミュレーション画面Ｗ１に表示される。
【００４３】
パス情報には各仮想パス内の仮想センサのＩＤとその位置情報も含まれている。紙位置計算部２０は仮想紙Ｐの先端位置から後端方向に向かって仮想センサを検索し、見つかった仮想センサＳ１のＯＮ情報を出力Ｉ／Ｆ部２７に送る。また、仮想紙Ｐの後端が仮想センサＳ１を通過した状態では、仮想センサＳ１のＯＦＦ情報を出力Ｉ／Ｆ部２７に送る。
【００４４】
出力Ｉ／Ｆ部２７は仮想センサＳ１のＯＮ情報もしくはＯＦＦ情報をコマンド化し、ソフトウェアシミュレーション部１の入力Ｉ／Ｆ部１２に出力する。
【００４５】
ファームソフトウェア部１０は、入力Ｉ／Ｆ部１２から仮想センサＳ１のＯＮ情報を受け、仮想フラッパＦＬ１の制御を開始する。機構シミュレーション部２へのコマンド送出は仮想モータＭ１の場合とほぼ同様である。仮想フラッパＦＬ１の制御コマンド受け、紙位置計算部２０は仮想紙Ｐの先端が分岐点Ｂに到達すると次に進むべき仮想パスを決定し、仮想フラッパＦＬ１の切換え状態に応じて、仮想紙Ｐの進行方向を仮想パスＢＣにするのか仮想パスＢＤにするのかを判断する。
【００４６】
次に、図５を用いて本実施例のジャムを発生させる機能について説明する。図５は、シミュレーションが始まる前の画面である。５００はジャム設定画面であり、この画面からジャムの発生させる場所を設定する。５０９は紙搬送表示画面であり、仮想紙を搬送する様子が表示される画面である。図５は紙搬送前であるため５０９には仮想パスのみの表示である。
【００４７】
５０３はジャム位置設定部であり、ユーザはここにジャムを発生させたい位置を設定する。このジャム発生の機能を使う場合、この設定した位置で仮想紙が停止する事となる。ここでの数字の単位はｍｍであり、基準の位置からの距離を入力する。なお、数値入力によらなくとも、直接画面上からジャムを発生させたい位置を指示することにより設定してもよい。
【００４８】
５０４はジャム枚数指定部であり、ここの枚数分ジャム設定位置に仮想紙が通過すると仮想紙が止まる設定となる。すなわち、ジャム枚数指定部に入力された値は、何枚目でジャムを発生させるかの情報である。
【００４９】
５０２は設定ボタンでありこのボタンが押されると、５０３のジャム位置、５０４の枚数に応じた設定がされる。５０５は紙除去ボタンであり、プリンタ部に残った仮想紙を除去したい時に押すボタンである。この紙除去ボタンを押した後の処理は後述する。
【００５０】
図５で５０２の設定ボタンが押された後の画面を図６を用いて説明する。図６は、図５からジャム設定ボタン５０２が押された後の画面である。図５から、５０３で設定された位置に従ってジャムの設定がなされている事を示すため、５１０の様に紙搬送表示画面にジャムが設定された事を示すマークが設定される。これによって、ジャムが発生する位置を容易に把握することができる。
【００５１】
図７は、図６の状態でジョブが開始した後の画面である。５２０，５２１，５２２は仮想紙である。図５ではジャム設定が２枚目で設定されているため、最初の仮想紙５２０は通過し、５２１がマーク５１０に差し掛かった所で止まっている図を表している。
【００５２】
次に、図５の画面の処理について、図８のフローチャートを用いて説明する。図８は、画面モジュールの処理フローである。この処理フローは、図２に示すＵＩ部２８の処理の一部となる。
【００５３】
まず、処理をスタートするとステップＳ６０１では設定ボタン５０２が押されたか否かを判断する。ステップＳ６０１で押されたと判断した場合はステップＳ６０２に進み、図５の５０３のジャム位置情報ならびに図５の５０４の枚数情報と共に紙位置計算部２０にジャム設定がされた事を通知する。ステップＳ６０２が終了したらステップＳ６０１に戻る。
【００５４】
ステップＳ６０１で設定ボタンが押されていないと判断したら、ステップＳ６０３に進み解除ボタン５０１が押されたか否かが判断される。ステップＳ６０３で解除ボタンが押されたと判断した場合は、ステップＳ６０４に進み、紙位置計算部２０にジャム設定が解除された事を通知し、ステップＳ６０１に戻る。ステップＳ６０３で解除ボタンが押されていないと判断された場合には、ステップＳ６０１に戻り処理が繰り返される。
【００５５】
次に、図５の画面における紙搬送制御部の処理について、図９のフローチャートを用いて説明する。図９は、図２の紙位置計算部２０における紙搬送制御の処理フローである。
【００５６】
まず、ステップＳ６１０では、図８で説明したＵＩ部２８からのジャムの設定の通知があったか否かを判断する。ステップＳ６１０で通知があったと判断した場合には、ステップＳ６１１に進み、送られてきた情報を記憶する。ここでは主に、前述したジャム位置ならびに紙枚数情報を記憶する。
【００５７】
ステップＳ６１１が終了するとステップＳ６１２に進み、ジャムフラグに１を代入する。ジャムフラグは、後にジャム発生を監視するか否かの際に使われるフラグとなる。ステップＳ６１２が終了するとステップＳ６１０に戻る。
【００５８】
ステップＳ６１０で設定の通知が無かったと判断した場合にはステップＳ６１３に進み、ジャムの解除の通知があったか否かを判別する。ステップＳ６１３で解除の通知があったと判断したら、ステップＳ６１４に進み、ジャムフラグをクリアしステップＳ６２５に進む。ステップＳ６２５では後述するステップＳ６２１において停止処理を行われた仮想紙が存在する場合にその停止処理を解除し、ステップＳ６１０に戻る。
【００５９】
ステップＳ６１３で解除の通知が無かったと判断したら、ステップＳ６１５に進み、現在がジョブ中か否かを判断する。ステップＳ６１５でジョブ中でなかったと判断したら、ステップＳ６１０に戻る。
【００６０】
ステップＳ６１５でジョブ中であったと判断された場合、ステップＳ６１６に進みジャムフラグが１か否かを判定する。ステップＳ６１６でジャムフラグが０であると判断された場合にはステップＳ６１７に進み、各仮想紙を搬送させる制御を行いステップＳ６１０に戻る。
【００６１】
ステップＳ６１６でジャムフラグが１であった場合には、ステップＳ６１８に進み、ステップＳ６１１で設定された情報のうちジャム位置を仮想紙の先端が通過した直後であるか否かを判断する。この際、存在する仮想紙のすべてについて調査、判断を行う。仮想紙の先端が通過した直後とは、前回の処理時には先端が設定されたジャム位置より手前であったのに、今回の処理で先端が設定されたジャム位置より先に行くという判断の元に行う。
【００６２】
ステップＳ６１８でジャム位置を通過した直後でないと判断した場合には、ステップＳ６１７に進んで各仮想紙を搬送させる制御を行い、ステップＳ６１０に戻る。ステップＳ６１８でジャム位置を通過した直後だと判断した場合には、ステップＳ６１９に進んでカウンタ値のインクリメントを行う。このカウンタ値はジョブ開始時にクリアされるカウンタ値である（詳細は省略する）。
【００６３】
ステップＳ６１９が終了したら、ステップＳ６２０でこのカウンタ値がステップＳ６１１で記憶した枚数より大きいか否かを判断する。ステップＳ６２０で設定値より小さいと判断した場合には、ステップＳ６１７に進み各仮想紙を搬送させる制御を行いステップＳ６１０に戻る。
【００６４】
ステップ６２０でカウンタ値が設定値より大きくなったと判断した場合には、ステップＳ６２１に進み、対応する仮想紙の停止処理を行う。この対応する仮想紙の停止処理とは、そのときにジャム位置を通過した仮想紙に関してのみ、その後ステップＳ６１７の紙搬送処理に以降したとしても紙搬送は行わずにストップさせるという処理である。この処理より、その仮想紙に関しては、接している仮想ローラが回転していても仮想紙は搬送されない状態となる。
【００６５】
ステップＳ６２１が終了したら、ステップＳ６２２に進みジャムフラグをクリアし、ステップＳ６１７に進む。ステップＳ６１７では仮想紙の搬送制御を行いステップＳ６１０に戻る。
【００６６】
以上説明した処理により、本実施例ではジャムを任意の位置で起こす事が可能である。
【００６７】
次に、図１０〜図１５を用いてシミュレーションの仮想紙の除去について説明する。仮想紙の解除とは、例えばジャムが発生した後に、実機であるとユーザが詰まった仮想紙を本体から取り除く事となるが、それをシミュレーション上で再現したものである。
【００６８】
図１０は、図７の状態で５０５紙除去ボタンが押された際の画面である。７００は紙除去設定画面である。７０１はＯＫボタンであり、このボタンが押されると紙除去設定画面７００を閉じる。
【００６９】
７０２は紙情報表示画面である。７０２では、現在シミュレーション中の紙ＩＤと、その仮想紙が接している仮想センサのＩＤが表示される。７０３は選択紙解除ボタンである。このボタンが押されると、紙情報表示画面７０２から選択した仮想紙に関する仮想紙の解除処理が行われる事となる。
【００７０】
７０４はすべての紙解除ボタンである。このボタンが押されるとシミュレーション中のすべての仮想紙の解除が行われる。これら仮想紙の解除の際には表示されているセンサＩＤに対応する仮想センサの状態が、図２の出力Ｉ／Ｆ２７、入力Ｉ／Ｆ１２を介してファームソフトウェア部１０にフィードバックされる。
【００７１】
７０５はドアオープンボタン、７０６はドアクローズボタンであり、これらのボタンが押されるとドアに対応するＩ／Ｆの情報が図２の出力Ｉ／Ｆ２７、入力Ｉ／Ｆ１２を介してファームソフトウェア部１０にフィードバックされる。
【００７２】
次に、実際に仮想紙を解除する時の画面について、図１１を用いて説明する。図１１は、図１０の状態から紙ＩＤが１の仮想紙を選択した画面である。図１０から紙ＩＤが表示されている上をクリックすると、８０１の様に白黒反転表示となり選択されている状態となる。この状態から選択紙解除ボタン８０３を押すと図１２の様な画面となる。
【００７３】
図１２では、８１１の様に図１１で選択されていた仮想紙がリストから削除され、８１２の画面で示される様に仮想紙の表示も除去される。この解除の際は先ほど述べたように対応する仮想センサ（この場合センサＩＤ１）の値もファームソフトウェア部１０にフィードバックされる。
【００７４】
図１２の状態から紙ＩＤ２、紙ＩＤ３も同様に選択してから、それぞれ８１３の選択紙解除ボタンが押された時の表示が図１３となる。なお、図１１の状態から８０４が押された場合にも表示は図１３の表示に変化する。
【００７５】
次に紙解除に関わる処理を図９のフローを用いて説明する。図１４は紙解除に関するＵＩ部２８における処理のフローチャートである。
【００７６】
まず、処理がスタートするとステップＳ９０１で選択の紙解除ボタン（図１１の８０３）が押されたか否かを判断する。ここで選択紙解除ボタンが押されたと判断された場合には、ステップＳ９０２に進み図１０の７０２の紙情報表示画面からどの仮想紙が選択されているかの情報と共に選択紙解除を紙位置計算部２０に通知する。このとき、どの仮想紙が選択されているかは紙ＩＤを指定して行われる。ステップＳ９０２が終了するとステップＳ９０１に戻る。
【００７７】
ステップＳ９０１で選択紙の解除ボタンが押されていないと判断された場合には、ステップＳ９０３に進みすべての紙解除ボタン（図１０の７０４）が押されたか否かが判断される。
【００７８】
ステップＳ９０３ですべての紙解除ボタンが押されたと判断された場合には、ステップＳ９０４に進み、すべての紙解除を紙位置計算部２０に通知する。ステップＳ９０４が終了したらステップ９０１に戻る。
【００７９】
ステップＳ９０３ですべての紙解除ボタンが押されていないと判断した場合、ステップＳ９０５に進み、ドアオープンボタン（図１０の７０５）が押されたか否かを判断する。ステップＳ９０５でドアオープンボタンが押されたと判断した場合には、ステップＳ９０６に進み、ドアオープンを紙位置計算部２０に通知してステップＳ９０１に戻る。
【００８０】
ステップＳ９０５でドアオープンボタンが押されていないと判断した場合には、ステップＳ９０７に進みステップドアクローズボタン（図１０の７０６）が押されたか否かを判断する。ステップＳ９０７でドアクローズが押されたと判断した場合にはステップＳ９０８に進み、ドアクローズを紙位置計算部２０に通知してステップＳ９０１に戻る。ステップＳ９０７でドアクローズが押されていないと判断した場合には、ステップ９０１に戻る。
【００８１】
次に、図１５を用いて紙解除に関する紙位置計算部２０の処理を説明する。なお、この処理は紙搬送自体の処理と並行処理で行っている処理である。
【００８２】
ステップＳ９１０では、選択の紙解除がＵＩ部２８から通知されているか否かを判断する。ステップＳ９１０で選択の紙解除が通知されていると判断した場合にはステップＳ９１１に進み、選択紙の仮想センサの値を変更する。すなわち、仮想センサの検知状態を非検知状態に変更する。ここで変更すると出力Ｉ／Ｆ２７、入力Ｉ／Ｆ１２を介してファームソフトウェア部にフィードバックされる。
【００８３】
変更する仮想センサは、図１４のステップＳ９０２において指定されたＩＤの仮想紙に接している仮想センサとなる。このとき、接している仮想センサの数の分だけ変更する事となる。例えば、図１０の７０２を例に取ると、選択した仮想紙がＩＤ１の仮想紙の場合、センサＩＤ１のセンサ値を変更する事となり、また紙ＩＤ２の仮想紙が選択されていた場合はセンサ値の変更は行われず、紙ＩＤ３が選択されていた場合には、ＩＤ４，５，６の３つのセンサ値を変更する事となる。
【００８４】
ステップＳ９１１が終了するとステップＳ９１２に進んで対応する仮想紙を消去する。この場合の選択の仮想紙とは図１４のステップＳ９０２において通知されている紙ＩＤの仮想紙となる。
【００８５】
ステップＳ９１０で選択の紙除去の通知が来ていないと判断された場合には、ステップＳ９１３に進み、すべての紙解除が通知されたか否かを判断する。ステップＳ９１３ですべての紙解除の通知がされたと判断された場合にはステップＳ９１４に進み、すべての仮想紙のセンサ値を変更する。
【００８６】
すべての仮想紙のセンサ値とは、図１０を例に取ると、紙ＩＤ１に接しているＩＤ１の仮想センサ、紙ＩＤ３に接しているＩＤ４，５，６の仮想センサの値となる。ステップＳ９１４が終了したら、ステップＳ９１５に進みすべての仮想紙を消去する。ステップＳ９１５が終了したらステップＳ９１０に戻る。
【００８７】
ステップＳ９１３ですべての紙解除の通知が来ていないと判断した場合、ステップＳ９１６に進みドアオープンの通知が来ているか否かを判断する。
【００８８】
ステップＳ９１６でドアオープンが通知されたと判断した場合には、ステップＳ９１７に進み、ドアに対応する仮想センサの値をオープン状態に変更する。ここでいうドアとはプリンタ等のカバーにあたり、カバーが開いたか否かを検知する仮想センサの値となる。ドアカバーの仮想センサについての詳細な説明は省略する。
【００８９】
ドアセンサの値を変更すると、出力Ｉ／Ｆ部２７、入力Ｉ／Ｆ部１２を介してファームソフトウェア部１０にフィードバックされる。ステップＳ９１７が終了するとステップＳ９１０に戻る。
【００９０】
ステップＳ９１６でドアオープンの通知が来ていないと判断した場合、ステップＳ９１８に進みドアクローズの通知が来ているか否かを判断する。ステップＳ９１８でドアクローズが通知されたと判断した場合には、ステップＳ９１９に進みドアに対応する仮想センサの値をクローズ状態に変更する。
【００９１】
ドアセンサの値を変更すると、出力Ｉ／Ｆ部２７、入力Ｉ／Ｆ部１２を介してファームソフトウェア部１０にフィードバックされる。ステップＳ９１９が終了するとステップＳ９１０に戻る。ステップＳ９１８でドアクローズ通知が来ていないと判断した場合にはステップＳ９１０に戻る。
【００９２】
このように、本実施例では、仮想紙をユーザが任意に消去する事が出来、例えば、ジャムの後に本物のプリンタではユーザの手によって行われる様な仮想紙の解除の動作を再現する事が出来、その際の復帰等の動作の検証を行う事が可能となる。
【００９３】
また、本実施例では、ドアの開閉に関わるフィードバックを行う事で、より詳細なファームソフトウェアの処理の検証を行う事が可能となる。例えば、ジャムが発生したとき等に、仮想センサの出力からドアが開閉したかどうかを判断して処理を進めたり、変更したり等する制御が入っている場合が多いが、その様なファームソフトウェアの処理の検証を行う事が可能となる。
【００９４】
なお、本実施例では、ドアの開閉のフィードバックは一つであるが、複数の仮想センサを個別にフィードバックしても良い。
【００９５】
次に、ユーザによる仮想紙の生成について図１６〜１９を用いて説明する。例えば、実機では、本体の中に紙が残ったまま、電源のＯＦＦ／ＯＮがされた際には、本体に紙が有るという事を電源ＯＮ時に判別して、処理を行わなくてはならない。
【００９６】
しかし、従来のシミュレータでは、給紙によってのみ仮想紙を生成していたため、この様な給紙以外で仮想紙が本体に存在するという状況がなく、その処理の検証が行えなかった。そこで、これをシミュレータ上で再現するために、この仮想紙の生成により任意の場所に仮想紙を生成する事で再現させようというものである。
【００９７】
図１６の１０００は、仮想紙の生成設定画面である。この画面はメニュー（不図示）から仮想紙の生成が選択された時に現れる画面である。１００１は紙位置設定領域であり、ここにｍｍ単位での設定値をユーザが入力可能である。ここでの数値は基準位置からの距離となる。
【００９８】
１００４は紙サイズ設定領域である。ここには、ユーザはどのサイズの仮想紙を生成するかのサイズを入力する事が出来る。１００２は生成ボタンである。１００２が押されると、仮想紙が生成される事となる。１００３は消去ボタンである。１００３が押されると、１００２を押して生成された仮想紙を消去する事が出来る。
【００９９】
図１７は図１６において設定ボタンが押された際の画面である。図１６の１００５の様に仮想紙が存在していない状況から、図１７の１０１５の様に仮想紙１０１６が生成されているのが分かる。また、図１７において消去ボタンが押された場合には、図１６に示される仮想紙がない状況に戻る。
【０１００】
図１８は、紙生成の処理におけるＵＩ部２８における処理のフローチャートである。まず、ステップＳ１１０１では生成ボタン（図１６の１００２）が押されたか否かを判断する。ステップＳ１１０１で生成ボタンが押されたと判断した場合には、ステップＳ１１０２に進み、図１６の１００１の領域に入力されている位置情報ならびに１００４に入力されているサイズ情報と共に、紙位置計算部２０に紙生成の通知を行う。ステップＳ１１０２が終了するとステップ１１０１に戻る。
【０１０１】
ステップＳ１１０１で紙生成ボタンが押されていないと判断された場合は、ステップＳ１１０３に進み、消去ボタン（図１６の１００３）が押されたか否かを判断する。ステップＳ１１０３で消去ボタンが押されたと判断した場合にはステップＳ１１０４に進み、紙位置計算部２０に紙消去の通知を行う。ステップＳ１１０４が終了するとステップＳ１１０１に戻る。ステップＳ１１０３で消去ボタンが押されていないと判断したら、ステップＳ１１０１に戻る。
【０１０２】
次に、紙位置計算部２０の紙生成におけるシーケンスを図１９を用いて説明する。ステップＳ１１１０では紙生成が通知されたか否かを判断する。
【０１０３】
ステップＳ１１１０で紙生成が通知されたと判断した場合にはステップＳ１１１１に進み、仮想紙を作成する。この際、図１１のステップＳ１１０２で通知と共に送られた紙位置が先端位置となり送られたサイズの仮想紙を作成する。仮想紙を作成するとシミュレーション上に仮想紙が生成され、図１７の画面１０１５における１０１６の様に仮想紙が生成される。
【０１０４】
ステップＳ１１１１が設定が終了すると、ステップＳ１１１２ではステップＳ１１１１で作成された仮想紙の部分において接している仮想センサの値を変更する。ここで仮想センサの値を変更すると出力Ｉ／Ｆ部２７、入力Ｉ／Ｆ部１２を介してファームソフトウェア部１０にフィードバックされる。
【０１０５】
ステップＳ１１１２が終了するとステップＳ１１１０に戻る。ステップＳ１１１０で生成の通知が無かったと判断された場合、ステップＳ１１１３に進み、消去の通知がなかったか否かを判断する。
【０１０６】
ステップＳ１１１３で消去の通知があった場合にはステップＳ１１１４に進み、作成した仮想紙を削除する。ここでは、ステップＳ１１１１によりすでにこの紙生成の機能により仮想紙が作成されていた場合にその消去を行う。
【０１０７】
ステップＳ１１１４が終了したら、ステップＳ１１１５に進む。ステップＳ１１１５では、Ｓ１１１１によりすでに紙生成機能により仮想紙が作成されたいた場合、その仮想紙に接していた仮想センサの値を変更する。ここで仮想センサの値を変更すると出力Ｉ／Ｆ部２７、入力Ｉ／Ｆ部１２を介してファームソフトウェア部１０にフィードバックされる。
【０１０８】
ステップＳ１１１５が終了するとステップＳ１１１０に戻る。ステップＳ１１１３で紙消去がされたと判断された場合には、ステップＳ１１１６に進みジョブが開始したか否かを判断する。ステップＳ１１１６でジョブが開始したと判断した場合には、ステップＳ１１１７に進み紙搬送処理を行いステップＳ１１１０に戻る。ステップＳ１１１６でジョブが開始していないと判断した場合にはステップＳ１１１０に戻る。
【０１０９】
以上説明した様に、本実施例では、ユーザが任意の位置に任意のサイズの仮想紙を生成し、シミュレーションが行う事が可能となる。
【０１１０】
また、本体内の仮想紙の解除を行う事が出来、仮想紙を解除した後のファームソフトウェアの検証が可能となる。
【０１１１】
さらに、仮想紙をユーザが任意に生成させる事が可能であり、例えば電源ＯＮ時等、任意のタイミングで仮想紙が存在する状況を再現でき、その際の検証が可能となる。
【実施例２】
【０１１２】
実施例２においては、基本的な構成は実施例１と同様であり同様な部分の説明は省略する。実施例１とは、図９のジャムの設定までは同様な構成であるが、仮想紙の解除を行う際の処理が異なる。
【０１１３】
本実施例におけるセンサ部紙解除について、図２０〜２３を用いて説明する。実物のプリンタでは、本体に残っている紙を除去する時に、紙のやぶれが生じて紙の一部が本体に残る、もしくは紙の一部のみ除去するという場合がある。本実施例におけるセンサ部紙解除の機能は、この状況を再現するものである。
【０１１４】
図２０は、本体に仮想紙が一枚だけ存在している状態で、図５のジャム設定画面５００上の紙除去ボタン５０５が押された際の画面である。紙除去ボタン５０５が押されると、ジャム解除用画面１２００が現れる。
【０１１５】
１２０１は紙表示領域であり、その時の本体内に存在している仮想紙の情報が表示されている。仮想紙に関しては、紙ＩＤ及びその仮想紙に接している仮想センサのＩＤが表示されている。この紙表示領域１２０１では、各仮想センサを選択する事が可能であり、１２０２で示す様に、センサＩＤ４が白黒反転表示により選択されている事を示している。１２０５では本体の仮想紙の状況を示しているが、この場合本体内には１２０６の様に仮想紙が一枚表示されている。
【０１１６】
１２０３は選択のセンサ部紙除去ボタンであり、このボタンが押されると紙表示領域１２０１から選択されている仮想センサ（この例ではセンサ４）に接している部分の仮想紙が解除される。この際、この仮想センサのファームウェアへのフィードバックの値も変化する。この点については後述する。
【０１１７】
図２０の状況で、選択のセンサ部紙解除ボタン１２０３が押されると、画面は図２１の状態に変化する。図２１では、図２０の１２０１と比べて選択されていたセンサＩＤの４が消去されている。これは、図２０の紙表示領域１２０１に示す紙ＩＤ３のうち、センサＩＤ４の部分だけ取り除かれた事を示している。図２１の１２１５に示すように、本体内の仮想紙の表示も１２１６のように短くなり、図２０の１２０６と比較して仮想センサ一つ分解除されているのが分かる。
【０１１８】
次に、図２２及び２３を用いて、センサ部における仮想紙の解除のシーケンスについて説明する。図２２は紙解除に関するＵＩ部２８に関する処理のフローチャートである。
【０１１９】
まず、処理がスタートするとステップ１３０１でセンサ部紙解除ボタン（図２０の１２０３）が押されたか否かを判断する。ここで、選択紙解除ボタン１２０３が押されたと判断された場合には、ステップＳ１３０２に進み、どの仮想紙のどのセンサ部が選択されているかの情報と共に選択紙解除を紙位置計算部２０に通知する。このとき、どの仮想紙が選択されているかは選択されている仮想センサに対応する紙ＩＤを、どの仮想センサが選択されているかはセンサＩＤを指定して行われる。ステップＳ１３０２が終了するとステップＳ１３０１に戻る。
【０１２０】
ステップＳ１３０１で選択紙の解除ボタンが押されていないと判断された場合には、ステップＳ１３０３に進みすべての紙解除ボタン（図２０の１２０４）が押されたか否かが判断される。
【０１２１】
ステップＳ１３０３ですべての紙解除ボタン１２０４が押されたと判断された場合には、ステップＳ１３０４に進み、すべての紙解除を紙位置計算部２０に通知する。ステップＳ１３０４が終了したらステップ１３０１に戻る。
【０１２２】
ステップＳ１３０３ですべての紙解除ボタンが押されていないと判断した場合、ステップＳ１３０５に進み、ドアオープンボタン（図２１の１２０７）が押されたか否かを判断する。
【０１２３】
ステップＳ１３０５でドアオープンボタン１２０７が押されたと判断した場合には、ステップＳ１３０６に進み、ドアオープンを紙位置計算部２０に通知してステップＳ１３０１に戻る。
【０１２４】
ステップＳ１３０５でドアオープンボタン１２０７が押されていないと判断した場合には、ステップＳ１３０７に進みステップドアクローズボタン（図２０の１２０８）が押されたか否かを判断する。
【０１２５】
ステップＳ１３０７でドアクローズボタン１２０８が押されたと判断した場合には、ステップＳ１３０８に進み、ドアクローズを紙位置計算部２０に通知してステップＳ１３０１に戻る。ステップＳ１３０７でドアクローズボタン１２０８が押されていないと判断した場合にはステップＳ１３０１に戻る。
【０１２６】
次に、図２３を用いて紙解除に関する紙位置計算部２０の処理を説明する。なお、この処理は紙搬送自体の処理と並行処理で行っている処理である。
【０１２７】
ステップＳ１３１０では、選択のセンサ部紙解除がＵＩ部２８から通知されているか否かを判断する。ステップＳ１３１０で選択のセンサ部紙解除が通知されていると判断した場合には、ステップＳ１３１１に進み、選択紙の選択センサの値を変更する。
【０１２８】
ここで変更すると、出力Ｉ／Ｆ２７、入力Ｉ／Ｆ１３を介してファームソフトウェア部１０にフィードバックされる。変更する仮想センサは、図２２のステップＳ１３０２において指定されたＩＤの仮想紙の指定された仮想センサとなる。このとき、選択された仮想センサの数の分だけ変更する事となる。
【０１２９】
ステップＳ１３１１が終了すると、ステップＳ１３１２に進み対応するセンサ部の仮想紙を消去する。この場合の選択センサ部の仮想紙とは、図２２のステップＳ１３０２において通知されている紙ＩＤの仮想紙の通知された仮想センサの部分となる。
【０１３０】
ステップＳ１３１０で選択の紙除去の通知が来ていないと判断された場合には、ステップＳ１３１３に進み、すべての紙解除が通知されたか否かを判断する。ステップＳ１３１３ですべての紙解除の通知がされたと判断された場合には、ステップＳ１３１４に進み、すべての仮想紙のセンサ値を変更する。ステップＳ１３１４が終了したら、ステップＳ１３１５に進みすべての仮想紙を消去する。ステップＳ１３１５が終了したらステップＳ１３０１に戻る。
【０１３１】
ステップＳ１３１３ですべての紙解除の通知が来ていないと判断した場合、ステップＳ１３１６に進みドアオープンの通知が来ているか否かを判断する。
【０１３２】
ステップＳ１３１６でドアオープンが通知されたと判断した場合には、ステップＳ１３１７に進み、ドアに対応する仮想センサの値をオープン状態に変更する。ここでいうドアとは、プリンタ等のカバーにあたり、カバーが開いたか否かを検知する仮想センサの値となる。ドアカバーの仮想センサについての詳細な説明は省略する。
【０１３３】
ドアセンサの値を変更すると、出力Ｉ／Ｆ部２７、入力Ｉ／Ｆ部１２を介してファームソフトウェア部１０にフィードバックされる。ステップＳ１３１７が終了するとステップＳ１３１０に戻る。
【０１３４】
ステップＳ１３１６でドアオープンの通知が来ていないと判断した場合、ステップＳ１３１８に進みドアクローズの通知が来ているか否かを判断する。ステップＳ１３１８でドアクローズが通知されたと判断した場合にはステップＳ１３１９に進み、ドアに対応する仮想センサの値をクローズ状態に変更する。
【０１３５】
ドアセンサの値を変更すると、出力Ｉ／Ｆ部２７、入力Ｉ／Ｆ部１２を介してファームソフトウェア部１０にフィードバックされる。ステップＳ１３１９が終了するとステップＳ１３１０に戻る。ステップＳ１３１８でドアクローズ通知が来ていないと判断した場合には、ステップＳ１３１０に戻る。
【０１３６】
このように、本実施例では、複数の仮想センサがジャムの発生した仮想紙を検知している場合、一部の仮想センサについて仮想紙の検知状態を解除し、当該仮想紙の一部をユーザが任意に消去する事ができる。例えば、実物のプリンタでジャムが発生し、ユーザの手によってジャム紙の除去行われたときに、紙が破れてしまった際の動作を再現する事ができ、その際の処理動作の検証を行う事が可能となる。
【０１３７】
また、本実施例では、ドアの開閉に関わるフィードバックを行う事で、例えば紙搬送制御を司るファームウェアでは、ジャムが発生したとき等にドアの開閉のセンサを見て処理を進めたり、変更したりする処理が入っている場合が多いが、その様な処理の検証を行う事も可能となる。
【０１３８】
なお、本実施例では、ドアの開閉のフィードバックは一つであるが、複数の仮想センサを個別にフィードバックしても良い。
【図面の簡単な説明】
【０１３９】
【図１】設計支援装置の制御ブロック図である。
【図２】設計支援装置のより詳細な制御ブロック図である。
【図３】設計支援装置の画面表示イメージ図である。
【図４】搬送シミュレーションを説明するため図である。
【図５】ジャム設定画面について説明する図である。
【図６】ジャム設定画面について説明する図である。
【図７】ジャム設定画面について説明する図である。
【図８】ジャム設定におけるＵＩ部の処理のフローチャートである。
【図９】ジャム設定における紙位置計算部の処理のフローチャートである。
【図１０】実施例１の紙解除設定画面について説明する図である。
【図１１】実施例１の紙解除設定画面について説明する図である。
【図１２】実施例１の紙解除設定画面について説明する図である。
【図１３】実施例１の紙解除設定画面について説明する図である。
【図１４】実施例１の紙解除におけるＵＩ部の処理のフローチャートである。
【図１５】実施例１の紙解除における紙位置計算部の処理のフローチャートである。
【図１６】実施例１の紙生成画面について説明する図である。
【図１７】実施例１の紙生成画面について説明する図である。
【図１８】実施例１の紙生成処理におけるＵＩ部の処理のフローチャートである。
【図１９】実施例１の紙生成処理における紙位置計算部の処理のフローチャートである。
【図２０】実施例２のセンサ部紙解除について説明する図である。
【図２１】実施例２のセンサ部紙解除について説明する図である。
【図２２】実施例２の紙解除におけるＵＩ部の処理のフローチャートである。
【図２３】実施例２の紙解除における紙位置計算部の処理のフローチャートである。
【符号の説明】
【０１４０】
１  ソフトウェアシミュレーション部
４  入力装置
５  表示制御部
１０  ファームソフトウェア部
１２  入力Ｉ／Ｆ部
１３  出力Ｉ／Ｆ部
２  機構シミュレーション部
２０  紙位置計算部
２７  出力Ｉ／Ｆ部
２８  紙位置表示部
Ｗ１  紙搬送シミュレーション画面
Ｐ  仮想紙
Ｍ１  仮想モータ
ＣＬ１  仮想クラッチ
Ｒ１  仮想ローラ
ＦＬ１  仮想フラッパ
【図１】
2006168879.tif 000003
【図２】
2006168879.tif 000004
【図３】
2006168879.tif 000005
【図４】
2006168879.tif 000006
【図５】
2006168879.tif 000007
【図６】
2006168879.tif 000008
【図７】
2006168879.tif 000009
【図８】
2006168879.tif 000010
【図９】
2006168879.tif 000011
【図１０】
2006168879.tif 000012
【図１１】
2006168879.tif 000013
【図１２】
2006168879.tif 000014
【図１３】
2006168879.tif 000015
【図１４】
2006168879.tif 000016
【図１５】
2006168879.tif 000017
【図１６】
2006168879.tif 000018
【図１７】
2006168879.tif 000019
【図１８】
2006168879.tif 000020
【図１９】
2006168879.tif 000021
【図２０】
2006168879.tif 000022
【図２１】
2006168879.tif 000023
【図２２】
2006168879.tif 000024
【図２３】
2006168879.tif 000025