(57)【要約】【課題】  デバイスを制御する制御ソフトウェアの検証を効率よく行うこと。【解決手段】  画像形成装置の動作を模擬するためにモデル化された仮想デバイスの動作制御を検証する設計支援方法は、操作要求が入力された仮想デバイスに対し、仮想デバイスの状態に応じて操作が適正か判定するための制御定義情報を参照する参照工程と、参照工程により参照された制御定義情報に基づいて、仮想デバイスの動作が可能か判定する判定工程とを備える。【選択図】  図４
2008065712.tif 000002
【特許請求の範囲】
【請求項１】
画像形成装置の動作を模擬するためにモデル化された仮想デバイスの動作制御を検証する設計支援方法であって、
操作要求が入力された仮想デバイスに対し、当該仮想デバイスの状態に応じて操作が適正か判定するための制御定義情報を参照する参照工程と、
前記参照工程により参照された前記制御定義情報に基づいて、前記仮想デバイスの動作が可能か判定する判定工程と、
を備えることを特徴とする設計支援方法。
【請求項２】
前記判定工程が前記制御定義情報に基づいて前記仮想デバイスの動作が可能であると判定する場合、当該仮想デバイスの動作を演算する演算工程と、
前記演算工程における演算結果を表示手段に表示させる表示制御工程と、
を更に備えることを特徴とする請求項１に記載の設計支援方法。
【請求項３】
前記判定工程が前記制御定義情報に基づいて前記仮想デバイスを動作させることができないと判定する場合、当該判定結果をエラー出力として出力するエラー出力工程を更に備え、
前記表示制御工程は、前記エラー出力工程のエラー出力に基づいて、前記表示手段に前記エラー出力を表示させることを特徴とする請求項２に記載の設計支援方法。
【請求項４】
前記判定工程が前記制御定義情報に基づいて前記仮想デバイスを動作させることができないと判定する場合、前記制御定義情報に操作を継続するための継続設定の定義が含まれているか判定する継続設定判定工程を更に備え、
前記継続設定判定工程が前記操作を継続するための継続設定の定義が前記制御定義情報に含まれていると判定する場合、
前記演算工程は前記継続設定の定義に従い、前記仮想デバイスの動作を演算することを特徴とする請求項２に記載の設計支援方法。
【請求項５】
画像形成装置の動作を模擬するためにモデル化された仮想デバイスの動作制御を検証する設計支援装置であって、
操作要求が入力された仮想デバイスに対し、当該仮想デバイスの状態に応じて操作が適正か判定するための制御定義情報を参照する参照手段と、
前記参照手段により参照された前記制御定義情報に基づいて、前記仮想デバイスの動作が可能か判定する判定手段と、
を備えることを特徴とする設計支援装置。
【請求項６】
前記判定手段が前記制御定義情報に基づいて前記仮想デバイスの動作が可能であると判定する場合、当該仮想デバイスの動作を演算する演算手段と、
前記演算手段による演算結果を表示する表示手段と、
前記表示手段の表示を制御する表示制御手段と、
を更に備えることを特徴とする請求項５に記載の設計支援装置。
【請求項７】
前記判定手段が前記制御定義情報に基づいて前記仮想デバイスを動作させることができないと判定する場合、当該判定結果をエラー出力として出力するエラー出力手段を更に備え、
前記表示制御手段は、前記エラー出力手段のエラー出力に基づいて、前記表示手段に前記エラー出力を表示させることを特徴とする請求項６に記載の設計支援装置。
【請求項８】
前記判定手段が前記制御定義情報に基づいて前記仮想デバイスを動作させることができないと判定する場合、前記制御定義情報に操作を継続するための継続設定の定義が含まれているか判定する継続設定判定手段を更に備え、
前記継続設定判定手段が前記操作を継続するための継続設定の定義が前記制御定義情報に含まれていると判定する場合、
前記演算手段は前記継続設定の定義に従い、前記仮想デバイスの動作を演算することを特徴とする請求項６に記載の設計支援装置。
【請求項９】
請求項１乃至４のいずれかに記載の設計支援方法をコンピュータに実行させることを特徴とする設計支援プログラム。
【請求項１０】
請求項９に記載の設計支援プログラムを格納したことを特徴とするコンピュータ可読の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置の設計支援技術に関するものである。
【背景技術】
【０００２】
画像形成装置を構成する機構はソフトウェアによって制御されている。例えば、記録材をローラやガイドなどの搬送機構によって搬送する際にも、センサの出力に基づいて記録材の位置を検知し、その検知結果に基づいて、記録材の位置決めが制御される。また、フラッパの向きを切り替えたうえでローラを逆回転させて記録材の搬送経路の切り替えが制御される。記録材の停止位置やフラッパの向きの切り替えタイミング、記録材の搬送速度等の制御は、記録材のサイズや種類に合わせて変化させる必要があり、このような複雑な制御を行うためにはソフトウェアによる制御が不可欠となっている。
【０００３】
更に昨今の画像形成装置に於いては、高機能性・高生産性が謳われており、それに伴って画像形成装置を制御するためのソフトウェアはより複雑化している。その結果、制御の不具合が発見されてからその原因を特定するまでの工数、および不具合を解消するためのソフトウェアの修正と修正結果を評価するために要する工数が増大している。
【０００４】
汎用コンピュータの性能向上に伴い、搬送機構等の機構設計にシミュレーション技術を利用する機会も増えてきている。例えば、搬送パス内での搬送体の挙動をシミュレーションにより算出し、搬送機構が有する機構上の欠陥を検出するためのシステムが特許文献１により提案されている。
【０００５】
また、特許文献２においては、キーボード等の入力装置からプリンタ制御ソフトウェアにスイッチのオン／オフやカバーの開閉等の外部イベントを発生させる構成が開示されている。
【０００６】
機構を評価するためのシミュレーションシステムは存在するものの、機構を制御するためのソフトウェアを検証に関するための設計支援技術は未だ少ない状態にある。
【特許文献１】特開平９−８１６００公報
【特許文献２】特開平５−１４３２６０公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
図６は従来技術における画像形成装置における記録材の搬送制御を説明する図である。まず、フラッパ６０１を図中の左方向（矢印６３３方向）に倒したうえで、矢印６１１の方向から搬送されてきた記録材Ｐをローラ６０３で図中の矢印６１５の方向に記録材Ｐを搬送する。記録材Ｐの後端がフラッパ６０１の分岐点を抜けたことをセンサ６０２で検出した後、ローラ６０３の回転を一旦停止させて記録材Ｐの搬送を止める。そして、フラッパ６０１の方向を図中右方向（矢印６３４方向）切り替えた後、ローラ６０３の回転方向を逆向きに変えて、記録材Ｐを矢印６１２の方向に送り出すよう制御する。このようにローラ６０３とフラッパ６０１の動作を、所定のタイミングで切り替えることで、記録材Ｐの搬送方向が切り替えられ、両面印刷時の記録材反転制御が行われる。
【０００８】
その際の注意として、例えば、ローラ６０３を駆動しているモータがステッピングモータであった場合には、モータの回転方向を切り替える際に、一定時間の停止状態を置かなければ脱調するといった制限がある。
【０００９】
あるいはフラッパ６０１の切り替え機構によっては、フラッパの向きを切り替えるクラッチ等を制御してから実際にフラッパ６０１の向きが確実に切り替わるまでに所定の時間のタイムラグがある場合もある。この場合、記録材Ｐの先端がフラッパ６０１に到達する前にフラッパ６０１の切り替え動作が完了していなければならないため、タイムラグを考慮した制御が必要になる。
【００１０】
従来、実機を使った動作検証環境では、ソフトウェアによる制御ミスによりモータが脱調したり、フラッパの切り替えミスで不正なパスに記録材Ｐが送り込まれることでジャムが発生する。動作検証を継続するために、実際にジャムした記録材を取り除く作業が発生したり、その際、実機が故障して動作検証ができなくなるといった点で実機による動作検証は非効率的なものであった。
【００１１】
また、ソフトウェアの制御ミスがあったとしても、それが致命的なものではなく、記録材の搬送制御ができた場合には、ソフトウェアの不具合を抽出することは困難である。後になってソフトウェア不具合が顕在化した場合には、その原因追及とソフトウェアの修正に多くの工数が費やされることになる。
【００１２】
特許文献１の技術では、機械に潜在する不具合の原因は特定できても、それを制御するソフトウェアに潜在する不具合の原因特定はできない。
また、特許文献２の技術では、ソフトウェアに潜在する不具合の発見はできても不具合の原因を特定するまでには至らなかった。
【００１３】
本発明は、上記の従来技術による問題点を鑑みてなされたものであり、デバイスを制御する制御ソフトウェアの検証を効率よく行うことを可能にする設計支援技術の提供を目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成する本発明に係る設計支援方法は、画像形成装置の動作を模擬するためにモデル化された仮想デバイスの動作制御を検証する設計支援方法であって、
操作要求が入力された仮想デバイスに対し、当該仮想デバイスの状態に応じて操作が適正か判定するための制御定義情報を参照する参照工程と、
前記参照工程により参照された前記制御定義情報に基づいて、前記仮想デバイスの動作が可能か判定する判定工程と、
を備えることを特徴とする。
【００１５】
あるいは、上記目的を達成する本発明に係る設計支援装置は、画像形成装置の動作を模擬するためにモデル化された仮想デバイスの動作制御を検証する設計支援装置であって、
操作要求が入力された仮想デバイスに対し、当該仮想デバイスの状態に応じて操作が適正か判定するための制御定義情報を参照する参照手段と、
前記参照手段により参照された前記制御定義情報に基づいて、前記仮想デバイスの動作が可能か判定する判定手段と、
を備えることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、デバイスを制御する制御ソフトウェアの検証を効率よく行うことが可能になる。
【発明を実施するための最良の形態】
【００１７】
以下に、図面を参照して、本発明の好適な実施形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
【００１８】
図１は、本発明の実施形態に係る設計支援装置の構成を示すブロック図である。設計支援装置は、画像形成装置の制御ソフトウェアの動作シミュレーションを情報処理装置（パーソナルコンピュータ）（以下、「ＰＣ」と記載する）上で行うことのできる。設計支援装置は、実際の画像形成装置を制御するファームソフトウェア（以下、「ファームウェア」と記載する）の制御タイミングをシミュレーションにより検証するものである。
【００１９】
ソフトウェアシミュレーション部１は、画像形成制御を行うファームウェアをＰＣ上で仮想的に動作させるためのものである。
【００２０】
入力監視部４はマン・マシン・インターフェイスであるキーボード６やマウス７等の入力を監視している。入力監視部４からの実行開始要求を受けて、ソフトウェアシミュレーション部１は、ファームウェアのシミュレーションを開始する。
【００２１】
ソフトウェアシミュレーション部１によるファームウェアのシミュレーションの実行結果は、逐次、機構シミュレーション部２に入力される。機構シミュレーション部２は、例えば、記録材の位置に関するシミュレーションの場合、記録材搬送制御に関わるローラの速度等から記録材が記録材搬送機構内のどの部位に存在するかを計算により求めることが可能である。また、記録材上に形成する画像の位置に関しては、画像形成に関わる感光ドラムや中間転写ベルトの径や回転速度等から画像が記録材上のどの部位に転写されるかを計算により求めることが可能である。求められた画像の位置情報は、ソフトウェアシミュレーション部１及び表示制御部５に入力される。
【００２２】
ディスプレイ８は、表示制御部５の制御の下にシミュレーション結果を表示する。
【００２３】
図２は、表示制御部５がＰＣのディスプレイ８上に表示する記録材搬送シミュレーション画面Ｗ１を示す図である。表示制御部５は、記録材搬送シミュレーション画面Ｗ１に、実機を模した記録材搬送パス上で記録材が時間経過に沿ってどのように搬送されているかを表示する。また、表示制御部５は、記録材上のどの領域に画像が転写されるかを、記録材搬送シミュレーション画面Ｗ１に表示する。図２においては、記録材搬送パスを点線、記録材の搬送ローラを丸、記録材を検出するセンサを三角形、記録材Ｐを実線、画像領域を太実線で図示している。
【００２４】
図３は、設計支援装置を構成するソフトウェアシミュレーション部１及び機構シミュレーション部２の構成を示すブロック図である。
【００２５】
ソフトウェアシミュレーション部１は、ファームソフトウェア部１０、ラッパー部１１、入力Ｉ／Ｆ部１２、出力Ｉ／Ｆ部１３から構成される。
【００２６】
ファームソフトウェア部１０は、現実の画像形成装置の画像形成動作を制御するためのファームウェアである。ラッパー部１１は、現実の画像形成装置のファームウェアをＰＣ上で動作させる。入力Ｉ／Ｆ部１２は、機構シミュレーション部２から出力された情報をファームソフトウェア部１０に入力する。出力Ｉ／Ｆ部１３は、ファームソフトウェア部１０からの出力情報を機構シミュレーション部２に入力する。
【００２７】
機構シミュレーション部２は、記録材位置計算部２０、画像計算部２１、制御定義記憶部２２、入力Ｉ／Ｆ部２７、出力Ｉ／Ｆ部２８、記録材位置表示部２９から構成される。
【００２８】
入力Ｉ／Ｆ部２７は、ソフトウェアシミュレーション部１の出力Ｉ／Ｆ部１３からの出力結果を受け付ける部分である。入力Ｉ／Ｆ部２７は、ソフトウェアシミュレーション部１からの記録材搬送制御情報、画像形成制御に関わる画像形成制御情報を記録材位置計算部２０及び画像計算部２１に入力する。
【００２９】
記録材位置計算部２０は、シミュレーション上の仮想デバイスの位置情報を記憶している。記録材位置計算部２０は、例えば、仮想のローラ、仮想のフラッパ、仮想のセンサ等の記録材搬送デバイスに関して記録材搬送経路内の位置情報を記憶している。記録材位置計算部２０は、ソフトウェアシミュレーション部１からの記録材搬送制御情報に従って、仮想のローラを回転させる。そして、記録材位置計算部２０は、記憶している仮想のローラの位置とローラの回転速度に応じて、記録材の搬送経路内における仮想の記録材の位置を計算し、記憶する。また、記録材位置計算部２０は、記録材の搬送経路を仮想のフラッパにより切り替え、シミュレーション上の記録材の位置に対応させて仮想のセンサの出力状態を決定する。
【００３０】
画像計算部２１は、シミュレーション上の仮想デバイスの位置情報を記憶する。画像計算部２１は、例えば、仮想の感光ドラム、仮想の中間転写ベルト等の画像形成デバイスに関して装置内の位置を記憶する。画像計算部２１は、ソフトウェアシミュレーション部１からの画像形成制御情報に従って、シミュレーション上の仮想の感光ドラム、仮想の中間転写ベルトを回転させる。そして、画像計算部２１は、仮想のドラム及び仮想の中間転写ベルトの回転速度と位置関係、及び仮想のレジスタのパラメータや操作タイミング等から仮想の画像位置情報を計算し、記憶する。
【００３１】
制御定義記憶部２２には記録材位置計算部２０及び画像計算部２１において制御される制御デバイスを操作する際に、自デバイスあるいは他のデバイスの状態に応じて操作が適正か判定するための制御定義情報が記憶される。また、制御定義記憶部２２には、シミュレーション処理全体の動作設定が記憶される。シミュレーション処理全体の動作設定とは、例えば、シミュレーション動作中にエラーが発生した場合にそこで処理を終了するか、あるいはエラー情報は残して処理を継続するかの設定が含まれる。
【００３２】
次に、制御定義記憶部２２に記憶される制御定義情報の一例を説明する。本実施形態においては、予めファイルに記述した制御定義を機構シミュレーション部２に読み込ませることで、制御定義情報を制御定義記憶部２２に記憶させることができる。
【００３３】
例１． ((reverse MOTOR100) (past (stop MOTOR100) 50))
例１は、両面印刷を行う際に記録材反転制御を行うために、記録材を搬送経路で停止させた後、モータを反転駆動させる場合の制御定義情報を示す。記録材位置計算部２０は、モータの操作条件による制御定義情報により、モータの操作に先立って操作タイミングが適正であるか判定することが可能である。
【００３４】
「(reverse MOTOR100)」は、制御対象となるデバイスの指定とその操作を定義する。例１では、「モータ（MOTOR）100」が制御対象であり、操作は「反転駆動（reverse）」であることが定義されている。
【００３５】
「(past (stop MOTOR100) 50)」は、制御対象（モータ（MOTOR）100）の操作が適正であるための条件を定義している。ここでは、「モータ100の反転駆動を開始するためには、モータ100の停止時間が５０ｍｓ以上経過していなければならない」ことを定義している。
【００３６】
例えば、モータ100の反転駆動開始のタイミングとして、モータ100の停止時間がシミュレーション上５０ｍｓ未満の時間の場合、記録材位置計算部２０は反転駆動開始できないと判定する。
【００３７】
例２． ((up MOTOR200) !(down MOTOR200))
例２は、モータがパルスモータの場合、加減速による脱調の可能性を考慮して、そのような減速→加速（あるいは加速→減速）の操作を禁止するための制御定義情報の例を示す。
【００３８】
「((up MOTOR200))は、制御対象となるデバイスが「モータ（MOTOR）200」であり、操作は「加速（up）」であることが定義されている。
【００３９】
「!(down MOTOR200)」は、制御対象（モータ（MOTOR）200）の操作が適正であるための条件を定義している。ここでは、「モータ200が加速駆動を開始するためには、モータ200が減速状態であってはならない」ことを定義している。
【００４０】
減速状態から加速の開始、加速状態から減速の開始となるような場合、記録材位置計算部２０は、適正なモータ駆動でないと判定する。
【００４１】
例３． ((reverse MOTOR100) (and (past (stop MOTOR100) 50) (past (on FLAPPER150) 20)))
例３は、例１に対して「フラッパの条件」を追加してモータ100の反転駆動操作を許可する制御定義情報の例を示す。
【００４２】
「モータ100の反転駆動を開始するためには、モータ100の停止が５０ｍｓ以上経過していなければならないこと、及び（and）フラッパ150をオンしてから２０ｍｓ以上経過していなければならない」ことを定義している。
【００４３】
例えば、モータ100の反転駆動開始のタイミングとして、モータ100の停止時間がシミュレーション上５０ｍｓ未満又はフラッパ150をオンしてから２０ｍｓ未満の場合、記録材位置計算部２０は反転駆動開始できないと判定する。
【００４４】
例４.((stop MOTOR200) (and !(down MOTOR200) (past (constant MOTOR200) 50)) ((constant MOTOR200) (past 50) (stop MOTOR200)))
例４は、操作の禁止の条件と、操作が禁止された場合に実行する処理とを組み合わせて定義した制御定義情報の例を示す。例えば、実機環境においてＡＳＩＣ等のＣＰＵ外で実装されているデバイスの制御を、制御定義情報に定義（継続設定の定義（フォロー設定））しておくことで、ファームウェアで記述されていない条件でデバイスの制御が可能になる。
【００４５】
例４の場合、制御対象は「モータ（MOTOR）200」であり、操作は「停止（stop）」である。
【００４６】
「 (and !(down MOTOR200) (past (constant MOTOR200) 50))」は、「モータ200を停止させるためには、モータ200は減速状態ではないこと。そして、モータ200の定速状態が５０ｍｓ以上経過していなければならない。」ことを定義する。これは、モータの停止制御の条件となる。
【００４７】
「((constant MOTOR200) (past 50) (stop MOTOR200))」は、上述の停止制御の条件が満たされなかった場合に実行する処理を定義する。ここでは、継続設定の定義（フォロー設定）として、「モータ200を定速状態にして５０ｍｓ経過した後に停止動作制御を開始させる」処理が定義されている。
【００４８】
例５． ((off FLAPPER250) (past (on FLAPPER250) 20))
例１〜例４の制御定義情報は、制御対象をモータとした場合の例を示しているが、本発明の趣旨は、制御対象をモータに限定するものではない。例えば、記録材位置計算部２０、画像計算部２１によるシミュレーションの対象となる仮想デバイスに関して、制御定義情報を設定することが可能である。
【００４９】
例５は、制御対象「フラッパ（FLAPPER）250」の操作に関する制御定義情報の例であり、「フラッパ250をオフするためには、フラッパ250をオンしてから２０ｍｓ以上経過していなければならない」ことを定義している。
【００５０】
例えば、フラッパ250をオフにするタイミングとして、フラッパ250をオンしてから２０ｍｓ未満の場合、記録材位置計算部２０はフラッパ250をオフすることができないと判定する。
【００５１】
例６． ((write REG300 1) !(equal REG400 0))
例６は、ＡＳＩＣのレジスタ設定に関する制御定義情報の例を示す。レジスタＲＥＧ300に１を書き込むことでオンされるデバイスに対し、オンするためにはレジスタＲＥＧ400が０ではない、すなわち前もってレジスタＲＥＧ400に０以外の値をセットしておく必要がある場合の制御定義である。
【００５２】
尚、制御定義情報は予めファイルに記述するとしたが、例えば、表示制御部５と入力監視部４を連動させたＧＵＩ（グラフィカル・ユーザ・インターフェイス）を使って使用者が設定できるようにしても良い。また、例えば、全てのモータに関して速度切り替え時に同量のホールド状態が必要であるような場合、デバイスに共通な制御定義情報として登録することも可能である。
【００５３】
記録材位置計算部２０及び画像計算部２１においては、あるデバイスを制御する際に制御定義記憶部２２を参照して該当するデバイスを制御（又は操作）するのに適正な状態となっているかを判定したうえでデバイスの制御を行う。
【００５４】
記録材位置表示部２９は記録材位置計算部２０により計算された記録材の位置及び画像計算部２１により計算された画像の位置に基づき、表示制御部５に対して前述した記録材搬送シミュレーション画面Ｗ１を表示するよう指示する。
【００５５】
出力Ｉ／Ｆ部２８は、記録材位置計算部２０により計算された記録材の位置情報を出力する。出力された記録材の位置情報はソフトウェアシミュレーション部１の入力Ｉ／Ｆ部１２に入力される。
【００５６】
図４は、記録材位置計算部２０、画像計算部２１により実行される仮想デバイスの制御の流れを説明するフローチャートである。
【００５７】
仮想デバイスの制御はまず、ファームソフトウェア部１０から各仮想デバイスに対するデバイス操作要求が来るのを待機する（Ｓ４０１、Ｓ４０２）。
【００５８】
デバイス操作要求を受けて（Ｓ４０２−ＹＥＳ）、制御定義記憶部２２を参照し、該当するデバイスの制御定義情報を取得する（Ｓ４０３）。
【００５９】
ステップＳ４０４において、該当する制御定義情報がなかった場合（Ｓ４０４―ＮＯ）には、処理はステップＳ４１１に進められ、要求されたデバイス操作を行い、処理を終了する。
【００６０】
一方、ステップＳ４０４の判定で、該当する制御定義情報があった場合には（Ｓ４０４−ＹＥＳ）、処理をステップＳ４０５に進め、制御定義情報で定義されている条件を参照する。
【００６１】
そして、ステップＳ４０６において、記録材位置計算部２０または画像計算部２１は、シミュレーションにより計算した仮想デバイスについて、ファームソフトウェア部１０から要求された操作が可能であるかを判定する。
【００６２】
例１の制御定義を例にすると、シミュレーション上のモータ100の停止時刻と、現在時刻と比較して、モータ100の停止時間が５０ｍｓ以上経過していた場合に、記録材位置計算部２０はモータ１00の反転駆動の操作が可能であると判断する。
【００６３】
ステップＳ４０６の判定で、操作可能であると判断された場合には（Ｓ４０６−ＹＥＳ）、処理はステップＳ４１１に進められ、記録材位置計算部２０または画像計算部２１は、要求されたデバイス操作を行い、終了する。
【００６４】
一方、ステップＳ４０６の判定で、制御定義情報の操作条件を満たさず、操作が可能でないと判定された場合（Ｓ４０６−ＮＯ）、ステップＳ４０７において、デバイス操作エラーが発生した旨のエラー出力を行う。記録材位置計算部２０または画像計算部２１はエラー出力を出力Ｉ/Ｆ部２８を介して、表示制御部５に出力することが可能である。エラー出力を受けた表示制御部５は、ディスプレイ８上にエラー表示する。また、記録材位置計算部２０または画像計算部２１はエラーの発生状況を含んだログ情報として出力することも可能である。
【００６５】
ステップＳ４０８において、予め設定されたシミュレーションエラー発生時の動作設定を参照する。制御定義情報を参照して、エラー発生時の動作設定が終了設定の場合は（Ｓ４０８−ＹＥＳ）、処理を終了する。
【００６６】
一方、ステップＳ４０８の判定で、終了設定でない場合（Ｓ４０８−ＮＯ）、処理はステップＳ４０９に進められる。ステップＳ４０９において、制御定義情報中に継続設定の定義（フォロー設定）があるか判定し、継続設定の定義（フォロー設定）がされていない場合（Ｓ４０９−ＮＯ）、デバイス操作を終了する。
【００６７】
一方、ステップＳ４０９の判定で、継続設定の定義（フォロー設定）がされている場合（Ｓ４０９−ＹＥＳ）、ステップＳ４１０において、定義されているフォロー設定の操作を行い、処理を終了する。
【００６８】
フォロー設定の操作の具体例を図５（ａ）、（ｂ）に示す。この例は、上述の例４で示した制御定義によるモータ200の動作の例を示すものである。
【００６９】
図５（ａ）において、モータ200は目標速度Ｖ１まで加速中とする。加速途中、速度Ｖ２のタイミング（時刻ｔ１）で停止要求が入力された場合、この時点でモータ200は定速状態になって５０ｍｓが経過していないので、モータ200は速度Ｖ２で定速制御に切り替えられる。そして、定速状態になって５０ｍｓが経過した後（ｔ１＋５０ｍｓ）、モータ200の停止動作制御が開始する。
【００７０】
図５（ｂ）において、モータ200は目標速度Ｖ１に到達し（時刻ｔ２）、定速状態で動作しているタイミング（時刻ｔ３）で停止要求が入力されたとする。時刻ｔ３時点でモータ200は定速状態になって５０ｍｓが経過していないので、定速状態になった時刻ｔ２を起算として５０ｍｓが経過した後（ｔ２＋５０ｍｓ）、モータ200の停止動作制御が開始する。
【００７１】
図５（ａ）、（ｂ）に示す停止動作制御として、減速度、停止時間、整定時間を定義することも可能である。減速度、停止時間、整定時間の組合せから定速状態からモータ200が停止するまでのプロファイルを変更することが可能である。
【００７２】
尚、本実施形態においては、画像形成装置におけるプリンタ部の記録材搬送機構の制御を例として説明しているが、本発明の趣旨はこの例に限定されないことは言うまでもない。画像形成装置を構成するデバイスの制御、例えば、画像形成装置におけるリーダ部の記録材搬送制御や、画像読み取り処理の制御に関しても同様に適用することは可能である。更に、本発明の趣旨は記録材の搬送を伴わないデバイスに対しても適用することは可能であり、デバイス単体、あるいは複数のデバイスを連動させた制御に関しても、本発明の実施形態を適用することは可能である。
【００７３】
以上説明したように、本発明の実施形態に拠れば、デバイスを制御する制御ソフトウェアの検証を効率よく行うことが可能になる。
【００７４】
（他の実施形態）
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給することによっても、達成されることは言うまでもない。また、システムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【００７５】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００７６】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００７７】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現される。また、プログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００７８】
【図１】本発明の実施形態に係る設計支援装置の構成を示すブロック図である。
【図２】本発明の実施形態に係る表示制御部がディスプレイ上に表示する記録材搬送シミュレーション画面を例示する図である。
【図３】本発明の実施形態に係る設計支援装置を構成するソフトウェアシミュレーション部１及び機構シミュレーション部２の構成を示すブロック図である。
【図４】本発明の実施形態に係る記録材位置計算部２０、画像計算部２１により実行される仮想デバイスの制御の流れを説明するフローチャートである。
【図５】フォロー設定の操作の具体例を示す図である。
【図６】従来技術における画像形成装置における記録材の搬送制御を説明する図である。
【符号の説明】
【００７９】
１    ソフトウェアシミュレーション部
２    機構シミュレーション部
４    入力監視部
５    表示制御部
８    ディスプレイ
１０  ファームソフトウェア部
１１  ラッパー部
１２  入力Ｉ／Ｆ部
１３  出力Ｉ／Ｆ部
２０  記録材位置計算部
２１  画像計算部
２２  制御定義記憶部
２７  入力Ｉ／Ｆ部
２８  出力Ｉ／Ｆ部
２９  記録材位置表示部
【図１】
2008065712.tif 000003
【図２】
2008065712.tif 000004
【図３】
2008065712.tif 000005
【図４】
2008065712.tif 000006
【図５】
2008065712.tif 000007
【図６】
2008065712.tif 000008