(57)【特許請求の範囲】
【請求項１】
プロセッサと、プログラムとデータとが格納された記憶手段と、操作パネルと、通信インターフェイスとを備えた画像形成装置において、
該プログラムは、アイコンの属性を条件句とし１つ以上の処理命令を含むブロックを処理句とする１ステートメントを有するマクロプログラムと、マクロプログラム用インタープリタとを含み、該データは、印刷命令が許可されているか否かを示す許可情報を含み、
該インタープリタは該プロセッサに対し、該マクロプログラムを解釈させ、解釈対象のステートメントが該条件句と該処理句を含んでいる場合、
（ａ）該アイコンの属性を含む条件句に対応した処理句に印刷命令が含まれていれば、該許可情報に基づき、該印刷命令が許可されているか否かを判定させ、
（ｂ）処理（ａ）で肯定判定し又は該処理句に印刷命令が含まれていないという条件を満たす場合のみ、該属性に対応したアイコンを、該操作パネル上又は該通信インターフェイスを介したリモートコンソール上に通常表示させ、
（ｃ）処理（ｂ）で該アイコンが通常表示されている場合、該アイコンのオンを検出させ、該オンの検出に応答して、該処理命令を実行させる、
ことを特徴とする画像形成装置。
【請求項２】
該インタープリタは該プロセッサに対し、
処理（ｂ）においてさらに、処理（ａ）で否定判定した場合には該属性に対応したアイコンを、該操作パネル上又は該通信インターフェイスを介したリモートコンソール上にグレイアウト表示させ、
処理（ｃ）においてさらに、グレイアウト表示されたアイコンがオンにされても該処理命令を実行させない、
ことを特徴とする請求項１に記載の画像形成装置。
【請求項３】
該インタープリタは該プロセッサに対し、
処理（ｂ）においてさらに、処理（ａ）で否定判定した場合には該操作パネル上又は該通信インターフェイスを介したリモートコンソール上に禁止解除アイコン表示させ、
処理（ｃ）においてさらに、該禁止解除アイコンのオンを検出させ、
さらに、
（ｄ）該禁止解除アイコンのオンに検出に応答して、処理（ｂ）の通常表示を行わせ、処理（ｃ）に移行させる、
ことを特徴とする請求項１に記載の画像形成装置。
【請求項４】
該インタープリタは該プロセッサに対し、
処理（ｂ）においてさらに、処理（ａ）で否定判定した場合には該操作パネル上又は該通信インターフェイスを介したリモートコンソール上に禁止解除アイコン表示させ、
処理（ｃ）においてさらに、該禁止解除アイコンのオンを検出させ、このオンの検出に応答して、該操作パネル上又は該リモートコンソール上に警告文を表示させるとともに了解アイコンを表示させ、
さらに、
（ｄ）該了解アイコンのオンを検出させ、このオンの検出に応答して、処理（ｂ）の通常表示を行わせ、処理（ｃ）に移行させる、
ことを特徴とする請求項１に記載の画像形成装置。
【請求項５】
消耗品が認定品であるか否かを検出する検出手段をさらに備え、
該許可情報は、該検出手段により該消耗品が認定品であると検出されたときに、該消耗品を使用する印刷命令が許可されることを示す情報である、
ことを特徴とする請求項１乃至４のいずれか１つに記載の画像形成装置。
【請求項６】
該消耗品はトナーカートリッジである、
ことを特徴とする請求項５に記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像入出力機能を備えた画像形成装置に係り、特に、マクロプログラムを解釈実行するインタープリタを備えた画像形成装置に関する。
【背景技術】
【０００２】
画像形成装置、特に複合機では、様々なユーザの要求に応えるために多機能化が進んでいる。
【０００３】
しかしながら、多機能化によりメニュー項目が増加するので、メニュー構造が複雑になり、操作性が悪化する。すなわち、ユーザにとって使用しない機能が多くなると共に、使用したい機能を実行するのに操作パネル上で押下すべき釦数が多くなり、操作性が悪くなる。特に、複数の機能を連続的に実行する場合にこの問題が顕著になる。
【０００４】
下記特許文献１には、複数の操作を組み合わせた命令語をＸＭＬ言語で記述してその処理を実行させることが開示されている。
【０００５】
しかしながら、操作パネルと無関係に処理が実行されるので、プログラムに不慣れなユーザにとっては使い勝手が良くない。
【０００６】
そこで、本願出願人は、アイコンの属性と処理命令との組を含むマクロプログラムとこれを解釈実行するインタープリタとの組み合わせにより、ＧＵＩを備えたユーザアプリケーションを容易に作成できる発明を出願した。
【特許文献１】特開２００５−０８００１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、この処理命令による処理が禁止され又は好ましくない場合、この処理命令を記述しようとするごとに、警告、禁止、禁止解除などの処理を記述しなければならず、ユーザアプリケーションが複雑になる。メーカーにより標準的に作成される標準マクロアプリケーションについても同様である。また、既存のマクロプログラムを他の機種で使用した場合、そこに記述された処理が禁止され又はできない場合にも、操作パネルにアイコンが表示される。
【０００８】
本発明の目的は、このような問題点に鑑み、処理が禁止され、好ましくない又は不可能の場合（許可されていない場合）であっても、アイコンのオンに応答して処理を実行するプログラムを容易に作成できるとともに、このような処理が行われないように又は過度な警告を行うことなくその処理が好ましくないことを認知させることができる画像形成装置を提供することにある。
【課題を解決するための手段】
【０００９】
本発明による画像形成装置の第１態様では、プロセッサと、プログラムとデータとが格納された記憶手段と、操作パネルと、通信インターフェイスとを備えた画像形成装置において、
該プログラムは、アイコンの属性と処理命令との組が記述されているマクロプログラムと、マクロプログラム用インタープリタとを含み、該データは、特定の処理が許可されているか否かを示す許可情報を含み、
該インタープリタは該プロセッサに対し、該マクロプログラムを解釈させ、
（ａ）該許可情報に基づき、該処理命令による処理が許可されているか否かを判定させ、
（ｂ）肯定判定した場合には、該属性に対応したアイコンを、該操作パネル上又は該通信インターフェイスを介したリモートコンソール上に表示させ、
（ｃ）該アイコンのオンを検出させ、該オンの検出に応答して、該処理命令を実行させる。
【００１０】
本発明による画像形成装置の第２態様では、第２又は４態様において、該インタープリタは該プロセッサに対し、
処理（ｂ）においてさらに、否定判定した場合には該操作パネル上又は該通信インターフェイスを介したリモートコンソール上に禁止解除アイコン表示させ、
処理（ｃ）においてさらに、該禁止解除アイコンのオンを検出させ、このオンの検出に応答して、該操作パネル上を介したリモートコンソール上に警告文を表示させるとともに了解アイコンを表示させ、
さらに、
（ｄ）該了解アイコンのオンを検出させ、このオンの検出に応答して、該操作パネル上又は該リモートコンソール上に、該属性に対応したアイコンを通常表示させ、処理（ｃ）に移行させる。
【００１１】
本発明による画像形成装置の第３態様では、第１又は２態様において、消耗品が認定品であるか否かを検出する検出手段をさらに備え、
該許可情報は、該検出手段により該消耗品が認定品であると検出されたときに、該消耗品を使用する処理が許可されることを示す情報である。
【発明の効果】
【００１２】
上記第１態様の構成によれば、アイコンの属性と処理命令との組が記述されているマクロプログラムの実行において、許可情報に基づき、該処理命令による処理が許可されているか否かが判定され、肯定判定した場合に、該属性に対応したアイコンが表示され、アイコンのオンに応答して、該処理命令が実行されるので、アイコンのオンに応答して処理を実行するプログラムを容易に作成できるとともに、許可されていない処理が行われないようにすることができるという効果を奏する。
【００１３】
また、インタープリタ側で許可情報に基づきアイコンを表示させるか否かを決定しているので、マクロプログラムで許可情報を考慮することなく、したがってユーザマクロプログラムであるか標準マクロプログラムであるかによらず、この決定が自動的に行われるという効果を奏する。
上記第２態様の構成によれば、否定判定した場合に禁止解除アイコンが表示され、そのオンに応答して警告文及び了解アイコンが表示され、そのオンに応答して該属性に対応したアイコンが通常表示されるので、簡単な構成で、過度な警告を行うことなくその処理が好ましくないことを認知させることができる
上記第３態様の構成によれば、消耗品が認定品であると検出されたときに、該消耗品を使用する処理が許可されるので、画像又は装置の品質劣化を防止することができるという効果を奏する。
【００１４】
本発明の他の目的、構成及び効果は以下の説明から明らかになる。
【実施例１】
【００１５】
図１４は、本発明の実施例１に係る画像形成装置１０のハードウェア構成を示す概略ブロック図である。
【００１６】
この画像形成装置１０では、ＭＰＵ１１がインターフェイス１２を介して、ＰＲＯＭ１３、ＤＲＡＭ１４、操作パネル１５、プリンタ１６、スキャナ１７、ＮＩＣ１８、ＦＡＸモデム１９、ＵＳＢポート２０、トナー残量検出器２１、ＩＣカードリーダ・ライタ２２、電子タグリーダ・ライタ２３及びタイマＴＭに結合されている。図１４では、簡単化のため、複数のインターフェイスを１つのブロックで示している。
【００１７】
ＰＲＯＭ１３は、例えばフラッシュメモリであり、これには、オペレーティングシステム（ＯＳ）と、ＯＳの上層で動作する各種プログラムと、各種設定値とが格納されている。各種プログラムは、画像形成装置１０を複合機として機能させるためのものであり、この機能には、コピー、スキャン、プリント、ファクシミリ送受信、電子メール送受信及びＨＴＴＰ通信がある。ＤＲＡＭ１４は、ワークエリア用である。
【００１８】
操作パネル１５は、表示部とキー入力部とを備えており、設定情報又は指示を入力し、選択画面や設定画面などを表示させるためのものである。
【００１９】
プリンタ１６は、プリントエンジン、定着器並びに用紙の給紙部、搬送部及び排紙部を備えており、印刷データとして供給されるビットマップデータに基づきプリントエンジンの感光ドラムに静電潜像を形成し、これをトナーで現像し、用紙に転写し定着させた後に排紙する。プリンタ１６には、トナーカートリッジ１６１が着脱自在に装着され、このトナーカートリッジ１６１に電子タグ１６２が被着されている。
【００２０】
スキャナ１７は、コピー及びファクシミリ送信での画像入力用である。ＮＩＣ１８は、ネットワーク上のホストコンピュータ及びサーバに結合されてプリントジョブ及び消耗品発注に用いられる。ＦＡＸモデム１９は、ファクシミリ送受信用である。
【００２１】
トナー残量検出器２１は、プリンタ１６用のトナーカートリッジに収容されているトナーの残量を検出してその信号を出力する。この出力は、プログラムに従ってＭＰＵ１１により定期的に読取られ、図２に示すToner.LevelとしてＤＲＡＭ１４に格納される。
【００２２】
ＩＣカードリーダ・ライタ２２は、プログラムに従ったＭＰＵ１１からの指令に基づき、所定範囲内に存在するＩＣカードとの間で電波を介し信号を送受して、ユーザのＩＤ及びパスワード情報を読取り、これらを画像形成装置１０に対する認証情報として出力する。この出力は、ＭＰＵ１１により読み取られる。
【００２３】
電子タグリーダ・ライタ２３は、トナーカートリッジ装着時において、プログラムに従ったＭＰＵ１１からの指令に基づき、電子タグ１６２からそのＩＤ及びトナー空情報を読み出して出力する。このＩＤには、トナーカートリッジの型式及びシリアル番号が含まれる。出力されたＩＤ及びトナー空情報は、ＭＰＵ１１により読み取られ、図２に示すようにそれぞれToner.RFID及びTonor.EmptyとしてＤＲＡＭ１４に格納される。
【００２４】
ポート２０に接続されるＵＳＢメモリ２４Ａは、例えばフラッシュメモリチップを備えている。
【００２５】
ホストコンピュータ２５は、そのＮＩＣがハブを介してＮＩＣ１８に結合されるとともに、不図示のルータを介してインターネット２６に結合される。このインターネット２６には、不図示のルータを介してＷｅｂサーバマシン２７が結合されている。一方、画像形成装置１０のＦＡＸモデム１９とＷｅｂサーバマシン２７のＦＡＸモデムとは、公衆回線網２８を介して結合される。
【００２６】
タイマＴＭは、現時刻検出用及びＭＰＵ１１に対するタイマ割込用である。
【００２７】
図１３は、本発明の実施例１に係る画像形成装置のソフトウェア階層構造を示す概略ブロック図である。
【００２８】
ＯＳ３０は、そのカーネル、例えばLinuxに、各種ハードウェアのそれぞれに対応したデバイスドライバ３１が組み込まれている。
【００２９】
ＯＳ３０の上層には、ＯＳ３０内の各種機能を利用するためのＡＰＩ３２を介し、ミドルウェアとしての基本サービスプログラム３３が備えられている。基本サービスプログラム３３は、操作パネル制御モジュール３３０と、画像入力モジュールとしてのスキャンモジュール３３１と、入力データを処理するデータ処理モジュールと、処理された画像データを出力する画像出力モジュールとしてのプリントモジュール３３２と、入出力モジュールとを備えている。
【００３０】
操作パネル制御モジュール３３０は、操作パネル１５上に操作釦を表示させ、その押下を検出させるためのものである。入出力モジュールには、ＦＡＸ送受信モジュール３３３、電子メール送受信モジュール３３４及びＨＴＴＰ処理モジュール３３９が含まれる。データ処理モジュールには、ＩＣカード制御モジュール３３５、ＲＦＩＤ制御モジュール３３６、画像データのフォーマットを変換するフォーマット変換モジュール３３７並びに不図示の集約処理モジュール及び頁付モジュール等が含まれる。基本サービスプログラム３３にはさらに、ユーティリティモジュールとして、ファクシミリ及び電子メールの宛先指定に用いられるアドレス帳モジュール３３８が含まれる。
【００３１】
基本サービスプログラム３３の上層には、外部ＡＰＩ３４を介してアプリケーション３５が備えられている。アプリケーション３５は、外部ＡＰＩ３４を介し基本サービスプログラム３３のモジュールを用いて作成されたプログラムである。アプリケーション３５には、コピーモジュール３５０、プリントモジュール３５１、ＦＡＸモジュール３５２、電子メールモジュール３５３、ジョブ管理モジュール３５４及び操作パネルモジュール３５５が含まれている。例えば、コピーモジュール３５０は、スキャンモジュール３３１とプリントモジュール３３２とを組み合わせて構成されている。また、ＦＡＸモジュール３５２は、ＦＡＸ送受信モジュール３３３とアドレス帳モジュール３３８とを組み合わせて構成されている。
【００３２】
画像形成装置１０のソフトウェアはさらに、マクロプログラム３７に対するインタープリタ３８を備えている。このインタープリタ３８は、マクロプログラム３７の命令文を解釈し、外部ＡＰＩ３４、外部ＡＰＩ３６又はＡＰＩ３２を介してそれぞれ基本サービスプログラム３３、アプリケーション３５又はＯＳ３０に含まれている関数を利用することにより、マクロプログラム３７を実行させるためのものである。
【００３３】
マクロプログラム３７には、標準マクロプログラム３７１とユーザマクロプログラム３７２とが含まれる。標準マクロプログラム３７１は、メーカーにより標準的に作成されて予めＰＲＯＭ１３に格納されたものであり、これには例えば、図３（Ａ）に示すような、操作パネル１５上のメインメニュー画面の釦４０〜４４のそれぞれに対応したプログラムが含まれる。ユーザマクロプログラム３７２は、ユーザにより作成されたプログラムであり、これには例えば、図３（Ｂ）に示すような、操作パネル１５上の釦伝票送信釦４６に対応したプログラムが含まれる。ユーザマクロプログラム３７２は、例えばホストコンピュータ２５で作成され、文法チェックされ、ＵＳＢメモリ２４Ａ内にコピーされ、ポート２０を介してＤＲＡＭ１４に読み込まれる。
【００３４】
マクロプログラム３７は、前処理により、その各行に行番号が付される。図５（Ａ）〜（Ｃ）及び図６（Ａ）〜（Ｃ）はユーザマクロプログラム３７２の具体例を示す。
【００３５】
図３（Ａ）に示すユーザアプリケーション釦４４をタッチ（押下又はオン）すると、図３（Ｂ）の"ＵＳＥＲ  ＡＰＰＬＩＣＡＴＩＯＮ"以外の表示及びこれに関係した処理が、図１に示すフローに従って行われる。
【００３６】
図１は、マクロプログラム３７に対するインタープリタ３８の処理を示す概略フローチャートである。
【００３７】
この処理は、タイマ割込により、例えば２０ｍｓｅｃ毎に開始される。以下、括弧内は図中のステップ識別番号である。
【００３８】
（Ｓ０）マクロプログラム３７の次処理対象行番号を示すカウンタＬＣを０に初期設定する。
【００３９】
（Ｓ１）カウンタＬＣが示す行をマクロプログラム３７から読み出し、現行カウンタＣＬＣにＬＣの値を代入し、現行カウンタＣＬＣが示す行のステートメントの次のステートメントの行番号を、次行カウンタＬＣに代入する。ステートメントの区切り記号は、Ｃ言語と同様にセミコロン";"又は閉じ括弧"｝"である。図５（Ａ）の場合、ＬＣ＝０の次はＬＣ＝１、その次は、条件文が成立しなければＬＣ＝７、成立すれば、後述のステップＳ１０でＬＣ＝２となる。
【００４０】
（Ｓ２）ステップＳ１で読み込むべき行が存在しなかった場合には処理を終了し、存在した場合にはステップＳ３へ進む。
【００４１】
（Ｓ３）ステートメントがResetEnd文であればステップＳ４へ進み、そうでなければステップＳ７へ進む。
【００４２】
（Ｓ４）消耗品管理終了を示すエンドフラグＥＦが‘０’であればステップＳ１へ戻り、‘１’であればステップＳ５へ進む。
【００４３】
（Ｓ５）ResetEnd文の括弧内に記述された条件式（ＲＥＣ）の成否を判定し、肯定判定した場合にはステップＳ６へ進み、そうでなければ図１の処理を終了する。
【００４４】
（Ｓ６）エンドフラグＥＦをリセットし、操作パネル１５上の、後述の発注済表示をクリアして、ステップＳ１へ戻る。
【００４５】
（Ｓ７）ＣＬＣの行が条件句であればステップＳ８へ進み、そうでなければステップＳ１１へ進む。
【００４６】
図５（Ａ）の場合、ＬＣ＝１の行"If Toner.Level) "はいずれも条件句である。
【００４７】
後者は、条件句（釦句）"If Button (120, 80, 60, 30, カートリッジ発注 & CrLf & 残り& Toner.Level.ToPages & 枚) is pushed"を省略記載したものである。この省略記載により、条件文のネスト構造が見かけ上隠蔽されるので、マクロプログラム３７が見易くなるとともに、マクロプログラム３７の作成が容易になる。ここで、この釦句を含む条件文（条件文のステートメント）
Button (120, 80, 60, 30, カートリッジ発注 & CrLf & 残り& Toner.Level.ToPages & 枚) {
Order (Toner.RFID To DefaultDealer);
End;
}
の釦句に続く部分は、条件文の処理句であり、この処理句は、中括弧で表記されたブロックの中に、区切り記号";"で区切られた複数のステートメントを含んでいて、ステートメントがネスト構造になっている。
【００４８】
（Ｓ８）現行番号ＣＬＣの行が釦句であればその引数に基づいて釦表示用ビットマップデータを作成し、例えば図３（Ｂ）中の釦４５のように、操作パネル１５上に表示させる。
【００４９】
ＬＣ＝２の釦句の場合、引数(120, 80, 60, 30, カートリッジ発注 & CrLf & 残り& Toner.Level.ToPages & 枚) のうち、（120, 80）は操作パネル１５上での釦の左上頂点のＸ−Ｙ座標であり、（60, 30）は釦の幅及び高さであり、「カートリッジ発注 & CrLf & 残り& Toner.Level.ToPages & 枚」は釦上のテキストである。ここに &は文字の連結演算子であり、 CrLfは復帰改行の制御コードを示しており、Toner.Level.ToPagesは上述のトナー残量検出値を平均印刷枚数で換算したものを示している。釦の表示データ作成処理及び表示処理は、操作パネル制御モジュール３３０及び操作パネルモジュール３５５に含まれる関数を用いて行われる。
【００５０】
この表示処理後に、完了フラグＦＣをセットしておき、次回以降、ステップＳ８でこの完了フラグＦＣがセットされていればこの釦表示用ビットマップデータ作成処理を省略する。
【００５１】
（Ｓ９）条件句中の条件式の成否を判定し、成立していればステップＳ１０へ進み、そうでなければステップＳ１へ戻る。
【００５２】
（Ｓ１０）次行カウンタＬＣの内容を、条件成立時の行番号に変更する。すなわち、ＬＣ＝ＣＬＣ＋１とする。次に、ステップＳ１へ戻る。
【００５３】
（Ｓ１１）現行番号ＣＬＣの行がＥｎｄ文であればステップＳ１３へ進み、そうでなければステップＳ１２へ進む。
【００５４】
（Ｓ１２）現行番号ＣＬＣの行の内容を処理し、ステップＳ１へ戻る。
【００５５】
（Ｓ１３）エンド文Endを実行して、図１の処理を終了する。すなわち、ステップＳ８で表示した操作パネル１５上の釦をクリアし、上記完了フラグＦＣをリセットするとともに、エンドフラグＥＦをセットする。
【００５６】
次に、図１の処理の具体例を、３７２が図５（Ａ）に示すものである場合について説明する。なお、エンドフラグＥＦは‘１’に初期設定されている。
【００５７】
（１）タイマ割込により、まず、ステップＳ０でＬＣ＝０となる。ステップＳ１でＬＣ＝０の行ResetEnd(Toner.Level>Level.High)が読み出され、ＣＬＣ＝０、ＬＣ＝１となる。ステップＳ２、Ｓ３及びＳ４を通ってステップＳ５でResetEnd文の条件式"Toner.Level>Level.High"が判定される。カートリッジ交換直後は、この条件式"Toner.Level>Level.High"が成立し、ステップＳ６でＥＦ＝０となる。ここに閾値Level.Highは、後述の閾値Level.Low1、Level.Low2、・・・とともに、図２に示すように予めＰＲＯＭ１３に格納されている。
【００５８】
ステップＳ１へ戻り、ＬＣ＝１の行"If Toner.Level<Level.Low1 {"が読み出され、ＣＬＣ＝１、ＬＣ＝７となる。ステップＳ２、Ｓ３、Ｓ７、Ｓ８を通りステップＳ９で条件式"Toner.Level<Level.Low1"が否定判定されてステップＳ１へ戻る。ステップＳ１でＬＣ＝７の行が読み出され、これがNullであるので、ステップＳ２で肯定判定されて終了する。
【００５９】
（２）次のタイマ割込で、まず、ステップＳ０においてＬＣ＝０となる。ステップＳ１でＬＣ＝０の行"ResetEnd(Toner.Level>Level.High)"が読み出され、ＣＬＣ＝０、ＬＣ＝１となる。ステップＳ２及びＳ３を通ってステップＳ４で肯定判定されステップＳ１へ戻る。ステップＳ１で、ＬＣ＝１の行"If Toner.Level<Level.Low1 {"が読み出され、ＣＬＣ＝１、ＬＣ＝７となる。ステップＳ２、Ｓ３、Ｓ７、Ｓ８を通りステップＳ９で条件式"Toner.Level<Level.Low1"が否定判定されてステップＳ１へ戻る。ＬＣ＝７の行が読み出され、これがNullであるので、ステップＳ２で肯定判定されて終了する。
【００６０】
その後も、ステップＳ９で否定判定されればこのような処理（２）が行われる。
【００６１】
図４に示すように、時間の経過とともにトナー残量Toner.Levelが低下して、これが、予め設定された閾値Level.Low1未満になると、条件"Toner.Level<Level.Low1"が成立する。
【００６２】
（３）タイマ割込により、まず、ステップＳ０でＬＣ＝０となる。ステップＳ１でＬＣ＝０の行"ResetEnd(Toner.Level>Level.High)"が読み出され、ＣＬＣ＝０、ＬＣ＝１となる。ステップＳ２及びＳ３を通ってＳ４で肯定判定されステップＳ１へ戻る。ステップＳ１で、ＬＣ＝１の行"If Toner.Level<Level.Low1 {"が読み出され、ＣＬＣ＝１、ＬＣ＝７となる。ステップＳ２、Ｓ３、Ｓ７、Ｓ８を通りステップＳ９で条件式"Toner.Level<Level.Low1"が肯定判定されてステップＳ１０へ進む。ステップＳ１０でＬＣ＝２となり、ステップＳ１へ戻る。
ステップＳ１で、ＬＣ＝２の行"Button (120, 80, 60, 30, カートリッジ発注 & CrLf & 残り& Toner.Level.ToPages & 枚) {"
が取り出され、ＣＬＣ＝２、ＬＣ＝７（文の区切り記号の場合には次の行）となり、ステップＳ２、Ｓ３及びＳ７を通ってステップＳ８で、上述のように釦４５の表示用ビットマップデータが作成されてこれが操作パネル１５上に表示されるとともに完了フラグＦＣがセットされる。まだ釦４５の表示範囲(120, 80, 60, 30)内がタッチ（押下）されていないので、ステップＳ９で否定判定され、ステップＳ１へ戻る。
【００６３】
ステップＳ１で、ＬＣ＝７の行Nullが取り出され、ステップＳ２を通って終了する。
【００６４】
その後も、釦４５が押下されなければ、このような処理（３）が行われる。
【００６５】
（４）釦４５が押下されると、ステップＳ９で肯定判定され、ステップＳ１０でＬＣ＝３となり、ステップＳ１へ戻る。
【００６６】
ステップＳ１で、ＬＣ＝３の行"Order (Toner.RFID To DefaultDealer)"が取り出され、ＣＬＣ＝３、ＬＣ＝４となる。ステップＳ２、Ｓ３、Ｓ７及びＳ１１を通って、ステップＳ１２でＣＬＣ＝３の行が処理される。すなわち、Toner.RFIDに含まれるトナーカートリッジ型式と、Orderには隠蔽されているユーザＩＤとを含むＨＴＴＰリクエストメッセージを生成して、ＮＩＣ１８及びインターネット２６を介し、宛先DefaultDealer（例えば図２に示すhttp://km.com:80）であるＷｅｂサーバマシン２７へ送信する。このメッセージのリクエスト行は例えば、
GET /cgi-bin/order.cgi?UserID=21035&Type=KM102 HTTP/1.0
である。ここにUserID=21035は、図２に示すようにＰＲＯＭ１３に予め格納されている。また、Type=KM102は、Toner.RFIDの内容の一部であるトナーカートリッジ型式である。ＨＴＴＰメッセージの送受信は、ＨＴＴＰ処理モジュール３３９及びＯＳ３０を用いて行われる。
【００６７】
Ｗｅｂサーバマシン２７はこのＨＴＴＰリクエストメッセージに応答して、これに含まれるクエリ文字列UserID=21035&Type=KM102を引数とし該メッセージに含まれるパス名/cgi-bin/order.cgiのＣＧＩプログラムを起動させる。これにより、図１４に示すように、受信した日時を受注日時とし、トナーカートリッジ型式、顧客ＩＤ及び発送予定日がテーブルＴＢＬ１に記入される。顧客ＩＤは、上記UserIDと同一である。発送予定日は、該型式をキーとして在庫データベース２９を検索し、その結果得られる在庫状況に基づき決定される。テーブルＴＢＬ１内の完了フラグは、受注時にはリセットされており、発送時にこれがセットされる。
【００６８】
このテーブルＴＢＬ１は、顧客ＩＤ、会社名、住所、担当者名、所属部課名、電話番号、ファクシミリ番号などのフィールドを含む顧客情報テーブルＴＢＬ２とリンクされて、リレーショナルデータベースが構成される。
【００６９】
Ｗｅｂサーバマシン２７は、受注日時を発注日時とし、これとトナーカートリッジの型式と発送予定日とを含むＨＴＴＰリスポンスメッセージを、テンプレートファイルに基づき生成し、画像形成装置１０へ送信する。
【００７０】
画像形成装置１０はこれに応答して、受信したメッセージの内容を、図３（Ｃ）に示すように操作パネル１５に表示させる。
【００７１】
このようなＣＬＣ＝３の行の処理が完了すると、ステップＳ１へ戻り、ＬＣ＝４の行Endが取り出され、ＣＬＣ＝４、ＬＣ＝７となる。ステップＳ２、Ｓ３、Ｓ７及びＳ１１を通って、ステップＳ１３でＣＬＣ＝４の行Endが処理される。すなわち、操作パネル１５上の釦４５の表示がクリアされ、完了フラグＦＣがリセットされるとともに、エンドフラグＥＦがセットされる。
【００７２】
これにより、トナーカートリッジを交換するまでは、タイマ割込により図１の処理が開始されても、ステップＳ４及びＳ５で共に否定判定され、図３（Ｃ）に示す如く、トナーカートリッジ発注釦４５は操作パネル１５に表示されず、発注済みの表示が維持される。
【００７３】
このような処理（４）の後に、図４に示すようにトナーカートリッジを交換すると、ResetEnd文の条件が成立して、上述の処理（１）が行われ、ステップＳ５からステップＳ６へ進み、ＥＦ＝０となり、操作パネル１５上の発注済みの表示がクリアされる。
【００７４】
トナーカートリッジの在庫があるためトナーカートリッジを発注する必要がない場合、トナーカートリッジ交換時に、上述のように電子タグリーダ・ライタ２３の出力が、図１とは別のプログラムに従ってＭＰＵ１１によりに読取られ、これが図２に示すToner.RFIDとしてＤＲＡＭ１４に格納される。この際、該プログラムにより、図１のステップＳ１３と同じ処理が行われる。これにより、次にToner.Level<Level.Low1が成立するまでトナーカートリッジ発注釦４５は操作パネル１５に表示されない。
【００７５】
本実施例１によれば、条件付リセットエンド命令ResetEndと、釦４５の属性とOrder命令との組とが記述されたマクロプログラムを用い、インタープリタ３８に従って、条件付リセットエンド命令ResetEndの条件成否に応じ釦４５のオンを検出し、該オンの検出に応答してOrder命令を実行するので、条件文が実質的にネストしていても、条件に応じてユーザインターフェイスを変更するマクロプログラムの構造が簡単になるという効果を奏する。
【００７６】
また、If文により条件文がさらにネストしても、条件に応じてユーザインターフェイスを変更するマクロプログラムの構造が簡単になるという効果を奏する。
【００７７】
また、アイコンとしての釦４５の属性(120, 80, 60, 30, カートリッジ発注 & CrLf & 残り& Toner.Level.ToPages & 枚) と消耗品発注命令Order (Toner.RFID To DefaultDealer)とが対になって記述された簡単なマクロプログラムの該属性に基づいて操作パネル１５に釦４５を表示させ、そのオンの検出に応答して、該消耗品発注命令に基づきＮＩＣ１８を介し消耗品発注情報を宛先へ送信させるので、簡単なマクロプログラムの記述により、ユーザが容易に消耗品を発注できるとともに、消耗品消耗速度が予測に反して急増し又は急減してもこれに対処できるという効果を奏する。
【００７８】
また釦４５の属性として消耗状態の記述「残り& Toner.Level.ToPages & 枚」が含まれ、検出された消耗状態がこの記述に基づき操作パネル１５に表示されるので、簡単な記述により、適切なタイミングで消耗品を発注できるという効果を奏する。
【００７９】
さらに、釦４５の表示領域(120, 80, 60, 30)内に消耗状態が表示されるので、ユーザの操作性が向上するという効果を奏する。
【００８０】
また、ステップＳ４をステップＳ５の前に配置しているので、エンドフラグＥＦが一旦リセットされればリセットエンド命令ResetEndの条件式が判定されず、トナー残量検出値が機械的振動により変動しても、マクロプログラムを複雑化させることなく釦４５のオン検出を継続して行うことができるという効果を奏する。
【００８１】
また、消耗品発注情報の送信後に、操作パネル１５上に消耗品を発注したことが表示されるので、複数のユーザによる消耗品重複発注を防止できるという効果を奏する。
【００８２】
さらにまた、消耗品発注情報の送信後に、操作パネル１５上の釦４５の表示が削除されるので、操作性が向上するとともに、誤操作や複数のユーザによる消耗品重複発注を防止できるという効果を奏する。
【００８３】
また、マクロプログラムに含まれるエンド命令Endに基づき該削除が行われるので、簡単な記述で該削除を行わせるか否かの選択を行うことができるという効果を奏する。
【００８４】
またトナーカートリッジの型式が電子タグから自動的に読み出されて発注情報として用いられるという効果を奏する。
【００８５】
図５（Ｂ）及び（Ｃ）は、図５（Ａ）と発注形態のみが異なるマクロプログラムを示す。
【００８６】
図５（Ｂ）の場合、カートリッジ発注処理として、
"Fax cartridgeOrderFile.pdf to アドレス帳(dealer1, fax)"が、図１のステップＳ１２において、ＦＡＸモジュール３５２を用いて実行される。このステートメントにより、ファイルcartridgeOrderFile.pdfの内容が、宛先へ送信される。この宛先は、関数であるアドレス帳(dealer1,fax)の戻り値となる。アドレス帳には、宛先毎にファクシミリ番号と電子メールアドレスとが記入されており、引数faxは、引数dealer1で示されるレコードのファクシミリ番号がこの関数の戻り値となることを示している。
【００８７】
図５（Ｃ）の場合、カートリッジ発注処理として、"Email cartridgeOrderFile.pdf to アドレス帳(dealer1,email)"が、図１のステップＳ１２において、電子メールモジュール３５３を用いて実行される。このステートメントにより、ファイルcartridgeOrderFile.pdfの内容が、宛先へ送信される。この宛先は、関数であるアドレス帳(dealer1,email)の戻り値である。引数emailは、引数dealer1で示されるレコードの電子メールアドレスがこの関数の戻り値となることを示している。
【００８８】
図１の処理は、消耗品発注とは無関係なマクロプログラムにも適用可能であり、その具体例を図６（Ａ）〜（Ｃ）に示す。
【００８９】
次に、図６（Ａ）に示すマクロプログラムに対する図１の処理を説明する。
【００９０】
（５）タイマ割込により、まず、ステップＳ０でＬＣ＝０となる。ステップＳ１でＬＣ＝０の行”Button (20, 30, 60, 30, 伝票送信) {”が読み出され、ＣＬＣ＝０、ＬＣ＝５となる。ステップＳ２、Ｓ３及びＳ７を通って、ステップＳ８で図３（Ｂ）に示すような釦４６が表示されるとともに、完了フラグＦＣがセットされる。まだ釦４６の表示範囲(20, 30, 60, 30)内が押下されていないので、ステップＳ９で否定判定され、ステップＳ１へ戻る。ステップＳ１で、ＬＣ＝５の行Nullが取り出され、ステップＳ２を通って終了する。
【００９１】
その後も、釦４６が押下されなければ、このような処理（５）が行われる。
【００９２】
（６）ユーザが画像形成装置１０の原稿台に原稿を載置して釦４６を押下すると、ステップＳ９で肯定判定され、ステップＳ１０でＬＣ＝１となり、ステップＳ１へ戻る。
【００９３】
ステップＳ１で、ＬＣ＝１の行"file.pdf=Scan"が取り出され、ＣＬＣ＝１、ＬＣ＝２となる。ステップＳ２、Ｓ３、Ｓ７及びＳ１１を通って、ステップＳ１２でＣＬＣ＝１の行が処理される。すなわち、スキャナ１７が動作して原稿画像が読み取られ、そのデータがｐｄｆフォーマットに変換されてfile.pdfにされる。
【００９４】
ステップＳ１へ戻り、ＬＣ＝２の行"Fax file.pdf to アドレス帳(本社経理部, fax)"が読み出され、ＣＬＣ＝２、ＬＣ＝３となる。ステップＳ２、Ｓ３、Ｓ７及びＳ１１を通って、ステップＳ１２でＣＬＣ＝２の行が処理される。すなわち、アドレス帳(本社経理部, fax)の戻り値である宛先へ、ファイルfile.pdfの内容が送信される。
【００９５】
ステップＳ１へ戻り、ＬＣ＝３の行"Email file.pdf to アドレス帳(佐々木太郎, email)"が読み出され、ＣＬＣ＝３、ＬＣ＝５となる。ステップＳ２、Ｓ３、Ｓ７及びＳ１１を通って、ステップＳ１２でＣＬＣ＝３の行が処理される。すなわち、アドレス帳(佐々木太郎, email)の戻り値である宛先へ、ファイルfile.pdfが電子メール送信される。例えば、ファクシミリ送信内容の控えが、自分宛へ送信される。
【００９６】
ステップＳ１へ戻り、ＬＣ＝５のNull行が読み出され、ステップＳ２を通って図１の処理を終了する。釦４６は、操作パネル１５上に表示されたままである。
【００９７】
図６（Ｂ）の場合、上述と同じ処理が行われ、電子メール送信後にさらに、End文が処理されて、ステップＳ１３で操作パネル１５上の釦４６の表示がクリアされ、完了フラグＦＣがリセットされるとともに、エンドフラグＥＦがセットされる。
【００９８】
図６（Ｃ）の場合、図６（Ｂ）の処理の前に、ステップＳ１２においてＣＬＣ＝１の行"ResetEnd(ICcardID=KM01)"が処理される。すなわち、ユーザのＩＣカード２４Ｂに格納されている、ユーザＩＤとパスワードを暗号化したものとが、電波を介してＩＣカードリーダ・ライタ２２により読み出される。そして、ＰＲＯＭ１３に登録されている、ユーザＩＤと例えば２回暗号化されているパスワードとが読み出され、後者が１回復号され、両者が照合される。両者のそれぞれが一致し、かつ、ユーザＩＤが、"ICcardID=KM01"のKM01と一致すれば、すなわちIDがKM01のユーザ認証が成功すれば、ResetEnd文の条件が成立したことになり、ステップＳ５で肯定判定され、ステップＳ６でＥＦ＝０となる。その後、図６（Ｂ）の場合と同じ処理が行われる。
【００９９】
前記ユーザ認証が失敗した場合には、ステップＳ５で否定判定されて図１の処理が終了し、釦４６が操作パネル１５上に表示されない。
【０１００】
上述の３７１も、以上説明したような３７２と同様にして作成される。
【実施例２】
【０１０１】
上記実施例１では、マクロプログラム３７が釦の属性の条件句と処理句との組の１ステートメント"Button(属性）{処理命令}"を含む場合に、操作パネル１５上にまず釦をその属性に基づいて表示させ、釦がオンにされた場合に処理命令を実行する構成を説明した。
【０１０２】
しかし、この処理が問題を生起させる場合にも釦が表示されるので、このような場合、釦のオンが問題を生起させないと誤解される虞がある。
【０１０３】
そこで、例えば図１４において、プリンタ１６に認定品以外のトナーカートリッジ１６１が装着されたために印刷に関係するコピー又はプリントが実行されると画像又は装置の品質が劣化する虞がある場合に、コピー釦４０及びプリント釦４１を操作パネル１５上に表示させない構成を、本発明の実施例２として説明する。
【０１０４】
なお、操作パネル１５上でのプリント指示は、例えばＵＳＢメモリ２４Ａに格納されたファイルを選択して行われる。
【０１０５】
プリンタ１６にトナーカートリッジ１６１を装着させると、これが不図示のスイッチにより検出されてＭＰＵ１１に割込がかかり、トナーカートリッジ装着イベントが生成されて、図７に示すトナーカートリッジ装着イベントハンドラの実行が開始される。
【０１０６】
（Ｓ２０）ＭＰＵ１１は、電子タグリーダ・ライタ２３を介して電子タグ１６２からその記憶内容であるＩＤ及びトナー空情報を読み出す。
【０１０７】
（Ｓ２１）このＩＤが、所定のＩＤであれば、トナーカートリッジ１６１が認定品であると判定し、ステップＳ２２へ進み、そうでなければステップＳ２４へ進む。所定のＩＤであるか否かの判定は例えば、ＩＤをある関数に引き渡し、その戻り値が所定値になるか否かにより行う。
【０１０８】
（Ｓ２２）トナー空情報が空であることを示している場合には、非認可業者によりトナーが再充填されたものであって品質が保証できないと判定してステップＳ２４へ進み、そうでなければステップＳ２３へ進む。
【０１０９】
ここで、トナー残量検出器２１によりトナーカートリッジ１６１が空であることが検出された場合、ＭＰＵ１１は電子タグリーダ・ライタ２３を介して電子タグ１６２に、トナーカートリッジ１６１が空であることを示すトナー空情報情報Tonor.Empty（図２参照）をＰＲＯＭ１３書き込む。したがって、トナーカートリッジ１６１が空になった後、トナーカートリッジ１６１をプリンタ１６から取り出して破棄し、非認定業者がこれにトナーを再充填して販売し、ユーザがこれを購入してプリンタ１６に装着した場合には、電子タグ１６２に格納されたＩＤが認定品であることを示していても、非認定業者によりトナーが再充填されたものであると判定することができる。
【０１１０】
（Ｓ２３）図２において、ＰＲＯＭ１３内の変数Permittedの良品フラグＦＧに‘１’をセットし、このイベントハンドラからリターンする。ＦＧ＝‘１’は良品であることが保証されていることを示し、ＦＧ＝‘０’はこの保証がされていないことを示す。
【０１１１】
（Ｓ２４）良品フラグＦＧに‘０’をセットする。
【０１１２】
（Ｓ２５）操作パネル１５上に、図７（Ｂ）に示すような警告を表示させると共に、了解釦４７を表示させる。
【０１１３】
（Ｓ２６）了解釦４７が押下されると、このイベントハンドラからリターンする。
【０１１４】
このような処理により、プリンタ１６へのトナーカートリッジ１６１の装着時に、良品であることが保証されていない場合にユーザに警告を発することができるとともに、その後はトナーカートリッジ１６１の取り替えまで電子タグ１６２の内容を読み出すことなく、良品フラグＦＧの値に応じた処理を行うことができる。
【０１１５】
図８は、図１中のステップＳ８の詳細を示すフローチャートである。
【０１１６】
（Ｓ８０）ＬＣ行が釦句であればステップＳ８１へ進み、そうでなければステップＳ８の処理を終了する。
【０１１７】
（Ｓ８１）この釦句と対になった｛｝内の処理、すなわち釦が押下されたときの処理に、プリント命令（印刷命令）が存在するか否かを調べる。存在すればステップＳ８２へ進み、そうでなければステップＳ８３へ進む。なお、コピーはスキャン命令とプリント命令との組み合わせで表される。
【０１１８】
（Ｓ８２）ＦＧ＝‘１’であればステップＳ８３へ進み、そうでなければステップＳ８の処理を終了する。
【０１１９】
（Ｓ８３）この釦句の釦の表示用ビットマップデータが作成済みか否かを示す完了フラグＦＣが‘１’であればステップＳ８の処理を終了し、そうでなければステップＳ８４へ進む。
【０１２０】
（Ｓ８４）上述のように釦句に記述された釦の属性に基づいて、操作パネル１５上に釦を表示させるためのビットマップデータを作成し、これを操作パネル１５上に表示させ、完了フラグＦＣに‘１’をセットして、ステップＳ８の処理を終了する。
【０１２１】
このような処理により、ＦＧ＝‘１’であれば、例えば図３（Ａ）に示すように釦４０〜４４が表示され、ＦＧ＝‘０’であれば図８（Ｂ）に示すように図３（Ａ）のコピー釦４０及びプリント釦４１が表示されない。これにより、例えば特開２００６−３１３２２６号公報に記載の発明との対比でユーザに過度な警告を行わずに、アイコン非表示の理由をユーザに認知させることができるという効果を奏する。
【０１２２】
図１のステップＳ９において、完了フラグＦＣ＝‘０’であれば、釦の押下が検出されず、ステップＳ１へ戻る。完了フラグＦＣは、上述のように図１のステップＳ１３において、‘０’にセットされる。
【０１２３】
これにより、ＦＧ＝‘０’であればトナーカートリッジ１６１に関係したコピー及びプリントを操作パネル１５上から行うことができず、品質が保証されていないトナーカートリッジ１６１を使用することによる画像や装置の品質劣化を未然に防止することができるという効果を奏する。
【０１２４】
また、ユーザは、コピー又はプリントをしようとしても操作パネル１５上にこれらの釦が存在しないことから、過度な警告をされることなくトナーカートリッジ１６１が非認定品、又はトナー再充填品であることを知得することができるという効果を奏する。
【０１２５】
さらに、インタープリタ３８側で許可情報に基づきアイコンを表示させるか否かを決定しているので、マクロプログラムで許可情報を考慮することなく、したがってユーザマクロプログラム３７２であるか標準マクロプログラム３７１であるかによらず、この決定が自動的に行われるという効果を奏する。
【実施例３】
【０１２６】
図９（Ａ）は、本発明の実施例３に係る、図８（Ａ）に対応したフローチャートである。
【０１２７】
このフローチャートでは、図８のそれにステップＳ８５が付加され、ステップＳ８２で否定判定された場合、ステップＳ８５へ進む。
【０１２８】
（Ｓ８５）釦句の属性に基づいて釦をグレイアウト表示し、ステップＳ８の処理を終了する。
【０１２９】
これにより、ＦＧ＝‘０’の場合、図９（Ｂ）に示すようにコピー釦４０Ａ及びプリント釦４１Ａがグレイアウト表示される。
【０１３０】
他の点は実施例３と同一である。
【０１３１】
この実施例３によっても、実施例２で述べた効果と同様の効果を奏する。
【実施例４】
【０１３２】
上記実施例２及び３では、トナーカートリッジ１６１が非認定品、又は認定品であってもトナー再充填品であった場合に、トナーカートリッジ１６１を使用するコピー及びプリントの機能を使用することができない。
【０１３３】
しかしながら、画像又は装置の品質劣化が生ずることを承知して、ユーザがコピー又はプリントを使用したい場合がある。
【０１３４】
そこで、この実施例４では、コピー又はプリントの使用禁止を解除できるようにすると共に、解除前に操作パネル１５上に警告表示をするように構成している。
【０１３５】
図１０は、本発明の実施例４に係る、図８（Ａ）に対応したフローチャートである。
【０１３６】
このフローチャートでは、図８のそれにステップＳ８６及びステップＳ８７が付加され、ステップＳ８２で否定判定された場合、ステップＳ８６へ進む。
【０１３７】
（Ｓ８６）コピー及びプリントの禁止が解除されたことを示すリリースフラグＦＲが‘１’であればステップＳ８３へ進み、そうでなければステップＳ８７へ進む。このリリースフラグＦＲは、図２に示す変数Permittedに含まれ、初期値は‘０’である。
【０１３８】
（Ｓ８７）図１２（Ａ）に示すような禁止解除釦４８を操作パネル１５上に表示させる。
【０１３９】
図１１（Ａ）は、この禁止解除釦４８の押下によるイベント発生に応答して処理が開始されるイベントハンドラのフローチャートである。
【０１４０】
（Ｓ３０）操作パネル１５上に、図１２（Ｂ）に示すような警告を表示させると共に、了解釦４７Ａ及び「戻る」釦４９を表示させる。
【０１４１】
（Ｓ３１）ユーザは、この警告を容認した場合、了解釦４７を押下し、そうでなければ「戻る」釦４９を押下する。
【０１４２】
（Ｓ３２）了解釦４７が押下された場合にはステップＳ３３へ進み、「戻る」釦４９が押下された場合にはリターンする。このリターンにより、図１２（Ａ）の表示に戻る。
【０１４３】
（Ｓ３３）リリースフラグＦＲに‘１’をセットし、また、図１２（Ａ）に示す禁止解除釦４８を表示させるためのビットマップデータをＤＲＡＭ１４内から削除する。
【０１４４】
ユーザがステップＳ３１で了解釦４７を押下した場合、ステップＳ３３でＦＲ＝‘１’となるので、図１０に示す処理においては、ステップＳ８６からステップＳ８３を通ってステップＳ８４へ進み、操作パネル１５上に釦が通常表示される。
【０１４５】
これにより、図１２（Ｃ）に示すようにコピー釦４０及びプリント釦４１が表示される。
【０１４６】
ユーザがコピー釦４０又はプリント釦４１を押下した場合、図１のステップＳ１２において、図１１（Ｂ）に示す処理が行われる。
【０１４７】
（Ｓ１２０）ＬＣ行がプリント命令の場合には、ステップＳ１２１へ進み、そうでなければステップＳ１２３へ進む。
【０１４８】
（Ｓ１２１）プリント命令を実行する。
【０１４９】
（Ｓ１２２）リリースフラグＦＲに‘０’をセットする。また、プリント命令に関係したコピー釦４０及びプリント釦４１の表示用ビットマップデータをＤＲＡＭ１４内から削除して、ステップＳ１２の処理を終了する。
【０１５０】
（Ｓ１２３）ＬＣ行の命令に対応した他の処理を行い、ステップＳ１２の処理を終了する。
【０１５１】
このような処理により、トナーカートリッジ１６１が非認定品、又は認定品であっても再充填品である場合には、コピー又はプリントの禁止を解除してコピー又はプリントを実行させることができるという効果を奏する。また、この実行が完了した後に、コピー釦４０及びプリント釦４１が操作パネル１５上から消失するので、過度に警告が行われることなく、必要時にのみ警告が行われるという効果を奏する。
【０１５２】
なお、本発明には外にも種々の変形例が含まれる。
【０１５３】
例えば、実施例４において、禁止解除前毎に警告表示しなくてもコピー釦及びプリント釦が非表示であることから、禁止理由を知得できるので、図１１（Ａ）のステップＳ３０を省略してもよい。この場合、警告表示及び了解釦を、マクロプログラムの命令で記述してこれらを追加できるように構成してもよい。
【０１５４】
また、電子タグ１６２の替わりに不揮発性メモリ又はこれを含むワンチップマイクロコンピュータを用い、トナーカートリッジ１６１をプリンタ１６に装着させたときに、このメモリ又はワンチップマイクロコンピュータが光又はコネクタによりインターフェイス１２を介しＭＰＵ１１に結合される構成であってもよい。
【０１５５】
さらに、ユーザマクロプログラム３７２は入力インターフェイスを介して画像形成装置に格納されればよく、フラッシュメモリカード等の他のリブーバブルメモリや通信手段の入力インターフェイスを介する構成であってもよい。
【０１５６】
また、マクロプログラム３７及びインタープリタ３８を用いる替わりに、本実施例の機能を例えば図１３の操作パネルモジュール３５５に組み込んだ構成であってもよい。
【０１５７】
さらに、上記実施例では消耗品が認定品でない場合にその使用を禁止し又は禁止解除する場合を説明したが、本発明は、処理が禁止され、好ましくない又は不可能の場合（これらの上位概念として、「許可されていない場合」）にその処理に対応した釦を操作パネル上に表示させない構成であればよい。例えば、特定のユーザ又はグループについてはファクシミリ送信を認める必要が無く、セキュリティ確保上これを禁止した方が好ましい場合にも本発明を適用できる。この場合、現在ログインしているユーザ又はグループのＩＤをキーとして、ユーザ又はグループのＩＤと禁止処理とを対応させたテーブルを参照し、このユーザ等に禁止されている処理に対応した釦を、操作パネル上で非表示にする構成であってもよい。このようにすれば、表示されるアイコン数が低減するので、見易くなり、操作性が向上する。
【０１５８】
また、操作パネル１５に表示させるアイコンの形状は釦に限定されず、様々な形状のアイコンを用いてもよい。
【０１５９】
また、画像形成装置１０の操作パネル１５の替わりに、ホストコンピュータ２５をリモートコンソールとして用いる構成であってもよい。この場合、ホストコンピュータ２５での操作パネルはプリンタドライバ等のドライバに組み込まれたＧＵＩプログラムで表示させることができ、また、この操作パネル上のアイコンは例えばマウスのクリックによりオンにされる（選択される）。
【図面の簡単な説明】
【０１６０】
【図１】本発明の実施例１に係る画像形成装置に格納されている、マクロプログラムに対するインタープリタの処理を示す概略フローチャートである。
【図２】この画像形成装置のＰＲＯＭ及びＤＲＡＭに格納されているデータの一部説明図である。
【図３】（Ａ）は該画像形成装置の操作パネル上のメインメニュー画面を示す図であり、（Ｂ）は（Ａ）の"ＵＳＥＲ  ＡＰＰＬＩＣＡＴＩＯＮ"釦を選択したときに表示されるメニュー画面を示す図であり、（Ｃ）は（Ｂ）の釦４０を選択した後の画面を示す図である。
【図４】時間の経過に対するトナー残量のグラフを示す、図１の処理説明図である。
【図５】（Ａ）〜（Ｃ）はトナーカートリッジ発注に関するマクロプログラムの具体例を示す図である。
【図６】（Ａ）〜（Ｃ）は伝票のスキャン、ファクシミリ送信及び電子メール送信に関するマクロプログラムの具体例を示す図である。
【図７】本発明の実施例２に係り、（Ａ）はトナーカートリッジ装着イベントハンドラのフローチャートであり、（Ｂ）は（Ａ）のステップＳ２５の説明図である。
【図８】（Ａ）は図１中のステップＳ８の詳細を示すフローチャートであり、（Ｂ）は（Ａ）の処理の説明図である。
【図９】（Ａ）は本発明の実施例３に係る、図８（Ａ）に対応したフローチャートであり、（Ｂ）は（Ａ）の処理の説明図である。
【図１０】本発明の実施例４に係る、図８（Ａ）に対応したフローチャートである。
【図１１】（Ａ）は禁止解除釦押下によるイベント発生に応答して処理が開始されるイベントハンドラのフローチャートであり、（Ｂ）は図１のステップＳ１２の詳細フローチャートである。
【図１２】（Ａ）〜（Ｃ）は図１０及び図１１の処理説明図である。
【図１３】本発明の実施例に係る画像形成装置のソフトウェア階層構造を示す概略ブロック図である。
【図１４】本発明の実施例に係る画像形成装置のハードウェア構成を示す概略ブロック図である。
【符号の説明】
【０１６１】
１０、１０１〜１０ｍ  画像形成装置
１１  ＭＰＵ
１２  インターフェイス
１３  ＰＲＯＭ
１４  ＤＲＡＭ
１５  操作パネル
１６  プリンタ
１６１  トナーカートリッジ
１６２  電子タグ
１７  スキャナ
１８  ＮＩＣ
１９  ＦＡＸモデム
２０  ポート
２１  トナー残量検出器
２２  ＩＣカードリーダ・ライタ
２３  電子タグリーダ・ライタ
２４Ａ  ＵＳＢメモリ
２４Ｂ  ＩＣカード
２５、２５２〜２５ｎ  ホストコンピュータ
２５１  ファイルサーバ
２６  インターネット
２６Ｌ  ＬＡＮ
２７  Ｗｅｂサーバマシン
２８  公衆回線網
３０  ＯＳ
３１  デバイスドライバ
３２  ＡＰＩ
３３  基本サービスプログラム
３３０  操作パネル制御モジュール
３３１  スキャンモジュール
３３２  プリントモジュール
３３３  ＦＡＸ送受信モジュール
３３４  電子メール送受信モジュール
３３５  ＩＣカード制御モジュール
３３６  ＲＦＩＤ制御モジュール
３３７  フォーマット変換モジュール
３３８  アドレス帳モジュール
３３９  ＨＴＴＰ処理モジュール
３４、３６  外部ＡＰＩ
３５  アプリケーション
３５０  コピーモジュール
３５１  プリントモジュール
３５２  ＦＡＸモジュール
３５３  電子メールモジュール
３５４  ジョブ管理モジュール
３５５  操作パネルモジュール
３７  マクロプログラム
３７１  標準マクロプログラム
３７２  ユーザマクロプログラム
３８  インタープリタ
４０、４０Ａ  コピー釦
４１、４１Ａ  プリント釦
４２  ファクシミリ釦
４３  電子メール釦
４４  ユーザアプリケーション釦
４５  カートリッジ発注釦
４６  伝票送信釦
４７、４７Ａ  了解釦
４８  禁止解除釦
ＴＢＬ１、ＴＢＬ２  テーブル
【図１】
0005171208.tif 000002
【図２】
0005171208.tif 000003
【図３】
0005171208.tif 000004
【図４】
0005171208.tif 000005
【図５】
0005171208.tif 000006
【図６】
0005171208.tif 000007
【図７】
0005171208.tif 000008
【図８】
0005171208.tif 000009
【図９】
0005171208.tif 000010
【図１０】
0005171208.tif 000011
【図１１】
0005171208.tif 000012
【図１２】
0005171208.tif 000013
【図１３】
0005171208.tif 000014
【図１４】
0005171208.tif 000015