以下、図面を参照しながら、本発明の一実施形態について説明する。
図1は、本実施形態に係るプリンター1の要部構成を示す正面透視図である。この図1に示すように、プリンター1は、印刷用紙に画像を印刷(形成)して印刷物として出力する装置本体10と、この装置本体10の下方に6段重ねて装着されたオプション装置であるフィーダー20A、20B、20C、20D、20E及び20Fとから構成されている。以下の説明において、フィーダーの符号を20A、20B、20C、20D、20E及び20Fと分ける必要がない場合には、フィーダーの符号を20とする。このフィーダー20は、装置本体10に印刷用紙を補助的に供給する補助給紙装置である。
装置本体10は、給紙部11、用紙搬送部12、トナー画像形成部13、定着部14及び排紙トレイ15を備えている。給紙部11は、印刷用紙をトナー画像形成部13に向けて供給するものであり、所定サイズの印刷用紙を収容する用紙カセット11aと、この用紙カセット11aから印刷用紙を1枚ずつピックアップして後述の用紙搬送路12aへ送り出すピックアップローラー11bとを備えている。なお、用紙カセット11aは、ガイドレール等からなるスライド機構により、プリンター1の正面から抜き差し可能である。
用紙搬送部12は、給紙部11から供給される印刷用紙を、トナー画像形成部13及び定着部14を経由して最終的に排紙トレイ15へ搬送するものであり、ガイド部材等で形成された用紙搬送路12aと、この用紙搬送路12aに沿って複数箇所に設けられた搬送ローラー12bとを備えている。なお、後述のように、オプション装置である各フィーダー20A、20B、20C、20D、20E及び20Fから供給される印刷用紙も用紙搬送路12aに合流する。
トナー画像形成部13は、給紙部11(或いはフィーダー20A、20B、20C、20D、20E及び20Fのいずれか)から用紙搬送路12aを経由して給紙搬送されてきた印刷用紙に対して、印刷すべき画像に応じたトナー画像を形成するものであり、感光体ドラム13a、帯電器13b、露光器13c、現像器13d及び転写ローラー13eを備えている。
感光体ドラム13aは、印刷すべき画像に応じた静電潜像が形成されると共に、現像されたトナー画像を担持する円筒形の感光体である。帯電器13bは、感光体ドラム13aの表面を所定電位に均一に帯電させる。露光器13cは、帯電している感光体ドラム13aの表面にレーザー光を照射することで静電潜像を形成する。
現像器13dは、静電潜像が形成された感光体ドラム13aにトナーを供給することにより、静電潜像を現像してトナー画像にする。転写ローラー13eは、感光体ドラム13aに担持されているトナー画像を印刷用紙に転写する。なお、転写ローラー13eと感光体ドラム13aとの間にニップが形成されており、このニップを印刷用紙が通過することで、感光体ドラム13a表面のトナー画像が印刷用紙に転写される。
定着部14は、トナー画像形成部13から用紙搬送路12aを通じて搬送されてきた印刷用紙、つまりトナー画像が転写された印刷用紙を加熱及び加圧することで、トナー画像を印刷用紙に定着させるものであり、加熱ローラー14aとこれに圧接してニップを形成する加圧ローラー14bを備えている。なお、これら加熱ローラー14aと加圧ローラー14bとの間に形成されたニップを印刷用紙が通過することで、印刷用紙表面のトナー画像が加熱及び加圧されて、トナー画像が印刷用紙に定着する。
排紙トレイ15は、定着部14から用紙搬送路12aを経由して排紙搬送されてきた印刷用紙、つまりトナー画像定着後の印刷用紙を所望の画像が印刷された印刷物として溜め置きするための部位であり、装置本体10の上部に設けられている。
フィーダー20A、20B、20C、20D、20E及び20Fは、それぞれ異なるサイズの印刷用紙、あるいは、少なくとも一部は同一サイズの印刷用紙を装置本体10へ供給するオプション装置であり、それぞれ所定サイズの印刷用紙を収容する用紙カセット21と、この用紙カセット21から印刷用紙を1枚ずつピックアップするピックアップローラー22と、ピックアップされた印刷用紙を装置本体10側の用紙搬送路12aへ搬送するフィードローラー23とを備えている。
なお、下段側のフィーダー20から装置本体10へ給紙する場合、印刷用紙は上段側のフィーダー20を経由して装置本体10へ搬送される。例えば、フィーダー20Cから給紙される印刷用紙は、上段側のフィーダー20Bからフィーダー20Aを経由して最終的に装置本体10へ搬送される。本実施形態では、6つのフィーダー20が装置本体10に装着されている場合を例示しているが、フィーダー20の数はこれに限定されるものではない。
図1では図示を省略しているが、装置本体10は、装置本体10の画像形成動作を制御する本体制御部である本体CPU(Central Processing Unit)16を備えており、フィーダ20A、20B、20C、20D、20E及び20Fは、それぞれ、本体CPU16とシリアル通信可能に接続されると共に、本体CPU16からのコマンドに応じて自装置の動作を制御するオプション制御部であるオプションCPU24を備えている。
ここで、本体CPU16が制御する装置本体10の画像形成動作とは、給紙部11による印刷用紙の給紙動作、用紙搬送部12による用紙搬送動作、トナー画像形成部13によるトナー画像形成動作、及び定着部14による定着動作を指す。また、オプションCPU24が制御する自装置(フィーダー20)の動作とは、ピックアップローラー22及びフィードローラー23の回転駆動による印刷用紙の給紙動作を指す。
図2に示すように、本体CPU16とオプションCPU24は、シリアル通信線30を介してシリアル通信可能に接続されている。なお、図2では、フィーダー20A、20BのオプションCPU24の符号を24A、24Bとし、これらオプションCPU24A及び24Bと本体CPU16との接続状態を図示しているが、他のフィーダ20C、20D、20E及び20FのオプションCPU24と本体CPU16との接続状態も同様である。また、以下の説明において、オプションCPUの符号を24A、24Bと分ける必要がない場合には、オプションCPUの符号を24とする。
本体CPU16とオプションCPU24Aとを電気的に接続するためのコネクタC1における左端から1番目〜3番目には、シリアル通信線30の内、本体CPU16が通信相手となるオプションCPU24を選択するために用いられる3本のセレクト信号線SEL2、SEL1及びSEL0(選択信号線)が接続されている。
これらのセレクト信号線SEL2、SEL1及びSEL0は、本体CPU16のセレクト信号出力ポートに接続されており、本体CPU16は、セレクト信号出力ポートから各セレクト信号線SEL2、SEL1及びSEL0に出力するセレクト信号(選択信号)の論理を制御することで、通信相手となるオプションCPU24を選択する。なお、セレクト信号の論理を制御することは、各セレクト信号線SEL2、SEL1及びSEL0の電位を制御することと同義である。
また、これらセレクト信号線SEL2、SEL1及びSEL0は、オプションCPU24Aのセレクト信号入力ポートに接続されており、オプションCPU24Aは、各セレクト信号線SEL2、SEL1及びSEL0の電位(つまりセレクト信号の論理)に基づいて、通信相手として自身が選択されているのか否かを判断する。
一方、本体CPU16と次段のオプションCPU24Bとを電気的に接続するためのコネクタC2において、上記のセレクト信号線SEL2、SEL1及びSEL0は、位置を変えて接続される。具体的には、前段のセレクト信号線SEL0は、次段のセレクト信号線SEL1の位置に、前段のセレクト信号線SEL1は、次段のセレクト信号線SEL2の位置に、前段のセレクト信号線SEL2は、次段のセレクト信号線SEL0の位置に組み替えられる。そして、前段のセレクト信号線SEL2には、インバータ回路Invが接続されており、前段のセレクト信号線SEL2に対して次段のセレクト信号線SEL0の電位は反転する。
このようなセレクト信号線SEL2、SEL1及びSEL0の組み替え(巡回)を前段と後段のフィーダー20間で行うことにより、各オプションCPU24が、通信相手として自身が選択されているか否かを判断する際のセレクト信号の論理をSEL2→SEL1→SEL0の順番で見て「100」に統一することができる。図3は、本体CPU16から出力されるセレクト信号の論理を、「000」、「001」、「010」、「011」、「100」、「101」、「110」、「111」と変化させた時に、1段目から6段目までの各オプションCPU24に入力されるセレクト信号の論理を示した図である。
この図3に示すように、本体CPU16から出力されるセレクト信号の論理が「100」の場合に、1段目のオプションCPU24(24A)に入力されるセレクト信号の論理が「100」となる。また、本体CPU16から出力されるセレクト信号の論理が「110」の場合に、2段目のオプションCPU24(24B)に入力されるセレクト信号の論理が「100」となる。また、本体CPU16から出力されるセレクト信号の論理が「111」の場合に、3段目のオプションCPU24に入力されるセレクト信号の論理が「100」となる。
また、本体CPU16から出力されるセレクト信号の論理が「011」の場合に、4段目のオプションCPU24に入力されるセレクト信号の論理が「100」となる。また、本体CPU16から出力されるセレクト信号の論理が「001」の場合に、5段目のオプションCPU24に入力されるセレクト信号の論理が「100」となる。また、本体CPU16から出力されるセレクト信号の論理が「000」の場合に、6段目のオプションCPU24に入力されるセレクト信号の論理が「100」となる。
つまり、本体CPU16から出力されるセレクト信号の論理を、「100」→「110」→「111」→「011」→「001」→「000」の順で変化させると、1段目→2段目→3段目→4段目→5段目→6段目の順で、オプションCPU24に入力されるセレクト信号の論理が「100」となる。言い換えれば、各フィーダー20は、装置本体10或いは前段のフィーダー20から入力されたセレクト信号に対して、反転キャリー付き左ローテイトを1ビット分だけ実施してから次段のフィーダー20に出力する構成となっている。
従って、各オプションCPU24は、いずれも自身に入力されるセレクト信号の論理が「100」となった場合に、自身が本体CPU16の通信相手として選択されていると判断できるようになり、選択判断論理が「100」に統一化されて各オプションCPU24の制御プログラムを共通化することができる。
なお、図3からわかるように、本体CPU16から出力されるセレクト信号の論理が「010」「101」の場合には、どの段のオプションCPU24にも論理「100」のセレクト信号は入力されない(「010」或いは「101」のどちらかが入力される)。従って、本体CPU16から出力されるセレクト信号の論理が「010」或いは「101」の場合には、どの段のオプションCPU24も自身が本体CPU16の通信相手として選択されていないと判断することになる。以下では、このようなセレクト信号の論理(「010」或いは「101」のいずれか)を、無選択状態を意味する論理と定義する。
図2に戻り、コネクタC1における左端から4番目には、シリアル通信線30の内、オプションCPU24が通信可能状態にあることを本体CPU16に通知するために使用されるレディ信号線RDY(通信準備信号線)が接続されている。このレディ信号線RDYは、本体CPU16のレディ信号入力ポートに接続されている一方、オプションCPU24Aのレディ信号出力ポートに接続されている。なお、このレディ信号線RDYは、コネクタC1からそのままの位置でコネクタC2に接続される。
例えば、オプションCPU24Aは、各セレクト信号線SEL2、SEL1及びSEL0の電位から、通信相手として自身が選択されていると判断して、本体CPU16との通信が可能な状態になると、レディ信号線RDYの電位をローレベルからハイレベルに変化させて、通信可能状態にあることを本体CPU16に通知する。本体CPU16は、レディ信号線RDYの電位変化を検知すると、通信相手として選択したオプションCPU24Aが通信可能状態にあることを認識して通信を開始する。次段のオプションCPU24Bについても同様である。
コネクタC1における左端から5番目には、シリアル通信線30の内、本体CPU16がオプションCPU24からデータを受信するためのデータ信号線SDIが接続されている。また、コネクタC1における左端から6番目には、シリアル通信線30の内、本体CPU16がオプションCPU24へデータを送信するためのデータ信号線SDOが接続されている。さらに、コネクタC1における左端から7番目には、シリアル通信線30の内、本体CPU16とオプションCPU24とでクロック信号を共有して同期をとるためのクロック信号線CLKが接続されている。なお、これらデータ信号線SDI、SDOとクロック信号線CLKは、コネクタC1からそのままの位置でコネクタC2に接続される。
例えば、本体CPU16は、レディ信号線RDYの電位変化を検知して、通信相手として選択したオプションCPU24Aが通信可能状態にあることを認識すると、クロック信号線CLKを流れるクロック信号の立上りに同期してデータ信号線SDOを介してデータを送信する。一方、オプションCPU24Aは、クロック信号線CLKを流れるクロック信号の立下りに同期して、データ信号線SDOのデータをラッチする。
逆に、オプションCPU24Aから本体CPU16へデータを送信する場合、オプションCPU24Aが、クロック信号の立上りに同期してデータ信号線SDIを介してデータを送信する一方、本体CPU16が、クロック信号の立下りに同期して、データ信号線SDIのデータをラッチする。次段のオプションCPU24Bについても同様である。
上記のような構成において、本体CPU16は、電源投入直後の初期通信時にセレクト信号の論理を制御して、最前段(1段目)のフィーダー20(20A)のオプションCPU24(24A)から順番に通信相手として選択することでフィーダー20の装着段数を認識する機能(以下、オプション認識機能と称す)を有している。
一方、オプションCPU24の夫々は、通信相手として選択されたことを意味する論理(「100」)のセレクト信号が入力された場合に本体CPU16と通信を行う一方、通信相手として選択される前に入力されたセレクト信号の論理変化の回数に基づいて自装置が何段目のフィーダー20なのかを判断する機能(以下、装着位置判断機能と称す)を有している。
以下、上述した本体CPU16のオプション認識機能及びオプションCPU24の装着位置判断機能について詳細に説明する。図4は、本体CPU16が、上記のオプション認識機能を実現するために電源投入直後の初期通信時に実行する各処理を示したフローチャートである。図5は、各オプションCPU24が、上記の装着位置判断機能を実現するために初期通信時に実行する各処理を示したフローチャートである。
図4に示すように、本体CPU16は、電源投入直後の初期通信時に実行する処理として、まず、論理「100」のセレクト信号を出力し(ステップS1)、レディ信号線RDYがハイレベルに変化したか否かを判定する(ステップS2)。ここで、1段目のフィーダー20(20A)が装着されていれば、その1段目のオプションCPU24(24A)に論理「100」のセレクト信号が入力される。
1段目のオプションCPU24(24A)は、自身に入力されるセレクト信号の論理から通信相手として自身が選択されていると判断すると、本体CPU16との通信が可能な状態になった後、レディ信号線RDYの電位をハイレベルに変化させて通信可能状態にあることを本体CPU16に通知する。
従って、本体CPU16は、上記ステップS2にて「Yes」の場合(レディ信号線RDYがハイレベルに変化した場合)、通信相手として選択した1段目のオプションCPU24(24A)が通信可能状態にあることを認識して1段目のオプションCPU24(24A)との初期通信を開始する(ステップS3)。なお、本体CPU16は、上記ステップS2にて「No」の場合(1段目のフィーダー20(20A)が装着されておらず、レディ信号線RDYがハイレベルに変化しない場合)、図4に示す初期通信時の処理を終了する。
続いて、本体CPU16は、1段目のオプションCPU24(24A)との初期通信が終了した後(この時、レディ信号線RDYはローレベルに戻っている)、論理「110」のセレクト信号を出力し(ステップS4)、レディ信号線RDYが再びハイレベルに変化したか否かを判定する(ステップS5)。ここで、2段目のフィーダー20(20B)が装着されていれば、その2段目のオプションCPU24(24B)に論理「100」のセレクト信号が入力される。
2段目のオプションCPU24(24B)は、自身に入力されるセレクト信号の論理から通信相手として自身が選択されていると判断すると、本体CPU16との通信が可能な状態になった後、レディ信号線RDYの電位をハイレベルに変化させて通信可能状態にあることを本体CPU16に通知する。
従って、本体CPU16は、上記ステップS5にて「Yes」の場合(レディ信号線RDYがハイレベルに変化した場合)、通信相手として選択した2段目のオプションCPU24(24B)が通信可能状態にあることを認識して2段目のオプションCPU24(24B)との初期通信を開始する(ステップS6)。なお、本体CPU16は、上記ステップS5にて「No」の場合(2段目のフィーダー20(20B)が装着されておらず、レディ信号線RDYがハイレベルに変化しない場合)、フィーダー20の装着段数が1段であることを認識した後、図4に示す初期通信時の処理を終了する。
続いて、本体CPU16は、2段目のオプションCPU24(24B)との初期通信が終了した後(この時、レディ信号線RDYはローレベルに戻っている)、論理「111」のセレクト信号を出力し(ステップS7)、レディ信号線RDYが再びハイレベルに変化したか否かを判定する(ステップS8)。ここで、3段目のフィーダー20が装着されていれば、その3段目のオプションCPU24に論理「100」のセレクト信号が入力される。
3段目のオプションCPU24は、自身に入力されるセレクト信号の論理から通信相手として自身が選択されていると判断すると、本体CPU16との通信が可能な状態になった後、レディ信号線RDYの電位をハイレベルに変化させて通信可能状態にあることを本体CPU16に通知する。
従って、本体CPU16は、上記ステップS8にて「Yes」の場合(レディ信号線RDYがハイレベルに変化した場合)、通信相手として選択した3段目のオプションCPU24が通信可能状態にあることを認識して3段目のオプションCPU24との初期通信を開始する(ステップS9)。なお、本体CPU16は、上記ステップS8にて「No」の場合(3段目のフィーダー20が装着されておらず、レディ信号線RDYがハイレベルに変化しない場合)、フィーダー20の装着段数が2段であることを認識した後、図4に示す初期通信時の処理を終了する。
続いて、本体CPU16は、3段目のオプションCPU24との初期通信が終了した後(この時、レディ信号線RDYはローレベルに戻っている)、論理「011」のセレクト信号を出力し(ステップS10)、レディ信号線RDYが再びハイレベルに変化したか否かを判定する(ステップS11)。ここで、4段目のフィーダー20が装着されていれば、その4段目のオプションCPU24に論理「100」のセレクト信号が入力される。
4段目のオプションCPU24は、自身に入力されるセレクト信号の論理から通信相手として自身が選択されていると判断すると、本体CPU16との通信が可能な状態になった後、レディ信号線RDYの電位をハイレベルに変化させて通信可能状態にあることを本体CPU16に通知する。
従って、本体CPU16は、上記ステップS11にて「Yes」の場合(レディ信号線RDYがハイレベルに変化した場合)、通信相手として選択した4段目のオプションCPU24が通信可能状態にあることを認識して4段目のオプションCPU24との初期通信を開始する(ステップS12)。なお、本体CPU16は、上記ステップS11にて「No」の場合(4段目のフィーダー20が装着されておらず、レディ信号線RDYがハイレベルに変化しない場合)、フィーダー20の装着段数が3段であることを認識した後、図4に示す初期通信時の処理を終了する。
続いて、本体CPU16は、4段目のオプションCPU24との初期通信が終了した後(この時、レディ信号線RDYはローレベルに戻っている)、論理「001」のセレクト信号を出力し(ステップS13)、レディ信号線RDYが再びハイレベルに変化したか否かを判定する(ステップS14)。ここで、5段目のフィーダー20が装着されていれば、その5段目のオプションCPU24に論理「100」のセレクト信号が入力される。
5段目のオプションCPU24は、自身に入力されるセレクト信号の論理から通信相手として自身が選択されていると判断すると、本体CPU16との通信が可能な状態になった後、レディ信号線RDYの電位をハイレベルに変化させて通信可能状態にあることを本体CPU16に通知する。
従って、本体CPU16は、上記ステップS14にて「Yes」の場合(レディ信号線RDYがハイレベルに変化した場合)、通信相手として選択した5段目のオプションCPU24が通信可能状態にあることを認識して5段目のオプションCPU24との初期通信を開始する(ステップS15)。なお、本体CPU16は、上記ステップS14にて「No」の場合(5段目のフィーダー20が装着されておらず、レディ信号線RDYがハイレベルに変化しない場合)、フィーダー20の装着段数が4段であることを認識した後、図4に示す初期通信時の処理を終了する。
続いて、本体CPU16は、5段目のオプションCPU24との初期通信が終了した後(この時、レディ信号線RDYはローレベルに戻っている)、論理「000」のセレクト信号を出力し(ステップS16)、レディ信号線RDYが再びハイレベルに変化したか否かを判定する(ステップS17)。ここで、6段目のフィーダー20が装着されていれば、その6段目のオプションCPU24に論理「100」のセレクト信号が入力される。
6段目のオプションCPU24は、自身に入力されるセレクト信号の論理から通信相手として自身が選択されていると判断すると、本体CPU16との通信が可能な状態になった後、レディ信号線RDYの電位をハイレベルに変化させて通信可能状態にあることを本体CPU16に通知する。
従って、本体CPU16は、上記ステップS17にて「Yes」の場合(レディ信号線RDYがハイレベルに変化した場合)、通信相手として選択した6段目のオプションCPU24が通信可能状態にあることを認識して6段目のオプションCPU24との初期通信を開始する(ステップS18)。なお、本体CPU16は、上記ステップS17にて「No」の場合(6段目のフィーダー20が装着されておらず、レディ信号線RDYがハイレベルに変化しない場合)、フィーダー20の装着段数が5段であることを認識した後、図4に示す初期通信時の処理を終了する。
本体CPU16は、上記ステップS18の処理、つまり6段目のオプションCPU24との初期通信が終了すると、フィーダー20の装着段数が6段であることを認識した後、図4に示す初期通信時の処理を終了する。本体CPU16は、初期通信時に上記のようなステップS1〜S18の処理を実行することにより、プリンター1に装着されたフィーダー20の装着段数を認識する。
一方、図5に示すように、各オプションCPU24は、初期通信時に実行する処理として、まず、カウント変数を「0」に初期化し(ステップS31)、自身に入力されるセレクト信号の論理が変化したか否かを判定する(ステップS32)。各オプションCPU24は、このステップS32にて「No」の場合には、自身に入力されるセレクト信号の論理が「100」か否かを判定する(ステップS33)。各オプションCPU24は、上記ステップS33にて「No」の場合、つまり自身に入力されるセレクト信号の論理が「100」ではない場合、上記ステップS32の処理に戻る。一方、各オプションCPU24は、上記ステップS32にて「Yes」の場合、上記のカウント変数をインクリメントした後、上記ステップS33の処理に移行する(ステップS34)。
このように、各オプションCPU24は、上記ステップS32〜34の処理を、上記ステップS33にて「Yes」と判定されるまで繰り返すことにより、通信相手として選択される前に入力されたセレクト信号の論理変化の回数をカウントする。
そして、各オプションCPU24は、上記ステップS33にて「Yes」の場合、自身が本体CPU16の通信相手として自身が選択されていると判断して、レディ信号線RDYの電位をハイレベルに変化させて通信可能状態にあることを本体CPU16に通知する(ステップS35)。そして、各オプションCPU24は、本体CPU16との初期通信を開始し(ステップS36)、本体CPU16との初期通信終了後に、レディ信号線RDYの電位をローレベルに戻す(ステップS37)。
最後に、各オプションCPU24は、現在のカウント変数の値、つまり通信相手として選択される前に入力されたセレクト信号の論理変化の回数に基づいて自装置が何段目のフィーダー20なのかを判断する(ステップS38)。
例えば、図3に示すように、フィーダー20が6段まで装着されている場合、1段目のオプションCPU24は、自身が選択される前に1回もセレクト信号の論理が変化しない(カウント変数が「0」のまま)。この場合、オプションCPU24は、カウント変数の値から自装置が1段目のフィーダー20であると判断する。
また、例えば、図3に示すように、フィーダー20が6段まで装着されている場合、2段目のオプションCPU24は、自身が選択される前に「000」の1回だけセレクト信号の論理が変化する(カウント変数は「1」となる)。この場合、オプションCPU24は、カウント変数の値から自装置が2段目のフィーダー20であると判断する。
また、例えば、図3に示すように、フィーダー20が6段まで装着されている場合、3段目のオプションCPU24は、自身が選択される前に「001」、「000」の2回だけセレクト信号の論理が変化する(カウント変数は「2」となる)。この場合、オプションCPU24は、カウント変数の値から自装置が3段目のフィーダー20であると判断する。
また、例えば、図3に示すように、フィーダー20が6段まで装着されている場合、4段目のオプションCPU24は、自身が選択される前に「011」、「001」、「000」の3回だけセレクト信号の論理が変化する(カウント変数は「3」となる)。この場合、オプションCPU24は、カウント変数の値から自装置が4段目のフィーダー20であると判断する。
また、例えば、図3に示すように、フィーダー20が6段まで装着されている場合、5段目のオプションCPU24は、自身が選択される前に「111」、「011」、「001」、「000」の4回だけセレクト信号の論理が変化する(カウント変数は「4」となる)。この場合、オプションCPU24は、カウント変数の値から自装置が5段目のフィーダー20であると判断する。
また、例えば、図3に示すように、フィーダー20が6段まで装着されている場合、6段目のオプションCPU24は、自身が選択される前に「110」、「111」、「011」、「001」、「000」の5回だけセレクト信号の論理が変化する(カウント変数は「5」となる)。この場合、オプションCPU24は、カウント変数の値から自装置が6段目のフィーダー20であると判断する。なお、フィーダー20の装着段数が6段未満の場合でも同様な処理によって装着位置を判断できる。
各オプションCPU24は、初期通信時に上記のステップS31〜S38の処理を実行することにより、自装置が何段目のフィーダー20なのかを判断し、その判断結果を内蔵メモリーに記憶してから図5に示す処理を終了する。
以上のように、本実施形態によれば、各フィーダー20のオプションCPU24が自装置の装着位置(自装置が何段目のフィーダー20なのか)を認識することができるので、本体CPU16が各フィーダー20の動作を協調制御する場合に各オプションCPU24を個別に順次選択しながらコマンドを送信する必要がなくなり、本体CPU16の処理負荷を軽減することができる。
具体的には、従来では、例えば、フィーダー20が6段装着されている状態で、6段目のフィーダー20から印刷用紙を装置本体10へ給紙搬送する場合、本体CPU16は、1段目から6段目までのオプションCPU24を個別に順次選択しながら、1段目から5段目のオプションCPU24に対しては搬送命令(フィードローラー23の回転駆動命令)のみを送信し、6段目のオプションCPU24に対しては給紙命令及び搬送命令(ピックアップローラー22及びフィードローラー23の回転駆動命令)を送信する必要があった。
これに対して、本実施形態では、本体CPU16は、6段目のオプションCPU24のみを選択して給紙命令及び搬送命令を送信すれば良い。なぜなら、各オプションCPU24は、自装置が何段目のフィーダー20なのかを認識しているので、他の段のオプションCPU24に対して送信されたコマンドから自装置の動作をどのように制御すれば良いのか、オプションCPU24自身が判断できるようになるからである。
つまり、この場合、1段目から5段目のオプションCPU24は、セレクト信号の論理から6段目のオプションCPU24が通信相手として選択されていることを認識し、データ信号線SDI、SDOの論理から給紙命令及び搬送命令が送信されたことを認識した場合、それぞれ自装置のフィードローラー23を回転駆動することになる。このように、本体CPU16は、各フィーダー20の動作を協調制御する場合に各オプションCPU24を個別に順次選択しながらコマンドを送信する必要がなくなり、本体CPU16の処理負荷が軽減される。
また、本実施形態によれば、オプションCPU24が自装置の装着位置(自装置が何段目のフィーダー20なのか)を認識するために、従来のようにフィーダー20の装着位置情報をオプションCPU24に予め記憶する必要がないので、オプションCPU24のメモリー容量を削減することができる。
以上、本発明の一実施形態について説明したが、本発明はこれに限定されず、本発明の趣旨を逸脱しない範囲において種々変更可能であることは勿論である。
例えば、上記実施形態では、本発明に係る画像形成装置としてプリンター1を例示して説明したが、本発明はこれに限定されず、コピー機や複合機など、オプション装置を装着可能な画像形成装置に広く適用することができる。
また、上記実施形態では、画像形成装置に装着されるオプション装置としてフィーダー20を例示したが、本発明は他のオプション装置にも適用できることは勿論である。
また、上記実施形態では、フィーダー20が最大6段まで装着可能な場合(セレクト信号線が3本の場合)を例示したが、フィーダー20の装着可能最大数に応じてセレクト信号線の本数を適宜変更しても良い。