説明

情報処理装置及び対応情報追加プログラム

【課題】 装置内部の情報を取得・設定するためのプログラムを格納しても、フラッシュROMの空き容量減少を抑制でき、他のプログラム等が有効利用できるようにする。
【解決手段】 ホストからのPJLコマンドに応じた処理を実行するためのPJL処理プログラム70は、主として、PJLコマンドを認識するコマンド・オプション認識プログラム72と、PJLコマンドによる要求に対応可能な情報名(オプション名)がその情報の所在と関連づけられてリストアップされたオプション辞書76と、要求対象の情報がオプション辞書76にある場合にその要求に応じた処理を実行するオプション実行プログラム74とにより構成されている。このうち、オプション辞書76はフラッシュROM76に格納されるが、変更される可能性がほとんどない普遍的なコマンド・オプション認識プログラム72及びオプション実行プログラム74は、マスクROM14に格納される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、外部からの要求に応じて装置内部の情報を取得・変更し、取得要求であればその要求元へ要求された情報を返答することができる情報処理装置と、その情報処理装置で用いられる対応情報追加プログラムに関する。
【背景技術】
【0002】
従来より、シリアルプリンタ、ページプリンタ等の印刷装置においては、印刷処理全般にかかわる各種プログラム・パラメータ等がファームウェアとしてROMに格納され、これらに基づいて各種動作が行われている。
【0003】
このような印刷装置として、記憶されたデータの書き換えが不可能なマスクROMと、書き換え可能なフラッシュROM(不揮発性)との2種類のROMを有し、最低限の初期動作が可能な状態に制御する初期動作プログラムやフラッシュROM内のプログラムを更新するための書き換えプログラム等についてはマスクROMへ格納し、印刷処理に関する各種制御プログラムについてはフラッシュROMへ格納する技術が知られている(例えば、特許文献1参照。)。
【0004】
この技術によれば、仮にフラッシュROM内の制御プログラムに異常が生じても、マスクROM内の初期動作プログラムによって少なくとも最低限の初期動作は可能となる。また、制御プログラムはフラッシュROMにあるため、必要に応じて制御プログラムの変更・追加・削除などが可能となる。
【0005】
ところで、変更・追加・削除等を行う可能性のある制御プログラムの一つに、PJLコマンドを解析して所定の処理を実行するプログラム(以下「PJL処理プログラム」という)がある。このPJL処理プログラムは、例えば印刷装置と通信可能に接続されたコンピュータから、印刷装置内の各種情報を取得するためのプリンタジョブ言語(PJL;Printer Job Language)で記述されたコマンド(以下「PJLコマンド」ともいう)をプリンタ側で受信したときに、そのコマンドに応じて情報の返答あるいは内部情報の変更などを行うためのものである。そして、コマンドに応じて印刷装置からコンピュータ側へ返答された情報は、コンピュータ側でリードバックされることとなる。
【0006】
PJLは、印刷装置が備える各種機能の制御を可能とするコマンド言語であり、Hewlett-Packard 社において開発され、その後他社でも採用された周知のものである。なお、このPJLコマンドには、印刷装置のメーカーや機種の違いなどに応じて独自拡張されて多種多様な仕様がある。
【0007】
このPJL処理プログラムには、PJLコマンドに対応可能な印刷装置内の情報とその情報の所在を示す所在情報とが関連づけられて登録された辞書(テーブル)があるが、その辞書に登録されている情報以外の新たな情報を取得したり設定変更できるようにしたい場合は、その新たな情報について情報名とその所在情報との関連づけなどをPJL処理プログラムに(詳細には辞書に)新規に追加する必要がある。つまり、PJL処理プログラムは、ユーザや使用状況等によってその内容が変更される可能性があるプログラムである。
【0008】
そのため、PJL処理プログラムは、後から必要に応じて変更することができるよう、マスクROMではなく、記憶内容を書き換え可能なフラッシュROMに格納するようにしている。
【特許文献1】特開平10−289077号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
しかしながら、近年、印刷装置の機能が多様化・高機能化する傾向が進む中で、フラッシュROMには、上記PJL処理プログラム以外の様々なプログラムやデータが蓄積される傾向がある。その結果、フラッシュROMの容量が不足気味となり、場合によっては印刷装置の多機能化を阻害するおそれもある。
【0010】
このようなフラッシュROMの容量不足を解消すべく、より容量の大きいフラッシュROMを用いることももちろん技術的には可能であり、そうすれば上記問題は解決できるのであるが、容量の大きいフラッシュROMを用いると当然ながらコストも上昇することとなる。そのため、コスト対効果の関係で、単純にフラッシュROMの容量を増やすことで解決することは現実的ではなく、フラッシュROM全体の容量を増加させることなく上記問題を解決することが望まれていた。
【0011】
本発明は上記課題に鑑みなされたものであり、装置内部の情報を取得・設定するためのプログラムを格納することによる、フラッシュROM等の書き換え可能なROMの空き容量減少を抑制して、その書き換え可能なROMを他のプログラム等が有効に利用できるようにすることを目的とする。
【課題を解決するための手段】
【0012】
上記課題を解決するためになされた請求項1記載の発明は、プログラムが記憶された記憶手段と、その記憶手段に記憶されたプログラムに基づいて装置全体の制御を実行する制御手段とを備えた情報処理装置であって、前記プログラムとして、当該情報処理装置に関する情報であるデバイス情報の取得又は設定を要求するコマンドに対し、その要求されたデバイス情報の取得又は設定を行うためのコマンド処理プログラムを有する。
【0013】
このコマンド処理プログラムは、テーブル部と解析プログラム部とを有している。テーブル部は、コマンドによる要求に対応可能なデバイス情報の種類を示すデバイス情報名が、対応するデバイス情報の所在を示す所在情報と関連付けられてリストアップされたものであり、解析プログラム部は、コマンドの内容を解析し、要求対象のデバイス情報に対応した所在情報をテーブル部に基づいて取得するためのものである。
【0014】
また、記憶手段として、記憶内容を書き換え不可能な第1の記憶手段と、記憶内容を書き換え可能な第2の記憶手段とを有しており、解析プログラム部は第1の記憶手段に記憶され、テーブル部は第2の記憶手段に記憶されている。
【0015】
このように構成された請求項1記載の情報処理装置では、コマンド処理プログラム全体が第2の記憶手段に記憶されるのではなく、コマンド処理プログラム中のテーブル部については第2の記憶手段に記憶させることにより後から変更等できるようにするものの、解析プログラム部については第1の記憶手段に記憶させている。そして、制御手段は、コマンドが入力された場合、第1の記憶手段に記憶された解析プログラム部に基づいてそのコマンドを解析し、要求されているデバイス情報の所在情報を、第2の記憶手段に記憶されているテーブル部に基づいて取得することとなり、これにより、要求されているデバイス情報へアクセスして所定の処理(取得或いは設定など)を行うこととなる。
【0016】
従って、請求項1記載の情報処理装置によれば、コマンド処理プログラムのうち解析プログラム部については第1の記憶手段に記憶させているため、その分、第2の記憶手段におけるコマンド処理プログラムが占める領域を低減でき、第2の記憶手段を他のプログラム等が有効に利用できるようになる。
【0017】
なお、既にテーブル部にリストアップされているデバイス情報名に対応したデバイス情報以外に新たなデバイス情報を取得又は設定できるようにするには、解析プログラム部を変更する必要はなく、例えば、その新たなデバイス情報を示すデバイス情報名とその所在情報との関連づけがなされた新たなテーブル部を、元のテーブル部に代えて第2の記憶手段に記憶させるようにすればよい。つまり、第2の記憶手段に記憶されているテーブル部を書き換えるのである。このようにすれば、その新たに取得又は設定できるようになったデバイス情報を対象としたコマンドが入力された場合、制御手段は、解析プログラム部を実行することにより新たなテーブル部に基づいてその新たなデバイス情報の所在情報を取得し、その所在情報をもとに要求対象のデバイス情報へアクセスすることになる。
【0018】
上記構成の情報処理装置は、例えば請求項2に記載のように、解析プログラム部が、要求対象のデバイス情報に対応したデバイス情報名がテーブル部にリストアップされているか否かを判断するよう構成されており、コマンド処理プログラムは、要求対象のデバイス情報に対応したデバイス情報名と関連づけられている所在情報に基づいて、そのデバイス情報についてコマンドの内容に応じた処理を実行するための実行プログラム部を有し、制御手段は、解析プログラム部を実行することにより、要求対象のデバイス情報に対応したデバイス情報名がテーブル部にリストアップされていると判断した場合、その要求対象のデバイス情報に対して実行プログラム部を実行するものとして構成してもよい。
【0019】
つまり、コマンド処理プログラムは、解析プログラム部及びテーブル部のほかに実行プログラム部を有しており、制御手段は、解析プログラム部に基づいて要求対象のデバイス情報の所在情報を取得したとき、実行プログラム部に基づいて、そのデバイス情報に対するコマンド内容に応じた処理を実行するのである。
【0020】
従って、請求項2記載の情報処理装置によれば、解析プログラム部と実行プログラム部を制御手段が実行することで、要求されたコマンドを確実に処理することができる。
そして、このようにコマンド処理プログラムが実行プログラム部を有している場合、その実行プログラム部は、例えば請求項3に記載のように、第1の記憶手段に記憶されるようにするとよい。
【0021】
このようにすれば、書き換え可能な第2の記憶手段におけるコマンド処理プログラムが占める領域をさらに低減でき、第2の記憶手段を他のプログラム等がより有効に利用できるようになる。
【0022】
一方、コマンド処理プログラムが実行プログラム部を有している場合であって、その実行プログラム部が、コマンドによる要求対象のデバイス情報が予め決められた特定デバイス情報であった場合に、コマンドの内容に応じた処理に加え、その特定デバイス情報に対して予め設定された特定処理を行うよう構成されている場合は、例えば請求項4に記載のように、実行プログラム部のうち少なくとも上記特定処理を行うための部分は、第2の記憶手段に記憶されるようにするとよい。
【0023】
このように構成された情報処理装置によれば、少なくとも解析プログラム部が第1の記憶手段に記憶されている分、他のプログラム等による第2の記憶手段の有効利用を実現しつつ、特定処理の内容については、フレキシブルに対応(追加・変更・削除等)することが可能となり、第2の記憶手段の有効利用とプログラム変更のフレキシブル性とを兼ね添えた情報処理装置の提供が可能となる。
【0024】
そしてこのように特定処理を行うための部分が第2の記憶手段に記憶されている場合、例えば請求項5に記載のように、その他の部分(実行プログラム部のうち上記特定処理を行うための部分以外の部分)は第1の記憶手段に記憶されるようにするとよい。
【0025】
このようにすれば、コマンド処理プログラムのうち、解析プログラム部と、実行プログラム部における特定処理を行うための部分以外の部分については、第1の記憶手段に記憶されることとなるため、第2の記憶手段をより有効に利用できるようになる。
【0026】
ここで、請求項1〜5いずれかに記載の情報処理装置は、例えば請求項6に記載のように、デバイス情報が格納されたデバイス情報格納手段を備え、テーブル部においてデバイス情報名と関連づけられている所在情報は、上記デバイス情報格納手段におけるデバイス情報の所在を示すものであり、制御手段は、コマンド処理プログラムに従って、テーブル部において関連づけられている所在情報に基づいてデバイス情報格納手段へアクセスすることにより、コマンドの内容に応じた処理を行うように構成することができる。
【0027】
このように構成された情報処理装置によれば、制御手段は、コマンド処理プログラムを実行することで、テーブル部の所在情報に基づいてデバイス情報格納手段に格納されたデバイス情報へ確実にアクセスでき、所望の(コマンドによる要求対象の)デバイス情報を確実に取得又は設定することができる。
【0028】
ところで、テーブル部においてはじめからリストアップされているデバイス情報名に対応したデバイス情報だけでなく、場合によっては、他のデバイス情報についても取得又は設定できるようにする必要が生じることも考えられる。
【0029】
その場合は、例えば請求項7に記載のように、コマンドによる要求に対応可能なデバイス情報を新たに追加すべき旨の追加指令に従って、その追加指令対象のデバイス情報を示すデバイス情報名とそのデバイス情報の所在を示す所在情報とを関連づけた追加テーブルを生成する対応情報追加手段を備えるようにし、解析プログラム部は、要求対象のデバイス情報の所在情報を、テーブル部及び追加テーブルに基づいて取得するように構成するとよい。
【0030】
つまり、コマンドによる要求に対応可能なデバイス情報を新規追加する際は、対応情報追加手段が追加テーブルを生成することにより行うのである。そして、その新たに追加したデバイス情報に対するコマンドが入力されたときは、制御手段が解析プログラム部を実行することで、追加テーブルに基づいてその要求されたデバイス情報の所在情報を取得でき、ひいてはそのデバイス情報へアクセスすることができる。
【0031】
従って、上記構成の情報処理装置によれば、新たに取得又は設定したい(或いはする必要がある)デバイス情報がある場合、そのデバイス情報を示すデバイス情報名とその所在情報とを関連づけて追加テーブルに登録するだけでよいため、取得又は設定可能なデバイス情報を容易に追加することが可能となる。
【0032】
そしてこの場合も、例えば請求項8に記載のように、デバイス情報が格納されたデバイス情報格納手段を備え、テーブル部及び追加テーブルにおいてデバイス情報名と関連づけられている所在情報は、デバイス情報格納手段における所在を示すものであり、制御手段は、コマンド処理プログラムに従って、テーブル部又は追加テーブル部において関連づけられている所在情報に基づいてデバイス情報格納手段へアクセスすることにより、コマンドの内容に応じた処理を行うように構成することができる。
【0033】
このように構成された情報処理装置によれば、制御手段は、コマンド処理プログラムを実行することで、テーブル部及び追加テーブル部の所在情報に基づいてデバイス情報格納手段に格納されたデバイス情報へ確実にアクセスでき、所望のデバイス情報を確実に取得又は設定することができる。
【0034】
また、上記のように情報処理装置が対応情報追加手段を備える場合は、例えば請求項9に記載のように、追加テーブルが格納される追加テーブル格納手段を備え、対応情報追加手段による追加テーブルの生成は、追加テーブルを追加テーブル格納手段へ格納することにより行われるようにするとよい。
【0035】
このように、追加テーブルを追加テーブル格納手段に格納することで、対応情報追加手段は追加テーブルを確実に生成することができる。また、その生成した追加テーブルは追加テーブル格納手段にて確実に保持されることとなる。
【0036】
また、上記のように情報処理装置が対応情報追加手段を備える場合は、例えば請求項10記載のように、追加指令には、追加すべきデバイス情報に対応したデバイス情報名及び所在情報が含まれており、対応情報追加手段は、追加指令に含まれているデバイス情報と所在情報に基づいて追加テーブルを生成するよう構成されたものであるとよい。
【0037】
このように構成された情報処理装置によれば、追加指令として送られてくるデバイス情報名と所在情報とを関連づけて追加テーブルを生成するだけでよいため、追加テーブルを容易に生成することができる。
【0038】
ここで、対応情報追加手段は、例えば別途ハードウェアにより実現することができるなど、種々の方法により実現可能であるが、例えば請求項11に記載のように、コンピュータを対応情報追加手段として機能させるための対応情報追加プログラムを有し、その対応情報追加プログラムを制御手段が実行することにより、対応情報追加手段としての機能が実現されるようにしてもよい。
【0039】
そして、上記のように制御手段が対応情報追加プログラムを実行することにより対応情報追加手段としての機能が実現されるよう構成された情報処理装置においては、例えば請求項12に記載のように、対応情報追加プログラムが、コマンド処理プログラムの一部として組み込まれ、第1の記憶手段に記憶されたものであるとよい。
【0040】
このように、対応情報追加プログラムも第1の記憶手段に記憶されることで、第2の記憶手段の空き容量を圧迫することなく、取得又は設定可能な新たなデバイス情報を容易に追加することが可能となる。
【0041】
そして、上記各請求項1〜12いずれかに記載の情報処理装置は、例えば請求項13に記載のように、外部機器との間でデータの送受信が可能であって、その外部機器からコマンドが入力されるよう構成されていてもよい。つまり、外部機器からコマンドが入力されたとき、制御手段がコマンド処理プログラムを実行してその入力されたコマンドに対する各種処理を行うのである。
【0042】
このように構成された情報処理装置によれば、情報処理装置に関する情報であるデバイス情報を外部機器が取得することができ、外部機器からコマンドを送信することで情報処理装置のデバイス情報を設定することができるようになる。
【0043】
また、請求項7〜12いずれかに記載のような、対応情報追加手段を備える情報処理装置においては、例えば請求項14に記載のように、外部機器との間でデータの送受信が可能であって、外部機器からコマンド及び追加指令が入力されるよう構成されていてもよい。
【0044】
このように構成された情報処理装置によれば、デバイス情報の取得又は設定を外部機器から行うことができるようになる。加えて、外部機器からの指示(追加指令)によって、取得又は設定可能なデバイス情報を新たに追加することができるようになる。
【0045】
ところで、上述した各情報処理装置としては、例えば、コピー機能を備えた装置、イメージスキャナ機能を備えた装置、或いはファクシミリ機能を備えた装置など、多種多様の装置が考えられるが、例えば請求項15のように画像形成機能を備えた装置であってもよい。即ち、入力される印刷データに基づいて被記録媒体へ画像を形成する画像形成手段を備えたものであって、コマンドによる要求に対応可能なデバイス情報として、画像形成手段の動作に関わる情報を含むようにすることができる。
【0046】
このように構成された情報処理装置によれば、画像形成手段の動作に関する各種情報を取得又は設定することができ、画像形成手段による機能を効果的に利用できる。
また、第1の記憶手段および第2の記憶手段の具体例としては、種種の態様が考えられるが、例えば請求項16に記載のように、第1の記憶手段はマスクROMであり、第2の記憶手段はフラッシュROMであるとよい。
【0047】
このようにすることで、コマンド処理プログラムのうちマスクROMに記憶される部分については電源の有無等にかかわらず確実に記憶させることができる。また、コマンド処理プログラムのうちフラッシュROMに記憶される部分については、電源の有無等にかかわらず記憶内容を保持しつつ必要に応じてその記憶内容を書き換えることができる。加えて、フラッシュROMは、書き換え可能なROMの中でも比較的容量が大きく安価であるため、情報処理装置全体のコストダウンにも寄与することができる。
【0048】
次に、請求項17に記載の発明は、コンピュータを、請求項7〜10いずれかに記載の情報処理装置における対応情報追加手段として機能させるための、対応情報追加プログラムである。
【0049】
尚、コンピュータを対応情報追加手段として機能させるための対応情報追加プログラムは、例えば、ROMやバックアップRAMに記憶させておいてこのROMあるいはバックアップRAMをコンピュータに組み込んで用いることができる。この他、例えば、フロッピー(登録商標)ディスク、光磁気ディスク、CD−ROM、ハードディスク等のコンピュータ読み取り可能な記録媒体に記録し、必要に応じてコンピュータにロードして起動することにより用いるようにすることもできる。
【発明を実施するための最良の形態】
【0050】
以下に、本発明の好適な実施形態を図面に基づいて説明する。
[第1実施形態]
図1は、本実施形態の印刷システム1の概略構成を示すブロック図である。図1に示す如く、本実施形態の印刷システム1は、複合機10とホストコンピュータ(以下単に「ホスト」という)50とが通信ケーブル2を介して相互にデータ送受信可能に接続されている。
【0051】
複合機10は、本発明の情報処理装置に相当するものであり、電話回線網60を介して音声通話を実現する電話機能、電話回線網60を介して画像の送受信を行うファクシミリ機能、用紙の画像を画像データとして読み取るスキャナ機能、画像データで示される画像を用紙に印刷するプリンタ機能などを有している。
【0052】
そして、この複合機10では、CPU12、マスクROM14、フラッシュROM16、EEPROM18、RAM20、プリンタ部22、スキャナ部24、ユーザインターフェイス26、メディアドライブ28、ホストインターフェイス30、モデム32、回線制御部34などが、バス38を介して接続されており、更に、上記回線制御部34には、ハンドセット36が接続されている。
【0053】
CPU12は、本発明の制御手段に相当するものであり、マスクROM14やフラッシュROM16に記憶されている各種プログラム・データ等に従い、処理結果をRAM20に記憶させながら、複合機10の各構成要素にバス38経由で指令を送ることによって、複合機10全体の動作を制御する。
【0054】
マスクROM14は、記憶内容の書き換えが不可能な周知のROMであり、後述するコマンド・オプション認識プログラムの他、当該複合機10を起動させるブートプログラムや、プリンタ機能において用いられるフォントデータなどが記憶されている。
【0055】
フラッシュROM16は、記憶内容の書き換えが可能な周知のROMであり、後述するオプション辞書の他、ホスト50からの印刷データを解析するためのプログラムや、上述した各種機能を実現するための各種プログラムやデータ等が記憶されている。
【0056】
EEPROM18も、記憶内容の書き換えが可能な周知の不揮発性メモリであり、CPU12が各種処理を実行する際に必要な制御パラメータが記憶されているほか、ユーザ入力にて登録される電話番号・ファクシミリ番号などの各種情報も記憶される。さらに、当該複合機10の動作状態や各種設定内容を示す情報(後述するオプションバリュー)も記憶されており、後述するように、ホスト50からの要求に従ってこれら情報がホスト50側へ返答されたり、ホスト50からの要求に従って設定内容が更新される。
【0057】
RAM20は、電源が供給されている間にのみ記憶内容を保持可能な周知の揮発性メモリであり、CPU12が各種処理を実行する際のワークエリアとして利用される他、当該複合機10の起動時にEEPROM18に記憶された上記オプションバリューがコピーされる。そして、複合機10の動作中は、基本的にはこのRAM20にコピーされたオプションバリューに従って動作することとなる。
【0058】
プリンタ部22は、本発明の画像形成手段に相当するものであり、CPU12からの指令を受けて、図示しない給紙部にセットされた用紙への画像の印刷(即ち被記録媒体への画像形成)を行う。
【0059】
スキャナ部24は、CPU12からの指令を受けて、図示しない読取部にセットされた用紙からその用紙上の画像を読み取ると共に、その読み取った画像のイメージデータを生成する。
【0060】
なお、本複合機10は、スキャナ部24で読み取った画像をプリンタ部22にて印刷する、いわゆるコピー機能も備えている。
ユーザインターフェイス26は、文字や数字、記号などを入力可能な複数の操作ボタンなどからなる操作パネル42と、CPU12からの指令を受けて各種情報を表示する表示パネル(LCDパネル)44と、スピーカ及びこのスピーカを駆動する駆動回路からなるスピーカ部46とを備えている。
【0061】
ホストインターフェイス30は、当該複合機10を通信ケーブル経由で別のコンピュータシステムと接続するためのインターフェイスであり、本実施形態では、既述の通り、複合機10とホスト50とが通信ケーブル2を介して相互に接続されている。
【0062】
モデム32は、CPU12からの指令を受けて、スキャナ部24で生成されたイメージデータを変調して電話回線網60を伝送可能な画像信号を生成すると共に、電話回線網60から回線制御部34を介して入力された画像信号を復調してイメージデータを生成する。なお、ハンドセット36は、複合機10本体から取り外して使用する送受話器である。
【0063】
回線制御部34は、電話回線網60からの各種信号の入力および電話回線網60への信号の出力を行うと共に、CPU12の指令を受けて、電話回線網60との間で入出力する信号の伝送先および伝送元となる伝送経路を設定する。
【0064】
メディアドライブ28は、各種メモリカード29を着脱可能であり、装着されたメモリカード29へのデータの記録および読み出しを行う装置である。なお、ここでいう「メモリカード」とは、例えば、コンパクトフラッシュ(登録商標。以下同様。以下「CF」と略す)、スマートメディア(登録商標)、メモリスティック(登録商標)、マルチメディアカード、SDメモリカードなどのことである。
【0065】
ホスト50は、本発明の外部機器に相当するものであり、図示は省略したものの、CPU、ROM、RAM、ハードディスク、キーボード、マウス、ディスプレイなどにより構成された周知のコンピュータシステムである。そして、このホスト50が備えるハードディスクには、各種アプリケーションソフトの他、複合機10におけるスキャナ機能を利用するためのスキャナ用プログラム、プリンタ機能を利用するためのプリンタドライバなどが組み込まれているほか、必要に応じて後述するPJLコマンドを生成し、複合機10へ送信するためのプログラムも組み込まれている。ホスト50は、このPJLコマンドを複合機10へ送信することにより、複合機10における各種情報(既述のオプションバリュー)の取得や設定を要求することができる。
【0066】
そして、本実施形態の複合機10は、プリンタジョブ言語(PJL)に対応したものであり、当該複合機10には、ホスト50側から送信されたPJLコマンドを解釈してそのコマンドに応じた処理(要求された情報の取得又は設定など)を行うためのPJL処理プログラムが、マスクROM14とフラッシュROM16とに分割されて格納されている。図2に、マスクROM14、フラッシュROM16、EEPROM18、及びRAM20における、PJL処理に関わるプログラム・データの格納状態を示す。
【0067】
図2に示す如く、本実施形態では、ホスト50から送信されてくるPJLコマンドに対応するためのPJL処理プログラム70が、主として、コマンド・オプション認識プログラム72と、オプション実行プログラム74と、オプション辞書76とにより構成されている。このうち、コマンド・オプション認識プログラム72とオプション実行プログラム74はマスクROM14に格納され、オプション辞書76はフラッシュROMに格納されている。つまり、PJL処理プログラム70が、マスクROM14とフラッシュROM16とに分割されて格納されているのである。
【0068】
このうち、コマンド・オプション認識プログラム72は、ホスト50側からのPJLコマンドを認識してどのような要求がなされているか、どのような処理をすべきかを解析するためのものである。また、このコマンド・オプション認識プログラム72は、PJLコマンドによる要求対象の情報がオプション辞書76にリストアップされているか否かを判断する処理、更には、リストアップされている場合にその情報がEEPROM18のどこに格納されているかの所在情報をオプション辞書76に基づいて取得する処理などを行うためのプログラムでもある。
【0069】
なお、本実施形態の複合機10が認識できるコマンドは、図3(a)に示すようなコマンドリストとしてマスクROM14に記憶されている。各コマンドの詳細については後述する。
【0070】
PJL処理プログラム70のうち、オプション辞書76は、PJLコマンドによる要求に対応可能な情報の種類を示す情報名が、対応する情報の所在を示す所在情報などと関連づけられてリストアップされたテーブルである。尚、情報名とそれに対応する情報(オプション)の取りうる値の範囲とが関連づけられてリストアップされる場合もある。
【0071】
具体的には、図3(b)に示すように、情報名としてのオプション名と、その情報に対応したEEPROM18のID(EEPROM_ID)とが関連づけられてリストアップされている。例えば、コピー機能におけるコピー枚数を示すオプション名“COPIES”と、そのオプションの実際の設定値(オプションバリュー)であるコピー枚数の設定値が格納されたEEPROM_IDである“NV_COPIES_ID”とが関連づけられており、また例えば、プリンタ機能における印刷用紙サイズを示すオプション名“PAPER”と、そのオプションバリューである印刷用紙サイズの設定値が格納されたEEPROM_IDである“NV_PAPER_ID”とが関連づけられている。更に、図示は省略したものの、EEPROM_IDには、それぞれ、EEPROM18において対応する情報が格納されている番地(アドレス)も対応づけられている。
【0072】
尚、図3(b)に示したオプション名のうち、“LANG”は、当該複合機10のプリンタ機能がサポートしている言語切り替えのための情報であり、“XOFFSET”は、プリンタ機能における印刷位置(ここではX方向の印刷開始位置)を調整するための情報であり、“TIMEOUT”は、ホスト側からホストインターフェイス30に一定期間データが入力されなかった場合のタイムアウト値に関する情報である。これらはいずれもEEPROM_ID(“NV_「オプション名」_ID”)と関連づけられてリストアップされている。
【0073】
また、図3(b)に直接示したオプション名以外にも、例えば、後述する図5で説明するオプション名である“TOTALPAGE”、“RESOLUTION”、“MEDIATYPE”なども、オプション辞書76にリストアップされている。
【0074】
PJL処理プログラム70のうち、オプション実行プログラム74は、PJLコマンドにより要求されている情報につき、その情報に対してオプション辞書76にリストアップされている内容(EEPROM_IDやアドレスなど)を元に、その情報へアクセスし、情報(オプションバリュー)の取得あるいは設定などのコマンドに応じた処理を実際に行うためのプログラムである。
【0075】
EEPROM18には、当該複合機10の動作状態や各種設定内容を示す情報(オプションバリュー)が、オプション関連情報80として格納されている。具体的には、図4に示すように、EEPROM18の管理領域における所定の領域に、当該複合機10の動作状態や各種設定内容を示すオプションバリューが、対応するEEPROM_IDとともにそれぞれ所定のアドレスに格納されている。なお、このオプション関連情報80は、当該複合機10の起動時にRAM20にもコピーされ、デフォルト値はあくまでもEEPROM18内のオプション関連情報80であるものの、基本的にはこのRAM20のオプション関連情報81を元に複合機10の動作が行われる。
【0076】
次に、ホスト50側から送信されてくるPJLコマンドの具体例(文字列)と、そのPJLコマンドを複合機10が受信したときに複合機10からホスト側へ返答される(あるいは複合機10内で処理される)データの例を、図5に示す。ホスト50は、PJLコマンドを作成する際、“@PJL 「コマンド名」 「オプション名」 (「オプションバリュー」)”という形式でPJLコマンドを作成することになる。
【0077】
まず図5(a)は、ホスト50側が複合機10におけるページカウンタを取得するために複合機10へ送信するデータと、その送信データに対する複合機10からの返答データの一例を示すものである。ホスト50からの送信データにおいて、1行目の“<ESC>%−12345X”で表されるUEL(Universal Exit Language )により、PJLコマンドが送信されることを複合機10側に認識させ、これにより複合機10を、PJLコマンドを処理可能な状態(PJLコマンドモード)にさせる。そして、2行目及び3行目の文字列が、PJLコマンドである。2行目のPJLコマンドにおけるコマンド“DINQUIRE”は、複合機10側でデフォルト設定されているデータ、つまりEEPROM18に格納されているオプションバリューそのものを取得するためのものであり、オプション名“TOTALPAGE”は、要求対象の情報であるページカウンタを示すものである。
【0078】
3行目のPJLコマンドにおけるコマンド“INQUIRE”は、デフォルトではなく現在のジョブに対して設定されているデータ、つまりRAM20に格納されている情報(変数)を取得するためのコマンドである。
【0079】
そのため、仮に、EEPROM18に格納されているページカウンタ値とRAM20に格納されているページカウンタ値がいずれも例えば「500」の場合に、上記PJLコマンドが複合機10へ送信されると、複合機10では、PJLコマンド中のコマンドが認識されると共にオプション名“TOTALPAGE”も認識され、このオプション名が辞書テーブル76内にリストアップされているか否かがサーチされる。そして、リストアップされていれば、そのオプション名に関連づけられているEEPROM_ID(この例では“NV_TOTALPAGE_ID”)を利用して、EEPROM18におけるページカウンタ値へアクセスすることとなる。但し、コマンド“INQUIRE”に対しては、EEPROM18にはアクセスせず、RAM20に格納されているページカウンタ値へアクセスすることになるが、RAM20へのアクセスの詳細についてはここでは省略する。
【0080】
そして、要求されたデータが取得されると、複合機10からのリードバックとして、同図(a)に示す返答データがホスト50側へ返答される。この返答データにおける1〜2行目の“@PJL DINQUIRE TOTALPAGE<CR><LF>500<CR><LF>”のうち、前半部分は送信したPJLコマンドそのものであり、その後ろの“<CR><LF>”に続く“500”が、“TOTALPAGE”について複合機10内のEEPROM18で管理されていたオプションバリュー(この場合は、ページカウンタ)である。
【0081】
また、返答データのうち3〜4行目の“@PJL INQUIRE TOTALPAGE<CR><LF>500<CR><LF>”についても、前半部分は送信したPJLコマンドそのものであり、その後ろの“<CR><LF>”に続く“500”が、“TOTALPAGE”について複合機10内のRAM20に格納されていたページカウンタ値である。
【0082】
この返答データを受信することによって、ホスト側では、複合機10におけるページカウンタが「500」であることを取得することができる。なお、ホスト50側からの送信データにおける最終行の“<ESC>%−12345X”で表されるUELは、PJLコマンドの終了を示すものであり、これを受けて複合機10側ではPJLコマンドモードが解除される。
【0083】
なお、EEPROM18に格納されているページカウンタ値とRAM20に格納されているページカウンタ値が異なる場合は、当然ながら、それぞれ対応したページカウンタ値が返答データとして複合機10から返答されることになる。
【0084】
また、図5(b)は、ホスト50側が複合機10における“RESOLUTION”、即ち解像度を設定変更するために複合機10へ送信するデータと、その送信データに対する複合機10側の処理内容を示すものである。ホスト50からの送信データにおける2行目のPJLコマンドにおけるコマンド“SET”は、複合機10側においてデフォルトで設定(つまりEEPROM18に格納)されているデータではなく、現在のジョブに対して設定されているデータ、つまりRAM20に格納されている情報を設定するためのコマンドである。そして、このPJLコマンドの後半部分にある数値“600”は、具体的な解像度を表している。
【0085】
このような送信データ(PJLコマンド)が複合機10へ送信されると、複合機10では、PJLコマンド中のコマンドが認識されると共にオプション名“RESOLUTION”も認識され、このオプション名が辞書テーブル76内にリストアップされているか否かがサーチされる。そして、リストアップされていれば、RAM20において対応する情報(ここでは解像度)が格納されている場所へアクセスされる。このアクセスの詳細についてはここでは省略する。そして、RAM20に設定されている、現在のジョブに対する解像度情報が「600」に変更されることとなる。このように、“SET”は、後述するコマンド“DEFAULT”とは異なり、EEPROM18においてデフォルトで設定されているオプションバリュー(ここでは解像度)自体を変更するためのものではない。
【0086】
また、図5(c)は、ホスト50側が複合機10における用紙タイプの設定を変更するために複合機10へ送信するデータと、その送信データに対する複合機10からの返答データの一例を示すものである。ホスト50からの送信データにおける2行目の文字列“@PJL DEFAULT MEDIATYPE=PLAIN<CR><LF>”のうち、コマンド“DEFAULT”は、複合機10側においてデフォルトで設定(つまりEEPROM18に格納)されているオプションバリューを設定するためのコマンドである。そして、このPJLコマンドの後半部分にある文字列“PLAIN”は、用紙の具体的なタイプ名を表している。
【0087】
3行目のPJLコマンドにおけるコマンド“DINQUIRE”は、既に説明した通り、複合機10側でデフォルト設定されているデータ、即ちEEPROM18に格納されているオプションバリューそのものを取得するためのものである。つまり、この送信データは、複合機10に対して用紙タイプの設定(変更)を要求すると共に、設定変更後の用紙タイプのデフォルト値を返答するように要求するものとなっている。
【0088】
このような送信データ(PJLコマンド)が複合機10へ送信されると、複合機10では、まず、EEPROM18に格納されている用紙タイプに関するオプションバリューを“PLAIN”に設定変更し、続いて、図5(c)に示すように、デフォルト設定が“PLAIN”となったことを示す返答データを、ホスト50側へ送信する。
【0089】
なお、本実施形態では、PJLコマンドに対応可能な情報(オプション)を追加したい場合は、オプション辞書76を修正することで対応できる。具体的には、例えばコピー機能におけるコピーカウンタについての情報を取得できるようにしたい場合は、そのコピーカウンタを示すオプション名“COPYCOUNT”と、そのコピーカウンタが格納されたEEPROM18におけるEEPROM_ID、アドレスなどが関連づけられた新たなオプション辞書を作成し、フラッシュROM16内にあるオプション辞書76をその新たに作成したオプション辞書に書き換えればよい。つまり、PJL処理プログラム70全体のうち、マスクROM14に格納されたプログラムはそのままでよく、新たに追加したいオプションがあればその都度新規にプログラム(オプション辞書)を作成してフラッシュROM16の内容(オプション辞書76)のみを書き換えることで、新規オプションの追加に対応できるのである。
【0090】
それ故、本実施形態では、従来のようにPJL処理プログラム70全体をフラッシュROM16に格納するのではなく、変更される可能性がほとんどない普遍的なプログラム部分であるコマンド・オプション認識プログラム72とオプション実行プログラム74はマスクROM14に格納し、変更される可能性のあるプログラム部分であるオプション辞書76をフラッシュROM16に格納するようにしている。
【0091】
次に、本実施形態の複合機10がホスト50側からPJLコマンドを受信したときに、複合機10において実行されるPJL受信処理について、図6に基づいて説明する。図6 は、CPU12にて実行されるPJL受信処理を表すフローチャートである。複合機10 では、CPU12がマスクROM14及びフラッシュROM16からPJL処理プログラム70を読み出し、このプログラムに従ってPJL受信処理を実行する。
【0092】
この処理が開始され、PJLコマンドが受信されると(S110)、PJL処理プログラム70のうちマスクROM14に格納されたコマンド・オプション認識プログラム72に従い、受信したPJLコマンドにつき、どのような情報に対してどのような処理をすべきなのかが認識され(S120)、そのコマンドの内容が複合機10内の情報(データ)を設定するためのものか、或いは複合機10内の情報を取得するためのものかが判断される(S130)。
【0093】
そして、例えば“SET”や“DEFAULT”のように情報を設定するためのコマンドならば、S140に進み、要求されているオプション、即ちPJLコマンドに含まれるオプション名がオプション辞書76にリストアップされているか否かが判断される。このとき、リストアップされていなければそのままこの処理を終了するが、リストアップされていれば、PJL処理プログラム70のうちマスクROM14に格納されたオプション実行プログラム74に従い、そのオプション名と関連づけられているEEPROM_IDを利用して、PJLコマンドに含まれているオプションバリューがEEPROM18へ書き込まれる(S150)。尚、上述したように、EEPROM18へ書き込まれるのはコマンドが“DEFAULT”の場合であって、“SET”の場合はRAM20に書き込まれる。
【0094】
一方、コマンドの内容が例えば“INQUIRE”や“DINQUIRE”などのように情報を取得するためのコマンドならば、S130からS160へ進み、PJLコマンドに含まれるオプション名がオプション辞書76にリストアップされているか否が判断される。このとき、リストアップされていなければそのままこの処理を終了するが、リストアップされていれば、オプション実行プログラム74に従い、そのオプション名と関連づけられているEEPROM_IDを利用して、EEPROM18から要求対象の情報(オプションバリュー)が読み出される(S170)。そして、その読み出されたオプションバリューがホスト50側へ返答される(S180)。尚、上述したように、EEPROM18から情報が読み出されるのはコマンドが“DINQUIRE”の場合であって、“INQUIRE”の場合はRAM20に格納された情報が読み出される。
【0095】
以上詳述した本実施形態の複合機10によれば、従来のようにPJL処理プログラム70全体をフラッシュROM16に格納するのではなく、PJL処理プログラム70のうち、変更される可能性のほとんどない普遍的なプログラム部分であるコマンド・オプション認識プログラム72とオプション実行プログラム74はマスクROM14に格納するようにしているため、その分、フラッシュROM16におけるPJL処理プログラム70が占める領域を低減でき、フラッシュROM16を他のプログラム等が有効に利用できるようになる。
【0096】
ここで、本実施形態の構成要素と本発明の構成要素の対応関係を明らかにする。本実施形態において、PJL処理プログラム70は本発明のコマンド処理プログラムに相当し、コマンド・オプション認識プログラム72は本発明の解析プログラム部に相当し、オプション実行プログラム74は本発明の実行プログラム部に相当し、オプション辞書76は本発明のテーブル部に相当し、EEPROM18は本発明のデバイス情報格納手段に相当し、オプションは本発明のデバイス情報に相当し、オプション名は本発明のデバイス情報名に相当し、EEPROM_IDは本発明の所在情報に相当する。
【0097】
また、図6のPJL受信処理において、S120,S130,S140,S160の各処理はいずれも、コマンド・オプション認識プログラム72の処理であって本発明の解析プログラム部が実行する処理に相当し、S150,S170,S180の各処理はいずれも、オプション実行プログラム74の処理であって本発明の実行プログラム部が実行する処理に相当する。
【0098】
[第2実施形態]
上記第1実施形態では、PJLコマンドにより取得又は設定等ができる情報(オプション)を新たに追加したい場合、その都度新規にプログラムを作成(新たなオプション辞書を作成)してフラッシュROM16内のオプション辞書76を書き換える必要があった。そこで本実施形態では、フラッシュROM16内のオプション辞書76を書き換えることなく、取得又は設定等が可能な情報を新たに追加できるようにしている。
【0099】
具体的には、取得又は設定等が可能な情報を追加するためのコマンドとして“ADDPJL”を予め用意しておく。そして、実際に追加する場合は、“@PJL ADDPJL 「新たに追加したい情報名(オプション名)」 「EEPROM_ID」”というPJLコマンドをホスト50側から複合機10へ送信するようにし、これを受けた複合機10側では、PJLコマンド中のコマンド名“ADDPJL”により、オプションを追加すべき旨のコマンドであることを認識する。
【0100】
その結果、“ADDPJL”の後の文字列に従い、新たに追加すべきオプションについてそのオプション名とEEPROM_IDを関連づけた辞書を生成する。この辞書は、図7に示すように、新規登録オプション辞書89としてRAM20に格納される。
【0101】
そして、この機能を実現すべく、本実施形態のPJL処理プログラム85は、オプション追加用のコマンドである“ADDPJL”を認識でき、そのコマンドによる要求に応じてRAM20に新規登録オプション辞書89を作成できるよう構成されている。
【0102】
例えば、コピー機能におけるページカウンタに関する情報の取得又は設定等ができない状態(つまりオプション辞書88に該当するオプション名がリストアップされていない状態)であったとする。そして、このページカウンタに関する情報を取得又は設定等できるように新たなオプションとして追加したい場合は、ホスト50側から、“@PJL ADDPJL COPYCOUNT NV_COPYCOUNT_ID”なるPJLコマンドを送信すればよい。
【0103】
このPJLコマンドを受けた複合機10では、このPJLコマンドが新規オプション追加用のコマンドであることが認識され、オプション名“COPYCOUNT”とそのEEPROM_IDである“NV_COPYCOUNT_ID”とを関連づけた新規登録オプション辞書89がRAM20に生成される。
【0104】
なお、オプション追加用のコマンドである“ADDPJL”を認識し、そのコマンドによる要求に応じてRAM20に新規登録オプション辞書89を作成するためのプログラムであるオプション追加プログラム(本発明の対応情報追加プログラム)は、PJL処理プログラム85の一部として組み込まれ、マスクROM14に格納されている。
【0105】
更に、本実施形態の複合機10は、オプション辞書88に登録されたオプションの一部につき、PJLコマンドに応じた処理に加えて、予め設定した処理(以下「特殊処理」という)も実行するよう構成されている。そして、そのような特殊処理については、処理内容が変更される可能性や、他のオプションについても特殊処理を行うように設定される可能性もある。
【0106】
そのため、本実施形態では、オプション実行プログラム87をフラッシュROM16へ格納することにより、必要に応じて変更等できるようにしている。尚、特殊処理が実行されるオプション(以下「特殊処理対応オプション」という)がどれであるかは、オプション辞書88において、対応するオプション名に対し、その旨を示す情報が関連づけられている。つまり、特殊処理対応オプションについては、オプション辞書88において、オプション名と、そのEEPROM_IDと、特殊処理対応オプションである旨の情報とが関連づけられている。
【0107】
そして、例えば、ホスト50側から用紙タイプを設定するための、“@PJL DEFAULT MEDIATYPE=THICK”なるPJLコマンドが送信されてきた場合に、“MEDIATYPE”オプションが特殊処理対応オプションであって、特殊処理として、プリンタ部22に対し、要求された用紙タイプ“MEDIATYPE”に応じた印刷処理が行えるように準備するよう指示する、という処理を実行するように設定されているならば、受信したPJLコマンドに対し、“MEDIATYPE”オプションに対応するEEPROM_IDを用いてEEPROM18への書き込み(設定)を行うほか、上述の特殊処理として、プリンタ部22に対し、設定された用紙タイプ”THICK”(厚手の紙)への印刷に対応するよう指示する。
【0108】
次に、本実施形態のPJL受信処理について、図8に基づいて説明する。図8 は、CPU12にて実行されるPJL受信処理を表すフローチャートである。
この処理が開始され、PJLコマンドが受信されると(S210)、PJL処理プログラム85のうちマスクROM14に格納されたコマンド・オプション認識プログラム86に従い、受信したPJLコマンドにつき、どのような情報に対してどのような処理をすべきなのかが認識される(S220)。更に、PJL処理プログラム85のうちマスクROM14に格納されたオプション追加プログラムに従い、そのコマンドがオプション追加のためのコマンドである“ADDPJL”であるか否かが判断される(S230)。
【0109】
そして、“ADDPJL”であればS330に進むが、“ADDPJL”以外の他のコマンドであれば、S240に進み、コマンド・オプション認識プログラム86に従ってそのコマンドの内容が複合機10内の情報(データ)を設定するためのものか、或いは複合機10内の情報を取得するためのものかが判断される。
【0110】
そして、例えば“SET”や“DEFAULT”のように情報を設定するためのコマンドならば、S250に進み、PJLコマンドに含まれるオプションが、オプション辞書88または新規登録オプション辞書89にリストアップされているか否かが判断される。このとき、リストアップされていなければそのままこの処理を終了するが、リストアップされていれば、PJL処理プログラム85のうちフラッシュROM16に格納されたオプション実行プログラム87に従い、そのオプション名と関連づけられているEEPROM_IDを利用して、PJLコマンドに含まれているオプションバリューがEEPROM18へ書き込まれる(S260)。尚、上述したように、EEPROM18へ書き込まれるのはコマンドが“DEFAULT”の場合であって、“SET”の場合はRAM20に書き込まれる。
【0111】
更に、リストアップされていた場合にはそのオプション名について特殊処理対応オプションであることを示す情報まで関連づけられているかどうかも判断されるようにし、特殊処理対応オプションでなければ(S270:NO)、そのままこの処理を終了するが、特殊処理対応オプションならば(S270:YES)、そのオプションに対応した特殊処理が実行される(S280)。
【0112】
一方、コマンドの内容が例えば“INQUIRE”や“DINQUIRE”などのように情報を取得するためのコマンドならば、S240からS290へ進み、PJLコマンドに含まれるオプション名がオプション辞書88又は新規登録オプション辞書89にリストアップされているか否かが判断される。このとき、リストアップされていなければそのままこの処理を終了するが、リストアップされていれば、オプション実行プログラム87に従い、そのオプション名と関連づけられているEEPROM_IDを利用して、EEPROM18から要求対象の情報(オプションバリュー)が読み出される(S300)。尚、上述したように、EEPROM18から情報が読み出されるのはコマンドが“DINQUIRE”の場合であって、“INQUIRE”の場合はRAM20に格納された情報が読み出される。
【0113】
更に、リストアップされていた場合にはそのオプション名について特殊処理対応オプションであることを示す情報まで関連づけられているかどうかも判断されるようにし、特殊処理対応オプションでなければ(S310:NO)、S300にて読み出されたオプションバリューをホスト50側へ返答(S320)してこの処理を終了するが、特殊処理対応オプションならば(S310:YES)、そのオプションに対応した特殊処理が実行される(S280)。
【0114】
また、受信したコマンドがオプション追加のためのコマンドである“ADDPJL”であった場合は(S230:YES)、上述したオプション追加プログラムに従い、追加要求されているオプションに対応したEEPROM_IDがEEPROM18内にあるか否かが判断され(S330)、そのIDがEEPROM18内になければ(S330:NO)、そのままこの処理を終了し、EEPROM18内にあれば(S330:YES)、RAM20における新規登録オプション辞書89に追加対象のオプション名とそのEEPROM_IDを登録する。
【0115】
以上詳述した本実施形態の複合機10によれば、PJL処理プログラム85内のオプション追加プログラムにより、新たに取得又は設定したい(或いはする必要がある)情報がある場合、その情報を示すオプション名とその所在情報であるEEPROM_IDとを関連づけて新規登録オプション辞書89に登録するだけでよいため、取得又は設定可能な情報を容易に追加することが可能となる。
【0116】
また、追加すべきオプション名とそのEEPROM_IDとが“ADDPJL”コマンドと共に送信されてくるため、複合機10側では、その送信されてきたPJLコマンドに含まれるオプション名とEEPROM_IDとを関連づけて新規登録オプション辞書89に登録するだけでよいため、新規登録オプション辞書89への登録を容易に行うことができる。
【0117】
更に、“ADDPJL”コマンドに対応するためのプログラムであるオプション追加プログラムもマスクROM14に格納されるため、フラッシュROM16の空き容量を圧迫することなく、取得又は設定可能な新たな情報を容易に追加することが可能となる。
【0118】
また更に、PJL処理プログラム85のうちコマンド・オプション認識プログラム86がマスクROM14に記憶されている分、他のプログラム等によるフラッシュROM16の有効利用が実現されており、加えて、オプション実行プログラム87をフラッシュROM16に格納することで特殊処理の内容についてはフレキシブルに対応(追加・変更・削除等)することが可能となり、フラッシュROM16の有効利用とオプション実行プログラムの変更のフレキシブル性とを兼ね添えた複合機10の提供が可能となる。
【0119】
尚、本実施形態において、“ADDPJL”コマンドを含むPJLコマンドが、本発明の追加指令に相当し、新規登録オプション辞書89は本発明の追加テーブルに相当し、RAM20は本発明の追加テーブル格納手段に相当し、特殊処理は本発明の特定処理に相当し、特殊処理対応オプションに対応した情報(オプション)は本発明の特定デバイス情報に相当する。また、図8のPJL受信処理において、S230,S330,S340の各処理はいずれも、オプション追加プログラムの処理であって本発明の対応情報追加手段が実行する処理に相当する。
【0120】
[第3実施形態]
上記第2実施形態では、オプション実行プログラム87を全てフラッシュROM16内に格納させた例を示したが、本実施形態では、図9に示すように、オプション実行プログラム全体のうち、PJLコマンドに対する通常の処理(情報の取得又は設定など)を行う部分である第1オプション実行プログラム92と、上述した特殊処理を行う部分である第2オプション実行プログラム94とに分割し、第1オプション実行プログラム92はマスクROM14へ、第2オプション実行プログラム94へ、それぞれ格納するようにしている。
【0121】
つまり、本実施形態のPJL処理プログラム90は、主として、マスクROM14に格納されたコマンド・オプション認識プログラム72及び第1オプション実行プログラム92と、フラッシュROM16に格納されたオプション辞書88及び第2オプション実行プログラム94とにより構成されている。なお、図9において、図2又は図7と同じ構成要素には同じ符号を付している。
【0122】
このように、オプション実行プログラムを2つに分けてそれぞれマスクROM14とフラッシュROM16とに格納することにより、フラッシュROM16におけるオプション実行プログラムが占める領域を低減させることができ、フラッシュROM16をより有効に利用できるようになる。
【0123】
また、本実施形態では、第2実施形態と同様、“ADDPJL”コマンドによって、取得又は設定等が可能な情報(オプション)を新たに追加できるよう構成されている。但し、本実施形態では、オプション追加の際のPJLコマンドの形式として、第2実施形態のように「新たに追加したい情報名(オプション名)」と「EEPROM_ID」を“ADDPJL”コマンドに付加するのではなく、“ADDPJL”コマンドの後に単に「新たに追加したい情報名(オプション名)」を付加するだけでよい。
【0124】
つまり、例えば、コピー機能におけるページカウンタに関する情報の取得又は設定等ができない状態(つまりオプション辞書88に該当するオプション名がリストアップされていない状態)であるときに、このページカウンタに関する情報を取得又は設定等できるように新たなオプションとして追加したい場合は、ホスト50側から、“@PJL ADDPJL COPYCOUNT”なるPJLコマンドを送信すればよい。
【0125】
一方、複合機10の内部では、当該複合機10において設定されているあらゆる情報について、その情報に対応したEEPROM_IDが、例えばマスクROM14内において予め一覧テーブルとして登録されている。
【0126】
そのため、上記PJLコマンドを受けた複合機10では、このPJLコマンドが新規オプション追加用のコマンドであることが認識されると、オプション名“COPYCOUNT”を含むEEPROM_IDが上記一覧テーブル内にあるか否かをみて、EEPROM_IDがあった場合は、オプション名とそのEEPROM_IDとを関連づけて新規登録オプション辞書89に登録する。
【0127】
このように構成することで、PJLコマンドに対応可能なオプションを新たに追加する場合に、PJLコマンドとして、“ADDPJL”コマンドの後に単に「新たに追加したい情報名(オプション名)」を付加するだけでよいため、より簡単にオプションの追加を行うことができるようになる。
【0128】
次に、本実施形態のPJL受信処理について、図10に基づいて説明する。図10のフローチャートのうち、S410〜S520の処理は、図8に示した第2実施形態のPJL受信処理におけるS210〜S320と全く同じであるため、ここではその説明を省略する。
【0129】
そして、本実施形態では、PJL処理プログラム90のうちマスクROM14に格納されたオプション追加プログラムに従い、受信したコマンドがオプション追加のためのコマンドである“ADDPJL”であった場合(S430:YES)、追加要求されているオプション名、即ち“ADDPJL”コマンドと共に送られてきたオプション名の文字列を含むEEPROM_IDが、上述した一覧テーブル内にあるか否かが判断される(S530)。この結果、一覧テーブルになければそのままこの処理を終了することとなるが、一覧テーブルにあれば、RAM20における新規登録オプション辞書89に追加対象のオプション名とそのEEPROM_IDを登録する。
【0130】
尚、本実施形態において、第1オプション実行プログラム92は本発明(請求項5)における実行プログラムのうち“その他の部分”に相当するものであり、第2オプション実行プログラム94は本発明(請求項5)における実行プログラムのうち“前記特殊処理を行うための部分”に相当するものである。
【0131】
[変形例]
以上、本発明の実施形態について説明したが、本発明の実施の形態は、上記各実施形態に何ら限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採り得ることはいうまでもない。
【0132】
例えば、上記各実施形態では、情報の所在を示す所在情報としてEEPROM_IDを用いたが、EEPROM_IDに限らず、要求された情報(オプションバリュー)が格納された場所へアクセスできる限り、所在情報の具体的内容は特に限定されない。
【0133】
また、上記第2実施形態及び第3実施形態では、オプション追加プログラムを有することにより、PJLコマンドにより取得又は設定等が可能なオプションを新たに追加できる例について説明したが、これに加えて、追加したオプションに関する登録内容を必要に応じて削除できるようにしてもよい。
【0134】
例えば、操作パネル42を押す、或いはホスト50側から削除用PJLコマンド“@PJL DELPJL COPYCOUNT”を送ると“COPYCOUNT”に関する新規登録部分が新規登録オプション辞書89から削除される、というように構成してもよい。
【0135】
また、上記第2実施形態及び第3実施形態では、新規登録オプション辞書89をRAM20に格納するようにしたが、RAM20に限らず、例えばメディアドライブ28に挿入されたCF29に格納するようにしてもよいし、或いは、当該複合機10に内蔵された図示しないバッテリからの電源供給を受けて動作するバックアップRAM(図示略)などに格納するようにしてもよい。このようにすれば、複合機10本体の電源がオフされても新規登録オプション辞書89は削除されず残ったままとなるため、新規登録した辞書をより長く利用することが可能となる。
【0136】
更に、上記第1実施形態では、図6のPJL受信処理におけるS140或いはS160の処理において、PJLコマンドに含まれるオプション名がオプション辞書76にリストアップされていないと判断された場合は、そのままPJL受信処理を終了するものとして説明したが、これに限らず、例えば、要求されたオプションはオプション辞書76にリストアップされていない旨を示す情報(エラー情報)をホスト50へ返答するようにしてもよい。
【0137】
第2実施形態における図8のPJL受信処理についても同様であり、S250或いはS290の処理でオプション辞書88にリストアップされていないと判断された場合にはその旨を示す情報(エラー情報)をホスト50へ返答するようにしてもよい。第3実施形態における図10のPJL受信処理についても同様であり、S450或いはS490の処理でオプション辞書88にリストアップされていないと判断された場合にはその旨を示す情報(エラー情報)をホスト50へ返答するようにしてもよい。
【0138】
更にまた、上記各実施形態では、複合機10内の情報を取得又は設定等するためのコマンドの一例として、PJLコマンドを示したが、本発明は、PJLに準拠したコマンドに限らず、ホスト50側からコマンドを送信でき、そのコマンドに応じて内部情報を取得(或いは設定変更)してホスト50側へ応答することが可能なあらゆるコマンドに対して適用可能である。
【0139】
また、本発明の適用は、上述した複合機10に限らず、ホスト50等の外部装置からのコマンドに応じて内部情報を提供あるいは設定内容を変更できるようなデバイス・情報処理装置であれば何でも適用できる。そのようなデバイス・情報処理装置としては、例えば、プリンタ機能だけを備えた印刷装置、電話機能・ファクシミリ機能などの最低限の機能のみを備えたファクシミリ装置、コピー機能だけを備えたコピー装置、更には、イメージスキャナ、デジタルカメラ、USBカメラ、各種ストレージデバイスなど、多種多様のものが考えられる。
【図面の簡単な説明】
【0140】
【図1】実施形態の印刷システムの概略構成を示すブロック図である。
【図2】第1実施形態における各メモリのPJL関連プログラム・データの格納状態を示す説明図である。
【図3】コマンドの種類と対応可能なオプションを示す説明図であり、(a)はコマンドの種類を示すコマンドリスト、(b)はフラッシュROMに格納されたオプション辞書の内容を示すものである。
【図4】EEPROMの管理領域においてオプション関連情報が格納されていることを示す説明図である。
【図5】ホストからのPJLコマンドと、そのPJLコマンドに対して複合機が返答等するデータの具体例を示す説明図である。
【図6】第1実施形態のPJL受信処理を示すフローチャートである。
【図7】第2実施形態における各メモリのPJL関連プログラム・データの格納状態を示す説明図である。
【図8】第2実施形態のPJL受信処理を示すフローチャートである。
【図9】第3実施形態における各メモリのPJL関連プログラム・データの格納状態を示す説明図である。
【図10】第3実施形態のPJL受信処理を示すフローチャートである。
【符号の説明】
【0141】
1・・・印刷システム、2・・・通信ケーブル、10・・・複合機、12・・・CPU、14・・・マスクROM、16・・・フラッシュROM、18・・・EEPROM、20・・・RAM、22・・・プリンタ部、24・・・スキャナ部、26・・・ユーザインターフェイス、28・・・メディアドライブ、29・・・メモリカード、30・・・ホストインターフェイス、32・・・モデム、34・・・回線制御部、36・・・ハンドセット、38・・・バス、42・・・操作パネル、44・・・LCDパネル、46・・・スピーカ部、50・・・ホスト、60・・・電話回線網、70,85,90・・・PJL処理プログラム、72,86・・・コマンド・オプション認識プログラム、74,87・・・オプション実行プログラム、76,88・・・オプション辞書、80,81・・・オプション関連情報、89・・・新規登録オプション辞書、92・・・第1オプション実行プログラム、94・・・第2オプション実行プログラム

