(57)【要約】【課題】実機でのシート状の搬送体の状態を搬送シミュレータ上で忠実に再現する搬送シミュレーションにより搬送機構を制御するソフトウェアの設計を支援する。【解決手段】互いに通信可能な搬送シミュレータ１０１，１０２に対して用紙を搬送する上流と下流の位置関係を定義し、定義された関係に従って搬送シミュレータ１０１，１０２間で用紙を受け渡す仮想ローラを定義し、上流の搬送シミュレータが仮想の用紙を生成して搬送シミュレーションを開始し（Ｓ４０３）、上流の搬送シミュレータにおいて用紙が所定位置に到達した時点で上流の搬送シミュレータから下流の搬送シミュレータに用紙のサイズ情報を通知し、上流側の搬送シミュレータにおいて用紙が所定位置を通過するまでの間に、上流の搬送シミュレータから下流の前記搬送シミュレータに用紙に関する受け渡し情報を一定の時間間隔で通知し（Ｓ４０４）、用紙の搬送を再現する。【選択図】図１
2012146119.tif 000002
【特許請求の範囲】
【請求項１】
複数のローラによりシート状の搬送体を搬送する搬送機構の制御設計を、互いに通信可能な複数の搬送シミュレータによる搬送シミュレーションによって支援する設計支援方法であって、
前記搬送シミュレーションは、
前記複数の搬送シミュレータに対して、前記搬送体の搬送パスに基づいて上流側と下流側の位置関係を定義する位置定義ステップと、
前記複数の搬送シミュレータのそれぞれにおいて、前記位置定義ステップで定めた上流側と下流側の関係にしたがって、前記複数の搬送シミュレータ間における搬送体の受け渡しを行う仮想ローラを定義するローラ定義ステップと、
前記位置定義ステップで定められた上流側の搬送シミュレータが、仮想の第１の搬送体を生成し、上流側の搬送シミュレータにおける前記第１の搬送体の搬送シミュレーションを開始する第１のシミュレーション開始ステップと、
前記上流側の搬送シミュレータにおいて前記第１の搬送体が所定位置に到達した時点で、前記上流側の搬送シミュレータから前記位置定義ステップで定められた下流側の搬送シミュレータに前記第１の搬送体に関する第１の搬送体情報を通知する第１の通知ステップと、
前記上流側の搬送シミュレータにおいて前記搬送体が前記所定位置を通過するまでの間に、前記上流側の搬送シミュレータから前記下流側の搬送シミュレータに前記搬送体に関する第２の搬送体情報を所定の時間間隔で通知する第２の通知ステップと、を有することを特徴とする設計支援方法。
【請求項２】
前記搬送シミュレーションは、前記下流側の搬送シミュレータが、前記上流側の搬送シミュレータから通知された前記第１の搬送体情報に基づいて仮想の第２の搬送体を生成し、前記下流側の搬送シミュレータでの前記第２の搬送体の搬送シミュレーションを開始する第２のシミュレーション開始ステップを更に有することを特徴とする請求項１記載の設計支援方法。
【請求項３】
前記搬送シミュレーションは、前記下流側の搬送シミュレータが、前記上流側の搬送シミュレータから通知された前記第２の搬送体情報に基づいて、前記第２の搬送体の搬送量を算出する算出ステップを更に有することを特徴とする請求項２記載の設計支援方法。
【請求項４】
前記所定位置は、前記上流側の搬送シミュレータにおける前記第１の搬送体の搬送パスの終端位置であることを特徴とする請求項１乃至３のいずれか１項に記載の設計支援方法。
【請求項５】
前記第１の搬送体情報は、前記第１の搬送体のサイズを示す情報を含むことを特徴とする請求項１乃至４のいずれか１項に記載の設計支援方法。
【請求項６】
前記第１の搬送体情報は、更に前記第１の搬送体の種類を示す情報を含むことを特徴とする請求項５記載の設計支援方法。
【請求項７】
前記第１の搬送体情報は、更に前記第１の搬送体の受け渡し速度を示す情報を含むことを特徴とする請求項５又は６記載の設計支援方法。
【請求項８】
前記第２の搬送体情報は、前記第１の搬送体の受け渡し速度を示す情報を含むことを特徴とする請求項１乃至７のいずれか１項に記載の設計支援方法。
【請求項９】
前記第２の搬送体情報は、前記第１の搬送体の移動量を示す情報を含むことを特徴とする請求項１乃至７のいずれか１項に記載の設計支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機構制御設計を支援する設計支援方法に関し、より詳細には、シート状の搬送体を搬送する搬送機構を制御するためのソフトウェアの設計支援方法に関する。
【背景技術】
【０００２】
シート状の搬送体を搬送するための搬送制御が、従来から様々な分野で行われている。例えば、画像形成装置では、画像記録材である用紙をローラやガイド等を備える搬送機構によって搬送している。その際に、用紙をただ一方向に等速で搬送すればよい場合は稀であり、搬送途中で用紙を停止させる停止制御や搬送経路を切り替える分岐制御、搬送方向を変える反転制御等の様々な制御が必要である。
【０００３】
このような様々な制御を実行するためには、搬送機構を制御するためのソフトウェアが不可欠である。例えば、用紙に両面プリントを実行するためには、用紙表面へのプリントが終了した用紙の進行方向を変える反転制御を行って、用紙を再度プリント位置に循環させ、用紙裏面へのプリントを行うソフトウェアが必要となる。
【０００４】
このような用紙の進行方向を変える反転制御では、先ず、用紙の端部を検知するセンサからの出力信号の変化から用紙位置を算出する。続いて、算出された用紙位置に基づいて用紙を所定位置で停止させ、その間にフラッパの向きを切り替え、ローラを逆回転させて用紙搬送方向を変えるといった一連の制御が行われる。
【０００５】
画像形成装置においては、このような制御を様々な用紙サイズに対して実行可能にする必要があり、これを機械的及び電気的なハードウェア構成のみで実現することは極めて困難であり、ソフトウェアによる制御が必須である。これまでは、各種の制御を実現するためのソフトウェアの作り込みを、実機（試作機）を作製し、実際に実機を動かしながら行ってきた。
【０００６】
図１１は、従来技術に係る、用紙搬送制御に焦点を置いた画像形成装置（実機）の制御ブロック図である。この画像形成装置１６は、プログラム制御部１１０９と用紙搬送デバイス部１１１０とから構成されている。ＣＰＵ１１０１がＲＯＭ１１０２に記録されたプログラムをＲＡＭ１１０３の作業領域に展開し、プログラムコードにしたがってセンサ１１０７からの入力信号に基づいてモータ１１０４、クラッチ１１０５及びフラッパ１１０６を制御する。その結果、用紙は、モータ１１０４により直接駆動され又はクラッチ１１０５を介して駆動されるローラ１１０８によって搬送される。
【０００７】
このような画像形成装置に対して高機能・高生産性が求められ、これに応じるように画像形成装置を制御する制御装置は複雑になり、それらを制御するためのソフトウェアも高度化・複雑化してきた。制御装置の高度化・複雑化は、試作機を仕立てるためのコスト及び試作機をメンテナンスする際の負荷の増加と、制御ソフトウェアの複雑化を招いた。そして、制御ソフトウェアが複雑化したことで、開発過程で不具合が発見された場合の原因特定のための工数、および不具合に対処するための工数が増大した。
【０００８】
更に、試作機がメンテナンスされている間はソフトウェアの開発が停滞してしまうという問題があった。加えて、ソフトウェアの不具合が試作機にダメージを与えた場合、想定外のメンテナンスが必要になるという問題があった。このような悪い面での相互作用が製品開発のコスト・日程に悪影響を与えるようになってきていた。
【０００９】
そこで、近年の汎用コンピュータ（ＰＣ）の演算性能の向上を背景に、搬送機構の設計にシミュレーション技術を用いる機会が増えてきた。例えば、搬送機構や搬送される用紙の挙動について物理演算を元にシミュレートし、搬送機構に存在する欠陥を発見するシステム等が提案されている（例えば特許文献１参照）。
【００１０】
また、画像形成装置（実機）を動作させるための用紙搬送制御プログラムをＰＣ上での数値計算として検証可能なシステムも提案されている（例えば特許文献２参照）。このシステムでは、実際の画像形成装置の本体断面図や機械的構成に基づいて用紙の搬送経路である搬送パスの情報や搬送パスに関連したローラやセンサ等の位置情報及び搬送される用紙の情報をデータ化し、作成したデータをプログラムに組み込んでいる。
【００１１】
図１２は、従来技術に係る、用紙搬送制御を汎用ＰＣ上でシミュレートする検証システムの制御ブロック図である。検証システム（汎用ＰＣ１２００）では、ＣＰＵ１２０１が、ＨＤＤやＲＡＭ等のメモリ１２０２に記録されたプリンタプログラムコード１２０３に従ってプリンタアプリケーション１２０５を実行する。なお、プリンタアプリケーション１２０５のプリンタプログラムコード１２０３は、画像形成装置（実機）を制御するためのプログラムソースを元にＰＣ用に作成されたアプリケーションである。ＣＰＵ１２０１はまた、プリンタデータ１２０４を用い、プログラムコードである用紙搬送シミュレータ（仮想プリンタ）１２０６と通信しながら処理を進めることによって、用紙搬送制御をシミュレートする。
【００１２】
仮想プリンタ１２０６では、実機構成を反映させて搬送パスをデータ化する（仮想パス１２０７）。そして、搬送ローラ、フラッパ、センサをそれぞれ、仮想パス１２０７に関連付けて、仮想ローラ１２０８、仮想フラッパ１２０９、仮想センサ１２１０としてデータ化し、定義する。プリンタアプリケーション１２０５からの要求に応じて仮想の用紙のデータが生成され、仮想ローラ１２０８の回転要求に応じて仮想用紙の位置情報が更新される。また、仮想フラッパ１２０９の切り替え要求に基づいて仮想用紙の属する仮想パス１２０７が更新される。更に、演算された仮想用紙の位置情報と仮想パス１２０７に関連づけられた仮想センサ１２１０の位置情報とに基づいて、プリンタアプリケーション１２０５に仮想センサ１２１０の状態が通知される。プリンタアプリケーション１２０５では、実機制御と同様に、仮想センサ１２１０からの入力情報に基づいて仮想ローラ１２０８、仮想フラッパ１２０９を制御する。
【００１３】
用紙搬送制御のソフトウェア開発においては特に、これらの設計支援環境が充実することにより、実際に試作機を動かさなくてもソフトウェアの作り込みが可能となる。したがって、試作機台数を削減することができ、また試作機の保守に係る負荷の軽減が期待できる。
【００１４】
一方で、昨今の画像形成装置を取り巻く環境の一つとして、システム規模の増大が挙げられる。例えば、画像形成装置単体ではなく、独立に制御される前処理装置や後処理装置と連係動作させた用紙搬送処理が重要となってきている。
【００１５】
具体的には、１台又は複数台の給紙デッキを画像形成装置の上流側（前段）に外付けで連結し、給紙デッキから画像形成装置へ用紙を給紙することで、大量部数のプリントジョブの実行を可能にしている。また、出力束の中に別の出力紙を中差しするインサータや、出力束を綴じるための穴空けを行うパンチャ、出力紙に折り目を付けるための折り機、束出力するためのフィニッシャ等を後処理装置として画像形成装置の下流側（後段）に接続する。画像形成装置にこのような給紙デッキや後処理装置と組み合わせてシステムを拡張することにより、インラインで多彩なプリント処理を実行することが可能になる。
【００１６】
図１３は、従来技術に係る、画像形成装置であるプリンタの上流側に給紙デッキを、プリンタの下流側にフィニッシャをそれぞれ接続した画像形成システム（実機）における制御ブロック図であり、ここでは用紙の搬送制御に焦点が置かれている。プリンタ１６、給紙デッキ１４及びフィニッシャ１５の各々は、図１１で示したブロック構造となっている。また、プリンタ１６、給紙デッキ１４及びフィニッシャ１５は、ＣＰＵ１１０１に接続された通信部１３０１を介してコマンドや状態の通信を相互に行い、これにより連係動作が可能となっている。
【００１７】
図１４は、従来技術に係る、画像形成システム（実機）において上流側と下流側の関係にある２つのデバイス間で用紙の受け渡す動作を模式的に示す図である。例えば、上流側のデバイスは給紙デッキであって、下流側のデバイスはプリンタである。図１４において、搬送パス上の太線部分は用紙を、太線で表現されているローラは駆動状態にあることを、太線で表現されているセンサは用紙の検知状態にあることを、それぞれ示している。
【００１８】
図１４（ａ）は、上流デバイス１４０１内で用紙Ｎが排紙ローラ１４０４によって搬送され、その先端が排紙センサ１４０５に到達した状態を示している。この時点で、上流デバイス１４０１から下流デバイス１４０２に対して「これから用紙受け渡しを行うこと」を示す「用紙搬送通知」コマンドが送られる。
【００１９】
図１４（ｂ）は、下流デバイス１４０２が「用紙搬送通知」コマンドを受けて外部給紙ローラ１４０７の回転制御を開始させた状態を示している。その間に、用紙Ｎの先端は上流デバイス１４０１を通過して下流デバイス１４０２に進入している。ここで、下流デバイス１４０２の外部給紙ローラ１４０７の回転速度は、予め定められている用紙の受け渡し速度に合うように制御される。
【００２０】
図１４（ｃ）は、上流デバイス１４０１の排紙ローラ１４０４によって搬送されている用紙Ｎの先端が、下流デバイス１４０２の外部給紙センサ１４０６に到達した状態を示している。この時点で、下流デバイス１４０２から上流デバイス１４０１へ「用紙が到達したこと」を示す「用紙搬送確定」コマンドが送られる。
【００２１】
図１４（ｄ）は、上流デバイス１４０１による用紙Ｎの搬送が終了し、下流デバイス１４０２の外部給紙ローラ１４０７による用紙搬送に切り替わっている状態を示している。この状態では、用紙Ｎの後端が上流デバイス１４０１における排紙センサ１４０５による用紙Ｎの検出位置を抜けているので、用紙Ｎの受け渡し処理は終了している。
【００２２】
このように複数のデバイスを連係動作させる場合、自デバイス単体での動作検証では問題が無くとも、連係動作をさせた場合に不具合を生じる可能性がある。このとき、別のデバイスの動作状況を受けて自デバイスにおける動作タイミングを調整する必要が生じ、その動作タイミングの調整幅が自デバイス単体では検証不能なレベルとなる可能性がある。
【００２３】
こうして、デバイス単体での動作検証だけでは不十分であり、画像形成システムとして複数のデバイス同士を連係動作させたときの動作検証を行うことが必要になると、動作不具合の発見から原因特定、不具合修正のための工数やコストが増大する。
【００２４】
このような状況に対し、特許文献１記載の技術では、試作機の搬送機構に潜在する不具合の原因特定を行うことができても、搬送機構を制御するソフトウェアに潜在する不具合の特定はできない。また、特許文献２記載の技術では、デバイス単体を制御するソフトウェアに関する動作検証はできても、複数のデバイスから構成される画像形成システムとしての動作検証を行うことができない。
【００２５】
このような問題に対して、画像形成システムを構成する複数のデバイスを個々に独立した用紙搬送シミュレータ上に構築し、用紙搬送シミュレータ同士を連係動作させる設計支援方法が提案されている（例えば特許文献３参照）。この設計支援システムによれば、画像形成システムの開発を効率よく行うことができるとされている。
【００２６】
図１５は、従来技術に係る、複数のデバイスで構成される画像形成システムにおける用紙搬送をシミュレートする検証システムの制御ブロック図であり、ここでは、複数の用紙搬送シミュレータを１台の汎用ＰＣ１５００上で連係動作させている。この検証システムは、図１３に示される、給紙デッキ、プリンタ及びフィニッシャからなる画像形成システムの動作検証を行う構成となっている。
【００２７】
プリンタアプリケーション１２０５のプリンタプログラムコード１２０３、給紙デッキアプリケーション１５０３のプログラムコード１５０１及びフィニッシャアプリケーション１５０７のプログラムコード１５０５はメモリ１２０２内に記録されている。メモリ１２０２は、具体的には、ＨＤＤやＲＡＭ等である。ＣＰＵ１２０１は、これらのアプリケーションを、それぞれに対応付けられたプログラムコードである用紙搬送シミュレータ（仮想給紙デッキ１５０４、仮想プリンタ１２０６、仮想フィニッシャ１５０８）と通信しながら、用紙搬送制御のシミュレーションを進める。
【００２８】
なお、それぞれのアプリケーションは、図１２を参照して説明したものと同等であり、不図示の通信モジュールを介してアプリケーション同士の間でコマンドや状態の通信を可能としている。給紙デッキアプリケーション１５０３／給紙デッキデータ１５０２間、フィニッシャアプリケーション１５０７／フィニッシャデータ１５０６間の各関係は、図１２で説明したプリンタアプリケーション１２０５／プリンタデータ１２０４間の関係と同じである。
【００２９】
図１６は、従来技術（特許文献３に記載された設計支援方法）に係る、複数の用紙搬送シミュレータを１台のＰＣ上で連係動作させるシミュレーション検証システム上での仮想用紙の受け渡しに関する動作説明図である。図１６において、図１４と同様に、搬送パス上の太線部分が用紙を、太線で表現されているローラは駆動状態にあることを、太線で表現されているセンサは用紙の検知状態にあることを示している。但し、図１６に示されるこれらの用紙、搬送パス、ローラ及びセンサはそれぞれ、シミュレーションの対象となる画像形成システム（実機）の構成に基づいて定義された仮想のものである。
【００３０】
最初に、実機の構成に合わせて、複数の用紙搬送シミュレータについて上流側・下流側の関係を定義しておく。上流側用紙搬送シミュレータ（以下「上流側シミュレータ」と記す）１６０１内で、仮想用紙Ｎの位置情報が仮想排紙ローラ１６０４の速度情報に基づいて更新される。
【００３１】
図１６（ａ）は、上流側シミュレータ１６０１において、仮想排紙ローラ１６０４によって搬送される仮想用紙Ｎの先端位置が仮想排紙センサ１６０５に到達した状態が示されている。この時点で、上流側シミュレータ１６０１は、下流側搬送シミュレータ（以下「下流側シミュレータ」と記す）１６０２へ「用紙搬送通知」コマンドを送る。
【００３２】
図１６（ｂ）は、「用紙搬送通知」コマンドを受けた下流側シミュレータ１６０２が仮想外部給紙ローラ１６０９の回転制御を開始した状態を示している。このとき、上流側シミュレータ１６０１では仮想用紙Ｎの先端がダミー排紙ローラ１６０６の位置に到達している。これを受けて、上流側シミュレータ１６０１は、下流側シミュレータ１６０２へ「用紙生成要求」コマンドを送信している。
【００３３】
図１６（ｃ）は、「用紙生成要求」コマンドを受けた下流側シミュレータ１６０２が、ダミー給紙ローラ１６０７の位置に、仮想用紙Ｎに相当する仮想用紙Ｎ′を生成した状態を示している。ここで、ダミー排紙ローラ１６０６とダミー給紙ローラ１６０７はそれぞれ、上流側シミュレータ１６０１と下流側シミュレータ１６０２上の特有のローラであって実機には存在せず、仮想用紙Ｎ，Ｎ′の受け渡し速度に応じた速度で常時回転している。
【００３４】
なお、搬送シミュレータでは、仮想用紙の位置を更新させるための駆動源を仮想ローラのみで定義している。そのため、実機構成のままでは、仮想用紙の後端が仮想排紙ローラを抜けた後や仮想用紙の先端が仮想給紙ローラに到達するまでは、仮想用紙の駆動源がなく、仮想用紙を搬送することができなくなってしまう。このような状況にならないように、ダミーローラが設けられている。
【００３５】
図１６（ｄ）は、下流側シミュレータ１６０２において、ダミー給紙ローラ１６０７によって搬送されている仮想用紙Ｎ′の先端が仮想外部給紙センサ１６０８に到達した状態を示している。この状態で、下流側シミュレータ１６０２は、上流側シミュレータ１６０１へ「用紙搬送確定」コマンドを送信する。
【００３６】
図１６（ｅ）は、上流側シミュレータ１６０１において、仮想用紙Ｎの後端がダミー排紙ローラ１６０６を通過したことを受けて、用紙情報が削除された状態を示しており、この時点で仮想用紙Ｎの排紙及び受け渡し処理が完了したことになる。一方、下流側シミュレータ１６０２では、下流側シミュレータ１６０２内での仮想用紙Ｎ′の搬送シミュレーションが実行されている。
【００３７】
このように、上流側シミュレータ１６０１からの仮想用紙Ｎの排出タイミングで、シミュレータ環境特有の「用紙生成要求」コマンドの発行が行われる。下流側シミュレータ１６０２では、この「用紙生成要求」コマンドを受けて、仮想用紙の生成及び実機のローラでは搬送できない位置での搬送をサポートするダミーローラを用い、仮想用紙Ｎを仮想用紙Ｎ′として受け取る受け渡し動作を実現している。
【先行技術文献】
【特許文献】
【００３８】
【特許文献１】特開平９−８１６００号公報
【特許文献２】特開２００６−１７２０２０号公報
【特許文献３】特開２００９−８３３６６号公報
【発明の概要】
【発明が解決しようとする課題】
【００３９】
しかしながら、上記の設計支援方法では、特定の画像形成システムに対しては効果的であっても、より汎用的な画像形成システムへの展開を考えた場合に問題がある。具体的には、実機環境ではシステム構成や制御タイミング、用紙サイズ等によって、用紙が２つのデバイスの間に跨がった状態で一時停止する場合があり、上記の設計支援方法ではそのような状況に対応することができない。これについて、図１７及び図１８を参照して説明する。
【００４０】
図１７は、画像形成システム（実機）において上流デバイスから下流デバイスへ用紙を受け渡す動作を模式的に示す第１の図である。なお、図１４と同様に、搬送パス上の太線部分は用紙を、太線で表現されているローラは駆動状態にあることを、太線で表現されているセンサは用紙の検知状態にあることを示している。また、図１７に図示されている各要素について、図１４に示される要素と同じものには、図１４と同じ符号を用いている。
【００４１】
図１７（ａ）は、下流デバイス１４０２において先行用紙Ｎ−１が外部給紙ローラ１４０７によって搬送され、用紙センサ１４０８が先行用紙Ｎ−１を検知している状態を示している。また、下流デバイス１４０２において外部給紙センサ１４０６から先行用紙Ｎ−１が抜けたことを受けて、上流デバイス１４０１では、後続用紙Ｎを下流デバイス１４０２に送るために排紙ローラ１４０４を駆動している。ここで、上流デバイス１４０１は、後続用紙Ｎの先端が排紙センサ１４０５に到達したことを受けて、「用紙搬送通知」コマンドを下流デバイス１４０２に送信している。
【００４２】
図１７（ｂ）は、先行用紙Ｎ−１が停止し、これを受けて後続用紙Ｎが上流デバイス１４０１と下流デバイス１４０２との間に跨がって一時停止している状態を示している。これは、後続用紙Ｎの先端位置を確定することができるように、後続用紙Ｎの先端が外部給紙センサ１４０６に到達してから後続用紙Ｎを停止させる制御を行っているためである。
【００４３】
図１７（ｃ）は、先行用紙Ｎ−１の搬送が再開され、これを受けて下流デバイス１４０２から上流デバイス１４０１へ後続用紙Ｎの搬送再開を促すコマンドが送信された状態を示している。図１７（ｄ）は、上流デバイス１４０１が、下流デバイス１４０２からの後続用紙Ｎの搬送再開を促すコマンドを受けて、後続用紙Ｎの搬送再開させた状態を示している。このように、実機環境では、特に問題なく用紙搬送を再開させることができる。
【００４４】
図１８は、画像形成システム（実機）において上流デバイスから下流デバイスへ用紙を受け渡す動作を模式的に示す第２の図である。なお、図１４と同様に、搬送パス上の太線部分は用紙を、太線で表現されているローラは駆動状態にあることを、太線で表現されているセンサは用紙の検知状態にあることを示している。また、図１８に図示されている各要素について、図１４に示される要素と同じものには、図１４と同じ符号を用いている。
【００４５】
図１８（ａ）は図１７（ａ）と同等であるので、ここでの説明を省略する。但し、ここでは、３枚の用紙Ｎ−２，Ｎ−１，Ｎがこの順序で搬送される形態を取り扱うため、図１８（ａ）には、用紙Ｎ−２，Ｎ−１の搬送状態が示されている。
【００４６】
図１８（ｂ）は、下流デバイス１４０２による用紙Ｎ−１の搬送が開始され、上流デバイス１４０１では用紙Ｎの搬送が行われている状態が示されている。この状態から図１８（ｃ）に示されるように、何らかの理由によって下流デバイス１４０２が用紙Ｎ−１の搬送を一時停止させた場合において、用紙Ｎ−１の後端が上流デバイス１４０１に残った状態となることがある。
【００４７】
この場合も、図１８（ｄ）に示されるように、下流デバイス１４０２での用紙Ｎ−１の搬送が再開されると、上流デバイス１４０１での用紙Ｎの搬送が再開される。その後、図１８（ｅ）に示されるように、実質的に図１８（ａ）と同じ用紙搬送状態となる。よって、この場合も図１７に示した場合と同様に、実機環境では特に問題なく、用紙搬送を再開させることができる。
【００４８】
これら図１７及び図１８に示した状況を従来の搬送シミュレータ上で発生させたときにどのような問題が生じるかについて、それぞれ、図１９及び図２０を参照して説明する。
【００４９】
図１９は、複数の搬送シミュレータを連係動作させる搬送シミュレーション検証システムにおける、上流側シミュレータから下流側シミュレータへの仮想用紙の受け渡しに関する動作を模式的に示す第１の図である。図１９では、図１６と同様に、仮想搬送パス上の太線部分は仮想用紙を、太線で表現されている仮想ローラは駆動状態にあることを、太線で表現されている仮想センサは仮想用紙の検知状態にあることを示している。また、図１９に図示されている各要素について、図１６に示される要素と同じものには、図１６と同じ符号を用いている。
【００５０】
図１９（ａ）は、先行する仮想用紙Ｎ′−１の後端が仮想外部給紙センサ１６０８を抜けて、下流側シミュレータ１６０２内にあることを仮想用紙センサ１９０１が検知している状態を示している。図１９（ａ）はまた、上流側シミュレータ１６０１から後続の仮想用紙Ｎをこれから下流側シミュレータ１６０２に受け渡す段階にある状態を示している。なお、この段階は、下流側シミュレータ１６０２に仮想用紙Ｎに相当する仮想用紙Ｎ′を作成させる段階でもあり、仮想用紙Ｎ′の作成は、図１６を参照した説明と同様に行われる。
【００５１】
図１９（ｂ）は、下流側シミュレータ１６０２では、先行する仮想用紙Ｎ′−１が停止し、これを受けて後続の仮想用紙Ｎ′が仮想外部給紙センサ１６０８に到達したことを下流側シミュレータ１６０２が上流側シミュレータ１６０１に通知した状態を示している。よって、上流側シミュレータ１６０１では、この通知を受けて、仮想排紙ローラ１６０４の回転をこれから停止させる段階にある。
【００５２】
しかし、図１９（ｃ）に示されるように、下流側シミュレータ１６０２では仮想用紙Ｎ′の搬送はダミー給紙ローラ１６０７によって行われているため、仮想用紙Ｎ′は停止することなく、仮想用紙Ｎ′の先端が仮想外部給紙ローラ１６０９まで進んでしまう。また、仮想用紙Ｎ′の後端はダミー給紙ローラ１６０７を抜けるまで搬送される。その結果、この時点で、仮想用紙の長さが許容量以上に短くなるという用紙長さ異常が発生する。また、上流側シミュレータ１６０１では、仮想排紙ローラ１６０４による仮想用紙Ｎの搬送は停止するが、ダミー排紙ローラ１６０６による搬送が停止しない。その結果、仮想用紙Ｎの先端位置の更新が進み、用紙長さが許容量以上に長くなるという用紙長さ異常が発生する。
【００５３】
図２０は、複数の搬送シミュレータを連係動作させる搬送シミュレーション検証システムにおける、上流側シミュレータから下流側シミュレータへの仮想用紙の受け渡しに関する動作を模式的に示す第２の図である。図２０でも、図１６及び図１９と同様に、仮想搬送パス上の太線部分は仮想用紙を、太線で表現されている仮想ローラは駆動状態にあることを、太線で表現されている仮想センサは仮想用紙の検知状態にあることを示している。また、図２０に図示されている各要素について、図１６又は図１９に示される要素と同じものには、図１６と同じ符号を用いている。
【００５４】
図２０（ａ）は、先行する仮想用紙Ｎ′−１の後端が下流側シミュレータ１６０２内にあり、上流側シミュレータ１６０１から後続の仮想用紙Ｎを下流側シミュレータ１６０２にこれから受け渡す段階を示している。図２０（ｂ）は、上流側シミュレータ１６０１から下流側シミュレータ１６０２へ仮想用紙Ｎ（仮想用紙Ｎ′）の受け渡しの途中段階を示している。この段階では、上流側シミュレータ１６０１では、仮想用紙Ｎの後続の仮想用紙Ｎ＋１の搬送も行われている。
【００５５】
図２０（ｃ）では、下流側シミュレータ１６０２において仮想用紙Ｎの搬送を一時停止させ、そのことを上流側シミュレータ１６０１に通知している。この通知に対して上流側シミュレータ１６０１では、仮想用紙Ｎに対しては既に仮想排紙ローラ１６０４を通過しているため特に処理はなく、仮想用紙Ｎ＋１を停止させる制御が行われる。
【００５６】
その結果、図２０（ｄ）に示されるように、下流側シミュレータ１６０２では、仮想用紙Ｎ′の後端がダミー給紙ローラ１６０７によって搬送が進み、用紙長さが許容量以上に短くなるという用紙長さ異常が発生する可能性がある。一方、上流側シミュレータ１６０１では、仮想用紙Ｎ＋１は停止するが、本来は上流側シミュレータ１６０１内に残るべきである仮想用紙Ｎの後端がダミー排紙ローラ１６０６によって排紙されてしまい、実機とは異なる挙動となることがある。
【００５７】
このような問題への対策の１つとして、ダミー排紙ローラ１６０６は仮想排紙ローラ１６０４と、ダミー給紙ローラ１６０７は仮想外部給紙ローラ１６０９と、それぞれ連動するようにシミュレータ環境を制御する対応が考えられる。
【００５８】
しかし、排紙に関しては、仮想排紙ローラ１６０４を仮想用紙Ｎ′が抜けた後も、仮想用紙Ｎ′がダミー排紙ローラ１６０６を抜けるまでは仮想排紙ローラ１６０４の回転を止められないため、仮想排紙ローラ１６０４の停止タイミングを変える必要がある。また、給紙に関しては、ダミー給紙ローラ１６０７を回転させておかないと、仮想外部給紙ローラ１６０９まで仮想用紙Ｎ′が搬送されて来ない。そのため、仮想外部給紙ローラ１６０９の回転開始タイミングよりも早めにダミー給紙ローラ１６０７の回転を始めて、ダミー給紙ローラ１６０７による仮想用紙Ｎ′の搬送が行われるようにする必要がある。すなわち、これらのいずれの場合でも、実機環境とシミュレータ環境とで制御のタイミングを変更しなければならないことが問題となる。
【００５９】
一方、ダミー排紙ローラ１６０６とダミー給紙ローラ１６０７とを含めて、デバイスアプリケーション側で制御する方法も考えられるが、この場合も、実機制御用のプログラムコード内に搬送シミュレータ環境独自の制御が混在してしまうという問題がある。
【００６０】
本発明は、実機においてシート状の搬送体が装置間に跨がった状態や一時停止した状態等を搬送シミュレータ上で忠実に再現する搬送シミュレーションにより搬送体の搬送機構を制御するソフトウェアの設計支援方法を提供することを目的とする。
【課題を解決するための手段】
【００６１】
本発明に係る設計支援方法は、複数のローラによりシート状の搬送体を搬送する搬送機構の制御設計を、互いに通信可能な複数の搬送シミュレータによる搬送シミュレーションによって支援する設計支援方法であって、前記搬送シミュレーションは、前記複数の搬送シミュレータに対して、前記搬送体の搬送パスに基づいて上流側と下流側の位置関係を定義する位置定義ステップと、前記複数の搬送シミュレータのそれぞれにおいて、前記位置定義ステップで定めた上流側と下流側の関係にしたがって、前記複数の搬送シミュレータ間における搬送体の受け渡しを行う仮想ローラを定義するローラ定義ステップと、前記位置定義ステップで定められた上流側の搬送シミュレータが、仮想の第１の搬送体を生成し、上流側の搬送シミュレータにおける前記第１の搬送体の搬送シミュレーションを開始する第１のシミュレーション開始ステップと、前記上流側の搬送シミュレータにおいて前記第１の搬送体が所定位置に到達した時点で、前記上流側の搬送シミュレータから前記位置定義ステップで定められた下流側の搬送シミュレータに前記第１の搬送体に関する第１の搬送体情報を通知する第１の通知ステップと、前記上流側の搬送シミュレータにおいて前記搬送体が前記所定位置を通過するまでの間に、前記上流側の搬送シミュレータから前記下流側の搬送シミュレータに前記搬送体に関する第２の搬送体情報を所定の時間間隔で通知する第２の通知ステップと、を有することを特徴とする。
【発明の効果】
【００６２】
本発明によれば、実機において搬送体を搬送する装置間で搬送体が跨がった状態や搬送体が一時停止した状態を、搬送シミュレータ上で忠実に再現させることができる。
【図面の簡単な説明】
【００６３】
【図１】本発明の第１実施形態に係る設計支援システムの制御ブロック図である。
【図２】図１の設計支援システムが備える表示制御部によってディスプレイ上に表示される搬送シミュレーション画面の例を示す図である。
【図３】図１の設計支援システムを構成する搬送シミュレータにおけるアプリケーション部、用紙搬送シミュレーション部及び外部Ｉ／Ｆ部の相互の接続関係を示す図である。
【図４】画像形成システムを構成する装置間で用紙の受け渡しをする際の上流側の装置における用紙搬送制御をシミュレートする上流側シミュレータでの処理の流れを示すフローチャートである。
【図５】画像形成システムを構成する装置間で用紙の受け渡しをする際の下流側の装置における用紙搬送制御をシミュレートする下流側シミュレータでの処理の流れを示すフローチャートである。
【図６】仮想用紙が搬送シミュレータ間での受け渡し途中で一時停止することがない正常系のタイミングシーケンスを模式的に示す図である。
【図７】仮想用紙が搬送シミュレータ間での受け渡し途中で一時停止する異常系のタイミングシーケンスの第１の例を模式的に示す図である。
【図８】仮想用紙が搬送シミュレータ間での受け渡し途中で一時停止する異常系のタイミングシーケンスの第２の例を模式的に示す図である。
【図９】図６〜８のタイミングシーケンスで記述された仮想用紙の受け渡し情報の一例を示す図である。
【図１０】本発明の第２実施形態に係る設計支援システムの制御ブロック図である。
【図１１】従来技術に係る、用紙搬送制御に焦点を置いた画像形成装置（実機）の制御ブロック図である。
【図１２】図１２は、従来技術に係る、用紙搬送制御を汎用ＰＣ上でシミュレートする検証システムの制御ブロック図である。
【図１３】従来技術に係る、画像形成装置であるプリンタの上流側に給紙デッキを、プリンタの下流側にフィニッシャをそれぞれ接続した画像形成システム（実機）における制御ブロック図である。
【図１４】従来技術に係る、画像形成システム（実機）において上流側と下流側の関係にある２つのデバイス間で用紙の受け渡す動作を模式的に示す図である。
【図１５】従来技術に係る、複数のデバイスで構成される画像形成システムにおける用紙搬送をシミュレートする検証システムの制御ブロック図である。
【図１６】従来技術に係る、複数の用紙搬送シミュレータを１台のＰＣ上で連係動作させるシミュレーション検証システム上での仮想用紙の受け渡しに関する動作説明図である。
【図１７】従来技術に係る、画像形成システム（実機）において上流デバイスから下流デバイスへ用紙の受け渡す動作を模式的に示す第１の図である。
【図１８】従来技術に係る、画像形成システム（実機）において上流デバイスから下流デバイスへ用紙の受け渡す動作を模式的に示す第２の図である。
【図１９】複数の用紙搬送シミュレータを連係動作させる搬送シミュレーション検証システムにおける上流側シミュレータから下流側シミュレータへの仮想用紙の受け渡しに関する動作を模式的に示す第１の図である。
【図２０】複数の用紙搬送シミュレータを連係動作させる搬送シミュレーション検証システムにおける上流側シミュレータから下流側シミュレータへの仮想用紙の受け渡しに関する動作を模式的に示す第２の図である。
【発明を実施するための形態】
【００６４】
以下、本発明の実施の形態について添付図面を参照して詳細に説明する。本実施形態では、複数のローラによりシート状の搬送体である用紙を搬送する搬送機構を備える画像形成システムに対して用いられ、この搬送機構の制御設計に有用な搬送シミュレーションを行う設計支援システムを取り上げる。
【００６５】
＜第１実施形態＞
［設計支援システムの構成］
図１は、第１実施形態に係る設計支援システムの制御ブロック図である。この設計支援システムは、１台の汎用コンピュータ（ＰＣ）上で動作する複数の用紙搬送シミュレータ（以下「搬送シミュレータ」と記す）の連係により、画像形成システムを構成する複数の装置における用紙の搬送制御をシミュレーションする。これにより、本実施形態に係る設計支援システムは、実機（現実の画像形成システム）を制御するファームウェアの制御設計を支援する。なお、本実施形態では、現実の画像形成システムは、具体的には、画像形成装置（プリンタ）と、プリンタの上流側に接続された給紙デッキと、プリンタの下流側に接続されたフィニッシャとから成るものとする。
【００６６】
本実施形態に係る設計支援システムは、機構的に同一な３つの搬送シミュレータ１０１，１０２，１０３で構成されている。搬送シミュレータ１０１〜１０３はそれぞれ、アプリケーション部１、用紙搬送シミュレーション部２、外部Ｉ／Ｆ部３、入力監視部４及び表示制御部５を備えている。搬送シミュレータ１０１〜１０３は、それぞれが有する外部Ｉ／Ｆ部３を介して互いに通信可能となっている。
【００６７】
それぞれのアプリケーション部１は、実機用の用紙搬送制御プログラムコードを基にしてＰＣ上で動作するよう作成されたＰＣアプリケーションである。本実施形態では、搬送シミュレータ１０１のアプリケーション部１は給紙デッキアプリケーションであり、搬送シミュレータ１０２のアプリケーション部１はプリンタアプリケーションである。また、搬送シミュレータ１０３のアプリケーション部１はフィニッシャアプリケーションである。それぞれの入力監視部４は、マン・マシン・インターフェイスであるキーボードやマウス等の入力を監視し、対応するアプリケーション部１に動作要求を通知する。
【００６８】
それぞれの用紙搬送シミュレーション部２は、対応するアプリケーション部１と連動し、アプリケーション部１からの指示に従って仮想の用紙を生成し、生成した仮想用紙を仮想のローラの回転に従って仮想の搬送経路（搬送パス）内を移動させる。そして、仮想搬送パス内の仮想用紙の位置に応じて仮想のセンサの出力値を更新し、仮想センサの出力値を対応するアプリケーション部１に通知することで、仮想用紙の搬送シミュレーションを行う。
【００６９】
具体的には、用紙搬送シミュレーション部２は、以下の処理を行う。すなわち、アプリケーション部１から出力される給紙要求を受けて、仮想用紙の用紙情報（詳細は後述する）を生成する。また、アプリケーション部１から出力される仮想ローラの制御コマンドと経過時間とから仮想用紙の移動距離を算出し、算出した移動距離を予め数値化された仮想搬送パスの情報と照らし合わせて仮想用紙の位置情報を更新する。更に、得られた仮想用紙の位置情報と予め数値化された仮想センサの位置情報とから仮想センサの出力値を算出して、アプリケーション部１に入力する。
【００７０】
それぞれの用紙搬送シミュレーション部２の構成は共通しているが、搬送シミュレータ１０１の用紙搬送シミュレーション部２は、給紙デッキに初期化され、仮想給紙デッキとして機能する。搬送シミュレータ１０２の用紙搬送シミュレーション部２は、プリンタに初期化されて仮想プリンタとして機能し、搬送シミュレータ１０３の用紙搬送シミュレーション部２は、フィニッシャに初期化されて仮想フィニッシャとして機能する。つまり、搬送シミュレータ１０１は、仮想給紙デッキ（給紙デッキシミュレータ）であり、搬送シミュレータ１０２は仮想プリンタ（プリンタシミュレータ）であり、搬送シミュレータ１０３は仮想フィニッシャ（フィニッシャシミュレータ）である。
【００７１】
本実施形態に係る設計支援システムは、前述の通り、給紙デッキ／プリンタ／フィニッシャからなる画像形成システムにおける用紙の搬送制御をシミュレーションする。そのため、現実の用紙の搬送パスに基づいて、搬送シミュレータ１０１〜１０３における上流側と下流側の位置関係を定義する必要がある。ここで、仮想給紙デッキは仮想用紙を搬送する仮想搬送パスの最も上流側に位置する。仮想プリンタは、仮想給紙デッキの下流側で仮想フィニッシャの上流側に位置するので、仮想給紙デッキから見れば下流側のシミュレータであるが、仮想フィニッシャから見れば上流側のシミュレータである。仮想フィニッシャは仮想搬送パスの最も下流側に位置する。一方、仮想用紙の受け渡しは、仮想給紙デッキと仮想プリンタとの間、及び、仮想プリンタと仮想フィニッシャとの間で行われる。そこで、以下の説明では、仮想用紙の受け渡しを行う２つの仮想デバイスである搬送シミュレータを、適宜、「上流側シミュレータ」、「下流側シミュレータ」と一般化した称呼により説明を行う。
【００７２】
搬送シミュレータ１０１〜１０３のそれぞれにおいて、外部Ｉ／Ｆ部３は、アプリケーション部１と接続されており、実機環境と同様にアプリケーション部１同士の間での動作連係を同期させるための通信を行う。例えば、上流側シミュレータから下流側シミュレータへの仮想用紙の受け渡しの前後で、上流側シミュレータは下流側シミュレータに仮想用紙の受け入れ準備の開始を要求する。また、仮想用紙の受け渡し後には、下流側シミュレータは上流側シミュレータに仮想用紙の受け取りの完了を通知する。
【００７３】
外部Ｉ／Ｆ部３はまた、用紙搬送シミュレーション部２と接続され、用紙搬送シミュレーション部２同士の間で、主に、仮想用紙の用紙情報の受け渡しに関連した通信を行う。例えば、上流側シミュレータから下流側シミュレータに受け渡される仮想用紙をシミュレートするために、上流側シミュレータの用紙搬送シミュレーション部２から下流側シミュレータの用紙搬送シミュレーション部２へ用紙情報が通知される。
【００７４】
搬送シミュレータ１０１〜１０３が構築されている１台の汎用コンピュータ（ＰＣ）はディスプレイ（不図示）を備えており、表示制御部５は、対応する用紙搬送シミュレーション部２の動作状況や処理結果等をディスプレイに表示する。図２は、それぞれの表示制御部５によってディスプレイ上に表示される搬送シミュレーション画面の例を示す図である。シミュレーション画面Ｗ１，Ｗ２，Ｗ３はそれぞれ、搬送シミュレータ１０１，１０２，１０３でのシミュレーション画面である。
【００７５】
シミュレーション画面Ｗ１は、データとしての仮想用紙を生成する仮想給紙デッキである搬送シミュレータ１０１の機械的構成と仮想用紙の搬送シミュレーションの進行状態を示している。シミュレーション画面Ｗ３は、仮想用紙を削除する仮想フィニッシャである搬送シミュレータ１０３の機械的構成と仮想用紙の搬送シミュレーションの進行状態を示している。シミュレーション画面Ｗ２は、仮想給紙デッキから渡された仮想用紙を仮想フィニッシャに渡す仮想プリンタである搬送シミュレータ１０２の機械的構成と仮想用紙の搬送シミュレーションの進行状態を示している。
【００７６】
なお、図２では、個別に表示されるこれらのシミュレーション画面Ｗ１〜Ｗ３を便宜的に横に並べて示している。また、シミュレーション画面Ｗ１〜Ｗ３では、仮想搬送パスが点線、仮想ローラが丸、仮想センサが三角、仮想用紙が実線で、それぞれ示されている。
【００７７】
図３は、搬送シミュレータ１０１〜１０３のそれぞれにおけるアプリケーション部１、用紙搬送シミュレーション部２及び外部Ｉ／Ｆ部３の相互の接続関係を示す図である。アプリケーション部１は、ファームソフトウェア部１０と、ラッパー部１１と、入力Ｉ／Ｆモジュール１２と、出力Ｉ／Ｆモジュール１３とを有する。ファームソフトウェア部１０は、実機（現実の画像形成装置又は周辺装置）での用紙の搬送制御を行うためのソフトウェアである。
【００７８】
ラッパー部１１は、実機（現実の画像形成装置又は周辺装置）のファームソフトウェアをＰＣ上で動作させる。入力Ｉ／Ｆモジュール１２は、入力監視部４、用紙搬送シミュレーション部２及び外部Ｉ／Ｆ部３からの情報をファームソフトウェア部１０に入力する。出力Ｉ／Ｆモジュール１３は、ファームソフトウェア部１０からの情報を用紙搬送シミュレーション部２又は外部Ｉ／Ｆ部３に出力する。
【００７９】
用紙搬送シミュレーション部２は、用紙位置計算部２０と、入力Ｉ／Ｆモジュール２１と、出力Ｉ／Ｆモジュール２２と、用紙位置表示画像生成部２３とを有している。入力Ｉ／Ｆモジュール２１は、アプリケーション部１の出力Ｉ／Ｆモジュール１３及び外部Ｉ／Ｆ部３からの出力を受け、仮想用紙の搬送制御に関する制御情報を用紙位置計算部２０へ渡す。
【００８０】
用紙位置計算部２０では、仮想ローラの位置を記憶し、アプリケーション部１又は外部Ｉ／Ｆ部３を介して別の搬送シミュレータから送信されてくる仮想用紙の搬送制御に関する情報に従って、仮想ローラを回転させる。そして、記憶している仮想ローラの位置と回転速度とに基づいて、仮想搬送パス内における仮想用紙の位置を更新し、記憶する。
【００８１】
用紙位置表示画像生成部２３は、用紙位置計算部２０により計算された仮想用紙の位置に基づいて、シミュレーション画面（例えば、搬送シミュレータ１０１ではシミュレーション画面Ｗ１）を更新し、表示制御部５に対して表示を行うように指示する。出力Ｉ／Ｆモジュール２２は、用紙位置計算部２０が計算した仮想用紙の位置情報をアプリケーション部１の入力Ｉ／Ｆモジュール１２に与える。また、出力Ｉ／Ｆモジュール２２は、仮想用紙が所定位置に到達したときに、用紙情報を外部Ｉ／Ｆ部３のネットワーク出力Ｉ／Ｆ部３１に与える。
【００８２】
外部Ｉ／Ｆ部３は、ネットワーク入力Ｉ／Ｆ部３０と、ネットワーク出力Ｉ／Ｆ部３１とを有している。ネットワーク入力Ｉ／Ｆ部３０は、他の搬送シミュレータから送られてくるコマンドを受信し、受信したコマンドがアプリケーションの同期に関連するコマンドである場合には、受信したコマンドをアプリケーション部１の入力Ｉ／Ｆモジュール１２に渡す。また、ネットワーク入力Ｉ／Ｆ部３０は、搬送シミュレーションの同期に関するコマンドを他の搬送シミュレータから受信した場合には、受信したコマンドを用紙搬送シミュレーション部２の入力Ｉ／Ｆモジュール２１に渡す。
【００８３】
ネットワーク出力Ｉ／Ｆ部３１は、アプリケーション部１の出力Ｉ／Ｆモジュール１３から送られてくるコマンドや用紙搬送シミュレーション部２の出力Ｉ／Ｆモジュール２２から送られてくる用紙情報を他の搬送シミュレータに送信する。
【００８４】
［仮想用紙の受け渡しの際の上流側シミュレータにおける搬送シミュレーション］
図４は、現実の画像形成システムを構成する装置間で用紙の受け渡しをする際の上流側の装置における用紙の搬送制御をシミュレートする上流側シミュレータでの処理の流れを示すフローチャートである。なお、図４のフローチャートに従う制御は、概念的には、先に図１６を参照して説明した従来の搬送シミュレータ上での仮想用紙の受け渡しに関する動作と等しい。
【００８５】
図４は、具体的には、仮想給紙デッキである搬送シミュレータ１０１から仮想プリンタである搬送シミュレータ１０２へ仮想用紙を受け渡す際の搬送シミュレータ１０１における制御フローを示している。図４はまた、仮想プリンタである搬送シミュレータ１０２から仮想フィニッシャである搬送シミュレータ１０３へ仮想用紙を受け渡す際の搬送シミュレータ１０２における制御フローでもある。
【００８６】
用紙の搬送制御をシミュレートする処理では、先ず、シミュレータ環境を初期化する（ステップＳ４０１）。本実施形態では、ステップＳ４０１には、用紙の搬送パスに基づいて、それぞれの搬送シミュレータ１０１〜１０３において、上流側と下流側の位置関係を定義する位置定義ステップが含まれるものとする。また、ステップＳ４０１には、搬送シミュレータ１０１〜１０３のそれぞれにおいて、仮想用紙を搬送する搬送機構としての仮想ローラを定義するローラ定義ステップが含まれるものとする。なお、これらの定義ステップは、シミュレータ環境の初期化前に行われていてもよい。
【００８７】
そして、給紙要求を示すコマンド（給紙要求コマンド）を待つ（ステップＳ４０２）。給紙要求コマンドを受けると、上流側シミュレータ内で搬送される仮想用紙（第１の搬送体）の用紙情報（第１の搬送体情報）を生成し（ステップＳ４０３）、搬送シミュレーションを開始する（ステップＳ４０４：第１のシミュレーション開始ステップ）。
【００８８】
搬送シミュレーションの動作中には、所定の時間間隔で仮想用紙が所定位置上に位置しているかを判定する（ステップＳ４０５）。本実施形態では、この所定位置は、上流側シミュレータにおける仮想搬送パスの終端位置である排紙ポイントとする。この排紙ポイントは、現実の給紙デッキ（実機）において用紙が断面図上で機外に排出される排紙位置であり、搬送シミュレータ１０１のシミュレート対象である給紙デッキの機械的構成から一意に求めることができる。なお、排紙ポイントの位置は、先に説明した図１６に示されるダミー排紙ローラ１６０６の位置に該当する。
【００８９】
仮想用紙が排紙ポイントに到達した時点で、作成した用紙情報に基づいて受け渡し情報（第１の搬送体情報）の生成を行い、下流側シミュレータに受け渡し情報の通知を行う（ステップＳ４０６：第１の通知ステップ）。この受け渡し情報には、例えば、仮想用紙の種類、仮想用紙のサイズ及び仮想用紙の受け渡し速度をそれぞれ示す情報の少なくとも一つが含まれる。そして、下流側シミュレータからの応答を待ち（ステップＳ４０７）、応答コマンドを受信したら、応答コマンドに含まれる仮想用紙の移動量に基づいて用紙位置の更新を行う（ステップＳ４０８）。
【００９０】
続いて、搬送シミュレーションを行う（ステップＳ４０９）。このステップＳ４０９の搬送シミュレーションでは、仮想用紙の移動量の算出のみを行い、仮想用紙の位置の更新は行わない点で、ステップＳ４０４の搬送シミュレーションと異なる。仮想用紙が排紙ポイント上に位置している間、上流側シミュレータと下流側シミュレータとの間で受け渡し情報（第２の搬送体情報）の通信が所定の時間間隔で行われる（第２の通知ステップ）。このときの受け渡し情報には、仮想用紙の受け渡し速度を示す情報と仮想用紙の移動量を示す情報の少なくとも一方の情報が含まれる。仮想用紙は、この通信が行われる所定の時間間隔毎に仮想搬送パスを移動する。
【００９１】
ステップＳ４０９の後、処理をステップＳ４０５に戻し、仮想用紙が排紙ポイント上に位置しなくなるまで、仮想用紙の受け渡しに関する処理を継続する。ステップＳ４０５において仮想用紙が排紙ポイント上に位置しなくなると、処理はステップＳ４１０に進められる。このステップＳ４１０では、仮想用紙の排紙が完了したか否かを判定し、排紙が完了していない場合（仮想用紙が排紙ポイントに到達していない場合を含む）には、処理をステップＳ４０４に戻し、排紙が完了した場合には、本処理を終了する。
【００９２】
［仮想用紙の受け渡しの際の下流側シミュレータにおける搬送シミュレーション］
図５は、現実の画像形成システムを構成する装置間で用紙の受け渡しをする際の下流側の装置における用紙の搬送制御をシミュレートする下流側シミュレータでの処理の流れを示すフローチャートである。図５は、具体的には、仮想給紙デッキである搬送シミュレータ１０１から仮想プリンタである搬送シミュレータ１０２に仮想用紙を受け渡す際の搬送シミュレータ１０２における制御フローを示している。図５はまた、仮想プリンタである搬送シミュレータ１０２から仮想フィニッシャである搬送シミュレータ１０３に仮想用紙を受け渡す際の搬送シミュレータ１０３における制御フローでもある。
【００９３】
用紙の搬送制御をシミュレートする処理では、先ず、シミュレータ環境を初期化し（ステップＳ５０１）、上流側シミュレータからの仮想用紙の受け渡し情報（第１の搬送体情報）の通知（第１の通知）である動作開始のコマンドを待つ（ステップＳ５０２）。動作開始コマンドを受け取ると（ステップＳ５０３）、受け渡し情報に基づいて、仮想用紙（第２の搬送体）の用紙情報を作成し、上流側シミュレータに応答コマンドを返し（ステップＳ５０４）、仮想用紙の受け渡し動作のシミュレーションを開始する（第２のシミュレーション開始ステップ）。
【００９４】
仮想用紙の受け渡し動作のシミュレーションとして、本実施形態では、仮想用紙の受け渡しが完了するまでに、受け渡し情報の受信（ステップＳ５０５）、仮想用紙の位置の更新と応答（ステップＳ５０６）、及び搬送シミュレーション（ステップＳ５０７）を繰り返し実行する。
【００９５】
ステップＳ５０５で受け渡し情報を受信したときに仮想用紙が下流側シミュレータ内の外部給紙ローラに到達していた場合、ステップＳ５０６では、外部給紙ローラによる搬送量に基づいて仮想用紙の移動量を算出し、用紙位置を更新する。なお、外部給紙ローラは、先に説明した図１６に記載の仮想外部給紙ローラ１６０９と同等である。ステップＳ５０５で受け渡し情報を受信したときに仮想用紙が下流側シミュレータ内の外部給紙ローラに到達していない場合、ステップＳ５０６では、受け渡し情報内の受け渡し速度を示す情報に基づいて計算された仮想用紙の移動量又は移動量パラメータを仮想用紙の移動量として用紙位置を更新する。そして、適用した仮想用紙の移動量をパラメータとして応答コマンドに設定し、上流側シミュレータに通知する。
【００９６】
搬送シミュレーション（ステップＳ５０７）の間に、下流側シミュレータでの仮想用紙の長さが、受け渡し情報から得られる仮想用紙の長さと同じになった時点で、仮想用紙の受け渡しが完了したと判断する（ステップＳ５０８）。仮想用紙の受け渡しが完了するまで、ステップＳ５０５〜Ｓ５０７の処理が繰り返され、受け渡しが完了すると、受け渡し動作のシミュレーションは終了し、下流側シミュレータ内での搬送シミュレーションへ移る（ステップＳ５０９）。
【００９７】
［搬送シミュレータ間での仮想用紙の受け渡しの際の連係動作］
ここでは、仮想デバイスである上流側シミュレータと下流側シミュレータとの間での仮想用紙を受け渡す際の連係動作について説明する。図６は、仮想用紙が搬送シミュレータ１０１〜１０３間での受け渡し途中で一時停止することがない正常系のタイミングシーケンスを模式的に示す図である。
【００９８】
図６のタイミングシーケンスでは、上流側シミュレータと下流側シミュレータとの間での仮想用紙の受け渡し前後において、仮想用紙の搬送速度を一定とする。また、図６では、上側のラインが上流側シミュレータにおける仮想用紙の先端の移動状況を示し、下側のラインが下流側シミュレータにおける仮想用紙の先端の移動状況を示している。また、図６では、縦軸に給紙開始点からの移動距離を、横軸に動作開始からの時間経過を取っている。
【００９９】
仮想用紙の搬送状態は、フェーズ１、フェーズ２及びフェーズ３に大別することができる。フェーズ１は、仮想用紙全体が上流側シミュレータ内にある状態であり、仮想用紙の受け渡し開始前の状態である。フェーズ２は、仮想用紙が上流側シミュレータと下流側シミュレータとの間で受け渡しされている状態である。フェーズ３は、仮想用紙全体が下流側シミュレータ内にある、用紙受け渡し終了後の状態である。
【０１００】
フェーズ１では仮想用紙全体が上流側シミュレータ内にある。そのため、上流側シミュレータにおける搬送シミュレーションの開始時点（第１のシミュレーション開始ステップ）から、図６中の（１）の時点までの区間が、つまり排紙ポイントに仮想用紙の先端が到達する時点までの区間が、フェーズ１となる。図６中の（１）の時点で下流側シミュレータに用紙の受け渡し情報が通知される（第１の通知ステップ）。下流側シミュレータでは受信した受け渡し情報に基づいて距離０の点に仮想用紙（第２の搬送体）を生成し、図６中の（２）において搬送シミュレーションを開始する（第２のシミュレーション開始ステップ）。
【０１０１】
フェーズ１の後、フェーズ２では、所定の時間間隔で上流側シミュレータから下流側シミュレータに仮想用紙の受け渡し情報が通知される（第２の通知ステップ）。また、下流側シミュレータでは受信した受け渡し情報内の受け渡し速度情報に基づいて計算された仮想用紙の移動量又は移動量パラメータに基づいて仮想用紙の用紙位置を更新し、仮想用紙の移動量を応答コマンドに付加して上流側シミュレータに通知する。上流側シミュレータでは受信した応答コマンド内の仮想用紙の移動量パラメータに基づいて用紙位置を更新する。したがって、フェーズ１の後のフェーズ２の区間では、用紙位置の更新が上流側シミュレータと下流側シミュレータの双方において離散的に行われることとなる。そのため、図６において、フェーズ２は、仮想用紙が直線的に移動するフェーズ１及びフェーズ３とは異なり、仮想用紙の移動は、所定時間の経過毎に大きく移動する階段状のラインで表される。
【０１０２】
上流側シミュレータ内に存在する仮想用紙の長さがゼロ（零：０）となった時点でフェーズ２が終了し、フェーズ３へと移行する。フェーズ３では、仮想用紙全体が下流側シミュレータ内にあるため、仮想用紙の用紙位置の更新は下流側シミュレータのみで処理することができる。したがって、フェーズ３での仮想用紙の移動ラインは、フェーズ１と同様に直線的に表される。
【０１０３】
図７は、仮想用紙が搬送シミュレータ１０１〜１０３間での受け渡し途中で一時停止する異常系のタイミングシーケンスの第１の例を模式的に示す図である。この例は、先に図１９を参照して説明した、受け渡し中の仮想用紙の先端が下流側シミュレータの仮想外部給紙ローラ１６０９に到達していない状態で、仮想用紙が一時停止する場合のタイミングシーケンスを示している。
【０１０４】
なお、仮想用紙の受け渡し途中で仮想用紙は一時停止するが、上流・下流側シミュレータ間での仮想用紙の受け渡しの前後において、図６の場合と同様に、用紙搬送速度を一定とする。また、図７のフェーズ１及びフェーズ３はそれぞれ図６のフェーズ１及びフェーズ３と同じであるため、ここでの説明を省略する。
【０１０５】
フェーズ２では、仮想用紙が上流側シミュレータと下流側シミュレータとの間で受け渡しされているので、所定の時間間隔で上流側シミュレータから下流側シミュレータへ仮想用紙の受け渡し情報が通知されている。ここで、図７中の（３）の時点で上流側シミュレータにおいて用紙搬送が一時停止したとすると、上流側シミュレータから下流側シミュレータに通知される仮想用紙の受け渡し情報内の受け渡し速度又は移動量パラメータはゼロ（零：０）となる。この受け渡し速度又は移動量パラメータがゼロとなっている受け渡し情報を受けた下流側シミュレータでは、仮想用紙の移動（搬送）が停止する。
【０１０６】
その後、図７中の（４）の時点で上流側シミュレータでの仮想用紙の搬送が再開されると、上流側シミュレータから下流側シミュレータに通知される仮想用紙の受け渡し情報内の受け渡し速度又は移動量パラメータがゼロではなくなる。これにより、下流側シミュレータにおける仮想用紙の搬送も再開され、上流・下流側シミュレータ間で同期した仮想用紙の受け渡しが再開される。
【０１０７】
図８は、仮想用紙が搬送シミュレータ１０１〜１０３間での受け渡し途中で一時停止する異常系のタイミングシーケンスの第２の例を模式的に示す図である。この例は、先に図２０を参照して説明した、受け渡し中の仮想用紙の後端が上流側シミュレータの仮想排紙ローラ１６０４通過している状態で仮想用紙が一時停止する場合のタイミングシーケンスを示している。
【０１０８】
なお、図８のタイミングシーケンスでも、上流・下流側シミュレータ間での仮想用紙の受け渡しの前後において、図６の場合と同様に、用紙搬送速度を一定とする。また、図８のフェーズ１及びフェーズ３はそれぞれ図６のフェーズ１及びフェーズ３と同じであるため、ここでの説明を省略する。
【０１０９】
フェーズ２では、仮想用紙が上流側シミュレータと下流側シミュレータとの間で受け渡しされているので、所定の時間間隔で上流側シミュレータから下流側シミュレータへ仮想用紙の受け渡し情報が通知されている。ここで、図８中の（３′）の時点で下流側シミュレータでの仮想用紙の搬送が一時停止したとする。すると、下流側シミュレータでは、上流側シミュレータから指示された仮想用紙の移動量と、受け渡し情報が通知される所定間隔の時間と、用紙搬送が停止した時間の関係とから、前回の移動から停止までの間の仮想用紙の移動量を算出する。そして、算出した移動量を応答コマンドに付加する移動量パラメータとして上流側シミュレータに応答する。
【０１１０】
その結果、上流側シミュレータは、下流側シミュレータから受けた応答コマンド内の、下流側シミュレータにおける用紙搬送の一時停止を示す移動量パラメータにより、上流側シミュレータ内での用紙移動を停止させる。その後、図８中の（４′）の時点で、下流側シミュレータにおける用紙搬送が再開されると、これを受けて下流側シミュレータから上流側シミュレータに通知される応答コマンド内の移動量パラメータもゼロでなくなり、上流側シミュレータでの仮想用紙の搬送が再開される。こうして、上流・下流側シミュレータの間での同期した仮想用紙の受け渡しが実現される。
【０１１１】
［仮想用紙の受け渡し情報］
図９は、図６〜８のタイミングシーケンスで記述された仮想用紙の受け渡し情報の一例を示す図である。この受け渡し情報は、それ自身が用紙情報であることを示すコマンド部（本例では“０ｘＦ１０１”）と、それ以降のデータ量を示すデータサイズ部（本例では“０ｘ０００８”）とを有している。また、この受け渡し情報は、用紙長さ（用紙サイズ）の判定に用いられる用紙コード部と紙種コード部、前回通知からのｍｓ単位での経過時間、経過時間の間の用紙移動量を０．１ｍｍ単位で表した値とを有している。
【０１１２】
本実施形態では、用紙搬送シミュレーション部２が有する用紙位置計算部２０において、用紙コードから対応するサイズ（長さ）の、仮想用紙としての用紙データを生成することになる。なお、送信データサイズを増やして、用紙コード部の代わりに、或いは用紙コード部に追加して、直接に用紙サイズ（長さ、幅）情報を通信するようにしてもよい。
【０１１３】
本実施形態に係る設計支援システムでは、現実の画像形成システムを構成する装置間で実際に用紙が跨がった状態や用紙を一時停止させる制御を、忠実に再現（シミュレーション）することができる。また、装置間での用紙の受け渡し速度が複数ある場合にも対応することができるため、画像形成システムにおける搬送制御ソフトウェアの検証を高精度かつ効率よく行うことができる。
【０１１４】
＜第２実施形態＞
第１実施形態では、現実の画像形成システムを構成する複数の装置における個々の用紙搬送制御をシミュレーションする複数の搬送シミュレータを１台のＰＣ上で動作させていた。その場合、画像形成システムの規模が大きくなったときや画像形成システムを構成する装置の数が増えたときに、より多くの搬送シミュレーションを同時に動作させる必要が生じることがあり、必然的により高速、高価格なＰＣが必要となることがある。或いは、ＰＣのスペックに合うようにシミュレーション動作／精度を落とす必要が生じることもある。
【０１１５】
そこで、本実施形態では、第１実施形態において１台のＰＣ上で複数の搬送シミュレータを動作させる場合でも、個々の搬送シミュレータ間の連係動作はコマンド通信に基づいて処理されていた点に着目する。すなわち、本実施形態では、複数台のＰＣを使用して、搬送シミュレーションをＰＣ連係で実行する。
【０１１６】
図１０は、第２実施形態に係る設計支援システムの制御ブロック図であり、第１実施形態と同様に、給紙デッキ、プリンタ及びフィニッシャの３台の装置をシミュレートする搬送シミュレータ１０１〜１０３で構成されている。本実施形態では、ＰＣ１において２つの搬送シミュレータ１０１，１０２が動作し、ＰＣ２において搬送シミュレータ１０３が動作する。搬送シミュレータ１０１，１０２間では、機内ネットワークを介して通信が可能となっている。また、搬送シミュレータ１０１，１０２と搬送シミュレータ１０３の間では、ＰＣ１，ＰＣ２に付随する汎用ネットワークＩ／Ｆ部１０４を介して通信が可能となっている。
【０１１７】
搬送シミュレータ１０１，１０２，１０３はそれぞれ、機構的に同一であり、第１実施形態で説明した搬送シミュレータ１０１，１０２，１０３と同一である。搬送シミュレータ１０１，１０２，１０３の構成及び搬送シミュレーションの態様（制御フロー、タイミングシーケンス等）もまた第１実施形態の場合と同じであり、既に説明済みであるので、ここでの説明を省略する。
【０１１８】
本実施形態に係る設計支援システムでも、現実の画像形成システムを構成する装置間で実際に用紙が跨がった状態や用紙を一時停止させる制御を、忠実に再現（シミュレーション）することができる。また、装置間での用紙の受け渡し速度が複数ある場合にも対応することができるため、画像形成システムにおける搬送制御ソフトウェアの検証を高精度かつ効率よく行うことができる。
【０１１９】
＜その他の実施形態＞
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。さらに、上述した各実施形態は本発明の一実施形態を示すものにすぎず、各実施形態を適宜組み合わせることも可能である。
【０１２０】
例えば、上記実施形態に係る設計支援システムは、画像形成装置である給紙デッキ（給紙デバイス）、プリンタ（中間デバイス）及びフィニッシャ（排紙デバイス）からなる画像形成システムを想定している。そのため、搬送シミュレータ１０１で給紙デバイス制御を、搬送シミュレータ１０２で中間デバイス制御を、搬送シミュレータ１０３で排紙デバイス制御をそれぞれシミュレーションするとした。
【０１２１】
しかしながら、実際の画像形成システムは、給紙デバイス／中間デバイス／排紙デバイスから成る３台構成に限定されるものではない。例えば、給紙デッキとプリンタとからなる給紙デバイスの場合、「給紙デバイス＋排紙デバイス（フィニッシャ）」の構成が考えられる。また、給紙デッキを重連にした場合、「給紙デバイス＋給紙デバイス＋中間デバイス（プリンタ）＋排紙デバイス（フィニッシャ）」（但し、上流側の給紙デバイスから給紙を行う）のような４台以上から成る構成も考えられる。
【０１２２】
更に、これらの給紙デバイス／中間デバイス／排紙デバイスの定義は概念的であり、一時的なものでもあり、実際に用紙を給紙する給紙段の設定と用紙の排出先である排紙口の設定によって変化する。例えば、前述の給紙デッキを重連させた構成では、プリンタに接続される下流側の給紙デッキは、上流側の給紙デッキからの給紙が行われた場合には中間デバイスとなるが、下流側の給紙デバイスから給紙を行う場合には給紙デバイスとなる。また、フィニッシャを備えない構成であればプリンタは排紙デバイスとなり、給紙段がプリンタの給紙カセットである場合には、プリンタは、給紙デバイスかつ排紙デバイスとなる。したがって、実際の画像形成システムの構成に準じた搬送シミュレータから構成される設計支援システムを構築すればよい。
【０１２３】
また、上記実施形態では、搬送シミュレータ間での用紙の受け渡し情報の通信を所定間隔で行うようにしていたが、これに限られず、用紙が所定距離だけ進んだ時点で通信する構成とすることも可能である。
【０１２４】
本発明は以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【０１２５】
１    アプリケーション部
２    用紙搬送シミュレーション部
３    外部Ｉ／Ｆ部
４    入力監視部
５    表示制御部
１０    ファームソフトウェア部
１１    ラッパー部
１２    入力Ｉ／Ｆモジュール
１３    出力Ｉ／Ｆモジュール
２０    紙位置計算部
２１    入力Ｉ／Ｆモジュール
２２    出力Ｉ／Ｆモジュール
２３    紙位置表示画像生成部
３０    ネットワーク入力Ｉ／Ｆ部
３１    ネットワーク出力Ｉ／Ｆ部
１０１，１０２，１０３    搬送シミュレータ
【図１】
2012146119.tif 000003
【図２】
2012146119.tif 000004
【図３】
2012146119.tif 000005
【図４】
2012146119.tif 000006
【図５】
2012146119.tif 000007
【図６】
2012146119.tif 000008
【図７】
2012146119.tif 000009
【図８】
2012146119.tif 000010
【図９】
2012146119.tif 000011
【図１０】
2012146119.tif 000012
【図１１】
2012146119.tif 000013
【図１２】
2012146119.tif 000014
【図１３】
2012146119.tif 000015
【図１４】
2012146119.tif 000016
【図１５】
2012146119.tif 000017
【図１６】
2012146119.tif 000018
【図１７】
2012146119.tif 000019
【図１８】
2012146119.tif 000020
【図１９】
2012146119.tif 000021
【図２０】
2012146119.tif 000022