(57)【要約】【課題】画像形成装置において発生した障害を再現して解析するための動作解析装置において、障害の再現性を向上すること。【解決手段】ユーザがディスプレイパネルを操作することにより主制御部１４６との間でやり取りされる操作信号を取得して操作情報を生成し、取得されたタイミングを示すタイムスタンプと関連付けて記憶し、記憶された情報に基づき、ユーザによる操作を再現するマイコン２１３と、ユーザがＰＣ２３０を操作することによりネットワークを介して画像形成装置１に入力された命令をタイムスタンプと関連付けて記憶し、記憶された情報に基づいてＰＣ２３０に対する操作を再現する制御アプリケーション２３１とを含むことを特徴とする。【選択図】図１０
2011232867.tif 000002
【特許請求の範囲】
【請求項１】
操作部を有する画像形成装置に対するユーザの操作を解析して前記画像形成装置の動作を再現する動作解析装置であって、
前記操作部と前記操作部を制御する操作制御部との間の信号を取得可能なように接続される接続部と、
ユーザが前記操作部を操作することにより前記操作部と前記操作制御部との間でやり取りされる信号である操作信号を、前記接続部を介して取得する操作信号取得部と、
前記取得された操作信号に基づく操作情報と前記操作信号が取得されたタイミングを示すタイミング情報とを関連付けて操作再現情報として記憶媒体に記憶させる操作再現情報記憶処理部と、
前記画像形成装置に対してネットワークを介して送信された命令に基づくネットワーク命令情報と前記命令が送信されたタイミングを示すタイミング情報とを関連付けてネットワーク命令再現情報として記憶媒体に記憶させるネットワーク命令再現情報記憶処理部と、
前記記憶された操作再現情報に基づき、前記画像形成装置の動作を再現する操作再現部と、
前記記憶されたネットワーク命令再現情報に基づき、前記画像形成装置の動作を再現するネットワーク命令再現部とを含み、
前記接続部は、前記操作信号取得部が前記操作信号を取得する際は前記操作部と前記操作制御部とを接続した状態とし、前記操作再現部が前記操作を再現する際は前記操作部と前記操作制御部とを切断した状態とし、
前記ネットワーク命令再現部は、前記画像形成装置の動作の再現開始に応じてタイミングのカウントを開始し、前記タイミング情報が示すタイミングに達したら、そのタイミング情報に関連付けられているネットワーク命令情報に基づいて前記ネットワークを介して送信された命令を生成し、ネットワークを介して前記画像形成装置に送信することを特徴とする動作解析装置。
【請求項２】
前記操作再現部は、前記画像形成装置の動作の再現開始に応じて前記接続部の接続状態を切り換えてタイミングのカウントを開始し、前記タイミング情報が示すタイミングに達したら、そのタイミング情報に関連付けられている操作再現情報に基づいて、ユーザによる前記操作部に対する操作を再現する信号を前記操作制御部に対して出力し、
前記ネットワーク命令再現情報記憶処理部及びネットワーク命令再現部は、情報処理装置によって構成されると共に、前記操作再現情報記憶処理部、前記接続部、前記操作信号取得部及び前記操作再現部は、前記情報処理装置とは異なるハードウェアによって構成され、
前記操作再現部は、前記タイミングのカウントを開始すると共に前記タイミングのカウントの同期信号を前記ネットワーク命令再現部に出力し、
前記ネットワーク命令再現部は、前記操作再現部から出力された前記同期信号に応じてタイミングのカウントを開始することを特徴とする請求項１に記載の動作解析装置。
【請求項３】
前記操作再現部は、前記画像形成装置の動作の再現開始に応じて開始されたタイミングのカウントのカウント値を所定の期間毎に前記情報処理装置に通知し、
前記ネットワーク命令再現部は、前記通知されたカウント値に基づき、前記画像形成装置の動作の再現開始に応じて開始されたタイミングのカウントのカウント値を補正することを特徴とする請求項２に記載の動作解析装置。
【請求項４】
前記操作再現情報記憶処理部は、前記操作信号が取得されたタイミングを判断するためのタイミングのカウント値を所定の期間毎に前記ネットワーク命令再現情報記憶処理部に通知し、
前記ネットワーク命令再現情報記憶処理部は、前記通知されたカウント値に基づき、前記画像形成装置に対してネットワークを介して命令が送信されたタイミングを判断するためのタイミングのカウント値を補正することを特徴とする請求項２または３に記載の動作解析装置。
【請求項５】
前記操作再現情報及び前記ネットワーク命令再現情報は、前記記憶媒体において共通の時系列のタイミング情報に関連付けられて記憶されていることを特徴とする請求項１乃至４いずれかに記載の動作解析装置。
【請求項６】
前記操作再現情報及び前記ネットワーク命令再現情報は、前記情報処理装置に設けられた記憶媒体において共通の時系列のタイミング情報に関連付けられて記憶されており、
前記情報処理装置において、前記操作再現部に前記操作再現情報を送信する操作再現情報送信部を更に含むことを特徴とする請求項２乃至４いずれかに記載の動作解析装置。
【請求項７】
前記操作再現情報送信部は、前記情報処理装置とは異なるハードウェアにおいて前記操作再現情報を一時的に記憶するための記憶領域の容量に応じて、前記操作再現情報を前記操作再現部に送信することを特徴とする請求項６に記載の動作解析装置。
【請求項８】
前記操作再現部は、前記画像形成装置の動作の再現を開始した後、前記操作再現情報を一時的に記憶するための記憶領域の空き容量を周期的に前記操作再現情報送信部に通知し、
前記操作再現部は、前記通知された空き容量に応じて前記操作再現情報を前記操作再現部に送信することを特徴とする請求項７に記載の動作解析装置。
【請求項９】
操作部を有する画像形成装置に対するユーザの操作を解析して前記画像形成装置の動作を再現する動作解析装置に含まれる情報処理装置であって、
ユーザが前記操作部を操作することにより前記操作部と前記操作制御部との間でやり取りされる信号である操作信号を前記操作部と前記操作部を制御する操作制御部との間の信号を取得可能なように接続される接続部を介して取得することにより、ユーザによる前記操作を示す操作情報と前記操作信号が取得されたタイミングを示すタイミング情報とが関連付けられて生成された操作再現情報を記憶する記憶媒体と、
前記画像形成装置に対してネットワークを介して送信された命令に基づくネットワーク命令情報と前記命令が送信されたタイミングを示すタイミング情報とを関連付けてネットワーク命令再現情報として前記記憶媒体に記憶させるネットワーク命令再現情報記憶処理部と、
前記記憶された操作再現情報を、前記画像形成装置の動作を再現する操作再現部に送信する操作再現情報送信部と、
前記記憶されたネットワーク命令再現情報に基づき、前記画像形成装置の動作を再現するネットワーク命令再現部とを含み、
前記操作再現情報送信部は、前記画像形成装置の動作の再現開始に応じて前記操作再現情報を送信し、
前記ネットワーク命令再現部は、前記画像形成装置の動作の再現開始に応じてタイミングのカウントを開始し、前記タイミング情報が示すタイミングに達したら、そのタイミング情報に関連付けられているネットワーク命令情報に基づいて前記ネットワークを介して送信された命令を生成し、ネットワークを介して前記画像形成装置に送信することを特徴とする情報処理装置。
【請求項１０】
操作部を有する画像形成装置に対するユーザの操作を解析して前記画像形成装置の動作を再現する動作解析方法であって、
操作信号取得部が、前記操作部と前記操作部を制御する操作制御部との間の信号を取得可能なように接続される接続部を介して、ユーザが前記操作部を操作することにより前記操作部と前記操作制御部との間でやり取りされる信号である操作信号を取得し、
操作再現情報記憶処理部が、前記取得された操作信号に基づく操作情報と前記操作信号が取得されたタイミングを示すタイミング情報とを関連付けて操作再現情報として記憶媒体に記憶させ、
ネットワーク命令再現情報記憶処理部が、前記画像形成装置に対してネットワークを介して送信された命令に基づくネットワーク命令情報と前記命令が送信されたタイミングを示すタイミング情報とを関連付けてネットワーク命令再現情報として記憶媒体に記憶させ、
操作再現部が、前記記憶された操作再現情報に基づいて前記画像形成装置の動作を再現し、
ネットワーク命令再現部が、前記記憶されたネットワーク命令再現情報に基づいて前記画像形成装置の動作を再現するものであり、
前記接続部は、前記操作信号取得部が前記操作信号を取得する際は前記操作部と前記操作制御部とを接続した状態とし、前記操作再現部が前記操作を再現する際は前記操作部と前記操作制御部とを切断した状態とし、
前記ネットワーク命令再現部は、前記画像形成装置の動作の再現開始に応じてタイミングのカウントを開始し、前記タイミング情報が示すタイミングに達したら、そのタイミング情報に関連付けられているネットワーク命令情報に基づいて前記ネットワークを介して送信された命令を生成し、ネットワークを介して前記画像形成装置に送信することを特徴とする動作解析方法。
【請求項１１】
操作部を有する画像形成装置に対するユーザの操作を解析して前記画像形成装置の動作を再現する動作解析プログラムであって、
前記操作部と前記操作部を制御する操作制御部との間の信号を取得可能なように接続される接続部を介して、ユーザが前記操作部を操作することにより前記操作部と前記操作制御部との間でやり取りされる信号である操作信号を取得し、前記取得された操作信号に基づく操作情報と前記操作信号が取得されたタイミングを示すタイミング情報とを関連付けて操作再現情報として記憶媒体に記憶させるステップと、
前記画像形成装置に対してネットワークを介して送信された命令に基づくネットワーク命令情報と前記命令が送信されたタイミングを示すタイミング情報とを関連付けてネットワーク命令再現情報として記憶媒体に記憶させるステップと、
前記記憶された操作再現情報に基づいて前記画像形成装置の動作を再現するステップと、
前記記憶されたネットワーク命令再現情報に基づいて前記画像形成装置の動作を再現するステップとを情報処理装置に実行させるものであり、
前記操作再現情報を前記記憶媒体に記憶させるステップは、前記接続部を制御して前記操作部と前記操作制御部とを接続した状態とするステップを含み、
前記操作再現情報に基づいて前記画像形成装置の動作を再現するステップは、前記接続部を制御して前記操作部と前記操作制御部とを切断した状態とするステップを含み、
前記ネットワーク命令再現情報に基づいて前記画像形成装置の動作を再現するステップは、前記画像形成装置の動作の再現開始に応じてタイミングのカウントを開始するステップと、前記タイミング情報が示すタイミングに達したら、そのタイミング情報に関連付けられているネットワーク命令情報に基づいて前記ネットワークを介して送信された命令を生成するステップと、前記生成された命令をネットワークを介して前記画像形成装置に送信するステップとを含むことを特徴とする動作解析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動作解析装置、情報処理装置、動作解析方法及び動作解析プログラムに関し、特に、ユーザによる操作を再現して動作を解析する動作解析装置に関する。
【背景技術】
【０００２】
近年、情報の電子化が推進される傾向にあり、電子化された情報の出力に用いられるプリンタやファクシミリ及び書類の電子化に用いるスキャナ等の画像処理装置は欠かせない機器となっている。このような画像処理装置は、撮像機能、画像形成機能及び通信機能等を備えることにより、プリンタ、ファクシミリ、スキャナ、複写機として利用可能な複合機として構成されることが多い。
【０００３】
このような画像処理装置において、ユーザによる操作の履歴を記憶しておき、障害が発生した場合に、障害の原因を究明するために、上記記憶された操作の履歴に基づいてユーザによる操作を再現する方法が提案されている（例えば、特許文献１参照）。
【０００４】
特許文献１に開示された技術においては、デバッグ作業の効率化を図る目的で、画像形成装置において操作部で行われたキー操作を記録・再生するキー操作再生方法とその再生手段を備えた画像形成装置について開示されており、操作部における経時的な複数のキーイベント情報を記録し、これをもとに特定のキー操作の再生を繰り返し実行し、操作の再現自動化を行う構成が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示された方法においては、ユーザによる操作の記録・再生を実現するために、装置を制御するソフトウェアに改変が加えられている。このため、操作再現時の動作が、通常の動作時と異なり、ソフトウェア的に発生する障害の再現性が低い。
【０００６】
また、画像形成装置に対してユーザが行う操作は、操作部上のキー、タッチパネル、電源スイッチに対する操作の他、ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）においては、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）からのプリントアウトやネットワークアクセス等がある。画像形成装置において発生する障害としては、画像形成装置上における操作のみに基づくものの他、画像形成装置上における操作とＰＣからのネットワークを介した操作とが複合的に行われた場合に発生するものがある。
【０００７】
特許文献１に開示された方法においては、画像形成装置に対してユーザが行った操作のみを操作記録の対象としているため、上述したような、画像形成装置上における操作とＰＣからのネットワークを介した操作とが複合的に行われた場合については再現されない。
【０００８】
本発明は、上記実情を考慮してなされたものであり、画像形成装置において発生した障害を再現して解析するための動作解析装置において、障害の再現性を向上することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明の一態様は、操作部を有する画像形成装置に対するユーザの操作を解析して前記画像形成装置の動作を再現する動作解析装置であって、前記操作部と前記操作部を制御する操作制御部との間の信号を取得可能なように接続される接続部と、ユーザが前記操作部を操作することにより前記操作部と前記操作制御部との間でやり取りされる信号である操作信号を、前記接続部を介して取得する操作信号取得部と、前記取得された操作信号に基づく操作情報と前記操作信号が取得されたタイミングを示すタイミング情報とを関連付けて操作再現情報として記憶媒体に記憶させる操作再現情報記憶処理部と、前記画像形成装置に対してネットワークを介して送信された命令に基づくネットワーク命令情報と前記命令が送信されたタイミングを示すタイミング情報とを関連付けてネットワーク命令再現情報として記憶媒体に記憶させるネットワーク命令再現情報記憶処理部と、前記記憶された操作再現情報に基づき、前記画像形成装置の動作を再現する操作再現部と、前記記憶されたネットワーク命令再現情報に基づき、前記画像形成装置の動作を再現するネットワーク命令再現部とを含み、前記接続部は、前記操作信号取得部が前記操作信号を取得する際は前記操作部と前記操作制御部とを接続した状態とし、前記操作再現部が前記操作を再現する際は前記操作部と前記操作制御部とを切断した状態とし、前記ネットワーク命令再現部は、前記画像形成装置の動作の再現開始に応じてタイミングのカウントを開始し、前記タイミング情報が示すタイミングに達したら、そのタイミング情報に関連付けられているネットワーク命令情報に基づいて前記ネットワークを介して送信された命令を生成し、ネットワークを介して前記画像形成装置に送信することを特徴とする。
【００１０】
また、本発明の他の態様は、操作部を有する画像形成装置に対するユーザの操作を解析して前記画像形成装置の動作を再現する動作解析装置に含まれる情報処理装置であって、ユーザが前記操作部を操作することにより前記操作部と前記操作制御部との間でやり取りされる信号である操作信号を前記操作部と前記操作部を制御する操作制御部との間の信号を取得可能なように接続される接続部を介して取得することにより、ユーザによる前記操作を示す操作情報と前記操作信号が取得されたタイミングを示すタイミング情報とが関連付けられて生成された操作再現情報を記憶する記憶媒体と、前記画像形成装置に対してネットワークを介して送信された命令に基づくネットワーク命令情報と前記命令が送信されたタイミングを示すタイミング情報とを関連付けてネットワーク命令再現情報として前記記憶媒体に記憶させるネットワーク命令再現情報記憶処理部と、前記記憶された操作再現情報を、前記画像形成装置の動作を再現する操作再現部に送信する操作再現情報送信部と、前記記憶されたネットワーク命令再現情報に基づき、前記画像形成装置の動作を再現するネットワーク命令再現部とを含み、前記操作再現情報送信部は、前記画像形成装置の動作の再現開始に応じて前記操作再現情報を送信し、前記ネットワーク命令再現部は、前記画像形成装置の動作の再現開始に応じてタイミングのカウントを開始し、前記タイミング情報が示すタイミングに達したら、そのタイミング情報に関連付けられているネットワーク命令情報に基づいて前記ネットワークを介して送信された命令を生成し、ネットワークを介して前記画像形成装置に送信することを特徴とする。
【００１１】
また、本発明の更に他の態様は、操作部を有する画像形成装置に対するユーザの操作を解析して前記画像形成装置の動作を再現する動作解析方法であって、操作信号取得部が、前記操作部と前記操作部を制御する操作制御部との間の信号を取得可能なように接続される接続部を介して、ユーザが前記操作部を操作することにより前記操作部と前記操作制御部との間でやり取りされる信号である操作信号を取得し、操作再現情報記憶処理部が、前記取得された操作信号に基づく操作情報と前記操作信号が取得されたタイミングを示すタイミング情報とを関連付けて操作再現情報として記憶媒体に記憶させ、ネットワーク命令再現情報記憶処理部が、前記画像形成装置に対してネットワークを介して送信された命令に基づくネットワーク命令情報と前記命令が送信されたタイミングを示すタイミング情報とを関連付けてネットワーク命令再現情報として記憶媒体に記憶させ、操作再現部が、前記記憶された操作再現情報に基づいて前記画像形成装置の動作を再現し、ネットワーク命令再現部が、前記記憶されたネットワーク命令再現情報に基づいて前記画像形成装置の動作を再現するものであり、前記接続部は、前記操作信号取得部が前記操作信号を取得する際は前記操作部と前記操作制御部とを接続した状態とし、前記操作再現部が前記操作を再現する際は前記操作部と前記操作制御部とを切断した状態とし、前記ネットワーク命令再現部は、前記画像形成装置の動作の再現開始に応じてタイミングのカウントを開始し、前記タイミング情報が示すタイミングに達したら、そのタイミング情報に関連付けられているネットワーク命令情報に基づいて前記ネットワークを介して送信された命令を生成し、ネットワークを介して前記画像形成装置に送信することを特徴とする。
【００１２】
また、本発明の更に他の態様は、操作部を有する画像形成装置に対するユーザの操作を解析して前記画像形成装置の動作を再現する動作解析プログラムであって、前記操作部と前記操作部を制御する操作制御部との間の信号を取得可能なように接続される接続部を介して、ユーザが前記操作部を操作することにより前記操作部と前記操作制御部との間でやり取りされる信号である操作信号を取得し、前記取得された操作信号に基づく操作情報と前記操作信号が取得されたタイミングを示すタイミング情報とを関連付けて操作再現情報として記憶媒体に記憶させるステップと、前記画像形成装置に対してネットワークを介して送信された命令に基づくネットワーク命令情報と前記命令が送信されたタイミングを示すタイミング情報とを関連付けてネットワーク命令再現情報として記憶媒体に記憶させるステップと、前記記憶された操作再現情報に基づいて前記画像形成装置の動作を再現するステップと、前記記憶されたネットワーク命令再現情報に基づいて前記画像形成装置の動作を再現するステップとを情報処理装置に実行させるものであり、前記操作再現情報を前記記憶媒体に記憶させるステップは、前記接続部を制御して前記操作部と前記操作制御部とを接続した状態とするステップを含み、前記操作再現情報に基づいて前記画像形成装置の動作を再現するステップは、前記接続部を制御して前記操作部と前記操作制御部とを切断した状態とするステップを含み、前記ネットワーク命令再現情報に基づいて前記画像形成装置の動作を再現するステップは、前記画像形成装置の動作の再現開始に応じてタイミングのカウントを開始するステップと、前記タイミング情報が示すタイミングに達したら、そのタイミング情報に関連付けられているネットワーク命令情報に基づいて前記ネットワークを介して送信された命令を生成するステップと、前記生成された命令をネットワークを介して前記画像形成装置に送信するステップとを含むことを特徴とする。
【発明の効果】
【００１３】
本発明によれば、画像形成装置において発生した障害を再現して解析するための動作解析装置において、障害の再現性を向上することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態に係る画像形成装置のハードウェア構成を示すブロック図である。
【図２】本発明の実施形態に係る画像形成装置の機能構成を示す図である。
【図３】本発明の実施形態に係る画像形成装置に含まれるディスプレイパネルの機能構成を示す図である。
【図４】本発明の実施形態に係るディスプレイパネルに含まれるタッチパネルの機能構成を示す図である。
【図５】本発明の実施形態に係るディスプレイパネルに含まれるタッチパネルのコントローラの動作を示すフローチャートである。
【図６】本発明の実施形態に係るディスプレイパネルに含まれるタッチパネルのコントローラの動作を示すフローチャートである。
【図７】本発明の実施形態に係るキースイッチの構成を示す図である。
【図８】本発明の実施形態に係るキースイッチの押下検知における制御信号を示すタイミングチャートである。
【図９】本発明の実施形態に係るキースイッチの押下及び検知されるキーのタイミングを示すタイミングチャートである。
【図１０】本発明の実施形態に係る動作解析装置の機能構成及び画像形成装置との接続関係を示す図である。
【図１１】本発明の実施形態に係る動作解析装置の全体動作を示すフローチャートである。
【図１２】本発明の実施形態に係る動作解析装置の記録処理の全体動作を示すフローチャートである。
【図１３】本発明の実施形態に係る動作解析装置のキースイッチ操作の記録処理を示すフローチャートである。
【図１４】本発明の実施形態に係る動作解析装置のタッチパネル操作の記録処理を示すフローチャートである。
【図１５】本発明の実施形態に係る動作解析装置の再生処理の全体動作を示すフローチャートである。
【図１６】本発明の実施形態に係る動作解析装置のキースイッチ操作の再現処理を示すフローチャートである。
【図１７】本発明の実施形態に係る動作解析装置のタッチパネル操作の再現処理を示すフローチャートである。
【図１８】本発明の実施形態に係る発光部の構成を示す図である。
【図１９】本発明の実施形態に係るＰＣに表示される制御アプリケーションのＧＵＩを示す図である。
【図２０】本発明の実施形態に係るマイコンとＰＣとの同期処理を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、図面を参照して、本発明の実施形態を詳細に説明する。本実施形態においては、プリンタ、スキャナ、複写機等の機能を含む複合機（ＭＦＰ：Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）としての画像形成装置において生じた障害を再現して動作を解析する動作解析装置を例として説明する。
【００１６】
図１は、動作解析対象である画像形成装置１のハードウェア構成を示すブロック図である。図１に示すように、本実施形態に係る画像形成装置１は、一般的なサーバやＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等の情報処理端末と同様の構成に加えて、画像形成を実行するエンジンを有する。即ち、本実施形態に係る画像形成装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０、エンジン４０、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）５０及びＩ／Ｆ６０がバス９０を介して接続されている。また、Ｉ／Ｆ６０にはＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）７０及び操作部８０が接続されている。
【００１７】
ＣＰＵ１０は演算手段であり、画像形成装置１全体の動作を制御する。ＲＡＭ２０は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、ＣＰＵ１０が情報を処理する際の作業領域として用いられる。ＲＯＭ３０は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。エンジン４０は、画像形成装置１において実際に画像形成を実行する機構である。
【００１８】
ＨＤＤ５０は、情報の読み書きが可能な不揮発性の記憶媒体であり、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や各種の制御プログラム、アプリケーション・プログラム等が格納されている。Ｉ／Ｆ６０は、バス９０と各種のハードウェアやネットワーク等を接続し制御する。ＬＣＤ７０は、ユーザが画像形成装置１の状態を確認するための視覚的ユーザ・インタフェースである。操作部８０は、キーボードやマウス等、ユーザが画像形成装置１に情報を入力するためのユーザ・インタフェースである。
【００１９】
このようなハードウェア構成において、ＲＯＭ３０やＨＤＤ５０若しくは図示しない光学ディスク等の記録媒体に格納されたプログラムがＲＡＭ２０に読み出され、ＣＰＵ１０の制御に従って動作することにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、本実施形態に係る画像形成装置１の機能を実現する機能ブロックが構成される。
【００２０】
次に、図２を参照して、本実施形態に係る画像形成装置１の機能構成について説明する。図２は、本実施形態に係る画像形成装置１の機能構成を示すブロック図である。図２に示すように、本実施形態に係る画像形成装置１は、コントローラ１００、ＡＤＦ（Ａｕｔｏ  Ｄｏｃｕｍｅｎｎｔ  Ｆｅｅｄｅｒ：原稿自動搬送装置）１１０、スキャナユニット１２０、排紙トレイ１３０、ディスプレイパネル１４０、給紙テーブル１５０、プリントエンジン１６０、排紙トレイ１７０及びネットワークＩ／Ｆ１８０を有する。
【００２１】
また、コントローラ１００は、主制御部１０１、エンジン制御部１０２、入出力制御部１０３、画像処理部１０４及び操作表示制御部１０５を有する。図２に示すように、本実施形態に係る画像形成装置１は、スキャナユニット１２０、プリントエンジン１６０を有する複合機として構成されている。尚、図２においては、電気的接続を実線の矢印で示しており、用紙の流れを破線の矢印で示している。
【００２２】
ディスプレイパネル１４０は、画像形成装置１の状態を視覚的に表示する出力インタフェースであると共に、タッチパネルとしてユーザが画像形成装置１を直接操作し若しくは画像形成装置１に対して情報を入力する際の入力インタフェース（操作部）でもある。ネットワークＩ／Ｆ１８０は、画像形成装置１がネットワークを介して他の機器と通信するためのインタフェースであり、Ｅｔｈｅｒｎｅｔ（登録商標）やＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）インタフェースが用いられる。
【００２３】
コントローラ１００は、ソフトウェアとハードウェアとの組み合わせによって構成される。具体的には、ＲＯＭ３０や不揮発性メモリ並びにＨＤＤ５０や光学ディスク等の不揮発性記録媒体に格納されたファームウェア等の制御プログラムが、ＲＡＭ２０等の揮発性メモリ（以下、メモリ）にロードされ、ＣＰＵ１０の制御に従って構成されるソフトウェア制御部と集積回路などのハードウェアとによってコントローラ１００が構成される。コントローラ１００は、画像形成装置１全体を制御する制御部として機能する。
【００２４】
主制御部１０１は、コントローラ１００に含まれる各部を制御する役割を担い、コントローラ１００の各部に命令を与える。エンジン制御部１０２は、プリントエンジン１６０やスキャナユニット１２０等を制御若しくは駆動する駆動手段としての役割を担う。入出力制御部１０３は、ネットワークＩ／Ｆ１８０を介して入力される信号や命令を主制御部１０１に入力する。また、主制御部１０１は、入出力制御部１０３を制御し、ネットワークＩ／Ｆ１８０を介して他の機器にアクセスする。
【００２５】
画像処理部１０４は、主制御部１０１の制御に従い、入力された印刷ジョブに含まれる印刷情報に基づいて描画情報を生成する。この描画情報とは、画像形成部であるプリントエンジン１６０が画像形成動作において形成すべき画像を描画するための情報である。また、印刷ジョブに含まれる印刷情報とは、ＰＣ等の情報処理装置にインストールされたプリンタドライバによって画像形成装置１が認識可能な形式に変換された情報であり、ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）や、Ｐｏｓｔｓｃｒｉｐｔ、ＰＣＬ（Ｐｒｉｎｔｅｒ  Ｃｏｍｍａｎｄ  Ｌａｎｇｕａｇｅ）、ＲＰＣＳ（Ｒｅｆｉｎｅｄ  Ｐｒｉｎｔｅｒ  Ｃｏｍｍａｎｄ  Ｓｔｒｅａｍ）等の情報である。操作表示制御部１０５は、ディスプレイパネル１４０に情報表示を行い若しくはディスプレイパネル１４０を介して入力された情報を主制御部１０１に通知する。
【００２６】
画像形成装置１がプリンタとして動作する場合は、まず、入出力制御部１０３がネットワークＩ／Ｆ１８０を介して印刷ジョブを受信する。入出力制御部１０３は、受信した印刷ジョブを主制御部１０１に転送する。主制御部１０１は、印刷ジョブを受信すると、画像処理部１０４を制御して、印刷ジョブに含まれる印刷情報に基づいて描画情報を生成させる。
【００２７】
画像処理部１０４によって描画情報が生成されると、エンジン制御部１０２は、生成された描画情報に基づき、給紙テーブル１５０から搬送される用紙に対して画像形成を実行する。即ち、プリントエンジン１６０が画像形成部として機能する。プリントエンジン１６０の具体的態様としては、インクジェット方式による画像形成機構や電子写真方式による画像形成機構等を用いることが可能である。プリントエンジン１６０によって画像形成が施された文書は排紙トレイ１７０に排紙される。
【００２８】
画像形成装置１がスキャナとして動作する場合は、ユーザによるディスプレイパネル１４０の操作若しくはネットワークＩ／Ｆ１８０を介して外部のクライアント用の情報処理端末等から入力されるスキャン実行指示に応じて、操作表示制御部１０５若しくは入出力制御部１０３が主制御部１０１にスキャン実行信号を転送する。主制御部１０１は、受信したスキャン実行信号に基づき、エンジン制御部１０２を制御する。
【００２９】
エンジン制御部１０２は、ＡＤＦ１１０を駆動し、ＡＤＦ１１０にセットされた撮像対象原稿をスキャナユニット１２０に搬送する。また、エンジン制御部１０２は、スキャナユニット１２０を駆動し、ＡＤＦ１１０から搬送される原稿を撮像する。また、ＡＤＦ１１０に原稿がセットされておらず、スキャナユニット１２０に直接原稿がセットされた場合、スキャナユニット１２０は、エンジン制御部１０２の制御に従い、セットされた原稿を撮像する。即ち、スキャナユニット１２０が撮像部として動作する。
【００３０】
撮像動作においては、スキャナユニット１２０に含まれるＣＣＤ等の撮像素子が原稿を光学的に走査し、光学情報に基づいて撮像情報が生成される。エンジン制御部１０２は、スキャナユニット１２０が生成した撮像情報を画像処理部１０４に転送する。画像処理部１０４は、主制御部１０１の制御に従い、エンジン制御部１０２から受信した撮像情報に基づき画像情報を生成する。画像処理部１０４が生成した画像情報はＨＤＤ４０等の画像形成装置１に装着された記憶媒体に保存される。即ち、スキャナユニット１２０、エンジン制御部１０２及び画像処理部１０４が連動して、原稿読み取り部として機能する。
【００３１】
画像処理部１０４によって生成された画像情報は、ユーザの指示に応じてそのままＨＤＤ４０等に格納され若しくは入出力制御部１０３及びネットワークＩ／Ｆ１８０を介して外部の装置に送信される。即ち、スキャナユニット１２０及びエンジン制御部１０２が画像入力部として機能する。
【００３２】
また、画像形成装置１が複写機として動作する場合は、エンジン制御部１０２がスキャナユニット１２０から受信した撮像情報若しくは画像処理部１０４が生成した画像情報に基づき、画像処理部１０４が描画情報を生成する。その描画情報に基づいてプリンタ動作の場合と同様に、エンジン制御部１０２がプリントエンジン１６０を駆動する。
【００３３】
このような画像形成装置１に対して、本実施形態に係る動作解析装置は、ディスプレイパネル１４０内部の信号を取得可能なように接続される。先ず、ディスプレイパネル１４０の構成について、図３を参照して説明する。図３は、本実施形態に係るディスプレイパネル１４０の構成のうち、操作部としての機能構成及び操作表示制御部１０５との接続関係を示す図である。
【００３４】
図３に示すように、本実施形態に係るディスプレイパネル１４０は、コントローラ１４１、タッチパネル１４２、キースイッチ１４３を含み、コントローラ１４１は、ＡＤＣ（Ａｎａｌｏｇ  ｔｏ  Ｄｉｇｉｔａｌ  Ｃｏｎｖｅｒｔｅｒ）１４４、コネクタ１４５及び主制御部１４６を含む。コントローラ１４１は、ディスプレイパネル１４０における操作部としての機能を制御する制御部であり、ユーザによるタッチパネル１４２及びキースイッチ１４３の操作によって生成された信号を処理して操作情報として操作表示制御部１０５に送信する。本実施形態に係るコントローラ１４１は、画像形成装置１のコントローラ１００と同様に、図１において説明したようなＣＰＵ１０、ＲＡＭ２０及び制御プログラム等によるソフトウェア制御部と、ハードウェアとによって構成される。
【００３５】
ＡＤＣ１４４は、主制御部１４６から入力されるシリアル制御信号に基づき、タッチパネル１４２から出力されたアナログ信号をデジタル信号に変換して主制御部１４６に入力する。コネクタ１４５は、ＡＤＣ１４４と主制御部１４６との間の信号及びキースイッチ１４３と主制御部１４６との間の信号を外部に取り出し、且つ外部から主制御部１４６に対して信号を入力するためのインタフェースである。図に示すように、画像形成装置１の通常動作状態においては、コネクタ１４５の各端子はバイパスされており、ＡＤＣ１４４若しくはキースイッチ１４３と主制御部１４６とが接続されている。
【００３６】
主制御部１４６は、ＡＤＣ１４４若しくはキースイッチ１４３から入力された信号を画像形成装置１における操作信号に変換して操作表示制御部１０５に入力する。尚、本実施形態において、操作表示制御部１０５と主制御部１４６とは、ＵＳＢインタフェースにより接続されている。
【００３７】
タッチパネル１４２は、ＬＣＤ等の表示画面及びその画面上におけるユーザのタッチ位置を検知するセンサを含む。タッチパネル１４２は、ユーザによってタッチされた位置の座標に応じたアナログ信号、即ち、座標に応じた電圧値をＡＤＣ１４４に出力する。図４に、タッチパネル１４２、ＡＤＣ１４４及び主制御部１４６の接続関係を示す。即ち、ＡＤＣ１４４及びタッチパネル１４２に電圧を供給する周辺の回路等が、タッチパネルコントローラとして機能する。
【００３８】
図４に示すように、タッチパネル１４２には、Ｘ座標及びＹ座標の夫々について、高電位側及び低電位側の接続端子が設けられている。これらの接続端子は、夫々Ｘｐ、Ｘｎ、Ｙｐ、ＹｎとしてＡＤＣ１４４に接続されており、ＡＤＣ１４４は、ＸｐとＸｎ及びＹｐとＹｎの電圧値をデジタル信号に変換する。ＡＤＣ１４４には主制御部１４６からの制御信号が入力されており、ＡＤＣ１４４は、この制御信号に応じて上記電圧値の取得及び変換を実行し、主制御部１４６に変換後のデジタル信号を出力する。
【００３９】
また、ＡＤＣ１４４は、ユーザによるタッチパネルのタッチ及びリリースの検知状態に応じた検知信号（以降、タッチ検知信号とする）を、割り込み信号として主制御部１４６に出力する。尚、本実施形態に係るタッチ検知信号は、ユーザがタッチパネル１４２にタッチしている場合は“Ｌｏｗ”、タッチしていない場合は“Ｈｉｇｈ”の状態である。
【００４０】
次に、図５を参照して主制御部１４６によるタッチパネルのタッチ位置認識動作について説明する。図５に示すように、タッチ検知信号が“Ｌｏｗ”となると（Ｓ５０１／ＹＥＳ）、主制御部１４６は、ＡＤＣ１４４に制御信号を入力してタッチ位置の座標測定処理を実行する（Ｓ５０２）。座標測定処理が完了すると、主制御部１４６は１０ｍｓの間待機する（Ｓ５０３）。１０ｍｓの間待機する間にタッチ検知信号が“Ｌｏｗ”ではなくなった場合（Ｓ５０４／ＮＯ）、主制御部１４６は、タッチリリース処理を行い（Ｓ５０８）、Ｓ５０１からの処理を繰り返す。
【００４１】
他方、１０ｍｓの間待機した後もタッチ検知信号が“Ｌｏｗ”であれば、主制御部１４６は、再度座標測定処理を実行する（Ｓ５０５）。Ｓ５０５の処理が完了すると、主制御部１４６は、３回分の座標測定が完了しているか否か及び３回分の測定値のばらつきが所定値以内であるか否かを判断する（Ｓ５０６）。未だ３回分の座標測定が完了していない若しくは３回分の測定のばらつきが所定値を超えている場合（Ｓ５０６／ＮＯ）、主制御部１４６はＳ５０３からの処理を繰り返す。他方、３回分の座標測定が完了しており、且つ測定値のばらつきが所定値以内であれば（Ｓ５０６／ＹＥＳ）、主制御部１４６は、測定の平均値により座標を確定し（Ｓ５０７）、Ｓ５０１からの処理を繰り返す。
【００４２】
図５に示す処理が繰り返されることにより、タッチリリース処理が実行されることなく、連続して座標が確定された場合、主制御部１４６は、その確定された座標値により、タッチパネル１４２上に表示された同一のボタンの連続押下や、ドラッグ操作等を認識する。このような処理により、主制御部１４６は、ユーザによるタッチパネル１４２への操作を認識し、操作表示制御部１０５に操作信号を出力する。
【００４３】
次に、Ｓ５０２及びＳ５０５の座標測定処理について図６を参照して説明する。図６に示すように、主制御部１４６は、座標測定処理を開始すると、ＡＤＣ１４４に対して座標検知コマンドを制御信号として送信する（Ｓ６０１）。この座標検知コマンドは、図５のＳ５０１において、タッチ検知信号が“Ｌｏｗ”となったことに対する応答信号である。Ｓ６０１に対する応答としてＡＤＣ１４４からデジタル信号を受信すると（Ｓ６０２／ＹＥＳ）、主制御部１４６は受信したデータを格納する（Ｓ６０３）。主制御部１４６は、Ｓ６０１〜Ｓ６０３までの処理を８回繰り返し（Ｓ６０４／ＮＯ）、１〜３回目のデータを破棄して４〜８回目のデータのばらつきが所定値以内であるか否か確認する（Ｓ６０５）。
【００４４】
Ｓ６０５の処理の結果、４〜８回目のデータのばらつきが所定値以内であれば、４〜８回目のデータ平均値を座標測定結果の確定値として（Ｓ６０６）、処理を終了する。他方、４〜８回目のデータのばらつきが所定値を超えている場合、主制御部１４６は、Ｓ６０１からの処理を繰り返す。このような処理により、座標測定処理が完了する。
【００４５】
キースイッチ１４３は、複数のキーによって構成されたハードスイッチである。図７に、キースイッチ１４３に含まれるハードスイッチと主制御部１４６との接続関係を示す。図７に示すように、主制御部１４６に接続されたキー押下検知制御信号線ＳＣＡＮ０〜３の夫々に対して、８個のキースイッチが接続されている。スイッチの他端はキー押下検知信号線ＫＥＹ０〜７のいずれかに接続されており、全体として３２個のキースイッチがマトリクス上に接続されて配置されている。
【００４６】
図７に示すように、キー押下検知信号線ＫＥＹ０〜７には、抵抗を介して高電位が接続されているため、キースイッチが“ＯＦＦ”の状態においては、“Ｈｉｇｈ”となる。ユーザによるキー入力を待っている状態において、主制御部１４６は、キー押下検知制御信号線の信号であるＳＣＡＮ０〜３の信号状態を全て“Ｌｏｗ”とする。これにより、ユーザによっていずれかのキースイッチが押下されると、そのキースイッチに接続されたキー押下検知信号線の信号であるＫＥＹが“Ｌｏｗ”となる。
【００４７】
主制御部１４６は、ＫＥＹの何れかが“Ｌｏｗ”となることにより、ユーザによってキースイッチのいずれかが押下されたことを認識する。また、“Ｌｏｗ”となったＫＥＹが再度“Ｈｉｇｈ”となることにより、押下されたキースイッチがリリースされたことを認識する。主制御部１４６は、ＫＥＹの何れかが“Ｌｏｗ”となることにより、割り込み処理を発生させていずれのキースイッチが押下されたかを判別するための動作（以降、キースイッチ押下判別動作とする）を実行する。その動作について、以下に説明する。
【００４８】
図８及び図９は、主制御部１４６によるキースイッチ押下判別動作における各信号のタイミングを示すタイミングチャートである。図８は、ＫＥＹの何れかが“Ｌｏｗ”となることにより、主制御部１４６がキースイッチ押下判別動作を開始した後の信号状態を示す。図８に示すように、ＫＥＹ０〜７の何れかが“Ｌｏｗ”となることにより割り込み処理が発生すると、主制御部１４６は、ＳＣＡＮ０〜３を全て“Ｈｉｇｈ”とした上で、ＳＣＡＮ０〜３を１つずつ順番に“Ｌｏｗ”としてＫＥＹ０〜７の信号状態を確認する。このＳＣＡＮ０〜３が全て“Ｈｉｇｈ”となった後に順番に“Ｌｏｗ”となる信号は、ＫＥＹ０〜７の何れかが“Ｌｏｗ”となったことに対する応答信号である。
【００４９】
主制御部１４６は、このＫＥＹ０〜７の信号状態の確認を、ＳＣＡＮの立下りから１ｍｓ経過後に実行する。“Ｌｏｗ”としたＳＣＡＮと、それに伴って“Ｌｏｗ”となったＫＥＹとの組み合わせにより、主制御部１４６は、ユーザによって押下されたキースイッチを認識することができる。即ち、ＫＥＹ０〜７のいずれかが“Ｌｏｗ”となった際に、その“Ｌｏｗ”となったＫＥＹと、“Ｌｏｗ”としたＳＣＡＮとに接続されているキースイッチが、押下されたものであることがわかる。
【００５０】
主制御部１４６は、ＳＣＡＮ０〜３を夫々１回ずつ“Ｈｉｇｈ”から“Ｌｏｗ”に遷移させる処理（以降、押下キースイッチ認識処理とする）を実行して押下されたキースイッチを認識した後、図８に示すように、ＳＣＡＮ０〜３の全てを再度“Ｌｏｗ”とすることにより、キー押下検知若しくはキーリリース検知の待機状態に戻る。そして、最初の割り込み検知タイミングから１０ｍｓを経過したタイミングにおいて、２回目の押下キースイッチ認識処理を実行する。その結果、１回目の押下キースイッチ認識処理と２回目の押下キースイッチ認識処置との認識結果が一致した場合のみ、その認識結果を採用する。
【００５１】
図９は、キースイッチの押下及びリリースの判断を示すタイミングチャートである。主制御部１４６は、キースイッチの押下を認識した後、キーリリースが検知されない場合であっても、２００ｍｓ毎に上述した押下キースイッチ認識処理を実行してキースイッチの状態変化を監視する。例えば、いずれか１つのキースイッチが押下された後、その押下されたキースイッチと同一のキー押下検知信号線に接続されたキースイッチが押下されても、既に“Ｌｏｗ”となっているＫＥＹの信号状態は変化しないため、主制御部１４６は後のキースイッチの押下を認識することが出来ない。上述したように２００ｍｓ毎に押下―キースイッチ認識処理を実行することにより、このような課題を解決することができる。
【００５２】
次に、本実施形態に係る動作解析装置２の構成及びディスプレイパネル１４０との接続態様について図１０を参照して説明する。図１０に示すように、本実施形態に係る動作解析装置２は、ユーザ操作解析・再現部２１０、ＵＳＢプロトコルアナライザ２２０及びＰＣ２３０を含む。
【００５３】
ユーザ操作解析・再現部２１０は、タッチパネル１４２からＡＤＣ１４４を介して入力される信号やキースイッチ１４３によって入力される信号並びに主制御部１４６による制御信号、即ち、主制御部１４６とＡＤＣ１４４若しくはキースイッチ１４３との間でやり取りされる操作信号を取得して記録すると共に、タッチパネル１４２及びキースイッチ１４３に代わって主制御部１４６からの制御信号に応答してユーザ操作を再現する。
【００５４】
ユーザ操作解析・再現部２１０は、スイッチ回路２１１、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）２１２及びマイコン２１３を含む。スイッチ回路２１１は、ディスプレイパネル１４０のコネクタ１４５から引き出された信号線との接続部であり、図１０に示すように、コネクタ１４５と接続されることにより、ＡＤＣ１４４及びキースイッチ１４３側（以降、入力側とする）と、主制御部１４６側（以降、制御側とする）との間において両者を接続し若しくは切断することができる。
【００５５】
また、スイッチ回路２１１は、ＦＰＧＡ２１２と接続されており、入力側と制御側とが接続された状態においては、入力側及び制御側双方の信号を取得してＦＰＧＡ２１２に入力する。また、入力側と制御側とが切断された状態において、スイッチ回路２１１は、入力側に代わって制御信号を取得してＦＰＧＡ２１２に入力し、ＦＰＧＡから出力された信号を主制御部１４６に入力する。
【００５６】
ＦＰＧＡ２１２は、ユーザ操作解析・再現部２１０において、マイコン２１３が、入力側と制御側との間でやり取りされる信号を取り込む際の負荷を吸収するために設けられており、特に、主制御部１４６とＡＤＣ１４４との間でやり取りされる信号の処理負荷を吸収するために設けられている。上述したように、主制御部１４６とＡＤＣ１４４との間でやり取りされる信号は、主制御部１４６から出力される制御信号、ＡＤＣ１４４から出力されるデジタル信号及び検知信号等であり、タッチパネル１４２をコントロールするための特有な信号である。これらを全てマイコン２１３が直接取得する場合、多くの割り込み処理が発生して、マイコン２１３の負荷が非常に高くなる。これに対して、ＦＰＧＡ２１２がそれらの信号を受信して記録すべき信号を取得した上でマイコン２１３に送信することにより、マイコン２１３の負荷を低減することができる。
【００５７】
マイコン２１３は、ユーザ操作解析・再現部２１０において、ディスプレイパネル１４０のタッチパネル１４２及びキースイッチ１４３へのユーザ操作の解析及び信号の記録並びに、主制御部１４６へのユーザ操作の再現を制御する制御部である。マイコン２１３は、ユーザ操作による信号の記録に際して、スイッチ回路２１１及びＦＰＧＡ２１２を介して信号を取得する。即ち、マイコン２１３が操作信号取得部として機能する。
【００５８】
そして、マイコン２１３は、ディスプレイパネル１４０に対する操作を再現するための操作再現情報を、上記取得した信号に基づいてＰＣ２３０に含まれる記憶媒体であるＨＤＤ２３２に記憶させる。即ち、マイコン２１３が、操作再現情報記憶処理部として機能する。また、マイコン２１３は、主制御部１４６に対するユーザ操作の再現に際して、ＰＣ２３０のＨＤＤ２３２に記憶されている情報に従って主制御部１４６に対して信号を出力し、ユーザによる操作を再現する。即ち、マイコン２１３が操作再現部として機能する。
【００５９】
ＵＳＢプロトコルアナライザ２２０は、主制御部１４６と操作表示制御部１０５との間でやり取りされる情報を取得して解析し、ＰＣ２３０のＨＤＤに記憶させる。主制御部１４６と操作表示制御部１０５との間でやり取りされる情報とは、ユーザがキースイッチ１４３等を操作したことにより、主制御部１４６が他の部位を制御するために出力する制御信号である。
【００６０】
ＵＳＢプロトコルアナライザによって記憶された情報は、ユーザ操作解析・再現部２１０によるユーザ操作の再現において主制御部１４６と操作表示制御部１０５とがやり取りする情報が、通常のユーザ操作においてやり取りされた情報と一致するか否かを確認する目的等に用いられる。この一致の確認は、ユーザ操作解析・再現部によって再現された操作の正確性を確認するために実行される。即ち、ＵＳＢプロトコルアナライザ２００は、再現確認部としても機能する。
【００６１】
ＰＣ２３０は、制御アプリケーション２３１及びＨＤＤ２３２を含み、上述したように、マイコン２１３及びＵＳＢプロトコルアナライザ２２０が取得した情報をＨＤＤに格納する。これらの情報のＨＤＤ２３２への格納は、制御アプリケーション２３１によって処理される。
【００６２】
また、制御アプリケーション２３１は、マイコン２１３及びＵＳＢプロトコルアナライザ２２０が取得した情報に加えて、ＰＣ２３０から画像形成装置１に対して行われたプリントアウトやネットワークアクセス等の処理（以降、外部操作とする）の命令を解析し、その命令を示す情報をネットワーク命令情報として取得する。そして、制御アプリケーション２３１は、このネットワーク命令情報を、マイコン２１３及びＵＳＢプロトコルアナライザ２２０が取得した情報と同様にネットワーク命令再現情報としてＨＤＤ２３２に格納する。即ち、制御アプリケーション２３１が、ネットワーク命令再現情報記憶処理部として機能する。
【００６３】
更に、制御アプリケーション２３１は、ＨＤＤ２３２に格納した情報に基づき、ネットワークを介して画像形成装置１にコマンドを送信する。これにより、ＰＣ２３０から画像形成装置１に対して行われた外部操作が再現される。即ち、制御アプリケーション２３１が、ネットワーク命令再現部として機能する。
【００６４】
尚、本実施形態において、マイコン２１３及びＵＳＢプロトコルアナライザ２２０は、ＰＣ２３０から“記録開始”や“再現開始”等のコマンドを受信することにより、夫々の動作を実行する。これらのコマンドは、ユーザがＰＣ２３０を操作することにより入力される。また、制御アプリケーション２３１は、ＰＣ２３０に対するユーザの操作に応じて、上述した外部操作の記録・再現を実行する。
【００６５】
次に、本実施形態に係る動作解析装置２の動作について、図１１を参照して説明する。図１１は、本実施形態に係るマイコン２１３の全体動作を示すフローチャートである。図１１に示すように、マイコン２１３は、ＰＣ２３０から記録開始コマンドを受信すると（Ｓ１１０１／ＹＥＳ）、モードを記録モードとし（ｍｏｄｅ＝ＳＣＡＮ）、実行フラグをオンとする（Ｒｕｎｎｉｎｇ＝１）（Ｓ１１０３）。
【００６６】
他方、記録開始コマンドではなく（Ｓ１１０１／ＮＯ）、再生コマンドを受信した場合（Ｓ１１０２／ＹＥＳ）、モードを再生モード（ｍｏｄｅ＝ＰＬＡＹ）とする（Ｓ１１０４）。Ｓ１０４若しくはＳ１１０５の処理を完了すると、マイコン２１３は、モードを確認し、記録モード（ｍｏｄｅ＝ＳＣＡＮ）であれば（Ｓ１１０５／ＹＥＳ）、マイコンは記録処理を実行する（Ｓ１１０７）。記録処理の詳細については後述する。
【００６７】
他方、記録モードではなく（Ｓ１１０５／ＮＯ）、再生モード（ｍｏｄｅ＝ＰＬＡＹ）であれば（Ｓ１１０６／ＹＥＳ）、マイコン２１３は、再生処理を実行する（Ｓ１１０８）。再生処理の詳細については後述する。再生モードでも無い場合（Ｓ１１０６／ＮＯ）、マイコン２１３は、待機モード（ｍｏｄｅ＝ＷＡＩＴ）であるとして（Ｓ１１０９）、Ｓ１１０１から処理を繰り返す。他方、Ｓ１１０７若しくはＳ１１０８の処理が完了すると、マイコン２１３は、Ｓ１１０５からの処理を繰り返す。このような処理により、本実施形態に係るマイコン２１３による動作解析装置２の制御が実行される。
【００６８】
次に、図１２を参照して本実施形態に係るＳ１１０７の記録処理、即ち、ユーザがタッチパネル１４２若しくはキースイッチ１４３を操作することにより入力される信号の記録処理について説明する。図１２は、本実施形態に係る記録処理におけるマイコン２１３及びＰＣ２３０の動作を示すフローチャートである。本実施形態に係るマイコン２１３は、ＰＣ２３０から記録開始のコマンドを受信することにより、記録処理をスタートする。
【００６９】
この場合、マイコン２１３はスイッチ回路２１１を制御し、コネクタ１４５の入力側と制御側とが接続された状態となるようにする。従って、ユーザがタッチパネル１４４若しくはキースイッチ１４３を操作することにより入力された信号は、スイッチ回路２１１を経由して、通常の動作と同様に主制御部１４６に入力される。同時に、主制御部１４６が出力する制御信号は、スイッチ回路２１１を経由してＡＤＣ１４４若しくはキースイッチ１４３に入力される。また、主制御部１４６とＡＤＣ１４４若しくはキースイッチ１４３との間でやり取りされる信号は、スイッチ回路２１１及びＦＰＧＡ２１２を介してマイコン２１３に入力される。
【００７０】
図１２に示すように、記録処理をスタートしたマイコンは、まずタイマカウントをスタートするとともに、ＰＣ２３０に対してタイマカウントスタートの同期信号を送信する（Ｓ１２０１）。そして、マイコン２１３は、モードが記録モードであることを確認し（Ｓ１２０２／ＹＥＳ）、ＰＣ２３０から記録終了コマンドを受信するまで（Ｓ１２０３／ＮＯ）、キースイッチ１４３及びタッチパネル１４２から入力される信号に応じて主制御部１４６が実行する割り込み処理に対応する（Ｓ１２０６）。その後、Ｓ１２０２からの処理を繰り返す。
【００７１】
他方、ＰＣ２３０から記録終了コマンドを受信すると（Ｓ１２０３／ＹＥＳ）、マイコン２１３は待機モード（ｍｏｄｅ＝ＷＡＩＴ）に移行し（Ｓ１２０４）、タイマカウントをストップする（Ｓ１２０５）。そして、Ｓ１２０２の処理に戻り、待機モードであることを確認すると（Ｓ１２０２／ＹＥＳ）、処理を終了する。他方、マイコン２１３からタイマカウントスタートの同期信号を受信したＰＣ２３０においては、同期信号に従って、タイマカウントをスタートする（Ｓ１２０７）。
【００７２】
上述したように、記録開始のコマンドは、ＰＣ２３０に対するユーザの操作に応じて出力されるが、上述したように、マイコン２１３が記録開始のコマンドを受信してから実際にタイマカウントをスタートするまでは、スイッチ回路２１１の切替等が行われるため、タイムラグがある。従って、ＰＣ２３０に対してユーザにより記録開始の操作が行われてすぐにＰＣ２３０がタイマカウントをスタートすると、ＰＣ２３０のタイマカウント値とマイコン２１３のタイマカウント値とがずれてしまう。
【００７３】
これに対して、ＰＣ２３０が、マイコン２１３からの同期信号に応じてタイマカウントをスタートすることにより、タイマカウント値のずれを防ぐことが可能となる。ＰＣ２３０は、タイマカウントをスタートすると、ユーザにより記録終了の操作が行われるまで（Ｓ１２０８／ＮＯ）、画像形成装置１へのプリンロアウトやネットワークアクセス等、ＰＣ２３０上の操作に対応すると共に、操作を記録する処理を繰り返す（Ｓ１２１１）。このＳ１２１１における、ＰＣ２３０上の操作を記録することが、本実施形態に係る用紙の１つである。
【００７４】
そして、ユーザにより記録終了の操作が行われると（Ｓ１２０８／ＹＥＳ）、ＰＣ２３０は、マイコン２１３に対して記録終了コマンドを送信する（Ｓ１２０９）。これは、Ｓ１２０３において判断されるコマンドである。その後、ＰＣ２３０は、タイマカウントをストップし（Ｓ１２１０）、処理を終了する。
【００７５】
次に、Ｓ１２０６の処理として、キースイッチ１４３の操作に対応する割り込み処理について、図１３を参照して説明する。マイコン２１３は、主制御部１４６が制御するキー押下検知制御信号線ＳＣＡＮ０〜３いずれかの立下り若しくはキー押下検知信号線ＫＥＹ０〜７いずれかの立上りにより、キースイッチ操作の割り込みを検知する。
【００７６】
上記ＳＣＡＮ０〜３いずれかの立下りとは、信号が“Ｈｉｇｈ”から“Ｌｏｗ”になった場合である。具体的には、図７において説明したように、ユーザがキースイッチを押下して、ＫＥＹ０〜７のいずれかが“Ｌｏｗ”となることにより、主制御部１４６がＳＣＡＮ０〜３を全て“Ｈｉｇｈ”とした上で、ＳＣＡＮ０〜３を１つずつ順番に“Ｌｏｗ”としてＫＥＹ０〜７の信号状態を確認する動作（以降、キースキャン動作とする）を実行した場合である。
【００７７】
他方、ＫＥＹ０〜７の立上りとは、信号が“Ｌｏｗ”から“Ｈｉｇｈ”になった場合である。具体的には、図７において説明したように、ユーザがキースイッチを押下することによって“Ｌｏｗ”となっていたＫＥＹ０〜７の何れかが、ユーザがキースイッチをリリースすることにより、再度“Ｈｉｇｈ”となる場合である。
【００７８】
マイコン２１３は、ＳＣＡＮ０〜３いずれかの立下りを検知すると（Ｓ１３０１／ＹＥＳ）、ＳＣＡＮ０〜３のいずれが立下がったかを認識し、立下がった番号を“（Ｎ）”とする。尚、Ｓ１３０１の処理は、ユーザによるキースイッチの押下に応じたキースキャン動作によって発生する他、上述したように、主制御部１４６による２００ｍｓ毎のキースキャン動作によっても発生する。
【００７９】
割り込みを検知したマイコン２１３は、５００μｓの間待機し（Ｓ１３０２）、その後ＫＥＹ０〜７の信号状態をＤＡＴＡ（Ｎ）として記録する（Ｓ１３０３）。例えば、Ｓ１３０１において、ＳＣＡＮ０の立下りを検知した場合は、ＤＡＴＡ０として記録する。尚、ＤＡＴＡ（Ｎ）を記録する際、マイコン２１３は、タイマのカウント値とデータとを関連付けて記録する。このタイマのカウント値は、キー操作を再現する際の再現タイミングを決定するための情報として用いられる。
【００８０】
ＤＡＴＡ（Ｎ）の記録が完了すると、マイコン２１３は、“（Ｎ）”が“３”であるか否か、即ち、主制御部１４６によるキースキャン動作がＳＣＡＮ０〜３の１サイクル分完了したか否か確認する（Ｓ１３０４）。“（Ｎ）”が“３”でなければ（Ｓ１３０４／ＮＯ）、マイコン２１３は、まだ１サイクル分のキースキャン動作が完了していないと判断し、そのまま処理を終了する。この場合、マイコン２１３は、図１２のＳ１２０２に戻り、主制御部１４６が引き続き実行するキースキャン動作によって再度ＳＣＡＮ０〜３いずれかの立下りを検知して、図１３の処理を実行する。
【００８１】
“（Ｎ）”が“３”である場合（Ｓ１３０４／ＹＥＳ）、次に、マイコン２１３は、ＤＡＴＡ０〜３が、前回記録したＤＡＴＡ０〜３と同一であるか否か確認する（Ｓ１３０５）。ＤＡＴＡ０〜３が前回のデータと同一である場合（Ｓ１３０５／）、マイコン２１３は、そのキー操作のデータは記録不要であると判断して、それらのデータを破棄し（Ｓ１３０６）、処理を終了する。このような処理により、ＰＣ２３０に記録するキー操作のデータ量を削減することができる。また、図７において説明したように、主制御部１４６は、キースキャン動作を１０ｍｓ間隔で２サイクル実行するが、その場合も、１回分の情報のみが記録され、情報量を削減することができる。
【００８２】
他方、ＤＡＴＡ０〜３が前回のデータと異なる場合、マイコン２１３は、今回記録したＤＡＴＡ０〜３によって認識されるキースイッチの操作を示す操作情報をタイムスタンプと関連付けてＰＣに送信し（Ｓ１３０７）、処理を終了する。また、ＳＣＡＮ〜３いずれかの立下りではなく（Ｓ１３０１／ＮＯ）、ＫＥＹ０〜７いずれかの立上りを検知して且つＫＥＹ０〜７が全て“Ｈｉｇｈ”（ＡＬＬ  Ｈｉｇｈ）となった場合（Ｓ１３０８／ＹＥＳ）、マイコン２１３は、キースイッチがリリースされたものであると認識し、キーリリース操作を示す情報をタイムスタンプと関連付けてＰＣ２３０に送信し（Ｓ１３０９）、処理を終了する。尚、Ｓ１３０８の判断は、キースキャン動作の実行中以外の場合に行われる。Ｓ１３０７及びＳ１３０９において、マイコン２１３が送信した情報が、１つの操作を再現するための再現情報としてＰＣ２３０のＨＤＤに記憶される。即ち、マイコン２１３が再現情報記憶処理部として機能する。このような処理により、キースイッチ操作の記録処理が完了する。
【００８３】
次に、Ｓ１２０６の処理として、タッチパネル１４２の操作に対応する割り込み処理について、図１４を参照して説明する。マイコン２１３は、主制御部１４６が制御信号としてＡＤＣ１４４に入力する座標検知コマンド、即ち、図６のＳ６０１において主制御部１４６が出力する信号により、タッチパネル操作の割り込みを検知する。
【００８４】
マイコン２１３は、座標検知コマンドを受信して割り込みを検知すると（Ｓ１４０１）、ＡＤＣ１４４からデジタル信号を受信するまで待機し（Ｓ１４０２／ＮＯ）、デジタル信号を受信すると（Ｓ１４０２／ＹＥＳ）、受信したデータを操作データとして記録する（Ｓ１４０３）。操作データを記録すると、マイコン２１３は、図６のＳ６０５及び図５のＳ５０６と同様の処理により、座標確定条件が満たされたか否かを判断する（Ｓ１４０４）。座標確定条件が満たされた場合（Ｓ１４０４／ＹＥＳ）、マイコン２１３は、平均値として求めた座標データを、タッチパネル１４２に対する操作を示す操作情報としてＰＣ２３０に送信し（Ｓ１４０５）、処理を終了する。
【００８５】
Ｓ１４０５において、マイコン２１３は、座標データとタイムスタンプとを関連付けてＰＣ２３０に送信する。この情報が、１つの操作を再現するための再現情報としてＰＣ２３０のＨＤＤに記憶される。他方、座標確定条件が満たされていなければ（Ｓ１４０４／ＮＯ）、そのまま処理を終了する。この場合、マイコン２１３は、図１２のＳ１２０２に戻り、主制御部１４６が引き続き出力する座標検知コマンドに応じて、再度図１４の処理を実行する。このような処理により、タッチパネル操作の記録処理が完了する。
【００８６】
図１３及び図１４の処理が図１２のフローに従って繰り返されることにより、タッチパネル１４２若しくはキースイッチ１４３に対する操作を再現するための再現情報がＰＣ２３０のＨＤＤに蓄積されていく。このようにして蓄積された再現情報を用いることにより、ユーザによる一連の操作を再現することが可能となる。
【００８７】
尚、図１３及び図１４に係る記録処理に際して、ＵＳＢプロトコルアナライザ２２０は、主制御部１４６と操作表示制御部１０５との間でやり取りされた情報
（以降、内部情報とする）を解析して記録し、ＰＣ２３０のＨＤＤに記憶させる。この内部情報は、主制御部１４６と操作表示制御部１０５との間でやり取りされた情報及びそのやり取りのタイミングの情報を含み、後に記録された操作情報に基づいて操作を再現する際に、操作が正確に再現されているか否かを確認するために用いられる。
【００８８】
次に、本実施形態に係るＳ１１０８の再生処理、即ち、上記記録処理によってＰＣ２３０に記憶された情報に応じて、ユーザによる操作を再現する処理について、図１５を参照して説明する。図１５に示すように、まずＰＣ２３０において、制御アプリケーション２３１が、マイコン２１３のバッファサイズ分の再生データを送信する（Ｓ１５１５）。即ち、制御アプリケーション２３１が、操作再現情報送信部として機能する。これにより、マイコン２１３は、ＰＣ２３０から再現すべき操作の情報である再生データを取得する（Ｓ１５０１）。Ｓ１５０１においてやり取りされる再生データは、上述した図１２〜図１４の処理によってマイコン２１３によって記録され、ＰＣ２３０のＨＤＤに再現情報として保存された情報であり、再現すべき操作の情報とタイマのカウント値に応じたタイムスタンプとが関連付けられた情報である。
【００８９】
再生データを取得すると、マイコン２１３は、スイッチ回路２１１を切り替えてコントローラ１４１の入力側と制御側とを切断し、タイマのカウントをスタートすると共に、タイマカウントスタートの同期信号をＰＣ２３０に送信する（Ｓ１５０２）。このように、操作の再生処理においても、ＰＣ２３０が、マイコン２１３からの同期信号に応じてタイマカウントをスタートすることにより、マイコン２１３とＰＣ２３０とのタイマカウント値のずれを防ぐことができる。
【００９０】
タイマのカウントをスタートすると、マイコン２１３は、タイマのカウント値と、ディスプレイパネル１４０の操作における再生データのタイムスタンプとを比較し、両者の一致を監視する（Ｓ１５０３）。タイマカウンタとタイムスタンプとが一致すると（Ｓ１５０３／ＹＥＳ）、マイコン２１３は、前段の再生データの再現が完了しているか否か判断し（Ｓ１５０４）、完了していなければ（Ｓ１５０４／ＮＯ）、完了するまで待機する。尚、再生データが先頭のものであり、前段の再生データが無い場合は、そのまま次の処理に進む。
【００９１】
Ｓ１５０４の処理、即ち、前段の再生データの再現が完了するまで待機する処理を設けたのは、主として、主制御部１４６を制御するＣＰＵ等の制御手段の状態に留意したものである。ＣＰＵ等の制御手段は、装置の動作に応じて状態が異なるため、同一の操作が行われた場合であっても、主制御部１４６が常に同一の応答時間で反応を返すとは限らない。従って、再生データのタイムスタンプ通りに操作の再現ができず、操作が遅れてしまう場合があり得る。
【００９２】
このような場合に、再生データのタイムスタンプ通りに処理を進めると、先の操作が再現される前に後の操作が入力されてしまい、結果的に、記録された操作手順を正確に再現することができなくなる。従って、本実施形態に係る動作解析装置２においては、Ｓ１５０４の処理を行うことにより、このような課題を解決している。
【００９３】
前段の再生データの再現が完了している場合（Ｓ１５０４／ＹＥＳ）、マイコン２１３は、タイマカウンタ値と一致したタイムスタンプの再生データが、キー操作データであるか否かを確認する（Ｓ１５０５）。キー操作データである場合（Ｓ１５０５／ＹＥＳ）、マイコン２１３は再生データに基づいてキー操作を再現する（Ｓ１５０６）。キー操作の再現の詳細については後述する。
【００９４】
他方、Ｓ１５０５の確認の結果、キー操作ではなくパネル操作データであった場合（Ｓ１５０５／ＮＯ）、マイコン２１３は再生データに基づいてパネル操作を再現する（Ｓ１５０７）。パネル操作の再現の詳細については後述する。Ｓ１５０６若しくはＳ１５０７において操作の再現を開始すると、マイコン２１３は、再生データの終端を示す終端データを既に受信しているか否かを判断する（Ｓ１５０８）。尚、Ｓ１５０３において、タイマカウンタが再生データのタイムスタンプに達していない場合（Ｓ１５０３／ＮＯ）も、Ｓ１５０８に進む。
【００９５】
Ｓ１５０８の判断の結果、終端データを既に受信している場合（Ｓ１５０８／ＹＥＳ）、マイコン２１３は、再生データの終端に達したか否かを判断し（Ｓ１５１２）、終端データに達した場合は（Ｓ１５０８／ＹＥＳ）、待機モード（ｍｏｄｅ＝ＷＡＩＴ）に移行し（Ｓ１５１３）、タイマをストップすると共にタイマストップの同期信号をＰＣ２３０に送信して（Ｓ１５１４）、処理を終了する。他方、終端データに達していない場合は（Ｓ１５１２／ＮＯ）、Ｓ１５０３からの処理を繰り返す。
【００９６】
Ｓ１５０８の判断の結果、終端データを未だ受信していない場合（Ｓ１５０８／ＮＯ）、マイコン２１３は、バッファの空き容量が所定量以上あるか否か確認し（Ｓ１５０９）、所定量以上無い場合は、Ｓ１５１２の処理に進む。他方、バッファの空き容量が所定量以上ある場合（Ｓ１５０９／ＹＥＳ）、マイコン２１３は、ＰＣ２３０に対して、バッファの空き容量を通知する（Ｓ１５１０）。Ｓ１５１０の結果、ＰＣ２３０から未だ受信されていない再生データが送信され、マイコン２１３が再生データを取得する（Ｓ１５１１）。その後、Ｓ１５１２の処理に進む。
【００９７】
他方、ＰＣ２３０において、制御アプリケーション２３１が、Ｓ１５１５の処理の後、マイコン２１３から送信された同期信号に応じて、タイマカウントをスタートする（Ｓ１５１６）。タイマのカウントをスタートすると、ＰＣ２３０はマイコン２１３と同様に、タイマのカウント値と、ＰＣ２３０上での操作における再生データのタイムスタンプとを比較し、両者の一致を監視する（Ｓ１５１７）。タイマカウンタとタイムスタンプとが一致すると（Ｓ１５１７／ＹＥＳ）、ＰＣ２３０は、再生データに基づいて操作を再現する（Ｓ１５１８）。
【００９８】
Ｓ１５１８においてＰＣ上の操作を再現した後、若しくは、Ｓ１５１７において、タイマカウンタが再生データのタイムスタンプに達していない場合（Ｓ１５１７／ＮＯ）、ＰＣ２３０は、マイコン２１３に対して、未だ送信していない再生データがあるか否か判断する（Ｓ１５０９）。未送信の再生データがある場合（Ｓ１５０９）、ＰＣ２３０は、Ｓ１５１０においてマイコン２１３から通知される空き容量通知があったか否か判断し（Ｓ１５２０）、空き容量通知を受けていれば（Ｓ１５２０／ＹＥＳ）、通知された空き容量に応じた再生データを送信する（Ｓ１５２１）。
【００９９】
マイコン２１３へ再生データを送信すると、ＰＣ２３０は、Ｓ１５１４においてマイコン２１３から送信されるタイマストップの同期信号が受信されたか否かを判断する（Ｓ１５２２）。尚、Ｓ１５１９の判断の結果、未送信のデータがなかった場合（Ｓ１５１９／ＮＯ）、若しくは空き容量通知を受けていない場合（Ｓ１５２０／ＮＯ）も、Ｓ１５２２に進む。
【０１００】
Ｓ１５２２の判断の結果、タイマストップの同期信号を受信していなければ（Ｓ１５２２／ＮＯ）、ＰＣ２３０は、Ｓ１５１７からの処理を繰り返す。他方、タイマストップの同期信号を受信していれば（Ｓ１５２２／ＹＥＳ）、ＰＣ２３０はタイマカウントをストップし（Ｓ１５２３）、処理を終了する。
【０１０１】
次に、Ｓ１５０６のキー操作の再現処理について、図１６を参照して説明する。図１６は、本実施形態に係るキー操作の再現処理を示すフローチャートである。図１６に示すように、マイコン２１３は、先ず、“Ｈｉｇｈ”で維持されているＫＥＹ０〜７のいずれかを“Ｌｏｗ”とする（Ｓ１６０１）。これは、ユーザがキースイッチを押下することにより、押下されたキースイッチに接続されているＫＥＹ０〜７のいずれかが“Ｌｏｗ”となる状態を再現するものである。この際、ＫＥＹ０〜７のいずれを“Ｌｏｗ”とするかについては、本実施形態に係る主制御部１４６の構成上問題とならないため、再現するべきキースイッチの押下状態に対応して決定してもよいし、常に同一の信号線を“Ｌｏｗ”としてもよい。
【０１０２】
ＫＥＹ０〜７のいずれかを立下げることにより、図７において説明したように、主制御部１４６がキースキャン動作を実行するため、ＳＣＡＮ０〜３が順番に立下がる。マイコン２１３は、ＳＣＡＮ（Ｎ）の立下りを検知すると（Ｓ１６０２／ＹＥＳ）、立下りを検知したＳＣＡＮ（Ｎ）に対応して再生データとして記録されている情報からＤＡＴＡ（Ｎ）、即ち操作信号を生成して出力する（Ｓ１６０３）。
【０１０３】
“（Ｎ）”が０〜２の何れかであれば、主制御部１４６によるキースキャン動作の実行中であるため、ＳＣＡＮ０〜３のいずれかが“Ｌｏｗ”であり他が“Ｈｉｇｈ”である状態が続く（Ｓ１６０４／ＮＯ）。この場合、マイコン２１３は、Ｓ１６０２からの処理を繰り返す。他方、主制御部１４６のキースキャン動作が完了すると、主制御部１４６はＳＣＡＮ０〜３を全て“Ｌｏｗ”とする。マイコン２１３は、ＳＣＡＮ０〜３が全て“Ｌｏｗ”となったことを検知すると（Ｓ１６０４／ＹＥＳ）、ＫＥＹ０〜７に対して、ＤＡＴＡ０〜３のＡＮＤ出力を行う（Ｓ１６０５）。
【０１０４】
図７において説明したように、主制御部１４６は、キースキャン動作を１０ｍｓ間隔で２サイクル実行する。したがって、キー操作の再現においても、２サイクル分のキースキャン動作に対応する必要がある。従って、マイコン２１３は、２サイクル分のデータ出力が完了するまで、Ｓ１６０２〜Ｓ１６０５の処理を繰り返す（Ｓ１６０６／ＮＯ）。そして、２サイクル分の処理が完了すると（Ｓ１６０６／ＹＥＳ）、そのキー操作データによるキー操作再現動作を終了する。尚、図１６に示す処理の他、キー操作データがキーリリース操作である場合、マイコン２１３は、図１６の処理ではなくキーリリース操作に応じた信号を出力する。
【０１０５】
次に、Ｓ１５０７のパネル操作の再現処理について、図１７を参照して説明する。図１７は、本実施形態に係るパネル操作の再現処理を示すフローチャートである。図１７に示すように、マイコン２１３は、先ず、タッチ検知信号を再現した信号を送信する（Ｓ１７０１）。これは、図５のＳ５０１においてタッチ検知信号が“Ｌｏｗ”となる処理を再現するものである。
【０１０６】
タッチ検知信号が“Ｌｏｗ”となることにより、図５において説明したように、主制御部１４６が座標測定処理を開始し、図６において説明したように、座標検知コマンドを出力する。マイコン２１３は、主制御部１４６による座標検知コマンドを受信すると（Ｓ１７０２／ＹＥＳ）、再生データとして記録されている座標データを送信する（Ｓ１７０３）。これにより、主制御部１４６が座標データを取得し、図６のＳ６０２及びＳ６０３の処理を実行する。
【０１０７】
図５、図６において説明したように、主制御部１４６は、座標を確定するために８回の検知を１０ｍｓ間隔で３回、即ち、少なくとも２４回の座標検知を行う。従って、マイコン２１３は、主制御部１４６が座標を確定する条件が満たされるまで、座標検知コマンドに応じて、再生データである座標データの送信を繰り返す（Ｓ１７０４／ＮＯ）。そして、主制御部１４６による座標確定条件が満たされると（Ｓ１７０４／ＹＥＳ）、処理を終了する。このような処理により、パネル操作の再現処理が完了する。
【０１０８】
図１６及び図１７の処理は、上述したように、図１５の処理、即ち、再生データに基づく操作再現処理において、再生データ中にキー操作データ若しくはパネル操作データが含まれる限り、複数回にわたって繰り返し実行される。これにより、再生データとして記録された操作が、ユーザが直接ディスプレイパネル１４０を操作することなく、マイコン２１３による制御によって自動的に再現される。
【０１０９】
このように、本実施形態に係る再生処理においては、タッチパネル１４２やキースイッチ１４３が操作された際に生じる情報を、従来技術のように主制御部１４６内部や、画像形成装置１のコントローラ１００において生成して操作表示制御部１０５に送信することにより操作を再現するのではなく、タッチパネル１４２及びキースイッチ１４３が操作された際に主制御部１４６に入力される信号を取得して記録し、その記録した信号を主制御部１４６に入力することによって操作を再現する。同時に、ＰＣ２３０上の操作であって画像形成装置１に入力されるプリントアウトの印刷ジョブやネットワークアクセス等の操作も記憶され、上記ディスプレイパネル１４０に対する操作と同期して画像形成装置１に入力される。これにより、障害発生時の条件をより忠実に再現することができる。
【０１１０】
更に、ユーザは、図１５の再生処理をマイコン２１３及びＰＣ２３０に実行させる際、その再現情報に基づく操作を繰り返し実行させることができる。マイコン２１３及びＰＣ２３０が、自動的に図１５の動作を繰り返すことにより、画像形成装置１に発生した障害であって再現性の低い障害を再現するために、同一の操作を膨大な回数繰り返す必要がある場合に必要な操作を簡易化し、ユーザの負担を軽減することができる。尚、再現情報に基づく操作の再現の繰り返しにおいては、回数を指定することなくエンドレスで実行させる場合の他、繰り返し回数を指定して実行させることもできる。
【０１１１】
また、図１６及び図１７の処理の実行に際して、ＵＳＢプロトコルアナライザ２２０が主制御部１４６と操作表示制御部１０５との間でやり取りされる内部情報を取得して解析し、上述した図１３及び図１４の処理において記憶した内部情報と一致するか否か確認する。これにより、両者が一致する場合は操作が正確に再現されていることを確認可能であると共に、内部情報が異なる場合は操作が正確に再現されていないことを認識することができる。
【０１１２】
尚、上述したように、操作の再現においては、主制御部１４６を制御するＣＰＵ等の状態により、信号のタイミングが異なる場合があり得るため、操作の再現においてやりとりされる情報のタイミングが、ＰＣ２３０のＨＤＤに記憶された内部情報におけるタイミングと異なる場合があり得る。従って、ＵＳＢプロトコルアナライザ２２０は、上記内部情報の一致の判断に際しては、信号のタイミングがずれた場合等も考慮して内部情報の一致を判断する。
【０１１３】
以上説明したように、本実施形態においては、画像形成装置において発生した障害を再現して解析するための動作解析装置において、障害の再現性を向上することが可能となる。また、図１０に示すように、画像形成装置１側に設けられたコネクタ１４５及び動作解析装置２側に設けられたスイッチ回路２１１のように、両者を接続するためのインタフェースを設けることにより、装置の筐体を空け、内部の信号線を選別して信号抽出用の線をつなぐ等の作業の必要がなく、動作解析の際の作業をより簡易に行うことが可能となる。
【０１１４】
尚、上記実施形態においては、図１０に示すように、ＵＳＢプロトコルアナライザ２２０が、操作の記録処理における内部情報と操作の再現処理における内部情報とを比較することにより、操作の再現性の確認をする場合を例として説明した。この他、操作の再現性の確認には、様々な手段を用いることが可能である。以下に、操作の再現性の他の確認手段について説明する。
【０１１５】
画像形成装置１には、装置各所に複数のＬＥＤ（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）等の発光部が設けられており、ユーザによる操作に応じて発光する。従って、主制御部１４６による、各発光部への制御信号を上記ＵＳＢプロトコルアナライザにおける内部情報と同様に監視することにより、操作の再現性を確認することが可能である。図１８を参照して、そのような態様について説明する。
【０１１６】
図１８は、主制御部１４６による発光部１４７の接続関係の例を示す図である。図１８の例においては、主制御部１４６に接続されたＬＥＤスキャン信号線ＬＳＣ０〜３の夫々に対して、８個のＬＥＤが接続されている。ＬＥＤの他端はＬＥＤ制御信号線ＬＥＤＣ０〜７のいずれかに接続されており、全体として３２個のＬＥＤがマトリクス上に接続されて配置されている。
【０１１７】
図１８に示すように、ＬＳＣ０〜３は、夫々ｐｎｐ型トランジスタのベースに接続されている。ｐｎｐ型トランジスタのエミッタは高電位に接続されており、コレクタに、８個のＬＥＤが並列に接続されている。ＬＥＤＣ０〜７は、夫々ｎｐｎ型トランジスタのベースに接続されている。ｎｐｎ型トランジスタのエミッタはシステムグランドに接続されており、コレクタに４個のＬＥＤが並列に接続されている。
【０１１８】
このような構成において、主制御部１４６は、発光させるべきＬＥＤに接続されたＬＳＣを“Ｌｏｗ”とし、ＬＥＤＣを“Ｈｉｇｈ”とすることにより、所望のＬＥＤを発光させる。このような接続関係において、動作解析装置２は、ｐｎｐ型トランジスタ及びｎｐｎ型トランジスタと主制御部１４６との間の信号を取得して記憶することにより、上記ＵＳＢプロトコルアナライザ２２０と同様に、操作の再現性を確認することができる。
【０１１９】
このような態様の他、例えばユーザによる操作に応じて、ディスプレイパネル１４０に設けられたＬＣＤ７０等の表示部の表示が変化することが考えられる。従って、動作解析装置２は、主制御部１４６が上記表示部を制御するための制御信号を取得し、上述したＵＳＢプロトコルアナライザ２２０と同様の処理を行うことにより、表示部の制御信号に基づいて操作の再現性を確認することができる。
【０１２０】
また、上記実施形態においては、動作解析装置２の一部として動作するＰＣ２３０において動作する専用制御アプリケーション２３１を介して、操作記録の開始や記録された操作の再生を制御する態様を例として説明した。その詳細について、図１９を参照して説明する。図１９は、マイコン２１３及びＰＣ２３０上の操作の再現を制御するために、ＰＣ２３０の表示部に表示される制御アプリケーション２３１のＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）２３１ａの例を示す図である。
【０１２１】
図１９に示すように、ＧＵＩ２３１ａは、制御ボタン２３１ｂ及びシーケンス表示部２３１ｃを含む。制御ボタン２３１ｂは、ユーザがＰＣ２３０を操作して、制御アプリケーション２３１に命令を与えるためのユーザ・インタフェースである。制御ボタン２３１ｂに含まれるボタンとしては、図１１のＳ１１０１の記録開始コマンドの送信、Ｓ１１０２の再生コマンドの送信、図１２のＳ１２０３の記録終了コマンドの送信、再生のコマ送りコマンドの送信、ループ再生コマンドの送信、図１５のＳ１５０１の再生データ取得コマンドの送信、記録した操作情報の格納コマンドの送信のためのボタンがある。
【０１２２】
上記の夫々の処理のうち、再生のコマ送りコマンドとは、図１５において説明したように、再生データを自動的に順次実行するのではなく、再生データ毎に停止しながら実行するコマ送り再生を実行させるコマンドである。具体的には、コマ送り再生の場合、マイコン２１３は、図１５のＳ１５０２、Ｓ１５０３、Ｓ１５１６及びＳ１５１７において説明したように、タイマのカウント値に従って操作情報に基づく操作の再現を行うのではなく、再現情報に含まれるタイムスタンプの順に操作を再現する。この際、自動的に操作の再現を実行するのではなく、ユーザによって上述した再生のコマ送りコマンドが入力される度に、次のタイムスタンプの操作を実行する。このようなコマ送り再生を可能とすることにより、障害原因の究明におけるユーザの利便性を高めることができる。
【０１２３】
シーケンス表示部２３１ｃは、図１２の処理によってＰＣ２３０のＨＤＤ２３２に記憶された再生データ、即ち操作再現情報及びネットワーク命令再現情報の内容を示す表示部である。図１９に示すように、操作再現情報及びネットワーク命令再現情報は、タッチパネル１４２若しくはキースイッチ１４３に対する一の操作や、ＰＣ２３０から画像形成装置１へのプリントアウトやネットワークアクセス等のＰＣ２３０上での操作を再現するための情報が蓄積された情報であり、時系列を共通としたタイムスタンプに関連付けられてＨＤＤ２３２において記憶されている。
【０１２４】
図１９に示す再現情報のうち、“ＩＤ”は夫々の操作を再現するための再現情報を識別する識別情報である。“操作データタイプ”及び“値”は、夫々の操作の内容を示す情報であり、図１３及び図１４において操作情報として処理された情報である。即ち、図１３のＳ１３０７若しくは図１４のＳ１４０５においてマイコン２１３がＰＣ２３０に送信した再現情報に含まれる操作情報並びに、図１２のＳ１２１１においてＰＣ２３０が記録した操作情報である。
【０１２５】
“操作データタイプ”とは、タッチパネル１４２に対する操作、キースイッチ１４３に対する操作、キースイッチ１４３におけるキーの押下若しくはリリース等の操作、ＰＣ上でのプリントアウトやネットワークアクセス等の種類を識別する情報である。即ち、“操作データタイプ”は、操作再現情報とネットワーク命令情報との別を示す情報である。“値”は、夫々の操作における詳細であり、タッチパネル操作であれば、パネル上の座標、キースイッチ操作であれば、押下されたキーを示す情報である。“タイムスタンプ”は、夫々の操作タイミングを示す情報であり、上述したように、各操作情報と関連付けられている。
【０１２６】
このようなＧＵＩにおいて、ユーザは、制御ボタン２３１ｂに表示されている各ボタンをクリックすることにより、ユーザ操作解析・再現部２１０に命令を与え、ユーザ操作の記録及び再現を実行させることができる。
【０１２７】
尚、図１９のシーケンス表示部２３１ｃに示されているように、ＰＣ２３０のＨＤＤ２３２には、ＰＣ２３０上における操作の再生データと、タッチパネル１４２やキースイッチ１４３への操作の再生データとが格納されている。図１５のＳ１５１５において、ＰＣ２３０はマイコン２１３に再生データを送信するが、この際に送信する再生データは、ＨＤＤ２３２に記憶されている全ての再生データとしても良いし、ＨＤＤ２３２に記憶されている再生データのうち、ＰＣ２３０における操作以外の再生データとしても良い。
【０１２８】
また、本実施形態における操作の記録及び再現に際しては、ＰＣ２３０から画像形成装置１へのプリントアウトやネットワークアクセス等の命令のタイムスタンプとなるＰＣ２３０におけるタイマカウンタ値と、タッチパネル１４２やキースイッチ１４３への操作の情報のタイムスタンプとなるマイコン２１３におけるタイマカウンタ値とが正確に同期していることが必要となる。このため、本実施形態においては、定期的な同期処理が実行される。この同期処理について、図２０を参照して説明する。
【０１２９】
図２０に示すように、マイコン２１３がＰＣ２３０に対して送信する同期信号及びタイマカウンタ値が、同期処理開始のトリガとなる。マイコン２１３がＰＣ２３０に対して同期信号及びタイマカウンタ値を送信し（Ｓ２００１）、ＰＣ２３０において制御アプリケーション２３１が受信すると（Ｓ２００５／ＹＥＳ）、制御アプリケーション２３１は、受信したタイマカウンタ値でＰＣ側のタイマカウンタ値を補正する（Ｓ２００６）。タイマカウンタ値の補正が完了すると、ＰＣ２３０は、マイコン２１３に応答信号を送信する（Ｓ２００７）。
【０１３０】
マイコン２１３は、Ｓ２００１において同期信号及びタイマカウンタ値を送信すると、１０秒間待機した後（Ｓ２００２）、待機した１０秒の間にＰＣ２３０より応答信号があったか否か確認する（Ｓ２００３）。１０秒以内の間に応答があった場合（Ｓ２００３／ＹＥＳ）、同期処理が正常に完了していると認識され、マイコン２１３は、Ｓ２００１に戻り繰り返し同期処理を行う。
【０１３１】
他方、１０秒以内の間に応答がなかった場合（Ｓ２００３／ＮＯ）、同期処理が正常に完了しなかったと認識され、マイコン２１３は、現在実行中の動作記録若しくは動作再現処理を停止し、待機モード（ｍｏｄｅ＝ＷＡＩＴ）に遷移して処理を終了する（Ｓ２００４）。
【０１３２】
このように、本実施形態に係る動作解析装置２においては、操作の記録処理や操作の再生処理が実行されている間、１０秒間隔のような所定の期間毎にＰＣ２３０とマイコン２１３との同期処理が実行される。従って、マイコン２１３におけるタイマカウンタ値とＰＣ２３０におけるタイマカウンタ値との同期が保たれる。その結果、操作の記録に際しては、ＰＣ２３０における操作のタイムスタンプと、タッチパネル１４２及びキースイッチ１４３における操作のタイムスタンプとの間にずれが生じることを防ぐことができる。また、操作の再現に際しては、ＰＣ２３０から画像形成装置１にネットワークを介して送信されるプリントアウトやネットワークアクセス等の信号のタイミングと、マイコン２１３からディスプレイパネル１４０に入力される操作の再現信号のタイミングとの間にずれが生じることを防ぐことができる。
【０１３３】
尚、上記実施形態においては、動作解析装置２の動作を制御する構成として、ＰＣ２３０を用いる場合を例として説明した。このような態様は、例えば、ユーザ操作解析・再現部２１０やＵＳＢプロトコルアナライザ２２０をＵＳＢ機器や、シリアルインタフェース接続の機器等の可搬型の機器として構成し、ＰＣ２３０としてノートＰＣを用いることにより、動作解析装置２の持ち運びの点等で有効である。この他、制御機構としてＰＣ２３０ではなく専用の情報処理装置を用いることも可能である。更には、そのような専用の情報処理装置とユーザ操作解析・再現部２１０とを一体の機器として構成してもよい。
【符号の説明】
【０１３４】
１  画像形成装置、
２  動作解析装置、
１０  ＣＰＵ、
２０  ＲＡＭ、
３０  ＲＯＭ、
４０  エンジン、
５０  ＨＤＤ、
６０  Ｉ／Ｆ、
７０  ＬＣＤ、
８０  操作部、
９０  バス、
１００  コントローラ、
１０１  主制御部、
１０２  エンジン制御部、
１０３  入出力制御部、
１０４  画像処理部、
１０５  操作表示制御部、
１１０  ＡＤＦ、
１２０  スキャナユニット、
１３０  排紙トレイ、
１４０  ディスプレイパネル、
１４１  コントローラ、
１４２  タッチパネル、
１４３  キースイッチ、
１４４  ＡＤＣ、
１４５  コネクタ、
１４６  主制御部、
１４７  発光部、
１５０  給紙テーブル、
１６０  プリントエンジン、
１７０  排紙トレイ、
１８０  ネットワークＩ／Ｆ、
２１０  ユーザ操作解析・再現部、
２１１  スイッチ回路、
２１２  ＦＰＧＡ、
２１３  マイコン、
２２０  ＵＳＢプロトコルアナライザ、
２３０  ＰＣ、
２３１  制御アプリケーション、
２３１ａ  ＧＵＩ、
２３１ｂ  制御ボタン、
２３１ｃ  シーケンス表示部
【先行技術文献】
【特許文献】
【０１３５】
【特許文献１】特開２００６−２２１６７１号公報
【図１】
2011232867.tif 000003
【図２】
2011232867.tif 000004
【図３】
2011232867.tif 000005
【図４】
2011232867.tif 000006
【図５】
2011232867.tif 000007
【図６】
2011232867.tif 000008
【図７】
2011232867.tif 000009
【図８】
2011232867.tif 000010
【図９】
2011232867.tif 000011
【図１０】
2011232867.tif 000012
【図１１】
2011232867.tif 000013
【図１２】
2011232867.tif 000014
【図１３】
2011232867.tif 000015
【図１４】
2011232867.tif 000016
【図１５】
2011232867.tif 000017
【図１６】
2011232867.tif 000018
【図１７】
2011232867.tif 000019
【図１８】
2011232867.tif 000020
【図１９】
2011232867.tif 000021
【図２０】
2011232867.tif 000022