-
Die
vorliegende Erfindung betrifft eine Druckvorrichtung, ein Verfahren
zu ihrer Initialisierung und ein computerlesbares Speichermedium,
das ein Programm zur Steuerung der Vorrichtung trägt, so dass diese
das Verfahren ausführt.
Insbesondere betrifft die Erfindung einen Initialisierungssteuerprozess,
der ausgeführt
wird, wenn die Vorrichtung eingeschaltet worden ist, und einen Initialisierungssteuerprozess, der
als Antwort auf eine Reset- (Rücksetzen)
Anforderung ausgeführt
wird, die von einem Host-Gerät empfangen
wird, an das die Vorrichtung angeschlossen werden soll.
-
Druckvorrichtungen
(nachfolgend einfach als "Drucker" bezeichnet), die
einen vorgegebenen Initialisierungsprozess beim Einschalten, wenn
sie eingeschaltet werden, ausführen,
d. h. als Antwort auf einen so genannten Einschalt-Reset, und auch
wenn sie eine Reset-Anforderung von einem Host-Rechner oder dem
Host-Gerät
des Kassen-(point-of-sale; POS)-Endgeräts, bei dem der Drucker verwendet wird,
empfangen, sind bekannt.
-
Systeme,
bei denen die Spannungsversorgungen des Druckers und des Host-Geräts so gekoppelt
sind, dass Drucker und Host-Gerät
im Wesentlichen gleichzeitig eingeschaltet werden, sind ebenfalls
weit verbreitet im Einsatz, z. B. bei POS-Systemen. In einem solchen
Fall sendet beim Einschalten des Druckers und Host-Geräts das BIOS-
(Basic Input Output System-Basis-Ein-/Ausgabesystem) des Host-Geräts typischerweise
zunächst
eine Reset-Anforderung an den Drucker, dann sendet das auf dem Host-Gerät laufende
Betriebssystem (Operating System – OS) eine andere Reset-Anforderung
an den Drucker, und schließlich
sendet das unter dem OS laufende Anwendungsprogramm noch eine andere Reset-Anforderung
an den Drucker. Wenn ein herkömmlicher
Drucker, der einen vorgegebenen Initialisierungsprozess beim Einschalten
ausführt,
in diesem Systemtyp verwendet wird, bewirkt das Einschalten des
Host-Geräts
und des Druckers, dass letzterer mehrere Reset-Anforderungen vom Host-Gerät empfängt, bevor
er seinen Initialisierungsprozess beim Einschalten abschließen kann.
-
Wenn
der Drucker eine Reset-Anforderung empfängt, wird die den allgemeinen
Druckerbetrieb steuernde CPU (Zentraleinheit) rückgesetzt. Dies bewirkt, dass
der CPU-Betrieb angehalten wird und alle E/A-Anschlüsse auf
einen Zustand hoher Impedanz getrieben werden, wodurch jeder noch
laufende Initialisierungsprozess beim Einschalten unterbrochen wird.
-
Die
Druckerinitialisierung enthält
typischerweise folgende Aufgaben:
- – Initialisierung
der Steuerschaltungen wie die CPU, die den Druckerbetrieb steuert,
und eines RAM, der als Kommunikationspuffer für die Kommunikation mit dem
Host-Gerät
dient;
- – Erregung
der Phase des Schrittmotors, um die Betriebsphase z. b. des Schrittmotors
anzupassen, um den Druckkopf in Richtung der Druckzeile anzutreiben;
- – einen
Reinigungsprozess zum Reinigen der Druckelemente des Druckkopfes,
um eine hohe Druckqualität
sicherzustellen; und
- – Verfahren
des Druckkopfes, um ihn in einer Referenzposition in Richtung der
Druckzeile zu positionieren.
-
Einige
dieser Initialisierungsprozesse erfordern mehr Zeit als andere.
So erfordert beispielsweise die Erregung der Phase des Schrittmotors
relativ wenig Zeit, während
die Positionierung des Druckkopfes und die Reinigung des Druckkopfes
relativ viel Zeit beanspruchen.
-
Die
Unterbrechung eines solchen Initialisierungsprozesses ist mit verschiedenen
Problemen behaftet. Der zum Reinigen des Tintenstrahldruckkopfes
eines Tintenstrahldruckers erforderliche Reinigungsprozess enthält einen
Absaugschritt, bei dem eine Vakuumpumpe zum Absaugen der Tinte vom Druckkopf
verwendet wird. Bei diesem Prozess wird viel Tinte verbraucht. Außerdem dauert
es eine gewissen Zeit, bis das Absaugen tatsächlich beginnt, nachdem die
Vakuumpumpe zu arbeiten begonnen hat, und eine Unterbrechung des
Reinigungsprozesses bedeutet deshalb Zeitverschwendung. Ferner bedeutet
eine Unterbrechung dieses Reinigungsprozesses, nachdem das Absaugen
der Tinte begonnen hat, dass die Menge der bereits abgesaugten Tinte nicht
bekannt ist. Der Absaugschritt kann deshalb nicht wieder aufgenommen
werden, sondern muss von Anfang an wiederholt werden. Damit wird
logischerweise sogar noch mehr Tinte als bei einer nicht unterbrochenen
Ausführung
des Absaugschrittes verbraucht.
-
Wenn
Reset-Anforderungen wiederholt ausgegeben werden, wird der Initialisierungsprozess
als Antwort auf jede Reset-Anforderung ausgeführt. Dies verursacht die folgenden
Probleme.
-
Ein
Schrittmotor muss angesteuert werden, um den Druckkopf in einer
Referenzposition zu positionieren. Die unnötige Wiederholung dieses Positionierungsprozesses
beschleunigt den Verschleiß der an
dieser Positionierung beteiligten mechanischen Teile der gesamten
Antriebskette. Normalerweise ist es unmöglich, zu bestimmen, wo der
Druckkopf positioniert ist, wenn diese Operation beginnt. Es ist
deshalb erforderlich, den Druckkopf in eine bekannte Position gegen
einen Anschlag zu Verfahren, und ein wiederholtes Verfahren des
Druckkopfes gegen diesen Anschlag kann den Druckkopf beschädigen.
-
Im
Fall von Tintenstrahldruckern wird bei einem wiederholten Ausführen des
oben beschriebenen Reinigungsprozesses unnötig viel Tine verbraucht, so
dass ein früherer
Austausch der Tintenpatrone erforderlich wird.
-
Eine
wiederholte Ausführung
der Initialisierungsprozesse ist in 1 dargestellt. 1(a) betrifft den Fall, in dem die Spannungsversorgungen von
Drucker und Host-Gerät
nicht gekoppelt sind, und zeigt die Abfolge der ausgeführten Prozesse, wenn
der Drucker eingeschaltet wird, während das Host-Gerät bereits
arbeitet. Der erste Schritt dieses Initialisierungsprozesses nachdem
der Drucker eingeschaltet worden ist, ist die Erregung der Phase 101 des
Schrittmotors, gefolgt von der Positionierung 102 des Druckkopfes
und der Reinigung 103 des Druckkopfes. Der Drucker geht
dann in den Normalbetrieb über 104 und
wartet auf einen Druckbefehl sowie Daten vom Host-Gerät.
-
1(b) zeigt eine Abfolge von Prozessen, die
typischerweise ausgeführt
werden, wenn ein herkömmlicher
Drucker so mit einem Host-Gerät
verbunden ist, dass die Spannungsversorgung des Druckers und des
Host-Geräts
im Wesentlichen gleichzeitig eingeschaltet wird wie oben beschrieben.
In 1(b) wird ein Reset-Signal vom
Host-Gerät
an den Drucker an der ansteigenden Flanke nach einem Abfall des
Potentials 105 am Reset-Signalausgang ausgegeben. Als Ergebnis zeigen
auf niedrigem Pegel liegende Impulse 106, 107 und 108 Reset-Signale
des Potentials 105 an, die vom Drucker empfangen werden.
-
Nachdem
der Drucker die Erregung der Phase 101 des Schrittmotors
beendet hat und während die
Positionierung 102 des Druckkopfes noch im Gange ist, empfängt er das
Reset-Signal 106 vom Host-Gerät-BIOS. Die Positionierung 102 des
Druckkopfes wird deshalb unterbrochen, und die Erregung der Phase 101 des
Schrittmotors sowie die Positionierung 102 des Druckkopfes
werden von Anfang an wiederholt. Dieses Mal werden die Erregung
der Phase 101 des Schrittmotors und die Positionierung 102 des
Druckkopfes abgeschlossen, und das Reset-Signal 107 wird
dann vom OS des Host-Geräts
empfangen, während
die Reinigung 103 des Druckkopfes im Gange ist. Deshalb
wird die Reinigung 103 des Druckkopfes unterbrochen, und
die Erregung der Phase 101 des Schrittmotors, die Positionierung 102 des
Druckkopfes und die Reinigung 103 des Druckkopfes werden
von Anfang an wiederholt. Dieses Mal wird das Reset-Signal 108 empfangen,
während
die Reinigung 103 des Druckkopfes im Gange ist. Die Reinigung 103 des
Druckkopfes wird deshalb erneut unterbrochen, und die Erregung der
Phase 101 des Schrittmotors, die Positionierung 102 des
Druckkopfes und die Reinigung 103 des Druckkopfes werden erneut
von Anfang an wiederholt.
-
In
Anbetracht der oben beschriebenen Probleme ist es eine Aufgabe der
vorliegenden Erfindung, eine Druckvorrichtung und ein Verfahren
zu ihrer Initialisierung bereitzustellen, die in der Lage sind, einen
unnötigen
Verbrauch von Verbrauchsmaterialien in der Druckvorrichtung und
einen Verlust an mechanischer Dauerhaftigkeit aufgrund eines Initialisierungsprozesses
beim Einschalten zu vermeiden, der durch ein vom Host-Gerät unmittelbar
nach Einschalten des Host-Geräts
an den Drucker geliefertes Reset-Signal unterbrochen wird.
-
Diese
Aufgabe wird durch eine Druckvorrichtung bzw. einen Drucker gemäß Anspruch
1, ein Verfahren gemäß Anspruch
13 und ein Speichermedium gemäß Anspruch
24 gelöst.
Bevorzugte Ausführungsformen
der Erfindung sind Gegenstand der Unteransprüche.
-
Gemäß der Erfindung
können
bestimmte Initialisierungsprozesse verzögert werden, bis eine vorgegebene
Verzögerungszeit
T1 nach dem Einschalten des Druckers abgelaufen ist. Ein Druckkopf-Initialisierungsprozess
und andere Druckmechanismen-Initialisierungsprozesse werden erst
ausgeführt, wenn
diese Verzögerungszeit
abgelaufen ist, selbst wenn der Drucker eine Reset-Anforderung vom Host-Gerät empfängt. Deshalb
können
die Betriebskosten gesenkt werden, indem z. B. verhindert wird, dass
ein Tinte verbrauchender Reinigungsprozess mehrere Male nacheinander
ausgeführt
und indem unnötiger
Verschleiß mechanischer
Teile des Druckmechanismus vermieden wird.
-
Außerdem können unnötiger Verschleiß mechanischer
Teile des Druckmechanismus vermieden und die Betriebskosten gesenkt
werden, da es nicht erforderlich ist, Schrittmotoren, Getriebe und
andere Teile der Antriebskette, die zum Verfahren und Positionieren
des Druckkopfes dienen, mehrere Male anzusteuern.
-
Die
zum Initialisieren des Druckers erforderliche Zeit kann verkürzt werden,
indem Initialisierungsprozesse, die selbst bei wiederholter Ausführung keinen
Tintenverbrauch und Verschleiß mechanischer
Teile mit sich bringen, im Voraus ausgeführt werden. Die zum Initialisieren
des Druckers erforderliche Zeit kann z. B. verkürzt werden, indem ein Prozess
zum Einstellen der Phase eines Schrittmotors, der keinen Verbrauch
von Verbrauchsmaterialien oder Verschleiß mechanischer Teile mit sich
bringt, im Voraus ausgeführt
wird.
-
Die
Verzögerungszeit
kann vom Drucker statisch gespeichert und gemäß der Betriebsumgebung dynamisch
geändert
werden. Die Verzögerungszeit kann
auch vom Host-Gerät,
an das der Drucker angeschlossen ist, eingestellt werden. Gemäß einer
bestimmten Ausführungsform
kann der Drucker eine geeignete Verzögerungszeit automatisch durch
den tatsächlichen
Betrieb des Druckers zusammen mit dem Host-Gerät lernen.
-
Andere
Aufgaben und Vorteile sowie ein tiefer gehendes Verständnis der
Erfindung erschließen sich
aus der nachfolgenden Beschreibung bevorzugter Ausführungsformen
in Zusammenhang mit den beiliegenden Zeichnungen; es zeigen:
-
1 eine
Abfolge eines typischen Initialisierungsprozesses eines herkömmlichen
Druckers, bei dem die Initialisierung mit dem Einschalten des Druckers
beginnt;
-
2 schematisch
den Grundaufbau eines Druckers, der die vorliegende Erfindung verwirklicht;
-
3 ein
Funktionsblockdiagramm eines Druckers gemäß einer ersten bevorzugten
Ausführungsform
der vorliegenden Erfindung;
-
4 ein
Flussdiagramm eines Initialisierungssteuerprozesses bei einem Drucker
gemäß der ersten
Ausführungsform;
-
5 ein
Zeitdiagramm der Initialisierungsprozesse, die bei einem Drucker
gemäß der vorliegenden
Erfindung ausgeführt
werden, wenn der Betrieb nach dem Einschalten des Druckers beginnt;
-
6 ein
Funktionsblockdiagramm eines Druckers gemäß einer zweiten bevorzugten
Ausführungsform
der vorliegenden Erfindung;
-
7 ein
Flussdiagramm eines Initialisierungssteuerprozesses bei einem Drucker
gemäß der zweiten
Ausführungsform;
und
-
8 ein
Flussdiagramm eines Initialisierungssteuerprozesses bei einem Drucker
gemäß einer
dritten bevorzugten Ausführungsform
der vorliegenden Erfindung.
-
GRUNDAUFBAU
EINES DRUCKERS GEMÄSS DER
ERFINDUNG
-
2 zeigt
den Grundaufbau eines typischen Beispiels eines Druckers, auf den
die vorliegende Erfindung angewendet werden kann. Wie aus 2 ersichtlich
ist, ist der allgemein mit 1 gekennzeichnete Drucker mit
einem Host-Gerät 220 verbunden.
Der Drucker 1 weist einen Druckmechanismus 204 auf,
der von einer CPU 203 gesteuert wird. Die CPU 203 ist
mit einem ROM 205, einem RAM 206, einem EEPROM 208,
einer Echtzeituhr (real-time clock; RTC) 207, einer Reset-Schaltung 213 und
einer Schnittstelle 202 verbunden.
-
Befehle
und Druckdaten, die vom Host-Gerät 220 an
den Drucker 1 gesendet werden, werden über die Schnittstelle 202 empfangen.
Die CPU 203 interpretiert die über die Schnittstelle 202 empfangenen Steuerbefehle,
um den Druckmechanismus 204 zum Drucken von Text und/oder Grafik
auf das Papier oder ein anderes Druckmedium anzusteuern.
-
Das
Host-Gerät 220 kann
außer
den Steuerbefehlen auch eine Reset-Anforderung über die Schnittstelle 202 an
den Drucker 1 senden. Obwohl bei diesem Beispiel und in
der folgenden Beschreibung davon ausgegangen wird, dass eine Reset-Anforderung
als ein externes Reset-Signal gesendet wird, könnte sie ebenso gut als Reset-Anforderungsbefehl
gesendet werden. Im Allgemeinen bestimmt der Drucker, dass eine
Reset-Bedingung vorliegt, auf Basis verschiedener Einstellungen,
die gemäß verschiedener
vom Host-Gerät
gesendeter Befehle erfolgt sind. Es ist jedoch zu beachten, dass
dann, wenn die CPU 203 nicht normal arbeitet, eine solche Reset-Anforderung eventuell
nicht in der normalen Weise ausgeführt wird. Deshalb wird vorzugsweise ein
Reset-Anforderungsbefehl oder ein externes Reset-Signal von einer
Schaltung interpretiert, die unabhängig von der CPU ist und ein
Reset-Signal erzeugt, das an einen Reset-Anschluss der CPU gelegt
wird.
-
Beim
dargestellten Beispiel wird ein externes Reset-Signal 214 nicht
nur in die CPU 203 eingegeben und von dieser detektiert,
sondern auch in die Reset-Schaltung 213. Die Reset-Schaltung 213 dient typischerweise
als Spannungsversorgungs-Überwachungs-IC
und setzt die CPU 203 zurück, indem ein Reset-Impuls 215 mit
vorgegebener Breite an den Reset-Anschluss der CPU 203 weitergegeben
wird, wenn sich die Versorgungsspannung auf einem normalen Pegel
stabilisiert hat, nachdem die Spannungsversorgung des Druckers eingeschaltet
worden ist. Bei diesem Beispiel wird ein Reset-Impuls auch als Antwort auf das externe
Reset-Signal 214 ausgegeben. Dies hat den Zweck, einen
instabilen Betrieb der CPU 203 zu verhindern, indem ein
Reset-Impuls 215 mit einer vorgegebenen Breite selbst dann
angelegt wird, wenn die Impulsbreite eines externen Reset-Signals
extrem kurz ist. Dies kann z. B. durch eine verdrahtete OR-Verbindung
eines externen Reset-Signals negativer Logik von der Schnittstellenschaltung
zum Spannungsüberwachungsanschluss
der Reset-Schaltung 213 erreicht werden.
-
Es
ist auch möglich,
ein externes Reset-Signal, das direkt in die CPU 203 eingegeben
wird, als ein Reset-Warnsignal zu verwenden, indem das externe Reset-Signal 214 um
eine vorgegebene Verzögerungszeit
Td verzögert
und dann der Reset-Impuls 215 erzeugt wird, wie ausführlicher
in der EP-A-0 911 172 beschrieben ist. Damit steht der CPU 203 eine vorgegebene
Zeit zwischen dem Detektieren des externen Reset-Signals 214 und
dem Rücksetzen
der CPU 203 durch den Reset-Impuls 215 zur Verfügung. Die
CPU 203 hat also ausreichend viel Zeit, um erforderliche
Prozesse abzuwickeln, wie das Setzen eines externen Reset-Flags,
bevor die CPU 203 rückgesetzt
wird. Es ist zu beachten, dass diese Verzögerungszeit Td auf einfache
Weise realisiert werden kann, wie z. B. durch eine Verzögerungsleitung,
eine Zeitgeberschaltung oder einen Zähler. Außerdem kann diese Verzögerungszeit
Td äußerst wirksam verwendet
werden, indem das externe Reset-Signal 214 in Echtzeit
detektiert wird; bei bevorzugten Ausführungsformen der Erfindung
wird deshalb das externe Reset-Signal 214 an einen nicht
deaktivierbaren Unterbrechungsanschluss (non-maskable interrupt – NMI) der
CPU 203 gelegt.
-
Die
von der CPU 203 ausgeführten
Steuerprozesse sind durch ein im ROM 205 gespeichertes Steuerprogramm
definiert. Wenn der Drucker 1 eingeschaltet wird, führt die
CPU 203 als Antwort auf den Reset-Impuls 215 von
der Reset-Schaltung 213 ein im ROM 205 gespeichertes
Programm aus, beginnend bei einer vorgegebenen Adresse. Die CPU 203 liest
typischerweise das Programm vom ROM 205 in den RAM 206 ein
und führt
das Programm vom RAM 206 aus. Durch das Laden des Programms in
den RAM 206 kann es modifiziert werden, um den/die vorgegebenen
Reset-Prozess(e) dynamisch zu ändern.
-
Die
CPU 203 erzeugt Bilder des zu druckenden Textes und/oder
der zu druckenden Grafik im RAM 206 und steuert den Druckmechanismus 204 auf
Basis dieser Bilder an. Die CPU 203 verwendet im ROM 205 gespeicherte
Schriftartdaten, um ein Bild des zu druckenden Textes auf Basis
von Schriftzeichen-Codes zu erzeugen, die als Druckdaten vom Host-Gerät 220 empfangen
werden.
-
Die
Echtzeituhr 207 zählt
die Zeit z. B. in Sekunden. Die CPU 203 ist mit der Echtzeituhr 207 über einen
E/A-Anschluss oder einen Bus verbunden, so dass sie die aktuelle
Zeit wie erforderlich abfragen kann. Es ist zu beachten, dass auch
Echtzeituhr-ICs mit einer internen Zeitgeberfunktion entwickelt
worden sind. Durch die Verwendung solcher Geräte kann die CPU 203 den
Zeitgeber so einstellen, dass eine CPU-Unterbrechung zu einem vorgegebenen
Zeitpunkt erzeugt wird.
-
Ein
nicht flüchtiger
Speicher wie der EEPROM 208 oder ein Flash-ROM können mit
Informationen von der CPU 203 überschrieben werden, wenn Spannung
an den Drucker 1 geliefert wird, und die Informationen
statisch speichern, selbst wenn die Spannung ausgeschaltet wird.
Es sei darauf hingewiesen, dass eine derartige Funktionalität auch erzielt
werden kann, indem z. B. die statischen RAM-(SRAM) Geräte zusätzlich mit
einer Batteriepufferschaltung versehen werden.
-
Der
Druckmechanismus 204 hat einen Druckkopf 209,
einen Schreibwagenmotor 210 zum Verfahren des Druckkopfes 209 parallel
zur Richtung der Druckzeile und einen Papiervorschubmotor 212 für den Transport
von Papier oder einem anderen Druckmedium. Hochpräzise Positionierung
und eine verbesserte Druckqualität
lassen sich durch die Verwendung von Schrittmotoren als Schreibwagen- und Papiervorschubmotoren
erzielen. Für
den Durchschnittsfachmann liegt es auf der Hand, dass wahlweise
verschiedene andere Gleichstrommotore mit Codiererkombinationen
verwendet werden können. Falls
der Drucker 1 ein Tintenstrahldrucker ist und der Druckkopf 209 somit
ein Tintenstrahlkopf, ist eine Tintenabsaugpumpe 211 erforderlich.
In diesem Fall dient die Pumpe zum Reinigen des Druckkopfes, d. h.
zum Absaugen von Tinte mit relativ hoher Viskosität, die über eine
gewisse Zeit im Druckkopf 209 verblieben ist.
-
Bei
dem bisher beschriebenen Beispiel ist das Steuerprogramm im ROM 205 gespeichert. Wenn
es statt dessen in einem überschreibbaren nicht
flüchtigen
Speichergerät
wie dem EEPROM 208 gespeichert ist, kann das Steuerprogramm
z. B. vom Host-Gerät 220 aktualisiert
werden. Es ist auch möglich,
dass das Host-Gerät 220 das
Druckersteuerprogramm in seinem eigenen internen Datenspeicher speichert,
oder dass das Steuerprogramm auf einer CD-ROM, einer Festplatte,
einer Diskette oder einem anderen externen Speicher 221,
auf den das Host-Gerät 220 zugreifen
kann, gespeichert wird. Ferner kann das Steuerprogramm auf einem
Netzwerk-Server oder sogar im Netzwerk selbst gespeichert werden,
so dass das Host-Gerät
das Steuerprogramm über
das Internet oder ein anderes Computer-Netzwerk herunterladen und
im Drucker laden kann.
-
ERSTE AUSFÜHRUNGSFORM
-
3 ist
ein Funktionsblockdiagramm eines Druckers gemäß einem ersten Ausführungsbeispiel der
vorliegenden Erfindung. Der spezifische Aufbau des Druckers ist
für die
Erfindung nicht kritisch, so lang die erforderlichen Funktionen
verwirklicht werden können.
Zum besseren Verständnis
geht die nachstehende Beschreibung dieser Ausführungsform und der folgenden
Ausführungsformen
jeweils von einem Drucker aus, der durch die in 2 dargestellte
Hardware-Struktur implementiert ist.
-
Nunmehr
sei auf 3 verwiesen, wonach eine Steuerung 2 zur
Initialisierung beim Einschalten eine so genannte Initialisierung
beim Einschalten des Druckers 1 steuert, d. h. eine Initialisierung
wird als Antwort auf das Einschalten des Druckers ausgeführt. Ein
erster Zeitgeber 6 beginnt die Zählung zum Zeitpunkt des Einschaltens,
d. h. wenn der Drucker 1 den Betrieb beginnt, unmittelbar
nachdem er eingeschaltet worden ist (vgl. Schritt S407 in 4,
die später
erläutert
wird), und informiert die Steuerung 2 sowie eine Reset-Initialisierungs-Steuerung 3,
wenn eine vorgegebene Verzögerungszeit
T1 abgelaufen ist.
-
Wenn
der Drucker 1 eingeschaltet wird, startet die Steuerung 2 einen
ersten Initialisierungsprozess 4. Dieser erste Initialisierungsprozess 4 weist Prozesse
auf, die innerhalb einer extrem kurzen Zeitspanne ablaufen können und
deren Unterbrechung keinerlei Probleme verursacht, wie die Initialisierung der
Steuerschaltung und die Erregung der Phase der Schrittmotoren, die
als Schreibwagenmotor 210 und Papiervorschubmotor 212 dienen.
Wenn dieser erste Initialisierungsprozess 4 endet, wartet
die Steuerung 2 auf eine Meldung vom ersten Zeitgeber 6,
dass die Verzögerungszeit
T1 abgelaufen ist. Bei Erhalt dieser Meldung beginnt die Steuerung 2 einen
zweiten Initialisierungsprozess 5.
-
Dieser
zweite Initialisierungsprozess 5 enthält Operationen, die eine relativ
lange Zeitspanne beanspruchen und die bei Unterbrechung eine Problemursache
sein können.
Bei diesem Ausführungsbeispiel
enthalten diese Operationen z. B. die Reinigung des Druckkopfes 209 und
die Positionierung des Druckkopfes 209 durch den Schreibwagenmotor 210 wie
oben beschrieben.
-
Wenn
dieser zweite Initialisierungsprozess 5 endet, geht der
Drucker 1 in den Bereitschaftszustand für den normalen Druckprozess.
Wenn der Drucker 1 einen Druckbefehl und Druckdaten vom angeschlossenen
Host-Gerät
empfängt,
führt er
einen normalen Druckprozess gemäß den empfangenen
Druckdaten aus.
-
Wenn
der Drucker 1 eine Reset-Anforderung vom Host-Gerät oder einem
anderen externen Steuergerät
empfängt,
initialisiert die Steuerung 3 den Drucker 1 als
Antwort auf die Reset-Anforderung. Die Steuerung 3 kann
auf Basis des Ausgangs vom ersten Zeitgeber 6 bestimmen,
ob die Verzögerungszeit T1
seit dem Einschalten des Druckers abgelaufen ist.
-
Wenn
diese Verzögerungszeit
T1 nicht abgelaufen ist, wenn eine Reset-Anforderung vom Host-Gerät empfangen
wird, führt
die Steuerung 3 einen dritten Initialisierungsprozess 7 aus.
Dieser dritte Initialisierungsprozess 7 enthält vorzugsweise
Aufgaben, die innerhalb einer kurzen Zeitpanne abgeschlossen werden
können, ähnlich wie
der erste Initialisierungsprozess 4, und enthält ferner
vorzugsweise nur Aufgaben, die sofern sie unterbrochen werden, nicht
in unerwünschten
Folgen resultieren. Es ist zu beachten, dass dieser dritte Initialisierungsprozess 7 der
gleiche sein kann wie der erste Initialisierungsprozess 4.
Als Antwort auf eine Reset-Anforderung kann also ein Initialisierungsprozess
ausgeführt werden,
der gleich ist wie der oder ein Teil des Initialisierungsprozesses,
der beim Einschalten des Druckers ausgeführt wird, und die Zuverlässigkeit
des Druckers kann so verbessert werden.
-
Wenn
die vom ersten Zeitgeber 6 gezählte Verzögerungszeit T1 abgelaufen ist,
wenn eine Reset-Anforderung
empfangen wird, führt
die Steuerung 3 einen vierten Initialisierungsprozess 8 aus. Dieser
vierte Initialisierungsprozess 8 wird alternativ zum dritten
Initialisierungsprozess 7 ausgeführt und enthält zusätzlich zu
den Aufgaben des dritten Initialisierungsprozesses 7 relativ
zeitaufwändige
Aufgaben wie die Positionierung des Druckkopfes und die Reinigung
des Tintenstrahlkopfes, d. h. Aufgaben entsprechend denjenigen im
zweiten Initialisierungsprozess 5. Es sei darauf hingewiesen,
dass dieser vierte Initialisierungsprozess 8 eine Kombination
des ersten und zweiten Initialisierungsprozesses sein kann.
-
Somit
führt die
Steuerung 3 als Antwort auf Reset-Anforderungen vom Host-Gerät, die innerhalb der
Verzögerungszeit
T1 nach Beginn des Druckerbetriebs vorliegen, nur den dritten Initialisierungsprozess
aus. Ein vollständiger
Initialisierungsprozess wie der vierte Initialisierungsprozess kann
dann als Antwort auf Reset-Anforderungen ausgeführt werden, die nach dieser
Verzögerungszeit
empfangen werden, wie Reset-Anforderungen, die in Zusammenhang mit
einer Druckanforderung ausgegeben werden. Probleme, die aufgrund
einer Unterbrechung eines Initialisierungsprozesses durch häufige Reset-Anforderungen,
die unmittelbar nach dem Einschalten des Host-Geräts ausgegeben
werden, können
so vermieden werden.
-
Wie
erwähnt
ist der dritte Initialisierungsprozess vorzugsweise im Wesentlichen
gleich dem ersten Initialisierungsprozess. Der erste Initialisierungsprozess
wird beim Einschalten des Druckers ausgeführt und der dritte Initialisierungsprozess
auf Basis einer Reset-Anforderung vom Host-Gerät kann somit von denselben
Schaltungen oder derselben Software ausführt werden. Dies ließe sich
auf recht einfache Weise z. B. durch Verbinden des Reset-Anschlusses der
CPU erreichen, um das logische OR des Einschalt-Reset-Signals und
das vom Host-Gerät
empfangene Reset-Signal zu erhalten.
-
Wenn
der dritte Initialisierungsprozess im vierten Initialisierungsprozess
enthalten ist, kann die Verarbeitung der Reset-Anforderungen vom Host-Gerät mit derselben
Schaltung oder Software gestartet werden, ungeachtet, ob die Verzögerungszeit
T1 abgelaufen ist oder nicht (siehe die später erläuterte 4: Schritt
S403 würde
vor Schritt S402 und nicht nach ihm ausgeführt werden; anschließend an
Schritt S402 würde
entweder Schritt S404 oder Schritt S409 ausgeführt werden). Aus diesem Grund kann
ein extrem einfaches Schaltungs- oder Softwaredesign verwendet werden.
Ein Reset-Signal vom Host-Gerät
kann z. B. in den CPU-Interrupt- (Unterbrechungs-) Anschluss eingegeben
und der Wert eines Zeitgebers während
des Interrupt-Prozesses ausgewertet werden, um zu bestimmen, welcher
Prozess ablaufen soll.
-
Wenn
die Verzögerungszeit
T1 auf Basis der für
alle vom Host-Gerät
beim Hochfahren des Host-Geräts ausgegebenen
Reset-Anforderungen erforderlichen Zeit eingestellt wird, können die
Probleme aufgrund einer Unterbrechung des Initialisierungsprozesses,
der beim Einschalten des Druckers ausgeführt wird, vermieden werden.
-
Der
Wert der Verzögerungszeit
T1 wird im nicht flüchtigen
Speicher 9 gespeichert und kann wie gewünscht von einer Datenänderungs-
oder Aktualisierungsschaltung 10 geändert werden. Die Daten, die
der Drucker 1 gemäß dieser
ersten Ausführungsform
von einem Host-Gerät
empfängt,
werden von einem Befehlsdetektor 11 interpretiert. Wenn
der Befehlsdetektor 11 einen Befehl erkennt, mit dem die Änderung
des im nicht flüchtigen
Speicher 9 gespeicherten Wertes von T1 angeordert wird,
kann er die Datenänderungsschaltung 10 anweisen,
den gespeicherten Wert auf Basis des empfangenen Befehls mit zugehörigen Parametern
zu ändern.
-
Ein
Vergleich des Funktionsdiagramms von 3 mit dem
Aufbaudiagramm von 2 zeigt, dass die Steuerung 2 der
ersten Ausführungsform
die Reset-Schaltung 213, die CPU 203 und einen
Speicher (ROM 205 und RAM 206) und die Steuerung 3 die
Schnittstelle 202, die Reset-Schaltung 213, die CPU 203 und
einen Speicher aufweist. Der erste Zeitgeber 6 weist die
Echtzeituhr 207, die CPU 203 und einen Speicher
auf. Der nicht flüchtige
Speicher 9 weist den EEPROM 208, die Datenänderungsschaltung 10 weist
die CPU 203 und einen Speicher und der Befehlsdetektor 11 weist
die CPU 203 und einen Speicher auf.
-
Als
Nächstes
wird ein Initialisierungssteuerprozess des Druckers 1 gemäß dieser
ersten Ausführungsform
anhand des Flussdiagramms von 4 beschrieben,
der beim Einschalten des Druckers ausgeführt wird.
-
Wie
oben erwähnt
gibt die Reset-Schaltung 213 einen Reset-Impuls 215 aus,
wenn sich die Versorgungsspannung nach dem Einschalten des Druckers 1 stabilisiert
hat. Der Reset-Impuls 215 wird auf einem aktiven Pegel
gehalten, bis die Versorgungsspannung einen bestimmten Pegel erreicht.
Wenn die Versorgungsspannung den Pegel erreicht und eine vorgegebene
Zeit abgelaufen ist, genauer gesagt, wenn eine Zeit vergangen ist,
die für
die CPU 203 ausreicht, eine Reset-Operation einer internen Schaltung auszuführen, wird
der Reset-Impuls 215 inaktiv und die CPU 203 beginnt
mit dem Ablauf des in 4 dargestellten Prozesses ab
Schritt S401.
-
In
Schritt S401 detektiert die CPU 203 die Ursache für die Reset-Operation,
d. h. ob die Reset-Operation
der CPU als Antwort auf ein externes Reset-Signal oder weil der
Drucker eingeschaltet wurde erfolgte. Dies kann durch Bewertung
des Status eines externen Reset-Flags bestimmt werden, das gesetzt
wird, wenn die CPU 203 ein externes Reset-Signal 214 erkennt.
Es ist zu beachten, dass dieses externe Reset-Flag erneut gesetzt
werden muss, wenn die Spannungsversorgung unterbrochen wird. Deshalb
wird vorzugsweise das externe Reset-Flag im Speicher gespeichert,
für den
sichergestellt ist, dass der Standardstatus beim Einschalten der
Reset-Status des externen Flags ist, oder das externe Reset-Flag
wird im EEPROM gespeichert und der Adressbereich, in dem es gespeichert
ist, wird sofort gelöscht,
wenn die Spannungsversorgung endet, so dass das externe Flag den
Reset-Status annimmt. Bei dieser ersten Ausführungsform wird das externe Reset-Flag
gesetzt und zusammen mit einer Reset-Startzeit im EEPROM 208 in
einem NMI-Prozess gespeichert,
der durch das externe Reset-Signal 214 aufgerufen wird.
Die Reset-Startzeit ist der Zeitpunkt, zu dem ein externes Reset-Signal
detektiert wird.
-
Die
CPU 203 prüft
dieses externe Reset-Flag in Schritt S401 und bestimmt, dass ein
externer Reset stattfand, wenn das Flag gesetzt ist, bzw. ein Einschalt-Reset,
wenn das Flag nicht gesetzt ist. Die CPU 203 vergleicht
dann die von der Echtzeituhr 207 erhaltene aktuelle Zeit
mit der gespeicherten Reset-Startzeit und bestimmt ungeachtet des
Status des externen Reset-Flags, dass eine Einschalt-Reset-Anforderung
vorlag, wenn die Differenz zwischen diesen beiden Zeiten nicht der
Verzögerungszeit
Td entspricht. Dies verhindert Bestimmungsfehler, die z. B. auftreten
könnten,
wenn ein Einschalt-Reset unmittelbar nach dem Anlegen des externen
Reset-Signals 214 vorliegt.
-
Wenn
die CPU 203 bestimmt, dass ein Einschalt-Reset vorlag,
startet sie den ersten Zeitgeber 6 in Schritt S407. Der
Zeitpunkt, in dem der Zeitgeber 6 gestartet wird, wird
als Einschaltzeit bezeichnet. Nach Schritt S407 führt die
CPU den ersten Initialisierungsprozess 4 in Schritt S408
aus.
-
Auf
Basis des ersten Zeitgebers 6 wird in Schritt S409 bestimmt,
ob die Verzögerungszeit
T1 abgelaufen ist, d. h., ob die abgelaufene Zeit Te seit der Einschaltzeit
gleich ist oder länger
als T1, und falls nicht, wartet die CPU 203, bis sie abgelaufen
ist. Wenn T1 abgelaufen ist, wird der zweite Initialisierungsprozess 5 ausgeführt.
-
In
Schritt S411 wird dann bestimmt, ob der erste und zweite Initialisierungsprozess
normal beendet worden sind. Ist dies nicht der Fall, wird eine Fehlerbehandlungsroutine
(S412) ausgeführt.
-
Andernfalls
geht der Drucker in den Normalbetrieb über.
-
Es
ist zu beachten, dass der erste Zeitgeber bei dieser ersten Ausführungsform
die Echtzeituhr 207 aufweist. Das bedeutet, dass beim Starten
des Zeitgebers in Schritt S407 die aktuelle Zeit aus der Echtzeituhr 207 ausgelesen
und gespeichert wird. in Schritt S409 wird dann die Differenz zwischen
der gespeicherten Zeit und der erneut von der Echtzeituhr 207 erhaltenen
aktuellen Zeit berechnet, und diese Differenz wird mit T1 verglichen.
Die vorliegende Erfindung ist jedoch nicht auf diesen Typ Zeitgeber
beschränkt,
und es können
verschiedene andere Mittel zu diesem Zweck verwendet werden. So
kann beispielsweise in Schritt 407 eine Echtzeituhr mit
einer Zeitgeberfunktion verwendet und auf eine vorgegebene Zeit
(aktuelle Zeit plus T1) eingestellt werden. Wenn dann diese voreingestellte
Zeit vom Zeitgeber detektiert wird und die Uhr einen Interrupt erzeugt, wird
ein Flag gesetzt, um anzugeben, dass T1 abgelaufen ist. In Schritt
S409 wird dann einfach der Status dieses Flags geprüft. Als
weitere Alternative kann der erste Zeitgeber einen Zähler oder
Zeitgeber aufweisen, der durch das Rücksetzen der CPU 203 nicht beeinflusst
wird.
-
Nunmehr
sei erneut auf 4 verwiesen, wonach dann, wenn
in Schritt S401 ein externer Reset erkannt wird, die CPU 203 das
externe Reset-Flag rücksetzt
und erkennt, ob T1 seit der Einschaltzeit abgelaufen ist (S402).
Wenn T1 nicht abgelaufen ist, wird der dritte Initialisierungsprozess ausgeführt (S403),
und die Prozedur geht zu Schritt S409 weiter. Wenn T1 abgelaufen
ist, wird der vierte Initialisierungsprozess ausgeführt (S404).
Die CPU 203 erkennt dann, ob der Initialisierungsprozess
normal beendet worden ist (S405). Ist dies nicht der Fall, wird
eine Fehlerbehandlungsroutine ausgeführt (S406). Andernfalls geht
der Drucker zum Normabetrieb über
und wartet auf einen Druckbefehl und Daten vom Host-Gerät 220.
-
Es
ist zu beachten, dass die Fehlerbehandlungsroutinen (S406, S412)
typischerweise LEDs oder andere Anzeigemittel am Drucker ansteuern und/oder
ein Fehlersignal über
die Schnittstelle 202 zum Host-Gerät 220 schicken, um
den Bediener darauf aufmerksam zu machen, dass ein Fehler aufgetreten
ist.
-
Eine
beispielhafte Initialisierungsabfolge, die ausgeführt wird,
wenn ein Drucker gemäß dieser Ausführungsform
eingeschaltet wird, ist in 5 dargestellt
und wird nachstehend beschrieben.
-
Wie
durch einen Vergleich mit der in 1(b) dargestellten
Abfolge offensichtlich ist, wird der erste Initialisierungsprozess
(Schritt S408) jedes Mal ausgeführt,
wenn ein externes Reset-Signal 214 empfangen wird (bei
den Reset-Impulsen 106, 107 und 108),
aber der zweite Initialisierungsprozess 5 (Schritt S410)
wird nicht ausgeführt.
Dieser zweite Initialisierungsprozess 5 wird nur ausgeführt, wenn
die Verzögerungszeit
T1 nach der Einschaltzeit abgelaufen ist (Schritt S410). Abgesehen
davon, dass eine wiederholte Ausführung des zweiten Initialisierungsprozesses
mit dem damit einhergehenden unnötigen Verschleiß der mechanischen
Teile und dem hohen Tintenverbrauch vermieden wird, ermöglicht dieses Verfahren,
dass die Initialisierung des Druckers als Antwort auf die Erfordernisse
der Betriebsumgebung des Host-Geräts, an das der Drucker angeschlossen ist,
so rasch wie möglich
abgeschlossen wird.
-
Wenn
der Drucker 1 ein Reset-Signal vom Host-Gerät 220 empfängt, nachdem
er in einen normalen Druckprozess übergegangen ist, kann der vierte
Initialisierungsprozess 8 unverzüglich ausgeführt werden,
wie dies im Fall eines herkömmlichen Druckers üblich ist.
-
ZWEITE AUSFÜHRUNGSFORM
-
6 ist
ein Blockdiagramm eines Druckers gemäß einem zweiten Ausführungsbeispiel
der vorliegenden Erfindung. Es sei darauf hingewiesen, dass gleiche
Teile in den 6 und 3 durch identische
Bezugszeichen gekennzeichnet sind und nicht erneut beschrieben werden.
-
Diese
zweite Ausführungsform
verbessert die erste Ausführungsform
bezüglich
des Mittels zur Änderung
der Verzögerungszeit
T1, die vom ersten Zeitgeber 6 zu messen ist. Der Drucker 1 gemäß dieser
zweiten Ausführungsform
weist ferner einen zweiten Zeitgeber 12 zum Zählen der seit der Einschaltzeit
vergangenen Zeit Te auf. Wie später
ausführlicher
erläutert
werden wird, dient dieser zweite Zeitgeber 12 zur Bestimmung
eines neues Wertes für die
Verzögerungszeit
T1. Der Wert von T1, der im nicht flüchtigen Speicher 9 gespeichert
ist, wird dann mittels der Datenänderungsschaltung 10 auf
diesen neuen Wert aktualisiert. Der zweite Zeitgeber 12 dieser
zweiten Ausführungsform
kann mit der Echtzeituhr 207, der CPU 203 und
einem Speicher implementiert werden, falls die zweite Ausführungsform mit
der in 2 dargestellten Hardware-Struktur verwirklicht
ist.
-
Der
Initialisierungssteuerprozess des Druckers 1 gemäß der zweiten
Ausführungsform
wird nachstehend unter Bezugnahme auf das Flussdiagramm von 7 beschrieben.
Es sei darauf hingewiesen, dass ein wesentlicher Teil des Initialisierungsverfahrens
der zweiten Ausführungsform
identisch mit der in 4 dargestellten ersten Ausführungsform
ist. Gleiche Schritte sind deshalb mit identischen Bezugszeichen
versehen und auf ihre weitere Beschreibung kann deshalb im Folgenden
verzichtet werden. Die Schritte nach den Schritten S408 und S402
in 7, die nicht dargestellt sind, sind die gleichen
wie in 5.
-
Wenn
die Spannungsversorgung des Druckers eingeschaltet wird, erzeugt
die Reset-Schaltung 213 einen Reset-Impuls 215,
der den Start des in 7 dargestellten Steuerprozesses
bewirkt. Wie in 4 ist der erste Schritt S401
bei diesem Prozess die Bestimmung, ob der Reset durch Einschalten
des Druckers oder durch ein externes Reset-Signal veranlasst wurde.
Wenn in Schritt S401 bestimmt wird, dass die Ursache das Einschalten
des Druckers ist, werden sowohl der erste Zeitgeber 6 als
auch der zweite Zeitgeber 12 gestartet (S601). Dann wird
der erste Initialisierungsprozess ausgeführt (S408) wie oben bei der
ersten Ausführungsform
beschrieben.
-
Wenn
dagegen in Schritt S401 als Ursache für den Reset ein externes Reset-Signal
bestimmt wird, geht der Prozess zu Schritt S602 weiter, in dem detektiert
wird, ob die vom zweiten Zeitgeber 12 gezählte Zeit
Te eine vorgegebene Referenzzeit T2 erreicht hat. Wenn Te T2 nicht
erreicht hat, wird der Wert der Verzögerungszeit T1, die vom ersten
Zeitgeber 6 gezählt
wird, in Schritt S603 aktualisiert. Genauer gesagt wird die Zeit
Te, die der zweite Zeitgeber 12 gezählt hat, als neuer Wert der
Verzögerungszeit
T1 eingestellt. Es sollte jedoch unbedingt beachtet werden, dass
dieser neue Wert als Antwort auf ein anschließend vorliegendes Reset-Signal
erneut geändert
werden kann. Dieser aktualisierte Wert der Verzögerungszeit T1 wird deshalb
nicht sofort als Einstellung für
den ersten Zeitgeber verwendet, der aktuell zählt, sondern statt dessen erstmals
beim nächsten
Start des ersten Zeitgebers, d. h. beim nächsten Einschalt-Reset.
-
In
Schritt S402 wird dann detektiert, ob die Verzögerungszeit T1 seit der Einschaltzeit
abgelaufen ist.
-
Wenn
in Schritt S602 die Referenzzeit T2 abgelaufen ist, überspringt
der Prozess die Aktualisierung der Verzögerungszeit T1 (Schritt S603)
und geht zu Schritt S402 weiter.
-
Bei
dieser Ausführungsform
wird die Verzögerungszeit
T1, die als Einstellung für
den ersten Zeitgeber 6 dient, gemäß dem letzten der externen Resets
eingestellt, die nach der Einschaltzeit und vor dem Ablauf der Referenzzeit
T2 erzeugt werden. Genauer gesagt ist T1 als Zeitintervall von der
Einschaltzeit bis zur Reset-Startzeit dieses letzten externen Reset
plus einer vorgegebenen Zeittoleranz definiert, die bei dieser beispielhaften
Ausführungsform
vier Sekunden beträgt.
Es ist deshalb möglich,
die kürzestmögliche Verzögerungszeit
T1 gemäß der vorgegebenen
zeitlichen Abfolge aufeinanderfolgender externer Reset-Signale dynamisch
zu berechnen, die als Folge des Einschaltens des Host-Geräts, an das der
Drucker 1 angeschlossen ist, angelegt werden. Dies macht
es außerdem
möglich,
den zweiten Initialisierungsprozess zum frühestmögliche Zeitpunkt zu starten
und somit auch, den zweiten Initialisierungsprozess früher zu beenden.
Die vorgegebene Zeittoleranz gleicht geringfügige Schwankungen der Eigenschaften
des Host-Geräts
aus, so dass eine stabile Initialisierung erzielt werden kann.
-
Es
liegt auf der Hand, dass die Referenzzeit T2 länger sein sollte als die kombinierte
Gesamtzeit aus der Dauer aufeinanderfolgender Reset-Signale und
den Intervallen dazwischen, die ausgegeben werden, wenn das Host-Gerät eingeschaltet
wird. Wenn jedoch diese Gesamtzeit besonders lang und T2 sogar noch
länger
eingestellt sind, werden der Start des zweiten Initialisierungsprozesses
und die Beendigung der Einschalt-Resetoperation verzögert. Um
dies zu vermeiden, wird die Zeitspanne bei diesem Ausführungsbeispiel
auf eine Zeit eingestellt, die normalerweise den Beginn des wesentlichen
Initialisierungsprozesses, nämlich
des zweiten Initialisierungsprozesses, innerhalb einer Minute zulässt.
-
Wenn
bei dieser Ausführungsform
die Referenzzeit T2 gleich dem maximal verfügbaren Wert für die Verzögerungszeit
T1 eingestellt wird, kann die Verzögerungszeit innerhalb des Bereichs
unter diesem Maximalwert eingestellt werden. Es ist deshalb möglich, eine
unendliche Verzögerung
des Starts des zweiten Initialisierungsprozesses zu vermeiden, und die
Druckeranfahrzeit kann geregelt werden.
-
Es
sei außerdem
darauf hingewiesen, dass der zweite Zeitgeber 12 identisch
dem ersten Zeitgeber 6 sein kann, so dass im Folgenden
auf eine nähere
Beschreibung desselben verzichtet wird.
-
DRITTE AUSFÜHRUNGSFORM
-
Die
oben beschriebene erste und zweite Ausführungsform der vorliegenden
Erfindung lösen das
Problem wiederholter Drucker-Resets, wenn das Host-Gerät eingeschaltet
wird. Die Lösung
verwendet einen erste Zeitgeber 6, der die Durchführung des Initialisierungsprozesses
auf der Basis bestimmt, ob die Verzögerungszeit T1 seit der Einschaltzeit
abgelaufen ist oder nicht. Bei diesen Ausführungsformen kann jedoch der
zweite Initialisierungsprozess erst dann beginnen, wenn T1 abgelaufen
ist, und die Hochfahrzeit des Druckers, d. h. die Verzögerung bis der
Drucker für
den Start eines normalen Druckprozesses bereit ist, wird entsprechend
länger.
-
Es
gibt deshalb Fälle,
in denen es wünschenswert
ist, den Initialisierungssteuerprozess der ersten oder zweiten Ausführungsform
nicht anzuwenden, die beide den zweiten Initialisierungsprozess
verzögern.
Zu diesen Fällen
zählen
solche, bei denen die Prozesse entsprechend denen des oben beschriebenen
zweiten Initialisierungsprozesses nicht erforderlich sind, etwa
dann, wenn eine Reinigung des Druckkopfes beim Einschalten des Druckers
nicht erforderlich ist, oder wenn der Drucker eingeschaltet wird,
wenn das Host-Gerät
bereits läuft.
-
Ein
Drucker gemäß dieser
dritten Ausführungsform
der vorliegenden Erfindung initialisiert deshalb den Drucker selektiv
gemäß einem
ersten Modus, bei dem ein Initialisierungssteuerprozess gemäß der ersten
oder zweiten Ausführungsform
der Erfindung angewendet wird, oder gemäß einem zweiten Modus, bei
dem ein herkömmlicher
Initialisierungssteuerprozess angewendet wird.
-
Funktions-
und Blockschaltdiagramme für
einen Drucker gemäß dieser
dritten Ausführungsform der
Erfindung sind identisch mit den der ersten bzw. zweiten Ausführungsform.
Der Initialisierungssteuerprozess ist jedoch verschieden und wird
nachstehend unter Bezugnahme auf das Flussdiagramm von 8 beschrieben.
-
Wenn
der Drucker eingeschaltet wird, sendet die Reset-Schaltung 213 einen
Reset-Impuls 215 an die CPU 203, um eine Einschalt-Resetoperation
zu bewirken. Dieser Reset-Impuls veranlasst die CPU 203,
den in 8 dargestellten Prozess zu beginnen und die Bestimmung
in Schritt S801, welcher Reset-Modus anzuwenden ist. Genauer gesagt
bestimmt die CPU 203, ob ein Reset-Prozess gemäß dem ersten Modus oder ein
Reset-Prozess gemäß dem zweiten
Modus ausgeführt
wird. Diese Bestimmung kann mittels eines DIP-Schalters oder eines anderen
Hardware-Einstellmittels (in den Figuren nicht dargestellt) erfolgen,
der bzw. das am Drucker 1 angeordnet ist. Alternativ kann
eine Einstellung, die als ein Steuerbefehl vom Host-Gerät empfangen wird,
im EEPROM 208 gespeichert und diese Einstellung abgerufen
werden, um die Bestimmung zu machen. Mit anderen Worten, es ist
voreingestellt, welcher Modus gewählt werden soll.
-
Wenn
in Schritt S801 der erste Modus gewählt wird, geht die Steuerung
zu Schritt S401 eines der oben in Zusammenhang mit der ersten und
zweiten Ausführungsform
beschriebenen Prozesse weiter. Der entsprechende Prozess wird dann
ausgeführt.
Wenn in Schritt S801 der zweite Modus gewählt wird, wird die Ursache
der Reset-Operation in Schritt S802 detektiert. Dieser Prozess ist
der gleiche wie der von Schritt S401.
-
Wenn
ein Einschalt-Reset erkannt wird, werden der erste und zweite Initialisierungsprozess
in den Schritten S803 und S804 ausgeführt. Diese Prozesse werden
normalerweise nacheinander ausgeführt und können deshalb normal enden,
bevor die Verzögerungszeit
T1 abgelaufen ist. In Schritt S805 wird dann detektiert, ob die
Initialisierungsprozesse normal abgeschlossen worden sind. Ist dies
nicht der Fall, wird eine Fehlerbehandlungsroutine (S806) ausgeführt. Wenn
die Initialisierung normal endet, ist der Drucker zum Drucken bereit
und erwartet einen Druckbefehl und Druckdaten vom Host-Gerät.
-
Wenn
in Schritt S802 ein externer Reset detektiert wird, wird der vierte
Initialisierungsprozess ausgeführt
(S808). Diesem Initialisierungsprozess kann sich dann eine Fehlerbehandlungsroutine (S810)
oder ein normaler Druckprozess anschließen wie oben beschrieben.
-
Wenn
bei dieser Ausführungsform
der Drucker eingeschaltet wird, wird z. B. bestimmt, ob eine Reinigung
des Druckkopfes erforderlich ist. Falls ja, wird der erste Modus
gewählt;
falls nein, kann der zweite Modus gewählt werden. Es ist zu beachten, dass
dann wenn der zweite Initialisierungsprozess gewählt wird, wenn Reinigen nicht
erforderlich ist, der Reinigungsprozess nicht im zweiten Initialisierungsprozess
enthalten ist. Als Ergebnis kann der zweite Initialisierungsprozess
unterbrochen werden, ohne dass dies in unnötigem Tintenverbrauch resultiert. Der
zweite Modus kann deshalb in diesem Fall zur Ausführung sämtlicher
Initialisierungsprozesse gewählt
werden, ohne dass der Ablauf der Verzögerungszeit T1 abgewartet werden
muss, wodurch die Hochfahrzeit des Druckers verkürzt wird.
-
Es
sollte ferner beachtet werden, dass die vorliegende Erfindung den
größten Nutzen
bringt, wenn eine Unterbrechung des Druckkopf-Reinigungsprozesses
vermieden werden kann. Der erste und zweite Initialisierungsprozess
schließen
sich daher gegenseitig aus, und die Reinigung des Druckkopfes ist
vorzugsweise im zweiten Initialisierungsprozess enthalten, d. h.
die Reinigung des Druckkopfes ist vorzugsweise nicht im ersten Initialisierungsprozess
enthalten.
-
Die
obigen Ausführungsformen
eines Druckers gemäß der vorliegenden
Erfindung sind anhand eines Tintenstrahldruckers als Beispiel beschrieben
worden. Die Erfindung ist jedoch nicht auf Tintenstrahldrucker beschränkt, und
eine Vielzahl anderer Druckmechanismen kann alternativ verwendet werden,
einschließlich
Raster-, Anschlag-, Thermo- und elektrofotografischer Druckmechanismen.
Die vorliegende Erfindung kann mit diesen und anderen Druckertypen
angewendet werden, indem im zweiten Initialisierungsprozess jegliche
Initialisierungsaufgaben abgewickelt werden, die einen gewissen
Zeitaufwand erfordern und wünschenswerterweise
nicht wiederholt ausgeführt
werden.
-
Es
sei darauf hingewiesen, dass die Verzögerungszeit Td, die Verzögerungszeit
T1, die Referenzzeit T2 etc., die zur Bestimmung des ausgeführten Initialisierungsprozesses
dienen, jeweils ein fester Wert sein kann, der im ROM 205 gespeichert
wird, oder eine Mehrzahl Werte kann gespeichert und entsprechend
vorgegebener DIP-Schaltereinstellungen und/oder Steuerbefehlen gewählt werden.