DE69833418T2 - Seriendrucker mit adressierbarem Druckpuffer - Google Patents

Seriendrucker mit adressierbarem Druckpuffer Download PDF

Info

Publication number
DE69833418T2
DE69833418T2 DE69833418T DE69833418T DE69833418T2 DE 69833418 T2 DE69833418 T2 DE 69833418T2 DE 69833418 T DE69833418 T DE 69833418T DE 69833418 T DE69833418 T DE 69833418T DE 69833418 T2 DE69833418 T2 DE 69833418T2
Authority
DE
Germany
Prior art keywords
print
printer
print data
printhead
buffer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69833418T
Other languages
English (en)
Other versions
DE69833418D1 (de
Inventor
Kazuyuki Costa Mesa Masumoto
Hiromitsu Costa Mesa Hirabayashi
Akitoshi Costa Mesa Yamada
Takao Costa Mesa Aichi
Akihiko Costa Mesa Sukigara
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
Publication of DE69833418D1 publication Critical patent/DE69833418D1/de
Application granted granted Critical
Publication of DE69833418T2 publication Critical patent/DE69833418T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41BMACHINES OR ACCESSORIES FOR MAKING, SETTING, OR DISTRIBUTING TYPE; TYPE; PHOTOGRAPHIC OR PHOTOELECTRIC COMPOSING DEVICES
    • B41B15/00Photographic composing machines with movable character carriers for composing lines of characters prior to photography
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J2/00Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
    • B41J2/005Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
    • B41J2/01Ink jet
    • B41J2/21Ink jet for multi-colour printing
    • B41J2/2107Ink jet for multi-colour printing characterised by the ink properties
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/10Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers by matrix printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0077Raster outputting to the print element(s)

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Record Information Processing For Printing (AREA)
  • Dot-Matrix Printers And Others (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Ink Jet (AREA)

Description

  • Die vorliegende Erfindung betrifft eine Speicherung von Druckdaten in einem Druckpuffer eines seriellen Druckers, der eingerichtet ist zum Drucken mit zumindest einem Aufzeichnungskopf. Sie kann sowohl auf Ein- als auch auf Mehrfarbendruck angewandt werden. Ein Ausführungsbeispiel betrifft eine Übermittlung von Aufzeichnungsdaten zwischen einem Druckertreiber in einem Informationsprozessor und einem Druckpuffer in dem seriellen Drucker.
  • Beim Drucken unter Verwendung von seriellen Druckern, etwa der „Ink Jet"- oder „Bubble Jet"-Bauart, werden Druckdaten von einem Hostprozessor-Druckertreiber an den Drucker gesendet, an dem diese zum Drucken während wiederholter Zeilenabtastungen eines Aufzeichnungsmediums durch einen Druckkopf gespeichert werden. Die Druckdaten von dem Host-Druckertreiber können direkt an den Druckkopf übermittelt werden, aber es ist wünschenswert, die Druckdaten vor dem Zeitpunkt zum Drucken an einen Puffer bzw. Zwischenspeicher zu senden, und es ist wünschenswert, Druckdaten für eine nächste Abtastung zu senden, während die Druckdaten der aktuellen Abtastung gerade gedruckt werden. Der Druckpuffer kann jedoch Druckdaten nicht für die nächste Abtastung speichern, bis die Druckdaten für die aktuelle Abtastung bereits gedruckt wurden.
  • Eine herkömmliche Lösung, die „Doppelpufferung" genannt wird, stellt zwei Druckdatenpuffer gleicher Größe bereit, wobei der erste zum Speichern von Druckdaten dient, die momentan gerade gedruckt werden, und der zweite zum Speichern von Druckdaten für eine nächste Abtastzeile dient, wie sie an den Druckpuffer übermittelt werden, während die Druckdaten der aktuellen Abtastung gerade gedruckt werden. Die Größe des Empfangspuffers kann durch die Speicherkapazität des Druckers beschränkt sein, insbesondere dann, wenn der serielle Drucker mehrere Köpfe aufweist und es für ihn erforderlich ist, eine große Menge an Druckdaten für jede Druckzeile zu speichern, wie bei einem Drucker der „Bubble Jet"-Bauart.
  • Dementsprechend besteht ein Bedarf für Druck- und Druckdatenübermittlungsanordnungen, die die Menge an benötigtem Speicher reduzieren und ein effizienteres Verfahren zum Übermitteln von Druckdaten von einem Hostprozessor an einen Drucker bereitstellen.
  • Die JP-A-9-48154 (und die US-A-5920681) offenbart ein System, das einen Puffer mit einer Kapazität von 1,5 Druckzeilen verwendet. Während des Druckens einer Zeile schreibt es einen Teil der Daten für die nächste Zeile in die übrige halbe Zeile des Druckpuffers. Sobald das Drucken der ersten Zeile vollendet ist, werden die verbleibenden Daten für die nächste Zeile in einen Teil des Bereichs geschrieben, der vorher zum Speichern von Daten für die gerade gedruckte Zeile verwendet wurde, und zwar während des Zeitraums zum Verlangsamen des Druckkopfschlittens, während eines kurzen Zeitraums, wenn der Schlitten angehalten ist, und während des Zeitraums zum Beschleunigen des Schlittens, um das Drucken der nächsten Zeile zu beginnen. Der Schlitten beginnt sich zu bewegen, womit der Beschleunigungszeitrum beginnt, wenn sich die Menge von Daten für die Zeile, die gespeichert bleibt, auf einen Punkt verringert, an dem geschätzt wird, dass alles während des Beschleunigungszeitraums gespeichert werden kann. Erreicht der Schlitten aus irgendeinem Grund den Druckbereich, während die Druckdaten infolge einer gewissen Verzögerung noch nicht vollständig in dem Zeilenpuffer gespeichert sind, wird ein Drucken basierend auf den Druckdaten für die Zeile begonnen, die bereits gespeichert wurde, während Datenempfang und -speicherung fortgesetzt werden.
  • Gemäß der vorliegenden Erfindung sind ein Verfahren zum Steuern eines Druckpuffers in einem seriellen Drucker mit zumindest einem Druckkopf wie gemäß Anspruch 1 dargelegt, ein Verfahren zum Steuern von Druckpuffern in einem seriellen Drucker mit einer Vielzahl von Druckköpfen wie gemäß Anspruch 13 dargelegt, ein serieller Drucker wie gemäß Anspruch 14 dargelegt, ein serieller Drucker wie gemäß Anspruch 15 dargelegt, ein Verfahren zum Betreiben eines Computers wie gemäß Anspruch 16 dargelegt, ein Druckertreiberprogramm wie gemäß Anspruch 23 dargelegt, ein Datenträger wie gemäß Anspruch 24 dargelegt und ein Signal wie gemäß Anspruch 25 dargelegt bereitgestellt. Optionale Merkmale sind in den restlichen Ansprüchen dargelegt.
  • Ein Ausführungsbeispiel der vorliegenden Erfindung stellt einen Druckpuffer für zumindest einen Druckkopf bereit, der einen ersten Satz von Speicherplätzen entsprechend den abtastbaren Druckpositionen des Druckkopfs und einen Druckertreiber aufweist, der während der aktuellen Abtastung freie Speicherplätze in dem Druckpuffer bestimmt und Druckdaten für eine nächste Abtastung an die bestimmten freien Speicherplätze des Druckkopfs sendet.
  • Gemäß einem Ausführungsbeispiel der Erfindung tastet der Druckkopf eine vorbestimmte Anzahl von Druckpositionen einer Zeile sowohl in der Vorwärtsrichtung als auch in der Rückwärtsrichtung ab. Der Druckpuffer für den Druckkopf umfasst erste Speicherplätze entsprechend der vorbestimmten Anzahl von Druckpositionen ebenso wie einen zweiten Satz von Speicherplätzen entsprechend einer Bewegung des Druckkopfs während eines Hochfahrzeitraums des Druckkopfs von einer stationären Positionen zur vollen Geschwindigkeit der Abtastung. Die zweiten Speicherplätze sind an einem ersten Ende der ersten Speicherplätze positioniert, wenn der Druckkopf in der Vorwärtsrichtung abtastet, und sind an einem zweiten Ende der ersten Speicherplätze positioniert, wenn der Druckkopf in der Rückwärtsrichtung abtastet.
  • Gemäß einem Ausführungsbeispiel der Erfindung bestimmt der Druckertreiber in dem Druckpuffer den linken und den rechten Rand der leeren Plätze der aktuellen Abtastung und sendet die Druckdaten der nächsten Abtastung an die bestimmten leeren Plätze zwischen dem linken und dem rechten Rand. Vorzugsweise führt der Druckertreiber die Bestimmung von leeren Plätzen ohne das Erfordernis von Informationen von dem Drucker durch, aber der Druckertreiber kann auch konfiguriert sein, den Drucker abzufragen, um so Adressen für leere Plätze zu erhalten.
  • Vorzugsweise ist der Druckertreiber in einem Speichermedium eines Hostprozessors gespeichert und umfasst von einem Prozessor ausführbare Programmcodes zum Steuern einer Übermittlung von Druckdaten von dem Hostprozessor an den Druckpuffer für zumindest einen Druckkopf in dem seriellen Drucker mit einem ersten Satz von Speicherplätzen zum Speichern von Druckdaten für eine aktuelle Abtastung des zumindest einen Druckkopfs. Ein erster Satz von Prozessor-ausführbaren Programmcodes bestimmt Speicherplätze des ersten Satzes in dem Druckpuffer, die während der ersten Abtastung leer sind, wie etwa Plätze an einem der Enden des Druckpuffers, die einem Hochfahrzeitraum des Druckkopfs während Vorwärts- oder Rückwärtsdruck entsprechen, und ein zweiter Satz von Prozessor-ausführbaren Programmcodes sendet während der aktuellen Abtastung Druckdaten einer nächsten Abtastung des Druckkopfs an die bestimmten leeren Speicherplätze.
  • Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung ist ein Druckertreiber in einem Host-Computer ausführbar, um dadurch ein Band von Druckdaten an einen Drucker zu senden, der zumindest einen Druckkopf, der nach einem Hochfahrzeitraum bis zu einem Herunterfahrzeitraum eine vorbestimmte Anzahl von Druckpositionen seriell abtastet, und einen Druckpuffer für den zumindest einen Druckkopf aufweist. Der Druckertreiber sendet zuerst das eine Band von Druckdaten für ein Vorwärtsdrucken in Speicherplätze, die der vorbestimmten Anzahl von Duckpositionen entsprechen, von einer vorbestimmten Adresse bis zu einer Endadresse in dem Druckpuffer. Zweitens sendet der Druckertreiber das eine Band von Druckdaten für ein Rückwärtsdrucken in Speicherplätze, die der vorbestimmten Anzahl von Duckpositionen entsprechen, von einer Anfangsadresse bis zu einer vorbestimmten Adresse in dem Druckpuffer.
  • Ausführungsbeispiele der vorliegenden Erfindung sind nachstehend unter Bezugnahme auf die beigefügte Zeichnung beschrieben, bei denen zeigen:
  • 1 eine perspektivische Darstellung eines Computergeräts, das in Verbindung mit dem Drucker gemäß einem Ausführungsbeispiel der vorliegenden Erfindung verwendet wird,
  • 2 eine perspektivische Vorderansicht des in 1 gezeigten Druckers,
  • 3 eine perspektivische Rückansicht des in 1 gezeigten Druckers,
  • 4 eine perspektivische Ausschnittsvorderansicht des in 1 gezeigten Druckers,
  • 5 eine perspektivische Ausschnittsrückansicht des in 1 gezeigten Druckers,
  • 6A und 6B Vorder- bzw. Rückansichten eines Kartuschenfaches bzw. Kartuschenbehälters, das/der in Verbindung in mit einem Ausführungsbeispiel der vorliegenden Erfindung verwendet wird,
  • 7 ein Beispiel einer entfernbaren Tintenkartusche, die mit einem Ausführungsbeispiel der vorliegenden Erfindung verwendet wird,
  • 7A und 7B Ansichten eines Beispiels eines zweiten Typs einer Tintenkartusche, die mit einem Ausführungsbeispiel der vorliegenden Erfindung verwendet wird,
  • 8 eine Ansicht von Kopfkonfigurationen für Druckköpfe, die mit einem Ausführungsbeispiel der vorliegenden Erfindung verwendet werden,
  • 9 Punktkonfigurationen, die durch den Drucker gemäß einem Ausführungsbeispiel der vorliegenden Erfindung gedruckt werden,
  • 10 ein Blockschaltbild, das die Hardwarekonfiguration einer Host-Verarbeitungsvorrichtung zeigt, die mit dem Drucker gemäß einem Ausführungsbeispiel der vorliegenden Erfindung verbunden ist,
  • 11 ein funktionales Blockschaltbild der Host-Verarbeitungsvorrichtung und des Druckers, die in 10 gezeigt sind,
  • 12 ein Blockschaltbild, das die interne Konfiguration der in 10 gezeigten Gatteranordnung zeigt,
  • 13 die Speicherarchitektur des Druckers gemäß einem Ausführungsbeispiel der vorliegenden Erfindung,
  • 14 ein Gesamtsystemflussdiagramm, das die Operation des Druckers gemäß einem Ausführungsbeispiel der vorliegenden Erfindung ausführlich beschreibt,
  • 15 ein Flussdiagramm, das eine Druckerantwort auf eine Benutzeroperation des Druckers gemäß einem Ausführungsbeispiel der vorliegenden Erfindung zeigt,
  • 16 ein Flussdiagramm, das einen Drucksteuerablauf gemäß einem Ausführungsbeispiel der vorliegenden Erfindung zeigt,
  • 17 ein Flussdiagramm, das ein Einstellen von Abtastparametern gemäß einem Ausführungsbeispiel der vorliegenden Erfindung zeigt,
  • 18 eine Tabelle, die einen Befehlsablauf während einer Drucksequenz zeigt,
  • 19 ein Flussdiagramm, das eine harte Einschaltsequenz für den Drucker gemäß einem Ausführungsbeispiel der vorliegenden Erfindung zeigt,
  • 20 ein Flussdiagramm, das eine weiche Einschaltsequenz für den Drucker gemäß einem Ausführungsbeispiel gemäß der vorliegenden Erfindung zeigt,
  • 21 ein Flussdiagramm, das eine weiche Abschaltsequenz für den Drucker gemäß einem Ausführungsbeispiel der vorliegenden Erfindung zeigt,
  • 22 zyklische Steuerungsprogramme für verschiedene Aufgaben, einschließlich einer Centronics-Schnittstellenaufgabe,
  • 23 ein Flussdiagramm, das eine Steuereinrichtungszeitgebersteuerung gemäß einem zyklischen Steuerungsprogramm zur Steuerung von Zeitgeberoperationen veranschaulicht,
  • 24 eine detaillierte perspektivische Ansicht des Druckers, der in 1 gezeigt ist, in der der Drucker ein zugehöriges Ausstoßfach für einen Betrieb eingestellt hat,
  • 25 eine detaillierte perspektivische Ansicht des Ausstoßfaches gemäß 24,
  • 25A eine perspektivische Nahansicht eines Beispiels einer abgeschrägten Kante, die bei Klappen, die in dem Ausstoßfach gemäß 25 verwendet werden, beinhaltet ist,
  • 25B und 25C Ansichten der Klappe, die in 25A gezeigt ist, die zur Beschreibung der abgeschrägten Kante verwendet werden,
  • 26 eine detaillierte perspektivische Ansicht von Verbindungen einer Klappe bei dem Ausstoßfach gemäß 24,
  • 27 eine veränderte detaillierte perspektivische Ansicht des Ausstoßfaches gemäß 24,
  • 28 eine Unteransicht des Druckers gemäß 1,
  • 29A bis 29D den Betrieb des Ausstoßfaches gemäß 24,
  • 29E eine perspektivische Ansicht eines zweiten Ausführungsbeispiels des Papierausstoßfaches gemäß einem Ausführungsbeispiel der vorliegenden Erfindung,
  • 30A bis 30B den Betrieb eines Kartuschenfaches bzw. Kartuschenbehälters in dem Drucker gemäß einem Ausführungsbeispiel der vorliegenden Erfindung,
  • 31A und 31B eine Tintenkartusche, die in dem Kartuschenbehälter gemäß 30A und 30B installiert ist,
  • 32 die Konfiguration eines Tintenreinigungsmechanismus, der bei dem Drucker gemäß 1 verwendet wird,
  • 33A und 33B eine Tintenreinigung jedes Druckkopfes, der in dem Drucker gemäß 1 installiert ist,
  • 34 ein Flussdiagramm, das eine Kompensation bzw. einen Abgleich von Druckkopfbefehlsdaten in einer Host-Verarbeitungsvorrichtung zeigt,
  • 35 ein Flussdiagramm, das eine zeitbasierte Reinigung zeigt, die entsprechend einem Ausführungsbeispiel der vorliegenden Erfindung ausgeführt wird,
  • 36 ein Flussdiagramm, das die Schritte zeigt, durch die der Drucker gemäß einem Ausführungsbeispiel der vorliegenden Erfindung einen abgelaufenen Zeitplan einhält,
  • 37, 38, 39 und 40 Flussdiagramme, die die automatische Reinigungssequenz zeigen, die durch den Drucker gemäß einem Ausführungsbeispiel der vorliegenden Erfindung ausgeführt wird,
  • 41 ein Flussdiagramm, das einen Tintenkartuschenkopfersatz gemäß einem Ausführungsbeispiel der vorliegenden Erfindung zeigt,
  • 42 Schritte, die ausgeführt werden, wenn Papier in den Drucker gemäß der vorliegenden Erfindung geladen wird und eine automatische Reinigungssequenz initiiert wird,
  • 43 ein Zeitsteuerungsdiagramm, das einen Reinigungsplan gemäß einem Ausführungsbeispiel der vorliegenden Erfindung zeigt,
  • 43A ein Flussdiagramm zur Beschreibung einer Steuerung von Druckerdüsentreiberzeiten,
  • 43B ein Diagramm, das auseinander gezogene Ansichten von Tabellen für Erwärmungkoeffizienten und Tabellen für Treiberzeiten zeigt, die in einem Drucker gespeichert sind,
  • 43C ein Flussdiagramm zur Beschreibung einer Steuerung einer Düsenausstoßsequenz und einer Tröpfchengröße,
  • 43D bis 43F Wechselbeziehungen zwischen einer Kopfverwendung und einer Druckpufferverwendung für verschiedene Druckbedingungen,
  • 43G Düsenerwärmungssequenzen für verschiedene Druckbedingungen,
  • 43-1A bis 43-1E eine Übertragung von Daten von einer Host-Verarbeitungsvorrichtung zu einem Druckpuffer in einem Drucker,
  • 43-2A bis 43-2E eine Druckdatenübertragung beim Zeichnen einer Rückwärtsabtastung gefolgt von einer Vorwärtsabtastung,
  • 43-3A bis 43-3F eine Übertragung von Druckdaten während einer Vorwärtsabtastung eines einzelnen Druckkopfes über ein Druckmedium,
  • 43-4A bis 43-4F eine Druckdatenübertragung während einer Vorwärtsabtastung gemäß einem alternativen Ausführungsbeispiel der Erfindung,
  • 43-5A bis 43-5F eine Druckdatenübertragung während einer Rückwärtsabtastung, nachdem eine Vorwärtsabtastung ausgeführt worden ist,
  • 43-6A bis 43-6F eine Druckdatenübertragung während einer Vorwärtsabtastung eines einzelnen Druckkopfes,
  • 43-7A bis 43-7L eine Druckdatenübertragung in einer Vorwärtsrichtung für ein Paar von Druckköpfen,
  • 44A eine Druckdatenübertragung in einer Vorwärtsrichtung für ein Paar von Druckköpfen,
  • 44B eine Druckdatenübertragung in einer Rückwärtsrichtung für ein Paar von Druckköpfen,
  • 44C bis 44M Flussdiagramme, die eine Übertragung von Druckdaten von einem Druckdatenspeicher in einer Host-Verarbeitungsvorrichtung zu einem Druckpuffer in einem Drucker veranschaulicht,
  • 44N zwei Blockschaltbilder, die mögliche Anwendungen einer Verschiebungspuffertechnologie in einem Drucksystem veranschaulichen,
  • 45 eine darstellende Ansicht zur Beschreibung der Vorteile eines Ausdrucks mit unterschiedlichen Auflösungen für jeden von unterschiedlichen Köpfen,
  • 45A ein Flussdiagramm, das Verarbeitungsschritte zeigt, die durch einen Drucktreiber in der Host-Verarbeitungsvorrichtung ausgeführt werden, um eine Druckauflösung für jeden Druckkopf unabhängig zu steuern und zu befehlen, dass ein Ausdruck hierdurch bewirkt wird,
  • 46 eine Benutzerschnittstelle, die mit dem Drucker gemäß der vorliegenden Erfindung verbunden ist,
  • 46A eine darstellende Ansicht zur Beschreibung der Vorteile eines Druckens mit unterschiedlichen Auflösungen für einen Druckkopf,
  • 46B ein Flussdiagramm, das Verarbeitungsschritte zeigt, die durch einen Drucktreiber in der Host-Verarbeitungsvorrichtung ausgeführt werden, um eine Druckauflösung für einen Druckkopf zu steuern, und um zu befehlen, dass ein Ausdruck hierdurch bewirkt wird,
  • 47 ein Flussdiagramm, das Verarbeitungsschritte veranschaulicht, die durch einen Drucker für eine unabhängige Druckauflösungseinstellung ausgeführt werden,
  • 48 ein Flussdiagramm zur Beschreibung eines Verfahrens zur Tintenauswahl,
  • 49 einen Bereich, der zur Bestimmung verwendet wird, ob ein schwarzes Zielbildelement innerhalb eines unterschiedlich gefärbten Bereichs liegt,
  • 49A ein Flussdiagramm, das eine Auswahl einer CMYK-Schwarz-Tinte oder einer pigmentbasierten Schwarz-Tinte beschreibt,
  • 50A, 50B und 50C ein Drucken eines Bereichs, der benachbart zu einer Grenze zwischen einem schwarzen Bereich und einem unterschiedlich gefärbten Bereich ist,
  • 51 ein Flussdiagramm zur Beschreibung eines Verfahrens zum Drucken eines Bereichs, der benachbart zu einer Grenze zwischen einem schwarzen Bereich und einem unterschiedlich gefärbten Bereich ist,
  • 52 ein Flussdiagramm zur Beschreibung eines Verfahrens zum Drucken eines Bereichs, der benachbart zu einer Grenze zwischen einem schwarzen Bereich und einem unterschiedlich gefärbten Bereich ist,
  • 53A, 53B und 53C ein Verfahren zum Drucken von Daten auf der Grundlage von Druckdaten eines Bereichs, der benachbart zu einer Grenze zwischen einem schwarzen Bereich und einem unterschiedlich gefärbten Bereich ist,
  • 54 eine Farbverarbeitung gemäß einem Ausführungsbeispiel der Erfindung und
  • 54A und 54B eine Binarisierung von Bildelementen gemäß einem Ausführungsbeispiel der Erfindung.
  • Die ausführliche Beschreibung des Ausführungsbeispiels ist in Abschnitte wie nachstehend genannt organisiert:
    • 1.0 Mechanisch
    • 1.1 Aufbau
    • 1.2 Funktionen
    • 1.2.1 Manuelle Reinigung
    • 1.2.2 Kartuschenersatz
    • 1.3 Tintenkartusche
    • 1.4 Druckkopfaufbau
    • 1.5 Druckbetriebsarten
    • 2.0 Elektrisch
    • 2.1 Systemarchitektur
    • 2.2 Systemfunktion
    • 2.3 Steuerungslogik
    • 2.4 Allgemeiner Betrieb
    • 3.0 Architektur der Druckersoftware
    • 3.1 Betriebssystem
    • 3.2 Initialisierung
    • 3.3 Aufgaben
    • 3.4 Unterbrechungssteuerungsprogramme
    • 3.5 Zyklische Steuerungsprogramme
    • 3.6 Befehle zu und von der Host-Verarbeitungsvorrichtung
    • 3.6.1 Steuerungsbefehle
    • 3.6.2 Einstellbefehle
    • 3.6.3 Aufrechterhaltungsbefehle
    • 3.7 Befehle zu und von dem Druckergerät oder Druckerantrieb
    • 4.0 Papierausstoßfach
    • 4.1 Erstes Ausführungsbeispiel
    • 4.2 Zweites Ausführungsbeispiel
    • 5.0 Tintenreinigungsmechanismus
    • 6.0 Speichern von Druckerprofilparametern
    • 7.0 Terminieren einer Reinigung von Druckköpfen
    • 7.1 Reinigungsplanungsvorgang
    • 7.2 Automatischer Reinigungsvorgang
    • 7.3 Reinigen eines Druckkopfes
    • 8.0 Einstellen und Modifizieren von Druckkopftreiberparametern
    • 9.0 Druckpufferoperation
    • 9.1 Einzelner Druckpuffer
    • 9.2 Allgemeine Beschreibung einer Puffersteuerung
    • 10.0 Mehrfachkopfdrucken mit unterschiedlichen Auflösungen
    • 11.0 Auswahl von alternativen Tinten
    • 11.1 Auswahl von CMYK-Schwarz oder Pigment-Schwarz
    • 11.2 Grenzbereichsdrucken
    • 11.3 Drucken mit unterschiedlichen Tinten bei unterschiedlichen Auflösungen
  • 1.0 Mechanisch
  • Dieser Abschnitt beschreibt den mechanischen Entwurf und die Funktionalität eines Druckers, der ein nachstehend beschriebenes Ausführungsbeispiel der Erfindung darstellt.
  • 1.1 Aufbau
  • In 1 ist eine Ansicht gezeigt, die das äußere Erscheinungsbild eines Computergeräts zeigt, das ein Ausführungsbeispiel der hier beschriebenen Erfindung darstellt. Das Computergerät 20 umfasst eine Host-Verarbeitungsvorrichtung 23. Die Host-Verarbeitungsvorrichtung 23 umfasst einen Personalcomputer (nachstehend "PC" genannt), vorzugsweise einen IBM-kompatiblen PC-Computer mit einer Fensterumgebung, wie bspw. Microsoft® Windows95. Das Computergerät 20 ist mit einem Anzeigebildschirm 22, der einen Farbmonitor oder dergleichen umfasst, einer Tastatur 26 zur Eingabe von Textdaten und Benutzerbefehlen und einer Zeigervorrichtung 27 versehen. Die Zeigervorrichtung 27 umfasst vorzugsweise eine Maus zum Zeigen und Manipulieren von Objekten, die auf dem Anzeigebildschirm 22 angezeigt sind.
  • Das Computergerät 20 umfasst ein computerlesbares Speichermedium, wie bspw. eine Computerfestplatte 25 und eine Floppydiskettenschnittstelle 24. Die Floppydiskettenschnittstelle 24 stellt eine Einrichtung bereit, durch die das Computergerät 20 Zugriff auf Informationen, wie bspw. Daten, Anwendungsprogramme usw., erhalten kann, die auf Floppydisketten gespeichert sind. Eine ähnliche CD-ROM-Schnittstelle (nicht gezeigt) kann bei dem Computergerät 20 vorgesehen sein, durch die das Computergerät 20 Zugriff auf Informationen erhalten kann, die auf CD-ROM gespeichert sind.
  • Die Platte 25 speichert neben anderen Dingen Anwendungsprogramme, durch die die Host-Verarbeitungsvorrichtung 23 Dateien erzeugt, diese Dateien manipuliert und auf der Platte 25 speichert, Daten in diesen Dateien einer Bedienungsperson über den Anzeigebildschirm 22 darstellt und Daten in diesen Dateien über einen Drucker 30 druckt. Die Platte 25 speichert ebenso ein Betriebssystem, das, wie vorstehend genannt ist, vorzugsweise ein Fenster-Betriebssystem wie bspw. Windows95, ist. Zumindest einer der Vorrichtungstreiber umfasst einen Druckertreiber, der eine Softwareschnittstelle zu einer Firmware in dem Drucker 30 bereitstellt. Ein Datenaustausch zwischen der Host-Verarbeitungsvorrichtung 23 und dem Drucker 30 ist nachstehend ausführlicher beschrieben.
  • Gemäß bevorzugten Ausführungsbeispielen der Erfindung ist der Drucker 30 ein serieller Mehrfachkopfdrucker. Folglich werden, obwohl die hier beschriebenen Ausführungsbeispiele nicht auf die Verwendung eines derartigen Druckers begrenzt sind, die Ausführungsbeispiele im Zusammenhang mit einem derartigen Drucker beschrieben.
  • Diesbezüglich zeigen 2 und 3 perspektivische Vorder- und Rück-Nahansichten des Drucker 30. Wie es in diesen Figuren gezeigt ist, umfasst der Drucker 30 ein Gehäuse 31, eine Zugangstür 32, eine automatische Zufuhreinrichtung 34, eine automatische Zufuhreinstelleinrichtung 36, eine manuelle Zufuhreinrichtung 37, eine manuelle Zufuhreinstelleinrichtung 39, eine Medienausstoßöffnung 40, ein Ausstoßfach 41, einen Fachbehälter 42, ein Anzeigelicht 43, einen Energieschalter oder Stromschalter 44, einen Wiederaufnahmeschalter 46, eine Energie- oder Stromzufuhr 47, ein Stromkabel 49 und eine Parallelanschlussverbindungseinrichtung 50.
  • Das Gehäuse 31 ist ungefähr 498 mm breit, 271 mm tief und 219 mm hoch und beherbergt die internen Arbeitseinrichtungen des Drucker 30 einschließlich des nachstehend beschriebenen Druckantriebs oder Druckgeräts, das Bilder auf Aufzeichnungsmedien druckt. In das Gehäuse 31 ist die Zugangstür 32 eingefügt. Die Zugangstür 32 kann manuell geöffnet und geschlossen werden, um einem Benutzer den Zugang zu den internen Arbeitseinrichtungen des Druckers 30 und insbesondere den Zugang zu Druckkartuschen bzw. Druckkassetten, die in dem Drucker 30 installiert sind, zu ermöglichen. An diesem Ende umfasst der Drucker 30 ebenso einen (nicht gezeigten) Sensor, der erfasst, wenn die Zugangstür 32 geöffnet und geschlossen worden ist. Sobald erfasst ist, dass die Zugangstür 32 geöffnet worden ist, werden Kartuschenfächer bzw. Kartuschenbehälter, die die Kartuschen innerhalb des Druckers 30 lösbar halten, zu einer Position bewegt, die der offenen Zugangstür 32 entspricht. Einzelheiten dieses Merkmals sind nachstehend bereitgestellt.
  • Auf der Oberseite der Zugangstür 32 ist ein Vorderbedienfeld mit dem Anzeigelicht 43, dem Energieschalter 44 und dem Wiederaufnahmeschalter 46 angeordnet. Der Energieschalter 44 ist eine Steuerung, durch die ein Benutzer den Drucker 30 ein- und ausschalten kann. Zusätzliche Funktionen sind jedoch ebenso durch den Energieschalter 44 verfügbar. Beispielsweise kann eine Prüfdruckfunktion ausgewählt werden, indem der Energieschalter 44 gedrückt oder gehalten wird, bis ein (nicht gezeigter) Lautsprecher in dem Drucker 30 einen Ton ausgibt, wie bspw. einen Piepton. In Reaktion auf diese Prüfdruckfunktion druckt der Drucker 30 ein Prüfmuster.
  • Die Wiederaufnahmetaste 46 stellt eine Steuerung bereit, durch die eine Bedienungsperson ein Drucken wiederaufnehmen kann, nachdem eine Fehlerbedingung aufgetreten ist. Zusätzlich kann die Wiederaufnahmetaste 46 verwendet werden, um andere Funktionen zu aktivieren. Beispielsweise kann eine Druckkopfreinigungsfunktion durch Drücken der Wiederaufnahmetaste 46, bis der Lautsprecher in dem Drucker 30 einen Piepton erzeugt, aktiviert werden.
  • Diesbezüglich ist der Drucker 30 in der Lage, eine Vielzahl von aufeinanderfolgenden Pieptönen bereitzustellen. Jeder dieser Töne zeigt einen unterschiedlichen Typ von Fehler an, wie bspw. Papier leer, Papierstau usw.
  • Das Anzeigelicht 43 umfasst eine einzelne Lichtleitung, eine grünes Licht emittierende Diode (nachstehend „LED" genannt) und eine orange LED. Das Anzeigelicht 43 stellt einem Benutzer eine Anzeige des Betriebszustands des Druckers 30 bereit. Genauer gesagt, wenn das Anzeigelicht 43 aus ist, zeigt dies an, dass der Drucker 30 ausgeschaltet ist. Wenn das Anzeigelicht 43 grün beleuchtet ist (d.h., die grüne LED ist aktiviert), zeigt dies an, dass der Drucker 30 mit Energie versorgt wird und bereit zum Drucken ist. Wenn das Anzeigelicht 43 grün ist und blinkt, zeigt dies einen Betriebszustand des Drucker an, wie bspw., dass der Drucker derzeit eingeschaltet wird.
  • Das Anzeigelicht 43 kann ebenso durch die orange LED orange beleuchtet werden. Wenn das Anzeigelicht 43 orange beleuchtet wird, zeigt dies an, dass ein behebbarer oder wiederherstellbarer Fehler, d.h. ein Bedienungspersonruffehler in dem Drucker 30 aufgetreten ist. Behebbare Fehler umfassen Papier leer, Papierstau, eine fehlerhafte Kartusche, die in dem Drucker 30 installiert ist, einen im Vorgang befindlichen Kartuschenersatz usw. Es ist möglich, den Typ eines behebbaren Fehlers auf der Grundlage einer Anzahl von Pieptönen von dem Lautsprecher des Druckers 30 zu unterscheiden. Durch Zählen dieser Pieptöne kann, wenn die Anzeige-LED kontinuierlich orange ist, ein Benutzer bestimmen, welcher Fehler aufgetreten ist, und entsprechend handeln.
  • Wenn das Anzeigelicht 43 orange ist und blinkt, zeigt dies an, dass ein schwerer Fehler, d.h. ein Serviceruffehler in dem Drucker 30 aufgetreten ist. Es ist möglich, den Typ des schweren Fehlers, der aufgetreten ist, allein durch Zählen, wie oft das orangene Licht geblinkt hat, zu unterscheiden.
  • Wie es in 2 und 3 gezeigt ist, ist ebenso die automatische Zufuhreinrichtung 34 bei dem Gehäuse 31 des Druckers 30 beinhaltet. Die automatische Zufuhreinrichtung 34 definiert einen Medienzufuhrabschnitt des Druckers 30. Das heißt, die automatische Zufuhreinrichtung 34 speichert Aufzeichnungsmedien, auf die der Drucker 30 Bilder druckt. Diesbezüglich ist der Drucker 30 in der Lage, Bilder auf einer Vielzahl von Aufzeichnungsmedientypen zu drucken. Diese Typen umfassen, sind aber nicht darauf begrenzt, einfaches Papier, Hochauflösungspapier, transparente Medien, Hochglanzpapier, Glanzfolie, Back-Print-Film, Stofftücher, T-Shirt-Übertragungen, Tintenstrahlpapier, Grußkarten, Broschürenpapier, Plakatpapier, dickes Papier usw.
  • Die automatische Zufuhreinrichtung 34 ist in der Lage, einen Aufzeichnungsmedienstapel aufzunehmen, der näherungsweise 13 mm dick ist. Dies bedeutet, dass die automatische Zufuhreinrichtung 34 bspw. näherungsweise 130 Papierblätter mit einer Dichte von 64 g/m2 oder annähernd 15 Umschläge halten kann. Während eines Druckens werden einzelne Blätter, die innerhalb der automatischen Zufuhreinrichtung 34 gestapelt sind, von der automatischen Zufuhreinrichtung 34 durch den Drucker 30 geführt. Genauer gesagt ziehen (nachstehend beschriebene) Walzen in dem Drucker 30 einzelne Medien von der automatischen Zufuhreinrichtung 34 in den Drucker 30. Diese einzelne Medien werden dann in einen "J-"Typ-Weg durch die Walzen zu einer Ausstoßöffnung 40 geführt, die in 2 gezeigt ist.
  • Die automatische Zufuhreinrichtung 34 umfasst die automatische Zufuhreinstelleinrichtung 36. Die automatische Zufuhreinstelleinrichtung 36 ist seitlich bewegbar, um unterschiedliche Mediengrößen innerhalb der automatischen Zufuhreinrichtung 34 unterzubringen. Die automatische Zufuhreinrichtung 34 umfasst ebenso einen Träger bzw. eine Verstärkung 55, die ausschiebbar bzw. ausdehnbar ist, um Aufzeichnungsmedien, die in der automatischen Zufuhreinrichtung 34 gehalten werden, zu tragen. Wenn er nicht in Gebrauch ist, wird der Träger 55 in einen Schlitz in der automatischen Zufuhreinrichtung 34 gespeichert bzw. untergebracht, wie es in 2 gezeigt ist. Ein Beispiel eines herausgezogenen Trägers 55 ist in 24 gezeigt, die nachstehend beschrieben ist.
  • Einzelne Blätter können ebenso durch den Drucker 30 über die manuelle Zufuhreinrichtung 37, die in 3 gezeigt ist, zugeführt werden, die ebenso einen Medienzufuhrabschnitt des Druckers 30 definiert. Gemäß bevorzugten Ausführungsbeispielen kann die manuelle Zufuhreinrichtung 37 Medien mit einer Dichte von zumindest zwischen 64 g/m2 und 550 g/m2 sowie mit einer Dicke von 0,8 mm unterbringen. Blätter, die durch die manuelle Zufuhreinrichtung 37 zugeführt sind, werden direkt durch die Walzen in den Drucker 30 zu der Ausstoßöffnung 40 geführt. Wie es bei der automatischen Zufuhreinrichtung 34 der Fall war, umfasst die manuelle Zufuhreinrichtung 37 eine manuelle Zufuhreinstelleinrichtung 39. Durch seitliches Schieben der manuellen Zufuhreinstelleinrichtung 39 kann ein Benutzer die Medien variieren, die die manuelle Zufuhreinrichtung 37 unterbringen kann.
  • Unter Verwendung der manuellen Zufuhreinrichtung 37 und der automatischen Zufuhreinrichtung 34 kann der Drucker 30 Bilder auf Medien mit einer Vielzahl von unterschiedlichen Größen drucken. Diese Größen umfassen, sind aber nicht darauf begrenzt, Brief- oder Letter-Format, Legal-Format, A4, A3, A5, B4, B5, Tabloid- bzw. Zeitungsformat, #10-Umschläge, DL-Umschläge, Plakat-Format, Breitplakat-Format und LTR-Full-Bleed-Format. Aufzeichnungsmedien mit benutzerdefinierten Größe können ebenso mit dem Drucker 30 verwendet werden.
  • Wie es vorstehend beschrieben ist, werden die Medien durch den Drucker 30 geführt und aus der Ausstoßöffnung 40 in das Ausstoßfach 41 ausgestoßen. Wie es nachstehend in Abschnitt 4.0 ausführlicher beschrieben ist, umfasst das Ausstoßfach 41 mit Federn vorgespannte Klappen, die Medien tragen, die aus dem Drucker 30 ausgestoßen sind, und die sich nach unten bewegen, wenn mehr Medien darauf gestapelt werden. Wenn es nicht in Gebrauch ist, wird das Ausstoßfach 41 innerhalb eines Fachbehälters 42 des Druckers 30 gespeichert, wie es in 2 gezeigt ist.
  • Ein Stromkabel 40 verbindet den Drucker 30 mit einer externen Wechselstromquelle. Die Energieversorgung 47 wird verwendet, um Wechselstrom von der externen Stromquelle umzuwandeln und um den umgewandelten Strom bzw. die umgewandelte Energie dem Drucker 30 zuzuführen. Der Parallelanschluss 50 verbindet den Drucker 30 mit der Host-Verarbeitungsvorrichtung 23. Der Parallelanschluss 50 umfasst vorzugsweise einen bidirektionalen IEEE-1284-Anschluss, über den Daten und Befehle wie bspw. diejenigen, die nachstehend in Abschnitt 3.0 beschrieben sind, zwischen dem Drucker 30 und der Host-Verarbeitungsvorrichtung 23 übertragen werden.
  • In 4 und 5 sind perspektivische Rück- bzw. Vorderausschnittsansichten des Druckers 30 gezeigt. Wie es in 5 gezeigt ist, umfasst der Drucker 30 Walzen 60, die vorstehend genannt sind, zum Transportieren von Medien von entweder der automatischen Zufuhreinrichtung 34 oder der manuellen Zufuhreinrichtung 37 durch den Drucker 30 zu der Medienausstoßöffnung 40. Die Walzen 60 drehen sich während des Medientransports entgegen dem Uhrzeigersinn, wie es durch einen Pfeil 60a angegeben ist, der in 5 gezeigt ist.
  • Ein Zeilenzufuhrmotor 61 steuert die Drehung der Walzen 60. Der Zeilenzufuhrmotor 61 umfasst einen 96-Schritt-2-2-Phasen-Impulsmotor und wird in Reaktion auf Befehle gesteuert, die von einer Schaltungsplatine 62 empfangen werden. Der Zeilenzufuhrmotor 61 wird durch einen Motortreiber bzw. eine Motoransteuerungseinrichtung mit einer 4-Stufen-Stromsteuerung angetrieben bzw. angesteuert.
  • Gemäß bevorzugten Ausführungsbeispielen ist der Zeilenzufuhrmotor 61 in der Lage, die Walzen 60 zu veranlassen, sich derart zu drehen, dass ein Aufzeichnungsmedium durch den Drucker 30 mit 120 mm/sek geführt wird. In einer primären Betriebsart für den Drucker 30 ist die Zeilenzufuhrauflösung (1/720) Zoll/Impuls (2-2-Phase), und in einer 1440-dpi-Betriebsart ist die Zeilenauflösung (1/1440) Zoll/Impuls (1-2-Phase). Die Druckbetriebsarten sind nachstehend ausführlicher beschrieben.
  • Wie es in 4 gezeigt ist, ist der Drucker 30 ein Doppelkartuschen-Drucker, der Bilder unter Verwendung von zwei Druckköpfen (d.h. einem Kopf pro Kartusche) druckt. Genauer gesagt werden diese Kartuschen Seite an Seite durch Kartuschenbehälter 64a und 64b derart gehalten, dass die jeweiligen Druckköpfe bei den Kartuschen horizontal zueinander versetzt sind. Ein Schlittenmotor 66, der in 5 gezeigt ist, steuert die Bewegung der Kartuschenbehälter 64a und 64b in Reaktion auf Befehle, die von der Schaltungsplatine 62 empfangen werden. Genauer gesagt steuert der Schlittenmotor 66 die Bewegung eines Riemens 67, der wiederum die Bewegung der Kartuschenbehälter 64a und 64b entlang eines Schlittens 69 steuert. Diesbezüglich stellt der Schlittenmotor 66 eine bidirektionale Bewegung des Riemens 67 und somit der Kartuschenbehälter 64a und 64b bereit. Durch dieses Merkmal ist der Drucker 30 in der Lage, Bilder sowohl von links nach rechts als auch von rechts nach links zu drucken.
  • Der Schlittenmotor 66 umfasst einen 69-Schritt-2-2-Phasen-Impulsmotor mit einer Schlittenauflösung von (9/360) Zoll/Impuls. Der Schlittenmotor 66 wird durch einen Motortreiber bzw. eine Motoransteuerungseinrichtung mit einer 4-Stufen-Stromsteuerung angesteuert bzw. angetrieben. Wenn der Drucker 30 in einer 360-dpi-Betriebsart druckt, wird der Schlittenmotor 66 angesteuert, um die Kartuschenbehälter 64a und 64b zu veranlassen, sich entlang dem Schlitten 69 mit einer Standardgeschwindigkeit von 459,32 mm/sek (10 kHz) zu bewegen. Im Gegensatz dazu wird, wenn der Drucker 30 in einer 720-dpi-Betriebsart druckt, der Schlittenmotor 66 angetrieben, die Kartuschenbehälter 64a und 64b zu veranlassen, sich entlang dem Schlitten 69 mit einer Standardgeschwindigkeit von 229,66 mm/sek (5,0 kHz) zu bewegen. Die Druckgeschwindigkeit kann ebenso auf 3,26 kHz verringert werden, wie es nachstehend in Abschnitt 3.6.2 beschrieben ist.
  • In 6A ist eine ausführliche perspektivische Ansicht des Kartuschenbehälters 64b aus 4 gezeigt. Beide Kartuschenbehälter 64a und 64b sind in ihrem Aufbau identisch mit Ausnahme des Vorhandenseins eines automatischen Ausrichtungssensors ("AA-Sensor"), der lediglich bei dem Kartuschenbehälter 64b beinhaltet ist. Folglich ist aus Gründen der Verkürzung lediglich der Kartuschenbehälter 64b nachstehend ausführlich beschrieben.
  • Der Kartuschenbehälter 64b wird verwendet, um eine Tintenkartusche (die einen Druckkopf umfasst und einen oder mehr Tintenbehältnisse bzw. Tintenreservoirs zur Speicherung von Tinte umfassen kann) in dem Drucker 30 zu halten. Diesbezüglich zeigen 7A und 7B die Konfiguration einer Tintenkartusche 300b, die in dem Kartuschenbehälter 64b (siehe 4) installiert sein kann. Wie es in den 7A und 7B gezeigt ist, umfasst die Tintenkartusche 300b einen Druckkopf 80, Tintenreservoirs 83, einen Kartuschenschaltungskontakt 81 und ein Loch 90. An diesem Punkt ist anzumerken, dass die vorliegende Erfindung ebenso mit Tintenkartuschen verwendet werden kann, die keine entfernbaren Tintenreservoirs umfassen, sondern statt dessen die gesamte Tinte intern speichern.
  • Die Tintenreservoirs 83 sind von der Tintenkartusche 300 entfernbar und speichern Tinte, die durch den Drucker 30 zum Drucken von Bildern verwendet wird. Genauer gesagt sind die Tintenreservoirs 83 in die Kartusche 300b eingefügt und können entfernt werden, indem sie entlang der Richtung eines Pfeils 85 gezogen werden, wie es in 7B gezeigt ist. Die Reservoirs 83 können Farbtinte (bspw. Zyan-, Magenta- und Gelb-Tinte) und/oder schwarze Tinte speichern, wie es nachstehend ausführlicher beschrieben ist. Der Druckkopf 80 umfasst eine Vielzahl von (nicht gezeigten) Düsen, die Tinte aus den Tintenreservoirs 83 während eines Druckens ausstoßen. Der Kartuschenschaltungskontakt 81 wird durch den Drucker 30 verwendet, um eine Tintenkartuschenreingigung auszulösen, wie es nachstehend beschrieben ist. Das Kartuschenloch 90 passt mit einem Stift 93 bei dem Kartuschenbehälter 64b zusammen, um die Tintenkartusche 300b an ihrem Ort zu halten.
  • Zurück zu 6A umfasst der Kartuschenbehälter 64b eine Öffnung 79 bei einem zugehörigen Boden. Ein Druckkopf, wie bspw. der Druckkopf 80, einer installierten Kartusche ragt durch die Öffnung 79 hervor. Dank dieser Konfiguration ist der Druckkopf der Kartusche in der Lage, ein Aufzeichnungsmedium in dem Drucker 30 zu kontaktieren. Der Kartuschenbehälter 64b umfasst ebenso einen Hebel 72 und eine Hülle 73. Wie es in Abschnitt 5.0 nachstehend ausführlicher beschrieben ist, schwenkt der Hebel 72 in Bezug auf die Tintenreservoirs einer Tintenkartusche, die in dem Kartuschenbehälter 64b gespeichert ist, derart, dass sich der Hebel 72 über zumindest einen Abschnitt der Tintenreservoirs erstreckt, und schwenkt von den Tintenreservoirs weg, um einem Benutzer zu erlauben, Zugang zu den Tintenreservoirs zu haben.
  • Die Hülle 73 hält die Tintenkartusche (einschließlich des Druckkopfes und der Tintenreservoirs) in dem Kartuschenbehälter 64b und ist seitlich in dem Tintenbehälter 64b in Reaktion auf ein Schwenken des Hebels 72 bewegbar. Während dieser seitlichen Bewegung greift ein Finger 282 bei der Hülle 73 gleitend in eine Hülse 284 bei einem stationären Abschnitt 502 ein. Dank dieser seitlichen Bewegung greift ein Kartuschenschaltungskontakt, wie bspw. der Kartuschenschaltungskontakt 81 bei der Tintenkartusche 300b, in einen Schaltungskontakt bei dem Kartuschenbehälter 64b, nämlich dem Vorrichtungsschaltungskontakt 71, ein und trennt sich von diesem. Dieser Vorgang wird verwendet, um ein Signal auszugeben, das eine Reinigung eines Druckkopfes veranlasst, und ist nachstehend ausführlicher beschrieben.
  • In 6B ist eine Rückansicht des Aufbaus des Kartuschenbehälters 64b gezeigt. Genauer gesagt ist in 6B eine Verbindung der Hülle 73, des Hebels 72, eines Rückteils 501 und eines stationären Abschnitts 502 (in zwei gepunkteten/gestrichelten Linien gezeigt) gezeigt. Diesbezüglich umfasst der Hebel 72 Finger 507, die mit entsprechenden Löchern 504 in dem Rückteil 501 verbunden werden. Dank dieser Anordnung bewegt sich, wenn der Hebel 72 nach unten in die Richtung eines Pfeiles A1, der in 6B gezeigt ist, geschwenkt wird, das Rückteil 501 nach oben in die Richtung eines Pfeils A2, der ebenso in 6B gezeigt ist. Entgegengesetzt bewegt sich, wenn der Hebel 72 nach oben in die Richtung eines Pfeils B1 geschwenkt wird, das Rückenteil 501 nach unten in die Richtung eines Pfeils B2. Diese Aufwärts- und Abwärtsbewegung des Rückenteils 501 steuert die seitliche Bewegung der Hülle 73, die vorstehend beschrieben ist.
  • Zu diesem Zweck umfasst das Rückteil 501 eine Nockenoberfläche 509, die mit einer federgeladenen Stösselstange 510 interagiert, wenn die Hebel-/Rückteilanordnung in dem stationären Abschnitt 502 installiert ist. Genauer gesagt ist die Hebel-/Rückteilanordnung mit dem stationären Abschnitt 502 über die Finger 508 und die entsprechenden Löcher 506 verbunden. Wenn sie auf diese Weise verbunden sind, ist die Nockenoberfläche 599 des Rückteils 501 in Kontakt mit der federgeladenen Stösselstange 510 bei der Rückseite der Hülle 73. Diese Verbindung veranlasst die Hülle 73, sich seitlich zu bewegen, wenn der Hebel 72 geschwenkt wird.
  • Genauer gesagt wird, da die Nockenoberfläche 509 eine angewinkelte Seite 511 und eine gerade Seite 512 umfasst, wenn sich die Nockenoberfläche 509 nach oben bewegt (d.h. wenn der Hebel 72 zu der Hülle 73 in die Richtung des Pfeils A1 geschwenkt wird, was das Rückteil 501 und somit die Nockenoberfläche 509 veranlasst, sich nach oben in die Richtung des Pfeils A2 zu bewegen), die Stösselstange 510 in die Richtung eines Pfeils A4 durch die angewinkelte Seite 511 der Nockenoberfläche 509 gedrückt. Diese Bewegung veranlasst die Hülle 73, sich in die Richtung eines Pfeils A3 zu bewegen, der in 6B gezeigt ist.
  • Umgekehrt ist, wenn sich die Nockenoberfläche nach unten bewegt (d.h., wenn der Hebel 72 weg von der Hülle 73 in die Richtung des Pfeils B1 geschwenkt wird, was das Rückteil 501 und somit die Nockenoberfläche 509 veranlasst, sich nach unten in die Richtung des Pfeils B2 zu bewegen), die Stösselstange 510 nicht länger mit der angewinkelten Seite 511 in Kontakt. Statt dessen bewegt sich die Nockenoberfläche 509 derart, dass die Stösselstange 510 der geraden Seite 512 entspricht. In dieser Position bewegt eine Feder 513, die unterhalb der Hülle 73 angeordnet ist und die die Hülle 73 in Bezug auf den stationären Abschnitt 502 vorspannt, die Hülle 73 in die Richtung eines Pfeils B3, der in 6B gezeigt ist.
  • Wie es in 6B gezeigt ist, umfasst der Hebel 72 ebenso Flansche 287, die in Kontakt mit Schultern 286 bei der Hülle-/Stationärer-Abschnitt-Anordnung in Kontakt sind. Wie es nachstehend ausführlicher beschrieben ist, verringert dieser Kontakt die Möglichkeiten, dass der Hebel 72 in Eingriff mit einer Kartusche und/oder einem Tintenreservoir in dem Kartuschenbehälter 64b kommt.
  • Wie es in 6A gezeigt ist, umfasst der Kartuschenbehälter 64b den automatischen Ausrichtungssensor 82. Der automatische Ausrichtungssensor 82 erfasst eine Position eines Punktmusters, das durch den Drucker 30 erzeugt wird. Diese Informationen werden verwendet, um alle Druckköpfe in dem Drucker 30 auszurichten. Ebenso ist in Verbindung mit den Kartuschenbehältern 64a und 64b ein Ausgangspositionssensor (nicht gezeigt) umfasst, der verwendet wird, um zu erfassen, wann die Kartuschenbehälter 64a und 64b in Bezug auf den Schlitten 69 bei einer Ausgangsposition sind. Die Position und Bedeutung der Ausgangsposition sind nachstehend ausführlich beschrieben.
  • Zurück zu 4 umfasst der Drucker 30 Wischer 84a und 84b und einen Tintenreinigungsmechanismus 86. Der Tintenreinigungsmechanismus 86 ist bei der Ausgangsposition 87 angeordnet und umfasst eine (nicht gezeigte) Drehpumpe und Druckkopfverbindungskappen 88a und 88b. Die Druckkopfverbindungskappen sind mit den Druckköpfen von Kartuschen, die in den Kartuschenbehältern 64a bzw. 64b installiert sind, während einer Druckkopfreinigung und zu anderen Zeiten, bspw. wenn der Drucker 30 ausgeschaltet ist, in Verbindung, um die Druckköpfe zu schützen.
  • Der Zeilenzufuhrmotor 61 treibt die Drehpumpe des Tintenreinigungsmechanismus 86 an, um überschüssige Tinte von einem Druckkopf zu saugen, der mit der Druckkopfverbindungskappe 88a verbunden ist. Wie es ausführlicher in Abschnitt 5.9 nachstehend beschrieben ist, wird Tinte lediglich von denjenigen Kartuschen gesaugt, die von einem Benutzer bestimmt sind. Eine Benutzerbestimmung ist nachstehend beschrieben.
  • Die Wischer 84a und 84b können Klingen oder dergleichen umfassen, die durch den Schlittenmotor 66 angesteuert werden, um überschüssige Tinte von den Kartuschendruckköpfen zu wischen. Genauer gesagt, werden die Wischer 84a und 84b angehoben, um einen Druckkopf zu kontaktieren, nachdem eine vorbestimmte Bedingung aufgetreten ist. Bspw. können die Wischer 84a und 84b nach einer vorbestimmten Anzahl von Punkten angehoben werden, die durch einen Druckkopf gedruckt worden sind.
  • 1.2 Funktionen
  • Der Drucker 30 umfasst eine Vielzahl von Funktionen und Merkmalen, die über die Zugangstür 32 und das Vorderbedienfeld des Druckers 30 verfügbar sind. Eine Beschreibung dieser Funktionen folgt.
  • 1.2.1 Manuelle Reinigung
  • Der Drucker 30 umfasst eine manuelle Reinigungsfunktion, die über das zugehörige Vorderbedienfeld aktiviert werden kann. Genauer gesagt wird die manuelle Reinigung durch Drücken der Wiederaufnahmetaste 46, bis der Drucker 30 einen Piepton ausgibt, der zwei Sekunden lang ist, aktiviert. Zur Anzeige, dass die manuelle Reinigung aktiviert worden ist, blinkt das Anzeigelicht 43. Ein beliebiges Medium, das sich im Druckprozess befindet, wird dann aus der Ausstoßöffnung 40 ausgestoßen. Der Tintenreinigungsmechanismus 86 reinigt dann die Druckköpfe der Tintenkartuschen, die in den Kartuschenbehältern 64a und 64b gespeichert sind, saugt bspw. Tinte von diesen und wischt Tinte von diesen weg, wobei die abgesaugte und abgewischte Tinte in einem Abfalltintenspeicherungsbereich gespeichert wird. Danach stoppt das Anzeigelicht 43 das Blinken und wird eingeschaltet, wenn keine Fehler aufgetreten sind. In dem Fall, dass ein Abfalltintenfehler aufgetreten ist, wenn bspw. der Abfalltintenspeicherungsbereich beinahe voll ist, beleuchtet die orange LED das Anzeigelicht 43 und der Drucker 30 gibt sechs Pieptöne aus.
  • 1.2.2 Kartuschenaustausch
  • Der Drucker 30 geht in eine Kartuschenaustauschbetriebsart über, sobald die Zugangstür 32 geöffnet ist, bis nicht eine der nachstehend genannten Bedingungen vorliegt: der Drucker 30 ist ausgeschaltet, ein Aufzeichnungsmedium ist von einer Papierzufuhreinrichtung zugeführt worden, der Drucker 30 druckt oder hat Daten von der Host-Verarbeitungsvorrichtung 23 empfangen, ein Papier-Leer-Fehler oder ein Papierstau ist aufgetreten, die Temperatur eines Druckkopfes in dem Drucker 30 ist zu hoch oder ein kritischer Fehler ist aufgetreten.
  • Diesbezüglich wird in die Kartuschenaustauschbetriebsart im Allgemeinen entweder bei einer Druckereinstellung zur Installation entweder von vollständigen Tintenkartuschen oder von Tintenreservoirs, oder während der Lebenszeit des Druckers, um benutzte oder defekte Kartuschen oder Reservoirs zu ersetzen, gegangen. Bei der Anfangsdruckereinstellung ist keine Kartusche oder kein Reservoir in einem der Kartuschenbehälter 64a oder 64b. Um dies bekannt zu machen, blinkt das Anzeigelicht 43. Um eine Kartusche oder ein Reservoir zu installieren, öffnet ein Benutzer die Zugangstür 32, was, wie nachstehend beschrieben ist, die Kartuschenbehälter 64a und 64b veranlasst, sich zu einer Mittenposition entlang dem Schlitten 69 zu bewegen. Bei dieser Position kann ein Benutzer eine Tintenkartusche einfach durch Anheben des Hebels 72 der Kartuschenbehälter 64a und 64b, durch hinablassen der Kartuschen mit dem Druckkopf voran in die Kartuschenbehälter 64a und 64b und durch Schließen des Hebels 72 installieren. Der Vorgang zum Ersetzen einer leeren oder defekten Tintenkartusche ist zu diesem hier beschriebenen identisch. Zum Ersetzen eines Tintenreservoirs kann der Benutzer das defekte oder leere Tintenreservoir aus der Kartusche ziehen und an seine Stelle ein neues Tintenreservoir einfügen.
  • Zum Beenden der Kartuschenersatzbetriebsart muss ein Benutzer einfach die Zugangstür 32 schließen. Sobald die Ersatzbetriebsart beendet worden ist, überprüft der Drucker 30 die neu installierte Kartusche, um zu bestimmen, ob sie korrekt installiert worden ist. Wenn die Kartusche oder das Reservoir korrekt installiert ist, veranlasst der Drucker 30 die Kartuschenbehälter 64a und 64b, sich zu der Ausgangsposition 87 zu bewegen. Demgegenüber leuchtet, wenn die Kartusche oder das Reservoir nicht korrekt installiert ist oder aus irgendeinem Grund nicht verwendet werden kann (bspw. wenn sie/es defekt ist), das Anzeigelicht 43 orange. Zusätzlich gibt der Drucker 30 drei Pieptöne aus, um anzuzeigen, dass ein Problem mit einer Tintenkartusche in dem Kartuschenbehälter 64b vorliegt, und gibt vier Pieptöne aus, um anzuzeigen, dass ein Problem mit einer Tintenkartusche in dem Kartuschenbehälter 64a vorliegt.
  • 1.3 Tintenkartusche
  • Der hier beschriebene Drucker kann Tintenkartuschen verwenden, die entfernbare Tintenreservoirs zur Speicherung unterschiedlicher Tintentypen umfassen. Ein Beispiel einer derartigen Kartusche ist in den 7A und 7B gezeigt. Wie es vorstehend angemerkt ist, kann die vorliegende Erfindung jedoch ebenso mit Wegwerf-Tintenkartuschen verwendet werden, die keine entfernbaren Tintenreservoirs beinhalten, sondern statt dessen die gesamte Tinte intern speichern. Ein Beispiel einer derartigen Kartusche ist in 7 gezeigt.
  • Im Allgemeinen kann der Drucker 30 mit einer Vielzahl von unterschiedlichen Kartuschentypen arbeiten. Bspw. kann der Drucker 30 eine Kartusche verwenden, die eine auf Farbstoff basierende schwarze Tinte bzw. Schwarz-Tinte speichert und die einen Druckkopf mit 128 Düsen, die sich in die vertikale Richtung erstrecken, aufweist. Ein Beispiel einer derartigen Kartusche ist eine Canon BC-20-Kartusche. Ebenso kann ein ähnlicher Kartuschentyp verwendet werden, der schwarze Pigment-Tinte speichert. Diesbezüglich weist allgemein gesprochen auf Farbstoff basierende schwarze Tinte hohe Durchdringungseigenschaften in Bezug auf ein Aufzeichnungsmedium auf. Demgegenüber weist eine auf Pigment basierende schwarze Tinte im Allgemeinen niedrige Durchdringungseigenschaften (und in einigen Fällen keine Durchdringung) in Bezug auf ein Aufzeichnungsmedium auf.
  • Der Drucker 30 kann ebenso mit Farbtintenkartuschen arbeiten. Der Drucker 30 kann bspw. mit einer Tintenkartusche arbeiten, die Zyan-, Magenta-, Gelb- und Schwarz-Tinten speichert und die 136 Düsen umfasst, die sich in der vertikalen Richtung erstrecken. In einer derartigen Kartusche drucken 24 Düsen mit Zyan-Tinte, 24 Düsen drucken mit Magenta-Tinte, 24 Düsen drucken mit Gelb-Tinte und 64 Düsen drucken mit Schwarz-Tinte. Ein Beispiel einer derartigen Kartusche ist eine Canon BC-21(e)-Kartusche.
  • Ein weiteres Beispiel einer Tintenkartusche, die mit dem Drucker 30 verwendet werden kann, speichert eine Tinte für eine verringerte optische Dichte (bspw. "Foto-Tinte") und umfasst 131 Düsen, die in der vertikalen Richtung angeordnet worden sind. Eine derartige Kartusche weist ebenso die gleiche Düsenkonfiguration wie die vorstehend beschriebene Farbkartusche auf.
  • 1.4 Druckkopfaufbau
  • In Bezug auf den physikalischen Aufbau der Druckköpfe der Kartuschen, die in Ausführungsbeispielen der vorliegenden Erfindung verwendet werden können, zeigt 8 eine Vordernahansicht von Düsenkonfigurationen für einen Fall, bei dem der Drucker 30 einen Druckkopf 98 mit 128 Düsen, die nahezu vertikal angeordnet sind, umfasst, wobei jede Düse nahe bei benachbarten Düsen angeordnet ist. Eine derartige Anordnung ist für ein Einzelfarbdrucken (wie bspw. schwarz) bevorzugt. Die Düsen sind vorzugsweise mit einer leicht geneigten Schräge angeordnet, so dass es, wenn der Druckkopf über das Aufzeichnungsmedium bewegt wird, möglich ist, die Düsen vielmehr in schneller Reihenfolge als alle auf einmal abzufeuern bzw. auszustoßen, um eine vertikale Linie zu drucken. Die Energie- und Steuerungsanforderungen zum Abfeuern der Düsen in schneller Reihenfolge sind deutlich kleiner in Bezug auf diejenigen zum Abfeuern aller auf einmal. Eine zu bevorzugende Anordnung eines Schrägewinkels würde einer horizontalen Pixeländerung für alle 16 vertikalen Düsen bei einer 360-dpi-Auflösung entsprechen.
  • Der Druckkopf 99 weist 136 Düsen auf, wobei 24 Düsen vorzugsweise für gelbe Tinte, 24 Düsen vorzugsweise für Magenta-Tinte, 24 Düsen vorzugsweise für Zyan-Tinte und 64 Düsen vorzugsweise für schwarze Tinte sind, die mit einem leichten Schrägewinkel zu der Vertikalen eine über der anderen angeordnet sind. Jede Farbgruppe von Düsen ist von einer benachbarten Gruppe durch eine vertikale Lücke getrennt, die acht Düsen entspricht. Der leichte Schrägewinkel ist wiederum angeordnet, um ein Bildelement bzw. ein Pixel einer horizontalen Änderung für jede 16 vertikale Düsen bei 360 dpi bereitzustellen.
  • 1.5 Druckbetriebsarten
  • Während eines zugehörigen Betriebs umfasst der Drucker 30 unterschiedliche Betriebsarten, die über Befehle eingestellt werden können, die an den Drucker 30 durch die Host-Verarbeitungsvorrichtung 23 ausgegeben werden (siehe 1). In diesen Betriebsarten können die Kartuschen, die in dem Drucker 30 installiert sind, Tintentröpfchen unterschiedlicher Größe ausstoßen, um Bilder mit unterschiedlichen Auflösungen zu erzeugen. Ob bestimmte Betriebsarten des Druckers 30 verfügbar sind, hängt teilweise von dem Typ der Kartusche ab, die in dem Drucker 30 installiert ist. Das heißt, Druckköpfe bei einigen Typen von Kartuschen sind in der Lage, Tröpfchen unterschiedlicher Größe, bspw. große oder kleine Tintentröpfchen, auszustoßen, wohingegen Druckköpfe bei anderen Typen von Kartuschen in der Lage sind, Tröpfchen mit einer einzigen Größe auszustoßen.
  • Wie es vorstehend angemerkt ist, werden unterschiedliche Tintentröpfchengrößen während unterschiedlicher Druckerbetriebsarten verwendet, um Bilder mit unterschiedlichen Auflösungen zu erzeugen. Genauer gesagt erzeugen Tintenstrahldrucker Bilder durch Erzeugen von Punkten auf einer Seite. Die Auflösung eines erzeugten Bilds entspricht teilweise der Anzahl von Punkten, die erzeugt werden, und teilweise der Anordnung, in der diese Punkte erzeugt werden. In dem Drucker gemäß der vorliegenden Erfindung können Bilder mit einer Vielzahl unterschiedlicher Auflösungen unter Verwendung entweder der großen oder der kleinen Tintentröpfchen, die vorstehend beschrieben sind, erzeugt werden.
  • Bei diesem Punkt ist anzumerken, dass eine Punktzuteilung und -anordnung während eines Druckens teilweise auf der Grundlage des Papiertyps, der während des Druckens verwendet wird, begrenzt ist. Genauer gesagt kann normales Papier näherungsweise ein Maximum von vier kleinen Tröpfchen bei einem 360-dpi-Bildelement absorbieren, wohingegen ein Hochauflösungspapier (nachstehend "HR-101-Papier" genannt) ein Maximum von sechs kleinen Tröpfchen bei einem 360-dpi-Bildelement absorbieren kann.
  • Unter Berücksichtigung des vorstehend genannten zeigt 9 Tröpfchenanordnungen für jedes Bildelement bei einer horizontalen (H) 180 mal einer vertikalen (V) 180 Rasterung unter Verwendung einer regulären (d.h. einer Nicht-Foto-)Tinte und eines beliebigen Papiertyps. Wie es in 9 gezeigt ist, stellt diese Anordnung drei Stufen bereit und kann einen 360(H)-mal-360(V)-dpi-Ausdruck unter Verwendung großer Tröpfchen erreichen.
  • 2.0 Elektrisch
  • Wie es vorstehend in Abschnitt 1.0 beschrieben ist, kann der Drucker 30 Mehrfachdruckköpfe in unterschiedlichen Kombinationen, wie bspw. Schwarz-Schwarz, Schwarz-Farbe, Farbe-Farbe oder Farbefoto, verwenden, so dass mehrere Druckbetriebsarten bei unterschiedlichen Auflösungen (bspw. 180 dpi, 360 dpi, 720 dpi) ausgeführt werden können. Ferner können die Druckkopfkombinationen für unterschiedliche Druckbetriebsarten, wie bspw. Text, Text und Farbe, Farbe und Hochqualitätsfarbe, verändert werden. Als Ergebnis erfordern Druckaufgaben für die unterschiedlichen Betriebsarten komplexe Operationen, die auf der Grundlage der Druckkopfkombination, der Aufzeichnungsmedien und der Druckqualität variieren können. In dem Informationsverarbeitungssystem gemäß 1 sind Druckerparameter, die die Druckkopfkonfiguration, die Druckkopfausrichtung usw. betreffen, in dem Drucker 30 gespeichert und werden zu einer Host-Verarbeitungsvorrichtung 23 auf der Grundlage von Daten gesendet, die durch den Drucker 30 erhalten werden. Folglich führt ein Druckertreiber in der Host-Verarbeitungsvorrichtung 23 die komplexe Verarbeitung von Druckdaten und der Druckereinstellung für die verschiedenen Druckbetriebsarten aus und sendet vorgegebene Befehlsabfolgen oder -sequenzen zu dem Drucker, die eine Druckausführung vereinfachen. Vorteilhafter Weise ist die Architektur des Druckers vereinfacht, während die Anforderungen der Druckverarbeitung bei der Host-Verarbeitungsvorrichtung 23 eine geringe oder keine Wirkung auf den Betrieb der Host-Verarbeitungsvorrichtung 23 aufweisen.
  • 2.1 Systemarchitektur
  • In 10 ist ein Blockschaltbild gezeigt, das die internen Strukturen der Host-Verarbeitungsvorrichtung 23 und des Druckers 30 zeigt. Gemäß 10 umfasst die Host-Verarbeitungsvorrichtung 23 eine zentrale Verarbeitungseinheit 100, wie bspw. einen programmierbaren Mikroprozessor, der mit einem Computerbus 101 verbunden ist. Ebenso sind an den Computerbus eine Anzeigeschnittstelle 102 zum Verbinden mit der Anzeige 22, eine Druckerschnittstelle 104 zum Verbinden mit dem Drucker 30 über eine bidirektionale Kommunikationsleitung 106, eine Floppydiskettenschnittstelle 24 zum Verbinden mit der Floppydiskette 107, eine Tastaturschnittstelle 109 zum Verbinden mit der Tastatur 26 und eine Zeigervorrichtungsschnittstelle 110 zum Verbinden mit der Zeigervorrichtung 27 gekoppelt. Die Platte 25 umfasst einen Betriebssystemabschnitt zur Speicherung des Betriebssystems 111, einen Anwendungsabschnitt zur Speicherung von Anwendung 112 und einen Druckertreiberabschnitt zur Speicherung eines Druckertreibers 114.
  • Ein Hauptspeicher mit wahlfreiem Zugriff (nachstehend "RAM" genannt) 116 ist mit dem Computerbus 101 verbunden, um der CPU 100 einen Zugriff auf den Speicher bereitzustellen. Insbesondere lädt, wenn gespeicherte Anwendungsprogrammanweisungssequenzen, wie bspw. diejenigen, die mit Anwendungsprogrammen verbunden sind, die in dem Anwendungsabschnitt 112 der Festplatte 25 gespeichert sind, ausgeführt werden, die CPU 100 diese Anwendungsanweisungssequenzen von der Festplatte 25 (oder anderen Speichermedien, wie bspw. Medien, auf die über ein Netzwerk oder ein Floppydiskettenlaufwerk 24 Zugriff genommen wird) in den Speicher mit wahlfreiem Zugriff (nachstehend "RAM" genannt) 116 und führt diese gespeicherten Programmanweisungssequenzen außerhalb des RAM 116 aus. Das RAM 116 stellt einen Druckdatenpuffer bzw. Druckdatenzwischenspeicher bereit, der durch einen Druckertreiber 114 erfindungsgemäß verwendet wird, wie es nachstehend ausführlicher beschrieben ist. Es sollte ebenso erkannt werden, dass Standard-Platten-Swapping-Techniken, die unter dem Fenster bereitstellenden Betriebssystem verfügbar sind, es ermöglichen, Speichersegmente einschließlich des vorstehend genannten Druckdatenpuffers von der Festplatte 25 hin- und herzuschießen oder zu swappen. Ein Nurlesespeicher (nachstehend "ROM" genannt) 43 in der Host-Verarbeitungsvorrichtung 23 speichert Invariante bzw. unveränderliche Anweisungssequenzen, wie bspw. Startanweisungssequenzen oder grundlegende Eingabe-/Ausgabe-Betriebssystem-(BIOS-)Sequenzen für einen Betrieb der Tastatur 26.
  • Wie es in 10 gezeigt ist und wie es vorstehend beschrieben ist, speichert die Festplatte 25 Programmanweisungssequenzen für ein Fenster bereitstellendes Betriebssystem und für verschiedene Anwendungsprogramme, wie bspw. graphische Anwendungsprogramme, Zeichnungs-Anwendungsprogramme, Desktop-Publishing-Anwendungsprogramme und dergleichen. Zusätzlich speichert die Festplatte 25 ebenso Farbbilddateien, wie bspw. solche, die durch die Anzeige 22 angezeigt werden können oder durch den Drucker 30 unter der Steuerung eines bestimmten Anwendungsprogramms gedruckt werden können. Die Festplatte 25 speichert ebenso einen Farbmonitortreiber in einem anderen Treiberabschnitt 119, der steuert, wie Mehrfachpegel-RGB-Farbprimärwerte einer Anzeigeschnittstelle 102 bereitgestellt werden. Der Druckertreiber 114 steuert den Drucker 30 sowohl für ein Schwarz- als auch ein Farbdrucken und führt Druckdaten für einen Ausdruck entsprechend der Konfiguration des Druckers 30 zu. Die Druckdaten werden unter der Steuerung des Druckertreibers 114 zu dem Drucker 30 übertragen und Steuerungssignale werden zwischen der Host-Verarbeitungsvorrichtung 23 und dem Drucker 30 über die Druckerschnittstelle 104 ausgetauscht, die mit der Leitung 106 verbunden ist. Andere Vorrichtungstreiber sind ebenso auf der Festplatte 25 zur Bereitstellung geeigneter Signale für verschiedene Vorrichtungen, wie bspw. Netzwerkvorrichtungen, Faksimilevorrichtungen und dergleichen, gespeichert, die mit der Host-Verarbeitungsvorrichtung 23 verbunden sind.
  • Üblicherweise müssen Anwendungsprogramme und Treiber, die auf der Festplatte 25 gespeichert sind, zuerst durch den Benutzer auf die Festplatte 25 von anderen computerlesbaren Medien installiert werden, auf denen diese Programme und Treiber anfangs gespeichert sind. Bspw. ist es für einen Benutzer üblich, eine Floppydiskette oder andere computerlesbare Medien, wie bspw. eine CD-ROM, zu kaufen, auf der eine Kopie des Druckertreibers gespeichert ist. Der Benutzer würde dann den Druckertreiber auf die Festplatte 25 durch allgemein bekannte Verfahren installieren, durch die der Druckertreiber auf die Festplatte 25 kopiert wird. Gleichzeitig ist es für den Benutzer ebenso möglich, über eine (nicht gezeigte) Modem-Schnittstelle oder über ein (nicht gezeigtes) Netzwerk einen Druckertreiber herunterzuladen, wie bspw. durch ein Herunterladen von einem Dateiserver oder von einem computerisierten schwarzen Brett.
  • Wieder unter Bezugnahme auf 10 umfasst der Drucker 30 eine CPU 121, wie bspw. einen 8-bit- oder einen 16-bit-Mikroprozessor, die eine programmierbare Zeitgeber- und Unterbrechungssteuerungseinrichtung umfasst, ein ROM 122, eine Steuerungslogik 124 und eine I/O-Anschlusseinheit 127, die mit einem Bus 126 verbunden sind. Ebenso ist ein RAM 129 mit der Steuerungslogik 124 verbunden. Die Steuerungslogik 124 umfasst Steuerungseinrichtungen für den Zeilenzufuhrmotor 61, für einen Druckbildpufferspeicher in dem RAM 129, für eine Heizimpuls- bzw. Wärmeimpulserzeugung und für Kopfdaten. Die Steuerungslogik 124 stellt ebenso Steuerungssignale für die Düsen in Druckköpfen 130a und 130b eines Druckgeräts 131, den Schlittenmotor 66, den Zeilenzufuhrmotor 61 und Druckdaten für die Druckköpfe 130a und 130b bereit und empfängt Informationen von dem Druckgerät oder Druckantrieb 131 für eine Ausrichtung der Druckköpfe 130a und 130b durch die I/O-Anschlusseinheit 127. Ein EEPROM 132 ist mit der I/O-Anschlusseinheit 127 verbunden, um einen nicht-flüchtigen Speicher für Druckerinformationen, wie bspw. eine Druckkopfkonfiguration und Druckkopfausrichtungsparameter, bereitzustellen. Das EEPROM 132 speichert ebenso Parameter, die den Drucker, den Treiber, die Druckköpfe, die Ausrichtung der Druckköpfe, den Tintenzustand in den Kartuschen usw. identifizieren, die zu dem Druckertreiber 114 der Host-Verarbeitungsvorrichtung 23 gesendet werden, um die Host-Verarbeitungsvorrichtung 23 über die Betriebsparameter des Druckers 30 zu informieren.
  • Die I/O-Anschlusseinheit 127 ist mit dem Druckgerät 131 gekoppelt, in dem ein Paar von Druckköpfen 130a und 130b (die in den Kartuschenbehältern 64a bzw. 64b gespeichert wären) eine Aufzeichnung auf einem Aufzeichnungsmedium durch eine Abtastung über dem Aufzeichnungsmedium während eines Druckens unter Verwendung von Druckdaten von dem Druckpuffer RAM 129 ausführen. Die Steuerungslogik 124 ist ebenso mit der Druckerschnittstelle 104 der Host-Verarbeitungsvorrichtung 23 über die Kommunikationsleitung 106 für einen Austausch von Steuerungssignalen und zum Empfangen von Druckdaten und Druckdatenadressen gekoppelt. Das ROM 122 speichert Schriftartdaten bzw. Font-Daten, Programmanweisungssequenzen, die zur Steuerung des Druckers 30 verwendet werden, und andere unveränderliche Daten für den Druckerbetrieb. Das RAM 129 speichert Druckdaten in einem Druckpuffer, der durch den Druckertreiber 114 für die Druckköpfe 130a und 130b definiert wird, sowie andere Informationen für den Druckerbetrieb.
  • Die Druckköpfe 130a und 130b des Druckgeräts 131 entsprechen den Tintenkartuschen, die in den Kartuschenbehältern 64a bzw. 64b gespeichert sind. Sensoren, die allgemein als 134 angezeigt sind, sind in dem Druckgerät 131 angeordnet, um den Druckerzustand zu erfassen und eine Temperatur oder andere Größen zu messen, die das Drucken beeinflussen. Ein Fotosensor (bspw. der automatische Ausrichtungssensor 82, der in 6A gezeigt ist) in den Kartuschenbehältern 64 misst eine Druckdichte und Punktpositionen für eine automatische Ausrichtung. Die Sensoren 134 sind in dem Druckgerät 131 ebenso eingerichtet, um andere Bedingungen oder Zustände zu erfassen, wie bspw. den offenen oder geschlossenen Zustand der Zugangsabdeckung 32, ein Vorhandensein von Aufzeichnungsmedien usw. Zusätzlich sind Diodensensoren einschließlich eines Thermistors in den Druckköpfen 130a und 130b platziert, um eine Druckkopftemperatur zu messen, die zu der I/O-Anschlusseinheit 127 übertragen wird.
  • Die I/O-Anschlusseinheit 127 empfängt ebenso ein Eingangssignal von Schaltern 133, wie bspw. der Stromtaste 44 und der Wiederaufnahmetaste 46, und liefert Steuerungssignale zu den LED 135, um das Anzeigelicht 43 zu beleuchten, zu einer Summereinrichtung 128 und zu dem Zeilenzufuhrmotor 61 und dem Schlittenmotor 66 über einen Zeilenzufuhrmotortreiber 61a bzw. einen Schlittenmotortreiber 66a. Wie es vorstehend beschrieben ist, kann die Summereinrichtung 128 einen Lautsprecher umfassen.
  • Obwohl in 10 individuelle Bauelemente des Druckers 30 als separat und getrennt voneinander gezeigt sind, ist es zu bevorzugen, dass einige der Bauelemente kombiniert werden. Bspw. kann die Steuerungslogik 124 mit den I/O-Anschlüssen 127 in einem ASIC kombiniert werden, um Verbindungen für die Funktionen des Drucker 30 zu vereinfachen.
  • 2.2 Systemfunktion
  • In 11 ist ein hochstufiges funktionales Blockschaltbild gezeigt, das die Interaktion zwischen der Host-Verarbeitungsvorrichtung 23 und dem Drucker 30 veranschaulicht. Wie es in 11 veranschaulicht ist, gibt, wenn eine Druckanweisung von einem Bildverarbeitungsanwendungsprogramm 112a, das in dem Anwendungsabschnitt 112 der Festplatte 25 gespeichert ist, ausgegeben wird, das Betriebssystem 111 Grafikvorrichtungsschnittstellenaufrufe an den Druckertreiber 114 aus. Der Druckertreiber 114 antwortet, indem Druckdaten erzeugt werden, die der Druckanweisung entsprechen, und speichert die Druckdaten in einem Druckdatenspeicher 136. Der Druckdatenspeicher 136 kann in dem RAM 116 oder in der Festplatte 25 beheimatet sein, oder sie können durch Platten-Swapping-Operationen des Betriebssystems 111 anfangs in dem RAM 116 gespeichert sein und zu und von der Festplatte 25 hin- und hergeschossen bzw. geswappt werden. Danach erhält der Druckertreiber 114 Druckdaten von dem Druckdatenspeicher 136 und überträgt die Druckdaten über die Druckerschnittstelle 104 zu der bidirektionalen Kommunikationsleitung 106 und zu dem Druckpuffer 139 durch die Druckersteuerung 140. Der Druckpuffer 139 ist in dem RAM 129 beheimatet und die Druckersteuerung 140 ist in der Steuerungslogik 124 und der CPU 121 gemäß 10 beheimatet. Die Druckersteuerung 140 verarbeitet die Druckdaten in dem Druckpuffer 139 in Reaktion auf Befehle, die von der Host-Verarbeitungsvorrichtung 23 empfangen werden, und führt Druckaufgaben unter der Steuerung der Anweisungen aus, die in dem ROM 122 (siehe 10) gespeichert sind, um geeignete Druckkopf- und andere Steuerungssignale dem Druckgerät 131 zur Aufzeichnung von Bildern auf Aufzeichnungsmedien bereitzustellen.
  • Der Druckpuffer 139 weist einen ersten Abschnitt zur Speicherung von Druckdaten, die durch einen der Druckköpfe 130a und 130b zu drucken sind, und einen zweiten Abschnitt zur Speicherung von Druckdaten auf, die durch den anderen der Druckköpfe 130a und 130b zu drucken sind. Jeder Druckpufferabschnitt weist Speicherungspositionen auf, die der Zahl von Druckpositionen der verbundenen Druckköpfe. entsprechen. Diese Speicherungspositionen werden durch den Druckertreiber 114 entsprechend einer Auflösung, die für das Drucken ausgewählt ist, definiert. Jeder Druckpufferabschnitt umfasst ebenso zusätzliche Speicherungspositionen für eine Übertragung der Druckdaten während des Hochfahrens (ramp-up) der Druckköpfe 130a und 130b auf die Druckgeschwindigkeit. Die Druckdaten werden von dem Druckdatenspeicher 136 in der Host-Verarbeitungsvorrichtung 23 zu Speicherungspositionen des Druckpuffers 139 übertragen, die durch den Druckertreiber 114 angewählt oder adressiert werden. Als Ergebnis können Druckdaten für eine nächste Abtastung in leere Speicherungspositionen in dem Druckpuffer 139 sowohl während des Hochfahrens als auch während des Druckens einer derzeitigen Abtastung eingefügt werden.
  • 2.3 Steuerungslogik
  • In 12 ist ein Blockschaltbild der Steuerungslogik 124 und der I/O-Anschlusseinheit 127 aus 10 gezeigt. Wie es vorstehend genannt ist, kann die I/O-Anschlusseinheit alternativ in der Steuerungslogik 124 beinhaltet sein. Gemäß 10 ist ein Benutzerlogikbus 146 mit dem Druckerbus 126 zur Kommunikation mit der Drucker-CPU 121 verbunden. Der Bus 146 ist an die Host-Computer-Schnittstelle 141 gekoppelt, die mit der bidirektionalen Leitung 106 verbunden ist, um eine bidirektionale, wie bspw. eine IEEE-1284-Protokoll-Kommunikation auszuführen. Folglich ist die bidirektionale Kommunikationsleitung 106 ebenso an die Druckerschnittstelle 104 der Host-Verarbeitungsvorrichtung 23 gekoppelt. Die Host-Computer-Schnittstelle 141 ist mit dem Bus 146 und einer DRAM-Bus-Arbiter-/Steuerungseinrichtung 144 zur Steuerung des RAM 129 verbunden, das den Druckpuffer 139 umfasst (siehe 10 und 11). Eine Datendekomprimiereinrichtung 148 ist zwischen dem Bus 146 und der DRAM-Bus-Arbiter-/Steuerungseinrichtung 144 angeschlossen, um Druckdaten zu dekomprimieren, wenn sie verarbeitet. Ebenso sind an den Bus 146 eine Zeilenzufuhrmotorsteuerungseinrichtung 147, die mit dem Zeilenzufuhrmotortreiber 61a gemäß 10 verbunden ist, eine Bildpuffersteuerungseinrichtung 152, die serielle Steuerungssignale und Kopfdatensignale für jeden der Druckköpfe 130a und 130b bereitstellt, und eine Heizimpuls- bzw. Wärmeimpulserzeugungseinrichtung 154 gekoppelt, die Blocksteuerungssignale und analoge Wärmeimpulse für jeden der Druckköpfe 130a und 130b bereitstellt. Eine Schlittenmotorsteuerung wird durch die CPU 121 über die I/O-Anschlusseinheit 127 und den Schlittenmotortreiber 66a ausgeführt, da der Zeilenzufuhrmotor 61 und der Schlittenmotor 66 gleichzeitig arbeiten können.
  • Die Steuerungslogik 124 arbeitet, um Befehle von der Host-Verarbeitungsvorrichtung 23 für eine Verwendung in der CPU 121 zu empfangen und um Druckerzustands- und andere Antwortsignale zu der Host-Verarbeitungsvorrichtung 23 durch die Host-Computer-Schnittstelle 141 und die bidirektionale Kommunikationsleitung 106 zu senden. Die Druckdaten und die Druckpufferspeicheradressen für die Druckdaten, die von der Host-Verarbeitungsvorrichtung 23 empfangen werden, werden zu dem Druckpuffer 139 in dem RAM 129 über die DRAM-Bus-Arbiter-/Steuereinrichtung 144 gesendet und die adressierten Druckdaten von dem Druckpuffer 139 werden durch die Steuereinrichtung 144 zu dem Druckgerät 131 für ein Drucken durch die Druckköpfe 130a und 130b übertragen. Diesbezüglich erzeugt die Wärmeimpulserzeugungseinrichtung 154 analoge Wärmeimpulse, die für ein Drucken der Druckdaten erforderlich sind.
  • In 13 ist die Speicherarchitektur für den Drucker 30 gezeigt. Wie es in 13 gezeigt ist, bilden das EEPROM 132, das RAM 129, das ROM 122 und ein temporärer Speicher 161 für die Steuerungslogik 124 einen Speicheraufbau mit einer einzelnen Adressierungsanordnung. Unter Bezugnahme auf 13 speichert das EEPROM 132, das als ein nicht flüchtiger Speicherabschnitt 159 gezeigt ist, einen Satz von Parametern, die durch die Host-Verarbeitungsvorrichtung 23 verwendet werden und die den Drucker und die Druckköpfe, die Druckkopfzustand, die Druckkopfausrichtung und andere Druckkopfeigenschaften identifizieren. Das EEPROM 132 speichert ebenso einen anderen Satz von Parametern, wie bspw. eine Reinigungszeit, Automatische-Ausrichtungssensordaten usw., die durch den Drucker 30 verwendet werden. Das ROM 122, das als ein Speicherabschnitt 160 gezeigt ist, speichert Informationen für den Druckerbetrieb, die unveränderlich sind, wie bspw. Programmsequenzen für Druckeraufgaben und Druckkopfbetriebstemperaturtabellen, die zur Steuerung der Erzeugung von Düsenwärmeimpulsen usw. verwendet werden. Ein Speicherabschnitt mit wahlfreiem Zugriff 161 speichert temporär Betriebsinformationen für die Steuerungslogik 124 und ein Speicherabschnitt 162, der dem RAM 129 entspricht, umfasst eine Speicherung von variablen Betriebsdaten für die Druckeraufgaben und den Druckpuffer 139.
  • 2.4 Allgemeine Operation
  • In 14 ist ein Flussdiagramm gezeigt, das die allgemeine Operation des Informationsverarbeitungssystems zeigt, das in dem Blockschaltbild gemäß 10 gezeigt ist. Nachdem die Energie in dem Drucker 30 in Schritt S1401 gemäß 14 eingeschaltet ist, wird der Drucker 70 in Schritt S1402 initialisiert. Bei der Initialisierung werden, wie es nachstehend ausführlicher in Abschnitt 3.2 beschrieben ist und in 19 und 20 gezeigt ist, die CPU 121, die Steuerungslogik 124 und ein Systemzeitgeber auf einen Anfangszustand eingestellt. Zusätzlich werden das ROM 121, das RAM 129 und EEPROM 132 des Druckers 30 überprüft und Unterbrechungsanforderungspegel in der CPU 121 werden bei einer Energiezufuhr zu dem Drucker 30 zugewiesen. Wenn der Drucker 30 auf den zugehörigen Ein-Zustand eingestellt ist, wird das EEPROM 132 durch den Druckertreiber 114 gelesen, Steuerungseinrichtungsaufgaben werden durch die Drucker-CPU 121 gestartet, wie bspw. ein Zurücksetzen des Druckers, ein Bestimmen, ob eine Druckkopfreinigung ausgeführt werden sollte, auf der Grundlage des Systemzeitgebers usw. Ebenso wird in der Initialisierungsverarbeitung gemäß Schritt S1402 eine Datenkomprimierungsbetriebsart ausgewählt, Wärmeimpulse für die Druckköpfe 130a und 130b werden definiert, eine Puffersteuerung wird definiert, der Druckpuffer 139 wird gelöscht und Nachrichten werden angezeigt, die den Zustand des Druckers 30 anzeigen.
  • Als nächstes wird Schritt S1403 ausgeführt. In Schritt S1403 berechnet der Druckertreiber 114 die Druckerparameter aus den Daten, die durch die Drucker-CPU 121 auf der Grundlage von Druckermessungen, die die Kopfkonfiguration und -ausrichtung betreffen, erhalten werden, wenn bestimmt wird, dass sich die Druckkopfkonfiguration geändert hat. Das Ausrichtungssystem ist ausführlicher in der US-Patentanmeldung Nr. 08/901,560 mit dem Titel "Auto-Alignment System For a Printing Device", angemeldet am 28. Juli 1997 (anhängige Europäische Anmeldung Nr. 98305955.1) beschrieben.
  • Nachfolgend zu Schritt S1403 schreitet die Verarbeitung zu Schritt S1404 voran, in dem bestimmt wird, ob der Drucker 30 prozessgekoppelt bzw. online ist. Sobald bestimmt ist, dass der Drucker 30 online ist, schreitet die Verarbeitung zu Schritt S1405 voran, in dem die berechneten Druckerparameter in dem Drucker-EEPROM 132 registriert werden.
  • Genauer gesagt werden, wenn bestimmt ist, dass der Drucker 30 online ist, die Druckerparameter, die in dem EEPROM 132 gespeichert sind, durch den Druckertreiber 114 in Schritt S1405 registriert. Die Parameter werden dann in Schritt 1405 durch die CPU 121 für eine Speicherung in der Host-Verarbeitungsvorrichtung 23 gesendet, so dass der Druckertreiber 114 geeignete Befehle für Druckeroperationen erzeugen kann. Derartige Befehle werden in den Schritten des gestrichelten Kastens gemäß 14 angegeben und berücksichtigen die derzeitige Identifikation des Druckers 30, die Druckkopfkonfiguration, die Druckkopfausrichtung und den Kartuschentintenzustand.
  • Ein Verfahren gemäß Schritt S1405 zum Senden der Parameter umfasst ein Senden der Daten, die die Druckerparameter für die derzeitige Kopfkonfiguration präsentieren, an die Host-Verarbeitungsvorrichtung. Ein Druckertreiber in der Host-Verarbeitungsvorrichtung erzeugt Befehle zur Steuerung einer Druckerfunktion entsprechend den Charakteristika bzw. Eigenschaften der angebrachten Druckvorrichtungen und sendet die erzeugten Befehle an die Druckersteuereinrichtung. Die Befehle umfassen Parameter, die den Charakteristika der angebrachten Druckvorrichtungen entsprechen, um eine Steuerung der Druckeroperationen für eine Vielzahl von Mehrfach-Druckvorrichtungskonfigurationen zu ermöglichen. Das Senden der Druckerparameterdaten an den Druckertreiber in der Host-Verarbeitungsvorrichtung und die Erzeugung und das Senden von Befehlen sind ausführlicher in Abschnitt 6.0 beschrieben.
  • Mit Bezug auf die Druckkopfreinigung kann eine Reinigung bei verschiedenen Zeiten während des Betriebs des Drucker eingeplant bzw. terminiert werden, wie bspw. in Schritt S1405A. Das Verfahren zum Einplanen bzw. Terminieren der Reinigung eines Druckkopfes entsprechend Schritt S1405A umfasst ein Empfangen von Echtzeit-/Datumsinformationen (Zeit und/oder Datum) von einer externen Quelle, ein Speichern der Echtzeit-/Datumsinformationen in einem flüchtigen Speicher, ein Speichern in einem nicht-flüchtigen RAM einer letzten Reinigungszeit für zumindest einen Druckkopf in dem Tintenstrahldrucker und ein Berechnen einer vergangenen Zeit durch Subtrahieren der gespeicherten Echtzeit-/Datumsinformation und der gespeicherten letzten Reinigungszeit. Das Verfahren umfasst ferner ein Vergleichen der berechneten vergangenen Zeit mit einer vorbestimmten vergangenen Zeit, ein Steuern des zumindest einen Druckkopfes zum Ausführen einer Reinigungsverarbeitung, wenn die berechnete vergangene Zeit größer oder gleich der vorbestimmten vergangenen Zeit ist, und ein Speichern in dem nicht-flüchtigen Speicher der jüngsten letzten Zeit für die Reinigung des zumindest einen Druckkopfes. Wenn die berechnete vergangene Zeit kleiner als die vorbestimmte vergangene Zeit ist, wartet das Verfahren, um eine Reinigung auf der Grundlage entweder einer vergangenen internen Zeit, eines Vergleichs der nächsten heruntergeladenen Zeit oder eines Auftretens eines Reinigungsereignisses, wie bspw. eines Ersetzens eines Druckkopfes, auszuführen. Das Terminieren bzw. Einplanen der Druckkopfreinigung ist nachstehend ausführlicher in Abschnitt 7.0 beschrieben.
  • Die Parameter, die in Schritt S1405 registriert werden, werden zur Steuerung der Druckkopfoperation verwendet. Ein Verfahren gemäß Schritt S1405 zur Steuerung eines Druckkopfes einer Bilddruckvorrichtung mit zumindest einem Druckkopf umfasst ein Erhalten von Profilinformationen des zumindest einen Druckkopfes, die die in Schritt S1405 registrierten Parameter umfassen. Das Verfahren umfasst ein Speichern der Profilparameter in einem nicht-flüchtigem RAM und ein Ausgeben auf Anforderung der Profilinformationen an die Host-Verarbeitungsvorrichtung, die mit der Bilddruckvorrichtung verbunden ist. Die Host-Verarbeitungsvorrichtung verwendet die Druckkopfprofilinformationen zur Erzeugung von Kompensationsparametern bzw. Abgleichsparametern, die Druckinformationen, die von der Host-Verarbeitungsvorrichtung an den Druckkopf für ein Drucken zu senden sind, kompensieren. Dieses Verfahren ist ausführlicher in Abschnitt 8.0 beschrieben.
  • Nach der Registrierung der Druckerparameterinformationen in Schritt S1405 und der Reinigungsplanung in Schritt S1405A wird der Zustand jeder Druckkopfkartusche 300a und 300b (siehe 4) in Schritt S1406 überprüft. Dies wird ausgeführt, indem sichergestellt wird, ob die Zugangstür 32 geöffnet und geschlossen worden ist, und indem erfasst wird, ob eine oder mehr der Tintenkartuschen oder der Tintenreservoirs verändert worden ist. Wenn eine Kartusche oder ein Reservoir verändert worden ist, wird eine Reinigungsoperation bei dem entsprechendem Druckkopf ausgeführt, bei dem die Düsen des Druckkopfes gereinigt werden.
  • Eine in Schritt S1406 zur Reinigung eines Druckkopfes während einer Tintenreservoir-/Kartuschenänderung verwendete Vorrichtung umfasst einen Kartuschenbehälter, der auf einem Schlitten zum lösbaren Aufnehmen einer Kartusche mit einem Druckknopf und zumindest einem entfernbaren Tintenreservoir angebracht ist. Der Behälter umfasst einen schwenkenden Hebel, der ein Entfernen des zumindest einen Tintenreservoirs erlaubt. Der Hebel erstreckt sich über zumindest einen Abschnitt des zumindest einen Tintenreservoirs, um einen Zugriff auf das zumindest eine Tintenreservoir bis zu einer derartigen Zeit zu verhindern, bei der der Hebel weg von dem zumindest einem Tintenreservoir geschwenkt ist. Wenn der Hebel weg von dem zumindest einem Tintenreservoir geschwenkt ist und dann über den zumindest einen Abschnitt des zumindest einen Tintenreservoirs geschwenkt ist, wird ein Signal ausgegeben, das eine Reinigung des Druckkopfes veranlasst. Druckkopfreinigungsanordnungen sind ausführlicher in Abschnitt 5.0 beschrieben.
  • Nachfolgend zu der Kartuschenänderungsverarbeitung, die in Schritt S1406 ausgeführt wird, schreitet die Verarbeitung zu Schritt S1407 voran. In Schritt S1407 wird bestimmt, ob eine Unterbrechung durch den Drucker 30 für Operationen, wie bspw. eine Druckkopferwärmungseinrichtungssteuerung, angefordert worden ist. In Reaktion auf eine derartige Unterbrechungsanforderung wird die angeforderte Druckeroperation in Schritt S1408 ausgeführt. Danach springt die Verarbeitung zu Schritt S1406 zurück.
  • Wenn eine Unterbrechung in Schritt S1407 durch den Drucker nicht angefordert worden ist, schreitet die Verarbeitung zu Schritt S1409 voran. In Schritt S1409 wird bestimmt, ob der Druckertreiber 114 eine Befehlssequenz angefordert hat. In dem System gemäß 10 werden die Aufgaben des Druckers 30 durch Befehle von dem Druckertreiber 114 gesteuert, die entsprechend den Parameter- und Zustandsinformationen erzeugt worden sind, die von dem Drucker 30 empfangen werden. Wenn eine Benutzerschnittstellensequenz ausgewählt ist, wird zu Schritt S1414 gegangen und die in 15 gezeigte Verarbeitung wird ausgeführt.
  • Bei Auswahl der Benutzerschnittstelle wird in Schritt S1501 der derzeitige Zustand des Druckers 30 angefordert und von dem Drucker 30 über die bidirektionale Kommunikationsleitung 106 empfangen. Dann wird in Schritt S1502 bestimmt, ob der Drucker einen neuen Druckkopf aufweist. Wenn ein neuer Druckkopf erfasst wird, wird eine automatische Ausrichtung in Schritt S1503 ausgeführt, wobei in Schritt S1504 die Zustandsinformationen des Druckers 30 in dem Druckertreiber 114 gespeichert werden. Andernfalls wird die letzte Druckertreiberinformation für den Benutzer in Schritt S1505 erhalten. In jedem Fall wird dann in Schritt S1506 bestimmt, ob die zu druckende Seite eine Nutzseite oder Hilfsseite für einen Kopfaustausch und/oder eine Ausrichtung oder die erste Seite eines Dokuments ist. Wenn eine Nutzseite ausgewählt ist, wird die derzeitige Kopfkonfiguration in Schritt S1507 angezeigt und der Benutzer wählt aus, ob der Drucker 30 in Schritt S1508 aktiviert oder deaktiviert wird. Dann wird zu einem Auswahlschritt S1509 gegangen und der Benutzer kann eine Ausrichtung in Schritt S1510, einen Kopfaustausch und eine Kopfausrichtung durch Schritte S1510 und S1511, die durch ein Speichern der Druckerzustandsinformationen in Schritt S1512 gefolgt werden, eine Wiederherstellungsoperation zur Reinigung der Druckköpfe 130a und 130b durch einen Schritt S1503 oder ein Löschen der Benutzerschnittstelle in Schritt S1514 auswählen. Sobald die in Schritt S1509 ausgewählten Aufgaben ausgeführt sind, springt die Steuerung zu Schritt S1409 gemäß 14 zurück.
  • Wenn die Druckbetriebsart in Schritt S1506 gemäß 15 ausgewählt ist, wird die derzeitige Kopfkonfiguration dem Benutzer angezeigt (Schritt S1515). Nach Betätigung einer Aktivierungs-Deaktivierungs-Taste in Schritt S1516 kann der Benutzer in Schritt S1517 ein Drucken, einen Medientyp, eine Mediengröße ein Zielbild, eine benutzerdefinierte Seiteneinstellung, Hilfs- oder Löschoperationen auswählen. Die Auswahl des Medientyps (Schritt S1518), der Mediengröße (Schritt S1519), des Zielbilds (Schritt S1520) (d.h. Text und Farbe oder Fotofarbe), der benutzerdefinierten Papiergröße (Schritt S1521) und der benutzereingestellten Seite (Schritt S1522) verursacht in dem Druckertreiber 114 zu speichernde Informationen, die die Druckparameter und Druckdaten für die auszuführende Drucksequenz steuern. Bei Abschluss der Benutzerauswahlen mittels der Tastatur und einer Zeigereingabe bei der Benutzerschnittstellenanzeige wird die Steuerung zurück zu Schritt S1409 geführt und angeleitet, einen Druckbefehlssequenzschritt S1410 zu verwenden.
  • Wenn eine Drucksequenz in Schritt S1409 ausgewählt wird, schreitet die Verarbeitung zu Schritt S1410 voran. In Schritt S1410 erzeugt der Druckertreiber 114 eine Sequenz von Befehlen auf der Grundlage der Druckkopfkonfiguration, der Druckkopfausrichtung, des Medientyps und der Mediengröße sowie der Zielbildinformationen, die darin gespeichert sind. Diese Befehle werden zu der Druckersteuerung 140 (siehe 11) in dem Drucker 30 gesendet. In dem Drucker empfängt die Druckersteuerung 140 die Befehle und die Firmware von dem Drucker-ROM 122 und veranlasst eine Ausführung der Befehlsaufgaben in dem Druckgerät 131.
  • Die Druckbefehlssequenz umfasst ein Übertragen der Druckdaten von dem Drucktreiber 114 zu dem Druckpuffer 139, der für jeden Druckjob bzw. für jede Druckaufgabe definiert ist. Die Druckdatenübertragung wird ohne einen Empfangspuffer in dem Drucker 30 ausgeführt. Druckdaten für eine nächste Abtastung werden zu leeren Speicherungspositionen der derzeitigen Abtastung in dem Druckpuffer 139 während eines Hochfahrens der Druckköpfe in der derzeitigen Abtastung gesendet.
  • Kurz gesagt umfasst der Druckpuffer, zu dem die Befehle in Schritt S1410 übertragen werden, einen Satz von Speicherungspositionen, die den Druckpositionen der derzeitigen Abtastung für jeden Druckkopf entsprechen. Der Druckertreiber identifiziert leere Speicherungspositionen der derzeitigen Abtastung in dem Druckpuffer und sendet Druckdaten für die nächste Abtastung des Druckkopfes zu den identifizierten leeren Speicherungspositionen während der Hochfahrperiode der derzeitigen Abtastung des Druckkopfes. Die Druckdatenübertragung in der Druckbefehlssequenz gemäß der Erfindung ist ausführlicher in Abschnitt 9.0 beschrieben.
  • Die Befehlssequenz gemäß Schritt S1410 umfasst Befehle zur Einstellung der Druckauflösung der Druckköpfe 130a und 130b. Diese Befehle werden eingestellt, indem die Größe von Tintentröpfchen auf der Grundlage von digitalen Daten, die in einem Druckpuffer für einen Druckkopf gespeichert sind, und die Reihenfolge, in der die Druckdaten aus dem Druckpuffer für den Druckkopf gelesen werden, gesteuert werden. Genauer gesagt umfasst ein Verfahren zur Steuerung der Druckauflösung in einem Drucker mit ersten und zweiten Druckköpfen eine Steuerung der Auflösung der ersten und zweiten Köpfe unabhängig voneinander. Für Tintenstrahltyp-Druckköpfe, die Tintentröpfchen auf der Grundlage von digitalen Daten, die in einem Druckpuffer gespeichert sind, ausstoßen, wird die Auflösung durch Steuerung der Tintentröpfchengröße und durch Steuerung einer Auslesereihenfolge aus dem Druckpuffer gesteuert, wobei die Tröpfchengröße und die Auslesereihenfolge unabhängig für jeden Druckkopf gesteuert werden. Die Druckauflösungssteuerung ist ausführlicher in Abschnitt 10.0 beschrieben.
  • Ferner wählt in der Druckbefehlssequenz gemäß Schritt S1410 der Druckertreiber 114 den Tintentyp, der bei einem Drucken eines Zielbildelements zu verwenden ist, auf der Grundlage einer Analyse der Mehrfachpegelbilddaten der benachbarten Bildelemente aus. Als ein Beispiel kann eine farbstoffbasierende Tinte für ein schwarzes Zielbildelement, das von Farbbildelementen in einem Bild umgeben ist, ausgewählt werden, während eine pigmentbasierende Tinte für ein schwarzes Zielbildelement ausgewählt werden kann, das von schwarzen Bildelementen umgeben ist.
  • Zusammenfassend umfasst ein Verfahren gemäß der vorliegenden Erfindung zur Steuerung eines Druckens von Bildelementen, die einem Mehrfachpegelbild entsprechen, ein Bestimmen auf der Grundlage der Mehrfachpegelbilddaten für ein Zielbildelement und der Mehrfachpegelbilddaten für Bildelemente, die benachbart zu dem Zielbildelement sind, ob das Zielbildelement unter Verwendung einer farbstoffbasierenden Tinte gedruckt werden soll oder ob das Zielbildelement unter Verwendung einer pigmentbasierenden Tinte gedruckt werden soll, ein Anweisen eines Druckers, das Zielbildelement unter Verwendung der farbstoffbasierenden Tinte in dem Fall zu drucken, dass bestimmt wird, dass das Zielbildelement unter Verwendung der farbstoffbasierenden Tinte gedruckt werden soll, und ein Anweisen des Druckers, das Zielbildelement unter Verwendung der pigmentbasierenden Tinte in dem Fall zu drucken, dass bestimmt wird, dass das Zielbildelement unter Verwendung der pigmentbasierenden Tinte gedruckt werden soll. Die Steuerung des Bildelementdruckens ist ausführlicher in Abschnitt 11.0 beschrieben.
  • Bei Abschluss eines Druckens einer Seite schreitet der Ablauf zu Schritt S1411 gemäß 14 voran, in dem die Seite aus dem Drucker 30 in Reaktion auf einen Papierausstoßbefehl ausgegeben wird. Der Drucker 30 stößt dann die Seite zu einem Paar von gewinkelten einziehbaren Klappen aus, die einstellbar durch Federn bei einem Fach positioniert sind, wie es in Abschnitt 4.0 beschrieben ist. Während einer Bewegung zu dem Fach während des Druckens wird die Stufe, bei der eine Seite auf zuvor ausgestoßene Seiten gleitet, durch eine Abwärtsbewegung der Klappen aufrechterhalten, so dass sich die Seite nicht in dem Druckkopfbereich biegt. Ein derartiges Biegen kann eine Verschlechterung eines Bildes verursachen, das gedruckt wird. Außerdem weist das Papierausstoßfach einen Aufbau auf, der eine Speicherung und eine Einstellung vereinfacht.
  • Zu diesem Zweck ist diese Ausgestaltung der Erfindung ein Ausstoßfach für einen Drucker mit einem Gehäuse, das einen Medienzufuhrabschnitt und eine Medienausstoßöffnung definiert, wobei das Gehäuse angepasst ist, ein Druckgerät zum Drucken auf Aufzeichnungsmedien zu beherbergen. Das Ausstoßfach umfasst eine Basis, die gleitbar in dem Gehäuse des Druckers bei einer Position aufnehmbar ist, die seitlich zu der Medienausstoßöffnung beabstanded ist. Die Basis umfasst zumindest ein Paar von Vertiefungen, die sich in eine Gleitrichtung der Basis erstrecken. Ein Paar von Klappen ist ebenso in dem Ausstoßfach beinhaltet. Das Paar von Klappen weist jeweils zumindest einen Breiteabschnitt auf, der der seitlichen Entfernung zwischen der Basis und der Ausstoßöffnung entspricht. Jede Klappe ist in einer entsprechenden Vertiefung der Basis drehbar angebracht und in einer Aufwärtsrichtung über eine Feder vorgespannt, die eine Winkelbewegung der Klappe in Bezug auf die Basis bereitstellt. Bei einer Schiebeaktion der Basis aus dem Gehäuse werden die Klappen nach oben heraus aus den Vertiefungen zu einer Höhe vorgespannt, die der Position der Medienausstoßöffnung entspricht.
  • In 16 ist ein Flussdiagramm gezeigt, das ausführlicher eine Befehlssequenz veranschaulicht, die durch den Druckertreiber 114 zum Drucken und Betreiben des Druckers 30 erzeugt wird. Gemäß 16 wird die Druckbefehlssequenz durch einen Druckerinitialisierungsbefehl in Schritt S1601 gestartet, der zu der Druckersteuerung 140 gesendet wird, um einen Druckerbetrieb zurückzusetzen. Ein Papierladebefehl (Schritt S1602) wird dann der Druckersteuerung 140 bereitgestellt, der eine Ladepapieroperation in einem Auswahlschritt 1603 auswählt und einen Papierladestart ausführt (Schritt S1604). Wenn ein Papierladeende in der Druckersteuerung 140 in Schritt S1605 erfasst wird, wird ein Signal, das das Ende der Papierladung anzeigt, zu dem Druckertreiber 114 gesendet, wobei die Druckdaten für eine erste Abtastung der Druckköpfe 130a und 130b in Schritt S1606 vorbereitet werden. Die Druckersteuerung 140 wird über diese Abtastungsvorbereitung benachrichtigt. Die Vorbereitung der Druckdaten in dem Druckertreiber 114 ist ausführlicher in der US-Patentanmeldung Nr. 08/901,719 mit dem Titel „Print Driver for A Color Printer", angemeldet am 28. Juli 1997 (Europäische Anmeldung Nr. 98305967.6) beschrieben. Wenn keine Druckdaten für die Abtastung in einem Entscheidungsschritt S1607 bestimmt werden, wird in dem Druckertreiber 114 in Schritt S1608 ein virtuelles Überspringen ausgeführt. Die Steuerung wird zu Schritt S1607 zurückgeführt, wenn in Schritt S1609 ein Seitenende nicht erfasst wird. Bis das Seitenende erfasst wird, werden Schritte S1610 bis S1614 und S1608 ausgeführt.
  • In Schritt S1610 wird ein tatsächlicher Überspringbefehl durch den Druckertreiber 114 für die Druckersteuerung 140 zum Drucken der korrekten Druckdaten bereitgestellt. Die Druckersteuerung 140 wählt die tatsächliche Überspringoperation (Schritt S1603) aus und führt das tatsächliche Überspringen (Schritt S1615) aus. Die Abtastungseinstellung wird dann in dem Druckertreiber 114 ausgeführt (Schritt S1611) und die Druckersteuerung 140 wird benachrichtigt. Als nächstes werden die Druckdaten, die in dem Druckertreiber 114 erzeugt werden, und die Druckpufferadressen für die Druckdaten zu der Druckersteuerung 140 übertragen, die diese Informationen in dem Druckpuffer 139 speichert (Schritt S1612). Die nächste Abtastung wird dann in dem Druckertreiber 114 vorbereitet und die Drucksteuerung 140 wird benachrichtigt (Schritt S1613). Dann wird ein Druckbefehl, der in dem Druckertreiber 114 erzeugt wird, zu der Druckersteuerung 140 gesendet. In Reaktion darauf wählt die Druckersteuerung 140 eine Druckoperation in Schritt S1619 aus und führt die Druckaufgabe in Schritt S1614 aus. Ein virtuelles Überspringen wird dann durch den Druckertreiber 114 in Schritt S1608 ausgeführt, um die Zeilen der Seite, die gedruckt wird, zu verfolgen. Wenn ein Seitenende in dem Entscheidungsschritt S1609 bestimmt wird, wird ein Seitenausstoßbefehl durch den Druckertreiber 114 zu der Druckersteuerung 140 gesendet, die eine Seitenausstoßoperation (Schritt S1616) auswählt und einen Seitenausstoß (Schritt S1617) startet. Bei Abschluss des Seitenausstoßes (Schritt S1618) wird der Druckertreiber 114 über den Abschluss des Seitenausstoßes benachrichtigt und die Steuerung geht zu Schritt S1409 gemäß 14 weiter.
  • In 17 ist ein Flussdiagramm gezeigt, das die Einstellung der Befehle, die in dem Abtastungseinstellungsschritt S1611 für die derzeitige Abtastung gemäß 16 verwendet werden, veranschaulicht. Unter Bezugnahme auf 17 wird ein [SPEED]- oder [GESCHWINDIGKEIT]-Befehl in Schritt S1701 ausgegeben, um die Abtastungsgeschwindigkeit einzustellen, ein [DROP]- oder [TROPFEN]-Befehl wird ausgegeben (Schritt S1702), um die Tröpfchengröße für einen Druckkopf (A) einzustellen, und ein anderer [DROP]-Befehl wird ausgegeben (Schritt S1703), um die Tröpfchengröße für den anderen Druckerkopf (B) einzustellen. In Schritten S1704 und S1705 wird ein [SELECT_PULSE]- oder [AUSWAHL_IMPULS]-Befehl ausgegeben, um einen Wärmeimpuls zum Drucken einzustellen, und ein [PCR]-Befehl wird ausgegeben, um ein Impulssteuerungsverhältnis für eine Temperaturtabelleneinstellung einzustellen. [SELECT_CONTROL]- oder [AUWAHL_STEUERUNG]-Befehle werden in Schritten S1706 und S1707 ausgegeben, um die Puffersteuerung für jeden Druckkopf auszuwählen, um eine Abfeuerzeit der Druckkopfdüsen zu bestimmen. [DEFINE_BUF]- oder [DEFINIERE_PUF]-Befehle werden in Schritten S1708 und S1709 ausgegeben, um den Druckpuffer für jeden der Druckköpfe 130a und 130b zu definieren. Folglich wird jede Ausgestaltung einer Druckeroperation, wie bspw. eine Abtastungseinstellung, durch den Host-Verarbeitungsvorrichtungs-Druckertreiber 114 unter Berücksichtigung der Druckkopfkonfiguration und der Druckbetriebsart gesteuert. Die Aufgaben, die durch den Drucker 30 ausgeführt werden, sind dadurch ausführlich durch den Druckertreiber 114 definiert, so dass die Druckerarchitektur im Wesentlichen vereinfacht werden kann und weniger kostenintensiv ist.
  • Ein Beispiel der Befehlssequenz von der Host-Verarbeitungsvorrichtung 23 zu dem Drucker 30 zum Drucken einer Seite in einer Farbbetriebsart mit zwei Farbdruckköpfen ist in Tabelle A angegeben, die in 18 gezeigt ist. Zunächst wird, wie es in Tabelle A angezeigt ist, die derzeitige Zeit durch einen [UCT]-Befehl eingestellt und der Drucker 30 wird durch einen [RESET]- oder [RÜCKSETZ]-Befehl zurückgesetzt. Eine Datenkomprimierung wird ausgewählt, um die Druckdaten durch einen [COMPRESS]- oder [KOMPRIMIERUNG]-Befehl zu packen. Druckpuffer für die Druckköpfe 130a und 130b werden durch [DEFINIERE_PUF]-Befehle definiert. Die Wärmeimpuls- und Puffersteuerungstabellen sind für die Farbbetriebsart der Druckkopfkonfiguration durch [DEFINIERE_IMPULS]- und [DEFINIERE_STEUERUNG]-Befehle definiert.
  • Nachdem die Druckeraufgaben für die vorangegangenen Initialisierungsbefehle ausgeführt sind, werden ein Papierladebefehl [ÖOAD] oder [LADEN] zum Laden einer Seite oder eines anderen Druckmediums und ein Rasterüberspringbefehl [SKIP] oder [ÜBERSPRINGEN] zum Überspringen der Druckposition der ersten Druckkopfabtastung zu dem Drucker 30 gesendet, wobei die Druckrichtung und -ränder für ein Drucken der Druckköpfe 130a und 130b für die erste Abtastung eingestellt werden. Eine Befehlsschleife wird dann zur Steuerung der Druckeraufgaben zum Drucken der Zeilen der Seite gesendet. In dem ersten Abschnitt der Schleife für jede Zeile werden die Abtastungsparameter für die Zeile eingestellt, wie es in Bezug auf 17 beschrieben ist. Im Nachgang zu einem Abschluss der Druckeraufgaben für die Auswahlpuffersteuerungstabellenbefehle [SELECT_CONTROL] oder [AUSWAHL_STEUERUNG] werden die Druckdatenblöcke durch einen [BLOCK]-Befehl ausgewählt und die Druckfarben werden durch wiederholte Auswahl-Farbe-[FARBE]- oder -[COLOR]- und Datenübertragungs-[DATEN]- oder [DATA]-Befehle entsprechend den bestimmten Druckbereichen für die Druckköpfe 130a und 130b ausgewählt und übertragen.
  • Die Richtung der zweiten Abtastung und die linken und rechten Ränder der Druckbereiche für die zweite Abtastung werden dann durch [DIRECTION]- oder [RICHTUNG]- und [EDGE]- oder [RAND]-Befehle eingestellt. Zu diesem Zeitpunkt wird ein [PRINT]- oder [DRUCKEN]-Befehl von der Host-Verarbeitungsvorrichtung zu dem Drucker 30 zur Ausführung eines Druckens für die erste Abtastung übertragen, wobei ein [SKIP]- oder [ÜBERSPRINGEN]-Befehl gesendet wird, um die Druckposition der zweiten Abtastung zu überspringen. Wenn die letzte Zeile gedruckt worden ist, wird ein Papierausstoßbefehl an den Drucker 30 abgegeben, um einen Papierausstoß auszuführen.
  • Wie es aus den Befehlssequenzen für das Einstellen der Abtastungsoperationen und dem Beispiel der Druckoperationen gemäß der Erfindung ersichtlich ist, wird jede Ausgestaltung der Druckeroperation, wie bspw. das Abtastungseinstellen oder das Drucken, durch den Druckertreiber 114 gesteuert, wobei die Druckkopfkonfiguration und die Druckbetriebsart berücksichtigt werden. Die durch den Drucker 30 auszuführenden Aufgaben werden dadurch ausführlich durch den Druckertreiber 114 definiert, so dass die Druckerarchitektur wesentlich vereinfacht ist, um preiswerter zu sein.
  • Zurück zu 14 schreitet, wenn eine Druckerzustandsanforderung in Schritt S1409 bestimmt wird, der Ablauf zu Schritt S1412 voran. In Schritt S1412 wird eine Druckerzustandsbefehlssequenz ausgeführt. Die Zustandsbefehle, die Anforderungen für Druckerzustandsinformationen bereitstellen, sind ausführlich in Abschnitt 3.6 beschrieben. Im Allgemeinen wird jeder der Zustandsbefehle von der Host-Verarbeitungsvorrichtung zu dem Drucker 30 gesendet, um die Informationen über den Druckerbetrieb oder in dem Drucker 30 gespeicherte Informationen anzufordern. Bspw. fordert ein Grundzustandsbefehl [BASE_STATUS] oder [GRUND_ZUSTAND] den derzeitigen Zustand des Druckers an. In Reaktion darauf gibt der Drucker 30 ein Datenbyte zurück, das eines der nachstehenden angibt: Druckzustand, ob der Druckpuffer 139 Daten empfangen kann oder nicht, ob der Drucker 30 beschäftigt ist, ein Anfahren auszuführen, einen Kartuschenersatz, eine Druckkopfreinigung, ein Testdrucken, usw., und ob ein Fehler oder ein Alarm erfasst worden ist. Ein [HEAD]- oder [KOPF]-Befehl fordert eine Rückgabe der Druckkopfkonfiguration an und ein [DATA_SEND]- oder [DATEN_SENDEN]-Befehl fordert eine Rückgabe von EEPROM-Daten an die Host-Verarbeitungsvorrichtung 23 an. Nach der Rückführung der angeforderten Daten in Schritt S1412 wird die Steuerung zu Schritt S1406 zurückgeführt.
  • 3.0 Architektur der Druckersoftware
  • Eine Steuerung über die Funktionalität des Druckers 30 wird durch individuelle Programme bewirkt, die auf der CPU 121 ausgeführt werden. Die individuellen Programme umfassen Initialisierungsroutinen, wie bspw. Routinen, die bei einem Einschalten ausgeführt werden, Aufgaben zur Interpretation von Befehlen, die von der Host-Verarbeitungsvorrichtung 23 empfangen werden, Unterbrechungssteuerungsprogramme oder -handler, wie bspw. Steuerungsprogramme zur Verarbeitung von Echtzeithardwareunterbrechungen, und zyklische Steuerungsprogramme, die zyklische Verarbeitungen handhaben, wie bspw. Steuerungsprogramme zur Steuerung von bidirektionalen Kommunikationen mit der Host-Verarbeitungsvorrichtung 23.
  • Die Drucker-CPU 121 führt ferner ein Betriebssystem aus, um die Ausführung jedes der individuellen Programme (d.h. der Initialisierungsroutinen, der Aufgaben, der Unterbrechungssteuerungsprogramme und der zyklischen Steuerungsprogramme) zu koordinieren. Das Betriebssystem ist verantwortlich für eine Zwischenprogrammkommunikation durch Nachrichten und dergleichen sowie für ein Zwischenprogrammumschalten, um die Ausführung von einem Programm zu einem anderen umzuschalten, wenn es passend ist. Einzelheiten des Betriebssystems sind nachstehend beschrieben.
  • 3.1 Betriebssystem
  • Das Betriebssystem ist ein Echtzeit-Betriebssystem (oder "kernel" oder "monitor"), das erzeugt worden ist, um Druckersteuerungsprogramme zu modularisieren und um eine Wartung, eine Übernahme und eine Erweiterung zu vereinfachen. Das Echtzeitbetriebssystem ist eine Systemsoftware, die eine preemtive oder bevorrechtigte Multitask- bzw. Mehrfachaufgabensoftwareumgebung bereitstellt, in der ein derzeit ausführendes Programm zu Gunsten eines Umschaltens zu einem anderen Programm mit einer höheren Priorität außer Kraft gesetzt werden kann.
  • Das Betriebssystem ermöglicht vier unterschiedliche Programmtypen, von denen jedes durch das Betriebssystem entsprechend dem zugehörigen spezifischen Typ ausgeführt wird. Die Typen sind Initialisierungsroutinen, Aufgaben, Unterbrechungssteuerungsprogramme und zyklische Steuerungsprogramme. Initialisierungsroutinen sind Routinen, die durch das Betriebssystem eingeplant bzw. terminiert werden, unmittelbar nachdem der Drucker 30 zurückgesetzt ist, aber nachdem sich das Betriebssystem selbst initialisiert hat. Aufgaben sind übliche Programme (bisweilen "Ausführungseinheiten" genannt) einer kontinuierlichen Verarbeitung, die aufeinanderfolgend ausgeführt werden. Somit sind Aufgaben eine oder mehr Sequenzen von Anweisungen, die durch das Betriebssystem als Arbeitseinheiten gehandhabt werden, die durch die CPU 121 in einer Mehrfachprogrammierungs- oder Mehrfachverarbeitungsumgebung ausgeführt werden. Eine Vorspiegelung bzw. Illusion einer gleichzeitigen Verarbeitung wird durch das Betriebssystem erzeugt, indem die Verarbeitung in individuellen Aufgabeneinheiten eingeteilt wird.
  • Ein Unterbrechungssteuerungsprogramm ist eine (üblicherweise kurze) Programmeinheit, die durch das Betriebssystem unmittelbar bei Empfang einer Hardware-Unterbrechung aktiviert wird. Zyklische Steuerungsprogramme sind Unterbrechungssteuerungsprogrammen ähnlich, wobei aber zyklische Steuerungsprogramme eher durch eine Zeitgeberunterbrechung des Betriebssystems als durch eine Hardwareunterbrechung aktiviert werden.
  • Wenn der Drucker 30 zurückgesetzt wird, ist die Ausführung des Betriebssystems die erste Software, die durch die CPU 121 ausgeführt wird. Die CPU-Register werden entsprechend vordefinierten Anforderungen eingestellt, wobei dann benutzerdefinierte Initialisierungsroutinen ausgeführt werden, falls welche vorhanden sind. Danach kehrt die Steuerung zu dem Betriebssystem zurück, das jede der Aufgaben in dem System aktiviert. Eine derartige Aufgabe ist eine Startaufgabe. Nachdem die Startaufgabe beginnt, wird das Betriebssystem jedes Mal aktiviert, wenn ein Systemaufruf ausgegeben wird oder eine Unterbrechung auftritt. Nach der Ausführung des Systemaufrufs oder nach Handhabung der Unterbrechung kehrt die Ausführung zurück zu dem Betriebssystem, das Aufgaben einplant, um die ausführbare Aufgabe mit der höchsten Priorität auszuführen.
  • Ein Ansetzen oder Einplanen der Aufgaben umfasst eine Bestimmung, welche Aufgabe ausgeführt wird, wenn mehrere Aufgaben vorhanden sind, die gleichzeitig für eine Ausführung in Frage kommen. Die Aufgaben werden entsprechend einer zugewiesenen Priorität eingeplant, bei der eine Aufgabe höherer Priorität vor allen anderen Aufgaben niedrigere Priorität ausgeführt wird. Die für die Ausführung in Frage kommenden Aufgaben, die aber derzeit auf Grund der zugehörigen niedrigeren Prioritätsstufe derzeit nicht ausgeführt werden, sind in einer Bereitschaftsschlange auf der Grundlage der zugehörigen Prioritäten platziert.
  • Da jede Aufgabe für eine Ausführung neu in Frage kommt, wird sie bei dem Ende der Bereitschaftswarteschlange platziert. Ein Ansetzen bzw. ein Einplanen wird dann ausgeführt, wenn von einem Systemaufruf, der durch eine Aufgabe ausgegeben wird, zurückgekehrt wird, oder wenn von einer Unterbrechungsbearbeitung zu einer Aufgabe zurückgekehrt wird, wobei beides veranlassen kann, dass neue Aufgaben in eine Warteschlange eingefügt werden, oder eine Änderung in der Priorität der Aufgaben, die bereits in der Warteschlange vorhanden sind, veranlassen kann. Das Einplanen ordnet die Aufgaben in der Aufgabenwarteschlange auf der Grundlage der Priorität jeder Aufgabe und macht die Aufgabe mit der höchsten Priorität zu der derzeit ausführbaren Ablaufaufgabe. Wenn zwei oder mehr Aufgaben in der Bereitschaftswarteschlange die gleiche Priorität aufweisen, wird die Entscheidung hinsichtlich derjenigen Aufgabe, die ausgewählt werden soll, auf der Grundlage davon getroffen, welche Aufgabe zuerst in die Warteschlange eingefügt worden ist.
  • Das Betriebssystem verwendet Semaphore bzw. Flaggensignale als eine Grundkommunikationseinrichtung zwischen Aufgaben sowie zur Steuerung oder Synchronisation zwischen Aufgaben. Aufgaben können ebenso unter Verwendung von Nachrichten kommunizieren und Daten untereinander übertragen. Die Nachrichten werden zu Briefkästen bzw. Mailboxen durch eine Aufgabe gesendet, wobei eine Aufgabe, die die Nachricht empfangen muss, eine Empfangsanforderung an die Mailbox ausgibt, um die Nachricht zu erhalten.
  • Das Betriebssystem verwendet ferner nachstehend als Ereignisflags bezeichnete Ereigniskennzeichen zur Synchronisation von Aufgaben. Eine beliebige Aufgabe, die von einem Wartezustand auf der Grundlage eines bestimmten Ereignisses freigegeben werden möchte, kann ein Ereignisflagmuster registrieren, bei dessen Auftreten das Betriebssystem die Aufgabe von dem Wartezustand freigeben kann.
  • Eine Unterbrechungsverwaltung durch das Betriebssystem ist durch ein Unterbrechungssteuerungsprogramm und durch Unterbrechungserlaubisstufeneinstellungen bereitgestellt. Eine Zeitverwaltung ist durch die Betätigung des Betriebssystems eines Unterbrechungssteuerungsprogramms auf der Grundlage des Systemzeitgebers bereitgestellt.
  • Zyklische Steuerungsprogramme führen eine Verarbeitung bei jedem spezifizierten Zeitintervall auf der Grundlage der in dem Betriebssystem registrierten zyklischen Steuerungsprogramme aus. Typischerweise ist ein zyklisches Steuerungsprogramm ein kurzes Programm, das eine Aufgabe spezifiziert, die bei jedem spezifizierten Zeitintervall ausgeführt wird.
  • Initialisierungsroutinen, Aufgaben, Unterbrechungssteuerungsprogramme und zyklische Steuerungsprogramme, die für den Drucker 30 bevorzugt werden, sind in den nachstehenden Abschnitten beschrieben.
  • 3.2 Initialisierung
  • Während eines Startens werden Initialisierungsfunktionen ausgeführt, um den Drucker 30 zu initialisieren, wie bspw. ein Initialisieren der Steuerungslogik 124, ein Überprüfen des ROM 122, ein Überprüfen des RAM 129 und ein Überprüfen des EEPROM 122.
  • In den 19 und 20 ist eine Kaltstartsequenz oder harte Einschaltsequenz bzw. eine Warmstartsequenz oder weiche Einschaltsequenz gezeigt. Diesbezüglich ist anzumerken, dass solange Energie dem Drucker 30 zugeführt wird, die CPU 121 eine Software unabhängig von dem Zustand der Stromtaste 44 ausführt. Somit betrifft ein "hartes Einschalten" (bzw. hard power-on) eine Anfangsenergiezufuhr zu dem Drucker 30. Danach veranlasst eine Benutzeraktivierung der Energietaste 44 einfach ein weiches Einschalten (bzw. soft power-on) oder ein weiches Ausschalten (bzw. soft power-off). Diese Anordnung ist bevorzugt, da sie es dem Drucker 30 ermöglicht, fortlaufende Ereignisse (wie bspw. die vergangene Zeit) zu überwachen, auch wenn der Drucker 30 "aus" ist.
  • Unter Bezugnahme auf 19, die eine harte Einschaltsequenz zeigt, führt bei einer Anfangsenergiezufuhr Schritt S1901 Speicherüberprüfungen aus, wie bspw. eine ROM-Überprüfung, eine RAM-Überprüfung und eine EEPROM-Überprüfung. In Schritt S1902 werden Sofwareaufgaben initialisiert, und in Schritt S1903 geht die CPU 121 in eine Leerlaufschleife über, wobei sie ein weiches Einschalten erwartet.
  • In 20 ist die weiche Einschaltsequenz angegeben. In Schritt S2001 wird eine mechanische Initialisierung des Druckergeräts 131 ausgeführt, wie bspw. ein Zurücksetzen auf die Ausgangsposition, in Schritt S2002 werden die Softwaresteuerungsaufgaben gestartet, einschließlich der Centronics-Kommunikationsaufgaben, und in Schritt S2003 wird in die Hauptverarbeitungsbetriebsart übergegangen.
  • In 21 sind Einzelheiten einer weichen Ausschaltsequenz gezeigt. In Schritt S2101 werden alle Sofwareaufgaben beendet, und in Schritt S2102 wird eine Leerlaufschleife begonnen, während der in Schritt S2103 der Drucker 30 die nächste weiche Einschaltsequenz erwartet.
  • 3.3 Aufgaben
  • In dem bevorzugten Ausführungsbeispiel der Erfindung sind Druckeraufgaben ausgelegt, um eine Funktionalität zu isolieren, so dass jede Aufgabe für einen einzelnen, fest zusammenhängenden Aspekt der Druckersteuerung verantwortlich ist. Allgemein gesprochen können die Aufgaben in drei Konzeptgruppen aufgeteilt werden, nämlich Geräte- oder Antriebsaufgaben, Steuereinrichtungsaufgaben und gemischt Aufgaben.
  • Mit Bezug auf die gerätebezogenen Aufgaben sind Aufgaben zur Steuerung des Schlittenmotors 66 für die Schlittenbewegung, zur Steuerung des Zeilenzufuhrmotors 61 für einen Papiervorschub und zur Steuerung sowohl von Papierzufuhr- als auch Reinigungsoperationen für die Druckköpfe 130a und 130b, wie bspw. ein Tintenabsaugen, ein Ausblasen und dergleichen, bereitgestellt. Andere Aufgaben übertragen Nachrichten von dem Druckgerät 131 zu anderen Aufgaben und steuern das Druckergerät 131 auf der Grundlage einer Nachricht von einer anderen Aufgabe.
  • Mit Bezug auf die Steuerungsaufgaben sind Aufgaben zur Interpretation von Befehlen bereitgestellt, die von der Host-Verarbeitungsvorrichtung 23 empfangen werden; diese Befehle sind ausführlich nachstehend in Abschnitt 3.6 beschrieben. Prüfbezogene Aufgaben können bereitgestellt werden, wenn es gewünscht ist.
  • Mit Bezug auf die gemischten Aufgaben initialisiert eine Initialisierungsaufgabe, die vorstehend in Abschnitt 3.2 beschrieben worden ist, den Drucker 30. Andere Aufgaben sind zur Steuerung von Anzeigen bei dem Drucker 30, zur Abtastung von Schlüsselschaltern, die Tasten von dem Vorderbedienfeld des Druckers 30 entsprechen, sowie zur Erfassung des zugehörigen Zustands, zur Initialisierung der Hardware, die die Host-Computerschnittstelle 141 und die I/O-Anschlusseinheit 127 betrifft, zur Steuerung von Centronics-Ausgangssignalen und zur Interpretation und Übertragung dieser Signale zu anderen Aufgaben bereitgestellt. Eine Aufgabe ist bereitgestellt, um die Gerätesteuerungsaufgabe und die Kommunikationsaufgaben zu steuern. Zusätzlich werden durch diese Aufgabe andere Aufgaben gestartet, ausgesetzt und wiederaufgenommen. Eine Leerlaufaufgabe tut im Grunde nichts und ist für eine Verwendung durch das Betriebssystem bereitgestellt, wenn keine anderen Aufgaben in einem Wartezustand in eine Warteschlange eingereiht sind.
  • Die Schnittstelle und andere Kommunikationen zwischen Aufgaben werden durch die Verwendung von Briefkästen bzw. Mailboxen, in denen Nachrichten platziert werden, und Semaphoren erreicht, um die Nachrichtenkommunikation zu koordinieren. Diese Anordnung ist in 22 veranschaulicht. In 22 sind Steuereinrichtungsaufgaben 201, Benutzerschnittstellenaufgaben 202, bidirektionale Kommunikationsaufgaben 204, gemischte Aufgaben 205 und Geräteaufgaben 206 gezeigt. Jede Aufgabe in der Aufgabengruppe weist eine damit verbundene Mailbox auf, die als Diagramm in 22 veranschaulicht ist, wobei Bezugszeichen 210 die Mailboxen für jede Aufgabe in den Steuereinrichtungsaufgaben 201 angibt, Bezugszeichen 213 Mailboxen für jede Aufgabe in den Benutzerschnittstellenaufgaben 202 angibt, Bezugszeichen 215 Mailboxen für jede Aufgabe in der Kommunikationsaufgabe 204 anzeigt, Bezugszeichen 217 Mailboxen für jede Aufgabe in den gemischten Aufgaben 205 anzeigt und Bezugszeichen 219 Mailboxen für jede Aufgabe in den Geräteaufgaben 206 anzeigt. Mit der Ausnahme der Geräteaufgaben 206 wird eine Koordination von Nachrichten, die zu den Mailboxen gesendet werden und von den Mailboxen empfangen werden, durch die Semaphore gesteuert. Für die Geräteaufgaben 206 werden keine Semaphore verwendet, da eine Erfassung der Speicherverwendung ausreichend ist.
  • Jede Mailbox ist angepasst, um Nachrichten von jeder der anderen Aufgaben zu empfangen, und ist ferner angepasst, Nachrichten zu der zugehörigen verbunden Aufgabe zu liefern. Somit kann die Mailbox 210 Nachrichten von einer beliebigen der Benutzerschnittstellenaufgaben 202, der Kommunikationsaufgaben 204, der gemischten Aufgaben 205 und der Geräteaufgaben 206 empfangen, wobei sie diese Nachrichten zu der zugehörigen verbundenen Aufgabe in der Aufgabengruppe 210 liefern kann. Gleichsam ist die Mailbox 213 angepasst, Nachrichten von einer beliebigen der Steuereinrichtungsaufgaben 201, der Kommunikationsaufgaben 204, der gemischten Aufgaben 205 und Geräteaufgaben 206 zu empfangen, wobei sie angepasst ist, diese Nachrichten zu den verbundenen Aufgaben in der Benutzerschnittstellenaufgabe 202 zu liefern. Gleichsam ist die Mailbox 215 angepasst, Nachrichten von einer beliebigen der Steuereinrichtungsaufgaben 201, der Benutzerschnittstellenaufgaben 202, der gemischten Aufgaben 205 und der Geräteaufgaben 206 zu empfangen, wobei sie angepasst ist, diese Nachrichten zu der Kommunikationsaufgabe 204 zu liefern. Gleichsam ist die Mailbox 217 angepasst, Nachrichten von einer beliebigen der Steuereinrichtungsaufgaben 201, der Benutzerschnittstellenaufgaben, der Kommunikationsaufgaben 204 und der Geräteaufgaben 206 zu empfangen, wobei sie angepasst ist, diese Nachrichten zu den verbundenen Aufgaben in der gemischten Aufgabengruppe 205 zu liefern. Schließlich ist die Mailbox 219 angepasst, Nachrichten von einer beliebigen der Steuereinrichtungsaufgaben 201, der Benutzerschnittstellenaufgaben 202, der Kommunikationsaufgaben 204 und der gemischten Aufgaben 205 zu empfangen, wobei sie angepasst ist, diese Nachrichten zu den verbundenen Aufgaben in den Geräteaufgaben 206 zu liefern.
  • 3.4 Unterbrechungssteuerungsprogramme
  • Obwohl das Betriebssystem Unterbrechungssteuerungsprogramme, wie bspw. Steuerungsprogramme für periodische Taktunterbrechungen, beinhalten kann, können derartige zyklische Ereignisse ebenso mit zyklischen Steuerungsprogrammen gehandhabt werden.
  • 3.5 Zyklische Steuerungsprogramme
  • Zyklische Steuerungsprogramme werden für die Kommunikationsaufgabe 204 und für die Benutzerschnittstellenaufgaben 202 bereitgestellt, wie es vorstehend in Verbindung mit 22 gezeigt und beschrieben ist.
  • Zusätzlich ist ein zyklisches Steuerungsprogramm für Steuereinrichtungszeitgeberoperationen bereitgestellt. In 23 ist ein Flussdiagramm gezeigt, das eine Steuereinrichtungszeitgebersteuerung gemäß diesem zyklischen Steuerungsprogramm veranschaulicht. Wie es in 23 gezeigt ist, wird bei einem Empfang einer 10-ms-Unterbrechung eine Unterwärmeeinrichtungssteuerung ausgeführt. Der Zweck der Unterwärmeeinrichtungssteuerung besteht darin, die Temperatur jedes Druckkopfes in dem Drucker 30 (nämlich der Druckköpfe 130a und 130b) hin zu einer Solltemperatur anzusteuern. Dies wird ausgeführt, indem eine Unterwärmeeinrichtungsansteuerungszeit bzw. Unterwärmeeinrichtungstreiberzeit auf der Grundlage einer Differenz zwischen einer berechneten Kopftemperatur und einer Sollkopftemperatur eingestellt wird.
  • Die 50-ms-Unterbrechung berechnet, wie es in 23 gezeigt ist, eine Kopftemperatur für jeden Kopf auf der Grundlage der Menge von Koptreiberimpulsen, die jedem Kopf zugeführt werden. Die Berechnungen beruhen auf zuvor gespeicherten Tabellen in dem ROM 122, die Konstanten für eine Verwendung bei der Berechnung des Temperaturanstiegs sowie des Temperaturabfalls auf der Grundlage von Kopfabfeuerungen bzw. Kopfausstößen bereitstellen.
  • Die 50-ms-Unterbrechung steuert ferner eine Impulsbreitenmodulationssteuerung entsprechend den zuvor gespeicherten Tabellen in dem ROM 122, um die Vorheizimpulse für jede Druckdüse sowie die tatsächliche Hauptimpulsbreite für jede Düse einzustellen. Die Impulsparameter werden dann zu der Steuerungslogik 124 gesendet.
  • Die 50-ms-Unterbrechung bewirkt ferner eine Kopfschutzsteuerung, um sicherzustellen, dass die Breite des Vorheizimpulses und die Breite des Hauptimpulses nicht die Grenzen überschreiten, die den Druckkopf beschädigen könnten.
  • Wie es in 23 gezeigt ist, bewirkt die 500-ms-Unterbrechung die Haupterwärmungssteuerung. Wie es ebenso in 23 gezeigt ist, berechnet die 1-sek-Unterbrechung die Umgebungstemperatur und schreitet dann zu einer Aktualisierung der Solltemperaturen auf der Grundlage der berechneten Umgebungstemperatur voran.
  • Es ist anzumerken, dass jede der 10-ms-, 50-ms-, 500-ms- und 1-sek-Dauern lediglich zur Veranschaulichung dient und verändert werden kann.
  • 3.6 Befehle zu und von der Host-Verarbeitungsvorrichtung
  • Nachstehend sind die Befehle, die zu und von der Host-Verarbeitungsvorrichtung 23 über die bidirektionale Druckerschnittstelle 104 gesendet werden, zusammengefasst. Allgemein gesprochen umfasst jeder Befehl einen oder mehr Parameter, wobei einige Befehle (wie bspw. der [DATA]- oder [DATEN]-Bilddatenübertragungsbefehl) auch Daten umfassen.
  • Der Zustandsanforderungsbefehl [STATUS] oder [ZUSTAND] ist ein generalisierter Befehl, der eine Antwort über die bidirektionale Schnittstelle 104 von dem Drucker 30 auslöst. Durch die Verwendung des Zustandsanforderungsbefehls kann die Host-Verarbeitungsvorrichtung 23 detaillierte Informationen bezüglich des Druckers 30 erhalten, wie bspw. die Inhalte des EEPROM 132, Ausrichtungs- und Dichtesensorergebnisse und dergleichen. Der Zustandsanforderungsbefehl ist folglich nachstehend in ausführlichen Einzelheiten beschrieben.
  • In den nachstehenden Abschnitten ist eine Mnemonik für jeden Befehl gezeigt, die durch eckige Klammern ("[]") umschlossen ist. Die nachstehend gezeigten Mnemoniken sind einfach Beispiele. Die tatsächliche Sequenz und die tatsächlichen Kombinationen von Buchstaben, die zur Bildung der Befehlsmnemoniken verwendet werden, sind unerheblich, solange die Verwendung auf der Druckerseite und der Host-Verarbeitungsvorrichtungsseite folgerichtig ist, so dass die Befehle, die von der einen gesendet werden, für die andere verständlich sind.
  • 3.6.1 Steuerungsbefehle
  • Die Steuerungsbefehle dienen zur Steuerung von Druckoperationen des Druckers 30. Nachstehend ist eine Beschreibung der verschiedenen Steuerungsbefehle gegeben.
  • [LOAD] oder [LADEN] – Papierladen
  • Der Laden-Befehl veranlasst ein Papierladen, stößt aber nicht das derzeit geladene Aufzeichnungsmedium aus. Dieser Befehl muss zu dem Drucker 30 gesendet werden, auch wenn bereits ein Medium manuell geladen ist.
  • [EJECT] oder [AUSSTOSS] – Papier ausstoßen
  • Dieser Befehl druckt alle Daten, die in dem Druckpuffer verblieben sind, und stößt dann das derzeit geladene Medium aus.
  • [PRINT] oder [DRUCKEN] – Druckausführung
  • Der Druckausführungsbefehl veranlasst, dass die Daten in dem Druckpuffer auf einem derzeit geladenen Aufzeichnungsmedium gedruckt werden. Der Druckbereich erstreckt sich von dem linken Rand zu dem rechten Rand jedes Druckpuffers, die durch die Links- und Rechts-Parameter des nachstehend beschriebenen [EDGE]- oder [RAND]-Befehls spezifiziert sind.
  • [CARRIAGE] oder [SCHLITTEN] – Schlittenbewegung
  • Der Schlittenbewegungsbefehl umfasst einen Positionsparameter, der die Schlittenposition in Einheiten einer Spaltenposition spezifiziert. Dieser Befehl wird für ein Vorwärts- und Rückwärtssuchen verwendet.
  • [SKIP] oder [ÜBERSPRINGEN] – Rasterüberspringen
  • Der Rasterüberspringen-Befehl wird verwendet, um die vertikale Druckposition um die Anzahl von Rasterzeilen vorzuschieben, die durch einen Überspringen-Parameter spezifiziert werden.
  • [DATA] oder [DATEN] – Bilddatenübertragung
  • Dieser Befehl wird verwendet um Bit-Bilddaten von Gelb (Y), Magenta (M), Zyan C, oder Schwarz (Bk oder K) zu dem Drucker 30 individuell in einem Spaltenbildformat zu übertragen. Mehrere Sequenzen dieses Befehls können ausgegeben werden, um eine einzelne Abtastungslinie oder -zeile herzustellen. Die Bit-Bilddaten sind in dem Bereich gespeichert, der durch die Block-[BLOCK]- und Farb-[COLOR]-Befehle spezifiziert ist, die nachstehend beschrieben sind. Der Drucker 30 wird tatsächlich mit dem Drucken starten, wenn der [DRUCKEN]-Befehl empfangen wird.
  • 3.6.2 Einstellbefehle
  • Einstellbefehle spezifizieren Einstellungen für die Druckoperationen, die durch den Drucker 30 ausgeführt werden. Sobald diese Befehle eingestellt sind, sind sie gültig, bis die Einstellungen durch einen anderen Befehl verändert werden. Wenn keine Einstellungen für eine Seite bereitgestellt sind, werden die Einstellungen auf Standardeinstellungen zurückgesetzt. Die Einstellbefehle sind nachstehend ausführlicher beschrieben:
  • [RESET] oder [ZURÜCKSETZEN] – Drucker zurücksetzen
  • Der Betriebsartparameter definiert den Drucker-Zurücksetzen-Befehl und spezifiziert die Rücksetzbetriebsart. Standardeinstellungen sind für ein Datenkomprimierungsflag, eine Puffergröße, eine Tröpfchengröße, eine Druckgeschwindigkeit, Impulssteuerungstabellen, Puffersteuerungstabellen und dergleichen beinhaltet.
  • [COMPRESS] oder [KOMPRIMIEREN] – Auswahldatenkomprimierung
  • Der Betriebsartparameter des Auswahldatenkomprimierungsbefehls spezifiziert, ob die Bilddaten komprimiert oder nicht komprimiert sind, wobei die Nicht-Komprimierung die Standardeinstellung ist.
  • [DEFINE_BUF] oder [DEFINIERE_PUF] – Definiere Druckpuffer
  • Der Definiere-Druckpuffer-Befehl wird verwendet, um die Speichergröße und die Konfiguration des Druckpuffers 139 für jeden der Köpfe A und B gemeinsam zu definieren.
  • [DROP] oder [TROPFEN] – Auswahl Tröpfchengröße
  • Dieser Befehl wird verwendet, um die Tintentröpfchengröße (groß oder klein) für jeden Druckkopf zu spezifizieren.
  • [SPEED] oder [GESCHWINDIGKEIT] – Auswahl Druckgeschwindigkeit
  • Dieser Befehl wird verwendet, um die Druckgeschwindigkeit zu spezifizieren.
  • [DIRECTION] oder [RICHTUNG] – Einstellen Druckrichtung
  • Der Richtungsparameter dieses Befehls spezifiziert, ob das Drucken in der Vorwärtsrichtung (von links nach rechts) oder der Rückwärtsrichtung (von rechts nach links) vorliegt.
  • [EDGE] oder [RAND] – Einstellen Druckrand
  • Der Einstelldruckrandbefehl spezifiziert den linken Rand und den rechten Rand der Druckposition in Einheiten einer Spaltenposition; der linke Rand muss kleiner sein als der rechte Rand.
  • [BLOCK] – Auswahl Druckblock
  • Dieser Befehl wird verwendet, um den linken Rand und den rechten Rand eines Datenblocks in Einheiten einer Spaltenposition von der Spitze jedes Druckpuffers zu spezifizieren. Der [BLOCK]-Befehl spezifiziert ebenso, wo Bit-Bilder, die einem (vorstehend beschriebenen) [DATEN]-Befehl nachfolgen, gespeichert werden.
  • [COLOR] oder [FARBE] – Auswahl Druckfarbe
  • Dieser Befehl wird verwendet, um die Position entsprechend einer Farbe in dem Druckpuffer 139 zu spezifizieren, wo Bit-Bilddaten nachfolgend zu einem (nachstehend beschriebenen) [DATEN]-Befehl gespeichert sind.
  • [DEFINE_PULSE] oder [DEFINIERE_IMPULS] – Definiere Wärmeimpulstabelle
  • Der [DEFINIERE_IMPULS]-Befehl wird verwendet, um bis zu einer Vielzahl von unterschiedlichen Wärmeimpulsblocktabellen zu definieren. Die Impulsblocktabelle muss definiert werden, bevor der Drucker 30 den [SELECT_PULSE]- oder [AUSWAHL_IMPULS]-Befehl empfängt, der nachstehend definiert ist.
  • [SELECT_PULSE] oder [AUSWAHL_IMPULS] – Auswahl Wärmeimpulstabelle
  • Der Auswahlwärmeimpulstabellenbefehl wird verwendet, um eine Wärmeimpulsblocktabelle aus mehreren Tabellen auszuwählen, die durch den vorstehend beschriebenen [DEFINIERE_IMPULS]-Befehl definiert werden, die allen Köpfen gemeinsam ist.
  • [DEFINE_CONTROL] oder [DEFINIERE_STEUERUNG] – Definiere Puffersteuerungstabelle
  • Dieser Befehl wird verwendet, um bis zu einer Vielzahl unterschiedlicher Druckpuffersteuerungstabellen zu definieren. Die Druckpuffersteuerungstabelle muss definiert sein, bevor der Drucker einen (nachstehend beschriebenen) [SELECT_CONTROL]- oder [AUSWAHL_STEUERUNG]-Befehl empfängt.
  • [SELECT_CONTROL] oder [AUSWAHL_STEUERUNG] – Auswahl Puffersteuerungstabelle
  • Dieser Befehl wird verwendet, um eine Druckpuffersteuerungstabelle für jeden Druckkopf 130a und 130b aus der Vielzahl von Tabellen auszuwählen, die in dem [DEFINIERE_STEUERUNG]-Befehl definiert werden.
  • 3.6.3 Aufrechterhaltungsbefehle
  • Die Aufrechterhaltungsbefehle dienen zur Aufrechterhaltung von Druckoperationen des Druckers 30 und sind nachstehend ausführlicher beschrieben.
  • [RECOVER] oder [WIEDERHERSTELLEN] – Kopfwiederherstellung
  • Ein Empfang dieses Befehls veranlasst den Drucker 30, in eine Kopfwiederherstellungsbetriebsart zu wechseln, wie bspw. Reinigungs- und Tintensaugoperationen.
  • [PCR] – Ändere Impulssteuerungsverhältnis
  • Dieser Befehl wird verwendet, um ein Verhältnis der Impulssteuerungstabelle zu ändern. Jedes Verhältnis kann von 1 bis 200 eingestellt werden, was 1% bis 200% bedeutet. Die Standardeinstellung ist 100, was 100% bedeutet.
  • [UCT] – Universelle koordinierte Zeit
  • Dieser Befehl wird verwendet, um die derzeitige Zeit in dem Drucker 30 einzustellen, und muss zu dem Drucker 30 bei dem Einstellen eines Druckjobstarts gesendet werden. Der Drucker 30 verwendet die Zeit, um zu bestimmen, ob der Drucker 30 den Druckkopf wiederherstellen soll oder nicht. Der Zeitwert wird als die Zahl von Sekunden ausgedrückt, die seit Mitternacht (00:00:00), 1. Januar 1970 universelle koordinierte Zeit (UCT) entsprechend dem Systemtakt der Host-Verarbeitungsvorrichtung 23 vergangen ist.
  • [SCAN] oder [ABTASTEN] – Abtasten Sensor
  • Dieser Befehl wird verwendet, um einen Wert eines automatischen Ausrichtungssensor auszulesen und das Ergebnis zurück zu der Host-Verarbeitungsvorrichtung 23 zu senden. Eine/ein Abtastungsgeschwindigkeit, -richtung, -auflösung und -bereich werden durch die [GESCHWINDIGKEIT]-, [RICHTUNG]-, [DEFINIERE_PUF]- und [RAND]-Befehle definiert, die vorstehend beschrieben sind.
  • [NVRAM] – NV-RAM-Steuerung
  • Dieser Befehl wird verwendet, um Daten aus dem EEPROM 132 auszulesen und die gelesenen Daten zurück zu der Host-Verarbeitungsvorrichtung 23 zu senden.
  • [STATUS] oder [ZUSTAND] – Zustandsanforderung
  • Dieser Befehl wird als ein Präfix-Befehl zum Senden von Zustandsanforderungen zu dem Drucker 30 verwendet. Die Anforderungen können für Grundeinstellungen, einen Hauptzustand und einen ausführlichen Zustand gemacht werden.
  • Die Grundeinstellungsbefehle sind Befehle, die durch die Host-Verarbeitungsvorrichtung 23 verwendet werden, um den Drucker 30 einzustellen, und erfordern nicht notwendigerweise eine Antwort von dem Drucker 30.
  • Die Hauptzustandsanforderung-/Antwortbefehle sind Befehle, die verwendet werden, um Zustandsinformationen in einer regulären Betriebsart zu erhalten und umfassen einen Grundzustand [BASE_STATUS] oder [GRUND_ZUSTAND], einen Echo-Befehl [ECHO], eine Druckkopfkonfiguration [HEAD] oder [KOPF], Ausrichtungssensorergebnisse [SENSOR_RESULTS] oder [SENSOR_ERGEBNISSE], ein Senden von EEPROM-Daten zu dem Host [DATA_SEND] oder [DATEN_SENDEN] und ein Senden einer Verschiebungspuffergröße zu dem Host [BUFFER_SIZE] oder [PUFFER_GRÖSSE]. Für jeden Hauptzustandsanforderungs-/Antwortbefehl, der ausgegeben wird, wird automatisch eine Antwort zu der Host-Verarbeitungsvorrichtung 23 zurückgegeben.
  • Die ausführlichen Zustandsanforderungs-/Antwortbefehle werden verwendet, um ausführliche Zustandsinformationen zu erhalten. Diese Befehle umfassen einen detaillierten Jobzustand [JOB_STATUS] oder [JOB_ZUSTAND], einen ausführlichen Beschäftigungszustand [BUSY_STATUS] oder [BESCHÄFTIGT ZUSTAND], einen ausführlichen Warnzustand [WARNING_STATUS] oder [WARNEN_ZUSTAND], einen ausführlichen Bedienungspersonaufrufzustand [OPERATOR_CALL] oder [BEDIENUNGSPERSON_AUFRUF] und einen ausführlichen Serviceaufrufzustand [SERVICE_CALL] oder [SERVICE_AUFRUF]. Wie bei den Hauptzustandsanforderungs-/Antwortbefehlen wird für jeden ausführlichen Zustandsanforderungs-/Antwortbefehl, der ausgegeben wird, automatisch eine Antwort zu der Host-Verarbeitungsvorrichtung 23 zurückgeführt.
  • 3.7 Befehle zu und von dem Druckergerät
  • Die Host-Verarbeitungsvorrichtung 23 und der Drucker 30 senden Befehle zu dem Druckergerät 131 über ein Einfügen von Nachrichten in die Mailbox 219 (siehe 22). Die Nachrichten werden durch die Geräteaufgaben 206 verarbeitet.
  • 4.0. Papierausstoßfach
  • Kurz gesagt ist diese Ausgestaltung der vorliegenden Erfindung ein Ausstoßfach für eine Verwendung mit dem hier beschriebenen Drucker. Strukturell umfasst der Drucker ein Gehäuse, das einen Medienzufuhrabschnitt und eine Medienausstoßöffnung umfasst, wobei das Gehäuse angepasst ist, um ein Druckgerät oder einen Druckantrieb zum Drucken auf Aufzeichnungsmedien zu beherbergen. Das Ausstoßfach umfasst eine Basis, die in dem Gehäuse des Druckers bei einer Position gleitbar aufnehmbar ist, die seitlich zu der Medienausstoßöffnung beabstandet ist. Die Basis umfasst zumindest ein Paar von Vertiefungen, die sich in einer Gleitrichtung der Basis erstrecken. Ein Paar von Klappen ist ebenso in dem Ausstoßfach beinhaltet. Das Paar von Klappen weist jeweils zumindest einen Breiteabschnitt auf, der dem seitlichen Abstand zwischen der Basis und der Ausstoßöffnung entspricht. Jede Klappe ist in einer entsprechenden Vertiefung der Basis drehbar angebracht und in einer Aufwärtsrichtung über eine Feder vorgespannt, die eine Winkelbewegung der Klappen in Bezug auf die Basis bereitstellt. Bei einer Schiebeaktion der Basis aus dem Gehäuse sind die Klappen nach oben hinaus aus den Vertiefungen zu einer Höhe vorgespannt, die der Position der Medienausstoßöffnung entspricht.
  • Wie es nachstehend ausführlicher beschrieben ist, stellt die vorstehend beschriebene Konfiguration ein einfaches Einstellen und eine einfache Speicherung des Papierausstoßfaches bereit. Zusätzlich verringert die vorstehend beschriebene Konfiguration die Möglichkeiten, dass aus dem Drucker ausgestoßenes Papier den Ausstoßbereich des Druckers blockiert.
  • 4.1 Erstes Ausführungsbeispiel
  • In 24 ist eine perspektivische Darstellung des Druckers 30 gezeigt, wobei das Papierausstoßfach 41 für eine Verwendung eingestellt ist. An diesem Punkt sollte angemerkt werden, dass obwohl das Papierausstoßfach gemäß der vorliegenden Erfindung mit Bezug auf den Drucker 30, der in den 1 und 24 gezeigt ist, beschrieben wird, das Papierausstoßfach gemäß der vorliegenden Erfindung verwendet werden kann, um Papier oder andere Typen von Aufzeichnungsmedien zu empfangen, die von einem beliebigen Gerätetyp (bspw. Faksimile-Gerät usw.) ausgestoßen wird. Diesbezüglich wird zur Vereinfachung der Beschreibung die Erfindung mit Bezug auf Papier in Gegenüberstellung zu anderen Typen von Aufzeichnungsmedien beschrieben.
  • In 25 ist eine ausführliche perspektivische Darstellung des Papierausstoßfaches 41 gezeigt. Wie es in den Figuren gezeigt ist, umfasst das Papierausstoßfach 41 eine Basis 240, zwei Klappen 241a und 241b, Federn 242a und 242b und eine Facherweiterung 244. Jede der Klappen 241a und 241b ist bei einem Rand bei einer von Vertiefungen 264a und 264b der Basis 240 drehbar angebracht, wie es nachstehend ausführlicher beschrieben ist. Zusätzlich ist jeder der Klappen 241a und 241b in einer Aufwärtsrichtung in Bezug auf die Basis 240 über Federn 242a bzw. 242b vorgespannt. Zusätzlich sind die Federn 242a und 242b für eine gesteuerte Aufwärts- und Abwärts-Winkelbewegung der Klappen 241a und 241b in Bezug auf die Basis 240 vorgesehen.
  • In 26 ist eine Seitennahansicht der Verbindung der Klappe 241b mit der Basis 240 gezeigt. Diesbezüglich sind beide Klappen 241a und 241b bei der Basis 240 auf die gleiche Weise drehbar angebracht. Dementsprechend ist hier lediglich die Verbindung der Klappe 241b beschrieben. Genauer gesagt ist die Klappe 241b über Passstifte oder Dübel 246 und 247 aufgehängt, die bei jedem zugehörigem Ende angeordnet sind und die in entsprechende (nicht gezeigte) Aufnahmelöcher in der Vertiefung 264b der Basis 240 passen. Diese Passstifte bilden eine Achse, um die sich die Klappe 241b winklig in Bezug auf die Basis 240 dreht.
  • Ebenso ist bei der Klappe 241b ein in 26 gezeigter Mittelstab 248 umfasst. Die Feder 242b ist um den Mittelstab 248 gewickelt und sowohl mit der Klappe 241b als auch der Basis 240 verbunden. Eine inhärente Spannung in der Feder 242b drückt die Klappe 241b in eine Aufwärtsrichtung aus der Vertiefung 264b heraus, wenn das Papierausstoßfach 41 außerhalb des Gehäuses 31 ist. Somit ist die Klappe 241b bei einem Anfangswinkel in Bezug auf die Basis 240, wenn keine nach unten gerichtete Kraft an die Klappe 241b angelegt ist. Beispiele dieses Anfangswinkels, die mit 249a und 249b gekennzeichnet sind, sind in 24 gezeigt. Gemäß bevorzugten Ausführungsbeispielen der Erfindung ist der Anfangswinkel kleiner als 90°.
  • Wenn ein nach unten gerichteter Druck auf die Klappen 241a und 241b angelegt ist, werden die Federn 242a und 242b zusammengedrückt. Die Federn 242a und 242b verhindern jedoch, dass die Klappen 241a und 241b die Basis 240 kontaktieren, zumindest bis eine vorbestimmte Druckgröße auf die Klappen 241a und 241b angelegt ist. Somit bewegen sich, wenn ein Druck auf die Klappen 241a und 241b angelegt ist, die Klappen 241a und 241b winklig nach unten zu der Basis 240, wobei sie dies aber auf eine gesteuerte Art und Weise tun. Während dieser Bewegung nimmt der Winkel zwischen jeder der Klappen 241a und 241b und der Basis 240 beginnend von dem Anfangswinkel ab, bis er schließlich 0° ist, wenn der Druck ausreichend groß ist. Diesbezüglich beruht die Druckgröße, die erforderlich ist, um jede der Klappen 241a und 241b herunter auf 0° zu bewegen, auf der Spannung einer entsprechenden der Federn 242a und 242b.
  • Vorzugsweise weist jede der Klappen 241a und 241b einen Breiteabschnitt auf, der grob einer seitlichen Entfernung zwischen der Basis 240 und der Medienausstoßöffnung 40 entspricht. Um dies zu veranschaulichen sind in 27 die Klappen 241a und 241b flach gegen die Basis 240 gezeigt. Genauer gesagt umfasst, wie es in 27 gezeigt ist, die Klappe 241a vier Kanten, nämlich eine Oberkante 250, die aus dem Drucker 30 ausgestoßenes Papier trägt, eine Bodenkante 251, die mit der Basis 240 verbunden ist, und Seitenkanten 254 bzw. 252 (d.h. der vorstehend genannte Breiteabschnitt).
  • Vorzugsweise ist der Rand jeder Klappe, die dem Drucker 30 gegenüberliegt, d.h. der Seitenrand 252 für die Klappe 241a und der Seitenrand 252b für die Klappe 241b abgeschrägt (bspw. abgekantet) und ist weg von dem Drucker 30 abgewinkelt, wie es in 25 gezeigt ist. Genauer gesagt gleiten, da die Kanten 252a und 252b abgeschrägt sind, die Kanten, wenn diese Kanten das Gehäuse 31 des Drucker 30 kontaktieren, in Bezug auf das Gehäuse 31, was veranlasst, dass die Klappen 241a und 241b umklappen. Schließlich sind die Klappen 241a und 241b ausreichend umgeklappt, so dass das seitliche Drücken sie in den Drucker 30 und in den Fachbehälter 42 zwingt. Dieses Merkmal ist nachstehend ausführlicher beschrieben.
  • In 25A ist eine Nahansicht der Kante 252b der Klappe 241b gezeigt. Wie es vorstehend beschrieben ist und wie es in 25A gezeigt ist, ist die Kante 252b abgeschrägt, was bedeutet, dass sie in Bezug auf die Oberkante 250b und auf die Basis 240 abgewinkelt ist. In 25B und 25C ist dieses Merkmal weiter veranschaulicht. Diesbezüglich zeigt 25B eine Seitennahansicht der Klappe 241b. 25C zeigt eine Ansicht, die von einer Position A-A aufgenommen ist, eines Querschnitts der Klappe 241b, der entlang einer gestrichelten Linie 63 aufgenommen ist. Somit ist, wie es in 25C gezeigt ist, die abgeschrägte Kante 252b in Bezug auf die Oberkante 250b und die Basis 240 abgewinkelt. Dieser Winkel wird mit Bezugszeichen 255 in 25C bezeichnet und ist gemäß bevorzugten Ausführungsbeispielen der Erfindung ungefähr 45°.
  • Somit kontaktieren, wenn das Ausstoßfach 41 hin zu dem Drucker 30 gedrückt wird, wie es der Fall während einer Speicherung des Fachs 41 ist, die abgeschrägten Kanten der Klappen 141a und 141b das Gehäuse 31 des Druckers 30, insbesondere den Außenrand 272. In Reaktion auf dieses Kontaktieren und wenn eine zusätzliche seitliche Druckkraft angelegt wird, zwingt der Kontakt zwischen dem Außenrand 272 und den abgeschrägten Kanten die Klappen 241a und 241b nach unten hin zu den Vertiefungen in der Basis 240. Wenn eine ausreichende Kraft angelegt ist, werden die Klappen 241a und 241b ausreichend nach unten gezwungen, um unter den Außenrand 272 und in den Fachbehälter 42 zu gleiten. Dieses Merkmal der Erfindung ist nachstehend ausführlicher beschrieben.
  • Der Seitenrand 252 umfasst ebenso einen Abschnitt 253 (entsprechend umfasst der Seitenrand 252b einen ähnlichen Abschnitt 253b), der vorzugsweise nicht abgeschrägt oder abgewinkelt ist. Eine derartige Anordnung stellt eine flache Oberfläche zum Eingriff jeder der Klappen 241a und 241b in die Basis 240 über den Passstift 246 bereit, wodurch die strukturelle Stärke bei dem Eingriff vergrößert wird. Die Seitenränder 253 und 253b passen unter den Außenrand 272 und beeinflussen somit die Speicherung des Ausstoßfaches 41 in den Behälter 42 nicht auf negative Weise.
  • Bezüglich des Seitenrands 254 ist der Rand weder abgewinkelt noch abgeschrägt in dem gezeigten Beispiel. Der Seitenrand 254 kann jedoch abgewinkelt und abgeschrägt sein, wenn es gewünscht ist, um das Herausziehen des Papierausstoßfaches 41 aus dem Drucker 30 zu vereinfachen.
  • Bezüglich des Oberrands 250 und des Bodenrands 251 sind diese Ränder vorzugsweise nicht parallel zueinander, um die Gefahr zu verringern, dass ausgestoßenes Papier verbogen wird. Das heißt, in den bevorzugten Ausführungsbeispielen der Erfindung ist der Oberrand 250 in Bezug auf den Bodenrand 251 und die Basis 240 leicht nach oben abgewinkelt, um die Abwärtsbewegung des ausgestoßenen Papiers zu vereinfachen. Somit ist eine Entfernung zwischen dem Oberrand 250 und dem Bodenrand 251 minimal bei einem Schnittpunkt 260 zwischen dem Seitenrand 252 (dem abgeschrägten Rand) und dem Oberrand 250. Diese Entfernung vergrößert sich weiter weg von dem Schnittpunkt 260 derart, dass die Entfernung maximal bei einem Schnittpunkt 261 ist, d.h. dem Punkt, bei dem der Seitenrand 254 den Oberrand 250 schneidet. Diese abgewinkelte Konstruktion des Oberrands 250 in Bezug auf den Bodenrand 251 verringert die Gefahr, dass Papier aus den Klappen 241a und 241b während eines Ausstoßes herausfällt.
  • Wie es vorstehend genannt ist, umfasst die Basis 240 ebenso die Vertiefungen 264a und 264b (siehe 24 und 25), die den jeweiligen der Klappen 241a und 241b entsprechen und die sich in einer Gleitrichtung der Basis 240 erstrecken. Gemäß den bevorzugten Ausführungsbeispielen weist jede der Vertiefungen 264a und 264b eine Form auf, die einer Form einer jeweiligen der Klappen 241a und 241b entspricht. Dank dieses Aufbaus kann, wenn der Winkel zwischen einer Klappe, wie bspw. der Klappe 241a, und der Basis 240 ungefähr 0° ist, die Klappe beinahe vollständig in die zugehörige entsprechende Vertiefung passen. Wenn beide Klappen derart eingepasst sind, ist die Oberfläche 266 der Basis 240 einschließlich der Klappen 241a und 241b im Wesentlichen eben, wie es in 27 gezeigt ist. Dies vereinfacht ein Gleiten des Papierausstoßfaches 41 in den Behälter 42, wie es nachstehend beschrieben ist.
  • Genauer gesagt umfasst, wie es vorstehend beschrieben ist, der Drucker 30 den Fachbehälter 42 (siehe 24), der das Papierausstoßfach 41 speichert, wenn der Drucker 30 nicht in Gebrauch ist. In 28 ist eine Unterseitendarstellung des Druckers 30 gezeigt, die den Fachbehälter 42 zeigt. Wie es gezeigt ist umfasst der Fachbehälter 42 vorzugsweise einen Schlitz oder dergleichen bei der Unterseite des Druckers 30, in den das Papierausstoßfach 41 (einschließlich der Facherweiterung 244) passt. Wenn die Klappen 241a und 241b bei 0° sind oder im Wesentlichen nahe bei 0° sind in Bezug auf die Basis 240, kann das Papierausstoßfach 41 in den Fachbehälter 42 gleiten. Diesbezüglich zeigt 1 eine Vorderansicht des Papierausstoßfaches 41, das in dem Drucker 30 gespeichert ist.
  • Das Papierausstoßfach 41 kann ebenso die Facherweiterung 244 umfassen, wie es vorstehend beschrieben ist. Wie es in 24 gezeigt ist, gleitet die Facherweiterung 244 vorzugsweise in einen und aus einem Schlitz in der Basis 240. Dies vereinfacht die Speicherung des Papierausstoßfaches 41 in dem Drucker 30. Zusätzlich umfasst die Facherweiterung 244 einen manuellen Stop 269. Der manuelle Stop 269 wird verwendet, um die Facherweiterung 244 in den oder aus dem Schlitz in dem Ausstoßfach 41 zu schieben und die ausgestoßenen Papierblätter davon abzuhalten, aus dem Papierausstoßfach 41 herauszufallen.
  • Zusätzlich kann der manuelle Stop 269 hilfreich bei der Einstellung und Speicherung des Papierausstoßfaches 41 sein. Das heißt, wie es in 1 gezeigt ist, wenn das Papierausstoßfach 41 in dem Fachbehälter 42 gespeichert ist, passt der manuelle Stop 269 nicht vollständig in den Fachbehälter 42, wobei er folglich für einen Benutzer zugänglich bleibt. Durch Greifen des manuellen Stops 269 und durch Ziehen des manuellen Stops 269 weg von dem Drucker 30 ist der Benutzer in der Lage, das Papierausstoßfach 41 für einen Betrieb einzustellen. Im Gegensatz dazu kann der Benutzer, indem der manuelle Stop 269 zu dem Drucker 30 gedrückt wird, das Papierausstoßfach 41 in dem Drucker 30 speichern. Diese Operationen sind nachstehend ausführlicher beschrieben.
  • Diesbezüglich zeigen die 29A bis 29D die Operation des Papierausstoßfaches 41 während der Benutzung. Es wird ebenso auf die 2 und 24 Bezug genommen, um das Einstellen und die Speicherung des Papierausstoßfaches 41 zu beschreiben. Zu Beginn zeigt 1 den Drucker 30, wenn er nicht in Gebrauch ist. Bei dieser Konfiguration ist das Papierausstoßfach 41 in dem Behälter 42 gespeichert. Es ist zu bevorzugen, das Papierausstoßfach 41 zu speichern, wenn der Drucker 30 nicht in Gebrauch ist, da die Speicherung die Gefahr verringert, dass das Papierausstoßfach 41 unbeabsichtigt beschädigt wird.
  • Zur Einstellung des Papierausstoßfaches 41 zieht ein Benutzer einfach das Papierausstoßfach 41 aus dem Drucker 30, wodurch das Papierausstoßfach 41 veranlasst wird, aus dem Behälter 42 in dem Gehäuse 31 zu gleiten. Dies wird typischerweise ausgeführt, indem an dem manuellen Stop 269 gezogen wird, obwohl ein Ziehen an anderen Abschnitten des Papierausstoßfaches 41 zu demselben Ergebnis führen wird. Während dieser Ziehaktion bleiben die Klappen 241a und 241b relativ flach gegenüber der Basis 240, bis die Klappen 241a und 241b von dem Fachbehälter 42 befreit sind.
  • Sobald die Klappen 241a und 241b von dem Fachbehälter 42 befreit sind, werden die Klappen 241a und 241b nach oben aus den Vertiefungen 264a bzw. 264b zu einer Höhe gedrückt, die der Position der Medienausstoßöffnung 40 entspricht. Das heißt, wenn die Klappen 241a und 241b von dem Fachbehälter 42 befreit sind, gibt es nicht länger etwas, das die Klappen 241a und 242b gegenüber der Basis 240 hält. Folglich veranlassen die Federn 242a und 242b, dass die Klappen 241a und 241b nach oben gedrückt werden, so dass die Klappen eine grobe "V-Form" einnehmen, wenn sie von vorne betrachtet werden. Wie es vorstehend beschrieben ist, ist bei diesem Punkt jede der Klappen 241a und 241b bei einem Winkel in Bezug auf die Basis 240, der vorzugsweise kleiner als 90° ist. Sobald die Klappen 241a und 241b in dieser Position sind, kann der Drucker 30 damit beginnen, Papier auf das Papierausstoßfach 41 auszustoßen.
  • In den 29A bis 29D sind Vorderansichten des Papierausstoßfaches 41 gezeigt, das eingestellt ist, um aus dem Drucker 30 ausgestoßenes Papier zu empfangen. Wie es in 29A gezeigt ist, sind die Winkel 249a und 249b, die vorstehend als die Anfangswinkel bezeichnet sind, kleiner als 90° in Bezug auf die Basis 240. Da die Winkel 249a und 249b kleiner als 90° sind, veranlasst das Gewicht des Papiers, das auf die Klappen 241a und 241b ausgestoßen wird, die Klappen, sich nach unten zu bewegen, wodurch die Winkel 249a bzw. 249b verkleinert werden. Dies ist in 29B gezeigt.
  • Genauer gesagt zeigt 29B einen Fall, bei dem das Papierausstoßfach 41 mehrere Papierblätter 270 empfangen hat, die aus dem Drucker 30 ausgestoßen worden sind. Wie es gezeigt ist, veranlasst das Gewicht des Papiers 270 die Klappen 241a und 241b, sich nach unten hin zu der Basis 240 zu bewegen. Als Folge verringern sich die Winkel 249a und 249b zwischen den Klappen und der Basis zu dem Anfangswinkel. In 24C ist ein Fall gezeigt, bei dem noch mehr Blätter dem Papierausstoßfach 41 hinzugefügt worden sind, wobei somit die Klappen 241a und 241b noch weiter nach unten gezwungen werden, wobei somit die Winkel 249a und 249b noch weiter verkleinert werden. Diese Aktion verringert die Gefahr, dass Papierblätter, die aus der Medienausstoßöffnung 40 ausgestoßen werden, die Medienausstoßöffnung 40 während eines Betriebs des Druckers 30 blockieren.
  • In 29D ist ein Fall gezeigt, bei dem noch mehr Papierblätter durch die Klappen 241a und 241b empfangen worden sind. In diesem Fall ist das Gewicht des Papiers 270 auf den Klappen 241a und 241b ausreichend, um die Klappen 241a und 241b auf ungefähr einen 0°-Winkel in Bezug auf die Basis 240 zu zwingen. Als Ergebnis wird jede der Klappen 241a und 241b in eine entsprechende der Vertiefungen 264a und 264b gezwungen. Somit ist der Drucker 30 im Vergleich mit dem zugehörigen herkömmlichen Gegenstücken in der Lage, mehr Papier zu drucken, ohne die Medienausstoßöffnung 40 wesentlich zu blockieren.
  • Wie es vorstehend beschrieben ist hängt der Grad, um den sich die Klappen 241a und 241b in Reaktion auf eine angewandte Kraft nach unten bewegen, von der Spannung der Federn 242a und 242b ab, die die Klappen 241a und 241b in Bezug auf die Basis 240 vorspannen. Wie es vorstehend beschrieben ist, weisen in den bevorzugten Ausführungsbeispielen der Erfindung die Federn 242a und 242b eine derartige Spannung auf, dass die Klappen 241a und 241b auf eine Höhe der Medienausstoßöffnung 40 gedrückt werden, wenn kein Papier darauf ausgestoßen ist. In besonders bevorzugten Ausführungsbeispielen der Erfindung bleibt die Position, bei der Papier ausgestoßen ist, für alle Papierblätter relativ gleich.
  • Außerdem weisen in bevorzugten Ausführungsbeispielen der Erfindung beide Klappen 241a und 241b im Wesentlichen die gleiche Form und, wie es vorstehend beschrieben ist, die gleichen Verbindungen mit der Basis 240 auf. Die Federn 242a und 242b in Verbindung mit beiden Klappen 241a und 241b weisen ebenso bevorzugt ungefähr die gleiche Spannung auf. Dank dieser Symmetrie ist die vorliegende Erfindung in der Lage, mehr Papier mit weniger mechanischen Fehlfunktionen zu halten. Diesbezüglich ist ebenso anzumerken, dass das Papierausstoßfach 41 ebenso in Fällen arbeitet, bei denen die Klappen 241a und 241b unterschiedliche Formen aufweisen und die Federn 242a und 242b unterschiedliche Vorspannungen erzeugen.
  • Als nächstes ist die Speicherung des Papierausstoßfaches 41 in dem Drucker 30 unter Bezugnahme auf die 2 und 24 beschrieben. Diesbezüglich umfasst, wie es in 24 gezeigt ist, der Behälter 42 bei dem Drucker 30 den Außenrand 272. Zusätzlich umfasst jede der Klappen 241a und 241b einen Seitenrand (d.h. die Seitenränder 252 und 252b, die in den 25 und 27 gezeigt sind), der dem Drucker 30 gegenüberliegt, der weg von dem Drucker 30 abgewinkelt ist und der abgeschrägt ist, wie es vorstehend unter Bezugnahme auf die 25A, 25B und 25C beschrieben ist, so dass der Seitenrand im Wesentlichen flach und in Bezug auf die Oberkante und die Basis abgewinkelt ist. Wie es nachstehend beschrieben ist, sind diese Seitenränder, nämlich die Seitenränder 252 und 252b, auf diese Weise konstruiert, um die Speicherung des Papierausstoßfaches 41 in dem Fachbehälter 42 zu vereinfachen.
  • Genauer gesagt muss zur Speicherung des Papierausstoßfaches 41 in dem Fachbehälter 42 ein Benutzer lediglich seitlich auf die Basis 240 (oder die Facherweiterung 269) drücken. Dieses seitliche Drücken zwingt die Klappen, mit dem Gehäuse 31 zusammenzuwirken, um die Klappen zurück in die Vertiefungen bei einer Gleitaktion zurück in das Gehäuse 31 zu klappen. Genauer gesagt zwingt die seitliche Drückaktion den Abschnitt 253 unter den Fachbehälter 42 und zwingt die Seitenränder 252 und 252b gegen den Außenrand 272 des Fachbehälters 42. Der Außenrand 272 "reagiert" mit einer gleichen, aber entgegengesetzten Kraft gegen die Seitenränder. Da die Seitenränder 252 und 252b abgeschrägt und abgewinkelt sind (siehe bspw. 25A), umfasst diese gleiche, aber entgegengesetzte Kraft eine nach unten gerichtete Komponente, die die Klappen 241a und 241b zwingt, sich nach unten zu der Basis 240 zu bewegen. Wenn eine zusätzliche seitliche Druckkraft auf das Ausstoßfach 41 angewendet wird, gleiten die Seitenkanten 252 und 252b gegen den Außenrand 272, wobei die Klappen weiter nach unten gezwungen werden.
  • Wie es vorstehend der Fall war, nehmen, wenn sich die Klappen 241a und 241b nach unten bewegen, die Winkel zwischen den Klappen 241a und 241b und der Basis 240 ab. Auf Grund des Winkels des Seitenrands gleiten, wenn eine zusätzliche Kraft an die nehmen angelegt wird, die Klappen 241a und 241b weiter entlang des äußeren Rands 272, wobei somit die Klappen 241a und 241b noch weiter nach unten gezwungen werden. Schließlich sind, wenn eine ausreichende seitliche Druckkraft angelegt ist, die Klappen 241a und 241b derart nach unten gezwungen, dass sie in die Vertiefungen 249a und 249b umklappen. Somit gleitet das Papierausstoßfach 41 auf einfache Weise in den Fachbehälter 42. In 1 ist das Papierausstoßfach 41 in dem Fachbehälter 42 des Druckers 30 gespeichert gezeigt.
  • Dementsprechend stellt dieses Ausführungsbeispiel der vorliegenden Erfindung anders als die zugehörigen herkömmlichen Gegenstücke eine Einrichtung zur Speicherung des Papierausstoßfaches 41 bereit, welche keine signifikanten physikalischen Manipulationen bzw. Handhabungen durch den Benutzer erfordert. Außerdem ist, da die Form der Klappen 241a und 241b und des Gehäuses 31 hauptsächlich für die Einfachheit verantwortlich ist, mit der das Papierausstoßfach 41 gespeichert werden kann, die Anzahl von zusätzlichen mechanischen Bauelementen bei dem Papierausstoßfach 41 verringert.
  • Bei diesem Punkt sei angemerkt, dass die Form der Halteelemente (bspw. der Klappen), die zum Halten des Aufzeichnungsmaterials verwendet werden, ebenso variieren kann. Diesbezüglich kann die vorliegende Erfindung ebenso unter Verwendung eines einzelnen Halteelements von mehr als zwei Halteelementen verwirklicht werden. Die Erfindung kann bspw. unter Verwendung eines einzelnen "V"-förmigen Halteelements verwirklicht werden, bei dem eine oder mehr Vorspannungsfedern zwischen gegenüberliegenden Armen des Halteelements positioniert sind. Ein Beispiel eines zweiten Ausführungsbeispiels des Papierausstoßfaches gemäß der vorliegenden Erfindung, das mit einem Drucker 2460 verwendet werden kann, ist in 29E gezeigt.
  • 4.2 Zweites Ausführungsbeispiel
  • Wie es in 29E gezeigt ist, umfasst ein Papierausstoßfach 2400 eine einzelne Klappe, nämlich eine Klappe 2410. Die Klappe 2410 ist innen in einer einzelnen Vertiefung 2440 drehbar angebracht bzw. aufgehängt und durch eine (nicht gezeigte) Feder in Bezug auf die Vertiefung 2440 vorgespannt. Die Klappe 2410 arbeitet auf ähnliche Weise wie die Klappen, die in dem vorstehend beschriebenen ersten Ausführungsbeispiel beschrieben sind. Dementsprechend wird zur Verkürzung eine ausführliche Beschreibung hier weggelassen. Es ist ausreichend zu sagen, dass eine Oberfläche 2450 der Klappe 2410 mit dem Drucker 2460 zusammenwirkt, wenn das Fach 2400 zu dem Drucker 2460 gedrückt wird, so dass die Klappe 2410 in die Vertiefung 2440 umklappt. Dies erlaubt es, dass die Klappe 2410 in dem Drucker 2460 gespeichert wird. Gleichsam drückt, wenn das Fach 2410 von dem Drucker 2460 weggezogen wird, eine (nicht gezeigte) Feder unterhalb der Klappe 2410 die Klappe 2410 auf eine Höhe, die ungefähr gleich der einer Medienausstoßöffnung 2465 des Druckers 2460 ist.
  • Während eines Druckens arbeitet die Klappe 2410 auf eine Weise, die ähnlich zu den vorstehend in dem ersten Ausführungsbeispiel beschriebenen Klappen ist. Genauer gesagt bewegt sich, wenn Papier auf die Klappe 2410 ausgestoßen wird, die Klappe 2410 nach unten hin zu der Vertiefung 2440 und schließlich, wenn genug Papier ausgestoßen worden ist, in die Vertiefung 2440. Wie es vorstehend der Fall war, wird die Abwärtsbewegung der Klappe 2410 über eine (nicht gezeigte) Feder gesteuert, die die Klappe 2410 in Bezug auf die Vertiefung 2440 vorspannt.
  • Schließlich ist anzumerken, dass, obwohl das Papierausstoßfach mit Bezug auf eine einzelne Klappe oder ein Paar von Klappen beschrieben worden ist, die Erfindung mit mehr Klappen ebenso verwendet werden kann.
  • 5.0 Tintenreinigungsmechanismus
  • Kurz gesagt ist diese Ausgestaltung der vorliegenden Erfindung eine Kartuschenaufnahme bzw. ein Kartuschenbehälter, der bei einem Schlitten montiert ist, zum freigebbaren Empfangen einer Kartusche, die einen Druckkopf und zumindest ein entfernbares Tintenreservoir aufweist. Der Behälter umfasst einen schwenkbaren Hebel, der ein Entfernen des zumindest einen Tintenreservoirs erlaubt. Der Hebel erstreckt sich über zumindest einen Abschnitt des zumindest einen Tintenreservoirs, um einen Zugriff auf das zumindest eine Tintenreservoir bis zu der Zeit zu verhindern, bei der der Hebel weg von dem zumindest einem Tintenreservoir geschwenkt wird. Wenn der Hebel weg von dem zumindest einem Tintenreservoir geschwenkt ist, wobei dann der Hebel über den zumindest einen Abschnitt des zumindest einen Tintenreservoirs geschwenkt wird, wird ein Signal ausgegeben, das eine Reinigung des Druckkopfes veranlasst.
  • Wie es vorstehend unter Bezugnahme auf 4 beschrieben ist, umfasst der Drucker 30 Kartuschenbehälter 64a und 64b. Ein Zugriff auf die Tintenkartuschen (und somit auf die Tintenreservoirs in diesen Kartuschen) in den Kartuschenbehältern 64a und 64b wird automatisch über die Zugangstür 32 bereitgestellt, die in 2 gezeigt ist. Genauer gesagt umfasst, wie es vorstehend beschrieben ist, der Drucker 30 einen Sensor, der erfasst, wenn die Zugangstür 32 geöffnet oder geschlossen worden ist. In Reaktion auf diesen Sensor, der erfasst, dass die Zugangstür 32 geöffnet worden ist, wird der Schlittenmotor 66 derart angetrieben, dass sich die Kartuschenbehälter 64a und 64b ungefähr in die Mitte des Schlittens 69 bewegen, d.h. ungefähr zu der Position, die in 4 gezeigt ist. Dieser Bereich des Druckers 30 entspricht dem internen Abschnitt des Druckers 30, der zugänglich ist, wenn die Zugangstür 32 offen ist. Somit ist es möglich auf die Kartuschenbehälter zuzugreifen, indem lediglich die Zugangstür 32 geöffnet wird. Die Bedeutung hiervon wird nachstehend offensichtlich. In den 6A und 6B, die vorstehend beschrieben sind, ist der physikalische Aufbau des Kartuschenbehälters 64b gezeigt. In den 7A und 7B, die vorstehend beschrieben sind, ist der physikalische Aufbau der Tintenkartusche 300b gezeigt, die in den Kartuschenbehälter 64b installiert werden kann. Wie es vorstehend beschrieben ist, werden die Schaltungskontakte für den Kartuschenbehälter, der in den 6A und 6B gezeigt ist, und die Tintenkartusche, die in den 7A und 7B gezeigt ist, in Verbindung mit der Tintenkartuschenreinigung verwendet. Genauer gesagt greift gemäß der vorliegenden Erfindung ein Schaltungskontakt bei einem Kartuschenbehälter in einen Schaltungskontakt bei einer Tintenkartusche ein und wird von diesem getrennt in Reaktion auf ein Öffnen und Schließen eines Hebel des Kartuschenbehälters.
  • Vorderansichten des Kartuschenbehälters, der in den 6A und 6B während eines Betriebs gezeigt ist, sind in den 30A und 30B gezeigt. Wie es in den 30A und 30B gezeigt ist, umfasst der Kartuschenbehälter 64b unter anderem eine Kapsel 73 und einen Hebel 72. Der Hebel 72 ist derart drehbar angebracht, dass er in Bezug auf die Kapsel 73 geschwenkt wird. Diese Schwenkaktion erlaubt es einem Benutzer, entweder auf eine gesamte Tintenkartusche in dem Kartuschenbehälter 64b oder nur auf ein Tintenreservoir von der Kartusche zuzugreifen und diese/dieses zu entfernen.
  • Der Hebel 72 ist ebenso mit der Kapsel 73 verbunden, so dass, wenn der Hebel 72 geschwenkt wird, bspw. geöffnet oder geschlossen wird, sich die Kapsel 73 seitlich bewegt, wie es ausführlich vorstehend unter Bezugnahme auf 6B beschrieben ist. Genauer gesagt bewegt sich, wenn der Hebel 72 von der offenen Position, die in 30B gezeigt ist, zu der geschlossenen Position geschwenkt wird, wie es in 30a gezeigt ist, die Kapsel 73 in dem Kartuschenbehälter 64b seitlich in die Richtung eines Pfeils 280 (siehe 30A). Diese Bewegung veranlasst, dass eine Seitenwand 75 der Kapsel 73 in Kontakt mit einer Seitenwand 78 des Kartuschenbehälters 64b kommt. Demgegenüber bewegt sich, wenn der Hebel 72 von der geschlossenen Position, die in 30A gezeigt ist, zu der offenen Position, die in 30B gezeigt ist, bewegt wird, die Kapsel 73 seitlich in dem Kartuschenbehälter 64b in die Richtung eines Pfeils 281 (siehe 30B). Diese Bewegung veranlasst, dass sich die Seitenwand der Kapsel 73 weg von der Seitenwand 78 des Kartuschenbehälters 64b bewegt.
  • Während der vorstehend beschriebenen Bewegung, nämlich der Bewegung der Kapsel 73 zwischen der Position, die in 30A gezeigt ist, und der Position, die in 30B gezeigt ist, greift ein Finger 282 bei der Kapsel 73 gleitbar in eine Hülse 284 ein. Wie es in den 30A und 30B gezeigt ist, umfasst die Kapsel 73 Schultern 286, und der Hebel 72 umfasst Flansch 287. Somit kontaktieren, wenn der Hebel 72 geschlossen ist, wie es in 30A gezeigt ist, die Flansche 287 die Schultern 286 und nicht eine installierte Tintenkartusche oder ein Tintenreservoir. Dank dieser Merkmale kann eine Kartuschenbewegung, die durch einen unbeabsichtigten Kontakt mit dem Hebel 72 verursacht wird, verringert werden.
  • In 31A und 31B sind Darstellungen des Kartuschenbehälters 64b mit einer darin installierten Tintenkartusche 300b gezeigt. Wie es in 31A gezeigt ist, wird, wenn der Hebel 72 über einen Abschnitt des Tintenreservoirs 83 geschwenkt wird, d.h. der Hebel 72 ist in der geschlossenen Position, verhindert, dass eine Bedienungsperson Zugriff auf die Tintenreservoirs 83 hat. Dsd heißt, in dieser Position sind die Oberteile der Tintenreservoirs 83 zumindest teilweise durch den Hebel 72 abgedeckt, wodurch der Zugriff hierauf eingeschränkt wird. Zusätzlich greift in dieser Position der Kartuschenschaltungskontakt 81 bei der Tintenkartusche 300b in den Vorrichtungsschaltungskontakt 71 bei dem Kartuschenbehälter 64b ein. Im Gegensatz dazu kann, wenn der Hebel 72 weg von den Tintenreservoirs 83 geschwenkt ist, d.h. der Hebel 72 ist in der offenen Position, eine Bedienungsperson auf die Tintenreservoirs 83 zugreifen. In dieser Position ist der Kartuschenschaltungskontakt 81 bei der Tintenkartusche 300b von dem Vorrichtungsschaltungskontakt 71 bei dem Kartuschenbehälter 64b getrennt.
  • Somit greifen während der seitlichen Bewegung der Kapsel 64b, die vorstehend unter Bezugnahme auf die 30A und 30B beschrieben ist, die Schaltungskontakte 71 und 81 ineinander ein und trennen sich. Genauer gesagt trennen sich die Schaltungskontakte 71 und 81, wenn der Hebel 72 geöffnet wird, und greifen ineinander ein, wenn der Hebel 72 geschlossen wird. Dieses Eingreifen und Trennen der Schaltungskontakte ist das Mittel, durch das ein Benutzer den Druckkopf 300b für eine Reinigung bestimmt, und veranlasst, dass ein Signal ausgegeben wird, das eine Reinigung des Druckkopfes 300b veranlasst. Eine Steuereinrichtung (wie bspw. die CPU 121, die vorstehend beschrieben ist) in dem Drucker 30 empfängt dieses Signal und startet die nachstehend beschriebene Reinigungsverarbeitung.
  • Diesbezüglich ist anzumerken, dass jede der beiden Tintenkartuschen in dem Drucker 30 für eine Reinigung in der vorstehend beschriebenen Weise bestimmt werden kann. Es ist ferner anzumerken, dass die Tintenreinigung lediglich für die Kartusche oder die Kartuschen ausgeführt wird, die auf diese Weise bestimmt worden ist/sind.
  • Sobald eine Tintenkartusche bestimmt worden ist, findet die Tintenreinigung tatsächlich nicht statt, bis die Zugangstür 32 geschlossen ist. Das heißt, während einer Tintenkartuschenbestimmung muss die Zugangstür 32 offen sein. Eine Tintenreinigung findet nicht statt, bis der vorstehend beschriebene Zugangstürsensor erfasst, dass die Zugangstür 32 geschlossen ist. Diesbezüglich bewegen sich, sobald erfasst wird, dass die Zugangstür 32 geschlossen ist, die Kartuschenbehälter 64a und 64b automatisch zu der Ausgangsposition 87, d.h. zu der Position, die dem Tintenreinigungsmechanismus 86 entspricht. Der Tintenreinigungsmechanismus 86 wird dann verwendet, um Tinte von dem Druckkopf der bestimmten Kartusche zu reinigen (d.h. Saugen).
  • Zu diesem Zweck umfasst der Tintenreinigungsmechanismus 86 zwei Druckkopfverbindungskappen 88a und 88b (siehe 4). Jede dieser Druckkopfverbindungskappen entspricht einem Druckkopf einer Tintenkartusche in einem der Kartuschenbehälter 64a bzw. 64b. Lediglich eine der Druckkopfverbindungskappen, nämlich die Kappe 88a, ist jedoch mit einer Drehpumpe verbunden, die Tinte von den Druckköpfen reinigt (d.h. saugt.). Ein Beispiel dieses Aufbaus ist in 32 gezeigt, in der die Druckkopfverbindungskappe 88a mit einer Pumpe 294 verbunden ist.
  • Somit ist, wenn die Zugangstür 32 geschlossen ist, der Druckkopf der Tintenkartusche, die für eine Reinigung bestimmt worden ist, mit der Druckkopfverbindungskappe 88a verbunden. Wie es bspw. in dem Blockschaltbild gemäß 33A gezeigt ist, wird, wenn die Tintenkartusche 300b für die Reinigung bestimmt worden ist, die Tintenkartusche 300b in einen Kontakt mit der Kappe 88a bewegt. Demgegenüber wird, wenn die Tintenkartusche 300a für die Reinigung bestimmt worden ist, die Tintenkartusche 300a in einen Kontakt mit der Kappe 88a bewegt, wenn die Zugangstür geschlossen ist, wie es in dem Blockschaltbild in 33B gezeigt ist. In dem Fall, dass beide Tintenkartuschen für die Reinigung in der vorstehend beschriebenen Weise bestimmt worden sind, werden die Tintenkartuschen mit der Kappe 88a nacheinander verbunden.
  • Sobald die Verbindung über den vorstehend beschriebenen Ausgangspositionssensor erfasst ist, wird die Tinte durch die Pumpe 294 aus den Düsen oder Löchern in dem Druckkopf der Kartusche herausgezogen (d.h. abgesaugt). Im Nachgang zu dieser Reinigungsoperation kann die Kartusche dann für ein Drucken verwendet werden.
  • 6.0 Speichern von Druckerprofilparametern
  • Kurz gesagt ist diese Ausgestaltung der Erfindung ein Verfahren zur Steuerung eines Druckkopf einer Bilddruckvorrichtung mit zumindest einem Druckkopf. Das Verfahren umfasst die Schritte zum Erhalten von Profilinformationen des zumindest einen Druckkopfes, zum Speichern der Profilparameter in einem nicht-flüchtigem RAM, zum Ausgeben bei einer Anforderung der Profilinformationen an eine Host-Verarbeitungsvorrichtung, die mit der Bilddruckvorrichtung verbunden ist, wobei die Host-Verarbeitungsvorrichtung die Druckkopfprofilinformationen verwendet, um Kompensationsparameter oder Abgleichparameter zu erzeugen, die Druckinformationen, die von der Host-Verarbeitungsvorrichtung zu dem Druckkopf für ein Drucken zu senden sind, kompensieren oder abgleichen.
  • Im Einzelnen geht der Drucker 30 in eine rechnerunabhängige bzw. Offline-Betriebsart, wenn Energie zugeführt wird und ein hartes Einschalten ausgeführt wird. In dieser Betriebsart lädt die CPU 121 in dem Drucker 30 von dem ROM 122 eine Initialisierungssoftware zurück und führt ein Start-Selbstüberprüfungsprogramm (POST bzw. power-on self-test program) aus. Unter vielen der Selbstüberprüfungs- und Zustandsprüfprogrammen, die sie ausführt, prüft die CPU 121 den Zustand des Druckkopfs 130a und des Druckkopfs 130b, um zu bestimmen, ob einer der oder beide Druckköpfe in dem Drucker 30 installiert worden sind. Eine Art und Weise, in der die CPU 121 diesen Zustand prüft, besteht darin, dass bestimmt wird, ob die Zugangstür 32 geöffnet worden ist, und wenn dies so ist, Druckkopfidentifikationsinformationen (ID-Informationen), die in dem EEPROM 132 gespeichert worden sind, mit einer derzeitigen ID des Druckkopfs verglichen werden. Wenn ein neuer Druckkopf installiert worden ist, wird diese Änderung in dem EEPROM 132 mit anderen gespeicherten Druckerprofilparametern vermerkt, wie es nachstehend beschrieben ist.
  • Bei einer Anfangsinstallation und einem Anfangseinschalten erfasst die CPU 121 jedoch verschiedene Profilparameter bezüglich des Druckers 30 als einen Teil der zugehörigen Installationsprogrammierung. Bspw. erhält die CPU 121 die Drucker-ID, die Druckkopf-ID-Informationen (oder, wenn mehr als ein Druckkopf installiert ist, die Drucker-IDs für alle Druckköpfe) sowie den derzeitigen Zustand des Druckers 30 und des Druckkopfs 130a und 130b (dieses Merkmal wird ebenso nach jedem nachfolgendem Einschalten sowie bei spezifischen vorbestimmten Zeiten und Ereignissen ausgeführt, was ausführlicher nachstehend beschrieben ist).
  • Sobald die POST-Verarbeitung ausgeführt worden ist, geht der Drucker 30 in eine rechnerabhängige bzw. Online-Betriebsart und erwartet Befehle von der Host-Verarbeitungsvorrichtung 23. Wie es in 10 gezeigt ist, sendet die Host-Verarbeitungsvorrichtung 23 Befehle durch die Drucker-Schnittstelle 104 direkt zu der Steuerungslogik 124 des Druckers 30. Die Befehle von der Host-Verarbeitungsvorrichtung 23 zum Lesen/Schreiben an das EEPROM 132 des Druckers 30 werden ebenso durch die Druckerschnittstelle 104 und die Steuerungslogik 124 geleitet.
  • Typischerweise sendet nach dem Onlinegehen die Host-Verarbeitungsvorrichtung 23 einen Zustandsanforderungsbefehl [STATUS] an den Drucker 30 über die Steuerungslogik 124. Bei Empfang eines derartigen Zustandsanforderungsbefehls sendet die CPU 121 des Druckers 30 gespeicherte Druckerprofilparameter von dem EEPROM 132, der I/O-Anschlusseinheit 127 und der Steuerungslogik 124 zu der Host-Verarbeitungsvorrichtung 123. Ein Beispiel von Druckerprofilparametern, die in einem spezifischen Bereich in dem EEPROM 132 gespeichert sind und mit der Host-Verarbeitungsvorrichtung 23 registriert sind, ist nachstehend in Tabelle 1 gezeigt.
  • Tabelle 1
    Figure 01050001
  • Diese vorstehend genannten Druckerprofilparameter werden durch die Host-Verarbeitungsvorrichtung 23 verwendet, um Druckkopfbefehlsdaten während einer Druckoperation abzugleichen.
  • Somit geht unter Bezugnahme auf das 34 gezeigte Flussdiagramm in Schritt S3401 der Drucker 30 bei einer Ausführung eines harten Einschaltens in eine Offline-Betriebsart. Während dieser Offline-Betriebsart führt der Drucker 30 in Schritt S3402 eine POST-Operation aus, um Zustands- und funktionelle Daten zu erfassen und hinsichtlich irgendwelcher Hardware- oder Sofwarefehler zu prüfen. Nach der Initialisierung bestimmt in Schritt S3403 die CPU 121 des Druckers 30, ob ein neuer Druckkopf installiert worden ist. In dem Fall, dass Schritt S3403 während des Anfangseinschaltens nach dem Installieren des Druckers 30 angetroffen wird und eine oder mehr Tintenkartuschen mit jeweils einem oder mehr Druckköpfen installiert worden sind, erhält die CPU 121 Informationen von den neu eingefügten Druckköpfen und speichert diese Informationen in dem EEPROM 132 und befiehlt eine Reinigungsverarbeitung bei einem nächsten weichen Einschalten (soft power-on). Wenn der Drucker 30 jedoch lediglich offline ist, weil ein Benutzer die Zugangstür 32 geöffnet hat und einen neuen Druckkopf installiert hat, erfasst die CPU 121 in Schritt S3404 die Druckkopf-ID und setzt ein Kennzeichenelement bzw. Flag in dem EEPROM 132, das anzeigt, dass der Druckkopf gewechselt worden ist.
  • Dieses Flag weist die Host-Verarbeitungsvorrichtung 23 an, dass eine Tintenkartusche geändert worden ist. Diese Verarbeitung wird ausgeführt, wenn ein Druckkopf zum allerersten Mal installiert worden ist, sowie wenn ein Druckkopf nachfolgend gewechselt worden ist.
  • Diesbezüglich speichert das EEPROM 132 eine Vielzahl von Druckerprofilparametern, die mit der Host-Verarbeitungsvorrichtung 23 für verschiedene Zwecke registriert sind, wie bspw. zur Bereitstellung von Abgleichparametern für die Host-Verarbeitungsvorrichtung 23, die wiederum verwendet werden, um physikalische Eigenschaften sowohl eines Druckkopfes als auch von Tinte in einer Druckkopfkartusche zu kompensieren bzw. abzugleichen. Wie es bspw. in der nachstehenden Tabelle 2 gezeigt ist, speichert das EEPROM 132 zusätzlich zu den Druckkopfausrichtungs- und optischen Dichteinformationen Informationen und Parameter, die eine Abfalltintenmenge, einen Druckkopfwechselzählwert, Druckkopfreinigungszeiten, eine Druckkopf-ID, einen Druckkopftyp usw. betreffen.
  • Tabelle 2
    Figure 01070001
  • Zurück zu 34 geht, wenn keine neue Tintenkartusche installiert worden ist, der Drucker 30 in Schritt S3405 in eine Online-Betriebsart, in der der Drucker 30 in der Lage ist, mit der Host-Verarbeitungsvorrichtung 23 oder, wenn er vernetzt ist, mit einem Host-Server zu kommunizieren.
  • Sobald er online ist, wartet der Drucker 30, um Befehle von der Host-Verarbeitungsvorrichtung 23 zu empfangen. Diese Befehle, von denen einige zuvor aufgelistet worden sind, sind typisch für die Befehle, die zu dem Drucker 30 gesendet werden können, sobald der Drucker 30 online ist. Diesbezüglich gibt nach dem Onlinegehen die Host-Verarbeitungsvorrichtung 23 normalerweise einen Zustandsanforderungsbefehl [STATUS] an den Drucker 30 aus, um neue Informationen oder Parameter zu erhalten, die sich verändert haben können, während der Drucker offline war. In Reaktion hierauf überträgt in Schritt S3406 der Drucker 30 Profilparameter, die in dem EEPROM 132 gespeichert sind, an die Host-Verarbeitungsvorrichtung 23. Bei Empfang der Parameter überprüft die Host-Verarbeitungsvorrichtung 23 die Parameter, insbesondere die Parameter, die die Druckköpfe betreffen, um zu bestimmen, ob ein Druckkopf gewechselt worden ist. Wenn bestimmt wird, dass ein Druckkopf gewechselt worden ist, bestimmt in Schritt S3407 die Host-Verarbeitungsvorrichtung 23, ob ein Prüfmuster angefordert werden soll. Normalerweise wird ein Prüfmuster gedruckt, so dass die Druckkopfausrichtung und optische Dichte des gedrucktem Bild gemessen werden kann. Wenn ein Druckkopf gewechselt worden ist und ein Prüfmuster erforderlich ist, überträgt in Schritt S3408 die Host-Verarbeitungsvorrichtung 23 einen oder mehr Befehle durch die Druckerschnittstelle 104 und die Steuerungslogik 124 an das Druckgerät 131. Die Host-Verarbeitungsvorrichtung 23 kann bspw. eine Reihe von Befehlen übertragen, wie sie nachstehend in Tabelle 3 gezeigt sind. Diese Befehle können zusammen mit Druckdaten zu dem Druckgerät 131 übertragen werden, um ein abzutastendes Prüfmuster zu drucken.
  • Tabelle 3
  • BEISPIEL EINES PRÜFMUSTERS UND EINES ABTASTBEFEHLSABLAUFS
  • Das Beispiel eines Befehlsablaufs im Falle eines BC-21 × 2, Farbbetriebsart, 360 dpi und 8,5'', des Druckpuffers 139 ist nachstehend beschrieben:
    [UCT] universelle koordinierte Zeit bzw. Universal Coordinated Time (Eingestellte derzeitige Zeit)
    [RESET] Rücksetzen des Druckers bzw. Drucker-Reset (Sofware-Reset)
    [COMPRESS] Wähle Datenkomprimierung aus (Bytepackungs-Betriebsart)
    (DEFINE_BUF] Definiere Druckpuffer A (360 dpi, 12 Bytes × 3.060 Spalten, ...)
    [DEFINE_BUF] Definiere Druckpuffer B (360 dpi, 12 Bytes × 3.060 Spalten, ...)
    [DEFINE_PULSE] Definiere Wärmeimpuls- bzw. Heizimpulstabelle (16 Unterteilungen)
    [DEFINE_CONTROL] Definiere Puffersteuerungstabelle (BC-21 Farbbetriebsart)
    [LOAD] Papierladen (Letter-Größe von normalen Papier, 8,5 Zoll × 11 Zoll)
    [SKIP] Rasterüberspringen zu der Druckposition für die erste Abtastung
    [DIRECTION] Stelle Druckrichtung für die erste Abtastung ein
    [EDGE] Stelle linken und rechten Rand des Kopfes A für die erste Abtastung ein
    [EDGE] Stelle linken und rechten Rand für Kopf B für die erste Abtastung ein
    Schleife 1: Beginne Wiederholung bis [EJECT]-Befehl
    [SPEED] Wähle Druckgeschwindigkeit für die erste Abtastung aus (6,51 kHZ)
    [DROP] Wähle Tröpfchengröße für Kopf A für die erste Abtastung aus
    [DROP] Wähle Tröpfchengröße für Kopf B für die erste Abtastung aus
    [SELECT_PULSE] Wähle Heizimpulstabelle für nächste Abtastung aus
    [SELECT_CONTROL] Wähle Puffersteuerungstabelle für Kopf A für die erste Abtastung aus
    [SELECT_CONTROL] Wähle Puffersteuerungstabelle für Kopf B für die erste Abtastung aus
    Schleife 2: Beginn Wiederhole 18 mal für 9 Blöcke (4,5 Zoll/0,5 Zoll) × 2 Köpfe (Kopf A und Kopf B)
    [BLOCK] Wähle Druckblock aus
    Schleife 3: Beginn Wiederhole 4 mal für 4 Farben (Gelb, Magenta, Zyan, Schwarz)
    [COLOR] Wähle Druckfarbe aus
    [DATA] Bilddatenübertragung (540 Byte/Block)
    Schleife 3: Ende
    Schleife 2: Ende
    [DIRECTION] Stelle Druckrichtung für die zweite Abtastung ein
    [EDGE] Stelle linken und rechten Rand für Kopf A für die zweite Abtastung ein
    [EDGE] Stelle linken und rechten Rand für Kopf B für die zweite Abtastung ein
    [PRINT] Druckausführung für die erste Abtastung
    [SKIP] Rasterüberspringen zu der Druckposition für die zweite Abtastung (24 Raster)
    [SCAN] Taste Prüfmuster ab und speichere Daten in dem RAM
    [SENSOR_RESULTS] Übertrage Abtastungsergebnisse
    [NVRAM] Schreibe Abgleichparameter bzw. Kompensationsparameter in EEPROM
    [EJECT] Papierausstoß (nur Ausstoß)
  • Sobald das Prüfmuster gedruckt worden ist, gibt die Host-Verarbeitungsvorrichtung 23 in Schritt S3409 einen Abtastbefehl [SCAN] an den Drucker 30 aus, der eine Abtastung des gedruckten Prüfmusters durch den Sensor 82 bei den Druckköpfen 130a und 130b initiiert. Genauer gesagt kehrt bei einem Empfang des [SCAN]-Befehls jeder Druckkopf 130a und 130b zu der Ausgangsposition 87 zurück, wobei zu dieser Zeit Abdeckungen jedes Sensors 82 abgenommen werden und ein Papierblatt, auf dem ein Prüfmuster gedruckt ist, vorgeschoben wird, um das gedruckte Prüfmuster mit den Sensoren 82 in Übereinstimmung zu bringen.
  • Jeder Sensor 82 tastet einen Abschnitt des gedruckten Prüfmusters ab, das durch den zugehörigen entsprechenden Druckkopf gedruckt worden ist, und speichert die sich ergebenden Prüfmusterdaten (bspw. Ausrichtungsmessungen) in dem RAM 129. Diese Prüfmusterdaten sind digitalisierte 8- Bit-Daten, die von einer Analog-Digital-Umwandlung des Ausgangsspannungspegels des Sensors 82 erhalten werden.
  • Die in dem RAM 129 gespeicherten Prüfmusterdaten verbleiben darin, bis die Host-Verarbeitungsvorrichtung 23 einen Zustandsanforderungsbefehl [SENSOR_RESULTS] an den Drucker 30 sendet. Bei Empfang des [SENSOR_RESULTS]-Befehls überträgt in Schritt S3410 der Drucker 30 die Prüfmusterdaten, die in dem RAM gespeichert sind, an die Host-Verarbeitungsvorrichtung 23. Wenn die Daten empfangen sind, lädt die Host-Verarbeitungsvorrichtung 23 Abgleichgleichungen von der Platte 25 zurück und verwendet die Gleichungen mit den empfangenen Daten, um die Abgleichparameter herzuleiten. Sobald die Abgleichparameter berechnet sind, sendet die Host-Verarbeitungsvorrichtung 23 einen [NVRAM]-Steuerungsbefehl an den Drucker 30, der den Drucker 30 veranlasst, die Abgleichparameter in das EEPROM 132 in Schritt S3411 zu schreiben.
  • Wie es vorstehend beschrieben ist, speichert das EEPROM 132 separate Parameter und Messungen für jeden Druckkopf 130a und 130b, wobei die Abgleichparameter auf der Grundlage der Ausrichtung und optischen Dichte jedes Druckkopfs separat berechnet und heruntergeladen werden. Ein Beispiel des Typs von Abgleichparametern, die durch die Host-Verarbeitungsvorrichtung 23 heruntergeladen werden, ist in der nachstehenden Tabelle 4 gezeigt.
  • Tabelle 4
    Figure 01120001
  • Die Informationen und Parameter, die vorstehend gezeigt sind, betreffen eine Ausrichtung der Druckköpfe 130a und 130b sowie die optische Dichte eines Bilds, das durch jeden Druckkopf 130a und 130b gedruckt wird. Diese Informationen werden durch die Host-Verarbeitungsvorrichtung 23 verwendet, wenn Druckkopfbefehlssignale zu den Druckköpfen 130a und 130b während einer Druckoperation gesendet werden. Zurück zu dem Flussdiagramm in 34 erwartet der Drucker 30 in Schritt S3411 weitere Befehle von der Host-Verarbeitungsvorrichtung 23.
  • In Schritt S3413 sendet die Host-Verarbeitungsvorrichtung 23 einen Zustandsanforderungsbefehl [DATA_SEND] zu dem Drucker 30 und Druckerprofilparameter werden wieder mit der Host-Verarbeitungsvorrichtung 23 registriert. Die [STATUS]-Befehle können zu dem Drucker 30 bei spezifischen Zeitintervallen oder nach einem spezifischen Druckerereignis, wie bspw. einem Ersetzen eines Druckkopfs, gesendet werden. Als nächstes verwendet in Schritt S3414 die Host-Verarbeitungsvorrichtung 23 die Druckerprofilparameter, um physikalische Eigenschaften und Variationen in jedem der Druckköpfe 130a und 130b sowie den Tinten in den Tintenkartuschen, die bei jedem Druckkopf 130a und 130b angebracht sind, zu kompensieren bzw. abzugleichen, wenn Druckinformationen zu jedem der Druckköpfe 130a und 130b gesendet werden.
  • Folglich speichert der Drucker 30 ein Profil von der Host-Verarbeitungsvorrichtung 23 individuell und separat ab. Dies ermöglicht es einer anderen Host-Verarbeitungsvorrichtung, das registrierte Profil von dem Drucker 30 zu lesen, um physikalische Eigenschaften, die den Drucker 30 betreffen, zu kompensieren oder abzugleichen.
  • 7.0 Terminieren bzw. Einplanen der Reinigung der Druckköpfe
  • Kurz gesagt ist eine Ausgestaltung der Erfindung, die in diesem Ausführungsbeispiel offenbart ist, ein Tintenstrahldrucker, der eine Schnittstelle zum Verbinden mit einer Host-Verarbeitungsvorrichtung und zum Empfangen von Druckdaten, Druckbefehlen und Echtzeit-/Datumsinformationen von der Host-Verarbeitungsvorrichtung, einen Speicher zur Speicherung der Druckdaten, der Druckbefehle und der Echtzeit-/Datumsinformationen, ein Druckgerät zum Drucken eines Bildes entsprechend den Druckdaten und den Druckbefehlen, wobei das Druckgerät zumindest einen Druckkopf steuert, um das Bild zu drucken, und eine Verarbeitungsvorrichtung zur Steuerung von Verarbeitungsereignissen des Druckgeräts auf der Grundlage der Echtzeit-/Datumsinformationen, die über die Schnittstelle von der Host-Verarbeitungsvorrichtung empfangen werden, und auf der Grundlage von druckerbezogenen Ereignissen umfasst.
  • Genauer gesagt müssen die Druckköpfe 130a und 130b des Druckers 30 gereinigt werden, da die Druckkopfdüsen auf Grund von Blasen oder trockener Tinte, die darin gefangen ist, verstopfen. Die Reinigungsverarbeitung besteht aus einer Bewegung eines Druckkopfes zu der zugehörigen Ausgangsposition, bei der die Drehpumpe 294 die Tinte aus dem Druckkopf saugt. Resultierende Abfalltinte wird in einem Abfallspeicherungsbereich, wie bspw. einem Abfallbehälter, abgelagert, wo die Abfalltinte schließlich mit der Zeit verdunstet. Es ist wichtig, die Druckköpfe 130a und 130b nach einer vorbestimmten Zeit zu reinigen, die gemäß der vorliegenden Erfindung als ein Ablauf von dreiundsiebzig (73) Stunden seit einer letzten Reinigung bestimmt worden ist. Wenn dies nicht ausgeführt wird, können die Druckkopfdüsen verstopfen, wodurch die Druckqualität negativ beeinflusst wird. Zusätzlich wird, um einen geeigneten Betrieb des Tintenstrahldruckers 30 sicherzustellen, jeder Druckkopf 130a und 130b bei einer Tintenkartuscheninstallation und jedes Mal, wenn eine Tintenkartusche ausgetauscht wird, gereinigt.
  • Wie es vorstehend beschrieben ist, führt der Drucker 30 mit Ausnahme einer ereignisterminierten Reinigung eine Druckkopfreinigung auf der Grundlage einer vergangenen Zeit aus. Die vergangene Zeit wird berechnet, indem bestimmt wird, wie viel Zeit seit einer letzten Reinigung vergangen ist. Ein Beispiel einer manuellen Initiierung einer Reinigungsoperation ist vorstehend in Abschnitt 5.0 beschrieben. Die Bestimmung der vergangenen Zeit beruht auf einem Echtzeit-/Datumsstempel, der von der Host-Verarbeitungsvorrichtung 23 bei Beginn jedes Druckauftrags heruntergeladen wird. Auf diese Weise ist der Drucker 30 in der Lage, zu verfolgen, wie viel Zeit seit der letzten Reinigungsverarbeitung vergangen ist.
  • Die vorstehend beschriebene Verarbeitung ist nachstehend ausführlicher unter Bezugnahme auf das Flussdiagramm in 35 beschrieben. Bei Installation und Energiezufuhr zu dem Drucker 30 zum ersten Mal startet in Schritt S3501 ein hartes Einschalten eine Reinigungsterminierungsverarbeitung für den Drucker 30. In Schritten S3502 und S3503 führt die CPU 121 des Druckers 30 zugehörige Einschaltselbsprüfungsinitialisierungsprogramme aus, indem in dem ROM 122 gespeicherte Verarbeitungsschritte ausgeführt werden. Die CPU 121 verwendet diese Programme, um verschiedene Hardwareparameter zu überprüfen und zu definieren. In Schritt S3504 liest die CPU 121 die verschiedenen Parameter, die in dem EEPROM 132 gespeichert sind. Diese Parameter sind vorstehend in Abschnitt 6.0 beschrieben worden. Zum Zwecke dieser Ausgestaltung der Erfindung hat die CPU 121 Interesse an einer letzten Reinigungszeit, die für jeden Druckkopf 130a und 130b aufgelistet ist. Es ist diese Information, die zur Terminierung bzw. Einplanung einer nächsten Reinigungszeit erforderlich ist. Wenn jedoch das EEPROM 132 noch nicht initialisiert worden ist, werden die letzten Reinigungszeiten auf Null eingestellt.
  • Wie es vorstehend beschrieben ist, hält das EEPROM 132 Profilinformationen über alle Druckköpfe aufrecht, die in dem Drucker 30 verwendet werden. Folglich hält gemäß dem vorliegend beschriebenen Ausführungsbeispiel das EEPROM 132 die letzten Reinigungszeiten für die Druckköpfe 130a und 130b in separaten Speicherplätzen aufrecht. Jede Reinigungszeit wird ebenso mit einem Prüfsummenwert gespeichert. Das heißt, die Reinigungszeiten werden mit einer Datenfehlerkorrektur durch eine Prüfsummenverarbeitung oder CRC-Prüfverarbeitung gesichert. Sowohl die Reinigungszeiten als auch die Prüfsummen werden in separaten Plätzen oder dem EEPROM 132 gespiegelt, um einen Verlust der Reinigungszeiten zu verhindern, der bei einem unfallbedingten Abschalten auftreten kann oder wenn Kaltrücksetzen bzw. Hard-on-Reset mitten in einer Schreiboperation in das EEPROM 132 auftritt. Als Ergebnis ist zumindest ein Satz von Reinigungszeiten sichergestellt, auch wenn ein Unfall auftritt.
  • In Schritt S3505 setzt die CPU 121 Variablen Delta T_A zurück, die eine vergangene Zeit, seitdem der Druckkopf A (bspw. der Druckkopf 130a aus 10) zuletzt gereinigt worden ist, darstellen. Diese Variable wird, wenn sie aktiviert ist, in Ein-Sekunden-Intervallen inkrementiert bzw. erhöht und wird nach jedem harten Ausschalten gelöscht. Auf ähnliche Weise setzt die CPU 121 ebenso Delta T_B für einen Druckkopf B (bspw. den Druckkopf 130b aus 10) zurück. Die CPU 121 setzt andere Anzeigeflags zu dieser Zeit zurück, wie bspw. FlagRealTimeActive bzw. Echtzeit-Aktiv-Flag, das anzeigt, ob eine Echtzeit eingestellt worden ist oder nicht, FlagRealTimeReset bzw. Echtzeit-Rücksetz-Flag, das anzeigt, ob die Echtzeit zurückgesetzt worden ist oder nicht, FlagRecordYet_A, das anzeigt, dass der Delta-T_A-Wert die Zeit der letzten Reinigung des Druckkopfs A nur anzeigt, wenn die Echtzeit noch nicht eingestellt ist, und FlagRecordYet_B, das ähnliche Informationen von dem Druckkopf B anzeigt. Jede der Variablen und jedes der Flags, die während der Reinigungsterminierungsverarbeitung gemäß der vorliegenden Erfindung gesetzt und zurückgesetzt werden, ist nachstehend in Tabelle 5 aufgelistet.
  • Tabelle 5
    Figure 01170001
  • In Schritt S3506 bestimmt die CPU 121, ob die letzte Reinigungszeit für jeden der Druckköpfe gleich Null ist. Diesbezüglich werden diese Variablen in einem Fall, dass der Drucker neu installiert ist, Null lesen. Folglich wird in Schritt S3507 die vergangene Zeit seit der Reinigung des Druckkopfes A auf eine vorbestimmte Zeit eingestellt, die, wie es vorstehend beschrieben ist, 73 Stunden ist. Als Ergebnis führt bei Ausführung eines weichen Einschaltens der Drucker 30 eine Reinigungsoperation bei dem Druckkopf A aus. In Schritten S3508 und S3509 wird eine ähnliche Verarbeitung für den Druckkopf B ausgeführt.
  • In Schritt S3510 aktiviert die CPU 121 die Reinigungsterminierungsverarbeitung. In Schritt S3511 erwartet die CPU 121 ein weiches Einschalten und Befehle von der Host-Verarbeitungsvorrichtung 23. In dem Fall einer Anfangsinstallation wird eine Reinigungsverarbeitung bei jedem Druckkopf bei diesem Schritt ausgeführt.
  • 7.1 Reinigungsterminierungsverarbeitung
  • Wie es vorstehend beschrieben ist, aktiviert die CPU 121 nach einer Initialisierung eine Reinigungsterminierung in Schritt S3510 gemäß 35. Die Art und Weise, durch die eine Vergangene-Zeit-Planung aufrechterhalten wird, ist nachstehend unter Bezugnahme auf das Flussdiagramm, das in 36 gezeigt ist, ausführlicher beschrieben. Die gezeigte Verarbeitung wird jede Sekunde in dem Fall, dass die Reinigungsverarbeitung aktiviert worden ist, als eine Unterbrechungsverarbeitung ausgeführt.
  • Genauer gesagt wird in Schritt S3601 die Reinigungsterminierungsverarbeitung aktiviert und die vergangene Zeit wird jede Sekunde für beide Druckköpfe A und B inkrementiert. In Schritt S3602 wird bestimmt, ob das FlagRealTimeActive gesetzt worden ist. Dieses Flag zeigt an, dass eine Echtzeit von der Host-Verarbeitungsvorrichtung 23 heruntergeladen worden ist. In dem Fall, dass dieses Flag nicht gesetzt worden ist, schreitet die Verarbeitung zu Schritt S3603 voran, in dem bestimmt wird, ob die vergangene Zeit seit der letzten Reinigung des Druckkopfes A die vorbestimmte maximale Zeit von 73 Stunden oder den maximalen Wert eines zugehörigen variablen Bereichs erreicht hat. Wenn sie dies hat, schreitet der Ablauf zu der automatischen Reinigungsverarbeitung voran, wie nachstehend beschrieben ist. Alternativ hierzu kann sie, wenn der Wert von Delta T_A den maximalen Wert erreicht, ignoriert und zurückgesetzt werden. Dies verhindert, dass der Wert in dem Speicher überläuft.
  • Wenn die Zeit seit der letzten Reinigung den maximalen Wert nicht erreicht hat, wird in Schritt S3604 Delta T_A um eine Sekunde erhöht. Diese Verarbeitung wird ausgeführt, da sich der Drucker 30 für mehr als 73 Stunden vor Empfang einer Echtzeit im Leerlauf befunden haben kann. Wenn dies der Fall ist, wird die Reinigung auf der Grundlage einer vergangenen Zeit von dem internen Takt des Druckers 30, später bei dem weichen Einschalten oder bei der automatischen Reinigungsprozedur ausgeführt. Eine ähnliche Verarbeitung wird für den Druckkopf B in Schritten S3605 und S3606 ausgeführt.
  • In dem Fall, dass das FlagRealTimeActive gesetzt worden ist, was bedeutet, dass die Host-Verarbeitungsvorrichtung 23 einen Zeit/Datum-Stempel heruntergeladen hat, wird in Schritt S3607 bestimmt, ob die Echtzeit den maximalen Wert von 73 Stunden erreicht hat oder bei dem maximalen Wert des zugehörigen variablen Bereichs angelangt ist. Wenn sie dies hat, schreitet der Ablauf zu der automatischen Reinigungssequenz voran, die nachstehend beschrieben ist. Alternativ hierzu kann sie, wenn der Wert der Echtzeit den maximalen Wert erreicht hat, ignoriert und zurückgesetzt werden. Dies verhindert, dass der Wert in dem Speicher überläuft. Demgegenüber wird, wenn die Echtzeit den maximalen Wert nicht erreicht hat, die Echtzeit um eine Sekunde in Schritt S3608 erhöht.
  • Zurück zu Schritt S3511 gemäß 35 schreitet bei einem weichen Einschalten der Ablauf zu Schritt S3701 gemäß 37 voran, der auf ein weiches Einschalten wartet. Als nächstes bestimmt in Schritt S3702 die CPU 121, ob der Benutzer ein weiches Einschalten angefordert hat. Wenn die Antwort Ja ist, führt die CPU 121 in Schritten S3703 und S3704 eine Initialisierung der Softwareprogramme und der Druckereinheitmechanik aus. Bei Abschluss der Initialisierung leitet die CPU 121 in Schritt S3705 jeden Druckkopf an, eine automatische Reinigungsoperation auszuführen, wenn es erforderlich ist (die automatische Reinigungsoperation wird nachstehend ausführlicher beschrieben).
  • Nach Ausführung der automatischen Reinigungsoperation geht der Drucker 30 in Schritt S3706 online und erwartet entweder Druckbefehle von der Host-Verarbeitungsvorrichtung 23 oder ein weiches Ausschalten, das durch den Benutzer in Schritt S3707 eingegeben wird. Wenn keines dieser Ereignisse stattfindet, bleibt der Drucker 30 in einem Wartezustand für Befehle von der Host-Verarbeitungsvorrichtung 23. Demgegenüber führt, wenn eine weiche Ausschaltanforderung empfangen worden ist, der Drucker 30 in Schritt S3708 eine zugehörige weiche Ausschaltverarbeitung durch Ausführen einer Zustandsüberprüfung und durch Aktualisieren von Parametern in dem EEPROM 132 auf der Grundlage des derzeitigen Zustands des Druckers 30 aus.
  • Gemäß der vorliegenden Erfindung erwartet der Drucker 30 Befehle von der Host-Verarbeitungsvorrichtung 23, wie bspw. einen Befehl zum Drucken eines Prüfmusters, zum Abtasten des Prüfmusters usw. Ein Befehl, den der Drucker 30 erwartet, ist die universelle koordinierte Zeit bzw. universal coordinated time (UCT), die dem Drucker 30 einen Zeit-/Datum-Stempel bereitstellt. Der UCT-Befehl wird verwendet, um die derzeitige Zeit in dem Drucker 30 einzustellen, und muss zu dem Drucker 30 bei dem Beginn eines Druckauftragsstarts gesendet werden. Der Drucker 30 verwendet die Zeit, um zu bestimmen, ob der Drucker den Druckkopf wiederherstellen soll oder nicht. Der Zeitwert wird als die Anzahl von Sekunden, die seit Mitternacht (00:00:00), 1. Januar 1970 universelle koordinierte Zeit (UCT) entsprechend der Systemuhr der Host-Verarbeitungsvorrichtung 23 vergangen ist, ausgedrückt. Diesbezüglich wird der UCT-Befehl bei dem Beginn eines Druckbefehls derart heruntergeladen, dass der UCT-Befehl jedem Druckbefehl vorangeht. Es ist jedoch anzumerken, das lediglich nach einem harten Ausschalten ein Bedarf besteht, den heruntergeladenen Zeit-/Datums-Stempel zu speichern, da die Zeit, die durch den eigenen internen Takt des Druckers 30 erhöht wird, bei einem harten Ausschalten aus dem Speicher gelöscht wird.
  • Somit sendet unter Bezugnahme auf das Flussdiagramm gemäß 38 in Schritt S3801 die Host-Verarbeitungsvorrichtung 23 einen UCT-Befehl. In Schritt S3802 wird bestimmt, ob die Zeit und das Datum gültig sind. Diesbezüglich ist es möglich, dass ein herunterladener Zeit-/Datum-Stempel ungültig ist, bspw. wenn der Drucker 30 mit einer Host-Verarbeitungsvorrichtung verbunden worden ist, die eine interne Uhr aufweist, die der Echtzeit-Uhr der Host-Verarbeitungsvorrichtung 23 voraus ist. In einigen Fällen kann eine Zeit und ein Datum später als die tatsächliche letzte Zeit und das tatsächliche letzte Datum sein, die in dem Drucker 30 gespeichert sind. Wenn die Zeit/das Datum auf Grund eines Datenformatierungsfehlers oder eines Werts außerhalb des Bereichs usw. nicht gültig ist, schreitet der Ablauf zu der automatischen Reinigungsverarbeitung voran, die nachstehend ausführlich beschrieben ist. Alternativ hierzu kann, wenn die Zeit ungültig ist, ein Fehlerverarbeitungsprogramm ausgeführt werden, oder die ungültige Zeit kann ignoriert werden.
  • Wenn in Schritt S3802 bestimmt wird, dass die derzeitige Zeit und das derzeitige Datum gültig sind, schreitet der Ablauf zu Schritt S3803 voran. In Schritt S3803 wird bestimmt, ob die Echtzeit tatsächlich in dem Drucker 30 gespeichert worden ist. Bspw. kann das FlagRealTimeActive nicht gesetzt sein. Dies ist der Fall, wenn noch keine Echtzeit in dem Drucker 30 eingestellt worden ist, was normalerweise auftreten würde, wenn der Drucker 30 zum ersten Mal verwendet wird und keine Druckaufträge gedruckt worden sind. Wenn das FlagRealTimeActive nicht gesetzt worden ist, werden in Schritt S3804 die derzeitige Zeit und das derzeitige Datum, die zu Beginn des Druckauftrags bereitgestellt werden, als die Echtzeit eingestellt.
  • Der Ablauf schreitet dann zu Schritt S3805 voran. In Schritt S3805 bestimmt in dem Fall, dass die Echtzeit nicht eingestellt worden ist, die CPU 121, ob die vergangene Zeit für einen Druckkopf A, wie bspw. den Druckkopf 130a aus 10, einer Zeit der letzten Reinigung des Druckkopfes A entspricht. Wenn bestimmt wird, dass die vergangene Zeit aufgezeichnet worden ist, bestimmt der Drucker 30 in Schritt S3806 die letzte Reinigungszeit, indem die Echtzeit von der gespeicherten vergangenen Zeit subtrahiert wird. In Schritt S3807 wird die letzte Reinigungszeit in das EEPROM 132 geschrieben und in Schritt S3808 wird das FlagRecordYet_A für den Druckkopf A zurückgesetzt. Eine ähnliche Verarbeitung wird für einen Druckkopf B, wie bspw. den Druckkopf 130b aus 10, in Schritten S3809 bis S3812 ausgeführt. Auf diese Weise werden die letzte Reinigungszeit und die Prüfsumme aktualisiert und in das EEPROM 132 in separate jeweilige Speicherplätze für jeden Druckkopf A und B geschrieben.
  • Zurück zu Schritt S3805 schreitet der Ablauf, wenn das FlagRecordYet_A und das FlagRecordYet_B nicht gesetzt worden sind, zu Schritt S3813 voran, in dem das FlagRealTimeActive gesetzt wird, um anzuzeigen, dass die Echtzeit eingestellt worden ist.
  • Zurück zu Schritt S3803 schreitet der Ablauf, wenn die Echtzeit von einer vorangegangenen Druckoperation gespeichert worden ist und bestimmt ist, dass sie eine gültige Zeit ist, zu Schritt S3814 voran, in dem zuvor heruntergeladene neue Zeitdaten mit den Echtzeitdaten verglichen werden. Wenn die Differenzen zwischen den neuen Zeitdaten und den Echtzeitdaten in Schritt S3815 akzeptierbar sind, wird die Differenz in Schritt S3818 ignoriert und der Ablauf schreitet voran.
  • Demgegenüber wird, wenn in Schritt S3815 bestimmt wird, dass die Differenzen aufgrund einer Änderung in der Echtzeituhr des Host oder eines Fehlers in der internen Uhr des Druckers nicht akzeptierbar sind, in Schritt S3816 die Echtzeit mit den neuen Zeitdaten zurückgesetzt. In Schritt S3817 wird das FlagRealTimeReset gesetzt, um anzuzeigen, dass die Echtzeit zurückgesetzt worden ist. Als Ergebnis werden die neuen Zeitdaten verwendet, um zu berechnen, wann die automatische Reinigung für die Druckköpfe A und B eingeplant werden soll. Dies verhindert, dass eine Reinigungsverarbeitung vorgenommen wird, auch wenn ein Benutzer zufällig die Echtzeituhr des Host-Computers auf eine entfernte Zeit in der Zukunft zurücksetzt, was durch einen Druckauftrag und einen [UCT]-Befehl und dann durch eine Zurücksetzen auf die tatsächliche derzeitige Zeit gefolgt wird.
  • 7.2 Automatische Reinigungsverarbeitung
  • In 39 ist die automatische Reinigungsverarbeitung beschrieben. Wenn eine Reinigung das Ergebnis einer Anfangsverwendung des Druckers 30 ist oder ein Ergebnis einer zeitterminierten Reinigung ist, wird in Schritt S3901 bestimmt, ob der Druckkopf A in dem Drucker vorhanden ist. Wenn der Druckkopf A in Schritt S3901 vorhanden ist, prüft die CPU 121, um zu sehen, ob das FlagRealTimeActive gesetzt worden ist. Wenn ja, schreitet der Ablauf zu Schritt S3902 voran, um zu überprüfen, um zu sehen, ob das FlagRealTimeReset gesetzt worden ist. Wenn nicht, berechnet die CPU 121 die Reinigungszeit durch Subtrahieren der letzten Reinigungszeit für den Druckkopf A, die in dem EEPROM 132 gespeichert ist, von der Echtzeit. Wenn die Differenz größer als die voreingestellte Reinigungszeit von 73 Stunden ist, wird in Schritt S3905 der Druckkopf A gereinigt. Wenn jedoch die Differenz kleiner als die voreingestellte Reinigungszeit ist, schreitet der Ablauf zu Schritt S3903 voran und das FlagRealTimeReset wird gesetzt, so dass die neuen Zeitdaten als die Echtzeit zurückgesetzt werden. In diesem Fall wird der Druckkopf A erzwungen gereinigt, da die Echtzeit in Schritt S3817 zurückgesetzt worden ist.
  • Zurück zu Schritt S3902 schreitet, wenn das FlagRealTimeActive nicht gesetzt ist, der Ablauf zu Schritt S3906 voran. In Schritt S3906 wird die vergangene Zeit für den Druckkopf A mit der Reinigungszeit verglichen. Wenn mehr als oder genau 73 Stunden vergangen sind, seitdem der Druckkopf A gereinigt worden ist, und der Druckkopf B nicht installiert ist, schreitet der Ablauf zu Schritt S3913 voran, wobei zu dieser Zeit das FlagRealTimeReset zurückgesetzt wird. Schritt S3913 wird üblicherweise ausgeführt, wenn der Drucker 30 seit einem harten Einschalten nicht verwendet worden ist. In dem Fall, dass der Druckkopf B installiert ist, wird eine ähnliche Verarbeitung für den Druckkopf B in den Schritten S3907 bis Schritt S3912 ausgeführt.
  • 7.3 Reinigung des A-Druckkopfes
  • In 40 ist eine ausführlichere Beschreibung der Operationen gegeben, die in den Schritten S3905 und S3911 der 39 ausgeführt werden. In Schritt S4001 wird bestimmt, ob ein Druckkopf installiert ist. Wenn bestimmt wird, dass ein Druckkopf in Schritt S4001 installiert ist, wird in Schritt S4002 eine Reinigungsoperation ausgeführt. Die Reinigungsoperation umfasst ein Bewegen des Druckkopfes zu der zugehörigen Ausgangsposition, ein Ausrichten der Düsen bei dem Druckkopf, der zu reinigen ist, auf eine Druckkopfverbindungskappe 88a (siehe 4), ein Saugen von Tinte von den Düsen und ein Absondern von Abfalltinte in einen Abfallbehälter. Die Anzahl von Tröpfchen, die von dem Druckkopf gesaugt werden, wird gezählt und diese Information wird in dem EEPROM 132 auf die gleiche Weise aktualisiert, wie sie vorstehend unter Bezugnahme auf die Aktualisierung der letzten Reinigungszeiten beschrieben ist.
  • In Schritt S4003 wird bestimmt, ob das FlagRealTimeActive gesetzt ist. In dem Fall, dass das Flag gesetzt ist, wird die letzte Reinigungszeit des gereinigten Druckkopfes als die Echtzeit in Schritt S4004 gesetzt. In Schritt S4005 wird die Echtzeit, die die letzte Reinigungszeit des Druckkopfes ist, in das EEPROM 132 geschrieben.
  • Zurück zu Schritt S4003 wird, wenn das FlagRealTimeAcitve nicht gesetzt ist, da ein UCT-Befehl nicht zu dem Drucker in den letzten 73 Stunden heruntergeladen worden ist, in Schritt S4006 die vergangene Zeit auf Null gesetzt und das FlagRecordYet für den spezifischen Druckkopf wird in Schritt S4007 gesetzt. Dies zeigt an, dass die Echtzeit in Schritt S4007 nicht eingestellt worden ist, und der Vergangene-Zeit-Zähler wird neu gestartet.
  • Wie es vorstehend beschrieben ist, wird eine Reinigung des Druckkopfes in dem Fall ausgeführt, dass der Druckkopf oder die Tintenkartusche ersetzt worden ist. In 41 ist ein ausführliches Flussdiagramm gezeigt, das die Reinigung eines Druckkopfes im Nachgang zu einem derartigen Ereignis betrifft.
  • In Schritt S4101 beginnt eine Druckkopfersatzverarbeitung. In Schritt S4102 erwartet die CPU 121 die Beendigung einer Kopfersatzbetriebsart durch den Benutzer. In Schritt S4103 wird die Ersatzverarbeitung beendet. Folglich prüft in Schritt S4104 die CPU 121, um zu sehen, welcher Kopf ersetzt worden ist, d.h., welcher Druckkopf einen Schaltungskontakt bei einem zugehörigen entsprechenden Kartuschenbehälter kontaktiert und getrennt hat. Wenn der Druckkopf A entfernt worden ist, wird in Schritt S4105 der Druckkopf A gereinigt. Die Reinigung wird auf die gleiche Weise ausgeführt, wie sie vorstehend unter Bezugnahme auf das Flussdiagramm in 40 beschrieben ist. Eine ähnliche Verarbeitung wird für den Druckkopf B in den Schritten S4106 und S4107 ausgeführt.
  • Das Flussdiagramm gemäß 42 beschreibt, was passiert, wenn eine automatische Reinigungsverarbeitung eingeplant ist und Papier in eine Druckposition in dem Drucker 30 geladen worden ist. In dem Fall, dass Papier in die Druckposition geladen worden ist und eine automatische Reinigung eingeplant worden ist, wird das Papier durch einen Befehl ausgestoßen, um das Drucken in Schritt S4201 abzuschließen. Sobald das Papier ausgestoßen worden ist, wird eine automatische Reinigung von einem oder mehr Druckköpfen in Schritt S4202 ausgeführt. Nachfolgend zu der automatischen Reinigungsverarbeitung wird neues Papier in die Druckposition in Schritt S4203 geladen. Diesbezüglich werden Schritte S4201 und S4202 im Nachgang zu jeder automatischen Reinigung unabhängig davon ausgeführt, ob ein Papier zuvor geladen war.
  • In 43 ist ein Beispiel einer typischen Reinigungszeitplanung für einen Druckkopf gezeigt, die gemäß der vorliegenden Erfindung ausgeführt wird, wie es vorstehend unter Bezugnahme auf die 35 bis 42 beschrieben ist. Bevor der typische Reinigungszeitplan beschrieben wird, sollte verstanden sein, dass der Drucker 30 separate Reinigungszeiten und Reinigungszeitpläne für jeden der Druckköpfe 130a und 130b aufrechterhält. Der Grund hierfür ist, dass ein Druckkopf von dem anderen ersetzt werden kann oder einer in einer 73-Stunden-Periode nicht verwendet werden kann. Wenn bspw. lediglich Textdokumente gedruckt werden, wird der Schwarz-Druckkopf öfter verwendet als der Farb-Druckkopf. Folglich kann es erforderlich sein, dass der Schwarz-Druckkopf öfters als der Farb-Druckkopf gereinigt werden muss. Das heißt, es ist möglicherweise nicht erforderlich, den Farb-Druckkopf bis unmittelbar vor einem Drucken zu reinigen, auch wenn mehr als 73 Stunden seit der letzten Reinigung vergangen sind und ein weiches Einschalten passiert ist. Auf diese Weise kann Tinte gespart werden.
  • In 43 ist eine Zeittabelle gezeigt, die fünf separate Zeitperioden (T1–T5) zeigt, die in den Drucker 30 heruntergeladen werden. Die Zeitperioden, die in 43 gezeigt sind, beginnen bei einer Zeitperiode, bei der der Drucker zuerst installiert wird.
  • Bei einem anfänglichen harten Einschalten führt der Drucker 30 eine zugehörige Initialisierungsverarbeitung aus und die letzten Reinigungszeiten werden aus dem EEPROM 132 gelesen. Da es das erste Einschalten ist, werden alle Flags und Variablen zurückgesetzt. Wie es vorstehend beschrieben ist, startet dieses Zurücksetzen eine Reinigungsverarbeitung bei dem weichen Einschalten. In dem in 43 gezeigten Beispiel wird, da ein weiches Einschalten vor einem Installieren eines Kopfes in dem Drucker ausgeführt wird, eine Reinigung nicht ausgeführt, bis der Kopf installiert ist. Sobald der Kopf installiert ist, wird eine automatische Reinigung für jeden der Druckköpfe 130a und 130b ausgeführt. Die Delta T-Variable wird auf Null eingestellt für alle Druckköpfe und das Flag-Record-Yet wird gesetzt, wie es vorstehend in den Schritten S4006 und S4007 beschrieben ist.
  • Sobald die Druckköpfe gereinigt sind und die Software initialisiert worden ist, geht der Drucker 30 online. Bei Erkennen, dass der Drucker 30 online ist, sendet die Host-Verarbeitungsvorrichtung 23 den ersten Druckauftrag und einen universellen koordinierten Zeitbefehl (UCT-Befehl), der den aktuellen Datums- und Zeitstempel bereitstellt. Wenn der UCT-Befehl zum ersten Mal empfangen wird, wird das FlagRealTimeActive gesetzt und die neue Zeit wird als die Echtzeit eingestellt. In dem vorliegenden Beispiel wird bei T1 keine automatische Reinigungsverarbeitung ausgeführt, da die letzte Reinigung weniger als 73 Stunden seit der Installation des Druckkopfes zurückliegt.
  • In dem in 43 gezeigten Zeitablaufdiagrammbeispiel ist die nächste Zeit, bei der eine Reinigungszeit eingestellt ist, wenn der Kopf bei T2 ersetzt wird, wobei es zu dieser Zeit ist, dass eine Reinigung unabhängig von der vergangenen Zeit stattfindet.
  • Wie es vorstehend beschrieben ist, leitet der UCT-Befehl jeden Druckbefehl ein. Folglich stellt gemäß diesem Beispiel für ein Zeitablaufdiagramm, das in 43 gezeigt ist, ein Druckbefehl die nächsten neuen Zeitdaten bei T3 bereit. Unter der Annahme, dass sie eine gültige Zeit ist und das FlagRealTimeActive gesetzt worden ist, wird die Differenz zwischen den neuen Zeitdaten und den Echtzeitdaten berechnet. In dem in 43 gezeigten Fall ist die Differenz zwischen der Zeit T3 und der Zeit T2 größer als 73 Stunden, und eine Reinigung wird ausgeführt. Da die interne Uhr des Druckers 30 seit dem vorangegangenen Datumsstempel aktiv ist, sollte die vergangene Echtzeit die gleiche sein wie die zu Beginn des Druckauftrags heruntergeladene, neue Echtzeit. Als Ergebnis besteht kein Bedarf, die neue heruntergeladene Zeit zu speichern.
  • Nachfolgend zu dem Drucken des Druckauftrags führt der Drucker 30 ein hartes Ausschalten aus, das alle gespeicherten Zeiten löscht. Ein hartes Einschalten folgt und setzt alle Flags und Variablen zurück. Das harte Einschalten wird durch ein weiches Einschalten gefolgt, das den Drucker 30 online setzt. Sobald er online ist, sendet die Host-Verarbeitungsvorrichtung einen Druckauftrag, der mit einem UCT-Befehl eingeleitet wird, der die derzeitige Zeit und das derzeitige Datum bei T4 bereitstellt. Wie es vorstehend unter Bezugnahme auf 38 beschrieben ist, wird, da das FlagRealTimeActive nicht gesetzt worden ist, die Echtzeit, die heruntergeladen wird, als die neue Zeit gespeichert und das FlagRealTimeActive wird gesetzt.
  • Zu dieser Zeit bestimmt die CPU 121, ob die Druckköpfe 130a und 130b installiert sind, ob das FlagRealTimeActive gesetzt ist und ob das FlagRealTimeReset gesetzt ist. Da eine neue Zeit durch die Host-Verarbeitungsvorrichtung bereitgestellt worden ist, wird die Differenz zwischen der Echtzeit und der letzten Reinigungszeit eines Druckkopfes berechnet. Wie es in 43 gezeigt ist, ist die Differenz zwischen der Zeit T4 und der Zeit T3 größer als 73 Stunden. Als Ergebnis wird eine Reinigung bei T4 ausgeführt.
  • Nachfolgend zu dem letzten Druckauftrag findet ein hartes Ausschalten statt, das die gespeicherten Zeiten löscht. Das nächste harte Einschalten setzt alle Variablen und Flags zurück. Wie es vorstehend beschrieben ist, werden nach einem harten Einschalten die vergangenen Zeitvariablen in Intervallen von einer Sekunde erhöht. Wie es in dem Beispiel gemäß 43 gezeigt ist, vergeht eine Zeit von 73 Stunden vor dem nächsten weichen Einschalten. Als Ergebnis wird eine Reinigung ausgeführt. Diese Reinigung wird auf der Grundlage der eigenen internen vergangenen Uhrzeit des Druckers 30 und nicht einer heruntergeladenen Echtzeit ausgeführt, da der Drucker 30 für mehr als 73 Stunden im Leerlauf gewesen ist, ohne einen Druckauftrag empfangen zu haben. Alternativ hierzu kann eine Reinigung des Druckkopfes, nachdem 73 Stunden bei der internen Uhrzeit vergangen sind, nicht erforderlich sein und sie kann erneut unmittelbar vor einer Druckoperation eingeplant werden. Durch Verschieben der Reinigung bis unmittelbar vor einem Drucken auf diese Weise kann Tinte gespart werden.
  • Wie es vorstehend beschrieben ist, kann das EEPROM 132 durch einen beliebigen nicht-flüchtigen Speicher, wie bspw. ein statisches RAM mit einer Batteriesicherung oder einen Flash-Speicher usw., ersetzt werden. In diesem Fall können Informationen, einschließlich der letzten Reinigungszeit, die vorstehend beschrieben ist, in ähnlichen Typen von nicht-flüchtigen Speichervorrichtungen gespeichert werden.
  • Des Weiteren kann das ROM 122 durch eine beliebige Art von wiederbeschreibbarer Speichervorrichtung, wie bspw. einen Flash-Speicher usw., ersetzt werden. In diesem Fall können derartige Speichervorrichtungen einen Programmcode empfangen, der zu dem Drucker 30 über die Schnittstelle 104 der Host-Verarbeitungsvorrichtung 23 und die Host-Computerschnittstelle 141 des Druckers 30 heruntergeladen wird. Es ist ebenso möglich, eine Speichervorrichtung zu verwenden, um alle Informationen in einem spezifischen Bereich der Speichervorrichtung anstelle des EEPROM 132 zu speichern.
  • Zusätzlich kann, obwohl die Kommunikationsleitung 106 als eine bidirektionale Leitung beschrieben worden ist, auch eine unidirektionale Schnittstelle bei dieser Erfindung verwendet werden. Genauer gesagt kann, obwohl die IEEE-1284-Schnittstelle in der vorstehenden Beschreibung implementiert worden ist, eine beliebige Art von Schnittstelle wie SCSI, USB (Universal Serial Bus), IEEE-1394 (serielle Hochgeschwindigkeitsbusschnittstelle) usw., statt dessen verwendet werden.
  • Schließlich ist das Ausführungsbeispiel der vorliegenden Erfindung unter Verwendung von zwei Druckköpfen beschrieben worden. Es ist jedoch ersichtlich, dass diese Anzahl vergrößert oder verkleinert werden kann. Gleichsam kann die Anzahl von Speicherplätzen in dem EEPROM 132 und dem RAM 129 entweder vergrößert oder verkleinert werden auf der Grundlage der Anzahl von Druckköpfen, die in dem Drucker 30 verwendet wird.
  • 8.0 Einstellen und Modifizieren von Druckkopftreiberparametern
  • Da die Druckköpfe 130a und 130b ausgelegt sind, entfernbar und ersetzbar in dem Drucker 30 zu sein, und da unterschiedliche Arten von Kartuschen (wie bspw. Kartuschen mit unterschiedlichen Düsenkonfigurationen und unterschiedlichen Tinteneigenschaften) in die Druckkopfbehälter 64a und 64b geladen werden können, ist der Drucker 30 mit Druckkopftreiberparametern für viele unterschiedliche Typen von Druckköpfen vorgeladen. Bspw. ist die Impulsbreitensequenz zum Ansteuern jeder individuellen Düse, um ein Tintentröpfchen auszustoßen, in großem Umfang von der Temperatur des Druckkopfes, den Tinteneigenschaften (bspw. ob Farbtinte oder Schwarz-Tinte und ob Farbstoff-Tinte oder Pigment-Tinte), der Temperatur der Umgebung, der Tintentröpfchengröße und dergleichen abhängig. Als Folge umfasst das ROM 122 vorgespeicherte Tabellen, die Treiberimpulssequenzen für verschiedene Kopf-/Tinte-/Auflösungs-Kombinationen definieren. Die vorgespeicherten Tabellen in dem ROM 122 decken verschiedene bekannte Kombinationen von Kopf/Tinte/Auflösungen sowie vorweggenommene Kombinationen von Kopf/Tinte/Auflösungen ab.
  • Gleichsam sind Parameter, die verwendet werden, um interne Berechnungen, wie bspw. Berechnungen der Druckkopftemperatur, auszuführen, ebenso von der jeweiligen spezifischen Kombination des Druckerkopfes und der Düsenkonfigurationen, des Tintentyps und der Auflösung abhängig. Aus dem gleichen Grund umfasst der Drucker 30 folglich in dem ROM 122 verschiedene Tabellen von Aufheizkoeffizienten oder Aufwärmkoeffizienten für bekannte Kombinationen von Kopf/Tinte/Auflösung sowie vorweggenommene Kombinationen von Kopf/Tinte/Auflösung.
  • Die Erfinder haben hierbei erkannt, dass es nicht möglich ist, alle möglichen Kombinationen von Kopf, Tinte und Auflösung vorauszuahnen und geeignete Tabellen für alle derartigen Kombinationen vorzuspeichern. Der Grund hierfür ist einfach: es ist nicht bekannt, welche neuen Entwicklungen in Druckerköpfen und Tinten in der Zukunft entstehen können. Zur gleichen Zeit besteht ein Wunsch, den Drucker 30 mit jeder beliebigen Kombination von Kopf und Tinte und Auflösung zu verwenden, die in der Zukunft entstehen kann, ohne einen neuen Satz von Tabellen in dem ROM 122 zu benötigen. Insbesondere würden neue Tabellen eine Überarbeitung der Drucker erfordern sowie ein Verbesserungsprogramm bzw. Upgrade-Programm zur Verteilung von neuen ROM für bestehende Kunden.
  • Ein Ausführungsbeispiel der vorliegenden Erfindung ist auf dieses Bedürfnis gerichtet, indem eine Modifikation der Werte in den vorgespeicherten Tabellen über Befehle von der Host-Verarbeitungsvorrichtung 23 bereitgestellt werden und indem eine Echtzeit-Definition von Druckkopfsteuerungsparametern von der Host-Verarbeitungsvorrichtung 23 ermöglicht wird. Dank dieser Merkmale ist es durch die Verwendung der Befehle von der Host-Verarbeitungsvorrichtung 23 möglich, die Druckkopftreiberparameter, die zur Steuerung der Funktionalität von neu entwickelten Kartuschen oder anderen Kartuschen, für die vorgespeicherte Tabellen in dem ROM 122 nicht verfügbar sind, auf übliche Weise zu definieren, ohne die ROM-Tabellen oder andere Druckerhardware auszutauschen.
  • Kurz gesagt steuert gemäß dieser Ausgestaltung der Erfindung eine Druckersteuereinrichtung, die Befehle von einer externen Steuereinrichtung empfängt, eine Verarbeitungsfunktion eines Druckers mit einer entfernbaren Kartusche auf der Grundlage der Befehle. Die Befehle sind in der Lage, neue Kartuschentreiberparameter zu definieren, die auf die Steuerungsfunktionalität der neuen Kartuschen maßgeschneidert sind, für die vorgespeicherte Treiberparameter nicht bereits in dem Drucker verfügbar sind. Derartige Parameter umfassen bspw. eine Zeitsteuerung für die Wärmeimpulssequenzen, um Tintentröpfchen auszustoßen, Aufwärmkoeffizienten zur Berechnung von Druckkopftemperaturen, die für derartige Wärmeimpulssequenzen erforderlich sind, eine Druckgeschwindigkeit, eine Tröpfchengröße, eine Pufferauslesesteuerung, eine Düsenausstoßsequenz und dergleichen.
  • In 43A ist ein Flussdiagramm gezeigt, das ein erstes Ausführungsbeispiel der Erfindung veranschaulicht, in dem ein Befehl, der Treibersteuerungsparameter für einen Druckkopf definiert, durch einen Befehl zum Modifizieren von Werten in vorgespeicherten Tabellen der Druckkopftreiberbedingungen umfasst ist. Kurz gesagt sendet gemäß 43A zur Steuerung von Druckkopftreiberbedingungen in einem Drucker mit einer vorgespeicherten Nachschlagetabelle, die vorgespeicherte Druckkopftreiberbedingungen für zumindest einen von mehreren entfernbaren Druckköpfen definiert, eine externe Host-Verarbeitungsvorrichtung einen Befehl, um die vorgespeicherte Nachschlagetabelle zu modifizieren, bspw. durch eine Modifikation durch eine Multiplikation mit einem Steuerungsverhältnis. Eine Drucksteuereinrichtung erhält die Druckkopftreiberbedingungen von der vorgespeicherten Nachschlagetabelle und modifiziert die Druckkopftreiberbedingungen, um die modifizierten Druckkopftreiberparameter zu erhalten. Die modifizierten Druckkopftreiberparameter werden dann nachfolgend für die Druckoperationen verwendet.
  • Genauer gesagt empfängt in Schritt S43101 der Drucker 30 einen Befehl, um ein Steuerungsverhältnis zur Ansteuerung einer Druckkopfimpulsbreitensequenz einzustellen. Der Befehl wird durch die Host-Verarbeitungsvorrichtung 23 gesendet (Schritt S43102), wobei bei einem Fehlen eines Empfangens eines derartigen Befehls der Drucker 30 einen Standardwert von 100% aufrechterhält. Das Steuerungsverhältnis zur Ansteuerung, das in Schritt S43101 empfangen wird, ist ein Faktor, der bei Nachschlagewerten von einer vorgespeicherten Tabelle in dem ROM 122 angewendet wird, wie es ausführlicher nachstehend in Schritt S43112 beschrieben ist.
  • In Schritt S43103 empfängt der Drucker 30 einen Befehl für ein Steuerungsverhältnis für Kopftemperaturberechnungen. Der Befehl wird von der Host-Verarbeitungsvorrichtung 23 empfangen (Schritt S43104), wobei bei einem Fehlen eines Empfangens eines derartigen Befehls der Drucker 30 einen Standardwert von 100% aufrechterhält. Das Steuerungsverhältnis für die Kopftemperaturberechnungen wird als ein Multiplikationsfaktor gegenüber vorgespeicherten Werten der Aufwärmkoeffizienten angewendet, die zur Berechnung der Kopftemperatur verwendet werden, wie es ausführlicher nachstehend in Verbindung mit Schritt S43115 beschrieben ist.
  • Vorzugsweise werden die Schritte S43101 bis S43104 durch die Verwendung eines Änderungsimpulsverhältnisbefehls ([PCR]) bewirkt, der in Abschnitt 3.6 definiert ist. Wie es vorstehend beschrieben ist, wird der [PCR]-Befehl verwendet, um ein Verhältnis von Impulssteuerungstabellen zu ändern, wie bspw. ein Verhältnis von Aufwärmkoeffizienten, die zur Berechnung der Kopftemperatur verwendet werden, und einer Änderung eines Verhältnisses von Impulsbreiten für eine Impulsbreitenansteuerungssequenz für jede individuelle Düse der Druckköpfe 130a und 130b, wenn ein Tintentröpfchen aus der Düse ausgestoßen wird.
  • Der Ablauf wird in dem Drucker 30 mit Schritten S43106 bis S43115 fortgesetzt, die wiederholt bei zyklischen Intervallen von bspw. 50 ms ausgeführt werden, um in Echtzeit die aktuellsten Werte für die Druckkopftreiberparameter aufrechtzuerhalten. Genauer gesagt werden, wie es vorstehend in Verbindung mit 23 beschrieben ist, die Schritte S43106 bis S43115 bei zyklischen 50-ms-Intervallen ausgeführt, um bspw. die Kopftemperatur zu berechnen und Impulsbreitenzeitsteuerungen für eine Impulsbreitensequenz herzuleiten, die angewendet wird, um ein Tintentröpfchen aus einer Düse auszustoßen, zusammen mit anderen Aufgaben, die ebenso bei 50-ms-Intervallen ausgeführt werden.
  • Wieder zurück zu 43A liest der Schritt S43106 eine derzeitige Umgebungstemperatur (Tenv) von einem nicht gezeigten Thermistor in dem Drucker 30 aus. Die derzeitige Umgebungstemperatur kann der aktuellste Wert sein, der von dem Thermistor gelesen wird, oder der aktuelle Wert, der von dem Thermistor gelesen wird, wird vorzugsweise einer Tiefpassfilterung unterzogen, um alle Irregularitäten zu glätten, fehlerhafte Lesewerte des Thermistors zu entfernen, Rauschen, wie bspw. Analog-Digital-Abtastrauschen, zu entfernen und dergleichen.
  • Auf der Grundlage der Umgebungstemperatur Tenv, die in Schritt S43106 gelesen wird, wird eine Solltemperatur (Ttgt) in Schritt S43107 berechnet. Die Solltemperatur ist die bevorzugte Betriebstemperatur für den Drucker 30 auf der Grundlage der derzeitigen Umgebungstemperatur. Allgemein gesprochen wird der Drucker 30 durch nicht gezeigte Heiz- oder Wärmeeinrichtungen in den Druckköpfen 130a und 130b gesteuert, um die Solltemperatur zu erreichen, wie es vorstehend in Verbindung mit 23 bei der 500-ms-Unterbrechungsstufe beschrieben ist. Die Solltemperatur ist die am meisten bevorzugte Temperatur für eine Druckkopfoperation auf der Grundlage der derzeitigen Umgebungstemperatur. Die Beziehung zwischen der Solltemperatur und der Umgebungstemperatur ist invers, was bedeutet, dass niedrige Umgebungstemperaturen relativ höhere Solltemperaturen zur Folge haben, wohingegen hohe Umgebungstemperaturen relativ niedrigere Solltemperaturen zur Folge haben. Bspw. kann bei extrem niedrigen Umgebungstemperaturen, wie bspw. Tenv = 5°C, eine bevorzugte Solltemperatur Ttgt = 35°C sein, wohingegen bei extrem hohen Umgebungstemperaturen, wie bspw. Tenv = 35°C, eine bevorzugte Solltemperatur Ttgt = 15°C sein kann.
  • In Schritt S43109 wird die Wirkung auf die Druckkopftemperatur berechnet, die durch einen tatsächlichen Tintentröpfchenausstoß von den Druckköpfen 130a und 130b verursacht wird. Genauer gesagt beruht die Umgebungstemperatur, die in Schritt S43106 gelesen wird, auf einer Umgebungstemperatur, die durch einen Thermistor gelesen wird, der außerhalb der Druckköpfe 130a und 130b montiert ist. Eine genaue Steuerung über die Druckkopftreiberparameter wird demgegenüber direkter durch die interne Temperatur der Tinte beeinflusst, die benachbart zu den Druckkopfdüsen ist. Es wird allgemein nicht als praktikabel betrachtet, einen Thermistor in einem derartig kleinen Bereich zu montieren. Gleichzeitig ist bekannt, dass ein aktiver Tintentröpfchenausstoß einen Anstieg in der Tintentemperatur verursacht und dass bei einem Fehlen eines Tintenausstoßes die Tintentemperatur im Allgemeinen fällt. Es ist die Aufgabe von Schritt S43109, den Effekt der Druckkopftemperatur, die durch einen Tintentröpfchenausstoß verursacht wird, zu berechnen, um diese Berechnung auszuführen.
  • Die Berechnung der Druckkopftemperatur in Schritt S43109 wird teilweise auf der Grundlage der Anzahl von Tintentröpfchen ausgeführt, die tatsächlich über ein vorbestimmtes Zeitintervall, wie bspw. 50 ms, ausgestoßen werden. Jedem Ausstoß eines Tintentröpfchens in dem vorbestimmten Zeitintervall wird ein Wärmekoeffizientengewicht zugewiesen. Auf der Grundlage der Anzahl von Tintentröpfchenausstoßen innerhalb der vorbestimmten Zeitdauer ist es möglich, den Effekt des Tintentröpfchenausstoßes auf die Druckkopftemperatur zu berechnen.
  • Gleichzeitig ist bekannt, dass derartige Aufwärmkoeffizienten in Abhängigkeit von dem spezifischen Typ des verwendeten Druckkopfes, den Tinteneigenschaften, die bei dem Lesen verwendet wird, der Auflösung des Ausdrucks durch den Kopf und dergleichen variieren. Jede unterschiedliche Kombination von Kopf/Tinte/Auflösung verändert die Aufwärmkoeffizientenwerte entsprechend der Anzahl von gedruckten Punkten. Folglich sind in dem ROM 122 Tabellen für Aufwärmkoeffizienten vorgespeichert. Diese Situation ist in 43B veranschaulicht.
  • Wie es in 43B gezeigt ist, umfasst ein Abschnitt des ROM 122 vorgespeicherte Tabellen 701 für die Aufwärmkoeffizienten. Die Tabellen umfassen mehrere Tabellen 702a, 702b usw., eine Tabelle für jede unterschiedliche Kombination von Druckerkopf, Tinteneigenschaften und Auflösung. Jede der Vielzahl von Tabellen umfasst tabellarisch zugegriffene Koeffizienten, wie bspw. die Koeffizienten, die mit 1, 2 und 3 bezeichnet sind (Bezugszeichen 703, 704 und 705), auf die durch eine Nachschlageoperation auf der Grundlage der Anzahl von Tintentröpfchen zugegriffen wird, die in einem beliebigen spezifischen Intervall, bspw. 50 ms, ausgestoßen werden (wie es bei Bezugszeichen 706 angezeigt ist). Der Drucker 30 wählt eine Aufwärmtabelle aus den bei 701 gespeicherten Tabellen auf der Grundlage einer Standardauswahl oder auf der Grundlage einer befohlenen Auswahl (wie es nachstehend in Verbindung mit 43C beschrieben ist) aus und wählt dann die Aufwärmkoeffizienten aus der ausgewählten Tabelle auf der Grundlage der Anzahl von Tröpfchen aus, die in einer 50-ms-Periode ausgestoßen werden.
  • Die Koeffizienten, die durch die Nachschlageoperation in den Tabellen 701 erhalten werden, werden zur Berechnung der Wirkung auf die Druckkopftemperatur durch den Tintentröpfchenausstoß verwendet. Eine geeignete Berechnung ist wie nachstehend beschrieben: ΔTmain = (Koeff1·(# ausgestoßene schwarze Tröpfchen)) + (Koeff2·(# ausgestoßene Farbtröpfchen)) + (Koeff3· (Wärmeeinrichtungseinschaltdauer)) – Koeff4,wobei Koeff1 ein Aufwärmkoeffizient ist, der auf der Anzahl von ausgestoßenen schwarzen Tintentröpfchen beruht, Koeff2 ein Aufwärmkoeffizient ist, der auf der Anzahl von ausgestoßenen Farbtröpfchen beruht, Koeff3 ein Aufwärmkoeffizient ist, der auf der derzeitigen Einschaltdauer (duty cycle) der Wärmeeinrichtung beruht, und Koeff4 ein Aufwärmkoeffizient ist, der tatsächlich eine Abkühlung des Druckkopfes auf der Grundlage einer Inaktivität zeigt. Natürlich hängen die tatsächlichen Koeffizienten und Berechnungen, die verwendet werden, von der Kopf/Tinte/Auflösungs-Kombination ab. Die vorstehend angegebene Berechnung ist bspw. für einen Vier-Farben-Druckkopf geeignet, wohingegen ein Nur-Schwarz-Druckkopf eine unterschiedliche Berechnung verwenden würde, die bspw. eine Abhängigkeit von der Anzahl von ausgestoßenen Farbtröpfchen ausschließt.
  • Ausgestattet mit der Umgebungstemperatur Tenv, der Solltemperatur Ttgt und der Druckkopftemperaturwirkung ΔTmain berechnet der Schritt S43110 die Differenz ΔTdiff wie nachstehend beschrieben: Tdiff = Ttgt – Tenv – ΔTmain
  • In Schritt S43111 wird auf der Grundlage der Temperaturdifferenz Tdiff auf eine Nachschlagetabelle in dem ROM 122 zugegriffen, die Impulsbreitezeiten für eine Impulsbreitenansteuerungssequenz speichert. Geeignete Tabellen sind als Diagramm in 43B veranschaulicht, wie es nachstehend beschrieben ist.
  • Genauer gesagt umfasst, wie es in 43B gezeigt ist, das ROM 122 eine Nachschlagetabelle 710 zur Speicherung von Ansteuerungszeiten oder Treiberzeiten. Die Ansteuerungszeiten sind Impulsbreiten für eine Impulssequenz, die zur Ansteuerung von Düsenwärmeeinrichtungen zum Ausstoßen eines Tintentröpfchens verwendet wird. Eine typische Impulssequenz ist bei S43311 in 43A gezeigt und umfasst einen Vorheizimpuls einer Breite Tpre, eine Ruhezeitdauer einer Breite Tint und einen Hauptheizimpuls einer Breite Tmain. Eine derartige Impulssequenz wird bei den Düsenwärmeeinrichtungen in jeder Düse der Druckköpfe 130a und 130b angewendet, um ein Tröpfchen einer Tinte für ein Drucken auszustoßen. Es ist der Zweck der Tabelle 710, jede der Trep, Tint und Tmain teilweise auf der Grundlage der Temperaturdifferenz zu berechnen, die in Schritt S43110 berechnet wird.
  • Gleichzeitig wird erkannt, dass die Impulsbreiten der Impulsansteuerungssequenz auf der Grundlage von spezifischen Kombinationen des Druckkopfes, der Tinteneigenschaften, der Auflösung und dergleichen unterschiedlich sind. Folglich umfassen, wie es in 43B gezeigt ist, die Tabellen 710 individuelle Tabellen, wie bspw. 712a, 712b usw. Jede Tabelle 712a, 712b usw. ist für eine spezifische Kombination von Druckkopf, Tintentyp und Auflösung maßgeschneidert. Wie es bei 710 gezeigt ist, umfasst jede Tabelle Einträge 714 für die Breite des Vorheizimpulses Tpre, Einträge 715 für die Breite des Ruheintervalls Tint und Einträge 716 für die Breite des Hauptheizimpulses Tmain. Auf jeden spezifischen Eintrag wird über eine Nachschlageoperation auf der Grundlage der Temperaturdifferenz Tdiff, die in Schritt S43110 berechnet wird, Zugriff genommen.
  • Der Drucker 30 wählt eine Tabelle einer Ansteuerungszeit aus den bei 710 gespeicherten Tabellen auf der Grundlage einer Standardauswahl oder auf der Grundlage einer befohlenen Auswahl aus (wie es nachstehend ausführlicher in Verbindung mit 43C beschrieben ist). Der Drucker 30 greift danach auf die Einträge in der ausgewählten Tabelle zu und schlägt geeignete Zeiten für den Vorheizimpuls, das Ruheintervall und den Hauptheizimpuls nach, wobei alles auf der Temperaturdifferenz, die in Schritt S43110 berechnet wird, und in einer spezifischen Kombination von Druckkopf/Tinte/Auflösung beruht.
  • Zurück zu 43A modifiziert Schritt S43112 die Ansteuerungszeiten, die durch die Nachschlageoperation aus der Tabelle 710 erhalten werden, auf der Grundlage des Steuerungsverhältnisses für die Ansteuerung, dass in Schritt S43101 empfangen worden ist. Der Zweck dieses Schrittes ist, eine Modifikation der vorgespeicherten Werte aus den Nachschlagetabellen 710 zu ermöglichen, wobei ein Unterschied zwischen einem tatsächlichen Druckkopf, der in dem Drucker 30 angebracht ist, und der Druckkopfkombination, die in der Tabelle 710 gespeichert ist, berücksichtigt wird. Genauer gesagt, und wie es vorstehend beschrieben ist, ist es, obwohl in dem ROM 122 des Drucker 30 eine Vielzahl von Tabellen für Ansteuerungszeiten vorgespeichert ist, wobei jede Tabelle auf eine spezifische Kombination von Druckkopf/Tinte und Auflösung maßgeschneidert ist, nicht möglich, wirklich jede Kombination von Druckkopf/Tinte und Auflösung vorwegzunehmen. Die Modifikation in Schritt S43112 ermöglicht es folglich, zuvor unbekannte oder anderweitig nicht gespeicherte Kombinationen von Druckkopf/Tinte und Auflösung zu verwenden.
  • Die Modifikation in Schritt S43112 wird vorzugsweise durch eine Multiplikation der Ansteuerungszeiten, die durch die Nachschlageoperation in Schritt S43111 erhalten werden, mit dem Steuerungsverhältnis, das in Schritt S43101 empfangen wird, ausgeführt. Aus diesem Grund ist das Standardsteuerungsverhältnis 100%. Das Steuerungsverhältnis, das durch den Änderungsimpulssteuerungsverhältnisbefehl [PCR] befohlen werden kann, ist darauf begrenzt, zwischen 1% bis 200% zu liegen, wodurch eine Modifikation der Impulszeiten von effektiv vernachlässigbaren Impulszeiten bis zu verdoppelten Werten, die in den Tabellen 710 gespeichert sind, ermöglicht wird.
  • Der Ablauf geht dann zu Schritt S43114 weiter, in dem der Drucker 30 Aufwärmkoeffizienten für Kopftemperaturberechnungen nachschlägt. Wie es vorstehend in Verbindung mit den Tabellen 710 gemäß 43B beschrieben ist, werden die Aufwärmkoeffizienten auf der Grundlage einer spezifischen Kombination von Druckkopf, Tinte und Auflösung erhalten und aus einer der Tabellen 702a usw. auf der Grundlage der Anzahl von Punkten, die pro Zyklus gedruckt werden, nachgeschlagen, wobei jeder eine Dauer von näherungsweise 50 ms aufweist.
  • Schritt S43115 modifiziert die Aufwärmkoeffizienten auf der Grundlage des Steuerungsverhältnisses, das in Schritt S43103 empfangen wird. Wiederum ist der Zweck einer derartigen Modifikation, die Verwendung einer spezifischen Kombination von Druckkopf, Tinte und Auflösung zu erlauben, die nicht bereits in einer der Tabellen 701 gespeichert ist.
  • Vorzugsweise wird die Modifikation der Aufwärmkoeffizienten in Schritt S43115 durch eine Multiplikation der Koeffizienten, die durch die Nachschlagoperation in Schritt S43114 erhalten werden, mit dem Steuerungsverhältnis ausgeführt, das in Schritt S43103 empfangen wird. Aus diesem Grund ist das Standartsteuerungsverhältnis 100%. Das Steuerungsverhältnis, das durch den Änderungsimpulssteuerungsverhältnisbefehl [PCR] befohlen werden kann, ist darauf begrenzt, zwischen 1% bis 200% zu liegen, wodurch eine Modifikation des Aufwärmkoeffizienten von effektiv vernachlässigbaren Werten bis hin zu den doppelten Werten, die in den Tabellen 701 gespeichert sind, möglich ist.
  • In Schritt S43116 steuert der Drucker 30 eine Düsenansteuerung auf der Grundlage der modifizierten Ansteuerungszeiten, die in Schritt S43112 erhalten werden, vollständig in Reaktion auf einen Befehl von der Host-Verarbeitungsvorrichtung 23, die Druckdaten zu dem Drucker 30 sendet, und eines Befehls für den Drucker 30, derartige Daten zu drucken (Schritt S43117). Der Ablauf wird wie zuvor wiederholt mit den Schritten S43106 bis S43115, die bspw. bei zyklischen 50-ms-Intervallen ausgeführt werden, und mit einer Steuerung über die Düsenansteuerung auf der Grundlage der modifizierten Ansteuerungszeiten, wie es in Schritt S43116 angegeben ist, der ausgeführt wird, wenn es durch die Host-Verarbeitungsvorrichtung 23 befohlen wird. Zusätzlich sollte erkannt werden, dass die Steuerungsverhältnisse zur Ansteuerung sowie die Steuerungsverhältnisse für die Kopftemperaturberechnung von der Host-Verarbeitungsvorrichtung 23 zu einer beliebigen Zeit gesendet werden können, wobei sie durch den Drucker 30 beantwortet werden, wie es in den Schritten S43101 und S43103, die vorstehend beschrieben sind, angegeben ist.
  • In 43C ist ein weiteres Ausführungsbeispiel der vorliegenden Erfindung gezeigt, durch das Befehle, die in der Lage sind, Druckkopftreiberparameter für einen Drucker mit einem entfernbaren Druckkopf zu definieren, von einer externen Vorrichtung, wie bspw. der Host-Verarbeitungsvorrichtung 23, zu einer Drucksteuereinrichtung gesendet werden. Ein Unterschied in dem in 43C gezeigten Ausführungsbeispiel zu dem, das in 43A gezeigt ist, besteht darin, dass das Ausführungsbeispiel gemäß 43C eher auf tatsächliche Druckkopfansteuerungsparameter reagiert als auf einen Parameter reagiert, der vorgespeicherte Druckkopfansteuerungsparameter modifiziert. Allgemein gesprochen steuern Parameter, die gemäß 3C empfangen werden, eine Auslesereihenfolge für Daten in dem Druckpuffer 139, die Düsenausstoßsequenz für einzelne Düsen in einem Druckkopf, eine Tröpfchengröße für Tröpfchen, die aus den Düsen ausgestoßen werden, und andere Druckkopfansteuerungsparameter. Vorzugsweise definieren Befehle von der Host-Verarbeitungsvorrichtung 23 eine Vielzahl von Sätzen jeder Puffersteuerung und Düsenausstoßsequenz. Diese Puffersteuerungen und Düsenausstoßsequenzen sind in dem RAM 129 des Druckers 30 registriert. Durch nachfolgende Befehle von der Host-Verarbeitungsvorrichtung 23 kann irgendeiner der registrierten Sätze von Puffersteuerungen oder Düsenausstoßsequenzen für eine Verwendung in einer spezifischen Abtastung oder bei mehreren Abtastungen eines Druckkopfes über das Druckmedium ausgewählt werden.
  • Genauer gesagt sendet in Schritt S43351 die Host-Verarbeitungsvorrichtung 23 einen Puffersteuerungsbefehl zu dem Drucker 30, wobei in Schritt S43352 der Drucker 30 den Puffersteuerungsbefehl empfängt und in geeigneter Weise reagiert, wie es nachstehend beschrieben ist. Die Puffersteuerungsbefehle, die in Schritt S43351 gesendet werden, können zwei Typen sein: ein erster Typ, der eine Puffersteuerungssequenz definiert, und ein zweiter Typ, der eine Vielzahl von Puffersteuerungssequenzen auswählt, die bereits in dem Drucker 30 definiert sind. Mit Bezug auf den ersten Typ, der Puffersteuerungssequenzen definiert, definiert der Host-Computer 23 Puffersteuerungssequenzen, durch die Daten aus dem Druckpuffer 139 während einer Druckoperation durch den Drucker 30 ausgelesen werden. In Reaktion auf einen derartigen Befehl wird die Puffersteuerungsauslesereihenfolge in dem RAM 129 durch den Drucker 30 für eine spätere Auswahl gespeichert. Vorzugsweise wird zur Definition einer Puffersteuerungsauslesereihenfolge der Definiere-Puffersteuerungstabellen-Befehl ([DEFINE_CONTROL]) verwendet, der vorstehend in Abschnitt 3.6 beschrieben ist. Sobald mehrere Puffersteuerungsauslesereihenfolgen in dem RAM 129 registriert sind, ermöglicht der zweite Typ des Puffersteuerungsbefehls der Host-Verarbeitungsvorrichtung 23, eine beliebige hiervon für eine Verwendung in nachfolgenden Ausdruckoperationen auszuwählen. Vorzugsweise wird bei dieser Operation der Auswahl-Puffersteuerungstabellenbefehl ([SELECT_CONTROL]), der vorstehend in Abschnitt 3.6 definiert ist, verwendet.
  • In 43D sind zwei unterschiedliche Puffersteuerungsauslesereihenfolgen als Beispiele der Puffersteuerungstabellen veranschaulicht, die in dem RAM 129 auf der Grundlage des [DEFINE_CONTROL]-Befehls registriert sein können. Der Grund, dass derartige Puffersteuerungsauslesereihenfolgen erforderlich sind, ist, zumindest drei unterschiedlichen Faktoren unterzubringen, die beeinflussen, wie die Daten von dem Druckpuffer 139 während einer Druckoperation ausgelesen werden müssen. Der erste Faktor ist eine Neigungseinstellung der Druckdüsen, wie sie bei dem Druckkopf angeordnet sind. Dieser Faktor ist vorstehend in Verbindung mit 8 beschrieben, die veranschaulicht, dass die Düsen vorzugsweise in einer leicht geneigten (schrägen) Richtung vorliegen, so dass für alle 16 Düsen ein seitlicher Versatz von einem Bildelement/360 dpi, zwei Bildelementen/720 dpi und vier Bildelementen/1440 dpi vorliegt.
  • Der zweite Faktor unter denjenigen, die die Pufferauslesereihenfolge beeinflussen, ist die Druckkopfkonfiguration und die tatsächlich während einer Druckoperation verwendeten Düsen. Dieser Faktor ist in Verbindung mit den 43D, 43E und 43F beschrieben, die Beispiele von Pufferauslesereihenfolgen für eine Vielzahl von Druckkopfkonfigurationen und Düsen sowie einer Auflösung zeigt.
  • In 43D ist eine mögliche Druckkopfkonfiguration gezeigt, bei der ein Druckkopf 24 Düsen für sowohl Gelb- als auch Magenta- als auch Zyan-Tinten umfasst, die vertikal über 64 Düsen für schwarze Tinte geneigt angeordnet sind. Für ein Vier-Farben-Drucken werden üblicherweise lediglich 24 Schwarz-Düsen aus der Gesamtanzahl von 64 derartigen Schwarz-Düsen entsprechend den 24-Düsen für die drei anderen Farben verwendet. Physikalisch ist jedoch ein beträchtlicher Versatz zwischen den 24 Schwarz-Düsen, die für das Drucken verwendet werden, und der nächsten benachbarten Düse für Zyan vorhanden. Zusätzlich muss wegen der Düsenversatzlänge, die vorstehend in Verbindung mit 8 beschrieben ist, die Pufferauslesereihenfolge die Düsenversatze in der horizontalen Richtung kompensieren bzw. abgleichen.
  • Die Pufferauslesereihenfolge kompensiert diese Effekte wie nachstehend beschrieben. Zuerst ist die tatsächliche Düsenanordnung 740 mit Bezug auf einen fiktiven Standard definiert: ein Druckkopf mit 256 Düsen. Da der Druckkopf gemäß 43D tatsächlich die 24-24-24-64-Düsenanordnung aufweist, die vorstehend für die Gelb-, Magenta-, Zyan- und Schwarz-Tinten beschrieben ist, beginnt die Startposition für die Düsen tatsächlich bei einer Position, die 15 Bytes niedriger in einem Druckpuffer ist, als sie bei einem 256-Düsen-Kopf beginnen würde. Somit ist eine Düsenstartposition 741 als 15 Bytes definiert. Danach sind die Bytepositionen für die Düsenversatze für jede aufeinanderfolgende Gruppe von Düsen definiert. Wie es bei 742 gezeigt ist, entsprechen die Düsenversatze einem Byte für jede der Gelb-, Magenta- und Zyan-Tinten. Da die Lücke bzw. der Zwischenraum zwischen der letzten benachbarten Zyan-Düse und der ersten Schwarz-Düse, die tatsächlich für das Drucken verwendet werden, sechs Bytes gegenüber dem Standard-256-Düsen-Kopf entspricht, ist ein Düsenversatz von sechs für die erste Schwarz-Düse, die tatsächlich bei dem Drucken verwendet wird, definiert.
  • Eine Pufferauslesesteuerung definiert ferner die Pufferdatenhöhe 743 in Bytes (in diesem Beispiel ist die Pufferdatenhöhe 12 Bytes) und die Druckpufferhöhe 744 (in diesem Beispiel ist die Druckpufferhöhe 12 Bytes).
  • Zur Steuerung einer Pufferauslesereihenfolge bei der Kompensation einer Düsenneigung ist eine Startposition 745 für Positionen in dem Druckpuffer definiert, von dem ein Abschnitt bei 746 bestimmt ist. Jeder nachfolgende Versatz für 8 Düsen, was einem einzelnen 8-Bit-Byte in dem Druckpuffer entspricht, ist wie bei 747 gezeigt spezifiziert. In dem Beispiel gemäß 43D ist eine Druckerauslesereihenfolge für ein 360-dpi-Drucken spezifiziert. Bei dieser Auflösung entspricht die Düsenneigung einem gedruckten Bildelement horizontal für 16 vertikale Düsen. Folglich werden die ersten zwei Bytes in dem Druckpuffer (entsprechend 16 Bits, eines für jede der ersten 16 Düsen bei der Gelb-Tinte) sequenziell ausgelesen. Bei einer 360-dpi-Auflösung wird jedoch die nächste Düse für die Gelb-Tinte tatsächlich ein Bildelement horizontal entfernt von den vorherigen 16 Düsen gedruckt. Um diesen horizontalen Versatz zu kompensieren, ist ein Pufferversatz von 13 Bytes bereitgestellt, um ein Drucken der abschließenden acht Düsen der Gelb-Tinte in einer richtigen vertikalen Beziehung zu den vorherigen 16 Düsen zu ermöglichen. Da ein physikalischer Zwischenraum vorhanden ist, der acht Düsen zwischen den Gelb- und Zyan-Tinten entspricht, wie es in 8 gezeigt ist, besteht kein Erfordernis, ausgelesene Daten für die nicht vorhandenen Düsen in dem Zwischenraum bereitzustellen.
  • Da die erste Düse für das Magenta-Drucken eine physikalische Entfernung von 16 Düsen weg von dem Beginn des letzten Druckpufferauslesens für die Gelb-Düsen positioniert ist, muss ein zusätzlicher 13-Bytes-Versatz zwischen dem Drucken für den letzten Satz von Gelb-Düsen und dem ersten Satz von Magenta-Düsen bereitgestellt sein. Auf ähnliche Weise sind Versatze von plus einem Byte, plus 13 Bytes, plus 13 Bytes, plus 1 Byte und plus 13 Bytes aufeinanderfolgend für den Rest des Magenta-Druckens und für das Zyan-Drucken bereitgestellt.
  • Bezüglich des Schwarz-Tinte-Druckens ist, da die Position der 24 Schwarz-Düsen, die tatsächlich für das Drucken verwendet werden, einer horizontalen Verschiebung von drei Bildelementen aufgrund des Neigungswinkels entspricht, wie es in 8 gezeigt ist, und aufgrund der acht Düsen zwischen den Zyan- und Schwarz-Düsen ein Versatz von 37 Bytes für die Pufferauslesereihenfolge erforderlich. Dies ist ebenso bei 747 gezeigt.
  • Somit wird zusammenfassend die Pufferauslesereihenfolge durch die physikalische Anordnung der Düsen bei dem Druckkopf einschließlich der Lücken und Neigungswinkel, die tatsächlichen Düsen, die für das Drucken verwendet werden, die Druckauflösung und dergleichen beeinflusst. Eine Art und Weise, um die Pufferauslesereihenfolge zu spezifizieren, umfasst folglich eine Spezifikation der Düsenstartposition, der Düsenversatze, der Druckpufferdatenhöhe, der Druckpufferhöhe und der Byte- Versatze für die Bytes in dem Druckpuffer, die den bei dem Drucken verwendete Düsen entsprechen.
  • Diese Anordnung ist wiederum in Verbindung mit 43D gezeigt, die ein Drucken bei 720 dpi zeigt. Da sich die Druckkopfkonfiguration nicht verändert hat, sind die Düsenversatze und dergleichen nicht notwendigerweise unterschiedlich. Da jedoch bei 720 dpi der Neigungswinkel gemäß 8 einem horizontalen 2-Bildelemente-Versatz für jede 16 vertikale Düsen entspricht, müssen die Pufferversatze geändert werden, wie es bei 749 gezeigt ist.
  • Zusätzliche Beispiele, wie die Pufferauslesereihenfolge für unterschiedliche Kombinationen für Druckkopfkonfigurationen (einschließlich der physikalischen Anordnung von Düsen bei dem Druckkopf und des Neigungswinkels der Düsen), tatsächlichen Düsen, die während des Druckens verwendet werden, und der Druckauflösung zu spezifizieren ist, sind in den 43E und 43F gegeben. In 43E ist bspw. ein Ausdruck gezeigt, der den gleichen Druckkopf verwendet, der in 43D gezeigt ist, wobei aber allein alle 64 Schwarz-Düsen verwendet werden und keine Farb-Düsen verwendet werden. Somit ist, wie es bei 750 gezeigt ist, mit Bezug auf einen fiktiven Standard eines 256-Düsen-Kopfes die erste Düse, die bei dem Drucken involviert ist, 24 Bytes niedriger positioniert. Folglich wird die Düsenstartposition 751 in geeigneter Weise geändert, ebenso wie es die Düsenversatze 752 werden, die acht aufeinanderfolgende Acht-Bit-Bytes umfassen. Die Druckpufferdatenhöhe ändert sich, wie es bei 754 gezeigt ist, auf acht Bytes, obwohl die Druckpufferhöhe 755 bei 12 Bytes bleibt. Die Pufferversatze 756, die einem Abschnitt 746 des physikalischen Druckpuffers überlagert sind, zeigen Versatze für eine geeignete Auslesereihenfolge jedes Bytes von dem Druckpuffer an.
  • Die Pufferversatze zum Drucken bei einer 720-dpi-Auflösung sind bei 757 gezeigt.
  • In 43F sind Beispiele einer Pufferauslesereihenfolge gezeigt, wenn ein Druckkopf verwendet wird, der 128 Düsen einer Schwarz-Tinte umfasst, die bei einem Druckkopf mit einem Neigungswinkel aufeinanderfolgend angeordnet sind, wie es bei 98 gemäß 8 gezeigt ist. Eine derartige Düsenanordnung 759 unterscheidet sich von dem fiktiven Standard eines 256-Düsen-Kopfes durch einen 16 Bytes niedrigeren Beginn bei einer Düsenstartposition 760. Der Düsenversatz 761 zeigt 16 aufeinanderfolgende Acht-Bit-Gruppen von Düsen an. Die Druckpufferdatenhöhe 762 ist auf 16 Bytes eingestellt, wie es auch die Druckpufferhöhe 764 ist. Der Pufferversatz 765 zeigt, wie die Pufferauslesereihenfolge durch die Neigung der Druckköpfe beeinflusst wird, wenn sie auf einen Abschnitt 746 des Druckpuffers überlagert wird.
  • Zum Drucken bei einer 720-dpi-Auflösung sind die Pufferversatze, wie sie bei 766 angezeigt sind.
  • Der dritte Faktor unter den anderen Faktoren, die die Auslesereihenfolge beeinflussen, ist die Druckauflösung. Insbesondere wenn bei einer hohen Auflösung gedruckt wird, wird eine niedrigere Schlittengeschwindigkeit als dann, wenn bei einer niedrigen Auflösung gedruckt wird, verwendet. Auf Grund der Differenz in der Schlittengeschwindigkeit und davon, wie die Differenz sich in die Wirkung der nicht-schrägen Anordnung der Druckdüsen einrechnet, ist es erforderlich, die Pufferauslesereihenfolge auf der Grundlage der Druckauflösung zu modifizieren.
  • Somit sendet zusammenfassend Schritt S43351 eine Vielzahl von Puffersteuerungstabellen zu dem Drucker 30, wo sie in Schritt S43352 registriert werden. Eine derartige Tabelle wird für eine Verwendung während tatsächlicher Druckoperationen ausgewählt.
  • In Schritt S43354 sendet die Host-Verarbeitungsvorrichtung 23 Düsenabfeuerungs- bzw. Düsenausstoßsequenzbefehle zu dem Drucker 30. Die Düsenausstoßsequenzbefehle, die von der Host-Verarbeitungsvorrichtung 23 gesendet werden, werden durch den Drucker 30 in Schritt S43355 empfangen und in geeigneter Weise verarbeitet, wie es nachstehend beschrieben ist. Allgemein gesprochen sendet Schritt S43354 einen von zwei Typen von Düsenausstoßsequenzbefehlen: ein erster Typ, der eine Vielzahl unterschiedlicher Düsenausstoßsequenzen definiert, und einen zweiten Typ, bei dem eine der zuvor definierten Düsenausstoßsequenzen für eine Verwendung während einer nachfolgenden Druckoperation ausgewählt wird. Für den ersten Typ des Düsenausstoßsequenzbefehls, bei dem Düsenausstoßsequenzen definiert werden, sendet die Host-Verarbeitungsvorrichtung 23 vorzugsweise den Definiere-Wärmeimpulstabellen-Befehl ([DEFINE_PULSE]), der vorstehend in Abschnitt 6.3 beschrieben ist. Für jede derartige Düsenausstoßsequenz, die durch die Host-Verarbeitungsvorrichtung 23 definiert wird, reagiert der Drucker 30, indem die Düsenausstoßsequenz in dem RAM 129 registriert wird. Für den zweiten Typ des Düsenausstoßsequenzbefehls wählt die Host-Verarbeitungsvorrichtung 23 eine der Vielzahl von zuvor registrierten Düsenausstoßsequenzen für eine Verwendung in nachfolgenden Druckoperationen aus. Vorzugsweise verwendet die Host-Verarbeitungsvorrichtung 23 den Auswahl-Wärmeimpulstabellen-Befehl ([SELECT_PULSE]), der vorstehend in Abschnitt 6.3 beschrieben ist. Bei einem Empfang des Auswahl-Wärmeimpulstabellen-Befehls lädt der Drucker 30 die bestimmte der zuvor registrierten Wärmeimpulstabellen aus dem RAM 129 zurück und verwendet sie für nachfolgende Druckoperationen, wie bspw. die nächste Abtastung oder mehrere Abtastungen der Druckköpfe 130a und 130b über das Druckmedium.
  • Beispiele unterschiedlicher Düsenerwärmungssequenzen sind in 43G veranschaulicht. Der Unterschied, dass unterschiedliche Düsenausstoßsequenzen erforderlich sind, ist darin begründet, dass die tatsächliche Düsenausstoßsequenz von vielen Faktoren abhängt, einschließlich der Auflösung, der Richtung der Abtastung (d.h. vorwärts oder rückwärts). und des Neigungswinkels der Düsen. Andere Faktoren beeinflussen ebenso die Düsenausstoßsequenz. Die Auflösung beeinflusst bspw. die Düsenausstoßsequenz, da für einen Ausdruck niedriger Auflösung ein Druckkopf über einen Schlitten mit hoher Geschwindigkeit bewegt wird. Diese Geschwindigkeit wird derart berechnet, dass, wenn 16 Düsen abgefeuert werden, der Schlitten um exakt ein Bildelement/360 dpi, zwei Bildelemente/720 dpi oder vier Bildelemente/1440 dpi entsprechend dem Neigungswinkel der Düsen vorfährt. Dies hat eine Situation zur Folge, bei der eine vertikale Linie gedruckt wird, wenn die Düsen nur sequenziell von oben nach unten abgefeuert werden. Demgegenüber wird bei einer niedrigen Auflösung die Schlittengeschwindigkeit verlangsamt. Folglich ist es erforderlich, um eine vertikale Linie zu ergeben, jede andere Düse nacheinander abzufeuern. Somit ist die Auflösung ein Faktor, der die Düsenausstoßsequenz beeinflusst.
  • Die Druckrichtung ist ein anderer Faktor neben anderen, der die Düsenausstoßsequenz beeinflusst, wie es einfach ersichtlich ist. Genauer gesagt muss auf Grund des Neigungswinkels die Düsenausstoßsequenz zwischen einem Vorwärts- und einem Rückwärts-Drucken umgekehrt werden.
  • In 43G sind einige Beispiele von Düsenausstoßsequenzen veranschaulicht, die für eine nachfolgende Auswahl einer Sequenz durch die Host-Verarbeitungsvorrichtung 23 definiert werden können und in dem Drucker-RAM 129 registriert werden können. Wie es in 43E gezeigt ist, sind die Düsenausstoßsequenzen für die Düsennummern 1 bis 16 für jede von vier unterschiedlichen Druckbedingungen definiert: 360-dpi-Drucken in einer Vorwärtsrichtung, 360-Drucken in einer Rückwärtsrichtung, 720-dpi-Drucken in einer Vorwärtsrichtung und 720-Drucken in einer Rückwärtsrichtung. Jede der vier Düsenausstoßsequenzen wird durch die Host-Verarbeitungsvorrichtung 23 definiert und zu dem Drucker 30 übertragen, woraufhin der Drucker 30 die Düsenausstoßsequenz in dem RAM 129 registriert. Danach wählt die Host-Verarbeitungsvorrichtung 23 eine der Düsenausstoßsequenzen als eine geeignete für die derzeit gewünschte Druckbedingung aus und überträgt einen geeigneten Auswahlbefehl zu dem Drucker 30. Der Drucker 30 reagiert auf den Befehl, indem die bestimmte Düsenausstoßsequenz ausgewählt wird und für nachfolgende Druckoperationen verwendet wird.
  • Zusammenfassend ermöglicht Schritt S43354 somit der Host-Verarbeitungsvorrichtung 23, eine Vielzahl von unterschiedlichen Düsenansteuerungssequenzen zu definieren, von denen eine für eine Verwendung in einer nachfolgenden Druckoperation bestimmt wird. In Schritt S43355 reagiert der Drucker 30 auf die Befehle von der Host-Verarbeitungsvorrichtung 23, indem jede einer Vielzahl von Düsenausstoßsequenzen in RAM 129 registriert wird und eine bestimmte der registrierten Düsenausstoßsequenzen für eine Verwendung in nachfolgenden Druckoperationen ausgewählt wird.
  • In Schritt S43356 sendet die Host-Verarbeitungsvorrichtung 23 einen Tröpfchengrößebefehl, wie bspw. den [DROP]-Befehl, der vorstehend in Abschnitt 3.6 beschrieben ist, und in Schritt S43357 reagiert der Drucker 30 auf den Tröpfchengrößebefehl, indem die Tröpfchengröße, die hierdurch befohlen wird, ausgewählt wird. Ein Drucken wird danach in der Tröpfchengröße bewirkt.
  • In Schritt S43359 sendet die Host-Verarbeitungsvorrichtung 23 Druckdaten (vorzugsweise mit dem [DATA]-Befehl) und befiehlt danach dem Drucker 30, ein Drucken der Daten zu bewirken (mit dem [PRINT]-Befehl). Der Drucker 30 reagiert in Schritt S43360 bis S43362, indem eine Auslesereihenfolge aus dem Druckerpuffer 139 auf der Grundlage des Puffersteuerungsbefehls, der in Schritt S43352 ausgewählt wird, gesteuert wird, indem die Düsenausstoßsequenz auf der Grundlage des Düsenausstoßsequenzbefehls, der in Schritt S43355 empfangen wird, gesteuert wird und in dem die Tröpfchengröße auf der Grundlage des Tröpfchengrößebefehls, der in Schritt S43357 empfangen wird, gesteuert wird.
  • Somit kann dank der vorstehend beschriebenen Verarbeitung ein Drucker gesteuert werden, um Druckköpfe zu verwenden, die Konfigurationen aufweisen, die bei der Entwurfszeit nicht vorausgesehen wurden, indem Befehle von einer externen Host-Verarbeitungsvorrichtung verwendet werden, die Parameter zum Treiben bzw. zur Ansteuerung der Druckköpfe einstellen. Als Folge wird die Flexibilität des Druckers 30, neue Druckköpfe anzunehmen, wenn sie mit unterschiedlichen Kopfkonfigurationen und anderen Eigenschaften entwickelt werden, in großem Umfang vergrößert.
  • 9.0 Druckpufferoperation
  • In 43-1A bis 43-1E ist die Übertragung von Druckdaten von einem Druckdatenspeicher 136 in der Host-Verarbeitungsvorrichtung 23 zu dem Druckpuffer 139 (in den 10 und 11 gezeigt) für ein Drucken in einer Vorwärtsrichtung veranschaulicht. Die Druckübertragung in den 43-1A bis 43-1E wird durch gespeicherte Programmcodes in dem Drucktreiber 114 und durch gespeicherte Programmcodes in dem Drucker 30 gesteuert. In den 43-1A bis 43-1E führt ein einzelner Druckkopf 4330 eine Abtastung über einem Aufzeichnungsmedium aus, indem er von einer stationären Position zu einer gleichförmigen Abtastgeschwindigkeit in einer Vorwärtsrichtung hochfährt, indem er über das Aufzeichnungsmedium abtastet und indem er von der gleichförmigen Abtastgeschwindigkeit zu der stationären Position herunterfährt. Die Hochfahrposition ist durch Bezugszeichen 4335 bezeichnet, der Abtastbereich ist durch Bezugszeichen 4338 bezeichnet und das Herunterfahren ist durch 4339 bezeichnet. Bezugszeichen 4320 stellt einen Bereich in dem Druckpuffer 139 dar, in dem Druckdaten für die derzeitige Abtastung gespeichert sind. Bereiche 4321 sind Extrabereiche des Druckpuffers, die für eine Speicherung von Druckdaten reserviert sind, die dem Neigungswinkel des Druckkopfes entsprechen. (Der Bedarf für eine Extraspeicherung in dem Druckpuffer 139, um Daten zu speichern, die den Neigungswinkeln der Druckdüsen entsprechen, ist vorstehend in Verbindung mit den 43E bis 43F mit Bezug auf die Beschreibung in dem vorangegangenen Abschnitt, der die Pufferauslesereihenfolge betrifft, beschrieben worden.) Bezugszeichen 4325 stellt Druckdaten dar, die durch den Druckertreiber 114 hergeleitet werden und in dem Druckdatenspeicher 136 in der Host-Verarbeitungsvorrichtung 23 gespeichert sind. Die Druckdaten sind für eine nächste Abtastung. Bezugszeichen 4315 stellt ein gedrucktes Bild auf dem Aufzeichnungsmedium dar, wobei das gedruckte Bild entsprechend den derzeitigen Abtastdaten in dem Druckpuffer 4320 gespeichert ist.
  • Wie es in 43-1A gezeigt ist, sind Druckdaten für die derzeitige Abtastung bei allen Druckpositionen des Druckpuffers vorhanden, wobei Druckdaten für die nächste Abtastung in allen Druckpositionen des Druckdatenspeichers 136 vorhanden sind. Während der Hochfahrperiode 4335 bewegt sich der Druckkopf 4330 in der Vorwärtsrichtung ohne ein Drucken, bis er eine gleichförmige Abtastgeschwindigkeit erreicht. Da kein Drucken vorliegt, gibt es kein Leeren irgendwelcher Druckdaten in dem Druckpuffer 4320 und folglich keinen Raum in dem Druckpuffer 4320, um Druckdaten für eine nächste Abtastung von dem Druckdatenspeicher 136 zu übertragen.
  • In 43-1B ist eine Situation veranschaulicht, bei der der Druckkopf 4330 eine Abtastgeschwindigkeit erreicht hat und mit einem Ausdruck begonnen hat, wie es bei 4315 veranschaulicht ist. Da die Druckdaten für die derzeitige Abtastung von dem Druckpuffer 4320 geleert worden sind (oder genauer gesagt nicht länger erforderlich sind, da sie bereits gedruckt worden sind), kann ein erster Block der Druckdaten für eine nächste Abtastung von dem Druckertreiber 114 von dem Druckdatenspeicher 4325 zu dem Druckpuffer 4320 übertragen werden. Es ist noch kein weiterer Raum in dem Druckpuffer 4320 für zusätzliche Daten von dem Druckdatenspeicher 4325 verfügbar; folglich werden keine weiteren Daten übertragen.
  • Ein Mechanismus, durch den der Druckertreiber 114 bestimmt, dass ein verfügbarer oder leerer Bereich in dem Druckerpuffer 4320 vorhanden ist, besteht durch die Verwendung eines Signals von dem Drucker 30, das anzeigt, dass eine Datenübertragung zu dem Drucker 30 derzeit nicht akzeptiert werden kann. Beispiele eines derartigen Signal umfassen ein "Belegt-Signal" (Busy-Signal) oder ein "Nicht-Bereit-Signal" oder dergleichen und wird nachstehend als ein "Belegt-Signal" bezeichnet. Das "Belegt-Signal" wird durch den Drucker 30 erzeugt und über die Host-Computerschnittstelle 141 zu der Host-Verarbeitungsvorrichtung 23 übertragen. Genauer gesagt weiß, da der Drucker 30 einen Schrittmotor für ein Abstufen eines zugehörigen Schlittens über das Aufzeichnungsmedium verwendet, der Drucker 30 zu jeder Zeit die Druckposition des zugehörigen Druckkopfes 4330. Der Drucker 30 kennt ferner die linken und rechten Ränder der derzeit nicht bedruckten Bereiche in dem Druckerpuffer 4320. Durch einen Vergleich zwischen der Position des Druckkopfes 4330 und den linken und rechten Rändern des Druckpuffers 4320 kann der Drucker 30 bestimmen, ob ein leerer Bereich in dem Druckpuffer vorhanden ist, in den Daten, die von dem Drucktreiber 114 empfangen werden, zu speichern sind. Wenn kein leerer Bereich in dem Druckpuffer vorhanden ist, erzeugt der Drucker 30 ein Belegt-Signal für die Host-Verarbeitungsvorrichtung 23. Demgegenüber löscht, wenn ein leerer Bereich in dem Druckerpuffer 4320 vorhanden ist, der Drucker 30 das Belegt-Signal, was anzeigt, dass er bereit ist, Druckdaten zu akzeptieren.
  • Gemäß den 43-1C bis 43-1E werden mehr und mehr Druckdaten von der derzeitigen Abtastung aus dem Druckpuffer 4320 auf das Aufzeichnungsmedium gedruckt, wie es bei 4315 bezeichnet ist. Wenn jeder aufeinanderfolgende Block von Druckdaten aus dem Puffer 4320 geleert ist, überträgt der Drucktreiber 114 aufeinanderfolgende Blöcke von Druckdaten für eine nächste Abtastung von dem Bereich 4325 des Druckdatenspeichers 136 zu dem Druckpuffer 4320. Somit wird, wie es in 43-1C gezeigt ist, ein zweiter Block von Druckdaten von 4325 zu 4320 übertragen. In 43-1D werden aufeinanderfolgende Blöcke 3 bis 8 von dem Druckdatenspeicher 4325 zu dem Druckpuffer 4320 übertragen und in 43-1E wird ein sechzehnter Block von Druckdaten für eine nächste Abtastung von dem Druckdatenspeicher 4325 zu dem Druckpuffer 4320 übertragen. In 43-1E ist die Gesamtheit einer derzeitigen Abtastung gedruckt worden, wie es bei 4315 bezeichnet ist, und der Druckkopf 4330 beginnt eine zugehörige Herunterfahroperation. Wie es ersichtlich ist, ist es nun für den Druckkopf 4330 möglich, ein Drucken in einer Rückwärtsrichtung zu beginnen, wobei die Druckdaten für die nächste Abtastung, die nun in dem Druckpuffer 4320 gespeichert worden sind, verwendet werden, während Druckdaten für eine weitere aufeinanderfolgende Abtastung durch den Druckertreiber 114 von dem Druckdatenspeicher 136 zu dem Druckpuffer 139 übertragen werden.
  • Das Rückwärtsdrucken ist nachstehend in Verbindung mit 43-2A bis 43-2E beschrieben.
  • Genauer gesagt veranschaulicht 43-2A eine Situation wie die in 43-1A, in der die Größe der Druckdaten für eine derzeitige Abtastung (die in dem Druckpuffer 4320 gespeichert sind) die gleiche ist oder größer ist wie die Größe der Druckdaten für eine nachfolgende Abtastung (die in dem Druckdatenspeicher 4325 gespeichert sind). Bezugszeichen 4321 bezeichnet eine Extraspeicherung des Druckpuffers 4320, um die Pufferauslesereihenfolge unterzubringen, die einen Neigungswinkel der Düsen bei dem Druckkopf 4330 kompensiert. Nachstehend wird ein derartiger Bereich als die "Düsenversatzlänge" (nozzle offset lenght) bezeichnet. Bezugszeichen 4315 bezeichnet gedruckte Daten, die bereits auf dem Aufzeichnungsmedium von einer Vorwärtsabtastung sind. Während einer Hochfahrperiode, wie sie bei 4339 bezeichnet ist, fährt der Druckkopf 4330 von einer stationären Position zu einer gleichförmigen Abtastgeschwindigkeit hoch; keine Daten werden gedruckt und keine werden aus dem Druckpuffer 4320 geleert. In 43-2B bewegt sich der Druckkopf 4330 mit einer gleichförmigen Geschwindigkeit in einer Rückwärtsrichtung und hat begonnen, Daten entsprechend Druckdaten für eine derzeitige Abtastung in dem Druckpuffer 4320 zu drucken. Die gedruckten Daten auf dem Aufzeichnungsmedium sind bei 4316 bezeichnet. Da ein ausreichend großer Bereich des Druckpuffers 4320 durch den Ausdruck auf das Aufzeichnungsmedium geleert. worden ist, wird ein erster Block von Daten von dem Druckdatenspeicher 4325 durch den Druckertreiber 114 zu dem Druckpuffer 4320 übertragen.
  • Mit fortgesetztem Drucken in der Rückwärtsrichtung werden aufeinanderfolgende Blöcke von Daten auf das Aufzeichnungsmedium gedruckt, wodurch Druckdaten von dem Druckpuffer 4320 geleert werden. Diese Situation ist in den 43-2C und 43-2D veranschaulicht, bei denen ein zweiter und nachfolgende Blöcke 3 bis 8 durch den Druckertreiber 114 von dem Druckdatenspeicher 4325 in geleerte Bereiche des Puffers 4320 übertragen werden. Wie bei der Situation gemäß 43-1 überträgt der Druckertreiber 114 Daten zu dem Drucker 30, solange kein Belegt-Signal von dem Drucker 30 empfangen wird. In 43-2E ist ein letzter Block von Druckdaten von dem Druckpuffer 4320 auf das Aufzeichnungsmedium bei 4316 gedruckt worden, wodurch die Übertragung des letzten Blocks von Druckdaten für die nächste Abtastung von dem Druckdatenspeicher 4325 zu dem Druckpuffer 4320 ermöglicht ist. Der Druckkopf 4330 fährt nachfolgend von der gleichförmigen Abtastgeschwindigkeit zu der stationären Position herunter, wie es bei 4335 angezeigt ist.
  • In den 43-3A bis 43-3F ist eine Übertragung von Druckdaten von dem Druckdatenspeicher 136 in der Host-Verarbeitungsvorrichtung 23 zu dem Druckpuffer 139 des Druckers 30 während einer Vorwärtsabtastung des einzelnen Druckkopfes 4330 über ein Aufzeichnungsmedium in einer Situation veranschaulicht, bei der die derzeitigen Druckdaten, die in dem Druckpuffer 4320 gespeichert sind, kleiner sind als die Druckdaten für eine nächste Abtastung, wie sie in dem Druckdatenspeicher 4325 in der Host-Verarbeitungsvorrichtung 23 gespeichert sind. Da die Menge der derzeitigen Druckdaten kleiner als die der nächsten Druckdaten ist, sind leere Bereiche in dem Druckpuffer 4320 auch vor dem Beginn eines Druckens vorhanden. Es ist folglich möglich, Vorteil aus dieser Situation zu ziehen, indem die Druckdaten für eine nächste Abtastung in die bereits leeren Bereiche des Druckpuffers 4320 übertragen werden. Eine derartige Verarbeitung ist nachstehend in Verbindung mit den 43-3A bis 43-3F beschrieben.
  • In dieser Situation muss der Drucktreiber 114 sich nicht ausschließlich auf eine Belegt-/Bereit-Signalerzeugung von dem Drucker 30 verlassen, um zu bestimmen, ob leere Plätze in dem Druckpuffer vorhanden sind, in die Druckdaten für eine nächste Abtastung zu speichern sind. Genauer gesagt kann, da es der Drucktreiber war, der zuvor Daten für die derzeitige Abtastung für eine Speicherung in spezifische Druckpufferplätze übertragen hat, der Drucktreiber ohne eine Rückkopplung von dem Drucker exakt bestimmen, welche Plätze in dem Druckpuffer leer und bereit für einen Empfang von Druckdaten für eine nächste Abtastung sein sollten. Der Drucker 30 kann ein Belegt-Signal während der Drucktreiberübertragung der Druckdaten erzeugen, aber das Belegt-Signal würde üblicherweise aus Gründen erzeugt werden, die nicht auf den Leer-/Voll-Zustand der Druckpufferplätze bezogen sind (bspw. kann der Drucker möglicherweise nicht bereit sein, um neue Daten zu empfangen, da er mit anderen Aufgaben, wie bspw. einer Kopfreinigung, beschäftigt ist).
  • In 43-3A druckt ein einzelner Druckkopf 4330 über ein Aufzeichnungsmedium, indem er von einer stationären Position zu einer gleichförmigen Abtastgeschwindigkeit in dem Bereich 4335 hochfährt, in einer gleichförmigen Geschwindigkeit über dem Bereich 4338 druckt (oder in einer Vorwärtsrichtung einen nächsten Druckbereich aufsucht) und dann von einer gleichförmigen Druckgeschwindigkeit zu einer stationären Position bei dem Bereich 4339 herunterfährt. Bezugszeichen 4320 bezeichnet einen Druckpuffer, der Bereiche 4320-1, 4320-2 und 4320-3 umfasst, von denen lediglich der letztgenannte Bereich Druckdaten für eine derzeitige Abtastung beinhaltet. Die verbleibenden Bereiche sind leer, was anzeigt, dass keine Daten bei den entsprechenden Positionen auf dem Aufzeichnungsmedium zu drucken sind. Bezugszeichen 4321 bezeichnet einen Düsenversatzbereich des Druckpuffers 4320. Bezugszeichen 4325 bezeichnet Daten für eine nächste Abtastung in dem Druckdatenspeicher 136, die noch von der Host-Verarbeitungsvorrichtung 23 zu dem Drucker 30 zu übertragen sind.
  • In 43-3B wird während einer Hochfahrperiode des Druckkopfes 4330, da leere Plätze in dem Druckpuffer 4320 vorhanden sind, ein erster Informationsblock durch den Druckertreiber 114 von dem Druckdatenspeicher 4325 zu dem Druckpuffer 4320 übertragen. Gleichsam wird in 43-3C, da der Druckpuffer 4320-2 leer ist, ein zweiter Block von Druckdaten von dem Druckdatenspeicher 4325 zu dem Druckpuffer 4320 übertragen. Bei diesem Punkt hat der Druckkopf 4330 seine gleichförmige Abtastgeschwindigkeit erreicht und beginnt mit einem Vorwärtssuchen nach seinem ersten Druckbereich, der den derzeitigen Druckdaten in dem Druckpuffer 4320 entspricht. Diese Situation ist in 43-3D gezeigt, in der gedruckte Daten 4315 durch den Druckkopf 4330 auf dem Aufzeichnungsmedium gedruckt werden. Außerdem wird, da das Drucken der Druckdaten 4315 den Bereich in dem Druckpuffer 4320 leert, ein nachfolgender Block von Druckdaten durch den Druckertreiber 114 von dem Druckdatenspeicher 4325 zu dem Druckpuffer 4320 übertragen. Wenn der Druckkopf 4330 damit fortfährt, sich in die Vorwärtsrichtung zu bewegen, zeigt 43-3E die Situation, bei der zusätzliche gedruckte Daten bei 4315 gedruckt werden und nachfolgende Blöcke von Druckdaten durch den Druckertreiber 114 von dem Druckdatenspeicher 4325 zu dem Druckpuffer 4320 übertragen werden. In 43-3F hat der Druckkopf 4330 das Drucken aller derzeitigen Druckdaten in dem Druckpuffer 4320 abgeschlossen, wie es bei 4315 gezeigt ist, und bewegt sich vorwärts auf der Suche nach dem Ende der nächsten Druckdaten, die zu diesem Zeitpunkt alle von dem Druckdatenspeicher 4325 in den Druckpuffer 4320 übertragen worden sind. Wenn das Vorwärtssuchen abgeschlossen ist, fährt der Druckkopf 4330 in dem Bereich 4339 von seiner gleichförmigen Abtastgeschwindigkeit zu einer stationären Position herunter und beginnt mit einem Hochfahren in der Rückwärtsrichtung zu einer gleichförmigen Abtastgeschwindigkeit für ein Drucken der Druckdaten, die nun alle in dem Druckpuffer 4320 gespeichert sind.
  • Das Rückwärtsdrucken schreitet im Allgemeinen entlang den Linien voran, die in 43-2 gezeigt sind, und umfasst eine Übertragung der nächsten Abtastungsdaten in leere Plätze des Druckpuffers 4320 während des Hochfahrens und einer aufeinanderfolgende Übertragung von Blöcken von Druckdaten zu dem Druckpuffer, wenn Druckpufferplätze während des Ausdruckens geleert sind.
  • 9.1 Einzelner Druckpuffer
  • Bei der Vorwärtsdruckoperation gemäß 43-1 und der Rückwärtsdruckoperation gemäß 43-2 ist es, da die Druckdatenmenge für eine derzeitige Abtastung die gleiche ist oder größer ist wie die Druckdatenmenge für eine nachfolgende Abtastung, nicht möglich, Druckdaten im Voraus von dem Druckerspeicher 4325 zu dem Druckpuffer 4320 zu übertragen. Als Folge leidet die Leistungsfähigkeit, da es erforderlich ist, auf den Druckkopf 4330 zu warten, um Daten in dem Druckpuffer 4320 durch ein Drucken zu leeren, bevor neue Daten von dem Druckertreiber 114 zu dem Drucker 30 übertragen werden können.
  • Im Gegensatz dazu ist es in der Situation gemäß 43-3, da die Druckdatenmenge für eine derzeitige Abtastung kleiner als die Druckdatenmenge für eine nachfolgende Abtastung ist, für den Druckertreiber 114 möglich, Daten für eine nachfolgende Abtastung zu leeren Bereichen des Druckpuffers 4320 auch vor dem Beginn eines Druckens durch den Druckkopf 4330 zu übertragen. Diese Anordnung stellt eine vorteilhafte Verarbeitungsgeschwindigkeit bereit. Gleichzeitig tritt die Situation, bei der eine derzeitige Abtastung kleiner als eine nächste Abtastung ist, relativ selten auf, da es für Druckdaten viel üblicher ist, für jede aufeinanderfolgende Abtastung gleich oder nahezu gleich wie die Druckdaten für eine vorherige Abtastung zu sein.
  • Um die Leistungsfähigkeit der Druckdatenübertragung für alle Abtastungen zu verbessern, haben die Erfinder hierbei in Betracht gezogen, einen zusätzlichen Bereich in dem Druckpuffer 4320 bereitzustellen, der der Hochfahrperiode des Druckkopfes 4330 entspricht. Der zusätzliche Bereich wird nachstehend als "Verschiebungsbereich" (shift area) bezeichnet. Die Bereitstellung eines zusätzlichen Verschiebungsbereiches für den Druckpuffer 4320 bedeutet, dass immer, auch wenn der Druckkopf 4330 nicht druckt, leere Bereiche in dem Druckpuffer 4320 vorhanden sind, in die der Druckertreiber 114 Druckdaten für eine nächste Abtastung ablegen kann. Der Druckertreiber 114 kann insbesondere Druckdaten in den Verschiebungsbereich während eines Abschlusses oder vor einem Abschluss eines Hochfahrens des Druckkopfs 4330 übertragen. Außerdem muss sich der Drucktreiber nicht ausschließlich auf die Erzeugung eines Belegt-/Bereit-Signals durch den Drucker verlassen, um zu bestimmen, ob der Drucker bereit ist, Druckdaten für diesen Verschiebungsbereich zu akzeptieren; da es der Drucktreiber selbst ist, der bestimmt, wo Druckdaten für eine derzeitige Abtastung und eine nächste Abtastung in dem Druckpuffer gespeichert werden, kann der Drucktreiber bestimmen, ob der Verschiebungsbereich bereit ist, um Druckdaten zu empfangen, üblicherweise ohne Rückkopplung von dem Drucker.
  • In den 43-4A bis 43-4F ist die Verwendung eines Verschiebungsbereiches zur Verbesserung der Effektivität der Datenübertragung während eines Vorwärtsdruckens in einer Situation veranschaulicht, die analog zu der ist, die in 43-1 veranschaulicht ist, d.h., in der Druckdaten für eine derzeitige Abtastung näherungsweise die gleiche Größe wie die für eine nächste Abtastung aufweisen. In 43-4A umfasst der Druckpuffer 4320 einen Verschiebungsbereich 4320-1, der bei dem vordersten Rand des Bereichs 4320-2 hinzugefügt ist. Bezugszeichen 4321 bezeichnet Bereiche in dem Druckpuffer, die eine Düsenversatzlänge kompensieren. Ein Bereich 4320-2 speichert Druckdaten für eine derzeitige Abtastung, der Verschiebungsbereich 4320-1 ist leer und der Druckdatenspeicher 4325 speichert Druckdaten für eine nächste Abtastung, die eine Übertragung von dem Druckertreiber 114 erwartet. Im Gegensatz zu der Veranschaulichung in 43-1 sind die Druckdaten für eine nächste Abtastung in einer verschobenen Position zu der zugehörigen tatsächlichen Druckposition veranschaulicht, wobei die Verschiebung von der tatsächlichen Druckposition durch gestrichelte Linien angezeigt ist. Der Zweck für diese Verschiebung dient lediglich zur Veranschaulichung, um die Veranschaulichung der Übertragung von Daten in den Verschiebungsbereich 4320-1 und dem Bereich 4320-2 des Druckpuffers 4320 zu vereinfachen.
  • Bei einem Fehlen eines Belegt-Signals von dem Drucker 30 bestimmt der Druckertreiber 114, dass es möglich ist, Druckdaten von dem Druckdatenspeicher 4325 von dem Druckpuffer 4320 zu übertragen. Somit überträgt, wie es in 43-4B veranschaulicht ist, der Druckertreiber 114 während der Hochfahrperiode 4335 des Druckkopfes 4330 einen ersten Block von Druckinformationen für eine nächste Abtastung von dem Druckdatenspeicher 4325 zu dem Verschiebungsbereich 4320-1 des Druckpuffers 4320. Nachdem der Verschiebungsbereich gefüllt worden ist, erzeugt der Drucker 30 ein Belegt-Signal, das eine weitere Datenübertragung stoppt. In 43-4C hat der Druckkopf 4320 eine gleichförmige Abtastgeschwindigkeit erreicht und beginnt mit einem Ausdruck der Druckdaten für eine derzeitige Abtastung, indem die Daten in dem Bereich 4320-2 des Druckpuffers 4320 ausgedruckt werden. Das Drucken ist bei 4315 veranschaulicht. Nachdem ein Bereich des Druckpuffers 4320-2 geleert worden ist, gibt der Drucker 30 das Belegt-Signal frei, was dem Druckertreiber 114 anzeigt, dass er bereit ist, zusätzliche Daten zu empfangen. Als Folge beginnt der Druckertreiber 114 mit einer Übertragung eines zweiten Blocks von Druckdaten für eine nächste Abtastung von dem Druckdatenspeicher 4325 zu dem Druckpuffer 4320.
  • Wenn der Druckkopf 4330 mit einem Drucken in einer Vorwärtsrichtung fortfährt, werden aufeinanderfolgende Bereiche des Druckpuffers 4320 von den Druckdaten geleert, wodurch diese Plätze in dem Druckpuffer 4320 für ein Empfangen von Druckdaten für eine nächste Abtastung von dem Druckdatenspeicher 4325 freigesetzt werden. Diese Situation ist in den 43-4D und 43-4E veranschaulicht, in denen aufeinanderfolgende Bereich des Druckpuffers 4320 von Druckdaten durch einen Ausdruck bei 4315 geleert werden und aufeinanderfolgende Blöcke von Druckdaten durch den Druckertreiber 114 von dem Druckdatenspeicher 4325 in den Druckpuffer 4320 übertragen werden.
  • In 43-4E ist der letzte Block der Druckdaten für die nächste Abtastung von dem Druckdatenspeicher 4325 zu dem Druckpuffer 4320 übertragen worden. Das Drucken für. eine derzeitige Abtastung ist jedoch noch nicht abgeschlossen worden, da die Druckdaten für die derzeitige Abtastung ungedruckt in dem Druckpuffer 4320 verbleiben. Somit setzt, wie es in 43-4F gezeigt ist, der Druckkopf 4330 das Drucken fort, wobei ein zusätzlicher Bereich des Druckpuffers 4320 freigesetzt wird. Der zusätzlich freigesetzte Bereich des Druckpuffers 4320 wird nicht für Druckdaten für eine nächste Abtastung benötigt, da alle Druckdaten bereits übertragen worden sind, wie es in 43-4E gezeigt ist. Als Folge werden die neu freigesetzten Bereiche des Druckpuffers 4320 neu in einen Verschiebungsbereich während des Rückwärtsdruckens zugewiesen, was in den 43-5A bis 43-5F gezeigt ist.
  • Auf jeden Fall fährt bei dem Abschluss des Druckens in der Vorwärtsrichtung der Druckkopf 4330 von einer gleichförmigen Abtastgeschwindigkeit zu einer stationären Position bei 4339 herunter.
  • In den 43-5A bis 43-5F ist eine Übertragung von Druckdaten von dem Druckdatenspeicher 4325 für eine nächste Abtastung in den Druckpuffer 4320 veranschaulicht, der Druckdaten für eine derzeitige Abtastung in einem Bereich 4320-2 sowie einen leeren Verschiebungsbereich 4320-1 beinhaltet. Somit ist das Drucken, das in 43-5 veranschaulicht ist, ähnlich zu dem, das in 43-2 veranschaulicht ist, d.h. dem Drucken in einer Rückwärtsrichtung. Die Datenübertragung gemäß 43-5 ist jedoch unterschiedlich zu der Datenübertragung, die in 43-2 veranschaulicht ist, hauptsächlich auf Grund der Verwendung des Verschiebungsbereichs bei 4320-1, der eine effektivere Datenübertragung bereitstellt.
  • Vor Abschluss der Hochfahrperiode des Druckkopfes 4330 von einer stationären Position zu einer gleichförmigen Abtastgeschwindigkeit bei dem Hochfahrbereich 4335 zeigt der Drucker 30, da er einen leeren Bereich in seinem Druckpuffer 4320 aufweist, ein Bereit-Signal dem Host-Computer 23 an. Als Folge überträgt der Druckertreiber 114 Druckdaten für einen ersten Block einer nächsten Abtastung von dem Druckdatenspeicher 4325 zu dem Verschiebungsbereich 4320-1. Dies ist in der 43-5B veranschaulicht, in der der Druckkopf 4330 das zugehörige Hochfahren zu einer gleichförmigen Abtastgeschwindigkeit beginnt. Nachdem die Druckdaten für den Block 1 von dem Druckdatenspeicher 4325 zu dem Verschiebungsbereich 4320-1 übertragen worden sind, erzeugt der Drucker 30 ein Belegt-Signal, das dem Druckertreiber 114 anzeigt, das keine weiteren Druckdaten zu übertragen sind.
  • In 43-5C hat der Druckkopf 4330 die gleichförmige Abtastgeschwindigkeit erreicht und mit dem Drucken in der Rückwärtsrichtung begonnen. Der Ausdruck bei 4316 in der Rückwärtsrichtung hat einen Bereich in dem Druckpuffer 4320 geleert. Als Folge erzeugt der Drucker 30 ein Bereit-Signal, das dem Druckertreiber 114 anzeigt, dass der Drucker 30 Druckdaten akzeptieren kann. Der Druckertreiber 114 überträgt folglich einen Block 2 von Druckdaten für eine nächste Abtastung von dem Druckdatenspeicher 4325 zu dem Druckpuffer 4320.
  • In den 43-5D und 43-5E ist ein fortgesetztes Drucken in der Rückwärtsrichtung veranschaulicht. Somit setzt gemäß 43-5D der Druckkopf 4330 das Drucken in einer Rückwärtsrichtung fort, wodurch Druckplätze in dem Druckpuffer 4320 geleert werden. In Reaktion auf die geleerten Druckplätze überträgt der Druckertreiber 114 Druckdaten für aufeinanderfolgende Blöcke für eine nächste Abtastung in aufeinanderfolgend geleerte Plätze des Druckpuffers 4320. Gemäß 43-5E ist ein letzter Block von Druckdaten für eine nächste Abtastung von dem Druckdatenspeicher 4325 zu dem Druckpuffer 4320 übertragen. Das Drucken in der Rückwärtsrichtung ist jedoch noch nicht abgeschlossen worden, da ungedruckte Daten in dem Druckpuffer 4320 verbleiben. Folglich wird, wie es in 43-5F veranschaulicht ist, das Drucken in der Rückwärtsrichtung fortgesetzt, wobei. aufeinanderfolgende Plätze des Druckpuffers 4320 geleert werden. Die geleerten Plätze sind für irgendwelche Druckdaten für eine nächste Abtastung nicht erforderlich, da alle derartigen Daten gemäß 43-5E übertragen worden sind. Die geleerten Plätze des Druckpuffers 4320 werden folglich ein Verschiebungsbereich für ein nachfolgendes Drucken in der Vorwärtsrichtung.
  • Dank der in 43-4 und 43-5 gezeigten Verarbeitung wird die Übertragung von Druckdaten durch die Verwendung eines Verschiebungsbereichs, wobei der Verschiebungsbereich bei einem Vorderende des Druckpuffers 4320 vorangestellt ist, während eines Vorwärtsdruckens effektiver gemacht, wobei er bei dem Hinterende des Druckpuffers 4320 erzeugt wird, wenn eine derzeitige Linie von Druckdaten beim Drucken beendet wird. Der Verschiebungspuffer, der bei dem Hinterende des Druckpuffers 4320 erzeugt wird, wird bei einer nachfolgenden Abtastung in einer Rückwärtsdruckrichtung verwendet. Als Folge wird, da der Druckertreiber 114 leere Plätze des Druckpuffers 4320 hat, in die Daten während eines Hochfahrens der Druckdaten zu übertragen sind, die Effektivität der Druckdatenübertragung vergrößert.
  • In 43-6 ist eine Datenübertragung in einer Situation veranschaulicht, die ähnlich zu der gemäß 43-3 in dem Sinne ist, dass die Größe der Druckdaten für eine derzeitige Abtastung kleiner als die Größe der Druckdaten für eine nächste Abtastung ist. Bei der in 43-6 veranschaulichten Datenübertragung ist jedoch ein Verschiebungsbereich 4320-5 bereitgestellt, der einer Hochfahrperiode des Druckkopfes 4330 entspricht, um die Effektivität der Datenübertragung zu vergrößern.
  • Gemäß 43-6 umfasst der Druckpuffer 4320 einen Bereich 4320-1, der Druckdaten für eine derzeitige Abtastung beinhaltet. Bereiche 4320-2, 4320-3 und 4320-4 sind leere Bereiche, die keine Druckdaten beinhalten. Bereiche 4321 sind Bereiche des Druckpuffers 4320, die für die Düsenversatzlänge bereitgestellt sind. Ein Bereich 4320-5 ist ein Verschiebungsbereich, der der Hochfahrperiode des Druckkopfes 4330 entspricht.
  • Wie es in 43-6A gezeigt ist, sind die Druckdaten für eine nächste Abtastung, die derzeit in dem Druckdatenspeicher 4325 in der Host-Verarbeitungsvorrichtung 23 gespeichert sind, größer als die Druckdaten für eine derzeitige Abtastung. Dementsprechend gibt es Bereiche des Druckpuffers 4320, die leer sind und Daten akzeptieren können, obwohl der Druckkopf 4330 das Drucken noch nicht begonnen hat. Diese Situation ist in 43-6B veranschaulicht, in der vor einem Abschluss eines Hochfahrens des Druckkopfes 4330 von einer stationären Position zu einer gleichförmigen Abtastgeschwindigkeit ein erster Block von Druckdaten für eine nächste Abtastung durch den Druckertreiber 114 von dem Druckdatenspeicher 4325 zu dem Druckpuffer 4320 übertragen wird. Die Druckdaten werden in dem Verschiebungsbereich 4320-5 und dem leeren Bereich 4320-4 gespeichert. Danach hat der Druckkopf 4330, wie es in 43-6C gezeigt ist, eine gleichförmige Abtastgeschwindigkeit erreicht und beginnt mit einem Vorwärtssuchen nach der ersten Druckposition, die den Druckdaten in dem Bereich 4320-1 des Druckpuffers 4320 entspricht. Während dieser Periode überträgt, da weiterhin leere Bereiche in dem Druckpuffer 4320 verbleiben, der Druckertreiber 114 einen zweiten Block von Druckdaten für eine nächste Abtastung von dem Druckdatenspeicher 4325 in den leeren Bereich 4320-2 des Druckpuffers 4320.
  • Gemäß 43-6D hat der Druckkopf 4330 die erste Druckposition erreicht und beginnt mit einem Ausdruck, wie es bei 4315 gezeigt ist. Wenn der Druckkopf 4330 mit dem Drucken fortfährt, leert er Druckdaten von dem Druckpuffer 4320, wodurch diese Bereiche des Druckpuffers 4320 freigegeben werden, um Druckdaten für eine nächste Abtastung zu empfangen. Somit überträgt der Druckertreiber 114 einen dritten Block von Druckdaten für eine nächste Abtastung von dem Druckdatenspeicher 4325 zu dem Druckpuffer 4320.
  • Wenn der Druckkopf 4330 mit dem Drucken in der Vorwärtsrichtung fortfährt, setzt er das Leeren von Speicherplätzen in dem Druckpuffer 4320 fort. Diese Situation ist in 43-6E veranschaulicht, in der der Druckkopf 4320 das Drucken aller Druckinformationen in einer derzeitigen Abtastung bei 4315 abgeschlossen hat. Der Druckertreiber 114 fährt mit der Übertragung von nachfolgenden Blöcken von Druckdaten für eine nächste Abtastung in die geleerten Plätze des Druckpuffers 4320 fort. Gleichzeitig beginnt der Druckkopf 4320 eine Vorwärtssuche nach der ersten Druckposition der Druckdaten für die nächste Abtastung. In 43-6F erreicht der Druckkopf 4330 diese Position und beginnt mit einem Herunterfahren von einer gleichförmigen Abtastgeschwindigkeit zu einer stationären Geschwindigkeit, um die Abtastrichtung für das Rückwärtsrichtungsdrucken umzukehren.
  • Während des Herunterfahrens und vor einem Hochfahren für das Rückwärtsdrucken ist der Bereich 4320-3 als ein leerer Platz für einen Verschiebungsbereich für das Rückwärtsdrucken nicht verfügbar. Als Folge gibt es, auch wenn die Druckdaten für eine nächste sequenzielle Abtastung die gleiche Größe aufweisen oder größer sind wie die Druckdaten, die in dem Druckpuffer 4320 gespeichert sind, weiterhin leere Plätze in dem Druckpuffer 4320 bei dem Bereich 4320-3 zur Annahme von Druckdaten für die nächste sequenzielle Abtastung. Als Folge wird die Übertragung von Druckdaten von dem Druckertreiber 114 zu dem Druckpuffer 4320 vergrößert.
  • Das Rückwärtsdrucken geht üblicherweise entlang den Linien vor, die in 43-2 gezeigt sind, und umfasst eine Übertragung von nächsten Abtastungsdaten in leere Plätze des Druckpuffers 4320 während des Hochfahrens und eine sequenzielle Übertragung von Blöcken von Druckdaten zu dem Druckpuffer, wenn die Druckpufferplätze während des Ausdruckens geleert werden.
  • Zusammenfassend umfasst die Verwendung eines Verschiebungsbereichs, um die Effektivität einer Übertragung von Druckdaten zu vergrößern, eine Zusammenarbeit zwischen der Steuerung bei dem Druckertreiber und der Steuerung bei der Druckerseite. Bei der Druckertreiberseite überwacht der Druckertreiber die linken und rechten Ränder für die derzeitige Abtastung (was vorstehend beschrieben worden ist) und die nächste Abtastung (die noch zu übertragen ist). Wenn der linke Rand der nächsten Abtastung kleiner ist als der linke Rand der derzeitigen Abtastung, sendet der Druckertreiber einen Datenblock, bis der linke Rand der derzeitigen Abtastung erreicht worden ist. Gleichsam sendet, wenn der rechte Rand der nächsten Abtastung größer als der rechte Rand der derzeitigen Abtastung ist, der Druckertreiber einen Datenblock für die rechte Seite der nächsten Abtastung, bis der rechte Rand der derzeitigen Abtastung erreicht worden ist. Diese Verarbeitung stellt sicher, dass in einer Situation, bei der eine nächste Abtastung größer als eine derzeitige Abtastung ist, die Daten so effektiv wie möglich übertragen werden.
  • Zusätzlich teilt für überlappende Bereiche, bei denen ein Druckbereich der nächsten Abtastung in einen Druckbereich einer derzeitigen Abtastung überlappt, der Druckertreiber die überlappenden Bereiche in kleine Blöcke auf. In Abhängigkeit von einem Empfang von Belegt- oder Bereit- Signalen von dem Drucker überträgt der Druckertreiber die überlappenden Bereiche in Einheiten der kleinen Blöcke. Wenn die derzeitige Abtastung in der Vorwärtsrichtung stattfindet, überträgt der Druckertreiber die Überlappungsdaten der nächsten Abtastung in kleinen Blöcken von links nach rechts; dagegen sendet, wenn die derzeitige Abtastung in einer Rückwärtsrichtung stattfindet, der Druckertreiber den überlappenden Bereich der nächsten Abtastung in kleinen Blöcken von rechts nach links.
  • Bei der Druckerseite hält, wenn das Drucken für eine derzeitige Abtastung startet, der Drucker eine Überwachung über den Ort des Druckkopfes aufrecht. Wenn der rechte Rand eines empfangenen Blocks von Druckerdaten kleiner ist als der linke Rand der derzeitigen Abtastung (wie er durch die Überwachung der Schlittenbewegung durch den Drucker aktualisiert ist), legt der Drucker den empfangenen Datenblock unmittelbar in den Druckpuffer ab. Gleichsam legt, wenn der linke Rand eines empfangen Blocks von Druckdaten für eine nächste Abtastung größer ist als der rechte Rand einer derzeitigen Abtastung (wie er durch die Überwachung der Schlittenbewegung durch den Drucker aktualisiert ist), der Drucker den empfangenen Datenblock in den Druckpuffer unmittelbar ab. Für die überlappten Bereiche, d.h., wo ein empfangener Block in einen Druckbereich der derzeitigen Abtastung überlappt, gibt der Drucker ein Belegt-Signal aus, um die Übertragung irgendwelcher zusätzlicher Druckdaten von dem Druckertreiber zu stoppen. Wenn der durch den Druckertreiber spezifizierte Block vollständig frei wird, wie er durch die Überwachung der Schlittenbewegung durch den Drucker aktualisiert wird, legt der Drucker den empfangenen Datenblock in den Druckpuffer ab und gibt das Belegt-Signal frei, um dem Druckertreiber anzuzeigen, dass der Drucker bereit ist, zusätzliche Informationen zu empfangen.
  • Auf jeden Fall druckt, wenn eine derzeitige Abtastung in der Vorwärtsrichtung stattfindet, der Drucker beginnend von dem Ende des Verschiebungsbereich (wie er in der Vorwärtsrichtung gemessen wird) des Druckpuffers, wohingegen der Drucker, wenn die derzeitige Abtastung in der Rückwärtsrichtung stattfindet, beginnend von dem Ende des Verschiebungsbereichs (wie er in der Rückwärtsrichtung gemessen wird) druckt.
  • Diese generalisierten Prozeduren sind in 43-7, die ein Drucken durch zwei Druckköpfe veranschaulicht, die zwei Druckpuffer verwenden, von denen jeder einen Verschiebungsbereich aufweist, in einer Situation veranschaulicht, bei der die derzeitigen Druckdaten kleiner sind als die Druckdaten für eine nächst Abtastung. Das Drucken, das in 43-7 veranschaulicht ist, findet in einer Vorwärtsrichtung statt, aber wie es aus den allgemeinen Richtlinien, die vorstehend angegeben sind, ersichtlich ist, läuft das Drucken und die Datenübertragung bei einer Rückwärtsrichtung komplementär ab.
  • Gemäß 43-7A sind Doppel-Druckköpfe 4330A und 4330B mit einem lateralen Abstand 4340 dazwischen versetzt, wobei sie angeordnet sind, um in einer gleichförmigen Abtastgeschwindigkeit von einer stationären Position über eine Hochfahrperiode bei 4335 zu einer gleichförmigen Abtastgeschwindigkeit, über einen Druckbereich 4338 bei einer gleichförmigen Abtastgeschwindigkeit und über eine Runterfahrperiode bei 4339 von der gleichförmigen Abtastgeschwindigkeit zu der stationären Position zu drucken. Ein Druckpuffer ist für jeden Druckkopf bereitgestellt, wobei ein Druckpuffer 4320A für den Druckkopf 4330A bereitgestellt ist und ein Druckpuffer 4320B für den Druckkopf 4330B bereitgestellt ist. Jeder Druckpuffer umfasst Druckdaten für eine derzeitige Abtastung, wobei die Größe der Druckdaten für eine nächste Abtastung größer ist als die Größe der Druckdaten für die derzeitige Abtastung. Somit sind für den Druckpuffer 4320A Druckdaten für eine derzeitige Abtastung in einem Bereich 4320A-4 gespeichert, wobei leere Bereiche 4320-A-1, 4320-A-2 und 4320A-3 leer sind. Ein Verschiebungsbereich 4320A-5 ist dem Druckpuffer 4320A vorangestellt, um die Effektivität der Datenübertragung zu vergrößern. Bezugszeichen 4321 bezeichnen Speicherplätze für die Düsenversatzlänge.
  • Gleichsam beinhaltet für den Druckpuffer 4320B ein Bereich 4324B-4 Druckdaten für eine derzeitige Abtastung. Bereiche 4320B-1, 4320B-2 und 4320B-3 sind leer. Ein Verschiebungsbereich 4320B-5 geht dem Druckpuffer 4320B voran, um die Effektivität einer Datenübertragung zu dem Druckpuffer 4320B zu vergrößern, wobei ein Bezugszeichen 4321 Speicherplätze für den Düsenversatz anzeigt.
  • Bei der Host-Verarbeitungsvorrichtungsseite ist ein Druckdatenspeicher für jeden Druckkopf bereitgestellt. Somit ist ein Datenspeicher 4325A für den Druckkopf 4330A bereitgestellt und speichert Druckdaten für eine nächste Abtastung; ein Druckdatenspeicher 4325B ist für den Druckkopf 4330B bereitgestellt und beinhaltet Druckdaten für eine nächste Abtastung für den Druckkopf 4330B.
  • Gemäß 43-7B beginnen die Druckköpfe 4330A und 4330B mit einem Hochfahren von einer stationären Position zu einer gleichförmigen Abtastgeschwindigkeit über ein Aufzeichnungsmedium. Der Druckertreiber 114 bestimmt bei Fehlen eines Belegt-Signals von dem Drucker 30 auf der Grundlage von zuvor übertragenen Druckdaten, dass der linke Rand von nächsten Abtastungsdaten für den Druckkopf 4330A kleiner ist als der linke Rand für die derzeitigen Druckdaten, und sendet folglich einen ersten Block von Druckdaten von dem Druckdatenspeicher 4325A zu dem Druckpuffer 4320A, die in dem Verschiebungsbereich 4320A-5 und dem Bereich 4320A-1 gespeichert werden. Gleichsam bestimmt der Druckertreiber 114, dass der linke Rand der nächsten Abtastungsdaten für den Druckkopf 4330B kleiner als der linke Rand der derzeitigen Abtastungsdaten für den Druckkopf B ist. Als Folge überträgt der Druckertreiber 114 einen Block von Druckdaten für den Druckkopf 4330B von dem Druckdatenspeicher 4325B zu dem Druckpuffer 4320B. Der Block von Druckdaten für die nächste Abtastung wird in dem Verschiebungsbereich 4320B-5 und in dem Bereich 4320B-1 gespeichert.
  • Gemäß 43-7C haben die Druckköpfe 4330A und 4330B ihre gleichförmige Abtastgeschwindigkeit erreicht und beginnen mit einer Vorwärtssuche nach der ersten Druckposition für sowohl den Druckkopf 4330A als auch 4330B. Der Drucker 30 hat weiterhin kein Belegt-Signal gesendet, da leere Bereiche in den Druckpuffern 4320A und 4320B verbleiben, und der Druckertreiber 114 hat keine Daten gesendet, die in vorhandene Druckdaten für eine derzeitige Abtastung überlappen. Da der Druckertreiber 114 folglich schließt, dass der Drucker 30 bereit ist, zusätzliche Druckdaten zu akzeptieren, überträgt er Druckdaten in geeigneter Weise. In diesem Fall überträgt, da der rechte Rand von nächsten Abtastungsdaten für den Druckkopf 4330A größer ist als der rechte Rand von Druckdaten für eine derzeitige Abtastung, der Druckertreiber 114 einen Block von Druckdaten von dem Druckdatenspeicher 4325A zu dem Druckpuffer 4320A. In diesem Fall werden die übertragenen Daten in dem Bereich 4320A-2 gespeichert. Der Druckertreiber 114 kann versuchen, neue Druckdaten für den Druckkopf 4330A zu senden, aber da die übertragenen Daten in nicht-leere Plätze in dem Druckpuffer überlappen würden, würde jede derartige Übertragung den Drucker veranlassen, das Belegt-Signal zu erzeugen. Bei diesem Punkt bestimmt der Druckertreiber 114, dass für den Druckkopf 4330A der linke Rand für eine nächste Abtastung nicht kleiner ist als der linke Rand für die derzeitige Abtastung und dass der recht Rand für die nächste Abtastung nicht größer ist als der rechte Rand für die derzeitige Abtastung. Folglich werden keine Druckdaten für den Kopf 4330A durch den Druckertreiber übertragen, bis das Belegt-Signal gelöscht ist.
  • Demgegenüber bestimmt der Druckertreiber 114, dass der rechte Rand der nächsten Abtastungsdaten für den Druckkopf 4330B größer ist als der rechte Rand für die Druckdaten für die derzeitige Abtastung. Dementsprechend wird ein Block von Druckdaten von dem Druckdatenspeicher 4325B zu dem Druckpuffer 4320B übertragen. In diesem Fall wird der Block der übertragenen Daten in dem Bereich 4320B-2 gespeichert. Der Druckertreiber 114 kann versuchen, zusätzliche Druckdaten für den Kopf 4330B zu übertragen, aber da die übertragenen Daten in nicht-leere Plätze in dem Druckpuffer überlappen würden, würde jede derartige Übertragung den Drucker veranlassen, das Belegt-Signal zu erzeugen. Bei diesem Punkt bestimmt der Druckertreiber 114, dass für den Druckkopf 4330B der linke Rand der nächsten Abtastungsdruckdaten nicht kleiner ist als der linke Rand der derzeitigen Abtastungsdruckdaten und dass der rechte Rand der nächsten Abtastungsdruckdaten nicht größer ist als der rechte Rand der derzeitigen Abtastungsdruckdaten. Folglich werden keine Druckdaten für den Kopf 4330B zu dem Druckertreiber übertragen, bis das Belegt-Signal gelöscht ist.
  • Bei diesem Punkt werden keine weiteren Daten von dem Druckertreiber 114 zu dem Drucker 30 übertragen. Wenn der Druckertreiber 114 Druckdaten für einen der Druckköpfe 4330A oder 4330B übertragen würde, würde der Druckertreiber den Daten einen [BLOCK]-Befehl voranstellen, der dem Drucker die Plätze in dem Druckpuffer angibt, in denen der nachfolgende Block von Druckdaten gespeichert werden soll. Auf der Grundlage der in dem [BLOCK]-Befehl spezifizierten Plätze würde der Drucker erkennen, dass nachfolgende Blöcke von Druckdaten von dem Treiber 114 in nicht-leere Plätze in dem Druckpuffer überlappen würden. Der Drucker gibt daraufhin das Belegt-Signal aus, da alle übertragenen Daten ungedruckte Druckdaten überschreiben würden, und der Drucker 30 folglich nicht bereit ist, zusätzliche Druckdaten zu empfangen.
  • In 43-7D hat durch das fortgesetzte Vorwärtssuchen der Druckköpfe 4330A und 4330B der Druckkopf 4330B seine erste Druckposition erreicht. Folglich beginnt der Ausdruck, wie es bei 4315B angezeigt ist, wodurch Plätze in dem Druckpuffer 4320B geleert werden. Der Druckertreiber 114, der den Druckbereich der nächsten Abtastung in kleine Blöcke aufgeteilt hat, überträgt einen ersten der kleinen Blöcke von dem Druckdatenspeicher 4325B zu dem Druckpuffer 4320B. Der Drucker 30, der auf der Grundlage des derzeitigen Ortes des Druckkopfes 4330B erfasst, dass die Pufferplätze in 4320B leer sind, erlaubt eine unmittelbare Speicherung des übertragenen Blocks.
  • Gemäß 43-7E werden bei fortgesetztem Vorwärtsdrucken des Druckkopfes 4330B zusätzliche Plätze in dem Druckpuffer 4320B geleert, wodurch die Übertragung von Daten durch den Druckertreiber 114 von dem Druckdatenspeicher 4325B zu dem Druckpuffer 4320B ermöglicht wird. Gleichzeitig hat der Druckkopf 4330A seine erste Druckposition erreicht (genauer gesagt hat der Druckkopf 4330A die erste Druckposition in dem Düsenversatzbereich 4321A erreicht). Ein Drucken beginnt folglich durch den Druckkopf 4330A und wird für den Druckkopf 4330B fortgesetzt.
  • In 43-7F werden mit fortgesetztem Drucken durch den Druckkopf 4330B bei 4315B zusätzliche Plätze in dem Druckpuffer 4320B geleert. Der Druckertreiber 114 überträgt zusätzliche Blöcke von Druckdaten für eine nächste Abtastung von dem Druckdatenspeicher 4325B zu dem Druckpuffer 4320B. Da diese Plätze leer sind, erlaubt der Drucker 30 eine unmittelbare Speicherung der übertragenen Blöcke.
  • In der Zwischenzeit hat der Druckkopf 4330A mit einem Drucken begonnen, wie es bei 4315A angezeigt ist, wodurch Plätze in dem Druckpuffer 4320A geleert werden. Als Folge überträgt der Druckertreiber 114 einen Block von Druckdaten für eine nächste Abtastung von dem Druckdatenspeicher 4325A zu dem Druckpuffer 4320A. Da die Plätze in dem Druckpuffer 4320A leer sind und keine überlappten Daten (als noch ungedruckte Daten für eine derzeitige Abtastung) beinhalten, erlaubt der Drucker 30, dass die übertragenen Daten unmittelbar in dem Druckpuffer 4320A gespeichert werden.
  • In 43-7G und 43-7H setzen die Druckköpfe 4330A und 4330B das Drucken fort, wie es jeweils bei 4315A und 4315B angezeigt ist. Mit dem fortgesetzten Drucken werden zusätzliche Plätze in den Druckpuffern 4320A und 4320B geleert. Als Folge überträgt der Druckertreiber 114 zusätzliche Druckdaten für eine nächste Abtastung von dem Druckdatenspeichern 4325A und 4325E blockweise in leere Plätze der Druckpuffer 4320A bzw. 4320B. Während dieser Verarbeitung und in jeder Verarbeitung, bei der Druckdaten für eine nächste Abtastung. für eine Übertragung von dem Treiber 114 zu beiden Köpfen verfügbar sind, bestimmt der Treiber 114, für welchen Kopf Daten zuerst übertragen werden müssen (d.h. A vor B oder B vor A). Der Treiber führt diese Bestimmung auf der Grundlage davon aus, welcher Kopf wahrscheinlicher einen Block zuerst leert, was auf den relativen Positionen der überlappten Bereiche beruht. Diese Verarbeitung ist nachstehend in 44C bis 44J beschrieben, die die Prozedur beschreiben, durch die der Treiber entscheidet, ob Blöcke von Druckdaten für den Kopf A vor B oder den Kopf B vor A zu senden sind.
  • Gemäß 43-7I hat das Drucken für den Druckkopf 4330B geendet, wodurch der letzte Platz für den Druckpuffer 4320B geleert ist. Folglich überträgt der Druckertreiber 114 den letzten verbleibenden Block von Druckdaten für eine nächste Abtastung von dem Druckdatenspeicher 4325B zu dem Druckpuffer 4320B. Gleichzeitig wird das Ausdrucken für den Druckkopf 4330A fortgesetzt, wie es bei 4315A angezeigt ist, wobei zusätzliche Plätze in dem Druckpuffer 4320A geleert werden. Wenn diese Plätze geleert sind, überträgt der Druckertreiber 114 Blöcke von Druckdaten für eine nächste Abtastung von dem Druckdatenspeicher 4325A zu dem Druckpuffer 4320A.
  • Gemäß 43-7J und 43-7K wird das Drucken für den Druckkopf 4330A fortgesetzt, wobei zusätzliche Plätze in dem Druckpuffer 4320A geleert werden. Wenn diese Plätze geleert sind, werden sie durch Druckdaten für eine nächste Abtastung gefüllt, die durch den Treiber 114 von dem Druckdatenspeicher 4325A blockweise zu dem Druckpuffer 4320A übertragen werden. Gemäß 43-7K ist der Ausdruck von derzeitigen Druckdaten für den Druckkopf 4330A beendet, was zur Folge hat, dass ein letzter Block von dem Druckdatenspeicher 4325A zu dem Druckpuffer 4320A übertragen wird. Die Köpfe 4330A und 4330B beginnen dann mit einer Vorwärtssuche, um die erste Druckposition für die Druckdaten in der nächsten Abtastung zu erreichen.
  • Gemäß 43-7L fahren, nachdem die Druckköpfe 4330A und 4330B die erste Druckposition für das Rückwärtsdrucken der nächsten Abtastungszeile oder -linie erreicht haben, die Druckköpfe von der gleichförmigen Abtastgeschwindigkeit zu einer stationären Position herunter. Zu dieser Zeit sind die Bereiche 4320A-3 und 4320B-3 leere Plätze in den Puffern 4320A bzw. 4320B. Diese leeren Bereiche werden folglich Verschiebungsbereiche, die Druckdaten für eine nächste nachfolgende Abtastung während einer Hochfahrperiode für das Rückwärtsdrucken der nun derzeitigen Abtastungsdruckdaten, die derzeit in den Druckpuffern 4320A und 4320B gespeichert sind, empfangen.
  • 9.2 Allgemeine Beschreibung der Puffersteuerung
  • Die Flussdiagramme der 44C bis 44J veranschaulichen die Verarbeitungsschritte, die durch die CPU 100 der Host-Verarbeitungsvorrichtung 23 als Teil einer Ausführung des Druckertreibers 114 ausgeführt werden, um eine Datenübertragung von Druckdaten für eine nächste Abtastungszeile von dem Druckdatenspeicher 136 zu dem Druckpuffer 139 entsprechend der Verschiebungspuffersteuerung zu bewirken. Die in diesen Flussdiagrammen veranschaulichten Verarbeitungsschritte sind als computerausführbare Verarbeitungsschritte auf einem computerlesbaren Medium, wie bspw. einer Diskette bzw. Platte 25, oder in dem RAM 116 gespeichert und werden durch die CPU 100 ausgeführt, um die Verschiebungspuffersteuerung zu bewirken.
  • Gleichsam veranschaulichen die Flussdiagramme gemäß 44K bis 44M Verarbeitungsschritte, die durch die CPU 121 des Druckers 30 ausgeführt werden, um eine Druckpuffersteuerung zu bewirken. Die in diesen Flussdiagrammen gezeigten Verarbeitungsschritte werden als computerausführbare Verarbeitungsschritte auf einem computerlesbaren Medium, wie bspw. dem ROM 122, oder in dem RAM 129 für eine Ausführung durch die CPU 121 gespeichert, um die Drucksteuerung zu bewirken.
  • Entsprechend den in diesen Flussdiagrammen veranschaulichten Verarbeitungsschritten definiert die erfindungsgemäße Druckpuffersteuerung einen Druckpuffer mit einem Verschiebungsbereich, der dem Druckpuffer vorangestellt ist, wobei der Verschiebungsbereich einer Hochfahrperiode in einer Vorwärtsrichtung eines Druckkopfes entspricht. Für ein Rückwärtsdrucken umfasst der Druckpuffer einen Verschiebungsbereich, der an dem zugehörigen Ende angehängt ist, wobei der Verschiebungspuffer der Herunterfahrperiode des Druckkopfes während des Rückwärtsdruckens entspricht. Der Verschiebungspuffer für das Vorwärtsdrucken ist Teil des Druckpuffers für das Rückwärtsdrucken und der Verschiebungspuffer für das Rückwärtsdrucken ist Teil des Druckpuffers für das Vorwärtsdrucken.
  • Dank dieser Anordnung, bei der ein Verschiebungspuffer an einen Druckpuffer angehängt ist oder diesem vorangestellt ist, hat ein Druckertreiber immer Plätze, um Druckdaten für eine nächste Abtastungszeile während einer Hochfahrperiode des Druckkopfes zu übertragen. Somit ist die Effektivität der Übertragung von Druckdaten für eine nächste Abtastungszeile von einem Druckertreiber zu einem Drucker vergrößert.
  • Außerdem wird, da der Verschiebungsbereich der Hochfahrperiode entspricht und da der Verschiebungspuffer in der Vorwärtsrichtung ein Teil des Druckpuffers für das Drucken in der Rückwärtsrichtung ist und umgekehrt, die Effektivitätsvergrößerung bei der Druckdatenübertragung ohne das Erfordernis erhalten, große Mengen von zusätzlichen Druckpufferplätzen, wie bspw. herkömmliche Doppelpufferungsanordnungen, bereitzustellen.
  • Bevor die Flussdiagramme gemäß den 44C bis 44J und die Flussdiagramme gemäß 44K bis 44M beschrieben werden, werden 44A und 44B verwendet, um eine Beschreibung bestimmter Variablen zu geben, die in diesen Flussdiagrammen verwendet werden. Diese Variablen entsprechen physikalischen Abständen bei dem Drucker 30, Speicherplätzen in den Druckpuffern und der Entsprechung von Speicherplätzen in den Druckpuffern und der zugehörigen Ausdruckposition auf einem Aufzeichnungsmedium.
  • 44A stellt Variablenidentifikationen für ein Drucken in der Vorwärtsrichtung bereit. Somit sind für das Vorwärtsdrucken mit den Druckköpfen 4330A und 4330B, die derzeitige Druckdaten in den Druckpuffern 4320A und 4320B verwenden, und mit einer Übertragung von nächsten Abtastungsdruckdaten von den Druckdatenspeichern 4325A und 4325B die nachstehenden Variablen definiert: ein Kopfzwischenraum 4340 definiert den Abstand zwischen den Köpfen 4330A und 4330B, eine Kopfposition A (head position A) und eine Kopfposition B (head position B) definieren die derzeitigen Schlittenpositionen der Köpfe A bzw. B, BuffTop_F und BuffEnd_F definieren den Kopf und das Ende der Druckpuffer 4320A und 4320B für das Vorwärtsrichtungsdrucken, EdgeL_Ac und EdgeR_Ac definieren die linken und rechten Ränder der derzeitigen Abtastungsdaten für den Kopf 4330A, EdgeL_Bc und EdgeR_Bc definieren die linken und rechten Ränder der derzeitigen Druckdaten für den Druckkopf 4330B, ShiftLen definiert die Länge des Verschiebungsbereichs, Bezugszeichen 1203 definiert die Düsenversatzlänge, um den Neigungswinkel der Düsen in den Druckköpfen zu kompensieren, EdgeL_An und EdgeR_An beziehen sich auf die linken und rechten Ränder von nächsten Abtastungsdaten für den Druckkopf 4330A, EdgeL_Bn und EdgeR_Bn definieren die linken und rechten Ränder von nächsten Druckdaten für den Kopf 4330B, BlockLen definiert die Breite von Blöcken, in die der Druckertreiber 114 nächste Abtastungsdruckdaten für eine blockweise Übertragung zu den Druckpuffern 4320A und 4320B aufteilt, und BlockLeft und BlockRight zeigen die linken und rechten Adressen eines individuellen Blocks an, der derzeit für eine Übertragung berücksichtigt wird.
  • 44B identifiziert Variable für ein Drucken durch die Druckköpfe 4330A und 4330B in einer Rückwärtsrichtung (oder "Zurückrichtung"). Somit werden für das Rückwärtsdrucken mit den Druckköpfen 4330A und 4330B, die derzeitige Daten in den Druckpuffern 4320A und 4320B verwenden, und mit einer Übertragung von nächsten Abtastungsdruckdaten von den Druckdatenspeichern 4325A und 4325B die nachstehenden Variablen definiert: ein Kopfzwischenraum 4340 definiert den Abstand zwischen den Köpfen 4330A und 4330B, eine Kopfposition A (head position A) und eine Kopfposition B (head position B) definieren die derzeitigen Schlittenpositionen der Köpfe A bzw. B, BuffTop_B und BuffEnd_B definieren den Kopf und das Ende der Druckpuffer 4320A und 4320B für das Rückwärtsrichtungsdrucken, EdgeL_Ac und EdgeR_Ac definieren die linken und rechten Ränder der derzeitigen Abtastungsdaten für den Kopf 4330A, EdgeL_Bc und EdgeR_Bc definieren die linken und rechten Ränder der derzeitigen Druckdaten für den Druckkopf 4330B, ShiftLen definiert die Länge des Verschiebungsbereichs, Bezugszeichen 1203 definiert die Düsenversatzlänge, um den Neigungswinkel der Düsen in den Druckköpfen zu kompensieren, EdgeL_An und EdgeR_An beziehen sich auf die linken und rechten Ränder der nächsten Abtastungsdaten für den Druckkopf 4330A, EdgeL_Bn und EdgeR_Bn definieren die linken und rechten Ränder der nächsten Druckdaten für den Kopf 4330B, BlockLen definiert die Breite von Blöcken, in die der Druckertreiber 114 nächste Abtastungsdruckdaten für eine blockweise Übertragung zu den Druckpuffern 4320A und 4320B aufteilt, und BlockLeft und BlockRight zeigen die linken und rechten Adressen eines individuellen Blocks an, der derzeit für eine Übertragung berücksichtigt wird.
  • Repräsentative Beispiele geeigneter Werte der vorstehend genannten Variablen sind wie folgt: 8 Zoll als die Länge für die Druckpuffer A und B, 112 Zoll als die Länge eines kleinen Datenblocks, 2 1/2 Zoll als der Zwischenraum zwischen Kopf A und Kopf B, 752 Spalten als der Verschiebungspufferbereich und 32 Spalten für die Düsenversatzlänge. Die Länge des derzeitigen Abtastungsbereich und des nächsten Abtastungsbereichs hängt von den tatsächlichen Daten, die gedruckt werden, ab. Beispielsweise ist in Verbindung mit dem Beispiel, das in 43-7 gegeben ist, die Länge von derzeitigen Abtastungsdruckdaten näherungsweise 3 Zoll, wohingegen die Länge von nächsten Abtastungsdruckdaten 8 Zoll ist.
  • Unter Bezugnahme auf das Flussdiagramm gemäß 44C bis 44J ist nachstehend eine ausführliche Beschreibung einer Verarbeitung gegeben, die durch den Druckertreiber 114 entsprechend gespeicherten Programmanweisungssequenzen unternommen wird, die durch die CPU 100 in der Host-Verarbeitungsvorrichtung 23 ausgeführt werden.
  • Anfangs stellt in Schritt S4401 ein Befehl von der Host-Verarbeitungsvorrichtung 23 an den Drucker 30 die nächste Abtastungsrichtung (vorwärts oder rückwärts) ein und die Ränder der Druckdaten der derzeitigen Abtastung werden in Schritt S4402 definiert. Der linke Rand der Druckdaten in dem Druckpuffer A, EdgeL_A, wird auf EdgeL_Ac (linker Rand der derzeitigen Abtastungsdruckdaten) – Düsenversatzlänge eingestellt. Der rechte Rand der Druckdaten in dem Druckpuffer A, EdgeR_A, wird auf EdgeR_Ac (rechter Rand der Druckdaten in der derzeitigen Abtastung) + Düsenversatzlänge eingestellt. Der linke Rand der Druckdaten in dem Druckpuffer B, EdgeL_B wird auf EdgeL_Bc (linker Rand der Druckdaten für die derzeitige Abtastung) – Düsenversatzlänge eingestellt. Der rechte Rand der Druckdaten in dem Druckpuffer B, EdgeR_B wird auf EdgeR_Bc (rechter Rand der derzeitigen Abtastungsdruckdaten) + Düsenversatzlänge eingestellt. Wie es vorstehend beschrieben ist, entspricht die Düsenversatzlänge Speicherplätzen in einem Druckpuffer für einen Bereich, der der Neigung der Düsen bei einem Druckkopf entspricht.
  • In Schritt S4404 entscheidet der Druckertreiber 114, ob die derzeitige Abtastung vorwärts oder rückwärts geht. Bei einem Vorwärtsdrucken schreitet der Ablauf zu Schritt S4405 voran, in dem die Druckrichtung der nächsten Abtastung bestimmt wird. Wenn in Schritt S4405 bestimmt wird, dass die Druckrichtung der nächsten Abtastung rückwärts ist, werden die Ränder EdgeL_A, EdgeL_B, EdgeR_A und EdgeR_B in Schritt S4406 eingestellt, indem die Länge des Verschiebungsbereichs, der den während der Hochfahrperiode zu füllenden Speicherplätzen jedes Druckpuffers entspricht, addiert wird.
  • In Schritten S4407 bis S4416 wird für jeden der Köpfe 4330A und 4330B bestimmt, ob der linke Rand der nächsten Abtastung kleiner ist als der linke Rand der derzeitigen Abtastung (was bedeutet, dass leere Bereiche in dem linken Rand des Druckpuffers vorhanden sind), und wenn dies der Fall ist, werden Druckdaten für die nächste Abtastung von den Druckdatenspeichern 4335A und/oder 4335B zu den Druckpuffern 4320A und/oder 4320B übertragen, um die linke Seite des Puffers einschließlich des Verschiebungsbereichs aufzufüllen, wenn das derzeitige Drucken in einer Vorwärtsrichtung stattfindet. Der Druckpuffer 4320A wird für eine Linker-Rand-Datenübertragung in Schritten S4407 bis S4411 bearbeitet. Wenn bestimmt wird, dass der linke Rand der Druckdaten für die nächste Abtastung, EdgeL_An, kleiner als EdgeL_A ist, was der derzeitigen Abtastung entspricht, werden ein Blockauswahlbefehl [BLOCK] und ein Datenbefehl [DATA] zu dem Drucker 30 gesendet. Der Blockauswahlbefehl wird mit einer Block-Linker-Rand-Adresse von EdgeL_An (d.h. der nächste linke Abtastungsrand) und einer Block-Rechter-Rand-Adresse von EdgeL_A – 1 (d.h. der linke Rand der derzeitigen Abtastung – 1) gesendet. Der linke Rand der nächsten Abtastung EdgeL_An wird danach auf Edge_A zurückgesetzt (S4411). Der Ablauf geht dann zu dem Druckpuffer 4320B für eine Verfügbarkeit einer Linker-Rand-Datenübertragung voran.
  • Es ist hervorzuheben, dass die Verarbeitung aller Schritte gemäß 44C und 44D derart ausgelegt ist, dass der Druckertreiber 114 bestimmen kann, welche Plätze in dem Druckpuffer des Druckers 30 leer sind, wobei Daten zu diesen leeren Plätzen übertragen werden. Es ist folglich unwahrscheinlich, dass der Drucker 30 ein Belegt-Signal ausgeben wird, was anzeigen würde, dass der Drucker 30 nicht vorbereitet ist, Daten zu akzeptieren. Wenn der Drucker 30 jedoch ein Belegt-Signal ausgibt (dies kann bspw. der Fall bei Nicht-Druck-Operationen sein, wie bspw. einer Kopfreinigung oder dergleichen), stoppt der Druckertreiber 114 die Übertragung von Daten, bis das Belegt-Signal gelöscht ist und der Drucker 30 wieder bereit ist, Daten zu akzeptieren.
  • Der Druckpuffer 4320B wird dann für eine Linker-Rand-Datenübertragung in Schritten S4412 bis S4416 bearbeitet. Wenn bestimmt wird, dass der linke Rand der Druckdaten für die nächste Abtastung, EdgeL_Bn, kleiner als EdgeL_B ist, der für die derzeitige Abtastung eingestellt ist, werden ein Blockauswahlbefehl [BLOCK] und ein Datenbefehl [DATA] zu dem Drucker 30 gesendet. Der Blockauswahlbefehl wird mit einer Block-Linker-Rand-Adresse von EdgeL_Bn (d.h. der linke Rand der nächsten Abtastung) und einer Block-Rechter-Rand-Adresse von EdgeL_B – 1 (d.h. der linke Rand der derzeitigen Abtastung –1) gesendet. Der linke Rand der nächsten Abtastung EdgeL_Bn wird danach auf EdgeL_B zurückgesetzt (S4416.).
  • In Schritten S4417 bis S4426 wird für jeden der Druckköpfe 4330A und 4330B bestimmt, ob der rechte Rand der nächsten Abtastung größer ist als der rechte Rand der derzeitigen Abtastung (was bedeutet, dass leere Bereiche in dem rechten Rand des Druckpuffers vorhanden sind), und wenn dies der Fall ist, werden Druckdaten für die nächste Abtastung von den Druckdatenspeichern 4325A und/oder 4325B zu den Druckpuffern 4320A und/oder 4320B übertragen, um die rechte Seite des Puffers aufzufüllen, wenn das derzeitige Drucken in einer Vorwärtsrichtung stattfindet. Der Druckpuffer 4320A wird für eine Rechter-Rand-Datenübertragung in Schritten S4417 bis S4421 bearbeitet. Wenn bestimmt wird, dass der rechte Rand der Druckdaten für die nächste Abtastung, EdgeR_An, größer ist als EdgeR_A, werden ein Blockauswahlbefehl [BLOCK] und ein Datenbefehl [DATA] zu dem Drucker 30 gesendet. Der Blockauswahlbefehl wird mit einer Block-Linker-Rand-Adresse von EdgeR_A + 1 (d.h. der rechte Rand der derzeitigen Abtastung + 1) und einer Block-Rechter-Rand-Adresse von EdgeR_An (d.h. der rechte Rand der nächsten Abtastung) gesendet. Der Block-Rechter-Rand der nächsten Abtastung EdgeR_An wird danach auf EdgeR_A zurückgesetzt (S4421). Der Ablauf geht dann zu einer Bearbeitung des Puffers 4320B für eine Verfügbarkeit einer Rechter-Rand-Datenübertragung voran.
  • Der Druckpuffer 4320B wird dann für eine Rechter-Rand-Datenübertragung in Schritten S4425 bis S4426 bearbeitet. Wenn bestimmt wird, dass der rechte Rand der Druckdaten für die nächste Abtastung, EdgeR_Bn, größer als EdgeR_B ist, der für die derzeitige Abtastung eingestellt ist, werden ein Blockauswahlbefehl [BLOCK] und ein Datenbefehl [DATA] zu dem Drucker 30 gesendet. Der Blockauswahlbefehl wird mit einer Block-Linker-Rand-Adresse von EdgeR_B + 1 (d.h. rechter Rand der derzeitigen Abtastung) und einer Block-Rechter-Rand-Adresse von EdgeR_Bn (d.h. rechter Rand der nächsten Abtastung) gesendet. Der rechte Rand der nächsten Abtastung EdgeR_Bn wird danach auf EdgeR_B zurückgesetzt (S4426).
  • Die vorstehend beschriebenen Operationen der Schritte S4405 bis S4426 werden während und vor der Hochfahrperiode der Druckköpfe 4330A und 4330B ausgeführt. Erfindungsgemäß wird bestimmt, wo leere Speicherplätze in den Druckpuffern 4320A und 4320B vorhanden sind, und Druckdaten werden von dem Druckdatenspeicher 136 der Host-Verarbeitungsvorrichtung 23 zu den jeweiligen Druckpuffern vor der derzeitigen Abtastung von Druckpositionen des Puffers gesendet.
  • Schritte S4427 bis S4435 veranschaulichen eine Druckdatenübertragung während der derzeitigen Abtastung nach einer Übertragung von Daten entsprechend den Schritten S4405 bis S4426. In Abhängigkeit von der Geschwindigkeit der Druckdatenübertragung können Teile dieser Schritte tatsächlich während der Hochfahrperiode ausgeführt werden, wenn die Datenübertragung in den Schritten S4405 bis S4426 vor dem Ende der Hochfahrperiode abgeschlossen ist. Diese Schritte bestimmen, ob überlappte Daten nur in dem Puffer 4320A, nur in dem Puffer 4320B oder in beiden Puffern 4320A und 4320B vorhanden sind. In einem Fall, bei dem eine Überlappung in beiden Puffern 4320A und 4320B vorhanden ist, bestimmen diese Schritte ferner, ob Daten für den Puffer 4320A denen für den Puffer 4320B oder umgekehrt vorangehen sollten.
  • Die Schritte, die in 44E und 44F veranschaulicht sind, werden zu einer Zeit ausgeführt, bei der es wahrscheinlich ist, dass eine Überlappung zwischen Daten, die durch den Druckertreiber 114 übertragen werden, und noch ungedruckten Daten in dem Druckerpuffer 139 vorliegt. Folglich hängt die Übertragung durch den Druckertreiber 114 von dem Belegt-Signal von dem Drucker 30 ab. Wenn ein Belegt-Signal vorhanden ist, stoppt der Druckertreiber 114 die Übertragung von Daten, bis das Belegt-Signal gelöscht ist und der Drucker 30 wieder bereit ist, neue Druckdaten zu akzeptieren.
  • Somit prüft in Schritt S4427 und S4429 der Druckertreiber 114, ob EdgeL_An für die nächste Abtastung kleiner ist als EdgeR_An für die nächste Abtastung, aber EdgeL_Bn für die nächste Abtastung nicht kleiner ist als EdgeR_Bn für die nächste Abtastung. Wenn diese Bedingungen erfüllt sind, sind überlappte Daten lediglich in dem Puffer 4320A vorhanden. Folglich wird ein vorbestimmter kleiner Block von Druckdaten für den Druckpuffer 4320A von den Linker-Block- zu den Rechter-Block-Adressen des Blocks zu dem Druckpuffer 4320A gesendet (Schritt S4431; siehe 44G). Es wird dann wieder zu Schritt S4427 zurückgegangen für eine Übertragung der Druckdaten der nächsten Übertragung eines kleinen Blocks.
  • In Schritten S4427 und S4432 prüft der Druckertreiber 114, ob EdgeL_An für die nächste Abtastung nicht kleiner ist als EdgeR_An für die nächste Abtastung, aber EdgeL_Bn für die nächste Abtastung kleiner ist als EdgeR_Bn für die nächste Abtastung. Wenn diese Bedingungen erfüllt sind, sind überlappte Daten lediglich in dem Puffer 4320B vorhanden. Folglich wird ein vorbestimmter kleiner Block von Druckdaten für den Druckpuffer 4230B von den linken zu den rechten Adressen des Blocks zu dem Druckpuffer 4320B gesendet (Schritt S4434; siehe 44H). Es wird dann zu Schritt S4427 zurückgegangen für eine Übertragung der Druckdaten der nächsten Übertragung eines kleinen Blocks.
  • In den Schritten S4427 und S4429 bestimmt der Druckertreiber 114 auch, ob EdgeL_An für die nächste Abtastung kleiner als EdgeR_An für die nächste Abtastung ist und EdgeL_Bn für die nächste Abtastung kleiner als EdgeR_Bn für die nächste Abtastung ist. Wenn diese Bedingungen erfüllt sind, sind überlappte Daten in beiden Puffern 4320A und 4320B vorhanden. In Schritt S4430 wird dann bestimmt, ob Daten für den Puffer 4320A denen für den Puffer 4320B vorangehen oder umgekehrt.
  • Genauer gesagt wird in Schritt S4430 bestimmt, ob EdgeL_Bn größer oder gleich EdgeL_An + dem Zwischenraum zwischen den Druckköpfen 4330A und 4330B ist. Wenn dies der Fall ist, gehen Daten für den Puffer 4320A denen für den Puffer 4320B voran. Folglich wird ein kleiner vorbestimmter Druckdatenblock für den Druckpuffer 4320A zu dem Druckpuffer 4320A von dem Druckdatenspeicher 136 der Host-Verarbeitungsvorrichtung 23 gesendet (Schritt S4431). Demgegenüber zeigt eine "NEIN"-Entscheidung in Schritt S4430 an, dass Daten für den Puffer 4320B denen für den Puffer 4320A vorangehen. Folglich wird ein kleiner vorbestimmter Druckdatenblock für den Druckpuffer 4320B zu dem Druckpuffer 4320B von dem Druckdatenspeicher 136 der Host-Verarbeitungsvorrichtung 23 gesendet (Schritt S4434) und die Steuerung springt zu Schritt S4427 zurück.
  • Wenn in den Schritten S4427 und S4432 bestimmt wird, dass EdgeL_An nicht kleiner als EdgeR_An ist und das EdgeL_Bn nicht kleiner als EdgeR_Bn ist, ist die Datenübertragung abgeschlossen und ein Druckbefehl [PRINT] für die nächste Abtastungszeile wird zu dem Drucker 30 in Schritt S4435 gesendet.
  • Wieder auf 44C bezogen wird, wenn in Schritt S4404 entschieden wird, dass die derzeitige Abtastung rückwärts stattfindet, in Schritt S4445 die Druckrichtung der nächsten Abtastung bestimmt. Wenn in Schritt S4445 bestimmt wird, dass die nächste Abtastung vorwärts stattfindet, werden die Ränder EdgeL_A, EdgeL_B, EdgeR_A und EdgeR_B in Schritt S4446 durch Subtrahieren der Länge des Verschiebungsbereichs für während der Hochfahrperiode zu füllenden Speicherplätze jedes Druckpuffers eingestellt.
  • In Schritten S4447 bis S4466 wird für jeden der Druckköpfe 4330A und 4330B bestimmt, ob der rechte Rand der nächsten Abtastung größer als der rechte Rand der derzeitigen Abtastung ist (was bedeutet, dass leere Bereiche in dem rechten Rand des Druckpuffers vorhanden sind), und wenn dies der Fall ist, werden Druckdaten für die nächste Abtastung von dem Druckdatenspeicher 4325A und/oder 4325B zu den Druckpuffern 4320A und/oder 4320B übertragen, um die rechte Seite der Puffer 4320A und/oder 4320B einschließlich des Verschiebungsbereichs aufzufüllen, wenn das derzeitige Drucken in der Rückwärtsrichtung stattfindet. Der Druckpuffer 4320A wird für eine Rechter-Rand-Datenübertragung in Schritten S4447 bis S4451 bearbeitet. Wenn bestimmt wird, dass der rechte Rand der Druckdaten für die nächste Abtastung, EdgeR_An, größer als EdgeR_A ist, der der derzeitigen Abtastung entspricht (Schritt S4447), werden ein Blockauswahlbefehl [BLOCK] und ein Datenbefehl [DATA] zu dem Drucker 30 gesendet. Der Blockauswahlbefehl wird mit einer Block-Linker-Rand-Adresse von EdgeR_A + 1 (d.h. rechter Rand der derzeitigen Abtastung + 1) und einer Block-Rechter-Rand-Adresse von EdgeR_An (d.h. der rechte Rand der nächsten Abtastung) gesendet. Der rechte Rand der nächsten Abtastung EdgeR_An wird dann auf EdgeR_A zurückgesetzt (Schritt S4451).
  • Der Druckpuffer 4320B wird dann für eine Rechter-Rand-Druckdatenübertragung in Schritten S4452 bis S4456 bearbeitet. Wenn bestimmt wird, dass der rechte Rand der Druckdaten für die nächste Abtastung, EdgeR_Bn, größer als EdgeR_B ist, der der derzeitigen Abtastung entspricht, werden ein Blockauswahlbefehl [BLOCK] und ein Datenbefehl [DATA] zu dem Drucker 30 gesendet. Der Blockauswahlbefehl wird mit einer Block-Linker-Rand-Adresse von EdgeR_B + 1 (d.h. der rechte Rand der derzeitigen Abtastung + 1) und einer Block-Rechter-Rand-Adresse EdgeR_Bn (d.h. der rechte Rand der nächsten Abtastung) gesendet. Der rechte Rand der nächsten Abtastung, EdgeR_Bn, wird dann auf EdgeR_B zurückgesetzt (Schritt S4456).
  • In Schritten S4459 bis S4456 wird für jeden der Köpfe 4330A und 4330B bestimmt, ob der linke Rand der nächsten Abtastung kleiner als der linke Rand der derzeitigen Abtastung ist (was bedeutet, dass leere Bereiche in dem linken Rand der Druckdatenspeicherung 4325A und/oder 4325B zu den Druckpuffern 4320A und/oder 4320B vorhanden sind), um die linke Seite der Puffer 4320A und/oder 4320B aufzufüllen, wenn das derzeitige Drucken in einer Rückwärtsrichtung stattfindet. Der Druckpuffer A wird für eine Linker-Rand-Druckdatenübertragung in Schritten S4457 bis S4461 bearbeitet. Wenn bestimmt wird, dass der linke Rand der Druckdaten für die nächste Abtastung, EdgeL_An, kleiner als EdgeL_A ist, der der derzeitigen Abtastung entspricht (Schritt S4457), werden ein Blockauswahlbefehl [BLOCK] und ein Datenbefehl [DATA] zu dem Drucker 30 gesendet. Der Blockauswahlbefehl wird mit einer Block-Linker-Rand-Adresse von EdgeL_An (d.h. der linke Rand der nächsten Abtastung) und einer Block-Rechter-Rand-Adresse von EdgeL_A – 1 (d.h. der linke Rand der derzeitigen Abtastung – 1) gesendet. Der linke Rand der nächsten Abtastung, EdgeL_An, wird dann auf EdgeL_A zurückgesetzt (Schritt S4461).
  • Der Druckpuffer 4320B wird dann für eine Linker-Rand-Druckdatenübertragung in Schritten S4462 bis S4466 bearbeitet. Wenn bestimmt wird, dass der linke Rand der Druckdaten für die nächste Abtastung, EdgeL_Bn, kleiner als EdgeL_B ist, der der derzeitigen Abtastung entspricht, werden ein Blockauswahlbefehl [BLOCK] und ein Datenbefehl [DATA] zu dem Drucker 30 gesendet. Der Blockauswahlbefehl wird mit einer Block-Linker-Rand-Adresse von EdgeL_Bn (d.h. der linke Rand der nächsten Abtastung) und einer Block-Rechter-Rand-Adresse von EdgeL_B – 1 (d.h. der linke Rand der derzeitigen Abtastung – 1) gesendet. Der linke Rand der nächsten Abtastung, EdgeL_Bn, wird dann auf EdgeL_B zurückgesetzt (Schritt S4466).
  • Die vorstehend beschriebenen Schritte werden während und vor einem Hochfahren der Köpfe 4330A und 4330B ausgeführt. Die Schritte S4467 bis S4475 veranschaulichen eine Datenverarbeitung während der derzeitigen Abtastung nach der Übertragung von Daten entsprechend den Schritten S4445 bis S4466. In Abhängigkeit von der Geschwindigkeit der Druckdatenübertragung können Teile dieser Schritte tatsächlich während der Hochfahrperiode ausgeführt werden, wenn die Datenübertragung in den Schritten S4445 bis S4466 vor dem Ende der Hochfahrperiode abgeschlossen ist. Diese Schritte bestimmen, ob überlappte Daten lediglich in dem Puffer 4320A, lediglich in dem Puffer 4320B oder in beiden Puffern 4320A und 4320B vorhanden sind. In einem Fall, dass eine Überlappung in beiden Puffern 4320A und 4320B vorhanden ist, bestimmen diese Schritte ferner, ob Daten für den Puffer 4320A denen für den Puffer 4320B vorangehen sollten oder umgekehrt.
  • Somit prüft in den Schritten S4467 und S4469 der Druckertreiber 114, ob EdgeL_An für die nächste Abtastung kleiner als EdgeR_An für die nächste Abtastung ist, aber EdgeL_Bn für die nächste Abtastung nicht kleiner als EdgeR_Bn für die nächste Abtastung ist. Wenn diese Bedingungen erfüllt sind, sind überlappte Daten lediglich in dem Puffer 4320A vorhanden. Folglich wird ein vorbestimmter kleiner Block von Druckdaten für den Druckpuffer 4320A von den Linker-Block- zu dem Rechter-Block-Adressen des Blocks zu dem Druckpuffer 4320A gesendet (Schritt S4471, siehe 44I). Es wird dann zu Schritt S4467 zurückgekehrt für eine Übertragung der Druckdaten der nächsten Übertragung eines kleinen Blocks.
  • In den Schritten S4467 und S4472 prüft der Druckertreiber 114, ob EdgeL_An für die nächste Abtastung nicht kleiner als EdgeR_An für die nächste Abtastung ist, aber EdgeL_Bn für die nächste Abtastung kleiner als EdgeR_Bn für die nächste Abtastung ist. Wenn diese Bedingungen erfüllt sind; sind überlappte Daten lediglich in dem Puffer 4320B vorhanden. Folglich wird ein vorbestimmter kleiner Block von Druckdaten für den Druckpuffer 4320B von den linken zu den rechten Adressen des Blocks zu dem Druckpuffer 4320B gesendet (Schritt S4474; siehe 44J). Es wird dann zu S4467 zurückgekehrt für eine Übertragung der Druckdaten der nächsten Übertragung eines kleinen Blocks.
  • In den Schritten S4467 und S4469 bestimmt der Druckertreiber 114 auch, ob EdgeL_An für die nächste Abtastung kleiner als EdgeR_An für die nächste Abtastung ist und EdgeL_Bn für die nächste Abtastung kleiner als EdgeR_Bn für die nächste Abtastung ist. Wenn diese Bedingungen erfüllt sind, sind überlappte Daten in beiden Puffern 4320A und 4320B vorhanden. In Schritt S4470 wird dann bestimmt, ob Daten für den Puffer 4320A denen für den Puffer 4320B vorangehen oder umgekehrt.
  • Genauer gesagt wird in Schritt S4470 entschieden, ob EdgeR_Bn minus dem Zwischenraum zwischen den Druckköpfen 4330A und 4330B kleiner oder gleich EdgeR_An ist. Wenn dies der Fall ist, gehen Daten für den Puffer 4320A denen für den Puffer 4320B voran. Folglich wird ein kleiner vorbestimmter Druckdatenblock für den Druckpuffer 4320A zu dem Druckpuffer 4320A von dem Druckdatenspeicher 136 der Host-Verarbeitungsvorrichtung 23 gesendet (Schritt S4471). Wenn eine "NEIN"-Entscheidung in Schritt S4470 erreicht wird, gehen Daten für den Puffer 4320B denen für den Puffer 4320A voran. Folglich wird ein kleiner vorbestimmter Druckdatenblock für den Druckpuffer 4320B zu dem Druckpuffer 4320B von dem Druckdatenspeicher 136 der Host-Verarbeitungsvorrichtung 23 gesendet (Schritt S4474) und die Steuerung springt zu Schritt S4467 zurück.
  • Wenn in den Schritten S4467 und S4472 entschieden wird, dass EdgeL_An nicht kleiner als EdgeR_An ist und das EdgeL_Bn nicht kleiner als EdgeR_Bn ist, ist die Datenübertragung abgeschlossen und ein Druckbefehl [PRINT] für die nächste Abtastungszeile wird zu dem Drucker 30 in Schritt S4475 gesendet.
  • In den 44G und 44H sind ausführliche Flussdiagramme der Schritte S4431 und S4434 gemäß 44E für eine linker-Block-zu-rechter-Block-addressierter Druckdatenübertragung für die Druckpuffer 4320A und 4320B gezeigt. Unter Bezugnahme auf 44G mit Bezug auf den Druckpuffer 4320A wird EdgeL_A auf EdgeL_An für die nächste Abtastung plus der vorbestimmten kleinen Blocklänge in Schritt S4476 eingestellt. Es wird dann zu Schritt S4477 übergegangen, in dem entschieden wird, ob EdgeR_An für die nächste Abtastung kleiner als EdgeL_A ist. Wenn die Entscheidung "JA" ist, wird ein Blockbefehl zu dem Druckpuffer 4320A mit einer linken Blockadresse von EdgeL_An und einer rechten Blockadresse von EdgeR_An gesendet (Schritt S4478), so adressierte Druckdaten werden zu dem Druckpuffer 4320A gesendet (S4479) und der linke Rand der Druckdaten der nächsten Abtastung, EdgeL_An, wird auf EdgeR_An gesetzt (S4480). Wenn die Entscheidung in Schritt S4477 "NEIN" ist, wird ein Blockbefehl zu dem Druckpuffer 4320A mit einer linken Blockadresse von EdgeL_An und einer rechten Blockadresse von EdgeR_A – 1 gesendet (Schritt S4481), so adressierte Druckdaten werden zu dem Druckpuffer 4320A gesendet (S4482) und der linke Rand, EdgeL_An, der Druckdaten der nächsten Abtastung wird auf EdgeL_A gesetzt (Schritt S4483).
  • In 44H ist ein ausführliches Flussdiagramm des Schritts S4434 gemäß 44E für eine linker-Block-zu-rechter-Block-adressierte Druckdatenübertragung für den Druckpuffer 4320B gezeigt. Unter Bezugnahme auf 44H wird EdgeL_B auf EdgeL_Bn für die nächste Abtastung plus der vorbestimmten kleinen Blocklänge in Schritt S4486 eingestellt. Es wird dann zu Schritt S4487 übergegangen, in dem entschieden wird, ob EdgeL_Bn für die nächste Abtastung kleiner als EdgeL_B ist. Wenn die Entscheidung "JA" ist, wird ein Blockbefehl zu dem Druckpuffer 4320B mit einer linken Blockadresse von EdgeL_Bn und einer rechten Blockadresse von EdgeR_Bn gesendet (Schritt S4488), so adressierte Druckdaten werden zu dem Druckpuffer 4320B gesendet (S4489) und der linke Rand der nächsten Abtastungsdruckdaten, EdgeL_Bn, wird auf EdgeR_Bn gesetzt (S4490). Wenn die Entscheidung in Schritt S4487 "NEIN" ist, wird ein Blockbefehl zu dem Druckpuffer 4320B mit einer linken Blockadresse von EdgeL_Bn und einer rechten Blockadresse von EdgeL_B – 1 gesendet (Schritt S4491), so adressierte Druckdaten werden zu dem Druckpuffer 4320B gesendet (S4492). und der linke Rand, EdgeL_Bn, der nächsten Abtastungsdruckdaten wird auf EdgeL_B gesetzt (Schritt S4493).
  • In 44I und 44J sind ausführliche Flussdiagramme der Schritte S4471 und S4474 gemäß 44F für eine rechter-Block-zu-linker-Block-adressierten Druckdatenübertragung für den Druckpuffer 4320A gezeigt. Unter Bezugnahme auf 44I mit Bezug auf den Druckpuffer 4320A wird EdgeR_A auf EdgeR_An für die nächste Abtastung minus der vorbestimmten kleinen Blocklänge in Schritt S4506 eingestellt. Es wird dann auf Schritt S4507 übergegangen, in dem entschieden wird, ob EdgeL_An für die nächste Abtastung kleiner als EdgeR_A ist. Wenn die Entscheidung "JA" ist, wird ein Blockbefehl zu dem Druckpuffer 4320A mit einer linken Blockadresse von EdgeL_An und einer rechten Blockadresse von EdgeR_An gesendet (Schritt S4508), so adressierte Druckdaten werden zu dem Druckpuffer 4320A gesendet (S4509) und der rechte Rand der nächsten Abtastungsdruckdaten, EdgeR_An, wird auf EdgeL_An gesetzt (S4510). Wenn die Entscheidung in Schritt S4507 "NEIN" ist, wird ein Blockbefehl zu dem Druckpuffer 4320A mit einer linken Blockadresse von EdgeR_A + 1 und einer rechten Blockadresse von EdgeR_An gesendet (Schritt S4511), so adressierte Druckdaten werden zu dem Druckpuffer 4320A gesendet (S4512) und der rechte Rand der nächsten Abtastungsdruckdaten, EdgeR_An, wird auf EdgeR_A gesetzt (Schritt S4513).
  • In 44J ist ein ausführliches Flussdiagramm des Schritts S4474 gemäß 44F für eine rechter-Block-zu-linker-Block-adressierten Druckdatenübertragung für den Druckpuffer 4320B gezeigt. Unter Bezugnahme auf 44J wird EdgeR_B auf EdgeR_Bn für die nächste Abtastung minus der vorbestimmten kleinen Blocklänge in Schritt S4516 eingestellt. Es wird dann auf Schritt S4517 übergegangen, in dem entschieden wird, ob EdgeL_Bn für die nächste Abtastung kleiner ist als EdgeR_B. Wenn die Entscheidung "JA" ist, wird ein Blockbefehl zu dem Druckpuffer 4320B mit einer linken Blockadresse von EdgeL_Bn und einer rechten Blockadresse von EdgeR_Bn gesendet (Schritt S4518), so adressierte Druckdaten werden zu dem Druckpuffer 4320B gesendet (S4519) und der linke Rand der nächsten Abtastungsdruckdaten, EdgeR_Bn, wird auf EdgeL_Bn gesetzt (S4520). Wenn die Entscheidung in Schritt S4517 "NEIN" ist, wird ein Blockbefehl zu dem Druckpuffer 4320B mit einer linken Blockadresse von EdgeR_B + 1 und einer rechten Blockadresse von EdgeR_Bn gesendet (Schritt S4521), so adressierte Druckdaten werden zu dem Druckpuffer 4320B gesendet (S4522) und der rechte Rand der nächsten Abtastungsdruckdaten EdgeR_Bn, wird auf EdgeR_B gesetzt (Schritt S4523).
  • In den 44K bis 44M sind Flussdiagramme gezeigt, die die Verarbeitung in dem Drucker 30 für eine Druckdatenübertragung zeigen, welche den gespeicherten, computerausführbaren Programmcodes entsprechen, die in dem ROM 122 des Drucker 30 beinhaltet sind. Im Allgemeinen stellen diese Schritte eine Druckeroperation wie. nachstehend beschrieben bereit: (1) Wenn das Drucken der derzeitigen Abtastung beginnt, überwacht der Drucker die Position des Schlittens und der Schlittenbewegung; (2) Wenn der rechte Rand eines empfangenen Blocks kleiner als der linke Rand der derzeitigen Abtastung ist, lege den Datenblock unmittelbar in den Druckerpuffer ab. Wenn der linke Rand eines empfangen Blocks größer als der rechte Rand der derzeitigen Abtastung ist, lege den Datenblock unmittelbar in den Druckerpuffer; (3) Wenn der Block, der durch den Druckertreiber spezifiziert ist, in einen Druckerbereich der derzeitigen Abtastung überlappt, dann gib ein Belegt-Signal aus, um den Druckertreiber zu veranlassen, zu warten, bis der spezifizierte Block vollständig frei wird. Wenn der Block, der durch den Druckertreiber spezifiziert ist, vollkommen frei wird, dann lege den Datenblock in den Druckertreiber ab und gib jedes Belegt-Signal frei, um dem Druckertreiber anzuzeigen, dass der Drucker bereit ist, Daten zu akzeptieren; und (4) Wenn die derzeitige Abtastung in der Vorwärtsrichtung stattfindet, dann druckt der Drucker den verschobenen Puffer aus. Wenn die derzeitige Abtastung die Rückwärtsrichtung ist, dann druckt der Drucker den nichtverschobenen Puffer aus. Unter Bezugnahme auf 44K werden die Entscheidungsschritte S4545, S4548, S4550, S4553 und andere, die durch eine gestrichelte Linie angezeigt sind, aufeinanderfolgend ausgeführt, wenn ein Befehl von dem Druckertreiber 114 in Schritt S4544 empfangen wird. Wenn bestimmt wird, dass der empfangene Befehl ein Richtungsbefehl in Schritt S4545 ist, wird die nächste Abtastrichtung (d.h. vorwärts oder rückwärts) empfangen (Schritt S4546), die derzeitige Abtastungs- und die nächste Abtastungsrichtung werden eingestellt (Schritt S4547) und die Steuerung wird zu Schritt S4548 weitergegeben. Wenn der Befehl, der in Schritt S4544 empfangen wird, als ein Blockbefehl in Schritt S4548 erfasst wird, wird die Blockadressenverarbeitung gemäß Schritt S4549 ausgeführt. Die Blockadressenverarbeitung wird unter Bezugnahme auf die 44L und 44M ausführlicher beschrieben.
  • Wenn in Schritt S4550 bestimmt wird, dass der empfangene Befehl in Schritt S4544 ein Datenbefehl ist, werden die Druckdaten, die in Schritt S4551 empfangen werden, in den bestimmten Druckpuffer abgelegt (Schritt S4552) und die Steuerung wird zu Schritt S4553 übergehen, in dem bestimmt wird, ob der empfangene Befehl in Schritt S4554 ein Druckbefehl ist. Wenn die Entscheidung in Schritt S4553 "JA" ist, wird dann in Schritt S4554 bestimmt, ob die derzeitige Abtastung auf die Vorwärtsrichtung eingestellt worden ist. Wenn die derzeitige eingestellte Abtastrichtung die Vorwärtsrichtung ist, wird das Drucken von dem Kopf des bestimmten Druckpuffers, der der ersten Druckposition eines Druckkopfes nach dem Verschiebungsbereich entspricht, zu dem entgegengesetzten Ende des bestimmten Druckpuffers ausgeführt (Schritt S4555). Für eine Rückwärtsrichtungsabtastung wird das Drucken von dem anderen Ende des Druckpuffers, das der letzten Druckposition des Druckkopfes entspricht, zu dem Kopf des bestimmten Puffers ausgeführt. Die Steuerung springt dann zu Schritt S4544 zurück, um einen weiteren Befehl von dem Druckertreiber 114 zu erwarten.
  • In den 44L und 44M ist die Blockadressenverarbeitung gemäß Schritt S4549 der 44K ausführlicher gezeigt. Unter Bezugnahme auf 44L werden die Block-Links- und Block-Rechts-Adressen in dem Blockbefehl in Schritt S4534 empfangen und es wird in Schritt S4535 entschieden, ob die Druckdaten der derzeitigen Abtastung in dem bestimmten Druckpuffer verbleiben. Wenn der Druckpuffer keine verbleibenden derzeitigen Abtastungsdruckdaten in Schritt S4535 aufweist, geht die Steuerung zu Schritt S4550 gemäß 44K über, um zu bestimmen, ob ein Datenbefehl empfangen worden ist. Andernfalls wird in Schritt S4536 bestimmt, ob der bestimmte Druckpuffer der Druckpuffer A oder der Druckpuffer B ist, eine Variable X wird in geeigneter Weise auf A oder B in einem der Schritte S4537 und S4538 eingestellt und die Steuerung geht zu Schritt S4539 über. In Schritt S4539 wird der linke Rand des bestimmten Druckpuffers X, Edge_X, auf EdgeL_Xc (d.h. der linke Rand der Druckdaten für die derzeitige Abtastung in dem bestimmten Puffer) minus der Düsenversatzlänge eingestellt, wo kein Drucken stattfinden kann. Der rechte Rand des bestimmten Puffers, EdgeR_X, wird auf EdgeR_Xc (d.h. der rechte Rand der Druckdaten für die derzeitige Abtastung in dem bestimmten Puffer) plus der Düsenversatzlänge eingestellt, wo kein Drucken stattfinden kann. Die Steuerung geht dann zu Schritt S4540 über, in dem die derzeitige Abtastrichtung überprüft wird.
  • Wenn die derzeitige Abtastrichtung in Schritt S4540 die Vorwärtsrichtung ist, werden die linken und rechten Ränder des bestimmten Druckpuffers eingestellt, um eine Verschiebung der Druckdaten der nächsten Abtastung bereitzustellen. Folglich wird in Schritt S4541 der linke Rand EdgeL_X auf EdgeL_X plus der Verschiebungsbereichslänge eingestellt und der rechte Rand EdgeR_X wird auf EdgeR_X plus der Verschiebungsbereichslänge eingestellt. Wenn die derzeitige Abtastrichtung die Rückwärtsrichtung ist, ist keine Einstellung erforderlich, da keine vordefinierten Verschiebungsbereiche bei den unteren Enden des Druckpuffers vorhanden sind. Die nächste Abtastrichtung wird in Schritt S4542 überprüft. Wenn die Abtastrichtung die Vorwärtsrichtung in Schritt S4542 ist, wird Schritt S4543 ausgeführt, in dem die Block-Links- und Block-Rechts-Adressen, BlockLeft und BlockRight, auf BlockLeft plus die Verschiebungsbereichslänge bzw. BlockRight plus die Verschiebungsbereichslänge eingestellt werden, um die Verschiebung der nächsten Abtastungsdruckdaten zu berücksichtigen, wenn sie in den bestimmten Druckpuffer X eingefügt werden.
  • Es wird dann von Schritt S4543 über die Verbindung 10–11 zu Schritt S4525 gemäß 44M übergegangen. In Entscheidungsschritten S4525 und S4526 wird bestimmt, ob die BlockRight-Adresse kleiner ist als EdgeL_X (d.h. der linke Rand der Druckdaten in dem Druckpuffer X) oder ob die BlockLeft-Adresse größer ist als EdgeR_X (d.h. der rechte Rand der Druckdaten in dem Druckpuffer X). Wenn eine dieser Bedingungen wahr ist, ist der Block der Druckdaten der nächsten Abtastung, der zu dem Druckpuffer zu übertragen ist, außerhalb des Bereichs des Druckpuffers X, der die Druckdaten beinhaltet, so dass eine unmittelbare Übertragung ausgeführt werden kann und die Steuerung zu Schritt S4550 gemäß 44K für eine Datenbefehlsverarbeitung zurückspringt.
  • Wenn in beiden Schritten S4525 und S4526 "NEIN"-Entscheidungen vorliegen, gibt es eine Überlappung der nächsten Abtastungsdruckdaten und der derzeitigen Abtastungsdruckdaten in dem Druckpuffer X und es wird zu Schritt S4527 übergegangen, in dem bestimmt wird, ob die derzeitige Abtastrichtung die Vorwärtsrichtung ist. Wenn eine "JA"-Entscheidung in Schritt S4527 vorliegt, wird bestimmt, ob die BlockRight-Adresse kleiner oder gleich EdgeR_X ist (S4528). In Reaktion auf eine "JA"-Entscheidung in Schritt S4528 wird der Rücksprung zu Schritt S4550 gemäß 44K für einen Datenbefehl verzögert, bis die BlockRight-Adresse kleiner als HeadPos_X ist (Schritt S4529), die die Position des Druckkopfes in Verbindung mit dem Druckpuffer X ist, um ein Einfügen der Blockdruckdaten in einen freigemachten Bereich des Druckpuffers X sicherzustellen. In Reaktion auf eine "NEIN"-Entscheidung in Schritt S4528 wird der Rücksprung zu Schritt S4550 gemäß 44K verzögert, bis der Druckkopf für den Druckpuffer X das Drucken der derzeitigen Druckposition beendet hat (Schritt S4530).
  • In Reaktion auf eine derzeitige Rückwärtsrichtungsabtastung in Schritt S4527 wird zu Schritt S4531 übergegangen, in dem bestimmt wird, ob die BlockLeft-Adresse größer oder gleich EdgeL_X ist (S4531). In Reaktion auf eine "JA"-Entscheidung in Schritt S4531 wird der Rücksprung zu Schritt S4550 gemäß 44K für einen Datenbefehl verzögert, bis die BlockLeft-Adresse größer als HeadPos_X ist (Schritt S4532), um ein Einfügen der Blockdruckdaten in einen freigemachten Bereich des Druckpuffers X sicherzustellen. In Reaktion auf eine "NEIN"-Entscheidung in Schritt S4531 wird ein Rücksprung zu Schritt S4550 gemäß 44K verzögert, bis der Druckkopf für den Druckpuffer X das Drucken der derzeitigen Druckposition beendet hat (Schritt S4533).
  • Erfindungsgemäß vermeidet die Übertragung von Druckdaten für eine nächste Abtastung von der Host-Verarbeitungsvorrichtung 23 zu dem Druckpuffer 139 während der derzeitigen Abtastung das Erfordernis für einen separaten Empfangspuffer der gleichen Größe wie des Druckpuffers 139 und vergrößert die Effektivität der Druckdatenübertragung. Ferner ist die Größe des Verschiebungsbereichs nicht festgelegt, sondern wird durch den [DEFINE_BUF)-Befehl für jede Druckaufgabe eingestellt, so dass die Verschiebungsbereichsgröße entsprechend der Speicherkapazität des Druckers 30 ausgewählt werden kann.
  • Außerdem kann die Druckerpufferverschiebungsbereichtechnologie bei der Übertragung beliebiger Daten zwischen irgendwelchen Kopfprozessoren angewendet werden. In 44N ist bei Bezugszeichen 850 das hier beschriebene Ausführungsbeispiel veranschaulicht, bei dem die Verschiebungspuffertechnologie bei einer Übertragung von Druckdaten zwischen einem Druckertreiber und einer Druckersteuereinrichtung angewendet wird. Bezugszeichen 860 veranschaulicht, dass die Verschiebungspuffertechnologie ebenso bei einer Übertragung von Druckdaten zwischen einer Drucksteuereinrichtung und einem Druckgerät angewendet werden kann.
  • 10.0 Mehrfachkopfdrucken mit unterschiedlichen Auflösungen
  • Da der Drucker 30 eine Vielzahl von Druckköpfen aufweist und aufgrund einer Softwarearchitektur, bei der Befehle, die die Auflösung beeinflussen, zu jedem Druckkopf unabhängig gesendet werden, kann der Drucker 30 mit unterschiedlichen Auflösungen für jeden Druckkopf drucken und kann dementsprechend gesteuert werden, um die Gesamtdruckeffektivität in Situationen zu vergrößern, bei denen Druckdaten für eine Seite Druckinformationen, für die eine höhere Auflösung gewünscht ist, gemischt mit Druckdaten umfassen, für die eine niedrigere Auflösung adäquat ist.
  • Allgemein gesprochen beschreibt dieser Abschnitt eine Steuerung über einen Drucker, mit zumindest ersten und zweiten Druckköpfen, so dass die Auflösung für die ersten und zweiten Druckköpfe unabhängig voneinander gesteuert wird. Wie es vorstehend in Abschnitt 1.0 beschrieben ist, umfasst der Drucker 30 zwei Tintenstrahldruckköpfe A und B, die mit 130a bzw. 130b bezeichnet sind, und wie es in Abschnitt 3.0 beschrieben ist, umfasst die Softwarearchitektur Befehle, die von der Host-Verarbeitungsvorrichtung 23 gesendet werden, welche die Druckauflösung beeinflussen. Das Drucken wird durch eine Übertragung von Bilddaten von der Host-Verarbeitungsvorrichtung 23 zu dem Druckpuffer 139 in dem Drucker 30 (unter Verwendung des [DATA]-Befehls) und eine nachfolgende Übertragung des [PRINT]-Druckausführungsbefehls bewirkt. Die Steuerung über die Druckauflösung wird durch eine Übertragung von Befehlen, die die Tintentröpfchengröße (der [DROP]-Befehl) ändern, Befehlen, die die Druckgeschwindigkeit auswählen (der [SPEED]-Befehl), Befehlen, die eine Düsenausstoßreihenfolge auswählen (der [SELECT_PULSE]-Befehl), und Befehlen bewirkt, die die Auslesereihenfolge für ein Auslesen von Bilddaten aus dem Druckerpuffer 139 auswählen (der [SELECT_CONTROL]-Befehl).
  • Die Auflösung, mit der jeder Druckkopf druckt, kann manuell durch eine Benutzereingabe oder automatisch bspw. auf der Grundlage einer relativen Kopfkonfiguration für die Druckköpfe 130A und 130B, des Inhalts der Druckdaten und des Typs des Aufzeichnungsmediums (oder Druckmediums) bestimmt werden. Eine Benutzerschnittstelle in dem Druckertreiber 114 ist für diesen Zweck bereitgestellt.
  • Aus der Sicht des Druckers empfängt der Drucker 30 Befehle, um die Auflösung für jeden der Druckköpfe 130a und 130b unabhängig einzustellen, und bewirkt einen Ausdruck mit der ausgewählten Auflösung.
  • In 45 ist eine repräsentative Darstellung zur Beschreibung der Vorzüge eines Ausdrucks mit unterschiedlichen Auflösungen für jeden der Druckköpfe gezeigt. In 45 bezeichnet Bezugszeichen 400 ein gedrucktes Blatt auf einem Aufzeichnungsmedium 401, das gemischte Druckinformationen unterschiedlicher Typen beinhaltet. Bereiche 402a, 402b, 402c und 402d sind Textbereiche, die aus hauptsächlich schwarzen und weißen Bereichen bestehen, für die eine niedrigere Auflösung adäquat ist. Ein Bereich 404 stellt demgegenüber einen textfreien Bereich bzw. Nicht-Text-Bereich dar, wie bspw. ein Farbbild oder eine Grafik oder eine Linienzeichnung, für den eine hohe Auflösung gewünscht ist. Somit besteht, wie es in 45 ersichtlich ist, der Ausdruck 400 aus gemischten Druckinformationen, von denen einige mit einer hohen Auflösung gedruckt werden sollen, wohingegen für andere hiervon eine niedrigere Auflösung adäquat ist. Die Druckinformationen werden auf einem einzelnen Aufzeichnungsmedium 401 gemischt, wobei sie in einigen Fällen, wie bspw. der Bereich 404 und der Bereich 402b, über einem horizontalen Druckband in der Abtastrichtung des Druckers 30 gemischt werden.
  • Bezugszeichen 405 zeigt eine vergrößerte Darstellung eines Abschnitts des Bereichs 402a. Die vergrößerte Darstellung 405 zeigt die Druckköpfe 130a und 130b, die in der Konfiguration unterschiedlich sind. Genauer gesagt umfasst der Druckkopf 130a Gelb-, Magenta-, Zyan- und Schwarz-Druckdüsen, die vertikal mit 24 Düsen für Gelb, 24 Düsen für Magenta, 24 Düsen für Zyan und 64 Düsen für Schwarz angeordnet sind. Der Druckkopf 130b umfasst 128 Druckdüsen allein für schwarze Tinte. Somit unterscheiden sich die Druckköpfe 130a und 130b in der Konfiguration, wobei der Druckkopf 130a angepasst ist, Hochauflösungs-Farbbilder zu drucken, wohingegen der Druckkopf 130b angepasst ist, nur Schwarz-Weiß-Bilder zu drucken. Es ist ersichtlich, dass andere Konfigurationen für die Köpfe 130a und 130b möglich sind, um eine Situation zu ergeben, bei der ein Druckkopf angepasst ist, Hochauflösungsbilder zu drucken, wohingegen der andere angepasst ist, Bilder niedrigerer Auflösung zu drucken.
  • Da der Bereich 402a ein Textbereich ist, für den eine niedrigere Auflösung adäquat ist, wird das Drucken des Bereichs 402 durch den Druckkopf 130b bewirkt. Diese Anordnung ist bei Bezugszeichen 405 gezeigt, bei dem ein Band 406 von dem Druckkopf 130b in einer querschraffierten Hervorhebung gezeigt ist. Um bei dieser Auflösung zu drucken, wird dem Drucker 30 befohlen, den Druckkopf 130b in eine Große-Tröpfchen-Ausstoßbetriebsart zu versetzten, wobei die Druckdatenauslesereihenfolge aus dem Druckpuffer 139 entsprechend der Kopfkonfiguration des Druckkopfes 130 und entsprechend der ausgewählten Auflösung ausgewählt wird. Diese Schritte sind ausführlicher nachstehend in Verbindung mit dem Flussdiagramm gemäß 45A beschrieben.
  • Im Gegensatz zu dem Bereich 402a ist der Bereich 404 ein Bereich, für den ein Hochauflösungsausdruck gewünscht ist. Diese Situation ist in dem vergrößerten Bereich bei Bezugszeichen 407 gezeigt, das einen Ausdruck durch den Druckkopf 130a nur bei einem Band 409 zeigt. Wie es nachstehend ausführlicher in Verbindung mit dem Flussdiagramm gemäß 45A beschrieben ist, wird dem Druckkopf 130a zur Bewirkung eines Ausdruckes in dem Band, das bei Bezugszeichen 409 gezeigt ist, befohlen, Tinte in kleinen Tröpfchen auszustoßen, wobei die Datenauslesereihenfolge aus dem Druckpuffer 139 entsprechend der Kopfkonfiguration des Druckkopfes 130a und der ausgewählten Auflösung ausgewählt wird.
  • Um Bereiche wie 402b zu drucken, die seitlich in der Richtung einer Abtastung der Druckköpfe 130a und 130b über das Aufzeichnungsmedium 401 gemischt sind, wird eine Zwei-Schritt-Prozedur eingesetzt. In einem Schritt werden sequenzielle Bänder, wie 409, durch den Druckkopf 130a gedruckt. Die Anzahl sequenzieller Bänder, die gedruckt werden, entspricht dem Verhältnis zwischen der Anzahl von Druckdüsen in einem Band für den Druckkopf 130a und der Anzahl von Düsen in einem Band für den Druckkopf 130b. In dem anderen Schritt wird ein einzelner Durchgang von dem Druckkopf 130b in dem Bereich 402b bewirkt. Dank dieser Zwei-Schritt-Verarbeitung kann das Aufzeichnungsmedium 401 in einer einzigen Richtung kontinuierlich vorgeschoben werden, ohne dass eine Rückwärtszufuhr erforderlich ist, um einen Ausdruck des Bereichs 402b zu bewirken.
  • In 45A ist ein Flussdiagramm gezeigt, das Verarbeitungsschritte zeigt, die durch den Druckertreiber 114 in der Host-Verarbeitungsvorrichtung 23 ausgeführt werden, um die Druckauflösung für jeden Druckkopf unabhängig zu steuern und um zu befehlen, das hierdurch ein Ausdruck bewirkt wird. Allgemein gesprochen sind die Verarbeitungsschritte, die in 45A gezeigt sind, in Programmanweisungssequenzen gespeichert, die die Druckauflösung einstellen, indem die Tintentröpfchengröße für jeden Kopf unabhängig gesteuert wird und indem die Auslesereihenfolge aus dem Druckpuffer 139 für jeden Druckkopf unabhängig gesteuert wird.
  • Genauer gesagt gibt in Schritt S4501 ein Benutzer der Host-Verarbeitungsvorrichtung 23 einen Befehl von einer Anwendung aus, um Druckdaten zu drucken, wodurch der Druckertreiber 114 betätigt wird. Der Druckertreiber 114 führt tatsächlich viel mehr Funktionen aus als in dem Rest von 45 gezeigt, wobei aber lediglich diejenigen Funktionen beschrieben sind, die eine Auswirkung auf die unabhängige Einstellung der Druckauflösung haben. Somit bestimmt in Schritt S4502 der Druckertreiber 114, ob die Druckauflösung automatisch durch den Druckertreiber 114 bestimmt werden soll oder ob die Druckauflösung manuell durch den Benutzer bestimmt werden soll. In Schritt S4502 wird dem Benutzer eine Benutzerschnittstelle angezeigt, wie bspw. die repräsentative Benutzerschnittstelle, die in 46 gezeigt ist. Wie es dort zu sehen ist, stellt ein Abschnitt 410, wenn er durch den Benutzer ausgewählt wird, eine automatische Bestimmung der Druckauflösung bereit. Demgegenüber bestimmt, wenn 411 ausgewählt wird, der Benutzer manuell die Druckauflösung. Separate Auflösungen können für Nicht-Text-Grafiken sowie für Text spezifiziert werden, wobei der Benutzer in der Lage ist, manuell entweder eine hohe Geschwindigkeit (d.h. eine niedrige Auflösung) oder eine hohe Qualität (d.h. eine hohe Auflösung) für sowohl Text- als auch Nicht-Text-Bereiche zu bestimmen.
  • Zurück zu 45 verzweigt, wenn eine automatische Bestimmung ausgewählt worden ist, der Ablauf zu Schritt S4504, in dem der Druckertreiber 114 automatisch eine Auflösung für Grafiken auswählt, und dann zu Schritt S4505, in dem der Druckertreiber 114 eine Auflösung für Text automatisch auswählt. Die Auswahl der Auflösung für Grafiken und für Text beruht auf Kontinuitätston-Druckdaten und wird entsprechend dem Vorhandensein von Grafiken und anderen Nicht-Text-Informationen, dem Vorhandensein von Textinformationen, dem Typ des Aufzeichnungsmediums, das für den Ausdruck ausgewählt ist, und den relativen Druckkopfkonfigurationen des Druckkopfes 130a und des Druckkopfes 130b ausgeführt.
  • Der Ablauf geht als nächstes zu Schritt S4506 voran, in dem der Druckertreiber bestimmt, ob zweierlei Auflösungen spezifiziert worden sind, entweder manuell oder automatisch. Wenn nicht zweierlei Auflösungen spezifiziert worden sind, verzweigt der Ablauf zu Schritt S4507, um mit dem Drucken in einer gleichförmigen Auflösung für beide Köpfe fortzufahren. Demgegenüber geht, wenn zweifache Auflösungen spezifiziert worden sind, der Ablauf zu Schritt S4509 voran, um die Druckauflösung für jeden Druckkopf unabhängig zu steuern und hierdurch den Ausdruck zu bewirken.
  • Somit werden in Schritt S4509 Puffersteuerungstabellen definiert, von denen eine für jeden Kopf auswählbar ist und durch die jeder Druckkopf die Auslesereihenfolge für das Auslesen von Druckdaten aus dem zugehörigen jeweiligen Druckpuffer bestimmen kann. Die tatsächliche Auswahl, welche Puffersteuerungstabelle zu verwenden ist, wird erst später in der Prozedur bewirkt, wobei aber in Schritt S4509 lediglich geeignete Puffersteuerungstabellen für jede Auflösung und für jede Richtung des Ausdrucks definiert werden. Vorzugsweise wird der Definiere-Puffersteuerungstabellen-Befehl [DEFINE_CONTROL], der vorstehend in Abschnitt 3.6 beschrieben ist, verwendet.
  • Gleichsam werden in Schritt S4510 geeignete Wärmeimpulstabellen definiert, durch die die Ausstoßsequenz für jede Düse in den Druckköpfen 130a und 130b gesteuert wird. Die tatsächlichen Wärmeimpulstabellen, die durch die Druckköpfe 130a und 130b verwendet werden, werden nicht bei diesem Punkt ausgewählt, sondern es werden vielmehr geeignete Tabellen für eine spätere Auswahl definiert. Vorzugsweise wird der Definiere-Wärmeimpulstabellen-Befehl [DEFINE_PULSE], der vorstehend in Abschnitt 3.6 beschrieben ist, verwendet.
  • Der Ablauf schreitet dann zu Schritten S4511 bis S4530 voran, die (mit Ausnahme der Schritte S4520 und S4521) die Auflösung eines derzeitigen Druckbandes bestimmen, Drucksteuerungsbedingungen, wie bspw. die Tintenausstoßtropfengröße und die Pufferauslesereihenfolge, einstellen, Druckdaten senden und einen Ausdruck der übertragenen Druckdaten befehlen.
  • Genauer gesagt bestimmt Schritt S4511, ob ein Ausdruck für eine spezifisches Band oder einen Abschnitt eines Bandes ein Hochauflösungsausdruck oder ein Niedrigauflösungsausdruck ist. Wenn das Band oder der Abschnitt des Bandes ein Niedrigauflösungsausdruck ist, schreitet der Ablauf zu Schritt S4512 voran, der geeignete Tintenausstoßtröpfchengrößen für jeden der Köpfe 130a und 130b einstellt. Unter Verwendung des Beispiels aus 45 wird die Tröpfchengröße für den Kopf 130b groß eingestellt und die Tröpfchengröße für den Kopf 130a wird klein eingestellt. Vorzugsweise wird der Tröpfchengrößebefehl [DROP], der vorstehend in Abschnitt 3.6 definiert ist, verwendet.
  • In Schritt S4514 wählt der Druckertreiber 114 eine hohe Druckgeschwindigkeit entsprechend dem Niedrigauflösungsausdruck aus. Vorzugsweise wird der Auswahlgeschwindigkeitsbefehl [SPEED], der vorstehend in Abschnitt 3.6 definiert ist, verwendet.
  • Schritt S4516 wählt Versatze für die Auslesereihenfolge des Druckpuffers 139 entsprechend der ausgewählten niedrigen Auflösung aus. Genauer gesagt wählt Schritt S4516 eine der Puffersteuerungstabellen aus, die vorstehend in Schritt S4509 eingestellt werden. Vorzugsweise wird der Auswahlpuffersteuerungstabellenbefehl [SELECT_CONTROL), der vorstehend in Abschnitt 3.6 definiert ist, verwendet.
  • Schritt S4517 überträgt Bilddaten blockweise, wie es in Abschnitt 3.6 beschrieben ist, von dem Druckertreiber 114 zu dem Drucker 30 über eine bidirektionale Schnittstelle. Sobald ein vollständiges Band von Druckdaten zu dem Drucker 30 übertragen worden ist, initiiert der Druckertreiber 114 einen Ausdruck des Bandes in Schritt S4519 durch die Übertragung des Druckausführungsbefehls [PRINT]. Schritt S4520 bestimmt dann, ob weitere Bänder gedruckt werden müssen, wobei dementsprechend der Ablauf entweder zu Schritt S4511 zurückspringt oder der Ablauf bei Schritt S4521 endet.
  • Zurück zu Schritt S4511 werden, wenn ein Hochauflösungsband von Druckinformationen übertragen und gedruckt werden soll, Schritte S4522 bis S4530 in dem Druckertreiber 114 ausgeführt, um komplementäre Schritte zu den Niedrigauflösungsschritten gemäß S4512 bis S4519 auszuführen. Somit stellt Schritt S4522 kleine Tropfengrößen ein, Schritt S4525 stellt eine niedrige Druckgeschwindigkeit entsprechend der hohen Auflösung ein, Schritt S4526 wählt eine Hochauflösungsdüsenausstoßsequenz aus, Schritt S4527 wählt eine Auslesereihenfolge aus dem Druckpuffer 139 durch Auswahl einer der vordefinierten Puffersteuerungsversatztabellen aus, Schritt S4529 überträgt Hochauflösungsbilddaten bandweise zu dem Drucker 30 und Schritt S4530 initiiert den Ausdruck eines vollständig übertragenen Bandes.
  • Gemäß einem zweiten Ausführungsbeispiel druckt ein Druckkopf Bildelemente bzw. Pixel eines horizontalen Druckbandes in der Abtastrichtung des Druckers 30 in unterschiedlichen Auflösungen, ohne dass eine umgekehrte Blattzufuhr erforderlich ist, wodurch die gesamte Druckeffektivität vergrößert wird. Obwohl dieses Ausführungsbeispiel nachstehend mit Bezug auf einen Drucker beschrieben wird, der eine Vielzahl von Druckköpfen aufweist, ist anzumerken, dass das nachstehend beschriebene Ausführungsbeispiel ebenso signifikante Vorzüge bereitstellt, wenn es in Verbindung mit einem Einzeldruckkopfdrucken verwendet wird.
  • Wie es vorstehend beschrieben ist, kann die Auflösung, mit der ein Druckkopf druckt, manuell durch eine Benutzereingabe oder automatisch auf der Grundlage bspw. des Inhalts von Druckdaten, des Typs des Aufzeichnungsmediums oder, in dem Fall eines Mehrfachdruckkopfsystems, einer relativen Kopfkonfiguration der Druckköpfe 130a und 130b bestimmt werden.
  • Vorteilhafterweise empfängt der Drucker 30 folglich Befehle, um die Einstellung für jeden der Druckköpfe 130a und 130b unabhängig einzustellen, und führt den Ausdruck mit den eingestellten Auflösungen aus.
  • In 46A ist eine repräsentative Darstellung zur Beschreibung der Vorzüge einer Steuerung eines Druckkopfes, um mit einer Vielzahl von Auflösungen auszudrucken, gezeigt. In 46A bezeichnet Bezugszeichen 420 ein gedrucktes Blatt auf einem Aufzeichnungsmedium 421, das verschiedene Typen von Druckinformationen aufweist. Bereiche 420a, 420b, 420c und 420d sind Textbereiche, die hauptsächlich aus schwarzen und weißen Bereichen bestehen. Folglich werden die Informationen, die in diesen Textbereichen beinhaltet sind, in ausreichender. Weise in einer niedrigen Auflösung gedruckt. Im Gegensatz dazu ist ein Bereich 424 ein Nicht-Text-Bereich, wie bspw. ein Farbbild oder eine Grafik oder eine Linienzeichnung, für den eine hohe Auflösung bevorzugt ist. Es ist anzumerken, dass die Bereiche 420b und 424 bei einem gemeinsamen horizontalen Druckband in der Abtastrichtung des Druckers 30 positioniert sind.
  • Bezugszeichen 425 bezeichnet eine vergrößerte Darstellung eines Abschnittes des Bereichs 420b. Die vergrößerte Darstellung 425 zeigt die Druckköpfe 130a und 130b. Jeder der Druckköpfe 130a und 130b umfasst Gelb-, Magenta-, Zyan- und Schwarz-Druckdüsen, die vertikal angeordnet sind, mit 24 Düsen für Gelb, 24 Düsen für Magenta, 24 Düsen für Zyan und 64 Düsen für Schwarz. Es ist ersichtlich, dass andere Konfigurationen für die Köpfe 130a und 130b möglich sind.
  • Da der Bereich 420b ein Textbereich ist, für den eine niedrige Auflösung adäquat ist, wird ein Drucken in dem Bereich 420b in einer Niedrigauslösungs-/Hochgeschwindigkeitsbetriebsart ausgeführt, wie es bei 425 gezeigt ist. In dem Bereich 425 wird ein Niedrigauflösungsband 426 durch die Druckköpfe 130a und 130b gedruckt und ist in einer querschraffierten Hervorhebung gezeigt. Um mit dieser Auflösung zu drucken, wird dem Drucker 30 befohlen, die Druckköpfe 130a und 130b in eine Große-Tröpfchen-Ausstoßbetriebsart zu setzen, wobei Druckdaten, die aus dem Druckpuffer 130 ausgelesen werden, entsprechend der ausgewählten Auflösung ausgewählt werden. Diese Schritte sind ausführlicher in Verbindung mit dem Flussdiagramm gemäß 46B nachstehend beschrieben.
  • Im Gegensatz zu dem Bereich 420b ist der Bereich 424 ein Bereich, für den ein Hochauflösungsausdruck gewünscht ist. Diese Situation ist in dem vergrößerten Bereich bei Bezugszeichen 427 gezeigt, der einen Ausdruck durch die Druckköpfe 130a und 130b nur bei einem Band 429 zeigt. Wie es nachstehend ausführlicher in Verbindung mit dem Flussdiagramm gemäß 46B beschrieben ist, wird, um einen Ausdruck in dem bei 429 gezeigten Band zu bewirken, den Druckköpfen 130a und 130b befohlen, Tinte in kleinen Tröpfchen auszustoßen, wobei das Datenauslesen aus dem Druckpuffer 139 entsprechend der ausgewählten Auflösung ausgewählt wird.
  • Um Bereiche, wie bspw. 420b und 424, zu drucken, die in einer lateralen oder seitlichen Richtung in der Richtung einer Abtastung der Druckköpfe 130a und 130b über dem Aufzeichnungsmedium 421 gemischt sind, wird eine Zwei-Schritt-Prozedur eingesetzt. In einem Schritt werden sequenzielle Bänder, wie bspw. das Band 429, durch die Druckköpfe 130a und 130b gedruckt. Die Anzahl von sequenziellen Bändern, wie bspw. 429, die gedruckt werden, entspricht dem Verhältnis zwischen der Anzahl von Druckdüsen jeweils für Zyan-, Magenta- und Geld-Tinten, in diesem Fall 24, und der Anzahl von Düsen, die für schwarze Farbe verwendet werden, in diesem Fall 64. In dem zweiten Schritt wird ein einzelner Durchlauf von den Druckköpfen 130a und 130b ausgeführt, wodurch ein Band des Bereichs 420b gedruckt wird. Während des zweiten Durchgangs wird Tinte in einer niedrigen Auflösung von den Schwarz-Düsen der Druckköpfe 130a und 130b ausgestoßen. Dank dieser Zwei-Schritt-Verarbeitung kann das Aufzeichnungsmedium 420 in einer einzigen Richtung vorgeschoben werden, ohne dass eine Rückwärtszufuhr erforderlich ist, um einen Ausdruck mit variierter Auflösung des Bereichs 402b und 424 zu bewirken.
  • In 46B ist ein Flussdiagramm gezeigt, das Verarbeitungsschritte zeigt, die durch den Druckertreiber 114 der Host-Verarbeitungsvorrichtung 23 ausgeführt werden, um die Druckauflösung für jeden Druckkopf zu steuern und um einen hierdurch zu bewirkenden Ausdruck zu befehlen. Allgemein gesprochen sind die in 46B gezeigten Verarbeitungsschritte gespeicherte Programmanweisungssequenzen, die die Druckauflösung einstellen, indem die Tintentröpfchengröße für jeden Kopf gesteuert wird und indem die Auslesereihenfolge aus dem Druckpuffer 139 für jeden Druckkopf gesteuert wird.
  • Genauer gesagt gibt in Schritt S4601 ein Benutzer der Host-Verarbeitungsvorrichtung 23 einen Befehl von einer Anwendung zum Drucken von Druckdaten aus, wodurch der Druckertreiber 114 betätigt wird. Der Druckertreiber 114 führt tatsächlich viel mehr Funktionen als in dem Rest der 46 gezeigt aus, wobei aber lediglich diejenigen Funktionen, die eine Auswirkung auf die Einstellung der Druckauflösung haben, beschrieben sind. Somit bestimmt in Schritt S4602 der Druckertreiber 114, ob die Druckauflösung automatisch durch den Druckertreiber 114 bestimmt werden soll oder ob die Druckauflösung manuell durch den Benutzer bestimmt werden soll. In Schritt S4602 wird dem Benutzer eine Benutzerschnittstelle angezeigt, wie bspw. die repräsentative Benutzerschnittstelle, die in 46 gezeigt ist. Wie es hier gezeigt ist, stellt ein Abschnitt 410, wenn er durch den Benutzer ausgewählt wird, eine automatische Bestimmung der Druckauflösung bereit. Demgegenüber bestimmt, wenn 411 ausgewählt wird, der Benutzer manuell die Druckauflösung. Separate Auflösungen können für Nicht-Text-Grafiken sowie für Text spezifiziert werden, wobei der Benutzer in der Lage ist, manuell entweder eine hohe Geschwindigkeit (d.h. eine niedrige Auflösung) oder eine hohe Qualität (d.h. eine hohe Auflösung) für jede der Text- und Nicht-Text-Bereiche zu bestimmen.
  • Zurück zu 46B verzweigt, wenn die automatische Bestimmung ausgewählt worden ist, der Ablauf zu Schritt S4604, in dem der Druckertreiber 114 die Auflösung für Grafiken automatisch auswählt, und dann zu Schritt S4605, in dem der Druckertreiber 114 die Auflösung für Text automatisch auswählt. Die Auswahl der Auflösung für Grafiken und für Text beruht auf Kontinuitätston-Druckdaten und wird entsprechend dem Vorhandensein von Grafiken und anderen Nicht-Text-Informationen, dem Vorhandensein von Textinformationen, dem Typ des Aufzeichnungsmediums, das für den Ausdruck ausgewählt ist, und in dem Fall eines Mehrfachdrucksystems, wie dasjenige, das hier beschrieben ist, den relativen Druckkopfkonfigurationen des Druckkopfs 130a und des Druckkopfs 130b ausgeführt.
  • Der Ablauf schreitet als nächstes zu Schritt S4606 voran, in dem der Druckertreiber 114 bestimmt, ob zweifache Auflösungen spezifiziert worden sind, entweder manuell oder automatisch. Wenn keine zweifachen Auflösungen spezifiziert worden sind, verzweigt der Ablauf zu Schritt S4607, um mit einem Drucken in einer gleichförmigen Auflösung für beide Köpfe fortzufahren. Demgegenüber geht, wenn eine zweifache Auflösung spezifiziert worden ist, der Ablauf zu Schritt S4609 voran, um die Druckauflösung jedes Druckkopfes zu steuern und hierdurch den Ausdruck zu bewirken.
  • Somit definiert Schritt S4609 Puffersteuerungstabellen, von denen eine für jeden Kopf auswählbar ist und durch die jeder Druckkopf eine Auslesereihenfolge für das Auslesen der Druckdaten aus dem zugehörigen jeweiligen Druckpuffer bestimmen kann. Die tatsächliche Auswahl, welche Puffersteuerungstabelle zu verwenden ist, wird erst später in der Prozedur bewirkt, wobei aber Schritt S4609 lediglich geeignete Puffersteuerungstabellen für jede Auflösung und für jede Richtung des Ausdrucks definiert. Vorzugsweise wird der Definiere-Puffersteuerungstabellen-Befehl [DEFINE_CONTROL], der vorstehend in Abschnitt 3.6 beschrieben ist, verwendet.
  • Gleichsam definiert Schritt S4610 geeignete Wärmeimpulstabellen, durch die die Ausstoßsequenz für jede Düse in den Druckköpfen 130a und 130b gesteuert wird. Die tatsächlichen Wärmeimpulstabellen, die durch die Druckköpfe 130a und 130b verwendet werden, werden nicht bei diesem Punkt ausgewählt, sondern geeignete Tabellen werden vielmehr für eine spätere Auswahl definiert. Vorzugsweise wird der Definiere-Wärmeimpulstabellen-Befehl [DEFINE_PULSE], der vorstehend in Abschnitt 3.6 beschrieben ist, verwendet.
  • Der Ablauf schreitet dann zu Schritten S4611 bis S4630 voran, die (mit Ausnahme der Schritte S4620 und S4621) die Auflösung eines derzeitigen Druckbandes bestimmen, Drucksteuerungsbedingungen, wie bspw. eine Tintenausstoßtropfengröße und eine Pufferauslesereihenfolge, einstellen, Druckdaten senden und einen Ausdruck der übertragenen Druckdaten befehlen. Genauer gesagt bestimmt Schritt S4611, ob ein Ausdruck für ein spezifisches Band oder einen Abschnitt eines Bandes ein Hochauflösungsausdruck oder ein Niedrigauflösungsausdruck ist. Wenn das Band oder der Abschnitt des Bandes ein Niedrigauflösungsausdruck ist, schreitet der Ablauf zu Schritt S4612 voran, der geeignete Tintenausstoßtröpfchengrößen für jeden der Köpfe 130a und 130b einstellt. Unter Verwendung des Beispiels gemäß 44 wird die Tröpfchengröße für die Köpfe 130a und 130b groß eingestellt. Vorzugsweise wird der Tröpfchengrößebefehl [DROP], der vorstehend in Abschnitt 3.6 definiert ist, verwendet.
  • In Schritt S4614 wählt der Druckertreiber 114 die hohe Druckgeschwindigkeit aus, die dem Niedrigauflösungsausdruck entspricht. Vorzugsweise wird der Auswahlgeschwindigkeitsbefehl [SPEED], der vorstehend in Abschnitt 3.6 definiert ist, verwendet.
  • Schritt S4616 wählt Versatze für die Auslesereihenfolge des Druckpuffers entsprechend der ausgewählten niedrigen Auflösung aus. Genauer gesagt wählt Schritt S4616 eine der Puffersteuerungstabellen aus, die vorstehend in Schritt S4609 eingestellt werden. Vorzugsweise wird der Auswahlpuffersteuerungstabellenbefehl [SELECT_CONTROL], der vorstehend in Abschnitt 3.6 definiert ist, verwendet.
  • Schritt S4617 überträgt Bilddaten blockweise, wie es in Abschnitt 3.6 beschrieben ist, von dem Druckertreiber 114 zu dem Drucker 30 über eine bidirektionale Schnittstelle. Sobald ein vollständiges Band von Druckdaten zu dem Drucker 30 übertragen worden ist, initiiert der Druckertreiber 114 einen Ausdruck des Bandes in Schritt S4619 durch die Übertragung des Druckausführungsbefehls [PRINT]. Schritt S4620 bestimmt dann, ob weitere Bänder gedruckt werden müssen, wobei dementsprechend der Ablauf entweder zu Schritt S4611 zurückspringt oder der Ablauf bei Schritt S4621 endet.
  • Zurück zu Schritt S4611 werden, wenn ein Hochauflösungsband der Druckinformationen zu übertragen und zu drucken ist, Schritte S4622 bis S4630 in dem Druckertreiber 114 ausgeführt, um komplementäre Schritte zu den Hochauflösungsschritten gemäß S4612 bis S4619 auszuführen. Somit stellt Schritt S4622 kleine Tropfengrößen ein, Schritt S4624 stellt geeignete große Puffergrößen ein, Schritt S4625 stellt eine niedrige Druckgeschwindigkeit entsprechend der hohen Auflösung ein, Schritt S4626 wählt eine Hochauflösungs-Düsenausstoßsequenz aus, Schritt S4627 wählt eine Auslesereihenfolge aus dem Druckpuffer 139 aus, indem eine der vordefinierten Puffersteuerungsversatztabellen ausgewählt wird, Schritt S4629 überträgt Hochauflösungsbilddaten bandweise zu dem Drucker 30 und Schritt S4630 initiiert einen Ausdruck eines vollständig übertragenen Bandes.
  • Aus der Sicht des Druckers 30 zeigt 47 ein Flussdiagramm, das die Verarbeitungsschritte veranschaulicht, die durch den Drucker 30 für eine unabhängige Druckauflösungseinstellung ausgeführt werden. Somit empfängt in Schritt S4701 der Drucker 30 Steuerungsbefehle, um den Drucker 30 für eine hohe oder eine niedrige Druckauflösung für jeden Druckkopf vorzubereiten. Wie es vorstehend beschrieben ist, umfassen diese Steuerungsbefehle Befehle zum Einstellen der Geschwindigkeit eines Druckens, der Größe der ausgestoßenen Düse, der Düsenausstoßsequenz und der Druckpufferauslesereihenfolge.
  • In Schritt S4702 werden die Druckdaten von dem Druckertreiber 114 empfangen, was in Schritt S4703 durch einen Druckbefehl gefolgt wird. Danach werden in Schritt S4704 in Abhängigkeit davon, ob eine hohe oder eine niedrige Druckauflösung befohlen worden ist, die in Schritt S4702 empfangenen Druckdaten gedruckt, wie es in Schritt S4701 befohlen wird. Somit werden, wie es in Schritt S4705 gezeigt ist, für eine hohe Druckauflösung Druckdaten mit einer niedrigen Geschwindigkeit, mit einer kleinen Tröpfchengröße, mit einer Hochauflösungsdüsenimpulssequenztabelle und mit einer Hochauflösungspuffersteuerungsauslesereihenfolge gedruckt. Gleichsam wird in Schritt S4706 für einen Niedrigauflösungsausdruck ein Ausdruck mit einer hohen Geschwindigkeit, mit einer großen Tröpfchengröße, mit einer Niedrigauflösungsdüsenimpulssequenztabelle und mit einer Niedrigauflösungspufferversatzauslesesequenz ausgeführt. In jedem Fall schreitet der Ablauf zu Schritt S4707 voran, um die nächste Druckbefehlssequenz zu erwarten.
  • Wie es unter Bezugnahme auf die 46A und 46B beschrieben ist, kann ein einzelner Druckkopf gesteuert werden, um Druckdaten auf einem einzelnen Druckband in einer Abtastrichtung unter Verwendung beider Sätze von Druckeigenschaften, die in Schritt S4705 und Schritt S4706 angegeben sind, zu drucken.
  • 11.0 Auswahl alternativer Tinten
  • Wie es vorstehend beschrieben ist, kann der Drucker 30 konfiguriert werden, um verschiedene Typen von Tinte auf einem einzelnen Aufzeichnungsmedium auszugeben. Vorteilhafterweise ermöglicht dieses Merkmal dem Drucker 30, ein Bild unter Verwendung sowohl von farbstoffbasierender Schwarz-Tinte als auch pigmentbasierender Schwarz-Tinte zu drucken.
  • Gemäß einem bevorzugten Ausführungsbeispiel wird farbstoffbasierende Schwarz-Tinte in Verbindung mit unterschiedlich gefärbten Tinten verwendet, um das Farbdrucken zu vereinfachen. Als Ergebnis ermöglicht die farbstoffbasierende Schwarz-Tinte, wenn sie zum Drucken von schwarzen Bildelementen in einem Farbbild verwendet wird, dem Farbbild, eine im Wesentlichen gleichförmige optische Dichte aufrechtzuerhalten.
  • Im Gegensatz dazu weist pigmentbasierende Schwarz-Tinte, wenn sie zum Drucken von schwarzen Bildelementen in einem Farbbild verwendet wird, einen scharfen Kontrast mit anderen Bereichen des Farbbilds auf, wodurch die Gleichförmigkeit des Farbbilds gestört ist. Es gibt jedoch viele Fälle, in denen es wünschenswert ist, einen deutlichen Kontrast zwischen einem gedruckten schwarzen Bereich und einem unterschiedlich gefärbten Bereich aufrechtzuerhalten. Am bemerkenswertesten unter diesen Fällen ist das Drucken eines schwarzen Textes auf einem weißen Aufzeichnungsmedium. Folglich wird pigmentbasierende Schwarz-Tinte vorzugsweise zum Drucken von Textdaten verwendet.
  • Folglich beruht in dem vorstehend beschriebenen Ausführungsbeispiel die Auswahl von farbstoffbasierender Schwarz-Tinte oder pigmentbasierender Schwarz-Tinte zum Drucken eines schwarzen Zielbildelements auf dem Inhalt von Bilddaten, die das schwarze Zielbildelement umgeben. Genauer gesagt wird in einem Fall, bei dem bestimmt oder beurteilt wird, dass ein schwarzes Zielbildelement einem unterschiedlich gefärbten Bereich der Bilddaten entspricht, das Zielbildelement unter Verwendung einer farbstoffbasierenden Schwarz-Tinte gedruckt. Wenn dies nicht der Fall ist, wird das Zielbildelement unter Verwendung einer pigmentbasierenden Schwarz-Tinte gedruckt. Ein Verfahren zur Beurteilung, ob ein schwarzes Bildelement einem unterschiedlich gefärbten Bereich der Bilddaten entspricht, ist nachstehend unter Bezugnahme auf 49 beschrieben. Vorzugsweise wird eine derartige Beurteilung auf der Grundlage von Mehrfachpegel-Bilddaten ausgeführt, so dass eine genaue Charakterisierung des Bildinhalts erreicht werden kann.
  • Da die vorstehend beschriebenen visuellen Eigenschaften der verschiedenen Tinten von den Graden der Tintendurchdringung in ein Aufzeichnungsmedium abhängen, spielt der Aufzeichnungsmediumtyp eine wichtige Rolle bei der Bestimmung, ob farbstoffbasierende oder andere Hochdurchdringungs-Schwarz-Tinten oder Niedrigdurchdringungs-Schwarz-Tinten, wie bspw. pigmentbasierende Tinten, für einen spezifischen Druckauftrag geeigneter sind.
  • Es hat sich bspw. gezeigt, dass normales Papier schwache Tintenabsorptionsqualitäten zeigen und folglich nicht für eine Verwendung mit Hochdurchdringungs-Schwarz-Tinten wünschenswert sind, da sich die Tinten nicht in effektiver Weise mit den Aufzeichnungsmedien verbinden, um beständig reproduzierbare Farben zu erzeugen. Demgegenüber ist spezialbeschichtetes Papier verfügbar, das eine gleichförmigere Verbindung von verschiedenfarbigen Hochdurchdringungstinten, die darauf aufgebracht werden, bereitstellt. Unglücklicherweise ist ein derartiges spezialbeschichtetes Papier für die Verwendung mit Niedrigdurchdringungstinten ungeeignet.
  • In Anbetracht des vorstehend beschriebenen hängt der Tintentyp, der zum Drucken von Bildelementen auf einem Aufzeichnungsmedium verwendet wird, vorzugsweise sowohl von dem Typ des Bilds, das die Bildelementdaten beinhaltet, als auch des Aufzeichnungsmediums, auf dem die Tinte zu platzieren ist, ab.
  • In 48 ist ein Flussdiagramm zur Beschreibung eines Verfahrens einer Tintenauswahl auf der Grundlage des Aufzeichnungsmediumstyps und des Bildinhalts gezeigt. Im Allgemeinen wird, um einen Tintenstrahldrucker zu steuern, Bildelemente, die Mehrfachpegel-Bilddaten entsprechen, auf einem Aufzeichnungsmedium unter Verwendung entweder einer ersten Tinte oder einer zweiten Tinte zu drucken, bestimmt, ob das Aufzeichnungsmedium normales Papier oder spezialbeschichtetes Papier ist, wobei in dem Fall, dass bestimmt wird, dass die Aufzeichnungsmedien spezialbeschichtetes Papier sind, dem Drucker befohlen wird, ein Zielbildelement unter Verwendung der ersten Tinte zu drucken. Demgegenüber wird in dem Fall, dass bestimmt wird, dass die Aufzeichnungsmedien normales Papier sind, bestimmt, ob das Zielbildelement einem unterschiedlich gefärbten Bereich entspricht oder nicht. In dem Fall, dass das Zielbildelement einem unterschiedlich gefärbten Bereich entspricht, wird der Drucker angewiesen, das Zielbildelement unter Verwendung der ersten Tinte zu drucken. Im Gegensatz dazu wird in dem Fall, dass das Zielbildelement keinem unterschiedlich gefärbten Bereich entspricht, der Drucker angewiesen, das Zielbildelement unter Verwendung der zweiten Tinte zu drucken.
  • Genauer gesagt beginnt der Ablauf bei Schritt S4801, wobei ein Papiertyp bestimmt wird. Wie es in der Figur gezeigt ist, zieht das bevorzugte Ausführungsbeispiel die Verwendung von entweder normalen Papier oder spezial beschichteten Papier in Erwägung. Vorzugsweise ist das spezialbeschichtete Papier ein "Hochauflösungspapier" HR-101, wie es in Abschnitt 1.0 beschrieben ist.
  • In dem Fall, dass bestimmt wird, dass der Papiertyp spezialbeschichtetes Papier ist, geht der Ablauf zu Schritt S4802 voran, in dem bestimmt wird, dass eine Hochdurchdringungstinte für das Drucken von schwarzen Bildelementdaten verwendet werden soll. Diese Bestimmung beruht auf der Annahme, dass Hochdurchdringungs-Schwarz-Tinte für das Drucken von schwarzen Bildelementdaten auf einem spezialbeschichteten Aufzeichnungsmedium unabhängig vom Bildtyp immer besser geeignet ist.
  • Wenn in Schritt S4801 bestimmt wird, dass der Papiertyp normal ist, schreitet der Ablauf zu Schritt S4803 voran, in dem bestimmt wird, ob ein schwarzes Zielbildelement in einem Farbbereich des zu druckenden Bilds vorhanden ist. Wenn dies der Fall ist, schreitet der Ablauf zu Schritt S4802 voran, wie es vorstehend beschrieben ist. Wenn nicht, schreitet der Ablauf zu Schritt S4804 voran, in dem bestimmt wird, das Zielbildelement unter Verwendung der Niedrigdurchdringungs-Schwarz-Tinte zu drucken.
  • Gemäß einem bevorzugten Ausführungsbeispiel wird die Bestimmung gemäß Schritt S4803 ausgeführt, indem Bildelemente, die das Zielbildelement umgeben, untersucht werden. In 49 ist ein Diagramm zur Beschreibung dieses spezifischen Ausführungsbeispiels gezeigt.
  • In 49 ist ein schwarzes Zielbildelement 415 innerhalb eines 5 × 5 Gitters von Bilddaten 416 gezeigt. Jede Unterteilung des Gitters 416 stellt ein einzelnes Bildelement dar. Vorzugsweise wird jedes Bildelement durch drei 8-Bit-Werte dargestellt, wobei jeder 8-Bit-Wert rote, grüne und blaue Komponenten des Bildelements darstellt. Um zu bestimmen, ob sich das schwarze Zielbildelement 415 in einem unterschiedlich gefärbten Bereich befindet, werden die roten, grünen und blauen Komponenten jedes Bildelements in dem Gitter 416 unter Verwendung der nachstehenden Gleichungen verglichen: |R – B| < α; |B – G| < β; und |G – R| < γ,wobei α, β und γ relativ kleine Werte sind.
  • Wenn jede Gleichung für jedes Bildelement innerhalb des Gitters 416 erfüllt ist, wird bestimmt, dass das schwarze Zielbildelement 415 nicht innerhalb eines unterschiedlich gefärbten Bereichs vorhanden ist. Alternativ hierzu kann der Schritt S4803 erfordern, dass die roten, grünen und blauen Komponenten jedes Bildelements in dem Gitter 416 die Gleichung R = G = B erfüllen, um zu bestimmen, dass das Zielbildelement nicht innerhalb eines unterschiedlich gefärbten Bereichs vorhanden ist. Dieses alternative Verfahren ist jedoch für Fehler in den Bilddaten empfänglich, die durch Rauschen, eine schlechte Abtastung oder dergleichen verursacht werden. Dementsprechend werden α, β und γ verwendet, wie es vorstehend gezeigt ist, um eine kleine Toleranz für Datenfehler bereitzustellen. Es ist ersichtlich, dass andere Verfahren in Schritt S4803 für die Bestimmung davon, ob das schwarze Zielbildelement 415 innerhalb eines unterschiedlich gefärbten Bereichs ist, verwendet werden können.
  • Vorteilhafterweise werden Mehrfachpegeldaten verwendet, um unterschiedlich gefärbte Bereiche in dem vorstehend beschriebenen Ausführungsbeispiel zu bestimmen. Im Gegensatz dazu kann ein System, das binarisierte Daten zur Bestimmung von unterschiedlich gefärbten Bereichen verwendet, einen 50%-Graubereich der ursprünglichen Bilddaten irrtümlich interpretieren, aus wechselnden Bereichen von schwarzen und weißen Bildelementen zu bestehen. Als Ergebnis ist es möglich, dass ungeeignete Tinten zum Drucken der "Schwarz"-Bereiche verwendet werden.
  • Es sollte erkannt werden, dass es, obwohl sich die vorstehende Beschreibung der Auswahl von alternativen Tinten im Wesentlichen auf eine Hochdurchdringungs-Schwarz-Tinte und eine Niedrigdurchdringungs-Schwarz-Tinte fokusiert, in Betracht gezogen wird, das Vorstehende in Verbindung mit einer beliebigen ersten Tinte und zweiten Tinte zu verwenden, die sich voneinander in der Farbe, der Durchdringungseigenschaft oder einer anderen Eigenschaft, wie bspw. der Viskosität oder Dichte, unterscheiden.
  • Des Weiteren kann, obwohl normale und spezialbeschichtete Hochauflösungspapiere vorstehend beschrieben sind, eine Bestimmung einer geeigneten Tinte auf einem beliebigen Medientyp basieren. Zusätzlich in Betracht gezogene Medien umfassen, neben anderen, Transparentkopien, Glanzpapier, Glanzfilm, Back-Print-Film, Stoffplatten, eine T-Shirt-Übertragung, Bubble-Jet-Papier, Gruß kartenmaterial und Broschürenpapier. Diesbezüglich kann der Papiertyp durch einen Papiersensor erfasst werden, der sich in dem Drucker 30 befindet, oder durch eine Benutzerschnittstelle eingegeben werden, die auf einem Anzeigebildschirm 22 angezeigt wird, oder über eine Taste eingegeben werden, die sich bei dem Drucker 30 befindet.
  • Es ist ebenso anzumerken, dass in dem bevorzugten Ausführungsbeispiel der Druckertreiber 114 computerausführbare Schritte beinhaltet, um den Ablauf gemäß 48 auszuführen. Es ist ersichtlich, dass diese Schritte vollständig in dem ROM 122 des Druckers 30 beinhaltet sein können oder verbunden mit computerlesbaren Speichern des Host-Computers 23 und des Druckers 30 gespeichert sein können.
  • 11.1 Auswahl von CMYK-Schwarz oder Pigment-Schwarz
  • Es ist angemerkt worden, das PCBk verwendet werden kann, um schwarze Bildelemente auf einem Aufzeichnungsmedium zu drucken. Alternativ hierzu sind pigmentbasierende Schwarz-Tinten und farbstoffbasierende Schwarz-Tinten ebenso verwendet worden, um derartige Bildelemente zu drucken. Der Drucker 30 stellt eine zusätzliche Funktionalität durch Bereitstellen eines auswählbaren Druckens von schwarzen Bildelementen unter Verwendung entweder einer pigmentbasierenden Schwarz-Tinte oder einer Kombination von farbstoffbasierenden Zyan-, Magenta-, Gelb- und Schwarz-Tinten bereit.
  • Um dies auszuführen, wird anfangs bestimmt, ob ein schwarzes Zielbildelement einem unterschiedlich gefärbten Bereich entspricht. In dem Fall, dass bestimmt wird, dass das schwarze Zielbildelement nicht einem unterschiedlich gefärbten Bereich entspricht, wird ein Drucker angewiesen, das schwarze Zielbildelement unter Verwendung einer pigmentbasierenden Schwarz-Tinte zu drucken. Andernfalls wird der Drucker angewiesen, das schwarze Zielbildelement unter Verwendung einer farbstoffbasierenden Schwarz-Tinte und einer farbstoffbasierenden Tinte jeder Subtraktionsprimärfarbe zu drucken.
  • 49A ist ein Flussdiagramm zur spezifischen Beschreibung der vorstehend genannten Merkmale. In Schritt S4901 wird bestimmt, ob ein schwarzes Zielbildelement einem Farbbereich entspricht. Vorzugsweise beruht diese Bestimmung auf Mehrfachpegeldaten, die einen Bereich darstellen, der benachbart zu dem schwarzen Zielbildelement ist. Ein derartiges Verfahren ist ausführlich vorstehend unter Bezugnahme auf 49 beschrieben und wird folglich hier weggelassen.
  • In dem Fall, dass bestimmt wird, dass das Zielbildelement in einem Farbbereich vorhanden ist, schreitet der Ablauf zu Schritt S4902 voran, in dem das Zielbildelement unter Verwendung einer Kombination von farbstoffbasierender Schwarz-Tinte und farbstoffbasierenden Zyan-, Magenta- und Gelb-Tinten gedruckt wird. Bei Erreichen eines Schritts S4904 ist bestimmt worden, dass das Zielbildelement nicht in einem Farbbereich vorhanden ist. Als Ergebnis wird das Zielbildelement unter Verwendung einer pigmentbasierenden Schwarz-Tinte gedruckt.
  • Bemerkenswerterweise ermöglichen die vorstehend beschriebenen Merkmale, dass schwarze Bildelemente innerhalb von Farbbereichen eines Bilds eine echtere schwarze Farbe zeigen als diejenigen, die unter Verwendung von PCBk erhalten werden, während eine Vermischung von verschiedenen farbstoffbasierenden Tinten verwendet wird, um eine relativ gleichförmige Ausgangsdichte innerhalb des Farbbereichs aufrechtzuerhalten. Zusätzlich ermöglicht die vorstehend beschriebene Auswählbarkeit, dass isolierte schwarze Bildelemente unter Verwendung einer pigmentbasierenden Schwarz-Tinte gedruckt werden, wodurch eine genauere Reproduktion von derartigen schwarzen Bilddaten ermöglicht wird.
  • Wie es vorstehend unter Bezugnahme auf vorangehenden Ausführungsbeispiele angegeben ist, beinhaltet der Druckertreiber 114 computerausführbare Schritte, um den Ablauf gemäß 49A auszuführen. Es ist ersichtlich, dass diese Schritte vollständig in dem ROM 122 des Druckers 30 beinhaltet sein können oder verbunden in computerlesbaren Speichern des Host-Computers 23 und des Druckers 30 gespeichert sein können.
  • 11.2 Grenzbereichsdrucken
  • Wie es vorstehend beschrieben ist, leiden herkömmlich gedruckte Schwarz-/Farb-Grenzbereiche an mehreren Defiziten. Zuerst werden derartige Bereiche oftmals auf der Grundlage von binarisierten Daten eines ursprünglichen Mehrfachpegelbilds identifiziert. Binarisierte Bilddaten sind jedoch oftmals nicht genau an die tatsächlichen Mehrfachpegel-Bilddaten angenähert. Als Ergebnis kann ein Grenzbereich bei einer Position "identifiziert" werden, wo kein derartiger Bereich in dem ursprünglichen Bild vorhanden ist.
  • Zweitens tendieren Niedrigdurchdringungs-Schwarz-Tinten die zum Drucken eines schwarzen Bereichs verwendet werden, dazu, in benachbarte Farbbereiche zu verlaufen, die unter Verwendung einer Hochdurchdringungstinte gedruckt werden. PCBk ist als ein Puffer zwischen einem derartigen Farbbereich und einem Bereich einer Niedrigdurchdringungs-Schwarz-Tinte vorgeschlagen worden. Wie es jedoch in 50A gezeigt ist, ist ein derartiger Puffer unbefriedigend, da die unterschiedlichen optischen Dichten des PCBk-Bereichs 422 und des Niedrigdurchdringungs-Schwarz-Tintenbereichs 424 eine abrupte visuelle Diskontinuität verursachen.
  • Es ist ebenso vorgeschlagen worden, Schwarz-/Farb-Grenzbereiche unter Verwendung einer Hochdurchdringungs-Schwarz-Tinte und eines PCBk-"Puffers" zu drucken. Wie es in 50B gezeigt ist, ist, obwohl die optischen Dichten des PCBk-Bereichs 426 und des Hochdurchdringungs-Schwarz-Tintenbereichs 427 ähnlicher sind als in 50A gezeigt, die schwarze Farbe, die durch die Hochdurchdringungs-Schwarz-Tinte erzeugt wird, für eine Erzeugung eines hochqualitativen Vollschwarzbereichs ungeeignet.
  • In 51 ist ein Flussdiagramm gezeigt, das ein Verfahren zum Drucken eines Grenzbereichs beschreibt. Im Allgemeinen umfasst das Verfahren ein Erfassen einer Grenze zwischen einem schwarzen Bereich eines Bilds und eines unterschiedlich gefärbten Bereichs des Bilds, ein Anweisen eines Druckers, einen ersten Bereich von schwarzen Bildelementen in dem schwarzen Bereich und benachbart zu der Grenze unter Verwendung von Verarbeitungsschwarz (process black) zu drucken, ein Anweisen des Druckers, einen zweiten Bereich von schwarzen Bildelementen in dem schwarzen Bereich und benachbart zu dem ersten Bereich unter Verwendung einer Hochdurchdringungs-Schwarz-Tinte zu drucken, und ein Anweisen des Druckers, einen dritten Bereich von schwarzen Bildelementen in dem schwarzen Bereich und benachbart zu dem zweiten Bereich unter Verwendung einer Niedrigdurchdringungs-Schwarz-Tinte zu drucken.
  • Genauer gesagt beginnt der Ablauf bei Schritt S5101, indem eine Grenze zwischen einem schwarzen Bereich eines Bilds und eines unterschiedlich gefärbten Bereichs des Bilds erfasst wird. Unter Bezugnahme auf 50C resultiert Schritt S5101 in einer Erfassung einer Grenze 429 zwischen einem unterschiedlich gefärbten Bereich 430 und einem schwarzen Bereich 432. Wie es vorstehend beschrieben ist, beruht die Grenzerfassung vorzugsweise auf Mehrfachpegelbilddaten, um schwarze/unterschiedlich gefärbte Grenzen genauer als Systeme zu erfassen, die eine Grenzerfassung unter Verwendung von binarisierten Bilddaten ausführen.
  • Der Ablauf schreitet zu Schritt S5102 voran, in dem ein Drucker angewiesen wird, einen ersten Bereich der schwarzen Bildelemente unter Verwendung von PCBk zu drucken. Wie es in 50C gezeigt ist, ist der erste Bereich 431 innerhalb des schwarzen Bereichs 432 und benachbart zu der Grenze 429.
  • Als nächstes wird in Schritt S5103 der Drucker angewiesen, einen zweiten Bereich von schwarzen Bildelementen unter Verwendung einer Hochdurchdringungs-Schwarz-Tinte zu drucken. Der zweite Bereich ist in 50C als ein Bereich 434 gezeigt. Vorteilhafterweise ist der zweite Bereich 434 benachbart zu dem ersten Bereich 431 und innerhalb des schwarzen Bereichs 432.
  • Zuletzt wird der Drucker in Schritt S5104 angewiesen, einen dritten Bereich von schwarzen Bildelementen unter Verwendung einer Niedrigdurchdringungs-Schwarz-Tinte zu drucken. Wie es in 50C gezeigt ist, ist der dritte Bereich 436 benachbart zu dem zweiten Bereich 434 und innerhalb des schwarzen Bereichs 432.
  • Es ist zu verstehen, dass Größen des ersten, zweiten und dritten Bereichs auf der Grundlage einer Anzahl von PCBk-Bildelementen, die erwünscht sind, und einer Anzahl von Hochdurchdringungs-Schwarz-Tintenbildelementen, die gewünscht sind, in einem Grenzbereich zwischen einem schwarzen Bereich und einem unterschiedlich gefärbten Bereich eingestellt werden.
  • Als Ergebnis des Ablaufs gemäß 51 ändert sich die optische Dichte allmählich über einer Grenze zwischen einem schwarzen Bereich und einem unterschiedlich gefärbten Bereich, ein Verlaufen zwischen dem schwarzen Bereich und dem Farbbereich wird verringert und ein hochqualitativer schwarzer Bereich wird erhalten.
  • Der Druckertreiber 114 kann computerausführbare Schritte zur Ausführung des Ablaufs gemäß 51 beinhalten. Diese Schritte können ebenso in dem ROM 122 des Druckers 30 beinhaltet sein oder verbunden in computerlesbaren Speichern der Host-Verarbeitungsvorrichtung 23 und des Druckers 30 gespeichert sein.
  • In 52 ist ein ausführlicheres Verfahren zum Drucken eines Grenzbereichs zwischen einem schwarzen Bereich und einem unterschiedlich gefärbten Bereichs veranschaulicht.
  • Im Allgemeinen beschreibt 52 ein System zur Steuerung des Druckens von Bildelementen, die Bilddaten entsprechen, unter Verwendung eines Tintenstrahldruckers, der ein Reservoir einer Hochdurchdringungs-Schwarz-Tinte, ein Reservoir einer Tinte einer Niedrigdurchdringungs-Schwarz-Tinte und ein Reservoir einer Tinte zur Erzeugung von Verarbeitungsschwarz umfasst. Entsprechend dem System wird auf der Grundlage der Bilddaten bestimmt, ob ein erster Bereich einer ersten vorbestimmten Größe benachbart zu einem schwarzen Zielbildelement einen unterschiedlich gefärbten Bereich umfasst oder nicht. In dem Fall, dass bestimmt wird, dass der erste Bereich einen unterschiedlich gefärbten Bereich umfasst, wird der Drucker angewiesen, das Zielbildelement unter Verwendung von Verarbeitungsschwarz zu drucken. In dem Fall, dass bestimmt wird, dass der erste Bereich keinen unterschiedlich gefärbten Bereich umfasst, wird auf der Grundlage der Bilddaten bestimmt, ob ein zweiter Bereich einer zweiten vorbestimmten Größe benachbart zu dem Zielbildelement einen unterschiedlich gefärbten Bereich umfasst oder nicht, wobei der zweite Bereich größer als der erste Bereich ist. Schließlich wird in dem Fall, dass bestimmt wird, dass der zweite Bereich einen unterschiedlich gefärbten Bereich umfasst, der Drucker angewiesen, das Zielbildelement unter Verwendung der Hochdurchdringungs-Schwarz-Tinte zu drucken, andernfalls wird der Drucker angewiesen, das Zielbildelement unter Verwendung der Niedrigdurchdringungs-Schwarz-Tinte zu drucken.
  • Genauer gesagt, beginnt der Ablauf bei Schritt S5201, in dem ein schwarzes Zielbildelement in den ursprünglichen Bilddaten identifiziert wird. Der Ablauf schreitet zu Schritt S5202 voran, in dem bestimmt wird, ob ein erster Bereich benachbart zu dem Zielbildelement einen unterschiedlich gefärbten Bereich umfasst. Wenn dies der Fall ist, schreitet der Ablauf zu Schritt S5204 voran, in dem der Drucker 30 angewiesen wird, das Zielbildelement unter Verwendung von PCBk zu drucken. Wenn dies nicht der Fall ist, schreitet der Ablauf zu Schritt S5205 voran.
  • In Schritt S5205 wird bestimmt, ob ein zweiter Bereich benachbart zu dem Zielbildelement, das in Schritt S5201 identifiziert wird, einen unterschiedlich gefärbten Bereich umfasst. Es ist bemerkenswert, dass der zweite Bereich größer als der erste Bereich ist, der in Schritt S202 analysiert wird. Folglich bestätigt Schritt S5205, ob das Zielbildelement sich nahe bei einem unterschiedlich gefärbten Bereich befindet. Wenn dies der Fall ist, schreitet der Ablauf zu Schritt S5206 voran, in dem der Drucker 30 angewiesen wird, das Zielbildelement unter Verwendung der Hochdurchdringungs-Schwarz-Tinte zu drucken. Wenn dies nicht der Fall ist, fährt der Ablauf zu Schritt S5208 voran, in dem der Drucker 30 angewiesen wird, das Zielbildelement unter Verwendung der Niedrigdurchdringungs-Schwarz-Tinte zu drucken.
  • In 53A ist die Erfassung eines ersten unterschiedlich gefärbten Bereichs gemäß einem bevorzugten Ausführungsbeispiel gemäß Schritt S5202 veranschaulicht. In 53A ist ein Bereich von unterschiedlich gefärbten Mehrfachpegel-Bilddaten 450 und ein Bereich von schwarzen Mehrfachpegel-Bilddaten 451 gezeigt. Für die vorangegangene Beschreibung ist das Zielbildelement, das in Schritt S5201 identifiziert wird, durch einen Bildelementdatenplatz 452 dargestellt. Zusätzlich ist ein 5 × 5-Bereich 454 der erste Bereich, der in Schritt S5202 analysiert wird.
  • Um zu bestimmen, ob der Bereich 454 einen unterschiedlich gefärbten Bereich umfasst, wird der vorstehend mit Bezug auf 49 beschriebene Algorithmus auf die Bildelementwerte in dem Bereich 454 angewendet. Vorzugsweise werden Mehrfachpegel-Bildelementwerte verwendet, um schwarze Bildelemente und unterschiedlich gefärbte Bildelemente in dem Bereich 454 genau zu erfassen. Da der Bereich 454 Farbwerte von einem Bereich 450 beinhaltet, wird der Drucker 30 in Schritt S5204 angewiesen, ein Zielbildelement 4524 unter Verwendung von PCBk zu drucken.
  • Diese Anweisung ist in 53C wiedergegeben, die eine Darstellung von gedruckten Bildelementen ist, die den Bilddaten gemäß 53A entsprechen. Wie es in 53C gezeigt ist, wird das gedruckte Bildelement 456, das den Bildelementplatz 452 darstellt, unter Verwendung von PCBk gedruckt. Diesbezüglich sollte erkannt werden, dass das gedruckte Bildelement 457, das den Bildelementplatz 459 darstellt, ebenso unter Verwendung von PCBk gedruckt wird.
  • Schritte S5205 und S5208 sind ausführlicher nachstehend unter Bezugnahme auf 53B und 53C beschrieben. Insbesondere wird ein zweiter Bereich 460, der benachbart zu dem Bildelementdatenplatz 461 ist und größer als der erste Bereich 454 ist, analysiert, um zu bestimmen, ob er einen unterschiedlich gefärbten Bereich umfasst. Folglich wird der Drucker 30 angewiesen, das Bildelement 462, das dem Bildelementdatenplatz 461 entspricht, unter Verwendung einer Hochdurchdringungs-Schwarz-Tinte zu drucken.
  • Wie es in 53B gesehen werden kann, beinhaltet der zweite Bereich 464, der benachbart zu dem Bildelementdatenplatz 466 ist, keinen unterschiedlich gefärbten Bereich. Folglich wird entsprechend Schritt S5208 der Drucker 30 angewiesen, das Bildelement 467, das dem Bildelementdatenplatz 466 entspricht, unter Verwendung einer Niedrigdurchdringungs-Schwarz-Tinte zu drucken.
  • Als Ergebnis des Ablaufs gemäß 52 wird ein Grenzbereich, wie bspw. der, der in 50C gezeigt ist, erhalten. Genauer gesagt ändert sich die optische Dichte allmählich über den Grenzbereich, ein Verlaufen zwischen dem schwarzen Bereich und dem unterschiedlich gefärbten Bereich wird verringert und der schwarze Bereich wird unter Verwendung einer Niedrigdurchdringuns-Schwarz-Tinte gedruckt.
  • Es ist ersichtlich, das Größen des ersten Bereichs und des zweiten Bereichs auf der Grundlage einer Anzahl von PCBk-Bildelementen, die gewünscht werden, und einer Anzahl von Hochdurchdringungs-Schwarz-Tintenbildelementen, die gewünscht sind, in einem Grenzbereich zwischen einem schwarzen Bereich und einem unterschiedlich gefärbten Bereich eingestellt werden können.
  • Wie es vorstehend unter Bezugnahme auf die vorangegangenen Ausführungsbeispiele beschrieben ist, kann der Druckertreiber 114 computerausführbare Schritte beinhalten, um den Ablauf gemäß 52 auszuführen. Diese Schritte können ebenso in dem ROM 122 des Druckers 30 beinhaltet sein oder können verbunden in computerlesbaren Speichern der Host-Verarbeitungsvorrichtung 23 und des Druckers 30 gespeichert sein.
  • 11.3 Drucken mit unterschiedlichen Tinten bei unterschiedlichen Auflösungen
  • In 54 ist ein Flussdiagramm gezeigt, das eine Verarbeitung gemäß einem weiteren Ausführungsbeispiel zeigt. Wie es in 54 gezeigt ist, wird bei Eingabe von Bildelementdaten, wie bspw. eines 5 × 5-Bildelementbereichs 416, in Schritten S5402 bis S5407 bestimmt, ob ein Zielbildelement in den eingegebenen Bildelementdaten in einem Farbbereich liegt. Diese Verarbeitung ist die gleiche wie die, die vorstehend unter Bezugnahme auf 49 beschrieben ist. Folglich wird eine ausführliche Beschreibung hiervon zur Verkürzung hier weggelassen.
  • Schritte S5409 bis S5412 legen eine Farbkorrektur, d.h. eine Schwarz-Korrektur dar. Genauer gesagt wird in Schritt S4509 eine Farbkorrektur bei dem Zielbildelement ausgeführt, um das Bildelement von RGB-Daten in CMYK-Daten zu ändern. Als nächstes wird in Schritt S4510 bestimmt, ob das Zielbildelement in einem Farbbereich liegt. Wenn das Zielbildelement nicht in einem Farbbereich liegt, schreitet die Verarbeitung zu Schritt S5411 voran. In dem Fall, dass das Zielbildelement nicht in einem Farbbereich liegt, wird Pigmenttinte (d.h. K1-Tinte) zur Erzeugung des Bildelements eingestellt. Im Gegensatz dazu wird in dem Fall, dass in Schritt S5410 bestimmt wird, dass das Bildelement in einem Farbbereich liegt, Schwarz aus Verarbeitungsschwarz, d.h. Zyan-, Magenta- und Gelb-Tinte und farbstoffbasierender (d.h. K2) Schwarz-Tinte erzeugt.
  • Als nächstes führt Schritt S5413 eine Ausgangsfarbkorrektur bei den Bildelementdaten aus. Bspw. kann eine Gammakorrektur oder dergleichen in diesem Schritt ausgeführt werden. Danach schreitet die Verarbeitung zu Schritten S5414 bis S419 voran. Diese Schritte legen eine Binarisierung dar.
  • Genauer gesagt wird in Schritt S5414 bestimmt, ob das Zielbildelement in einem Farbbereich liegt. In dem Fall, dass das Zielbildelement in einem Farbbereich liegt, schreitet die Verarbeitung zu Schritt S5418 voran, in dem das Zielbildelement mit einem 2 × 2-Index binarisiert wird, und zu Schritt S5419 voran, in dem das Bildelement in einer 720 × 720-Auflösung mit farbstoffbasierender schwarzer Pigmenttinte gedruckt wird (siehe 54A): Demgegenüber schreitet in dem Fall, dass Schritt S5414 bestimmt, dass das Zielbildelement nicht in einem Farbbereich liegt, die Verarbeitung zu Schritt S5415 voran, in dem das Bildelement mit einem 1 × 1-Index binarisiert wird, und zu Schritt S5417 voran, in dem das Bildelement mit 360 × 360 dpi mit einer pigmentbasierenden Schwarz-Tinte gedruckt wird (siehe 54B). Danach endet die Verarbeitung.

Claims (25)

  1. Verfahren zum Steuern eines Druckpuffers (4320) in einem seriellen Drucker (30) mit zumindest einem Druckkopf, der eingerichtet ist zum Drucken eines Bildes auf einem Aufzeichnungsmedium gemäß von einer Hostvorrichtung (23) eingegebenen Druckdaten durch bidirektionales Abtastbewegen des Druckkopfs über das Aufzeichnungsmedium, wobei das Verfahren ein Wiederholen der folgenden Schritte aufweist: Speichern der Druckdaten für eine Abtastbewegung in dem Druckpuffer; Abtastbewegen des Druckkopfs während eines Druckens gemäß den Druckdaten, die in dem Druckpuffer für diese Abtastbewegung gespeichert sind; dadurch gekennzeichnet, dass beim Abtastbewegen des Druckkopfs während eines Druckens gemäß den Druckdaten, die in dem Druckpuffer für die aktuelle Abtastbewegung gespeichert sind, einige der Druckdaten für die nächste Abtastbewegung in dem Druckpuffer gespeichert werden, wobei Druckdaten für die aktuelle Abtastbewegung überschrieben werden, die bereits gedruckt wurden.
  2. Verfahren gemäß Anspruch 1, bei dem, falls die in dem Druckpuffer für die aktuelle Abtastbewegung gespeicherten Druckdaten einem Drucken über weniger als die maximale Druckbreite entsprechen, die in dem Druckpuffer zulässig ist, so dass in dem Druckpuffer leerer Platz vorhanden ist, der Teilen der aktuellen Abtastbewegung entspricht, in denen kein Drucken erforderlich ist, der Schritt zum Speichern der Druckdaten ein Speichern von einigen der Druckdaten für die nächste Abtastbewegung an dem leeren Platz während einer Zeitspanne der aktuellen Abtastbewegung aufweist, nachdem der Druckkopf sich zu bewegen begonnen hat und bevor der Druckkopf zum Drucken begonnen hat, sofern Druckdaten für die nächste Abtastbewegung vorhanden sind, die dem leeren Platz entsprechen.
  3. Verfahren gemäß Anspruch 2, bei dem der Schritt zum Speichern von Druckdaten ein Speichern von einigen der Druckdaten für die nächste Abtastbewegung in einem Bereich des Druckpuffers, der sich von einem Ende des Druckpuffers zu der Kopfadresse der für die aktuelle Abtastbewegung gespeicherten Druckdaten erstreckt, und in einem weiteren Bereich des Druckpuffers, der sich von der Endadresse der für die aktuelle Abtastbewegung gespeicherten Druckdaten zu dem anderen Ende des Druckpuffers erstreckt, während einer Zeitspanne aufweist, bevor der Druckkopf zum Drucken gespeicherter Druckdaten für die aktuelle Abtastbewegung begonnen hat.
  4. Verfahren gemäß Anspruch 1 oder Anspruch 2, zum Steuern eines Druckpuffers, der größer ist als die zum Speichern von Druckdaten für eine einzelne Abtastbewegung des Druckkopfs benötigte Größe, wobei bei dem Verfahren der Schritt zum Speichern der Druckdaten ein Speichern von einigen der Druckdaten für die nächste Abtastbewegung in dem Teil des Druckpuffers, der keine Druckdaten für die aktuelle Abtastbewegung speichert, während einer Zeitspanne zum Beschleunigen des Druckkopfs vor einem Beginn eines Druckens der Druckdaten für die aktuelle Abtastbewegung aufweist.
  5. Verfahren gemäß Anspruch 4, bei dem für jede Abtastbewegung des Druckkopfs ein Anteil des Druckpuffers, der groß genug ist zum Speichern von Druckdaten für eine einzelne Abtastbewegung des Druckkopfs, die Druckdaten für die aktuelle Abtastbewegung speichert und der Teil des Druckpuffers, in dem Druckdaten für die nächste Abtastbewegung während der Beschleunigungszeitspanne gespeichert werden, in Bezug auf die Richtung, die der Abtastbewegungsrichtung des Druckkopfs während der aktuellen Abtastbewegung entspricht, vor dem Anfang des Anteils für die aktuelle Abtastbewegung liegt.
  6. Verfahren gemäß einem der vorhergehenden Ansprüche, mit dem Schritt zum Ausgeben eines Belegt-Signals an die Hostvorrichtung, falls bestimmt wird, dass in dem Druckpuffer kein Platz zum Einschreiben neuer Druckdaten vorhanden ist, ohne Druckdaten zu überschreiben, die noch nicht gedruckt wurden.
  7. Verfahren gemäß einem der vorhergehenden Ansprüche, bei dem die Druckdaten für die nächste Abtastbewegung in einer Vielzahl von Datenblöcken gespeichert werden, von denen jeder einem jeweiligen zu druckenden Bereich entspricht, wobei die Blöcke, die während der aktuellen Abtastbewegung gespeichert werden, um Druckdaten für die aktuelle Abtastbewegung zu überschreiben, in einer Reihenfolge der Positionen der jeweiligen Bereiche in der Bewegungsrichtung des Druckkopfs während der aktuellen Abtastbewegung und in einer umgekehrten Reihenfolge bezüglich der Reihenfolge gespeichert werden, in der sie während der nächsten Abtastbewegung gedruckt werden.
  8. Verfahren gemäß einem der vorhergehenden Ansprüche, bei dem die Druckdaten für die nächste Abtastbewegung in dem Speicherschritt gemäß einer Adresse des Druckpuffers gespeichert werden, die von der Hostvorrichtung empfangen wird.
  9. Verfahren gemäß Anspruch 8, bei dem die Druckdaten für die nächste Abtastbewegung in einer Vielzahl von Datenblöcken gespeichert werden, wobei jeder Block an einer Stelle in dem Druckpuffer gespeichert wird, die durch die Hostvorrichtung festgelegt wird, und, wenn von der Hostvorrichtung ein Code empfangen wird, der die Stelle zum Speichern eines Blocks von Druckdaten festlegt, abhängig davon, ob sich die festgelegte Stelle mit beliebigen nicht gedruckten Druckdaten in dem Druckpuffer überschneiden, entweder der nachfolgende Block von Druckdaten, der von der Hostvorrichtung empfangen wird, an der festgelegten Stelle gespeichert wird oder ein Belegt-Signal an die Hostvorrichtung gesendet wird.
  10. Verfahren gemäß einem der vorhergehenden Ansprüche, zusätzlich mit dem Schritt zum Auslesen der Druckdaten, die in dem Druckpuffer für die aktuelle Abtastbewegung gespeichert sind, gemäß einem von der Hostvorrichtung empfangenen Befehl.
  11. Verfahren gemäß einem der vorhergehenden Ansprüche, bei dem der linke und der rechte Rand des auf dem Aufzeichnungsmedium zu druckenden Bereichs gemäß einem von der Hostvorrichtung empfangenen Code eingestellt werden.
  12. Verfahren gemäß einem der vorhergehenden Ansprüche, welches ein Bearbeiten der von der Hostvorrichtung eingegebenen Druckdaten als in Spaltenformat vorliegend aufweist.
  13. Verfahren zum Steuern von Druckpuffern (4320A, 4320B) in einem seriellen Drucker (30) mit einer Vielzahl von Druckköpfen (4330A, 4330B), die jeweils zum Drucken auf einem Aufzeichnungsmedium durch bidirektionales Abtastbewegen des Kopfes über das Aufzeichnungsmedium gemäß Druckdaten eingerichtet sind, die von einer Hostvorrichtung (23) eingegeben und in einem jeweiligen einer Vielzahl von Druckpuffern gespeichert werden, wobei das Verfahren ein Steuern jedes jeweiligen Druckpuffers durch ein Verfahren gemäß einem der vorhergehenden Ansprüche aufweist.
  14. Serieller Drucker, der einen Druckpuffer (4320) aufweist und eingerichtet ist, zumindest einen Druckkopf zum Drucken eines Bildes auf einem Aufzeichnungsmedium gemäß von einer Hostvorrichtung (23) eingegebenen Druckdaten durch bidirektionales Abtastbewegen des Druckkopfs über das Aufzeichnungsmedium zu verwenden, wobei der Drucker eingerichtet ist, den Druckpuffer durch ein Verfahren gemäß einem der Ansprüche 1 bis 12 zu steuern.
  15. Serieller Drucker, der eine Vielzahl von Druckpuffern aufweist und eingerichtet ist, eine Vielzahl von Druckköpfen zum Drucken eines Bildes auf einem Aufzeichnungsmedium durch bidirektionales Abtastbewegen der Köpfe über das Aufzeichnungsmedium gemäß Druckdaten zu verwenden, die von einer Hostvorrichtung (23) eingegeben und in jeweiligen der Druckpuffer gespeichert werden, wobei der Drucker eingerichtet ist, jeden der Druckpuffer durch ein Verfahren gemäß einem der Ansprüche 1 bis 12 zu steuern.
  16. Verfahren zum Betreiben eines Computers als die Hostvorrichtung für einen Drucker gemäß Anspruch 14 oder Anspruch 15, wobei das Verfahren ein Senden von Druckdaten an den Drucker für aufeinander folgende Abtastbewegungen des Druckkopfs aufweist, dadurch gekennzeichnet, dass der Computer die Stellen in dem Druckpuffer bestimmt, an denen Druckdaten für jede Abtastbewegung gespeichert werden, und der Computer beim Abtastbewegen des Druckkopfs während eines Druckens gemäß den Druckdaten, die in dem Druckpuffer für die aktuelle Abtastbewegung gespeichert sind, Druckdaten für die nächste Abtastbewegung an den Drucker sendet, die an Stellen in dem Druckpuffer zu speichern sind, die Druckdaten für die aktuelle Abtastbewegung enthalten, welche bereits gedruckt wurden.
  17. Verfahren gemäß Anspruch 16, bei dem der Computer die Druckdaten für die nächste Abtastbewegung in einer Vielzahl von Datenblöcken sendet, von denen jeder einem jeweiligen zu druckenden Bereich entspricht, und die Blöcke, die an Stellen in dem Druckpuffer zu speichern sind, die Druckdaten für die aktuelle Abtastbewegung enthalten, in der Reihenfolge der Positionen der jeweiligen Bereiche in der Bewegungsrichtung des Druckkopfs während der aktuellen Abtastbewegung und in einer umgekehrten Reihenfolge bezüglich der Reihenfolge gesendet werden, in der sie während der nächsten Abtastbewegung gedruckt werden.
  18. Verfahren gemäß Anspruch 16 oder Anspruch 17, bei dem der Computer gegenüber dem Drucker die Stelle in dem Druckpuffer festlegt, an der die von dem Computer gesendeten Druckdaten gespeichert werden sollen.
  19. Verfahren gemäß Anspruch 18, bei dem der Computer festlegt, dass sich die Stellen in dem Druckpuffer, an denen Druckdaten für die nächste Abtastbewegung zu speichern sind, nur teilweise mit den Stellen in dem Druckpuffer überschneiden, an denen Druckdaten für die aktuelle Abtastbewegung gespeichert sind, und der Computer Druckdaten für die nächste Abtastbewegung sendet, die an den sich nicht überschneidenden Stellen des Druckpuffers zu speichern sind, bevor Druckdaten für die nächste Abtastbewegung gesendet werden, die an den sich überschneidenden Stellen zu speichern sind.
  20. Verfahren gemäß einem der Ansprüche 16 bis 19, bei dem, falls der Computer bestimmt, dass die Druckdaten für die aktuelle Abtastbewegung weniger als den gesamten Bereich des Druckpuffers belegen, der für die aktuelle Abtastbewegung verfügbar ist, so dass ein Teil des Bereichs des Druckpuffers, der für die aktuelle Abtastbewegung verfügbar ist, bezüglich Druckdaten für die aktuelle Abtastbewegung leer ist, er Druckdaten für die nächste Abtastbewegung sendet, die in dem leeren Teil des Bereichs zu speichern sind, bevor der Druckkopf zum Drucken gemäß den Druckdaten für die aktuelle Abtastbewegung beginnt, sofern Druckdaten für die nächste Abtastbewegung vorhanden sind, die dem leeren Teil entsprechen.
  21. Verfahren gemäß einem der Ansprüche 16 bis 20, welches den Schritt zum Speichern der Druckdaten für die nächste Zeile in einem Speicherbereich (136, 4325) des Computers vor dem Beginn eines Druckens der Druckdaten für die aktuelle Abtastbewegung aufweist und der Schritt zum Senden von Druckdaten für die nächste Abtastbewegung von dem Computer an den Drucker ein Senden von in dem Speicherbereich gespeicherten Druckdaten aufweist.
  22. Verfahren gemäß einem der Ansprüche 16 bis 21, bei dem die Druckdaten in Spaltenformat an den Drucker gesendet werden.
  23. Druckertreiberprogramm zur Steuerung eines Computers zum Arbeiten gemäß dem in einem der Ansprüche 16 bis 22 dargelegten Verfahren.
  24. Datenträger, der ein Druckertreiberprogramm gemäß Anspruch 23 definierende Programmcodes trägt.
  25. Signal, das ein Druckertreiberprogramm gemäß Anspruch 23 definierende Programmcodes trägt.
DE69833418T 1997-11-17 1998-11-13 Seriendrucker mit adressierbarem Druckpuffer Expired - Lifetime DE69833418T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/972,140 US6134020A (en) 1997-11-17 1997-11-17 Serial printer with addressable print buffer
US972140 1997-11-17

Publications (2)

Publication Number Publication Date
DE69833418D1 DE69833418D1 (de) 2006-04-20
DE69833418T2 true DE69833418T2 (de) 2006-08-10

Family

ID=25519232

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69833418T Expired - Lifetime DE69833418T2 (de) 1997-11-17 1998-11-13 Seriendrucker mit adressierbarem Druckpuffer

Country Status (4)

Country Link
US (1) US6134020A (de)
EP (1) EP0917095B1 (de)
JP (1) JP3715806B2 (de)
DE (1) DE69833418T2 (de)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0926587A1 (de) * 1997-12-23 1999-06-30 Canon Research Centre France S.A. Verfahren und Gerät um Datenverarbeitung zu steuern
JPH11208029A (ja) * 1998-01-21 1999-08-03 Seiko Epson Corp 印刷装置および印刷方法並びに記録媒体
JPH11334068A (ja) * 1998-05-26 1999-12-07 Brother Ind Ltd インク噴射装置
US7437483B1 (en) * 1999-03-24 2008-10-14 Microsoft Corporation System and method for transferring a compressed data file to a peripheral device
US6631976B2 (en) 1999-04-14 2003-10-14 Canon Kabushiki Kaisha Control of ink jet nozzle prefiring
TW512543B (en) * 1999-06-28 2002-12-01 Semiconductor Energy Lab Method of manufacturing an electro-optical device
TW468283B (en) 1999-10-12 2001-12-11 Semiconductor Energy Lab EL display device and a method of manufacturing the same
TW471011B (en) 1999-10-13 2002-01-01 Semiconductor Energy Lab Thin film forming apparatus
EP1128323A3 (de) * 1999-12-27 2002-05-29 Seiko Epson Corporation Drucker, Druckverfahren, und Datenspeichermedium
TW495808B (en) * 2000-02-04 2002-07-21 Semiconductor Energy Lab Thin film formation apparatus and method of manufacturing self-light-emitting device using thin film formation apparatus
US20020080393A1 (en) * 2000-06-13 2002-06-27 Leonard Ronald A. Parallel printer intercept
EP1219450B1 (de) * 2000-12-19 2011-08-17 Canon Kabushiki Kaisha Druckvorrichtung und -verfahren
US6712445B2 (en) * 2001-10-19 2004-03-30 Seiko Epson Corporation Liquid jetting apparatus
JP2003305902A (ja) 2002-04-15 2003-10-28 Canon Inc 記録装置、情報処理装置及びそれらの制御方法、プログラム
JP2003305837A (ja) 2002-04-15 2003-10-28 Canon Inc 記録装置、情報処理装置及びそれらの制御方法、プログラム
JP2004130299A (ja) * 2002-08-02 2004-04-30 Seiko Epson Corp 液滴吐出装置、電気光学装置の製造方法、電気光学装置および電子機器
JP4174264B2 (ja) * 2002-08-12 2008-10-29 キヤノン株式会社 記録装置及びその制御方法
US8699054B2 (en) * 2002-11-22 2014-04-15 Codonics, Inc. Media selection methods in a multi-media printer utilizing print client indicators
JP2004358799A (ja) * 2003-06-04 2004-12-24 Canon Inc キャリッジ駆動制御方法
JP2005022271A (ja) * 2003-07-03 2005-01-27 Canon Finetech Inc 記録方法及び記録装置
JP2006031482A (ja) * 2004-07-16 2006-02-02 Toshiba Corp プロファイル管理方法及び管理システム
US20060017795A1 (en) * 2004-07-26 2006-01-26 Seiko Epson Corporation Image forming apparatus, image forming method and data control device
JP4773779B2 (ja) * 2005-09-06 2011-09-14 キヤノン株式会社 画像形成システム、画像形成システムの制御方法、及び画像形成装置
JP2007172087A (ja) * 2005-12-19 2007-07-05 Brother Ind Ltd 仮想オブジェクトを登録するためのプログラム、該プログラムを記憶する記憶媒体、仮想オブジェクト登録方法、及び情報処理装置
US9134931B2 (en) 2013-04-30 2015-09-15 Hewlett-Packard Development Company, L.P. Printing content over a network
EP3911519A1 (de) * 2019-01-16 2021-11-24 Canon Production Printing Holding B.V. Verfahren zur profilierung eines druckmediums zur verwendung in einem drucksystem

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4692778A (en) * 1985-03-28 1987-09-08 Canon Kabushiki Kaisha Image formation apparatus with a recording unit and paper feed cover and a sealing member
JP2675851B2 (ja) * 1989-01-28 1997-11-12 キヤノン株式会社 インクジェット記録方法及び該方法に用いる装置
US5266974A (en) * 1989-05-18 1993-11-30 Canon Kabushiki Kaisha Ink jet recording apparatus including means for controlling speed of wiper member
DE69022112T2 (de) * 1989-05-18 1996-02-15 Canon Kk Tintenstrahlaufzeichnungsgerät.
JP2859296B2 (ja) * 1989-06-01 1999-02-17 キヤノン株式会社 画像再生方法及びその装置
JP2768788B2 (ja) * 1990-02-26 1998-06-25 キヤノン株式会社 記録装置
KR940000377B1 (ko) * 1990-05-10 1994-01-19 캐논 가부시끼가이샤 Cpu를 사용한 데이타 처리장치
US5172140A (en) * 1990-06-13 1992-12-15 Canon Kabushiki Kaisha Ink jet recording apparatus including a device for indicating need to change waste ink pack
JPH0490369A (ja) * 1990-08-02 1992-03-24 Canon Inc プリンタ制御装置
DE69219180T2 (de) * 1991-02-12 1997-10-02 Canon Kk Tintenstrahlaufzeichnungssystem und Verfahren
JP2941998B2 (ja) * 1991-06-03 1999-08-30 キヤノン株式会社 インクジェット記録装置
CA2074906C (en) * 1991-08-01 2000-09-12 Hiromitsu Hirabayashi Ink jet recording apparatus having temperature control function
JP2942031B2 (ja) * 1991-09-30 1999-08-30 キヤノン株式会社 インクジェット記録装置
JP3009764B2 (ja) * 1991-10-03 2000-02-14 キヤノン株式会社 インクジェット記録装置
SG59965A1 (en) * 1991-12-11 1999-02-22 Canon Kk Ink jet recording apparatus and a method for installing ink jet recording head
JP3083409B2 (ja) * 1992-07-24 2000-09-04 キヤノン株式会社 インクジェット記録装置および該記録装置の回復方法
US5645359A (en) * 1994-04-19 1997-07-08 Kabushiki Kaisha Tec Bidirectional serial printer
JP3347527B2 (ja) * 1994-07-01 2002-11-20 キヤノン株式会社 プリンタ及びプリント方法
US5953132A (en) * 1995-07-18 1999-09-14 Canon Kabushiki Kaisha Image communication apparatus with enhanced utilization of CPU
JPH0948154A (ja) * 1995-08-08 1997-02-18 Brother Ind Ltd シリアル式印字装置
US5937152A (en) * 1996-04-16 1999-08-10 Brother Kogyo Kabushiki Kaisha Printer with buffer memory

Also Published As

Publication number Publication date
DE69833418D1 (de) 2006-04-20
JPH11227259A (ja) 1999-08-24
JP3715806B2 (ja) 2005-11-16
EP0917095B1 (de) 2006-02-08
EP0917095A3 (de) 2000-01-12
US6134020A (en) 2000-10-17
EP0917095A2 (de) 1999-05-19

Similar Documents

Publication Publication Date Title
DE69822077T2 (de) Drucken mit mehreren Köpfen mit verschiedenen Auflösungen
DE69833418T2 (de) Seriendrucker mit adressierbarem Druckpuffer
DE69822078T2 (de) Steuerung der Treibparameter eines Druckkopfes
DE69833419T2 (de) Ein Drucker mit einem Speicher zur Speicherung eines Druckerprofilparameters
US6388758B2 (en) System for scheduling an event in a device based on elapsed time or device event
US6178009B1 (en) Printing with multiple different black inks
US6089772A (en) Ejection tray for a printer
DE69725043T2 (de) Tintenstrahldrucksystem, Verfahren und Apparat zum Tintenstrahldrucken
DE69734717T2 (de) ECHTZEIT-VERARBEITUNGSEINRICHTUNG UND -VERFAHREN FUER BILDER HOHER Auflösung
DE69730462T2 (de) Drucker mit Pufferspeicher
DE60033480T2 (de) Drucken mit tintenstrahl
US6206506B1 (en) Ink jet printer having an ink cleaning mechanism
KR100357662B1 (ko) 주사잉크젯프린트헤드로인쇄하는방법및인쇄시스템
DE69736880T2 (de) Bilderzeugungsgerät und -verfahren
EP0707730B1 (de) Seitenzusammensetzungssystem
EP0863479A3 (de) Verfahren und Vorrichtung für Farbtintenstrahldruck mit Mehrfach-Durchlauf
US20030193542A1 (en) Image printing apparatus and control method therefor
US6328396B1 (en) Combining multiple printmodes into a single carriage sweep
JP3103276B2 (ja) 画像記録方法とその装置
JP2002254612A (ja) 画像記録装置および画像記録方法
CN115583114A (zh) 一种板材打印方法及其相关设备
EP1494165A3 (de) Druckverfahren und Druckvorrichtung
JP3115777B2 (ja) シリアル記録装置
JPS61116575A (ja) カラ−プリンタの混色防止方法

Legal Events

Date Code Title Description
8364 No opposition during term of opposition