(57)【要約】【課題】画像形成装置において、本体とサブユニットとの間で機種が同じである場合は、サブユニットの制御プログラムが本体の制御プログラムのバージョンと異なるものであったとしても、正常に動作するという点では問題は生じない。しかし、本体とサブユニットとの間で機種が異なる場合、サブユニットの制御プログラムを本体の制御プログラムのバージョンに合わせておく必要がある。【解決手段】本体とサブユニットとの機種が同じであるか異なるかにより、サブユニットの制御プログラムの更新をする必要性があるか否かをサービスマン等に適切に通知する。【選択図】  図５Ａ
2020127078.tif 000002
【特許請求の範囲】
【請求項１】
画像形成装置の本体を制御する第１の制御手段を有する本体部と、
種類が異なる複数の画像形成装置に取り付け可能なサブユニットであって、前記画像形成装置の所定の機能を実行するために前記サブユニットの動作を制御する第２の制御手段と前記第２の制御手段が前記サブユニットの動作を制御するための第１の制御プログラムを記憶する第１の記憶手段とを有するサブユニットと、
情報を表示する表示手段と、
前記本体部に設けられ、前記サブユニットのための第２の制御プログラムを記憶する第２の記憶手段と、を有し、
前記第１の制御手段は、前記本体部の種類を表す第１の機種コードと、前記サブユニットの種類を表す第２の機種コードとの比較を行い、前記第１の機種コードと前記第２の機種コードとが適合する場合、前記第１の制御プログラムのバージョンと前記第２の制御プログラムのバージョンとを比較し、前記第１の制御プログラムのバージョンが前記第２の制御プログラムのバージョンよりも古い場合、前記第１の制御プログラムを更新することを指示するボタンと更新をスキップすることを指示するボタンとを含む第１の画面を前記表示手段に表示させ、
前記第１の機種コードと前記第２の機種コードとが適合しない場合、前記第１の制御プログラムを強制的に更新するよう制御することを特徴とする画像形成装置。
【請求項２】
前記第１の制御手段は、前記更新を指示するボタンを含み、前記更新をスキップするボタンを含まない第２の画面を前記表示手段に表示させることにより、前記第１の制御プログラムを強制的に更新するように制御することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記第１の制御手段は、前記第１の制御プログラムを更新する場合に、前記第２の制御プログラムに更新するよう制御することを特徴とする請求項１または２に記載の画像形成装置。
【請求項４】
前記第１の制御手段は、前記更新を指示するボタンが押されると、前記第１の制御プログラムを前記第２の制御プログラムに更新することを特徴とする請求項３に記載の画像形成装置。
【請求項５】
前記サブユニットは、前記第２の制御手段及び前記第１の記憶手段を含む制御基板を有し、種類の異なる第１の画像形成装置と第２の画像形成装置の何れにも取り付け可能であり、
前記第１の制御手段は、前記制御基板が前記第２の画像形成装置のための前記第２の機種コードを付与されており、前記制御基板が前記第２の画像形成装置に取り付けられている場合に、前記第１の機種コードと前記第２の機種コードとが適合していると判断し、前記制御基板が前記第２の画像形成装置のための前記第２の機種コードを付与されており、前記第１の画像形成装置に取り付けられている場合に、前記第１の機種コードと前記第２の機種コードとが適合していないと判断することを特徴とする請求項１乃至４の何れか１項に記載の画像形成装置。
【請求項６】
前記第２の画像形成装置は前記第１の画像形成装置よりも新しい世代の画像形成装置であることを特徴とする請求項５に記載の画像形成装置。
【請求項７】
前記サブユニットは、用紙に画像を形成する画像形成手段を制御するための制御基板を有するプリンタユニットである
ことを特徴とする請求項５に記載の画像形成装置。
【請求項８】
前記サブユニットは、ファクシミリ通信を制御するための制御基板を有するファクスユニットである
ことを特徴とする請求項５に記載の画像形成装置。
【請求項９】
前記第１の制御手段は、前記第１の制御プログラムを前記画像形成装置に接続されたネットワークを介して取得する
ことを特徴とする請求項１乃至８のいずれか１項に記載の画像形成装置。
【請求項１０】
前記第２の記憶手段は、前記本体部のための更新用の第３の制御プログラムを記憶し、
前記第２の制御プログラムは、前記第３の制御プログラムに含まれて取得される
ことを特徴とする請求項９に記載の画像形成装置。
【請求項１１】
画像形成装置の本体を制御する第１の制御手段を有する本体部と、
種類が異なる複数の画像形成装置に取り付け可能なサブユニットであって、前記画像形成装置の所定の機能を実行するために前記サブユニットの動作を制御する第２の制御手段と前記第２の制御手段が前記サブユニットの動作を制御するための第１の制御プログラムを記憶する第１の記憶手段とを有するサブユニットと、
情報を表示する表示手段と、
前記本体部に設けられ、前記サブユニットのための第２の制御プログラムを記憶する第２の記憶手段と、を有する画像形成装置の制御方法であって、
前記画像形成装置の種類に対応し、前記本体部の種類を表す第１の機種コードと、前記画像形成装置の種類に対応し、前記サブユニットの種類を表す第２の機種コードとの比較を前記第１の制御手段に行わせる第１の比較工程と、
前記第１の機種コードと前記第２の機種コードとが適合する場合、前記第１の制御プログラムのバージョンと前記第２の制御プログラムのバージョンとを前記第１の制御手段に比較させる第２の比較工程と、
前記第１の制御プログラムのバージョンが前記第２の制御プログラムのバージョンよりも古い場合、前記第１の制御プログラムを更新することを指示するボタンと更新をスキップすることを指示するボタンとを含む第１の画面を前記表示手段に表示させる第１の表示工程と、
前記第１の機種コードと前記第２の機種コードとが適合しない場合、前記第１の制御手段により前記第１の制御プログラムを強制的に更新させるよう制御する更新工程と、
を有することを特徴とする画像形成装置の制御方法。
【請求項１２】
請求項１１に記載の画像形成装置の制御方法をコンピュータにより実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、画像形成装置の制御方法及びプログラムに関する。
【背景技術】
【０００２】
複合機等の画像形成装置は、画像形成装置全体を制御している本体コントローラのＣＰＵと、画像形成装置内のプリンタやファクス等の各機能を個別に制御している各種ユニット（サブユニット）のＣＰＵと、を有する。そして、各種ユニットのＣＰＵがＲＯＭ等の記憶装置に記憶されている各機能に対応した制御プログラムに基づき動作をすることによって、画像形成装置のプリンタやファクス等の各機能が実現される。
【０００３】
また、オプション機能を利用したい場合は、サービスマンが画像形成装置にオプションユニットを装着し、装着したユニットの制御プログラムを本体の制御プログラムのバージョンに対応するように更新する必要がある。同様に、サービスマンが画像形成装置内の制御基板やオプションユニットの制御基板を交換した場合にも、各種ユニットの制御プログラムを本体の制御プログラムのバージョンに対応した制御プログラムに更新する必要がある。
【０００４】
このような技術として、特許文献１には、画像形成装置におけるユニットの制御プログラムの更新方法が開示されている。特許文献１の画像形成装置においては、オプションユニットが接続される前から、オプションユニットの制御プログラムが画像形成装置本体の記憶領域に予め記憶されている。そして、接続したオプションユニットから取得したユニットの制御プログラムのバージョンと、本体の記憶領域に記憶されているユニットの制御プログラムのバージョンと、を比較する。比較の結果、接続したオプションユニットの制御プログラムのバージョンが古い場合、本体の記憶領域に記憶されているオプションユニットのプログラムのバージョンに更新する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−５２８８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ただし、特許文献１のように、本体に接続されているオプションユニットのプログラムのバージョンを更新する作業は時間を要するものである。もっとも、オプションユニットの制御プログラムのバージョンが古いものであったとしても、正常に動作する場合、必ずしも、本体の制御プログラムのバージョンが更新されるたびにオプションユニットの制御プログラムのバージョンを更新する必要はない。
【０００７】
一方、機能の拡張等により、同じ系列製品で世代の異なる２つの機種間で制御プログラムの差分が多く、接続されるサブユニットの制御プログラムが共通の制御基板のＲＯＭ領域に収まらない場合は、各世代の機種毎に制御プログラムを用意する必要がある。サブユニットの制御プログラムが機種毎に用意される場合、バージョンアップ用の制御プログラムも各世代の機種毎に異なるため、ユニットの制御プログラムのバージョンが必ずしも本体の制御プログラムのバージョンよりも古いとは限らない。
例えば、本体に接続されたサブユニットの制御プログラムが別世代の機種用である場合に、サブユニットの制御プログラムの更新を行う必要がある。しかし、本体に記憶しているサブユニットの制御プログラムのバージョンよりも新しいバージョンが存在する場合がある。この場合、サブユニットの制御プログラムを更新することができない。
そして、サブユニットの制御プログラムの更新ができなければ、世代の異なる機種のサブユニットが本体に接続されることとなり、画像形成装置が正常に動作しない。そのため、サブユニットの制御プログラムを本体の制御プログラムのバージョンに合わせておく必要がある。
【０００８】
本発明は、このような問題点を鑑みなされたもので、本体とサブユニットとの機種コードが適合しているか否かにより、サブユニットの制御プログラムの更新をする必要性があるか否かをサービスマン等に適切に通知することを目的するものである。
【課題を解決するための手段】
【０００９】
本発明は、画像形成装置の本体を制御する第１の制御手段を有する本体部と、種類が異なる複数の画像形成装置に取り付け可能なサブユニットであって、前記画像形成装置の所定の機能を実行するために前記サブユニットの動作を制御する第２の制御手段と前記第２の制御手段が前記サブユニットの動作を制御するための第１の制御プログラムを記憶する第１の記憶手段とを有するサブユニットと、情報を表示する表示手段と、前記本体部に設けられ、前記サブユニットのための第２の制御プログラムを記憶する第２の記憶手段と、を有し、前記第１の制御手段は、前記本体部の種類を表す第１の機種コードと、前記サブユニットの種類を表す第２の機種コードとの比較を行い、前記第１の機種コードと前記第２の機種コードとが適合する場合、前記第１の制御プログラムのバージョンと前記第２の制御プログラムのバージョンとを比較し、前記第１の制御プログラムのバージョンが前記第２の制御プログラムのバージョンよりも古い場合、前記第１の制御プログラムを更新することを指示するボタンと更新をスキップすることを指示するボタンとを含む第１の画面を前記表示手段に表示させ、前記第１の機種コードと前記第２の機種コードとが適合しない場合、前記第１の制御プログラムを強制的に更新するよう制御することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、本体とサブユニットとの機種コードが適合しているか否かにより、サブユニットの制御プログラムの更新をする必要性があるか否かをサービス等に適切に通知することができる。
【図面の簡単な説明】
【００１１】
【図１】複合機のハードウェア構成を示す図である。
【図２】本体制御プログラムの取得処理を示すフローチャートである。
【図３】本体制御プログラムの更新処理を示すフローチャートである。
【図４】サブユニットの機種コード及びバージョン情報の通知処理を示すフローチャートである。
【図５Ａ】サブユニットの制御プログラムの更新処理を示すフローチャート（１）である。
【図５Ｂ】サブユニットの制御プログラムの更新処理を示すフローチャート（２）である。
【図５Ｃ】サブユニットの制御プログラムの更新処理を示すフローチャート（３）である。
【図６】通常プログラム更新画面の一例である。
【図７】強制プログラム更新画面の一例である。
【図８】本体制御プログラムのダウンロード画面の一例である。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態を図面に基づいて説明する。
図１は、画像形成装置の一種である、本実施形態における複合機１０のハードウェア構成の一例を示す図である。
【００１３】
複合機１０は、本体コントローラ１００（本体部）に、１又は２以上のサブユニットが接続されることにより構成される。本実施形態においては、複合機１０は、プリント機能やファクス機能などの複数の機能を実現することができる。サブユニットとしては、用紙に画像を形成するプリント機能を実行するプリンタユニット２００と、ファクシミリ通信を実行するファクスユニット３００が接続されている。プリンタユニット２００は、プリント機能の実行を制御するための制御基板を有している。ファックスユニット３００は、ファクシミリ通信の実行を制御するための制御基板を有している。プリンタユニット２００及びファックスユニット３００の制御基板は、それぞれ、１つの種類の複合機に取り付け可能なだけではなく、異なる種類の複合機に取り付けることができるように構成されている。例えば、ある第一世代の複合機の後継機（改良機）である第二世代の複合機向けに製造されたプリンタユニット（制御基板）は第一世代の複合機にも取り付け可能である。
複合機１０は、本体コントローラ１００のＣＰＵ１０１と、本体コントローラ１００が接続される各ユニット２００，３００のＣＰＵ２０１，３０１とが連携して動作することにより、各種機能を実現する。
【００１４】
複合機１０の本体コントローラのＣＰＵ１０１は、デバイスＩ／Ｆ１１１経由でプリンタユニット２００のＣＰＵ２０１に接続されている。同様に、デバイスＩ／Ｆ１１２経由でファクスユニット３００のＣＰＵ３０１に接続されている。
プリンタユニット２００のＣＰＵ２０１が処理すべき内容を記述した制御プログラム（プリンタ制御プログラム）は、プリンタユニット２００内の書き換え可能な不揮発性メモリであるフラッシュメモリ２０２に格納されている。同様に、ファクスユニット３００のＣＰＵ３０１が処理すべき内容を記述した制御プログラム（ファクス制御プログラム）は、ファックスユニット３００内のフラッシュメモリ３０２に格納されている。
【００１５】
本体コントローラ１００は、以下の構成要素から構成される。
ＣＰＵ１０１は、システム制御部であり、複合機１０全体を制御する。
ＲＯＭ１０２は、ＣＰＵ１０１の制御プログラムを格納する書き換え可能な不揮発性メモリである。ＲＡＭ１０３は、ＳＲＡＭ等で構成され、画像データを蓄積する。画像メモリ１０４は、ＤＲＡＭ等で構成され、画像データを蓄積する。ＨＤＤ（ハードディスク）１１４は、画像データや各種データを蓄積する。
【００１６】
画像処理部１０５は、スキャナ１０６によって読み込まれた画像データに補正処理を施して高精細な画像データを出力する。スキャナ１０６は、ＣＩＳ（コンタクトイメージセンサ）、原稿搬送機構等で構成され、原稿を光学的に読み取って電気的な画像データに変換し、両面原稿の読み取りを行う。操作部１０７は、キーボード、表示部等で構成され、オペレータが各種入力操作を行う。
ネットワークＩ／Ｆ１１０は、ネットワークを制御する。デバイスＩ／Ｆ１１１は、プリンタユニット２００を制御する。同様に、デバイスＩ／Ｆ１１２は、ファクスユニット３００を制御する。ＩＰ網１１３は、インターネット等のＩＰ網である。
【００１７】
ＣＰＵ１０１は、ＲＯＭ１０２に記憶された本体制御プログラム１０２１に基づき、複合機１０について各種制御を行う。
ＨＤＤ１１４には、接続される各ユニットの制御プログラムが組み込まれて記憶されている。すなわち、ＨＤＤ１１４には、プリンタユニット２００のＣＰＵ２０１が使用するプリンタユニット２００の制御プログラムであるプリンタ制御プログラム１０２２が組み込まれて記憶されている。また、ＨＤＤ１１４には、ファクスユニット３００のＣＰＵ３０１が使用するファクスユニット３００の制御プログラムであるファクス制御プログラム１０２３が組み込まれて記憶されている。
【００１８】
プリンタユニット２００とファクスユニット３００のどちらか一方、または、両方の制御プログラムを更新する必要がある場合、各制御プログラム１０２２，１０２３はプリンタユニット２００とファクスユニット３００にそれぞれダウンロードされる。
この際、ハードディスク１０２２に記憶されたプリンタ制御プログラム１０２２は、ＲＡＭ１０３のプログラム更新用領域１０２４にコピーされ、そこからプリンタユニット２００にダウンロードされる。同様に、ハードディスク１０２２に記憶されたファクス制御プログラム１０２３は、ＲＡＭ１０３のプログラム更新用領域１０２４にコピーされ、そこからファクスユニット３００にダウンロードされる。
【００１９】
プリンタユニット２００は、ＣＰＵ２０１、その制御プログラムであるプリンタ制御プログラム等を記憶する書き換え可能な不揮発性メモリであるフラッシュメモリ２０２及びホストＩ／Ｆ２０３を備えている。プリンタユニット２００は、ＣＰＵ２０１と、プリンタ制御プログラム等を記憶するフラッシュメモリ２０２によって、制御される。プリンタユニット２００のホストＩ／Ｆ２０３は、本体コントローラ１００のデバイスＩ／Ｆ１１１に接続されている。
【００２０】
ファクスユニット３００は、ＣＰＵ３０１、その制御プログラムであるファクス制御プログラム等を記憶する書き換え可能な不揮発性メモリであるフラッシュメモリ３０２及びホストＩ／Ｆ３０３を備えている。ファクスユニット３００は、ＣＰＵ３０１、ファクス制御プログラム等を記憶するフラッシュメモリ３０２によって、制御される。ファクスユニット３００内のホストＩ／Ｆ３０３は、本体コントローラ１００のデバイスＩ／Ｆ１１２に接続されている。
【００２１】
なお、本実施形態においては、本体コントローラ１００に接続される各ユニット２００，３００用の制御プログラム１０２２，１０２３は、複合機１０の本体を制御する本体制御プログラム１０２１に含まれて取得されるものとして説明を行う。ただし、制御プログラムの態様はこれに限られるものではない。例えば、複合機１０は、本体制御プログラム１０２１と、複合機１０に接続される各ユニットの制御プログラム１０２２，１０２３とが、別のパックとなったファイル等を取得、保持するようにしてもよい。
【００２２】
また、本実施形態では、説明の簡略化のため、本体コントローラ１００に接続されるサブユニットの例として、プリンタユニット２００とファクスユニット３００とを例に説明を行うが、接続することができるサブユニットはこれらに限られるものではない。例えば、折り機ユニットや、パンチユニットや、中綴じ製本ユニット等の他のユニットも接続することができる。
【００２３】
図２は、複合機１０において、サーバから本体制御プログラム１０２１を取得する処理を示すフローチャートである。なお、不図示のサーバは、ＩＰ網１１３を介して複合機１０に接続されている。
【００２４】
まず、ステップＳ２０１において、ユーザが所定の操作をすると、ＣＰＵ１０１は、本体制御プログラム１０２１を更新するためのダウンロード画面８００（図８を参照）を操作部１０７に表示する。
【００２５】
次に、ステップＳ２０２において、ＣＰＵ１０１は、ユーザがダウンロード画面８００を介してプログラムのダウンロードを指示したか否かを判定する。
ユーザがダウンロード画面８００を介してダウンロードを指示した場合、ＣＰＵ１０１はステップＳ２０３に処理を進める。ユーザがダウンロードを指示せずに終了ボタンを押した場合（Ｓ２０７でＹ）、ＣＰＵ１０１は図２の処理を終了する。
【００２６】
ダウンロードの指示がなされると、ステップＳ２０３において、ＣＰＵ１０１は、ネットワークを介して通信可能なサーバから最新バージョンの本体制御プログラム１０２１を取得する。
上述したように、本体制御プログラム１０２１には、複合機１０に接続され得る全サブユニットの最新バージョンの制御プログラムが含まれる。例えば、複合機１０に接続されているサブユニットがプリンタユニットとファックスユニットとの２種類だったとしても、折り機ユニット、パンチユニット、中綴じ製本ユニット等の、複合機１０に接続されていない他のサブユニットの制御プログラムも含まれる。
【００２７】
次に、ステップＳ２０４において、ＣＰＵ１０１は、取得した本体制御プログラム１０２１を、ＨＤＤ１１４に記憶する。同時に、ＣＰＵ１０１は、接続されているプリンタユニット２００とファクスユニット３００の制御プログラムを、それぞれ、プリンタ制御プログラム１０２２とファクス制御プログラム１０２３として、ＨＤＤ１１４に記憶する。
【００２８】
次に、ステップＳ２０５において、ＣＰＵ１０１は、ＨＤＤ１１４に記憶した本体制御プログラム１０２１を、ＲＡＭ１０３のプログラム更新用領域１０２４にコピーする。なお、ＣＰＵ１０１は、本体制御プログラム１０２１をＲＡＭ１０３のプログラム更新用領域１０２４にコピーする際、実際の本体制御プログラム１０２１の部分のみをコピーしてもよい。すなわち、本体制御プログラム１０２１に含まれるサブユニットの制御プログラムの部分は、コピーしないようにしてもよい。
最後に、ステップＳ２０６において、ＣＰＵ１０１は、複合機１０の本体を再起動する。
【００２９】
図３は、複合機１０における本体制御プログラム１０２１の更新処理を示すフローチャートである。図３の処理は、図２のフローチャートのステップＳ２０６に引き続いて行われる処理である。
【００３０】
複合機１０の本体の主電源が投入されると、ＣＰＵ１０１は、ＲＯＭ１０２に記憶されている本体制御プログラム１０２１に基づき、以下のように処理を実行する。
まず、ステップＳ３０１において、ＣＰＵ１０１は、複合機１０の本体を起動する。
【００３１】
ステップＳ３０２において、ＣＰＵ１０１は、ＲＡＭ１０３のプログラム更新用領域１０２４に本体制御プログラム１０２１が格納されているか否かを判定する。
ＲＡＭ１０３のプログラム更新用領域１０２４に本体制御プログラム１０２１が格納されている場合、ＣＰＵ１０１は処理をステップＳ３０３に進める。ＲＡＭ１０３のプログラム更新用領域１０２４に本体制御プログラム１０２１が格納されていない場合、ＣＰＵ１０１は図３のフローチャートに示す処理を終了する。
【００３２】
ＲＡＭ１０３のプログラム更新用領域１０２４に本体制御プログラム１０２１が格納されている場合、ステップＳ３０３において、ＣＰＵ１０１は、本体コントローラ１００をプログラム更新モードに移行する。
そして、ステップＳ３０４において、ＣＰＵ１０１は、複合機１０の本体制御プログラム１０２１を、プログラム更新用領域１０２４にある最新バージョンのプログラムに更新するプログラム更新処理を実行する。
プログラム更新処理が終了したら、ステップＳ３０５において、ＣＰＵ１０１は、プログラム更新用領域１０２４にある本体制御プログラム１０２１を削除する。
【００３３】
上述した図２及び図３の処理によって、本体制御プログラム１０２１は、最新バージョンのものに更新される。また、複合機１０は、本体制御プログラム１０２１と共に、接続され得る各サブユニットの最新バージョンの制御プログラムをＨＤＤ１１４に記憶することができる。
【００３４】
次に、図４は、複合機１０の本体に接続されたサブユニットに割り当てられた機種コード及びサブユニットの制御プログラムのバージョン情報を通知する処理を示すフローチャートである。ここでは、複合機１０の本体に接続されるユニットとして、プリンタユニット２００を例に用いて説明する。
なお、本体コントローラ１００は、デバイスＩ／Ｆ１１１とホストＩ／Ｆ２０３を介して、プリンタユニット２００との通信を行っている。
【００３５】
まず、ステップＳ４０１において、プリンタユニット２００のＣＰＵ２０１は、本体コントローラ１００から受信したコマンドがプリンタユニット２００の機種コードの取得を要求するコマンドであるか否かを判断する。
【００３６】
本体コントローラ１００から受信したコマンドがプリンタユニット２００の機種コードを要求するコマンドである場合、ステップＳ４０２において、ＣＰＵ２０１は、プリンタユニット２００の機種コードを本体コントローラ１００に通知する。なお、機種コードは複合機１０の世代毎に異なるコードが割り当てられる。
【００３７】
次に、ステップＳ４０３において、ＣＰＵ２０１は、受信したコマンドがプリンタユニット２００のフラッシュメモリ２０２に格納されているプリンタ制御プログラムのバージョン情報の取得を要求するコマンドであるか否かを判断する。
【００３８】
受信したコマンドがフラッシュメモリ２０２に格納されているプリンタ制御プログラムのバージョン情報の取得を要求するコマンドである場合、ステップＳ４０４において、ＣＰＵ２０１は、そのバージョン情報を本体コントローラ１００に通知する。
【００３９】
図６は、サービスマン等に通知するために、操作部１０７に表示される画面の一例である。図６に示す画面は、複合機１０の本体のＨＤＤ１１４に格納されているサブユニットの制御プログラムと、サブユニットに格納されている制御プログラムとの間でバージョンが不一致である場合に表示される画面の例である。以下では、この画面を通常プログラム更新画面６００と称する。
ここでも、複合機１０の本体に接続されるサブユニットとして、プリンタユニット２００を例に用いて説明する。以下では、プリンタユニット２００のフラッシュメモリ２０２に格納されている制御プログラムを、複合機１０の本体に格納されているプリンタ制御プログラム１０２２と区別するため、プリンタ制御プログラム２０２２と称する。
【００４０】
通常プログラム更新画面６００は、プリンタユニット２００に格納されているプリンタ制御プログラム２０２２の更新を指示するための画面である。ここで、プリンタ制御プログラム２０２２の更新には時間を要することがある。そのため、設置作業の順序を入れ替えて作業し、一時的に更新をさせたくないサービスマンまたはユーザのために、更新ボタン６０１に加えて、スキッププボタン６０２を用意している。なお、スキップボタン６０２を押下しても、次回起動時に再度、通常プログラム更新画面６００を表示することにより、プリンタ制御プログラム２０２２の更新を促すことができる。
なお、上記の画面は、複合機１０の本体の機種コードとプリンタユニット２００の機種コードが適合（一致）しているが、それぞれに格納されているサブユニットの制御プログラムのバージョンが適合していない（一致していない）場合に表示される画面である。ここで言う「適合している」とは、上述した第二世代の複合機向けのサブユニットが第二世代の複合機に取り付けられていることを意味する。また、「適合していない」とは、第二世代の複合機向けのサブユニットが第一世代の複合機に取り付けられていることを意味する。
機種コードが適合している場合、プリンタ制御プログラムのバージョンに不一致があるだけでは、プリント動作を行っても複合機が正常に動作しないということはない。すなわち、複合機１０の本体に格納されているプリンタ制御プログラム１０２２とプリンタユニット２００に格納されているプリンタ制御プログラム２０２２とのバージョンの不一致があったとしても、プリント動作を行うことはできる。
【００４１】
また、ここで、複合機１０の本体の機種コードは、本体制御プログラム１０２１を実装している制御基板を含むハードウェアに対して、複合機の世代に対応して予め付与されている。同様に、プリンタユニット２００の機種コードは、プリンタ制御プログラム２０２２を実装している制御基板を含むハードウェアに対して、複合機の世代に対応して予め付与されている。
【００４２】
そして、複合機１０の本体の機種とプリンタユニット２００の機種コードが同じであるということは、両者の組み合わせが同一世代の複合機に対応するものとして予め定められた関係（適合関係）にあることを言う。一方、複合機１０の本体の機種とプリンタユニット２００の機種コードが異なるとは、両者の組み合わせが予め定められた対応関係（適合関係）にないことを言う。
複合機１０の本体の機種コードとプリンタユニット２００の機種コードが適合関係にあるか否かは、例えば、予め定められた適合関係を表すテーブル（ＲＯＭ１０２、ＲＡＭ１０３、ＨＤＤ１１４などに格納）などを参照することにより判定することができる。なお、両者の機種コードを同一の値に設定しなくても、上記のテーブルで適合関係を定義しておけば、両者の機種コードが異なっていてもよい。
【００４３】
図７は、機種コードと複合機１０に接続されたプリンタユニット２００の機種コードが適合していない場合に、サービスマン等に通知するため、操作部１０７に表示される画面である、強制プログラム更新画面７００の一例である。
この場合は、両者の機種コードが適合していないことに加えて、両者のプリンタ制御プログラムのバージョンの間に不一致があると、正常なプリント動作ができない。すなわち、複合機１０の本体に格納されているプリンタ制御プログラム１０２２とプリンタユニット２００に格納されているプリンタ制御プログラム２０２２とのバージョンの不一致があると正常なプリント動作ができない。
このため、強制プログラム更新画面７００では、強制的にプリンタ制御プログラム２０２２を更新させるため、図６の通常プログラム更新画面６００で表示させたようなスキップボタンは表示させず、更新ボタン７０１のみを選択可能とする。すなわち、図７に示す画面が表示された場合は、ユーザは更新ボタン７０１を押さざるを得ないため、強制的にプログラムの更新が行われるように制御されることになる。なお、更新ボタン７０１を表示させず、自動的に更新が行われることを表示するように構成してもよい。
従って、複合機１０の本体の世代に対して異なる世代用のサブユニットであっても、制御プログラムのバージョンを更新することにより、複合機１０を正常に動作させることができる。
【００４４】
図５ＡからＣは、複合機１０に接続された各ユニットの制御プログラムを更新する処理を示すフローチャートである。以下では、プリンタユニット２００及びファクスユニット３００が接続されているものとして説明する。なお、以下の説明では、複合機の本体とサブユニットの機種コードが同じであれば、複合機の本体とサブユニットが適合していることを意味する。また、複合機の本体とサブユニットの機種コードが異なれば、複合機の本体とサブユニットが適合していない（複合機の世代が異なる）ことを意味する。
【００４５】
複合機１０の本体の主電源が投入されると、本体コントローラ１００のＣＰＵ１０１は、本体制御プログラム１０２１に基づき、以下のように処理を実行する。
まず、図５ＡのステップＳ５００１において、ＣＰＵ１０１は、複合機１０の本体を起動する。
【００４６】
次に、ステップＳ５００２において、ＣＰＵ１０１は、ＲＡＭ１０３のプログラム更新用領域１０２４に各ユニット２００，３００の制御プログラム１０２２，１０２３が格納されているか否かを判定する。
ＲＡＭ１０３のプログラム更新用領域１０２４に各ユニットの制御プログラム１０２２，１０２３が格納されている場合、ＣＰＵ１０１は、処理を図５ＣのステップＳ５２０１に進める。一方、ＲＡＭ１０３のプログラム更新用領域１０２４に各ユニットの制御プログラム１０２２，１０２３が格納されていない場合、処理をステップＳ５００３に進める。
【００４７】
Ｓ５００１による処理が初めて実行される場合、プログラム更新用領域１０２４に各ユニットの制御プログラム１０２２，１０２３は格納されていない。そのため、ステップＳ５００２の判定においてＮＯと判定され、処理はステップＳ５００３に進む。
そして、後述するステップＳ５０１１やＳ５１１０において各ユニットの制御プログラム１０２２，１０２３がプログラム更新用領域１０２４にコピーされた場合、ステップＳ５００２の判定においてＹＥＳと判定され、処理はステップＳ５２０１に進む。その後、後述するステップＳ５２０２などで説明するように、各ユニットの制御プログラムを更新する処理がなされる。
【００４８】
ＲＡＭ１０３のプログラム更新用領域１０２４に各ユニットの制御プログラムが格納されていない場合、ステップＳ５００３に進む。そして、ＣＰＵ１０１は、プリンタユニット２００内のフラッシュメモリ２０２に記憶されているプリンタユニット２００の機種コードを取得する。この際、ＣＰＵ１０１は、フラッシュメモリ２０２に記憶されているプリンタユニット２００の機種コードを要求するコマンドを、接続先のプリンタユニット２００に送信する。
【００４９】
次に、ステップＳ５００４において、ＣＰＵ１０１は、Ｓ５００３で取得したプリンタユニット２００の機種コードと、本体制御プログラム１０２１が記憶している複合機１０の本体の機種コードとを比較する。
そして、比較の結果、プリンタユニット２００の機種コードと、複合機１０の本体の機種コードが異なる場合、ＣＰＵ１０１は、処理をステップＳ５００５に進める。一方、両者の機種コードが一致する場合、ＣＰＵ１０１は、処理をステップＳ５００７に進める。
【００５０】
ステップＳ５００５において、複合機１０の本体とプリンタユニット２００とは世代が異なることから、プリンタ制御プログラム２０２２を確実に更新するために、ＣＰＵ１０１は、図７に示す強制プログラム更新画面７００を操作部１０７に表示する。
そして、ステップＳ５００６において、ＣＰＵ１０１は、ユーザにより強制プログラム更新画面７００上の更新ボタン７０１が押下されるのを待ち、押下後、処理をステップＳ５０１１に進める。
【００５１】
Ｓ５００４でプリンタユニット２００の機種コードと複合機１０の本体の機種コードが一致する場合、ステップＳ５００７に進む。そして、ＣＰＵ１０１は、プリンタユニット２００のフラッシュメモリ２０２に記憶されているプリンタ制御プログラム２０２２のバージョン情報を取得する。
この際、ＣＰＵ１０１は、プリンタユニット２００内のフラッシュメモリ２０２に記憶されているプリンタ制御プログラム２０２２のバージョン情報を要求するコマンドを、接続先のプリンタユニット２００に送信する。
【００５２】
次に、ステップＳ５００８において、ＣＰＵ１０１は、プリンタユニット２００から取得したプリンタ制御プログラム２０２２のバージョンと、複合機１０の本体に記憶されているプリンタ制御プログラム１０２２のバージョンとを比較する。
比較の結果、プリンタユニット２００から取得したプリンタ制御プログラム２０２２のバージョンの方が複合機１０の本体に記憶されているプリンタ制御プログラム１０２２のバージョンより古い場合、ＣＰＵ１０１は、処理をステップＳ５００９に進める。一方、プリンタユニット２００から取得したプリンタ制御プログラム２０２２のバージョンの方が古くない場合、処理をステップＳ５１０１に進める。
【００５３】
プリンタユニット２００から取得したプリンタ制御プログラム２０２２のバージョンの方が古い場合、ステップＳ５００９において、プリンタ制御プログラム２０２２を更新するために、ＣＰＵ１０１は、図６に示す通常プログラム更新画面６００を表示する。
そして、Ｓ５０１０において、通常プログラム更新画面６００上の更新ボタン６０１がユーザにより押下されると、ＣＰＵ１０１は、処理をＳ５０１１に進める。一方、スキップボタン６０２が押下されると、処理をＳ５１０１（図５Ｂ）に進める。
【００５４】
Ｓ５００６で強制プログラム更新画面７００の更新ボタン７０１が押下されるか、Ｓ５０１０で通常プログラム更新画面６００の更新ボタン６０１が押下されると、ステップＳ５０１１に進む。そして、ＣＰＵ１０１は、ＨＤＤ１１４に記憶されているプリンタ制御プログラム１０２２をＲＡＭ１０３のプログラム更新用領域１０２４にコピーする。
【００５５】
次に、ステップＳ５１０１において、ＣＰＵ１０１は、本体コントローラ１００にファクスユニット３００が接続されているか否かを判定する。
ファクスユニット３００が接続されている場合、ＣＰＵ１０１は、処理をステップＳ５１０２に進める。ファクスユニット３００が接続されていない場合、処理をステップＳ５１１１に進める。
【００５６】
ファクスユニット３００が接続されている場合、ステップＳ５１０２において、ＣＰＵ１０１は、ファクスユニット３００内のフラッシュメモリ３０２に記憶されているファクスユニット３００の機種コードを取得する。
この際、ＣＰＵ１０１は、ファクスユニット３００内のフラッシュメモリ３０２に記憶されているファクスユニット３００の機種コードを要求するコマンドを、接続先のファクスユニット３００に送信する。
【００５７】
そして、ステップＳ５１０３において、ＣＰＵ１０１は、ステップＳ５１０２で取得したファクスユニット３００の機種コードと本体制御プログラムが記憶している複合機１０の本体の機種コードとを比較する。
比較の結果、ファクスユニット３００の機種コードと複合機１０の本体の機種コードとが異なる場合、ＣＰＵ１０１は、処理をステップＳ５１０４に進める。一方、両者の機種コードが一致する場合、処理をステップＳ５１０６に進める。
【００５８】
ファクスユニット３００の機種コードと複合機１０の本体の機種コードとが異なる場合、ステップＳ５１０４に進む。そして、ファクスユニット３００のフラッシュメモリ３０２に格納されているファクス制御プログラムを確実に更新するために、ＣＰＵ１０１は、図７に示す強制プログラム更新画面７００を表示する。なお、以下では、説明のため、ファクスユニット３００のフラッシュメモリ３０２に格納されている制御プログラムをファクス制御プログラム３０２３と称する。
そして、ステップＳ５１０５において、ＣＰＵ１０１は、強制プログラム更新画面７００上の更新ボタン７０１がユーザにより押下されるのを待ち、押下後、処理をステップＳ５１１０に進める。
【００５９】
ステップＳ５１０３でファクスユニット３００の機種コードと複合機１０の本体の機種コードが一致する場合、ステップＳ５１０６に進む。そして、ＣＰＵ１０１は、ファクスユニット３００のフラッシュメモリ３０２に格納されているファクス制御プログラム３０２３のバージョン情報を取得する。
この際、ＣＰＵ１０１は、ファクスユニット３００のフラッシュメモリ３０２に格納されているファクス制御プログラム３０２３のバージョン情報を要求するコマンドを、接続先のファクスユニット３００に送信する。
【００６０】
そして、ステップＳ５１０７において、ＣＰＵ１０１は、ステップＳ５１０６で取得したファクス制御プログラム３０２３のバージョンと、本体コントローラのＲＯＭ１０２に記憶されているファクス制御プログラム１０２３のバージョンとを比較する。
比較の結果、ファクスユニット３００に記憶されているファクス制御プログラム３０２３の方が本体コントローラのＲＯＭ１０２に記憶されているファクス制御プログラム１０２３よりバージョンが古い場合、ＣＰＵ１０１は処理をステップＳ５１０８に進める。一方、ファクスユニット３００に記憶されているファクス制御プログラム３０２３のバージョンの方が古くない場合、処理をステップＳ５１１１に進める。
【００６１】
ファクスユニット３００に記憶されているファクス制御プログラム３０２３のバージョンの方が古い場合、ファクス制御プログラム３０２３を更新するために、ステップＳ５１０８において、ＣＰＵ１０１は、通常プログラム更新画面６００（図６）を表示する。
そして、Ｓ５１０９において、通常プログラム更新画面６００上の更新ボタン６０１がユーザにより押下されると、ＣＰＵ１０１は処理をＳ５１１０に進める。一方、スキップボタン６０２が押下されると、処理をＳ５１１１に進める。
【００６２】
ステップＳ５１０５で強制プログラム更新画面７００の更新ボタン７０１が押下されるか、ステップＳ５１０９で通常プログラム更新画面６００の更新ボタン６０１が押下されると、ステップＳ５１１０に進む。そして、ＣＰＵ１０１は、ＨＤＤ１１４に記憶されているファクス制御プログラム１０２３をＲＡＭ１０３のプログラム更新用領域１０２４にコピーする。
【００６３】
ステップＳ５１０１でファクスユニット３００が接続されていない場合、または、ステップＳ５１０９でスキップボタン６０２が押下された場合、ステップＳ５１１１に進む。そして、ＣＰＵ１０１は、ＲＡＭ１０３のプログラム更新用領域１０２４に各ユニットの制御プログラム１０２２，１０２３が格納されているか否かを判断する。
ＲＡＭ１０３のプログラム更新用領域１０２４に各ユニットの制御プログラムが格納されている場合、最終的に複合機１０本体を再起動する必要があるため、ＣＰＵ１０１は、処理を図５ＣのＳ５２０４に進める。
一方、各ユニットの制御プログラム１０２２，１０２３が格納されていない場合、制御プログラムをアップロードする必要がないため、そのまま終了して、複合機１０の本体を起動する。
【００６４】
ステップＳ５００２でＲＡＭ１０３のプログラム更新用領域１０２４に各ユニットの制御プログラムが格納されていた場合、図５ＣのステップＳ５２０１において、ＣＰＵ１０１は、本体コントローラ１００をプログラム更新モードに移行する。
【００６５】
次に、ステップＳ５２０２において、ＣＰＵ１０１は、プログラムの更新処理を実行する。
例えば、プログラム更新用領域１０２４にプリンタ制御プログラム１０２２が格納されている場合、ＣＰＵ１０１は、プリンタユニット２００のフラッシュメモリ２０２に記憶されているプリンタ制御プログラム２０２２を更新する処理を実行する。また、プログラム更新用領域１０２４にファクス制御プログラム１０２３が格納されている場合、ＣＰＵ１０１は、ファクスユニット３００のフラッシュメモリ３０２に記憶されているファクス制御プログラム３０２３を更新する処理を実行する。
【００６６】
接続されている各ユニットの制御プログラム２０２２，３０２３の更新が終了したら、ステップＳ５２０３において、ＣＰＵ１０１は、プログラム更新用領域１０２４にある各ユニットの制御プログラム１０２２，１０２３を削除する。
そして、ステップＳ５２０４において、ＣＰＵ１０１は、複合機１０本体を再起動してから、本フローチャートを終了する。
【００６７】
以上のとおり、本実施形態によれば、接続されるサブユニットの制御基板を交換した場合や新規にサブユニットを接続した場合など、サブユニットの機種コードと複合機の本体の機種コードとが比較される。サブユニットの機種コードが複合機の本体の機種コードと異なっていたとしても、更新ボタンを押下するしかできない画面が表示されるので、本体制御プログラムに対応した制御プログラムに確実に更新することができる。これにより、複合機の本体とは異なる機種（世代）のサブユニットの制御プログラムを、容易に複合機の本体の機種にあった制御プログラムに更新させることができる。
【００６８】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形が可能であり、それらを本発明の範囲から除外するものではない。すなわち、上述の実施形態及びその変形例を組み合わせた構成もすべて本発明に含まれるものである。
【符号の説明】
【００６９】
１０        複合機
１００        本体コントローラ
２００        プリンタユニット
３００        ファクスユニット
６００        通常プログラム更新画面
７００        強制プログラム更新画面
【図１】
2020127078.tif 000003
【図２】
2020127078.tif 000004
【図３】
2020127078.tif 000005
【図４】
2020127078.tif 000006
【図５Ａ】
2020127078.tif 000007
【図５Ｂ】
2020127078.tif 000008
【図５Ｃ】
2020127078.tif 000009
【図６】
2020127078.tif 000010
【図７】
2020127078.tif 000011
【図８】
2020127078.tif 000012