JP2737983C - - Google Patents

Info

Publication number
JP2737983C
JP2737983C JP2737983C JP 2737983 C JP2737983 C JP 2737983C JP 2737983 C JP2737983 C JP 2737983C
Authority
JP
Japan
Prior art keywords
data
print
code
user
protocol
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 - Lifetime
Application number
Other languages
English (en)
Publication date

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は印写装置及び印写装置の状態を表示する表示装置に関し、特に印写さ
せるべきデータを送出して来るデータ処理装置のプロトコルを印写部自身(ネイ
ティブ)のプロトコルに変換できるプリンタ制御装置を備えた印写装置及び印写
装置の状態を表示する表示装置に関するものである。 〔従来の技術〕 コンピュータシステムにおける出力装置たるプリンタと、これを印写させるべ
きデータを送出するデータ処理装置とは両者間で上記データ及び制御データの授
受が行われるが、そのためにはプリンタ,データ処理装置のプロトコルが同一で
ある必要 がある。特定のデータ処理装置に対応して設計されるプリンタにおいてはデータ
処理装置のプロトコルと同一のプロトコル仕様を定めればよい。 これに対しプロトコルが異なる複数種のデータ処理装置に接続されて仕様され
るべき汎用プリンタにおいてはプリンタ固有のプロトコルの仕様としておく一方
、これに適合しないプロトコルのデータ処理装置との接続のためにプロトコル変
換装置を備えている。 プロトコル変換装置としては、データ処理装置から出力される制御情報を、そ
の要求する機能に相当するプリンタ側の制御情報に変換するプロトコル変換プロ
グラム(エミュレーションソフトウェア)をプリンタ側の制御用プロセッサで作動
させ、データ処理装置から出力される制御情報をプリンタのもつ制御情報に変換
するものが一般的であった。 この場合、プリンタ側では変換された制御情報から更にプリンタの動作を制御
する内部パラメータに解読変換するプロセスが行われる。 複数種のエミュレーションソフトウェアを備えたものにおいては、一旦いずれ
かのエミュレーションソフトウェアを起動すると、ハードウェアでこれをリセッ
トすることによってのみ他のエミュレーションソフトウェアへの切換が可能な構
成となっていた。 従って特定のデータ処理装置に接続した状態で継続的に仕様する場合には何ら
の不都合もないが、プリンタを異プロトコル仕様の複数のデータ処理装置と接続
し随時データ処理装置を切換えて使用する等の用途には適用できないという不都
合があった。 本願の発明者等は斯かる問題点を解決するためにデータ処理装置側からの制御
信号で実行すべきエミュレーションソフトウェアの切換を可能とする構成として
上述の用途に供し得るようにしたプリンタ制御装置を特願昭62−87569号で提案
した。 〔発明が解決しようとする課題〕 このようにデータ処理装置側からエミュレーションソフトウェアを切換可能と
したものにおいて、データ処理装置とプリンタとが離隔配置されているときは、
プリンタ側ではいずれのエミュレーションソフトウェアが起動されているのかが
不明である、という問題点がある。 本発明は斯かる問題点を解決するためになされたものであり、プリンタの表示
部に選択したエミュレーションソフトウェアを特定する情報を表示させることと
してプリンタにおいて選択したエミュレーションソフトウェアが分かるようにし
た印写装置及び印写装置の状態を表示する表示装置を提供することを目的とする
。 〔課題を解決するための手段〕 本発明に係る印写装置は、外部のデータ処理装置から与えられる受信データを
解析してプリントを実行する印写装置において、プロトコルの異なる複数の受信
データを解析するために、各プロトコル毎に用意された複数のプログラムを格納
するメモリと、上記メモリに格納されたプログラムの何れかをデータ処理装置か
ら送られてくる切り換えコマンドによって選択し、選択したプログラムによって
受信データを解析する選択手段と、選択手段によって選択されたプログラムを特
定する情報を表示する表示手段とを備えたことを特徴とする。 また本発明に係る表示装置は、プロトコルの異なる複数のデータを解析するた
めに、各プロトコル毎に用意された複数のプログラムをメモリに格納し、データ
処理装置から与えられる切り換えコマンドに応じて、メモリに格納された複数の
プログラムの何れかを選択し、選択したプログラムによってデータを解析してプ
リントを実行する印写装置の状態を表示する表示装置であって、上記解析のため
に選択されたプログラムを特定する情報を表示すべくなしてあることを特徴とす
る。 〔作用〕 本発明に係る印写装置及び印写装置の状態を表示する表示装置にあっては、プ
ロトコルの異なる複数の受信データを解析するために、各プロトコル毎に用意さ
れた複数のプログラムがメモリに格納され、このメモリに格納されたプログラム
の何れかをデータ処理装置から送られてくる切り換えコマンドによって選択して
受信データを解析すると、選択されたプログラムを特定する情報が表示手段に表
示される。 〔実施例〕 以下本発明をその実施例を示す図面に基づいて説明する。 〔概略の構成〕 まず、本発明に係る印写装置及び印写装置の状態を表示する表示装置の概略 構成について説明する。第1図は本発明の印写装置10の構成を示すブロック図で
ある。汎用のデータ処理装置1からのデータは、データ処理装置1のスループッ
トを改善するために、ファイルバッファ2に格納された後、印写装置10に出力さ
れる。印写装置10は、ビットマップ方式のデータ処理装置3、即ちプリンタ制御
装置と、電子写真プロセス,レーザ等を備えるプリントエンジン4、外部給紙ユ
ニット、ソータ6等の付属装置よりなるプリンタとからなる。 第2図は本発明の印写装置の外観を示すものである。 プリントエンジン4の筐体内には電子写真プロセス及びBMU3を内蔵してお
り、アクセサリとしての外部給紙ユニット5と、ソータ6とを接続している。ま
た、プリントエンジン4には、システムの状態を示す表示部及び簡単な操作を行
なうためのキーが並べられた表示パネル34が装着されている。 第3図は、表示パネル34の詳細を示すものである。901〜906が入力キーであり
、910〜912が表示素子である。キー901は、プリント動作を一時中断させるため
のポーズキー、902はテスト印写(プリント)を起動するためのテストキーであり
、テストキー902は903のシフトキーと同時に押すことによってプリントを中断す
るキャンセルキーとなる。910はメッセージ表示のためのLCDパネルであり、
表示内容のモードはアップキー905、ダウンキー906で切換えられ、セレクトキー
904で決定される。911はメッセージ出力時に点灯するLED、912はエラー発生
時に点灯するLEDである。 第4図は、印写装置10の制御系の概略ブロック図である。ビットマップ方式デ
ータ処理装置3は、ビットマップ用のメモリBM−RAM32、このBM−RAM
32に描画を行なうビットマップ書込部31(第11図参照)、フォント部33及びこれら
の制御を行なうビットマップ制御部30よりなる。プリントエンジン4との接続は
、制御データ(枚数、アクセサリーなど)用のバスB3とイメージデータ用バスB4
により行う。 プリントエンジン4は3つのコントローラを中心に構成される。まず、インタ
ーフェース制御部(IFC)40はビットマップ制御部30からの制御データの処理を
行い、また内部バスB5を通じてプリントエンジン4全体のタイミングの制御を
行なう。 電子写真制御部41は、内部バスB5を通じてインターフェース制御部40から送
られるデータに応じて、電子写真プロセス部45の制御を行なう。 プリントヘッド制御部42は、内部バスB4を通じてビットマップ書込部31から
送られてくるイメージデータ等の情報に従って、プリントヘッド部43の半導体レ
ーザの発光及びポリゴン・モータの回転を制御する。また、外剖給紙ユニット5
及びソータ6も、内部バスB5を通じてインターフェース制御部40から制御され
る。 〔制御部の構成〕 第5図はビットマップ制御部30の構成を示すものである。全体の構成としては
、データ入出力用のインターフェース(301,309,310,311,312)と、制御部の中心
となるCPU303とそのシステムROM,システムワークRAM(305,307)、CP
U303に定期的に割り込みをかけるタイマー302、そしてデータ蓄積用のバッファ
メモリ(304,306,308)から成る。 次に各部の動作を説明する。まずバスB2を通してデータ処理装置インターフ
ェース301より取り込まれたデータはR−バッファ304に蓄積される。システムR
OM305内には、第6図に示すようにホスト、つまりデータ処理装置から送られ
てきたデータの仮編集を行ない、データをパケットとしてパケットバッファ308
に書き込むホストプロセス65と、パケットを解析してビットマップ書込部インタ
ーフェース310よりビットマップ書込部31へ、またはフォントインターフェース3
09を通じてフォント部へ、さらにプリントエンジンインターフェース311を通し
てインターフェース制御部40へデータを送るパケットプロセス64という独立した
プログラムが格納されている。そして、同じくシステムROM305に書き込まれ
ているスケジューラ62がタイマー302からのタイマー割り込み61によって各プロ
セスを状態に応じて切り替えている。 システムワークRAM307内には第7図(a)に示すようなカレント・プロセス・ス
テータス(CPS)ブロックという領域があり、各プロセスの切り替え時にCPU
303のレジスタ内容がCPS内に記憶されるので、プロセスは独立して動作を行
うことができる。CPSブロックはパケットプロセス64,ホストプロセス65,ユー
ザプロセス66(後述)夫々のための退避エリアと、これらプロセスに共用の退避エ
リアとがある。 また、システムROM305にはプリンタ起動時のため初期化のスタートプロセ
ス63が格納されており、ホストプロセス65より直接スタートさせる。 システムROM305及びシステムワークRAM307のメモリ構成を第7図(b)に
示す。システムワークRAM307のダウンロードセグメントには、ユーザプロセ
ス66のための 領域66′が設けられている。この領域66′には、システムROM305のディップ
スイッチで示される領域から別のプロセス(ユーザプロセス66)をロードする。そ
うするとスケジューラ62によって他のプロセスと同様に時分割処理を行なうこと
ができる。このユーザプロセス66は、本プリンタ固有のプロトコル(ホストプロ
トコル)と異なるプロトコルで送られてきたデータをホストプロトコルに変換す
るプログラムである。この場合のデータの流れは第8図に示すように例えばデー
タ処理装置1からインターフェース301を介してシステムRAM307内のR−バッ
ファ304に書込み、このR−バッファ304内に蓄積されている受信データ(ホスト
プロトコル以外のプロトコルのデータ)をユーザプロセス66で取り出し、ホスト
プロトコルのデータに変換してシステムRAM307内にUR−バッファ306に蓄積
する。データの仮編集を行なうホストプロセス65は、ユーザプロセス66の起動時
にはUR−バッファ306を取出してホストプロトコルのデータとしてこれを取扱
えばよく、またユーザプロセスの非起動時、つまりホストプロトコルのデータで
ある場合は単にR−バッファ304内のデータを取り出すだけでよく、他に変更の
必要がない。 このユーザプロセス66は第7図(b)のようにこのプリンタ制御装置、つまりデ
ータ処理装置3で対応し得るプロトコル別に複数個システムROM305内に保持
しておき、データ処理装置1から与えられるユーザプロセス指定コードによって
指定のユーザプロセスをシステムワークRAM307内のダウンロード領域(ユーザ
プロセス領域)66′にロードさせるようにしてもよい。この様な構成をとること
により第9図に示す如く、異なるプロトコル形式で書かれたデータファイルでも
転送前にユーザプロセス指定コードを送ることにより連続して送ることができる
。 また、プリンタ動作を制御する他のプロセスを変更する必要がないので、ユー
ザプロセス66はデータの変換のみを行なう簡単なものになり、開発も容易である
。 また必要な情報は表示パネルインターフェース312へ送られ、バスB8を通して
表示パネル34に与えられる。表示パネル34に表示される内容は用紙サイズ、印字
モードの状態、更には本発明の要旨に係るエミュレーションプログラム(ソフト
ウェア)のターゲット名が表示される。但しこの表示はエミュレーションプログ
ラム(ユーザプロセス)が起動されている場合である。 第10図はその表示例を示し、データ処理装置1からのコマンドによりエミュレ
ーシ ョンプログラムが切換わると、(a)のようにメッセージ表示を示すLED911が数
秒点灯し、LCDパネル910にターゲットのエミュレーションプログラムの名前
が表示される。また通常モード(ネイティブモード)に切換るときは(b)の如き表
示が行われる。 第11図は、ビットマップ書込部31の詳細ブロック図を示す。ビットマップ書込
部の機能は大別して、BM−RAM32への描画機能と、プリントの際にBM−R
AM32のデータをプリントエンジン4へ出力する機能とに分かれる。 BM−RAM32への描画機能は、さらに2つに分けられ、グラフィックイメー
ジ書込部316により行われる線,円の描画と、フォントイメージ書込部311により
行われるフォント描画とからなる。両書込部316311ともビットマップ制御部イン
ターフェース317を通じてビットマップ制御部30から送られてくる中間コードで
動作するロジック部であるが、グラフィックイメージ書込部316のほとんどの処
理は、中間コード内のパラメータを解析してBM−RAM32に描画するのに対し
て、フォントイメージ書込部311のほとんどの処理は、中間コード内のデータに
従ってフォント部インターフェース314を通じてフォント部33から読み込んだフ
ォントイメージをBM−RAM32に描画する。 一方、プリントの際のデータ出力の機能は、プリントヘッド制御部インターフ
ェース315により行われる。すなわち、ビットマップ制御部からインターフェー
ス317を介して送られてくるプリント開始コードを受け取ると、プリントエンジ
ン4のプリントヘッド制御部42からバスB4を通じて送られてくる同期信号に従
って、BM−RAM32のデータをプリントヘッド制御部に出力する。 〔動作〕 次に、フローチャートを参照しながら本システムの動作説明を行なう。本シス
テムのプログラムは次の3つに分かれている。 ホストプロセス ホストプロセス受信バッファ内のデータを解析し、描画部 及びプリントエンジン部を制御するためのパケットデータを 発生する。 パケットプロセス ホストプロセスによって発生したパケットデータにより 実際にBM−RAMの描画、及びエンジンの制御を行なう。 ユーザプロセス 形態の異なるプロトコルの入力に対して、ホストプロセス が解析可能なプロトコルへ変換しホストプロセスに渡す。 例えば、内蔵ROMからのダウンロードによって供給され る。プロトコル変換が必要なければ実行しない。 これらのプロセスは独立したプログラムとなっており、優先順位のある時分割
処理によって並行して動作している。優先順位はパケットプロセス、ホストプロ
セス、ユーザプロセスの順位である。この他にタイマー割り込みによりこれらの
プロセスの管理を行なうスケジューラ、スタート時に起動されるスタートプロセ
スがある。 次に各プロセスについて説明する。 〔スタートプロセス〕 第12図はスタートプロセスを示すフローチャートである。このプロセスはスタ
ート時に1回だけ起動される。まず電源が投入されると(ステップ#1)、内部の
初期化を行ない(ステップ#2)、R−バッファ、UR−バッファ、パケットバッ
ファ(FIFO)のクリアを行なう(ステップ#3,#4,#5)。次に、この後ホス
トプロセスを起動するため準備動作として、リクエストベクタのホストプロセス
を示すビットをセットし(ステップ#6)、カレントベクタの出力プロセス(ユー
ザプロセス)に示すビットをセットし(ステップ#7)、CRTPRSにユーザプ
ロセスを示す番号を入れる(ステップ#8)。リクエストベクタとは、タイマー割
り込みによってスケジューラが起動されたとき、実行が中断されたプロセスがス
ケジューラに対して実行の放棄と他プロセスの起動要求を伝達するためのもので
あり、各プロセスに対応するビットをセットまたはリセットするようになってい
る。またカレントベクタは実行中のプロセスに対応するビットをセットするよう
になっていて、スケジューラが起動されたときは実行が中断されたプロセスのビ
ットがセットされている。さらに、CRTPRSはカレントベクタの示すプロセ
スの番号が入っていて、プロセスの番号は優先順位が高い程大きくなる。このリ
クエストベクタ、カレントベクタ、CRTPRSを用いてスケジューラは次のプ
ロセスの実行先を決定する(次の「スケジューラ」の項で詳細を述べる)。 この後に、CPSブロックの初期化を行なう(ステップ#9)。具体的には、各
CPSでCPUの実行アドレスポインタのデータを格納するエリアに、各プロセ
スプログラムのスタートアドレス値を入れ、スタックポインタを格納するエリア
に所定のアドレス値を入れる。また必要に応じて他のポインタの初期値も入れる
。 これらの初期設定を終えると割り込みを許可し(ステップ#10)、タイマー割り
込み待ち(ステップ#11)のループに入る。 〔スケジューラ〕 第13図はタイマー割り込みによって起動されるスケジューラを示すフローチャ
ートである。まずタイマーによる割り込みが入ると(ステップ#30)、CPUの各
レジスタの値をCPSブロック内の退避エリアへ退避する(ステップ#31)。次に
リクエストベクタにセットされているビットの内で、最優先のプロセス番号をR
EQPRSに入れる(ステップ#32)。ここでCRTPRSには割り込み処理を行
なう直前のプロセス番号が入っているので、これとREQPRSを比較すること
によって、より優先順位の高いプロセスの起動リクエストがあるかどうかを判断
する(ステップ#33)。上位プロセスの起動リクエストがない(ステップ#33でN
O)場合、処理中であったプロセス(CRTPRSが示している)がリクエストベ
クタのビットをリセットして先の実行を放棄しているかどうかをチェックし(ス
テップ#42)、放棄していない(ステップ#42でYES)場合はCPSブロックの
退避エリアの各レジスタのデータをCPUにセットして(ステップ#39)復帰する
。この場合タイマー割り込みによって中断したプロセスがそのまま実行される。
もし放棄している(ステップ#42でNO)場合はCRTPRSの示すプロセスより
も下位であり、かつ最上位のプロセス番号をREQPRSに入れて(ステップ#4
1)、上位プロセスの起動要求があった(ステップ#33でYES)場合と同様の処理
を行なう。ここではCRTPRSの示す実行を中断するプロセスのCPSに退避
エリアの値を転送し(ステップ#35)、REQPRSの示すプロセスのCPSの値
を退避エリアに転送する(ステップ#36)。さらに、CRTPRSにREQPRS
の値を入れ(ステップ#37)、REQPRSの示すプロセスにカレントベクタをセ
ットする(ステップ#38)。これらの処理によって退避エリアにはREQPRSの
示すプログラムのレジスタの値が入っているので、復帰先はREQPRSの示す
プロセスとなる。 〔ホストプロセス〕 第14図はホストプロセスの動きを示すフローチャートである。ホストプロセス
の最初の起動は、前述のようにスタートプロセスがリクエストベクタを用いてス
ケジューラにホストプロセスの起動を要求し、タイマー割り込みによって起動さ
れたスケジューラがホストプロセスに切り替わることによって行われる。このと
き、制御部のCPU(303)のプログラムカウンタにホストプロセスの先頭アドレ
スが設定される。 処理の流れを説明すると、まずホストプロセスに用いているフラグの初期化を
行な う(ステップ#51)。具体的には、ユーザプロセスの実行の有無を示すUSERF
フラグを0にセットし、受信データ処理ルーチンで仮イメージ編集中であること
を示すLPWRITEを0にセットする。 さらにホストプロセスが実行処理不可能な状態であることを示すHOSTEN
Dフラグを0にセットし、ユーザプロセスとの共通フラグでありユーザプロセス
の切り替え処理中であることを示すUSERWAITも0にセットしておく。ま
た表示パネル34の表示のためのポインタであるDISPMODE,SETCを0
にセットし、MODENにセレクトモードのモード数をセットする。そして、中
間コード作製の準備としてフォント部33よりフォント属性を読み込む(ステップ
#52)。システムROM305内にディップスイッチ(DIPSW)によってあらかじ
め指定されたユーザプロセスが有るかどうかをチェックし(ステップ#53,#54)
、有りの場合はシステムRAM307の所定の領域に指定されたユーザプロセスを
ロードし(ステップ#55)、ロード終了(ステップ#56)を待ってユーザプロセスの
実行を示すUSERFフラグを1にセットし(ステップ#57)、リクエストベクタ
のユーザプロセスのビットをセットする(ステップ#58)。これは、最下位のプロ
セスは常にリクエストベクタのビットをセットしておき、自分自身の実行を放棄
することの無いようにするためである。その後、指定ユーザプロセスをエミュレ
ーションベクタにセットする(ステップ#59)。これらの初期化動作(ステップ#5
1〜ステップ#59)を行った後、主ループ(ステップ#60〜ステップ#66)に入る。
またディップスイッチDIPSWでユーザプロセス指定のない(ステップ#53で
NO)場合ROM内にディップスイッチDIPSWで指定されたユーザプロセス
がない(ステップ#54でNO)場合、ステップ#60に潜入する。 主ループではFIFOの空エリアがなくなるか、USERF=1(ステップ#6
1でYES)のときUR−バッファ、USERF=0(ステップ#61でNO)のとき
は、R−バッファが空になる(ステップ#63でNO)とき以外は受信データ処理(
ステップ#64)を行なう。また、データ処理を行わない(ステップ#60、ステップ
#62、ステップ#63でNO)ときはJOBOUT処理1を実行する(ステップ#69
)。ここでUR−バッファが空で(ステップ#62でNO)ユーザプロセスの切り替
え処理中であれば(ステップ#67でYES)プロセス切り替え処理が終わったこと
を示すHOSTENDフラグをセットし(ステップ#68)その後JOBOUT処理
1を実行する。JOBOUT処理1の内容は第15図に示す が、これはホストプロセスがスケジューラに対して上位プロセス(実施例ではパ
ケットプログラム)への切り替えを要求するために、リクエストベクタを更新す
る処理である。具体的には、リクエストベクタのパケットプロセスビットをセッ
ト(ステップ#72)、ユーザプロセスが起動されていて(ステップ#73でYES)H
OSTEND、USERWAITフラグがセットされていない(ステップ#77で
NO、ステップ#80でYES)ときにはリクエストベクタのホストプロセスのビ
ットをリセットし自らの実行を放棄する。またユーザプロセスが無い(ステップ
#78でNO)場合は、ホストプロセスが最下位プロセスとなるのでリクエストベ
クタのホストプロセスのビットはセットしたままにしておく。 ユーザプロセスの切替えに伴う処理においてはホストプロセスが引続き処理可
能、つまりUR−バッファ306にデータが残っている(ステップ#73でYES)場
合は受信データ処理を続行する。この時、FIFOに空きがない場合(#60でN
O)は、“JOBOUT処理1”が実行されるが、ユーザプロセスの切換中であ
る場合(#80でNO)にはリクエストベクタのホストプロセスビットのセット処理
を実行しない。またUR−バッファ306のデータが空である場合はステップ#68
でHOSTENDフラグが立っているのでステップ#77でYESとなり、USE
RWAITフラグ及びHOSTENDフラグを0にセットする(ステップ#78及
び#79)。この処理によってステップ#80ではYESとなり、リクエストベクタ
のホストプロセスのビットがリセットされる(ステップ#74)。このようにしてユ
ーザプロセス切替え処理が完了し、次のユーザプロセスへ移ることができる。な
お、これらの処理中はタイマー割り込みを禁止して(ステップ#71,#75)誤動作
を防ぐようにしている。 これらの流れから明らかなように、ユーザプロセス切り替え時でない(USE
RWAIT=0)場合特定の条件(FIFOの空エリアがない、R−バッファ又は
UR−バッファが空き等の条件。他に受信データ処理のサブルーチン(ステップ
#64)でも設定している)によってJOBOUT処理1が実行されリクエストフラ
グが更新されるまでは、タイマー割り込みによってスケジューラが起動されても
再びホストプロセスに戻ってくるので受信データ処理を繰り返して行なうことに
なる。 またユーザプロセス切り替え時にはUR−バッファ306が空となりHOSTE
NDフラグがセットされるまでエミュレーションのホストプロセスのビットはリ
セットされないのでホストプロセス65及びパケットプロセス64だけが起動され、
残りのデータを処理して しまうまで待つようになっている。その後切り替え処理が終了すればリクエスト
ベクタのホストプロセスビットをリセットするので、一度パケットプロセス64に
移った後何もせず切り替えられたユーザプロセス66が起動されるようになる。 これらの処理が終了すると、表示パネル34上のテストキー902が押されている
かどうかをチェックし(ステップ#65)、押されているときはテストプリント処理
(ステップ#66)を行なう。押されていない場合は、主ループのスタートに戻る(
ステップ#60)。 〔表示パネルの表示〕 第16図(a),(b)は表示パネル34の表示処理(第14図のステップ#66a)のフローチ
ャートである。表示部で表示する内容は次の5つに分けられる。 ・エラーメッセージ・エミュレーション名 ・動作中“BUSY”の表 ・フォント名 ・用紙サイズ これ以外の表示を行わせることも自由である。 ここでエラーメッセージとエミュレーション名は必要に応じて随時表示を行な
うが、他の3つはアップキー905とダウンキー906とセレクトキー904とでそのモ
ードを選択された時に表示する。まずエンジンステータスを読み(ステップ#551
)何らかの異常が発生していれば(ステップ#552でYES)エラー内容に対応する
メッセージを表示パネルインターフェース312に出力し(ステップ#553)復帰する
。異常がないときは、EMUMとエミュレーションベクタとを比較し、異なる場
合はエミュレーションベクタが示すエミュレーション名を表示パネルインターフ
ェース312へ出力する(ステップ#560)。この後、EMUMにエミュレーションベ
クタの内容を入れておき(ステップ#570)、次の比較チェックに備える。 アップキー905及びダウンキー906は表示内容の選択と機能選択切り替えを行な
う。まず表示内容はポインタDISPMODEに保持しておき、UPキーで+1
(ステップ#573),DOWNキーで−1(ステップ#581)される。またこのポイン
タはリング状に動作するためにDISPMODEが表示モード数MODENを超
えるときは1に(ステップ#574,#575)、DISPMODEが1より小さくなる
ときにはMODENにセットする(ステッ プ#582,#583)。 SELECTキー904が入力されると表示選択モードから機能モードに移るが
ビットマップ上に描画中(ステップ#590でNO)かプリント動作中(ステップ#59
1でNO)か表示モードで通常表示モード時(DISPMODE=1)は無視される
。ここですでに機能モードに入っている場合(SELON=1)はSELONフラ
グを0に戻す(ステップ#595)。表示選択モードのときはSELONフラグを1
とし機能モードに入る(ステップ#593)。その後DISPMODEポインタが示
す表示内容の最大数をSETMAXにセットする(ステップ#594)。 アップキー905入力時であり、かつ、SELONフラグが1の時、即ち、機能
モードの時には(#572でNO)、ポインタSETCを+1し(#576)、SETCが
ポインタの最大値SETMAXを越えると(#577でYES)、SETCを1にす
る。 ダウンキー906の入力時に、SELONフラグが1の場合には(#580でNO)、
SETCを−1し(#584)、SETCが1より小であれば、SETCに最大値S
ETMAXを設定する(#585,#586)。 実施例ではDISPMODEポインタに対して次のように表示内容を決めてい
る。 DISPMODE=1 :通常表示モードでプリンタ動作を示す“BUSY ”とセットプリントカウントを表示する。 DISPMODE=2 :現在セレクトされているフォント名を表示する。 SELECTキーでフォントを指定する。 DISPMODE=3 :現在セレクトされている用紙サイズを表示する。 SELECTキーで用紙サイズを指定する。 DISPMODE=1のとき(ステップ#596でYES)は、ビットマップへの
描画か、印字動作が行われているときは“BUSY”を表示し(ステップ#600)
、その他の時は“READY”を表示する。その後プリント枚数を表示する(ス
テップ#601)。 DISPMODE=2のとき(ステップ#602でYES)は、表示選択モード時(
SELON=0)は現在セレクトされているフォント名を表示インターフェース
へ送り、機能モード時(SELON=1)はSETCポインタに対応するフォント
名を表示インターフェースへ送り(ステップ#605)、このフォントを指定するコ
ードをFIFOへ出力する(ステップ#606)。 DISPMODE=3のとき(ステップ#607でYES)は、SELON=0の
ときは(ステップ#608でYES)現在指定されている用紙サイズを表示インター
フェースへ送り(ステッ プ#609)、SELON=1のときはSETCポインタの示す用紙サイズ名を表示
インターフェースへ送り(ステップ#610)、その用紙サイズを指定するコードを
FIFOへ送る(ステップ#611)。 〔テストプリント〕 テストプリントは使用中のフォント、プリントエンジン4の画像状態のチェッ
クをする場合に用いる機能であり表示パネル34上のテストキー902で起動される
。表示パネル34の制御はインターフェース制御部40によって行われており、ビッ
トマップ制御部30へテストプリント要求を発する。実際の起動はステップ#65に
おいて、この要求を検出することで行われる。 第17図はテストプリント処理(第17図のステップ#66)の提要を詳細に示すフロ
ーチャートであり、このフローチャートに示すようにテストプリントが実行され
るのはBM−RAM32、パケットバッファ308に描画、仮編集が行われていない(
ステップ#81及び#82においてYES)場合である。このような条件が成立して
テストプリントが可能である場合、まず実行中のモードを退避する(ステップ#8
3)。次にテストプリントのモードを設定する(ステップ#84)。この設定項目はコ
ピー枚数、ソータ6の使用ビン等である。 次にテストパターン(使用可能なフォントパターン、その時点での設定モード
を含む)をパケットバッファ308に出力する(ステップ#85)。テストパターンには
ユーザが登録可能なメッセージ印字エリアが設けてあり、ユーザテストパターン
が登録されているとき(ステップ#86でUSER TEST=1)は、ユーザプロ
セスの起動時にプロトコルによって指定されたデータ及び印字パターンをユーザ
テストパターン登録エリアよりデータを書込む(ステップ#87)。 次に通常のモードでページイジェクト(PAGE EJECT)ファンクション
をパケットバッファ308に出力し(ステップ#88)元のモードに復帰させる(ステッ
プ#89)。〔受信データ処理〕 受信データの処理フローを第18図(a),(b)に示す。 まず、受信データの処理を行なうために受信バッファよりデータを取り出す必
要がある。受信データは第19図に示すようにデータの受信割り込みによってデー
タ処理インターフェース301より取り込まれ、R−バッファ304に蓄積される。 ここでユーザプロセス66が有る場合はR−バッファ304のデータのプロトコル
変換を行った後UR−バッファ306に蓄積するので、USERFが1のとき(ステ
ップ#101でYES)はUR−バッファ306より、0のとき(ステップ#101でNO)
はR−バッファ304よりデータを取り込む(ステップ#102、ステップ#107)。 ここで受信データは次の5つに分類される。 ・IFC関連コード(プリント・エンジン関連コード)(ステップ#103〜ステップ
#105) ・JOB制御コード(JOBSTART,PAGE EJECT)(ステップ#108
〜ステップ#112) ・書式制御コード(ステップ#113〜ステップ#114) ・印字データ(文字コード,グラフィックコード)(ステップ#132,ステップ#137
)・ユーザプロセス制御コード 印字データの場合(ステップ#132でYES)は、LPWRITEフラグを1と
した後対応するフォーマットの中間コードに変換してFIFOに出力する。 文字コードの場合は、フォント・イメージ書込部311へのフォーマットと同じで
フォント・パターンのアドレス(ステップ#133)、イメージ・エリア上の印字位置
に対応するBM−RAMへの書込みアドレス(ステップ#134)および書込みモー
ド(ステップ#135)よりなる。グラフィックコードの場合は、グラフィックイメ
ージ書込部316へのコマンドと同一のフォーマットで出力される(ステップ#137)
。このとき、文字コードの場合は、次の文字印字位置を更新しておく(ステップ
#138)。 IFC関連コード(ステップ#103)は、インターフェース制御部40に出力する
ものであるが、印字データとの同期をとるため、印字データとは形式の異なるフ
ァンクションタイプの中間コードとしてFIFOへ出力しておく(ステップ#104
)。そして“JOBOUT処理1”を実行する(ステップ#105)。JOB制御コー
ドには、ページの区切りに用いるPAGE EJECTコード(ステップ#110)と
、ページ群の区切りに用いるJOBSTART(ステップ#108でYES)の2つ
がある。どちらもIFC関連コードと同様に、FIFOに出力する(ステップ#1
09,ステップ#152)。PAGE EJECTコードの場合PAGE EJECT処
理(ステップ#111)の後、“JOBOUT処理1”を実行し(ステップ#112)、復
帰する。書式制御コード(ステップ#113、ステップ#114)は、印字の書式を制御
する。同一イメージのコピー枚数を指定するコードであれば(ステップ#115でY
ES)、印字データとの同期をとるためFIFOに対応するファンクションを出
力する (ステップ#116)。 〔書式制御とPAGE EJECT処理〕 第20図は書式制御コードの処理シーケンスを示したものである。復行コードの
場合(ステップ#161でYES)は次の印字位置を左端へ移動し(ステップ#162)、
改行コードの場合は次の印字位置を一行下へ移動する(ステップ#165)。またラ
ンダム指定のとき(ステップ#166でYES)はオフセット値を加算した後、次の
印字位置を更新する(ステップ#167)。 第21図はPAGE EJECT処理のフローを示したものである。このPAG
E EJECT処理は、FIFO上へ中間コードとして仮編集するときの仮想的
な処理であり、中間コード処理(第22図)で実際にペーパの排出を行なうものとは
異なる。PAGE EJECT処理はまずパケットバッファ308へPAGE EJ
ECTを示す中間コードを出力する(ステップ#152)。ここで、実際の排紙動作
はパケットプロセスがこの中間コードを受け取った時に行われる。その後、次の
ページの編集に備えて次の印字位置を先頭に戻す(ステップ#153)。これらの一
連の動作は仮イメージ編集を示すLPWRITEフラグによって判別され(ステ
ップ#151、ステップ#154)、空ページ出力を防ぐ。 ユーザプロセスの切り替えはユーザプロセス指定コードによって行なう。この
コードは透過性を有するコード、つまりどのようなプロトコル体系のコードとも
区別できるようなコード(例えばESCAPE CODE=27を2回連続するよう
なもの)である必要がある。またこのコードのパラメータによってホストプロセ
ス及び複数のユーザプロセスを切り替え、その値はEMUNOWにセットされる
(ステップ#118)。またこの時起動されているユーザプロセスはエミュレーショ
ンベクタに割り当てられた値としてセットされている。 前述の第9図は実際にホスト側から送られてくるデータの例を示したものであ
り、エミュレーシヨンの切り替えコマンドをESC+ESC+Uをエミュレーシ
ョンの割り当てコードどしている。プリンタはこの切り換えコマンドを受信する
と次からのデータ及びコマンドは、ターゲットのプロトコル対応のユーザプロセ
スが変換を行うので、連続的にデータが送られていても処理可能となっている。 ユーザプロセス指定コードの場合は(ステップ#117でYES)、パラメータの
指定ユーザプロセス番号をシステムRAM307上のEMUNOWにセットした後(
ステップ# 118)ユーザプロセスが起動されているか否かをチェックし(ステップ#119)、U
SERFフラグが0の場合(ステップ#119でYES)、またはUSERFが1の
場合でEMUNOWとエミュレーションベクタとが違う(ステップ#120でYES
)ときには、EMUNOWで示されるユーザプロセスをロードし(ステップ#121)
、ロード終了を待った後(ステップ#122)、USERFを1にセットする(ステッ
プ#123)。 これらの処理が終了した後またはステップ#119,#120でNOの場合は、ユー
ザプロセスの初期化を行い最後にリクエストベクタのユーザプロセスのビットを
セットする(ステップ#126)。ユーザプロセス解除コードの場合は、USERF
フラグを0として(ステップ#128)。この後、リクエストベクタのユーザプロセ
スのビットをリセットする(ステップ#129)。 テストプリントのユーザプロセス印字エリアに書き込む情報の指定はユーザプ
ロセステストプリントデータ登録コマンドで行なう。このコマンドではパラメー
タの値によって印字する情報を設定できるようになっている。このコマンドが受
け付けられたとき(ステップ#139でYES)は、そのパラメータを解析し(ステッ
プ#140)、パラメータで指定されたユーザプロセスのための必要情報をそれに対
応するコードの形で、システムROM307上にEMUNOWの示すユーザプロセ
スのテストパターンユーザプロセスエリアに書き込む(ステップ#141)。 〔パケットプロセス〕 第23図はパケットプロセスの処理を示すフローチャートである。 まず電源が投入されると(ステップ#200)、BM−RAMのイメージエリアを
クリアし(ステップ#202)、制御フラグを初期化する(ステップ#203)。具体的に
は、プリント状態を示すJOBACTをクリアし、BM−RAMへの描画状態を
示すBMWRITEをクリアし、同一枚数のコピー枚数を示すCOPYを1にセ
ットし、同一枚数のコピー枚数を計算するCCOUNTを1にセットする。 この後、主ループに入るが、主ループの行なう処理は、・ 中間コードの解析とBM−RAMへの描画(ステップ#212〜ステップ#215)と
、・ プリント・シーケンス制御(ステップ#205〜ステップ#211)とがある。データ
の流れは次のようになる。まず、排紙条件フラグであるJOBACTが1のとき
は、プリント・シーケンス(ステップ#208、ステップ#211)に入る。また、JO
BACTが1でないときは FIFOから中間コードが有ることをチェックして(ステップ#213)中間コード
処理が行われる。 ここでプリントシーケンスに入るとき(ステップ#205)とFIFO内のパケッ
トデータが無くなったとき(ステップ#215)は、下位のプロセスに実行を移すた
めに第29図のJOBOUT処理2を実行する(ステップ#230)。このとき最下位
のプロセスにリクエストフラグが立っているので、最下位であるパケットプロセ
スがリクエストフラグを落とすことによりスケジューラは最下位プロセスに実行
を移す(#231、第29図)。このようにパケットプロセスは優先順位が最上位とな
るのでプログラムが待ちの状態となるが(ステップ#205の場合)、実行不能にな
る(ステップ#215の場合)ときのみ下位プロセスへ処理を移す。 〔中間コード処理とプリント・シーケンス制御〕 次に、FIFOに蓄えられた中間コードの処理フローを、第22図(a),(b)に示
す。 ここでは、主に中間コードに応じたBM−RAMへの描画と、プリント・エン
ジン部へのコマンド出力などのシーケンス制御を行なう。 まず、印字データの場合(ステップ#303でYES)は、中間コードをフォント・
イメージ書込部へ(ステップ#304)、グラフィックの場合(ステップ#310でNO)
はグラフィック・イメージ書込部へ出力(ステップ#311)する。 もし初めてのデータを書込む場合(BM−WRITEフラグ=0)(ステップ#3
05でYES)、BM−WRITEフラグを1とし(ステップ#306)、プリントエン
ジン4に対して給紙等の準備を先行させるためのペーパの先出しコマンドPFC
MDをインターフェース制御部40に出力する(ステップ#308)。これによりビッ
トマップ方式データ処理装置3のプリント準備が終了すれば、感光体へのレーザ
露光が直ちに可能となり、給紙時間に相当してスループットが向上する。 IFC関連コードや及びJOBSTARTコードは、IFCへ出力する(ステ
ップ#312〜ステップ#313)。 コピー枚数設定の場合(ステップ#319)は、コピー枚数COPY更新する(ステ
ップ#320)。FIFO305からビットマップ書込部31への出力は、中間コードデ
ータがある限り順次行われるが、PAGE EJECTコードを検出すると(ステ
ップ#315でYES)、1ページ分の信号変換が終了したのでプリント動作に入る
。まず、コピー枚数COPY をカウントするためのCCOUNTフラグに設定されているコピー枚数をセット
し、プリント起動処理に入る(ステップ#317)(第24図)。プリント起動処理では
、プリント処理に入ったことを示すJOBACTフラグをセットし(ステップ#4
01)プリントヘッド制御部インターフェースをプリント可能状態にし(ステップ#
402)、インターフェース制御部40にプリントコマンドPRNCMDを出力する(
ステップ#403)。 これにより、プリントヘッド制御部インターフェース315では、プリントヘッ
ド制御部42の制御回路から送られてくるパルスに同期してBM−RAMのデータ
をバスB4を通じて出力する。 プリントが終了すると、まだJOBACTフラグがセットされているため第23
図のステップ#204からステップ#205へ進み、ステップ#206でインターフェー
ス制御部40からの露光終了コマンドEXPENDの割り込み待ちとなる。EXP
END受信の割り込み処理は第25図に示すように、EPENDフラグをセットし
リクエストベクタのパケットプロセスのビットをリセットする。EXPENDを
検出するとEPENDフラグが1となりループを抜けて同一イメージのコピー制
御を行なう(ステップ#208〜ステップ#211)。 まず、コピー枚数カウンタCCOUNTを減算し(ステップ#208)、所定枚数
のコピーが終了したかチェックする(ステップ#209)。終了の場合はプリントE
ND処理に入る(第26図)。ここでは、次のイメージの描画のためBM−RAM
をクリアし、ステップ#241、プリント状態解除のためJOBACTフラグをリ
セットし(ステップ#242)、BM−RAMへの描画状態を示すBMWRITEの
クリアを行なう(ステップ#243)。コピー未終了の場合は再び、同一イメージで
プリントを開始する(ステップ#211)。 〔ユーザプロセス〕 第27図はユーザプロセスの処理例を示すものである。ユーザプロセス自体は対
応するプロトコルによっていくつかのプログラムが存在するが、基本的な形態は
このようになっている。特に、(ステップ#490,#491,#501〜#503,#507,#51
0)のステップは各ユーザプロセスで共通化しておかないと他プロセスとの対応が
取れなくなる。 まず、起動時にはユーザプロセスの初期化を行ない(#470)、ユーザテストパ
ターンの登録データをホストプロセスへ送る。次にR−バッファにデータが有る
ことをチェックし(ステップ#501)、その後にUR−バッファの空きをチェック
する(ステップ# 502)。UR−バッファの空きがないときは(ステップ#502でNO)、ホストプロ
セスの起動要求をリクエストベクタによって行ない(ステップ#510)、UR−バ
ッファに空きを作るようにする。 UR−バッファの空きがあるときは(ステップ#502でYES)、R−バッファ
よりデータを取り込み(ステップ#503)、プロトコル変換処理(ステップ#504〜
#506,#508,#509)を行なう。 ユーザプロセス指定コードの場合(ステップ#511でYES)は、描画中のデー
タがある場合排紙させるためにページイジェクトコードを送り(ステップ#512)
、ユーザプロセス指定コードをそのままUR−バッファ306へ送る(ステップ#51
3)。この後、上位プロセスのリクエストベクタのビットをセットし(ステップ#5
13)、エミュレーションベクタをユーザプロセス指定コードのパラメータで指定
されたプロセスの値にセットする(ステップ#515)。さらに前のユーザプロセス
の残りデータを処理するためにUSERWAITをセットする(ステップ#516)
。そしてスケジューラの割り込み待ちとなる(ステップ#517)。 USERWAITはホストプロセス61と共通フラグとなっていてこのフラグが
セットされるとホストプロセス65がUR−バッファ306内のデータを処理してし
まうまで指定のユーザプロセスが実行されず誤動作を防ぐ。 これらのプロセスの切り替えタイミングの例を示したのが第28図である。この
ように、定期的なタイマー割り込みによってスケジューラが起動されるが、プロ
セスが切り替わるのは各プロセスの実行放棄条件が満たされたときである。 〔効果〕 以上の如き本発明の印写装置及び印写装置の状態を表示する表示装置において
は、プロトコルの異なる複数の受信データを解析するために、各プロトコル毎に
用意された複数のプログラムがメモリに格納され、このメモリに格納されたプロ
グラムの何れかをデータ処理装置から送られてくる切り換えコマンドによって
択して受信データを解析すると、選択されたプログラムを特定する情報が表示手
段に表示される。よって、オペレータは安心して操作をすることができる。
【図面の簡単な説明】 第1図は本発明装置の構成図、第2図は本発明装置の外観を示す斜視図、第3 図は表示パネルのを示すレイアウト図、第4図は本発明装置の制御回路要部のブ
ロック図、第5図は本発明装置のビットマップ制御部の構成を示すブロック図、
第6図は本発明装置のソフトウェアの構成を示す概念図、第7図はシステムワー
クRAMの構成を示す概念図、第8図は受信データの流れを示すブロック図、第
9図はデータ処理装置からの送信データの一例を示すフォーマット図、第10図は
表示パネルの表示例を示す説明図、第11図はビットマップ書込部の詳細ブロック
図、第12図はスタートプロセスを示すフローチャート、第13図はタイマー割り込
みによって起動されるスケジューラを示すフローチャート、第14図はホストプロ
セスの動きを示すフローチャート、第15図はJOBOUT処理1の内容を示すフ
ローチャート、第16図は表示パネルの表示処理を示すフローチャート、第17図は
テストプリントの処理手順を示すフローチャート、第18図は受信データの処理手
順を示すフローチャート、第19図は受信データの割込処理を示すフローチャート
、第20図は書式制御コードの処理手順を示すフローチャート、第21図はPAGE
EJECT装置の手順を示すフローチャート、第22図は中間コード処理を示す
フローチャート、第23図はパケットプロセスの処理を示すフローチャート、第24
図はプリント起動処理を示すフローチャート、第25図はEXPEND受信割り込
み処理を示すフローチャート、第26図はプリントEND処理を示すフローチャー
ト、第27図はユーザプロセスを示すフローチャート、第28図はプロセスの切り替
えタイミングの例を示すタイムチャート、第29図はJOBOUT処理2を示すフ
ローチャートである。 34…表示パネル 61…タイマー割り込み 62…スケジューラ 63…スタートプロセス 64…パケットプロセス 65…ホストプロセス 66…ユーザプロセス

Claims (1)

  1. 【特許請求の範囲】 1.外部のデータ処理装置から与えられる受信データを解析してプリントを実
    行する印写装置において、 プロトコルの異なる複数の受信データを解析するために、各プロトコル毎に用
    意された複数のプログラムを格納するメモリと、 上記メモリに格納されたプログラムの何れかをデータ処理装置から送られてく
    る切り換えコマンドによって選択し、選択したプログラムによって受信データを
    解析する選択手段と、 選択手段によって選択されたプログラムを特定する情報を表示する表示手段と を備えたことを特徴とする印写装置。 2.プロトコルの異なる複数のデータを解析するために、各プロトコル毎に用
    意された複数のプログラムをメモリに格納し、データ処理装置から与えられる
    り換えコマンドに応じて、メモリに格納された複数のプログラムの何れかを選択
    し、選択したプログラムによってデータを解析してプリントを実行する印写装置
    の状態を表示する表示装置であって、上記解析のために選択されたプログラムを
    特定する情報を表示すべくなしてあることを特徴とする表示装置。

Family

ID=

Similar Documents

Publication Publication Date Title
US6545766B1 (en) Printer having a print management device for interrupting print jobs during intermediate data generation
JP3007103B2 (ja) 印刷制御装置
US5630032A (en) Image generating apparatus having a memory for storing data and method of using same
JP2737983B2 (ja) 印写装置及び印写装置の状態を表示する表示装置
JPH04227524A (ja) 印刷システム
JP2737983C (ja)
JP2816184B2 (ja) 印刷制御装置
JP2687408B2 (ja) プリンタ制御装置
JP3010559B2 (ja) 印刷システムならびに印刷制御方法および装置
JPS63231957A (ja) プリンタ制御装置
JPH11143652A (ja) ネットワークシステム
JP4058982B2 (ja) プリンタ
JP2000353066A (ja) 情報処理装置、情報処理方法、及び記憶媒体
JP3126367B2 (ja) プリンタ制御装置
JP3129679B2 (ja) プリンタ
JP4046892B2 (ja) 印刷装置及び排紙制御方法
JP2965686B2 (ja) 印刷制御装置
JP2000015875A (ja) 印刷装置及び印刷制御方法と記憶媒体
JPH0221324A (ja) プリンタ制御装置
JP2780974B2 (ja) プリンタ
JPH0475153A (ja) マルチ受信プリント制御方法
JPH0796642A (ja) プリンタの制御装置
JP2004062875A (ja) 印刷システム、印刷装置、及び印刷制御方法
JP3048575B2 (ja) プリンタ制御装置
JPH044172A (ja) プリンタ制御装置