(57)【特許請求の範囲】
【請求項１】
利用者が操作可能な操作パネルと、印字手段と、を備えた印字装置であって、
前記印字手段による印字不能状態を検出する検出手段と、
前記検出手段による検出を条件として、外部送信装置に対して特定制御信号を送信する送信手段と、
少なくとも前記印字手段の動作を制御するための各種の情報やプログラム等の制御データを記憶する記憶手段と、
前記送信手段が、特定制御信号の非送信状態にあることを条件として、前記制御データを更新するための更新制御データを、前記外部送信装置から受信する受信手段と、
前記操作パネルを介した利用者による所定の操作に応じ、前記送信手段による特定制御信号の送信の禁止を指示する禁止手段と、
前記送信手段による特定制御信号の送信に対して、前記禁止手段による送信禁止の指示を条件として、前記送信手段による特定制御信号の送信を禁止するとともに、前記送信禁止の状態において前記受信手段が受信した更新制御データにより、前記記憶手段の制御データの書き換えを実行する制御手段と、を備えたことを特徴とする印字装置。
【請求項２】
前記特定制御信号は、前記印字手段が印字不能状態であることに対応して出力されるビジー信号又は前記印字媒体のエンプティ信号であることを特徴とする請求項１記載の印字装置。
【請求項３】
前記操作パネルは、複数のキーが配設され、前記前記禁止手段による送信禁止の指示は、前記操作パネル上のキーを組み合わせて操作することにより出力されることを特徴とする請求項１又は請求項２記載の印字装置。
【請求項４】
前記記憶手段において制御データが正常に記憶されているか否かを判断する判断手段を備え、
前記制御手段は、前記判断手段による判断が非正常であることを条件として、前記受信手段が受信した更新制御データにより、前記記憶手段の制御データの書き換えを実行する、ことを特徴とする請求項１乃至請求項３のいずれかに記載の印字装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、利用者が操作可能な操作パネルと、印字手段と、を備えた印字装置に関し、特に、印字装置側にて印字不能状態にある場合に特定の制御信号（ビジー信号やペーパーエンプティ信号）が外部送信装置に出力されることを禁止することを可能とし、これより印字装置側が印字不能状態にある場合においても記憶装置に格納されている制御データのアップデートを可能とする印字装置に関するものである。
【０００２】
【従来の技術】
従来、例えば世界各国へ輸出される印字装置等の電子機器においては、国毎に仕様を変えることが多い。また、同じ国への輸出品であってもモデルの相違により仕様を変更することも行われている。こうした多くの仕様を有する電子機器に対して、その制御基板を、モデル・国毎に専用のものとして生産する方法を採用すると、メーカー側で用意すべき部品点数が増大する。
【０００３】
最近では、こうした制御基板を製造するに当たり、フラッシュメモリをプログラム格納用のデバイスとして用いることで、汎用性のある制御基板を用いてそこにダウンロードするプログラムのみを変更するという方法が採用される様になってきている。より具体的には、フラッシュメモリに、国・モデル等の仕様の違いによらず共通なブートローダーを予め格納しておき、このブートローダーを用いて、国・モデル毎に作成されたメインプログラムを個々のフラッシュメモリにダウンロードする方法が採用されつつある。
【０００４】
そして、近年、インターネットの普及により、海外に対してもインターネットを通じて簡単にアップデート用プログラムを配信することができる。このため、今後は、メーカーのホームページに国・モデルに応じた複数のアップデート用プログラムへのリンクを設けておき、この複数のリンクの中から、ユーザーが自分の持っている機器に対応するアップデート用プログラムを自己のパーソナルコンピュータへダウンロードし、これを電子機器へダウンロードするという方法が有力である。
【０００５】
また、電子機器としての印字装置とパーソナルコンピュータとを相互に接続してなる印字システムにおいては、例えば、印字装置側で印字動作等を行っている場合や印字用紙がなくなった場合には、印字装置側からパーソナルコンピュータ側に印字不能状態であることを示すビジー信号やペーパーエンプティ信号が出力されるのが一般的である。
【０００６】
【発明が解決しようとする課題】
しかしながら、前記印字システムにおいて、印字装置側からビジー信号やペーパーエンプティ信号がパーソナルコンピュータに出力されていると、パーソナルコンピュータ側では、各種の制御信号を印字装置に送出することができず、従って、前記の例では、パーソナルコンピュータにダウンロードされているアップデート用のメインプログラムデータを印字装置に送出することができなくなる。
【０００７】
この結果、必要な時にメインプログラムのアップデートができなくなることから、非常に不便なものである。
【０００８】
本発明は前記従来の問題点を解消するためになされたものであり、印字装置側にて印字不能状態にある場合に特定の制御信号（ビジー信号やペーパーエンプティ信号）が外部送信装置に出力されることを禁止することを可能とし、これより印字装置側が印字不能状態にある場合においても必要に応じて記憶装置に格納されている制御データのアップデートを可能とする印字装置を提供することを目的とする。
【０００９】
【課題を解決するための手段】
前記目的を達成するため本発明に係る印字装置は、利用者が操作可能な操作パネルと、印字手段と、を備えた印字装置であって、前記印字手段による印字不能状態を検出する検出手段と、前記検出手段による検出を条件として、外部送信装置に対して特定制御信号を送信する送信手段と、少なくとも前記印字手段の動作を制御するための各種の情報やプログラム等の制御データを記憶する記憶手段と、前記送信手段が、特定制御信号の非送信状態にあることを条件として、前記制御データを更新するための更新制御データを、前記外部送信装置から受信する受信手段と、前記操作パネルを介した利用者による所定の操作に応じ、前記送信手段による特定制御信号の送信の禁止を指示する禁止手段と、前記送信手段による特定制御信号の送信に対して、前記禁止手段による送信禁止の指示を条件として、前記送信手段による特定制御信号の送信を禁止するとともに、前記送信禁止の状態において前記受信手段が受信した更新制御データにより、前記記憶手段の制御データの書き換えを実行する制御手段と、を備えたことを特徴とする。
【００１０】
前記印字装置では、まず、禁止手段を介して、印字装置側における状態、例えば、印字動作中である状態や印字媒体がなくなった状態を示すビジー信号やペーパーエンプティ信号のような特定制御信号を外部送信装置側に送ることが禁止される。このように禁止手段から禁止信号が出力された時点で印字装置からは特定制御信号が出力されなくなるので、印字装置が印字可能な状態にあるか、又、印字不能な状態にあるかに拘わらず、外部送信装置から記憶手段に格納されているプログラム等の制御データを送信できる状態になる。そして、アップデート手段により、外部送信装置から送信された制御データに基づき印字装置の記憶手段が書き換えられる。
【００１１】
従って、本発明の印字装置によれば、印字装置側にて印字不能状態にある場合に特定の制御信号（ビジー信号やペーパーエンプティ信号）が外部送信装置に出力されることを禁止することを可能として、印字装置側が印字不能状態にある場合においても必要に応じて記憶手段に格納されている制御データのアップデートが可能となる。
【００１２】
ここに、前記特定制御信号としては、前記印字手段が印字不能状態であることに対応して出力されるビジー信号又は前記印字媒体のエンプティ信号が考えられる。また、前記禁止手段は複数のキーが配設された操作パネルから構成することが望ましく、かかる場合、前記禁止信号は操作パネル上のキーを組み合わせて操作することにより出力される。
【００１３】
【発明の実施の形態】
以下、本発明に係るデータ格納装置を具体化した一実施形態について、図面を参照しつつ詳細に説明する。この実施形態は、ファクシミリ機能、プリンタ機能、複写機能等を備えたマルチ・ファンクションデバイスに対して動作プログラムをダウンロードする場合に関するものである。実施形態として説明するマルチ・ファンクションデバイス１０は、図１に示す様に、ＣＰＵ１１、フラッシュメモリ１２、ＲＡＭ１３、ＥＥＰＲＯＭ１４、ブザーユニット１５、パラレルＩ／Ｆユニット１６、符号・復号器１７、プリンタユニット１８、モデム１９、スキャナユニット２０、ネットワークコントロールユニット（ＮＣＵ）２１及び操作パネル２２を備える。
【００１４】
このマルチ・ファンクションデバイス１０は、操作パネル２２による機能選択の結果に応じて、フラッシュメモリ１２に格納されたメインプログラムをＣＰＵ１１が実行することにより、ファクシミリとしての機能の他に、プリンタ、複写機、スキャナ等としても機能することができるものである。
【００１５】
また、操作パネル２２には、各種のキー（テン・キー、ファンクションキー等）が配設されており、これらの各キーを特定の組合せに従って押圧操作することにより、後述するように、マルチファンクションデバイス１０側からパーソナルコンピュータＰＣに対してビジー信号やペーパーエンプティ信号が出力されることを禁止する禁止モードが設定される。
【００１６】
フラッシュメモリ１２は、図２に示す様に、ブートローダーエリア３０と、メインプログラムエリア４０とから構成されている。ブートローダーエリア３０には、ブートローダープログラムを格納するブートローダープログラム格納領域３１の他に、ブートローダープログラムの作成時期を表す「作成時期データ」を格納するためのブートローダー作成時期格納領域３２と、ブートローダーエリアについての「チェックサムデータ」を格納するためのブートローダーチェックサム格納領域３３が設定されている。また、メインプログラムエリア４０には、メインプログラムを格納するメインプログラム格納領域４１の他に、「モデル・国識別用パスワード」を格納するパスワード格納領域４２と、メインプログラムのロード完了を示す「ロード完了マーク」を格納する完了マーク格納領域４３と、メインプログラムの作成時期を表す「作成時期データ」を格納するためのメインプログラム作成時期格納領域４４と、メインプログラムエリア４０についての「チェックサムデータ」を格納するためのメインプログラムチェックサム格納領域４５とが設定されている。
【００１７】
ＥＥＰＲＯＭ１４は、ユーザーのパネル操作によって設定可能なワンタッチダイヤル等の情報を格納するためのものである。また、ブザーユニット１５は、プログラムのダウンロード完了時やエラー発生時に報知音をスピーカ２３から出力するためのものである。パラレルＩ／Ｆユニット１６は、パラレルポート２４を介してパーソナルコンピュータとの間でデータのやり取りを行うために設けられている。メインプログラムは、後述する様に、このパラレルＩ／Ｆユニット１６を介してパーソナルコンピュータからダウンロードされる。また、本実施の形態のマルチ・ファンクションデバイス１０は、このパラレルＩ／Ｆユニット１６を介してパーソナルコンピュータから印字データを受信した場合はプリンタとして機能する。
【００１８】
符号・復号器１７は、ファクシミリとして機能する際に、スキャナユニット２０にて原稿から読み取ったデータをファクシミリ送信用のデータに符号化する処理と、外部から受信したファクシミリデータをプリンタユニット１８で印字出力可能な印字データに復号化する処理とを行うためのものである。この符号・復号器１７によって符号化されたファクシミリデータは、モデム１９及びＮＣＵ２１を介して、一般電話回線２５で送信される。また、モデム１９及びＮＣＵ２１を介して、一般電話回線２５から受信したファクシミリデータは、符号・復号器１７で復号化され、プリンタユニット１８に送られて記録用紙に印字される。
【００１９】
操作パネル２２には、電話番号を入力するためのテンキーの他、スタートキー、ストップキー、機能選択キー等が設けられている。この操作パネル２２によって機能を選択することにより、本装置１０を、ファクシミリ、プリンタ、複写機等として機能させることができる様になっている。また、テンキー等による入力値や各種メッセージを表示するための液晶ディスプレイもこの操作パネル２２の中に備えられている。また、操作パネル２２における各種キーを組み合わせて押圧操作することにより、後述する禁止モードが設定される。
【００２０】
次に、このように構成される本装置１０の製造方法を含め、メインプログラムをダウンロードする手順等について説明する。
【００２１】
まず、本装置１０に備えられるフラッシュメモリ１２は、図３に示す様に、ワークステーションＷＳにフラッシュメモリープログラマー５０を接続し、ブートローダープログラムを格納したマスタチップ５１を製造する。続いて、このマスタチップ５１をフラッシュメモリプログラマー５２にセットして、コピーチップ５３，５３，…を製造する。そして、このコピーチップ５３を、本装置１０用の基板５４に実装し、これを本装置１０に組み付ける。
【００２２】
次に、ワークステーションＷＳで作成したメインプログラムを、データベース５６にアップロードする。そして、このデータベース５６に対してパーソナルコンピュータＰＣを接続し、メインプログラムをパーソナルコンピュータＰＣにダウンロードする。こうしてパーソナルコンピュータＰＣにメインプログラムをダウンロードしたら、このＰＣと本装置１０とをプリンタケーブル５７で接続し、装置１０の電源を投入する。すると、後述する様に、ブートローダープログラムが起動され、メインプログラムの初期ロードが実行される。
【００２３】
また、こうして製造された装置１０に対して、ユーザーに供給した後のプログラムのアップデートに当たっても、図４に示す様に、パーソナルコンピュータＰＣを使用することができる。メーカーは、アップデート用プログラムの提供時期、方法等について、自己のホームページに情報を表示する。この表示を見たユーザーは、インターネット経由で、アップデート用プログラムを自己のパーソナルコンピュータＰＣ内にダウンロードする。そして、このパーソナルコンピュータＰＣと装置１０とをプリンタケーブル５７で接続し、ダウンロードを実行する。あるいは、他の方法として、メーカーがフロッピーディスクあるいはＣＤＲＯＭ等の可搬式記憶媒体５８にアップデート用プログラムを格納し、これを各ユーザーに供給する。各ユーザーは、この記憶媒体５８を自己のパーソナルコンピュータＰＣにセットし、後は、インターネット経由の場合と同様に装置１０に対してプリンタケーブル５７を介してアップデート用プログラムのダウンロードを実行する。
【００２４】
なお、このマルチファンクション・デバイス１０は、複数のモデルを有し、メインプログラムは各モデル毎に異なるものである。また、各モデルについて、さらに、仕向国別にメインプログラムが異なるものとして作成されている。しかしながら、これらメインプログラムは、いずれも、上述のブートローダープログラムを使ってダウンロードすることが可能である。この結果、本実施形態では、製品に組み付ける基板５４に実装されるコピーチップ５３は全て共通のものを使用する。
【００２５】
ここで、ワークステーションＷＳで作成されるメインプログラムは、図５に示す様に、データの先頭から順番に、ＰＪＬコマンド、固定文字列、モデル・国識別用パスワード、開始レコード、データレコード、最終レコードによって構成されている。
【００２６】
ＰＪＬコマンドは、このコマンドに続くデータが印字データではなくプログラムであることをＣＰＵ１１に認識させるためのコマンドである。続く固定文字列は、本装置１０用のプログラムであることを識別させるためのデータである。
【００２７】
さらに、その後に続くモデル・国識別用パスワードは、データレコードとして格納されているプログラムが、本装置１０におけるどのモデルの、どの国用のものであるかを識別するためのパスワードである。開始レコードと最終レコードは、データレコード領域の開始と終了とを識別するためのものである。
【００２８】
データレコードは、属性フィールド、アドレスフィールド、データフィールド、チェックサムフィールドから構成されている。属性フィールドには、データレコードであることを示すデータとデータフィールド内のデータ数を判別するためのデータとが記憶される。アドレスフィールドには、データフィールド内のデータのフラッシュメモリ上での格納アドレスに関するデータが記憶されている。チェックサムフィールドには、属性フィールド、アドレスフィールド及びデータフィールドのデータを加算した合計の値を示すデータが記憶されている。
【００２９】
そして、データフィールドには、プログラム、モデル・国識別用パスワード、メインプログラムロード完了マーク、メインプログラム作成時期データ、メインプログラムエリアのチェックサムデータといったものが記憶されている。これらの並び方は、開始レコード側から最終レコード側にかけて、プログラム、モデル・国識別用パスワード、メインプログラムロード完了マーク、メインプログラム作成時期データ、メインプログラムエリアのチェックサムデータの順となっている。
【００３０】
次に、メインプログラムの初期ロードを含む、本装置１０の制御処理の内容について図６〜図１１のフローチャートを用いて説明する。
【００３１】
本装置１０に電源が投入されると、図６に示す処理が開始され、まず、Ｉ／Ｏポートの初期化が実行される（Ｓ１０）。次に、フラッシュメモリ１２のブートローダーエリア３０についてサムチェックを行う（Ｓ２０）。そして、ブートローダーエリア３０の内、チェックサムデータ格納領域３３を除くエリアの全データを加算した合計とチェックサムとが一致している場合に正常と判定し（Ｓ３０：ＹＥＳ）、続いてＲＡＭ１３がデバイスとして正常に動作し得るか否かを検査する（Ｓ４０）。このＲＡＭ１３の検査も正常であるとき（Ｓ５０：ＹＥＳ）、後述するメインプログラムエリアチェック処理が実行される（Ｓ１００）。
【００３２】
そして、メインプログラムエリアチェック処理の結果が正常であるとき（Ｓ６０：ＹＥＳ）、後述のメインプログラム実行ルーチンが起動される。一方、メインプログラムエリア４０に対するチェックの結果が異常であるときは（Ｓ６０：ＮＯ）、後述のダウンロード処理へと移行する（Ｓ２００）。なお、ブートローダーエリア３０のサムチェック結果が異常であるとき（Ｓ３０：ＮＯ）、及びＲＡＭ１３の検査結果が異常であるときは（Ｓ５０：ＮＯ）、装置異常処理ルーチンが起動される。この装置異常処理ルーチンは、デバイスの交換等を指示するもので、ブザーの鳴動やエラーメッセージのディスプレイ表示あるいは印字出力等、所定の処理が実行される。
【００３３】
メインプログラムエリアに対するチェック処理は、図７に示す手順で実行される。まず、フラッシュメモリ１２内のロード完了マーク格納領域４３にロード完了マークが格納されているか否かを検査する（Ｓ１１０）。この検査の結果、ロード完了マークが正常に格納されているときは（Ｓ１２０：ＹＥＳ）、メインプログラムエリア４０に対するサムチェックを実行する（Ｓ１３０）。そして、メインプログラムエリア４０の内、チェックサムデータ格納領域４５を除くエリアの全データを加算した合計とチェックサム格納領域４５に格納されているチェックサムとが一致しているときは（Ｓ１４０：ＹＥＳ）、検査結果を正常に設定して本ルーチンを抜ける（Ｓ１５０）。一方、ロード完了マークが正しく格納されていないと判定されたとき（Ｓ１２０：ＮＯ）、及びメインプログラムエリア４０に対するサムチェックの結果が異常であると判定されたときは（Ｓ１４０：ＮＯ）、検査結果を異常に設定して本ルーチンを抜ける（Ｓ１６０）。上述のＳ６０の処理では、こうしてＳ１５０，Ｓ１６０で設定された検査結果に基づき、メインプログラム実行ルーチン及びダウンロード処理のいずれのルーチンを起動すべきかが判定されることになる。
【００３４】
ダウンロード処理ルーチンが起動された場合、図８に示す様に、まず、初期ロードとしてダウンロードを実行すべき状態であるのか、アップデートとしてダウンロードを実行すべき状態であるのかが判定される（Ｓ２１０）。Ｓ６０でＮＯと判定されたときは、初期ロードに失敗している状態であることから、このＳ２１０の判定の後、Ｓ２２０へと処理が進む。
【００３５】
Ｓ２１０で初期ロードと判定されたときは、まず、初期ロードであることを特定するために動作モードを「０」に設定すると共に、フラッシュメモリ１２のセクタがいずれも消去されていないことを判別させるための消去フラグを「０」に設定する（Ｓ２２０）。その後、データ待ちカウンタを「０」に設定すると共に（Ｓ２３０）、パスワード照合に関する条件を「照合しない」に設定する（Ｓ２４０）。
【００３６】
そして、まず、フラッシュメモリ１２に対して正常に読み書き動作を実行できるか否かのデバイスチェックを実行する（Ｓ２５０）。このデバイスチェックの結果が正常であるときは（Ｓ２６０：ＹＥＳ）、後述のダウンロード実行処理ルーチンを起動する（Ｓ４００）。そして、ダウンロード実行処理ルーチンが正常に終了した場合は（Ｓ２７０：ＹＥＳ）、先に説明したメインプログラムエリア４０に対するチェック処理を実行し（Ｓ１００）、その結果が正常であるときは（Ｓ２８０：ＹＥＳ）、電源投入・リセット処理ルーチンへ戻って、メインプログラム実行ルーチンを起動する。これに対して、Ｓ２６０におけるデバイスチェックの結果が異常である場合（Ｓ２６０：ＮＯ）には、デバイス不良であることをオペーレータに報知するべく、ブザーユニット１５を介してスピーカ２３を鳴動させる（Ｓ３４０）。このとき、スピーカ２３から発せられる音としては、音の高低及び長さを適当に組み合わせた音が発音される。いずれにしても、デバイス不良が発生したことをオペレータに知らせることができればよい。続いて、パラレルポート２４の受信準備が行われ（Ｓ３５０）、データ待ちカウンタが「４」に設定される（Ｓ３６０）。そして、後述するように、パラレルポート２４を介してデータ受信を行う（Ｓ８００）。かかるデータ受信処理は、デバイス不良の場合（Ｓ２６０：ＮＯ）に行われるものであるから、受信されたデータが途絶えるまで読み捨てられる。
【００３７】
また、前記Ｓ２７０において、ダウンロード実行処理ルーチンが正常終了しなかったとき（Ｓ２７０：ＮＯ）、及びメインプログラムエリア４０に対するチェック処理の結果が異常であるときは（Ｓ２８０：ＮＯ）、ダウンロード異常を報知するためにブザーユニット１５によりスピーカ２３を鳴動させる（Ｓ２９０）。このとき、スピーカ２３から発生される音としては、前記と同様、音の高低及び長さを適当に組み合わせた音が発音され、ダウンロード異常が発生したことをオペーレータに報知される。そして、設定されている動作モードに応じてＳ２２０またはＳ３１０へとジャンプする。
【００３８】
ここに、前記Ｓ２１０における判断がアップデートである場合に実行されるＳ３１０〜Ｓ３３０の処理は、初期ロードではなく、アップデートとしてメインプログラムをダウンロードする場合に実行されるステップである。アップデートとしてメインプログラムのダウンロードを実行するときは、初期ロードと区別するために動作モードを「１」に設定すると共に、フラッシュメモリ１２のセクタがいずれも消去されていないことを判別させるための消去フラグを「０」に設定する（Ｓ３１０）。その後、データ待ちカウンタを「０」に設定すると共に（Ｓ３２０）、パスワード照合に関する条件を「照合する」に設定する（Ｓ３３０）。
【００３９】
次に、ダウンロード実行ルーチンについて図９のフローチャートに従って説明する。このルーチンでは、まず、パラレルポート２４からプログラムデータを受信可能な状態に準備する（Ｓ４１０）。続いて、ダウンロード開始を報知するためにスピーカ２３を鳴動させ（Ｓ４２０）、固定文字列を受信するのを待つ（Ｓ４３０）。ここに、スピーカ２３は、前記と同様、音の高低及び長さを適当に組み合わせた音で鳴動される。固定文字列を受信したら（Ｓ４３０：ＹＥＳ）、パスワード照合を実行するモードが設定されているか否かを判定する（Ｓ４４０）。前述の様に、パスワード照合のモードとしては、初期ロードの場合には「照合しない」が設定され（Ｓ２４０）、アップデートの場合には「照合する」が設定されている（Ｓ３３０）。
【００４０】
従って、アップデートの場合に限ってモデル・国識別用パスワードの受信が実行され、メインプログラムエリア４０の該当領域４２に格納されているパスワードと照合される（Ｓ４５０）。そして、照合の結果、パスワードが一致していないときは（Ｓ４６０：ＮＯ）、アップデート用として選択されたメインプログラムの種類が間違っていることをスピーカ２３を介して報知し（Ｓ４７０）、受信したデータを読み捨てる処理を実行する（Ｓ４８０）。この時のスピーカ２３の鳴動は、音の高低及び長さを適当に組み合わせた音で行われる。
【００４１】
一方、照合の結果、パスワードが一致するときは（Ｓ４６０：ＹＥＳ）、ロード完了マークの格納されている領域４３に、ロード完了マークとは異なる内容の文字列を書き込むことにより、当該領域４３のデータを破壊する処理を実行する（Ｓ４９０）。そして、開始レコードを受信するのを待った後（Ｓ５００）、１セクタ分のデータを受信し（Ｓ５１０）、このデータを書き込むべき１セクタの領域内のデータを消去し（Ｓ５２０）、消去フラグを「１」に設定すると共に前記と同様にしてスピーカ２３を鳴動させる（Ｓ５３０）。そして、Ｓ５１０で受信した１セクタ分のデータを先ほど消去を行ったセクタに書き込み（Ｓ５４０）、書き込みが完了したことを報知するべく前記と同様にしてスピーカ２３を鳴動させる（Ｓ５５０）。そして、最終レコードを受信するまでは（Ｓ５６０：ＮＯ）、上記Ｓ５１０以下の処理を繰り返し実行する。
【００４２】
こうしてＳ５１０〜Ｓ５６０の処理を繰り返し、最終レコードを受信したときは（Ｓ５６０：ＹＥＳ）、メインプログラムエリア４０の中の未消去のセクタを１セクタ消去する毎にスピーカ２３を鳴動させつつ全てのセクタを消去し（Ｓ５７０）、ダウンロード完了を報知するためスピーカ２３を前記と同様に鳴動させて本ルーチンを抜ける（Ｓ５８０）。このときは正常終了となる。よって、Ｓ２７０はＹＥＳと判定され、メインプログラムエリアチェック処理を実行し（Ｓ１００）、データが正しくダウンロードされたか否かを判定する処理に進む。
【００４３】
次に、前記Ｓ８００にて行われるパラレルポート２４からデータを受信する処理について、図１０のフローチャートに基づき説明する。この受信処理において、まず、データ待ちタイマを所定時間、例えば１２秒にセットし（Ｓ８１０）、受信データが存在するかどうか判断される（Ｓ８２０）。受信データが有る場合（Ｓ８２０：ＹＥＳ）、パラレルポート２４から受信データを取り込んだ（Ｓ８３０）後、処理を終了する。また、Ｓ８２０において受信データが存在しないと判断された場合（Ｓ８２０：ＮＯ）には、前記Ｓ８１０にてセットしたデータ待ちタイマがタイムアップしたかどうか判断され（Ｓ８４０）、データ待ちタイマがタイムアップするまでは（Ｓ８４０：ＮＯ）は受信データを待つ。
【００４４】
データ待ちタイマがタイムアップした場合（Ｓ８４０：ＹＥＳ）、データ待ちカウンタを１だけインクリメントし（Ｓ８５０）、データ待ちカウンタの値が「５」になったかどうか判断される（Ｓ８６０）。データ待ちカウンタの値が「５」に等しくない場合（Ｓ８６０：≠５）には、スピーカ２３が前記と同様にして鳴動された（Ｓ８７０）後処理を終了する。一方、データ待ちカウンタの値が「５」に等しくなった場合（Ｓ８６０：＝５）には、データ待ち回数がオーバーしたものとして、消去フラグの設定値を判別する（Ｓ８８０）。そして、フラッシュメモリ１２のいずれかのセクタが消去されたことに基づき、消去フラグに「１」が設定されている場合（Ｓ８８０：１）には、ダウンロード実行処理を異常終了として、再度Ｓ２２０に戻る。これはダウンロード途中での異常終了であることから、特に、アップデートの場合にはメインプログラムの一部が破壊された状態にあり、電源投入直後の状態に復帰させると装置１０が正常に動作できなくなってしまうおそれがあることから、速やかにメインプログラムをダウンロードすべく、ダウンロード処理ルーチンを再度スタートさせるためである。また、フラッシュメモリ１２のいずれのセクタも消去されていないことに基づき、消去フラグに「０」が設定されている場合（Ｓ８８０：０）には、電源投入・リセットルーチンへ戻る。セクタを未だ消去していない場合は、ダウンロードを全く開始していないのと同じであるので最初から実行し直せばよいからである。
【００４５】
次に、メインプログラム実行ルーチンについて、図１１のフローチャートに基づいて説明する。このルーチンでは、まず、操作パネル２２が操作され（Ｓ６００）、その各種キーの特定の組合せに従う押圧操作に基づき、禁止モードが設定される。かかる禁止モード下においては、パラレルＩ／Ｆユニット１６、パラレルポート２４から、マルチファンクションデバイス１０が印字動作等の途中であることを示すビジー信号や記録用紙がなくなった状態であることを示すペーパーエンプティ信号がパーソナルコンピュータＰＣに対して送信されることを禁止する指示が、パラレルＩ／Ｆユニット１６に対して出される（Ｓ６０３）。
【００４６】
これにより、マルチファンクションデバイス１０からはビジー信号やペーパーエンプティ信号が出力されなくなるので、マルチファンクションデバイス１０が印字可能な状態にあるか、又、印字不能な状態にあるかに拘わらず、パーソナルコンピュータＰＣからフラッシュメモリ１２に格納されているメインプログラムデータを送信できる状態になる。
【００４７】
続くＳ６０５において、パーソナルコンピュータＰＣからデータを受信するまで待機し、データを受信した場合（Ｓ６０５：ＹＥＳ）には、更にＰＪＬコマンドを受信したか否かを判定し（Ｓ６１０）、ＰＪＬコマンドを受信した場合には（Ｓ６１０：ＹＥＳ）、前述のダウンロード処理ルーチンを起動する（Ｓ２００）ものである。これが、アップデートの状態であり、ダウンロード処理ルーチンのＳ２１０でアップデートと判定され、Ｓ３１０以下の処理が実行されることになる。このように、ダウンロード処理におけるアップデートを実行することにより、パーソナルコンピュータＰＣから送信されたメインプログラムデータに基づきフラッシュメモリ２１のメインプログラム格納領域４１がアップデートされる。
【００４８】
従って、マルチファンクションデバイス１０側にて印字不能状態にある場合にビジー信号やペーパーエンプティ信号がパーソナルコンピュータＰＣに出力されることを禁止することを可能として、マルチファンクションデバイス１０が印字不能状態にある場合においても必要に応じてフラッシュメモリ１２のメインプログラム格納領域４１に格納されているメインプログラムのアップデートが可能となるものである。
【００４９】
一方、印字データを受信したときは（Ｓ６２０：ＹＥＳ）、受信した印字データに基づいてプリンタユニット１８を制御して印字処理を実行する（Ｓ６７０）。また、ＮＣＵ２１及びモデム１９を介してファクシミリデータを受信した場合は（Ｓ６３０：ＹＥＳ）、符号・復号器１７に当該ファクシミリデータを入力して復号化を行った後にプリンタユニット１８を制御して受信した情報を記録用紙に印字して出力するファクシミリ受信処理を実行する（Ｓ６８０）。また、操作パネル２２においてファクシミリ機能が選択されているときは（Ｓ６４０：ＹＥＳ）、スキャナユニット２０に投入された原稿からデータを読み取り、これを符号・復号器１７に入力して符号化し、さらに、モデム１９及びＮＣＵ２１を制御してファクシミリデータを送信する処理を実行する（Ｓ６９０）。また、その他の機能、例えば、複写機能等が選択されているときは（Ｓ６５０）、当該選択された機能に従って、スキャナユニット２０やプリンタユニット１８等を制御し、選択された機能に従った処理を実行する（Ｓ７００）。以上の処理は、電源がＯＦＦにされるかリセットが行われるまで続行される（Ｓ６６０）。
【００５０】
以上説明した様に、本実施の形態では、操作パネル２２が操作され（Ｓ６００）ることにより、その各種キーの特定の組合せに従う押圧操作に基づき設定された禁止モード下においては、パラレルＩ／Ｆユニット１６、パラレルポート２４から、マルチファンクションデバイス１０が印字動作等の途中であることを示すビジー信号や記録用紙がなくなった状態であることを示すペーパーエンプティ信号がパーソナルコンピュータＰＣに対して送信されることを禁止する（Ｓ６０３）ことにより、マルチファンクションデバイス１０からはビジー信号やペーパーエンプティ信号が出力されなくして、マルチファンクションデバイス１０が印字可能な状態にあるか、又、印字不能な状態にあるかに拘わらず、パーソナルコンピュータＰＣからフラッシュメモリ１２に格納されるメインプログラムデータを送信できる状態にするとともに、この状態でダウンロード処理におけるアップデートを実行して、パーソナルコンピュータＰＣから送信されたメインプログラムデータに基づきフラッシュメモリ２１のメインプログラム格納領域４１をアップデートする。
【００５１】
従って、マルチファンクションデバイス１０側にて印字不能状態にある場合にビジー信号やペーパーエンプティ信号がパーソナルコンピュータＰＣに出力されることを禁止することを可能として、マルチファンクションデバイス１０が印字不能状態にある場合においても必要に応じてフラッシュメモリ１２のメインプログラム格納領域４１に格納されているメインプログラムのアップデートを行うことができる。
【００５２】
尚、本実施の形態は、本発明を限定するものではなく、本発明の要旨を逸脱しない範囲内で種々の改良、変形が可能であることは勿論である。例えば、本実施の形態では、仕様特定データとしてのモデル・国識別用パスワードを、プログラムデータの直前に付随する参照データ及びプログラムデータの直後に含ませた書き込み用データの両方としてダウンロードに当たって受信するデータを構成したが、参照用データを付随させることなく書き込み用データのみをデータ中に含ませる構成にしておいても構わない。但し、プログラムデータを一旦読み込んでからパスワード照合を行う場合には、読み込んだプログラムデータをバッファ等に一旦保持しておく必要が生じる。従って、プログラムデータを読み込む前にパスワード照合を可能にすることでこの様なバッファを特に設ける必要をなくしている点で、上述の実施の形態の方が実用上有利であるといえる。即ち、仕様特定データを参照データとしてアップデート用の制御データの前に付随させておく方法は、無駄な記憶容量を必要としない点で実用上有利なものということができる。
【００５３】
【発明の効果】
以上説明した通り本発明は、印字装置側にて印字不能状態にある場合に特定の制御信号（ビジー信号やペーパーエンプティ信号）が外部送信装置に出力されることを禁止することを可能とし、これより印字装置側が印字不能状態にある場合においても必要に応じて記憶装置に格納されている制御データのアップデートを行うことができる。
【図面の簡単な説明】
【図１】  本実施の形態に係るマルチファンクション・デバイスの構成を示すブロック図である。
【図２】  フラッシュメモリの構造を示す模式図である。
【図３】  製品製造時のプログラムのダウンロードの手法を示す模式図である。
【図４】  アップデート時のプログラムのダウンロードの手法を示す模式図である。
【図５】  メインプログラムのデータ構造を示す模式図である。
【図６】  マルチファンクションデバイスにて実行される制御処理の手順を示すフローチャートである。
【図７】  マルチファンクションデバイスにて実行される制御処理の手順を示すフローチャートである。
【図８】  マルチファンクションデバイスにて実行される制御処理の手順を示すフローチャートである。
【図９】  マルチファンクションデバイスにて実行される制御処理の手順を示すフローチャートである。
【図１０】  マルチファンクションデバイスにて実行される制御処理の手順を示すフローチャートである。
【図１１】マルチファンクションデバイスにて実行される制御処理の手順を示すフローチャートである。
【符号の説明】
１０      マルチ・ファンクションデバイス
１１      ＣＰＵ
１２      フラッシュメモリ
１３      ＲＡＭ
１４      ＥＥＰＲＯＭ
１５      ブザーユニット
１６      パラレルＩ／Ｆユニット
１７      符号・復号器
１８      プリンタユニット
１９      モデム
２０      スキャナユニット
２１      ＮＣＵ
２２      操作パネル
２３      スピーカ
２４      パラレルポート
２５      一般電話回線
３０      ブートローダーエリア
３１      ブートローダープログラム格納領域
３２      ブートローダー作成時期格納領域
３３      ブートローダーチェックサム格納領域
４０      メインプログラムエリア
４１      メインプログラム格納領域
４２      パスワード格納領域
４３      ロード完了マーク格納領域
４４      メインプログラム作成時期格納領域
４５      メインプログラムチェックサム格納領域
５１      マスタチップ
５２      フラッシュメモリプログラマー
５３      コピーチップ
５４      基板
５６      プログラム記憶装置
５７      プリンタケーブル
５８      可搬式記憶媒体
ＰＣ      パーソナルコンピュータ
ＷＳ      ワークステーション
【図１】
0003826533.tif 000002
【図２】
0003826533.tif 000003
【図３】
0003826533.tif 000004
【図４】
0003826533.tif 000005
【図５】
0003826533.tif 000006
【図６】
0003826533.tif 000007
【図７】
0003826533.tif 000008
【図８】
0003826533.tif 000009
【図９】
0003826533.tif 000010
【図１０】
0003826533.tif 000011
【図１１】
0003826533.tif 000012