[go: up one dir, main page]

JP2004050723A - Printing system - Google Patents

Printing system Download PDF

Info

Publication number
JP2004050723A
JP2004050723A JP2002213668A JP2002213668A JP2004050723A JP 2004050723 A JP2004050723 A JP 2004050723A JP 2002213668 A JP2002213668 A JP 2002213668A JP 2002213668 A JP2002213668 A JP 2002213668A JP 2004050723 A JP2004050723 A JP 2004050723A
Authority
JP
Japan
Prior art keywords
printing
program
command
paper
analysis program
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
JP2002213668A
Other languages
Japanese (ja)
Inventor
Shin Fukuda
福田 慎
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
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2002213668A priority Critical patent/JP2004050723A/en
Publication of JP2004050723A publication Critical patent/JP2004050723A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a printing system that does not go into an operation impossible condition even when updating operation is failed in the case where the updating operation of a control program is carried out in order to correspond to a new command which is added or corrected on a daily basis. <P>SOLUTION: This printing system consists of a host computer such as a personal computer, a work station and the like, and a printing control device that generates printing information to be printed on a printing paper sheet by receiving and analyzing a series of data from the start of the printing to the completion of the printing sent from the host computer. The printing system further comprises a command analyzing program for generating image data to be printed on the printing paper sheet by analyzing the print command, and a table storing the version information of the command analyzing program, a program address and the like corresponding to each print command. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、双方向性インターフェースを介してホストコンピュ−タに接続されるプリンタ等の出力装置及び該装置に関し、特にその装置に用いられる用紙の仕分け方法に関する。
【0002】
【従来の技術】
近年、大規模化するネットワークコンピュータシステム等において、プリンタ等の印刷装置による印刷頻度は非常に高くなっている。
【0003】
これらの印刷装置は、主にホストコンピュータからドライバを通して印刷ジョブを受信し、印刷する形式を採る。この印刷ジョブは、例えばPDL(ページ記述言語)と呼ばれるような或る特定の言語体系に則った形でできており、多数の印刷コマンドと呼ばれる制御命令から構成されている。
【0004】
この印刷コマンドは印刷装置の機能の向上に伴い日々新しいものが追加又は修正されている。そのため製品が発売された後に追加された新規コマンドは、その製品では対応できないことになる。
【0005】
このような状況において、或る製品に対し、その製品が発売された後に追加された新規コマンドにも対応できるようにするためには、その製品の制御プログラムを最新(これは或るタイミングでメーカーから供給される)に更新する必要がある。コントロールプログラムの入ったROMは通常不揮発性のメモリデバイス形式で供給されており、電気的に書き換え可能となっている。その更新処理は、現状では、印刷装置メーカーのサービスマンや印刷システムの管理者等が機器メンテナンス時に、制御プログラムの入ったROMを書き換えるといった形で行われている。
【0006】
従来行われている制御プログラム書き換え処理の手順を以下に示す。
【0007】
先ず、更新すべき制御プログラムを内蔵した印刷装置に接続されたホストコンピュータに、最新の制御プログラムを記憶しておく。そして、印刷装置の操作パネル等により制御プログラム内に記憶されている制御プログラム書き換え用のプログラムをRAM上で起動しておき、ホストコンピュータから最新制御プログラムを受信する。
【0008】
次に、受信したデータがこの印刷装置に適合した制御プログラムであるかどうかを判断し、印刷装置に適合したものであれば受信した制御プログラムを印刷装置内のRAMに一時記憶する。その後、先程RAMに記憶しておいた制御プログラムを不揮発性メモリに書き写すことで制御プログラムが新たなものに書き換えられる。
【0009】
【発明が解決しようとする課題】
しかし、上記方法によるコントロールプログラム更新法は、幾つかの欠点を有している。
【0010】
先ず、第1に、この方法は更新する制御プログラムの変更量の大小に拘らず、常に制御プログラム全体の書き換え作業を行う。そのため、更新に失敗した場合には制御プログラム(制御プログラム書き換え用のプログラムを含む)が動作しない状態に陥ってしまう可能性がある。
【0011】
又、第2に、前記第1の問題点から、これらのプログラム更新は通常、メーカーのサービスマン等がユーザー先へ訪問し作業する必要があり、サービスマンにかかる負荷に大きい。
【0012】
本発明は上記問題点を鑑みてなされたもので、その目的とする処は、日々追加・修正される新規コマンドに対応するため制御プログラムの更新作業を行う際に、その更新処理に失敗しても動作不能状態に陥らない印刷システムを提供することにある。
【0013】
又、本発明の目的とする処は、制御プログラム更新に係わる作業により、動作不能状態に陥るといったリスクを軽減しユーザーが手軽に制御プログラムの更新作業を行えるようにすることでサービスマンに掛かる負荷を軽減することができる印刷システムを提供することにある。
【0014】
【課題を解決するための手段】
上記目的を達成するため、本発明は、パーソナルコンピュータやワークステーション等のホストコンピュータと、それらから送られてきた印刷開始から印刷終了までの一連のデータ群を受信し、そのデータを解析して印刷用紙に印刷する印字情報を作成する印刷制御装置とで構成された印刷システムにおいて、印刷コマンドを解析し、印刷用紙に描画する描画データを作成するコマンド解析プログラムと、各印刷コマンドに対応するコマンド解析プログラムのバージョン情報、プログラムアドレス等を記憶したテーブルと、を設けたことを特徴とする。
【0015】
【発明の実施の形態】
以下に本発明の実施の形態を添付図面に基づいて説明する。
【0016】
先ず、本発明を適用するに好適なレーザビームプリンタ及びインクジェットプリンタの構成について図1を参照しながら説明する。尚、本発明を適用するプリンタは、レーザビームプリンタ及びインクジェットプリンタに限られるものではなく、他のプリント方式のプリンタでも良いことは言うまでもない。
【0017】
図1は本発明を適用可能な第1の出力装置の構成を示す断面図であり、例えばレーザビームプリンタ(LBP)の場合を示す。
【0018】
図1において、101はプリンタ本体である。128は操作パネルで、操作のためのスイッチ及びLED表示器、LCD表示器が配されている。103は制御ボード収納部で、プリンタの印字プロセス制御を行うエンジンコントローラ及びプリンタ全体の制御とホストコンピュータからのデータを解析しイメージデータに変換するビデオコントローラ、各種オプションユニットを統括して制御するオプションコントローラが収納されている。
【0019】
130は用紙カセットで、用紙を保持し不図示の仕切り板によって電気的に用紙サイズを検知する機構を有する。131はカセット給紙クラッチで、用紙カセット130上に収納された用紙の最上位の用紙1枚のみを分離し、不図示の駆動手段によって分離した用紙を給紙ローラ104まで搬送させるカムであり、給紙の度に間欠的に回転し、1回転に対応して1枚の用紙を給紙する。
【0020】
129はレジストシャッタで用紙を押圧して給紙を停止させる。給紙ローラ104はカセット給紙クラッチ131より給紙される用紙の先端部をレジストシャッタ129まで搬送する。102は手差し給紙トレイであり、105は手差し給紙ローラで、この手差し給紙ローラ105は用紙の先端をレジストシャッタ129まで搬送する。
【0021】
以上のような構成によって用紙カセット130及び手差し給紙用トレイ102から選択的に用紙を給紙することが可能となる。又、手差し給紙ローラ105、カセット給紙クラッチ131の下流には、記録紙を同期搬送する給紙ローラ104、レジストローラ対106がそれぞれ設けられ、レジストローラ対106の下流には、レーザスキャナ部107から発したレーザ光によって、記録紙上にトナー像を形成する画像記録部108が設けられている。
【0022】
更に、画像記録部108の下流には、記録紙上に形成されたトナー像を熱定着する定着器109が設けられ、定着器109の下流には、排紙部の紙搬送状態を検知する排紙センサ110、記録紙を搬送する搬送ローラ111等が設けられている。積載トレイ115は用紙残量検知センサ115sを備えており、一定時間毎に積載トレイ115に積載された用紙残量を検知する。
【0023】
次に、レーザスキャナ部107は、プリンタコントローラから送出される画像信号(画像信号VDO)に基づいて変調されたレーザ光を発光するレーザユニット116、このレーザユニット116からのレーザ光を感光ドラム122上に走査するポリゴンミラー117、走査方向のレーザ光位置を検出するビーム検出器118、結像レンズ群119、折返ミラー120及びレーザ光の光量を検知する光量検知センサ121等により構成されている。
【0024】
前述の画像記録部108は公知の電子写真プロセスに必要な、レーザスキャナ部107の走査により形成された静電潜像を保持する感光ドラム122、感光ドラム122を光除電する前露光ランプ123、感光ドラムを一様帯電させる一時帯電器124、感光ドラム122に形成された静電潜像をトナー現像する現像器125、現像器125により現像されたトナー像を給送される記録紙に転写する転写帯電器126、感光ドラム122上の残存トナーを清掃するクリーナ127等から構成されている。
【0025】
制御ボード収納部103内には図示しないビデオコントローラ、エンジンコントローラ及びオプションコントローラ部があり、エンジンコントローラはレーザスキャナ部107、画像記録部108、定着器109による電子写真プロセスの制御およびプリンタ本体101内の記録紙の搬送制御を行う。又、ビデオコントローラは、パーソナルコンピュータ等の外部装置(不図示)と汎用インタフェース(セントロニクスインタフェースやRS232C等)で接続され、汎用インタフェースを介して送られてくる画像情報をビットデータに展開し、そのビットデータを信号VDOとしてエンジンコントローラへ送る。
【0026】
[第1実施例]
本発明の印刷システムの実施例1を図2から図4を使って説明する。
【0027】
図2は実施例1におけるプリンタ制御システムの構成を説明するブロック図、図3は図2中のホストコンピュータ201からプリンタ101へ送られる印刷データを示す図、図4は図2中のプリンタ101内のCPU210の動作を説明するためのフローチャート、図5はこの実施例で実際に印刷した場合の簡単な出力例を示す図である。
【0028】
ここでは、レーザビームプリンタ(図1)を例にして説明する。尚、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器から成るシステムであっても、LAN等のネットワークを介して処理が行われるシステムであっても本発明を適応できることは言うまでもない。
【0029】
<装置構成の説明(図2)>
図2において、201は印刷データを出力するホストコンピュータで、所定のインタフェース205を介してプリンタ101に接続されている。図2において、101が本実施例における印刷装置であり、印刷結果214を形成するものである。プリンタ101において210はプリンタCPUで、ROM220のプログラム用ROM220に記憶された制御プログラム等或は外部メモリ203に記憶された制御プログラム等に基づいてシステムバス209に接続される各種のデバイスとのアクセスを総括的に制御し、プリンタエンジン部208に出力情報としての画像信号を出力する。
【0030】
このROM220のプログラムROMには、図4のフローチャートで示されるようなメインプログラム221等を記憶する他、各印刷コマンドに対応する解析プログラムを記憶するコマンド解析プログラム記憶部225及び各印刷コマンドとそれに対応するコマンド解析プログラムのプログラムアドレスの場所を記憶しておくコマンドテーブル224、コマンド解析プログラムの更新処理を行うコマンド解析プログラム更新用プログラムを備える。このプログラムROM220は、不揮発メモリ、例えばEEPROMやフラッシュメモリ等で構成することで、電気的に書き換えが可能となっている。
【0031】
ROM207のフォント用ROM207には上記出力情報を生成する際に使用するフォントデータ等を記憶し、データ用ROM206にはハードディスク等の外部メモリ203が無いプリンタの場合には、ホストコンピュータ上で利用される情報等を記憶している。CPU210は入力部202を介してホストコンピュータとの通信処理が可能となっており、プリンタ101内の情報等をホストコンピュータに通知可能に構成されている。
【0032】
230はCPU210の主メモリ、ワークエリア等として機能するRAMで、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。尚、RAM230にはホストコンピュータから受信した印刷ジョブを記憶する受信バッファ231、印刷ジョブを出力情報に展開し蓄積しておくページバッファ232が含まれる。
【0033】
更に、RAM230は環境データ格納領域、NVRAM等にも用いられる。前述したハードディスク(HD)、ICカ−ド等の外部メモリ203は、メモリコントローラ(MC)204によりアクセスを制御される。外部メモリ203は、オプションとして接続され、フォントデ−タ、エミュレ−ションプログラム、フォ−ムデ−タ等を記憶することが可能である。
【0034】
又、128は前述した操作パネルで操作のためのスイッチ及びLED表示器、LCD表示器等が配されており。LCD表示器にメッセージを表示することでユーザーとインタラクティブにやり取りが可能である。又、前述した外部メモリは1個に限らず、少なくとも1個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていても良い。更に、図示しないNVRAMを有し、操作パネル128からのプリンタモード設定情報を記憶するようにしても良い。
【0035】
<プログラムロム220の説明(図3)>
図3は本実施例において図2に示したプログラムROM220を詳しく説明した図である。
【0036】
図に示すように、コマンドテーブル224はコマンド名称部301と、そのコマンドに対応し、コマンド解析プログラム群225内に記憶されるコマンド解析プログラム310のバージョンを表すバージョン情報部302及びその所在を示すプログラムアドレス部303から成る。尚、これら301,302,303は各コマンド毎に存在する。
【0037】
一方、コマンド解析プログラム群225は、多数のコマンド解析プログラム310から構成される。又、コマンドテーブル224は必ずしもプログラムROM220に納められる必要はなく、外部メモリ203やRAM230内に格納されていても良い。
【0038】
メインプログラム221は、ジョブ解析プログラム221を用いてジョブをコマンド単位で解析し、コマンドテーブル223の情報を参照することでコマンド解析プログラム310に処理を移すことができる。又、メインプログラム、コマンド解析プログラムは、双方向にデータの授受が可能であり、それぞれのプログラムは描画データをページバッファ232に蓄積することが可能である。
【0039】
<印刷データ処理の説明(図4)>
図4は実施例1における印刷システム中のプリンタ101に内蔵されるCPU210の動作を表すフローチャートである。
【0040】
この印刷システムにおいてホストコンピュータ201からプリンタ101に印刷データが送られてきたときの動作について説明する。印刷データには、描画コマンド等から成る印刷ジョブと、各種設定等の情報が含まれる。
【0041】
ホストから印刷データが送られてきたときプリンタ101のデータ入力部202はそのデータを受け取り(S401)、印刷ジョブをRAM230内の受信バッファ231に蓄積する(S402)。受信バッファ231に印刷ジョブが蓄積されると、メインプログラム221によってその印刷ジョブをコマンド単位に解析する(S403)。メインプログラムはコマンドテーブルを検索し、注目する印刷コマンドを解析するコマンド解析プログラムの所在を示すプログラム番地を調べ、そのプログラム番地に処理を移し(S420)、印刷用紙に描画する描画データを作成し、描画データをページバッファ233に蓄積していく(S421)。
【0042】
次に、処理をコマンド解析プログラムからメインプログラムに戻し(S422)、解析の終わった印刷ジョブは受信バッファ231から削除する(S430)。メインプログラム221がこのようにして受信バッファ231の印刷ジョブを解析していき、排紙命令を見つけると(S410)ページバッファ233に蓄積された描画データをプリンタエンジン部208に送信し(S411)、印刷結果214を得る。そして、ジョブ終了命令を見つけたときには(S404)、この印刷ジョブの全てのページの印刷が終了するまで待機し(S405)、その後、処理を終了する。
【0043】
以上のような処理によりこのシステムにホストコンピュータから送られてきた印刷データを解析し印刷結果214を得ることができる。
【0044】
一方、本実施例では、上記構成の印刷装置において、その印刷装置の制御プログラムの更新処理を特に説明するものであり、以下にその処理動作について説明する。
【0045】
<更新データの構成の説明(図5)>
図5はコマンド解析プログラム更新処理において、ホストコンピュータ等から印刷装置に送信する更新データの構成例を表す図である。
【0046】
更新データ500は、対応機種条件部501と解析プログラム部502から成る。対応機種条件部501は、更新データ500が対象としている印刷装置の機種名、バージョン、ハード構成等の情報を格納している。解析プログラム部502は、個々のコマンド単位における更新プログラムから構成されている。それら各更新プログラムは、それぞれコマンド名称510、バージョン情報511、プログラムサイズ512といった情報と共にそのコマンドに対応するコマンド解析プログラム520から構成される形となっている。
【0047】
<コマンド解析プログラム更新処理の説明(図6)>
図6は実施例1における印刷システム中のプリンタ101に内蔵されるCPU210のコマンド解析プログラム更新時の動作を表すフローチャートである。
【0048】
先ず、ユーザーの操作によりコマンド解析プログラム更新用プログラムを起動する(S601)。これはプリンタ101は通常の装置電源ONではメインプログラムが起動するようになっているが、ユーザーのパネル操作等により明示的に選択することでコマンド解析プログラム更新用プログラムを起動することができる。
【0049】
次に、ホストコンピュータから新たなコマンド解析プログラムを含む更新データ500が送られてくるのを待つ(S602)。更新データ500が送られてくるとデータ入力部202は、そのデータを受け取り、RAM230に全て記憶させる(S603)。次に、RAM230に記憶した更新データ500の内、対応機種条件部501を読み取り、更新データ500がプリンタ101に適合するものか判定を行う(S604)。更新データ500がプリンタ101に適合しないと判定された場合には(S604−NO)、操作パネル128にエラー表示を行い(S605)、処理を終了する。
【0050】
次に、RAM230に記憶した更新データ中の更新プログラム502から各コマンドに対応した更新プログラムを順次読み出していく(S610)。そして、先程読み出した更新プログラムに対応するコマンドがコマンドテーブル224に登録されているか否かを判定する(S610)。コマンドテーブルに登録されていなければ(S611−NO)、次にプログラムサイズ512を読み取り、コマンド解析プログラム記憶部225に空き容量があるか確認する(S621)。
【0051】
コマンド解析プログラム記憶部225に空き容量がないと判断された場合には(S621−NO)、操作パネル128にエラー表示を行い(S605)、処理を終了する。空き容量があれば(S621−YES)そのコマンドに対応する解析プログラム520を新たにコマンド解析プログラム記憶部に追加記憶する(S622)。その後、コマンドテーブル224に先程追加したコマンド解析プログラムの対応コマンド名称、バージョン情報、コマンド解析プログラムのプログラムアドレスを追加する(S630)。
【0052】
一方、S611においてコマンドテーブルに登録されていれば(S611−YES)、次に、既に登録されているバージョン302と更新プログラムのバージョン511を比較し、更新プログラム520の方がバージョンが新しいと判定された場合には(S612−YES)、プログラムアドレス302から記憶されているコマンド解析プログラム310を更新プログラム520に更新する(S613)。更に、コマンドテーブル224のうち対応するバージョン情報301の情報も更新する(S630)。
【0053】
以上のような処理をデータ500に含まれる全てのコマンドについて処理が終了するまで繰り返し行うことで、コマンド解析プログラムを追加又は更新していく。
【0054】
以上のような処理により、コマンド単位での解析プログラムの更新が可能となり、又、更新処理中に不慮の原因により更新処理に失敗した場合にもコマンド解析プログラム更新用プログラムを再度起動することにより容易に復旧することが可能となる。
【0055】
[第2実施例]
本発明の印刷システムの実施例2を図5を使って説明する。
【0056】
第1実施例では、コマンド解析プログラムを更新する際、既に記憶されていたコマンド解析プログラムを新しいコマンド解析プログラムに書き換える形を採っていた。
【0057】
しかし、既に記憶されていた旧コマンド解析プログラムよりも新たなコマンド解析プログラムのサイズが大きく、旧コマンド解析プログラムが使用していたプログラム領域に新たなコマンド解析プログラムが納まらないといった事態が考えられる。第2実施例では上記のような事態にも対応できるようなコマンド解析プログラム記憶部225の構成及びコマンド解析プログラムの更新処理について説明する。
【0058】
図6は図2のプリンタ101に装着されている各用紙カセットの用紙残量データのデータ構成を表す図、図7はプリンタ101内のCPU210の動作を説明するためのフローチャートである。
【0059】
尚、 本発明の機能が実現されるのであれば、単体の機器であっても、 複数の機器から成るシステムであっても、 LAN等のネットワークを介して処理が行われるシステムであっても本発明を適応できることは言うまでもない。
【0060】
<コマンド解析プログラム記憶部225の構成の説明(図7)>
図7Aは第2実施例におけるコマンド解析プログラム記憶部225の構成の説明を表す図である。図に示すようにコマンド解析プログラム記憶部225はブロック単位で構成される。1つのブロックは700に示すようにブロックデータ記憶部710と次のブロックの先頭アドレスを記憶するアドレス記憶部711から成る。
【0061】
1つのブロックは、例えば512バイトといったように、メモリデバイスのハード構成により或る特定値を取る。このような構成のメモリに対しコマンド解析プログラムを記憶する際には、ブロック単位で記憶していき、1つのブロックに納まらなかった場合には別のブロックに記憶し、その先頭アドレスをアドレス記憶部711に記憶しておく。そして、最後のブロックまで記録したなら最後のブロックのアドレス記憶部711にはそのブロックに続きがないことを示す値(例えばメモリデバイスの最終アドレス等)を記憶しておく。
【0062】
又、コマンド解析プログラムを読み出す際には、コマンド解析プログラムが記憶された先頭のブロックから読み出していき、続くブロックがある場合にはアドレス記憶部711に記憶されているアドレスを参照し続くブロックから読み出す。このようにして最後のブロックのデータまで読み出す。上記のような記憶、読み出し方法を採ることで、アドレスが連続していない領域にコマンド解析プログラムを記憶しておいても、連続したプログラムとして読み出すことが可能となる。
【0063】
例えば、図7Aにおいて、701〜705はそれぞれコマンド解析プログラムが記憶されていることを示す。701は例えばコマンドA解析プログラムが連続する5つのブロックに記憶されていることを示す。又、同様に704はコマンドA解析プログラムが連続する4つのブロックに記憶されていることを示す。このようにコマンドA解析プログラムは9つのブロックに亘って記憶され、更にそれらは連続しない2つのメモリ領域に記憶されている。
【0064】
更に、図7Bは701及び704の実際の構成を詳しく説明したものである。この図から701及び704にコマンドA解析プログラムが連続した領域に記憶されている様子が分かる。又、701の最後のブロックのアドレス記憶部には704の先頭ブロックのアドレスを指しており、704のブロックの最後のブロックのアドレス記憶部にはメモリデバイスの最終アドレスが記憶されており、そのブロックが一連のコマンドA解析プログラムを記憶した最後のブロックであることを示す。
【0065】
<コマンド解析プログラム更新処理の説明(図8)>
図8は実施例2における印刷システム中のプリンタ101に内蔵されるCPU210のコマンド解析プログラム更新時の動作を表すフローチャートである。
【0066】
先ず、ユーザーの操作によりコマンド解析プログラム更新用プログラムを起動する(S801)。これはプリンタ101は通常の装置電源ONではメインプログラムが起動するようになっているが、ユーザーのパネル操作等により明示的に選択することでコマンド解析プログラム更新用プログラムを起動することができる。
【0067】
次に、ホストコンピュータから新たなコマンド解析プログラムを含む更新データ500が送られてくるのを待つ(S802)。更新データ500が送られてくるとデータ入力部202はそのデータを受け取り、RAM230に全て記憶させる(S803)。次に、RAM230に記憶した更新データ500の内、対応機種条件部501を読み取り、更新データ500がプリンタ101に適合するものか判定を行う(S804)。更新データ500がプリンタ101に適合しないと判定された場合には(S804−NO)、操作パネル128にエラー表示を行い(S805)、処理を終了する。
【0068】
次に、RAM230に記憶した更新データ中の更新プログラム502から各コマンドに対応した更新プログラムを順次読み出していく(S810)。そして、先程読み出した更新プログラムに対応するコマンドがコマンドテーブル224に登録されているか否かを判定する(S810)。コマンドテーブルに登録されていなければ(S811−NO)、次にプログラムサイズ512を読み取る。
【0069】
本実施例においては、このプログラムサイズ512にはそのコマンド解析プログラムを記憶するのに必要なブロック700の数が示されている。次に、コマンド解析プログラム記憶部225に必要な数の空きブロックがあるか確認する(S821)。コマンド解析プログラム記憶部225に必要な数の空きブロックがないと判断された場合には(S821−NO)、操作パネル128にエラー表示を行い(S805)、処理を終了する。空き容量があれば(S821−YES)そのコマンドに対応する解析プログラム520を新たにコマンド解析プログラム記憶部に追加記憶する(S822)。その後、コマンドテーブル224に先程追加したコマンド解析プログラムの対応コマンド名称、バージョン情報、コマンド解析プログラムのプログラムアドレスを追加する(S830)。
【0070】
一方、S811においてコマンドテーブルに登録されていれば(S811−YES)、次に、既に登録されているバージョン302と更新プログラムのバージョン511を比較し、更新プログラム520の方がバージョンが新しいと判定された場合には(S812−YES)、プログラムアドレス302から記憶されているコマンド解析プログラム310を更新プログラム520に更新する(S813)。この際、既に登録されているコマンド解析プログラム310の記憶に使われていたブロック700数よりも更新プログラム520の記憶に使用するブロック700の数が多い場合には、適宜空きブロック700を見つけて記憶していく。ここで、空きブロック700が足りなくなった場合には、エラー表示を行い(S805)、処理を終了する。更に、コマンドテーブル224のうち対応するバージョン情報301の情報も更新する(S830)。
【0071】
以上のような処理を、データ500に含まれる全てのコマンドについて処理が終了するまで繰り返し行うことで、コマンド解析プログラムを追加又は更新していく。
【0072】
以上のような処理により、コマンド単位での解析プログラムの更新が可能となり、又、更新処理中に不慮の原因により更新処理に失敗した場合にもコマンド解析プログラム更新用プログラムを再度起動することにより容易に復旧することが可能となる。
【0073】
更に、アドレスが連続していない領域にコマンド解析プログラムを記憶しておいても、連続したプログラムとして読み出すことが可能となり、既に記憶されていた旧コマンド解析プログラムよりも新たなコマンド解析プログラムのサイズが大きく、旧コマンド解析プログラムが使用していたプログラム領域に新たなコマンド解析プログラムが納まらない場合にも、新たな空き領域に不足分を記憶することが可能となる。
【0074】
[第3実施例]
本発明の印刷システムの第3実施例を図6から図7を使って説明する。
【0075】
第3実施例では、第1実施例における用紙Aと用紙Bを収納する用紙カセットが複数存在した場合の動作について説明する。尚、装置構成及び印刷データ構成は第1実施例と同じであるものとする。
【0076】
図6は図2のプリンタ101に装着されている各用紙カセットの用紙残量データのデータ構成を表す図、図7はプリンタ101内のCPU210の動作を説明するためのフローチャートである。
【0077】
尚、 本発明の機能が実現されるのであれば、単体の機器であっても、 複数の機器から成るシステムであっても、 LAN等のネットワークを介して処理が行われるシステムであっても本発明を適応できることは言うまでもない。
【0078】
<用紙カセット情報の説明(図6)>
図6はプリンタ101に装着されている各用紙カセットの用紙残量情報のデータ構造の一例である。
【0079】
用紙カセット情報600は各用紙カセットに対して、収納されている用紙サイズ、用紙残量センサ132によって検知した用紙残量の情報を記憶する領域を有する。用紙カセット情報600において601は例えば用紙カセット1にA4サイズの用紙が50枚収納されていることを示し、602は例えば用紙カセット2にA4Rサイズの用紙が100枚収納されていることを示し、603は例えば用紙カセット3にA3サイズの用紙が100枚収納されていることを示し、604は例えば用紙カセット4にA4サイズの用紙が80枚収納されていることを示す。尚、用紙カセット情報600は図2に示したRAM230或は外部メモリに記憶される。
【0080】
<印刷データ処理の説明(図7)>
図7は実施例3における印刷システム中のプリンタ101に内蔵されるCPU210の動作を表すフローチャートである。
【0081】
この印刷システムにおいてホストコンピュータ201からプリンタ101に印刷データが送られてきたときの動作について説明する。尚、本実施例でも回転ソート実行時の動作について説明する。
【0082】
ホストから印刷データが送られてきたときプリンタ101のデータ入力部202はそのデータを受け取り、印刷ジョブをRAM230内の受信バッファ231に蓄積する(S701)。
【0083】
次に、印刷情報設定部300からコピー部数、ソート設定等の情報を読み出し、メモリ230内のワークメモリに記憶する(S702)。ここで、回転ソートの指定あるかどうかを判断し(S703)、回転ソートの指定がなければ(S703−NO)通常の印刷処理を行い終了する(S710)。回転ソートの指定があれば(S703−YES)、先ず、ジョブ解析手段221によって印刷ジョブ部310をコマンド単位で解析していき、設定・初期化部311から用紙サイズ設定を読み取りにメモリ230内のワークメモリに記憶する(S720)。ここで、第1実施例と同じく、先程読み取った用紙サイズ設定の用紙を用紙Aとし、用紙Aを90°回転させたものを用紙Bと表記する。又、用紙A、用紙B共に用紙カセット130に収納され、プリンタ101によって印刷結果を得ることができるものとする。
【0084】
次に、プリンタ101に複数個装着されている用紙カセット130に、用紙A及び用紙Bがセットされているかを調べる(S721)。用紙がなければ(S721−NO)、その旨を操作パネル128に表示し、用紙を補給するよう促し用紙が補給されるまで待機する(S722)。用紙がセットされていれば(S721−YES)、プリンタ101に装着されている全ての用紙カセットそれぞれの用紙残量を用紙残量センサで検知し、用紙残量情報600の情報を更新する(S730)。
【0085】
次に、用紙残量600を参照し、プリンタ101に収納されている全ての用紙A及び用紙Bの残量を算出する(S731)。次に、ジョブ解析手段221によりデータ本体部312を解析し、印刷用紙に描画する描画データを作成し、順次描画データを外部メモリ203に蓄積していく(S740、S750)。
【0086】
ここで、S731において算出した用紙Aの残量と用紙Bの残量を比較する(S732、S733)。
【0087】
先ず、用紙Aの残量と用紙Bの残量が同じであれば(S732−YES)、次に用紙Aと用紙Bそれぞれの用紙搬送に要する時間を比較する(S734)。通常用紙搬送に要する時間は印刷時間に大きく影響する。用紙搬送時間は用紙の搬送方向と用紙の向きによって決定するため、用紙Aと用紙Bとで短辺が用紙搬送方向と平行に向き合っている方が用紙搬送時間が短くなる。用紙Aの用紙搬送時間が用紙Bの用紙搬送時間よりも短ければ(S734−YES)、先頭ページを用紙Bで残りのページを用紙Aで印刷するように描画データを作成する(S750)。逆に、用紙Bの用紙搬送時間が用紙Aの用紙搬送時間よりも短ければ(S734−NO)、先頭ページを用紙Aで残りのページを用紙Bで印刷するように描画データを作成する(S740)。
【0088】
一方、用紙Bの残量の方が用紙Aの残量よりも多ければ(S733−YES)、先頭ページを用紙Aで残りのページを用紙Bで印刷するように描画データを作成する(S740)。それ以外の場合、つまりは用紙Aの残量が用紙Bの残量と同じか、若しくは多い場合は(S733−NO)先頭ページを用紙Bで残りのページを用紙Aで印刷するように描画データを作成する(S750)。このとき、必要に応じて、ジョブ回転手段222によって印刷ジョブを用紙に合わせて回転させる。
【0089】
次に、外部メモリ203に蓄積された描画データを指定されたコピー部数だけ繰り返しプリンタエンジン部208に送り、プリンタエンジン部208は描画データに対応した印刷用紙に印刷紙印刷結果214を得る(S735)。次に、終了処理部413のデータに従い終了処理を行い処理を終了する(S735)。
【0090】
以上のような処理により、ホストコンピュータから回転ソート指定の印刷ジョブが送られてきた場合に、用紙カセットにセットされた用紙残量に応じて先頭ページを回転させるかさせないかを自動的に切り替えることが可能となり、又、同じ用紙が複数の用紙カセットに分かれてセットされていた場合にもそれらを合計した用紙残量を算出し、用紙残量に応じて先頭ページを回転させるかさせないかを自動的に切り替えることが可能となる。
【0091】
尚、上記の実施例1〜3では、ジョブ解析手段、ジョブ回転手段はプリンタ内に構成されており、その処理はプリンタ内のCPUによって行っていたが、これらの処理はホストコンピュータやネットワークで接続された他のコンピュータ等のCPUを用いるものであっても良い。
【0092】
又、上記実施例では指定された用紙とそれを90°回転した用紙とそれぞれの残量を比較し、その大小で処理を切り替えていたが、用紙残量が十分にあり用紙切れになる可能性が少ないと判断した場合には用紙搬送時間を比較し、その大小のみで処理を切り替えるようにしても良い。
【0093】
【発明の効果】
以上の説明で明らかなように、本発明によれば、各ジョブの先頭ページ若しくは最終ページのみ90°回転させて出力する仕分け印刷を行う際、印刷途中で用紙切れが起こり印刷処理が一時停止してしまう頻度を抑えることが可能となる。
【0094】
又、上記仕分け印刷時に必要となる用紙の残量が同じであった場合には、出力時間が最短になるような印刷処理を行うことが可能となる。
【図面の簡単な説明】
【図1】本発明を適用可能な第1の出力装置の構成を示す断面図である。
【図2】本発明の実施例1,2を示すプリンタ制御システムの構成を説明するブロック図である。
【図3】プログラムROMの詳細な構成を示した図である。
【図4】本発明の実施例1のプリンタの印刷データ処理動作を表すフローチャートである。
【図5】コマンド解析プログラム更新データの構成を示した図である。
【図6】本発明の実施例1のプリンタの制御プログラム更新動作を表すフローチャートである。
【図7】コマンド解析プログラム記憶部の構造を示す図である。
【図8】本発明の実施例2のプリンタの制御プログラム更新動作を表すフローチャートである。
【符号の説明】
101  LBP本体
103  制御ボード収納部
115  排紙トレイ
128  操作パネル
130  用紙カセット
210  CPU
214  印刷結果
220  プログラムROM
230  RAM
209  システムバス
202  データ入力部
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an output device such as a printer connected to a host computer through a bidirectional interface, and more particularly, to a method for sorting sheets used in the device.
[0002]
[Prior art]
2. Description of the Related Art In recent years, in a network computer system or the like that has become large in scale, the frequency of printing by a printing device such as a printer has become extremely high.
[0003]
These printing apparatuses adopt a format in which a print job is mainly received from a host computer through a driver and printed. This print job is formed in a form conforming to a certain language system such as PDL (Page Description Language), and is composed of a number of control commands called print commands.
[0004]
New print commands are added or modified every day as the functions of the printing apparatus are improved. Therefore, a new command added after the product is released cannot be supported by the product.
[0005]
In such a situation, in order for a product to be able to respond to a new command added after the product is released, the control program of the product must be updated to the latest (at a certain timing by the manufacturer). Need to be updated). The ROM containing the control program is usually supplied in the form of a nonvolatile memory device, and is electrically rewritable. At present, the updating process is performed in such a manner that a service technician of a printing apparatus maker, an administrator of a printing system, or the like rewrites a ROM containing a control program during equipment maintenance.
[0006]
The procedure of a conventional control program rewriting process is described below.
[0007]
First, the latest control program is stored in a host computer connected to a printing apparatus containing a control program to be updated. Then, a control program rewriting program stored in the control program is started on the RAM by the operation panel of the printing apparatus or the like, and the latest control program is received from the host computer.
[0008]
Next, it is determined whether or not the received data is a control program suitable for the printing apparatus. If the received data is suitable for the printing apparatus, the received control program is temporarily stored in a RAM in the printing apparatus. After that, the control program stored in the RAM is copied to the non-volatile memory to rewrite the control program with a new one.
[0009]
[Problems to be solved by the invention]
However, the control program updating method according to the above method has some disadvantages.
[0010]
First, this method always rewrites the entire control program irrespective of the amount of change in the control program to be updated. Therefore, when the update fails, the control program (including the program for rewriting the control program) may fall into a state where it does not operate.
[0011]
Second, due to the first problem, these program updates usually require a service person or the like of the manufacturer to visit and work at the user's site, and the load on the service person is large.
[0012]
SUMMARY OF THE INVENTION The present invention has been made in view of the above-described problems, and a purpose thereof is to perform a process of updating a control program in order to respond to a new command that is added or corrected every day. It is another object of the present invention to provide a printing system that does not fall into an inoperable state.
[0013]
Also, the object of the present invention is to reduce the risk of falling into an inoperable state by the work related to the control program update and to allow the user to easily perform the control program update work, thereby reducing the load on the serviceman. It is an object of the present invention to provide a printing system capable of reducing the printing.
[0014]
[Means for Solving the Problems]
In order to achieve the above object, the present invention provides a host computer such as a personal computer or a workstation, and receives a series of data from the start of printing to the end of printing sent from the host computer, analyzes the data, and prints the data. In a printing system including a print control device that creates print information to be printed on paper, a command analysis program that analyzes print commands and creates drawing data to be drawn on print paper, and a command analysis corresponding to each print command A table storing program version information, a program address, and the like.
[0015]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings.
[0016]
First, the configurations of a laser beam printer and an ink jet printer suitable for applying the present invention will be described with reference to FIG. It should be noted that the printer to which the present invention is applied is not limited to a laser beam printer and an ink jet printer, and it goes without saying that a printer of another printing method may be used.
[0017]
FIG. 1 is a sectional view showing a configuration of a first output device to which the present invention can be applied, and shows a case of, for example, a laser beam printer (LBP).
[0018]
In FIG. 1, reference numeral 101 denotes a printer main body. An operation panel 128 is provided with switches for operation, an LED display, and an LCD display. Reference numeral 103 denotes a control board storage unit, an engine controller for controlling a printing process of a printer, a video controller for controlling the entire printer, analyzing data from a host computer and converting the data into image data, and an optional controller for controlling various optional units. Is stored.
[0019]
Reference numeral 130 denotes a paper cassette, which has a mechanism for holding paper and electrically detecting the paper size by a partition plate (not shown). Reference numeral 131 denotes a cassette paper feed clutch, which is a cam that separates only the top sheet of the paper stored in the paper cassette 130 and transports the separated paper to a paper feed roller 104 by a driving unit (not shown). It rotates intermittently each time paper is fed, and feeds one sheet of paper corresponding to one rotation.
[0020]
In step 129, the sheet is stopped by pressing the sheet with a registration shutter. The paper feed roller 104 conveys the leading end of the paper fed from the cassette paper feed clutch 131 to the registration shutter 129. Reference numeral 102 denotes a manual paper feed tray. Reference numeral 105 denotes a manual paper feed roller. The manual paper feed roller 105 conveys the leading edge of the paper to the registration shutter 129.
[0021]
With the above configuration, paper can be selectively fed from the paper cassette 130 and the manual feed tray 102. Downstream of the manual paper feed roller 105 and the cassette paper feed clutch 131, there are provided a paper feed roller 104 and a registration roller pair 106 for synchronously transporting the recording paper, and a laser scanner unit downstream of the registration roller pair 106. An image recording unit 108 that forms a toner image on recording paper by a laser beam emitted from 107 is provided.
[0022]
Further, a fixing unit 109 for thermally fixing the toner image formed on the recording paper is provided downstream of the image recording unit 108, and a sheet discharging unit for detecting a sheet conveyance state of a sheet discharging unit is provided downstream of the fixing unit 109. A sensor 110, a transport roller 111 that transports the recording paper, and the like are provided. The stacking tray 115 is provided with a sheet remaining amount detection sensor 115s, and detects the remaining amount of sheets stacked on the stacking tray 115 at regular time intervals.
[0023]
Next, a laser scanner unit 107 emits a laser unit 116 that emits a laser beam modulated based on an image signal (image signal VDO) sent from the printer controller, and transmits the laser beam from the laser unit 116 onto the photosensitive drum 122. , A beam detector 118 for detecting the position of the laser beam in the scanning direction, an imaging lens group 119, a turning mirror 120, and a light amount detection sensor 121 for detecting the light amount of the laser beam.
[0024]
The above-described image recording unit 108 includes a photosensitive drum 122 that holds an electrostatic latent image formed by scanning by the laser scanner unit 107, a pre-exposure lamp 123 that removes light from the photosensitive drum 122, and a photosensitive drum necessary for a known electrophotographic process. A temporary charger 124 for uniformly charging the drum, a developing device 125 for developing the electrostatic latent image formed on the photosensitive drum 122 with toner, and a transfer for transferring the toner image developed by the developing device 125 to a fed recording paper The charging unit 126 includes a charger 127, a cleaner 127 for cleaning residual toner on the photosensitive drum 122, and the like.
[0025]
The control board storage unit 103 includes a video controller, an engine controller, and an optional controller unit (not shown). The engine controller controls the electrophotographic process by the laser scanner unit 107, the image recording unit 108, and the fixing unit 109, and controls the inside of the printer main body 101. It controls the transport of the recording paper. The video controller is connected to an external device (not shown) such as a personal computer via a general-purpose interface (such as a Centronics interface or RS232C), and develops image information sent via the general-purpose interface into bit data. The data is sent to the engine controller as a signal VDO.
[0026]
[First embodiment]
First Embodiment A printing system according to a first embodiment of the present invention will be described with reference to FIGS.
[0027]
FIG. 2 is a block diagram illustrating the configuration of the printer control system according to the first embodiment. FIG. 3 is a diagram illustrating print data transmitted from the host computer 201 to the printer 101 in FIG. 5 is a flow chart for explaining the operation of the CPU 210, and FIG. 5 is a diagram showing a simple output example when printing is actually performed in this embodiment.
[0028]
Here, a laser beam printer (FIG. 1) will be described as an example. If the functions of the present invention are executed, the present invention is applicable to a single device, a system including a plurality of devices, and a system in which processing is performed via a network such as a LAN. It goes without saying that the invention can be applied.
[0029]
<Explanation of device configuration (FIG. 2)>
In FIG. 2, reference numeral 201 denotes a host computer for outputting print data, which is connected to the printer 101 via a predetermined interface 205. In FIG. 2, reference numeral 101 denotes a printing apparatus according to the present embodiment, which forms a print result 214. In the printer 101, a printer CPU 210 is used to access various devices connected to the system bus 209 based on a control program or the like stored in the program ROM 220 of the ROM 220 or a control program or the like stored in the external memory 203. It controls the entire system and outputs an image signal as output information to the printer engine unit 208.
[0030]
The program ROM of the ROM 220 stores a main program 221 and the like as shown in the flowchart of FIG. 4, a command analysis program storage unit 225 storing an analysis program corresponding to each print command, and each print command and its corresponding A command table 224 for storing the location of the program address of the command analysis program to be executed, and a command analysis program update program for updating the command analysis program. The program ROM 220 is electrically rewritable by being composed of a nonvolatile memory, for example, an EEPROM or a flash memory.
[0031]
The font ROM 207 of the ROM 207 stores font data and the like used when generating the output information, and is used on the host computer in the case of a printer without the external memory 203 such as a hard disk in the data ROM 206. Information and the like are stored. The CPU 210 can communicate with the host computer via the input unit 202, and can notify information and the like in the printer 101 to the host computer.
[0032]
Reference numeral 230 denotes a RAM that functions as a main memory, a work area, and the like for the CPU 210, and is configured so that the memory capacity can be expanded by an optional RAM connected to an unillustrated expansion port. The RAM 230 includes a reception buffer 231 for storing a print job received from the host computer, and a page buffer 232 for developing and accumulating the print job into output information.
[0033]
Further, the RAM 230 is also used as an environment data storage area, NVRAM, and the like. Access to the external memory 203 such as a hard disk (HD) and an IC card is controlled by a memory controller (MC) 204. The external memory 203 is connected as an option, and can store font data, emulation programs, form data, and the like.
[0034]
Reference numeral 128 denotes the above-mentioned operation panel on which switches for operation, an LED display, an LCD display, and the like are arranged. By displaying a message on the LCD display, it is possible to interact with the user interactively. The above-mentioned external memory is not limited to one, and at least one external memory is provided. In addition to the built-in font, an optional font card and a plurality of external memories storing programs for interpreting printer control languages of different languages can be connected. It may be configured. Further, an NVRAM (not shown) may be provided to store printer mode setting information from the operation panel 128.
[0035]
<Description of Program ROM 220 (FIG. 3)>
FIG. 3 is a diagram illustrating in detail the program ROM 220 shown in FIG. 2 in the present embodiment.
[0036]
As shown in the figure, the command table 224 includes a command name section 301, a version information section 302 corresponding to the command and indicating the version of the command analysis program 310 stored in the command analysis program group 225, and a program indicating its location. It comprises an address part 303. Note that these 301, 302, and 303 exist for each command.
[0037]
On the other hand, the command analysis program group 225 includes a large number of command analysis programs 310. Further, the command table 224 does not necessarily need to be stored in the program ROM 220, but may be stored in the external memory 203 or the RAM 230.
[0038]
The main program 221 analyzes the job in units of commands using the job analysis program 221, and can transfer the processing to the command analysis program 310 by referring to the information in the command table 223. The main program and the command analysis program can exchange data bidirectionally, and each program can store drawing data in the page buffer 232.
[0039]
<Description of print data processing (FIG. 4)>
FIG. 4 is a flowchart illustrating the operation of the CPU 210 incorporated in the printer 101 in the printing system according to the first embodiment.
[0040]
The operation when print data is sent from the host computer 201 to the printer 101 in this printing system will be described. The print data includes a print job including a drawing command and the like, and information such as various settings.
[0041]
When print data is sent from the host, the data input unit 202 of the printer 101 receives the data (S401) and stores the print job in the reception buffer 231 in the RAM 230 (S402). When a print job is stored in the reception buffer 231, the print program is analyzed by the main program 221 in units of commands (S403). The main program searches the command table, checks a program address indicating the location of a command analysis program for analyzing a print command of interest, shifts the processing to the program address (S420), creates drawing data to be drawn on printing paper, The drawing data is accumulated in the page buffer 233 (S421).
[0042]
Next, the process is returned from the command analysis program to the main program (S422), and the analyzed print job is deleted from the reception buffer 231 (S430). The main program 221 analyzes the print job in the reception buffer 231 in this manner, and when it finds a discharge command (S410), sends the drawing data accumulated in the page buffer 233 to the printer engine unit 208 (S411). A print result 214 is obtained. When a job end command is found (S404), the process waits until printing of all pages of the print job is completed (S405), and thereafter, the process ends.
[0043]
Through the above processing, the print data sent from the host computer to this system is analyzed, and the print result 214 can be obtained.
[0044]
On the other hand, in the present embodiment, the updating process of the control program of the printing apparatus in the printing apparatus having the above configuration is particularly described, and the processing operation will be described below.
[0045]
<Description of Configuration of Update Data (FIG. 5)>
FIG. 5 is a diagram illustrating a configuration example of update data transmitted from the host computer or the like to the printing apparatus in the command analysis program update processing.
[0046]
The update data 500 includes a corresponding model condition unit 501 and an analysis program unit 502. The corresponding model condition section 501 stores information such as the model name, version, and hardware configuration of the printing apparatus targeted by the update data 500. The analysis program unit 502 includes an update program for each command. Each of these update programs has a command analysis program 520 corresponding to the command along with information such as a command name 510, version information 511, and a program size 512.
[0047]
<Description of command analysis program update processing (FIG. 6)>
FIG. 6 is a flowchart illustrating the operation of the CPU 210 incorporated in the printer 101 in the printing system according to the first embodiment when updating the command analysis program.
[0048]
First, a command analysis program update program is started by a user operation (S601). Although the main program of the printer 101 is started when the power of the printer 101 is turned on, the command analysis program updating program can be started by explicitly selecting the main program by a user's panel operation or the like.
[0049]
Next, it waits for the update data 500 including the new command analysis program to be sent from the host computer (S602). When the update data 500 is sent, the data input unit 202 receives the data and stores all the data in the RAM 230 (S603). Next, the corresponding model condition unit 501 is read from the update data 500 stored in the RAM 230, and it is determined whether the update data 500 is compatible with the printer 101 (S604). If it is determined that the update data 500 is not suitable for the printer 101 (S604-NO), an error message is displayed on the operation panel 128 (S605), and the process ends.
[0050]
Next, an update program corresponding to each command is sequentially read from the update program 502 in the update data stored in the RAM 230 (S610). Then, it is determined whether or not a command corresponding to the update program read earlier is registered in the command table 224 (S610). If the command size is not registered in the command table (S611-NO), the program size 512 is read, and it is checked whether there is free space in the command analysis program storage unit 225 (S621).
[0051]
If it is determined that there is no free space in the command analysis program storage unit 225 (S621-NO), an error message is displayed on the operation panel 128 (S605), and the process ends. If there is free space (S621-YES), the analysis program 520 corresponding to the command is additionally stored in the command analysis program storage unit (S622). Thereafter, the corresponding command name and version information of the previously added command analysis program and the program address of the command analysis program are added to the command table 224 (S630).
[0052]
On the other hand, if it is registered in the command table in S611 (S611-YES), then the already registered version 302 is compared with the version 511 of the update program, and it is determined that the version of the update program 520 is newer. If it has been (S612-YES), the command analysis program 310 stored from the program address 302 is updated to the update program 520 (S613). Further, the information of the corresponding version information 301 in the command table 224 is also updated (S630).
[0053]
By repeating the above processing until the processing is completed for all commands included in the data 500, the command analysis program is added or updated.
[0054]
The above-described processing enables the analysis program to be updated on a command-by-command basis, and can be easily restarted by restarting the command analysis program update program even if the update processing fails due to an accident during the update processing. Can be recovered.
[0055]
[Second embodiment]
Second Embodiment A printing system according to a second embodiment of the present invention will be described with reference to FIG.
[0056]
In the first embodiment, when the command analysis program is updated, the previously stored command analysis program is replaced with a new command analysis program.
[0057]
However, it is conceivable that the size of the new command analysis program is larger than the previously stored old command analysis program, and the new command analysis program cannot fit in the program area used by the old command analysis program. In the second embodiment, a configuration of the command analysis program storage unit 225 and a process of updating the command analysis program that can cope with the above situation will be described.
[0058]
FIG. 6 is a diagram showing the data structure of the remaining paper data of each paper cassette mounted on the printer 101 of FIG. 2, and FIG. 7 is a flowchart for explaining the operation of the CPU 210 in the printer 101.
[0059]
If the functions of the present invention are realized, the present invention is applicable to a single device, a system including a plurality of devices, and a system in which processing is performed via a network such as a LAN. It goes without saying that the invention can be applied.
[0060]
<Description of Configuration of Command Analysis Program Storage Unit 225 (FIG. 7)>
FIG. 7A is a diagram illustrating a configuration of a command analysis program storage unit 225 according to the second embodiment. As shown in the figure, the command analysis program storage unit 225 is configured in block units. One block includes a block data storage unit 710 and an address storage unit 711 that stores the start address of the next block, as shown at 700.
[0061]
One block takes a specific value, such as 512 bytes, depending on the hardware configuration of the memory device. When the command analysis program is stored in the memory having such a configuration, the command analysis program is stored in units of blocks. If the command analysis program cannot be stored in one block, the command analysis program is stored in another block. 711. Then, if the last block is recorded, a value indicating that there is no continuation of the block (for example, the last address of the memory device) is stored in the address storage unit 711 of the last block.
[0062]
When the command analysis program is read, the command analysis program is read from the first block where the command analysis program is stored. If there is a subsequent block, the command analysis program is read from the next block by referring to the address stored in the address storage unit 711. . In this way, the data of the last block is read. By adopting the storage and reading method as described above, even if the command analysis program is stored in an area where addresses are not continuous, it can be read as a continuous program.
[0063]
For example, in FIG. 7A, 701 to 705 indicate that command analysis programs are stored, respectively. Reference numeral 701 indicates that the command A analysis program is stored in five consecutive blocks, for example. Similarly, reference numeral 704 indicates that the command A analysis program is stored in four consecutive blocks. Thus, the command A analysis program is stored over nine blocks, and furthermore, they are stored in two non-contiguous memory areas.
[0064]
Further, FIG. 7B describes the actual configuration of 701 and 704 in detail. From this figure, it can be seen that the command A analysis program is stored in continuous areas at 701 and 704. The address storage of the last block of 701 points to the address of the first block of 704. The address storage of the last block of 704 stores the last address of the memory device. Is the last block storing a series of command A analysis programs.
[0065]
<Description of Command Analysis Program Update Processing (FIG. 8)>
FIG. 8 is a flowchart illustrating an operation of the CPU 210 incorporated in the printer 101 in the printing system according to the second embodiment when updating the command analysis program.
[0066]
First, a command analysis program update program is started by a user operation (S801). Although the main program of the printer 101 is started when the power of the printer 101 is turned on, the command analysis program updating program can be started by explicitly selecting the main program by a user's panel operation or the like.
[0067]
Next, it waits for the update data 500 including the new command analysis program to be sent from the host computer (S802). When the update data 500 is sent, the data input unit 202 receives the data and stores all the data in the RAM 230 (S803). Next, the corresponding model condition unit 501 is read from the update data 500 stored in the RAM 230, and it is determined whether the update data 500 is compatible with the printer 101 (S804). If it is determined that the update data 500 does not match the printer 101 (S804-NO), an error message is displayed on the operation panel 128 (S805), and the process ends.
[0068]
Next, an update program corresponding to each command is sequentially read from the update program 502 in the update data stored in the RAM 230 (S810). Then, it is determined whether or not the command corresponding to the update program read earlier is registered in the command table 224 (S810). If it is not registered in the command table (S811-NO), the program size 512 is read next.
[0069]
In the present embodiment, the program size 512 indicates the number of blocks 700 required to store the command analysis program. Next, it is checked whether the required number of empty blocks is present in the command analysis program storage unit 225 (S821). If it is determined that the required number of empty blocks does not exist in the command analysis program storage unit 225 (S821-NO), an error is displayed on the operation panel 128 (S805), and the process ends. If there is free space (S821-YES), the analysis program 520 corresponding to the command is additionally stored in the command analysis program storage unit (S822). Thereafter, the corresponding command name and version information of the previously added command analysis program and the program address of the command analysis program are added to the command table 224 (S830).
[0070]
On the other hand, if it is registered in the command table in S811 (S811-YES), then the already registered version 302 is compared with the version 511 of the update program, and it is determined that the version of the update program 520 is newer. If it has been (S812-YES), the command analysis program 310 stored from the program address 302 is updated to the update program 520 (S813). At this time, if the number of blocks 700 used for storing the update program 520 is larger than the number of blocks 700 used for storing the already registered command analysis program 310, an empty block 700 is found and stored as appropriate. I will do it. Here, if there are not enough free blocks 700, an error message is displayed (S805), and the process ends. Further, the information of the corresponding version information 301 in the command table 224 is also updated (S830).
[0071]
The above processing is repeated until the processing is completed for all the commands included in the data 500, so that the command analysis program is added or updated.
[0072]
The above-described processing enables the analysis program to be updated on a command-by-command basis, and can be easily restarted by restarting the command analysis program update program even if the update processing fails due to an accident during the update processing. Can be recovered.
[0073]
Further, even if the command analysis program is stored in an area where addresses are not continuous, it can be read out as a continuous program, and the size of the command analysis program newer than the old command analysis program already stored is reduced. Even if the new command analysis program cannot fit in the program area used by the old command analysis program, the shortage can be stored in the new free area.
[0074]
[Third embodiment]
A third embodiment of the printing system according to the present invention will be described with reference to FIGS.
[0075]
In the third embodiment, an operation in the case where there are a plurality of paper cassettes for storing paper A and paper B in the first embodiment will be described. The apparatus configuration and print data configuration are the same as in the first embodiment.
[0076]
FIG. 6 is a diagram showing the data structure of the remaining paper data of each paper cassette mounted on the printer 101 of FIG. 2, and FIG. 7 is a flowchart for explaining the operation of the CPU 210 in the printer 101.
[0077]
If the functions of the present invention are realized, the present invention is applicable to a single device, a system including a plurality of devices, and a system in which processing is performed via a network such as a LAN. It goes without saying that the invention can be applied.
[0078]
<Description of paper cassette information (FIG. 6)>
FIG. 6 shows an example of the data structure of the remaining paper amount information of each paper cassette mounted on the printer 101.
[0079]
The paper cassette information 600 has an area for storing information on the size of the stored paper and the amount of remaining paper detected by the remaining paper sensor 132 for each paper cassette. In the paper cassette information 600, 601 indicates that, for example, 50 sheets of A4 size paper are stored in the paper cassette 1, 602 indicates, for example, that 100 sheets of A4R size are stored in the paper cassette 2, and 603 Indicates that, for example, 100 sheets of A3 size are stored in the sheet cassette 3, and 604 indicates that 80 sheets of A4 size are stored in the sheet cassette 4, for example. The paper cassette information 600 is stored in the RAM 230 shown in FIG. 2 or an external memory.
[0080]
<Description of print data processing (FIG. 7)>
FIG. 7 is a flowchart illustrating the operation of the CPU 210 incorporated in the printer 101 in the printing system according to the third embodiment.
[0081]
The operation when print data is sent from the host computer 201 to the printer 101 in this printing system will be described. In this embodiment, the operation at the time of executing the rotation sort will be described.
[0082]
When print data is sent from the host, the data input unit 202 of the printer 101 receives the data, and stores the print job in the reception buffer 231 in the RAM 230 (S701).
[0083]
Next, information such as the number of copies and sort settings is read from the print information setting unit 300 and stored in the work memory in the memory 230 (S702). Here, it is determined whether or not the rotation sort is specified (S703), and if the rotation sort is not specified (S703-NO), the normal print processing is performed and the process ends (S710). If the rotation sort is specified (S703-YES), first, the job analysis unit 221 analyzes the print job unit 310 for each command, and reads the paper size setting from the setting / initialization unit 311 in the memory 230. It is stored in the work memory (S720). Here, similarly to the first embodiment, the sheet of the paper size set previously read is referred to as a sheet A, and the sheet A obtained by rotating the sheet A by 90 ° is referred to as a sheet B. Further, it is assumed that both the paper A and the paper B are stored in the paper cassette 130 and the printing result can be obtained by the printer 101.
[0084]
Next, it is checked whether sheets A and B are set in the sheet cassettes 130 mounted on the printer 101 (S721). If there is no paper (S721-NO), the fact is displayed on the operation panel 128, and the user is prompted to replenish the paper and waits until the paper is replenished (S722). If the sheets are set (S721-YES), the remaining amount of sheets in all the sheet cassettes mounted on the printer 101 is detected by the sheet remaining amount sensor, and the information of the remaining sheet information 600 is updated (S730). ).
[0085]
Next, the remaining amount of all sheets A and B stored in the printer 101 is calculated with reference to the remaining sheet amount 600 (S731). Next, the data analysis section 221 analyzes the data main body 312 to create drawing data to be drawn on printing paper, and sequentially stores the drawing data in the external memory 203 (S740, S750).
[0086]
Here, the remaining amount of paper A and the remaining amount of paper B calculated in S731 are compared (S732, S733).
[0087]
First, if the remaining amount of the paper A and the remaining amount of the paper B are the same (S732-YES), the time required for transporting the paper A and the paper B is compared (S734). The time required for paper transport usually greatly affects the printing time. Since the paper transport time is determined by the paper transport direction and the paper direction, the paper transport time is shorter when the short sides of the paper A and the paper B face in parallel to the paper transport direction. If the paper transport time of the paper A is shorter than the paper transport time of the paper B (S734-YES), the drawing data is created so that the first page is printed on the paper B and the remaining pages are printed on the paper A (S750). Conversely, if the paper transport time of the paper B is shorter than the paper transport time of the paper A (S734-NO), the drawing data is created so that the first page is printed on the paper A and the remaining pages are printed on the paper B (S740). ).
[0088]
On the other hand, if the remaining amount of the paper B is larger than the remaining amount of the paper A (S733-YES), the drawing data is created so that the first page is printed on the paper A and the remaining pages are printed on the paper B (S740). . In other cases, that is, when the remaining amount of the paper A is equal to or larger than the remaining amount of the paper B (S733-NO), the drawing data is printed so that the first page is printed on the paper B and the remaining pages are printed on the paper A. Is created (S750). At this time, if necessary, the print job is rotated by the job rotation unit 222 in accordance with the sheet.
[0089]
Next, the drawing data stored in the external memory 203 is repeatedly sent to the printer engine unit 208 by the designated number of copies, and the printer engine unit 208 obtains a printing paper print result 214 on printing paper corresponding to the drawing data (S735). . Next, an end process is performed according to the data of the end processing unit 413, and the process ends (S735).
[0090]
With the above processing, when a print job with rotation sorting specified is sent from the host computer, whether the first page is rotated or not is automatically switched according to the remaining amount of paper set in the paper cassette. If the same paper is set separately in multiple paper cassettes, the total remaining paper is calculated and it is automatically determined whether to rotate the first page according to the remaining paper. It is possible to switch between them.
[0091]
In the first to third embodiments, the job analyzing unit and the job rotating unit are configured in the printer, and the processing is performed by the CPU in the printer. However, these processes are connected by a host computer or a network. It may use a CPU of another computer or the like.
[0092]
Also, in the above embodiment, the designated paper and the paper rotated by 90 ° are compared with each other, and the processing is switched according to the remaining amount. However, the remaining paper is sufficient and the paper may run out. If it is determined that the number is small, the paper transport time may be compared, and the processing may be switched only based on the magnitude.
[0093]
【The invention's effect】
As is apparent from the above description, according to the present invention, when performing sorting printing in which only the first page or the last page of each job is rotated by 90 ° and output, the paper runs out during printing, and the printing process is temporarily stopped. Frequency can be suppressed.
[0094]
Further, when the remaining amount of paper required for the sorting printing is the same, it is possible to perform a printing process that minimizes the output time.
[Brief description of the drawings]
FIG. 1 is a cross-sectional view illustrating a configuration of a first output device to which the present invention can be applied.
FIG. 2 is a block diagram illustrating a configuration of a printer control system according to first and second embodiments of the present invention.
FIG. 3 is a diagram showing a detailed configuration of a program ROM.
FIG. 4 is a flowchart illustrating a print data processing operation of the printer according to the first embodiment of the present invention.
FIG. 5 is a diagram showing a configuration of command analysis program update data.
FIG. 6 is a flowchart illustrating a control program update operation of the printer according to the first embodiment of the present invention.
FIG. 7 is a diagram showing a structure of a command analysis program storage unit.
FIG. 8 is a flowchart illustrating a control program update operation of the printer according to the second embodiment of the present invention.
[Explanation of symbols]
101 LBP body
103 Control board storage
115 Output tray
128 Operation panel
130 Paper cassette
210 CPU
214 Print result
220 Program ROM
230 RAM
209 System bus
202 Data input section

