JP4867020B2 - Method and program for controlling peripheral devices - Google Patents
Method and program for controlling peripheral devices Download PDFInfo
- Publication number
- JP4867020B2 JP4867020B2 JP2001197596A JP2001197596A JP4867020B2 JP 4867020 B2 JP4867020 B2 JP 4867020B2 JP 2001197596 A JP2001197596 A JP 2001197596A JP 2001197596 A JP2001197596 A JP 2001197596A JP 4867020 B2 JP4867020 B2 JP 4867020B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- drive
- actuator
- peripheral device
- pulse
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【0001】
【発明の属する技術分野】
本発明は、ホストに接続されて使用される周辺機器を制御する技術に関するものである。
【0002】
【従来の技術】
ホストに接続されて使用されるプリンタやスキャナなどの周辺機器においては、駆動パルスにより稼動するパルスモータなどの各種のアクチュエータと、駆動パルスを生成する駆動回路とが搭載されている。プリンタでは、印刷時にホストから伝送されたコマンドを解釈し、その結果に基づいて駆動回路により駆動パルスを生成するようになっている。
【0003】
【発明が解決しようとする課題】
ホストコンピュータにおいてデータ処理を行うために、データを入力したり、データ処理されたデータを出力したりするために、様々な周辺機器がホストコンピュータと接続され、ホストコンピュータの制御の下で動作する。周辺機器、特に、メカニカルな動きを伴う周辺機器は、そのメカニカルな動きを実現するアクチュエータを備えており、そのアクチュエータを駆動するためにパルス信号を生成している。たとえば、データを印刷用紙に出力するプリンタは、紙送りのためのパルスモータ(ステッピングモータ)、印刷ヘッドを走査方向に動かすパルスモータなどのアクチュエータを備えており、さらに、インクジェットタイプであればノズルからインク滴を吐出するためのサーマルタイプあるいはピエゾタイプのアクチュエータを備えている。
【0004】
このため、ホストコンピュータにインストールされたドライバプログラムから送信されるコマンドを周辺機器のコントロールボードに搭載されたCPUで解釈し、そのコマンドに指示された動作を実現するためのパルス信号を生成し、それによって各アクチュエータの駆動回路を制御してアクチュエータを駆動するための駆動パルスを生成している。
【0005】
プリンタから出力される画像が、マルチカラー化し、また、高解像度化するにつれて、さらに高速に、そして高精度でモータやインクジェット用のアクチュエータを動作させることが要求されている。また、1ページの印刷を高速で行うために印刷が不要なところへは印刷ヘッドを動かさないなどの複雑な制御が要求されるようになっており、アクチュエータを制御するコマンドも複雑になっている。さらに、単票用紙と連続用紙を同時に処理したり、チェックの読取機能なども備えたPOSプリンタや、プリンタとスキャナの機能を備えたスキャナプリンタなどのように、多用途で複雑な動作を行う周辺機器においては、アクチュエータも多く、制御はさらに複雑になる。また、ホストコンピュータであるパーソナルコンピュータの機能は日々向上しており、ホストコンピュータ上で稼動するアプリケーションプログラムは高機能化しており、周辺機器の仕様に対する要求も高くなりつつある。したがって、周辺機器の能力や機能を向上する必要があり、処理能力の高いCPUを搭載することが要求されている。
【0006】
しかしながら、周辺機器用の高性能なプロセッサを開発することは開発期間とコストが要求されることであり、さらに、そのプロセッサに適したファームウェアを開発するには時間とコストがかかる。また、パーソナルコンピュータのような汎用的な機器と比較すると、周辺機器は印刷などの所定の目的に特化した装置であり、販売台数もそれほど多くなく、また、その装置に適した制御システムを開発する必要性があるという条件もある。
【0007】
したがって、要求された仕様に適した周辺機器を短期間で開発しようとすると、膨大な労力と費用が必要となり、周辺機器の製造コストは非常に高いものになってしまう。このため、周辺機器の機能の進歩あるいは開発速度が、アプリケーションプログラムの開発速度に追いつかず、また、高機能な周辺機器が販売されたとしても、ユーザが簡単に買い替えるということも難しい。したがって、パーソナルコンピュータなどで稼動するアプリケーションの機能が、パーソナルコンピュータをホストマシンとして接続された周辺機器に制限される事態が発生する可能性がある。
【0008】
そこで、本発明においては、ホストコンピュータやアプリケーションプログラムの進歩に追従し、機能の向上を安価に実現することができる周辺機器およびその制御方法を提供することを目的としている。また、アプリケーションプログラムから要求される様々な仕様にフレキシブルに対応することができる周辺機器およびその制御方法を提供することを目的としている。
【0009】
【課題を解決するための手段】
本発明の一態様は、駆動パルスにより稼動するアクチュエータを有する周辺機器をホストコンピュータ側から制御するプログラムである。周辺機器は複数のアクチュエータを有し、複数のアクチュエータの各々のアクチュエータは固有のアドレスを備えている。さらに、当該プログラムは、駆動パルスに対応する駆動データを生成する処理と、駆動データを周辺機器宛てに発信する処理とを実行する命令を有する。生成する処理は、各々のアクチュエータに対する駆動データを生成することと、駆動データと共に各々のアクチュエータで各々のアクチュエータの駆動データを実行するタイミングを示すタイミングデータを生成することとを含み、駆動データは駆動パルスと1対1に対応し、タイミングデータに基づき即座に駆動パルスに変換されるビットデータを含む。また、発信する処理は、駆動データとタイミングデータとの組み合わせを、前の処理が実行された情報を待たずに、各々のアクチュエータのアドレス宛てに発信することを含む。本発明の他の態様の1つは、周辺機器に搭載されたアクチュエータを駆動する駆動パルスに対応する駆動データを生成する手段と、駆動データを前記周辺機器宛てに発信する手段とを有する情報処理端末である。生成する手段は、各々のアクチュエータに対する駆動データと、駆動データと共に各々のアクチュエータで各々のアクチュエータの駆動データを実行するタイミングを示すタイミングデータとを生成し、駆動データは駆動パルスと1対1に対応し、タイミングデータに基づき即座に駆動パルスに変換されるビットデータを含む。また、発信する手段は、駆動データとタイミングデータとの組み合わせを、前の処理が実行された情報を待たずに、各々のアクチュエータのアドレス宛てに発信することを含む。本発明のさらに異なる態様の1つは、周辺機器に搭載されたアクチュエータを駆動する駆動パルスに対応する駆動データを生成するステップと、その駆動データを周辺機器宛に発信するステップとを有する周辺機器を制御する方法である。生成するステップは、各々のアクチュエータに対する駆動データを生成することと、駆動データと共に各々のアクチュエータで各々のアクチュエータの駆動データを実行するタイミングを示すタイミングデータを生成することとを含み、駆動データは駆動パルスと1対1に対応し、タイミングデータに基づき即座に駆動パルスに変換されるビットデータを含み、発信するステップは、駆動データとタイミングデータとの組み合わせを、前の処理が実行された情報を待たずに、各々のアクチュエータのアドレス宛てに発信することを含む。
【0010】
本発明のプログラムにより生成される駆動データは、駆動パルスと1対1に対応するビットデータである。そして、本発明の周辺機器を制御する方法では、駆動パルスを発生させるところまでの処理を全てホスト側で行い、周辺機器はホスト側から供給される駆動パルスあるいはそれと対応した駆動データにより駆動される。したがって、周辺機器に対しては、コマンドなどの周辺機器側での解釈が必要なデータではなく、実質的には、そのままアクチュエータに供給可能なデータが供給される。このため、周辺機器の側では、アクチュエータの駆動回路により駆動データを駆動パルスに変換してアクチュエータに供給するだけで、それらのアクチュエータを、ホスト側で稼動するアプリケーションプログラムからの指示に従って動かすことができる。
【0011】
したがって、本発明のプログラム、または周辺機器を制御する方法を採用することにより、周辺機器の側では、コマンドを解釈するためのCPUやファームウェアは不要となり、極めて簡単な構成で、どのような動きであってもホスト側の指示にしたがってアクチュエータを制御できる。すなわち、アクチュエータに複雑な動作をさせるために高速で処理能力の高いCPUを採用し、コマンドの数を増やしたり、その体系を拡張する代わりに、アクチュエータの駆動パルスに対応する駆動データを受信することにより、ホスト側とのインターフェイスを単純にすると共に、コマンド体系や周辺機器に搭載されるCPUなどのプロセッサに周辺機器の機能が限定されるのを防止している。したがって、本発明の周辺機器を制御する方法により、周辺機器のアクチュエータが動作あるいは追従可能な範囲内であれば、いかなる動きもホスト側からの指示により実現することができる。このため、周辺機器のハードウェアや制御システムを変えなくても、ホスト側から供給される駆動データに、アプリケーションプログラムの仕様が反映されていれば、アプリケーションプログラムが意図するように周辺機器を制御することができる。
【0012】
さらに、本発明のプログラム、または周辺機器を制御する方法においては、従来、周辺機器の制御用のCPUあるいはASICなどが行っていたコマンドを解釈して、各アクチュエータ毎のパルス信号を生成する処理を、ホストとなるパーソナルコンピュータなどの情報処理端末で実行する。したがって、周辺機器の制御用のCPUあるいはASICなどのプロセッサが行っていた処理を、パーソナルコンピュータのCPUにより実行することができる。パーソナルコンピュータに採用されるCPUは、近年、その性能が飛躍的に増大しており、数100MHzあるいはそれ以上の処理速度を備えている。そして、さらにその性能は向上しつつある。このため、本発明のプログラム、または周辺機器であれば、周辺機器のアクチュエータを制御するためにコマンドを解釈する処理を、性能が飛躍的に進歩しているホスト側のCPUの能力を用いて行うことが可能となる。したがって、複雑で、高速な処理を周辺機器で実行するために、周辺機器用の高価なプロセッサやファームウェアを開発する必要がなくなる。このため、アプリケーションプログラムの仕様を満たす性能の周辺機器を、ハードウェアは変えずに、必要であればホスト側で動作するプログラムを変更することにより短期間に低コストで実現することができる。
【0013】
また、コマンドを周辺機器に送信する代わりに、アクチュエータを実質的に直に駆動することができる駆動データを送信することにより、ホストと周辺機器との通信量は増大する可能性がある。しかしながら、USBあるいはIEEE1394などの大量のデータを高速で伝送できる低コストなデバイスが普及しており、アクチュエータの動作速度に対して駆動データの伝送速度が大幅に下回ることはなく、駆動データを伝送することにより周辺機器の処理速度が低下することはほとんどない。逆に、周辺機器側でコマンドを解釈する必要がないので、その処理時間を短縮することにより、処理速度を向上できる。
【0014】
さらに、ホスト側にインストールされるドライバソフトウェアから周辺機器に制御データを送るために所定のフォーマットにしたがったコマンド体系が開発されてきたが、本発明のプログラム、または周辺装置を制御する方法であれば、コマンドに変換する必要がなく、アプリケーションからの指示を最終的には駆動パルスのデータ形式で出力させれば良い。したがって、アプリケーションからの指示をコマンドに変換し、コマンドを駆動信号に変換するといった2重の手間を省略することも可能となり、ホスト側での処理も含めていっそう高速処理が可能な周辺機器を提供できる。
【0015】
用紙に印刷する手段を有する印刷装置などの周辺機器の多くは、印刷する手段のパルスモータ、用紙にドットを形成する手段などの複数のアクチュエータを備えている。このような周辺機器に対しても、各々のアクチュエータ宛てに駆動データを発信することにより、ホスト側の情報処理端末から各アクチュエータを個別に制御することが可能であり、複数のアクチュエータを協調して動作させることができる。
【0016】
これら複数のアクチュエータと情報処理端末とを接続する伝送経路、たとえば、USBなどの伝送速度がアクチュエータを協調して制御するタイミングに対しネックとなる場合であっても、さらに、各々のアクチュエータで駆動データを実行するタイミングを示すタイミングデータを駆動データと組み合わせて発信することで、伝送経路の速度に左右されずに、複数のアクチュエータを同期させて高速で動かすことができる。
【0017】
【発明の実施の形態】
以下に図面を参照して本発明をさらに詳しく説明する。図1に本発明の周辺機器を制御する方法を実現するためのシステムの一例を示してある。本例のシステム1は、画像データや文章データを処理するアプリケーション11がインストールされている情報処理端末としてのパーソナルコンピュータ(以下では、ホスト、ホストコンピュータ)2と、このホスト2の周辺機器として動作し、印刷用紙4に画像や文章などを印刷するプリンタ3とを有している。ホスト2とプリンタ3は、USBケーブル、SCSIケーブル、IEEE1394ケーブルなどの適当なインターフェイス13および21を備えており、これらのインターフェイス13および21の規格にマッチしたケーブル5により接続されている。
【0018】
そして、ホスト2からプリンタ3へは、送信先のアドレスを含むヘッダー情報Hと、プリンタ3のアクチュエータであるモータやヘッドを動かすデータADと、そのデータADが利用されるタイミングを示すデータTDを含むデータパケット59が送信される。
【0019】
本例のプリンタ3は、印刷用紙4にインク滴を吐出してドットを形成するインクジェットプリンタであり、アクチュエータとして、インク滴を吐出する複数のノズル29を備えた印刷ヘッド22と、この印刷ヘッド22をシャフト27に沿って紙幅方向(走査方向)に往復動するためのパルスモータ23と、走査方向と垂直な紙送り方向に印刷用紙4をフィードするためにローラ28を駆動するパルスモータ24を有している。さらに、プリンタ3は、パルスモータ23および24を稼動する駆動パルスP1〜P4を出力する駆動回路25および26を有している。本例では、パルスモータ23および24として、4極のステッピングモータが採用されている。
【0020】
各駆動回路25および26には異なるアドレスが付されており、本例においては、駆動回路25にはアドレス「Acr」が付され、駆動回路26にはアドレス「Apf」が付されているものとする。そして、インターフェイス21で受信したデータを送信先のアドレスで振り分ける中継部32を備えており、ホスト2からアドレスを付して送信されたデータがプリンタ3の内部で駆動回路25と駆動回路26に分配される。
【0021】
本例のプリンタ3は、さらに、印刷ヘッド22のノズル29からインク滴を吐出する制御を行うインク吐出用の回路31も備えており、この回路31にも異なるアドレス「Actl」が付されている。
【0022】
図2に各駆動回路25および26の概略構成を示してある。各駆動回路25および26は、同一の構成であり、ホスト2からの各々の駆動回路25および26のアドレス宛てに送られたアクチュエータを駆動するデータADを4ビット単位で保持するレジスタ25aおよび26aと、レジスタ25aおよび26aの4ビットのデータを4つの駆動パルスP1〜P4に変換してパルスモータ23および24に供給する機能を備えたモータドライバ25bおよび26bを備えている。したがって、駆動回路25および26では、レジスタ25aおよび26aにセットされた4ビットのデータADに対応し、パルスモータ23および24の極数に対応した駆動パルスP1〜P4が出力される。すなわち、本例のアクチュエータを駆動するためのデータADに含まれる各々のビットデータ55は、駆動パルスに1対1に対応している。これにより、モータドライバ25bおよび26bから各々のパルスモータ23および24に駆動パルスP1〜P4が出力される。たとえば、駆動回路25のレジスタ25aに「0010」というシリアルデータADがホスト2から送られてくると、レジスタ25aでは、「0010」がパラレル変換されてセットされ、低レベルの駆動パルスP1、低レベルの駆動パルスP2、高レベルの駆動パルスP3および低レベルの駆動パルスP4がモータドライバ25bからモータ23に出力される。
【0023】
したがって、図3(a)および(b)に示したように、ホスト2からアクチュエータを駆動するデータAD1〜AD6が順番に送られると、それぞれのデータAD1〜AD6に対応して時刻t1に駆動パルスP1が高レベル、時刻t2に駆動パルスP2が高レベル、時刻t3に駆動パルスP3が高レベル、時刻t4に駆動パルスP4、時刻t5に駆動パルスP1が高レベル、時刻t6に駆動パルスP2が高レベルとなる。このため、これらの駆動パルスP1〜P4が供給されたモータ23は1相励磁のモードで回転する。その結果、所望のタイミングで所望の量だけヘッドや印刷用紙を送り、その位置でヘッドからインク滴を出力すると、希望通りの画像を出力できる。
【0024】
このようなデータADをプリンタ3に送信することになるホスト2は、図1に示すように、オペレーティングシステム(OS)12と、画像データ14や文章データを処理するアプリケーション11と、このアプリケーション11から指定された画像や文字などを印刷するプリンタドライバ35を有している。プリンタドライバ35は、各パルスモータ23および24の駆動パルスP1〜P4に対応するビットデータ(駆動データ)55を含むデータADと駆動パルスP1〜P4を出力するタイミングを示すデータ(タイミングデータ)TDを生成し、また、印刷ヘッド22で印刷するビットマップに対応したヘッド出力データφ1を生成する。これらのプリンタドライバ35により生成されたデータは、OS12により管理されるインターフェイス13からプリンタ3の各々のアクチュエータ、すなわち、パルスモータ23、パルスモータ24および印刷ヘッド22のアドレスを付して出力される。本例では、それらのアドレスとして、駆動回路25、駆動回路26およびインク吐出用の回路31のアドレスが付される。
【0025】
本例のプリンタドライバ35は、アプリケーション11で出力するように指示された画像などをプリンタ3で印刷するために、その画像データをヘッド出力データφ1とコマンドに変換する機能36と、このヘッド出力データφ1およびコマンドのうち、プリンタ3のパルスモータ23および24を稼動するコマンドを駆動パルスP1〜P4に対応したビットデータ55として生成する生成機能37と、駆動データ55やヘッド出力データφ1をレジスタ25aおよび26aや回路31のアドレスを付加すると共に、インターフェイス13に送って発信可能とする機能38を備えている。
【0026】
本例の生成機能37は、変換する機能36から入力されたデータから、駆動データ55に変換すべきパルスモータ23とパルスモータ24に関連するデータを生成するコマンドを抽出する機能41と、そのコマンドをデコード(解釈)してパルスモータ23の駆動パルスP1〜P4に1対1に対応した駆動データ(ビットデータ)55を生成する第1の機能42と、パルスモータ24の駆動パルスP1〜P4に1対1に対応したビットデータ55を生成する第2の機能43を備えている。したがって、これら第1および第2の機能42および43により、従来、プリンタ側で駆動パルスを生成していたモータ制御回路と同等の機能がソフトウェアによって実現されていることになる。
【0027】
本例の生成機能37は、さらに、プリンタ3における駆動回路25および26がビットデータ55にしたがった駆動パルスP1〜P4をモータドライバ25bおよび26bからモータ23および24に出力するタイミングを示すタイミングデータTDを生成するタイミング解析機能44を備えている。この機能44で生成されたタイミングデータTDにより駆動回路25と駆動回路26を独立に制御することができる。
【0028】
ホスト2からプリンタ3にアクチュエータを駆動するデータADを送って制御する場合、プリンタ3からデータADを実行した情報をホスト2、すなわち、プリンタドライバ35が受信して、次のデータADを送ってモータ23、モータ24およびヘッド22を適切なタイミングで制御することが可能である。しかしながら、ホスト2がプリンタ3からその情報を受信する速度がアクチュエータが動作する速度に対してクリティカルパスとなると、プリンタ3の処理速度が低下する要因となる。これに対し、タイミングデータTDを付加してデータADを送ることにより、駆動回路25、駆動回路26および印刷ヘッド22ではそれぞれのデータADのタイミングデータTDにしたがって第1のデータADの処理を行うことが可能となる。したがって、駆動回路25、駆動回路26および印刷ヘッド22をタイミングデータTDにしたがって単独で動作させるだけで、タイミングデータTDに基づいて相互に協調した制御を行うことができる。そして、プリンタドライバ35と交信する必要がないので、ホスト2とプリンタ3との交信速度によりプリンタ3の処理速度が低下することもない。
【0029】
図4にプリンタドライバ35により行われる処理をフローチャートで示してある。まず、ステップ61において、アプリケーション11から指示された画像や文字を印刷するため、変換する機能36で変換および出力されたデータがパルスモータ23および24を制御するコマンドであれば、ステップ62で第1の機能42および第2の機能43により解釈されて駆動パルスP1〜P4に相当するデータが生成される。生成された駆動パルスPに相当するデータは、ステップ63でビットデータの状態で駆動データ55として出力される。この駆動データ55を生成するのに前後して、ステップ64でタイミングデータTDが生成される。ステップ65において、このタイミングデータTDと1群のビットデータ55からなるデータADとが組み合わされ、さらに、駆動されるアクチュエータ、すなわち、モータ23および24を駆動する回路25および26のアドレスと共にインターフェイス13からプリンタ3に出力される。一方、印刷ヘッド22からインク滴を吐出させるためのヘッド出力データφ1もアドレスが付されたデータとして出力される。
【0030】
プリンタドライバ35によってホスト2で実行される処理は、上記の各ステップを実行する命令を有するプログラムとして提供することができる。このプログラムはホスト2となるコンピュータで読み取り可能なCD−ROMなどの記録媒体に記録して提供したり、インターネットなどのコンピュータネットワークを介して配信することが可能である。そして、ホスト2にインストールすることにより上記の従来のプリンタ側の機能をホスト2に実現することができる。
【0031】
ホスト2から発信されたビットデータ55からなるデータADを含むデータパケット59は、プリンタ3で取得されると、ヘッダーHのアドレスにしたがって駆動回路25または26に分配される。
【0032】
このように、本例のホスト2とプリンタ3とからなるシステム1では、パルスモータ23および24の駆動パルスP1〜P4に対応するビットデータ55を生成してプリンタ3に発信している。すなわち、従来、プリンタで行われていた、コマンドを解釈してパルスモータ23および24の駆動パルスP1〜P4を生成する処理をホスト2で駆動するプリンタドライバ35で行っている。このため、プリンタ3の側でアクチュエータ、本例では、パルスモータ23および24のコマンドを解釈する必要がなく、実質的に、ホスト2から送信されたビットデータ55からなるデータADをパルスモータ23および24に供給することによりそれらのパルスモータ23および24を動かすことができる。このため、プリンタ3においては、ホスト2からのコマンドを解釈して各々のパルスモータの駆動パルスP1〜P4を生成するハードウェアやファームウェアは不要となり、非常にシンプルな構成になる。
【0033】
また、ホスト2のプリンタドライバ35により、各パルスモータ23および24をステップ、あるいはクロック単位で、そして、駆動パルスP1〜P4に対応した極めて普遍的なデータで各パルスモータ23および24を制御できる。したがって、各パルスモータ23および24で複雑な動きを実現するためにプリンタ側で処理能力の高いCPUを採用したり、プリンタドライバから供給されるコマンドの数を増やしたり、コマンド体系を拡張することなく、ホスト2からパルスモータ23および24を高速にクロック単位で、そしてフレキシブルに制御することができる。このことは、さらに、プリンタ3の機能がそのコントロールボードに搭載されているコマンド体系やCPUなどのプロセッサの能力に限定されずに、各パルスモータ23および24が動作可能なことを意味する。すなわち、ホスト側で動作するソフトウェアにより、どのようにでも制御することが可能であり、適当なドライバソフトウェアを開発するだけで、プリンタそのものを変更せずにアプリケーションの仕様を満足するような処理をプリンタで行うことができる。
【0034】
さらに、そのようなプリンタを制御する処理のほぼ全てが、性能の向上が著しいホスト側のCPUの能力を用いて行うことができる。したがって、高価なプロセッサやファームウェアを開発しなくても、ホスト側の能力の向上に伴いプリンタの処理能力を向上できるというメリットもある。したがって、ホストやアプリケーションの進歩に追従して、プリンタの機能の向上を図ることが可能であり、プリンタを買い替えたりする必要性も減る。
【0035】
また、プリンタ側で解釈する処理が必要となるコマンドの代わりに、各パルスモータ23および24を直に駆動できる駆動パルスP1〜P4に対応したビットデータ55をプリンタ3に送信することにより、プリンタ側で駆動パルスを生成するためにコマンドを解釈する処理を行わなくても良くなる。したがって、その処理にかかる時間をなくすことができ、プリンタの処理速度を高めることができる。一方、コマンドの代わりにビットデータ55を送ることにより、ホスト2とプリンタ3との通信量が増大する可能性があるが、USBあるいはIEEE1394などの大量のデータを高速で伝送できる低コストで汎用的なインターフェイスデバイスが普及しており、それを有効に利用することにより伝送速度の確保も容易である。また、ビットデータ55の伝送速度がアクチュエータ同士を協調して制御するためにネックとなるのであれば、上記のように、データADにタイミングデータTDを組み合わせてプリンタ3に発信することも可能であり、伝送速度の低いシステムに対しても本発明は十分に有効である。
【0036】
なお、上記のプリンタドライバ35では、アプリケーションの画像や文章のデータを一旦印刷ヘッド22で出力するデータとコマンドに変換するようにして従来のプリンタドライバ35の資源を利用できるようにしている。これに対し、コマンドを経ずに画像や文字のデータを解釈して直に駆動パルスに相当するデータ、あるいは、駆動データであるビットデータを出力することも可能であり、このようにすると、コマンドに変換し、コマンドを駆動パルスに変換するといった処理を省くことができるので、ホスト側での処理を含めていっそう印刷出力する処理を高速にできるプリンタを提供できる。
【0037】
また、パルスモータ23および24の駆動パルスに対応した駆動データを生成する例を説明したが、ノズルからインク滴を吐出するためのアクチュエータに供給される駆動パルスに対応した駆動データもプリンタドライバ35で生成してプリンタに送信することも可能であり、プリンタとしてはCPUなどのプロセッサや駆動パルスを生成するファームウェアが不要な極限までシンプルに纏められたプリンタを実現できる。
【0038】
さらに、上記では、パルスモータ(ステッピングモータ)を備えたプリンタを例に本発明を説明したが、パルスモータに限らず駆動パルスにより稼動するアクチュエータを備えた周辺機器に対して本発明を適用できる。また、駆動パルスに1対1に対応したビットデータを出力する代わりに、駆動パルスの高低のレベルを変えるタイミングで駆動データを出力したり、駆動データを圧縮して送ることも可能であるが、上記の例のように、駆動パルスと1対1に対応したビットデータを送信することにより最も簡易な構成で、ホスト側から周辺機器をフレキシブルに動かすことができるシステムを提供できる。
【0039】
このような本発明は、プリンタに限らず、スキャナやCD−ROMやDVDのドライブ装置などの駆動パルスによって駆動するアクチュエータを備えた周辺機器に適用することが可能である。
【0040】
【発明の効果】
以上に説明したように、本発明においては、ホストコンピュータ側で周辺機器のアクチュエータの駆動パルスに対応した駆動データを生成して周辺機器宛てに発信できるようにしている。したがって、周辺機器側でコマンドを解釈して駆動パルスを生成するハードウェアやファームウェアは不要であり、周辺機器をさらに簡単な構成にでき、それと共にホスト側から周辺機器を自由に制御することができる。そして、本発明では、ホストコンピュータの進歩に追従し、機能の向上を図ることができる周辺機器を提供できる。
【図面の簡単な説明】
【図1】本発明に係るプリンタおよびホストの概略構成を示す図である。
【図2】本例のプリンタにおける各パルスモータの駆動回路の概略構成を示す図である。
【図3】本例のプリンタにおける駆動回路から出力される駆動パルスと、本例のホストからプリンタに送られる駆動データとの関係を説明するための図である。
【図4】本例のホストで稼動するプリンタドライバにおける概略の処理を示すフローチャートである。
【符号の説明】
1 システム
2 ホスト(情報処理端末)
3 プリンタ
23、24 パルスモータ
25、26 駆動回路
25a、26a レジスタ
25b、26b モータドライバ
35 プリンタドライバ
37 生成機能
42 第1の機能
43 第2の機能
44 タイミング解析機能
55 ビットデータ(駆動データ)[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a technique for controlling peripheral devices used by being connected to a host.
[0002]
[Prior art]
2. Description of the Related Art Peripheral devices such as printers and scanners that are used by being connected to a host are equipped with various actuators such as a pulse motor that operates by drive pulses and a drive circuit that generates drive pulses. The printer interprets a command transmitted from the host at the time of printing, and generates a driving pulse by a driving circuit based on the result.
[0003]
[Problems to be solved by the invention]
In order to perform data processing in the host computer, various peripheral devices are connected to the host computer and operate under the control of the host computer in order to input data or output data processed data. Peripheral devices, particularly peripheral devices with mechanical movement, include an actuator that realizes the mechanical movement, and generate a pulse signal to drive the actuator. For example, a printer that outputs data to printing paper includes actuators such as a pulse motor (stepping motor) for feeding paper and a pulse motor that moves the print head in the scanning direction. A thermal type or piezo type actuator for ejecting ink droplets is provided.
[0004]
For this reason, the command transmitted from the driver program installed in the host computer is interpreted by the CPU mounted on the control board of the peripheral device, and the pulse signal for realizing the operation instructed by the command is generated. By controlling the drive circuit of each actuator, a drive pulse for driving the actuator is generated.
[0005]
As an image output from a printer becomes multi-colored and has a higher resolution, it is required to operate a motor and an actuator for inkjet with higher speed and higher accuracy. In addition, in order to print one page at a high speed, complicated control such as not moving the print head is required where printing is unnecessary, and commands for controlling the actuator are also complicated. . In addition, peripherals that perform versatile and complex operations, such as POS printers that process single-cut sheets and continuous sheets at the same time, and also have a check reading function, and scanner printers that have printer and scanner functions. In equipment, there are many actuators, and the control becomes more complicated. In addition, the functions of a personal computer, which is a host computer, are improving day by day, application programs that run on the host computer have become highly functional, and demands for specifications of peripheral devices are increasing. Therefore, it is necessary to improve the capability and function of the peripheral device, and it is required to mount a CPU with high processing capability.
[0006]
However, developing a high-performance processor for a peripheral device requires development time and cost, and further, it takes time and cost to develop firmware suitable for the processor. Compared with general-purpose devices such as personal computers, peripheral devices are specialized devices for printing and other specific purposes, and the number of units sold is not so large, and a control system suitable for these devices has been developed. There is also a condition that there is a need to do.
[0007]
Therefore, if a peripheral device suitable for the required specifications is to be developed in a short period of time, enormous labor and cost are required, and the manufacturing cost of the peripheral device becomes very high. For this reason, the progress or development speed of the function of the peripheral device cannot catch up with the development speed of the application program, and even if a high-performance peripheral device is sold, it is difficult for the user to easily replace it. Therefore, there is a possibility that the function of an application running on a personal computer or the like is limited to peripheral devices connected with the personal computer as a host machine.
[0008]
Therefore, an object of the present invention is to provide a peripheral device and a control method therefor that can follow the progress of a host computer or an application program and can improve the function at low cost. Another object of the present invention is to provide a peripheral device that can flexibly cope with various specifications required by an application program and a control method therefor.
[0009]
[Means for Solving the Problems]
One embodiment of the present invention is a program for controlling a peripheral device having an actuator operated by a drive pulse from the host computer side. The peripheral device has a plurality of actuators, and each actuator of the plurality of actuators has a unique address. Further, the program has a command for executing a process of generating drive data corresponding to the drive pulse and a process of transmitting the drive data to the peripheral device. The process of generating includes generating drive data for each actuator and generating timing data indicating timing for executing the drive data of each actuator in each actuator together with the drive data. It includes bit data that corresponds one-to-one with the pulse and is immediately converted into a drive pulse based on the timing data. The process of transmitting includes transmitting the combination of the drive data and the timing data to the address of each actuator without waiting for the information on which the previous process has been executed. Another aspect of the present invention is an information processing method including means for generating drive data corresponding to a drive pulse for driving an actuator mounted on a peripheral device, and means for transmitting the drive data to the peripheral device. It is a terminal. The generating means generates drive data for each actuator and timing data indicating the timing for executing the drive data of each actuator by each actuator together with the drive data, and the drive data corresponds to the drive pulse on a one-to-one basis. And bit data that is immediately converted into drive pulses based on the timing data. The means for transmitting includes transmitting the combination of the drive data and the timing data to the address of each actuator without waiting for the information on which the previous processing has been executed. According to another aspect of the present invention, there is provided a peripheral device including a step of generating drive data corresponding to a drive pulse for driving an actuator mounted on the peripheral device, and a step of transmitting the drive data to the peripheral device. It is a method to control. The step of generating includes generating drive data for each actuator, and generating timing data indicating timing for executing the drive data of each actuator in each actuator together with the drive data, wherein the drive data is drive The step of transmitting and including bit data that corresponds to the pulse in a one-to-one manner and is immediately converted into a drive pulse based on the timing data includes a combination of the drive data and the timing data, and information on the previous processing performed. This includes sending to the address of each actuator without waiting.
[0010]
Drive data generated by the program of the present inventionIsIt is bit data corresponding to the drive pulse on a one-to-one basis. In the method for controlling a peripheral device according to the present invention, all processing up to generation of a drive pulse is performed on the host side, and the peripheral device is driven by a drive pulse supplied from the host side or drive data corresponding thereto. . Therefore, data that can be supplied to the actuator as it is is supplied to the peripheral device, not data that requires interpretation on the peripheral device side such as a command. For this reason, on the side of the peripheral device, it is possible to move these actuators according to instructions from an application program running on the host side simply by converting drive data into drive pulses by the actuator drive circuit and supplying them to the actuators. .
[0011]
Therefore, by adopting the program of the present invention or the method for controlling peripheral devices, the peripheral device does not require a CPU or firmware for interpreting commands, and it can operate in any manner with a very simple configuration. Even if it exists, the actuator can be controlled in accordance with instructions from the host. In other words, a high-speed and high-performance CPU is used to make the actuator perform complex operations, and instead of increasing the number of commands or expanding the system, it receives drive data corresponding to the actuator drive pulse. Thus, the interface with the host side is simplified, and functions of the peripheral device are prevented from being limited to a command system and a processor such as a CPU mounted on the peripheral device. Therefore, according to the method for controlling a peripheral device of the present invention, any movement within the range in which the actuator of the peripheral device can be operated or followed can be realized by an instruction from the host side. For this reason, even if the hardware and control system of the peripheral device are not changed, if the specification of the application program is reflected in the drive data supplied from the host side, the peripheral device is controlled as intended by the application program. be able to.
[0012]
Further, in the program of the present invention or the method for controlling a peripheral device, processing for generating a pulse signal for each actuator by interpreting a command conventionally performed by a CPU or ASIC for controlling the peripheral device is performed. And executed by an information processing terminal such as a personal computer as a host. Therefore, the processing performed by the CPU for controlling peripheral devices or the processor such as ASIC can be executed by the CPU of the personal computer. In recent years, CPUs employed in personal computers have dramatically increased in performance and have a processing speed of several hundred MHz or higher. And the performance is improving further. For this reason, in the case of the program of the present invention or a peripheral device, processing for interpreting the command to control the actuator of the peripheral device is performed using the capability of the CPU on the host side whose performance has been dramatically improved. It becomes possible. Therefore, it is not necessary to develop an expensive processor or firmware for the peripheral device in order to execute complicated and high-speed processing by the peripheral device. For this reason, a peripheral device having a performance that satisfies the specifications of the application program can be realized in a short time and at a low cost by changing the program operating on the host side if necessary without changing the hardware.
[0013]
In addition, instead of transmitting a command to the peripheral device, the amount of communication between the host and the peripheral device may increase by transmitting drive data that can drive the actuator substantially directly. However, low-cost devices that can transmit a large amount of data such as USB or IEEE 1394 at high speed are widespread, and the drive data transmission speed is not significantly lower than the operation speed of the actuator, and the drive data is transmitted. As a result, the processing speed of the peripheral device is hardly reduced. Conversely, since it is not necessary to interpret the command on the peripheral device side, the processing speed can be improved by reducing the processing time.
[0014]
In addition, a command system according to a predetermined format has been developed for sending control data from the driver software installed on the host side to the peripheral device. However, if the program of the present invention or the method for controlling the peripheral device is used, There is no need to convert it into a command, and an instruction from the application may be finally output in the data format of the drive pulse. Therefore, it is possible to eliminate the double effort of converting the command from the application into a command and converting the command into a drive signal, and provide peripheral devices that can perform high-speed processing including processing on the host side. it can.
[0015]
Many peripheral devices such as a printing apparatus having a unit for printing on a sheet include a plurality of actuators such as a pulse motor for a unit for printing and a unit for forming dots on the sheet. Even for such peripheral devices, it is possible to control each actuator individually from the information processing terminal on the host side by transmitting drive data to each actuator. It can be operated.
[0016]
A transmission path connecting these multiple actuators to an information processing terminal, for example, when the transmission speed of USB or the like becomes a bottleneck with respect to the timing when the actuators are controlled cooperativelyEvenIn addition, by transmitting timing data indicating the timing for executing the drive data in each actuator in combination with the drive data, it is possible to move a plurality of actuators at high speed without depending on the speed of the transmission path. it can.
[0017]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, the present invention will be described in more detail with reference to the drawings. FIG. 1 shows an example of a system for realizing a method for controlling peripheral devices according to the present invention. The
[0018]
The host 2 to the printer 3 includes header information H including a transmission destination address, data AD for moving a motor and a head that are actuators of the printer 3, and data TD indicating timing at which the data AD is used. A
[0019]
The printer 3 of this example is an ink jet printer that forms dots by ejecting ink droplets onto the printing paper 4. The
[0020]
The
[0021]
The printer 3 of this example further includes an
[0022]
FIG. 2 shows a schematic configuration of each
[0023]
Therefore, as shown in FIGS. 3A and 3B, when the data AD1 to AD6 for driving the actuator are sequentially sent from the host 2, the drive pulse is generated at time t1 corresponding to each data AD1 to AD6. P1 is high level, drive pulse P2 is high level at time t2, drive pulse P3 is high level at time t3, drive pulse P4 is high at time t4, drive pulse P1 is high level at time t5, and drive pulse P2 is high at time t6 Become a level. For this reason, the
[0024]
As shown in FIG. 1, the host 2 that transmits such data AD to the printer 3 includes an operating system (OS) 12, an
[0025]
The
[0026]
The generation function 37 of the present example includes a
[0027]
The generation function 37 of this example further includes timing data TD indicating the timing at which the driving
[0028]
When control is performed by sending data AD for driving the actuator from the host 2 to the printer 3, the host 2, that is, the
[0029]
FIG. 4 is a flowchart showing processing performed by the
[0030]
The processing executed on the host 2 by the
[0031]
When the
[0032]
As described above, in the
[0033]
Also, the
[0034]
Furthermore, almost all of the processing for controlling such a printer can be performed using the host CPU's ability to significantly improve performance. Therefore, there is a merit that the processing capability of the printer can be improved as the host-side capability is improved without developing an expensive processor or firmware. Therefore, it is possible to improve the functions of the printer following the progress of the host and application, and the need to replace the printer is reduced.
[0035]
In addition, by transmitting
[0036]
The
[0037]
In addition, although the example in which the drive data corresponding to the drive pulses of the
[0038]
Furthermore, in the above description, the present invention has been described by taking a printer including a pulse motor (stepping motor) as an example. However, the present invention is not limited to a pulse motor but can be applied to peripheral devices including an actuator that operates by a driving pulse. Also, instead of outputting the bit data corresponding to the drive pulse on a one-to-one basis, it is possible to output the drive data at the timing of changing the level of the drive pulse, or to send the drive data after being compressed, As in the above example, it is possible to provide a system in which peripheral devices can be flexibly moved from the host side with the simplest configuration by transmitting drive data and bit data corresponding to one-to-one.
[0039]
The present invention as described above can be applied not only to a printer but also to a peripheral device including an actuator that is driven by a driving pulse such as a scanner, a CD-ROM, or a DVD drive device.
[0040]
【The invention's effect】
As described above, in the present invention, drive data corresponding to the drive pulse of the actuator of the peripheral device is generated on the host computer side and can be transmitted to the peripheral device. This eliminates the need for hardware or firmware that interprets commands on the peripheral device side and generates drive pulses, allows the peripheral device to have a simpler configuration, and allows the host device to freely control the peripheral device. . In the present invention, it is possible to provide a peripheral device capable of following the progress of the host computer and improving the function.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a schematic configuration of a printer and a host according to the present invention.
FIG. 2 is a diagram showing a schematic configuration of a drive circuit of each pulse motor in the printer of this example.
FIG. 3 is a diagram for explaining a relationship between a drive pulse output from a drive circuit in the printer of this example and drive data sent from the host of this example to the printer.
FIG. 4 is a flowchart showing a schematic process in a printer driver operating on the host of this example.
[Explanation of symbols]
1 system
2 Host (information processing terminal)
3 Printer
23, 24 Pulse motor
25, 26 Drive circuit
25a, 26a registers
25b, 26b Motor driver
35 Printer Driver
37 Generation function
42 First function
43 Second function
44 Timing analysis function
55-bit data (drive data)
Claims (5)
前記周辺機器は複数の前記アクチュエータを有し、前記複数のアクチュエータの各々のアクチュエータは固有のアドレスを備えており、
当該プログラムは、
前記駆動パルスに対応する駆動データを生成する処理と、
前記駆動データを前記周辺機器宛てに発信する処理とを実行する命令を有し、
前記生成する処理は、前記各々のアクチュエータに対する前記駆動データを生成することと、
前記駆動データと共に前記各々のアクチュエータで前記各々のアクチュエータの前記駆動データを実行するタイミングを示すタイミングデータを生成することとを含み、前記駆動データは前記駆動パルスと1対1に対応し、前記タイミングデータに基づき即座に前記駆動パルスに変換されるビットデータを含み、
前記発信する処理は、前記駆動データと前記タイミングデータとの組み合わせを、前の処理が実行された情報を待たずに、前記各々のアクチュエータのアドレス宛てに発信することを含む、プログラム。A program for controlling a peripheral device having an actuator operated by a drive pulse from the host computer side,
The peripheral device has a plurality of the actuators, and each actuator of the plurality of actuators has a unique address,
The program is
Processing for generating drive data corresponding to the drive pulse;
Have a command for executing a process of transmitting the driving data to the peripheral device addressed,
The generating process generates the drive data for each of the actuators;
Generating timing data indicating a timing for executing the driving data of each actuator by each of the actuators together with the driving data, the driving data corresponding to the driving pulse on a one-to-one basis, Bit data that is immediately converted to the drive pulse based on the data,
The transmitting process includes transmitting a combination of the drive data and the timing data to the address of each actuator without waiting for information on which the previous process has been executed .
前記駆動データを前記周辺機器宛てに発信する手段とを有する情報処理端末であって、
前記周辺機器は複数の前記アクチュエータを有し、前記複数のアクチュエータの各々のアクチュエータは固有のアドレスを備えており、
前記生成する手段は、前記各々のアクチュエータに対する前記駆動データと、前記駆動データと共に前記各々のアクチュエータで前記各々のアクチュエータの前記駆動データを実行するタイミングを示すタイミングデータとを生成し、前記駆動データは前記駆動パルスと1対1に対応し、前記タイミングデータに基づき即座に前記駆動パルスに変換されるビットデータを含み、
前記発信する手段は、前記駆動データと前記タイミングデータとの組み合わせを、前の処理が実行された情報を待たずに、前記各々のアクチュエータのアドレス宛てに発信することを含む、情報処理端末。Means for generating drive data corresponding to a drive pulse for driving an actuator mounted on a peripheral device;
An information processing terminal having means for transmitting the drive data to the peripheral device ,
The peripheral device has a plurality of the actuators, and each actuator of the plurality of actuators has a unique address,
The generating means generates the drive data for each actuator, and timing data indicating timing for executing the drive data of each actuator by each actuator together with the drive data. Bit data corresponding to the drive pulse on a one-to-one basis and immediately converted into the drive pulse based on the timing data;
The information transmitting terminal includes transmitting the combination of the drive data and the timing data to the address of each actuator without waiting for the information on which the previous process has been executed .
その駆動データを前記周辺機器宛に発信するステップとを有する周辺機器を制御する方法であって、
前記周辺機器は複数の前記アクチュエータを有し、前記複数のアクチュエータの各々は固有のアドレスを備えており、
前記生成するステップは、前記各々のアクチュエータに対する前記駆動データを生成することと、
前記駆動データと共に前記各々のアクチュエータで前記各々のアクチュエータの前記駆動データを実行するタイミングを示すタイミングデータを生成することとを含み、前記駆動データは前記駆動パルスと1対1に対応し、前記タイミングデータに基づき即座に前記駆動パルスに変換されるビットデータを含み、
前記発信するステップは、前記駆動データと前記タイミングデータとの組み合わせを、前の処理が実行された情報を待たずに、前記各々のアクチュエータのアドレス宛てに発信することを含む、方法。Generating drive data corresponding to a drive pulse for driving an actuator mounted on a peripheral device;
Transmitting the drive data to the peripheral device, and controlling the peripheral device ,
The peripheral device has a plurality of the actuators, and each of the plurality of actuators has a unique address;
The generating step includes generating the drive data for each of the actuators;
Generating timing data indicating a timing for executing the driving data of each actuator by each of the actuators together with the driving data, the driving data corresponding to the driving pulse on a one-to-one basis, Bit data that is immediately converted to the drive pulse based on the data,
The transmitting step includes transmitting the combination of the drive data and the timing data to the address of each actuator without waiting for information on which a previous process has been executed .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001197596A JP4867020B2 (en) | 2001-06-29 | 2001-06-29 | Method and program for controlling peripheral devices |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001197596A JP4867020B2 (en) | 2001-06-29 | 2001-06-29 | Method and program for controlling peripheral devices |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003018888A JP2003018888A (en) | 2003-01-17 |
JP4867020B2 true JP4867020B2 (en) | 2012-02-01 |
Family
ID=19035168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001197596A Expired - Fee Related JP4867020B2 (en) | 2001-06-29 | 2001-06-29 | Method and program for controlling peripheral devices |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4867020B2 (en) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS55142000A (en) * | 1979-04-24 | 1980-11-06 | Toshiba Corp | Pulse motor driving circuit |
JPS6087699A (en) * | 1983-10-19 | 1985-05-17 | Tokyo Electric Co Ltd | Drive controller of stepping motor |
JP2621633B2 (en) * | 1990-10-17 | 1997-06-18 | 日本電気株式会社 | Stepping motor control circuit |
JPH10127097A (en) * | 1996-10-22 | 1998-05-15 | Canon Inc | Drive control device and method, image forming device, and storage medium for recording program for motor drive control |
JP3658635B2 (en) * | 1997-04-07 | 2005-06-08 | カシオ電子工業株式会社 | Rotation control device |
JPH10295096A (en) * | 1997-04-16 | 1998-11-04 | Canon Inc | Motor controller, recording device, information processing system, and information processing method |
JP2000207228A (en) * | 1999-01-18 | 2000-07-28 | Star Micronics Co Ltd | Motor controller |
JP2000316295A (en) * | 1999-04-27 | 2000-11-14 | Canon Inc | Serial communication system and image forming device |
-
2001
- 2001-06-29 JP JP2001197596A patent/JP4867020B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003018888A (en) | 2003-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2859499B2 (en) | Printing system and item setting method in the system | |
EP0902357B1 (en) | Output method and apparatus | |
JP2000001015A (en) | Image formation apparatus, image formation system, information process apparatus, and their control method | |
JP4867020B2 (en) | Method and program for controlling peripheral devices | |
JP2007133491A (en) | Printing apparatus and method for controlling same | |
US7359077B2 (en) | Printing apparatus, control method therefor, and program | |
JP3015133B2 (en) | Print control apparatus and method | |
JPH07101109A (en) | Printer and controller method therefor | |
JP3861940B2 (en) | Serial printer and printing control method | |
JPH09290520A (en) | Serial printer | |
JP3110879B2 (en) | Printing method and apparatus | |
JP2003076649A (en) | Data processor, print control device, interface selecting method, storage medium, and program | |
JP2834631B2 (en) | Print control apparatus and method | |
JP2001195206A (en) | Printing system and host computer and printer and printing method | |
JPH09188040A (en) | Output device | |
JPH09188041A (en) | Output device | |
JP2000148424A (en) | Network print system, and printer and client device used in same system | |
JPH09295432A (en) | Printer and print controlling method | |
JP2005190378A (en) | Printer | |
JPH09314928A (en) | Printer, printing system and its control method | |
JP2000235469A (en) | Network printer, network, and printing processing method | |
JP2019022071A (en) | Image processing system, image processing method and image processing device, and image forming system | |
JPH064241A (en) | Method and device for printing | |
JPH0620014A (en) | Image forming device and data transfer method to and from the same | |
JP2000289295A (en) | Printer apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080618 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101203 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101207 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110207 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110930 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20111024 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141125 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |