JPH02286384A - プリンタ・コントローラ - Google Patents

プリンタ・コントローラ

Info

Publication number
JPH02286384A
JPH02286384A JP1107254A JP10725489A JPH02286384A JP H02286384 A JPH02286384 A JP H02286384A JP 1107254 A JP1107254 A JP 1107254A JP 10725489 A JP10725489 A JP 10725489A JP H02286384 A JPH02286384 A JP H02286384A
Authority
JP
Japan
Prior art keywords
page
block
information
hcb
printing
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.)
Pending
Application number
JP1107254A
Other languages
English (en)
Inventor
Masahiro Nakanishi
昌弘 中西
Keiji Izumi
恵治 泉
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.)
Olympus Corp
Original Assignee
Olympus Optical Co Ltd
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
Application filed by Olympus Optical Co Ltd filed Critical Olympus Optical Co Ltd
Priority to JP1107254A priority Critical patent/JPH02286384A/ja
Publication of JPH02286384A publication Critical patent/JPH02286384A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、操作パネルにより印字のための各種パラメ
ータを変更できるようにしたプリンタにおいて、変更さ
れたパラメータの管理方式を向上させたプリンタ・コン
トローラに関する。
〔従来の技術〕
一般に、コンビエータより転送されるコード化された印
字情報を受は取り、内部のメモリに印字情報を蓄積し、
用紙1ペ一ジ分に対応する量のデータが受信されると、
1ペ一ジ分の情報を印字出力する、いわゆるページ・プ
リンタにおいて、ホスト・コンピュータよりプリンタに
転送されるASCIIコードで表現される印字情報は、
実際に印字される通常文字コード(21H〜7EH)と
、CR(復帰)、LF(改良)等の1バイトの制御コー
ド(00H〜20H,7FH)とに大別される。しかし
ながらASCIIコード等の1バイトによる情報だけで
は、プリンタ諸条件の変更等の複雑な制御ができないた
め、前記制御コードの中のESCコード(LBH)をコ
マンド・ヘッダとして複数バイトで構成されたコマンド
群(以降ESCシーケンスと呼ぶ)を用意し、印字にお
ける文字間隔や、行間隔の設定、マージン・オフセット
等の1ページ内の印字位置制御等、印字を実行するため
の環境条件の制御を行っている。
ところが上記のESCシーケンスは複雑なコード体系を
なしており、プリンタを使用するオペレータにとっては
、このESCシーケンス体系のコマンドを作成すること
は実際には難しい作業である。このためプリンタに操作
パネルを搭載し、この操作パネルからパラメータを入力
することによって、印字する行間隔を変えるとか、使用
するフォント・セントを選択するなどの環境条件の変更
を行なえるようにしたプリンタが知られている。
また、通常ページ・プリンタはホスト・コンピュータよ
りデータを受信すると、イメージ・メモリ上に画像を展
開すると同時に、内部のホスト・コマンド・バッファ(
以降HCBと呼ぶ)にデータを蓄積し、印字中に用紙の
紙詰まり等の異常が発生した時に、ホスト・コンビエー
タに対してデータの再送信を要求することなく、前記H
CBに蓄積された印字情報を読み出し、この情報に基づ
いて再印字することによって、ジャム・リカバリを行っ
ている。
〔発明が解決しようとする課題〕
しかし、このようなプリンタにおいて、パネルによる環
境変更を実現するには、次のような処理の複雑さを有し
ている0例えば変更する条件を行ピッチに限定して説明
すると次のとおりである。
まずホスト・コンピュータより6LPI(1インチあた
り6行)で印字を開始する。印字するページの途中、例
えば10行目までこの行ピッチで印字を行い、その後パ
ネルから8LPIへの変更を入力する0通常プリンタは
この指令(パネル操作)を受け、内部の行ピツチ用パラ
メータを変更する。
続いてホスト・コンピュータより残りのデータを転送し
、1ページの情報の転送が終了する。このようにして印
字された用紙には、第1行から第10行までは6LPI
で印字され、第11行から最後の行までは8LPIで印
字される。この用紙がプリンタ・エンジンより正常に排
出された場合には何の問題も生じないが、この用紙がプ
リンタ・エンジン内で搬送途中に紙詰まりを起こした時
には、プリンタ・コントローラにとって非常に複雑な処
理を必要とする。
すなわち紙詰まりを検知すると、例えば特公昭62−2
0577号公報に開示されているような、ページ単位の
環境変更に伴って変更内容のみを順次記憶しておいて異
常発生時にその順次記憶された情報を後戻りすることに
よって環境を復帰する方法を用いて、プリンタ・コント
ローラは環境条件を設定し直し、上記の例では行ピッチ
を6LPIに戻す、その後上記のように、ホスト・コン
ピュータより転送されたデータをHCBより読み出し、
印字を再開する。ところがパネルからのページ途中での
行ピッチの変更は、二〇HCBには記憶されておらず、
第1行から最終行まで全て6LPIで印字が行われてし
まい、途中での行ピッチの変更の再現はできず、正確な
ジャム・リカバリが行われないという問題点がある。。
本発明は、従来のページ・プリンタにおける上記の問題
点を解決するためになされたもので、ホスト・コンピュ
ータより転送される1ページの印字情報の途中に、操作
パネルから環境情報の変更が設定された時に、簡単な手
段でこの環境情報の変更を当該ページから反映させるこ
とができ、且つ当該用紙において紙詰まり等の異常が発
生した時にも、操作パネルによる環境変更を当該ページ
内の正しい位置から反映させることが可能なプリンタ・
コントローラを提供することを目的とする。
本発明の更に他の目的は、操作パネルから設定される環
境情報の変更と、ホスト・コンピュータより転送される
印字情報とを、簡単な手段で時間的に同期をとることが
可能なプリンタ・コントローラを提供することにある。
〔課題を解決するための手段及び作用〕上記問題点を解
決するため、本発明は、操作パネルにより印字のための
環境条件を変更できるようにしたプリンタにおいて、プ
リンタ・コントローラに、前記操作パネルから入力され
た環境設定情報を順次記憶する手段を備えるものである
このように構成したプリンタ・コントローラにおいては
、操作パネルから変更された環境設定情報を順次記憶し
た手段より所定の環境設定情報を読み出すことにより、
異常時等においても、所定部分の環境設定情報を容易に
再現することが可能となる。
〔実施例) 次に本発明の実施例について説明する。まず本実施例に
おいて用いるプリンタ・エンジンの機械的構成を第1図
に基づいて説明する。このプリンタ・エンジンの構成例
は、用紙片面並びに両面へ印字できるもので、両面印字
の場合には、2シート、4ページの印字情報を、#l、
#2.#3゜#4の順序で転送すると、用紙排出スタッ
カには、#2.#1.#4.#3のページ順で排紙され
る機械的構成のものである。すなわち、第1図に示すよ
うに、片面印字の場合は給紙トレイ1から給紙された用
紙は画像形成部2において、その第1の面に画像が形成
され、定着部3を通って搬送ローラ部4の前進ローラ対
を介し、更に排出ローラ7を経て、用紙排出スタッカ8
ヘフエイスダウンの状態で排出される0両面印字の場合
は、第1の面に画像が形成された用紙は搬送ローラ部4
の前進ローラ対を介して、−旦反転ガイドを備えた用紙
反転部5に導入される0次いで搬送ローラ部4の反転ロ
ーラ対を介して用紙を反転搬送経路6に反転搬送し、画
像形成部2の動作とタイミングをとって再度画像形成部
2に向けて搬送する。そして画像形成部2において第2
の面に画像が形成されたのち、用紙は定着部3及び搬送
ローラ部4を遣って、排出ローラ7によって用紙排出ス
タッカ8に排出される。この場合第2の面を下側にして
、順次排出されるため、印字されたページの順序が逆転
されるようになう・ている。
次に本実施例のプリンタ・コントローラのハードウェア
構成を第2図に基づいて説明する。本実施例のプリンタ
・コントローラは、印字制御を行うためのCPUを有し
、更に該CPUのバスには下記の要素を接続している。
0 1HIプログラムを格納した読み出し専用のプログ
ラム・メモリ 0 各種制御情報の書き込み・読み出しを行うワークメ
モリ 0 ホスト・コンピュータより印字情報を読み込むため
のホストI/F O画像を形成するための補助プロセッサとしてのラスタ
・プロセッサ o  DMAコントローラ 0 プリンタ・エンジンに対して印字開始等の命令を送
信したり、プリンタ・エンジンの状態等の情報を受信す
るためのエンジンI/FOオペレータ用に各種メツセー
ジを表示するための出力部と、オペレータが各種情報を
設定するためのキー・スイッチ等の入力部とを備えた第
3図に示すような操作パネル 更に前記ラスタ・プロセッサのバスには下記の要素を接
続している。
0 各種フォントの形状をビット・マツプで格納するフ
ォント・メモリ 0 ホスト・コンピュータより転送された文字コード等
の印字情報に従って、前記フォント・メモリのデータを
配列した画像情報や、ホスト・コンビ6エータより転送
されたビット・イメージ・データを格納し、その後プリ
ンタ・エンジンにラスタ・スキャン・データを転送する
ためのイメージメモリ CPUはホスト・コンピュータより転送された印字情報
を前記ホストI/Fより読み込み、読み込んだ文字コー
ドに対応するフォント・メモリのアドレスと現在のカー
ソル位置に対応するイメージ・メモリのアドレス等の情
報より、前記ラスタ・プロセッサ用の内部コマンド(以
降ラスタ・コマンドと呼ぶ)を生成し、ラスタ・プロセ
ッサに転送する。ラスタ・プロセッサはこのラスタ・コ
マンドを受けて、フォント・メモリのデータをイメージ
・メモリ上に配列し、後のCPUからの指令によりプリ
ンタ・エンジンにラスタ・スキャン・データを送出する
この実施例では、フォント・メモリのデータをイメージ
・メモリに転送する際に、上記の構成でラスタ・プロセ
ッサを使用することによって処理速度を上げているが、
フォント・メモリ及びイメ−ジ・メモリをCPUのバス
に配置し、CPUが直接フォント・メモリのデータをイ
メージ・メモリに書き込む構成としてもよい。
次に実際の動作の説明に先立って、本実施例において使
用する各種制御情報を説明する。
まず、第4図に示すような、ホスト・コンピュータより
転送された印字情報を格納する゛ためのバッファとして
、Cワードの長さのホスト・コマンド・バッファ(HC
B)・ブロックをb個用意し、各ブロックにそれぞれ0
から(b−1)までのIDを付与する。各HCBブロッ
クは、ブロックの先頭の1ワードのブロック間リンク情
報エリアと(a−1)ワードの印字情報を格納するため
のエリアとで構成される。リンク情報エリアには、当該
HCBブロックだけで、1ページの印字情報の格納が完
結せず、別のHCBブロックに印字情報の格納を行う際
に、続<)ICBブロックの10(0〜b−1)を書き
込む、また当該HCBブロックで格納が完結していると
きには、リンク情報として、−1を書き込むようになっ
ている。第5図にHCBブロックを、0,2,1.3の
順序で連結する態様を示している。
次に上記のHCBへの書き込み/読み出し/開放を管理
するために、1個の制御情報エリアとして、HCBコン
トロール・ブロックを用意する。
HCBコントロール・ブロックには、次の情報が含まれ
る。
0 書き込み中のHCBブロックのIDO書き込み中の
HCBブロック先頭からのオフセット値 0 読み出し中のHCBブロックのIDO読み出し中の
HCBブロック先頭からのオフセット値 次に第6図に示すような、CPUにより生成された前記
のラスタ・プロセッサ用のラスタ・コマンドを格納する
ためのバッファとして、Cワードの長さのラスタ・コマ
ンド・バッファ(RCB)・ブロックをd個用意し、各
ブロックにそれぞれ0から(d−1)までのIDを付与
する。各RCBブロックは、ブロックの先頭の1ワード
のブロック間リンク情報エリアと(c−1)ワードのラ
スタ・コマンドを格納するためのエリアとで構成される
リンク情報エリアには、第7図に示すように当該RCB
ブロックだけで、1ページのラスタ・コマンドの格納が
完結せず、別のRCBブロックにラスタ・コマンドの格
納を行う際に、続<RCBブロックの10(0〜d−1
)を書き込む、また当該RCBブロックで格納が完結し
ているときには、リンク情報として、−1を書き込むよ
うになっている。なお第7図は、RCBブロックを、0
.2゜1.3の順序で連結する態様を示している。
次に上記のRCBへの書き込み/読み出し/開放を管理
するために、1個の制御情報エリアとして、RCBコン
トロール・ブロックを用意する。
RCBコントロール・ブロックには、次の情報が含まれ
る。
0 書き込み中のRCBブロックのIDO書き込み中の
RCBブロック先頭からのオフセット値 oliみ出し中のRCBブロックのID0 読み出し中
のPCBブロック先頭からのオフセット値 次に一連の印字動作中に、−時にプリンタ内に印字過程
中として存在し得る用紙枚数eと、−枚の用紙に印字し
得る最大ページ数f(両面印字が可能な場合は2ページ
/用祇となる)との積e×fに2を加えた数、すなわち
印字動作中に一時にプリンタ内に存在する最大ページ数
に2を加えた数の情報ブロックを用意する。この情報ブ
ロックは印字に必要な各種の環境情報を格納するための
情報ブロックであり、各ESCシーケンス解析・実行時
に、逐次環境情報を更新するためのカレントの環境情報
ブロック(E I B) 1個と、異常の発生時に前記
カレントのEIBを一時退避するエリア1個、及び各ペ
ージの編集開始時にその時点の環境情報を格納するため
の、格納用環境情報ブロックとで構成されている。なお
EIBのブロック数を最大ページ数の他に2つ用意して
いるのは、上記カレントEIBと、退避用エリアのため
である。このEIBの構成例を第8図に示す。
次に一連の印字動作中に、−時にプリンタ内に印字過程
中として存在し得る用紙枚数eと、−枚の用紙に印字し
得る最大ページ数r(両面印字が可能な場合は2ペ一ジ
/用紙となる)との積e×f、すなわち印字動作中に一
時にプリンタ内に存在する最大ページ数と同じ数の情報
ブロックを用意する。これをページ情報ブロック(P 
I’B)と呼ぶ、このPIBには次の下位制御情報が従
属する。
すなわち当該ページと対応する前記HCBの情報、すな
わちホスト・コンピュータより転送された当該ページを
構成する印字情報が格納されたコマンド・バッファの場
所を示すための情報や、当該ページと対応する前記RC
Bの情報、すなわち生成されたラスタ・プロセッサ用の
ラスタ・コマンドが格納されたコマンド・バッファの場
所を示すための情報や、当該ページと対応する前記格納
用EIBの情報、すなわち当該ページの編集開始時の各
種環境情報を当該ページの印字の正常な終了まで格納す
るEIHのIDを示す情報や、更に当該ページに対する
一連の印字のための処理が現在どういう状態にあるかを
示すためのページ状態スイッチとして使用される制御情
報が含まれる。これを更に詳細に列挙すると次のとおり
である。
o  HCB開始ブロックID o  HCB開始ブロック先頭からのオフセット値o 
 HCB終了ブロック■D o  HCB終了ブロック先頭からのオフセット値on
個のHCBブロックそれぞれにおいて、当該ページが使
用しているHCBブロックを示すための、少なくともb
ビットの情報量を持ったフラグ(HCB使用フラグ) o  RCB開始ブロックID o  RCB開始ブロック先頭からのオフセット値o 
 RCB終了ブロックID o  RCB終了ブロック先頭からのオフセット値on
個のRCBブロックそれぞれにおいて、当該ページが使
用しているRCBブロックを示すための、少なくともd
ビットの情報量を持ったフラグ(RCB使用フラグ) 0 対応EIBのID 0 ページ状態スイッチ FREE  :開放状態 EDIT  :編集中 EDEND :編集終了 DSPT  :イメージ形成中 DSEND :イメージ形成終了 RTOE  :エンジンへのラスタ・データ転送中 WAIT  :用紙の排出待 更に一連の印字動作中に、−時にプリンタ内に印字過程
中として存在し得る用紙枚数eと同じ数の情報ブロック
であるシート情報ブロック(31B)を用意する。この
SIBは、下記に示すように、当該ページと対応するP
iBの情報、すなわち当該シートに印字される複数のペ
ージのID。
及び各!Dを付与されたページのシート上の印字位置、
すなわち両面印字の際にはシートの第1面に印字するか
第2面に印字するかを示す情報として、印字形態に応じ
て各ページのシート・上の印字位置を管理するための情
報を格納するために使用される。更に当該シート及びS
IBが現在どういう状態にあるかを示すためのシート状
態スイッチとして使用される。
0 当該シートを構成するPIBの数(片面印字−1/
両面印字−2) 0 第1プリントのPIBのID O第1プリントのシート上の位置情報 0 第2プリントのPIBのID oiJ2プリントのシート上の位置情報Oシート状態ス
イッチ FREE  :開放状態 EDIT  :[集中 EDENDsm集終了 WAIT  :用紙の排出待 SIB、PIB、HCB、RCB、EIBの管理体系を
第9図に示す。
更に上Ba5tsの数eと同じ長さを有するFIFO構
成のデータ・ブロツクであるシート・シーケンス・キュ
ー(S S Q)を用意する。このSSQは各ページの
印字順序を制御するために使用されるデータ・ブロック
であり、各シート毎の編集が終了すると当該シートのI
D、すなわちSIBのIDが順次書き込まれるようにな
っている。
更に制御を実行するにあたり、8ビツトの文字コードそ
れぞれに対応した各処理モジニールのアドレスを格納す
るのに充分な長さを有するデータ・ブロックを1単位と
して、このデーターブロックを、文字コードのそれぞれ
の処理モジエールのアドレスを格納するために文字コー
ド順に256個連結した、下記の処理アドレス・テーブ
ルを複数個用意する。更に、現在使用中の処理アドレス
テーブルを示すための処理テーブル・ポインタを用意す
る。
Oホスト・コンピュータより最初に人力された文字コー
ド別の処理モジュールのアドレスを格納する、ベーシッ
ク処理アドレス・テーブル(第10図参照) 0 コマンド・ヘッダであるESCコードが入力された
後に、サポートするESCシーケンス体系に基づいて、
コマンド・ヘッダのESCコードに続く文字コード別に
それぞれの下位処理モジュールに移行するための、前記
同様に文字コード順に256個連結された第1ESC処
理アドレス・テーブル 0 更に引き続く文字コード別に、各処理モジュールに
移行するための第2ESC処理アドレス・テーブル 0 サポートするESCシーケンス体系により決定する
個数nの、同様の第1ESC処理アドレス・テーブル 更に操作パネルから入力された各種環境条件の変更に基
づいて、変更された情報を一時記憶するためのパネル・
コマンド・バッファ(以降PCBと呼ぶ)を用意する。
次に本実施例において、印字が正常に終了するまでの処
理を、第11図に示したホスト・コマンド別処理フロー
チャートに沿って説明する。
■ ホスト・コマンドの読み込み ホスト・コンピュータよりデータ・バスにデータが出力
され、同期信号STBによりそのデータが内部のフリッ
プ・フロップにラッチされると、CPUはこのデータを
読み込み内部に取り込み、ホスト・コマンド解析部に処
理を移行する。
■ ホスト・コマンドの解析 ホスト・コマンド解析部は、処理テーブル・ポインタで
指示される処理アドレス・テーブル、ここでは最初に設
定されたベーシック処理アドレス・テーブルを参照し、
入力された文字コードそれぞれに対応した更に下位の処
理モジュールに制御を移行する。
入力されたデータが通常の印字文字コード(21H〜7
EH)である場合、文字コードに対応するフォントのイ
メージ・データをイメージ・メモリ上に展開するための
、各文字コードに共通のモジュールに移行し、更に次項
のページの獲得のための処理へ移る。
入力されたデータがESCコード以外の制御コードであ
る場合、コード別にそれぞれの処理モジエールに移行し
、当該制御コードがカレントのカーソル位置に変更を生
じるコードであれば、次項のページの獲得のための処理
へ移る。
当該制御コードがカレントのカーソル位置に変更を生じ
ないコードであれば、カレントのEIBの対応する情報
を更新した後、次項のページの獲得のための処理をスキ
ップし、ホスト・コマンドの格納の処理に移行する。
入力されたデータがESCコードの場合、処理テーブル
・ポインタに第1ESC処理アドレス・テーブルを設定
し、再度ホスト・コマンドの読み込みの処理を行う、1
バイトのデータの読み込みに応じて処理テーブル・ポイ
ンタを第2ESC処理アドレス・テーブル、第3ESC
処理アドレス・テーブルへと遷移させて順次データを取
り込み、一連のESCシーケンスが終了した後、対応す
るESCシーケンス処理モジエールへと制御を移行する
。それぞれのESCシーケンス処理モジュールは、この
一連のコマンドを解析し、当該コマンドがカレントのカ
ーソル位置に変更を生じるコードであれば次項のページ
の獲得のための処理へ移る。当該コマンドが文字間隔の
設定等のカレントのカーソル位置に変更を生じないコー
ドであればカレントのEIBの対応する情報を更新した
後、次項のページの獲得のための処理をスキップし、ホ
スト・コマンドの格納の処理に移行する。
■ ページ/HCB/RCB/シートの獲得衣にページ
/HCB/RCB/シートの獲得処理を第12図に沿っ
て説明する。CPUは現在編集状態中のページがあるか
どうか、すなわちページ状態スイッチがEDITである
PIBがあるかどうかを調べる。EDIT中のページが
あれば、ページ/HCB/RCB/シートの獲得処理は
行わない、EDIT中のページがない場合、CPUはま
ずページ状態スイッチがFREEであるPIBを探し、
当該PIBを獲得する。
次にCPUは獲得したPIBの初期化処理として次の作
業を行う。
0 当該PIBのページ状態スイッチをEDITにする
o  HCBコントロール・ブロックより現在のHCB
の書き込み場所を読み出し、当該PIBのHCB開始ブ
ロックID及び開始オフセットを設定する。
o  HCB終了ブロック10及びオフセットをクリア
する。
o  HCB使用フラグの中の、書き込み用に獲得した
HCBのIDに対応するビットをセットする。
o  RCBコントロール・ブロックより現在のRCB
の書き込み場所を読み出し、当該PIBのRCB開始ブ
ロックID及び開始オフセットを設定する。
o  RCB終了ブロックID及びオフセットをクリア
する。
o  RCB使用フラグの中の、書き込み用に獲得した
RCBのIDに対応するビットをセットする。
PIB、HCB、RCBが獲得されると、現在編集状態
中のシートがあるかどうか、すなわちシート状態スイッ
チがEDITであるSIBがあるかどうかを調べる。E
DIT中のシートがなければ、CPUは続いてシートの
獲得のために次の処理を行う。
0 シート状態スイッチがFREEであるSIBを探し
、当該SIBを獲得する。
0 当該SIBのシート状態スイッチをEDITにする
0 現在のモード(片面印字/両面印字)に応じて、当
該シートを構成するPIB数、すなわち当該シート1枚
に印字する情報のページ単位の数(片面印字−1/両面
印字=2)を設定する。
続いて獲得されたSIBの対応する場所に、当該シート
に従属するPIBのID、及び当番亥ページの当該シー
ト上の印字位置情報(本実施例では表面印字か、裏面印
字かを示す情報)を書き込む。
最後にCPUは、開放されている格納用EIBの1つに
カレントのEIBの情報を全て格納し、前記PIB内の
格納用EIBの10をセットする。このカレントEIB
の情報を格納用EIBに格納する処理において、カレン
トEIBの情報をそのまま格納用EIBに格納してもよ
いし、カレントEIBの情報を圧縮した形式で格納用E
IBに格納してもよい。
以上の動作でベージ/HCB/RCB/シートが獲得さ
れる。
■ ホスト・コマンド別の処理 上記の処理に続いて、入力されたホスト・コマンド別に
次の処理を行う(第11図参照)。
入力されたデータが通常の印字文字コード(21H〜7
EH)である場合、CPUは当該文字コードに対応した
フォントの形状データを、前記イメージ・メモリにビッ
ト・ブロックの転送(BITBLT)するために、前記
のラスタ・プロセッサ用のラスタ・コマンドを生成する
1つのラスタ・コマンドは下記の情報より構成される。
0 転送されるデータ(ソース・データ)の格納元アド
レス 0 ソース・データの幅 0 ソース・データの長さ 0 転送されたソース・データのイメージ・メモリ上の
格納先アドレス CPUは現在使用中のフォント・セットのIDと、入力
された文字コードより、各文字コード毎の情報テーブル
を参照し、当該文字コードに対応したフォントの格納元
アドレス、当該文字コードに対応したフォントの輻・長
さの情報を得る。更に前記カレントEIBに登録された
X方向(通常プリンタ・エンジンにラスタ・イメージ・
データを転送する際の主走査方向)と、これに直行する
Y方向それぞれのカーソル値より、イメージ・メモリ上
の格納先アドレス(当該文字の印字位置)を求める。こ
れらの情報より、CPUは当該文字コードに対応する前
記ラスタ・プロセッサ用のラスタ・コマンドを生成する
CPUは、RCBコントロール・ブロックより書き込み
用のRCBブロックID、RCBブロック・オフセット
を読み出す。次に両ポインタで示される場所に前記のラ
スタ・コマンドを書き込み、RCBブロック・オフセッ
ト値に1を加える。続いて更新されたオフセット値をチ
エツクし、この値が1個のRCBブロックの長さを越え
ていると、CPUは下記の手順で新たなRCBブロック
の獲得処理を行う。
CPUは第13図に示すように、全てのPIBのRCB
使用フラグの論理和を求め、現在開放されているRCB
のIDを求める。このIDを現在書き込み中のRCBブ
ロック先頭の、RCBブロック・リンク情報エリアに書
き込むことによって、これまで書き込んでいたRCBブ
ロックの連絡先を明らかにする0次にRCBコントロー
ル・ブロックのRCBブロックID及びオフセット値を
、新たに獲得したRCBブロックに基づき更新する。更
に現在編集中のページのPIB内のRCB使用フラグを
更新する。
以上の手順で入力された文字コードに対応するラスタ・
コマンドの生成を行った後、次の文字の印字開始位置を
前記カレントEIB内のカーソル値に設定する。
入力されたデータがESCコード以外の制御コードであ
る場合、例えば当該制御コードがLF(改行)コードの
時は、前記カレントEIBに登録されたY方向のカーソ
ル値に、カレントEIBに登録された行間隔の値を加え
るというような、フォント・データの展開等の処理は行
わず環境情報を更新する処理のみを実行する。
入力されたデータがESCシーケンスの場合、各ESC
シーケンス別に環境情報の更新等の処理を実行する。
上記のホスト・コマンド別のそれぞれの処理を行った後
、次のホスト・コマンドの格納処理を行う。
■ ホスト・コマンドの格納処理 CPUは、現在ページが獲得されているかどうかを調べ
る。獲得されていない場合は、入力されたホスト・コマ
ンドはカレントのカーソル位置に変更を生じないコマン
ドであり、前項の各コマンド別処理において前記カレン
トのEIB内の各種環境情報を更新するだけで、当該ホ
スト・コマンドに対する処理を終了する。ページが獲得
されていると、続いて以下のホスト・コマンドの格納処
理を行う。
CPUは、HCBコントロール・ブロックより、書き込
み用のHCBブロックID、HCBブロック・オフセッ
トを読み出す0次に両ポインタで示される場所にホスト
・コンピュータから受は取った印字情報を書き込み、H
CBブロック・オフセット値に1を加える。続いて更新
されたオフセット値をチエツクし、この値が1個のHC
Bブロックの長さを越えていると、CPUは下記の手順
で新たなHCBブロシクの獲得処理を行う。
CPUは第14図に示すように、全てのPIBのHCB
使用フラグの論理和を求め、現在開放されているHCB
のTDを求める。このIDを現在書き込み中のHCBブ
ロック先頭の、HCBブロック・リンク情報エリアに書
き込むことによって、これまで書き込んでいたHCBブ
ロックの連結光を明らかにする0次にHCBコントロー
ル・ブロックのHCBブロックID及びオフセット値を
、新たに獲得したHCBブロックに基づき更新する。更
に現在編集中のページのFIB内のHCB使用フラグを
更新する。
■ ページ/シート終了処理 CPUは、ホスト・コンピュータより改ページコマンド
(F F)が転送されるか、改行コマンド(L F)に
より1ページの許容行数を越えるまで、ここまでの処理
を繰り返し、その後下記の手順で当該ページの終了処理
を行う。
0 当該ページのFIBのページ状態スイッチをEDE
NDにする。
0 当該ページのPIBのHCB終了ブロックID及び
HCB終了ブロック・オフセットを書き込む。
0 当該ページのPIBのPCB終了ブロック■D及び
RCB終了ブロック・オフセットを書き込む。
本実施例では片面印字のモードであるため、続いて下記
の手順で当該シートの終了処理を行う。
O当該シートのSIBのIDをSSQに登録する。
0 当該シートのSIBのシート状態スイッチをEDE
NDにする。
■ イメージ・データの形成・転送処理CP U ハ、
前のページのイメージ転送等のためのイメージ・メモリ
の専有が終了し、イメージ・メモリが開放されていると
、前記SIB内のページ位置情報を参照し、当該シート
の第1面に印字すべきページのIDを検出する。続いて
検出されたページのPTBのページ状態スイッチをDS
PTにセットし、前記DMAコントローラを用いてRC
Bに格納されたタスク・コマンドを、■ブロックずつ前
記タスク・プロセッサにDMA転送し、イメージ・メモ
リ上にフォント・イメージ等の展開を行う。全てのデー
タの展開処理が終了すると、続いてCPUは対応するペ
ージのPIBのページ状態スイッチをDSENDにセッ
トし、プリンタ・エンジンからの要求に基づいて、形成
したラスタ;イメージ・データをプリンタ・エンジンに
転送する。
1画面分のタスク・イメージ・データの転送が終了する
と、続いてCPUは対応するシート及びページの各状態
スイッチをWAITにセットし、プリンタ・エンジンか
らの用紙の正常な排出を待つ。
実際にはイメージ・メモリが開放されていると、あるペ
ージに対するホスト・コマンドを受けてイメージ展開用
のタスク・コマンドを生成する処理と、生成された当該
ページのタスク・コマンドをタスク・プロセッサに転送
しイメージ・メモリ上にフォント・イメージを形成する
処理力、マルチ・タスク処理として時分割で行われてい
る。また、エンジンに対するタスク・イメージ・データ
の転送中にも、次のページに対するイメージ展開用のタ
スク・コマンドを生成する処理が、時分割で行われてい
る。
■ シート/ページ/HCB/RCB開放処理プリンタ
・エンジン内の用紙への画像形成が終了し、用紙が正常
に排出されるとCPLIは下記の手順でシート ページ
、HCB、RCBの開放処理を行う。
o  SSQよりデータを取り出し排出されたシートの
SIBのIDを検出する。
0 当該シートのSTBのシートを態スイッチをFRE
Eにセットする。
0 当該シートのSIBのPIB情報より従属する全て
のページに対し下記の手順でページの開放処理を行う。
00  当該ページのPIBのページ状態スイッチをF
REEにセットする。
00 当該ページのPIBの対応するHCB使用フラグ
をリセットする。
00 当該ページのPIBの対応するRCB使用フラグ
をリセットする。
以上の手順でプリント・モードとして片面印字が選択さ
れ、ホスト・コンピュータより入力された印字情報の、
用紙への印字が正常に終了する。
ここまでの処理の大きな流れを第15図に示す、また片
面印字において、ホスト・コンビニ゛−夕よりデータが
転送されてから印字された用紙が正常に排出されるまで
の間の、用紙の搬送態様及び前記PIB、SIB、SS
Qの状態遷移を第16図に示す、なお第16図において
、数字はページ及びシート順位を示している。
次にあるページに対して、ホスト・コンピュータからの
データ転送が開始され、当該ページに対するFFコマン
ド等によるページ終了までの間に、前記操作パネル等か
らオフ・ラインに設定され、操作パネルより環境情報の
変更がなされた場合の処理を説明する。
先に説明した例と同様に処理が開始され、ページ、HC
B、RCB、  シートはすでに獲得されているものと
する。またこの時、行間隔は6LPIに設定されている
ものとする。オペレータによるオフ・ラインのためのキ
ー人力を検知すると、CPUはホスト・コンピュータに
対して周知のオン・ライン信号等をネゲートし、ホスト
・コンピュータからのデータ転送を一時停止させ、操作
パネルからの入力を待つ、そして操作パネルとの対話処
理等で、8LPIへの変更のためのキー人力を検知する
と、CPUは次の環境情報パネル入力処理を行う。
CPUは、パネル・ESC変換テーブルを用いて、操作
パネルより入力された指令、ここでは行間隔を8LPI
に設定する指令と同じ動作を指示するためのESCシー
ケンスを、前記PCB(パネル・コマンド・バッファ)
に書き込む。例えばヒユーレット・パラカード社の規格
では、このESCシーケンスは、(e s c> & 
18D  というような5バイトの文字コード列で構成
されている(注<esc>は、1つのESCコード(A
SCI!コードのIBM)を表すものとする)0次いで
、ホスト・コンピュータに対してはオン・ライン信号を
ネゲートした状態のままで、オン・ライン中にはホスト
I/Fのフリップ・フロップから1バイトずつデータを
読み出していた代わりに、当該PCBより該PCBに書
き込んだデータ、すなわちESCシーケンスを読み出し
ながら、その書き込んだESCシーケンスが全て読み出
されるまで前記の各文字毎の処理を繰り返し、PCBを
開放する。オフ・ライン中の各環境条件の操作パネルか
らの設定が終了し、オペレータにより再度オン・ライン
に設定されると、ホスト・コンピュータに対するオン・
ライン信号をアサートし、通常の処理を当該ページが終
了するまで繰り返す。
この処理により前記HCBには、操作パネルより設定さ
れる以前に受信したホスト・コマンドと、操作パネルよ
り設定された後に受信したホスト・コマンドとの間に、
操作パネルから設定された各種環境条件と同一の環境情
報をもつホスト・コマンドが挿入されたことになる。
続いて異常発生時にホスト・コンピュータに対してデー
タの再転送を要求することなく、ホスト・コマンド・バ
ッファからデータを読み出し、自動的に再印字を行う場
合について説明する。なお、前記の一連の処理が実行さ
れプリンタ・エンジンに対してイメージ・データの転送
が終了した後、プリンタ・エンジン内で用紙の紙詰まり
等の異常が発生した場合を想定する。
プリンタ・エンジンは用紙の紙詰まり等の異常を検出す
ると、プリンタ・コントローラに対して第2図の制御情
報用エンジンI/Fを用いて、異常の発生を伝える。プ
リンタ・コントローラはこの情報を受けて、下記の手順
でジャム・リカバリを実行する。以下第17図に沿って
説明する。
■ ジャム・リカバリ開始 CPUは現在実行されているホスト・コマンドに対する
各種処理を一時中断し、カレントのEIBをIIIB−
時退避用のエリアに格納する一0続いてCPUはSSQ
を参照し、プリンタ・エンジン内で用紙搬送中゛のシー
トのSIBのIDを検出する。複数のSIBのIDが登
録されている時には、各SIBについて次の処理を繰り
返す。
■ シート情報のリカバリ 当該シートのSIBのシート状態スイッチをEDITに
セットし、SIB内のFIB情報より従属する全てのペ
ージに対し下記の処理を繰り返し行う。
0 ベージ情報のリカバリ開始 CPUはまず当日亥ページのPIBのページ状態スイッ
チをEDITにセットする0次に当該PIBのEIB情
報を参照し、当該ページに対応する環境情報を格納用E
IBから読み出し、カレントEIBにセットする。この
処理で、変更された一連の環境情報を逐次後戻りするこ
となく、全ての環境情報を、当該ページに対応するホス
ト・コマンドがプリンタに転送された時と同じ情況に戻
すことになる。更に当該ページのPIBのHCB開始ブ
ロックID、HCB開始ブロック・オフセットの情報を
、HCBコントロール・ブロックの読み出し用のHCB
ブロック10.HCBブロック・オフセットにセットす
る。
a  HCBからのホスト・コマンドの読み込み通常の
印字中はホスト・コンビエータI/Fのデータ・ラッチ
より印字情報を読み取り、編集を行っていたが、ジャム
・リカバリ中はラッチの代わりに、HCBコントロール
・ブロック内の読み出し用のHCBブロックID。
HCBブロック・オフセットで示されるアドレスから1
バイトずつホスト・コマンドの読み出しを行い、読み出
したホスト・コマンドに基づいて編集作業を行う。
次にHCBコントロール・ブロック内の読み出し用のH
CBブロック・オフセット値に1を加える。そして更新
されたオフセット値をチエツクし、この値が1個のHC
Bブロックの長さを越えていると、CPUは当該ブロッ
クのHCBブロック・リンク情報を参照することで連結
するHCBブロックを認識し、新たなHCBブロックの
■DをHCBコントロール・ブロック内の読み出し用の
HCBブロックIDに登録すると共に、読み出し用のH
CBブロック・オフセットを初期化する。
通常の印字中には、ホスト・コンピュータより改ページ
コマンド(FF)が転送されるか、改行コマンド(L 
F)により1ページの許容行数を越えることで、当該ペ
ージの終了処理へと移行したが、ジャム・リカバリ中は
、HCBコントロール・ブロック内の読み出し用のHC
BブロックID、HCBブロック・オフセントの両イ直
が、当1亥ページのPIBのHCB終了ブロックID、
HCB終了ブロック・オフセットの情報と一致すること
によって、当該ページの終了を検知する。
0 ページのリカバリ終了 当該ページのPIBのページ状態スイッチをEDEND
にセットする。
以上の処理で、1ページのジャム・リカバリを終了し当
該SIBに従属する他のページのリカバリ動作に移行し
同様の処理を繰り返した後、当該ページのSIBのシー
ト状態スイッチをEDENDにセットする6次いで前記
の正常時の処理と同様に、内部コマンドを参照してイメ
ージ・データを形成し、プリンタ・エンジンへのラスタ
・イメージ・データの転送を行う。
ここまでの処理により1シートのジャム・リカバリが終
了する。CPUはSSQを参照し、プリンタ・エンジン
に異常が発生した時に用紙を搬送中であった全てのシー
トに対してこの処理を操り返すことによって、異常発生
時のリカバリ処理を終了する。
上記実施例では、操作パネルからの入力環境情報をES
Cシーケンスとして記憶するPCBを設け、該PCBに
記憶された環境情報を読み出しホスト・コマンドとして
用いるようにして、自動的にホスト・コマンドと時間的
に同期した当該ページの所定部分からの環境変更を可能
にしたものを示した。
しかし若干複雑な処理とはなるけれども、次に示すよう
な構成をとることもできる。すなわち、ホスト・コンピ
ュータからの転送データを記憶するための手段と、操作
パネルからの環境設定情報を記憶するための手段と、且
つこの再記憶手段を時間的に同期をとるための手段を設
ける。そしてCPUはまず、ホスト・コンピュータから
の転送データの記憶手段の読み出しを開始する。前記同
期手段はこの読み出しを監視し、所定部の最終文字の読
み出しが終了すると、前記のパネルによる環境設定情報
記憶手段を参照することによって、LPIの変更を行う
、その後、ホスト・コンピュータからの転送データの記
憶手段の続出を再開し、ページ最終行までの印字を実行
する。このように構成しても所定部分の環境条件の再現
を容易に行うことができる。
〔発明の効果〕
以上実施例に基づいて説明したように、本発明によれば
、操作パネルから変更された環境設定情報を順次記憶し
た手段より所定の環境設定情報を読み出すことにより、
異常時においても、所定部分の環境設定情報を容易に再
現することができる。
また操作パネルから入力された環境設定情報を、ホスト
・コンピュータからのホスト・コマンドとして出力され
る制御情報に変換して記憶することにより、ホスト・コ
マンドの途中で、操作パネルより環境情報を変更しても
、操作パネルより設定される以前に受信したホスト・コ
マンドと、操作パネルより設定された後に受信したホス
ト・コマンドとの間に、操作パネルから設定された各種
環境条件の設定と同等のホスト・コマンドが格納される
ことになるため、ホスト・コマンドと時間的に同期した
当該ページの正しい位置から環境の変更が可能となり、
また操作パネルからの環境条件変更を含んだ正確なジャ
ム・リカバリが容易に実現することができる。
【図面の簡単な説明】
第1図は、本発明に係るプリンタ・コントローラを適用
するプリンタ・エンジンの構成例を示す図、第2図は、
本発明に係るプリンタ・コントローラの一実施例の八−
ドウエア構成を示すブロック構成図、第3図は、操作パ
ネルの構成例を示す図、第4図は、HCBブロックの構
成を示す図、第5図は、HCBブロックの連結構成を示
す図、第6図は、RCBブロックの構成を示す図、第7
図は、RCBブロックの連結構成を示す図、第8図は、
EIBの構成例を示す図、第9図は、SIB、PIB、
HCB、RCB、EIBの管理体系を示す図、第1θ図
は、ベーシック処理アドレス・テーブルを示す図、第1
1図は、ホスト・コマンド別処理を示すフローチャート
、第12図は、ページ/HCB/RCB/シートの獲得
処理を示すフローチャート、第13図は、PCB使用フ
ラグの態様を示す図、第14図は、HCB使用フラグの
態様を示す図、第15図は、ホスト・コンピュータから
の入力から印字出力までの処理手順を示すフローチャー
ト、第16図は、片面印字時におけるPIB。 SIB、SSQの状態遷移を示す図、第17図は、ジャ
ム・リカバリの実行態様を示すフローチャートである。 図において、1は給紙トレイ、2は画像形成部、5は用
紙反転部、6は反転搬送路、8は用紙排出スタッカを示
す。 図において、1は給紙トレイ、2は画像形成部、5は用
紙反転部、6は反転搬送路、8は用紙排出スタッカを示
す。 特許出願人 オリンパス光学工業株式会社第1図 第3図 第4図 第5図 第7図 第8図 第10図 対応文字コード処理アドレス 第9図 第12図 第13図 第14図

Claims (1)

  1. 【特許請求の範囲】 1、操作パネルにより印字のための環境条件を変更でき
    るようしたプリンタにおいて、前記操作パネルから入力
    された環境設定情報を順次記憶する手段を備え、該記憶
    手段に格納された環境設定情報に基づいて異常時におけ
    る環境条件の再現を行うようにしたことを特徴とするプ
    リンタ・コントローラ。 2、前記記憶手段は、操作パネルから入力された環境設
    定情報を、ホスト・コンピュータからのホスト・コマン
    ドとして出力される制御情報に変換して記憶することを
    特徴とする請求項1記載のプリンタ・コントローラ。
JP1107254A 1989-04-28 1989-04-28 プリンタ・コントローラ Pending JPH02286384A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1107254A JPH02286384A (ja) 1989-04-28 1989-04-28 プリンタ・コントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1107254A JPH02286384A (ja) 1989-04-28 1989-04-28 プリンタ・コントローラ

Publications (1)

Publication Number Publication Date
JPH02286384A true JPH02286384A (ja) 1990-11-26

Family

ID=14454390

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1107254A Pending JPH02286384A (ja) 1989-04-28 1989-04-28 プリンタ・コントローラ

Country Status (1)

Country Link
JP (1) JPH02286384A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6614543B1 (en) 1996-08-27 2003-09-02 Riso Kagaku Corporation Image forming machine-computer interface system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6614543B1 (en) 1996-08-27 2003-09-02 Riso Kagaku Corporation Image forming machine-computer interface system

Similar Documents

Publication Publication Date Title
JPS63274550A (ja) 画像出力方式
JPH02286384A (ja) プリンタ・コントローラ
US4975858A (en) Controller for a printer for printing data received from an external data processor
US4683552A (en) System for on-line and off-line display
JPH02287611A (ja) プリンタ・コントローラ
US6934051B1 (en) Printer
JP3757587B2 (ja) 画像処理装置および画像出力システム並びに画像処理方法
KR19990086291A (ko) 데이터를 다중매수로 인쇄하는 장치 및 방법
JPH02286381A (ja) プリンタ・コントローラ
JP3116354B2 (ja) プリンタデータ管理方式
JPH02286380A (ja) プリンタ・コントローラ
JP4280366B2 (ja) 画像制御装置および画像制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP2790120B2 (ja) 印刷装置
JP3166156B2 (ja) プリンタ制御装置
JPH11105367A (ja) フォームオーバレイ印刷装置
JP2006188024A (ja) 印刷装置、印刷支援装置、印刷方法、及び印刷支援方法
JP3226841B2 (ja) プリンタ装置
JPH0515551B2 (ja)
JPH0820936B2 (ja) 印刷制御装置
JP3595704B2 (ja) プリンタ装置およびプリント出力方法
JP2000132359A (ja) 画像形成システム、画像制御装置、画像形成方法および記憶媒体
JPH02185455A (ja) 高解像度プリンタの制御方式
JPS63186324A (ja) プリンタ装置
JPH0516442A (ja) ページバツフア制御装置
JPH02220126A (ja) プリンタ制御装置