【特許請求の範囲】
【請求項1】
プログラムが記憶された記憶手段と、
前記記憶手段に記憶されたプログラムに基づいて装置全体の制御を実行する制御手段と、
を備えた情報処理装置であって、
前記プログラムとして、当該情報処理装置に関する情報であるデバイス情報の取得又は設定を要求するコマンドに対し、その要求されたデバイス情報の取得又は設定を行うためのコマンド処理プログラムを有し、
前記コマンド処理プログラムは、
前記コマンドによる要求に対応可能なデバイス情報の種類を示すデバイス情報名が、対応するデバイス情報の所在を示す所在情報と関連付けられてリストアップされたテーブル部と、
前記コマンドの内容を解析し、要求対象の前記デバイス情報に対応した前記所在情報を前記テーブル部に基づいて取得するための解析プログラム部と、
を有しており、
前記記憶手段として、
記憶内容を書き換え不可能な第1の記憶手段と、
記憶内容を書き換え可能な第2の記憶手段と、
を有し、
前記解析プログラム部は前記第1の記憶手段に記憶され、前記テーブル部は前記第2の記憶手段に記憶されている
ことを特徴とする情報処理装置。
【請求項2】
前記解析プログラム部は、要求対象の前記デバイス情報に対応した前記デバイス情報名が前記テーブル部にリストアップされているか否かを判断するよう構成されており、
前記コマンド処理プログラムは、要求対象のデバイス情報に対応した前記デバイス情報名と関連づけられている前記所在情報に基づいて、そのデバイス情報について前記コマンドの内容に応じた処理を実行するための実行プログラム部を有し、
前記制御手段は、前記解析プログラム部を実行することにより、要求対象の前記デバイス情報に対応した前記デバイス情報名が前記テーブル部にリストアップされていると判断した場合、その要求対象のデバイス情報に対して前記実行プログラムを実行する
ことを特徴とする請求項1記載の情報処理装置。
【請求項3】
前記実行プログラム部は、前記第1の記憶手段に記憶されている
ことを特徴とする請求項2記載の情報処理装置。
【請求項4】
前記実行プログラム部は、要求対象の前記デバイス情報が予め決められた特定デバイス情報であった場合に、前記コマンドの内容に応じた処理に加え、その特定デバイス情報に対して予め設定された特定処理を行うよう構成されており、
前記実行プログラム部のうち、少なくとも前記特定処理を行うための部分は、前記第2の記憶手段に記憶されている
ことを特徴とする請求項2記載の情報処理装置。
【請求項5】
前記実行プログラムのうち、前記特定処理を行うための部分は前記第2の記憶手段に記憶され、その他の部分は前記第1の記憶手段に記憶されている
ことを特徴とする請求項4記載の情報処理装置。
【請求項6】
前記デバイス情報が格納されたデバイス情報格納手段を備え、
前記テーブル部において前記デバイス情報名と関連づけられている前記所在情報は、前記デバイス情報格納手段における前記デバイス情報の所在を示すものであり、
前記制御手段は、前記コマンド処理プログラムに従って、前記テーブル部において関連づけられている前記所在情報に基づいて前記デバイス情報格納手段へアクセスすることにより、前記コマンドの内容に応じた処理を行う
ことを特徴とする請求項1〜5いずれかに記載の情報処理装置。
【請求項7】
前記コマンドによる要求に対応可能な前記デバイス情報を新たに追加すべき旨の追加指令に従って、その追加指令対象のデバイス情報を示すデバイス情報名とそのデバイス情報の所在を示す所在情報とを関連づけた追加テーブルを生成する対応情報追加手段を備え、
前記解析プログラム部は、要求対象の前記デバイス情報の前記所在情報を、前記テーブル部及び前記追加テーブルに基づいて取得するよう構成されている
ことを特徴とする請求項1〜5いずれかに記載の情報処理装置。
【請求項8】
前記デバイス情報が格納されたデバイス情報格納手段を備え、
前記テーブル部及び前記追加テーブルにおいて前記デバイス情報名と関連づけられている前記所在情報は、前記デバイス情報格納手段における所在を示すものであり、
前記制御手段は、前記コマンド処理プログラムに従って、前記テーブル部又は追加テーブル部において関連づけられている前記所在情報に基づいて前記デバイス情報格納手段へアクセスすることにより、前記コマンドの内容に応じた処理を行う
ことを特徴とする請求項7記載の情報処理装置。
【請求項9】
前記追加テーブルが格納される追加テーブル格納手段を備え、
前記対応情報追加手段による前記追加テーブルの生成は、前記追加テーブルを前記追加テーブル格納手段へ格納することにより行われる
ことを特徴とする請求項7又は8記載の情報処理装置。
【請求項10】
前記追加指令には、追加すべきデバイス情報に対応した前記デバイス情報名及び前記所在情報が含まれており、
前記対応情報追加手段は、前記追加指令に含まれている前記デバイス情報と前記所在情報に基づいて前記追加テーブルを生成する
ことを特徴とする請求項7〜9いずれかに記載の情報処理装置。
【請求項11】
コンピュータを前記対応情報追加手段として機能させるための対応情報追加プログラムを有し、
前記制御手段が対応情報追加プログラムを実行することにより、前記対応情報追加手段としての機能が実現される
ことを特徴とする請求項7〜10いずれかに記載の情報処理装置。
【請求項12】
前記対応情報追加プログラムは、前記コマンド処理プログラムの一部として組み込まれ、前記第1の記憶手段に記憶されている
ことを特徴とする請求項11記載の情報処理装置。
【請求項13】
当該情報処理装置は、外部機器との間でデータの送受信が可能であって、前記外部機器から前記コマンドが入力されるよう構成されている
ことを特徴とする請求項1〜12いずれかに記載の情報処理装置。
【請求項14】
当該情報処理装置は、外部機器との間でデータの送受信が可能であって、前記外部機器から前記コマンド及び前記追加指令が入力されるよう構成されている
ことを特徴とする請求項7〜12いずれかに記載の情報処理装置。
【請求項15】
当該情報処理装置は、入力される印刷データに基づいて被記録媒体へ画像を形成する画像形成手段を備えており、
前記コマンドによる要求に対応可能なデバイス情報には、前記画像形成手段の動作に関わる情報が含まれる
ことを特徴とする請求項1〜14いずれかに記載の情報処理装置。
【請求項16】
前記第1の記憶手段はマスクROMであり、前記第2の記憶手段はフラッシュROMである
ことを特徴とする請求項1〜15いずれかに記載の情報処理装置。
【請求項17】
コンピュータを、請求項7〜10いずれかに記載の情報処理装置における前記対応情報追加手段として機能させるための、対応情報追加プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2006−119957(P2006−119957A)
【公開日】平成18年5月11日(2006.5.11)
【国際特許分類】
【出願番号】特願2004−307907(P2004−307907)
【出願日】平成16年10月22日(2004.10.22)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】