-
Die
vorliegende Erfindung betrifft einen Drucker, ein Steuerungsverfahren
für den
Drucker und ein Datenspeichermedium, das ein durch einen Computer
ausführbares
Programm zur Implementierung der Schritte des Steuerungsverfahrens
speichert.
-
Drucker
zum Drucken von Text und Bildern auf Papier oder ein anderes Druckmedium
entsprechend den Steuerbefehlen und Druckdaten, die sie von einem
Host-Gerät
empfangen, sind hinreichend bekannt und werden in großem Umfang
verwendet. Bei solchen Systemen sendet das Host-Gerät häufig Daten
(Steuerbefehle und Druckdaten) von einem beliebigen entfernten Ort über eine
Kommunikationsverbindung an den Drucker.
-
Wenn
während
einer Druckoperation ein Fehler auftritt, z.B. wenn der Papiervorrat
erschöpft ist,
bricht der Drucker typischerweise das Drucken ab und informiert
den Benutzer über
das Auftreten eines Fehlers mittels einer optischen (visuellen)
Anzeige. Der Fehlertyp kann durch Leuchten oder Blinken einer LED
(Leuchtdiode) auf einem Anzeige- oder Bedienfeld des Druckers gemeldet
werden. Die JP-A-63-242676 z.B. lehrt einen Drucker, der verschiedene
Fehler visuell mittels einer einzigen Anzeigelampe melden kann,
indem die Blinkfrequenz der Anzeigelampe je nach Fehlertyp gewählt wird.
Die JP-A-63-242676 offenbart außerdem
die akustische Meldung verschiedener Fehler durch Variieren den Tonmusters
eines Summers anstelle der Anzeigelampe. Die JP-A-7156461 offenbart
einen Drucker, der von mehreren Host-Geräten gemeinsam genutzt wird,
und zur Tonausgabe in der Lage ist, um Start und Ende des Druckens
sowie Fehler zu melden.
-
Ein
anderer Drucker, der visuelle Fehlermeldungen verwendet, ist bekannt
(JP-A-2301818), bei dem den möglichen
Fehlern Prioritäten
zugeordnet sind, und der bei gleichzeitigem Auftreten mehrerer Fehler
den Fehler mit der höchsten
Priorität
meldet. Wenn der gemeldete Fehler beseitigt worden ist, wird der
mit der nächsthöheren Priorität gemeldet,
sofern vorhanden usw.
-
Ein
Problem, das herkömmlichen
Druckern, die dem Benutzer Fehler durch optische Mittel melden gemeinsam
ist, besteht darin, dass der Benutzer die visuelle Fehlermeldung
möglicherweise
nicht bemerkt, da er an einer Stelle getrennt von dem oder den Druckern
arbeitet, oder der Drucker an einem Ort installiert ist z.B. unter
einem Schreibtisch oder auf einem Regal, wo es für den Benutzer schwierig ist, das
Bedienfeld einzusehen, auf dem Fehler angezeigt werden. Ferner ist
es schwierig, den Fehlertyp nur durch die Verwendung blinkender
LED's zu identifizieren.
-
Wird
andererseits ein herkömmlicher
Drucker, der Fehler mittels eines Summers akustisch meldet, an einem
lauten Ort oder einem Ort mit hohem Pegel der Umgebungsgeräusche verwendet, kann
es schwierig werden, den Summer zu hören und den gemeldeten Fehler
zu erkennen. Werden mehrere nahe beieinander aufgestellte Drucker
mit akustischer Fehlermeldung verwendet, kann es schwer werden,
zu bestimmen, welcher Drucker einen Fehler meldet.
-
Des
Weiteren sind Drucker, die in Registrierkassen oder anderen POS-(Point-of-Sale;
Kassen-) Terminals verwendet werden, typischerweise im Innern der
Kasse oder des POS-Terminals untergebracht, und einige solcher Drucker
sind so konzipiert, dass ein Summer als Reaktion auf einen Befehl
vom Host ertönt.
Wenn ein Fehler auftritt, kann der Drucker jedoch nicht den Summer
als Reaktion auf einen Befehl ertönen lassen, da die Befehlsverarbeitung unterbrochen
wird.
-
Die
JP 61-276017 A offenbart einen Drucker, bei dem ein Warnton ausgegeben
wird, wenn der Drucker das Fehlen von Papier erkennt. Der Warnton hält so lang
an, bis ein Stopp-Schalter betätigt
wird.
-
Die
EP 0 916 494 A2 offenbart
einen Drucker gemäß dem Oberbegriff
von Anspruch 1, der in der Lage ist, als Reaktion auf verschiedene
Fehlerursachen unterschiedliche Tonmuster auszusenden.
-
Es
ist ein Aufgabe der vorliegenden Erfindung, die oben genannten Probleme
des Standes der Technik zu überwinden
und einen Drucker bereitzustellen, der in der Lage ist, einem Benutzer
einen Fehlerstatus mittels Ton zu melden, und ein Verfahren zur
Steuerung eines solchen Druckers sowie ein Speichermedium bereitzustellen,
das ein computerlesbares Programm zur Ausführung dieses Steuerungsverfahrens
speichert.
-
Diese
Aufgaben werden durch einen Drucker gemäß Anspruch 1, ein Verfahren
gemäß Anspruch 8
bzw, ein Datenspeichermedium gemäß Anspruch 14
gelöst.
Bevorzugte Ausführungsformen
der Erfindung sind Gegenstand der Unteransprüche.
-
Die
vorliegende Erfindung ermöglicht
es einem Benutzer für
jeden Fehler getrennt eine akustische Meldung zu wählen oder
zu deaktivieren. Die akustische Meldung kann anstelle einer visuellen Meldung
oder zusätzlich
zu einer solchen bereitgestellt werden. Bei einer bevorzugten Ausführungsform
kann der Benutzer sogar für
jeden Fehler getrennt ein entsprechendes Tonmuster wählen, um
die Betriebsumgebung zu berücksichtigen
und speziell die Geräuschbedingungen
der Umgebung, in der der Drucker verwendet wird, so dass die akustische
Meldung gut gehört
und erkannt werden kann. Bei einer weiteren Ausführungsform kann bestimmten
Fehlern eine Prioritätsstufe
wie vom Benutzer gefordert oder gewünscht zugeordnet werden.
-
Ein
Drucker gemäß der vorliegenden
Erfindung enthält
vorzugsweise einen programmgesteuerten Mikroprozessor zur Steuerung
des Druckers. In diesem Fall kann das erfindungsgemäße Verfahren durch
die Ausführung
eines entsprechenden Programms verwirklicht werden, das auf einem
Datenspeichermedium, z.B, einer CD, einer Diskette, einer Festplatte,
einer magnetooptischen Platte, einer digitalen Videoplatte, einem
Magnetband oder einem Halbleiterspeicher enthalten ist. Das Programm
kann getrennt vom Drucker der vorliegenden Erfindung vertrieben
und unabhängig
von einem Host-Gerät
aktualisiert werden.
-
Andere
Aufgaben und Vorteile sowie ein besseres Verständnis der Erfindung erschließen sich
aus der nachfolgenden Beschreibung bevorzugter Ausführungsformen
in Zusammenhang mit den beiliegenden Zeichnungen; es zeigen:
-
1 eine
schematische Darstellung der Konfiguration eines Drucksystems mit
einem Drucker gemäß einer
Ausführungsform
der vorliegenden Erfindung;
-
2 eine
schematische Darstellung der grundlegenden Konfiguration eines Druckers
in dem in 1 dargestellten System;
-
3 eine
schematische Darstellung der im RAM eines Druckers in dem in 1 dargestellten System
reservierten Pufferbereiche;
-
4 ein
Flussdiagramm des auf einem Drucker gemäß einer Ausführungsform
der vorliegenden Erfindung ausgeführten normalen Steuerungsprozesses;
-
5 ein
Flussdiagramm des auf einem Drucker gemäß einer Ausführungsform
der vorliegenden Erfindung Offline-Unterbrechungsprozesses;
-
6 ein
Flussdiagramm der Subroutine A des in 6 dargestellten
Offline-Unterbrechungsprozesses.
-
Ein
in 1 dargestelltes Drucksystem 101 enthält ein Host-Gerät 102 (nachstehend
einfach als "Host" bezeichnet) und
eine Druckvorrichtung 103 (nachstehend einfach als "Drucker" bezeichnet); der Host
und der Drucker sind durch eine Kommunikationsverbindung 105 miteinander
verbunden. Wenn der Host 102 Daten über die Kommunikationsverbindung 105 an
den Drucker 103 sendet, empfängt der Drucker 103 die
Daten und interpretiert sie und führt dann einen Prozess entsprechend
der interpretierten Daten aus.
-
Druckerkonfiguration
-
2 zeigt
die Konfiguration einer Ausführungsform
des Druckers 103 gemäß der vorliegenden
Erfindung. 3 zeigt einige der im RAM (Random
Access Memory -Speicher mit wahlfreiem Zugriff) des Druckers 103 reservierten
Pufferbereiche.
-
Eine
CPU 201 steuert verschiedene Teile des Druckers 103 gemäß einem
im ROM 202 gespeicherten Programm. Die CPU 201 liest
nach dem Einschalten der Spannung für den Drucker 103 das
Programm aus dem ROM 202 aus und führt es aus. Die CPU 201 initialisiert
außerdem
verschiedene Teile des Druckers und den Druckerbetrieb entsprechend der
Einstellung der DIP-Schalter 210. Es ist zu beachten, dass
der ROM 202 außerdem
eine Schriftartdefinition für
mindestens eine Textschriftart speichert.
-
Der
Drucker 103 kommuniziert mit dem Host 102 über die
Kommunikationsverbindung 105 und eine Schnittstelle 203.
Wenn vom Host gesendete Daten empfangen werden, gibt die Schnittstelle 203 eine
Empfangsunterbrechung an die CPU 201 aus, und die CPU 201 beginnt
einen Empfangsunterbrechungsprozess.
-
Im
Empfangsunterbrechungsprozess werden die empfangen Daten sequentiell
in einem Empfangspuffer 221 (ein bestimmter Bereich im
RAM 204 wie in 3 dargestellt) gespeichert.
Handelt es sich bei den empfangenen Daten um einen so genannten Echtzeitbefehl,
wird der entsprechende Prozess sofort ausgeführt. Die Steuerung geht dann
vom Echtzeitbefehlsprozess zum normalen Steuerungsprozess zurück.
-
Im
normalen Steuerungsprozess liest die CPU 201 die im Empfangspuffer 201 gespeicherten Daten
sequentiell aus und interpretiert sie, um einen Befehl oder Druckdaten
in den gepufferten Daten zu erkennen, und führt dann einen Prozess entsprechend
den erkannten Daten aus. Echtzeitbefehle werden im Empfangsunterbrechungsprozess
verarbeitet und deshalb übersprungen,
wenn sie in einem normalen Steuerungsprozess angetroffen werden.
-
Wenn
es sich bei den empfangenen Daten um Text- oder Bilddruckdaten handelt,
werden Textschriftartinformationen oder ein Bitbild des Bildes in einem
Zeilenpuffer 222 (Druckpuffer, auch ein bestimmter Bereich
im RAM 204; siehe 3) generiert.
Die CPU 201 steuert den Druckkopf 208 an, um das
Druckbild im Zeilenpuffer 222 in Zeileneinheiten auf dem
Papier 241 auszudrucken. Es sei darauf hingewiesen, dass
obwohl Rollenpapier als Papier 241, d.h. als Druckmedium,
in dieser beispielhaften Ausführungsform
verwendet wird, die Art des Druckmediums für die vorliegende Erfindung
nicht kritisch ist, und ebenso Einzelblätter, Endlosformulare oder
ein anderer Typ Druckmedium verwendet werden könnte. Nach Abschluss des Druckens
der einen Zeile wird eine Transportwalze 209 angesteuert,
um das Papier 241 vorwärts
zu transportieren.
-
Ein
Sensor 'Abdeckung
offen' 251 zur
Erkennung, ob die Druckerabdeckung 250 offen oder geschlossen
ist, ein Sensor 'Kein
Papier' 252 zur
Erkennung des Vorhandenseins/Fehlens von Papier 241 und
ein Temperatursensor 253 zur Erfassung der Temperatur des
Druckkopfes 208 erkennen Fehler, d.h. Ursachen für den Drucker,
offline zu gehen. Tritt einer dieser Fehler auf, wird bei dieser
beispielhaften Ausführungsform
eine Offline-Unterbrechung an die CPU 201 gesendet. Wahlweise
werden Konfigurationen, bei denen die CPU 201 den Status
dieser Sensoren abfragt, um eine Kontrolle auf das Vorliegen eines
Fehlers durchzuführen,
ebenfalls vom Gültigkeitsbereich
der vorliegenden Erfindung abgedeckt. Die Sensoren 251, 252 und 253 sollten
nur als Beispiele verstanden werden, d.h. andere oder zusätzliche
Sensoren könnten
zur Erfassung von Fehlern verwendet werden.
-
Bei
Auftreten eines beliebigen Fehlertyps gibt ein Summer 231 einen
Ton ab, um den Benutzer zu informieren. Es sei darauf hingewiesen,
dass ein andere Tongenerator als ein Summer ebenso gut verwendet
werden könnte,
z.B. eine Melodie-IC oder ein Sprachgenerator mit Lautsprecher oder
eine andere beliebige Schallquelle.
-
Im
RAM 204 ist eine Fehlerantworttabelle 271 gespeichert.
Diese Fehlerantworttabelle 271 enthält für jeden der oben genannten
Fehlertypen 1 bis 4 einen entsprechenden Satz akustischer Meldein formationen;
jeder Satz enthält
bei dieser Ausführungsform
die folgenden Felder (Elemente):
- – Meldungsfreigabe-Flag:
ein Flag, das angibt, ob der Drucker eine akustische Meldung ausgeben soll,
wenn der entsprechende Fehlertyp auftritt. Das Flag ist zur Meldung
auf 1 gesetzt und auf 0, wenn keine Meldung erfolgen soll.
- – Flag
Meldung erfolgt: ein Flag, das angibt, ob für den betreffenden Fehlertyp
bereits eine akustische Meldung ausgegeben worden ist. Wenn das Flag
auf 1 gesetzt ist, ist die Meldung abgeschlossen; ist es auf 0 gesetzt,
ist der Fehler noch nicht gemeldet worden.
- – Tontyp:
Identifizierungszeichen, das den Tontyp angibt, der zur Meldung
dieses Fehlertyps zu verwenden ist.
- – Anzahl
Aussendungen: ein Wert, der angibt, wie oft der Ton, sofern vorgesehen,
auszusenden ist.
- – Aussendungsintervall:
ein Wert, der das Intervall zwischen aufeinander folgenden Tonaussendungen
angibt, wenn die Anzahl der Aussendungen größer als 1 ist.
- – Prioritätsstufe:
ein Wert, der die Prioritätsstufe der
Meldung für
den jeweiligen Fehlertyp einstellt. Je niedriger der Wert ist, umso
höher ist
die Priorität.
-
Es
ist zu beachten, dass die akustischen Meldungsinformationen nicht
notwendigerweise alle der obigen Felder enthalten müssen und
jede untergeordnete Kombination der Felder oder zusätzliche Felder
(z.B. ein Feld zur Einstellung der Lautstärke) wären möglich.
-
Bei
Einschalten der Spannung für
den Drucker 103 wird das Meldungsfreigabe-Flag für alle Fehlertypen
auf 0 gesetzt, d.h. der Drucker ist so eingestellt, dass er ungeachtet
irgendwelcher auftretender Fehler keine akustische Meldung ausgibt.
Es ist zu beachten, dass sie Voreinstellungen der akustischen Meldungsinformationen
in der Fehlerantworttabelle 271 vorteilhaft geändert werden
können,
z.B. durch die entsprechende Einstellung der DIP-Schalter 210.
Bei einer solche Konfiguration liest die CPU 201 die Einstellungen
der DIP-Schalter 210 beim Einschalten der Spannung und
während
des Initialisierungsprozesses und nimmt entsprechende Voreinstellungen
in der Fehlerantworttabelle 271 vor. Alternativ kann die
Fehlerantworttabelle 271 in einem Flash-Speicher oder einem
anderen nicht flüchtigen Speichergerät gespeichert
werden. In diesem Fall könnten
die Einstellungen geändert
werden, indem das die Tabelle speichernde Speichergerät ausgetauscht
wird. Wie später
beschrieben wird, ist eine Ausführung
zur Änderung
der Voreinstellungen der akustischen Meldungsinformationen mittels
eines oder mehrerer Steuerbefehle vom Host besonders vorteilhaft.
Dies kann anstelle oder zusätzlich
zur Änderung
von Mitteln wie den DIP-Schaltern möglich sein.
-
Befehlssystem
-
Typischerweise
wird ein Druckerbefehlssystem verwendet, um einem bestimmten Prozess
eine entsprechende Anweisung zuzuordnen. Bei dem in dieser beispielhaften
Ausführungsform
verwendeten Befehlssystem ist jeder Befehl ein Byte-String aus einem
oder mehreren vollständigen
Bytes. Die Befehle werden in dieser Beschreibung in hexadezimaler Schreibweise
angegeben, die durch die vorangestellten Zeichen 0x ausgedrückt wird.
Beispielhafte Befehle, die im Folgenden zur Erläuterung einer Ausführungsform
der vorliegenden Erfindung verwendet werden sind:
- – Druckdaten,
0x20 – 0x7e.
Jedes Byte wird als spezifischer ASCII-Code interpretiert, der den Druck
des entsprechenden Schriftzeichens veranlasst..
- – Zeilentransportbefehl,
0x0a. Bedruckt das Druckmedium mit einer Zeile und bewirkt einen Zeilenvorschub.
- – Akustischer
Meldungsbefehl. 0x1b 0x28 0x41 pL pH fn n c t (fn = 1). Beginn des
Ansteuerns des Tongenerators, d.h. des Summers 231 bei
diesem Beispiel.
- – Einstellbefehl
akustische Meldung. 0x1b 0x28 0x41 pL pH fn a b n c t (fn = 2).
Stellt den auszusendenden Ton ein, wenn etwas geschieht, wodurch
der Drucker offline geht, d.h. wenn ein Fehler auftritt.
- – Befehl
Tonstopp, 0x10 0x05 m. Der Host 102 sendet diesen Befehl,
um den Drucker anzuweisen, die Tonerzeugung des Tongenerators zu stoppen.
-
fn,
n, c, t, a und b sind jeweils ein Byte große Befehlsparameter und pL
und pH sind Bytes (pL + pH * 256) die die Anzahl der anschließenden Befehlsparameter
angeben. Der Befehlsparameter fn gibt einen Funktionscode vor. Der
Befehlsparameter n gibt den Typ des auszusendenden Tons vor. Der
Befehlsparameter c gibt die Aussendungszahl vor, d.h. wie oft der
Ton auszusenden ist. Es ist zu beachten, dass beim Einstellbefehl
für die
akustische Meldung das Setzen des Parameters c auf 0 (c = 0) die
akustische Ausgabe annulliert wird (der Summer bleibt stumm), während das
Setzen von c auf 255 (c = 255) eine kontinuierliche Ausgabe veranlasst
(der Summer sendet einen Dauerton). Diese Parametereinstellungen
können
deshalb verwendet werden, um zu verhindern, dass der Summer selbst
bei Auftreten eines Fehlers ertönt,
oder um den Summer zu veranlassen, einen Dauerton auszusenden, wenn
ein Fehler auftritt. Der Befehlsparameter t stellt das Intervall
zwischen den Tonaussendungen (das Aussendungsintervall) ein. Bei
dieser beispielhaften Ausführungsform
ist das tatsächliche
Intervall auf (t * 100 ms) eingestellt.
-
Von
diesem Wert hängt
es ab, ob der Befehlsparameter n "stumm", "Dauerton" oder einen Typ aus
einer Vielzahl vordefinierter Tontypen angibt. Diese vordefinierten
Tontypen können
je nach den Tontypen, die der verwendete Tongenerator erzeugen kann,
verschieden sein. Beispiele für
verschieden Tontypen sind Töne
unterschiedlicher Frequenzen, Tonfolgen mit verschiedenen Tonimpulsen
etc. Tontypen, die bestimmte natürliche
Töne wie
Pfeifen, Läuten
oder Klingeln imitieren, sind ebenfalls denkbar.
-
Der
Befehlsparameter a stellt den Fehlertyp ein, d.h. er wählt einen
der Sätze
aus der Tabelle 271:
-
Bei
dieser beispielhaften Ausführungsform gibt
es vier Fehlertypen, die veranlassen können, dass der Drucker offline
geht:
- 1. die Druckerabdeckung ist offen;
- 2. es ist kein Papier (mehr) vorhanden, so dass der Druck endet
oder nicht starten kann;
- 3. ein anderer behebbarer Fehler als Fehlertyp 1 oder 2 ist
aufgetreten;
- 4. ein nicht behebbarer Fehler ist aufgetreten.
-
Bei
einem behebbaren Fehler handelt es sich um Betriebsstörungen,
die vor allem auf Benutzerfehler oder falsche Betriebsbedingungen
zurückzuführen sind.
Der Normalbetrieb kann nach Auftreten eines behebbaren Fehlers wieder
hergestellt werden, beispielsweise indem der Drucker erneut initialisiert
wird. Zu den behebbaren Fehlern zählen Papierladefehler, Papierstaus
und eine zu hohe Temperatur des Druckkopfes.
-
Bei
einem nicht behebbaren Fehler handelt es sich hauptsächlich um
hardwareseitige Fehler, die den Drucker selbst oder seine Spannungsversorgung
betreffen können.
Diese werden typischerweise als Fehlfunktion des Druckers oder des
Drucksystems betrachtet. Zu den nicht behebbaren Fehlern zählen Fehler
der Spannungsversorgung, Lauffehler der CPU (Zentraleinheit), Fehler
der Treiberschaltung und Speicherfehler.
-
Der
Befehlsparameter b gibt eine Meldungspriorität vor, die regelt, welcher
Fehler zuerst gemeldet wird, wenn mehrere Offline-Fehler gleichzeitig auftreten.
Wenn der Parameter b einen Bereich von 1 bis 255 hat, könnte z.B.
der Wert 1 die höchste
Priorität
und der Wert 255 die niedrigste Priorität angeben.
-
Der
Einstellbefehl für
die akustische Meldung kann verwendet werden, um die Voreinstellungen
der akustischen Meldungsinformationen in Tabelle 271 außer Kraft
zu setzen. Wenn der Drucker 103 einen Einstellbefehl für die akustische
Meldung erkennt, werden die Felder dieses Satzes in der Tabelle 271,
der durch den Parameter a vorgegeben ist, gemäß den Parametern des Befehls
gesetzt, d.h. Parameter n wird in das Feld Tontyp geschrieben, Parameter
c wird in das Feld Anzahl Aussendungen geschrieben, Parameter t
wird in das Feld Aussendungsintervall geschrieben und Parameter
b wird in das Feld Prioritätsstufe
geschrieben.
-
Wenn
im Befehl Tonstopp der Befehlsparameter m = 1, nimmt der Drucker
nach dem Beheben des Fehlers das Drucken ab dem Beginn der Zeile auf,
in der ein Fehler auftrat; ist der Befehlsparameter m = 2, wird
der Fehler des Druckers behoben, nachdem die Empfangs- und Druckpuffer
gelöscht
worden sind. Hier handelt es sich um einen Echtzeitbefehl, der vor
oder anstatt der Speicherung im Empfangspuffer selbst dann verarbeitet
werden kann, wenn der Drucker offline ist. Echtzeitbefehle sind
also von hoher Dringlichkeit und werden mit Priorität vor anderen Befehlen
und Druckdaten verarbeitet.
-
Mittels
des akustischen Meldungsbefehls kann der Drucker 103 veranlasst
werden, den durch den Parameter n bestimmten Ton in den mit dem
Parameter t bestimmten Intervall c mal auszusenden.
-
Wird
dieser Befehl z.B. nach den Druckdaten gesendet, kann das Ende des
Druckens durch Ertönen
des Summers gemeldet werden. Es ist zu beachten, dass dann, wenn
dieser Befehl verarbeitet wird, während der Summer bereits ertönt, der
aktuelle Summer-Prozess unterbrochen wird und ein neuer Summer-Prozess
startet. Das Ertönen
des Summers als Reaktion auf einen akustischen Meldungsbefehl kann
durch einen der nachstehenden Prozesse beendet werden; d.h.:
- – Erreichen
der durch den Parameter c vorgegebenen Anzahl;
- – Auftreten
eines Fehlers;
- – Ausführen eines
Befehls Tonstopp;
- – Spannung
für den
Drucker wird abgeschaltet oder ein Hardware-Reset ausgeführt.
-
Weiterhin
sei darauf hingewiesen, dass bei Auftreten eines Fehlers, während ein
anderer Fehler bereits verarbeitet wird, der Tontyp geändert wird, wenn
die Priorität
des neuen Fehlers höher
ist das die des in Verarbeitung befindlichen. Ist die Priorität des neuen
Fehlers gleich oder niedriger als die des in Verarbeitung befindlichen
Fehlers, hält
der aktuelle Summer-Prozess an. Das Ertönen des Summers als Fehlermeldung
wird durch einen der nachstehenden Prozesse beendet; d.h.:
- – Erreichen
der durch den Parameter i vorgegebenen Anzahl;
- – ein
Fehler wird gelöscht
(behoben);
- – Ausführen eines
Befehls Tonstopp;
- – Spannung
für den
Drucker wird abgeschaltet oder ein Hardware-Reset ausgeführt.
-
Andere
Befehle zum Hinzufügen
weiterer Funktionen bezüglich
der Tonaussendung könnten zu
den obigen mittels des Funktionscodes fn und relevanter Parameter
hinzugefügt
werden. So könnte beispielsweise
ein Tonregistrierbefehl zum Registrieren verschiedener Töne hinzugefügt werden,
indem eine Registriernummer mit einem Tonmuster verknüpft wird,
die Tonhöhe
und Tondauer vorgibt. In diesem Fall würde der Parameter n des Einstellbefehls
für die
akustische Meldung eine Registriernummer vorgeben. Ein derartiger
Befehl würde
es einem Benutzer ermöglichen,
eine gewünschte
Melodie zu registrieren und diese Melodie zur Meldung durch den
Drucker zu verwenden.
-
Außerdem kann
ein Parameter zur Vorgabe der Lautstärke bereitgestellt werden.
Dies ermöglicht es
dem Benutzer, die Lautstärke
entsprechend den Bedingungen am Aufstellungsort des Druckers einzustellen.
Außerdem
könnte
ein bestimmtes Aussendungsmuster unter bestimmten Bedingungen schwer zu
erkennen sein, könnte
aber leichter unterscheidbar gemacht werden, indem die Lautstärke für dieses Muster
höher eingestellt
wird als für
andere Muster.
-
Normaler Steuerungsprozess
-
4 ist
ein Flussdiagramm des normalen Steuerungsprozesses, der auf einem
Drucker gemäß der vorliegenden
Erfindung abläuft.
Die CPU 201 stellt zunächst
fest, ob Daten vom Host 102 empfangen worden sind, d.h.
ob Daten im Empfangspuffer 221 gespeichert worden sind
(S601). Ist der Empfangspuffer 221 leer (Nein in S601),
wird die Prozedur zurück
zu S601 geschleift und die CPU 201 wartet, bis die Schnittstelle 203 Daten
vom Host 102 empfängt,
eine Empfangsunterbrechung an die CPU 201 sendet und die
Daten im Empfangspuffer 221 gespeichert worden sind. Die
CPU 201 kann andere Prozesse ausführen, während sie auf den Empfang der
Daten wartet.
-
Wenn
die Daten im Empfangspuffer 221 gespeichert worden sind
(Ja in 601), liest die CPU 201 die Daten aus dem Empfangspuffer 221 aus
(S602). Der Empfangspuffer 221 ist typischerweise ein Ringpuffer
oder eine Warteschlange und die ausgelesenen Daten werden somit
aus dem Empfangspuffer 221 gelöscht.
-
Die
CPU 201 bestimmt dann den Typ der ausgelesenen Daten (S603).
Wenn es sich bei den Daten um Druckdaten handelt (in S603 wird bei
dieser Ausführungsform
0x20 bis 0x7e erkannt), werden die Schriftartdefinitionen entsprechend
den ASCII-Codes der Druckdaten aus dem ROM 202 ausgelesen
(S611) und ein Bitbild der Schriftartdefinition wird im Zeilenpuffer 222 erzeugt
(S612).
-
Die
CPU 201 bestimmt, ob die eine Zeile eines Druckbildes repräsentierenden
Daten in den Zeilenpuffer 222 geschrieben worden sind (S613).
Ist dies nicht der Fall (Nein in S613), wird die Prozedur zu S601
zurückgeschleift.
Wird Schritt S613 mit Ja beantwortet, steuert die CPU 201 den
Druckkopf 208 entsprechend dem Druckbild an, um den Text
oder das Bild zu drucken (S614) und löscht den Zeilenpuffer 222 (S615).
Die CPU 201 steuert auch die Transportwalze 209 an,
um einen Papiervorschub um eine Zeile auszuführen (S616) und geht dann zu
S601 zurück.
-
Erfolgt
in Schritt S613 die Antwort Nein (der Zeilenpuffer 222 ist
nicht voll), aber es wird ein Zeilenvorschubbefehl erkannt (0x0a
in S603 erkannt), weiß die
CPU 201, dass das Ende der in den Zeilenpuffer 222 geschriebenen
Druckzeile erreicht worden ist, und springt deshalb zu Schritt S614,
um den Druckkopf 208 und die Transportwalze 209 zum Drucken
dieser Zeile, Löschen
des Zeilenpuffers 222 (S615), Vorwärtstransport des Papiers (S616)
anzusteuern und geht dann zurück
zu Schritt S601.
-
Wird
in Schritt S603 ein Einstellbefehl für die akustische Meldung in
den Daten erkennt, erkennt die CPU 201 die Parameter a,
b, n, c und t (S621) und speichert die Parametereinstellungen in
den entsprechenden Feldern des durch den Parameter a vorgegebenen
Satzes in der Fehlerantworttabelle 271. Das bedeutet, sie
Meldungsfreigabe-Flag auf 1, Tontyp auf Parameter n; Anzahl der
Aussendungen auf Parameter i, Aussendungsintervall auf Parameter
t und Prioritätsstufe
auf Parameter b (S622). Die Steuerung geht dann zu Schritt S601
zurück.
-
Wird
in Schritt S603 in den Daten ein Befehl Tonstopp erkannt, wird die
Prozedur sofort zu Schritt S601 zurückgeschleift. Dies geschieht
deshalb, weil der Befehl Tonstopp ein Echtzeitbefehl ist und der Tonstopp-Prozess
während
des Empfangsunterbrechungsprozesses ausgeführt wird, was nachstehend ausführlicher
beschrieben wird.
-
Werden
andere Datentypen empfangen (Andere in S603), wird der entsprechende
Prozess ausgeführt
(S614) und die Prozedur wird zu Schritt S601 zurückgeschleift.
-
Offline-Unterbrechungsprozess
-
Der
Offline-Unterbrechungsprozess wird gestartet, wenn unter Bedingungen
wie nachstehend beschrieben ein Unterbrechungssignal an die CPU 201
gesendet wird. Aus diesem Grund kann eine Offline-Unterbrechung
während
des normalen Steuerungsprozesses gesendet werden.
- – Der Sensor 251 'Abdeckung offen' meldet, dass die
Druckerabdeckung 250 offen ist.
- – Der
Sensor 252 'Kein
Papier' meldet das
Fehlen von Papier.
- – Der
Temperatursensor 253 meldet eine unzulässig hohe Temperatur des Druckkopfes 208.
-
Die 5 und 6 sind
Flussdiagramme der Steuerung im Offline-Unterbrechungsprozess, der
nachstehend beschrieben wird.
-
Zuerst
stellt die CPU 201 den Drucker 103 offline (S701).
Dieser Prozess enthält
z.B. Schritte zur Meldung des Druckerstatus an den Host über die Schnittstelle 203 unter
Verwendung einer Auto Status Back- (ASB) Funktion und Schritte zum
Einschalten oder Blinken einer LED. Es ist zu beachten, dass eine
Empfangsunterbrechung selbst dann gesendet werden kann, wenn der
Drucker offline ist. Des Weiteren aktiviert die ASB-Funktion den
Drucker, um spezifische Statusinformationen an den Host zu senden,
wenn bestimmte vom Host vordefinierte Bedingen (eine bestimmte Änderung
des Druckerstatus) erfüllt
werden.
-
Die
CPU 201 liest dann die Statussensoren wie den Sensor 251 'Abdeckung offen', den Sensor 252 'Kein Papier' und den Temperatursensor 253 aus,
um die Quelle der Unterbrechung zu bestimmen (S702). Es ist zu beachten,
dass mehrere Fehler gleichzeitig auftreten können.
-
Als
nächstes
durchsucht die CPU 201 die Fehlerantworttabelle 271 darauf,
ob für
den aktuell erkannten Fehlertyp (wenn mehrere Fehlertypen gleichzeitig
auftreten: für
welchen der erkannten Fehlertypen) das Meldungsfreigabe-Flag auf
1 und das Flag Meldung erfolgt auf 0 gesetzt ist (S703).
-
Wird
ein passender Fehlertyp erkannt (Ja in S703), wird der Fehlertyp
mit der höchsten
Priorität (wenn
mehr als ein Fehlertyp erkannt wird) gesucht (S704), und die Einstellungen
für Tontyp,
Anzahl der Aussendungen und Aussendungsintervall für diesen Fehlertyp
werden gelesen (S705). Danach werden die Schritte S706 bis S710
ausgeführt,
während
das Flag Meldung erfolgt auf 0 gesetzt ist und höchstens, bis der Ton so oft
ausgesendet wurde, wie durch die Einstellung von Anzahl Aussendungen
vorgegeben.
-
Das
heißt,
dass die CPU 201 erkennt, ob der Summer gleich oft ertönt ist wie
mit der Einstellung Anzahl Aussendungen festgelegt (S706). Ist dies nicht
der Fall (Nein in S706), wird der vorgegebene Tontyp vom Summer 231 ausgesendet
(S707). Jeder der Fehlersensoren wird dann erneut ausgele sen (S708),
um zu bestimmen, ob eine Änderung
des Fehlerstatus stattgefunden hat (S709). Falls es eine Änderung
gab (Ja in S709), wird die Prozedur zu S702 zurückgeschleift. Hat es keine Änderung
gegeben (Nein in S709), wird die Prozedur zu S706 zurückgeschleift.
-
Diese
Schritte werden dann so oft wiederholt, bis der Summer so oft wie
vorgegeben ertönt
ist (Ja in S706). In diesem Fall wird das Flag Meldung erfolgt für den entsprechenden
Fehlertyp auf 1 gesetzt (S711) und die Prozedur wird zu S702 zurückgeschleift.
-
Wird
dagegen ein zu meldender Fehler nicht gefunden (Nein in S703), liest
die CPU 201 die Fehlersensoren aus (S721) und bestimmt,
ob ein zu meldender Fehler verblieben ist (S722). Ist dies der Fall (Ja
in S722), wird die Prozedur zu S721 zurückgeschleift und der Offline-Unterbrechungsprozess
fortgesetzt.
-
Wird
kein Fehler erkannt (Nein in S722), wird das Flag Meldung erfolgt
für jeden
der Sätze
in der Fehlerantworttabelle 271 auf 0 zurückgesetzt
(S273) und dieser Prozess abgeschlossen.
-
Es
ist deshalb mit einem Drucker gemäß der vorliegenden Erfindung
möglich,
einen Fehler durch das Aussenden von Ton zu melden, und der Benutzer kann
den Fehlertyp auf Basis des ausgesendeten Tontyps identifizieren.
-
Ferner
kann der Benutzer auf einfache Weise feststellen, welcher Drucker
meldet, dass er offline geht, wenn mehrere Drucker vorhanden sind,
indem die zur Fehlermeldung verwendeten Tontypen für die verschiedenen
Drucker unterschiedlich gestaltet werden.
-
Werden
des Weiteren sowohl ein visuelles Meldemittel wie eine LED als auch
ein akustisches Meldemittel wie ein Summer als Fehlermeldemittel verwendet,
kann eines oder können
beide zur Fehlermeldung gewählt
werden, was von der Betriebsumgebung des Druckers abhängt. In
diesem Fall ist es auch möglich,
das Blinken oder den eingeschalteten Zustand der LED mit der Anzahl
und dem Intervall der Tonaussendungen zu koppeln. Werden außerdem LED's mit unterschiedlichen
Farben verwendet, kann ein bestimmter Tontyp auch mit einer bestimmten
LED-Farbe gekoppelt werden.
-
Wenn
weiterhin jedem Fehlertyp eine Prioritätsstufe zugeordnet wird, kann
der Fehlertyp mit der höchsten
Dringlichkeit mit Priorität
gegenüber
anderen Fehlertypen gemeldet werden, wenn mehrere Fehler gleichzeitig
auftreten. Außerdem
kann diese Prioritätsstufe
entsprechend den Anforderungen des jeweiligen Benutzers eingestellt
werden. Wenn der Fehler mit der höchsten Prioritätsstufe
behoben worden ist, ist es auch möglich, dass danach Fehlertyp mit
der nächsthöheren Prioritätsstufe
gemeldet wird. Mit anderen Worten, selbst wenn ein Fehler mehrerer Fehlertypen
behoben worden ist und ein anderer Fehlertyp verbleibt, der nicht
behoben worden ist, kann dieser dem Benutzer akustisch entsprechend den
Einstellungen für
diesen Fehlertyp gemeldet werden.
-
Weiterhin
ist es bei einem Drucker, der nur einen einzigen Ton aussenden kann,
trotzdem möglich,
verschiedene Einstellungen für
Anzahl Aussendungen für
verschiedene Fehler vorzusehen und so akustisch verschiedene Fehlertypen
zu unterscheiden.
-
Verarbeitung
eines Befehls Tonstopp im Empfangsunterbrechungsprozess
-
Echtzeitbefehle
werden verarbeitet, selbst wenn der Drucker offline ist. Wird ein
Befehl Tonstopp empfangen, während
der Drucker offline ist, wird das Flag Meldung erfolgt in jedem
Satz in der Fehlerantworttabelle 271 auf 1 gesetzt, und
die Steuerung kehrt dann vom Empfangsunterbrechungsprozess zurück. Das
heißt,
dass die Tonaussendung gestoppt wird, bis ein neuer Fehler auftritt.
Wenn der Benutzer den Offline-Zustand des Druckers bemerkt und beginnt,
die Ursache dafür
zu beseitigen, kann der Host 102 mittels des Befehls Tonstopp den
Summer 231 unterbrechen, und der Benutzer kann das Problem ohne
den irritierenden Summerton beheben.