JP2997005B2 - 出力装置 - Google Patents

出力装置

Info

Publication number
JP2997005B2
JP2997005B2 JP2095110A JP9511090A JP2997005B2 JP 2997005 B2 JP2997005 B2 JP 2997005B2 JP 2095110 A JP2095110 A JP 2095110A JP 9511090 A JP9511090 A JP 9511090A JP 2997005 B2 JP2997005 B2 JP 2997005B2
Authority
JP
Japan
Prior art keywords
program
cartridge
area
data
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2095110A
Other languages
English (en)
Other versions
JPH03293172A (ja
Inventor
邦男 岡田
吉章 河村
裕 村上
春生 藤田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to JP2095110A priority Critical patent/JP2997005B2/ja
Application filed by Canon Inc filed Critical Canon Inc
Priority to DE69126677T priority patent/DE69126677T2/de
Priority to EP91303175A priority patent/EP0452115B1/en
Priority to DE69131914T priority patent/DE69131914T2/de
Priority to EP95202543A priority patent/EP0689158B1/en
Priority to EP98202979A priority patent/EP0881593B1/en
Priority to DE69133428T priority patent/DE69133428T2/de
Publication of JPH03293172A publication Critical patent/JPH03293172A/ja
Priority to US08/280,588 priority patent/US5878275A/en
Priority to US09/184,059 priority patent/US6154795A/en
Application granted granted Critical
Publication of JP2997005B2 publication Critical patent/JP2997005B2/ja
Priority to US09/690,088 priority patent/US6397271B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0005Accepting output data; Preparing data for the controlling system
    • G06K2215/0008Downloading generic data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/002Generic data access
    • G06K2215/0022Generic data access characterised by the storage means used
    • G06K2215/0025Removable memories, e.g. cartridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0082Architecture adapted for a particular function

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Record Information Processing For Printing (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Stored Programmes (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、情報処理装置から入力される入力情報から
出力情報を生成して出力する出力装置(例えば、印刷装
置)に関するものである。
〔従来の技術〕
従来から知られているこの種の印刷装置のひとつで
は、ある特定の制御プログラムを内蔵ROMなどに記憶さ
せ、印刷装置の制御にあたらせていた。
また、従来から知られている第2の印刷装置では、内
蔵プログラムからコマンド解析ルーチンを独立させて、
着脱可能なプログラム格納媒体に収め、印刷装置本体に
内蔵されている制御プログラムのメインルーチン側で複
数のコマンド解析ルーチンを呼び分け、このことにより
複数のコマンド体系に対して1つの装置で、印刷可能と
していた。
従来から知られている第3の印刷装置では、印刷装置
本体に内蔵されている制御プログラムとは独立して動作
する制御プログラムを着脱可能なプログラムカートリッ
ジに記憶させ、印刷装置の立上げ処理時には、該プログ
ラムカートリッジ上の制御プログラムを実行するか内蔵
の制御プログラムを実行するかを選択していた。
ここで、プログラムカートリッジは、文字ドットパタ
ーンを収めるフォントカートリッジと共通の形状をもつ
もので、カートリッジ側に‘プログラム’か‘フォント
情報’かの識別記号が付されている。そして、内蔵側の
制御プログラムは、上記‘プログラム’の識別記号があ
った場合のみ、制御をプログラムカートリッジ側に移し
ていた。
〔発明が解決しようとする課題〕
しかしながら、上述した第1の従来例では、ある特定
の制御プログラムしか実行されないため、別のコマンド
体系に対応した印刷が不可能であった。
また、第2の従来例では、別の複数のコマンド体系へ
の対応は可能となるが、制御プログラムのメインルーチ
ンを装置内に持っているため、コマンド解析以外の処理
(例えば、データ源となるホストコンピュータとのハン
ドシェイクの変更や、ジャム処理などにおける印刷機構
部の給紙ハンドリングの変更・追加など、装置制御に対
しての変更)は不可能であった。このため、いろいろな
印刷機能を1つの装置で使い分けることには限界があっ
た。
さらに、第3の従来例では、一旦、制御プログラムが
作動し始めると、他方の制御プログラムは別個独立して
動作するため、装置立上げ後のプログラム切替が困難で
あった。
しかも、第3の従来例では、装置上のハードウェアの
一部が変更されて、既存のプログラムカートリッジ上の
制御プログラムが正常に動作しないものであっても、識
別手段がないため、そのまま該制御プログラムが実行さ
れてしまう危険性があった。
また、複数ある印刷装置相互間で若干の制御上の差異
が生じている場合、複数あるプログラムカートリッジ群
のうち適合・不適合の判別手段がなく、不適当な制御プ
ログラムがある装置上で実行されてしまうおそれがあっ
た。
よって本発明の目的は、上述の点に鑑み、常に適切な
制御プログラムを実行し得るよう構成した出力装置を提
供することにある。
〔課題を解決するための手段〕
上記の目的を達成するために、本発明に係る出力装置
は、情報処理装置から入力される入力情報から出力情報
を生成して出力する出力装置であって、着脱可能な外部
記憶手段と、内部記憶手段と、前記内部記憶手段または
前記外部記憶手段に記憶されたプログラムデータに基づ
いて処理を実行する制御手段とを有し、前記外部記憶手
段には、入力情報から出力情報を生成するための所定の
処理を実行する場合に、前記内部記憶手段に記憶された
プログラムデータを使用するか、あるいは、前記外部記
憶手段に記憶されたプログラムデータを使用するかを、
出力装置の種類に応じて特定するデータが記憶され、前
記制御手段は、前記外部記憶手段に記憶されている前記
特定するデータおよび当該出力装置の種類に基づいて、
前記内部記憶手段に記憶されたプログラムデータおよび
前記外部記憶手段に記憶されたプログラムデータのいず
れか一方を使用して前記所定の処理を実行するものであ
る。ここで、前記入力情報は文字コードとすることがで
きる。また、前記出力情報はイメージデータとすること
ができる。さらに、前記プログラムデータは、入力情報
を解釈して出力情報を生成するプログラムデータとする
ことができる。また、前記外部記憶手段には、複数種類
のプログラムデータを記憶することができる。
〔実施例〕
以下に、図面を参照して本発明の実施例を詳細に説明
する。
実施例1 第1図は、本発明を適用した一実施例であるレーザビ
ームプリンタのうち、制御部100の概略構成を示すブロ
ック図である。第1図中102は、データ発生源となるホ
ストコンピュータであり、101は装置全体を制御するCPU
である。103は、ホストコンピュータ102からのデータを
入力信号線S1を介して入力する入力インタフェース回路
である。入力インタフェース回路103は、またCPU101の
指示に従いビジィー信号線S2をON/OFFし、ホストコンピ
ュータに、データ送信不可/可を知らせる。
104は、本レーザビームプリンタの制御プログラム及
び文字パターンを格納しておくROMであり、その格納形
式は後述する第2図に、そのプログラムの流れは後述す
る第10図,第11図,第12図に示される。
105は、後述の制御プログラム(第10図〜第14図)が
使用するRAMであり、その詳細は、第5図で後述する。
106は、不揮発性RAMであり一般のEEPROMで構成され、
電源切断後も、保存しておくべき情報を入れておく。そ
の詳細は第7図で後述する。なお、以後この不揮発性RA
MをNVRAMと称す。
107は増設用のRAMカードであり、RAM105の拡張として
使用される。
108は、第1のプログラムカートリッジ109,第2のプ
ログラムカートリッジ110とのハードウェア的インタフ
ェースをとるカートリッジインタフェース回路であり、
CPU101からのプログラムカートリッジ上のROMへのアク
セスを司どる。上記プログラムカートリッジ109,110
は、複数のROMと関連素子で構成されたROMボードをカー
トリッジに収めたプログラムカートリッジである。この
プログラムカートリッジ上のROMに、前述したROM104に
格納された制御プログラムとは別の制御プログラム及び
文字パターンが格納される。その格納形式は第2図に、
そのプログラムの流れは第13図,第14図で後述される。
これらプログラムカートリッジ109,110は、第15図に示
すように本レーザビームプリンタ本体に用意された左右
2つのカートリッジコネクタ1501,1502により本体との
着脱が可能となる。ここでは、第1のプログラムカート
リッジ109を左側カートリッジコネクタ1501,第2のプロ
グラムカートリッジ110を右側カートリッジコネクタ150
2に装着するものとする。
111は、操作パネル112への信号をCPU101へ入出力する
ためのパネルインタフェース回路であり、この回路を経
由してCPU101は、操作パネル上のLEDの点灯やスイッチ
のセンスを行なう。
112は、本レーザビームプリンタの操作パネルであ
り、その構成は第9図で後述する。
113は、後述するページバッファ517(第5図参照)上
に展開された1ページ分の画像データを画像信号に変換
する画像信号発生器であり、印刷機構部115の同期信号
に同期して、画像信号を印刷機構部115へ出力する。
114は、制御部100と印刷機構部115との間の入出力を
行なう出力インタフェース回路である。
115は、本レーザビームプリンタの印刷機構部であ
り、画像信号を受けて、用紙の給紙,レーザー光の発
生,画像の用紙への転写・定着といったレーザビームの
プリンタの一連の印刷プロセスを実現する。
以上の構成により本プリンタは、ROM104上の制御プロ
グラム及び第1のプログラムカートリッジ109,第2のプ
ログラムカートリッジ110上の制御プログラムの、それ
ぞれ異なった3種の制御プログラムを用意し、これを切
替えて、使用できる手段を提供している。
第2図は制御プログラムを収めるROM104及びプログラ
ムカートリッジ109,110上のROMの格納形式を示した図で
ある。
以後、ROM104へ収められる本来本プリンタが持ってい
る制御プログラムを本体プログラムとよび、着脱可能な
プログラムカートリッジ109,110に収められる制御プロ
グラムを総称してカートリッジプログラムとよぶ。ま
た、第1のプログラムカートリッジ109に収められてい
るものをカートリッジプログラム0,第2のプログラムカ
ートリッジ110に収められているものをカートリッジプ
ログラム1と呼ぶ。
第2図において、200は本体プログラムの格納形式を
示したものであり、201はCPU101の割込ベクトルであ
る。このCPU101は、0番地から、順にスタックポインタ
初期アドレスa0番地,プログラムスタートアドレスa1
地,各種割込スタートアドレスa2〜an番地をアクセスす
る。a2〜an番地は、RAM105の先頭の領域である後述する
第5図501に順に割り振られる。
202は、本体プログラムの識別名を表わすもので、制
御プログラム毎に一意の2桁の番号がつけられる。これ
を「プログラムID」と呼ぶ。
203は、本体プログラム再スタートアドレス格納領域
であり、カートリッジプログラムから、本体プログラム
へ切替わる際の、ジャンプ命令(再スタートアドレスb1
番地へジャンプ)が収められる。本アドレス格納領域
は、b0番地に割振られ固定化される。
204は、本体プログラム割込ベクトルテーブルであ
る。各種割込に対して、本体プログラム上に、それぞれ
c2,c3,…cnからスタートする割込処理ルーチンが用意さ
れ、この割込ベクトルテーブル204上にそれぞれの割込
処理ルーチンへのジャンプ命令が用意される。
205は、外部参照ルーチン呼出しテーブルである。こ
れはROM104上に用意したプログラム(サブルーチン)を
カートリッジプログラムが呼び出して利用できるように
設けられたもので、本実施例ではNVRAM106への書込み及
び読出しのためのサブルーチンを用意している。
本テーブル205中、206はNVRAM書込ルーチン212へのジ
ャンプ先e1番地を収めた領域で、d1番地に割り振られ固
定化される。207は、NVRAM読出ルーチン213へのジャン
プ先e2番地を収めた領域で、d2番地に割振られ固定化さ
れる。208は、NVRAM書込ルーチン212または読出しルー
チン213に対して、NVRAMの書込または読出しのアドレス
を指示するもので、本領域208に書き込まれたRAM105上
のアドレスe3の内容、すなわちNVRAM指定アドレス507が
指定書込(読出し)アドレスとなる。同様に209は、NVR
AM書込ルーチン212または読出しルーチン213に書込値を
与える、または、読出し値を受取るための領域を指定す
るもので、本領域209に書込まれたRAM105上のアドレスe
4の内容、すなわちNVRAM設定値508がその値となる。210
は、NVRAM書込みルーチン212,NVRAM読出しルーチン213
の使用するRAM領域506の総数(Kバイト)である。
RAM上のNVRAM指定アドレス領域507を先頭にKバイト
分が、NVRAM書込み,読出しのために用意され、この領
域506は本体プログラム,カートリッジプログラムの使
用RAM領域とは分離されて使われる。
211は、第10図〜第12図で示される本体プログラムの
格納領域である。
212は外部参照ルーチンの1つであるNVRAM書込ルーチ
ンの格納領域であり、213はNVRAM読出しルーチンの格納
領域である。214は、ホストコンピュータ102から入力さ
れる文字コードに対する文字のドットパターン群を収め
たフォント領域であり、215はフォントの識別領域,216
はフォント領域214の総容量を表わすフォント容量m,217
は文字ドットパターンの実体を収める文字パターン領域
から構成される。
上記格納形式200において、201〜205はROM104上の0
番地からの固定番地に割振られる。カートリッジプログ
ラムは、本体プログラム211や外部参照ルーチン212,213
を、固定的に定義された番地の内容から間接的に参照す
る。従って、プログラム修正などにより、211以下の領
域の内容が変更されROM104上の番地にずれが生じても、
201〜205の領域の内容がその変更に対応されるため、カ
ートリッジプログラム側に影響を与えない。
250はカートリッジプログラムの格納形式を示したも
のである。250中、251はカートリッジ識別領域であり、
その内訳を第3図に示す。本領域は、4バイト構成であ
り、第3図中301はカートリッジタイプ領域であり、
‘P'又は‘F'が入れられる。この‘P'は、以下の領域が
カートリッジプログラムであることを表わし、‘F'は以
下の領域がフォント(文字パターン)領域であることを
表わす。
また、第3図の302はカートリッジサブタイプであ
り、カートリッジタイプ301が‘P'の場合、‘L',‘R',
‘B'のいずれかが入れられる。ここで‘L'は、第1のプ
ログラムカートリッジ109専用のカートリッジプログラ
ムであることを表わし、‘R'は、第2のプログラムカー
トリッジ110専用のカートリッジプログラムであること
を表わす。また、‘B'は、第1および第2のプログラム
カートリッジ共用のカートリッジプログラムであること
を表わす。
後述の第8図に示すように、第1および第2プログラ
ムカートリッジ間でアドレス領域が異なるため、それぞ
れの領域で利用するカートリッジプログラムを本カート
リッジサブタイプ302で識別する。‘B'は、例えばカー
トリッジプログラムのROM領域を全て相対アドレスで記
述し、アドレス領域に依存しないものに対して適用され
る。
カートリッジタイプ301が‘F'の場合、カートリッジ
サブタイプ302は、フォントの小分類としての識別子に
使われ、本実施例では‘A'を本体プログラム専用フォン
トを表わす識別子として定義し、‘B',‘C',‘D'…をそ
れぞれ作成される種々のカートリッジプログラムの専用
フォントを表わす識別子として定義する。
301のカートリッジタイプ,302のカートリッジサブタ
イプを総称してカートリッジIDコード303と呼ぶ。304は
カートリッジプログラムやフォントに一意に付される識
別子で、2桁の番号で表わされる。これをカートリッジ
ID番号304と呼ぶ。
252はカートリッジプログラム関連領域257の総容量no
を格納するカートリッジ容量領域である。
253は、製品適合フラグと名付けられた情報を格納す
る領域である。この製品適合フラグ253は、シリーズ化
された本プリンタの製品系列において、いずれの製品
(複数)に適合可能かを示すものであり、第4図に示す
ように16ビットの独立したビット単位のフラグからな
り、それぞれのビットが、製品系列上の1製品(従来の
製品を含んで)を表わし、ビット内容‘1'が適合可能、
‘0'が適合不可能を表わす。
この適合可能・不可能は、各製品の制御部100のハー
ドウェア構成や格納される本体プログラム、特に、外部
参照ルーチン205の提供状況などにより、カートリッジ
プログラム作成時に決定される。254はカートリッジプ
ログラムスタートアドレスの格納領域で、本体プログラ
ムからカートリッジプログラムへ切替る際のジャンプ命
令(スタートアドレスα番地へジャンプ)が収められ
る。本格納領域は、α番地に割振られ固定化される。
255は、カートリッジプログラムの割込ベクトルテー
ブルであり、204の本体プログラムの割込ベクトルテー
ブルと構造は同様のものである。各種割込に対してカー
トリッジプログラム上に、それぞれβ23,…βから
スタートする割込処理ルーチンが用意され、この割込ベ
クトルテーブル255上にそれぞれの割込処理ルーチンへ
のジャンプ命令が用意される。
256は、第13図,第14図に示されるカートリッジプロ
グラムが格納されるカートリッジプログラム格納領域で
ある。
258は、前述のフォント領域214と同じ形式のフォント
領域であり、ここではカートリッジプログラム用の文字
パターン群が収められる。259は、このフォント領域の
カートリッジ識別領域であり、形式は前述のカートリッ
ジ識別領域251と同様である。カートリッジプログラム
用フォントとして、カートリッジIDコード303に‘FB'が
付けられる。
260はフォント領域258の総容量n1を収めるカートリッ
ジ容量格納領域である。261は、カートリッジプログラ
ムが使用する文字ドットパターンの実体を収める文字パ
ターン領域である。
262も前述のフォント領域258と同一形式のフォント領
域であり、ここでは、本体プログラムの追加文字セット
としての文字パターン群が収められる。263が、そのカ
ートリッジ識別領域であり、本体プログラム用フォント
としてカートリッジIDコード303‘FA'が付けられる。26
4は、フォント領域262の総容量n2の格納領域、265は文
字パターン領域である。
第5図は、RAM105(第1図参照)上のデータ構造を示
したものである。501はRAM上の固定アドレスa2〜anに収
める割込処理ジャンプテーブルであり、本体プログラム
スタート又は再スタート時にROM104上の本体割込ベクト
ルテーブル204からコピーされる。また、カートリッジ
プログラムスタート時にプログラムカートリッジ上のカ
ートリッジプログラム割込ベクトルテーブル255からコ
ピーされる。CPU割込ベクトル201はROM上のアドレスa2,
a3,…anへ向けられており、上記のように、それぞれの
制御プログラムがスタート(再スタート)する毎に501
の領域を書き換えることにより、それぞれの制御プログ
ラムの割込処理ルーチンが使用可能となる。
502は、それぞれの制御プログラムが、他方の制御プ
ログラムへ切替る際に、必要情報を保存しておくために
用いる保存領域で、それぞれの制御プログラムに専用
に、本体保存領域503,第1のカートリッジ0保存領域50
4,第2のカートリッジ1保存領域505が用意される。こ
れらの領域は、RAM104上の固定アドレスf1,f2,f3を先頭
に固定化される。
506は、外部参照ルーチンとして定義されたNVRAM書込
みルーチン及びNVRAM読出しルーチンが使用する外部参
照RAM領域である。本領域の先頭部分は、これら外部参
照ルーチンと呼出し側の制御プログラムとのデータの引
き渡しに使用される部分で、507はNVRAMの読み書きアド
レスを指定するNVRAM指定アドレス領域、508はNVRAMへ
の書込み値の指定、又は、NVRAMからの読み出し値の引
渡しに使用されるNVRAM設定値領域である。NVRAM指定ア
ドレス領域507及びNVRAM設定値領域508は、前述のよう
に外部参照ルーチン呼出しテーブル205を介して、間接
的にそれぞれの番地e3,e4がアクセスされる。509はNVRA
M書込みルーチンや、NVRAM読出しルーチンが内部でフラ
グ変数として使用する作業用RAM領域である。
510は、フリー領域と呼ばれ、制御プログラムが切替
る毎に、制御部100の制御権を得た制御プログラムが、
自分自身のプログラムを実行させるために利用するRAM
領域であり、第5図の511〜517は、そのRAM構造の一例
である。511は、ホストコンピュータ102から、コマンド
データとして指示されたプリンタの動作モードを覚えて
おく動作モードテーブルである。ここでは、RAM104や第
1および第2のプログラムカートリッジ109,110上に複
数用意されるフォント領域のどのフォントを選択して文
字パターンを発生させるかを指定する選択フォント51
2、及び、後述のページバッファ517に作成した1ページ
分の画像の複数枚印刷を指示するコピー枚数513が用意
される。なお選択フォント512には、フォント領域の先
頭の識別コード215,259,263が利用される。
514は、制御プログラムの作業用領域で、変数やフラ
グ類が設定される。515は、作業用領域514上に取られる
Data Flag(データフラグ)と呼ばれるフラグであり、
後述のページバッファ517に、未印刷のデータが残って
いるか否かを表わすグラフである。
516は、受信バッファであり、ホストコンピュータ102
から入力されたデータは、入力インタフェース回路103
を介して、制御プログラムの受信割込処理により、本領
域に一時保存される。
517は、ホストコンピュータからの入力データを基
に、1ページ分のビットマップ化された画像データを保
存するページバッファである。
第6図は、第5図の保存領域502の構造及びフリー領
域510との関係を示す図である。504は、保存領域の一例
としてのカートリッジ0保存領域であり、以下の項目が
含まれる。まず、601は、この保存領域を着脱可能で、
複数供給される第1のカートリッジプログラム0のどの
制御プログラムが使用しているかを示す保存ID番号をセ
ットする領域である。保存ID番号には、カートリッジID
番号304が利用される。602は、動作モード保存領域であ
り、フリー領域内の動作モードテーブル511の内容が保
存/復帰される。605は、受信バッファ保存領域であ
り、フリー領域内の受信バッファ516が、保存/復帰さ
れる。
第7図は、NVRAM106のデータ構造を示したものであ
る。NVRAM106は16ビット幅で16ワードの容量を有し、そ
れぞれワード単位に0,1,…15のアドレスが付される。70
1は、アドレス1に収められたプログラムモード領域
で、現在動いている制御プログラム、又は、本レーザビ
ームプログラムの電源がオフされる直前に動いていた制
御プログラムが、本体プログラムであるか、第1のカー
トリッジプログラム0であるか、第2のカートリッジプ
ログラム1であるかを記憶する領域である。
プログラムモードは、文字コード‘M'を本体プログラ
ム実行,‘L'を第1のカートリッジプログラム0実行,
‘R'を第2のカートリッジプログラム1実行と定義され
る。このプログラムモード領域701の15ビット目は、奇
数パリティビット領域702であり、プログラムモード領
域701の奇数パリティが収められ、NVRAM読み出し/書込
み時の誤り検知に利用される。
第8図は、CPU100のアドレス空間を示す図である。80
1は、本体プログラム領域であり、0Hex番地から割り振
られ、物理的にROM104に対応づけされる。そして、本体
プログラム格納形式200の形式で、本体プログラムの情
報が収められる。
802は、カートリッジ0領域で、200000Hex番地から割
り振られ物理的に第1のプログラムカートリッジ109上
のROMに対応づけられる。そしてカートリッジプログラ
ム格納形式250の形式で第1のカートリッジプログラム
0の情報が収められる。
803は、カートリッジ1領域で400000Hex番地から割り
振られ、物理的に第1のプログラムカートリッジ110上
のROMに対応づけられる。そして、カートリッジプログ
ラム0と同様に、カートリッジプログラム格納形式250
の形式で第2のカートリッジプログラム1の情報が収め
られる。
804はRAM領域で、800000Hex番地から割り振られ、物
理的にRAM105へ対応づけられる。そして第5図に示すデ
ータ構造が適用される。
805は、増設RAM領域で、A00000Hex番地から割り振ら
れ、物理的に、増設RAMカード107に対応づけられる。
806はI/0アドレス領域で、CPUが、入力インタフェー
ス回路103やパネルインタフェース回路111,NVRAM106な
ど制御部100の各回路と信号のやり取りを行なうI/0ポー
トが割り振られる。
第9図は、操作パネル112の表示器,スイッチ配置を
示した図である。901は一般の7セグメントLED2桁で構
成された状態表示器で、制御プログラムの指示により、
現在実行中の制御プログラムの種類や、エラー発生時の
エラー表示を行なう。
902,903,904は、プログラムモード切替スイッチであ
り、MAINスイッチ902の押下が本体プログラムへの切替
要求,Lスイッチ903がカートリッジプログラム0への切
替要求,Rスイッチ904がカートリッジプログラム1への
切替要求となる。これらのスイッチは、制御プログラム
により、CPU101がこれらのスイッチの押下状態をセンス
することによって検知され、実行に移される。
以上の構成をもつ本レーザビームプリンタの本体プロ
グラムのフローチャートを第10図,第11図,第12図に示
し、本体プログラムが実行される際の本レーザビームプ
リンタの動作を説明する。
第10図は、本体プログラムのスタート処理1000のフロ
ーチャートであり、電源が投入されると、CPU101は、CP
U割込ベクトル201のプログラムスタート番地a1を参照し
て、a1番地からスタートする本体プログラムへジャンプ
する。
そこで、まずステップ1001において、制御部100のセ
ルフテストを実行し、ステップ1002で保存領域502を、
ステップ1003で外部参照RAM領域506を初期化しておく。
次にステップ1004で、NVRAM読込みルーチン212を利用
して、NVRAM106のプログラムモード領域701から、プロ
グラムモードを読み込み、ステップ1005で、どの制御プ
ログラムをスタートさせるかを判断する。ステップ1005
で、プログラムモードが‘M'の場合、本体プログラム実
行を表わすので、ステップ1006以下へ進み、本体プログ
ラムを続行する。
まずステップ1006で、本体割込ベクトルテーブル204
をRAM105上の割込処理ジャンプテーブル501へコピーす
る。次にステップ1007でフリー領域510を本体プログラ
ム用に初期化する。続いてステップ1008で、ビィジィー
信号S2をOFFにしてホストコンピュータにデータの送信
可能を知らせ、ステップ1009で、状態表示器901にプロ
グラムID202を表示し、現在実行中の制御プログラムが
本体プログラムであることを示す。
そしてステップ1010で、第11図に示す本体プログラム
のメインルーチンへ飛ぶ。
一方、ステップ1005で、プログラムモードが‘L'の場
合、カートリッジプログラム0の実行の要求を表わすの
で、ステップ1011へ進み、まず、第1のプログラムカー
トリッジ109側のカートリッジ識別領域251のカートリッ
ジIDコード303をチェックする。
ここで、カートリッジIDコード303が‘PL'の場合は、
このプログラムカートリッジ109が、カートリッジプロ
グラム0用の制御プログラムを有すことを表わし、ま
た、カートリッジIDコード303が‘PB'の場合、このプロ
グラムカートリッジ109がカートリッジプログラム0,1兼
用の制御プログラムを有することを表わす。またカート
リッジIDコード303が‘PL',‘PB'以外のものの場合、カ
ートリッジプログラム0への移行が不適であるので、移
行を中止し、ステップ1006へ進んで本体プログラムを続
行する。
ステップ1011でカートリッジIDコード303が‘PL',‘P
B'の場合、現在装着されているプログラムカートリッジ
109上のカートリッジプログラムが利用可であることを
示すので、次にステップ1012へ進み、もう一つのチェッ
クである製品適合フラグ253のチェックを行なう。
本レーザビームプリンタに定義されている製品モデル
に対応するビットフラグが製品適合フラグ253中に立っ
ているか否かをチェックし、立っていれば、現在装着さ
れているプログラムカートリッジ109上のカートリッジ
プログラムが、本レーザビームプリンタに適用可能であ
るとしてステップ1013へ進み、カートリッジ0領域802
上の番地200000+αすなわち、カートリッジプログラ
ムスタートアドレス格納領域254へ飛び、その内容,α
番地へのジャンプ命令に従い、第13図に示すカートリ
ッジプログラムのスタート処理1300へ進む。
ステップ1012で、製品適合フラグ253の対応ビットが
立っていない場合、このカートリッジプログラム0が、
本レーザビームプリンタに適用不可能を示すので、カー
トリッジプログラム0への移行を中断して、ステップ10
06以下の本体プログラムの続行へ進む。
ステップ1005で、プログラムモードが‘R'の場合、カ
ートリッジプログラム1の実行を表わすので、ステップ
1011〜1013のカートリッジプログラム0の場合と同様
に、プログラムカートリッジ1について、ステップ1014
でのカートリッジIDコード303のチェック,ステップ101
5での製品適合フラグ253のチェックを経てステップ1016
へ進み、カートリッジ1領域803上の番地400000+α
へ飛び、カートリッジプログラム1へCPU101の制御が渡
される。
第11図は、第10図の本体プログラムスタート処理1000
又は後述する第12図の本体プログラム再スタート処理12
00から飛んでくる、本体プログラムのメインルーチン11
00のフローチャートである。
まずステップ1101で、プログラムモード切替スイッチ
902,903,904のいずれかが押されたかをチェックする。
どれも押されていなければ、ステップ1101〜1108の処理
を繰返し続行する。
まず、ステップ1102で受信バッファにデータがあるか
否かをチェックし、ホストコンピュータからの入力デー
タが、受信バッファにセットされるまで、ステップ1101
のスイッチチェックを行ないながら待つ。
受信バッファにデータが存在する場合、ステップ1103
へ進み、まず、受信バッファからデータを取り出し、デ
ータ解析を行なう。ここで、コマンドか文字コードかが
見分けられ、フォント選択コマンドの場合は、指定値を
選択フォント領域512へ、コピー枚数指定コマンドの場
合は指定値をコピー枚数領域513へ記憶する。
文字コードの場合、ステップ1104に進み、選択フォン
ト領域512に指定されている識別コードから、対応する
フォント領域214又は265を選び出し、対応する文字ドッ
トパターンをページバッファ517上に展開し、同時にDat
a Flag(データフラグ)515をONにしてページバッファ5
17上に印刷データがあることを示す。そしてステップ11
05へ進み、1ページ分のデータの解析が終了するまで、
ステップ1101〜1105を繰り返えさせる。
1ページ分のデータ解析が終了すると、ステップ1106
へ進みページバッファ517上の画像データを画像信号発
生器113に送って、印刷機構部115に、印刷を行なわせ
る。そしてステップ1107で、コピー枚数領域513で指定
されているコピー枚数分ステップ1106〜1107を繰返えさ
せる。
指定枚数分の印刷が終了すると、ステップ1108へ進
み、Data Flag(データフラグ)515をOFFにして、ペー
ジバッファ517上に印刷すべきデータなしを示し、ステ
ップ1101へ戻る。
ステップ1101で、プログラムモード切替スイッチ902,
903,904のいずれかが押されていた場合、ステップ1109
以下のプログラム切替処理へ進む。
まず、ステッ1109でビィジー信号S2をONにしてホスト
コンピュータ102にデータ送信停止の要求を出し、これ
以上ホストコンピュータ102からデータが送られてこな
いようにする。
次にステップ1110で、Data Flag(データフラグ)515
をチェックする。このData Flag(データフラグ)515が
ONの場合、ページバッファ517上に印刷データが残って
いるので、プログラム切替不可として、ステップ1120で
状態表示器901にエラー表示を出し、ステップ1121で、
ビィジー信号S2を元に戻して、ステップ1101へ戻る。
Data Flag(データフラグ)515がOFFならばステップ1
111へ進み、どのプログラムモード切替スイッチが押さ
れたかをチェックする。
MAINスイッチ902が押された場合、現在本体プログラ
ムが実行中なので、このスイッチ押下は無効として、ス
テップ1120でのエラー表示,ステップ1121でのビィジー
信号S2復帰を経由してステップ1101へ戻る。
Lスイッチ903が押された場合、ステップ1112以下へ
進み、カートリッジプログラム0への移行手続きに入
る。前述のステップ1011,1012と同様に、ステップ1112
で、カートリッジIDコード303をチェックし、ステップ1
113で製品適合フラグ253をチェックし、問題なければス
テップ1114へ進み、動作モードテーブル511及び受信バ
ッファ516の内容を本体保存領域502へコピーし、記憶さ
せる。そして、ステップ1115で、20000+α番地経由
で始まるカートリッジプログラム0へ、CPU101の制御を
移す。
ステップ1112,1113で、チェックをパスしなかった場
合、ステップ1120で状態表示器901にエラーが表示さ
れ、ステップ1121でビィジー信号S2が戻されステップ11
01へ戻る。
ステップ1111で、Rスイッチ904が押されていた場
合、ステップ1116以下のカートリッジプログラム1への
移行手続きに入る。これは、ステップ1112〜1115のカー
トリッジプログラム0と同様の処理を第1のプログラム
カートリッジ110に対して行なうもので、ステップ1116
でのカートリッジIDコード303のチェック,ステップ111
7の製品適合フラグ253のチェック,ステップ1118の本体
保存領域への動作モードテーブル511及び受信バッファ5
16の保存を経て、ステップ1119で、400000+α番地を
経由して始まるカートリッジプログラム1へCPU101の制
御を移す。
第12図は、カートリッジプログラムから、本体プログ
ラムへCPU101の制御が移される際の本体プログラムの再
スタート処理1200の流れを表わすフローチャートであ
る。
再スタートは、カートリッジプログラムから本体プロ
グラムb0番地へのジャンプから始まる。まず、ステップ
1201でb0番地の領域、すなわち本体プログラム再スター
トアドレス格納領域203を参照して、再スタート処理の
実体b1番地へジャンプし、ステップ1202以下の再スター
ト処理を実行する。ステップ1202で、現在、カートリッ
ジプログラム用の割込ベクトルテーブル255がコピーさ
れている割込処理ジャンプテーブル501を本体割込ベク
トルテーブル204で、コピーし直す。
次に、ステップ1203で、カートリッジプログラム用に
使用されていたフリー領域510を本体プログラム用に初
期化し直し、ステップ1204で、前回本体プログラムから
カートリッジプログラムへ切替えた際、保存した情報
(ステップ1114,1118)を本体保存領域503から、フリー
領域510の所定の領域へコピーする。
次にステップ1205で、ビィジー信号S2をOFFにして、
ホストコンピュータ102へデータ送信可能を知らせ、ス
テップ1206で状態表示器501にプログラムID202を表示
し、本体プログラムが再び動き始めたことを知らせる。
そしてステップ1207で、NVRAM書込ルーチンを用いてプ
ログラムモードとして‘M'(本体プログラム実行)を、
NVRAM106のプログラムモード領域701へ保存し、ステッ
プ1208で、本体メインルーチン1100へ進む。
第13図,第14図は、プログラムカートリッジ上のカー
トリッジプログラムの一例を示すフローチャートであ
る。
第13図は、カートリッジプログラムのスタート処理13
00のフローチャートである。まずステップ1301で、本体
プログラム又は他方のカートリッジプログラムからカー
トリッジ領域802又は803の先頭からの相対アドレスα
番地へジャンプ(ステップ1115,1119,1411)したプログ
ラムの制御は、α番地のカートリッジスタートアドレ
ス格納領域254を参照してスタート処理の実体α番地
へジャンプし、ステップ1302以下のスタート処理を実行
する。
ステップ1302で、本体側のプログラムID202をチェッ
クし、所定のプログラムIDであれば、本カートリッジプ
ログラムは本体プログラムに適合するものとして、ステ
ップ1303へ進み、メモリ容量のチェックを行なう。特定
のカートリッジプログラムで、増設RAMカード107が必須
の構成となる場合、ここでチェックを受けることにな
る。
メモリ容量に問題がなければ、ステップ1304でカート
リッジプログラム用割込ベクトルテーブル255をRAM105
上の割込処理ジャンプテーブル501へコピーする。
次に、ステップ1305でフリー領域510をカートリッジ
プログラム用に初期化する。
次にステップ1306で、カートリッジ保存領域(カート
リッジプログラム0の場合はカートリッジ0保存領域50
4、カートリッジプログラム1の場合はカートリッジ1
保存領域505)の保存ID601をチェックする。この保存ID
601が、空(初期化状態のまま)ならば、ステップ1310
へ飛ぶ。
ステップ1306において、保存ID601が、現在実行中の
カートリッジプログラムのカートリッジID番号304と一
致しているならば、これは保存領域の内容が、前回この
カートリッジプログラムから本体プログラムへ移行する
直前に保存されたカートリッジプログラムの情報を表わ
すので、ステップ1307へ進み、カートリッジ保存領域50
4又は505の内容を、フリー領域510の所定の場所に戻
す。
ステップ1306で、保存ID601とカートリッジID番号304
が一致しない場合、これはプログラムカートリッジが別
のものに変換され、前回カートリッジ保存領域504又は5
05に情報が保存されたときとは、別のカートリッジプロ
グラムが実行されていることを示すので、ステップ1308
で、状態表示器901へ警告のエラー表示を行ない、ステ
ップ1309で操作パネル112上の任意のスイッチ902,903,9
04が押されるまで待って、ステップ1310へ飛ぶ。
次にステップ1310で、ビィジー信号S2をOFFにしてホ
ストコンピュータ102へデータ送信可能を知らせ、ステ
ップ1311で状態表示器にカートリッジID番号304を表示
し、ステップ1312で、NVRAM書込ルーチンを用いて、プ
ログラムモードとして‘L'(または‘R')をNVRAM106の
プログラムモード領域703へ保存し、ステップ1313でカ
ートリッジプログラムのメインルーチン1400へ進む。
ステップ1302,1303のチェックで条件が合わなかった
場合、ステップ1314へ進み、状態表示器901にエラー表
示を行ない、ステップ1315で、操作パネル112上の任意
のスイッチ902,903,904が押されるのを待ってステップ1
316本体プログラムのスタートa1番地へジャンプさせ
る。
第14図はカートリッジプログラムのメインルーチンの
一例であり、ここでは説明上、カートリッジプログラム
0の場合のメインルーチン1400を示す。
まずステップ1401でプログラムモード切替スイッチ90
2,903,904のいずれかが押されたかをチェックする。ど
れも押されていなければ、ステップ1401〜1406の処理を
繰返し続行する。
まずステップ1402で受信バッファにデータがあるか否
かをチェックし、ホストコンピュータからの入力データ
が受信バッファにセットされるまで、ステップ1401のス
イッチチェックを行ないながら待つ。
受信バッファにデータが存在する場合、ステップ1403
へ進み、まず受信バッファからデータを取り出し、本体
プログラムとは、別のコマンド体系に従ったデータ解析
を行なう。ここで、コマンドか文字コードかが見分けら
れ、フォント選択コマンドの場合は、指定値を選択フォ
ント領域512へ、コピー枚数指定コマンドの場合は指定
値をコピー枚数領域513へ記憶する。
文字コードの場合、選択フォント領域512に指定され
ている識別コードから、対応するフォント領域258を選
び出し、対応する文字ドットパターンをページバッファ
517上に展開する。そしてステップ1404へ進み、1ペー
ジ分のデータの解析が終了するまで、ステップ1401〜14
04を繰り返えさせる。
1ページ分のデータ解析が終了すると、ステップ1405
へ進み、ページバッファ517上の画像データを画像信号
発生器113に送って、印刷機構部115に印刷を行なわせ
る。そして、ステップ1406でコピー枚数領域513で指定
されているコピー枚数分ステップ1405〜1406を繰返えさ
せる。指定枚数分の印刷が終了すると、ステップ1401へ
戻る。
ステップ1401で、プログラムモード切替スイッチ902,
903,904のいずれかが押されていた場合、ステップ1407
以下のプログラム切替処理へ進む。
ステップ1407で、どのプログラムモード切替スイッチ
が押されたかをチェックし、Lスイッチ903が押された
場合、現在実行中のカートリッジプログラム0を切替要
求しているので、無効としてステップ1401へ戻る。
Rスイッチ904が押されていた場合、ステップ1408以
下のカートリッジプログラム1への移行手続きにはい
る。本体プログラムのステップ1101と同様に、ステップ
1112で、カートリッジIDコード303をチェックし、カー
トリッジコネクタ1502に有効なカートリッジプログラム
があるか否かをチェックする。有効なカートリッジプロ
グラムの存在が確認されれば、ステップ1409へ進み、カ
ートリッジ0保存領域504の保存ID領域601に、現在実行
しているカートリッジプログラム0のカートリッジID番
号304を記録し、ステップ1410でフリー領域510上の動作
モードテーブル511及び受信バッファ516の内容をカート
リッジ0保存領域504にコピーする。
そしてステップ1411へ進み、400000+α番地を経由
して始まるカートリッジプログラム1へCPU101の制御を
移す。ステップ1408で有効なカートリッジプログラムの
存在が確認できなかった場合、ステップ1401へ戻る。
ステップ1407で、MAINスイッチ902が押されていた場
合、ステップ1412,1413へ進み、前述のステップ1409,14
10と同様に、カートリッジID番号304及びフリー領域510
上の必要情報をカートリッジ0保存領域504にコピー
し、ステップ1414でb0番地経由で始まる本体プログラム
の再スタート処理1200へ飛ぶ。
以上説明してきたように、本実施例では本体プログラ
ム及びカートリッジプログラム0,1のうち現在実行中の
プログラムが切替要求スイッチをチェックすることで切
替要求を検知し、要求された他プログラムに対して固定
的に定められている当該プログラムのスタート(再スタ
ート)アドレスの格納番地から、スタート(再スター
ト)アドレスを得、CPUの制御を移すことにより、制御
プログラムの切替えを可能にしている。
また、上記実施例ではページバッファ517に画像デー
タを書込んだ時点で、Data Flag(データフラグ)515を
立て、ページバッファ517の画像データの出力が終了し
た時点で、Data Flag(データフラグ)515をOFFするこ
とにより(すなわち、ページバッファに印刷すべき、あ
るいは印刷中の画像データが存在している間)Data Fla
g(データフラグ)515がONにされる。
ここで、切替スイッチ902,903,904による制御プログ
ラム切替要求が発生した際、Data Flag(データフラ
グ)515をチェックすることにより、未だ、印刷すべき
データが残留しているのを検知し、この場合、制御プロ
グラムの切替を中止することで、残留印刷データが消失
するのを防ぐことができる。さらに、この場合には表示
器901に警告表示を行なうことで、操作者に対して制御
プログラム切替中止を知らせ、次の処置を要求できる。
さらに上記実施例では、切替スイッチによる切替要求
を検知した時点でホストコンピュータに対してビィジー
信号S2をONすることにより、ホストコンピュータからの
データ送信の停止要求を出し、データ送信を止めてい
る。これによって、制御プログラムが切替わり、新しい
制御プログラムのスタート処理中にホストコンピュータ
からのデータが入力され、そのデータが消失してしまう
といった事態を避けることができる。
上述した実施例では、着脱可能なプログラムカートリ
ッジ側に製品適合フラグ253を設け、該フラグの各ビッ
トを各種製品モデルに対して各々独立に、本カートリッ
ジプログラムが使用できるか否かのフラグとして予め割
付けておく。このプログラムカートリッジがプリンタ本
体に装着された際、本体プログラムが、プログラムカー
トリッジ上の複数ビットからなる製品適合フラグ253中
の、自分自身の製品モデルに対応して一意に決められて
いるビットフラグを調べることにより、このプログラム
カートリッジが、本プリンタで利用できるか否かを判断
できる。
特に、該製品適合フラグ253は、独立された複数のビ
ットフラグから成り立っているので、複数の製品モデル
に対して、本プログラムカートリッジが使用可能であっ
ても、それぞれ対応した該ビットフラグを同時に立てる
ことで、兼用して使うことが可能となる。
一方、プリンタ本体側に識別子として、プログラムID
202が設けられ、プリンタに一意に名をつけている。こ
れにより、プログラムカートリッジ側のカートリッジプ
ログラムは、このプログラムID202を調べることで、本
カートリッジが、装着された本体とマッチするものか否
かを調べることができる。特に、ハードウェア構成が全
く同じで、本体プログラムをある特殊用途に限った目的
で作った用途限定型のプリンタなどに対して、汎用プロ
グラムカートリッジの使用を防ぐためにも、上記検知手
段は利用できる。また、本実施例ではプログラムカート
リッジが、本体に適合しなければ、状態表示器にその旨
を表示して、操作者に警告している。
実施例2 上記実施例においては、本体プログラムからカートリ
ッジプログラムへ切替える際のジャンプ先を、相対番地
αに固定していたが、これに限らず、例えば、カート
リッジ識別領域からの相対位置を固定し、その領域に、
カートリッジプログラムのスタート先を記憶させること
も可能である。
これによって、1つの制御プログラム格納媒体上に、
複数の制御プログラムを格納し、カートリッジ識別領域
のカートリッジ識別コードをサーチすることによって、
それぞれの制御プログラムへの切替が可能となる。
また、第1の実施例では、制御プログラムの切替要求
を操作パネル上のスイッチにて行なっていたが、これに
限らず、ホストコンピュータからのコマンドで行なって
もよい。さらに、切替要求は単に本体プログラムかプロ
グラムカートリッジ0か1かの切替要求であったが、プ
ログラムIDやカートリッジIDコードを利用して、一意名
で切替プログラムを指示することも可能である。
第1の実施例においては、外部からの切替要求をスイ
ッチで検知したものであったが、これに限らず、例え
ば、装置内に各ユニットの異常検知手段を有し、あるユ
ニットに異常が検知された場合、制御手段を切替るとい
った、内部的な切替要求に対しても、適用できる。
第1の実施例では、制御手段としてCPUに制御情報を
与える制御プログラムを用いたが、これに限らず、電気
的な制御回路を用いてもよい。この場合、切替制御はプ
ログラムの制御の流れに対して、電気的な信号を用いる
ことになる。
実施例3 第1の実施例では、ページバッファの残留データの有
無を制御プログラム切替可能条件としてその検知手段を
設けた訳であるが、本発明はこれに限らず、例えば、受
信バッファ上のデータの有無を制御プログラム切替可能
条件とすることもできる。
この場合、複数ページの連続して送信されたデータ
が、制御プログラムの切替で分断されるのを防ぐことが
できる。
また、制御プログラム切替可能条件は残留データのチ
ェックに限らず、例えば、印刷装置上の紙搬送状態をチ
ェックし、用紙が完全に排紙してから切替を許可する形
態にしてもよい。これによって、切替によって走り始め
る新しい制御プログラムが初期化のため印刷装置の全動
作を一時停止させても、直前に印刷した用紙が損なわれ
ずに済むことになる。
実施例4 第1の実施例では、データ源への切替報知手段として
データの切取りのためのプロトコル用ビィジー信号、す
なわちデータの送信停止要求信号を用いたが、本発明は
これに限らず、独立した専用報知信号をデータ源と本装
置の間に設けて、切替手段の行使をデータ源に知らせて
もよい。
この場合、データ源は制御プログラムが切替られたこ
とを一義に検知できるため、制御プログラムに依存する
データファイルの交換やプリンタドライバの交換などが
操作者へ指示できる。特に、該報知信号がコード情報を
扱えるようにした場合、印刷装置側は切替えられた制御
プログラムをその制御プログラムに一意に名付られた識
別名で知らせることができ、データ源側のプリンタドラ
イバやデータファイルの交換の自動化が可能となる。
また、印刷装置からの切替行使,報知手段に対応する
応答手段を設けることにより、制御プログラムの切替が
生じてデータ源に通報された場合、データ源は現在一群
のデータの送信途中か否かを判断して、送信途中の場合
には制御プログラム切替,拒否の応答を印刷装置に伝
え、一群の印刷が途中で中断するのを避けることが可能
となる。
実施例5 第1の実施例では、ハードウェア構成や本体プログラ
ム側の外部参照ルーチン群が同一であれば、本体プログ
ラム自身が異なる各種製品モデルに対して、プログラム
カートリッジは製品適合フラグの対応ビットを全て立て
ることで、共用化を実現していた。さらにこれを進め
て、ハードウェア構成や外部参照ルーチン群が異なるも
のであっても、プログラムカートリッジ上のプログラム
が、本体側のプログラムID等の識別子を調べて、それぞ
れのハードウェア構成,外部参照ルーチンの供給状態に
合わせて、複数の制御に制御プログラムを分岐させても
よい。これによって、製品モデル群に対してのプログラ
ムカートリッジの共用範囲を広げることができる。
(実施例の効果) 本発明を実施することにより、以下に述べる効果を得
ることができる。
着脱可能な複数の制御プログラム格納媒体を用意し、
ある制御プログラムから他の制御プログラムへの切替を
可能にしたことにより、種々のプリンタコマンド体系へ
の対応や種々の印刷機能,ホストコンピュータとの種々
のハンドシェイクサポートが一つの装置内で実現できる
ようになる。
また、内蔵制御プログラムに問題が発見された場合で
あっても、修正したプログラムを制御カートリッジなど
の着脱可能な媒体で供給することにより、対策が容易に
なる。
さらに、独立した制御の受入手段を有することによ
り、制御プログラムの変更に対しても、複数の制御プロ
グラム間の切替に対し、その互換性が保たれる。
複数の制御プログラムの切替処理において、印刷装置
がプログラム切替可能な状態にあるか否かを検知し、切
替不可能な要因があれば切替を中止することで、データ
の消失や、装置の障害発生を防ぐことができる。
制御プログラムの切替実行の直前にデータ供給源側に
切替実行を知らせることにより、データ供給源からの送
信データが損なわれるのを防ぐことが可能となる。
現在動作している制御プログラムが、別途装着された
着脱可能な格納媒体に記憶されたプログラムの識別信号
を判別することにより、適合する制御プログラムのみに
動作を許可することが可能となる。
特に、着脱可能な格納媒体のプログラムに、装置適合
判断のための独立した複数の識別信号をもたすことによ
って、現在または将来にわたっての装置適合判別を行な
うことができ、さらに装置間での制御プログラムの共用
化が危険なく行える。
[発明の効果] 以上説明した通り、本発明によれば、外部記憶手段に
は、入力情報から出力情報を生成するための所定の処理
を実行する場合に、内部記憶手段に記憶されたプログラ
ムデータを使用するか、あるいは、外部記憶手段に記憶
されたプログラムデータを使用するかを、出力装置の種
類に応じて特定するデータを記憶させておき、制御手段
は、外部記憶手段に記憶されている上記の特定するデー
タおよび当該出力装置の種類に基づいて、内部記憶手段
に記憶されたプログラムデータおよび外部記憶手段に記
憶されたプログラムデータのいずれか一方を使用して所
定の処理を実行することとしているので、常に適切な制
御プログラムを実行し得るよう構成した出力装置を実現
することができる。
【図面の簡単な説明】
第1図は本発明を適用した一実施例における制御部を示
すブロック図、 第2図はROMへの制御プログラムの格納形式を示す図、 第3図は第2図上に示したカートリッジ識別領域の説明
図、 第4図は第2図に示した製品適合フラグの説明図、 第5図はRAMのデータ構造図、 第6図は第5図に示した保存領域の説明図、 第7図はNVRAMのデータ構造図、 第8図はCPUのアドレス空間を示す図、 第9図は操作パネルの配置図、 第10図,第11図,第12図は本体プログラムのフローチャ
ート、 第13図,第14図はカートリッジプログラムのフローチャ
ート、 第15図は本発明を適用したレーザビームプリンタの外観
図である。 100……制御部、 101……CPU、 102……ホストコンピュータ、 103……入力インターフェース回路、 104……ROM、 105……RAM、 106……NVRAM、 107……増設RAMカード、 108……カートリッジインタフェース回路、 109……プログラムカートリッジ0、 110……プログラムカートリッジ1、 111……パネルインタフェース回路、 112……操作パネル、 113……画像発生器、 114……出力インタフェース回路、 115……印刷機構部、 202……プログラムID、 203……本体プログラム再スタートアドレス格納領域、 251……カートリッジ識別領域、 253……製品適合フラグ。
フロントページの続き (72)発明者 藤田 春生 東京都大田区下丸子3丁目30番2号 キ ヤノン株式会社内 (56)参考文献 特開 平3−189721(JP,A) 特開 昭63−234488(JP,A) 特開 平1−314177(JP,A) 特開 平3−45365(JP,A) 特開 昭63−92473(JP,A) 特開 昭63−216756(JP,A) 特開 平1−145670(JP,A) (58)調査した分野(Int.Cl.7,DB名) B41J 5/30 B41J 29/38 G06F 3/12

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】情報処理装置から入力される入力情報から
    出力情報を生成して出力する出力装置であって、 着脱可能な外部記憶手段と、 内部記憶手段と、 前記内部記憶手段または前記外部記憶手段に記憶された
    プログラムデータに基づいて処理を実行する制御手段と
    を有し、 前記外部記憶手段には、入力情報から出力情報を生成す
    るための所定の処理を実行する場合に、前記内部記憶手
    段に記憶されたプログラムデータを使用するか、あるい
    は、前記外部記憶手段に記憶されたプログラムデータを
    使用するかを、出力装置の種類に応じて特定するデータ
    が記憶され、 前記制御手段は、前記外部記憶手段に記憶されている前
    記特定するデータおよび当該出力装置の種類に基づい
    て、前記内部記憶手段に記憶されたプログラムデータお
    よび前記外部記憶手段に記憶されたプログラムデータの
    いずれか一方を使用して前記所定の処理を実行すること
    を特徴とする出力装置。
  2. 【請求項2】請求項1において、前記入力情報は文字コ
    ードであることを特徴とする出力装置。
  3. 【請求項3】請求項1において、前記出力情報はイメー
    ジデータであることを特徴とする出力装置。
  4. 【請求項4】請求項1において、前記プログラムデータ
    は、入力情報を解釈して出力情報を生成するプログラム
    データであることを特徴とする出力装置。
  5. 【請求項5】請求項1において、前記外部記憶手段に
    は、複数種類のプログラムデータが記憶されていること
    を特徴とする出力装置。
JP2095110A 1990-04-12 1990-04-12 出力装置 Expired - Fee Related JP2997005B2 (ja)

Priority Applications (10)

Application Number Priority Date Filing Date Title
JP2095110A JP2997005B2 (ja) 1990-04-12 1990-04-12 出力装置
EP91303175A EP0452115B1 (en) 1990-04-12 1991-04-10 Information output apparatus with switchable program
DE69131914T DE69131914T2 (de) 1990-04-12 1991-04-10 Informationsverarbeitungsgerät mit umschaltbarem Programm
EP95202543A EP0689158B1 (en) 1990-04-12 1991-04-10 Information processing apparatus with switchable program
EP98202979A EP0881593B1 (en) 1990-04-12 1991-04-10 Information processing apparatus with switchable program
DE69133428T DE69133428T2 (de) 1990-04-12 1991-04-10 Informationsverarbeitungsgerät mit umschaltbarem Programm
DE69126677T DE69126677T2 (de) 1990-04-12 1991-04-10 Informationsausgabegerät mit umschaltbarem Programm
US08/280,588 US5878275A (en) 1990-04-12 1994-07-26 Information processing apparatus which discriminates whether or not input information is stored in memory and controlling the switching from a first control program to a second control program
US09/184,059 US6154795A (en) 1990-04-12 1998-11-02 System for switching from control program stored in an output apparatus to control program stored in detachable memory based on discriminated feeding status of recording medium
US09/690,088 US6397271B1 (en) 1990-04-12 2000-10-17 System for switching from a first control program to a second control program based on discriminated transport status of recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2095110A JP2997005B2 (ja) 1990-04-12 1990-04-12 出力装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP15283399A Division JP3181894B2 (ja) 1999-05-31 1999-05-31 出力装置

Publications (2)

Publication Number Publication Date
JPH03293172A JPH03293172A (ja) 1991-12-24
JP2997005B2 true JP2997005B2 (ja) 2000-01-11

Family

ID=14128718

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2095110A Expired - Fee Related JP2997005B2 (ja) 1990-04-12 1990-04-12 出力装置

Country Status (4)

Country Link
US (3) US5878275A (ja)
EP (3) EP0689158B1 (ja)
JP (1) JP2997005B2 (ja)
DE (3) DE69133428T2 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03288926A (ja) * 1990-04-05 1991-12-19 Canon Inc 画像出力装置
JP2997005B2 (ja) * 1990-04-12 2000-01-11 キヤノン株式会社 出力装置
JP2593007B2 (ja) * 1991-03-25 1997-03-19 東北リコー株式会社 プログラム組込型機器
JP2839119B2 (ja) * 1992-05-18 1998-12-16 キヤノン株式会社 文字処理装置及び方法
US5337258A (en) * 1992-07-10 1994-08-09 Microsoft Corporation Cost metrics
US5469533A (en) * 1992-07-10 1995-11-21 Microsoft Corporation Resource-oriented printer system and method of operation
US5471564A (en) * 1992-07-10 1995-11-28 Microsoft Corporation System and method for dynamic printer timeout
US5467435A (en) * 1992-07-10 1995-11-14 Microsoft Corporation System and method for mode switching
US5471563A (en) * 1992-07-10 1995-11-28 Microsoft Corporation System and method for automatic resolution reduction
US5469532A (en) * 1992-11-16 1995-11-21 Microsoft Corporation System and method for font wrapping printer data
JP3266685B2 (ja) * 1993-02-17 2002-03-18 ブラザー工業株式会社 プリンタ
FI102495B1 (fi) * 1994-03-16 1998-12-15 Nokia Mobile Phones Ltd Luku/tulostuslaite
US6633405B1 (en) 1999-12-17 2003-10-14 Hewlett-Packard Development Company, L.P. Method and apparatus for interfacing generic and device-specific control codes
US20030043396A1 (en) * 2001-08-29 2003-03-06 Klosterman Elliot L. Printer driver access interface
US20030132293A1 (en) * 2002-01-11 2003-07-17 Hand Held Products, Inc. Transaction terminal including raised surface peripheral to touch screen
KR100667822B1 (ko) * 2005-10-10 2007-01-11 삼성전자주식회사 낸드 플래시 메모리를 이용한 화상형성장치의 초기화제어장치 및 방법
US8571882B1 (en) * 2006-07-05 2013-10-29 Ronald J. Teitelbaum Peer to peer database
US20130228529A1 (en) * 2011-11-04 2013-09-05 Ppg Industries Ohio, Inc. Microporous material having filtration and adsorption properties and their use in fluid purification processes
US20140069862A1 (en) * 2011-11-04 2014-03-13 Ppg Industries Ohio, Inc. Coated microporous materials having filtration and adsorption properties and their use in fluid purification processes
US20130228519A1 (en) * 2011-11-04 2013-09-05 Ppg Industries Ohio, Inc. Microporous material having filtration and adsorption properties and their use in fluid purification processes

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5479042A (en) * 1977-12-06 1979-06-23 Canon Inc Image forming device
JPS59136861A (ja) * 1983-01-27 1984-08-06 Canon Inc 電子機器
JPS59140666A (ja) * 1983-01-31 1984-08-13 Victor Co Of Japan Ltd 回転記録媒体再生装置
JPS607532A (ja) * 1983-06-27 1985-01-16 Canon Inc 情報処理装置
US4620231A (en) * 1984-06-18 1986-10-28 Rca Corporation CCD imager with photodetector bias introduced via the CCD register
FR2566327B1 (fr) * 1984-06-25 1989-06-02 Epson Corp Imprimante
JPS6120768A (ja) * 1984-07-09 1986-01-29 Canon Inc プリンタの書体選択装置
DE3476180D1 (en) * 1984-11-14 1989-02-23 Mannesmann Tally Gmbh Printer, in particular a matrix printer
US4742483A (en) * 1985-05-14 1988-05-03 Minolta Camera Company, Ltd. Laser printer maintenance system
JPS6219904A (ja) * 1985-07-18 1987-01-28 Diesel Kiki Co Ltd マイクロプロセツサを用いた制御装置
US4811052A (en) * 1985-08-08 1989-03-07 Canon Kabushiki Kaisha Control device for control of multi-function control units in an image processing apparatus
US4745572A (en) * 1985-11-04 1988-05-17 Step Engineering Software editing instrument
JPS62117032A (ja) * 1985-11-18 1987-05-28 Canon Inc 電子タイプライタシステム
US4825404A (en) * 1985-11-27 1989-04-25 Tektronix, Inc. Interface system which generates configuration control signal and duplex control signal for automatically determining the configuration of removable modules
US4949301A (en) * 1986-03-06 1990-08-14 Advanced Micro Devices, Inc. Improved pointer FIFO controller for converting a standard RAM into a simulated dual FIFO by controlling the RAM's address inputs
US5270805A (en) * 1986-05-16 1993-12-14 Canon Kabushiki Kaisha Data communication apparatus for converting data in accordance with a discriminated function of a destination station
US4878123A (en) * 1986-05-23 1989-10-31 Canon Kabushiki Kaisha Image processing apparatus having image memory
JPS6390263A (ja) * 1986-10-02 1988-04-21 Canon Inc パ−ソナルコンピユ−タ
JPH0737155B2 (ja) * 1986-10-07 1995-04-26 シチズン時計株式会社 プリンタ
JPH0786829B2 (ja) * 1987-07-31 1995-09-20 株式会社東芝 電子機器装置
JPH01118454A (ja) * 1987-10-30 1989-05-10 Brother Ind Ltd 印字装置
DE3744263A1 (de) * 1987-12-24 1989-07-13 Olympia Aeg Zeichengenerator fuer eine druckvorrichtung mit einem matrixdruckkopf
JP3004274B2 (ja) * 1988-02-17 2000-01-31 キヤノン株式会社 出力制御装置
US4951248A (en) * 1988-03-04 1990-08-21 Sun Microsystems, Inc. Self configuring memory system
JP2738696B2 (ja) * 1988-03-24 1998-04-08 キヤノン株式会社 印字制御装置
US5042003A (en) * 1988-07-06 1991-08-20 Zenith Data Systems Corporation Memory usage system
US4905200A (en) * 1988-08-29 1990-02-27 Ford Motor Company Apparatus and method for correcting microcomputer software errors
US5355489A (en) * 1989-08-25 1994-10-11 International Business Machines Corp. Bios load for a personal computer system having a removable processor card
JP2875842B2 (ja) * 1990-03-19 1999-03-31 株式会社日立製作所 プログラマブルコントローラ
JP2997005B2 (ja) * 1990-04-12 2000-01-11 キヤノン株式会社 出力装置
JPH05181185A (ja) * 1991-07-19 1993-07-23 Nikon Corp 共通制御回路を有するカメラ

Also Published As

Publication number Publication date
US6154795A (en) 2000-11-28
EP0881593A2 (en) 1998-12-02
DE69126677T2 (de) 1997-11-13
EP0881593B1 (en) 2004-11-17
EP0689158B1 (en) 2000-01-12
DE69131914T2 (de) 2000-06-15
US5878275A (en) 1999-03-02
EP0452115A2 (en) 1991-10-16
DE69126677D1 (de) 1997-08-07
EP0689158A2 (en) 1995-12-27
DE69131914D1 (de) 2000-02-17
DE69133428T2 (de) 2005-11-10
DE69133428D1 (de) 2004-12-23
EP0452115B1 (en) 1997-07-02
JPH03293172A (ja) 1991-12-24
EP0452115A3 (en) 1993-01-13
EP0689158A3 (ja) 1996-01-17
US6397271B1 (en) 2002-05-28
EP0881593A3 (en) 1999-02-03

Similar Documents

Publication Publication Date Title
JP2997005B2 (ja) 出力装置
JPH03192038A (ja) 記録装置の制御装置
JPH0784117B2 (ja) 画像記録装置の制御装置
JP3181894B2 (ja) 出力装置
JPH0635634A (ja) 印刷装置
JP2757910B2 (ja) 帳票出力宛先プリンタ選択運用システムおよび帳票出力宛先プリンタ選択方法
US5930462A (en) Printing apparatus
JPH068534A (ja) 印刷装置
JP3101288B2 (ja) 印刷装置及び印刷制御装置
US5303335A (en) Image forming apparatus
JP2003029946A (ja) 印刷システム、プリンタおよびコンピュータ
US5995720A (en) Information processing apparatus, an information processing method, and a storage medium
JP3293337B2 (ja) プリンタ装置
JPH0211377A (ja) 印刷コントロール装置
JP4047361B2 (ja) 情報処理装置及びその制御方法及び記録媒体
JP2000108437A (ja) プリント装置
JP2982007B2 (ja) 表示装置
JP3033802B2 (ja) プリンタ装置
JPH11184645A (ja) プリンタ制御装置
JPH09146521A (ja) 出力制御装置及び方法
JPS6327285A (ja) デ−タ処理システムの印字装置
JPS6389947A (ja) 文書フアイル装置
JPH0615882A (ja) 記録装置
JPS62105227A (ja) パタ−ン記憶媒体差し換え制御方式
JPH05131715A (ja) 画像形成装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071029

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081029

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091029

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees