JP2635037B2 - 印刷装置 - Google Patents

印刷装置

Info

Publication number
JP2635037B2
JP2635037B2 JP62016118A JP1611887A JP2635037B2 JP 2635037 B2 JP2635037 B2 JP 2635037B2 JP 62016118 A JP62016118 A JP 62016118A JP 1611887 A JP1611887 A JP 1611887A JP 2635037 B2 JP2635037 B2 JP 2635037B2
Authority
JP
Japan
Prior art keywords
print
processing
printer
program
laser printer
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
JP62016118A
Other languages
English (en)
Other versions
JPS63185671A (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.)
Hitachi Ltd
Hitachi Micro Software Systems Inc
Original Assignee
Hitachi Ltd
Hitachi Micro Software Systems 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
Application filed by Hitachi Ltd, Hitachi Micro Software Systems Inc filed Critical Hitachi Ltd
Priority to JP62016118A priority Critical patent/JP2635037B2/ja
Publication of JPS63185671A publication Critical patent/JPS63185671A/ja
Application granted granted Critical
Publication of JP2635037B2 publication Critical patent/JP2635037B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はワードプロセッサなどの文書作成及び印刷シ
ステムに係り、特にレーザプリンタなどの高速なプリン
タを備えた高性能な印刷処理システムに好適な効率のよ
い異常処理方法に関する。
〔従来の技術〕
最近企業内印刷に対する期待が高まりつつあり、ワー
ドプロセッサ等においても文書,図面や、イメージなど
を統合した文書が自由に作成でき、レーザプリンタなど
の高速で高品位なプリンタを備えることが要求されてい
る。
レーザプリンタはかつては高価なものであり、メイン
フレームなどで大量の計算結果などを高速に出力する場
合に限って用いられてきたが、近年では価格が低下しワ
ードプロセッサなどのパーソナルユースのシステムでも
十分利用できるようになった。
メインフレームなどでは、専用の入出力プロセッサを
設け、レーザプリンタの異常などは入出力プロセッサが
処理し、専任のオペレータにその旨通知する。オペレー
タが、異常の原因を取り除き、印刷処理を再開する。そ
の為、端末の前のユーザは直接レーザプリンタを制御す
ることはできないので、印刷が正常終了したか否かを知
ることができるだけであり、またそれで十分であった。
ところがワードプロセッサなどのパーソナルユースな
システムにおいては、専用の入出力プロセッサも専任の
オペレータも設けるわけにはいかず、レーザプリンタの
異常は直ちにユーザに通知されなければならない。異常
の原因を取り除くのも、印刷処理を再開するのもユーザ
である。更に、ユーザの指示によって、レーザプリンタ
の処理を中断することも要求される。
このように、パーソナルユースのシステムにおいて
は、レーザプリンタの利用形態がメインフレームとでは
異なり、ユーザがレーザプリンタによる印刷処理を直接
制御できるようなユーザインタフェースを提供しなけれ
ばならない。それを実現するため、現在ではつぎのよう
な方法でレーザプリンタを制御するのが普通である。
第2図は、レーザプリンタをサポートするワードプロ
セッサのシステム構成の例を示している。200がワード
プロセッサであり104がレーザプリンタである。ワード
プロセッサ200は1頁の印刷データをレーザプリンタ104
に転送して、印刷開始の指示を送る。その後レーザプリ
ンタから印刷終了の通知があるまで待ち、印刷終了通知
を受け取ると、次の頁の印刷データを転送する。レーザ
プリンタ104では、印刷データの印刷イメージに展開し
て、プリントアウトするという処理を行う。通常印刷デ
ータは、文字列や、円,直線などのコントローラ部210
に対する描画コマンドであり、コントトーラ部210で描
画コマンドに基づき印刷イメージを生成する。レーザプ
リンタ104は、1頁の印刷が正常に終了すれば、ワード
プロセッサに終了通知を送り、異常があって正常に処理
が終了しなかったときは異常通知を送る。ワードプロセ
ッサ104では、異常通知を受け取った場合にユーザにそ
の旨通知し、異常の原因を取り除いたユーザが再開指示
を与えたときに、再び同じ頁から処理を開始する。また
1頁の印刷データを転送するまえに、ユーザからの中断
指示があるかどうかチェックすることにより、1頁単位
での処理の中断,再開を実現することができる。
〔発明が解決しようとする問題点〕
上記従来技術は、1頁単位でワードプロセッサとレー
ザプリンタが処理の同期を取ることにより、ワードプロ
セッサがレーザプリンタの異常とユーザからの中断指示
を監視していたが、このような方法では、ワードプロセ
ッサとレーザプリンタの処理が直列的になり、処理のス
ループットが低くレーザプリンタの高速性を犠牲にする
という問題点があった。
本発明の目的は、レーザプリンタに異常が発生するま
で、可能な限り何頁もの印刷データをレーザプリンタに
転送し、ワードプロセッサとレーザプリンタの処理を並
行して行うことによって、処理のスループットを向上さ
せ、異常が発生したときに初めて、ワードプロセッサと
レーザプリンタの同期を取り、上記従来技術と同様にユ
ーザに対して適切な異常通知を行い、異常が取り除かれ
再開指示が出されたときに、速やかに再開できるような
異常処理方法を提供することにある。
〔問題点を解決する手段〕
上記目的は以下の手段により実現することができる。
レーザプリンタのコントローラ部には、レーザプリンタ
エンジンとワードプロセッサからの割込みを処理する手
段、割込みによって変化する状態に応じて、処理すべき
内容を判定する手段を設ける。ワードプロセッサ側で
は、各アプリケーションに対応した印刷処理用のプログ
ラムと各々のアプリケーションの印刷処理に共通な機能
を提供するシステムプログラム(印刷制御プログラムと
呼ぶ)を分離して構成する。アプリケーションプログラ
ムは印刷制御プログラムにファンクションを発行するこ
とによりシステムプログラムの機能を利用できる。シス
テムプログラムのレーザプリンタをコントロールするレ
ーザプリンタドライバには、レーザプリンタのコントロ
ーラ部からの割込みによって、その状態を記憶する手段
及び印刷プログラムから発行されたファンクションの終
了コードとして記憶している状態を設定する手段を設け
る。
印刷処理用のプログラムは印刷処理全体を管理する印
刷管理プログラムと印刷管理プログラムから起動される
複数の印刷プログラムから構成し、印刷管理プログラム
と印刷プログラムの間にメッセージを交換する手段を設
け、印刷制御プログラムには、印刷プログラムからの異
常メッセージを受けて、ユーザにその旨を通知し、必要
な異常処理を行う手段を設ける。
〔作用〕
レーザプリンタのコントローラ部の割込み処理では、
レーザプリンタエンジンからの異常発生割込みによって
レーザプリンタの状態を異常とする。コントローラ部は
印刷コマンドを実行する前にレーザプリンタの状態をチ
ェックし、異常であれば印刷コマンドの実行を中止し、
ワードプロセッサに異常発生割込みをかける。以後再開
状態になるまで印刷コマンドは実行しない。
レーザプリンタドライバでは、コントローラ部から異
常発生の割込みを受付けると、コントローラが異常状態
であることを記憶する。この状態では特別な処理以外受
付けず、印刷コマンドの転送要求などのファンクション
に対しては、終了コードにコントローラ異常を設定して
ファンクションの処理を異常終了する。
終了コードに異常が設定されていると印刷プログラム
は印刷処理を中断して印刷管理プログラムに異常メッセ
ージを送出し、印刷管理プログラムでは異常の内容をデ
ィスプレイに表示し、ユーザにその旨を通知し、必要な
処理を行うように指示する。このようにして、レーザプ
リンタの異常はユーザに伝えられる。異常の種類が紙切
れやトナー切れの場合、ユーザが紙やトナーを補給した
後、中断した時点から再開出来なければならない。その
為に各々のプログラムは以下のように作用する。
印刷管理プログラムは、ユーザから再開指示が出され
ると、ステータスチェックファンクションを印刷制御プ
ログラムに発行する。このファンクションはコントロー
ラ異常状態であっても実行され、レーザプリンタドライ
バはステータスチェック割込みをコントローラ部にかけ
る。コントローラ部の割込み処理ではステータスチェッ
クを行い、正常であれば、レーザプリンタの状態を異常
状態から中断状態に変更し、レーザプリンタドライバに
割込みをかける。レーザプリンタドライバは割込みによ
りステータスチェックの結果異常がなければ、レーザプ
リンタが正常であることを記憶する。
ステータスチェックの結果レーザプリンタが正常であ
ることが分かれば、印刷管理プログラムは、印刷制御プ
ログラムにたいして、再開ファンクションを発行する。
再開ファンクションを発行された印刷制御プログラムで
は、レーザプリンタドライバを介してコントローラ部に
再開割込みをかける。コントローラ部の割込み処理で再
開状態が設定される。
異常発生により印刷コマンドの実行を中止していたレ
ーザプリンタのコントローラ部では、状態のチェックを
行っておりレーザプリンタが正常かつ再開状態になった
ときに初めて、中断した印刷コマンドから実行を再開す
る。
正常に処理が再開されると印刷管理プログラムでは、
印刷プログラムにたいして再開指示をメッセージにて通
知し、印刷プログラムも中断していた処理を再開する。
〔実施例〕
以下、本発明の一実施例を図を用いて説明する。な
お、本実施例は、ワードプロセッサに適用した例である
が、パーソナルコンピュータ等にも適用することができ
る。
第3図は、本発明を実施するためのハードウェア構成
の一例である。100と110はマイクロプロセッサである。
100は文書の編集と印刷に携わるマイクロプロセッサで
あり以下メインCPUと呼ぶ。110は、メインCPUの指示に
基づき、グラフィックメモリ111に文字や直線などを展
開するプロセッサであり、以下サブCPUと呼ぶ。展開さ
れた結果は、CRT112に表示される。メインCPU100とサブ
CPU110はシェアドメモリ107を介して通信する。サブCPU
110が実行すべきプログラムはシェアドメモリ107に格納
されている。メインCPU100の実行すべきプログラムは常
にメインメモリ105に格納されている常駐プログラム
と、通常は、ハードディスク101に格納されており、必
要に応じてメインメモリ105にロールインされたり、メ
インメモリ105からハードディスク101にロールアウトさ
れる非常駐プログラムがある。
108は印刷やCRTの表示に使用する文字のフォントを格
納するCGROMであり、メインCPU100とサブCPU110の両方
からアクセスすることができる。102はフロッピディス
クであり、ユーザ各自の文書や、操作環境が格納されて
いる。編集や印刷などの指示,文書の入力操作は、キー
ボード109およびマウス113を介して行われる。103と104
はプリンタであり、第2図では、低速で安価なワイヤド
ットプリンタ103と高速なレーザプリンタ104の2種類の
プリンタをサポートするシステムの例を示している。10
6はIPL(イニシャルプログラムローダ)用ROMである。
第2図は、本発明の一実施例である印刷処理システム
のソフトウェア構成を示している。201と202は、テキス
ト,図形,グラフなど各アプリケーションに依存する印
刷プログラム群である。図では二つしか示されていない
が、テキスト,図形,グラフ,表,英文,囲み記事,イ
メージなどの様々なアプリケーションに対応する印刷プ
ログラムが考えられる。これら印刷プログラムは、対応
する編集プログラムのデータから、後で説明するOS(オ
ペレーティングシステム)が用意する印刷用コマンドを
発生する。
203は印刷管理プログラムであり、印刷プログラムの
実行順序等を制御する。204は印刷条件設定プログラム
であり、印刷条件を入力して後、印刷管理プログラム20
3を起動する。以上の201〜204の各プログラムは各々独
立したタスクとしてOS205で制御される。
OS205は基本的なタスク制御や入出力制御などを行う
カーネル部207と上述した印刷用コマンドからドットイ
メージを発生させるなどの印刷処理特有の機能を実現す
る印刷制御プログラム206に別れる。印刷制御プログラ
ム206は、プログラム201〜204に対して高度な印刷処理
機能を提供する。印刷プログラム201〜202は、それぞれ
編集プログラムのデータからテキスト列描画,直線描
画,円描画などの描画コマンドを発生する。該コマンド
により、印刷制御プログラムは所望の印刷用バッファに
印刷用ドットイメージを展開する。
208はワイヤドットプリンタドライバであり、209はレ
ーザプリンタドライバである。これらは各々ワイヤドッ
トプリンタ103,レーザプリンタ104を制御する。レーザ
プリンタ104は、実際の印字を行うレーザプリンタエン
ジン211と、レーザプリンタエンジン211を制御し、ワー
ドプロセッサ200と通信を行い、ワードプロセッサ200か
ら転送された印刷データを、レーザプリンタエンジン21
1が印字できる形に変換するコントローラ部210からな
る。
先にも述べたが、第2図は本発明に係る印刷処理に必
要なソフトウェア構成について示したものであり、ワー
ドプロセッサ200にはこの他にも編集用などの様々なプ
ログラムが備わっていることは言うまでもないが、それ
らのプログラムは省略してある。
つぎに第4図を用いて、文書データファイルの構成例
について説明する。1文書は、文書管理データファイル
300,個々の編集プログラムが編集した領域データファイ
ル340(テキストデータファイル340a,図形データファイ
ル340b,グラフデータファイル340cなど)からなる。領
域データファイル340のデータは従来のアプリケーショ
ンプログラムデータで編集されたデータと同じデータ構
造を持っている。文書管理データは統合文書の印刷を可
能とするために新たに設けられたデータである。文書管
理データは頁管理テーブル310,領域管理ブロック320,書
式データテーブル330から成る。頁管理テーブル310は、
頁単位にその頁に含まれる領域の管理ブロック320のリ
ストの先頭を指すリストヘッダ311,書式データテーブル
を指すポインタ312から成る。領域管理ブロック320は、
領域位置321,領域サイズ322,領域属性323,データタイプ
324,領域データのファイル名325,つぎの領域へのポイン
タ326の項目からなる。
第5図を用いて各々のデータについて詳しく説明す
る。400は1頁の印刷イメージを表しており、この例で
は、テキストと図形が統合され一つの文書を形成してい
る。1頁は一つ以上の領域410の集合で定義されてお
り、各々の領域に一つの編集プログラムが割り当てられ
る。編集プログラムによって編集されたデータは領域内
に印刷されるデータであり領域データファイル340a,340
bに格納される。領域管理ブロック320a,320bは領域410
a,410bに対応している。
図の領域410aの位置(xa,ya),サイズΔxa,Δyaは各
々領域管理ブロックの321a,322aに格納されている。ま
た図形領域410bについては、その位置(xb,yb),サイ
ズΔxb,Δybは各々領域管理ブロックの321b,322bに格納
されている。領域管理ブロック320bの323bが不透明であ
るので410bの下の領域は見えない。
領域410bのデータタイプは図形であり、そのデータの
ファイル名が「図形A」であることは、324b,325bを見
れば分かる。410bのデータは「テキストA」というファ
イルに格納されているが、410aのようにテキストデータ
のときは、データファイルのほかに書式データテーブル
330aが印刷イメージのドット展開に必要となる。書式デ
ータテーブル330aには、行間,文字間,行形式などの1
頁の情報が格納されている。
さて、以上で説明したシステム構成およびデータ構成
を用いて行う統合印刷処理の一例を説明する。印刷処理
要求が出されると、印刷条件設定プログラム204が起動
される。印刷条件設定プログラム204の処理の流れを第
8図に示す。
印刷条件設定プログラム204は、まずユーザに対して
印刷範囲,頁付けの有無,部数などの印刷条件の設定を
促し、ユーザと入力値に従って印刷制御ブロック601
(第6図)を生成する(701および702の処理)。生成し
た印刷制御ブロック601は第6図の印刷待ち行列に繋が
れる(703)。印刷制御ブロック601には印刷条件607の
ほかに印刷の対象となる文書のファイル名606が記載さ
れている。この文書ファイル名606とは、文書管理デー
タファイル300の名前に他ならない。印刷条件設定プロ
グラム204は印刷管理プログラム203を起動して処理を終
了する。起動の方法は、OSが用意するタスク起動マクロ
を利用する。
第7図はレーザプリンタで印刷する場合の処理の流れ
が示してある。ただし印刷条件設定プログラム204は省
略されている。この図に従って印刷処理の概略を説明
し、その後プログラム単位の詳細な処理を説明する。
印刷管理プログラム203は印刷条件設定プログラム204
によって起動されると印刷制御ブロック601の606から文
書管理データを読みだし、その内容に従って適当な印刷
プログラム201を起動する。印刷プログラム201は印刷管
理プログラム203から指示されたファイル名でデータフ
ァイル340を読みだし、印刷制御プログラム206に対して
印刷コマンドをレーザプリンタ104に転送するファンク
ションを発行する。
印刷コマンドは第11図(a)の1100に示すようにコマ
ンド1100aとパラメータ1100bからなる。たとえば直線の
場合描画コマンドは、同図(b)の1101のように直線を
示すコマンド1101aと始点x座標,始点y座標,終点x
座標,終点y座標の四つのパラメータ1101bからなる。
同図(c)の1102にはテキスト描画のコマンドが示され
ている。
印刷制御プログラム206は、レーザプリンタドライバ2
09を介してレーザプリンタ104のコントローラ部210に印
刷コマンドを転送する。コントローラ部210は転送され
てきた印刷コマンドに基づき、頁メモリ650に1頁と印
刷イメージを展開する。頁メモリ650に展開された印刷
イメージは、レーザプリンタエンジン211によって印刷
される。
印刷プログラムは自分の領域のイメージの展開が終了
すると、第7図に示すように、印刷管理プログラム203
に終了したことを、OSが提供するメッセージ通信にてそ
の旨通知する。印刷管理プログラム203は印刷プログラ
ム201を起動した後メッセージの受信待ちになってい
る。メッセージを受けた印刷管理プログラム203はつぎ
の印刷プログラム201を起動して再びメッセージ待ちに
なる。
このようにして1頁の全ての領域に印刷イメージが展
開されると、印刷管理プログラム203は印刷制御プログ
ラム206に対してイメージの印字要求を出す。イメージ
印字要求はレーザプリンタドライバ209を介してコント
ローラ部210にコマンドとして転送される。コントロー
ラ部210はこのコマンドを実行すると頁メモリ605上に展
開された印刷イメージをレーザプリンタエンジン211に
転送し出力する。1頁の印刷が終了すると、印刷管理プ
ログラム203はつぎの頁を開始する。
以上の印刷処理中に印刷要求が出されると印刷条件設
定プログラム204が再び起動される。印刷条件設定プロ
グラム204は新たな印刷要求に対して印刷条件を入力さ
せ、印刷制御ブロック601を生成し、印刷待ち行列の最
後に繋ぐ(第6図参照)。
印刷管理プログラム203は一つの文章と印刷が終了す
ると、待ち行列のチェックを行い印刷制御ブロックが繋
がれているとそのブロックに対応する印刷を開始する。
このように印刷管理プログラム203と印刷条件設定プ
ログラム204を独立したタスクとして構成し、ユーザイ
ンタフェースとプリンタ側の処理を独立に制御して待ち
行列により同期を取ることによって印刷中であっても次
々と印刷要求を受け付けることが可能となる。
さてつぎに印刷管理プログラム203と印刷プログラム2
01の処理を、第5図,第9図と第10図を用いて詳細に述
べることにする。第9図は印刷管理プログラム203の処
理の流れを、第10図は印刷プログラム201の処理の流れ
を示している。
印刷管理プログラム203は、印刷待ち行列のヘッダ600
(第6図)より先頭の印刷制御ブロックを取り出し(ス
テップ801)、印刷制御ブロック600の文書ファイル名60
6より文書管理データの名称を求め、該文書管理データ
ファイル300を読みだす(ステップ802)。該文書管理デ
ータファイル300の予め定められた位置にある頁管理テ
ーブル310より第1頁の領域管理ブロックのリストヘッ
ダ311aを読み取る。印刷条件により第n頁から印刷開始
が指示されている場合には、第n頁のリストヘッダを読
み取る。頁管理テーブル310のエントリは頁の順に並べ
てあり、しかも固定長であるので、容易に必要な頁のリ
ストヘッダを読み取ることができる。
ステップ803で領域管理ブロックリストの先頭の領域
管理ブロック320aを取り出す。該ブロック320aのエント
リ325aより、該領域はテキスト領域であることがわか
る。従って、データタイプはテキストか否かの判定(ス
テップ804)からステップ805の処理に移る。
ステップ805では、領域リストヘッダ311aのアドレス
をレジスタにセットしてテキスト印刷プログラム201を
起動する。本タスク起動マクロでは、起動要求を出した
タスクと起動されるタスクの通信は、レジスタを介して
行えるものとしている。テキスト印刷プログラム201を
起動した後、印刷管理プログラム203はメッセージ受信
マクロを発行し受信待ちとなる(ステップ808,809)。
起動されたテキスト印刷プログラム201は、第10図の
ステップ901で示されるように、領域リストヘッダ311a
より先頭の領域管理ブロック320aを取り出す。本実施例
では、第5図の410aで示されるようなテキスト領域は1
頁には一つしかなく、しかも対応する領域管理ブロック
は必ずリストの先頭にあると仮定しているが、この仮定
が本発明の本質的な制限にはならないことは言うまでも
ない。
領域管理ブロック320aのエントリ321aと322aより印字
すべき用紙上の領域の位置とサイズを知ることができ
る。テキスト印刷プログラム201は領域の位置と大きさ
を印刷制御プログラム206に設定する。印刷制御プログ
ラム206はレーザプリンタドライバ209を介してレーザプ
リンタ104のコントローラ部210に領域設定コマンドを送
出する。コントローラ部210では該コマンドを実行する
と、頁メモリに適当な領域を設定し、以後その領域内で
イメージの展開処理を行うようになる。
つぎにエントリ325aのファイル名からテキストの領域
データファイル340aを読み出す。テキスト印刷プログラ
ム201は、この領域データファイル340aと書式データか
ら展開すべきテキスト列のコマンドを生成する。書式デ
ータは起動時のパラメータより書式データテーブルへの
ポインタが分かるので、容易に読み出すことができる。
領域データファイル340aには、テキストの文字コードや
属性のデータ、およびケイ線データなどが記憶されてい
る。書式データは余白や行間,文字間などのデータが入
っている。
第10図のステップ904のiは展開すべき行番号を表し
ており、ステップ905では第i行のデータを切り出して
は、レーザプリンタ104のコントローラ部210に対する印
字コマンドを生成し、ステップ906で発行する。ステッ
プ905〜907をn回ループしn行のテキスト列の展開処理
を終了すると、印刷管理プログラムにメッセージを送出
して(ステップ909)、処理を終了する。
印刷管理プログラム203はメッセージが送出される
と、第9図のステップ809より処理を開始する。領域管
理ブロック320aのリンクフィールド326aが他の領域管理
ブロック320bを指しており、同じ頁にまだ領域が存在し
ているので、領域管理ブロック320bに対応する領域の印
刷イメージの展開を行う。第5図の領域410bの図形を展
開する印刷プログラムが印刷管理プログラム203によっ
て起動されるが、この図形印刷プログラムに関する処理
の説明は省略する。
図形印刷プログラムからのメッセージ待ちになってい
た印刷管理プログラム203は、図形印刷プログラムから
のメッセージによって再びステップ809から処理を開始
するが、領域管理ブロック320bのリンクフィールド326b
はNULL値なので、ステップ810の判定でステップ811の印
刷処理を開始する。この処理でレーザプリンタのコント
ローラ部210に対して頁メモリ605の内容をレーザプリン
タエンジン211に出力するように指示するコマンドを発
行する。印刷処理が終了すると頁管理テーブル310のつ
ぎのエントリ311b(第4図)をチェックして有効であれ
ば、その頁の処理を開始し、無効であれば(NUUL値)印
刷処理を終了し、メッセージ待ちとなる。
以上ワードプロセッサ側の処理について述べてきた
が、つぎにレーザプリンタ104側の処理について述べ
る。第12図は、レーザプリンタ104のコントローラ部210
のハードウェア構成を示している。
コントローラ部210は、文字フォントROM1240,頁メモ
リ650と、プリンタエンジン211を制御するエンジンコン
トローラ部1250およびワードプロセッサとのシェアドメ
モリ1210から成る。
シェアドメモリには、第13図に示すような、コントロ
ーラ部210の制御プログラム(プリンタエンジン割り込
み処理部1300a,ワードプロセッサ割り込み処理部1300b,
コマンド処理部1320)が格納されている。また、ワード
プロセッサとの通信エリアとして、コミュニケーション
バッファ1330,コマンドバッファ1340が確保されてい
る。コマンドバッファ1340には、ワードプロセッサから
転送されてくる印刷コマンドが格納され、コミュニケー
ションバッファ1330には、第14図で示されるように割り
込み要因1410,1420、コマンドバッファの状態1440や、
レーザプリンタ104の状態などの制御情報1430が設定さ
れる。
第15図を用いて、コマンド処理部1320の処理について
説明する。コマンド処理部1320は、ハードウェアや、内
部の制御情報の初期化を行った後(ステップ1510)、ワ
ードプロセッサからの印刷コマンド待ちとなる。ステッ
プ1520では、コミュニケーションバッファ1330にあるコ
マンドバッファ1340の制御情報を常に監視しており、ワ
ードプロセッサがコマンドバッファ1340に印刷コマンド
を設定し、制御情報1440を書き換えると、直ちに印刷コ
マンドの実行を開始する。
印刷コマンド処理部1320は、ステップ1530で印刷コマ
ンドの解析を行い、印刷コマンドに応じた処理ルーチン
(ステップ1540)を実行する。たとえば直線描画ルーチ
ンでは、印刷コマンドで指定された直線のイメージを頁
メモリ650に展開する。コマンド処理部1320が処理する
印刷コマンドは、第11図で説明したものと同一のもので
ある。コマンドの処理が終了すると、第14図に示すコマ
ンドバッファの制御情報1440を書き換えて(ステップ15
50)、再びステップ1520で印刷コマンドの取り出しを行
う。
このようなシステムにおいては、ワードプロセッサ
は、第7図に示すコントローラ部210とは非同期に動作
し、たとえコントローラ部210がコマンド処理中であっ
てもコマンドバッファ1340に印刷コマンドを設定するこ
とができるので、前述したワードプロセッサ側での印刷
処理とレーザプリンタ104のイメージ展開処理,印刷が
並行して行え、処理のスループットが向上する。
さてこのようなシステムにおいて、レーサプリ211に
異常が発生した場合の処理の流れを第1図を用いてその
概略を示す。レーザプリンタエンジン211はコントロー
ラ部210に異常が発生したことを割込みにて知らせる。
コントローラ部211は異常割込みを受けると、エラー発
生フラグを立て処理を中断してワードプロセッサ200に
異常発生割込みをかける。割込みを受けたワードプロセ
ッサ200のレーザプリンタドライバ209では、レーザプリ
ンタ104の異常を記憶し、印刷プログラム201から印刷制
御コマンドが発行された時、OS205を介して終了コード
として異常状態が印刷プログラム201に伝えられる。印
刷プログラム201では異常が伝わると、印刷管理プログ
ラム203にメッセージによってその旨を知らせ、印刷管
理プログラム203からのメッセージ待ちとなる。印刷管
理プログラム203では必要な異常処理(例えばユーザに
アラームメッセージを表示し必要な指示を与える等)を
行い、ユーザから再開の指示があると、印刷制御プログ
ラム206に対してステータスチェックを発行する。印刷
制御プログラム206は、レーザプリンタドライバ209を介
してレーザプリンタエンジン211の状態を読み出すよう
に指示する。
この指示を受けたコントローラ部210では、レーザプ
リンタエンジン211の状態を読み出し、正常な状態に戻
っていればエラー発生フラグをクリアして正常であるこ
とをレーザプリンタドライバ209を介して印刷制御プロ
グラム206に伝える。印刷制御プログラム206はステータ
スチェックの終了コードとして、レーザプリンタ104が
正常であることを印刷管理プログラム203に伝える。印
刷管理プログラム203はレーザプリンタ104が正常である
事を確認すると、処理再開指示を発行する。この再開指
示もステータスチェックと同様にしてコントローラ部21
0に伝えられ、コントローラ部210では中断していた時点
から処理を再開し、処理を再開したことを印刷制御プロ
グラム206に報告する。印刷制御プログラム206はやはり
再開指示の終了コードとしてその旨印刷管理プログラム
203に伝える。印刷管理プログラム203では、コントロー
ラ部210が処理を再開した事を知って、印刷プログラム2
01にメッセージにて処理再開を指示する。印刷プログラ
ム201ではそのメッセージを受けて処理を続行すること
ができるようになる。
次に各プログラムの詳細な処理について説明する。
まずコントローラ部210について第15図と第16図を用
いて説明する。
第15図はコントローラ部210の通常の処理の流れを示
している。前にも説明したようにステップ1520では、コ
マンドバッファ1340の制御情報を監視しているが、実際
にはレーザプリンタエンジン211の状態等も監視してい
る。異常があれば(エラーフラグON)ステップ1560で、
ワードプロセッサ200にエラー発生割込みをかける。以
後はエラーフラグがクリアされるまで1570でエラーフラ
グのチェックだけを行う。
エラーフラグのセット及びクリアの制御は、第16図の
割込み処理ルーチン1300で行われる。割込み処理ルーチ
ン1300は割込みがかけられると直ちに起動し割込み要因
を解析する(1600)。レーザプリンタエンジン211の異
常発生による割込みの場合には、ステップ1610でエラー
フラグをセットする。ワードプロセッサ200からのステ
ータスチェック要求割込みの場合は、レーザプリンタエ
ンジン211のステータスを読み出し(1640)、その結果
が正常であれば、エラーフラグをクリアする(1660)。
その後ワードプロセッサ200に終了割込みを発生するが
(1670)、この時正常か異常かの情報を伝える。またワ
ードプロセッサ200からの再開指示割込みの場合は、再
開フラグをセットする(1620)。コントローラ部210の
割込み処理には、この他に中断処理(1630)等もあるが
本発明には直接関係ないので説明は割愛する。
コマンド処理1320(第15図)では、エラーフラグがク
リアされると、ステップ1580で再開指示が来るのを待
ち、再開指示が出されれば再開した旨を知らせる割込み
を発生し再開フラグをクリアして(1590,1595)正常処
理に戻る。
次にレーザプリンタドライバ209の処理について、第1
7図と第18図により説明する。
コントローラ部210の割込みによって、割込み処理ル
ーチン(第18図)が起動される。エラー(異常)発生割
込みの場合は、ステップ1850でレーザプリンタドライバ
209内のプリンタステータスが異常にセットされる。印
刷制御プログラム206がドライバマクロを発行している
場合には、1870で終了処理を行う。終了処理1870で制御
は印刷制御プログラム206に渡され、印刷制御プログラ
ム206が引き続き処理を行う。ドライバマクロとは、既
に述べたコマンド転送,処理再開,ステータスチェック
等の指示するファンクションの総称である。
第17図は印刷制御プログラム206からドライバマクロ
が発行された時の処理である。マクロのファンクション
を解析し(1710)、各々の処理ルーチンに制御を移す
が、コマンド転送(1730),再開指示(1750)等の多く
のファンクションは、処理の前にプリンタステータスを
チェックし(1720)、正常であれば各ファンクションに
対応する処理を行い、異常であればステップ1760で終了
コードにプリンタ異常を設定し終了処理を行う。終了処
理によって印刷制御プログラム206に制御が渡され、印
刷制御プログラム206は終了コードを印刷プログラムに
伝える。キャンセル処理(1770)やステータスチェック
(1780)等のファンクションは、プリンタステータスに
無関係に処理が行われる。ここでの処理は各々のファン
クションに応じた割込み要因を設定しコントローラ部21
0に割込みをかけることである。再開指示に対しても、
ステップ1750で割込み要因に再開指示を設定してコント
ローラ部210に割込みをかける。これらの処理では終了
処理が行われない。これらの処理に対する終了処理は第
18図の割込み処理で行われ(1810,1830,1840)、この時
初めて印刷制御プログラム206に制御が戻る。ステータ
スチェック割込みに対する応答割込みがコントローラ部
210から戻ってくると、割込み処理ルーチンではその結
果が正常かどうかを1820で判定して、正常の場合はステ
ップ1830で、プリンタステータスを正常に設定し終了コ
ードにエラー無しを設定して終了処理を行う。異常の場
合は終了コードに異常の内容を設定し終了処理を行う
(1840)。なお、割込み要因やレーザプリンタの状態等
は、第14図のコミュニケーションバッファに設定され
る。
印刷制御プログラム206は、印刷プログラム201からの
コマンドをレーザプリンタドライバ209のマクロに変換
したり、またレーザプリンタドライバ209からの終了コ
ードを印刷プログラム201に伝えたりする他、様々な機
能を備えているが、本発明とは直接関係がないので、そ
れらの機能や処理の詳細については省略する。本発明に
関する限り、印刷プログラム201や印刷管理プログラム2
03が、直接レーザプリンタドライバ209のマクロを発行
し、終了コードをそれらのプログラムに直接返すように
しても一向に差しつかえない。
最後に印刷プログラム206及び印刷管理プログラム203
の処理について第10図と第9図を用いて説明する。
印刷プログラム206では、第10図のステップ906でテキ
スト列描画コマンドを発行した後、その終了コードによ
ってプリンタが正常か否かを判定する(910)。異常で
ある場合には、ステップ911で印刷管理プログラム203に
対して、エラー発生のメッセージを送出した後、印刷管
理プログラム203からのメッセージの受信要求を出し912
でメッセージの受信待ちとなる。
印刷管理プログラム203ではメッセージの内容をチェ
ックし(814)、エラー発生の場合には、ステップ816で
エラーの内容をディスプレイ112に表示して、817でユー
ザからの入力を待つ。続行指示の場合は、819でステー
タスチェックを発行し、その結果正常であれば再開指示
を発行して、印刷プログラム206には続行メッセージを
送信して再びメッセージ受信要求を出しメッセージ受信
待ちとなる(808,809)。ユーザからの入力が終了を意
図したものであれば、ステップ821で印刷プログラム206
に終了メッセージを送信して(821)、自らも処理を終
了する。
印刷プログラム206では、第10図のステップ913で印刷
管理プログラム203のメッセージを判定して、処理続行
のメッセージであれば907から処理を続行し、終了のメ
ッセージであれば処理を終了する。
印刷管理プログラム203で全ての頁の印刷処理が終了
すると、ステップ823で印刷状況監視処理を行う。この
処理では印刷状況監視ファンクションを発行する。印刷
制御プログラム206はこのファンクションが発行される
と、レーザプリンタドライバ209に対して印刷状況監視
マクロを発行する。レーザプリンタドライバ209はこの
マクロが発行された時点でプリンタステータスに異常が
あれば(第17図1790の判定)、直ちに終了コードに異常
を設定して処理を終了する。異常がない場合は、終了処
理は行わず、コントローラ部210からの割込みによる処
理(第18図)で終了コードを設定し終了処理を行う。異
常発生の場合は、第18図のステップ1850〜1870で印刷管
理プログラム203に異常発生が伝えられる。異常発生が
あれば、印刷管理プログラム203では、823の処理で818,
819,820に相等する異常処理を行う。印刷状況監視コマ
ンドでは異常発生の他にレーザドライバ104で何頁の印
刷を終了したかが印刷管理プログラム203に通知できる
ようになっており、この情報により印刷管理プログラム
は印刷処理を終了する。これを実現するためレーザプリ
ンタエンジン211は1頁の出力が終わるとコントローラ
部210に割込みをかけ、コントローラ部210ではその割込
みを受けると、ワードプロセッサ200に印刷終了割込み
をかける(第16図、1680の処理)。レーザプリンタドラ
イバ209では第18図の1880の処理で、印刷終了割込みが
かけられた時には、印刷終了枚数を更新し、その時に印
刷状況監視マクロが発行されていれば、終了コードに印
刷済枚数を設定して、終了処理を行う。
本実施例によれば、正常処理時にはワードプロセッサ
200とレーザプリンタ104の並行処理によって処理のスル
ープットが向上し、異常発生時にワードプロセッサ200
とレーザプリンタ104の同期をとることができるので、
異常原因を取り除いた後印刷処理を異常発生の直前の状
態から処理を続行することができる。
また本実施例によれば、異常処理を印刷管理プログラ
ム203で集中して行えるので、個々の印刷プログラム201
では異常処理について意識する必要がなく、プログラム
作成が非常に容易になるという効果がある。
また本発明の他の効果として、ワードプロセッサ200
側の処理が終了した後、レーザプリンタ104の異常が発
生するまでは、他の編集プログラム等が動作するので、
ユーザは他の仕事を行え異常が発生すると直ちに異常に
対する対策を行う事ができるので、ユーザの仕事の能率
が向上するという点も挙げられる。
〔発明の効果〕
本発明によれば用紙切れやトナーなしジャム等の異常
が発生した時点で初めてワードプロセッサの処理が中断
され異常処理を行うので、異常が発生するまでは、ワー
ドプロセッサはレーザプリンタの状態をチェックするこ
となく全く独立に処理を行うことができる。従って従来
のように1頁単位でレーザプリンタの状態をチェック
し、1頁の処理が正常に終了した事を確認したうえで、
次頁の処理を開始する必要がなく、正常時には何頁もの
印刷処理を連続して行えるので、処理のスループットが
向上すると言う効果がある。また異常が発生した時に
は、レーザプリンタは処理を中断し、ワードプロセッサ
の指示に応じてその時の状態を報告するので、ワードプ
ロセッサは異常の原因を判定し、ユーザに報告し、ユー
ザが異常の原因を取り除いて処理の続行を指示すれば、
速やかに処理を再開することができ、従来技術と同様ユ
ーザに対して適切な異常処理を実現することができる。
【図面の簡単な説明】
第1図は本発明異常処理方法の構成を示すブロック図、
第2図は本発明の一実施例のソフトウェア構造を示すブ
ロック図、第3図は本発明の一実施例のハードウェア構
成を示すブロック図、第4図は本発明の一実施例のデー
タ構造を示す説明図、第5図は上記データ構造と印刷頁
との関係を説明する説明図、第6図は本発明で用いられ
る印刷待ち行列の例を示す説明図、第7図は本発明の一
実施例の処理の流れを示す説明図、第8図,第9図,第
10図はそれぞれ本発明の一実施例における印刷条件設定
プログラム印刷管理プログラム印刷プログラムの処理の
一例を表すフローチャート、第11図は描画コマンドの形
式を例示する説明図、第12図はレーザプリンタコントロ
ーラのハードウェア構成の一例を示すブロック図、第13
図は本発明の一実施例のレーザプリンタコントローラの
プログラム構造を示すブロック図、第14図は本発明の一
実施例の制御エリアの内容を示す説明図、第15図〜第18
図は本発明の一実施例のレーザプリンタコントローラと
レーザプリンタドライバの処理の流れを示すフローチャ
ートである。 201,202……印刷プログラム、 203……印刷管理プログラム、 204……印刷条件設定プログラム、 206……OSの印刷制御部、 209……レーザプリンタドライバ、 300……文書管理データファイル、 600……印刷待ち行列のヘッダ、 601……印刷制御ブロック、 103……ワイヤドットプリンタ、 104……レーザプリンタ、 210……レーザプリンタコントローラ部、 211……レーザプリンタエンジン、 1210……ワードプロセッサとレーザプリンタとのシェア
ドメモリ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 中根 啓一 横浜市戸塚区吉田町292番地 株式会社 日立製作所マイクロエレクトロニクス機 器開発研究所内 (72)発明者 是枝 浩行 横浜市戸塚区吉田町292番地 株式会社 日立製作所マイクロエレクトロニクス機 器開発研究所内 (72)発明者 野中 尚道 横浜市戸塚区吉田町292番地 株式会社 日立製作所マイクロエレクトロニクス機 器開発研究所内 (72)発明者 鈴木 一成 横浜市戸塚区吉田町292番地 株式会社 日立マイクロソフトウェアシステムズ内 (72)発明者 田村 等 日立市東多賀町1丁目1番1号 株式会 社日立製作所多賀工場内 (56)参考文献 特開 昭59−81777(JP,A) 特開 昭61−251929(JP,A) 特開 昭59−212934(JP,A) 特開 昭60−45861(JP,A)

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】テキスト、図形、グラフなどの編集データ
    により印刷コマンドを生成する印刷プログラムと、印刷
    コマンドをプリンタに転送し、かつプリンタの動作を制
    御するプリンタドライバを有するホスト計算機と、ホス
    ト計算機から転送された印刷コマンドを印刷用ドットイ
    メージに展開し出力する印刷コマンド処理機能を有する
    プリンタを備えた印刷システムであってホスト計算機の
    印刷コマンド生成処理とプリンタの印刷コマンド処理が
    独立して実行される印刷装置において、 異常が発生した場合に上記プリンタは異常が発生した旨
    をホスト計算機に通知する第1の割込み手段(1)と、
    上記ホスト計算機へ該プリンタのステータスを通知する
    ための第2の割込み手段(2)を有し、該ホスト計算機
    は、上記プリンタにステータスチェックを要求する第3
    の割込み手段(3)と、該プリンタに中断した処理の再
    開を要求する第4の割込み手段(4)を有して成り、 異常発生時に上記プリンタは、印刷コマンド処理を中断
    し、上記第1の割込み手段(1)で上記ホスト計算機へ
    割込みを掛け、この割込みにより該ホスト計算機は印刷
    コマンドの生成及び転送処理を中断し、上記第3の割込
    み手段(3)を用いて上記プリンタにステータスチェッ
    クを要求し、該要求に対して該プリンタはステータスチ
    ェックしてその結果を上記第2の割込み手段(2)によ
    り上記ホスト計算機に通知し、該ホスト計算機はその結
    果を判定して上記プリンタが正常状態に復帰していれ
    ば、上記第4の割込み手段(4)により該プリンタに処
    理の再開を要求するとともに、印刷コマンドの生成、転
    送処理を中断した時点から再開し、該第4の割込み手段
    (4)で再開要求を受けたプリンタは、中断していた印
    刷コマンドの実行を再開するように構成されていること
    を特徴とする印刷装置。
JP62016118A 1987-01-28 1987-01-28 印刷装置 Expired - Fee Related JP2635037B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62016118A JP2635037B2 (ja) 1987-01-28 1987-01-28 印刷装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62016118A JP2635037B2 (ja) 1987-01-28 1987-01-28 印刷装置

Publications (2)

Publication Number Publication Date
JPS63185671A JPS63185671A (ja) 1988-08-01
JP2635037B2 true JP2635037B2 (ja) 1997-07-30

Family

ID=11907602

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62016118A Expired - Fee Related JP2635037B2 (ja) 1987-01-28 1987-01-28 印刷装置

Country Status (1)

Country Link
JP (1) JP2635037B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2613283B2 (ja) * 1988-12-23 1997-05-21 株式会社日立製作所 プリンタ
DE4106717C1 (ja) * 1991-03-02 1992-01-02 Mercedes-Benz Aktiengesellschaft, 7000 Stuttgart, De
US5367673A (en) * 1991-08-23 1994-11-22 Eastman Kodak Company System for queueing request from remote stations for proof processing of files that are transmitted only when processing resources become available

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5981777A (ja) * 1982-10-30 1984-05-11 Toshiba Corp プリンタ制御装置
JPS59212934A (ja) * 1983-05-17 1984-12-01 Canon Inc ステ−タス出力方式
JPS6045861A (ja) * 1983-08-23 1985-03-12 Canon Inc ステ−タス出力方式
JPS61251929A (ja) * 1985-04-30 1986-11-08 Usac Electronics Ind Co Ltd 印刷デ−タ管理方式

Also Published As

Publication number Publication date
JPS63185671A (ja) 1988-08-01

Similar Documents

Publication Publication Date Title
US7584242B2 (en) Printing control apparatus, system and method
US20020149789A1 (en) Printing apparatus, system having the same, and method of controlling printing apparatus
JPH07299936A (ja) ページプリンタ
JP5652289B2 (ja) 画像処理システムおよび画像処理制御装置
JP2635037B2 (ja) 印刷装置
JP4029391B2 (ja) プリンタ
JPH09311770A (ja) 情報処理装置、印刷装置およびその印刷制御方法
JP3020498B2 (ja) 印刷処理システム
KR20050084118A (ko) 인쇄 제어 프로그램을 격납한 전자계산기, 그 프로그램 및 프로그램의 기록 매체
JP2978493B2 (ja) 印刷システム及びプリンタ装置
JPH08328783A (ja) 印刷制御装置、印刷装置、印刷制御方法、印刷方法および印刷システム
JPH07104764B2 (ja) 統合文書印刷システム
JP3468225B2 (ja) 印刷装置
JP3624019B2 (ja) 情報処理装置および情報処理方法
JP3209857B2 (ja) 印刷システムおよび印刷装置およびデータ分配装置および印刷システムの制御方法および印刷装置の制御方法およびデータ分配装置の制御方法
JPH08263393A (ja) プリンタ装置及びその制御方法
JP2003263286A (ja) 計算機,プリントサーバ,プリンタ及びそれらを用いた印刷システム。
JP3724138B2 (ja) 印刷システム、印刷制御プログラムが記録された記録媒体並びに印刷システムに用いられる印刷制御装置
JP3209858B2 (ja) 印刷制御装置および印刷制御方法
JP2000305729A (ja) 印刷制御装置および記録媒体
JP2965686B2 (ja) 印刷制御装置
JP2002248840A (ja) 印刷制御装置およびデータ処理方法および記憶媒体
JP3248796B2 (ja) ネットワークプリンタシステム
JP3347520B2 (ja) 情報処理装置およびプリンタシステムおよびプリントジョブ処理方法
JP2001026167A (ja) プリンタ、情報処理装置および印刷方法

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees