(57)【要約】【課題】ペリフェラルパーツに起因する制御コマンド非互換性に柔軟対応できる手段を提供することで、搭載されるペリフェラルパーツの機能・性能・価格等の選択の幅を広げ、画像形成装置のハード拡張性を向上させる。【解決手段】ステータス管理部１６２は画像形成装置１０２の状態を管理し、マイコンコマンド処理部１８１は画像形成装置に装着されるマイコンデバイス１０３との通信を行う。マイコンコマンド処理部はマイコンデバイスからリクエストデータを受信するとともにし、マイコンデバイスにレスポンスデータを送信する。そして、マイコンコマンド処理部はリクエストデータに基づいてステータス管理部から画像形成装置の状態を取得して、当該画像形成装置の状態に応じてレスポンスデータを決定する。【選択図】図２
2019010825.tif 000002
【特許請求の範囲】
【請求項１】
画像を形成する機能を有する画像形成装置であって、
前記画像形成装置の状態を管理するステータス管理手段と、
前記画像形成装置に装着されるマイコンデバイスとの通信を行う通信手段と、
前記通信手段によって前記マイコンデバイスからリクエストデータを受信するとともにし、前記マイコンデバイスにレスポンスデータを送信するコマンド処理手段と、を有し、
前記コマンド処理手段は、前記リクエストデータに基づいて前記ステータス管理手段から前記画像形成装置の状態を取得して、当該画像形成装置の状態に応じて前記レスポンスデータを決定することを特徴とする画像形成装置。
【請求項２】
前記コマンド処理手段は、前記マイコンデバイスが前記画像形成装置に接続されたか否かを検知することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記画像形成装置の電源状態を制御する電源制御手段を備え、
前記コマンド処理手段は、前記マイコンデバイスから前記画像形成装置の電源状態を取得するためのリクエストデータを受け付けた際、当該リクエストデータに基づいて前記ステータス管理手段によって前記電源制御手段から前記画像形成装置の状態の１つである電源状態を取得して、当該電源状態に基づいて前記レスポンスデータを決定することを特徴とする請求項１又は２に記載の画像形成装置。
【請求項４】
前記コマンド処理手段は、前記マイコンデバイスから前記画像形成装置の電源状態を設定するリクエストデータを受け付けた際、当該リクエストデータに基づいて前記ステータス管理手段によって電源制御手段に対して前記電源状態の変更を要求し、前記電源状態の変更の結果に応じて前記レスポンスデータを決定することを特徴とする請求項３に記載の画像形成装置。
【請求項５】
前記コマンド処理手段は、前記マイコンデバイスから前記画像形成装置の状態の１つであるエラー状態を取得するリクエストデータを受け付けた際、前記ステータス管理手段で得られた前記エラー状態に基づいて前記レスポンスデータを決定することを特徴とする請求項１又は２に記載の画像形成装置。
【請求項６】
前記画像形成装置におけるジョブ状態を制御するジョブ制御手段を有し、
前記コマンド処理手段は、前記マイコンデバイスから前記画像形成装置の状態の１つであるジョブ状態を受け付けた際、前記ステータス管理手段によって前記ジョブ制御手段から前記ジョブ状態を取得して、当該ジョブ状態に基づいて前記レスポンスデータを決定することを特徴とする請求項１又は２に記載の画像形成装置。
【請求項７】
前記コマンド処理手段は前記マイコンデバイスから前記画像形成装置の状態の１つであるスプールジョブ状態を受け付けた際、前記ステータス管理手段によって前記ジョブ制御手段から前記スプールジョブ状態を取得して、当該スプールジョブ状態に基づいて前記レスポンスデータを決定することを特徴とする請求項６に記載の画像形成装置。
【請求項８】
前記画像形成装置に備えられ画像形成を行うためのプリントエンジンを制御するエンジン制御手段を有し、
前記コマンド処理手段は、前記マイコンデバイスから前記画像形成装置の状態の１つである前記プリントエンジンの状態を取得するリクエストデータを受け付けた際、前記ステータス管理手段によってエンジン制御手段から前記プリントエンジンの状態を取得して、当該プリントエンジンの状態に基づいて前記レスポンスデータを決定することを特徴とする請求項１又は２に記載の画像形成装置。
【請求項９】
前記画像形成装置に備えられユーザーによって操作されるＵＩパネルを制御するＵＩ制御手段を有し、
前記コマンド処理手段は、前記マイコンデバイスから前記画像形成装置の状態の１つである前記ＵＩパネルの表示画面の状態を取得するリクエストデータを受け付けた際、前記ステータス管理手段によって前記ＵＩ制御手段から前記表示画面の状態を取得して、当該表示画面の状態に基づいてレスポンスデータを決定することを特徴とする請求項１又は２に記載の画像形成装置。
【請求項１０】
前記コマンド処理手段は、前記マイコンデバイスから前記画像形成装置の状態の１つであり前記画像形成装置に備えられたストレージ手段に記憶されたデータの状態を取得するリクエストデータを受け付けた際、前記リクエストデータで指定されたアドレスに応じて前記ステータス管理手段によって前記ストレージ手段からデータを取得し、当該データに基づいて前記レスポンスデータを決定することを特徴とする請求項１又は２に記載の画像形成装置。
【請求項１１】
前記コマンド処理手段は、前記マイコンデバイスから前記ストレージ手段にデータを設定するリクエストデータを受け付けた際、前記リクエストデータで指定されたアドレスに応じて前記ステータス管理手段によって前記ストレージ手段のデータを更新して、当該更新の結果に基づいて前記レスポンスデータを決定することを特徴とする請求項１０に記載の画像形成装置。
【請求項１２】
前記コマンド処理手段は、前記マイコンデバイスからログデータを記録するリクエストデータを受け付けた際、前記ログデータの種別および内容に応じて前記ステータス管理手段によって前記ストレージ手段に前記ログデータを追加して、当該追加の結果に基づいて前記レスポンスデータを決定することを特徴とする請求項１０又は１１に記載の画像形成装置。
【請求項１３】
マイコンチップと、複数のペリフェラルパーツと、を有し、
マイコンチップは、画像形成装置に対する要求を示すリクエストデータを送信するとともに、当該リクエストデータに対する前記画像形成装置からの応答を示すレスポンスデータを受信するコマンド通信手段と、
前記複数のペリフェラルパーツを制御するためのペリフェラルパーツ制御手段と、
前記レスポンスデータおよび前記ペリフェラルパーツ制御手段による制御の結果の少なくとも１つに応じて前記リクエストデータを決定するデバイス制御手段と、
を有することを特徴とするマイコンデバイス。
【請求項１４】
前記デバイス制御手段は、前記レスポンスデータおよび前記ペリフェラルパーツ制御手段による制御の結果の少なくとも１つに応じて前記複数のペリフェラルパーツの状態を変更することを特徴とする請求項１３に記載のマイコンデバイス。
【請求項１５】
前記複数のペリフェラルパーツには、前記画像形成装置の周囲に人が存在するか否かを検知する第１のセンサーが含まれていることを特徴とする請求項１３又は１４に記載のマイコンデバイス。
【請求項１６】
前記複数のペリフェラルパーツには、前記画像形成装置の周囲の環境の状態を検知する第２のセンサーが含まれていることを特徴とする請求項１３乃至１５のいずれか１項に記載のマイコンデバイス。
【請求項１７】
前記複数のペリフェラルパーツには、前記画像形成装置に対するユーザーの操作を検知する第１のパーツが含まれていることを特徴とする請求項１３乃至１６のいずれか１項に記載のマイコンデバイス。
【請求項１８】
前記複数のペリフェラルパーツには、前記画像形成装置を用いるユーザーに対して所定の報知を行うための第２のパーツが含まれていることを特徴とする請求項１３乃至１７のいずれか１項に記載のマイコンデバイス。
【請求項１９】
前記デバイス制御手段は、前記第１のセンサーによって人が前記画像形成装置の
周囲に存在することが検知された際に、前記第２のパーツによって前記所定の報知を行うことを特徴とする請求項１８に記載のマイコンデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置およびマイコンデバイスに関し、特に、ペリフェラルパーツをオプション増設可能な画像形成装置に関する。
【背景技術】
【０００２】
一般に、プリンター又は複合機などの画像形成装置においては、基本的な印字機能を行うためのハードウェア部品に加え、センサー、チップ、およびアクチュエータなど（以下ペリフェラルパーツと呼ぶ）が備えられている。例えば、画像形成装置に人感センサーを備え付けて、当該センサーによってユーザーの接近を検知すると、ユーザーの位置や高さを判定し、画像形成装置において生じたジャムを処理しやすい手順に変更して報知する画像形成装置が知られている（特許文献１参照）。これによって、画像形成装置に備えられた給紙装置および後処理装置などが接続された状態で複数箇所でジャムが発生しても、ユーザーによるジャム解除を効率的にしかも短時間で行うことができる。
【０００３】
さらに、画像形成装置にペリフェラルパーツの１つである温度湿度センサーを後から増設できるものが知られている（特許文献２参照）。これによって、画像形成装置に設定された制御を変更する必要のある環境下で使用する場合にのみ、温度湿度センサーなどの環境センサーを取付ければよい。そして、画僧形成装置を使用する環境に応じた最小限度の電力消費での使用が可能となる。
【０００４】
ここで、画像形成装置にペリフェラルパーツを搭載する場合、画像形成装置に機能を追加・拡張できるメリットと、ハードコストが増加するデメリットとのトレードオフを考える必要がある。そのため、画像形成装置にペリフェラルパーツを搭載する形態は、大きく分けて標準搭載およびオプション搭載の２つがある。標準搭載とは、、特許文献１に記載のように画像形成装置にペリフェラルパーツが予め組み込まれる形態である。一方、オプション搭載とは、特許文献２に記載のように画像形成装置にペリフェラルパーツが後から追加して増設される形態である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−１１７４２２号公報
【特許文献２】特開平１１−１４３１５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
画像形成装置本体の制御プログラムの追加または改変を行うことで新規ペリフェラルの対応をすると、設計、実装、評価のコストが大きいという問題点があった。一方、専用コネクタ増設はボード変更や外装の設計製造コストが大きいという問題点があった。
【０００７】
従って、本発明の目的は、上述の問題点の少なくとも１つを除去することができる画像形成装置およびマイコンデバイスを提供することにある。
【課題を解決するための手段】
【０００８】
上記の目的を達成するため、本発明による画像形成装置は、少なくとも用紙あるいはデータのいずれかとして画像を形成する機能を有する画像形成装置であって、前記画像形成装置の状態を管理するステータス管理手段と、前記画像形成装置に装着されるマイコンデバイスとの通信を行う通信手段と、前記通信手段によって前記マイコンデバイスからリクエストデータを受信するとともにし、前記マイコンデバイスにレスポンスデータを送信するコマンド処手段と、を有し、前記コマンド処理手段は、前記リクエストデータに基づいて前記ステータス管理手段から前記画像形成装置の状態を取得して、当該画像形成装置の状態に応じて前記レスポンスデータを決定することを特徴とする。
【発明の効果】
【０００９】
本実施形態によれば、画像形成装置の本体制御プログラムおよびハードウェアに対する影響の範囲を抑えてコストを抑えることと、機能の柔軟な拡張とを同時に両立することが出来るようになる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態による画像形成装置の一例についてそのハードウェア構成を示すブロック図である。
【図２】本発明の実施の形態による画像形成装置で用いられるソフトウェアの構成を示すブロック図である。
【図３】図１に示すマイコンデバイスの一例についてその構成を説明するためのブロック図である。
【図４】図３に示すマイコンデバイスのソフトウェア構成の一例を示すブロック図である。
【図５Ａ】図２に示すマイコンコマンド処理部で行われるマイコンコマンド処理を説明するためのフローチャートである（その１）。
【図５Ｂ】図２に示すマイコンコマンド処理部で行われるマイコンコマンド処理を説明するためのフローチャートである（その２）。
【図６】リクエストデータの一例を示す図である（その１）。
【図７】リクエストデータの一例を示す図である（その２）。
【図８】レスポンスデータの一例を示す図である。
【図９】レスポンスデータの他の例を示す図である。
【図１０】図２に示すコマンド通信部で行われるコマンド通信処理を説明するためのフローチャートである。
【図１１Ａ】図４に示すマイコンデバイス制御部で行われるエラーリカバリメッセージ発話処理を説明するためのフローチャートである（その１）。
【図１１Ｂ】図４に示すマイコンデバイス制御部で行われるエラーリカバリメッセージ発話処理を説明するためのフローチャートである（その２）。
【図１２】表示画面ＩＤに対する発話コマンドの一例を示す図である。
【図１３】図１１Ａおよび図１１Ｂで説明したエラーリカバリメッセージ発話処理における動作の一例を示す図である。
【図１４Ａ】図４に示すマイコンデバイス制御部で行われる消耗品残量表示処理を説明するためのフローチャートである（その１）。
【図１４Ｂ】図４に示すマイコンデバイス制御部で行われる消耗品残量表示処理を説明するためのフローチャートである（その２）。
【図１５】図１４Ａおよび図１４Ｂで説明した消耗品残量表示処理における動作の一例を示す図である。
【図１６Ａ】図４に示すマイコンデバイス制御部で行われる電源制御補助処理を説明するためのフローチャートである（その１）。
【図１６Ｂ】図４に示すマイコンデバイス制御部で行われる電源制御補助処理を説明するためのフローチャートである（その２）。
【図１７】図１６Ａおよび図１６Ｂで説明した電源制御補助処理における処理結果の一覧を示す図である。
【図１８】図４に示すマイコンデバイス制御部で行われる周辺環境ロギング処理を説明するためのフローチャートである。
【発明を実施するための形態】
【００１１】
以下に、本発明の実施の形態による画像形成装置の一例について図面を参照して説明する。
【００１２】
画像形成装置にペリフェラルパーツを装着し、ペリフェラルパーツ毎に定義される制御コマンドを用いて、画像形成装置が当該ペリフェラルパーツを制御することで各種機能を実現することができる。ペリフェラルパーツには、多様化するユーザーのニーズを満足できるだけの高い機能性や性能が求められる。また、ペリフェラルパーツ間の制御コマンドの互換性が保証されないことから、長期にわたる部品の安定供給性が求められる。そのため、画像形成装置に装着できるペリフェラルパーツは限定される。更に、機能性・性能あるいは、供給性の課題を解決するために、ペリフェラルパーツのコストが増加するという課題もある。画像形成装置を購入する大部分のユーザーに有益な機能については、ペリフェラルパーツを標準搭載する構成が望ましい。例えば、前述した画像形成装置に人感センサーを追加するケースは、（特に商業印刷をターゲットとした）画像形成装置の紙搬送に係る複雑さを緩和する課題であり、ユーザーの大部分にとって有益な機能である。ゆえに、画像形成装置に人感センサーを標準搭載することが望ましい１例であるといえる。
【００１３】
画像形成装置を購入する一部のユーザーに有益な機能については、ペリフェラルパーツをオプション搭載する構成が望ましい。特に、商談においては、各ユーザーのニーズに基いた様々な要望があり、必要となるペリフェラルパーツの機能性・性能も異なることが想定される。前述した画像形成装置に温度湿度センサーを追加するケースは、利用者の環境に起因する課題であり、一部の特定ユーザーにとって有益な機能である。ゆえに、画像形成装置に温度湿度センサーをオプション搭載する事が望ましい１例であるといえる。これらのオプションを搭載するための仕組みを本実施形態で説明していく。
【００１４】
図１は、本発明の実施の形態による画像形成装置の一例についてそのハードウェア構成を示すブロック図である。
【００１５】
データ処理装置１０１（例えば、ＰＣ）は、ＰＤＬデータを生成し、当該ＰＤＬデータを画像形成装置１０２に送信する。
【００１６】
画像形成装置１０２（例えば、レーザープリンタ）は、データ処理装置１０１からＰＤＬデータを受信して、当該ＰＤＬデータに応じた画像データに基づいてシートに画像形成を行う。なお、画像形成装置１０２は、スキャナ機能およびＦＡＸ機能等を有する複合機であってもよい。この場合、スキャナ機能で読み込んだ原稿データや、ＦＡＸ機能によって受信した原稿データを基に、各種電子文章ファイルを画像形成する機能を有していてもよい。あるいは、スキャナ機能で読み込んだ原稿データをシートに画像形成する機能を有していても良い。更に、シートへ画像形成する手段としては、電子写真方式に限らず、インクジェットなどの別の手段によって実現しても良い。
【００１７】
画像形成装置１０２にはマイコンデバイス１０３が接続されている。当該マイコンデバイス１０３は、後述するように、画像形成装置１０２にペリフェラルパーツをオプション増設するための装置である。
【００１８】
図示のように、画像形成装置１０２は、コントローラ１１０、ＵＩパネル１１１、およびプリントエンジン１１２を有している。ＵＩパネル１１１は、ユーザインターフェースであって、ユーザーに対して種々の情報を表示する表示部とユーザーによる操作を受け付ける操作部とを有している。例えば、ＵＩパネル１１１は物理的なボタンの他にタッチパネルなどを備えるようにしてもよい。また、ＵＩパネル１１１は、ＬＥＤによって、画像形成装置１０２で生じたエラーおよび警告を、光の点灯および点滅によって報知する機能を備えるようにしてもよい。さらには、ＵＩパネル１１１はブザーなどによって、画像形成装置１０２で生じたエラーおよび警告を、音によって報知する機能を備えるようにしてもよい。
【００１９】
コントローラ１１０は、データ処理装置１０１から送信されたＰＤＬデータに基づいて、印刷用のビットマップデータ（画像データ）を生成する。そして、コントローラ１１０は当該ビットマップデータをプリントエンジン１１２に送信する。なお、画像形成装置１０１に関する設定および状態をレポートとして印字するため、コントローラ１１０自体がＰＤＬデータを生成して印刷指示することもできる。
【００２０】
プリントエンジン１１２は、コントローラ１１０から受信したビットマップデータに基づいて、所謂電子写真方式によってトナーを用いてシートに画像形成を行う。なお、画像形成を行う際には、トナーを記録材として用いる電子写真方式の他に、例えば、インクを記録材として用いるインクジェット方式を用いるようにしてもよい。さらに、プリントエンジン１１２は複数色の記録材を備え、ＰＤＬデータに係るカラー印刷を行うようにしてもよい。さらには、プリントエンジン１１２は複数の給紙段を備え、ＰＤＬデータによって指定された給紙段からシートを給紙するようにしてもよい。
【００２１】
図示のように、コントローラ１１０は、ＣＰＵ１２１、ＲＯＭ１２２、ＲＡＭ１２３、ＮＩＣ１２４、およびパネルＩ／Ｆ１２５を有している。さらに、コントローラ１１０は、エンジンＩ／Ｆ１２６、ＲＩＰ部１２８、内蔵ストレージ部１３０、拡張Ｉ／Ｆ部１３２、およびタイマー（ＲＴＣ：ＲｅａｌＴｉｍｅＣｌｏｃｋ）１３４を有している。そして、これら構成要素はバス１３１によって相互に接続されている。
【００２２】
ＣＰＵ１２１は、ＲＯＭ１２２又は内蔵ストレージ部１３０に格納されたコントローラーファーム（プログラム）をＲＡＭ１２３に展開して、当該プログラムを実行する。これによって、ＣＰＵ１２１は画像形成装置１０２を制御する。なお、コントローラーファームについては後述する。
【００２３】
ＲＯＭ１２２は、ＣＰＵ１２１が実行するコントローラーファームなどを記憶する不揮発メモリである。なお、例えば、最低限のファイルシステムアクセス機能などの基本機能のみを備える初期プログラムを起動して、当該初期プログラムがさらにコントローラーファームを実行する多段階構成として、コントローラーファームを起動するようにしてもよい。
【００２４】
ＲＡＭ１２３は、ＲＯＭ１２２又は内蔵ストレージ部１３０から展開されたコントローラーファームなどを記憶する。また、ＲＡＭ１２３には、ＰＤＬデータ、ＰＤＬデータを解釈して生成される中間データ、中間データをレンダリングして生成されるビットマップデータが記憶される。さらには、ＲＡＭ１２３には、その他処理に必要な一時的な各種処理ステータスおよびログ情報なども記憶される。
【００２５】
ＮＩＣ１２４は、データ処理装置１０１とコントローラ１１０とを相互に接続して、双方間のデータ通信、つまり、データの送信および受信を中継するネットワークインタフェイスコントローラーである。なお、接続の際には、有線接続又は無線接続が用いられる。有線接続の場合には、ＮＩＣ１２４とデータ処理装置１０１とはイーサネット(登録商標）などを用いて接続される。
【００２６】
パネルＩ／Ｆ１２５は、ＵＩパネル１１１とコントローラ１１０とを相互に接続して、双方間のデータ通信、つまり、データの送信および受信を中継する。
【００２７】
エンジンＩ／Ｆ１２６は、プリントエンジン１１２とコントローラ１１０とを相互に接続して、双方間のデータ通信、つまり、データの送信および受信を中継する。
【００２８】
ＲＩＰ部１２８は、中間データをビットマップデータに変換し、ＲＡＭ１２３に展開する。なお、以下の説明では、ＲＩＰ部１２８はＣＰＵ１２１と独立した専用のチップを用いる形態で説明する。なお、ＲＩＰ部１２８を設けることなく、ＣＰＵ１２１がビットマップデータの変換処理を行うようにしてもよい。
【００２９】
内蔵ストレージ部１３０は、コントローラ１１０が利用する情報のうち電源を断としてもなお保持したいデータを格納するための不揮発性記憶領域である。例えば、内蔵ストレージ部１３０として、Ｆｌａｓｈ  ＲＯＭが用いられる。さらには、内蔵ストレージ部１３０として、ハードディスク又はソリッドステートドライブなどを用いるようにしてもよい。
【００３０】
拡張Ｉ／Ｆ１３２は、画像形成装置１０２とマイコンデバイス１０３との間で通信を行うためのインタフェイスである。図示の例では、画像形成装置１０２からマイコンデバイス１０３への電源供給も考慮して、拡張Ｉ／Ｆ１３２としてＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ：ユニバーサルシリアルバス）インタフェイスを用いた例では説明する。
【００３１】
ＲＴＣ１３４は、画像形成装置１０２における時刻情報を不揮発に管理するためのハードチップである。ＲＴＣ１３４を電池駆動することによって、画像形成装置１０２を電源断とした後であっても、時刻情報が定期的に更新される。
【００３２】
図２は、本発明の実施の形態による画像形成装置で用いられるソフトウェアの構成を示すブロック図である。
【００３３】
コントローラーファーム１５０は、ステータス管理部１６２、ジョブ制御部１６３、ＰＤＬ制御部１６４、ＲＩＰ制御部１６５、電源制御部１７５、イメージ制御部１７１、およびエンジン制御部１７２を備えている。
【００３４】
ステータス管理部１６２は、画像形成装置の各モジュールの状態を管理および制御するモジュールである。ステータス管理部１６２は、ジョブ制御部１６３から通知されたジョブ状態、エラー状態、ジャム状態、又は消耗品状態を保持する。さらに、ステータス管理部１６２は、電源制御部１７５に対して電源制御指示を行うとともに、ＵＩ制御部１７６に対して状態変更通知を行う。ステータス管理部１６２は、マイコンデバイス１０３からマイコンコマンド処理部１８１、そして、データ処理装置１０１から状態取得要求および状態変更要求を受けると、各モジュールに対して状態取得要求および状態変更要求を行う。また、ステータス管理部１６２は、各モジュールから状態取得要求の結果および状態変更要求の結果を受けると、マイコンデバイス１０３に当該結果を通知する。
【００３５】
ステータス管理部１６２は、マイコンコマンド処理部１８１からの要求に応じて、ＵＩ制御部１７６によって表示された画面のＩＤを通知する。ステータス管理部１６２は、マイコンコマンド処理部１８１からの要求に応じて、内蔵ストレージ部１３０に不揮発データとして書き込む又は読み込む処理を行う。ステータス管理部１６２は、マイコンコマンド処理部１８１からの要求に応じて、記録した日時情報とともにセンサー値などのログデータをロギングする。ステータス管理部１６２は、マイコンコマンド処理部１８１からの要求に応じて、ユーザー名およびパスワードに基づいて、ユーザーログイン処理を行う。
【００３６】
ジョブ制御部１６３は、データ処理装置１０１から送信されたＰＤＬデータをプリントエンジン１１２で印刷するためのモジュールである。ジョブ制御部１６３は、ネットワークインタフェイス制御部１７４からＰＤＬデータ送信が通知されると、ＲＡＭ１２３にＰＤＬジョブを生成する。当該ＰＤＬジョブには、ＰＤＬ制御部１６４、ＲＩＰ制御部１６５、イメージ制御部１７１、およびエンジン制御部１７２に対する指示などが含まれる。なお、スプール指示を有するＰＤＬデータについては、当該ＰＤＬデータをＲＡＭ１２３又は内蔵ストレージ部１３０に保持することもある。
【００３７】
ジョブ制御部１６３は、ＰＤＬ制御部１６４、ＲＩＰ制御部１６５、イメージ制御部１７１、およびエンジン制御部１７２に対して指示を行い、その完了通知や結果を受け取る。また、ジョブ制御部１６３は、エンジン制御部１７２から通知されたプリントエンジン１１２のエラー状態およびジャム状態を保持して、ステータス管理部１６２からの要求に対して当該状態を通知する。なお、エンジン制御部１７２がステータス管理部１６２に対して直接当該ステータスを通知するようにしてもよい。
【００３８】
ＰＤＬ制御部１６４は、ネットワークインタフェイス制御部１７４から通知されたＰＤＬデータを、ＲＩＰ制御部１６５が解釈可能な中間データに変換するモジュールである。ＰＤＬ制御部１６４は、ジョブ制御部１６３からの指示に従って、ＰＤＬジョブ内の設定に基づいて、ネットワークインタフェイス制御部１７４から通知されたＰＤＬデータを解析する。そして、ＰＤＬ制御部１６４は、中間データをＲＡＭ１２３に生成する。ＰＤＬデータに印刷設定が含まれている場合には、ＰＤＬ制御部１６４はＰＤＬジョブの印刷設定を変更することもある。
【００３９】
中間データは、ＲＩＰ部１２８が効率的に処理可能であるデータフォーマットに従って格納される。例えば、スキャンライン方式のＲＩＰ部１２８であれば、ＰＤＬデータにおけるオブジェクトの重なりが除去され、小イメージが結合され、さらにはオブジェクト間の合成処理がより効率的に変換できるように変換される。
【００４０】
なお、ＰＤＬ制御部１６４が複数のＰＤＬインタプリタを有し、ＰＤＬデータの種別に応じてＰＤＬインタプリタを使い分けるようにしてもよい。また、ＵＩパネル１１１におけるユーザー操作をトリガーとして、画像形成装置においてＰＤＬデータを生成するようにしてもよい。例えば、画像形成装置１０２で行われた設定の一覧を出力するレポートプリント機能の実現に使うことができる。ＰＤＬ処理が完了したら、ＰＤＬ制御部１６４はジョブ制御部１６３に対してＰＤＬ処理完了を通知する。
【００４１】
ＲＩＰ制御部１６５は、ＰＤＬインタプリタ１６４が生成した中間データを、印字に用いるビットマップデータに変換して、イメージ制御部１７１へ通知するモジュールである。
【００４２】
ＲＩＰ制御部１６５は、ジョブ制御部１６３からの指示に従い、ジョブ制御部１６３が生成したＰＤＬジョブ内の設定に基づいて、ＰＤＬ制御部１６４が生成した中間データを基にして、ビットマップデータをＲＡＭ１２３に生成する。具体的には、ＲＩＰ制御部１６５は、ＲＩＰ部１２８に対して、中間データを保持しているメモリアドレスおよびビットマップデータを格納するメモリアドレスを通知する。ビットマップデータはページ単位である他、バンド単位、チャンネル単位、又はブロック単位で生成するようにしてもよい。
【００４３】
また、後述するイメージ制御部１７１で行われるハーフトーン処理の代わりに、ビットマップデータ生成の際にハーフトーン処理を施すようにしてもよい。ＲＩＰ制御部１６５はビットマップデータをＲＡＭ１２３に格納する代わりに、イメージ制御部１７１に直接送信するようにしてもよい。ＲＩＰ処理が完了したら、ＲＩＰ制御部１６５はジョブ制御部１６３に対してＲＩＰ処理完了を通知する。
【００４４】
イメージ制御部１７１は、ビットマップデータを、エンジン制御部１７２にプリントエンジン１１２において印字するために適したスプールデータに変換するモジュールである。イメージ制御部１７１は、ジョブ制御部１６３からの指示に従い、ジョブ制御部１６３で生成されたＰＤＬジョブの設定に基づいて、ＲＩＰ制御部１６５が生成したビットマップデータを基にして、スプールデータをＲＡＭ１２３に生成する。
【００４５】
スプールデータはレンダリング画像をプリントエンジン１１２に通知するために適した形式に変換したものである。例えば、イメージ制御部１７１でビットマップデータに対してハーフトーン処理を施すようにしてもよい。さらには、イメージ制御部１７１はカラーマネジメントシステムを有し、プリントエンジン１１２に最適な色味に補正を行うようにしてもよい。また、スプールデータを保持するために必要となるデータ容量を削減するため、イメージ制御部１７１によってビットマップデータを可逆圧縮又は非可逆圧縮した上で、スプールデータとして保持するようにしてもよい。
【００４６】
イメージ処理が完了したら、イメージ制御部１７１はジョブ制御部１６３に対してイメージ処理完了を通知する。
【００４７】
エンジン制御部１７２は、スプールデータをプリントエンジン１１２で物理用紙に印字するモジュールである。また、エンジン制御部１７２は、プリントエンジン１１２から通知されるプリントエンジン１１２の状態を取得して設定する。
【００４８】
エンジン制御部１７２は、ジョブ制御部１６３からの指示に従って、ジョブ制御部１６３が生成したＰＤＬジョブ内の設定に基づいて、イメージ制御部１７１が生成したスプールデータを、プリントエンジン１１２で印字する指示を行う。プリントエンジン１１２が複数の給紙段を有していれば、エンジン制御部１７２は、いずれの給紙段から物理用紙を給紙するのかの指示を行う。また、イメージ制御部１７１によってスプールデータが可逆圧縮又は非可逆圧縮されている場合、エンジン制御部１７２はスプールデータを展開する。そして、プリントエンジン１１２は、当該スプールデータによって当該物理用紙に印字する処理を行う。
【００４９】
この際、プリントエンジン１１２が複数の排紙段を有していれば、いずれの排紙段に物理用紙を排紙するかを指示するようにしてもよい。また、排紙段が物理用紙に対して加工機能を有している場合には、エンジン制御部１７２は加工に係る制御を行うようにしてもよい。例えば、エンジン制御部１７２は物理用紙をステイプルによって止める又は折り曲げるなどの加工を制御するようにしてもよい。
【００５０】
エンジン制御部１７２は、ジョブ制御部１６３からの指示に従い、プリントエンジン１１２から通知される種々のエラー状態、ジャム状態、および消耗品状態を、ジョブ制御部１６３にステータスとして通知する。
【００５１】
エラー状態には、プリントエンジン１１２の本体カバーが開いているので印字ができない状態などが含まれる。さらには、エラー状態には、プリントエンジン１１２で印字するべく給紙を行おうとした給紙段に物理用紙が存在せず、印刷ができない状態なども含まれる。
【００５２】
ジャム状態には、印字処理を行った際に用紙が搬送路でつまった状態などが含まれる。消耗品状態には、トナーカートリッジ、トナーボトル、又は給紙段カセットに消耗品が含まれているのか、そして、消耗品が含まれているならばどの程度残っているのかなどが含まれる。これらは、プリントエンジン１１２に備えられたセンサーに基づいて物理的に検出される他、プリントエンジン１１２による演算によって論理的に算出されるようにしてもよい。
【００５３】
エンジン制御部１７２は、電源制御部１７５からの指示に従い、プリントエンジン１１２の電源制御指示を行う。電源制御部１７５からは、節電状態（又はスリープ状態）への突入又は復帰指示が行われる。節電状態にあっては、画像形成装置１０２を構成する部品の一部のみに給電をすることによって、印刷を行わない待機状態において消費電力を削減する。
【００５４】
ネットワークインタフェイス制御部１７４は、データ処理装置１０１との通信を制御するモジュールである。ネットワークインタフェイス制御部１７４は、ＮＩＣ１２４を制御して、データ処理装置１０１からのデータを送受信する。ネットワークインタフェイス制御部１７４は、ジョブ制御部１６３を介してデータ処理装置１０１から送信されたＰＤＬデータをＰＤＬ制御部１６４に通知する。
【００５５】
ネットワークインタフェイス制御部１７４は、データ処理装置１０１から状態取得要求又は状態変更要求が通知されると、ステータス管理部１６２に状態取得要求又は状態変更要求を行う。ネットワークインタフェイス制御部１７４は、ステータス管理部１６２から状態取得結果又は状態変更結果が通知されると、当該結果をデータ処理装置１０１に通知する。
【００５６】
その他、ネットワークインタフェイス制御部１７４は、データ処理装置１０１から、画像形成装置１０２の状態を表示および制御するためのウェブページの表示要求を受け取ると、ＵＩ制御部１７６に当該表示要求を通知する。
【００５７】
電源制御部１７５は、画像形成装置１０２の電源状態を管理するモジュールである。電源制御部１７５は、ステータス管理部１６２からの状態変更要求に従い、エンジン制御部１７２に対して電源状態の取得指示および電源状態の変更指示を行う。なお、プリントエンジン１１２を介してコントローラ１１０の電源状態を管理するようにしてもよい。
【００５８】
ＵＩ制御部１７６は、ステータス管理部１６２から通知される状態変更通知を基に、ＵＩパネル１１１を介してユーザーに種々の情報を報知するためのモジュールである。ＵＩ制御部１７６では、ＵＩパネル１１１で行われた操作の結果、ユーザーにどのような画面が表示されているかを管理するための状態を保持する。
【００５９】
ＵＩ制御部１７６は、ネットワークインタフェイス制御部１７４からウェブページ表示要求を受け取ると、データ処理装置１０１に対して画像形成装置１０２の状態を表示および制御するためのウェブページを提供するようにしてもよい。
【００６０】
マイコンコマンド処理部１８１は、マイコンデバイス１０３から通知されるリクエストデータを解釈して、ステータス管理部１６２に対して状態取得要求又は状態変更要求を送信する。マイコンコマンド処理部１８１は、ステータス管理部１６２から状態取得結果又は状態変更結果を受信すると、マイコンデバイス１０３にレスポンスデータとして当該結果を通知する。この処理については後述する。
【００６１】
外部Ｉ／Ｆ制御部１８２は、マイコンコマンド処理部１８１がマイコンデバイス１０３と通信を行う際に、拡張Ｉ／Ｆ１３２を制御するモジュールである。例えば、外部Ｉ／Ｆ制御部１８２は、マイコンデバイス１０３が接続されているのか否かを判定する機能などを有している。
【００６２】
図３は、図１に示すマイコンデバイスの一例についてその構成を説明するためのブロック図である。そして、図３（Ａ）はエラーリカバリメッセージ発話処理を行うためのマイコンデバイスのハードウェア構成を示すブロック図であり、図３（Ｂ）は消耗品残量表示処理を行うためのマイコンデバイスのハードウェア構成を示すブロック図である。また、図３（Ｃ）は電源制御補助処理を行うためのマイコンデバイスのハードウェア構成を示すブロック図であり、図３（Ｄ）は周辺環境ロギング処理を行うためのマイコンデバイスのハードウェア構成を示すブロック図である。
【００６３】
なお、図３（Ａ）〜図３（Ｄ）においては、マイコンデバイスはそれぞれ参照番号２１０、２２０、２３０、および２４０で示されている。
【００６４】
マイコンデバイスは、マイコンチップ２０１、ＵＳＢシリアル通信チップ２０２、およびペリフェラルパーツ群を有している。
【００６５】
マイコンチップ２０１は、マイコンデバイス１０３を制御するためのＩＣチップである。マイコンチップ２０１はＲＯＭおよびＲＡＭを備え、マイコンデバイス１０３を制御するマイコンファームがＲＯＭに格納されている。そして、マイコンチップ２０１はＲＡＭを用いてマイコンファームを実行する。
【００６６】
また、マイコンチップ２０１は、複数の外部ピンを有し、各外部ピンを介してペリフェラルパーツ群と通信する機能を備えている。図示の例では、マイコンチップ２０１においてシリアル通信可能な外部ピンを、ＵＳＢシリアル変換チップ２０２と接続する。マイコンチップ２０１においてペリフェラルパーツと通信可能な外部ピンを、各ペリフェラルパーツに接続する。
【００６７】
なお、ペリフェラルパーツと接続する際には、ＧＰＩＯ（Ｇｅｎｅｒａｌ  Ｐｏｒｐｏｓｅ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）又はＩ２Ｃ（Ｉｎｔｅｒ−Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）を用いることができる。その他、ペリフェラルパーツと接続する際には、ＳＰＩ（シリアル・ペリフェラル・インターフェイス）などを用いるようにしてもよい。
【００６８】
ＵＳＢシリアル変換チップ２０２は、マイコンデバイスと画像形成装置１０２との間において通信を行うに当たって、電気的又は論理的通信プロトコルの変換処理を行うモジュールである。さらに、ＵＳＢシリアル変換チップ２０２は、画像形成装置１０２から供給される電力を変換して、マイコンデバイス１０３に供給する機能を有している。
【００６９】
ペリフェラルパーツ群は、マイコンデバイスに装着されるペリフェラルパーツである。例えば、ペリフェラルパーツ群として距離センサー２１１および音声合成チップ２１２などがある。なお、図３に示すペリフェラルパーツ以外のペリフェラルパーツを装着するようにしてもよい。
【００７０】
図３（Ａ）に示す例では、ペリフェラルパーツとして距離センサー２１１および音声合成チップ２１２が装着され、マイコンデバイス２１０はエラーリカバリメッセージ発話処理を行う。音声合成チップ２１２はアンプ２１３を介してスピーカー２１４に接続されている。
【００７１】
距離センサー２１１は、マイコンチップ２０１の指示に従い、センサー正面から障害物までの距離を測定する。例えば、距離センサー２１１は超音波を発し、当該超音波が障害物に反射して、反射超音波を受信するまでの時間を測定して、障害物との距離を測定する。
【００７２】
音声合成チップ２１２は、マイコンチップ２０１の指示に従い、マイコンチップ２０１から発話データを送信されると、発話データを基にＰＣＭデータを生成する。そして、音声合成チップ２１２は外部ピンに当該ＰＣＭデータを出力する。ＰＣＭデータはアナログデータとして出力するようにしてもよく、ＰＷＭによって出力するようにしてもよい。図示の例では、音声合成チップ２１２はＰＣＭデータを、アンプ２１３にＰＷＭ信号として入力する。
【００７３】
アンプ２１３はＰＷＭ信号を増幅して、スピーカー２１４に出力する。スピーカー２１４は、アンプ２１３から入力されたＰＷＭ信号に応じた音響を出力する。
【００７４】
図３（Ｂ）に示す例では、ペリフェラルパーツとしてＬＣＤパネル２２１およびスイッチ２２２が装着され、マイコンデバイス２２０は消耗品残量表示処理を行う。
【００７５】
ＬＣＤパネル２２１は、マイコンチップ２０１の指示に従い、液晶パネルに文字およびグラフィックを表示する。なお、ＬＣＤパネル２２１としてテキストを表示する機能のみのパネルを用いるようにしてもよい。さらには、より表現の自由度が高いグラフィックを表示する機能を有するＬＣＤパネルを用いるようにしてもよい。
【００７６】
グラフィックを表示する機能を有する場合には、グラフィックデータ、つまり、フレームバッファをマイコンチップ２０１のＲＡＭに有するようにしてもよく、ＬＣＤパネル２２１がフレームバッファを有するようにしてもよい。さらに、ＬＣＤパネル２２１は、１画素をオンおよびオフで表現するモノクロパネルであってもよく、ＲＧＢ毎に色を指定可能なカラーパネルであってもよい。
【００７７】
スイッチ２２２は、押下されたイベントをマイコンチップ２０１に通知する。例えば、押下されていない状態から押下されている状態に移行した場合には、スイッチ２２２はイベントとしてＲＩＳＩＮＧを通知する。一方、押下されている状態から押下されていない状態となった場合には、スイッチ２２２はイベントとしてＦＡＬＬＩＮＧを通知する。さらに、押下されている状態のままである場合には、スイッチ２２はＨＩＧＨを通知する。そして、押下されていない状態のままである場合には、スイッチ２２２はＬＯＷを通知する。なお、スイッチ２２２にはチャタリングを除去するための手段が備えられることが望ましい。
【００７８】
図３（Ｃ）に示す例では、ペリフェラルパーツとして照度センサー２３１および人感センサー２３２が装着され、マイコンデバイス２３０は電源制御補助処理を行う。
【００７９】
照度センサー２３１は、マイコンチップ２０１の指示に従い、照度センサー周囲の明るさを測定する。照度センサー２３１は可視光の明るさを検知するようにしてもよく、赤外線の明るさを検知するなどしてもよい。照度センサー２３１は測定した結果を、マイコンチップ２０１に通知される。
【００８０】
人感センサー２３２は、マイコンチップ２０１の指示に従い、人感センサー周囲に人体が近づいたか否かを検知する。例えば、人感センサー２３２は赤外線を観測して、人体の接近を検知する。人感センサー２３２は検知した結果を、マイコンチップ２０１に通知する。
【００８１】
図３（Ｄ）に示す例では、ペリフェラルパーツとして、ＣＯ／ＣＯ２センサー２４１および温度／湿度センサー２４２が装着され、マイコンデバイス２４０は周辺環境ロギング処理を行う。
【００８２】
ＣＯ／ＣＯ２センサー２４１は、マイコンチップ２０１の指示に従い、ＣＯ／ＣＯ２センサー周囲のＣＯおよびＣＯ２の濃度を測定する。ＣＯ／ＣＯ２センサー２４１は測定した結果を、マイコンチップ２０１に通知する。
【００８３】
温度／湿度センサー２４１は、マイコンチップ２０１の指示に従い、温度／湿度センサー周囲の温度および湿度を測定する。温度／湿度センサー２４１は測定した結果を、マイコンチップ２０１に通知する。
【００８４】
図４は、図３（Ａ）〜図３（Ｄ）に示すマイコンデバイスのソフトウェア構成の一例を示すブロック図である。
【００８５】
マイコンデバイス２１０〜２４０の各々に備えられたマイコンファーム２５０は、マイコンデバイス制御部２５１、コマンド通信部２６１、ＵＡＲＴ通信部２６２、ペリフェラルパーツ制御部２７１、およびペリフェラルパーツ通信部２７２を備えている。
【００８６】
マイコンデバイス制御部２５１は、マイコンデバイス全体の制御を行うためのモジュールである。マイコンデバイス制御部２５１は、コマンド通信部２６１に対して状態取得要求又は状態変更要求を送信する。また、マイコンデバイス制御部２５１はコマンド通信部２６１から状態取得結果又は状態変更結果を受信する。
【００８７】
コマンド通信部２６１は、マイコンデバイス１０３と画像形成装置１０２との間の上位レイヤーにおいて通信を制御するためのモジュールである。コマンド通信部２６１は、マイコンデバイス制御部２５１から状態取得要求又は状態変更要求の通知を受け取ると、ヘッダなどを含むリクエストデータに変換する。また、コマンド通信部２６１は、画像形成装置１０２からリクエストデータを受信すると、ヘッダなどを削除して、マイコンデバイス制御部２５１に状態取得結果又は状態変更結果として通知する。
【００８８】
シリアル通信部２６２は、マイコンデバイス１０３と画像形成装置１０２との間の下位レイヤーにおいて通信を制御するためのモジュールである。シリアル通信部２６２は、ＵＳＢシリアル変換チップ２０２を介して通信速度の設定およびパリティビットの有無の制御などを行う。
【００８９】
ここで、図示の例では、画像形成装置１０２とマイコンデバイスとの間の通信を容易に実現するため、ＵＳＢシリアル変換チップ２０２を用いる例を挙げた。一方、ＵＳＢ通信機能を有するマイコンチップ２０１を用いて、ＵＳＢシリアル通信機能をソフトウェアで実現するようにしてもよい。さらには、ＵＳＢ通信機能を有するマイコンチップ２０１を用いて、独自プロトコルで画像形成装置１０２と通信を行った上で、画像形成装置１０２において当該独自プロトコルを解釈するようにしてもよい。
【００９０】
ペリフェラルパーツ制御部２７１は、各ペリフェラルパーツを制御する。ペリフェラルパーツ制御部２７１は、各ペリフェラルパーツに必要な初期化、状態変更、および状態取得などを行う。複数のペリフェラルパーツが存在する場合には、各ペリフェラルパーツに対応してペリフェラルパーツ制御部２７１が存在する。
【００９１】
ペリフェラルパーツ通信部２７２は、ペリフェラルパーツ制御部２７１とペリフェラルパーツ２９０との間の通信を制御する。ペリフェラルパーツ通信部２７２は、マイコンチップ２０１とペリフェラルパーツ２９０との間の通信速度およびトランザクション処理の開始と終了の通知などのペリフェラルパーツの種類に依存しない通信に必要な設定および制御を行う。
【００９２】
図５Ａおよび図５Ｂは、図２に示すマイコンコマンド処理部で行われるマイコンコマンド処理を説明するためのフローチャートである。
【００９３】
マイコンコマンド処理部１８１は、外部Ｉ／Ｆ制御部１８２によってマイコンデバイス１０３が接続されているか否かを確認する（ステップＳ３０１）。そして、マイコンコマンド処理部１８１は、画像形成装置１０２にマイコンデバイス１０３が接続されているか否かを判断する（ステップＳ３０２）。
【００９４】
画像形成装置１０２にマイコンデバイス１０３が接続されていない場合（ステップＳ３０２において、ＮＯ）、マイコンコマンド処理部１８１は一定の時間（例えば、５０００ミリ秒）待機する（ステップＳ３０３）。そして、マイコンコマンド処理部１８１はステップＳ３０１の処理に戻る。
【００９５】
画像形成装置１０２にマイコンデバイス１０３が接続されている場合（ステップＳ３０２において、ＹＥＳ）、マイコンコマンド処理部１８１は外部Ｉ／Ｆ制御部１８２に通信初期化処理を指示する（ステップＳ３０４）。これによって、外部Ｉ／Ｆ制御部１８２は、マイコンデバイス１０３との通信を確立する。
【００９６】
続いて、マイコンコマンド処理部１８１は、外部Ｉ／Ｆ制御部１８２からマイコンデバイス１０３が送信したリクエストデータを受信する（ステップＳ３１１）。なお、所定の時間（例えば、３０秒間）が経過してもリクエストデータを受信できない場合には、マイコンコマンド処理部１８１はタイムアウトが発生したとする。
【００９７】
マイコンコマンド処理部１８１は、マイコンデバイス１０３が送信したリクエストデータを受信しようとしてタイムアウトが発生したか否かを判定する（ステップＳ３１２）。タイムアウトが発生した場合（ステップＳ３１２において、ＹＥＳ）、マイコンコマンド処理部１８１は外部Ｉ／Ｆ制御部１８２に通信終了処理を指示する（ステップＳ３１３）。そして、マイコンコマンド処理部１８１はステップＳ３０１の処理に戻る。
【００９８】
一方、タイムアウトが発生しないと、つまり、リクエストデータを受信すると（ステップＳ３１２において、ＮＯ）、マイコンコマンド処理部１８１はリクエストデータの内容に基づいてコマンド文字列種別を判定する（ステップＳ３２０）。
【００９９】
コマンド文字列種別の判定結果に応じて、マイコンコマンド処理部１８１以下処理を行う。マイコンコマンド処理部１８１はステータス管理部１６２に対して、状態取得要求又は状態変更要求を行う。そして、マイコンコマンド処理部１８１はステータス管理部１６２から通知された状態取得結果又は状態変更結果に基づいて、レスポンスデータを決定する。
【０１００】
図６および図７はリクエストデータの一例を示す図であり、図８はレスポンスデータの一例を示す図である。また、図９はレスポンスデータの他の例を示す図である。
【０１０１】
例えば、マイコンコマンド処理部１８１は”？ＳＬＥＥＰ”のリクエストデータを受信すると電源状態の状態取得要求として解釈して、電源状態の状態取得要求処理を行う。その結果、画像形成装置１０２の電源状態が節電中であれば、マイコンコマンド処理部１８１はレスポンスデータを”ＳＬＥＥＰ”と決定する。
【０１０２】
一方、画像形成装置１０２の電源状態が印刷可能状態であって節電中ではない場合には、マイコンコマンド処理部１８１はレスポンスデータを”ＡＷＡＫＥ”と決定する。
【０１０３】
リクエストデータが“？ＳＣＲＥＥＮＩＤ”である場合には、レスポンスデータおよび意味が複数あって煩雑となる。よって、当該リクエストデータに対するレスポンスデータおよび意味を図８に示す。
【０１０４】
リクエストデータが”ＬＯＧａａａａｂｂｂｂｂ”である場合のレスポンスデータ（ここでは、ログ種別）および意味は図９に示されている。
【０１０５】
ステップＳ３２０において、リクエストデータが「？ＳＬＥＥＰ」である場合には、マイコンコマンド処理部１８１は画像形成装置１０２の電源状態に基づいてレスポンスデータを決定する（ステップＳ３２１）。ここでは、マイコンコマンド処理部１８１はステータス管理部１６２に電源状態の取得を要求する。
【０１０６】
これに応答して、ステータス管理部１６２は、電源制御部１７５によって管理される画像形成装置１０２の電源状態をマイコンコマンド処理部１８１に通知する。マイコンコマンド処理部１８１は、当該電源状態に基づいて、レスポンスデータを決定する。例えば、ステータス管理部１６２から電源状態がスリープ状態であると通知を受けると、マイコンコマンド処理部１８１はレスポンスデータを「ＳＬＥＥＰ」と決定する。一方、ステータス管理部１６２から電源状態がスリープ状態でないと通知を受けた場合、マイコンコマンド処理部１８１はレスポンスデータを「ＡＷＡＫＥ」と決定する。
【０１０７】
ステップＳ３２０において、リクエストデータが「！ＳＬＥＥＰ」又は「！ＡＷＡＫＥ」である場合、マイコンコマンド処理部１８１は画像形成装置１０２の電源状態の状態変更要求の成功可否に基づいてレスポンスデータを決定する（ステップＳ３２２）。ここでは、マイコンコマンド処理部１８１はステータス管理部１６２に電源状態の変更を要求する。ステータス管理部１６２は電源制御部１７５に対して電源状態の状態変更要求を通知する。
【０１０８】
リクエストデータが「！ＳＬＥＥＰ」であれば、ステータス管理部１６２は電源制御部１７５に対して電源状態をスリープ状態とする状態変更要求を通知する。リクエストデータが「！ＡＷＡＫＥ」であれば、ステータス管理部１６２は電源制御部１７５に対してスリープ状態から復帰する状態変更要求を通知する。電源制御部１７５は電源状態変更通知を受けると、電源状態の変更を試みて、その結果をステータス管理部１６２に通知する。
【０１０９】
スリープ状態とする状態変更要求をスリープ状態中に受けた場合には、電源制御部１７５は電源状態の変更要求が失敗したとする。また、スリープ状態から復帰する状態変更要求を印刷可能状態、つまり、スリープ状態中ではない状態で受けた場合には、電源制御部１７５は電源状態の変更要求が失敗したとする。
【０１１０】
その他の理由によって、画像形成装置１０２がスリープ状態とならなかったか又はスリープ状態から復帰できなかった場合についても、電源制御部１７５は電源状態の状態変更が失敗したとする。
【０１１１】
電源制御部１７５はステータス管理部１６２に当該電源状態の状態変更結果を通知する。ステータス管理部１６２は、受信した電源状態の状態変更結果をマイコンコマンド処理部１８１に通知する。
【０１１２】
マイコンコマンド処理部１８１は、電源状態の状態変更結果に基づいてレスポンスデータを決定する。電源状態の状態変更結果が失敗である場合には、マイコンコマンド処理部１８１はレスポンスデータを「ＮＧ」と決定する。
【０１１３】
電源制御部１７５において画像形成装置１０２が要求されたとおりにスリープ状態となるか又はスリープ状態から復帰できた場合には、電源状態の状態変更結果は成功となる。電源制御部１７５はステータス管理部１６２に電源状態の状態変更結果を通知する。ステータス管理部１６２は、受信した電源状態の状態変更結果をマイコンコマンド処理部１８１に通知する。状態変更結果が成功である場合には、マイコンコマンド処理部１８１はレスポンスデータを「ＯＫ」と決定する。
【０１１４】
ステップＳ３２０において、リクエストデータが「？ＪＯＢ」である場合には、マイコンコマンド処理部１８１は画像形成装置１０２のジョブ実行状態に基づいてレスポンスデータを決定する（ステップＳ３２３）。ここでは、マイコンコマンド処理部１８１は、ステータス管理部１６２にジョブ実行状態の取得を要求する。
【０１１５】
ステータス管理部１６２はジョブ実行状態に基づいてジョブ実行状態を通知する。例えば、ステータス管理部１６２は、ジョブ実行中、ジョブエラー発生中、又は何事も発生していない待機中である旨をジョブ実行状態としてマイコンコマンド処理部１８１に通知する。
【０１１６】
ジョブ実行状態がジョブ実行中である場合には、マイコンコマンド処理部１８１はレスポンスデータを「ＲＵＮＮＩＮＧ」と決定する。ジョブ実行状態がジョブエラー発生中である場合には、マイコンコマンド処理部１８１はレスポンスデータを「ＥＲＲＯＲ」と決定する。ジョブ実行状態が待機中である場合には、マイコンコマンド処理部１８１はレスポンスデータを「ＩＤＬＥ」と決定する。
【０１１７】
ステップＳ３２０において、リクエストデータが「？ＳＰＯＯＬＪＯＢ」である場合には、マイコンコマンド処理部１８１は画像形成装置１０２のスプールジョブ実行状態に基づいてレスポンスデータを決定する（ステップＳ３２４）。ここでは、マイコンコマンド処理部１８１は、ステータス管理部１６２にスプールジョブ実行状態の取得を要求する。画像形成装置１０２においてスプールジョブが存在している場合には、ステータス管理部１６２はスプールジョブ有りをスプールジョブ実行状態としてマイコンコマンド処理部１８１に通知する。画像形成装置１０２においてスプールジョブが存在していない場合には、ステータス管理部１６２はスプールジョブ無しをスプールジョブ実行状態として、マイコンコマンド処理部１８１に通知する。
【０１１８】
スプールジョブ実行状態がスプールジョブ有りであれば、マイコンコマンド処理部１８１はレスポンスデータを「ＳＴＯＲＥＤ」と決定する。一方、スプールジョブ実行状態がスプールジョブ無しであれば、マイコンコマンド処理部１８１はレスポンスデータを「ＮＯＮＥ」と決定する。
【０１１９】
ステップＳ３２０において、リクエストデータが「？ＥＲＲＯＲ」である場合には、マイコンコマンド処理部１８１は画像形成装置１０２のエラー状態に基づいてレスポンスデータを決定する（ステップＳ３２５）。ここでは、マイコンコマンド処理部１８１は、ステータス管理部１６２にエラー状態の取得を要求する。
【０１２０】
画像形成装置１０２においていずれかの搬送路でジャムが発生している場合には、ステータス管理部１６２はエラー状態をジャムエラー中としてマイコンコマンド処理部１８１に通知する。エラー状態がジャムエラー中である場合、マイコンコマンド処理部１８１はレスポンスデータを「ＪＡＭ」と決定する。
【０１２１】
画像形成装置１０２においていずれかのカバーが開いている場合には、ステータス管理部１６２はエラー状態をカバーエラー中としてマイコンコマンド処理部１８１に通知する。エラー状態がカバーエラー中である場合、マイコンコマンド処理部１８１はレスポンスデータを「ＣＯＶＥＲ」と決定する。
【０１２２】
画像形成装置１０２においてカートリッジに関するエラーが発生している場合には、ステータス管理部１６２はエラー状態をカートリッジエラー中としてマイコンコマンド処理部１８１に通知する。エラー状態がカートリッジエラー中である場合、マイコンコマンド処理部１８１はレスポンスデータを「ＣＲＧ」と決定する。
【０１２３】
いずれのエラーも発生していない場合には、ステータス管理部１６２はエラー状態をエラー無しとしてマイコンコマンド処理部１８１に通知する。エラー状態がエラー無しである場合、マイコンコマンド処理部１８１はレスポンスデータを「ＮＯＮＥ」と決定する。
【０１２４】
ステップＳ３２０において、リクエストデータが「？ＣＯＶＥＲ」である場合には、マイコンコマンド処理部１８１は画像形成装置１０２のカバー状態に基づいてレスポンスデータを決定する（ステップＳ３２６）。ここでは、マイコンコマンド処理部１８１は、ステータス管理部１６２に対してカバー状態の取得を要求する。
【０１２５】
ステータス管理部１６２は、画像形成装置１０２において前カバーが開いている場合には、カバー状態を前カバーエラーとしてマイコンコマンド処理部１８１に通知する。カバー状態が前カバーエラーである場合、マイコンコマンド処理部１８１はレスポンスデータを「ＦＲＯＮＴ」と決定する。
【０１２６】
ステータス管理部１６２は、画像形成装置１０２において後カバーが開いている場合には、カバー状態を後カバーエラーとしてマイコンコマンド処理部１８１に通知する。カバー状態が後カバーエラーである場合、マイコンコマンド処理部１８１はレスポンスデータを「ＲＥＡＲ」と決定する。
【０１２７】
ステータス管理部１６２は、画像形成装置１０２において右カバーが開いている場合には、カバー状態を右カバーエラーとしてマイコンコマンド処理部１８１に通知する。カバー状態が右カバーエラーである場合、マイコンコマンド処理部１８１はレスポンスデータを「ＲＩＧＨＴ」と決定する。
【０１２８】
ステップＳ３２０において、リクエストデータが「？ＣＲＧＹ」、「？ＣＲＧＭ」、「？ＣＲＧＣ」、又は「？ＣＲＧＫ」である場合、マイコンコマンド処理部１８１は画像形成装置１０２のトナーカートリッジ状態に基づいてレスポンスデータを決定する（ステップＳ３２７）。また、マイコンコマンド処理部１８１は、リクエストデータが「？ＣＲＧ１」「？ＣＲＧ２」「？ＣＲＧ３」「？ＣＲＧ４」である場合、画像形成装置１０２のドラムカートリッジ状態に基づいてレスポンスデータを決定する（ステップＳ３２７）。なお、図５Ａおよび図５Ｂにおいて、「？ＣＲＧｘ」における「ｘ」は「Ｙ（イエロー）」、「Ｍ（マゼンタ）」、「Ｃ（シアン）」又は「Ｋ（ブラック）」であり、便宜上ドラムカートリッジについては「ＹＭＣＫ」のそれぞれに「１２３４」を付与する。
【０１２９】
ここでは、まず、マイコンコマンド処理部１８１は、ステータス管理部１６２に対して指定されたカートリッジの状態（カートリッジ状態）の取得を要求する。ステータス管理部１６２は、画像形成装置１０２において当該カートリッジをサポートしていない場合には、カートリッジ状態が非サポートであるとしてマイコンコマンド処理部１８１に通知する。カートリッジ状態が非サポートである場合、マイコンコマンド処理部１８１はレスポンスデータを「ＮＯＴＳＵＰＰＯＲＴ」と決定する。
【０１３０】
例えば、画像形成装置１０２がトナードラム一体型カートリッジを用いている場合には、ドラムカートリッジに対するリクエストデータである「？ＣＲＧ１」、「？ＣＲＧ２」、「？ＣＲＧ３」、および「？ＣＲＧ４」は常に非サポートとなる。また、モノクロエンジンにおいては、ブラックトナーのみをサポートするので、「？ＣＲＧＹ」、「？ＣＲＧＭ」、「？ＣＲＧＣ」、「？ＣＲＧ１」、「？ＣＲＧ２」、および「？ＣＲＧ３」は常に非サポートとなる。
【０１３１】
ステータス管理部１６２は、画像形成装置１０２において当該カートリッジが未装着である場合には、カートリッジ状態を未装着としてマイコンコマンド処理部１８１に通知する。カートリッジ状態が未装着である場合、マイコンコマンド処理部１８１はレスポンスデータを「ＮＯＴＡＴＴＡＣＨＥＤ」と決定する。
【０１３２】
ステータス管理部１６２は、画像形成装置１０２において当該カートリッジが装着位置不正である場合には、カートリッジ状態を装着位置不正としてマイコンコマンド処理部１８１に通知する。例えば、画像形成装置１０２においてＹトナーカートリッジを装着するべき箇所に、Ｍトナーカートリッジが装着された場合には、ステータス管理部１６２は装着位置不正と見なす。
【０１３３】
カートリッジ状態が装着位置不正である場合には、マイコンコマンド処理部１８１はレスポンスデータを「ＭＩＳＭＡＴＣＨＥＤ」と決定する。
【０１３４】
ステータス管理部１６２は、画像形成装置１０２において当該カートリッジとの通信に失敗した場合には、カートリッジ状態を通信エラーとしてマイコンコマンド処理部１８１に通知する。カートリッジ状態が通信エラーである場合、マイコンコマンド処理部１８１はレスポンスデータを「ＣＯＭＥＲＲ」と決定する。
【０１３５】
ステータス管理部１６２は、画像形成装置１０２において当該カートリッジをサポートしており、当該カートリッジとの通信に成功し、かつ当該カートリッジが正しい位置に装着されている場合、カートリッジ状態を取得成功とする。そして、ステータス管理部１６２はカートリッジ寿命残量情報を付与して、マイコンコマンド処理部１８１に通知する。例えば、新品カートリッジであればカートリッジ寿命残量情報は”１００％”となり、寿命に到達したカートリッジであればカートリッジ寿命残量情報は”０％”となる。
【０１３６】
カートリッジ状態が取得成功である場合、マイコンコマンド処理部１８１はレスポンスデータをカートリッジ寿命残量情報に基づいて決定する。例えば、カートリッジ寿命残量情報が”１００％”であれば、マイコンコマンド処理部１８１はレスポンスデータを「１００％」とする。また、カートリッジ寿命残量情報が”０％”であれば、マイコンコマンド処理部１８１はレスポンスデータを「０％」とする。
【０１３７】
ステップＳ３２０で、リクエストデータが「？ＣＳＴ１」、「？ＣＳＴ２」、「？ＣＳＴ３」、「？ＣＳＴ４」、又は「？ＭＰＴＲＡＹ」である場合、マイコンコマンド処理部１８１は画像形成装置１０２の給紙段状態に基づいてレスポンスデータを決定する。また、リクエストデータが「？ＦＩＮＩＳＨＥＲ１」又は「？ＦＩＮＩＳＨＥＲ２」である場合、マイコンコマンド処理部１８１は画像形成装置１０２の排紙段状態に基づいてレスポンスデータを決定する（ステップＳ３２８）。
【０１３８】
ここでは、マイコンコマンド処理部１８１は、ステータス管理部１６２に対して給紙段状態又は排紙段状態の取得を要求する。ステータス管理部１６２は、画像形成装置１０２において当該給紙段又は当該排紙段が装着されていない場合には、給紙段状態又は排紙段状態を未装着とする。給紙段状態又は排紙段状態が未装着である場合、マイコンコマンド処理部１８１はレスポンスデータを「ＮＯＴＡＴＴＡＣＨＥＤ」と決定する。
【０１３９】
ステータス管理部１６２は、画像形成装置１０２において当該給紙段又は当該排紙段でジャムが発生している場合には、給紙段状態又は排紙段状態をジャムエラーとする。給紙段状態又は排紙段状態がジャムエラーである場合、マイコンコマンド処理部１８１はレスポンスデータを「ＪＡＭＥＲＲＯＲ」と決定する。
【０１４０】
ステータス管理部１６２は、画像形成装置１０２において当該給紙段又は当該排紙段で過積載が発生している場合には、給紙段状態又は排紙段状態を過積載とする。給紙段状態又は排紙段状態が過積載である場合、マイコンコマンド処理部１８１はレスポンスデータを「ＯＶＥＲＬＯＡＤ」と決定する。
【０１４１】
ステータス管理部１６２は、画像形成装置１０２において当該給紙段又は当該排紙段が装着され、当該給紙段又は当該排紙段でジャムおよび過積載が発生していない場合、給紙段状態又は排紙段状態を取得成功とする。そして、ステータス管理部１６２は排紙段又は給紙段の残量情報を付与してマイコンコマンド処理部１８１に通知する。
【０１４２】
給紙段が満載である場合には、給紙段の残量情報は”１００％”となる。また、給紙段に１枚も用紙がない場合には、給紙段の残量情報は”０％”となる。また、排紙段が満載である場合には、排紙段の残量情報は”０％”となり、排紙段が完全に空であれば、排紙段の残量情報は”１００％”となる。
【０１４３】
給紙段状態又は排紙段状態が取得成功である場合、マイコンコマンド処理部１８１はレスポンスデータを給紙段又は排紙段の残量情報に基づいて決定する。例えば、給紙段又は排紙段の残量情報が”１００％”であれば、マイコンコマンド処理部１８１はレスポンスデータを「１００％」とする。また、給紙段又は排紙段の残量情報が”０％”であれば、マイコンコマンド処理部１８１はレスポンスデータを「０％」とする。
【０１４４】
ステップＳ３２０において、リクエストデータが「？ＳＣＲＥＥＮＩＤ」である場合には、マイコンコマンド処理部１８１は画像形成装置１０２の表示画面ＩＤに基づいてレスポンスデータを決定する（ステップＳ３２９）。ここでは、マイコンコマンド処理部１８１は、ステータス管理部１６２に対して表示画面ＩＤの取得を要求する。ステータス管理部１６２は、画像形成装置１０２において表示されている画面の画面ＩＤをマイコンコマンド処理部１８１に通知する。例えば、ＵＩパネル１１１において「手差しを閉めます」の画面を表示されている場合には、ステータス管理部１６２は、画面ＩＤをＣＬＯＳＥＭＰＴＲＡＹとする。マイコンコマンド処理部１８１はレスポンスデータを画面ＩＤに応じて決定する。
【０１４５】
ステップＳ３２０において、リクエストデータが「？ＭＥＭｘｘｘｘｘ」である場合には、マイコンコマンド処理部１８１は、画像形成装置１０２の不揮発メモリ読込処理の実行結果に基づいてレスポンスデータを決定する（ステップＳ３３０）。ここでは、マイコンコマンド処理部１８１は、ステータス管理部１６２に対して不揮発メモリ読込処理実行を要求する。ここで、「ｘｘｘｘｘ」は不揮発メモリの論理的なアドレスとする。例えば、３２キロビットの不揮発メモリであれば、「ｘｘｘｘｘ」には「０００００」から「３２７６７」までを指定することができる。例えば、不揮発メモリの論理アドレス”０ｘ１０００”からデータを読込場合には、リクエストデータは「？ＭＥＭ０１０００」となる。
【０１４６】
ステータス管理部１６２は、画像形成装置１０２において指定された論理アドレスが値域外である場合には、不揮発メモリ読込処理の実行結果を読込失敗とする。不揮発メモリ読込処理の実行結果が読込失敗である場合、マイコンコマンド処理部１８１はレスポンスデータを「ＮＧ」と決定する。
【０１４７】
ステータス管理部１６２は、画像形成装置１０２において指定された論理アドレスが値域内である場合には、不揮発メモリ読込処理を実行して不揮発メモリ読込処理の実行結果を読込結果とする。不揮発メモリ読込処理の実行結果が読込失敗ではない場合、マイコンコマンド処理部１８１はレスポンスデータを当該読込結果に決定する。
【０１４８】
ここで、読込結果は１６進数表現するものとする。例えば、十進数で”２０”を記録した場合には、レスポンスデータは”１４”となる。
【０１４９】
ステップＳ３２０において、リクエストデータが「！ＭＥＭｘｘｘｘｘｙｙ」である場合には、マイコンコマンド処理部１８１は、画像形成装置１０２の不揮発メモリ書込処理の実行結果に基づいてレスポンスデータを決定する（ステップＳ３３１）。ここでは、マイコンコマンド処理部１８１は、ステータス管理部１６２に対して不揮発メモリ書込処理実行を要求する。ここで、「ｘｘｘｘｘ」は不揮発メモリの論理的なアドレスとする。例えば、３２キロビットの不揮発メモリであれば、「ｘｘｘｘｘ」には「０００００」から３２７６７までを指定することができる。また、「ｙｙ」は不揮発メモリに書き込もうとする書込データを１６進数表現したものとする。例えば、論理アドレス”０ｘ１０００”に”０ｘＡＢ”を記録する場合には、リクエストデータは「！ＭＥＭ０１０００ＡＢ」となる。
【０１５０】
ステータス管理部１６２は、画像形成装置１０２において指定された論理アドレスが値域外である場合又は「ｙｙ」が不正なデータである場合には、不揮発メモリ書込処理の実行結果を書込失敗とする。不揮発メモリ書込処理の実行結果が書込失敗である場合、マイコンコマンド処理部１８１はレスポンスデータを「ＮＧ」と決定する。
【０１５１】
ステータス管理部１６２は、画像形成装置１０２において指定された論理アドレスが値域内である場合には、不揮発メモリ書込処理を実行して不揮発メモリ書込み処理の実行結果を書込み成功とする。不揮発メモリ書込処理の実行結果が書込成功である場合、マイコンコマンド処理部１８１はレスポンスデータを「ＯＫ」に決定する。
【０１５２】
ステップＳ３２０において、リクエストデータが「！ＬＯＧａａａａａｂｂｂｂｂ」である場合には、マイコンコマンド処理部１８１は、画像形成装置１０２のログ記録処理の実行結果に基づいてレスポンスデータを決定する（ステップＳ３３２）。ここでは、マイコンコマンド処理部１８１は、ステータス管理部１６２に対してログ記録処理実行を要求する。ここで、「ａａａａａ」はログ種別を表す。また、「ｂｂｂｂｂ」はログデータを表す。例えば、二酸化炭素濃度を”４００ｐｐｍ”であると記録する場合には、リクエストデータは「！ＬＯＧＣＯ２＿＿００４００」となる。
【０１５３】
ステータス管理部１６２は、画像形成装置１０２において指定されたログデータが不正なデータである場合には、ログデータ記録結果を書込失敗とする。ログデータ記録結果が書込失敗である場合、マイコンコマンド処理部１８１はレスポンスデータを「ＮＧ」と決定する。
【０１５４】
ステータス管理部１６２は、画像形成装置１０２において指定されたログデータが不正なデータではない場合には、ログ種別と現在時刻とを関連付けて、ログデータを記録する。そして、ステータス管理部１６２は、ログデータ記録結果を記録成功とする。ログデータ記録結果が記録成功である場合、マイコンコマンド処理部１８１はレスポンスデータを「ＯＫ」と決定する。
【０１５５】
ステップ３２１〜Ｓ３３２のいずれかの処理の後、マイコンコマンド処理部１８１は、決定したレスポンスデータをマイコンデバイス１０３に送信する（ステップＳ３９９）。この際、レスポンスデータにはターミネータ文字を追加するのが望ましい。そして、マイコンコマンド処理部１８１はステップＳ３１１の処理に戻る。
【０１５６】
以上の処理によって、画像形成装置１０２はマイコンデバイス１０３からの受信したリクエストデータに基づいて、画像形成装置１０２を構成する各モジュールの状態変更および状態取得を行って、その結果をレスポンスデータとして送信する。
【０１５７】
図１０は、図２に示すコマンド通信部で行われるコマンド通信処理を説明するためのフローチャートである。
【０１５８】
なお、図示のフローチャートに係る処理は、マイコンデバイス制御部２５１からコマンド通信部２６１にリクエストデータが送信する処理とマイコンデバイス制御部２５１がコマンド通信部２６１からレスポンスデータを受信する処理である。以下の説明においては、「マイコンデバイス制御部２５１が画像形成装置１０２から状態を取得する」などについては、図１０に示すフローチャートを実行することによって行われる。
【０１５９】
まず、コマンド通信部２６１は、ＵＡＲＴ通信部２６２から書込可能文字数を取得する（ステップＳ４０１）。そして、コマンド通信部２６１は、取得した書込可能文字数がリクエストデータの文字数以上であるか否かを判定する（ステップＳ４０２）。
【０１６０】
書込可能文字数がリクエストデータの文字数未満である場合（ステップＳ４０２において、ＮＯ）、コマンド通信部２６１は一定の時間（例えば、１０ミリ秒）待機するステップ（Ｓ４０３）。そして、コマンド通信部２６１はステップＳ４０１の処理に戻る。
【０１６１】
一方、書込可能文字数がリクエストデータの文字数以上である場合（ステップＳ４０２において、ＹＥＳ）、コマンド通信部２６１は、ＵＡＲＴ通信部２６２にリクエストデータの送信を要求する（ステップＳ４０４）。ＵＡＲＴ通信部２６２は、ＵＳＢシリアル変換チップ２０２に当該リクエストデータを送信する。ＵＳＢシリアル変換チップ２０２は、拡張Ｉ／Ｆ１３２および外部Ｉ／Ｆ制御部１８２を介して、マイコンコマンド制御部１８１に当該リクエストデータを送信する。
【０１６２】
その後、マイコンコマンド制御部１８１は図５Ａおよび図５Ｂで説明したマイコンコマンド処理を実行する。そして、マイコンコマンド制御部１８１は、拡張Ｉ／Ｆ１３２および外部Ｉ／Ｆ制御部１８２を介して、レスポンスデータをＵＡＲＴ通信部２６２に送信する。
【０１６３】
コマンド通信部２６１は、受信しようとするレスポンスデータを空で初期化する（ステップＳ４１１）。そして、コマンド通信部２６１は、ＵＡＲＴ通信部２６２から送信された文字を１文字読み込む（ステップＳ４１２）。
【０１６４】
続いて、コマンド通信部２６１は、受信した文字がターミネータ文字であるか否かを判定する（ステップＳ４１３）。例えば、ここでは、キャレッジリターンコードおよびラインフィードコードをターミネータ文字として扱うようにしてもよい。
【０１６５】
受信した文字がターミネータ文字ではない場合（ステップＳ４１３において、ＮＯ）、コマンド通信部２６１は、受信しようとするレスポンスデータに当該読み込んだ文字を追加する（ステップＳ４１４）。そして、コマンド通信部２６１はステップＳ４１２の処理に戻って、次の１文字を読み込む。
【０１６６】
受信した文字がターミネータ文字である場合（ステップＳ４１３において、ＹＥＳ）、コマンド通信部２６１は、受信したレスポンスデータに終端文字を追加してレスポンスデータをマイコンデバイス制御部２５１に通知する（ステップＳ４２１）。そして、コマンド通信部２６１はコマンド通信処理を終了する。
【０１６７】
なお、ここでは説明の簡略化ため、例外処理については説明を省略した。例えば、ウォッチドックタイマーを用いて、送受信が所定の時間に行われない場合には、マイコンデバイス１０３を再起動するように構成してもよい。
【０１６８】
また、マイコンデバイス制御部２５１は、ペリフェラルパーツ制御部２７１およびペリフェラルパーツ通信部２７２を介して、ペリフェラルパーツから状態を取得し、さらには当該状態を設定する。当該処理に関しては、ペリフェラルパーツとの接続手段によって異なり、種々の手段を用いても本発明を実施できるので、説明を省略する。
【０１６９】
［第１の実施形態］
ここで、第１の実施形態として、画像形成装置でエラーが発生した場合に、エラー復旧に必要な対応をユーザーに音声で補足報知するエラーリカバリメッセージ発話処理について説明する。
【０１７０】
図１１Ａおよび図１１Ｂは、図４に示すマイコンデバイス制御部で行われるエラーリカバリメッセージ発話処理を説明するためのフローチャートである。
【０１７１】
マイコンデバイス制御部２５１は、距離センサー２１１を初期化する（ステップＳ５０１）。ここでは、マイコンデバイス制御部２５１は、距離センサー２１１に初期化コマンドを送信する。
【０１７２】
続いて、マイコンデバイス制御部２５１は、音声合成チップ２１２を初期化する（ステップＳ５０２）。ここでは、マイコンデバイス制御部２５１は、音声合成チップ２１２へ初期化コマンドを送信する。
【０１７３】
マイコンデバイス制御部２５１は、距離センサー２１１から検知結果を距離センサー値として取得する（ステップＳ５１１）。距離センサー値として、例えば、距離センサー２１１の前に障害物のない空間がどれだけあるかをセンチメートル単位などで示す値が用いられる。
【０１７４】
マイコンデバイス制御部２５１は、距離センサー値が所定の閾値未満であるか否かを判定する（ステップＳ５１２）。例えば、閾値は４０センチメートルである。ここでは、マイコンデバイス制御部２１５は距離センサー２１１に関して、４０センチメートル以内にユーザー（障害物）が存在する場合に、ユーザーが近づいたものと判定する。
【０１７５】
距離センサー値が閾値以上の場合（ステップＳ５１２において、ＮＯ）、マイコンデバイス制御部２５１は一定の時間（例えば、１０００ミリ秒）待機する（ステップＳ５９９）。そして、マイコンデバイス制御部２５１はステップＳ５１１の処理に戻る。これによって、ユーザーが接近していない場合には、一定の時間待機した後、マイコンデバイス制御部２１５は再度ユーザーの接近を判定する。
【０１７６】
距離センサー値が閾値未満である場合（ステップＳ５１２において、ＹＥＳ）、マイコンデバイス制御部２５１は画像形成装置１０２のエラー状態を取得する（ステップＳ５１３）。ここでは、マイコンデバイス制御部２５１は、受信したレスポンスデータをエラー状態として用いる。
【０１７７】
マイコンデバイス制御部２５１は、エラー状態を判定する（ステップＳ５１４）。ステップＳ５１４において、エラー状態が「ＮＯＮＥ」である場合には、マイコンデバイス制御部２５１はステップＳ５９９の処理に進む。つまり、エラーが発生していない状況では、マイコンデバイス制御部２５１は処理を行う必要がないので、ユーザーが接近するまで待機することになる。
【０１７８】
ステップＳ５１４において、エラー状態が「ＪＡＭ」、「ＣＯＶＥＲ」、又は「ＣＲＧ」の場合、マイコンデバイス制御部２５１は、画像形成装置１０２から表示画面ＩＤを取得する（ステップＳ５１５）。そして、マイコンデバイス制御部２５１は、取得した表示画面ＩＤを前回表示画面ＩＤとして記録する（ステップＳ５１６）。さらに、マイコンデバイス制御部２５１は、取得したエラー状態を前回エラー状態として記録する（ステップＳ５１７）。
【０１７９】
続いて、マイコンデバイス制御部２５１は、取得した表示画面ＩＤに基づいて、音声合成チップ２１２に通知する発話コマンドを生成する（ステップＳ５２１）。
【０１８０】
図１２は、表示画面ＩＤに対する発話コマンドの一例を示す図である。
【０１８１】
例えば、表示画面ＩＤがＣＬＯＳＥＭＰＴＲＡＹである場合、マイコンデバイス制御部２５１は、「ｔｅｓａｓｈｉ  ｗｏ  ｓｉｍｅｍａｓｕ」を、音声合成チップ２１２に発話コマンドとして通知する。
【０１８２】
当該実施形態においては、音声合成チップ２１２に対してローマ字で合成したい文字列を通知する例を示す。なお、例えば、予めよく使用する文言を再生番号と関連付けて音声合成チップ２１２に記憶させて、発話コマンドとして再生番号のみを通知するようにしてもよい。
【０１８３】
続いて、マイコンデバイス制御部２５１は、生成した発話コマンドを音声合成チップ２１２に通知する（ステップＳ５２２）。音声合成チップ２１２は、当該発話コマンドに基づいて音声合成および再生を開始する。例えば、音声合成チップ２１２は発話コマンドとして「ｔｅｓａｓｈｉ  ｗｏ  ｓｉｍｅｍａｓｕ」が通知されると、「てさし  を  しめます」に相当する音声を合成して再生する。
【０１８４】
マイコンデバイス制御部２５１は、距離センサー２１１から距離センサー値を取得する（ステップＳ５２３）。ステップＳ５２３の処理は、ステップＳ５１１の処理と同様の処理である。
【０１８５】
マイコンデバイス制御部２５１は、距離センサー値が所定の閾値未満であるか否かを判定する（ステップＳ５２４）。距離センサー値が閾値以上である場合（ステップＳ５２４において、ＮＯ）、マイコンデバイス制御部２５１は、音声合成チップ２１２に発話中止コマンドを送信する（ステップＳ５３１）。そして、マイコンデバイス制御部２５１は、ステップＳ５９９の処理に進む。これによって、ユーザーが画像形成装置１０２から離れた場合には、発話処理が中止される。
【０１８６】
距離センサー値が閾値未満である場合（ステップＳ５２４において、ＹＥＳ）、マイコンデバイス制御部２５１は、音声合成チップ２１２から発話中ステータスを取得する（ステップＳ５２５）。マイコンデバイス制御部２５１は、発話中ステータスが発話中であるか否かを判定する（ステップＳ５２６）。
【０１８７】
発話中ステータスが発話中でない場合（ステップＳ５２６において、ＹＥＳ）、つまり、発話が完了した場合、マイコンデバイス制御部２５１はステップＳ５９９の処理に進む。これによって、先に送信した発話コマンドに応じた音声合成処理および音声出力処理が完了すると、一定の時間待機して同様の処理が繰り返される。
【０１８８】
発話中ステータスが発話中である場合（ステップＳ５２６において、ＹＥＳ）、マイコンデバイス制御部２５１は、画像形成装置１０２から表示画面ＩＤを取得する（ステップＳ５３１）。ステップＳ５３１の処理は、ステップＳ５１５の処理と同様の処理である。さらに、マイコンデバイス制御部２５１は、画像形成装置１０２からエラー状態を取得する（ステップＳ５３２）。ステップＳ５３２の処理は、ステップＳ５１３の処理と同様の処理である。これによって、マイコンデバイス制御部２５１は、最新の表示画面ＩＤおよびエラー状態を取得することになる。
【０１８９】
続いて、マイコンデバイス制御部２５１は、画像形成装置１０２の表示画面ＩＤ又はエラー状態が前回表示画面ＩＤ又は前回エラー状態から変化したか否かを判定する（ステップＳ５３３）。
【０１９０】
表示画面ＩＤ又はエラー状態が変化しない場合（ステップＳ５３３において、ＮＯ）、マイコンデバイス制御部２５１は一定の時間（例えば、５０ミリ秒）待機する（ステップＳ５３４）。そして、マイコンデバイス制御部２５１はステップＳ５２３の処理に戻る。これによって、マイコンデバイス制御部２５１はユーザーが接近して、表示画面ＩＤ又はエラー状態に変化がない間においては発話が完了するまで待機することになる。
【０１９１】
表示画面ＩＤ又はエラー状態に変化がある場合（ステップＳ５３３において、ＹＥＳ）、マイコンデバイス制御部２５１は、取得した表示画面ＩＤを前回表示画面ＩＤとして記録する（ステップＳ５３５）。さらに、マイコンデバイス制御部２５１は、取得したエラー状態を前回エラー状態として記録する（ステップＳ５３６）。
【０１９２】
続いて、マイコンデバイス制御部２５１は、音声合成チップ２１２に発話中止コマンドを送信する（ステップＳ５４１）。そして、マイコンデバイス制御部２５１は、エラー状態を判定する（ステップＳ５４２）。
【０１９３】
ステップＳ５４２において、エラー状態が「ＮＯＮＥ」である場合、マイコンデバイス制御部２５１は、ステップＳ５９９の処理に進む。つまり、マイコンデバイス制御部２５１は、再度ユーザーが接近するまで待機する。
【０１９４】
ステップＳ５４２において、エラー状態が「ＪＡＭ」、「ＣＯＶＥＲ」、又は「ＣＲＧ」である場合、マイコンデバイス制御部２５１はステップＳ５２１の処理に戻る。つまり、マイコンデバイス制御部２５１は、更新した表示画面ＩＤ又はエラー状態に応じて、新しい発話コマンドを生成して音声合成チップ２１２に送信する。
【０１９５】
図１３は、図１１Ａおよび図１１Ｂで説明したエラーリカバリメッセージ発話処理における動作の一例を示す図である。
【０１９６】
図示の例では、画像形成装置１０２には、エラーリカバリメッセージ発話処理を行うためのマイコンデバイス２１０が装着されている。マイコンデバイス２１０は画像形成装置１０２の前方エリア６０１に人（ユーザー）が近づいたか否かを、距離センサー２１１によって判定する。人が近づいたと判定すると、マイコンデバイス２１０は、画像形成装置１０２の操作パネル１１１に表示された表示内容に応じて、音声合成チップ２１２に発話コマンドを送信する。
【０１９７】
音声合成チップ２１２は、受信した発話コマンドに応じた音声を出力して、ユーザーに操作パネル１１１に表示された内容に応じた音声を再生する。
【０１９８】
第１の実施形態では、距離センサー２１１や音声合成チップ２１２を用いた形態を実施例として説明したが、本発明はこれに限定されるものではない。例えば、第１の実施形態においては、人の接近を検知する手段として超音波を用いた距離センサー２１１を用いたが、例えば、赤外線を用いた人感センサーを用いて人の接近を検知するようにしてもよい。
【０１９９】
さらに、第１の実施形態においては、ユーザーに情報を報知する手段として、音声合成チップ２１２を用いたが、フラッシュメモリおよび音声コーデックチップを組み合わせて、録音済み音声を再生するようにしてもよい。さらには、画像形成装置１０２の不揮発メモリをアクセスする機能を用いて、必要に応じて画像形成装置１０２から録音済み音声をダウンロードするようにしてもよい。
【０２００】
ここで、ペリフェラルパーツの構成を変更した場合、マイコンデバイス２１０は、それぞれのペリフェラルパーツに対応するための制御コマンド対応が必要となる。しかし、画像形成装置１０２には新規制御コマンドへの対応は必要ない。つまり、画像形成装置１０２とマイコンデバイス２１０とは、特にペリフェラルパーツ制御に関して疎結合な関係を実現することができる。これによって、画像形成装置１０２に修正を加えることなく、マイコンデバイス２１０に修正を加えるだけで、新たなペリフェラルパーツを柔軟にサポートすることが可能となる。その結果、画像形成装置は、ペリフェラルパーツ同士の制御コマンドの非互換性を考慮する必要が無くなる。更には、部品の長期安定供給性に関する課題、利用可能なペリフェラルパーツの選択性に関する課題についても解決できる。
【０２０１】
以上、第１の実施形態では、画像形成装置１０２にペリフェラルパーツをオプション追加する事で、画像形成装置１０２の外部の状況・状態を取得したり、あるいは画像形成装置１０２の状態を外部に報知したりできることを示した。これにより、画像形成装置１０２だけでは取得できなかった外部の状況・状態を、画像形成装置１０２の制御に用いることができる。また、画像形成装置１０２には備えられていなかった、音声という新たな手段を用いて、ユーザーに情報を報知できる。
【０２０２】
［第２の実施形態］
図１４Ａおよび図１４Ｂは、図４に示すマイコンデバイス制御部で行われる消耗品残量表示処理を説明するためのフローチャートである。
【０２０３】
まず、マイコンデバイス制御部２５１は、ＬＣＤパネル２２１を初期化する（ステップＳ７０１）。例えば、ここでは、マイコンデバイス制御部２５１は、ＬＣＤパネル２２１のコントラスト調整およびバックライト指定などを行ってＬＣＤパネル２２１を初期化する。
【０２０４】
次に、マイコンデバイス制御部２５１は、スイッチ２２２を初期化する（ステップＳ７０２）。そして、マイコンデバイス制御部２５１は、全ての前回カートリッジ状態を「未取得」に初期化する（ステップＳ７０３）。前回カートリッジ状態とは、各カートリッジに関して、画像形成装置１０２から取得した前回のカートリッジ状態の結果である。画像形成装置１０２が複数のカートリッジが装着可能であれば、マイコンデバイス制御部２５１は、カートリッジ毎に前回カートリッジ状態を記録する。ここでは、起動直後であるので、前回カートリッジ状態は未取得に初期化される。
【０２０５】
マイコンデバイス制御部２５１は、全ての給紙段状態を「未取得」に初期化する（ステップＳ７０４）。前回給紙段状態とは、各給紙段について、画像形成装置１０２から取得した前回の給紙段状態の結果である。画像形成装置１０２が複数の給紙段が利用可能であれば、マイコンデバイス制御部２５１は、給紙段毎に前回給紙段状態を記録する。ここでは、起動直後であるので、前回給紙段状態は未取得に初期化される。
【０２０６】
続いて、マイコンデバイス制御部２５１は、画面モードをカートリッジ情報に応じて初期化する（ステップＳ７０５）。画面モードとは、マイコンデバイス制御部２５１がＬＣＤパネル２２１にいずれの消耗品の残量を表示するのかを示す属性値である。画面モードがカートリッジ情報を示すモードであれば、マイコンデバイス制御部２５１はＬＣＤパネル２２１にカートリッジ情報を表示する。画面モードが給紙段情報を示すモードであれば、マイコンデバイス制御部２５１はＬＣＤパネル２２１に給紙段情報を表示する。
【０２０７】
次に、マイコンデバイス制御部２５１は、画面モードを判定する（ステップＳ７１１）。ステップＳ７１１において、画面モードがカートリッジ情報である場合、マイコンデバイス制御部２５１は画像形成装置１０２から最新（今回）のカートリッジ状態を取得する（ステップＳ７１２）。
【０２０８】
次に、マイコンデバイス制御部２５１は、前回カートリッジ状態とステップＳ７１２で取得した最新のカートリッジ状態とを比較して変化を検出する（ステップＳ７１３）。そして、マイコンデバイス制御部２５１はカートリッジ状態が変化したか否かを判定する（ステップＳ７１４）。
【０２０９】
カートリッジ状態が変化した場合（ステップＳ７１４において、ＹＥＳ）、マイコンデバイス制御部２５１は、ＬＣＤパネル２２１にカートリッジ状態を画面表示する（ステップＳ７１５）。ここでは、マイコンデバイス制御部２５１は、カートリッジ状態に応じた表示画面を生成してＬＣＤパネル２２１に送る。ＬＣＤパネル２２１は当該表示画面を表示する。
【０２１０】
続いて、マイコンデバイス制御部２５１は、前回カートリッジ状態を最新のカートリッジ状態で更新する（ステップＳ７１６）。そして、マイコンデバイス制御部２５１は後述するステップＳ７３１の処理に進む。
【０２１１】
カートリッジ状態が変化してない場合（ステップＳ７１４おいて、ＹＥＳ）、マイコンデバイス制御部２５１はＬＣＤパネル２２１の表示内容を変化させることなく、後述のステップＳ７３１の処理に進む。
【０２１２】
ステップＳ７１１において、画面モードが給紙段情報である場合、マイコンデバイス制御部２５１は、画像形成装置１０２から最新の給紙段状態を取得する（ステップＳ７２２）。そして、マイコンデバイス制御部２５１は、前回給紙段状態とステップＳ７２２で取得した最新の給紙段状態とを比較して給紙段状態の変化を検出する（ステップＳ７２３）。マイコンデバイス制御部２５１は、検出結果に応じて給紙段状態の変化を判定する（ステップＳ７２４）。
【０２１３】
給紙段状態が変化した場合（ステップＳ７２４において、ＹＥＳ）、マイコンデバイス制御部２５１は、ＬＣＤパネル２２１に給紙段状態を画面表示する（ステップＳ７２５）。ここでは、マイコンデバイス制御部２５１は、給紙段状態に応じた表示画面を生成して、ＬＣＤパネル２２１に送信する。ＬＣＤパネル２２１は当該表示画面を表示する。
【０２１４】
続いて、マイコンデバイス制御部２５１は、前回給紙段状態を取得した最新の給紙段状態で更新する（ステップＳ７２５）。そして、マイコンデバイス制御部２５１は後述するステップＳ７３１の処理に進む。
【０２１５】
給紙段状態が変化しない場合は（ステップＳ７２４において、ＮＯ）、マイコンデバイス制御部２５１はＬＣＤパネル２２１の表示内容を変化させることなく、後述するステップＳ７３１の処理に進む。
【０２１６】
このようにして、マイコンデバイス制御部２５１は、ＬＣＤパネル２２１に最新のカートリッジ状態又は給紙段状態のいずれかを表示することになる。
【０２１７】
続いて、マイコンデバイス制御部２５１は、経過時間を”０”に初期化する（ステップＳ７３１）。なお、経過時間とは、スイッチ２２２の状態を取得を開始してから経過した時間をいう。
【０２１８】
続いて、マイコンデバイス制御部２５１は、スイッチ２２２からイベントを取得する（ステップＳ７３２）。そして、マイコンデバイス制御部２５１はイベントを判定する（ステップＳ７３３）。
【０２１９】
ステップＳ７３３において、イベントが「ＲＩＳＩＮＧ」である場合、マイコンデバイス制御部２５１は画面モードを判定する（ステップＳ７３４）。ステップＳ７３４において、画面モードが給紙段情報を表示するモードである場合、マイコンデバイス制御部２５１は画面モードを、カートリッジ情報を表示するモードとする（ステップＳ７３６）。そして、マイコンデバイス制御部２５１は、前回カートリッジ状態を「未取得」に初期化する（ステップＳ７３６）。その後、マイコンデバイス制御部２５１はステップＳ７１１の処理に戻る。
【０２２０】
ステップＳ７３４において、画面モードがカートリッジ情報を表示するモードである場合、マイコンデバイス制御部２５１は画面モードを、給紙段情報を表示するモードとする（ステップＳ７３７）。そして、マイコンデバイス制御部２５１は、前回給紙段状態を「未取得」に初期化する（ステップＳ７３８）。その後、マイコンデバイス制御部２５１はステップＳ７１１の処理に戻る。
【０２２１】
このようにして、マイコンデバイス制御部２５１はスイッチ２２２から取得したイベントに基づいて、ＬＣＤパネル２２１に表示するコンテンツを切り替える。
【０２２２】
ステップＳ７３３において、イベントが「ＦＡＬＬＩＮＧ」、「ＨＩＧＨ」、又は「ＬＯＷ」である場合、マイコンデバイス制御部２５１は一定の時間（例えば、１０ミリ秒）待機する（ステップＳ７４１）。その後、マイコンデバイス制御部２５１は、経過時間に当該待機した時間を加算する（ステップＳ７４２）。
【０２２３】
続いて、マイコンデバイス制御部２５１は、経過時間が所定の閾値（例えば、１０００ミリ秒）を超えたか否かを判定する（ステップＳ７４３）。
【０２２４】
経過時間が閾値を超えている場合（ステップＳ７４３において、ＹＥＳ）、マイコンデバイス制御部２５１はステップＳ７１１の処理に戻る。一方、経過時間が閾値以下である場合（ステップＳ７４３において、ＮＯ）、マイコンデバイス制御部２５１はステップＳ７３２の処理に戻る。
【０２２５】
図１５は、図１４Ａおよび図１４Ｂで説明した消耗品残量表示処理における動作の一例を示す図である。そして、図１５（Ａ）はカートリッジ情報を表示する際のマイコンデバイスの一例を示す図であり、図１５（Ｂ）は給紙段情報を表示する際のマイコンデバイスの一例を示す図である。
【０２２６】
図１５（Ａ）において、ＬＣＤパネル２２１には、各色のカートリッジ情報が表示される。ここでは、カートリッジ寿命残量がバー表示されるとともに、％表記される。
【０２２７】
図１５（Ｂ）において、ＬＣＤパネル２２１には、各給紙段の用紙残量が表示される。ここでは、用紙残量がバーで表示されるとともに、％表記される。
【０２２８】
マイコンデバイス２２０に備えられたＬＣＤパネル２２１にカートリッジ情報が表示されている際に、スイッチ２２２が押下げられると、マイコンデバイス２２０はＬＣＤパネル２２２に給紙段情報を表示する。また、ＬＣＤパネル２２１に給紙段情報が表示されている際に、スイッチ２２２が押下げられると、マイコンデバイス２２０はＬＣＤパネル２２２にカートリッジ情報を表示する。
【０２２９】
例えば、トナードラム分離型カートリッジを用いている場合に、画面モードにおいトナーカートリッジ情報およびドラムカートリッジ情報を表示する２画面に分ける。これによって、各消耗品に係る情報をトグル表示することができる。さらには、給紙段が４段以上ある場合に、給紙段情報を、第１〜第４の給紙段と第５の給紙段以上の２画面に分ければ、各消耗品に係る情報をトグル表示することができる。
【０２３０】
ここでは、消耗品残量を単純に表示する例を示したが、例えば、カートリッジ又は給紙段でエラーが発生した場合には、エラー内容をＬＣＤパネル２２１に１行表示するか又はアイコン表示するようにしてもよい。
【０２３１】
なお、ここでは、図示のように、５行表示可能な液晶パネルをＬＣＤパネル２２１として用いたが、６行以上の表示可能な液晶パネルをＬＣＤパネル２２１として用いるようにしてもよい。さらに、画面切り替えに物理的な入力手段であるスイッチ２２２を用いるようにしたが、タッチパネルをタッチ操作する論理的なスイッチを用いるようにしてもよい。
【０２３２】
以上、第２の実施形態では、画像形成装置１０２が元々備えていた表示手段や入力手段の他に、新たな表示手段／入力手段を設けることが可能であることを示した。これにより、元々画像形成装置１０２に備えていた表示手段では表現できなかった情報も、利用者に提供できる。また、新たな入力手段を設けることで、ユーザー操作の簡便化を図ることができる。
【０２３３】
［第３の実施形態］
図１６Ａおよび図１６Ｂは、図４に示すマイコンデバイス制御部で行われる電源制御補助処理を説明するためのフローチャートである。
【０２３４】
まず、マイコンデバイス制御部２５１は、人感センサー２３２を初期化する（ステップＳ９０１）。例えば、マイコンデバイス制御部２５１はセンサー感度などの制御パラメータを人感センサー２３２に送って人感センサー２３２を初期化する。
【０２３５】
次に、マイコンデバイス制御部２５１は、照度センサー２３１を初期化する（Ｓ９０２）。例えば、マイコンデバイス制御部２５１よりセンサー感度などの制御パラメータを照度センサー２３１に送って照度センサー２３１を初期化する。
【０２３６】
マイコンデバイス制御部２５１は、人感センサー２３２から人検知結果を取得する（ステップＳ９１１）。例えば、画像形成装置１０２の周囲に人（ユーザー）が存在する場合には、人検知結果はＨＩＧＨとなる。一方、画像形成装置１０２の周囲に人がいない場合には、人検知結果はＬＯＷとなる。
【０２３７】
続いて、マイコンデバイス制御部２５１は、画像形成装置１０２から電源状態を取得する（ステップＳ９１２）。さらに、マイコンデバイス制御部２５１は、画像形成装置１０２からジョブ実行状態を取得する（ステップＳ９１３）。
【０２３８】
次に、マイコンデバイス制御部２５１は、画像形成装置１０２からスプールジョブ状態を取得する（ステップＳ９１４）。さらに、マイコンデバイス制御部２５１は、照度センサー２３１から照度値（照度検出結果）を取得する（ステップＳ９１５）。そして、マイコンデバイス制御部２５１は、照度値に基づいて移動平均照度値を算出する（ステップＳ９１６）。
【０２３９】
移動平均照度値を算出する際には、マイコンデバイス制御部２５１は過去に取得した複数の照度値を単純平均することによって求める。なお、過去に取得した複数の照度値に所定の重み付けを行って、その平均値（重みづけ平均値）を移動平均照度値として用いるようにしてもよい。
【０２４０】
続いて、マイコンデバイス制御部２５１は、移動平均照度値が所定の閾値を超えているか否かを判定する（ステップＳ９２１）。なお、上記の閾値は、例えば、画像形成装置１０２が設置された環境において、照明が点灯状態であるか否かを判別するための閾値である。
【０２４１】
移動平均照度値が閾値以下であると（ステップＳ９２１において、ＮＯ）、つまり、環境光が暗い状態であると判定した場合には、マイコンデバイス制御部２５１は人検知結果を判定する（ステップＳ９３１）。
【０２４２】
ステップＳ９３１において、人検知結果が「ＨＩＧＨ」である場合、つまり、画像形成装置１０２の周囲に人がいる場合、マイコンデバイス制御部２５１は画像形成装置１０２の電源状態を判定する（ステップＳ９３２）。
【０２４３】
ステップＳ９３２において、電源状態が「ＡＷＡＫＥ」である場合、マイコンデバイス制御２５１は、画像形成装置１０２に対してスリープ状態の復帰を指示する必要がないと判定して、一定の時間（例えば、１０００ミリ秒）待機する。そして、マイコンデバイス制御２５１はステップＳ９１１の処理に戻る。
【０２４４】
ステップＳ９３２において、電源状態が「ＳＬＥＥＰ」である場合、マイコンデバイス制御部２５１はスプールジョブ状態を判定する（ステップＳ９３３）。ステップＳ９３３において、スプールジョブ状態が「ＳＴＯＲＥＤ」の場合、マイコンデバイス制御部２５１は画像形成装置１０２の電源状態をスリープ状態から復帰させる（ステップＳ９３４）。つまり、電源状態がスリープ状態で、かつスプールジョブがある場合に、画像形成装置１０２の周囲に人が存在すると、マイコンデバイス制御部２５１はユーザーがこれからスプールジョブを印字する可能性があると判定する。そして、マイコンデバイス制御部２５１は画像形成装置１０２をスリープ状態から復帰させる。その後、マイコンデバイス制御部２５１はステップＳ９９９の処理に進む。
【０２４５】
ステップＳ９３３において、画像形成装置１０２のスプールジョブ状態が「ＮＯＮＥ」である場合、マイコンデバイス制御２５１はユーザーがこれからスプールジョブを印字する可能性がないと判定して、ステップＳ９９９の処理に進む。
【０２４６】
ステップＳ９３１において、人検知結果が「ＬＯＷ」であると、つまり、画像形成装置１０２の周囲に人がいない場合、マイコンデバイス制御部２５１は、画像形成装置１０２の電源状態を判定する（ステップＳ９４１）。
【０２４７】
ステップＳ９４１において、電源状態が「ＡＷＡＫＥ」である場合、マイコンデバイス制御部２５１は、ジョブ実行状態を判定する（ステップＳ９４２）。
【０２４８】
ステップＳ９４１において、ジョブ実行状態が「ＩＤＬＥ」である場合、マイコンデバイス制御部２５１は、画像形成装置１０２の電源状態をスリープ状態に移行させる（ステップＳ９４３）つまり、マイコンデバイス制御部２５１は、画像形成などが行われる可能性が低い状態にあると判定して、電源状態をスリープ状態に移行させ、画像形成装置１０２の消費電力を削減する。その後、マイコンデバイス制御部２５１は、ステップＳ９９９の処理に進む。
【０２４９】
ステップＳ９４２において、ジョブ実行状態が「ＲＵＮＮＩＮＧ」又は「ＥＲＲＯＲ」である場合には画像形成装置１０２が操作中又は動作中である。よって、マイコンデバイス制御部２５１は、当該処理を妨害しないため、ステップＳ９９９の処理に進む。
【０２５０】
ステップＳ９４１において、電源状態が「ＳＬＥＥＰ」である場合、マイコンデバイス制御部２５１は画像形成装置１０２に対してスリープ状態への移行を指示する必要がないと判定して、ステップＳ９９９の処理に進む。
【０２５１】
ステップＳ９２１において、移動平均照度値が閾値を超えていると、つまり、環境光が明るいと判定すると、マイコンデバイス制御部２５１は人検知結果を判定する（ステップＳ９５１）。
【０２５２】
人検知結果が「ＨＩＧＨ」である場合、つまり、画像形成装置１０２の周囲に人がいる場合、マイコンデバイス制御部２５１は、画像形成装置１０２の電源状態を判定する（ステップＳ９５２）。
【０２５３】
ステップＳ９５２において、電源状態が「ＡＷＡＫＥ」である場合、マイコンデバイス制御部２５１は画像形成装置１０２に対してスリープ状態からの復帰を指示する必要がないと判定して、ステップＳ９９９の処理に進む。
【０２５４】
ステップＳ９５２において、電源状態が「ＳＬＥＥＰ」である場合、マイコンデバイス制御部２５１は、画像形成装置１０２をスリープ状態から復帰させる（ステップＳ９５３）。そして、マイコンデバイス制御部２５１はステップＳ９９９の処理に進む。
【０２５５】
ステップＳ９５１において、人検知結果が「ＬＯＷ」である場合、つまり、画像形成装置１０２の周囲に人がいない場合、マイコンデバイス制御部２５１は、電源状態を判定する（ステップＳ９６１）。
【０２５６】
ステップＳ９６１において、電源状態が「ＡＷＡＫＥ」である場合、マイコンデバイス制御部２５１は、ジョブ実行状態を判定する（ステップＳ９６２）。
【０２５７】
ステップＳ９６２において、ジョブ実行状態が「ＩＤＬＥ」である場合、マイコンデバイス制御部２５１は画像形成装置１０２をスリープ状態に移行させる（ステップＳ９６３）。そして、マイコンデバイス制御部２５１はステップＳ９９９の処理に進む。
【０２５８】
ステップＳ９６２において、ジョブ実行状態が「ＲＵＮＮＩＮＧ」又は「ＥＲＲＯＲ」である場合、マイコンデバイス制御２５１は画像形成装置１０２が動作中であると判定する。そして、マイコンデバイス制御部２５１は、当該処理を妨害しないようにするため、ステップＳ９９９の処理に進む。
【０２５９】
ステップＳ９６１において、電源状態が「ＳＬＥＥＰ」である場合、マイコンデバイス制御２５１は、画像形成装置１０２に対してスリープ移行を指示する必要がないと判定する。そして、マイコンデバイス制御部２５１はステップＳ９９９の処理に進む。
【０２６０】
このように、第３の実施形態では、環境光が暗い状態で画像形成装置１０２に人が接近した場合、スプールジョブ状態が存在している場合にのみ画像形成装置１０２はスリープ状態から復帰する。また、環境光が暗い状態で画像形成装置１０２に人が接近していない場合には、ジョブ実行状態が「ＩＤＬＥ」であると、画像形成装置１０２はスリープ状態に移行する。
【０２６１】
環境光が明るい状態で画像形成装置１０２に人が接近した場合、画像形成装置１０２はスリープ状態から復帰する。また、環境光が明るい状態で画像形成装置１０２に人が接近していない場合には、ジョブ実行状態が「ＩＤＬＥ」であると、画像形成装置１０２はスリープ状態に移行する。
【０２６２】
図１７は、図１６Ａおよび図１６Ｂで説明した電源制御補助処理における処理結果の一覧を示す図である。
【０２６３】
図１７に示すように、第３の実施形態による処理は、照度値、人検知結果、電源状態、スプールジョブ有無、およびジョブ実行状態に基づいて行われる。
【０２６４】
このように、第３の実施形態では、マイコンデバイス制御部２５１は照度値および人検知結果に基づいて、画像形成装置１０２の電源状態を制御することができる。さらに、マイコンデバイス制御部２５１はスプールジョブの有無およびジョブ実行状態などの画像形成装置１０２自体の状態を取得して制御の判定を行う。
【０２６５】
以上、第３の実施形態では、画像形成装置１０２から報知される情報と、ペリフェラルパーツから報知される種々の情報とを組み合わせて判断し、その結果、画像形成装置１０２を制御する例を示した。このように、マイコンデバイス制御部２５１は、画像形成装置１０２の状態に基づいて処理判断も行うことができ、また、画像形成装置１０２に対する操作も行うことができる。
【０２６６】
［第４の実施形態］
図１８は、図４に示すマイコンデバイス制御部で行われる周辺環境ロギング処理を説明するためのフローチャートである。
【０２６７】
マイコンデバイス制御部２５１は、ＣＯ／ＣＯ２センサー２４１を初期化する（ステップＳ１００１）。さらに、マイコンデバイス制御部２５１は、温度／湿度センサー２４２を初期化する（ステップＳ１００２）。
【０２６８】
続いて、マイコンデバイス制御部２５１は、ＣＯ／ＣＯ２センサー２４１から現在のＣＯ／ＣＯ２濃度を取得する（ステップＳ１０１１）。さらに、マイコンデバイス制御部２５１は、温度／湿度センサー２４２から現在の温度／湿度を取得する（ステップＳ１０１２）。
【０２６９】
次に、マイコンデバイス制御部２５１は、ＣＯ／ＣＯ２濃度および温度／湿度を、画像形成装置１０２にログデータ保存する要求を送る（ステップＳ１０１３）。その後、マイコンデバイス制御部２５１は、一定の時間（例えば、６０秒）待機する（ステップＳ１０９９）。そして、マイコンデバイス制御部２５１は、ステップＳ１０１１の処理に戻る。
【０２７０】
なお、ここでは、マイコンデバイス制御部２５１からのログデータ保存要求に応答して、画像形成装置１０２は単独で画像形成装置１０２に係る状態をログに保存することが望ましい。例えば、画像形成装置１０２においてスリープ状態に移行した時刻、スリープ状態から復帰した時刻などの情報を記録することによって、画像形成装置１０２の電源状態が環境に及ぼす影響を検知できる可能性がある。
【０２７１】
また、画像形成装置１０２における搬送に係るエラーを記録することによって、当該エラーの発生と温度および湿度との因果関係および相関関係を推定できる可能性がある。
【０２７２】
このように、第４の実施形態では、画像形成装置１０２は、標準搭載していないペリフェラルパーツをマイコンデバイス１０３を介して利用して、周囲の環境値（ＣＯ／ＣＯ２濃度および温度／湿度など）を取得することができる。これら環境値は、画像形成装置１０２で動作するアプリケーションによって物理用紙に印字するようにしてもよい。また、画像形成装置１０２のＮＩＣ１２４を介して、データ処理装置１０１に環境値を送信するようにしてもよい。その他、ＷＥＢページで表示するなど多様な使い方を行うことができる。
【０２７３】
一方、マイコンデバイス１０３は、マイコンデバイス１０３に備えられていないレポート印字機能およびネットワーク機能を、画像形成装置１０２を介して間接的に利用することができる。例えば、マイコンデバイス１０３がログに残す時刻を、Ｒｅａｌ  Ｔｉｍｅ  Ｃｌｏｃｋで特定する必要がない。マイコンデバイス１０３が無線又は有線でネットワーク接続するためのパーツを増設すること、そして、画像形成装置１０２で処理可能なＰＤＬデータを生成できる機能を有することなど、新たなペリフェラルパーツを追加する必要がなくなる。
【０２７４】
第４の実施形態においては、職場にある画像形成装置１０２、例えば、プリンターにマイコンデバイスを装着すれば、各種の労働環境に関する法案で測定が求められる労働環境値を収集するデバイスとして活用をすることができる。
【０２７５】
以上、第４の実施形態では、ペリフェラルパーツより取得した環境情報を、画像形成装置内外で利用する例を示した。このように、本発明ではペリフェラルパーツから取得した情報を、画像形成装置１０２自体が利用せずに、外部サービス等が収集・分析する形態をとることもできる。
【０２７６】
一般的には、ペリフェラルパーツの物理接続手段や通信プロトコルは、ＧＰＩＯ、Ｉ２Ｃ、ＳＰＩなどの統一化された手段が用いられることが多い。しかし、当該通信プロトコル上でやりとりされるペリフェラルパーツの初期化および制御に関する制御コマンドは、共通化されておらず、互換性は保証されていない。そのため、同じ機能を有するペリフェラルパーツであっても、異なるメーカーや異なる部品であれば、異なる制御コマンドが必要となる場合がある。
【０２７７】
更に、ペリフェラルパーツを供給する会社の商業上の都合によって、当該ペリフェラルパーツの出荷が終了することがある。このとき、代替品の制御コマンドが必ずしも従来採用のペリフェラルパーツの制御コマンドと完全な互換性があることは保証されない。
【０２７８】
従来技術では、画像形成装置１０２にペリフェラルパーツを直接接続し、画像形成装置１０２がペリフェラルパーツを直接制御を行うことで、種々の機能を実現していた。この時、ペリフェラルパーツの制御コマンドに変更や差異が発生すると、画像形成装置１０２のコントローラーファームに新たな制御コマンドに対応するための修正が必要となった。そのため、ペリフェラルパーツの選定には、長期に亘って安定的に入手できる長期安定供給が求められる。更に、様々なユーザーの使用環境や使用条件、ニーズを満足するために、高機能・高性能なペリフェラルパーツが必要となり、結果、ペリフェラルパーツのコスト増加にもつながっていた。
【０２７９】
本発明の実施の形態では、画像形成装置１０２にはマイコンデバイス１０３が接続され、マイコンデバイス１０３がペリフェラルパーツと画像形成装置１０２を制御する構成をとる。そして、マイコンデバイス１０３がペリフェラルパーツ毎に応じた制御手段を備える。この時、画像形成装置１０２にはペリフェラルパーツを制御する手段を備える必要はなくなり、新たな制御コマンドに対応するためのコントローラファームの更新が不要となる。この構成をとることで、ペリフェラルパーツの選定条件が緩和され、個々のユーザーの仕様環境や使用条件、ニーズに対して、必要十分な性能を有している安価なペリフェラルパーツを採用する事ができるようになる。
【０２８０】
本実施形態によれば、画像形成装置に新たな制御コマンドに対応するための修正を加えずとも、マイコンデバイスに修正を加えるだけで、様々なペリフェラルパーツに柔軟に対応できるようになる。これにより、ユーザーのニーズに応じた機能性・性能、更には供給性を持つ、適切な価格のペリフェラルパーツを幅広い選択肢から選択できる。以上により、画像形成装置が持つハード拡張性を向上させることができる。
【０２８１】
以上、本発明について実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
【０２８２】
例えば、上記の実施の形態の機能を制御方法として、この制御方法を画像形成装置又はマイコンデバイスに実行させるようにすればよい。また、上述の実施の形態の機能を有するプログラムを制御プログラムとして、当該制御プログラムを画像形成装置又はマイコンデバイスが備えるコンピュータに実行させるようにしてもよい。なお、制御プログラムは、例えば、コンピュータに読み取り可能な記録媒体に記録される。
【０２８３】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０２８４】
１０１  データ処理装置
１０２  画像形成装置
１０３  マイコンデバイス
１１０  コントローラ
１１１  ＵＩパネル
１６２  ステータス管理部
１８１  マイコンコマンド処理部
２５１  マイコンデバイス制御部
２６１  コマンド通信部
２７１  ペリフェラルパーツ制御部
【図１】
2019010825.tif 000003
【図２】
2019010825.tif 000004
【図３】
2019010825.tif 000005
【図４】
2019010825.tif 000006
【図５Ａ】
2019010825.tif 000007
【図５Ｂ】
2019010825.tif 000008
【図６】
2019010825.tif 000009
【図７】
2019010825.tif 000010
【図８】
2019010825.tif 000011
【図９】
2019010825.tif 000012
【図１０】
2019010825.tif 000013
【図１１Ａ】
2019010825.tif 000014
【図１１Ｂ】
2019010825.tif 000015
【図１２】
2019010825.tif 000016
【図１３】
2019010825.tif 000017
【図１４Ａ】
2019010825.tif 000018
【図１４Ｂ】
2019010825.tif 000019
【図１５】
2019010825.tif 000020
【図１６Ａ】
2019010825.tif 000021
【図１６Ｂ】
2019010825.tif 000022
【図１７】
2019010825.tif 000023
【図１８】
2019010825.tif 000024