| 【発明の名称】 |
記録装置及び記録制御方法 |
| 【発明者】 |
【氏名】小林 伸恒
【氏名】斎藤 弘幸
【氏名】小路 通陽
|
| 【要約】 |
【課題】副走査(LF)と主走査(CR)のクロス制御において、斜行記録のリスクを回避し、処理の高速化を達成する。
【解決手段】記録装置の副走査制定時間の履歴情報に基づき、次の副走査駆動における制定想定時間を求め、主走査加速所要時間の履歴情報に基づき、次の主走査駆動開始から記録開始までの空走想定時間を求める。その制定想定時間と空走想定時間を用いて、次の記録走査処理において副走査駆動完了前に主走査駆動を開始するクロス制御が可能か否かを決定し、可能な場合はその制定想定時間と空走想定時間を用いて副走査駆動開始から主走査駆動開始までの時間差を決定する。 |
【特許請求の範囲】
【請求項1】 副走査制定時間の履歴を記録する第1の格納手段と、主走査加速所要時間の履歴を記録する第2の格納手段と、前記第1の格納手段に格納されている副走制定時間の履歴情報に基づき、次の副走査駆動における制定想定時間を求める制定想定時間決定手段と、前記第2の格納手段に格納されている主走査加速所要時間の履歴情報に基づき、次の主走査駆動開始から記録開始までの空走想定時間を求める空走想定時間決定手段と、前記制定想定時間と前記空走想定時間を用いて、次の記録走査処理において副走査駆動完了前に主走査駆動を開始するクロス制御が可能か否かを決定する決定手段と、前記決定手段の決定に基づき、次の記録走査時においてクロス制御を実行するために、前記制定想定時間と空走想定時間を用いて副走査駆動開始から主走査駆動開始までの時間差を決定する時間差決定手段と、を備えることを特徴とする記録装置。 【請求項2】 前記第1の格納手段は、過去N回分の副走査駆動における副走査制定時間を履歴情報として格納し、前記制定想定時間決定手段は、前記第1の格納手段に格納されている最大値を次回の副走査駆動における制定想定時間として採用することを特徴とする請求項1に記載の記録装置。 【請求項3】 前記第2の格納手段は、過去M回分の主走査駆動における主走査加速所要時間を履歴情報として格納し、前記空走想定時間決定手段は、前記第2の格納手段に格納されている最小値を次回の主走査駆動における空走想定時間として採用することを特徴とする請求項1に記載の記録装置。 【請求項4】 前記時間差決定手段は、前記制定想定時間から空走想定時間を引いた時間値に、所定のマージン時間を加えた時間値を前記時間差として採用することを特徴とする請求項1に記載の記録装置。 【請求項5】 前記決定手段は、前記制定想定時間が予め設定した許容最大制定時間を下回る場合のみ、クロス制御を可能と判断することを特徴とする請求項1に記載の記録装置。 【請求項6】 前記決定手段は、前記制定想定時間が予め設定された許容最大制定時間を越える場合は、クロス制御を禁止することを特徴とする請求項1に記載の記録装置。 【請求項7】 前記決定手段は、前記制定想定時間が予め設定された許容最大制定時間を越える場合は、副走査駆動の動作完了後に主走査動作を開始する制御に切替えることを特徴とする請求項1に記載の記録装置。 【請求項8】 前記制定想定時間決定手段は、電源投入時において、前記第1の格納手段から過去N回の副走査制定時間の履歴情報のうち、最大の副走査制定時間を初期条件として採用することを特徴とする請求項1に記載の記録装置。 【請求項9】 前記空走想定時間決定手段は、電源投入時において、前記第2の格納手段から過去M回の主走査加速時間の履歴情報のうち、最小の主走査加速時間を初期条件として採用することを特徴とする請求項1に記載の記録装置。 【請求項10】 前記第1の格納手段は、記録条件ごとに対応した過去N回分の副走査制定時間の履歴情報を格納し、前記制定想定時間決定手段は、記録命令に従い、該当する前記記録条件の副走査制定時間を初期条件として採用することを特徴とする請求項1に記載の記録装置。 【請求項11】 前記記録条件には、記録媒体の送り量、若しくは印刷モードの条件が含まれることを特徴とする請求項10に記載の記録装置。 【請求項12】 主走査の駆動源としてDCモータを採用したことを特徴とする請求項1に記載の記録装置。 【請求項13】 副走査の駆動源としてDCモータを採用したことを特徴とする請求項1に記載の記録装置。 【請求項14】 キャリッジ上の負荷の変動を計測する第1の計測手段を更に備え、該第1の計測手段の計測の結果に基づき、前記第2の格納手段に格納されている主走査加速所要時間の履歴情報は初期化されることを特徴とする請求項1に記載の記録装置。 【請求項15】 搬送機構上の記録媒体の負荷変動を計測する第2の負荷計測手段を更に備え、該第2の負荷計測手段の計測の結果に基づき、前記第1の格納手段に格納されている副走査制定時間の履歴情報は初期化されることを特徴とする請求項1に記載の記録装置。 【請求項16】 前記副走査制定時間の履歴と、前記主走査加速所要時間の履歴を、不揮発性メモリに記憶し、電源遮断後も該情報を保持可能することを特徴とする請求項1に記載の記録装置。 【請求項17】 位置情報を用いずに速度情報のみのフィードバックにより制御する場合、前記決定手段はクロス制御を禁止することを特徴とする請求項1に記載の記録装置。 【請求項18】 記録装置を制御するための記録制御方法であって、前記記録装置の副走査制定時間の履歴をメモリに記録する第1の格納工程と、前記記録装置の主走査加速所要時間の履歴をメモリに記録する第2の格納工程と、前記第1の格納工程で格納された副走制定時間の履歴情報に基づき、次の副走査駆動における制定想定時間を求める制定想定時間決定工程と、前記第2の格納工程で格納された主走査加速所要時間の履歴情報に基づき、次の主走査駆動開始から記録開始までの空走想定時間を求める空走想定時間決定工程と、前記制定想定時間と前記空走想定時間を用いて、次の記録走査処理において副走査駆動完了前に主走査駆動を開始するクロス制御が可能か否かを決定する決定工程と、前記決定工程の決定に基づき、次の記録走査時においてクロス制御を実行するために、前記制定想定時間と空走想定時間を用いて副走査駆動開始から主走査駆動開始までの時間差を決定する時間差決定工程と、を備えることを特徴とする記録制御方法。 【請求項19】 前記第1の格納工程は、過去N回分の副走査駆動における副走査制定時間を履歴情報としてメモリに格納し、前記制定想定時間決定工程は、前記第1の格納工程で格納された最大値を次回の副走査駆動における制定想定時間として採用することを特徴とする請求項18に記載の記録制御方法。 【請求項20】 前記第2の格納工程は、過去M回分の主走査駆動における主走査加速所要時間を履歴情報としてメモリに格納し、前記空走想定時間決定工程は、前記第2の格納工程で格納された最小値を次回の主走査駆動における空走想定時間として採用することを特徴とする請求項18に記載の記録制御方法。 【請求項21】 前記時間差決定工程は、前記制定想定時間から空走想定時間を引いた時間値に、所定のマージン時間を加えた時間値を前記時間差として採用することを特徴とする請求項18に記載の記録制御方法。 【請求項22】 前記決定工程は、前記制定想定時間が予め設定した許容最大制定時間を下回る場合のみ、クロス制御を可能と判断することを特徴とする請求項18に記載の記録制御方法。 【請求項23】 前記決定工程は、前記制定想定時間が予め設定された許容最大制定時間を越える場合は、クロス制御を禁止することを特徴とする請求項18に記載の記録制御方法。 【請求項24】 前記決定工程は、前記制定想定時間が予め設定された許容最大制定時間を越える場合は、副走査駆動の動作完了後に主走査動作を開始する制御に切替えることを特徴とする請求項18に記載の記録制御方法。 【請求項25】 前記制定想定時間決定工程は、電源投入時において、前記第1の格納工程で格納された、過去N回の副走査制定時間の履歴情報のうち、最大の副走査制定時間を初期条件として採用することを特徴とする請求項18に記載の記録制御方法。 【請求項26】 前記空走想定時間決定工程は、電源投入時において、前記第2の格納工程で格納された過去M回の主走査加速時間の履歴情報のうち、最小の主走査加速時間を初期条件として採用することを特徴とする請求項18に記載の記録制御方法。 【請求項27】 前記第1の格納工程は、記録条件ごとに対応した過去N回分の副走査制定時間の履歴情報をメモリに格納し、前記制定想定時間決定工程は、記録命令に従い、該当する前記記録条件の副走査制定時間を初期条件として採用することを特徴とする請求項18に記載の記録制御方法。 【請求項28】 前記記録条件には、記録媒体の送り量、若しくは印刷モードの条件が含まれることを特徴とする請求項27に記載の記録制御方法。 【請求項29】 キャリッジ上の負荷の変動を計測する第1の計測工程を更に備え、該第1の計測工程の計測の結果に基づき、前記第2の格納工程はメモリに格納した主走査加速所要時間の履歴情報を初期化することを特徴とする請求項18に記載の記録制御方法。 【請求項30】 搬送機構上の記録媒体の負荷変動を計測する第2の負荷計測工程を更に備え、該第2の負荷計測工程の計測の結果に基づき、前記第1の格納工程はメモリに格納した副走査制定時間の履歴情報を初期化することを特徴とする請求項18に記載の記録制御方法。 【請求項31】 位置情報を用いずに速度情報のみのフィードバックにより制御する場合、前記決定工程はクロス制御を禁止することを特徴とする請求項18に記載の記録制御方法。 【請求項32】 請求項18乃至31のいずれか1項に記載の記録制御方法を実現するプログラムコードを格納したことを特徴とするコンピュータ可読の記憶媒体。 【請求項33】 記録装置を制御するためにコンピュータを、副走査制定時間の履歴を記録する第1の格納手段と、主走査加速所要時間の履歴を記録する第2の格納手段と、前記第1の格納手段に格納されている副走制定時間の履歴情報に基づき、次の副走査駆動における制定想定時間を求める制定想定時間決定手段と、前記第2の格納手段に格納されている主走査加速所要時間の履歴情報に基づき、次の主走査駆動開始から記録開始までの空走想定時間を求める空走想定時間決定手段と、前記制定想定時間と前記空走想定時間を用いて、次の記録走査処理において副走査駆動完了前に主走査駆動を開始するクロス制御が可能か否かを決定する決定手段と、前記決定手段の決定に基づき、次の記録走査時においてクロス制御を実行するために、前記制定想定時間と空走想定時間を用いて副走査駆動開始から主走査駆動開始までの時間差を決定する時間差決定手段と、して機能させることを特徴とする記録制御プログラム。
|
【発明の詳細な説明】【0001】 【発明の属する技術分野】本発明は、例えば、シリアルプリンタにおいて高速記録を実現する制御としてクロス制御を実行する記録装置に関し、とくに駆動プロファイルが動的に変化するDCモータ、超音波モータ等を駆動源として採用した装置と、その制御方法に関するものである。 【0002】 【従来の技術】近年、プリンタにおいて、画像品位の向上と共に、稼動音の低下が望まれて来ている。特に、記録時の騒音発生源の少ないインクジェット記録装置においては、記録ヘッドを走査するための駆動手段として、DCモータとリニアエンコーダを使用し、低騒音化を実現している。今日では、これに加え、用紙搬送用の駆動手段としてもDCモータとロータリーエンコーダが採用されつつある。低騒音化に関してはDCモータを採用するだけで効果が期待できるが、高精度な搬送を行うためには高度な停止制御技術と機械精度が必要となる。 【0003】DCモータの停止方法は、基本的には目標となる位置にローラの回転がたどり着いた時にモータの電源をOFFにして惰性で停止させる手法が一般的である。 【0004】DCモータを使用した停止精度確保には、停止前速度の低速化と停止前外乱トルクの排除すなわち停止寸前の低速運転の安定化が必要不可欠である。一定した充分に遅い速度でモータの電源をOFFすることで、停止までの制定時間及び停止精度を安定させることができる。 【0005】しかしながら、主走査(CR)における加速所要時間をあらゆる駆動において完全に同一な値で安定させたり、または副走査(LF)における制定時間をあらゆる駆動において完全に同一な値で安定させることは大変困難である。 【0006】一方、シリアルプリンタにおいては、記録処理に要する各時間値の見込みの値を鑑みた上でLF完了前にCRの駆動を開始し、CRが記録領域に達した瞬間にちょうどLFが停止するようにタイミングを管理するクロス制御が、処理の高速化のためには必要とされている。 【0007】 【発明が解決しようとする課題】このような構成においては、DCモータにより駆動されるCRの加速所要時間のばらつきと、LFの制定時間のばらつきにより、見込み時間の正確な見積もりが難しい。従って、見込み時間のもつ誤差に対して充分なマージンを取った時間管理を行わないと、まだLFが動作している最中にCRが記録領域に達してしまい、斜行記録を引き起こしてしまう。 【0008】他方、マージンを大きく取りすぎると、クロス記録制御の効果が薄くなるため、処理速度が遅くなってしまう。すなわち、DCモータを駆動源として採用したシリアルプリンタにおいては、クロス制御を行う場合に、クロス制御の高効率化と斜行記録のリスクが背反してしまうという問題があった。 【0009】以下、図1を用いて、以上の問題と、本発明が実現せんとする理想的な動作に関する簡単な説明を行う。 【0010】図1において、(a)は副走査(LF)の駆動パターンを示す図であり、21は副走査(LF)の駆動プロファイルを示している。制御系のばらつきにより、駆動開始から停止までの時間は、3回の駆動を行った中でT_1,T_2,T_3のようにばらついている。 【0011】図1(b)は主走査(CR)の駆動パターンを示す図であり、22はCRの駆動プロファイルを示している。23は記録領域である。制御のばらつきにより、駆動開始から記録開始までの時間は、3回の駆動を行った中でT_4,T_5,T_6のようにばらついている。 【0012】図1(c)は、図1(a)で示したLFと、図1(b)で示したCRによりクロス制御記録を行う場合について駆動パターンを示す図であり、本発明の主題となる概念を非常に簡略に示したものである。過去の履歴を鑑みると、クロス制御に対して最も条件の悪いT_3(LFの移動完了まで一番遅いプロファイルにおける移動時間)とT_4(CRの移動開始から記録開始まで最も時間余裕のないプロファイルにおける記録開始時間)によって、LFとCRの重ねの度合いを決定することが最もバランスがとれていることがわかる。これ以上に重ねの度合いを深くすると、斜行記録を発生させうることが推測でき、重ねの度合いを浅くすると、LF駆動と重ならず記録も行わない無駄なCRの空走区間が生じてしまうことが推測できる。 【0013】 【課題を解決するための手段】上記の課題を解決するべく、クロス制御において、LFの駆動時間と、CRの駆動時間の最適なバランスを実現することを目的とする。本発明にかかる記録装置及び記録制御方法は主として以下の構成を有することを特徴とする。 【0014】すなわち、記録装置は、副走査制定時間の履歴を記録する第1の格納手段と、主走査加速所要時間の履歴を記録する第2の格納手段と、前記第1の格納手段に格納されている副走制定時間の履歴情報に基づき、次の副走査駆動における制定想定時間を求める制定想定時間決定手段と、前記第2の格納手段に格納されている主走査加速所要時間の履歴情報に基づき、次の主走査駆動開始から記録開始までの空走想定時間を求める空走想定時間決定手段と、前記制定想定時間と前記空走想定時間を用いて、次の記録走査処理において副走査駆動完了前に主走査駆動を開始するクロス制御が可能か否かを決定する決定手段と、前記決定手段の決定に基づき、次の記録走査時においてクロス制御を実行するために、前記制定想定時間と空走想定時間を用いて副走査駆動開始から主走査駆動開始までの時間差を決定する時間差決定手段と、を備えることを特徴とする。 【0015】上記の記録装置において、前記第1の格納手段は、過去N回分の副走査駆動における副走査制定時間を履歴情報として格納し、前記制定想定時間決定手段は、前記第1の格納手段に格納されている最大値を次回の副走査駆動における制定想定時間として採用することを特徴とする。 【0016】上記の記録装置において、前記第2の格納手段は、過去M回分の主走査駆動における主走査加速所要時間を履歴情報として格納し、前記空走想定時間決定手段は、前記第2の格納手段に格納されている最小値を次回の主走査駆動における空走想定時間として採用することを特徴とする。 【0017】上記の記録装置において、前記時間差決定手段は、前記制定想定時間から空走想定時間を引いた時間値に、所定のマージン時間を加えた時間値を前記時間差として採用することを特徴とする。 【0018】上記の記録装置において、前記決定手段は、前記制定想定時間が予め設定した許容最大制定時間を下回る場合のみ、クロス制御を可能と判断することを特徴とする。 【0019】上記の記録装置において、前記決定手段は、前記制定想定時間が予め設定された許容最大制定時間を越える場合は、クロス制御を禁止することを特徴とする。 【0020】上記の記録装置において、前記決定手段は、前記制定想定時間が予め設定された許容最大制定時間を越える場合は、副走査駆動の動作完了後に主走査動作を開始する制御に切替えることを特徴とする。 【0021】上記の記録装置において、前記制定想定時間決定手段は、電源投入時において、前記第1の格納手段から過去N回の副走査制定時間の履歴情報のうち、最大の副走査制定時間を初期条件として採用することを特徴とする。 【0022】上記の記録装置において、前記空走想定時間決定手段は、電源投入時において、前記第2の格納手段から過去M回の主走査加速時間の履歴情報のうち、最小の主走査加速時間を初期条件として採用することを特徴とする。 【0023】上記の記録装置において、前記第1の格納手段は、記録条件ごとに対応した過去N回分の副走査制定時間の履歴情報を格納し、前記制定想定時間決定手段は、記録命令に従い、該当する前記記録条件の副走査制定時間を初期条件として採用することを特徴とする。 【0024】上記の記録装置において、主走査の駆動源としてDCモータを採用したことを特徴とする。 【0025】上記の記録装置において、副走査の駆動源としてDCモータを採用したことを特徴とする。 【0026】上記の記録装置において、キャリッジ上の負荷の変動を計測する第1の計測手段を更に備え、該第1の計測手段の計測の結果に基づき、前記第2の格納手段に格納されている主走査加速所要時間の履歴情報は初期化されることを特徴とする。 【0027】上記の記録装置において、搬送機構上の記録媒体の負荷変動を計測する第2の負荷計測手段を更に備え、該第2の負荷計測手段の計測の結果に基づき、前記第1の格納手段に格納されている副走査制定時間の履歴情報は初期化されることを特徴とする。 【0028】上記の記録装置において、位置情報を用いずに速度情報のみのフィードバックにより制御する場合、前記決定手段はクロス制御を禁止することを特徴とする。 【0029】また、記録装置を制御するための記録制御方法は、前記記録装置の副走査制定時間の履歴をメモリに記録する第1の格納工程と、前記記録装置の主走査加速所要時間の履歴をメモリに記録する第2の格納工程と、前記第1の格納工程で格納された副走制定時間の履歴情報に基づき、次の副走査駆動における制定想定時間を求める制定想定時間決定工程と、前記第2の格納工程で格納された主走査加速所要時間の履歴情報に基づき、次の主走査駆動開始から記録開始までの空走想定時間を求める空走想定時間決定工程と、前記制定想定時間と前記空走想定時間を用いて、次の記録走査処理において副走査駆動完了前に主走査駆動を開始するクロス制御が可能か否かを決定する決定工程と、前記決定工程の決定に基づき、次の記録走査時においてクロス制御を実行するために、前記制定想定時間と空走想定時間を用いて副走査駆動開始から主走査駆動開始までの時間差を決定する時間差決定工程と、を備えることを特徴とする。 【0030】また、記録制御プログラムは、記録装置を制御するためにコンピュータを、副走査制定時間の履歴を記録する第1の格納手段と、主走査加速所要時間の履歴を記録する第2の格納手段と、前記第1の格納手段に格納されている副走制定時間の履歴情報に基づき、次の副走査駆動における制定想定時間を求める制定想定時間決定手段と、前記第2の格納手段に格納されている主走査加速所要時間の履歴情報に基づき、次の主走査駆動開始から記録開始までの空走想定時間を求める空走想定時間決定手段と、前記制定想定時間と前記空走想定時間を用いて、次の記録走査処理において副走査駆動完了前に主走査駆動を開始するクロス制御が可能か否かを決定する決定手段と、前記決定手段の決定に基づき、次の記録走査時においてクロス制御を実行するために、前記制定想定時間と空走想定時間を用いて副走査駆動開始から主走査駆動開始までの時間差を決定する時間差決定手段と、して機能させることを特徴とする。 【0031】 【発明の実施の形態】<第1の実施形態>本実施形態では脱着可能なインクタンク付き記録ヘッドを搭載したシリアル式インクジェットプリンタを例とし、ラインフィードモータと、キャリッジモータ制御において、本発明にかかるクロス制御を適用した場合について説明する。 【0032】ここで、「クロス制御」とは、記録ヘッドを搭載したキャリッジの主走査方向の駆動と、記録媒体の搬送における副走査方向の駆動において、協調的に両駆動をオーバラップさせる制御をいう。 【0033】図2はシリアル式インクジェットプリンタの全体図である。同図において、101はインクタンクを有する記録ヘッド、102は記録ヘッド101を搭載するキャリッジである。キャリッジ102の軸受け部には主走査方向に摺動可能な状態でガイドシャフト103が挿入され、そのシャフトの両端はシャーシ114に固定されている。このキャリッジ102に係合したキャリッジ駆動伝達手段であるベルト104を解して、キャリッジ駆動手段である駆動モータ105の駆動が伝達され、キャリッジ102が主走査方向に移動可能である。 【0034】記録待機中において記録用紙115は、給紙ベース106にスタックされており、記録開始時には給紙ローラ(不図示)により記録用紙が給紙される。給紙された記録用紙を搬送するため、DCモータである用紙搬送用モータ(107)の駆動力により伝達手段であるギア列(モータギア108、搬送ローラギア109)を介して搬送ローラを回転させ、ピンチローラばね(不図示)により搬送ローラ110に押圧され従動回転するピンチローラ111とこの搬送ローラ110とにより記録用紙115は適切な送り量だけ搬送される。ここで、搬送量は搬送ローラ109に圧入されたコードホイール(ロータリーエンコーダフィルム116)のスリットをエンコーダセンサ117で検知、カウントすることで管理され、高精度送りを可能としている。 【0035】図3は、図2に示したプリンタの制御構成を説明するブロック図である。 【0036】図3において、401はプリンタ装置のプリンタ制御用のCPUで、ROM402に記憶されたプリンタ制御プログラムやプリンタエミュレーション、記録フォントを利用して記録処理を制御する。 【0037】403はRAMで、記録のための展開データ、ホストからの受信データを蓄える。404はプリンタヘッド、405はモータを駆動するモータドライバ、406はプリンタコントローラで、RAM403のアクセス制御やホスト装置とのデータのやりとりやモータドライバへの制御信号送出を行う。407はサーミスタ等で構成される温度センサで、プリンタ装置の温度を検知する。 【0038】CPU401はROM402内の制御プログラムにより本体のメカ的/電気的制御を行いつつ、ホスト装置からプリンタ装置へ送られてくるエミュレーションコマンド等の情報をプリンタコントローラ406内のI/Oデータレジスタから読み出し、コマンドに対応した制御をプリンタコントローラ406内のI/Oレジスタ、I/Oポートに書き込み、読み出しを行う。 【0039】図4は、図3に示したプリンタコントローラ406の詳細構成を説明するブロック図であり、図3と同一のものには同一の符号を付してある。 【0040】図4において、501はI/Oレジスタで、ホストとのコマンドレベルでのデータのやり取りを行う。502は受信バッファコントローラで、レジスタから受信データをRAM403に直接書き込む。 【0041】503は記録バッファコントローラで、記録時にはRAMの記録データバッファから記録データを読み出し、プリンタヘッド404に対してデータの送出を行う。504はメモリコントローラで、RAM403に対して3方向のメモリアクセスを制御する。505はプリントシーケンスコントローラで、プリントシーケンスをコントロールする。231はホストインターフェースで、ホストとの通信を司る。 【0042】図5は一般的なDCモータの位置制御系を説明するための制御手順(6000)を示すブロック線図である。本実施形態において位置サーボは、加速制御領域、定速制御領域、減速制御領域において使用される。このようなDCモータの制御は、PIDコントロールあるいは古典制御と呼ばれる手法で制御される。以下その手順を説明する。 【0043】まず、制御対象に与えたい目標位置は、理想位置プロファイル6001という形で与える。本実施形態においては、該当する時刻においてラインフィードモータによって搬送された紙が到達しているべき絶対位置に該当する。時刻の進行とともに、この位置情報は変化していく。この理想位置プロファイルに対して追値制御を行うことで、本実施形態の駆動制御が行なわれる。 【0044】装置にはエンコーダセンサ6005が具備されており、モータの物理的な回転を検知する。エンコーダ位置情報変換手段6009は、エンコーダセンサが検知したスリット数を累積加算していき絶対位置情報を得る手段であり、エンコーダ速度情報変換手段6006はエンコーダセンサ6005の信号と、プリンタに内蔵された時計(タイマ)から、現在のラインフィードモータの駆動速度を算出する手段である。 【0045】理想位置プロファイル6001から、位置情報変換手段6009により得られた実際の物理的位置を減算した数値を、目標位置に対して足りない位置誤差として、6002以降の位置サーボのフィードバック処理に受け渡す。6002は位置サーボのメジャーループであり、一般的には比例項Pに関する計算を行う手段が知られている。 【0046】6002における演算の結果としては、速度指令値が出力される。この速度指令値が、6003以降の速度サーボのフィードバック処理に受け渡される。速度サーボのマイナーループは、比例項P、積分項I、微分項Dに対する演算を行うPID演算により行う手段が一般的である。 【0047】本実施形態においては、速度指令値の非線形な変化が発生した場合の追従性を改善し、なおかつ追値制御時の微分演算の弊害を防ぐために、一般に微分先行形と呼ばれる手法を示しており、6006で得られたエンコーダ速度情報は、6002で得られた速度指令値との差を取る前に、6007の微分演算を通される。この手法自体は本発明の主題となるものではなく、制御対象の系の特性によっては、6003において微分演算を行えば充分なものもある。 【0048】速度サーボのマイナーループにおいては、速度指令値からエンコーダ速度情報を減算した数値を、目標速度に対して足りない速度誤差として、6003のPI演算回路に受け渡し、その時点でDCモータに与えるべきエネルギーを、PI演算と呼ばれる手法で算出する。それを受けたモータドライバ回路は、例えばモータ印加電圧は一定として、印加電圧のパルス幅を変化させる手段(以下「PWM(Pules Width Modulation)制御」と呼ぶ)を用い、印加電圧のDutyを変化させて、電流値を調節し、6004のDCモータに与えるエネルギーを調節し、速度制御を行う。 【0049】電流値を印可されて回転するDCモータは、6008の外乱による影響を受けながら物理的な回転を行い、その出力がエンコーダセンサ6005により検知される。 【0050】図6は一般的なDCモータの速度サーボにおける制御手順(7000)を説明するブロック線図である。本実施形態において速度サーボは、位置決め制御領域において使用される。DCモータは、PIDコントロールあるいは古典制御と呼ばれる手法で制御されており、以下その手順を説明する。 【0051】まず、制御対象に与えたい目標速度を、7001の理想速度プロファイルという形で与える。本実施形態においては、これは該当する時刻においてラインフィードモータにより紙を搬送すべき理想速度であり、該当する時刻における速度指令値ということになる。時刻の進行とともに、この速度情報は変化していく。この理想速度プロファイルに対して追値制御を行うことで、本実施形態の駆動制御が行なわれる。 【0052】速度サーボにおいては、比例項P、積分項I、微分項Dに対する演算を行うPID演算により行う手段が一般的である。本実施形態においては、速度指令値の非線形な変化が発生した場合の追従性を改善し、なおかつ追値制御時の微分演算の弊害を防ぐために、一般に微分先行形と呼ばれる手法を示しており、6006で得られたエンコーダ速度情報は、7001で得られた速度指令値との差を取る前に、微分演算手段7003を通される。この手法自体は本発明の主題となるものではなく、制御対象の系の特性によっては、7002においてその微分演算を行えば充分なものもある。 【0053】速度サーボにおいては、速度指令値からエンコーダ速度情報を減算した数値を、目標速度に対して足りない速度誤差として、PI演算回路7002に受け渡し、その時点でDCモータに与えるべきエネルギーを、PI演算と呼ばれる手法で算出する。それを受けたモータドライバ回路は、例えばPWM制御を用い、印加電圧のDutyを変化させて、電流値を調節し、DCモータ6004に与えるエネルギーを調節し、速度制御を行う。 【0054】電流値を印可されて回転するDCモータは、6008の外乱による影響を受けながら物理的な回転を行い、その出力がエンコーダセンサ6005により検知される。 【0055】図7、8、9は、本実施形態におけるLF制御において外乱の及ぼす影響と制御の実際について、詳細に説明したものである。横軸は時間を示している。2001の縦軸は速度を、2002の縦軸は位置を示している。 【0056】図7は停止直前速度v_stopが、平均的かつ理想的な値V_APPROACHで終了する場合を示し、図8はt_approach<T_APPROACHすなわち見込み時間よりも早く終了する場合を示し、図9はt_approach>T_APPROACHすなわち見込み時間よりも遅く終了する場合を示している。 【0057】8001は理想位置プロファイルを示しており、2004は理想速度プロファイルを示している。理想位置プロファイル8001は4つの制御領域からなり、加速制御領域2011、定速制御領域2012、減速制御領域2013、位置決め制御領域2014により構成されている。 【0058】2004の理想速度プロファイルにおいて、V_STARTは初速度であり、V_FLATは定速制御領域2012の速度を示している。V_APPROACHは位置決め制御領域の速度を示しており、V_PROMISEは位置決め精度性能を達成するために絶対に守られなければならない停止直前速度の最速値を示している。v_stopは、現実の駆動を想定した場合に外乱によってあらゆる値に変化する現実の値としての停止直前速度である。実際の駆動における速度変動を考慮して、V_APPROACHはいかなる速度変動が発生してもv_stopがV_PROMISEを超えることがないよう充分に低く設定された速度であることが要求される。 【0059】本実施形態においては、加速制御領域2011、定速制御領域2012、理想減速制御領域2013では位置サーボを、位置決め制御領域2014では速度サーボを採用している。図示した8001の曲線は、位置サーボ時の理想位置プロファイルを示している。図示した2004の曲線は、速度サーボ時には理想速度プロファイルを示し、位置サーボ時には理想位置プロファイルに追従して動作するために求められる要求速度プロファイルを示している。 【0060】8001は理想位置プロファイルであり、位置サーボを行う領域2011、2012、2013の各領域に対して設定されるが、S_APPROACHまでしか計算されない。これは、S_APPROACHを通り過ぎると速度サーボに切り替わるため、S_APPROACH以降では理想位置プロファイルが不必要であるからである。8001における減速所要時間T_DECは現実の駆動と関わりなく一定であり、これに該当する制御領域を理想減速制御領域9001として示すものとする。 【0061】8003、9003、10003は、各図における外乱影響の状況における現実位置プロファイルである。位置サーボにおいては、遅れが必ず発生するため、8001に対して8003、9003、10003はいずれも遅れを持っている。従って、理想位置プロファイル8001が終了しても、現実位置はS_APPROACHには到達しないことが一般的であり、本実施形態においては、8001が終了してから現実の駆動がS_APPROACHに到達するまでの間には、仮想の理想位置プロファイル8006によって位置サーボへの指令位置値として代用するものとする。仮想の理想位置プロファイル8006は、理想位置プロファイル8001の最終的な傾きを用いて、理想位置プロファイルの終点から伸ばした直線とする。 【0062】8005、9005、10005は、物理的なモータの現実駆動速度プロファイルを意味している。理想位置プロファイル8001を入力としてフィードバック制御をかけていき、理想速度プロファイルに対して若干の遅れを出しつつも、位置決め制御領域2014が進むに従って理想速度に近づいて、最終的な停止直前速度としては位置決め精度性能を達成できる速度V_APPROACHに収束せんとするものである。なお、減速制御領域2013から位置決め制御領域2014への移行は、物理的な駆動速度状態に関わらず、S_APPROACHに達した瞬間に行われるものとする。 【0063】S_DECは定速制御領域2012が終了して減速制御領域2013が開始される位置を示しており、あくまでも理想位置プロファイル8001によって決定づけられる値であるため、現実の駆動における外乱の影響とは無関連である。 【0064】図中のS_APPROACHは減速制御領域2013が終了して位置決め制御領域2014が開始される位置を示しており、S_STOPは停止位置を示している。 【0065】T_ADDは加速制御領域2011に費やされる所要時間であり、T_DECは減速制御領域2013に費やされる所要時間である。T_FLATは定速制御領域2012に費やされる時間であり、駆動開始位置を0としたときの停止位置S_STOP、すなわち総駆動距離を満足する理想位置プロファイル8001を設定した時点で決定する固定値である。T_APPROACHは位置決め制御領域2014に費やされる時間を示している。T_APPROACHは、駆動制御対象が実際に動いたときに、位置決め制御領域2014に突入する位置S_APPROACHから停止位置S_STOPまでの距離S_APR_STOPを移動するのに要する時間である。図7では、位置決め領域を駆動制御対象がほぼ理想速度通りに動いた場合を示しているが、現実の制御において理想通りの物理的動作は一般的に大変困難である。 【0066】高速かつ高精度の位置決めを行うために、理想位置プロファイル8001のカーブは系に適したチューニングが必要である。具体的には、定速制御領域2012の速度は位置決め所要時間性能の向上を実現するために系の性能の許す限り速く、位置決め制御領域2014の速度は位置決め精度性能の向上を実現するために系の性能の許す限り遅く、さらに加速制御領域2011、減速制御領域2013、位置決め制御領域2014の距離は位置決め所要時間性能の向上を実現するために系の性能の許す限り短くなるように理想位置プロファイル8001を設定することが望ましい。しかしながら、より詳細なチューニングの手法については本発明の主題となるものではないため、ここではすでに理想位置プロファイル8001が最適調整されているものとして説明を進める。 【0067】t_approachは、現実の駆動を想定した場合に外乱によってあらゆる値に変化する現実の値として、位置決め制御領域2014に費やされる時間の現実変数値である(本実施形態における説明では、定数値を英大文字、変数値を英小文字で示している。同一スペリングの値について英大文字、英小文字の表記がある場合、英大文字で示された値は理想定数値であり、英小文字で示された値は同じ内容の値について変化しうる変数値を示している)。 【0068】9005、10005は、物理的なモータの駆動速度プロファイルを意味している。大局的には、理想的な駆動現実速度プロファイル8005と同様の加減速プロファイルとなるが、外乱が乗った結果、位置決め制御領域2014に突入した瞬間の速度が9005では速く、10005では遅くなってしまっている。 【0069】この影響で9005では位置決め制御領域2014における速度の平均が高くなった結果、実際に位置決め領域2014を通過するのに要する時間は、T_APPROACHよりも短くなってしまい、制御所要時間が短くなることがわかる。 【0070】また、10005では位置決め制御領域2014における速度の平均が低くなった結果、実際に位置決め領域2014を通過するのに要する時間は、T_APPROACHよりも長くなってしまい、制御所要時間が長くなることがわかる。 【0071】図10は、本実施形態における駆動処理の流れを説明するフローチャートであり、図11は、図10で述べた各処理の関わりのタイミングについて示したタイミング図である。 【0072】ステップS11011でパワーオン状態になると、ステップS11007において駆動命令が来たか否かの判断処理が行なわれる。駆動命令が来た場合(S11007−YES)、すなわち、プリンタシステムにおいて駆動命令が発行されると、処理をステップS11001に進める。 【0073】ステップS11001で駆動制御処理が開始されると、ステップS11002で駆動制御準備が行われる。ステップS11002における準備処理は、一般的にモータ制御タスクに記述される処理であり、駆動目的に適したテーブルの選択、駆動量に合致したT_FLATの設定、本提案の主題である評価手段の結果を次回の駆動で使用する理想速度プロファイルに反映させる反映手段、各種ワーク領域の設定を行い、最後にタイマ割り込み処理を司るタイマに起動をかけて終了する。 【0074】ステップS11002でタイマが起動されると、実駆動処理に移行する(S11003)。ステップS11003は、一般的にタイマ割り込み処理内に記述される処理であり、たとえば1msec毎に1回割り込んできて、エンコーダの値を読み出し、PID演算等により出力すべき電流の値を算出し、モータに対してその値を出力するものである。 【0075】ステップS11003の処理と並行して、システムにおいては停止位置S_STOPに到達したかどうかの監視が行われており、到達が検知されると駆動目標位置への到達検知手段11004が発動して割り込みが発生し、11005の駆動制御終了手段へと処理は移行する。 【0076】ステップS11005においては、モータに対する出力をいち早くディセーブルにしてからタイマを停止して処理を終了する。 【0077】図11において、12001は、図10におけるステップS11002及びS11005におけるモータ駆動タスクの状態、12002はステップS11003におけるタイマ割り込み処理の状態、12003はステップS11004における位置割り込みの状態を表している。 【0078】以上の各処理を行うことで、1つの駆動処理はステップS11006の駆動制御終了へと至ることになる。 【0079】図12は、以上述べてきた一般的な駆動処理の流れを、副走査(LF)と主走査(CR)に対して各々適用し、さらに各々のタイミングの管理について示した図である。 【0080】図12における11012はLFの駆動制御準備信号であり、11022はCRの駆動制御準備信号である。両者とも、一般的な駆動処理における11002(図11)と同様の処理を、各駆動対象のモータに対して行うものである。 【0081】11013はLFの実駆動処理を実行するための信号であり、11023はCRの実駆動処理を実行するための信号である。両者とも、一般的な駆動処理における11003(図11)と同様の処理を、各駆動対象のモータに対して行うものである。 【0082】11014はLFにおける駆動目標位置への到達検知信号であり、一般的な駆動処理における11004(図11)と同様の処理を、LFに対して行うものである。また、11015はLFにおける駆動制御終了信号であり、一般的な駆動処理における11005(図11)と同様の処理を、LFに対して行うものである。 【0083】12011はLFモータ制御タスク状態を示し、12031はCRモータ制御タスク状態を示すものであり、一般的な駆動処理における12001(図11)と同様の内容をLF、CR各々に関して記したものである。 【0084】12012はLFタイマ割り込み処理状態を示し、12032はCRタイマ割り込み処理状態を示すもので、一般的な駆動処理における12002(図11)と同様の内容をLF、CR各々に関して記したものである。 【0085】12033はインク吐出処理の状態を記したものであり、12034の領域で吐出がなされている、すなわち記録がなされていることを示している。 【0086】ここで、クロス記録制御を実現するために、LF駆動開始後、t_cross_startが経過した時点で、LF実駆動信号11013を制御するLF実駆動手段により、12021のCRモータ駆動開始指令イベントが発行され、これを受けて駆動制御準備手段はCRの駆動制御信号11022を発動する。こうして起動されたCRが記録開始位置に到達すると、12034で記録が行われる。本図においてはこのとき、すでにLFは信号11014により停止しているため、斜行記録は発生しない。また、信号11014の直後にインク吐出処理信号12034が発動するため、無駄な処理時間も一切存在しない。 【0087】以上により、最適なt_cross_startを設定することが、クロス制御の効率化の要であることがわかる。最適なt_cross_startを設定するためには、LFの駆動の現実の所要時間を知ることが求められ、それは本図においては、理想減速制御領域9001が終わってから停止するまでの実時間t_lf_allowと一意的に対応している。なぜなら駆動開始から理想減速制御領域9001の終了までの時間は固定値であり、実駆動による制定時間のばらつきは、t_lf_allowによってのみ表されるからである。 【0088】図13は、本実施形態の主題となる処理について詳細に記したフローチャートであり、図14、図15、図16は、図13のフローチャートにより示された処理を端的に示すタイミング図である。 【0089】図14、15、16において、横軸は時間を示しており、縦軸は各モータの速度を示している。図14(a),15(a),16(a)はLFに関するものであり、図14(b),15(b),16(b)はCRに関するものである。 【0090】t_lf_flatは、記録データによって変化する紙送りの時間である。t_lf_flatは、可変の値であるが、すでに説明したt_allowが外乱により変化する可変の値であるのとは異なり、外乱とは関係なく記録処理の論理的な要求(送り量は、記録データに依存してあらゆる値に変化しうるため)によってのみ変化する可変の値である点に注意されたい。 【0091】T_CR_ADDは、CRの加速所要時間であり、本実施形態においてはCRの加速性能が安定しており、その値を定数として扱うことが可能である場合について説明を行う。 【0092】t_cr_flatは記録データの左右端、記録方向、CRの現在位置に基づいて決定される、CR加速終了からインク吐出処理が発動するまでの時間であり、各値の組み合わせによって自在に変化するが、その算出方法については公知のものであるため説明を省略する。 【0093】T_LF_APPROACHは、理想状態で想定される、減速終了から停止までの時間である。 【0094】T_CROSS_MARGINは、以下述べる各計算において用いられるマージン値である。本発明の特徴は、過去の制御で記録された制定時間の履歴を用いて、未来の制御において現出するであろう制定時間の推測を行うことにあるが、DCモータの制御は動的であり、過去の制御で記録された制定時間が、未来に発生するであろうすべての状況を約束するものではない。動的に変化している制御対象の制御を、より安全に推測するためには、過去の履歴を総括した上で、制御対象の系において予測される変化の最大量として、予めマージンを見込んでおくことが必要となる。T_CROSS_MARGINはそのマージンを意味している。 【0095】図14は、クロスの深さを決める直接の値として、T_CROSS_PERFECTが支配的になった場合を示している。T_CROSS_PERFECTは、対象システムで想定される、最も深いクロスの値を決める時間を決定する定数である。T_CROSS_PERFECTと、T_CROSS_MARGINを足し合わせた量が、対象システムにおいて許容される最も深いクロスの度合いとなる。すなわち、最も深くクロスする場合においても、理想減速制御領域が終了してから(T_CROSS_PERFECT+T_CROSS_MARGIN)を経過する前に、インク吐出処理が発動することは許さない。T_CROSS_PERFECTは、このタイミング管理を保証するための値である。 【0096】完全に理想的な系においては、T_CROSS_MARGINは0、T_CROSS_PERFECTはT_LF_APPROACHと等しくすることができる。 【0097】これは、仮にT_LF_APPROACHを下回る時間でLFが停止したとしても、その短い時間を裏づけにして次のクロス制御を行ってしまった場合、斜行記録が発生してしまう危険性があることを慮っている。なぜなら、減速終了から停止までの時間をT_LF_APPROACHを理想として制御している以上、仮にそれより短い時間でLFが停止するという事象が発生しても、それを裏づけにして次の駆動を行うことは危険であるからである。本発明の意図するところは、斜行記録の危険を完全に回避することを第一優先の達成目的とし、それを達成した上で可能な限りクロス制御を深くすることを次の達成目的としており、T_CROSS_PERFECTの設定によって、第一優先の達成目的を保証している。 【0098】図16は、クロスの深さを決める直接の値として、T_CROSS_ENABLEが支配的になった場合を示している。 【0099】T_CROSS_ENABLEは、システムが正常な状態で想定される、最も長いLFの制定時間を鑑みて設定する定数時間値である。理想減速制御領域が終了してからT_CROSS_ENABLE経過しても停止しないような駆動が検出された場合、LFは異常状態であると判定し、本発明における推測処理では対応不可能な動作をしているものとして扱う。すなわち、過去の履歴が、未来の駆動に対して、何の裏づけにもなりえないという状況である。このような状況においては、いかなる浅いクロス制御といえども斜行記録を引き起こす可能性があるため、クロス制御は禁止される。 【0100】図15は、クロスの深さを決める直接の値として、t_lf_allow_maxが支配的になった場合を示している。 【0101】t_lf_allow_maxは、過去の履歴から導き出された、理想減速制御領域が終了してから停止までの最も長い所要時間である。過去の履歴が完全に未来の駆動を保証するのであれば、この値をもってクロスの深さを決定することができるが、DCモータの制御が動的であることを鑑みて、本発明ではこの値にT_CROSS_MARGINを加えた数値により、次に行うクロス制御の深さを決めようとしている。 【0102】以上の動作を実現する具体的処理について、図13を用いて説明する。 【0103】ステップS13001で装置がパワーオンされると、ステップS13002において、領域の初期化を行う。 【0104】ここで、mem_t_lf_allow[N]は、過去N回の駆動で記録されたt_lf_allowを格納する記憶領域である。ステップS13002では、ここに初期値T_LF_ALLOW_INIT0〜T_LF_ALLOW_INITNを格納する。 【0105】ステップS13003において、記録(LFとCRを両方とも駆動する)命令が来たか否かを調べ、来ていればステップS13005に進み、以下、クロス制御を活用した記録処理と、LF時に検出されたt_lf_allowの記録を行う。 【0106】一方、記録命令が来ていない場合にはステップS13004に進み、紙送り(LFのみを行う)命令が来たか否かを調べ、来ていればステップS13011に進み不要なクロス制御を禁止してLFの駆動を行い、LF時に検出されたt_lf_allowの記録を行う。 【0107】次に、ステップS13005以降の処理の詳細について説明する。 【0108】ステップS13005においては、まず記録データの左右端、記録方向、CRの現在位置に基づき、t_cr_flatを計算する。更にステップS13006に進み、mem_t_lf_allow[N]内の最大値を摘出してt_lf_allow_maxに代入する。 【0109】ステップS13007で、t_lf_allow_maxとT_CROSS_ENABLEを比べ、前者が大きければステップS13011に進んでクロス制御を禁止するための設定cross_sw=DISABLEを行う。さもなければステップS13008に進み、クロス制御を有効にするための設定cross_sw=ENABLEを行い、ステップS13009に進む。 【0110】ステップS13009で、t_lf_allow_maxとT_CROSS_PERFECTを比べ、前者が大きければ13012に進んで、t_lf_allow_maxを拠り所としてt_cross_startを決めるための計算を行い、ステップS11012に進む。さもなければステップS13010に進み、T_CROSS_PERFECTを拠り所としてt_cross_startを決めるための計算を行い、ステップS11012に進む。 【0111】ステップS13013のワーク領域設定処理でLFの駆動に必要なフィードバック制御のゲイン設定等の各種設定を行い、ステップS13014でタイマを起動する。ステップS13013とステップS13014を総合すると、すでに述べてきた11012(図12)に相当する。 【0112】ステップS13015は、図12における11013においてなされる処理であり、cross_sw=ENABLEの場合に限り、タイマ起動後t_cross_startが経過した瞬間にCRモータ制御タスクに対して駆動開始指令のイベントを発行する。 【0113】ステップS13017〜ステップS13019は、図12における駆動制御の終了11015に相当する処理である。 【0114】ステップS13017で、CRモータ制御タスクに対して駆動開始指令のイベントを発行する。ステップS13015においてcross_sw=DISABLEであるが故に駆動開始指令イベントが未発行である場合に限り、13017によりCRは駆動を開始する。 【0115】ステップS13018、ステップS13019で、mem_t_lf_allow[N]内の情報をひとつずつシフトし、最も古いデータは廃棄し、最新の値を代わりに記憶する。 【0116】以上述べてきた処理により、図14、図15、図16に示した動作が実現される。 【0117】なお、以上述べてきた処理において、初期値T_LF_ALLOW_INIT0〜T_LF_ALLOW_INITNの設定が持つ意味について補足説明しておく。 【0118】これらの設定を適切な値に設定することにより、パワーオン後のクロスの値をフレキシブルに設定することができる。例えば、量産のばらつきの大きい製品においては、この初期値を予め大きめに設定することで、パワーオン直後の斜行記録の危険を確実に回避し、その上で個体に見合ったt_lf_allowをmem_t_lf_allow[N]内に蓄積していくことで、斜行記録を回避した上で各個体のポテンシャルを最大限に引き出してやることが可能である。 【0119】また、T_LF_ALLOW_INIT0〜T_LF_ALLOW_INITNのうち、最初の数値のみを大きめに設定することで、パワーオン直後の走査に対する斜行記録の危険回避に対するマージンだけを大きくし、それ以降はすぐに個体に見合った実測値のt_lf_allowが支配的になるようにして、個体のポテンシャルがより早く発揮されるようにチューニングすることも可能である。 【0120】<第2の実施形態>本実施形態の構成は、第1の実施形態で述べた装置における図13の処理の他は、すべて第1の実施形態の装置と同一であるため、説明を省略する。 【0121】本実施形態の目的は、サーボ処理の違いによって、クロス制御を行うべきではない動作を識別して、該当する場合にはクロス制御を行わないようにすることである。 【0122】図7に記してすでに説明したように、一般的なLF駆動では、加速制御領域2011、定速制御領域2012、減速制御領域2013を図5に示した位置サーボで、位置決め制御領域2014を図6に示した速度サーボによって行っている。 【0123】しかしながら、より微小な送り量のLF駆動においては、2011、2012、2013の各領域を微小な送り量の中で確保することは難しい。このような場合、駆動の最初から最後までの全域を図6の速度サーボで行うことになる。速度サーボにおいては、該当する時刻における理想の速度を達成するためのフィードバック制御が行われるため、各時刻における位置の遅れの度合いはフィードバックされることなく累積していき、結果的に該当する位置に到達する時刻の保証はできなくなる。すなわち、制定時間が大きくばらつくことが予想される。 【0124】本実施形態ではかかる問題を鑑みて、速度サーボのみで駆動されるようなLF駆動の場合には、クロス制御を禁止する手段を提供するものである。 【0125】図17は、本実施形態の主題となる処理について詳細に記したフローチャートであり、図13で説明した内容と全く同じ処理については、図13と同じ通し番号で示してある。 【0126】ステップS13001で装置がパワーオンされると、ステップS17002において、領域の初期化を行う。 【0127】TABLE_COUNTは、対象となる装置が持っているLF駆動テーブルの総数を示している。ここで、mem_t_lf_allow[TABLE_COUNT][N]は、過去N回の駆動で記録されたt_lf_allowを各テーブルごとに各々格納する記憶領域である。 【0128】ステップS17002では、ここに初期値T_LF_ALLOW_INIT0_0〜T_LF_ALLOW_INIT_TABLE_COUNT_Nを格納する。 【0129】ステップS13003において、記録(LFとCRを両方とも駆動する)命令が来たか否かを調べ、来ていればステップS17001に進み送り量、記録モード等の条件から使用するテーブルを決定し、その番号を変数table_numberに格納する。 【0130】ステップS17004で、そのtable_numberで示されるテーブルの駆動が、速度サーボのみで行われるか否かを判定し、該当する場合はステップS13011に進み不要なクロス制御を禁止してからtable_numberに該当する駆動テーブルを用いてLFの駆動を行い、該LF時に検出されたt_lf_allowの記録を行う。さもなくばステップS13005に進む。 【0131】ステップS13005以下では、クロス制御を活用した記録処理と、そのLF時に検出されたt_lf_allowの記録を行う。 【0132】一方、記録命令が来ていない場合にはステップS13004に進み、紙送り(LFのみを行う)命令が来たか否かを調べ、来ていればステップS17003に進み送り量、記録モード等の条件から使用するテーブルを決定し、その番号を変数table_numberに格納する。 【0133】更に13011に進み不要なクロス制御を禁止してからtable_numberに該当する駆動テーブルを用いてLFの駆動を行い、該LF時に検出されたt_lf_allowの記録を行う。 【0134】次に、13005以降の処理の詳細について説明する。 【0135】ステップS13005においては、まず記録データの左右端、記録方向、CRの現在位置に基づき、t_cr_flatを計算する。 【0136】更に、ステップS17006に進み、mem_t_lf_allow[table_number][N]内の最大値を摘出してt_lf_allow_maxに代入する。 【0137】ステップS13007で、t_lf_allow_maxとT_CROSS_ENABLEを比べ、前者が大きければ13011に進んでクロス制御を禁止するための設定cross_sw=DISABLEを行う。さもなければ13008に進み、クロス制御を有効にするための設定cross_sw=ENABLEを行い、13009に進む。 【0138】ステップS13009で、t_lf_allow_maxとT_CROSS_PERFECTを比べ、前者が大きければ13012に進んで、t_lf_allow_maxを拠り所としてt_cross_startを決めるための計算を行い、11012に進む。さもなければステップS13010に進み、T_CROSS_PERFECTを拠り所としてt_cross_startを決めるための計算を行い、11012に進む。 【0139】ステップS13013のワーク領域設定処理でLFの駆動に必要なフィードバック制御のゲイン設定等の各種設定を行い、13014でタイマを起動する。ステップS13013とステップS13014を総合すると、すでに述べてきた11012に相当する。 【0140】ステップS13015は、図12における11013においてなされる処理であり、cross_sw=ENABLEの場合に限り、タイマ起動後t_cross_startが経過した瞬間にCRモータ制御タスクに対して駆動開始指令のイベントを発行する。 【0141】ステップS13017〜ステップS13019は、図12における11015に相当する処理である。 【0142】ステップS13017で、CRモータ制御タスクに対して駆動開始指令のイベントを発行する。ステップS13015においてcross_sw=DISABLEであるが故に該駆動開始指令イベントが未発行である場合に限り、13017によりCRは駆動を開始する。 【0143】ステップS13018、13019で、mem_t_lf_allow[table_number][N]内の情報をひとつずつシフトし、最も古いデータは廃棄し、最新の値を代わりに記憶する。 【0144】以上述べてきた処理により、制定時間が不安定な速度サーボ時にはクロス制御を禁止することができ、斜行記録の危険を回避することができる。 【0145】<第3の実施形態>本実施形態の構成は、第1の実施形態で述べた装置における図13の処理の他は、すべて第1の実施形態の装置と同一であるため、説明を省略する。 【0146】本実施形態の目的は、第1の実施形態では無視して扱ったCRの加速時間T_CR_ADDのばらつきをも慮ってt_cross_startを算出することである。 【0147】図18は、本実施形態の主題となる処理について詳細に記したフローチャートであり、図13で説明した内容と全く同じ処理については、図13と同じ通し番号で示してある。 【0148】ステップS18051、18052、18012、18010、11022、18052〜18057以外の処理は、図13における同一番号の処理と同一であるため説明を省略する。 【0149】ステップS18051は、パワーオン後の初期化処理であり、mem_t_cr_add[M]は、過去M回の駆動で記録されたCRの実加速時間t_cr_addを格納する記憶領域である。 【0150】ステップS18051では、ここに初期値T_CR_ADD_INIT0〜T_CR_ADD_INITMを格納する。 【0151】ステップS18052は、m=1〜Mにより指定可能なmem_t_cr_add[m]から最小値を摘出してt_cr_add_minを算出する処理であり、これを用いてステップS18012でt_cross_startを算出している。 【0152】ステップS18053、ステップS18054では、第1の実施形態では説明を省略した11022処理の実際について示したものである。ステップS13015で発行されたイベントにより、11022の処理は起動される。この後、フローチャート上では省略されているが、CRの実駆動処理11023が実行され、停止すると18057に進む。18057は、CRにおいて、LFにおける駆動制御終了を制御する11015と同様の処理を担うCRの駆動制御終了を制御する。ステップS18054の処理はLFにおけるステップS13016に相当する。 【0153】ステップS18055、ステップS18056で、mem_t_cr_add[M]内の情報をひとつずつシフトし、最も古いデータは廃棄し、最新の値を代わりに記憶する。 【0154】以上述べてきた処理により、CRの実加速時間の変動をも鑑みたクロス制御を実現することができる。 【0155】<第4の実施形態>本実施形態は、第3の実施形態で説明した処理に対して図19の制御を加えたものであり、その他の構成については第3の実施形態で説明した内容と等しいため説明を省略する。 【0156】図19においては、ステップS13001でパワーオンがなされるとステップ18051で、mem_t_cr_add[M]に対して初期値を各々設定する。 【0157】ステップS19051はインクタンク交換命令が来たか否かを検知する処理であり、交換命令が来た場合にはステップS19052でインクタンク交換処理を行ってから、ステップS18051に戻る。 【0158】この処理により、インクタンク重量の変化によるCRへの負荷の大きな変動が予想される場合には、mem_t_cr_add[M]を初期化することができ、CRへの負荷の大きな変動が発生した場合に、それ以前の履歴を参照して適切でない制御が作用してしまうのを防ぐことができる。 【0159】また、記録媒体の搬送機構において、ラインフィード方向に記録媒体を搬送する際、搬送対象の有無、搬送対象の負荷変動を計測し、その結果に基づき、副走査制定時間の履歴情報を初期化することも可能である。 【0160】この処理により、搬送対象に大きな負荷変動が生じた場合に、それ以前の履歴を参照して、適切でない制御が実行されるのを防止することが可能になる。 【0161】<第5の実施形態>第1の実施形態で説明した装置と同様の構成を採用し、パワーオフ時にmem_t_lf_allow[N]の値をEEP−ROM等の不揮発性RAMに保存し、パワーオン時には13002の代わりにmem_t_lf_allow[N]の初期値をその不揮発性RAM内の情報を書き戻すことによって設定する手段を具備したことを特徴とする装置である。 【0162】これによって、第1の実施形態で説明した装置では電源投入ごとにデフォルトの初期値T_LF_ALLOW_INIT0〜T_LF_ALLOW_INITNで設定しなおしていたmem_t_lf_allow[N]を、電源のON/OFFに影響されることなく継続的に反映させ続けることができ、電源投入後ただちに最適なクロス制御を行うことができるようになるものである。 【0163】 【発明の効果】以上述べたように、本発明によれば、記録装置、例えば、シリアルプリンタ、の高速化に欠かせないLFとCRのクロス制御において、斜行記録のリスクを回避した上で可能な限りLFとCRのクロスの深さを大きくすることができ、処理の高速化を達成することができる。
|
| 【出願人】 |
【識別番号】000001007 【氏名又は名称】キヤノン株式会社
|
| 【出願日】 |
平成13年5月17日(2001.5.17) |
| 【代理人】 |
【識別番号】100076428 【弁理士】 【氏名又は名称】大塚 康徳 (外3名)
|
| 【公開番号】 |
特開2002−337414(P2002−337414A) |
| 【公開日】 |
平成14年11月27日(2002.11.27) |
| 【出願番号】 |
特願2001−148343(P2001−148343) |
|