(57)【要約】【課題】  状態情報の処理を従来より高速化することができる画像形成装置を提供する。【解決手段】  プリンタは、プリンタエンジンの動作を制御するエンジン基板と、プリンタエンジンに印刷させる情報をエンジン基板に送信するコントローラ基板とを備えており、コントローラ基板は、エンジン基板から受信した状態情報を処理するための複数の処理スレッドと、状態情報を複数の処理スレッドのうちの何れかの処理スレッドに割り当てる状態情報割当部とを備えており、状態情報割当部は、処理の順序が互いに決まっている複数の状態情報を処理の順序の通りに同一の処理スレッドに割り当てる（Ｓ１０４でＮＯ、Ｓ１０７）ことを特徴とする。【選択図】  図５
2011201110.tif 000002
【特許請求の範囲】
【請求項１】
プリンタエンジンの動作を制御するエンジン基板と、前記プリンタエンジンに印刷させる情報を前記エンジン基板に送信するコントローラ基板とを備えており、
前記コントローラ基板は、前記エンジン基板から受信した状態情報を処理するための複数の状態情報処理部と、前記状態情報を前記複数の状態情報処理部のうちの何れかの状態情報処理部に割り当てる状態情報割当部とを備えており、
前記状態情報割当部は、処理の順序が互いに決まっている複数の前記状態情報を前記処理の順序の通りに同一の前記状態情報処理部に割り当てることを特徴とする画像形成装置。
【請求項２】
前記状態情報割当部は、前記複数の状態情報処理部のそれぞれに割り当てられる前記状態情報の数が均等になるように、前記状態情報を前記状態情報処理部に割り当てることを特徴とする請求項１に記載の画像形成装置。
【請求項３】
プリンタエンジンの動作を制御するエンジン基板と、前記プリンタエンジンに印刷させる情報を前記エンジン基板に送信するコントローラ基板とを備えている画像形成装置の状態情報処理方法であって、
前記コントローラ基板によって前記エンジン基板から受信された状態情報を処理するための複数の状態情報処理ステップと、前記状態情報を前記複数の状態情報処理ステップのうちの何れかの状態情報処理ステップに割り当てる状態情報割当ステップとを備えており、
前記状態情報割当ステップは、処理の順序が互いに決まっている複数の前記状態情報を前記処理の順序の通りに同一の前記状態情報処理ステップに割り当てることを特徴とする状態情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷を実行する画像形成装置に関する。
【背景技術】
【０００２】
従来の画像形成装置として、プリンタエンジンの動作を制御するエンジン制御部と、プリンタエンジンに印刷させる情報をエンジン制御部に送信するプリンタコントローラとを備えている画像形成装置が知られている（例えば、特許文献１参照。）。このプリンタコントローラは、エンジン制御部から送信されてくる状態情報に応じた動作を行うようになっている。
【０００３】
ここで、エンジン制御部からプリンタコントローラに送信される状態情報の中には、処理の順序が互いに決まっている複数の状態情報が存在する。したがって、プリンタコントローラは、複数の状態情報同士の処理の順序を誤らないように、複数の状態情報を処理の順序の通りに１つの処理スレッドによって直列に処理している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−３３２７６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の画像形成装置においては、複数の状態情報を処理の順序の通りに処理するために、複数の状態情報を１つの処理スレッドによって直列に処理しているので、状態情報の処理速度が遅いという問題がある。
【０００６】
そこで、本発明は、状態情報の処理を従来より高速化することができる画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の画像形成装置は、プリンタエンジンの動作を制御するエンジン基板と、前記プリンタエンジンに印刷させる情報を前記エンジン基板に送信するコントローラ基板とを備えており、前記コントローラ基板は、前記エンジン基板から受信した状態情報を処理するための複数の状態情報処理部と、前記状態情報を前記複数の状態情報処理部のうちの何れかの状態情報処理部に割り当てる状態情報割当部とを備えており、前記状態情報割当部は、処理の順序が互いに決まっている複数の前記状態情報を前記処理の順序の通りに同一の前記状態情報処理部に割り当てることを特徴とする。
【０００８】
この構成により、本発明の画像形成装置は、複数の状態情報を処理の順序の通りに複数の状態情報処理部によって並列に処理することができるので、状態情報の処理を従来より高速化することができる。
【０００９】
また、本発明の画像形成装置の前記状態情報割当部は、前記複数の状態情報処理部のそれぞれに割り当てられる前記状態情報の数が均等になるように、前記状態情報を前記状態情報処理部に割り当てることが好ましい。
【００１０】
この構成により、本発明の画像形成装置は、複数の状態情報を複数の状態情報処理部に均等に割り当てるので、複数の状態情報処理部のうち特定の状態情報処理部に多数の状態情報が集中して割り当てられる構成と比較して、状態情報の処理を高速化することができる。
【００１１】
本発明の状態情報処理方法は、プリンタエンジンの動作を制御するエンジン基板と、前記プリンタエンジンに印刷させる情報を前記エンジン基板に送信するコントローラ基板とを備えている画像形成装置の状態情報処理方法であって、前記コントローラ基板によって前記エンジン基板から受信された状態情報を処理するための複数の状態情報処理ステップと、前記状態情報を前記複数の状態情報処理ステップのうちの何れかの状態情報処理ステップに割り当てる状態情報割当ステップとを備えており、前記状態情報割当ステップは、処理の順序が互いに決まっている複数の前記状態情報を前記処理の順序の通りに同一の前記状態情報処理ステップに割り当てることを特徴とする。
【００１２】
この構成により、本発明の状態情報処理方法を実行する画像形成装置は、複数の状態情報を処理の順序の通りに複数の状態情報処理部によって並列に処理するので、状態情報の処理を従来より高速化することができる。
【発明の効果】
【００１３】
本発明の画像形成装置は、状態情報の処理を従来より高速化することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施の形態に係るプリンタの構成を示すブロック図である。
【図２】一部の内部構成を表した図１に示すプリンタの側面図である。
【図３】図１に示すコントローラ基板の構成を示すブロック図である。
【図４】図１に示すエンジン基板からコントローラ基板に送信される状態情報の図である。
【図５】図３に示す状態情報割当部の動作のフローチャートである。
【図６】（ａ）は、図１に示すエンジン基板からコントローラ基板に送信された複数の状態情報を示す図である。（ｂ）は、図１に示すエンジン基板からコントローラ基板に送信された複数の状態情報であって、並び順が変更された複数の状態情報を示す図である。
【図７】（ａ）は、図６（ｂ）に示す状態情報群が複数の処理スレッドに割り当てられた状態を示す図である。（ｂ）は、図７（ａ）に示す状態より後の状態を示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明の一実施の形態について、図面を用いて説明する。
【００１６】
まず、本実施の形態に係る画像形成装置としてのプリンタの構成について説明する。
【００１７】
図１は、本実施の形態に係るプリンタ１０の構成を示すブロック図である。
【００１８】
図１に示すように、プリンタ１０は、印刷を実行するプリンタエンジン２０と、用紙９１（図２参照。）を供給するための給紙カセット１２（図２参照。）の開閉を検知するカセット開閉センサ２１と、給紙カセット１２上の用紙９１が搬送位置にあるか否かを検知する用紙搬送位置センサ２２と、給紙カセット１２上の用紙９１の残量を検知する用紙残量センサ２３と、プリンタエンジン２０の動作を制御するエンジン基板３０と、プリンタエンジン２０に印刷させる情報をエンジン基板３０に送信するコントローラ基板４０と、種々の情報を表示する表示部５１と、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）などの図示していない外部の装置とＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などのネットワークを介して通信を行うための通信部５２とを備えている。
【００１９】
図２は、一部の内部構成を表したプリンタ１０の側面図である。
【００２０】
図２に示すように、プリンタ１０は、本体１１と、本体１１に対して開閉可能な給紙カセット１２とを備えている。
【００２１】
本体１１は、給紙カセット１２上の用紙９１を搬送するためのピックアップローラ１１ａを備えている。ピックアップローラ１１ａは、プリンタエンジン２０の一部の構成である。
【００２２】
給紙カセット１２は、本体１１に対して開かれているときに用紙９１がセットされ、本体１１に対して閉じられているときに用紙９１がプリンタエンジン２０によって搬送されることができるようになっている。給紙カセット１２は、用紙９１を積載する用紙積載板１２ａを備えている。用紙積載板１２ａは、図示していないモータによって図２に示すように傾けられて用紙９１をピックアップローラ１１ａに接触させるようになっている。
【００２３】
図１に示す用紙搬送位置センサ２２は、用紙積載板１２ａに積載されている用紙９１のうち最上の用紙９１がピックアップローラ１１ａに接触しているときに、最上の用紙９１に接触することによって用紙９１が搬送位置にあるか否かを検知するものである。
【００２４】
用紙残量センサ２３は、用紙積載板１２ａに積載されている用紙９１のうち最上の用紙９１がピックアップローラ１１ａに接触しているときに用紙９１の残量を検知するものである。
【００２５】
エンジン基板３０は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と、プログラムや各種のデータを予め記憶している不揮発性のメモリであるＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）と、ＣＰＵの作業領域として用いられる揮発性のメモリであるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）とを備えているコンピュータである。ＣＰＵは、ＲＯＭに記憶されているプログラムを実行することによってエンジン基板３０を動作させる演算処理装置である。ＲＡＭは、ＣＰＵによってプログラムが実行されるときにプログラムや各種のデータを一時的に記憶するようになっている。
【００２６】
コントローラ基板４０は、例えば、ＣＰＵと、プログラムや各種のデータを予め記憶している不揮発性のメモリであるＲＯＭと、ＣＰＵの作業領域として用いられる揮発性のメモリであるＲＡＭとを備えているコンピュータである。ＣＰＵは、ＲＯＭに記憶されているプログラムを実行することによってコントローラ基板４０を動作させる演算処理装置である。ＲＡＭは、ＣＰＵによってプログラムが実行されるときにプログラムや各種のデータを一時的に記憶するようになっている。
【００２７】
表示部５１は、例えばＬＣＤ(Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ)などの表示デバイスである。
【００２８】
通信部５２は、プリンタエンジン２０で印刷されるための印刷データを外部の装置から受信したりする。
【００２９】
図３は、コントローラ基板４０の構成を示すブロック図である。
【００３０】
図３に示すように、コントローラ基板４０は、ＲＯＭに記憶されているプログラムをＣＰＵが実行することによって、エンジン基板３０とコントローラ基板４０との間の通信（以下「エンジン通信」という。）を行うコンポーネントであるエンジンインターフェース４１として機能するようになっている。コントローラ基板４０は、エンジンインターフェース４１によって本発明の状態情報処理方法を実行するようになっている。
【００３１】
エンジンインターフェース４１は、エンジン基板３０から受信した状態情報を処理するための複数の状態情報処理部としての処理スレッド４１ａ、４１ｂ、４１ｃ、４１ｄ、４１ｅと、状態情報を処理スレッド４１ａ〜４１ｅのうちの何れかの処理スレッドに割り当てる状態情報割当部４１ｆとを備えている。処理スレッド４１ａ〜４１ｅは、状態情報割当部４１ｆによって状態情報が割り当てられたとき、コントローラ基板４０の機能のうち、その状態情報を必要としている機能に、その状態情報を渡す処理を行うようになっている。また、処理スレッド４１ａ〜４１ｅは、状態情報割当部４１ｆによって複数の状態情報が割り当てられたとき、割り当てられた順序で複数の状態情報を処理するようになっている。
【００３２】
図４は、エンジン基板３０からコントローラ基板４０に送信される状態情報７０の図である。
【００３３】
図４に示すように、状態情報７０は、状態情報の種類７１と、その状態７２とによって構成されている。種類７１は、番号で表されている。例えば、状態情報７０は、種類７１が１０番であるとき、カバーが開いているか否かの状態情報である。そして、状態情報７０は、種類７１が１０番であって状態７２が０であるとき、カバーが開いていることを表す状態情報であり、種類７１が１０番であって状態７２が１であるとき、カバーが閉じていることを表す状態情報である。種類７１は、プリンタ１０の状態情報の種類が２５６種類以下であるときには１ｂｙｔｅであり、プリンタ１０の状態情報の種類が２５６種類より多く５１２種類以下であるときには２ｂｙｔｅである。状態７２は、１ｂｙｔｅである。したがって、１つの状態情報７０は、２ｂｙｔｅか３ｂｙｔｅの小さい情報である。
【００３４】
次に、状態情報割当部４１ｆの動作について説明する。
【００３５】
図５は、状態情報割当部４１ｆの動作のフローチャートである。
【００３６】
エンジン基板３０は、プリンタエンジン２０の状態に変化があるたびにプリンタエンジン２０の状態情報をエンジン通信によってコントローラ基板４０に送信する。したがって、コントローラ基板４０のエンジンインターフェース４１の状態情報割当部４１ｆは、図５に示す動作を実行する。
【００３７】
図５に示すように、状態情報割当部４１ｆは、エンジン通信によってエンジン基板３０から受信した複数の状態情報（以下「状態情報群」という。）の中から、処理の順序が互いに決まっている複数の状態情報（以下「順序有状態情報群」という。）を検出する（Ｓ１０１）。ここで、状態情報群の中に順序有状態情報群が存在しない場合、状態情報割当部４１ｆは、状態情報群の中に順序有状態情報群が存在しないことを検出する。
【００３８】
次いで、状態情報割当部４１ｆは、Ｓ１０１において検出した順序有状態情報群の処理の順序に従って状態情報群の並び順を変更する（Ｓ１０２）。ここで、状態情報割当部４１ｆは、Ｓ１０１において状態情報群の中に順序有状態情報群が存在しないことを検出したとき、Ｓ１０２において状態情報群の並び順を変更しない。
【００３９】
状態情報割当部４１ｆは、Ｓ１０２の処理の後、状態情報群の先頭の状態情報が順序有状態情報群中の１つであるか否かを判断する（Ｓ１０３）。
【００４０】
状態情報割当部４１ｆは、状態情報群の先頭の状態情報が順序有状態情報群中の１つであるとＳ１０３において判断すると、状態情報群の先頭の状態情報が順序有状態情報群の１番目の状態情報であるか否かを判断する（Ｓ１０４）。
【００４１】
状態情報割当部４１ｆは、状態情報群の先頭の状態情報が順序有状態情報群の１番目の状態情報であるとＳ１０４において判断すると、現在の対象の処理スレッドの次の処理スレッドを新たな対象の処理スレッドにする（Ｓ１０５）。なお、状態情報割当部４１ｆは、処理スレッド４１ａ、４１ｂ、４１ｃ、４１ｄ、４１ｅを、この順番で扱うようになっている。すなわち、処理スレッド４１ａの次の処理スレッドは、処理スレッド４１ｂであり、処理スレッド４１ｂの次の処理スレッドは、処理スレッド４１ｃであり、処理スレッド４１ｃの次の処理スレッドは、処理スレッド４１ｄであり、処理スレッド４１ｄの次の処理スレッドは、処理スレッド４１ｅであり、処理スレッド４１ｅの次の処理スレッドは、処理スレッド４１ａである。また、状態情報割当部４１ｆは、図５に示す処理の開始時には処理スレッド４１ｅを対象の処理スレッドとするようになっている。
【００４２】
また、状態情報割当部４１ｆは、状態情報群の先頭の状態情報が順序有状態情報群中の１つではないとＳ１０３において判断すると、Ｓ１０４の処理を実行することなく、現在の対象の処理スレッドの次の処理スレッドを新たな対象の処理スレッドにする（Ｓ１０５）。
【００４３】
状態情報割当部４１ｆは、Ｓ１０５の処理の後、対象の処理スレッドが状態情報の割り当てが最少であるか否かを判断する（Ｓ１０６）。
【００４４】
状態情報割当部４１ｆは、対象の処理スレッドが状態情報の割り当てが最少ではないとＳ１０６において判断すると、再びＳ１０５の処理に戻る。
【００４５】
一方、状態情報割当部４１ｆは、対象の処理スレッドが状態情報の割り当てが最少であるとＳ１０６において判断すると、状態情報群の先頭の状態情報を対象の処理スレッドに割り当てる（Ｓ１０７）。
【００４６】
また、状態情報割当部４１ｆは、状態情報群の先頭の状態情報が順序有状態情報群の１番目の状態情報ではないとＳ１０４において判断すると、Ｓ１０５、Ｓ１０６の処理を実行することなく、状態情報群の先頭の状態情報を対象の処理スレッドに割り当てる（Ｓ１０７）。
【００４７】
状態情報割当部４１ｆは、Ｓ１０７の処理の後、状態情報群から先頭の状態情報を削除して（Ｓ１０８）、状態情報群の全ての状態情報の割り当てが終了したか否かを判断する（Ｓ１０９）。
【００４８】
状態情報割当部４１ｆは、状態情報群の全ての状態情報の割り当てが終了していないとＳ１０９において判断すると、再びＳ１０１の処理に戻る。なお、状態情報割当部４１ｆは、再びＳ１０１の処理に戻ることによって、図５に示す処理の開始後に新たにエンジン基板３０から受信した状態情報を処理することができる。
【００４９】
状態情報割当部４１ｆは、状態情報群の全ての状態情報の割り当てが終了したとＳ１０９において判断すると、図５に示す処理を終了する。
【００５０】
以下、図５に示す処理を状態情報群の例を用いて説明する。
【００５１】
図６（ａ）は、状態情報群を示す図である。図６（ｂ）は、並び順が変更された状態情報群を示す図である。図７（ａ）は、図６（ｂ）に示す状態情報群が複数の処理スレッドに割り当てられた状態を示す図である。図７（ｂ）は、図７（ａ）に示す状態より後の状態を示す図である。
【００５２】
図６において、ｓｔｓ１、ｓｔｓ２、ｓｔｓ３、ｓｔｓ４、ｓｔｓ３´、ｓｔｓ５は、それぞれ状態情報を示している。状態情報は、図６に示してはいないが、ｓｔｓ５の次にもｓｔｓ６、ｓｔｓ７、ｓｔｓ８・・・と続く。ｓｔｓ３およびｓｔｓ３´は、この順序で処理されるべき状態情報、すなわち順序有状態情報群である。
【００５３】
状態情報割当部４１ｆは、図６（ａ）に示す状態情報群から順序有状態情報群であるｓｔｓ３、ｓｔｓ３´を検出し（Ｓ１０１）、ｓｔｓ３およびｓｔｓ３´が互いに隣接するように図６（ｂ）に示すようにｓｔｓ４およびｓｔｓ３´を入れ替える（Ｓ１０２）。
【００５４】
そして、状態情報群の先頭の状態情報であるｓｔｓ１が順序有状態情報群中の１つではないので（Ｓ１０３でＮＯ）、状態情報割当部４１ｆは、現在の対象の処理スレッド４１ｅの次の処理スレッド４１ａを新たな対象の処理スレッドとする（Ｓ１０５）。ここで、処理スレッド４１ａは、未だ状態情報が割り当てられていないため、状態情報の割り当てが最少である（Ｓ１０６でＹＥＳ）。したがって、状態情報割当部４１ｆは、図７（ａ）に示すように処理スレッド４１ａにｓｔｓ１を割り当てて（Ｓ１０７）、状態情報群から先頭の状態情報であるｓｔｓ１を削除する（Ｓ１０８）。その結果、ｓｔｓ２が状態情報群の新たな先頭の状態情報になる。次いで、状態情報割当部４１ｆは、状態情報群の全ての状態情報の割り当てが終了していないので（Ｓ１０９でＮＯ）、再びＳ１０１の処理に戻る。
【００５５】
状態情報割当部４１ｆは、ｓｔｓ１と同様にｓｔｓ２を処理して、図７（ａ）に示すように処理スレッド４１ｂにｓｔｓ２を割り当てる。
【００５６】
次いで、状態情報群の先頭の状態情報であるｓｔｓ３が順序有状態情報群中の１つであり（Ｓ１０３でＹＥＳ）、順序有状態情報群の１番目の状態情報であるので（Ｓ１０４でＹＥＳ）、状態情報割当部４１ｆは、現在の対象の処理スレッド４１ｂの次の処理スレッド４１ｃを新たな対象の処理スレッドとする（Ｓ１０５）。ここで、処理スレッド４１ｃは、未だ状態情報が割り当てられていないため、状態情報の割り当てが最少である（Ｓ１０６でＹＥＳ）。したがって、状態情報割当部４１ｆは、図７（ａ）に示すように処理スレッド４１ｃにｓｔｓ３を割り当てて（Ｓ１０７）、状態情報群から先頭の状態情報であるｓｔｓ３を削除する（Ｓ１０８）。その結果、ｓｔｓ３´が状態情報群の新たな先頭の状態情報になる。次いで、状態情報割当部４１ｆは、状態情報群の全ての状態情報の割り当てが終了していないので（Ｓ１０９でＮＯ）、再びＳ１０１の処理に戻る。
【００５７】
そして、状態情報群の先頭の状態情報であるｓｔｓ３´が順序有状態情報群中の１つであり（Ｓ１０３でＹＥＳ）、順序有状態情報群の１番目の状態情報ではなく２番目の状態情報であるので（Ｓ１０４でＮＯ）、状態情報割当部４１ｆは、図７（ａ）に示すように現在の対象の処理スレッドである処理スレッド４１ｃにｓｔｓ３´を割り当てて（Ｓ１０７）、状態情報群から先頭の状態情報であるｓｔｓ３´を削除する（Ｓ１０８）。その結果、ｓｔｓ４が状態情報群の新たな先頭の状態情報になる。次いで、状態情報割当部４１ｆは、状態情報群の全ての状態情報の割り当てが終了していないので（Ｓ１０９でＮＯ）、再びＳ１０１の処理に戻る。
【００５８】
状態情報割当部４１ｆは、ｓｔｓ１と同様にｓｔｓ４、５、６、７を処理して、図７（ｂ）に示すように処理スレッド４１ｄ、４１ｅ、４１ａ、４１ｂにそれぞれｓｔｓ４、５、６、７を割り当てる。
【００５９】
そして、状態情報群の先頭の状態情報であるｓｔｓ８が順序有状態情報群中の１つではないので（Ｓ１０３でＮＯ）、状態情報割当部４１ｆは、現在の対象の処理スレッド４１ｂの次の処理スレッド４１ｃを新たな対象の処理スレッドとする（Ｓ１０５）。ここで、処理スレッド４１ｃは、既にｓｔｓ３、ｓｔｓ３´という２つの状態情報が割り当てられているため、状態情報の割り当てが最少ではない（Ｓ１０６でＮＯ）。したがって、状態情報割当部４１ｆは、現在の対象の処理スレッド４１ｃの次の処理スレッド４１ｄを新たな対象の処理スレッドとする（Ｓ１０５）。ここで、処理スレッド４１ｄは、ｓｔｓ４のみが割り当てられていないため、状態情報の割り当てが最少である（Ｓ１０６でＹＥＳ）。したがって、状態情報割当部４１ｆは、図７（ｂ）に示すように処理スレッド４１ｄにｓｔｓ８を割り当てて（Ｓ１０７）、状態情報群から先頭の状態情報であるｓｔｓ８を削除する（Ｓ１０８）。
【００６０】
以下、利用者が給紙カセット１２を開けて閉めるときの状態情報割当部４１ｆの動作を説明する。
【００６１】
なお、コントローラ基板４０は、給紙カセット１２が開いている状態であることと、用紙積載板１２ａの傾け動作中であることとを両方とも認識している場合には、用紙積載板１２ａの傾け動作中である旨を優先して表示部５１に表示させるようになっており、給紙カセット１２が開いている状態ではないことと、用紙積載板１２ａの傾け動作中ではないこととを両方とも認識している場合にのみ、給紙カセット１２上の用紙９１の残量を表示部５１に表示させるようになっているものとする。
【００６２】
まず、コントローラ基板４０は、給紙カセット１２が閉じており、用紙積載板１２ａの傾け動作中でもないとき、給紙カセット１２が開いている状態ではないことと、用紙積載板１２ａの傾け動作中でもないこととを認識しているので、給紙カセット１２上の用紙９１の残量を表示部５１に表示させている。
【００６３】
そして、利用者が給紙カセット１２を開けると、給紙カセット１２が開いていることをカセット開閉センサ２１が検知する。また、給紙カセット１２が開いているとき、用紙積載板１２ａに積載されている用紙９１のうち最上の用紙９１がピックアップローラ１１ａに接触していないので、用紙残量センサ２３は、給紙カセット１２上の用紙９１の残量が実際には１００％であったとしても、給紙カセット１２上の用紙９１の残量を０％と検知する。そして、エンジン基板３０は、給紙カセット１２が開いているという状態情報Ａ１と、給紙カセット１２上の用紙９１の残量が０％であるという状態情報Ａ２とをコントローラ基板４０にエンジン通信によって同時期に連続して送信する。ここで、状態情報Ａ１、Ａ２は、この順序でコントローラ基板４０に処理される必要がある順序有状態情報群である。
【００６４】
コントローラ基板４０は、状態情報Ａ１および状態情報Ａ２をエンジン基板３０からエンジン通信によって同時期に連続して受信すると、状態情報Ａ１、Ａ２を図５に示す処理によって、この順序で処理する。すなわち、コントローラ基板４０は、給紙カセット１２が開いている状態であることを状態情報Ａ１に基づいて認識するので、給紙カセット１２上の用紙９１の残量の表示に代えて、給紙カセット１２が開いている旨を状態情報Ａ１に基づいて表示部５１に表示させる。
【００６５】
ここで、もしも状態情報Ａ２が状態情報Ａ１より先にコントローラ基板４０に処理されてしまうと、コントローラ基板４０は、状態情報Ａ２を処理するときには、給紙カセット１２が開いている状態ではないことと、用紙積載板１２ａの傾け動作中でもないこととを未だ認識しているので、給紙カセット１２上の用紙９１の残量が０％である旨を状態情報Ａ２に基づいて表示部５１に表示させる。その後、コントローラ基板４０は、給紙カセット１２が開いている状態であることを状態情報Ａ１に基づいて認識するので、給紙カセット１２上の用紙９１の残量が０％である旨の表示に代えて、給紙カセット１２が開いている旨を状態情報Ａ１に基づいて表示部５１に表示させる。つまり、給紙カセット１２上の用紙９１の残量が０％である旨が表示部５１に一瞬表示されてしまうという不都合が生じる。しかしながら、実際には、状態情報Ａ１、Ａ２が図５に示す処理によって正しい順序でコントローラ基板４０に処理されるので、コントローラ基板４０は、このような不都合を防ぐことができる。
【００６６】
次いで、利用者が給紙カセット１２を閉めると、給紙カセット１２が閉まっていることをカセット開閉センサ２１が検知する。また、エンジン基板３０は、給紙カセット１２が閉まったときに、用紙積載板１２ａを図示していないモータによって図２に示すように傾け始める。そして、エンジン基板３０は、用紙積載板１２ａの傾け動作を開始したという状態情報Ｂ１と、給紙カセット１２が閉まっているという状態情報Ｂ２とをコントローラ基板４０にエンジン通信によって同時期に連続して送信する。ここで、状態情報Ｂ１、Ｂ２は、この順序でコントローラ基板４０に処理される必要がある順序有状態情報群である。
【００６７】
コントローラ基板４０は、状態情報Ｂ１および状態情報Ｂ２をエンジン基板３０からエンジン通信によって同時期に連続して受信すると、状態情報Ｂ１、Ｂ２を図５に示す処理によって、この順序で処理する。すなわち、コントローラ基板４０は、用紙積載板１２ａの傾け動作中であることを状態情報Ｂ１に基づいて認識するので、給紙カセット１２が開いている旨の表示に代えて、用紙積載板１２ａの傾け動作中である旨を状態情報Ｂ１に基づいて表示部５１に表示させる。
【００６８】
ここで、もしも状態情報Ｂ２が状態情報Ｂ１より先にコントローラ基板４０に処理されてしまうと、コントローラ基板４０は、給紙カセット１２が開いている状態ではないことを状態情報Ｂ２に基づいて認識する。その結果、コントローラ基板４０は、給紙カセット１２が開いている状態ではないことと、用紙積載板１２ａの傾け動作中ではないこととを両方とも認識することになり、給紙カセット１２が開いている旨の表示に代えて、給紙カセット１２上の用紙９１の残量を表示部５１に表示させる。このとき、コントローラ基板４０は、給紙カセット１２上の用紙９１の最新の残量を上述した状態情報Ａ２に基づいて０％と認識している。したがって、コントローラ基板４０は、給紙カセット１２上の用紙９１の残量が０％である旨を上述した状態情報Ａ２に基づいて表示部５１に表示させる。その後、コントローラ基板４０は、用紙積載板１２ａの傾け動作中であることを状態情報Ｂ１に基づいて認識するので、給紙カセット１２上の用紙９１の残量が０％である旨の表示に代えて、用紙積載板１２ａの傾け動作中である旨を状態情報Ｂ１に基づいて表示部５１に表示させる。つまり、給紙カセット１２上の用紙９１の残量が０％である旨が表示部５１に一瞬表示されてしまうという不都合が生じる。しかしながら、実際には、状態情報Ｂ１、Ｂ２が図５に示す処理によって正しい順序でコントローラ基板４０に処理されるので、コントローラ基板４０は、このような不都合を防ぐことができる。
【００６９】
次いで、用紙積載板１２ａに積載されている用紙９１のうち最上の用紙９１がピックアップローラ１１ａに接触すると、用紙搬送位置センサ２２は、用紙９１が搬送位置にあることを検知する。この検知によって、用紙搬送位置センサ２２は、用紙積載板１２ａの傾け動作を終了する。また、用紙積載板１２ａに積載されている用紙９１のうち最上の用紙９１がピックアップローラ１１ａに接触すると、用紙残量センサ２３は、給紙カセット１２上の用紙９１の残量を検知する。例えば、給紙カセット１２上の用紙９１の実際の残量が１００％である場合には、給紙カセット１２上の用紙９１の残量を１００％と検知する。そして、エンジン基板３０は、給紙カセット１２上の用紙９１の残量を示す状態情報Ｃ１と、用紙積載板１２ａの傾け動作を終了したという状態情報Ｃ２とをコントローラ基板４０にエンジン通信によって同時期に連続して送信する。ここで、状態情報Ｃ１、Ｃ２は、この順序でコントローラ基板４０に処理される必要がある順序有状態情報群である。
【００７０】
コントローラ基板４０は、状態情報Ｃ１および状態情報Ｃ２をエンジン基板３０からエンジン通信によって同時期に連続して受信すると、状態情報Ｃ１、Ｃ２を図５に示す処理によって、この順序で処理する。すなわち、コントローラ基板４０は、用紙積載板１２ａの傾け動作中ではないことを状態情報Ｃ２に基づいて認識する。ここで、コントローラ基板４０は、給紙カセット１２が開いている状態ではないことを上述した状態情報Ｂ２に基づいて認識している。したがって、コントローラ基板４０は、給紙カセット１２が開いている状態ではないことと、用紙積載板１２ａの傾け動作中ではないこととを両方とも認識することになり、用紙積載板１２ａの傾け動作中である旨の表示に代えて、給紙カセット１２上の用紙９１の残量を表示部５１に表示させる。このとき、コントローラ基板４０は、給紙カセット１２上の用紙９１の最新の残量を状態情報Ｃ１に基づいて既に認識している。つまり、コントローラ基板４０は、給紙カセット１２上の用紙９１の残量を状態情報Ｃ１に基づいて表示部５１に表示させる。
【００７１】
ここで、もしも状態情報Ｃ２が状態情報Ｃ１より先にコントローラ基板４０に処理されてしまうと、コントローラ基板４０は、用紙積載板１２ａの傾け動作中ではないことを状態情報Ｃ２に基づいて認識する。ここで、コントローラ基板４０は、給紙カセット１２が開いている状態ではないことを上述した状態情報Ｂ２に基づいて認識している。したがって、コントローラ基板４０は、給紙カセット１２が開いている状態ではないことと、用紙積載板１２ａの傾け動作中ではないこととを両方とも認識することになり、用紙積載板１２ａの傾け動作中である旨の表示に代えて、給紙カセット１２上の用紙９１の残量を表示部５１に表示させる。このとき、コントローラ基板４０は、給紙カセット１２上の用紙９１の最新の残量を上述した状態情報Ａ２に基づいて０％と認識している。つまり、コントローラ基板４０は、給紙カセット１２上の用紙９１の残量が０％である旨を上述した状態情報Ａ２に基づいて表示部５１に表示させる。その後、コントローラ基板４０は、状態情報Ｃ１を処理するときに、給紙カセット１２上の用紙９１の残量が０％である旨の表示に代えて、給紙カセット１２上の用紙９１の残量を状態情報Ｃ１に基づいて表示部５１に表示させる。つまり、給紙カセット１２上の用紙９１の残量が０％である旨が表示部５１に一瞬表示されてしまうという不都合が生じる。しかしながら、実際には、状態情報Ｃ１、Ｃ２が図５に示す処理によって正しい順序でコントローラ基板４０に処理されるので、コントローラ基板４０は、このような不都合を防ぐことができる。
【００７２】
以上に説明したように、状態情報割当部４１ｆは、順序有状態情報を処理の順序の通りに同一の処理スレッドに割り当てるようになっている（Ｓ１０４でＮＯ、Ｓ１０７）。つまり、プリンタ１０は、複数の状態情報を処理の順序の通りに複数の処理スレッド４１ａ〜４１ｅによって並列に処理することができる。したがって、プリンタ１０は、状態情報の処理を従来より高速化することができる。
【００７３】
また、状態情報割当部４１ｆは、複数の処理スレッド４１ａ〜４１ｅのそれぞれに割り当てられる状態情報の数が均等になるように、状態情報を処理スレッド４１ａ〜４１ｅに割り当てるようになっている（Ｓ１０６）。つまり、プリンタ１０は、複数の状態情報を複数の処理スレッド４１ａ〜４１ｅに均等に割り当てることができる。したがって、プリンタ１０は、複数の処理スレッド４１ａ〜４１ｅのうち特定の処理スレッドに多数の状態情報が集中して割り当てられる構成と比較して、状態情報の処理を高速化することができる。
【００７４】
なお、状態情報の処理としては、状態情報に基づいた表示部５１による表示のみに限られず、種々の処理が有り得る。例えば、プリンタ１０は、状態情報に基づいた表示部５１による表示を高速化することができるだけでなく、状態情報に基づいたエラー処理なども高速化することができる。
【００７５】
また、プリンタ１０は、状態情報を生成するためのセンサとしてカセット開閉センサ２１、用紙搬送位置センサ２２および用紙残量センサ２３を備えているが、状態情報を生成するためのセンサとして、他のセンサを備えていても良い。例えば、プリンタ１０は、プリンタ１０の前面カバーの開閉を検知するセンサ、プリンタ１０内の用紙の詰まりであるジャムの発生を検知するセンサ、プリンタ１０のトナーの残量を検知するセンサ、給紙カセット１２上の用紙９１のサイズを検知するセンサ、印刷後の用紙９１にステープル処理などの後処理を行う後処理装置のプリンタ１０に対する着脱を検知するセンサなど、各種のセンサを備えていても良い。
【００７６】
また、本実施の形態においては、画像形成装置としてプリンタについて説明しているが、プリンタエンジンを備えている画像形成装置であれば、複合機など、プリンタ以外の画像形成装置であっても良い。
【符号の説明】
【００７７】
Ａ１、Ａ２、Ｂ１、Ｂ２、Ｃ１、Ｃ２  状態情報
１〜９、３´  ｓｔｓ（状態情報）
１０  プリンタ（画像形成装置）
２０  プリンタエンジン
３０  エンジン基板
４０  コントローラ基板
４１ａ〜４１ｅ  処理スレッド（状態情報処理部）
４１ｆ  状態情報割当部
７０  状態情報
【図１】
2011201110.tif 000003
【図２】
2011201110.tif 000004
【図３】
2011201110.tif 000005
【図４】
2011201110.tif 000006
【図５】
2011201110.tif 000007
【図６】
2011201110.tif 000008
【図７】
2011201110.tif 000009