Claims (7)

パーソナルコンピュータやワークステーション等のホストコンピュータと、それらから送られてきた印刷開始から印刷終了までの一連のデータ群を受信し、そのデータを解析して印刷用紙に印刷する印字情報を作成する印刷制御装置とで構成された印刷システムにおいて、
印刷コマンドを解析し、印刷用紙に描画する描画データを作成するコマンド解析プログラムと、各印刷コマンドに対応するコマンド解析プログラムのバージョン情報、プログラムアドレス等を記憶したテーブルと、を有することを特徴とする印刷システム。
A host computer such as a personal computer or a workstation, and a print control that receives a series of data sent from the host computer from the start of printing to the end of printing, analyzes the data, and creates print information to be printed on printing paper. In a printing system configured with a device,
A command analysis program for analyzing print commands and creating drawing data to be drawn on printing paper, and a table storing version information, program addresses, and the like of the command analysis program corresponding to each print command. Printing system.
システムに入力された印刷データに含まれる印刷コマンドに対し、上記テーブルを参照し、上記コマンド解析プログラムを実行することにより印刷用紙に描画する描画データを作成することを特徴とする請求項1記載の印刷システム。2. The drawing data to be drawn on printing paper by creating a drawing command on a printing paper by executing the command analysis program with reference to the table for a printing command included in the printing data input to the system. Printing system. 上記コマンド解析プログラムを更新する処理を行う更新手段を有し、上記更新手段により上記コマンド解析プログラムをコマンド単位で更新・追加処理ができることを特徴とする請求項1記載の印刷システム。2. The printing system according to claim 1, further comprising updating means for updating the command analysis program, wherein the updating means can update and add the command analysis program in command units. 上記更新手段は、上記テーブルを参照しコマンド解析プログラムのバージョンが上がっている場合にのみ更新処理を行うことを特徴とする請求項3記載の印刷システム。4. The printing system according to claim 3, wherein the updating unit refers to the table and performs the updating process only when the version of the command analysis program is up. 上記更新手段によりコマンド解析プログラムが更新された場合に、上記テーブルの対応するバージョン情報も更新することを特徴とする請求項4記載の印刷システム。5. The printing system according to claim 4, wherein when the command analysis program is updated by the updating unit, the corresponding version information of the table is also updated. 上記はコマンド解析プログラムを記憶しておく領域は、或る単位毎に区切られたブロック構造であり、各ブロックは、続くブロックの記憶された位置を示すアドレス情報部を持ち合わせていることを特徴とする請求項3記載の印刷システム。The above is characterized in that the area for storing the command analysis program has a block structure divided into certain units, and each block has an address information section indicating the stored position of the subsequent block. The printing system according to claim 3, wherein 上記アドレス情報部に特別な情報を記録することによって、上記ブロックに続くブロックがないことを表すことを特徴とする請求項6記載の印刷システム。7. The printing system according to claim 6, wherein special information is recorded in the address information section to indicate that there is no block following the block.
JP2002213668A 2002-07-23 2002-07-23 Printing system Pending JP2004050723A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002213668A JP2004050723A (en) 2002-07-23 2002-07-23 Printing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002213668A JP2004050723A (en) 2002-07-23 2002-07-23 Printing system

Publications (1)

Publication Number Publication Date
JP2004050723A true JP2004050723A (en) 2004-02-19

Family

ID=31936199

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002213668A Pending JP2004050723A (en) 2002-07-23 2002-07-23 Printing system

Country Status (1)

Country Link
JP (1) JP2004050723A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008232665A (en) * 2007-03-16 2008-10-02 Fujifilm Corp Pressure analysis system
JP2010023469A (en) * 2008-07-24 2010-02-04 Ricoh Co Ltd Image forming device, printing controlling program, and recording medium with program recorded thereon

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008232665A (en) * 2007-03-16 2008-10-02 Fujifilm Corp Pressure analysis system
JP2010023469A (en) * 2008-07-24 2010-02-04 Ricoh Co Ltd Image forming device, printing controlling program, and recording medium with program recorded thereon

Similar Documents

Publication Publication Date Title
JP4988980B2 (en) Printing apparatus, control method, and storage medium
US8422050B2 (en) Image forming apparatus with a plurality of modules receiving a common trigger signal
JP2005149317A (en) Information processing apparatus, jam recovery method, program, recording medium, and printing system
JP2004287877A (en) Firmware update system for optional device
JPH11296046A (en) Print control apparatus, print processing method of print control apparatus, and storage medium storing computer-readable program
JP2004050723A (en) Printing system
CN1776544A (en) Imaging device
JPH1063047A (en) Image forming apparatus, control apparatus therefor, and control method therefor
JP2004090457A (en) Calibration method and printing device
JP4497593B2 (en) Image forming apparatus
JP4124869B2 (en) Loading device
JP3523976B2 (en) Image forming device
JP3799087B2 (en) Image forming apparatus
JPH11175276A (en) Printing apparatus and control method thereof
JP2893538B2 (en) Printer
JP2004195872A (en) Image recording device
JP2004066787A (en) Image recording apparatus, control method of image recording apparatus, medium providing control program, and control program
JP3940131B2 (en) Auxiliary paper feeder and control method of auxiliary paper feeder
JP2007055024A (en) Printing device
JPH10123879A (en) Output device, data processing method of output device, and storage medium storing computer readable program
JP2004287121A (en) Method and device for identifying option device
JP3709694B2 (en) Printing apparatus and printing method
JP2000022882A (en) Image recording device
JP2004155049A (en) Image recording device
JP2000198616A (en) Image recording device