JPH1058794A - 異常印字制御データ検出方法 - Google Patents

異常印字制御データ検出方法

Info

Publication number
JPH1058794A
JPH1058794A JP8219951A JP21995196A JPH1058794A JP H1058794 A JPH1058794 A JP H1058794A JP 8219951 A JP8219951 A JP 8219951A JP 21995196 A JP21995196 A JP 21995196A JP H1058794 A JPH1058794 A JP H1058794A
Authority
JP
Japan
Prior art keywords
control data
print control
data
printing
print
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
JP8219951A
Other languages
English (en)
Inventor
Makoto Kurita
誠 栗田
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
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP8219951A priority Critical patent/JPH1058794A/ja
Publication of JPH1058794A publication Critical patent/JPH1058794A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

(57)【要約】 【課題】 異常な印字結果の原因究明が容易にできる。 【解決手段】 上位装置11から受信し、受信バッファ
部12に一時的に格納されている印字制御データは印字
制御データ解析部13で解析される。印字制御データ
が、定義されていない制御コードまたは文字コードと判
断された場合にのみ、その印字制御データを16進数に
変換し、その変換結果を印字イメージに展開し、機構制
御部16で印字する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、パーソナルコンピ
ュータなどの上位装置の端末装置として使用する場合に
好適なプリンターに関し、特に上位装置からの印字制御
データを解析して印字するプリンターに用いて好適な異
常印字制御データ検出方法に関する。
【0002】
【従来の技術】企業において入庫伝票等の発行は、ネッ
トワークで接続されたコンピュータやプリンターを使用
して行われている。これらの伝票の発行は、伝票に必要
な入力データをパーソナルコンピュータ等で入力処理
し、ネットワークを介してホストコンピュータに送られ
る。ホストコンピュータでは、送られた入力データを照
合し、出力データを作成する。作成された出力データは
ネットワークを介して出力データ処理用のパーソナルコ
ンピュータに送られる。出力データを受け取った出力デ
ータ処理用のパーソナルコンピュータは伝票出力用のプ
リンターに対する印字制御データに変換する。印字制御
データは、ネットワークもしくは出力データ処理用のパ
ーソナルコンピュータとネットワークを介さずに直接接
続された伝票出力用のプリンターに送られる。伝票出力
用のプリンターは印字制御データ内の制御コードやイメ
ージデータおよび文字コードを解析することによって出
力伝票に印字を行う。ここで制御コードとは、プリンタ
ーの紙送りや印刷する文字の装飾を指定するためにプリ
ンターにあらかじめ定義されているデータであり、イメ
ージデータとは、プリンターで印字するデータをドット
単位で表したものであり、文字コードとは、ASCII
コードやJISコードのように文字をコードごとに割り
当てたものである。
【0003】伝票の発行においては、データを入力して
から伝票出力用のプリンターに印字されるまでに複数の
コンピュータでの処理と、ネットワークを介したコンピ
ュータ同士のデータのやりとりが行われる。データの入
力誤りや各コンピュータおよびプリンターの異常処理お
よびネットワークでのデータのやりとり中に発生する障
害等により伝票が正常に印字されない場合がある。
【0004】このような問題を解決するための従来の方
法として、例えば特開平5−38975号公報に開示さ
れた技術がある。これは、プリンターが受信した印字制
御データを16進数に変換して印字する受信データ解析
モードを持ち、受信データ解析モードに設定している間
は、受信データを16進数に変換し、変換結果を印字す
ることにより、伝票発行用のプリンターが受信した印字
制御データを解析することができ、伝票が正常に印刷さ
れない原因を調査することができる。
【0005】
【発明が解決しようとする課題】しかし、上記した従来
の方法では、次のような問題がある。すなわち、伝票発
行用のプリンターを受信データ解析モードに設定してい
る間、受信データを16進数に変換し、変換結果を印字
する方法では、受信データ解析モード設定時は、16進
数に変換されたデータが印字されるために通常の印字結
果を確認することができない。そのため16進数に変換
された印字結果を解析しなければパーソナルコンピュー
タ等から送られてきた印字制御データが異常であるかの
確認ができなかった。
【0006】更に、正常に印字されない現象では、プリ
ンターに送られてくる印刷制御データが異常である場合
と、プリンターの内部処理が異常である場合が考えられ
る。このため、特に正常に印字されない現象の発生頻度
が低い場合、伝票発行用プリンターを受信データ解析モ
ードに設定して複数回印字を行い、16進数に変換され
たデータを採取する必要があった。また、解析した結果
が正常である場合でも、その印字結果が、異常な時のも
のであるかは確認できず、正常に印字されない原因が、
プリンターに送られてくる印字制御データにあるのか、
プリンターの内部処理にあるのかを判断することができ
ない場合があった。
【0007】加えて、ネットワーク上で複数のコンピュ
ータによって処理された印字データがプリンターに印字
制御データとして送られてくるような場合、各コンピュ
ータで処理する内容を変更して異常な印字が発生する頻
度を高くし、その状況下で連続印字を行い、異常な印字
が発生するであろう印字データをプリンターに送り、異
常な印字の原因が、プリンターに送られてくる印字制御
データによるものか、プリンターの内部処理によるもの
かを判定する必要があった。このような解析方法では、
実際の伝票発行業務等を中断して、解析を行う必要が
り、また、連続印字を行うため、印字するための用紙も
大量に必要になり、16進数に変換されたデータを解析
する時間も膨大な時間が必要となる。
【0008】このように、従来の方法は、正常に印字さ
れない現象を解析するためには、連続して印字を実施
し、印字したデータを一つずつ解析していく必要があ
り、実際の伝票発行の業務を中断する必要があり、利用
者にとって大変不便であり、解析する人間にとっても異
常な印字が発生する印字データを採取するまでには膨大
な時間が必要となり、対策を実施するまでに時間がかか
るという問題があった。
【0009】本発明の目的は、異常な印字結果の原因究
明が容易にできる異常印字制御データ検出方法を提供す
ることにある。
【0010】
【課題を解決するための手段】本発明では、印字制御デ
ータ解析部で印字制御データを解析し、正常なデータと
して判断された印字制御データについては、プリンター
が印字するための印刷イメージに展開し、異常なデータ
として判断された印刷制御データについては、16進数
に変換して、その変換結果を印字する。例えば、印字制
御データ解析部で印字制御データを解析する場合に、制
御コード、イメージデータ、文字コードであるかを判断
し、制御コードと判断した場合は、プリンターで処理可
能な制御コードであるか否かを判断し、処理可能な制御
コードであれば、その制御コードを解析し処理する。プ
リンターで処理不可能な制御コードとして判断された場
合には、この制御コードを16進数に変換し、変換した
結果を印字処理することを特徴としている。
【0011】また、文字コードについても、印字制御デ
ータ解析部で、定義されていない文字コードと判断され
た場合は、異常な印字制御データと判断し、16進数に
変換し、変換した結果を印字処理することを特徴として
いる。定義されている文字コードであれば、文字データ
格納部の内容を参照し、イメージバッファ部に印字イメ
ージを展開する。
【0012】このように、印字制御データを印字イメー
ジとして展開するために、印字制御データを印字制御デ
ータ解析部で解析する。この解析結果を基に、異常デー
タを判断し、16進数に変換して結果を印字させること
によって、印字制御データが正常と判断されている場合
には、正常な印字を続けることが可能であり、印字業務
に支障を来すことがない。
【0013】また、異常な印字の場合でも、印字結果の
一部分のみが16進数で印字されるので、異常な印字で
あることが容易に確認され、更に異常があった部分の印
字制御データが16進数で印字されるので、どのデータ
が異常データとしてプリンターが判断したかを容易に確
認することができる。
【0014】さらに、16進数に変換されて印字されて
いる部分がないにも係わらず、印字結果が異常である場
合は、プリンターの処理に異常があることが予想され
る。このように、印字結果により、異常な印字の原因が
印字制御データにあるのか、プリンターの処理にあるの
かを容易に判断することができる。
【0015】
【発明の実施の形態】以下、本発明の一実施例を図面を
用いて具体的に説明する。図1は、本発明の実施例の構
成を示す。図2は、本発明の処理フローチャートであ
る。図3は、図1のプリンター内の受信バッファ部の構
成を示す。
【0016】図1において、本発明のプリンターは、パ
ーソナルコンピュータ等の上位装置11からの印字制御
データを一時格納する受信バッファ部12と、該受信バ
ッファ部12に格納された印字制御データを制御コー
ド、イメージデータ、文字コードのどれであるかを判別
し、それぞれを処理する印字制御データ解析部13と、
文字コードに対応した文字データが格納されている文字
データ格納部14と、印字制御データ解析部13で処理
され、印字に使用する印字イメージを格納するためのイ
メージバッファ部15と、プリンターの用紙送り機構の
制御やイメージバッファ部15に格納された印字イメー
ジを印字するための機構制御部16と、利用者が操作す
るための操作パネル部17によって構成されている。本
実施例では、印字イメージとは、プリンターで印字する
ために文字コードのデータ等も全てドット単位のイメー
ジに変換されたものである。
【0017】パーソナルコンピュータ等の上位装置11
は、プリンターに対して印字に必要な印字制御データを
出力する。上位装置11からの印字制御データは、先ず
受信バッファ部12に格納される。ここで受信バッファ
部12は、後段の処理に係らず受信バッファ部12自身
の容量の限界まで印字制御データを格納し、受信バッフ
ァ部12がバッファフルになった場合は、上位装置11
からの印字制御データの格納を中断し、後段の印字制御
データ解析部13が受信バッファ部12に格納されてい
る印字制御データを処理し、消去可能となった印字制御
データを消去し、受信バッファ部12内に書き込み可能
な部分が出来るのを待つ。
【0018】受信バッファ部12には、消去する印字制
御データの位置用のポインターを有する。受信バッファ
部12は、書き込み可能な部分が出来次第、上位装置1
1からの印字制御データの受信を再開する。印字制御デ
ータ解析部13は、プリンターに内蔵されている制御プ
ログラムにより受信バッファ部12に格納されている印
字制御データを1バイトずつ読み込み、印字制御データ
の解析を行う。解析の結果から、印字するためのイメー
ジデータに展開する。印字制御データが制御コードであ
る場合は、制御コードの機能に応じて、受信バッファ部
12より印字制御データを読み込み、印字イメージに展
開し、イメージバッファ部15に送る。紙送り等の動作
が必要な場合にはその情報を機構制御部16に送る。
【0019】印字制御データを文字コードと判断した場
合は、文字データ格納部14を参照し、文字コードを印
字イメージとしてイメージバッファ部15に展開させ
る。また、印字制御データ解析部13では、操作パネル
部17へのユーザからの入力に従い、各種の制御を実施
する。文字データ格納部14は、文字コードで定義され
ている文字のドット単位のイメージが格納されており、
印字制御データ解析部13からの指示に従い、イメージ
バッファ部15に文字のドット単位のイメージを送る。
【0020】イメージバッファ部15は、印字制御デー
タ解析部13で解析した結果、展開された印字イメージ
を格納する。機構制御部16は、イメージバッファ部1
5に格納されている印字イメージおよび印字制御データ
解析部13からの紙送りなどの指示を基に実際の印字動
作を行う。操作パネル部17は、ユーザからの紙送りの
指示や受信データ解析モード等のプリンターの設定を入
力する。
【0021】次に、図2に示すフローチャートを参照し
ながら、図1に示す実施例の動作を説明する。まず、上
位装置11から印字制御データが受信バッファ部12に
送られる。受信バッファ部12では、上位装置11より
送られてきた印字制御データを順次、図3に示すように
格納していく。受信バッファ部12は、例えばFIFO
で構成され、図3の例では、ブロック31からブロック
35の5ブロックのデータが格納されている。また、各
ブロックは、印字される1頁または1行分のデータから
なる。
【0022】受信バッファ部12にはポインターがあ
り、ポインターは印字制御データ解析部13の指示に従
い制御され、受信バッファ部12内の印字制御データ消
去に使用される。受信バッファ部12に印字制御データ
の残りがなく、新規に上位装置11より印字制御データ
が送られてきた場合には、ポインターの値を初期化し、
ブロック31の先頭の1バイト目を示す(ステップ20
1)。
【0023】つまり、ポインターは、まずブロック31
の先頭の1バイト目を指示し、ブロック31の印字制御
データが正常に処理されると、ポインターはブロック3
2の先頭の1バイト目を指示すると共に、ブロック31
のデータが消去される。印字制御データが正常に処理さ
れると、以下、順にポインターはブロック33、34、
35の先頭の1バイト目を指示する。
【0024】印字制御データ解析部13は、受信バッフ
ァ部12からブロック31の先頭の1バイト分のデータ
を読み込む(ステップ202)。制御コードは、ASC
IIコード上のエスケープシーケンスと文字コードの組
合せによって定義されている場合が多い。エスケープシ
ーケンスとは、各種の機能を定義するためにあらかじめ
定義されているコードである。印字制御データが、制御
コードであるか文字コードであるかは、エスケープシー
ケンスであるか、文字データであるかによって判断でき
る。印字制御データ解析部13は、上記方法により、読
み込んだ印字制御データが制御コードであるか否かを判
断する(ステップ203)。
【0025】印字制御データが制御コードであると判断
された場合、受信バッファ部12から更に、ブロック3
1の次の1バイトを読み込む(ステップ204)。読み
込んだ1バイト分の印字制御データを基に、上位装置1
1から送られてきた印字制御データがどのような機能の
制御コードであるかを判断する。ここで読み込んだ印字
制御データがプリンターに有効な制御コードであるかを
判断する(ステップ205)。
【0026】正常なパラメータとして判断された場合
は、プリンター内部の制御プログラムで定義されている
制御コードのフォーマットに従い、受信バッファ部12
からブロック31の印字制御データを読み込み、処理を
実施する(ステップ206)。指定されたバイト分、受
信バッファ部12から印字制御データを読み込み、プリ
ンター内部の制御プログラムに従い、印字イメージをイ
メージバッファ部15に展開したり、機構制御部16に
情報を送る(ステップ207)。
【0027】受信バッファ部12からブロック31の印
字制御データを読み込んだ時点で、異常なパラメータが
含まれているか否かを判断する(ステップ208)。ブ
ロック31の印字制御データが全て正常で、印字制御デ
ータ解析部13で正常に処理された場合、処理された制
御コードおよびイメージバッファ部15の状態を基に、
印字を実行する必要があるか否かを判断する(ステップ
209)。印字を実行する必要がなければ、受信バッフ
ァ部12にまだ印字制御データが残っているかを確認す
る(ステップ210)。受信バッファ部12に印字制御
データが残っている場合は、受信バッファ部12から次
のブロック32の先頭の1バイト分の印字制御データを
読み込む(ステップ202)処理に戻る。
【0028】印字を実行する必要があると判断(ステッ
プ209)した場合、イメージバッファ部15の印字イ
メージに基づいて機構制御部16で印字を実行する(ス
テップ211)。印字が正常終了した場合、イメージバ
ッファ部15の印字イメージを初期化し、現在の受信バ
ッファ部12の読み込んだ最終位置の次の位置をポイン
ターに代入する(ステップ212)。これで、ポインタ
ーは次のブロック32の先頭の1バイトを指示すること
になる。
【0029】一方、ブロックの先頭の1バイト分の印字
制御データを判断(ステップ203)した場合、制御コ
ードでないと判断された場合、印字制御データが、プリ
ンターで定義されている文字コードであるか否かを判断
する(ステップ213)。印字制御データがプリンター
で定義されている文字コードと判断された場合は、ドッ
ト単位の印字イメージとして格納されている文字データ
を文字データ格納部14から読み出し、イメージバッフ
ァ部15に展開する(ステップ214)。印字イメージ
をイメージバッファ部15に展開した後、印字を実行す
るか否かの判断を行う(ステップ209)。
【0030】正常なパラメータでない(ステップ20
5,208)、またはプリンターで定義されていない文
字コード(ステップ213)と判断された場合は、受信
データ解析モードとなり、別の処理となる(ステップ2
15からステップ218)。印字制御データが異常であ
ると判断された場合には、今まで正常な印字制御データ
として処理したブロックを含め、まだ印字を実行してい
ない印字制御データを含めて処理を行う。これは、異常
な印字制御データの原因がそれ以前のブロックの印字制
御データにある可能性があるためである。印字制御デー
タが何らかの原因で1バイトもしくは数バイト分増減し
た場合等は、印字制御データが増減したブロックではな
く、次以降のブロックで異常が発生する可能性が多いた
めである。
【0031】印字制御データが異常であると判断された
場合、現在のポインターの位置から受信バッファ部12
のデータを再度読み込み直す。ポインターは常に印字を
実行していない印字制御データのブロックの先頭の1バ
イトを位置しており、ポインターの位置から、現時点で
受信バッファ部12から読み込んでいる位置まで印字制
御データを読み込む(ステップ215)。
【0032】例えば、ブロック31の3バイト目の印字
制御データが異常であると判断されたとき、ポインター
が指示している先頭のバイトから3バイト目までの印字
制御データが読み込まれる。
【0033】読み込まれた印字制御データは、すべてそ
のまま16進数に変換され、16進数に変換された値を
それぞれ文字データとした処理し、文字データ格納部1
4を参照し、印字イメージに展開する(ステップ21
6)。印字イメージに展開されたデータをイメージバッ
ファ部15に展開する(ステップ217)。印字してい
ない印字制御データを全て16進数に変換し、その結果
を印字イメージに展開したため、現在の受信バッファ部
12の読み取り位置の次の位置をポインターの位置に代
入する(ステップ218)。ポインターに代入後は印字
を実行するか否かの判断処理(ステップ209)に移
る。つまり、上記した例では、ポインターはブロック3
1の4バイト目を指示し、ブロック31内の4バイト目
以降の残りの印字制御データは、前述したステップ20
2以下のステップによって処理される。
【0034】なお、ブロック31内の4バイト目が再び
異常データであると判断された場合は、上記したように
16進で印字される。ブロック31の残りのデータが全
て異常である場合には、ステップ215からステップ2
18までの処理が繰り返される。また、上記説明した異
常データは一時的なものがほとんどであり、ブロック3
1の一部のデータが異常であっても、残りのデータが正
常である可能性が高いので、文字データの印字処理(ス
テップ214、211、212)によって、ポインター
の位置が更新される。そして、ブロック31の最後の印
字制御データが処理されて、ポインターは次のブロック
の先頭のバイト位置を指示することになる。
【0035】上記した処理を続け、受信バッファ部12
に印字制御データがないと判断(ステップ210)され
た場合、本処理を終了する。
【0036】このように、本実施例では、異常な印字制
御データであると判断した場合に、常に印字制御データ
を16進数に変換し、その結果を印字するようになって
いるが、本発明はこれに限定されず、例えば、操作パネ
ル部17への入力によって、実印字モード(異常なパラ
メータなどは無視して印字を実行する従来からのモー
ド)、常時受信データ解析モード(従来技術にある全て
の印字制御データを16進数に変換して、その結果を印
字するモード)および本発明のモードを設定可能とし
て、ユーザによってその何れかのモードを選択可能にし
ても良い。
【0037】また、上記した実施例では、プリンター制
御コードがASCIIコードのエスケープシーケンスを
使用した場合を例にしたが、これとは異なる印字制御デ
ータのデータストリームを定義しているプリンターにお
いても、プリンターの内部処理はあらかじめ制御コード
が定義されており、定義されていない制御コードは読み
捨てるなどの例外処理を実施するので、このようなプリ
ンターに対しても本発明を同様に適用するができる。
【0038】
【発明の効果】以上、説明したように、本発明によれ
ば、通常では異常なパラメータとして読み捨てる処理の
代わりに印字制御データを16進数に変換して、その結
果を印字処理しているので、異常な印字制御データとし
て判断された場合以外は、印字制御データに従い、通常
通りに印字される。従って、異常な印字制御データであ
ることが印字結果を確認するだけで容易に判断でき、ま
た、業務を中断することなく、異常な印字がある場合の
解析が可能となる。さらに、印字の結果の一部が異常な
印字制御データとして印字されている場合には、上位装
置から送られてきている印字制御データに異常があるこ
とが判断でき、異常な印字を行う障害の原因が上位装置
側にあるのかプリンター側にあるのかを容易に切り分け
ることができる。
【図面の簡単な説明】
【図1】本発明の実施例の構成を示す。
【図2】本発明の処理フローチャートである。
【図3】プリンター内の受信バッファ部の構成を示す。
【符号の説明】
11 上位装置 12 受信バッファ部 13 印字制御データ解析部 14 文字データ格納部 15 イメージバッファ部 16 機構制御部 17 操作パネル

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 上位装置から転送される、頁または行毎
    の印字制御データを受信して印字するプリンターにおい
    て、該頁または行毎の印字制御データを所定のデータ単
    位で解析して異常な印字制御データを検出する方法であ
    って、正常な印字制御データに従って印字を実行中に、
    印字制御データが異常なデータであることを検出したと
    き、前記頁または行の先頭位置から該検出された異常な
    データ単位までを、所定のコードに変換して印字するこ
    とを特徴とする異常印字制御データ検出方法。
