(57)【要約】【課題】本発明は、コントローラ側のＩ／Ｆをエンジン側が持つＩ／Ｆ形式に変更して両者間での通信を可能にすると共に、エンジンへの通信量を抑えることができる画像形成装置を提供することを目的とする。【解決手段】本発明の画像形成装置は、エンジンのステータス変更をエンジンからのイベントをもってコントローラが認知し、この情報を使ってエンジンの制御を実行するようなＩ／Ｆを実装するコントローラと、違うタイプのＩ／Ｆをもつエンジンに対してもコントローラで対応するためにエンジンとコントローラ間にコントローラから送られてくるコマンドをエンジンに対して通知するコマンドに変換するＩ／Ｆ変換部とを有している。そして、コントローラから受取ったコマンドがエンジンを介さず処理ができる場合、Ｉ／Ｆ変換部から直接コントローラにステータスを返す。【選択図】　　　　図１
2004127150.tif 000002
【特許請求の範囲】
【請求項１】
エンジンのステータス変更をエンジンからのイベントをもってコントローラが認知し、この情報を使ってエンジンの制御を実行するようなＩ／Ｆを実装するコントローラと、違うタイプのＩ／Ｆをもつエンジンに対してもコントローラで対応するためにエンジンとコントローラ間にコントローラから送られてくるコマンドをエンジンに対して通知するコマンドに変換するＩ／Ｆ変換部とを有し、コントローラから受取ったコマンドがエンジンを介さず処理ができる場合Ｉ／Ｆ変換部から直接コントローラにステータスを返すことを特徴とする画像形成装置。
【請求項２】
前記コントローラが前記エンジンの状態を正確に把握するために前記Ｉ／Ｆ変換部に定期的にエンジン状態を監視する処理部を設けた請求項１記載の画像形成装置。
【請求項３】
前記Ｉ／Ｆ変換部と前記エンジン間のシリアル通信量を抑えるため、前記エンジンの状態によって前記コントローラが前記エンジンに対して行う定期監視の間隔を変える請求項２記載の画像形成装置。
【請求項４】
定期監視で得られた情報における変化のあったステータスのみを変換する請求項２又は３に記載の画像形成装置。
【請求項５】
定期監視で得られかつ変化のあった情報におけるステータスを、同一の変換処理であればまとめて変換する請求項２又は３に記載の画像形成装置。
【請求項６】
起動時に定期監視によるステータスの更新処理で別にエンジン報告型ステータスを初期化する請求項１〜５のいずれかに記載の画像形成装置。
【請求項７】
トレイ情報を必須監視項目として追加する請求項１〜６のいずれかに記載の画像形成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像形成装置に関し、特に画像を形成するエンジンとエンジンを制御するコントローラとを通信手段を介して接続する画像形成装置に関する。
【０００２】
【従来の技術】
【特許文献１】特開平９−１８５２９４号公報
コントローラ問い合わせ型Ｉ／Ｆに関する分野では、上記特許文献１のようにエンジンの持つステータスのグループ分けを行い、更に各グループを代表させる上位ステータスを設け、この上位ステータスを監視することによりコントローラとエンジン間の通信料を低減させるものが提案されている。
【０００３】
【発明が解決しようとする課題】
しかしながら、上記特許文献１によれば、異なるＩ／Ｆを持つので実装されたエンジンとコントローラでは通信を行うことはできない。
【０００４】
本発明はこの問題点を解決するためのものであり、コントローラ側のＩ／Ｆをエンジン側が持つＩ／Ｆ形式に変更して両者間での通信を可能にすると共に、エンジンへの通信量を抑えることができる画像形成装置を提供することを目的とする。
【０００５】
【課題を解決するための手段】
前記問題点を解決するために、本発明の画像形成装置は、エンジンのステータス変更をエンジンからのイベントをもってコントローラが認知し、この情報を使ってエンジンの制御を実行するようなＩ／Ｆを実装するコントローラと、違うタイプのＩ／Ｆをもつエンジンに対してもコントローラで対応するためにエンジンとコントローラ間にコントローラから送られてくるコマンドをエンジンに対して通知するコマンドに変換するＩ／Ｆ変換部とを有している。そして、コントローラから受取ったコマンドがエンジンを介さず処理ができる場合、Ｉ／Ｆ変換部から直接コントローラにステータスを返す。よって、コントローラ側のＩ／Ｆをエンジン側が持つＩ／Ｆ形式に変更し、両者間での通信を可能にすると共にエンジンへの通信量を抑えることができる。
【０００６】
また、コントローラがエンジンの状態を正確に把握するためにＩ／Ｆ変換部に定期的にエンジン状態を監視する処理部を設けたことにより、シリアル通信量を抑えることができる。
【０００７】
更に、Ｉ／Ｆ変換部とエンジン間のシリアル通信量を抑えるため、エンジンの状態によってコントローラがエンジンに対して行う定期監視の間隔を変えることにより、通常待機状態時のステータス所得処理に伴う無駄な通信を抑えることができる。
【０００８】
また、定期監視で得られた情報における変化のあったステータスのみを変換することにより、コントローラとＩ／Ｆ変換部の通信量を抑えることができる。
【０００９】
更に、定期監視で得られかつ変化のあった情報におけるステータスを、同一の変換処理であればまとめて変換することにより、コントローラとＩ／Ｆ変換部の通信量を抑えることができる。
【００１０】
また、起動時に定期監視によるステータスの更新処理で別にエンジン報告型ステータスを初期化することにより、例えばエンジン側の消耗品のステータスを適切な値で初期化することできる。
【００１１】
更に、トレイ情報を必須監視項目として追加することにより、トレイ情報をいち早く把握することができる。
【００１２】
【発明の実施の形態】
本発明の画像形成装置は、エンジンのステータス変更をエンジンからのイベントをもってコントローラが認知し、この情報を使ってエンジンの制御を実行するようなＩ／Ｆを実装するコントローラと、違うタイプのＩ／Ｆをもつエンジンに対してもコントローラで対応するためにエンジンとコントローラ間にコントローラから送られてくるコマンドをエンジンに対して通知するコマンドに変換するＩ／Ｆ変換部とを有している。
【００１３】
【実施例】
図１は本発明の一実施例に係る画像形成装置としてのプリンタの構成を示すブロック図である。同図において、プリンタ１００は、主に、コントローラ部１１０、Ｉ／Ｆ変換部１２０、デバイスドライバ１３０及びエンジン１４０を含んで構成されている。コントローラ部１１０は、制御部１１１、コマンド送信部１１２及びステータス受信部１１３を有している。また、Ｉ／Ｆ変換部１２０は、変換部１２１、コマンド送信部１２２、ステータス受信部１２３及び監視部１２４を有している。更に、変換部１２１は、コントローラ部１１０とエンジン報告型Ｉ／Ｆをもって通信を行う。Ｉ／Ｆ変換部１２０はコントローラ内部でスレッドとして存在し、コントローラ部１１０にあるコマンド送信部１１２、ステータス受信部１１３とＩ／Ｆ変換部１２０にあるコマンド送信部１２２、ステータス受信部１２３との通信はスレッド間のメッセージ送受信という形で行われる。変換部１２１は、送信コマンドの変換処理、受信ステータスの変換処理、コントローラ部からのコマンドの受信処理、コントローラ部１１０へのステータス送信処理などの機能をサポートする。監視部１２４はＩ／Ｆ変換部１２０にあるコマンド送信部１２２に対してステータス取得コマンド（コントローラ問い合わせ型Ｉ／Ｆ）を送信し、問い合わせ間隔の調整処理や問い合わせコマンドの選択処理の機能をサポートする。コマンド送信部１２２及びステータス受信部１２３はエンジン１４０とコントローラ問い合わせ型Ｉ／Ｆに沿ったコマンド、ステータスの送受信を行う。これらのエンジンとのやり取りはシリアル通信を介して行われる。
【００１４】
次に、本実施例におけるコントローラ側からのコマンドの変換処理について動作フローを示す図２に従って説明する。
先ずコントローラ部１１０からのメッセージとして変換前コマンドを受信する（ステップＳ１０１）。そして、受信したコマンド名をキーに予め用意している変換テーブルで検索する（ステップＳ１０２）。変換したものがコマンド系か否かの判別し（ステップＳ１０３）、変換したコマンドがエンジンに送信するものであるか否かを判定し、変換すべきコマンドであれば（ステップＳ１０３；ＹＥＳ）、コマンド送信部に変換後コマンドを送信変換後のコマンド（コントローラ問い合わせ型Ｉ／Ｆ）をＩ／Ｆ変換部のコマンド送信部へメッセージとして送信する。このコマンド送信部ではデバイスドライバに変換後のコマンドを書き込む形で行い、デバイスドライバがシリアル通信を介してエンジンに変換後のコマンドを送信する（ステップＳ１０４）。一方、変換すべきコマンドでなければ（ステップＳ１０３；ＮＯ）、コントローラ受信部に変換後ステータスを返信変換後、エンジンを介す必要が無いと判断された場合は、変換後のコマンドをエンジン報告型Ｉ／Ｆのステータスとして、コントローラのステータス受信部に返信する（ステップＳ１０５）。このように、Ｉ／Ｆ変換部１２０の変換部１２１がエンジン１４０側へのコマンド変換処理とコントローラ部１１０側へのステータス変換処理の両方を持つことにより、エンジンへの不必要な通信を抑えることができる。
【００１５】
次に、本実施例におけるエンジン状態を監視する処理について当該動作フローを示す図３に従って説明する。
先ず基本ステータスを参照する（ステップＳ２０１）。ここでコントローラ問い合わせ型Ｉ／Ｆを採用するエンジンのステータス構成は図４に示すような樹形図のような形をとる。図４に示す監視処理で問い合わせるステータスに基本ステータス（ＳＴ０）だけでなく、トレイステータス（ＳＴ６）を追加するようにする。これにより、樹形図状に作られたエンジンステータスでは第３階層に位置するトレイ情報をいち早く把握することが可能となる。そして、最上位の第１階層に全てのステータスを集約、抽象化した基本ステータスが位置し、階層を下にたどるにつれ、ステータスが具象化されていく。これにより個々の全てのステータスを監視するのではなく、基本ステータスのみを監視することでエンジンの全体像を把握でき、シリアル通信量も抑えられる。そして、エラーの有無の判定、つまり基本ステータスを参照し、エラーの有無を調べる（ステップＳ２０２）。エラーがあれば（ステップＳ２０２；ＹＥＳ）ステータステーブルの参照を行い、基本ステータスの個々のビットとそれにつながるステータス番号をセットにしたテーブルを用意し、エラーとなったビットがどのような関連性を持ったビットなのかを調べる。そして、詳細ステータスの有無の判定、つまりテーブルでの検索で下位層のステータスとの関連があるか否かを調べ（ステップＳ２０４）、下位層のステータスとの関連が無い場合（ステップＳ２０４；ＮＯ）には、処理を終了する。一方、下位層との関連が認められた場合（ステップＳ２０４；ＹＥＳ）には、関連のあるステータス情報を取得する必要があるため、ステータス取得コマンドを図１のエンジン１４０に対して送信する。ＳＴ０のｂｉｔ２がたっていた場合には、ＳＴ１のステータス取得コマンドを発行する。そして、詳細ステータスの参照を行う。つまり、先のステップＳ２０５で新たに発行したステータス取得コマンドと同一番号のステータスを参照する。この同一番号に格納されているステータスは、Ｉ／Ｆ変換部が持つ最新のステータスである。この情報を元に更に下位層のステータスを取得する必要性を判断するため、ステップＳ２０２のエラーの有無の判定に処理を戻す。この処理はエラービットがなくなるか末端のステータスにたどり着くまで再帰的に繰り返される。このように、図１のＩ／Ｆ変換部１２０がエンジン１４０の樹形図に沿ったステータス要求コマンドを発行することにより、エンジンのステータスを適切に把握することが可能となる。
【００１６】
次に、本実施例におけるエンジン状態監視間隔の設定について当該動作フローを示す図５に従って説明する。
先ず、先のエンジン状態を監視する処理を指すステータス問い合わせ処理を行う（ステップＳ３０１）。そして、図１のＩ／Ｆ変換部１２０が所持するエンジン１４０の基本ステータス（図４のＳＴ０）を参照する（ステップＳ３０２）。上記の基本ステータスが通常状態でない（いずれかのビットがたっている）か否かを判定する（ステップＳ３０３）。基本ステータスが通常状態である（ＳＴ０の値が０）の場合（ステップＳ３０３；ＮＯ）は、エンジン状態の監視間隔を通常値（エラー発生時よりも長い）に設定する（ステップＳ３０４）。設定された時間待ち処理を行う（ステップＳ３０６）。一方、基本ステータスが通常状態ではない（ＳＴ０の値が０ではない）場合（ステップＳ３０３；ＹＥＳ）は、エンジン状態の監視間隔をエラー発生時の値に設定する（ステップＳ３０５）。設定された時間待ち処理を行う（ステップＳ３０６）。このように、定期監視間隔を変えることにより通常待機状態時のステータス取得処理に伴う無駄な通信を抑えることができる。
【００１７】
次に、本実施例におけるエンジン側からのステータスの変換処理について当該動作フローを示す図６に従って説明する。
先ずエンジンステータスの受信を行う。つまり図１のＩ／Ｆ変換部１２０のステータス受信部１２３はエンジン１４０からのステータスをデバイスドライバ１３０を介して受信し、この値を変換部にメッセージとして送る（ステップＳ４０１）。そして、ステータス変更の有無の判定を行う。つまり図１の変換部１２１は現在保有しているステータス値とメッセージとして送られてきたステータス値を比較し、違いが無ければ（ステップＳ４０２；ＮＯ）、ステータス変換処理を行わず、処理を終了する。違いがある場合（ステップＳ４０２；ＹＥＳ）は、Ｉ／Ｆ変換部１２０が持つステータスをメッセージとして受信した新しいステータスに置き換える。そして、新しく変更されたステータスをもとにエンジン報告型Ｉ／Ｆステータスへの変換処理を行う（ステップＳ４０３，Ｓ４０４）。詳細は後述するエンジン側からのステータスの変換処理を行う。このように変化のあったステータスのみを変換することにより、コントローラとＩ／Ｆ変換部の通信量を抑えることができる。
【００１８】
次に、本実施例におけるエンジン側からのステータスの他の変換処理について当該動作フローを示す図７に従って説明する。
先ず、変換関数の初期化を行う。つまり図１のエンジン１４０からのステータスをコントローラ通知用のステータスに変換するための関数をダミー関数で初期化する（ステップＳ５０１）。そして、エンジン１４０からのステータスの番号を元にこれに対応するステータス変換関数を呼び出す（ステップＳ５０２）。次に、前回の変換関数（初回はダミー関数）と新しく呼び出した関数を比較し、これらが同一のものか否かを判定する（ステップＳ５０３）。同一である場合（ステップＳ５０３；ＹＥＳ）は、変換処理を止め、ステップＳ５０５のステータスの終端判定処理に進む。同一でない場合（ステップＳ５０３；ＮＯ）は、コントローラ部１１０のステータス受信部１１３に変換後ステータスを返信呼び出した変換関数に従い処理を行い、コントローラ部１１０のステータス受信部１１３に変換後ステータスをメッセージ送信する（ステップＳ５０４）。その後、ステータスの終端か否かの判定を行う（ステップＳ５０５）。ステータス変換処理は、エンジン１４０からのステータスの各ビットごとに行われる。通常、ビット１から変換処理を行い、ステップＳ５０２に処理を移行し次にビット２に関するステータス変換を行う。ビット７変換処理が終了した時点で、ステータスの終端と判断し（ステップＳ５０５；ＹＥＳ）、エンジン側からのステータス変換処理を終了する。このように、同一の変換処理であればその変換処理を行わなくすることにより、コントローラとＩ／Ｆ変換部の通信量を抑えることができる。例えば、トレイの用紙サイズを変更した際には、図４のＳＴ６のビット１からビット５までの値が変化する。これらは５つのビットで用紙サイズを表しているため、最初のビット変換がすめば、残りのビットに対するステータス変換処理は行わなくてもよい。このようなことを実現することが可能となる。
【００１９】
次に、本実施例のエンジン報告型ステータスの初期化について当該動作フローを示す図８に従って説明する。
先ず電源投入時（ステップＳ６０１）、コントローラからの要求とは関係なく、図１のＩ／Ｆ変換部１２０が消耗品のステータスの取得コマンドをエンジンに対し発行する（ステップＳ６０２）。これにより、コントローラがエンジンからの通知を持って消耗品のステータスを初期化する、といったつくりであっても、エンジン側の消耗品のステータスを適切な値で初期化することが可能となる。
【００２０】
なお、本発明は上記実施例に限定されるものではなく、特許請求の範囲内の記載であれば多種の変形や置換可能であることは言うまでもない。
【００２１】
【発明の効果】
以上説明したように、本発明の画像形成装置は、エンジンのステータス変更をエンジンからのイベントをもってコントローラが認知し、この情報を使ってエンジンの制御を実行するようなＩ／Ｆを実装するコントローラと、違うタイプのＩ／Ｆをもつエンジンに対してもコントローラで対応するためにエンジンとコントローラ間にコントローラから送られてくるコマンドをエンジンに対して通知するコマンドに変換するＩ／Ｆ変換部とを有している。そして、コントローラから受取ったコマンドがエンジンを介さず処理ができる場合、Ｉ／Ｆ変換部から直接コントローラにステータスを返す。コントローラ側のＩ／Ｆをエンジン側が持つＩ／Ｆ形式に変更し、両者間での通信を可能にすると共にエンジンへの通信量を抑えることができる。
【００２２】
また、コントローラがエンジンの状態を正確に把握するためにＩ／Ｆ変換部に定期的にエンジン状態を監視する処理部を設けたことにより、シリアル通信量を抑えることができる。
【００２３】
更に、Ｉ／Ｆ変換部とエンジン間のシリアル通信量を抑えるため、エンジンの状態によってコントローラがエンジンに対して行う定期監視の間隔を変えることにより、通常待機状態時のステータス所得処理に伴う無駄な通信を抑えることができる。
【００２４】
また、定期監視で得られた情報における変化のあったステータスのみを変換することにより、コントローラとＩ／Ｆ変換部の通信量を抑えることができる。
【００２５】
更に、定期監視で得られかつ変化のあった情報におけるステータスを、同一の変換処理であればまとめて変換することにより、コントローラとＩ／Ｆ変換部の通信量を抑えることができる。
【００２６】
また、起動時に定期監視によるステータスの更新処理で別にエンジン報告型ステータスを初期化することにより、例えばエンジン側の消耗品のステータスを適切な値で初期化することできる。
【００２７】
更に、トレイ情報を必須監視項目として追加することにより、トレイ情報をいち早く把握することができる。
【図面の簡単な説明】
【図１】本発明の一実施例に係る画像形成装置としてのプリンタの構成を示すブロック図である。
【図２】本実施例におけるコントローラ側からのコマンドの変換処理を示すフローチャートである。
【図３】本実施例におけるエンジン状態を監視する処理を示すフローチャートである。
【図４】エンジンのステータス構成を示す図である。
【図５】本実施例におけるエンジン状態監視間隔の設定を示すフローチャートである。
【図６】本実施例におけるエンジン側からのステータスの変換処理を示すフローチャートである。
【図７】本実施例におけるエンジン側からのステータスの他の変換処理を示すフローチャートである。
【図８】本実施例のエンジン報告型ステータスの初期化処理を示すフローチャートである。
【符号の説明】
１００；プリンタ１００、１１０；コントローラ部１１０、
１１１；制御部、１１２；コマンド送信部、１１３；ステータス受信部、
１２０；Ｉ／Ｆ変換部、１２１；変換部、１２２；コマンド送信部、
１２３；ステータス受信部、１２４；監視部、１３０；デバイスドライバ、
１４０；エンジン。
【図１】
2004127150.tif 000003
【図２】
2004127150.tif 000004
【図３】
2004127150.tif 000005
【図４】
2004127150.tif 000006
【図５】
2004127150.tif 000007
【図６】
2004127150.tif 000008
【図７】
2004127150.tif 000009
【図８】
2004127150.tif 000010