(57)【特許請求の範囲】
【請求項１】
着脱可能な着脱ユニット及び開閉可能なドアを含む複数の可動機構を有する装置における制御ソフトウェアの動作をコンピュータ上でシミュレーションすることで、前記制御ソフトウェアの処理動作を検証可能とする、前記コンピュータにより読み取り可能な設計支援プログラムにおいて、
前記着脱ユニットの動作要求が前記コンピュータに接続された入力手段を用いてユーザーにより入力されたかどうかを判断する動作要求判断ステップと、
前記動作要求判断ステップで前記着脱ユニットの動作要求があったと判断されたことに応じて、動作要求のあった前記着脱ユニットを特定する情報と動作後の状態を指定する情報との組合せからなる操作情報を前記入力手段から取得する操作情報取得ステップと、
前記操作情報取得ステップで取得された前記操作情報に基づいて、動作要求のあった前記着脱ユニットが動作する際に、前記ドアがどのような位置になければならないのかを示す依存情報を前記コンピュータに設けられた記憶手段から取得する依存情報取得ステップと、
前記ドアの位置を示す状態情報を前記記憶手段から取得する状態情報取得ステップと、
前記依存情報取得ステップで取得した前記依存情報と、前記状態情報取得ステップで取得した前記ドアの位置を示す前記状態情報とを比較し、動作要求のあった前記着脱ユニットを前記入力手段からの要求通り動作できるかどうかを判断する動作可否判断ステップと、
前記動作可否判断ステップにおいて、動作要求のあった前記着脱ユニットを前記入力手段からの要求通り動作できると判断した場合、前記着脱ユニットの位置を前記入力手段から要求された前記着脱ユニットの位置に変更する位置変更ステップと、
を前記コンピュータに実行させ、前記位置変更ステップで前記着脱ユニットの位置が変更された状態で、前記制御ソフトウェアの処理動作を前記コンピュータにシミュレーションさせることを特徴とする設計支援プログラム。
【請求項２】
前記位置変更ステップにおいてなされた前記着脱ユニットの位置変更により、動作に制限が加えられる可動機構に対しては、前記コンピュータに設けられた表示部上に動作の制限情報を表示することを特徴とする請求項１記載の設計支援プログラム。
【請求項３】
前記動作可否判断ステップにおいて、動作要求のあった前記着脱ユニットを前記入力手段からの要求通り動作できないと判断した場合、前記コンピュータに設けられた表示部上に警告表示を行うことを特徴とする請求項１記載の設計支援プログラム。
【請求項４】
着脱可能な着脱ユニット及び開閉可能なドアを含む複数の可動機構を有する装置における制御ソフトウェアの動作をコンピュータ上でシミュレーションすることで、前記制御ソフトウェアの処理動作を検証可能とする、前記コンピュータにより読み取り可能な設計支援プログラムにおいて、
前記着脱ユニットの動作要求が前記コンピュータに接続された入力手段を用いてユーザーにより入力されたかどうかを判断する動作要求判断ステップと、
前記動作要求判断ステップで前記着脱ユニットの動作要求があったと判断されたことに応じて、動作要求のあった前記着脱ユニットを特定する情報と動作後の前記ドアの状態を指定する情報との組合せからなる操作情報を前記入力手段から取得する操作情報取得ステップと、
前記操作情報取得ステップで取得された前記操作情報に基づいて、動作要求のあった前記着脱ユニットが動作する際に、前記ドアがどのような位置になければならないのかを示す依存情報を前記コンピュータに設けられた記憶手段から取得する依存情報取得ステップと、
前記ドアの位置を示す状態情報を前記記憶手段から取得する状態情報取得ステップと、
前記依存情報取得ステップで取得した前記依存情報と、前記状態情報取得ステップで取得した前記ドアの位置を示す前記状態情報とに基づいて、前記着脱ユニット及び前記ドアの位置を一括変更する位置一括変更ステップと、
を前記コンピュータに実行させ、前記位置一括変更ステップで前記着脱ユニット及び前記ドアの位置が変更された状態で、前記制御ソフトウェアの処理動作を前記コンピュータにシミュレーションさせることを特徴とする設計支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機構制御設計を支援するための設計支援プログラムに関する。より詳細には、ドアなどの開閉機構、ユニットの着脱機構のような可動機構を有する装置を制御するためのソフトウェアの設計支援プログラムに関する。
【背景技術】
【０００２】
従来、複写機等の画像形成装置におけるドア、カートリッジ、定着ユニット等の可動機構は、開閉または着脱するよう構成されている。また、可動機構の動作に応じて所定の機構制御がなされるようソフトウェアの設計がなされており、かかるソフトウェアの検証は、実際の装置（実機）を用いて行っていた。
【０００３】
また、近年のコンピュータの性能向上に伴い、実機の代わりにシミュレーション技術を用いて制御ソフトウェアの検証を行う提案もなされている。例えば、キーボード等の入力装置からプリンタ制御ソフトウェアにスイッチのオン／オフやカバーの開閉等の外部イベントを発生させる設計支援方法が提案されている（例えば、特許文献１参照。）。
【特許文献１】特開平５−１４３２６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１のようなカバーの開閉等の外部イベントを発生させる設計支援方法では、様々なユニットが操作性、機能性を考慮され設計、配置される実際の可動機構の検証には、不十分であった。
【０００５】
実際の複写機等の画像形成装置における可動機構は、様々な要素が絡み合っており、単純に指定した可動機構の状態を直接的に変更できるような構成はまれである。例えば、複数の可動機構を所定の順番で解除しなければ、着脱ユニットの取り外しが行えないなどの制約条件が装置毎に様々な形態で存在する。
【０００６】
そのため、単純に可動機構の状態変化を直接発生させるような設計支援方法では、実機の構成に応じて、順番に可動機構の操作を行わねばならず、可動機構の制御ソフトウェアの設計、評価に手間がかかり、その効率を悪いものとしていた。
【０００７】
そこで、本発明は、複数の可動機構を有する装置における制御ソフトウェアの設計、評価を効率良く行うための設計支援プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明に係る設計支援プログラムは、着脱可能な着脱ユニット及び開閉可能なドアを含む複数の可動機構を有する装置における制御ソフトウェアの動作をコンピュータ上でシミュレーションすることで、前記制御ソフトウェアの処理動作を検証可能とする、前記コンピュータにより読み取り可能な設計支援プログラムにおいて、前記着脱ユニットの動作要求が前記コンピュータに接続された入力手段を用いてユーザーにより入力されたかどうかを判断する動作要求判断ステップと、前記動作要求判断ステップで前記着脱ユニットの動作要求があったと判断されたことに応じて、動作要求のあった前記着脱ユニットを特定する情報と動作後の状態を指定する情報との組合せからなる操作情報を前記入力手段から取得する操作情報取得ステップと、前記操作情報取得ステップで取得された前記操作情報に基づいて、動作要求のあった前記着脱ユニットが動作する際に、前記ドアがどのような位置になければならないのかを示す依存情報を前記コンピュータに設けられた記憶手段から取得する依存情報取得ステップと、前記ドアの位置を示す状態情報を前記記憶手段から取得する状態情報取得ステップと、前記依存情報取得ステップで取得した前記依存情報と、前記状態情報取得ステップで取得した前記ドアの位置を示す前記状態情報とを比較し、動作要求のあった前記着脱ユニットを前記入力手段からの要求通り動作できるかどうかを判断する動作可否判断ステップと、前記動作可否判断ステップにおいて、動作要求のあった前記着脱ユニットを前記入力手段からの要求通り動作できると判断した場合、前記着脱ユニットの位置を前記入力手段から要求された前記着脱ユニットの位置に変更する位置変更ステップと、を前記コンピュータに実行させ、前記位置変更ステップで前記着脱ユニットの位置が変更された状態で、前記制御ソフトウェアの処理動作を前記コンピュータにシミュレーションさせることを特徴とする。
【０００９】
また、本発明に係る設計支援プログラムは、着脱可能な着脱ユニット及び開閉可能なドアを含む複数の可動機構を有する装置における制御ソフトウェアの動作をコンピュータ上でシミュレーションすることで、前記制御ソフトウェアの処理動作を検証可能とする、前記コンピュータにより読み取り可能な設計支援プログラムにおいて、前記着脱ユニットの動作要求が前記コンピュータに接続された入力手段を用いてユーザーにより入力されたかどうかを判断する動作要求判断ステップと、前記動作要求判断ステップで前記着脱ユニットの動作要求があったと判断されたことに応じて、動作要求のあった前記着脱ユニットを特定する情報と動作後の前記ドアの状態を指定する情報との組合せからなる操作情報を前記入力手段から取得する操作情報取得ステップと、前記操作情報取得ステップで取得された前記操作情報に基づいて、動作要求のあった前記着脱ユニットが動作する際に、前記ドアがどのような位置になければならないのかを示す依存情報を前記コンピュータに設けられた記憶手段から取得する依存情報取得ステップと、前記ドアの位置を示す状態情報を前記記憶手段から取得する状態情報取得ステップと、前記依存情報取得ステップで取得した前記依存情報と、前記状態情報取得ステップで取得した前記ドアの位置を示す前記状態情報とに基づいて、前記着脱ユニット及び前記ドアの位置を一括変更する位置一括変更ステップと、を前記コンピュータに実行させ、前記位置一括変更ステップで前記着脱ユニット及び前記ドアの位置が変更された状態で、前記制御ソフトウェアの処理動作を前記コンピュータにシミュレーションさせることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、複数の可動機構を有する装置における制御ソフトウェアの設計、評価を効率良く行うための設計支援プログラムを提供することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明に係る設計支援装置を図面に則して更に詳しく説明する。本実施例においては、シミュレーション上での仮想的な紙、ローラ等を指す場合には「仮想」という表現を用い、仮想紙、仮想ローラ等と表現することとする。
【００１４】
図１は、本発明の一実施例に係る設計支援装置を示す。本実施例の設計支援装置は、画像形成装置の紙搬送シミュレーションをパーソナルコンピュータ上で行うことの出来る紙搬送シミュレータである。また、現実世界の画像形成装置を制御するファームソフトウェアの制御タイミング設計を支援し、ファームソフトウェアの処理動作の検証を可能とするものである。
【００１５】
ソフトウェアシミュレーション部１は、紙搬送制御に関するファームソフトウェアをパーソナルコンピュータ上で仮想的に実行するためのものである。入力監視部４はマンマシンインターフェースたるキーボードデバイスやマウスなどの入力を監視しており、前記ソフトウェアシミュレーションの実行開始をオペレーティングシステム３に指示する。
【００１６】
ソフトウェアシミュレーションの実行結果はオペレーティングシステム３を介して機構シミュレーション部２に渡される。機構シミュレーション部２では紙搬送制御に関わる仮想ローラの速度などから仮想紙が紙搬送機構内のどの部位に存在するかを計算により求める。求められた仮想紙の位置情報は、オペレーティングシステム３を介して、表示制御部５に渡される。
【００１７】
図２は、表示制御部５によってパーソナルコンピュータに付随するディスプレイ上に示される紙搬送シミュレーション画面Ｗ１の表示例である。紙搬送シミュレーション画面Ｗ１では、仮想紙搬送パスは点線、仮想ローラは丸、仮想センサは三角、仮想紙は実線Ｐで表現される。
【００１８】
なお、ここで説明したソフトウェアシミュレーション部１ならびに機構シミュレーション部２は、実行前においてはパーソナルコンピュータのＨＤＤ等（不図示）の中に保管されている。そして、ソフトウェアシミュレーション部１ならびに機構シミュレーション部２が実行される時には、パーソナルコンピュータのＲＡＭ（不図示）上に展開された後実行される。
【００１９】
図３は本実施例における設計支援装置のソフトウェアシミュレーション部１および機構シミュレーション部２の態様を示す。なお、ソフトウェアシミュレーション部１と機構シミュレーション部２の間に関与するオペレーティングシステム３に関しては、説明の本旨とは無関係のため省略している。
【００２０】
ソフトウェアシミュレーション部１は、ファームソフトウェア部１０、ラッパー部１１、入力Ｉ／Ｆ部１２、出力Ｉ／Ｆ部１３から構成される。
【００２１】
ファームソフトウェア部１０は現実世界の画像形成装置の紙搬送制御を行うためのソフトウェアである。
【００２２】
ラッパー部１１は現実世界の画像形成装置のファームソフトウェアをパーソナルコンピュータ上で動作させるための部分である。
【００２３】
入力Ｉ／Ｆ部１２は機構シミュレーション部２からの情報を入力する部分である。出力Ｉ／Ｆ部１３は機構シミュレーション部２に情報を出力する部分である。
【００２４】
機構シミュレーション部２は、紙位置計算部２０、ローラシミュレーション部２１、モータシミュレーション部２２、入力Ｉ／Ｆ部２３、パス管理部２４、フラッパシミュレーション部２５を有する。また、機構シミュレーション部２は、センサシミュレーション部２６、出力Ｉ／Ｆ部２７、紙位置表示部２８、ドアシミュレーション部２９、ＵＩ部３０を有する。
【００２５】
入力Ｉ／Ｆ部２３はソフトウェアシミュレーション部１の出力Ｉ／Ｆ部１３からの出力結果を受け付ける部分であり、紙搬送制御に関わる仮想モータや仮想クラッチ、仮想フラッパなどの各種デバイスの制御情報を後段に渡すためのものである。
【００２６】
モータシミュレーション部２２は、仮想モータを前段の入力Ｉ／Ｆ部２３からの情報に基づいた速度で回転させたり停止させたりする。また、仮想モータと仮想ローラ、もしくは仮想モータと仮想クラッチの接続関係を保持しており、仮想モータの回転情報をローラシミュレーション部２１に渡すかクラッチシミュレーション部２３に渡すかを判断する。
【００２７】
クラッチシミュレーション部２３は、仮想クラッチを前段の入力Ｉ／Ｆ部２３からの情報に基づきＯＮもしくはＯＦＦさせる。また、仮想クラッチと仮想ローラの接続関係を保持しており、モータシミュレーション部２２から渡された仮想モータの回転情報をローラシミュレーション部２１に渡すか否かをＯＮまたはＯＦＦ状態に基づいて判断する。
【００２８】
ローラシミュレーション部２１は、前段のモータシミュレーション部２２もしくはクラッチシミュレーション部２３からの回転速度および回転方向に応じて仮想ローラの回転させるための部分である。
【００２９】
紙位置計算部２０は、仮想紙搬送パスを複数の分割されたブロックとして管理するパス管理部２４から仮想紙搬送パスの情報を受け取り、ローラシミュレーション部２１でのローラ回転速度に応じて、仮想紙の先端位置および後端位置を計算するための部分である。
【００３０】
フラッパシミュレーション部２５は、仮想紙搬送パスを切換えるためのデバイスである仮想フラッパの動作をシミュレーションする部分である。また、フラッパシミュレーション部２５は、前段の入力Ｉ／Ｆ部２３からの情報に基づき、パス管理部２４にどの仮想紙搬送パスを選択すべきかの情報を与えるためのものである。
【００３１】
紙位置表示部２８は、前段の紙位置計算部２０により計算された仮想紙の先端位置および後端位置に基づき、表示制御部５に対して前述した紙搬送シミュレーション画面Ｗ１を表示させるよう指示するための部分である。
【００３２】
センサシミュレーション部２６は、前段の紙位置計算部２０による仮想紙の位置情報に基づき、ＯＮもしくはＯＦＦに対応した情報をセットし、出力Ｉ／Ｆ部２７に渡すための部分である。
【００３３】
出力Ｉ／Ｆ部２７は前段のセンサシミュレーション部２６でセットされたセンサＯＮもしくはＯＦＦに対応した情報をソフトウェアシミュレーション部１の入力Ｉ／Ｆ部１２に与えるための部分である。
【００３４】
＜紙搬送シミュレーション＞
次に、図４を用い実際のシミュレーション動作に則して説明を加える。図４は、紙搬送制御に関する各種デバイス配置の一例である。ここでは、仮想紙Ｐが仮想パスＡＢ上の実線矢印方向に仮想ローラＲ１により搬送され、仮想センサＳ１を仮想紙Ｐ先端が通過したタイミングで仮想フラッパＦＬ１を切換え、仮想パスＢＣまたは仮想パスＢＤに仮想紙Ｐを進めるシミュレーションを前提としている。なお、仮想ローラＲ１は、仮想クラッチＣＬ１を介し仮想モータＭ１から駆動を受けている。また、点線矢印は駆動関係を示している。
【００３５】
設計者がマンマシンインターフェースより紙搬送シミュレーションの開始を指示すると、入力監視部４を介してオペレーティングシステム３によりソフトウェアシミュレーション部１および機構シミュレーション部２が実行される。ソフトウェアシミュレーション部１が開始されると、ファームソフトウェア部１０はラッパー部１１およびオペレーティングシステム３と協調して、現実世界の画像形成装置の紙搬送制御を行うためのソフトウェアを逐次実行していく。
【００３６】
ファームソフトウェア部１０にて、仮想モータＭ１の回転開始の処理が始まると、出力Ｉ／Ｆ部１２を介して仮想モータＭ１を特定するＩＤ番号と回転速度、回転方向がコマンドとして機構シミュレーション部２の入力Ｉ／Ｆ部２３に与えられる。入力Ｉ／Ｆ部２３はコマンドを解釈して仮想モータＭ１に対するものであることを判断し、モータシミュレーション部２２に渡す。
【００３７】
モータシミュレーション部２２は仮想モータＭ１の回転を開始し、仮想モータＭ１が駆動を与えている仮想ローラまたは仮想クラッチを検索して、回転速度、回転方向をローラシミュレーション部２１またはクラッチシミュレーション部２３に渡す。仮想ローラＲ１に関しては仮想クラッチＣＬ１を介して駆動を与えているため、回転速度、回転方向はクラッチシミュレーション部２３に渡される。
【００３８】
クラッチシミュレーション部２３では、仮想クラッチＣＬ１のＯＮ／ＯＦＦ情報に基づき仮想ローラＲ１の回転速度、回転方向の情報をローラシミュレーション部２１に渡すか否かを判断する。
【００３９】
紙位置計算部２０は、所定時間間隔ｔで仮想紙Ｐの先端と後端の位置を演算している。まず、仮想紙Ｐの先端から後端までが含まれている仮想パスＡＢの情報をパス管理部２４から読み出す。パス管理部２４が保持するパス情報には各仮想パス内の仮想ローラのＩＤとその位置情報も含まれている。そして、紙位置計算部２０は、仮想紙Ｐの先端位置から後端方向に向かって仮想ローラを検索し、始めに見つかった仮想ローラＲ１のＩＤを用いてローラシミュレーション部２１にその速度ｖを問い合わせる。
【００４０】
速度ｖと時間間隔ｔから仮想紙Ｐがその間に進んだ距離Ｓ＝ｖ×ｔを求めることにより、仮想紙Ｐの位置を更新する。更新された位置情報は紙位置表示部２８に渡され、紙搬送シミュレーション画面Ｗ１に表示される。
【００４１】
パス管理部２４が保持するパス情報には、各仮想パス内の仮想センサのＩＤとその位置情報も含まれている。紙位置計算部２０は仮想紙Ｐの先端位置から後端方向に向かって仮想センサを検索し、見つかった仮想センサＳ１のＯＮ情報をセンサシミュレーション部２６に渡す。また、仮想紙Ｐの後端が仮想センサＳ１を通過した状態では、仮想センサＳ１のＯＦＦ情報をセンサシミュレーション部２６に渡す。
【００４２】
センサシミュレーション部２６では、仮想センサＳ１のＯＮもしくはＯＦＦ状態を保持しており、出力Ｉ／Ｆ部２７に対してＯＮ情報を出力する。
【００４３】
出力Ｉ／Ｆ部２７は仮想センサＳ１のＯＮ情報をコマンド化し、ソフトウェアシミュレーション部１の入力Ｉ／Ｆ部１２に出力する。
【００４４】
ファームソフトウェア部１０は、入力Ｉ／Ｆ部１２からセンサＳ１のＯＮ情報を受け、仮想フラッパＦＬ１の制御を開始する。機構シミュレーション部２へのコマンド送出は仮想モータＭ１の場合とほぼ同様である。仮想フラッパＦＬ１の制御コマンド受け、機構シミュレーション部２内のフラッパシミュレーション部２５は該当するＩＤの仮想フラッパの切換え情報をパス管理部２４に渡す。
【００４５】
仮想紙Ｐの先端が分岐点Ｂに到達すると紙位置計算部２０はパス管理部２４から次に進むべき仮想パスを読み出す。そして、パス管理部２４は、仮想フラッパＦＬ１の切換え状態に応じて、仮想紙Ｐの進行方向を仮想パスＢＣにするのか仮想パスＢＤにするのかを判断し、紙位置計算部２０に返すパス情報を変更する。
【００４６】
＜可動機構シミュレーション＞
本発明による可動機構シミュレーションについて、図５〜７に示すような可動機構の構成を例にとり、以下に詳細な説明を行う。
【００４７】
まず、図５〜７に示す可動機構システム５００は、ドアＡ５０１、ドアＢ５０２、ドアＣ５０３、着脱ユニット５０４により構成される。
【００４８】
図５では、可動機構システム５００は、ドアＡ５０１、ドアＢ５０２、ドアＣ５０３が全て閉じた状態であり、また、着脱ユニット５０４が着している状態を示す。
【００４９】
また、図６では、可動機構システム５００は、ドアＡ５０１、ドアＢ５０２、ドアＣ５０３が全て開いた状態であり、また、着脱ユニット５０４が着している状態を示す。
【００５０】
一方、ドアＡ５０１、ドアＢ５０２、ドアＣ５０３、着脱ユニット５０４の配置は、図７（可動機構システム５００を上面から見た図）に示す通りである。
【００５１】
図７の関係により、ドアＡ５０１、ドアＢ５０２、ドアＣ５０３、着脱ユニット５０４それぞれの可動機構に対しての操作は、現在の可動機構の動作（開閉、着脱）の状態に応じて、操作可能、操作不能となる。つまり、個々の可動機構の操作に対して次のような制約条件が働く事になる。
【００５２】
ドアＡ５０１、ドアＢ５０２を開いた状態でなければ、ドアＣ５０３の操作不能である。また、着脱ユニット５０４は、ドアＡ５０１、ドアＢ５０２、ドアＣ５０３を全て開いた状態でなければ、操作不能である。
【００５３】
次に、図８に可動機構シミュレーションの主要制御部の構成を示す。尚、図８は、図３に示すドアシミュレーション部２９、ＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）部３０の詳細図である。
【００５４】
２９１は、可動機構制御部である。２９２は可動機構シミュレーションで動作を模擬する可動機構の全てのＯＢＪ（Ｏｂｊｅｃｔ）に対し、各可動機構の状態が遷移するために必要な「依存情報」が定義されている依存情報記憶部である。
【００５５】
２９３は、可動機構のうちドアに関するＯＢＪを管理するドアＯＢＪ管理部である。
【００５６】
２９４は、可動機構のうち着脱ユニットに関するＯＢＪを管理する着脱ユニットＯＢＪ管理部である。２９５は、ドアＯＢＪ管理部２９３により管理される各ドアＯＢＪの個別情報を保持している情報体である。２９６は、着脱ユニットＯＢＪ管理部２９４により管理される各着脱ＯＢＪの個別情報を保持している情報体である。なお、図８では各可動機構のＯＢＪ１つに対し１つの情報体を定義しているが、本発明ではその構成に関しては特に限定するものではない。
【００５７】
また、３０１は、シミュレーション対象となるドアＯＢＪ、着脱ユニットＯＢＪを含むシステム５００の状態の概要を示す表示部である。３０２は、ドアＯＢＪ、着脱ユニットＯＢＪに対する操作を行う操作部である。３０３は、各可動機構ＯＢＪの現在の状態を表示する状態表示部である。
【００５８】
次に、図９を用いて、可動ＯＢＪの個別操作時の可動機構シミュレーションを説明する。
【００５９】
個別操作時の可動機構シミュレーションを開始すると、可動機構制御部２９１は、各可動機構の動作に関する「依存情報」を依存情報記憶部２９２から取得する（Ｓ７０１）。「依存情報」は、ある可動機構が動作（開閉、着脱）する際に、他の可動機構がどのような状態でなければならないのかを示す情報である。
【００６０】
ここで、依存情報記憶部２９２に関する情報としては、例えば、
対象ＯＢＪ名  状態：（他のＯＢＪ１名  状態）関係式（他のＯＢＪ２名  状態）
．．．．．．．．．
といった具合に、ＯＢＪ毎にシミュレーション動作で模擬する状態（ｃｏｎｄｉｔｉｏｎ）毎に情報レコードが記述されている。具体的には、以下のような記述になる。
ＤｏｏｒＣ  Ｏｐｅｎ：（Ｍｏｖａｂｌｅ＿ｕｎｉｔ１  ｖｏｉｄ）ＡＮＤ（ＤｏｏｒＡ  Ｏｐｅｎ）ＡＮＤ（ＤｏｏｒＢ  Ｏｐｅｎ）
ＤｏｏｒＣ  Ｃｌｏｓｅ：（Ｍｏｖａｂｌｅ＿ｕｎｉｔ  ｖｏｉｄ）ＡＮＤ（ＤｏｏｒＡ  Ｏｐｅｎ）ＡＮＤ（ＤｏｏｒＢ  Ｏｐｅｎ）
．．．．．．．．．
Ｍｏｖａｂｌｅ＿ｕｎｉｔ１  ａｔｔａｃｈ：（ＤｏｏｒＡ  Ｏｐｅｎ）ＡＮＤ（ＤｏｏｒＢ  Ｏｐｅｎ）ＡＮＤ（ＤｏｏｒＣ  Ｏｐｅｎ）
Ｍｏｖａｂｌｅ＿ｕｎｉｔ１  Ｄｅｔａｃｈ：（ＤｏｏｒＡ  Ｏｐｅｎ）ＡＮＤ（ＤｏｏｒＢ  Ｏｐｅｎ）ＡＮＤ（ＤｏｏｒＣ  Ｏｐｅｎ）
．．．．．．．．．
尚、記述様式については、本発明では特に限定するものではない。次に、各可動機構に対し初期状態の設定を行う（Ｓ７０２）。ここでは、可動機構制御部２９１が、２９３、２９４の可動機構管理部を経由し、各可動機構ＯＢＪ２９５、２９６に対し初期状態の設定を行う。
【００６１】
そして、ＵＩ部３０からシミュレーション動作終了の指示がなされたかを監視し、終了が指示された場合には、可動機構シミュレーションを終了する（Ｓ７０３）。シミュレーション動作終了の指示は、例えばマンマシンインターフェース（キーボード等）の終了ボタン等により行う。また、特にシミュレーション動作の終了指示がなければ、シミュレーションを継続する。
【００６２】
次に、ＵＩ部３０から動作要求があったかどうかを判断する（Ｓ７０４）。動作要求があった場合は、可動機構制御部２９１は、動作要求のあった可動ＯＢＪを特定する情報と、動作後の状態を指定する情報との組合せからなる「操作情報」をＵＩ部３０から取得する（Ｓ７０５）。
【００６３】
図８に示す例では、ＵＩ部３０から「着脱ユニット５０１を着状態とする」旨の「操作情報」をドアシミュレーション部２９に通知し、可動機構制御部２９１が受け取る。
【００６４】
その後、ステップＳ７０５で受け取った「操作情報」に基づき、可動機構制御部２９１は、依存情報記憶部２９２から対象となる可動ＯＢＪの指定状態時の「依存情報」を取得する（Ｓ７０６）。
【００６５】
そして、２９３、２９４の各可動機構管理部から、各可動ＯＢＪの「現在の状態情報」を取得する（Ｓ７０７）。例えば、カバーが開いているのか閉じているのか等の情報をここで取得する。次に、「依存情報」と「現在の状態情報」とを比較することで、要求通り動作できるかどうかを判断する（Ｓ７０８）。
【００６６】
例えば、図５のように、ドアＡ５０１、ドアＢ５０２、及びドアＣ５０３が閉じている状態のときに、着脱ユニット５０４を取り出す要求がなされたとする。この場合、着脱ユニット５０４を取り出しには、ドアＡ５０１、ドアＢ５０２、及びドアＣ５０３が開いている状態であることが要求されるので、動作（着脱）できないと判断される。
【００６７】
ステップＳ７０８で要求通り動作できると判断した場合は、可動機構制御部２９１は、Ｓ７０８にて可能と判断された操作指示を実行する。すなわち、２９３、２９４の各可動機構管理部に対し操作指示に基づく動作を指示することで、対象となる可動機構ＯＢＪ２９５、２９６の状態（位置）を変更する（Ｓ７０９）。
【００６８】
また、この時、可動機構制御部２９１は、センサシミュレーション部２６に、可動機構が割り当てられている仮想センサ出力の変化を通知する。その後、ＵＩ部３０の表示部３０１の表示を変更する（Ｓ７１０）。
【００６９】
この際、ステップＳ７０９での可動ＯＢＪの操作により、動作に制限が新たに加えられる可動ＯＢＪに対しては、ＵＩ部３０から操作の制限情報を表示してもよい。
【００７０】
ステップＳ７０８で要求通り動作できないと判断した場合は、その旨をユーザーに対しＵＩ部３０に警告メッセージなどで通知する（Ｓ７１１）。以上が、可動機構シミュレーションの動作の流れである。
【００７１】
＜可動機構一括操作によるシミュレーション＞
上記では個別操作時の可動機構シミュレーションについて説明したが、これを適用する代わりに、以下に説明する可動機構一括操作によるシミュレーションを適用してもよい。
【００７２】
本実施例による、対象となる可動ＯＢＪの操作による、関連する可動ＯＢＪの一括操作について図１０を使い説明する。尚、同図における同じ番号の処理は同一のものとし、以下の説明における同一の番号のものは、前述した同番号のものと同一のものであるため説明は省略する。
【００７３】
一括操作による可動機構シミュレーションを開始すると、可動機構制御部２９１は、各可動機構の動作に関する「依存情報」を依存情報記憶部２９２から取得する（Ｓ７０１）。そして、各可動機構に対し初期状態の設定を行う（Ｓ７０２）。
【００７４】
次に、ＵＩ部３０からシミュレーション動作終了の指示を監視する（Ｓ７０３）。そして、ＵＩ部３０から動作要求があったかどうかを判断する（Ｓ７０４）。動作要求があった場合は、可動機構制御部２９１は、動作要求のあった可動ＯＢＪを特定する情報と、動作後の状態を指定する情報との組合せからなる「操作情報」をＵＩ部３０から取得する（Ｓ７０５）。
【００７５】
その後、ステップＳ７０５で受け取った「操作情報」に基づき、可動機構制御部２９１は、依存情報記憶部２９２から対象となる可動ＯＢＪの指定状態時の「依存情報」を取得する（Ｓ７０６）。
【００７６】
そして、２９３、２９４の各可動機構管理部から、各可動ＯＢＪの現在の位置を示す「現在の状態情報」を取得する（Ｓ７０７）。次に、「依存情報」と「現在の状態情報」とを比較し、前者（他の可動ＯＢＪの「依存情報」）と異なる後者（可動ＯＢＪの「現在の状態情報」）の可動ＯＢＪの状態を、全て前者の情報に基づき遷移させる。これにより、複数の可動機構の状態（位置）を一括変更する（Ｓ８０８）。
【００７７】
例えば、図５のように、ドアＡ５０１、ドアＢ５０２、及びドアＣ５０３が閉じている状態のときに、着脱ユニット５０４を取り出す要求がなされたとする。この場合、ドアＡ５０１、ドアＢ５０２、及びドアＣ５０３の状態を一括して開いた状態に変更し、また着脱ユニット５０４を取り出した状態に変更する。
【００７８】
また、この時、可動機構制御部２９１は、可動機構ＯＢＪの状態を遷移した全てのＯＢＪが割り当てられている仮想センサ出力の変化を、センサシミュレーション部２６に通知する。
【００７９】
その後、Ｓ８０５で状態を変更された可動機構ＯＢＪの状態、システム全体の表示をＵＩ３０部に通知し、ＵＩ部の表示情報を更新する（Ｓ８０９）。
【図面の簡単な説明】
【００８０】
【図１】本発明の実施例に係る設計支援装置の制御ブロック図である。
【図２】図１の設計支援装置の画面表示イメージ図である。
【図３】図１の設計支援装置のより詳細な制御ブロック図である。
【図４】本発明の実施例に係る搬送シミュレーションを説明するための図である。
【図５】本発明の実施例に係る可動機構シミュレーションを説明するためのモデルを表す図である。
【図６】本発明の実施例に係る可動機構シミュレーションを説明するためのモデルを表す図である。
【図７】本発明の実施例に係る可動機構シミュレーションを説明するためのモデルを表す図である。
【図８】本発明の実施例に係る可動機構シミュレーション部の詳細図である。
【図９】本発明の実施例に係る可動機構シミュレーション部による個別操作時のフローチャートである。
【図１０】本発明の実施例に係る可動機構シミュレーション部による一括操作時のフローチャートである。
【符号の説明】
【００８１】
１  ソフトウェアシミュレーション部
２  機構シミュレーション部
３  オペレーティングシステム
４  入力装置
５  表示制御部
１０  ファームソフトウェア部
１１  ラッパー部
１２  入力Ｉ／Ｆ部
１３  出力Ｉ／Ｆ部
２０  紙位置計算部
２１  ローラシミュレーション部
２２  モータシミュレーション部
２３  クラッチシミュレーション部
２４  パス管理部
２５  フラッパシミュレーション部
２６  センサシミュレーション部
２７  出力Ｉ／Ｆ部
２８  紙位置表示部
２９  ドアシミュレーション部
３０  ＵＩ部
ＣＬ１  仮想クラッチ
ＦＬ１  仮想フラッパ
Ｍ１  仮想モータ
Ｐ  仮想紙
Ｒ１  仮想ローラ
Ｗ１  紙搬送シミュレーション画面
【図１】
0004621100.tif 000002
【図２】
0004621100.tif 000003
【図３】
0004621100.tif 000004
【図４】
0004621100.tif 000005
【図５】
0004621100.tif 000006
【図６】
0004621100.tif 000007
【図７】
0004621100.tif 000008
【図８】
0004621100.tif 000009
【図９】
0004621100.tif 000010
【図１０】
0004621100.tif 000011