JP8219951A 1996-08-21 1996-08-21 異常印字制御データ検出方法 Pending JPH1058794A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8219951A JPH1058794A (ja) 1996-08-21 1996-08-21 異常印字制御データ検出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8219951A JPH1058794A (ja) 1996-08-21 1996-08-21 異常印字制御データ検出方法

Publications (1)

Publication Number Publication Date
JPH1058794A true JPH1058794A (ja) 1998-03-03

Family

ID=16743603

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8219951A Pending JPH1058794A (ja) 1996-08-21 1996-08-21 異常印字制御データ検出方法

Country Status (1)

Country Link
JP (1) JPH1058794A (ja)

Similar Documents

Publication Publication Date Title
US6433884B1 (en) Apparatus for determining priority of print jobs in a printer system
JPH10333846A (ja) 出力制御方法及び装置
US5854940A (en) Output control system for interpreting input data according to a specific control language based upon outputs from a plurality of control language determining devices
US6476938B1 (en) Print control system and method
JP3711433B2 (ja) 印刷制御方法及びシステム、記録媒体
JPH06286229A (ja) 印刷装置
JPH1058794A (ja) 異常印字制御データ検出方法
JP3097558B2 (ja) 印刷制御方法及び印刷装置
JPS6145325A (ja) プリント装置
JPS63272145A (ja) ダンプ出力装置
KR100366657B1 (ko) 프린트 출력 이미지의 텍스트 파일 역변환 방법 및 그 장치
JP2737883B2 (ja) 出力制御装置
KR100296591B1 (ko) 오류가 발생한 데이터를 검출하여 출력을 제어하는 방법
KR20010019455A (ko) 프린터의 이력 관리방법
JPH06247010A (ja) プリンタのコマンド処理装置
KR100306752B1 (ko) 프린터에서의 인쇄에러 처리방법
JP3073921B2 (ja) 印刷制御装置および印刷制御装置のデータ処理方法
JP2785742B2 (ja) プリンタ装置
KR100193794B1 (ko) 화상 형성장치의 에물레이션 해석방법
JP3469388B2 (ja) 画像形成装置
JP2000168150A (ja) イメージデータ形成装置
JPH08282022A (ja) ドットマトリックス型プリンタ
JP2002248814A (ja) 画像形成装置および画像形成装置のデータ処理方法および記憶媒体
JPH11321036A (ja) 画像処理装置およびその制御方法
US8248643B2 (en) Image forming apparatus