-
Diese Erfindung betrifft allgemein
die Steuerung von Druckern und spezieller ein Druckerdatenübertragungssystem
und -verfahren.
-
Drucker empfangen Druckdaten von
einer Quelle, wie z. B. einem Hauptrechner, und erzeugen eine gedruckte
Darstellung dieser Druckdaten auf einer Seite. Ein Drucker kann
entweder einen einzigen oder mehrere Hauptrechner versorgen. Z.
B. kann ein Drucker durch ein Kabel direkt mit dem seriellen oder
parallelen Port des Hauptrechners verbunden sein, um nur diesen
Hauptrechner zu versorgen. Alternativ kann ein Drucker, der über eine
Schnittstelle mit einem Netzwerk verbunden ist, mehreren Hauptrechnern
zugewiesen sein, die sich auf diesem Netzwerk befinden.
-
Viele Drucker haben in der Vergangenheit
eine Tafel zum Überwachen
und zur manuellen Steuerung des Druckers eingeschlossen. Eine manuelle
Steuerung könnte
mittels Steuervorrichtungen durchgeführt werden, wie z. B. Tastendruckschalter,
die manchmal permanent gekennzeichnet sind und dedizierte Funktionen ausführen. Eine
Zustandsanzeige und andere Überwachungsfunktionen
können
mit Hilfe von Leuchtanzeigen auf der Tafel oder durch hörbare Alarme
implementiert sein oder indem auf einer Flüssigkristallanzeige eine Mitteilung
ausgegeben wird. Solche Einrichtungen lieferten typischerweise Steuervermögen, die
von einem elementaren Leistungsschalten, einer Anzeige, ob sich
der Drucker in einem Online- oder Bereitschaftszustand befindet,
bis zu den verschiedensten mehreren ausgeklügelten Funktionen reichten,
wie z. B. Auswählen von
Papiergröße, Papierquelle,
Font, Punktgröße, Teilung,
manuellem oder automatischem Vorschub, Druckorientierung, Duplexmodus,
Zeilen pro Seite, Diagnoseprüfung
und andere. Überwachungsfunktionen
können ein
Bereitstellen von jeglicher einer Anzahl von visuellen oder hörbaren Anzeigen
einschließen,
die einen Benutzer über
Zustands- oder Wartungserfordernisse des Druckers informieren. Diese
Anzeigen können
die Form von Zustandsmitteilungen annehmen, wie z. B. "Bereit" oder "Beschäftigt", die den aktiven
Zustand des Druckers anzeigen. Sie können auch die Form von Bedienungsmitteilungen
annehmen, wie z. B. "Papierstau", "Lade Papier", "Toner fast leer", oder "Obere Abdeckung offen", was nach dem Eingreifen
der Bedienperson verlangt, oder können die Form von Wartungsfehlercodes
annehmen, wobei Probleme angezeigt werden, die die Wartung eines
Wartungstechnikers erfordern.
-
Die
EP
0598501 beschreibt einen LAN-Drucker mit einem nichtflüchtigen
Speicher zum Speichern eines Defaultkonfigurationscodes.
-
Die
EP
0556994 offenbart ein System, wodurch Druckdaten im Wesentlichen
gleichzeitig von verschiedenen Quellen eingegeben werden können.
-
Es sind Anstrengungen unternommen
worden, um Netzwerkadministratoren und Benutzer mit einem gewissen
Vermögen
zu versehen, einen Ferndrucker zu überwachen und zu steuern. Beispielhaft
für diese sind
Softwaredienstprogramme zum Konfigurieren, Handhaben und Entstören von
Druckern auf einem Netzwerk, wie z. B. einem Novell NetWare®-Netzwerk.
Ein solches Dienstprogramm ermöglicht,
dass ein Netzwerkadministrator eine Anzahl von Tasks ausführt, die
in Beziehung mit einem Drucker stehen, der irgendwo auf dem Netzwerk
angeordnet ist. Z. B. kann der Administrator Zustandsinformationen
sammeln und den Betriebszustand und Verbindungszustand eines gegebenen
Druckers auf dem Bildschirm des Hauptrechners unter Verwendung einer
Maus oder anderen Zeigervorrichtung anzeigen. Ein Drucker kann auch
fernkonfiguriert sein, um entweder in einem Ferndruckermodus oder
einem Warteschlangenservermodus zu arbeiten. In dem Warteschlangenservermodus
wird kein separater Druckserver erfordert. Druckdaten von einem
Hauptrechner werden zu einem Dateiserver übermittelt, wo sie in eine
Druckwarteschlange ausgelagert werden. Wenn der ausge wählte Drucker
verfügbar
ist, transferiert ein Warteschlangenserver den Job zu dem Drucker
zum Drucken. In dem Ferndruckermodus werden die in den Dateiserver
ausgelagerten Druckdaten durch einen dedizierten Druckserver zu
dem ausgewählten
Drucker kopiert. Das Dienstprogramm ermöglicht auch einem Netzwerkadministrator,
Warteschlangen oder Dateiserver hinzuzufügen oder zu löschen, und
Druckertreiber von fern zu installieren, auszuwählen oder zu entfernen.
-
Einige vor Ort mit einem Hauptrechner
verbundene Stand-der-Technik-Drucker
haben bidirektionale Datenübertragungen
verwendet, die mit Nicht-Standard-Protokollen implementiert sind,
um zu ermöglichen, dass
ein Benutzer des Hauptrechners den Drucker überwacht und steuert. Z. B.
umfasst außer
einem Leistungsschalter, der irgendwo auf dem Drucker angeordnet
ist, die Bedienpersontafel des WinWriter 600, der von Lexmark International,
Inc. hergestellt wird, nur Drucktasten, die mit "Pause/Wiederaufnehmen" und "Löschen" gekennzeichnet sind, und vier Leuchtanzeigen,
die gekennzeichnet sind, um anzuzeigen, ob der Drucker "Bereit" ist oder mit "Drucken" beschäftigt ist
oder "Papier" oder "Wartung" erfordert. Alle
anderen Überwachungs- und
Steuerfunktionen sind durch eine grafische Benutzerschnittstelle
(GUI) verfügbar,
die durch ein Dienstprogramm auf Windows-Basis erzeugt wird, das
auf dem Hauptrechner läuft.
Während
Drucker von diesem Typ mit Netzwerkbenutzern gemeinsam genutzt werden
konnten, um ihnen zu ermöglichen,
Jobs zu drucken, waren die Steuer- und Überwachungsfunktionen, die
für den
Benutzer des örtlichen
Hauptrechners verfügbar
waren, für
die Netzwerkbenutzer nicht verfügbar.
-
In letzterer Zeit ist es vorgeschlagen
worden, dass die Abhängigkeit
von den Überwachungs-
und Auswahlfunktionen, die durch die Druckertafel verfügbar sind,
die Teil des Druckers ist, vermindert werden. Zu diesem Zweck ist
es auch vorgeschlagen worden, dass die Tafelanzeige und -funktionen
zu einem Monitor repliziert werden. Z. B. weist Lexmark für diesen
Zweck ein Produkt MarkVisionTM auf. Während ein
Fernzugriff auf die Druckertafel ermöglicht wird, hat dieser Lösungsweg
eine Abhängigkeit
von der Druckersteuertafel beibehalten.
-
Die Koordination von Fonts und Zeichenvorräten zwischen
einem Rechner und einem Drucker ist eine wichtige Task beim erfolgreichen
und effizienten Drucken von Schriftstücken. Der "Font" ist
einfach eine Menge von Zeichen, die dieselben grundlegenden Merkmale
gemeinsam nutzen. Fonts nehmen normalerweise ihre Namen von dem
Schriftbild: Courier oder Helvetica zum Beispiel. Jedes Schriftbild
wird durch einen Hauptrechner von speziellen Attributen begleitet,
wie z. B. Höhe,
Teilung (Dickte), Ausschluss, Art, Zeichenvorrat, Strichstärke und
Orientierung. Der "Zeichenvorrat" für einen
Font umfasst die tatsächlichen
Zeichen, die man in ihm drucken kann. Für die alphabetischen Zeichen
und Zahlen gibt es wenig Unterschied unter Zeichenvorräten, außer dass
die meisten US-Fonts das Dollarzeichen einschließen, wo europäische Fonts
wahrscheinlicher das Zeichen für
Pfund Sterling einschließen.
Die Fonts und Zeichenvorräte,
die im Drucker verfügbar
sind, müssen dem
Benutzer bekannt sein oder sonst dem Hauptrechner mitgeteilt werden,
um ein richtiges Drucken zu ermöglichen.
Wenn der Zeichenvorrat, der durch den Anzeigemonitor des Rechners
verwendet wird, nicht derjenige ist, der durch den Drucker verwendet
wird, gibt es Unterschiede oder sonderbare Zeichen auf der gedruckten
Seite. Ein Weg, um auf diese Situation einzugehen, besteht darin,
die im Drucker residenten Fonts und Zeichenvorräte kennen zu lernen, indem
das Handbuch des Druckers verwendet wird und diese in den Speicher
des Hauptrechners von Hand eingegeben werden. Dies kann ineffizient
sein und ermöglicht
keine leichten Änderungen
von Fonts und Zeichenvorräten
im Drucker. Folglich würde
es wünschenswert
sein, um Font- und Zeichenvorratsinformation auf eine gewisse automatische
Weise zum Hauptrechner bereitstellen.
-
Deshalb ist ein Bedarf für ein Druckerdatenübertragungssystem
entstanden, das die Unzulänglichkeiten
der Stand-der-Technik-Systeme
verringert. Ein weiterer Bedarf existiert für ein Druckerdatenübertragungssystem
und -verfahren, das die Ferneinstellung von Druckerkonfigurationsvariablen
und das Fernüberwachen des
Druckers ermöglicht,
das unabhängig
von einer Druckersteuertafel ist. Ein weiterer Bedarf existiert
für ein Druckerdatenübertragungssystem,
das effizient ermöglicht,
dass ein Hauptrechner von Font- und Zeichenvorräten, die auf einem Drucker
verfügbar
sind, Kenntnis hat.
-
Die vorliegende Erfindung betrifft
ein Verfahren und eine Vorrichtung, die auf die Nachteile, Probleme und
Bedürfnisse,
die oben dargelegt sind, eingeht. Ein Aspekt der Erfindung betrifft
einen Drucker, umfassend einen Druckerkontroller mit einem Speicher
zum Speichern einer Mehrzahl von Druckerkonfigurationseinstellungen
und einen Prozessor und einen mit dem Druckerkontroller gekoppelten
Port, der Signale von einem Hauptrechner empfängt, wobei der Druckerkontroller
Konfigurationsänderungsinformation über den
Port empfängt
und die Konfigurationsänderungsinformation
verarbeitet, um eine Aktualisierung von einer oder mehreren der
Mehrzahl von Druckerkonfigurationseinstellungen unter Verwendung
der Konfigurationsänderungsinformation
zu bewerkstelligen, während
der Drucker einen aktiven Druckjob verarbeitet, wenn die Aktualisierung
das Verarbeiten des aktiven Druckjobs nicht nachteilig beeinflusst.
-
Gemäß einem anderen Aspekt der
vorliegenden Erfindung wird ein Druckerdatenübertragungssystem bereitgestellt,
das den Hauptrechner benachrichtigt, wenn ein Konfigurationsverknüpfter Befehl
empfangen wird, der nicht gefahrlos unmittelbar zu verarbeiten ist,
während
der Drucker mit einem Druckjob beschäftigt ist, und weiter den Hauptrechner
informiert, dass er offline gehen sollte, um den Konfigurationsverknüpften Befehl
zu verarbeiten.
-
Gemäß einer Ausführungsform
der vorliegenden Erfindung ist ein Druckerkontroller programmiert,
um einen Fern-Offline-Befehl
zu empfangen und den Drucker sobald wie möglich ferngesteuert offline
zu nehmen. Gemäß einer
anderen Ausführungsform
der vorliegenden Erfindung ist ein Druckerkontroller programmiert,
um einen Fern-Online-Befehl zu empfangen und den Drucker ansprechend
darauf ferngesteuert offline zu nehmen.
-
Gemäß einer anderen Ausführungsform
der vorliegenden Erfindung ist ein Druckerkontroller programmiert,
um auf einen "Liste-Zeichenvorräte"-Befehl zu antworten,
indem die residenten Zeichenvorräte
zu dem Hauptrechner übertragen
werden.
-
Ein technischer Vorteil der vorliegenden
Erfindung besteht darin, dass sie eine Fernsteuerung und Fernüberwachung
eines Druckers ermöglicht,
einschließlich
Konfigurationsänderungen,
unabhängig
von jeglicher Steuertafel auf dem Drucker. Ein anderer technischer
Vorteil der vorliegenden Erfindung besteht darin, dass die Unabhängigkeit
des Druckerdatenübertragungssystems
von der Druckersteuertafel die Beseitigung der Steuertafel überhaupt
von dem Drucker ermöglicht.
Ein anderer technischer Vorteil der vorliegenden Erfindung besteht
darin, dass sichere-Druckerkonfigurations-Änderungen sofort durch den
Drucker gemacht werden können.
Ein anderer technischer Vorteil der vorliegenden Erfindung besteht
darin, dass der Hauptrechner nicht zu wissen braucht, welche Befehle
sicher sind und welche Befehle nichtsicher sind, bevor ein Konfigurationsverknüpfter Befehl
zum Drucker gesandt wird. Ein anderer technischer Vorteil der vorliegenden
Erfindung besteht darin, dass das Druckerdatenübertragungssystem den Hauptrechner
in Kenntnis setzt, wenn er offline genommen werden sollte, bevor
gewisse "nichtsichere" Konfigurationsverknüpfte Befehle
akzeptiert werden.
-
Noch ein anderer technischer Vorteil
der vorliegenden Erfindung besteht darin, dass Zeichenvorratsinformation
vom Dru cker zu einem Hauptrechner geliefert wird. Ein anderer technischer
Vorteil besteht darin, dass die Zeichenvorratsinformation und Fontinformation
effizient vom Drucker zum Hauptrechner transferiert werden, ohne
dass eine Vervielfältigung
von Zeichenvorratsinformation erfordert wird.
-
Andere Merkmale und Vorteile der
Erfindung können
von den Zeichnungen und der ausführlichen
Beschreibung der Erfindung, die folgt, bestimmt werden.
-
Für
ein vollständigeres
Verstehen der vorliegenden Erfindung und ihrer Vorteile wird nun
Bezug auf die folgende Beschreibung genommen, die nur anhand eines
Beispiels in Verbindung mit den begleitenden Zeichnungen gegeben
wird, in der gleiche Bezugszeichen gleiche Merkmale anzeigen.
-
1 ist
eine teilweise schematische teilweise bildhafte Perspektivveranschaulichung
eines Hauptrechners und eines Druckers in bidirektionaler Datenübertragung,
wobei die vorliegende Erfindung verwirklicht wird;
-
2 ist
ein Blockdiagramm, das funktionale Komponenten des Druckers in 1 veranschaulicht;
-
3 ist
ein funktionales Blockdiagramm der Architektur von Kontroller 34 des
Druckers in den 1 und 2;
-
4 ist
ein Flussdiagramm, das die Handhabung eines NPAP-Pakets von Information
durch den Drucker 20 unter gewissen Bedingungen veranschaulicht;
-
5 ist
ein Flussdiagramm, das die Handhabung eines NPA-Befehls durch die
NPAP-Task 54 und Fernmenüschnittstelle 68 veranschaulicht;
-
6 ist
ein Flussdiagramm, das den Prozess zum Fern-Offline-Nehmen eines Drucker veranschaulicht;
-
7 ist
ein funktionales Blockdiagramm, das die Übertragung von Font- und Zeichenvorratsinformation
demonstriert, gemäß einem
Aspekt der vorliegenden Erfindung;
-
8 ist
ein Flussdiagramm, das die Übertragung
und Überwachung
von Fonts und Zeichenvorräten durch
den Drucker 20 veranschaulicht; und
-
9 ist
ein. Flussdiagramm, das den Prozess zum Übertragen von Zeichenvorratsinformation
zum Hauptrechner 10 veranschaulicht.
-
Bevorzugte Ausführungsformen der vorliegenden
Erfindung sind in den 1–9 veranschaulicht, wobei
gleiche Bezugszeichen so verwendet werden, dass sie sich auf gleiche
oder entsprechende Teile der verschiedenen Zeichnungen beziehen.
-
Mit Bezug auf 1 ist dort ein typischer Hauptrechner 10 mit
einer Tastatur 12 und einem Bildschirm oder einer Anzeige 14,
die ihm zugeordnet sind, dargestellt. Der Rechner 10 weist
eine Zeigervorrichtung 16, wie z. B. eine Maus, einen Berührungsbildschirm,
Trackball oder Joystick, die ihm zugeordnet sind, auf. Die Zeigervorrichtung 16 ermöglicht ein "Anklicken" oder sonstiges Anzeigen
und Auswählen
von Merkmalen, die auf der Anzeige 14 erscheinen. Der Hauptrechner 10 kann
ein IBM-kompatibler Typ sein, der einen Intel-80X86-Mikroprozessor verwendet,
wie z. B. einen 80486 oder Pentium.
-
Der Hauptrechner 10 umfasst
typischerweise Komponenten, wie z. B. eine interne Festplatte oder
einen anderen geeigneten Programmspeicher und ein oder mehrere Plattenlaufwerke 18,
zum Heraufladen von Programmen und Daten. Der Rechner 10 kann
auch andere Vorrichtungen umfassen, wie z. B. CD-ROM-Laufwerke,
optische Laufwerke und andere Vorrichtungen, die im Stand der Technik
bekannt sind. Der Rechner 10 umfasst eine ausreichende
Menge von internem Speicher, wie z. B. Direktzugriffsspeicher (RAM)
zur Unterstützung
seines Betriebssystems, sowie alle Anwendungsdienstprogrammsoftware,
von der man wünscht, dass
sie auf dem Hauptrechner 10 läuft.
-
Der Hauptrechner 10 ist
auch mit einem oder mehreren Druckern 20 verbunden, die
entweder vor Ort, wie z. B. durch ein Kabel 22 zu einem
Port auf dem Rechner 10, oder mittels eines lokalen Netzwerks
(LAN) 24 durch eine geeignete im Handel erhältliche
Netzwerkkarte, die in einem verfügbaren
Erweite rungssteckplatz auf dem Hauptrechner 10 installiert
ist, mit dem Hauptrechner 10 verbunden sind. Ein auf dem
Netzwerk 24 installierter Drucker 20 ist durch
Verwendung einer internen Netzwerkadapterkarte (INA) oder eines
externen Netzwerkadapters (ENA) mit dem Netzwerk verbunden. Der
Drucker 20 kann an einem Standort nahebei oder entfernt
vom Rechner 10 körperlich
angeordnet sein. Der Drucker 20 kann z. B. ein Optra-E-Laserdrucker sein,
der ein Produkt von Lexmark International Inc. ist, aber zusätzliche
Merkmale aufweist, wie unten weiter beschrieben wird.
-
Der Drucker 20 kann einen
Ein/Aus-Schalter 28, Leuchtanzeigen 30, einen
Offline/Online-Wählschalter 32 und
andere Merkmale einschließen,
wie man es auf einem Drucker erwarten kann. Es versteht sich jedoch,
dass, während
die vorliegende Erfindung so dargestellt ist, dass sie ein modifizierter
Lexmark-Optra-E-Laserdrucker
ist, sie mit jeglichem Typ von Drucker verwendet werden kann, einschließlich anderen
elektrofotografischen Druckern, Tintenstrahldruckern, Nadeldruckern
und anderen Typen.
-
Der Rechner 10 kann Softwareprogramme
umfassen, die Aspekte der Erfindung nutzen, die im Drucker 20 einprogrammiert
sind, wie unten weiter beschrieben wird. Durch das Programmieren
des Rechners 10 ist eine bidirektionale Datenübertragung
zwischen dem Hauptrechner 10 und dem Drucker 20 möglich.
-
Mit Bezug nun auf 2 ist ein Blockdiagramm dargestellt,
das Aspekte der funktionalen Komponenten des Druckers 20 veranschaulicht.
Der Drucker 20 enthält
im Innern von sich, was als ein Druckerrechner oder -kontroller
34 mit einem Mikroprozessor 36 und einem Speicher 38 bezeichnet
werden kann. Der Prozessor 36 und der Speicher 38 können unter
Verwendung von Techniken, die im Stand der Technik bekannt sind, gekoppelt
werden, so dass der Prozessor 36 auf programmierte Programmbefehle
und Daten im Speicher 38 einwirken kann. Zusätzliche
Befehle und Daten können
durch den Drucker kontroller 34 durch einen Port 40 empfangen
werden. Der Druckerkontroller 34 ist mit einer Druckmechanismus-Druckmaschine 42 gekoppelt. Der
Druckmechanismus 42 kann sämtliche Vorrichtungen umfassen,
die zum Empfang von Signalen benötigt werden,
und durch solche Einrichtungen wie einen Laser genaue Information
auf Papier drucken. Wenn der Druckermechanismus 42 eine
Laservorrichtung ist, kann der Druckmechanismus 42 Vorrichtungen
umfassen, um: Signale von dem Kontroller 34 zu empfangen,
den Laserstrahl in Übereinstimmung
mit den Signalen zu feuern und zu bewegen, die Bewegung von Papier
zu steuern, das Papier zu sensibilisieren, so dass es Toner annimmt,
der das Bild bildet, und das Bild auf das Papier aufzuschmelzen.
Natürlich
kann der Druckmechanismus 42 auch andere Technologien nutzen,
wie z. B. einen Druckkopf, der mit einem Rasterdrucker verwendet wird,
eine Druckpatrone zur Verwendung mit einem Tintenstrahldrucker,
eine Trommel und Film, wie mit einem Farbstoffsublimationsfarbdrucker
verwendet werden mag, einen Papierzug mit zweifarbigen Farbbändern, der mit
einem Farbthermodrucker verwendet werden kann, oder andere Vorrichtungen,
die im Stand der Technik bekannt sind.
-
Der Speicher 38 kann einen
nichtflüchtigen
Direktzugriffsspeicher (NVRAM) 44, Flash-Speicher 46 und
andere Speicherbausteine 48 einschließen. Andere Speicherbausteine 48 können Direktzugriffsspeicher (RAM),
Festwertspeicher (ROM), eine programmierbare Kassette, eine Festplatte,
Platten, zusätzlichen
NVRAM oder eine andere Speichervorrichtung umfassen.
-
Der Kontroller 34 ist programmierbar,
um den Drucker 20 mit gewissen Merkmalen zu versehen. Eines der
Merkmale beinhaltet, wann und wie Defaultkonfigurationen im Drucker 20 eingestellt
werden. Defaultkonfigurationseinstellungen umfassen typischerweise
Sätze von
Programmbefehlen zum Steuern von gewissen Parametern der Druckarbeitsvorgänge, die
durch den Drucker ausgeführt
werden, wie z. B. Fonts, Papiergrößen, Seitenbeschreibungssprachen,
Beendigungsoptionen und Ablege fächer.
-
Der Druckerkontroller 34 ist
so programmiert, dass Konfigurationsänderungen, die durch eine Anwendung
angefordert werden, die auf dem Hauptrechner 10 läuft, wenn
möglich
sofort vorgenommen werden, statt dass die Anforderung für eine Konfigurationsänderung
bloß in
eine Warteschlange hinter anderen Druckjobs platziert wird. Folglich
wird im Hinblick auf Ändern
von Konfigurationen nur zugelassen, dass gewisse "sichere" Anforderungen zur Änderung
der Konfiguration sofort vorgenommen werden. Der Begriff "sichere" Anforderungen bezieht
sich auf diejenigen Anforderungen, die durch den Drucker 20 durchgeführt werden
können,
während
der Drucker 20 einen Druckjob verarbeitet, und dadurch
im Wesentlichen sofortige Änderungen
in der Konfiguration des Druckers 20 bewerkstelligen, ohne
dass das Verarbeiten des aktiven Druckjobs nachteilig beeinflusst
wird. Andere Anforderungen, wie z. B. ein Ändern von Datenübertragungsraten
erfordern, dass der Drucker 20 ferngesteuert offline genommen
wird, bevor sie durchgeführt
werden. Weiter sendet der Drucker 20 dem Hauptrechner 10 ein
Prompt, wenn der Hauptrechner 10 den Drucker ferngesteuert
offline nehmen muss, um eine "nichtsichere" Konfigurationsänderungsanforderung
richtig zu verarbeiten.
-
Indem nun auf 3 Bezug genommen wird, ist der Kontroller
auf Mikroprozessor-Basis 34 mit funktionalen Blöcken dargestellt.
Der Kontroller 34 kann eine Anzahl von Tasks ausführen und
eine Anzahl von gespeicherten Softwareprogrammen oder Code aufweisen,
die durch unterschiedliche Tasks aufgerufen werden können, um
Funktionen zur Unterstützung
der Tasks auszuführen.
Der Kontroller 34 kann die gewöhnlichen Druckerfunktionen,
wie z. B. ein Interpretieren von Druckjobs, beeinflussen, die in
einer oder mehreren Druckersteuersprachen mittels des Port 40 empfangen
werden, der ein serieller Port, paralleler Port und/oder interner
Netzwerkadapter (INA) sein kann, und die interpretierten Daten rasterisieren
und serialisieren, um eine Druckmaschine oder Druckmechanismus 42 zu treiben,
um eine gedruckte Darstellung der Druckdaten auf einer Seite zu
bilden.
-
Der Druckerkontroller 34 kann
mittels mindestens eines Datenübertragungskanals
unter Verwendung des Netzwerkdruckerallianzprotokolls (im Folgenden "NPAP") bidirektional mit
dem Hauptrechner 10 kommunizieren, das ein veröffentlichtes
Protokoll vom Spezifikationsniveau 1, Revision N, mit Datum vom
11. Februar 1994 ist. Das NPAP ist in seiner Ganzheit für alle Zwecke
ausdrücklich
hierin durch Bezug aufgenommen. Dieser Datenübertragungskanal kann Port 40 oder
LAN 24 sein (1).
Der Port 40 kann einen Puffer aufweisen, der ihm zugeordnet
ist. Eine Verbindung des Hauptrechners 10 mit dem Port 40 kann
durch jegliche Technik, die im Stand der Technik bekannt ist, erfolgen,
wie z. B. durch ein Datenübertragungskabel 22,
das eine Standard-Parallelschnittstelle für einen IBM-kompatiblen Personalrechner
gemäß IEEE 1284–1994 ist.
Die Haupttask zum Handhaben der NPAP-normgerechten Datenübertragungen
ist die NPAP-Task 54, die einen Puffer aufweisen kann,
der ihr zugeordnet ist.
-
Die NPAP-Task 54 führt die
Funktionen einer Handhabung von Befehlen und Daten im NPAP-Format aus.
Die NPAP-Task 54 führt
Druckerzustandsinformation zu jeglichen vor Ort angebrachten und/oder
Netzwerk-angebrachten Hauptrechnern 10 zu und empfängt Anforderungen
für eine
solche Information von den Hauptrechnern 10. Die NPAP-Task 54 kann
durch einen Zeitgeber periodisch aktiviert werden. Wenn sie aktiviert
ist, ruft die NPAP-Task 54 einen Port-BIOS 56 vom Port 40 auf,
um zu bestimmen, ob Daten am Port 40 empfangen worden sind.
Wenn ein NPAP-Befehl oder Befehlserweiterung von dem Typ, der unten
weiter beschrieben ist, empfangen ist, antwortet die NPAP-Task 54 entweder
direkt durch den Port 40 oder nach Erhalt benötigter Information
von einer anderen Funktion im Druckerkontroller 34.
-
Es ist möglich, die NPAP-Task 54 "aus" vorliegen zu haben,
so dass durch den Port-BIOS 56 empfangene Druckdaten direkt
zu einem Datenstrommanager 58 weitergereicht werden können. Wenn
die NPAP-Task 54 "ein" ist, dann werden
jedoch nur Daten im NPAP-Format – nach Entfernung von NPAP-Wrappern
oder Paketierung – zum
Datenstrommanager 58 durchgelassen. Information, die keine
NPAP-paketierte Information ist, wird rückgewiesen. Die NPAP-Task 54 kann
sich auch im "Auto"-Modus befinden,
in dem Nicht-NPAP-Daten oder -Befehle zum Datenstrommanager 58 durchgelassen
werden, als wenn das NPAP "aus" wäre, aber
NPAP-paketierte Information durch die NPAP-Task 54 gehandhabt
wird, wenn sie empfangen wird, als wenn die NPAP-Task 54 im "ein"-Zustand ist. Wie
unten weiter beschrieben wird, betreffen viele von den Aspekten
der Erfindung die Übertragung
von Information mit der NPAP-Task 54, die beim Handhaben
von Daten oder Befehlen hilft.
-
Der Druckerkontroller 34 umfasst
eine Emulationsmanagertask 60 und Interpretierer 62.
Wenn keiner von den Interpretierern oder Emulatoren 62 läuft, um
Daten für
eine anschließende
Rasterisierung und Serialisierung im Drucker 20 bereitzustellen,
sucht der Datenstrommanager 58 nach Druckdaten am Port 40,
um sie zum geeigneten Interpretierer 62 zu lenken. In der
Abwesenheit einer aktiven NPAP-Task 54 ruft der Emulationsmanager 60 Datenstrommanager
58-Funktionen auf, um Druckdaten vom Port-BIOS 56 zu einem
Puffer zu übertragen.
Wenn die NPAP-Task 54 für
einen speziellen Port 40 "ein" ist,
greift der Datenstrommanager 58 auf Daten von einem NPAP-Taskpuffer
für diesen
Port 40 zu. Der Emulationsmanager 60 und der Datenstrommanager 58 wirken
zusammen, um jedem Druckjob, der am Port 40 empfangen wird,
eine "Jobstruktur" zuzuordnen.
-
Die Jobstruktur ist eine jedem Druckjob
zugeordnete Datendatei und wird eine Zeitlang im Speicher gehalten.
Die Jobstruktur umfasst eine Identifizierungsnummer für den Druckjob,
einen Bereich, um die Anzahl von Seiten zu registrieren, die gedruckt
worden sind, und Information über
Ruflösung
und andere Spezifika. Wenn die Jobstruktur unvollständig ist, kann
die Druckerdefaultkonfiguration für fehlende Daten konsultiert werden.
Die Jobstrukturdaten können
während
des Druckprozesses modifiziert werden, um den Zustand des Job zu
aktualisieren. Z. B., wenn jede zu bedruckende Seite durch eine
Druckmaschinenhardware oder -mechanismus 42 aufbereitet
wird, wird die Jobstruktur modifiziert, um deren Vervollständigung
widerzuspiegeln.
-
Der Emulationsmanager 60 wirkt
auch mit dem Datenstrommanager 58 zusammen, um jedem Druckjob
zum geeigneten Interpretierer (z. B. einen PostScript®- oder
PCL®-Interpretierer)
zu routen. Der Datenstrommanager 58 reicht die Druckjobdaten
in der geeigneten Sprache bis zum Ende des Jobs zu einem ausgewählten der
Interpretierer 62 weiter, worauf der Datenstrommanager 58 einen
Jobendezustand zum Interpretierer 62 abgibt. Wenn der Interpretierer 62 mit
dem Druckjob fertig ist, zeigt er seinen Ruhezustand zum Emulationsmanager 60 an.
Wenn jede Seite aufbereitet ist, wird die Seite zu einer Grafikmaschinensoftware und
Druckmechanismushardware 42 für eine etwaige Rasterisierung
der zu bedruckenden Seiten und eine Serialisierung der Bitmapinformation
zum Druckmechanismus 42 abgegeben.
-
Ein NVRAM-Manager 64 (im
Folgenden "NV-Manager") liefert eine Hochpegel-Schnittstelle
durch den NVRAM-BIOS 66 zu einem nichtflüchtigen
RAM (NVRAM) 44. Der NV-Manager 64 wird durch den
Emulationsmanager 60 und die Interpretierer 62 beim Erzeugen
von Jobstrukturinformationen verwendet, wo solche Information aus
Werten hergeleitet wird, die im NVRAM 44 gespeichert sind.
Die NPAP-Task 54 kann auch mit dem NV-Manager 64 durch den Fernmenümanager
oder -schnittstelle (RMI) 68 kommunizieren, um NVRAM 44-Einstellungen
zu lesen und zu schreiben. Auf diese Einstellungen kann unter gewissen
Bedingungen sofort eingewirkt werden, wie z. B. wenn "sichere" Änderungsanforderungen verarbeitet
worden sind.
-
Zustandsmanager 70 ist eine
Task, die zuerst von zum Codekontroller 34 externen Ereignissen
erfährt, die
dem Drucker 20 zustoßen
können.
Der Zustandsmanager 70 bemerkt z. B., wenn die Druckerabdeckung geöffnet worden
ist, und organisiert ein Bereitstellen dieser Information zurück zu Benutzern,
wie z. B. NPAP-Task 54. Der Zustandsmanager 70 merkt
gewisse Bedingungen aufgrund von Hardwareinterrupts zum Mikroprozessor
des Druckers 20, während
andere Zustandsinformation durch den Zustandsmanager 70 auf einer
Pollingbasis überprüft wird.
Druckerkonfigurationsänderungen
und Vorrichtungszustandswarnmeldungen werden für eine Datenübertragung
zum angebrachten Hauptrechner 10 unter Verwendung des NPAP
vom Zustandsmanager 70 zur NPAP-Task 54 weitergereicht.
Das NPAP wird unten in größerer Einzelheit
beschrieben.
-
Das NPA-Protokoll (NPAP) ist ein
Protokoll, das nicht nur spezielle NPAP-Befehle definiert, sondern das
auch ermöglicht,
dass andere Formen von Befehlen oder Daten paketiert werden, um
zu ermöglichen, dass
NPAP-Befehle (oder Erweiterungen) in den normalen Datenstrom, der
mittels der Ports 52 übertragen wird,
dazwischengeschrieben werden. Wenn sie aktiv ist, kann die NPAP-Task 54 NPAP-Befehle
oder Befehlserweiterungen vom Datenstrom für ein spezielles Verarbeiten
erkennen und einfangen, während
ermöglicht
wird, dass andere Information auf die normale Weise durch den Datenstrommanager 58 verarbeitet
wird. Wie in 3 angezeigt,
kann die NPAP-Task 54 mit dem NV-Manager 64 mittels
der Fernmenüschnittstelle (RMI) 68 kommunizieren,
um Daten von dem NVRAM 44 zu lesen oder zu ihm zu schreiben.
Die NPAP-Task 54 kann auch auf gespeicherte Jobstrukturinformationen
zugreifen und sie modifizieren.
-
Ein NPAP-Datenübertragungspaket ist ein strukturiertes
Feld von digitaler Information. Ein NPAP-Paket umfasst ein Paketbeginn-Byte,
ein Zwei-Byte-Längenfeld,
ein Kennzeichnungsbyte und ein Befehlsbyte, gefolgt von einem Subbefehl
und/oder Datenfeldern und zugehöriger
Fehlerprüfung.
Um eine Beschreibung hierin zu erleichtern, werden die Fehlerprüfungsbytes,
die auf eine herkömmliche
Weise an das Ende eines Pakets platziert werden können, weggelassen.
Die Paketstruktur ist dann:
-
-
Die Einträge für die Felder sind Acht-Bit-Bytes,
dargestellt in hexadezimaler (hex) Notation. So ist z. B. das "Paketbeginn"-Byte für ein NPAP-Paket
hex A5 (dezimal 165).
-
Das Paketlängenfeld ist ein Zwei-Byte-Wort,
das die Anzahl von Bytes im Paket anzeigt, wobei das Längenfeld
selbst oder das Paketbeginn-Byte nicht eingeschlossen sind. Der
NPAP-Defaultwert für
eine maximale Paketgröße beträgt 64 Byte.
-
Hauptrechner 10-zu-Drucker 20-Pakete
sind häufig
kürzer,
gewöhnlich
sechs bis acht Bytes lang. Als Beispiel würde eine Paketlänge von
sechs Bytes als 00 06 angezeigt werden. Das NPAP-Protokoll identifiziert einen
Befehl, der dem Hauptrechner 10 ermöglicht, die maximale Paketlänge zu setzen,
die der Hauptrechner 10 akzeptiert. Typischerweise wird,
wenn der Hauptrechner 10 über ein Netzwerk, wie z. B.
das LAN 24, kommuniziert, die 'Maximal-Empfangs-Paket'-Größe auf die
Paketgröße des Datenübertragungsprotokolls
gesetzt, das durch das Netzwerk verwendet wird. Wenn eine Antwort
vom Drucker 20 länger
als diese Paketgröße ist, spaltet
die NPAP-Task 34 die Antwort in zwei oder mehr Pakete von
akzeptabler Größe auf.
Die NPAP-Task 54 zeigt an, dass das nächste Paket eine Fortsetzung
des aktiven ist, indem das Bit 5 im Kennzeichnungsbyte des Pakets
gesetzt wird.
-
Im Fall von Mitteilungen vom Hauptrechner
10 zum Drucker 20 besteht der Zweck des Kennzeichnungsbyte
darin, um ein einzelnes Byte bereitzustellen, das der Drucker 20 prüfen kann,
um Steuerinformation zu erhalten. Jedes Bit des Kennzeichnungsbyte
kann so definiert sein, dass eine Bedeutung vorhanden ist, wenn
das Bit gesetzt (logische Eins) oder gelöscht (logische Null) ist. Für gegenwärtige Zwecke
sind die Bits Vier und Sechs von Interesse (wobei Bit Null das niedrigstwertige
Bit und Bit Sieben das höchstwertige
Bit ist). Bit Sechs zeigt, wenn es gesetzt ist, an, dass das Paket
eine Mitteilung enthält,
die durch die NPAP-Komponente des Druckerkontrollers 34 zu
verarbeiten ist. Wenn Bit Sechs gelöscht ist, enthält das Paket
Daten für einen
Druckerinterpretierer. Bit Vier verlangt, wenn es gesetzt ist, nach
einer Antwort vom Drucker 20. Wenn z. B. beide Bits, Vier
und Sechs, gesetzt sind (und keine anderen Bits gesetzt sind), isst
das Kennzeichnungsbyte hex 50.
-
Im Fall einer Datenübertragung
vom Drucker 20 zu einem Hauptrechner 10 besteht
der Zweck des Kennzeichnungsbyte darin, ein einzelnes Byte bereitzustellen,
das der Hauptrechner 10 prüfen kann, um Steuerinformation
für die
Mitteilung und einen schnellen Überblick über den
Zustand des Druckers 20 zu erhalten. Wie im Fall von Datenübertragungen
von einem Hauptrechner 10 zum Drucker 20 enthält das Kennzeichnungsbyte
einzeln definierte Bits. Von gegenwärtigem Interesse ist, dass
Bit Sechs, wenn es gesetzt ist, anzeigt, dass die Mitteilung von
der NPAP-Task 54 des Druckerkontrollers 34 ist. Bit Vier,
wenn es gesetzt ist, bedeutet, dass die Erwiderung durch den Hauptrechner 10 erforderlich
war (abgerufen über
Kennzeichnungsbit Vier in der Mitteilung vom Hauptrechner). Die
Bits Null und Eins werden in den Zustand gesetzt, in dem sich der
Drucker 20 zu dem Zeitpunkt befindet, zu dem die Erwiderung
vom Drucker 20 gesandt wird. Die Bedeutungen der Zustände von
diesen Bits (Bit Eins-Bit Null) sind: 00 – Drucker 20 ist mit
keinen Warnmeldungszuständen
normal. betreibbar, 01 – Drucker
ist betreibbar, aber es gibt einen Zustand, über den die Bedienperson gerne
im Bilde sein mag (wie z. B. eine Warnmeldung 'Toner fast leer'), 10 – es. existiert ein Zustand,
der ein weiteres Drucken verhindert, der durch die Bedienperson
behoben werden kann, und 11 – es
existiert ein Zustand, der ein weiteres Drucken verhindert und der
nur durch einen Kundendienst/Reparaturbesuch behoben werden kann.
-
Indem man zum Format eines Hauptrechner
10-zu-Drucker 20-NPAP-Paket
zurückkehrt,
ist das fünfte Byte
ein Befehlsbyte, dessen Bedeutung vom Zustand von Bit Sechs im Kennzeichnungsbyte
abhängt.
Wenn das Kennzeichnungsbit Sechs gesetzt ist, enthält das Befehlsbyte
einen Befehl für
die NPAP-Task 54 des Druckerkontrollers 34. Wenn
das Kennzeichnungsbit Sechs gelöscht
ist, enthält
das Befehlsbyte eine Logikeinheitbezeichnung für den Druckerkontroller 34.
-
In Fall einer Drucker 20-zu-Hauptrechner
10-Erwiderungs-Mitteilung
wird der ursprüngliche
Befehl oder Logikeinheitidentifizierung der Hauptrechner 10-zu-Drucker
20-Mitteilung, die die Erwiderung hervorrief, rückgeführt. Wenn die Mitteilung vom
Drucker 20 nicht abgerufen ist (Kennzeichnungsbit Vier
gelöscht
und Kennzeichnungsbit Sechs gesetzt) und das Befehlsbyte hex Fx
ist (wobei x ein gültiges
hexadezimales Zahlzeichen ist), dann repräsentiert das Paket eine Warnmeldung
vom Typ hex Fx. Z. B. wird eine Vorrichtungszustandswarnmeldung
(DSA) durch ein Befehlsbyte von hex FF angezeigt.
-
Für
Pakete, die von einem Hauptrechner 10 ausgehen, weisen
die Datenbytes im Anschluss an das Befehlsbyte eine Bedeutung auf,
die vom Kennzeichnungsbit Sechs abhängt. Wenn Kennzeichnungsbit
Sechs gesetzt ist, enthält
das Datenfeld abhängig
vom Befehl entweder Daten oder einen Befehlsmodifizierer für die NPAP-Task 54 des
Druckerkontrollers 34. Wenn das Kennzeichnungsbit Sechs
gelöscht
ist, enthält
das Datenfeld Daten für
die Eingabewarteschlange einer logischen Einheit im Druckerkontroller 34.
-
Im Fall, dass NPAP-Pakete vom Drucker 20 ausgehen,
wenn Kennzeichnungsbit Sechs gesetzt ist, enthält das Datenfeld Warnmeldungsdaten
für ein
Hex Fx-Befehlsbyte, oder das Paket enthält eine Fehlerinformation,
oder das Datenfeld enthält
eine Befehlsantwort, wie durch den Befehl verlangt, der in das Befehlsbyte
rückgeführt ist
(Kennzeichnungsbit Vier gesetzt). Wenn Kennzeichnungsbit Sechs gelöscht ist,
enthält das Datenfeld
eine Mitteilung von einer logischen Einheit im Kontroller 34 (wie
z. B. einem Interpretierer 62), und Byte Fünf identifiziert
die logische Einheit, von der die Mitteilung entspringt.
-
Das veröffentlichte NPA-Protokoll definiert
eine Anzahl von Befehlen und Subbefehlen. Diese umfassen verschiedene
Typen von "Warnmeldungen", die von einem Drucker 20 zu
einem Hauptrechner 10 übertragen
werden sollen. Diese sind nützlich
zum Übermitteln
von Standardfehlerzuständen
oder Druckerzustandsänderungen.
Das NPA-Protokoll sorgt auch für
kundenspezifisch angepasste Befehle oder Erweiterungen. Die Verwendung
der NPA-Befehle und -Subbefehle wird unten in Bezug zu einer Ausführungsform
der vorliegenden Erfindung weiter erörtert.
-
Ein Aspekt der vorliegenden Erfindung
umfasst, dass der Drucker 20 arbeiten kann, ohne dass er
eine Fronttafel erfordert oder von einer Fronttafel abhängig ist.
Dies ermöglicht,
dass eine Bedienpersontafel 74, ein Tafek-BIOS 76 und
ein Vor-Ort-Menümanager 78 (alle
in 3 in gestrichelten
Linien dargestellt) vom Druckerkontroller 34 beseitigt
sind. Befehle und Funktionen, die durch sie durchgeführt werden,
können
nun durch Befehle vom Hauptrechner 10 gehandhabt werden,
die unabhängig
von den Vorrichtungen 74, 76 und 78 entwickelt
und interpretiert werden.
-
4 demonstriert,
wie der Kontroller 34 NPAP-paketierte Information handhabt.
NPAP-paketierte Daten oder Information werden bei Block 80 empfangen.
Als Nächstes
wird es bestimmt, ob die bei Block 80 empfangene Information
einen NPAP-Befehl bildet, wie bei Fragebox 82 dargestellt.
Wenn sie ein NPAP-Befehl
ist, wird er sofort verarbeitet, wie bei Block 84 angezeigt.
Wie der Befehl sofort verarbeitet wird, wird unten weiter beschrieben.
-
Wenn die Antwort auf Fragebox 82 verneinend
ist, ist die NPAP-paketierte Information kein Befehl sondern Daten.
Der Hauptrechner 10 kann selektiv eine 'Weise Paket zurück'-Option
nutzen, die im Kontroller 34 einprogrammiert ist. Angenommen,
dass die 'Weise
Paket zurück'-Option ausgewählt ist
und dass Fragebox 82 verneinend beantwortet worden ist,
wird, wie durch Fragebox 86 widergespiegelt, im Hinblick
darauf eine Bestimmung vorgenommen, ob der der NPAP-Task 54 zugeordnete
Puffer ausreichend verfügbar
ist, um die Daten zu empfangen, wodurch ein sofortiges Verarbeiten
von jeglichen möglichen
NPA-Befehlen, die im BIOS-Port-Puffer 56 warten, ermöglicht wird.
Wenn ein angemessener Raum im Puffer der NPAP-Task 54 existiert,
werden die Daten in den Puffer bewegt, wie bei Box 88 widergespiegelt.
Wenn nicht, wird das Paket rückgewiesen,
wie bei Box 90 dargestellt.
-
Angenommen, dass ein NPAP-Befehl
gesandt worden ist, so dass wir zur Box 84 in 4 vorgerückt sind, wird ein akzeptabler
Prozessfluss zum Handhaben des Befehls in 5 dargestellt. Beginnend bei Block 92 ist
die erste Frage, die erreicht wird, ob der Befehl ein Fernmenüschnittstellen
(RMI)-Befehl ist, wie durch Fragebox 94 widergespiegelt.
Wenn er kein RMI-Befehl ist, wird der Befehl durch den regulären NPAP-Befehlsprozessor
der NPAP-Task 54 gehandhabt, wie durch Box 96 widergespiegelt.
Wenn der Befehl ein RMI-Befehl ist, wird bei Block 98 im
Hinblick darauf eine Bestimmung vorgenommen, welcher Typ von RMI-Befehl
er ist. Es gibt zwei grundlegende Typen von RMI-Befehlen, Befehle
vom Lesetyp (auch als Befehle vom Holtyp bezeichnet) und Befehle
vom Schreibtyp (auch als Befehle vom Setztyp bezeichnet). Ein Befehl
vom Lesetyp beinhaltet nur Lesen von gespeicherter Information im
Speicher 38 (typischerweise NVRAM 44), ohne sie
zu modifizieren. Andererseits ändert
ein RMI-Befehl vom Schreibtyp Konfigurationsdaten im Speicher 38, oder
er schreibt neue dort hinein (typischerweise NVRAM 44).
Befehle vom Schreibtyp können
in zwei Gruppen eingeteilt werden: "sichere" Befehle und "nichtsichere" Befehle. Alle Befehle vom Lesetyp sind "sicher".
-
Ein "sicherer" Befehl ist einer, der durchgeführt werden
kann, ohne dass der Drucker 20 offline genommen wird. Ein "nichtsicherer" Befehl ist einer,
für den
der Drucker 20 offline genommen werden sollte, bevor die
betreffende Konfigurationsverknüpfte
Variable geändert
wird. Als ein Aspekt der vorliegenden Erfindung wird die Änderung
einer Defaultkonfiguration im Speicher 38, wenn möglich, bei
Empfangen eines geeigneten Befehls unmittelbar zustande gebracht.
D. h., die Befehle sitzen nicht in einer Warteschlange, bis sie
verarbeitet werden, sondern werden asynchron verarbeitet, wenn in
der Lage. Es gibt jedoch Gelegenheiten, wenn dies nicht akzeptabel
ist, weil eine Änderung
der Defaultkonfiguration zum möglichen
Schaden von Druckprojekten sein würde, die schon gehandhabt werden
oder die sich in der Warteschlange befinden, um vor dem Projekt, für das die Änderung
gewünscht
wird, gehandhabt zu werden. Folglich muss im Hinblick darauf Acht
gegeben werden, ob der Befehl sofort gehandhabt werden sollte. Z.
B., wenn man einen seriellen Port verwendet, hat man eine gewisse
Baudrate, die in der Konfigurationsinformation spezifiziert ist,
und man wünscht
nicht, diese Information zu ändern,
während
ein serieller Job heruntergesandt wird, weil es den aktiven Job
durcheinanderbringen könnte.
In dieser Situation ist es wünschenswert
zu warten, bis der (die) Druckjob (s) vollständig ist (sind), bevor die
Baudrate modifiziert wird. Folglich würde ein Befehl, der eine Änderung
der Baudrate anfordert, durch den Kontroller 34 als ein
nichtsicherer Befehl erkannt werden. In der bevorzugten Ausführungsform wird
eine Mitteilung zurück
zum Benutzer am Hauptrechner 10 gesandt, wobei angezeigt
wird, dass der Drucker 20 offline genommen werden muss,
damit ein solcher Befehl ausgeführt
wird. Dieser Lösungsweg
erfolgt aus einem Übermaß an Vorsicht
und zur Effizienz beim Softwareprogrammieren. Alternativ ist es
möglich,
den Kontroller 34 so zu programmieren, dass der angeforderte
nichtsichere Befehl im Speicher 38 gehalten wird, bis es
akzeptabel ist, diesen Teil der Konfiguration zu ändern, nachdem
der Druckjob vollständig
ist.
-
Mit Bezug wieder auf 5, ist, wenn der Befehl ein RMI-Befehl
vom Lesetyp ist, er nach Definition sicher, und deshalb wird er
sofort akzeptiert und durchgeführt.
Folglich rückt
der Fluss zur Box 100 vor, wo der Befehl sofort verarbeitet
wird. Das sofortige Verarbeiten, auf das bei Box 100 Bezug
genommen wird, kann ein schnelles Lesen einer Variablen von einer
Konfigurationsinformation, die im Speicher 38 gespeichert
ist, und ihr Senden zu einem Benutzer am Hauptrechner 10 umfassen,
wie durch Block 102 dargestellt.
-
Wenn die Antwort auf Fragebox 98 verneinend
ist, ist es ein RMI-Befehl vom Schreibtyp, der zum Schaden von anderen
Druckprojekten sein kann, wie oben beschrieben, und deshalb muss
eine Erwägung
in Hinsicht darauf angestellt werden, ob der Befehl eine "sichere" Option beinhaltet,
wie durch eine Fragebox 104 nahegelegt. Wenn er eine "sichere" Option ist, rückt der
Verarbeitungsfluss entlang einem Pfad 106 zur Box 100 für ein sofortiges
Verarbeiten vor. In diesem Fall kann ein sofortiges Verarbeiten
ein sofortiges Schreiben eines neuen Werts für eine Konfigurations-verknüpfte Variable
in den Speicher 38 beinhalten. Später kann eine Antwort, die
anzeigt, dass das Setzen der Variablen erfolgreich war, zum Hauptrechner 10 gesandt
werden, wie durch Block 102 nahegelegt.
-
Wenn der RMI-Befehl keine sichere
Option ist und der Drucker im Augenblick nicht offline ist, wird
eine Mitteilung zum Hauptrechner 10 gesandt, dass der Drucker 20 ferngesteuert
offline genommen werden sollte, wie durch Box 108 angezeigt.
Der Programmierer der Anwendungssoftware im Rechner 10 kann
wählen,
dies auf eine Anzahl von unterschiedlichen Weisen zu handhaben.
Der angeforderte Befehl, der nichtsicher war, kann im Speicher des
Rechners 10 gespeichert werden, und es kann ein Befehl
erzeugt und zum Drucker 20 rückgesandt werden, der anfordert,
dass der Drucker 20 offline geht. Wie unten weiter beschrieben
wird, sendet, sobald der Drucker 20 ansprechend auf einen
solchen Befehl offline geht, er eine Notiz dieses Inhalts zurück zum Rechner 10,
und das Anwendungsprogramm kann dann den nichtsicheren Befehl nochmals
senden, den es im Speicher gehalten hatte.
-
Man beachte, dass. ein Befehl zum
Offline-Gehen als Vorbereitung zum Senden von demjenigen gesandt
werden kann, was als ein nichtsicherer Befehl bekannt ist, bevor
der Prozess, der in 5 dargestellt ist,
durchgeführt
wird. Dies beseitigt die Notwendigkeit für den Prozess von 5, und der Druckerkontroller 34 verarbeitet
sofort jegliche empfangenen RMI-Befehle, ungeachtet, ob die RMI-Befehle
sicher oder nichtsicher sind. Der in 5 widergespiegelte
Prozess gewährleistet
jedoch, dass die Anwendungen auf dem Rechner 10 nicht wissen
müssen,
wenn ein Befehl sicher oder nichtsicher ist, da der Drucker 20 diese
Bestimmung machen kann und eine geeignete Antwort zum Rechner 10 sendet,
wenn der Drucker 20 offline gehen muss.
-
Als andere Alternative kann der Kontroller 34 so
programmiert sein, dass er den nichtsicheren Befehl selbst behält, zum
Verarbeiten, sobald der Drucker 20 offline genommen ist,
und eine zum Hauptrechner 10 rückgesandte Antwort (man nehme
Bezug auf Block 108) könnte
den Benutzer des Hauptrechners 10 bloß informieren, dass es etwas
Verzögerung
beim Verarbeiten des Befehls geben wird. Weiter kann der Drucker 20 dann
eine Warnmeldung zum Hauptrechner 10 senden (sofort nachdem
der Drucker erfolgreich offline gegangen ist und den (die) nichtsicheren
Befehl e) verarbeitet hat), um den Hauptrechner 10 zu informieren,
dass seine Anforderung verarbeitet worden ist.
-
Unter der Annahme, dass die Software
im Rechner 10 nun einen Befehl zum Drucker 20 gesandt
hat, wobei ersucht wird, dass der Drucker 20 offline genommen
wird, beginnt der Prozess bei Block 110 von 6. Vorrückend vom Startblock 110 wird
der Fern-Offline-Befehl beim Drucker 20 empfangen, wie
durch Block 112 angezeigt. Der Befehl wird durch die NPAP-Task 54 gehandhabt,
die den Befehl zur Fernmenüschnittstelle 68 übermittelt
(3). Die Fernmenüschnittstelle 68 sendet
eine Mitteilung (gehe in Ruhezustand) oder Befehl zum Zustandsmanager 70,
der zu der richtigen Zeit das Offline-Nehmen des Druckers 20 handhabt.
Dieser Schritt wird bei Block 114 widergespiegelt. Bevor
der Zustandsmanager 70 bewirken kann, dass der Drucker 20 in
den Ruhezustand geht, muss der Emulationsmanager 60 im Ruhezustand
sein.
-
Wie durch Block 116 angezeigt,
sendet der Zustandsmanager 70 eine 'Gehe in Ruhezustand'-Anforderung zum Emulationsmanager 60.
Bevor diese Anforderung akzeptiert werden kann, darf der Emulationsmanager 60 nicht
beschäftigt
sein. Der Zustand des Emulationsmanagers 60 wird bei Fragebox 118 erwogen. Wenn
der Emulationsmanager 60 beschäftigt ist, informiert der Emulationsmanager 60 den
Zustandsmanager 70, dass die 'Gehe in Ruhezustand'-Anforderung verweigert wurde, wie durch
Block 120 angezeigt. Als Nächstes wartet der Zustandsmanager 70 darauf,
dass der Emulationsmanager 60 eine Ruhezustandsmitteilung sendet,
wie durch Block 122 widergespiegelt. Sobald eine solche
Mitteilung empfangen ist, schreitet ein Prozess zurück zum Block 116 fort.
-
Wenn gefunden wird, dass der Emulationsmanager 60 nicht
beschäftigt
ist, schreitet der Prozess vom Frageblock 118 zum Block 124 fort.
Bei Block 124 sendet der Emulationsmanager 60 eine
Mitteilung zum Zustandsmanager 70, dass der Emulationsmanager 60 im
Ruhezustand bleibt. Als Nächstes
nimmt der Zustandsmanager 70 den Drucker 20 offline
und sendet eine Mitteilung zur Fernmenüschnittstelle 68,
dass der Drucker 20 offline ist, wie bei Block 126 widergespiegelt.
An diesem Punkt kann die RMI 68 eine Fern-Offline-Warnmeldung
zurück
zum Hauptrechner 10 senden, wie durch Block 128 widergespiegelt,
und folglich den Fern-Offline-Befehlsprozess vervollständigen,
wie durch Block 130 widergespiegelt. An diesem Punkt kann
der Rechner 10 den (die) nichtsicheren Befehl e) rücksenden.
Nach Beendigung der Anforderung (d. h. sobald der Drucker geantwortet
hat, dass die Anforderung erfolgreich verarbeitet worden ist) kann
dann der Rechner 10 einen Befehl senden, um den Drucker
zurück
online zu nehmen.
-
Ein anderer Aspekt der vorliegende
Erfindung beinhaltet eine effiziente Datenübertragung von Information
vom Drucker 20 zum Rechner 10, insbesondere in
Bezug zu Font- und Zeichenvorratsinformation. Mit Bezug nun auf 7 ist dargestellt, dass
der Drucker 20 eine bidirektionale Datenübertragung
mit dem Hauptrechner 10 aufweist, und es sind zusätzliche
Einzelheiten des Hauptrechners 10 dargestellt, umfassend
einen Mikroprozessor 134, Speicher 136 und Puffer 138.
Der Kontroller 34 des Druckers 20 ist so programmiert,
dass er Font- und Zeichenvorratsinformation zum Rechner 10 abgibt.
Fontinformation ist durch ein erstes Fontinformationspaket 140,
ein zweites Fontinformationspaket 142 und ein drittes Fontinformationspaket 144 im
Speicher 136 gespeichert symbolisch dargestellt. Jegliche
Anzahl von Fonts kann im Speicher 136 gespeichert sein;
dies ist durch Font n 145 symbolisch dargestellt.
-
Der Drucker 20 ist auch
so programmiert, dass er zu dem Hauptrechner 10 seine Zeichenvorräte übermittelt,
die symbolisch so dargestellt sind, dass sie als ein erster Zeichenvorrat 146 und
ein zweiter Zeichenvorrat 148 im Speicher 136 platziert
worden sind. Jegliche Anzahl von Zeichenvorräten kann im Speicher 136 platziert
sein, wie durch Zeichenvorrat m 149 symbolisch dargestellt
ist.
-
Der Font 1 weist einen Zeichenvorratsschlüssel 150 auf.
Das zweite Fontpaket 142 weist einen Zeichenvorratsschlüssel 152 auf,
und ähnlich
weist das dritte Fontpaket 144 einen Zeichenvorratsschlüssel 154 auf.
Font n 145 weist seinen entsprechenden Zeichenvorratsschlüssel 155 auf.
Auf eine organisierte Weise weist der Zeichenvorrat 146 einen
Zeichenvorratsschlüssel 156 auf,
und der zweite Zeichenvorrat 148 weist einen Zeichenvorratsschlüssel 158 auf.
Der Zeichenvorrat m
149 weist seinen entsprechenden Zeichenvorratsschlüssel 159 auf.
Indem man den Drucker 20 so programmiert, dass Information
auf diese Weise gesandt wird, wird die bidirektionale Datenübertragung,
die durch Pfeil 160 widergespiegelt wird, minimiert, weil
die Fontinformationspakete 140, 142, 144 und 145 gesandt
werden können,
ohne dass erfordert wird, dass die entsprechende Zeichenvorratsinformation
mit jedem Paket folgt. Vielmehr kann die Zeichenvorratsinformation einmal
gesandt werden, wie durch Zeichenvorräte 146, 148 und 149 widergespiegelt.
Sobald die Fontpakete 140, 142, 144 und 145 und
die Zeichenvorräte 146, 148 und 149 im
Speicher 136 sind, kann der Prozessor 134 die
Schlüssel 150, 152, 154 und 155 mit
den Schlüsseln 156, 158 und 159 vergleichen,
um zu bestimmen, welche Zeichenvorräte mit welchen Fonts verwendet
werden können.
Durch diesen Prozess kann der Hauptrechner 10 eine Fontinformationstabelle
oder Index erzeugen, die es ihm ermöglicht, zwecks Nutzung des
Druckers 20 die Fontinformation und Zeichenvorratsinformation
auf seinem Ende koordiniert aufzuweisen, und er kann dies mit einem
minimalen Betrag an Datenübertragung 160 zustande
bringen.
-
Mit Bezug nun auf 8 startet ein Prozessfluss bei Block 162,
der widerspiegelt, wie der Drucker 20 den Hauptrechner 10 asynchron
von Font- und/oder Zeichenvorratsänderungen informiert. Wie bei
Block 163 angezeigt, wird der Drucker 20 zuerst
auf eine Weise initialisiert, die die Fonts und Zeichenvorräte sammelt, die
im Drucker 20 resident sind. Die im Drucker 20 gespeicherten
Fonts und Zeichenvorräte
werden gesammelt, wenn der Initialisierungsprozess auf jegliche
gespeicherten Fonts oder Zeichenvorräte im Speicher 38 hin überprüft. Nachdem
der Drucker initialisiert ist, fordert der Hauptrechner typischerweise
an einem gewissen Punkt den Drucker auf, die Fonts und Zeichenvorräte, wie
bei Block 164 widergespiegelt, zu senden. An diesem Punkt
werden die Fonts und Zeichenvorräte
vom Drucker 20 zum Hauptrechner 10 gesandt.
-
Wie durch Fragebox 166 und
Schleifendurchlaufspfad 168 von 8 widergespiegelt, bestimmt ein Teil
der im Speicher 38 des Druckerkontrollers 34 programmierten
Software, wenn irgendwelche Änderungen an
irgendwelchen von den Font- oder Zeichenvorräten, die im Drucker 20 resident
sind, gemacht worden sind. Sobald im Drucker 20 eine Änderung
an einem Font- oder Zeichenvorrat gemacht worden ist, wird eine
Warnmeldungsmitteilung zum Hauptrechner 10 gesandt, wie
durch Block 170 angezeigt. Sobald die Warnmeldung durch
den Hauptrechner 10 empfangen ist, kann durch den Rechner 10 eine
Anforderung für
die zusätzlichen Änderungen
zum Drucker 20 gesandt werden, und die entsprechende Information
kann gesandt werden.
-
Mit Bezug nun auf 9 sind zusätzliche Einzelheiten dargestellt,
wie die Zeichenvorräte
vom Drucker 20 zum Hauptrechner 10 übertragen werden, wobei ein
Flussdiagramm bei Startblock 174 anfängt. Der erste Schritt beinhaltet
ein Initialisieren des ersten Elements in der Zeichenvorratsverbindungsliste,
wie durch Box 176 widergespiegelt. Dann werden der Zeichenvorrat
ID und das Zeichenkomplement von dem Zeichenvorrat in einen Puffer
geladen, wie bei Box 178 widergespiegelt. Dann wird das
nächste
Element in der Verbindungsliste erwogen, wie durch Box 180 widergespiegelt.
Dieser Prozess setzt sich fort, wie durch Box 182 und Pfad 184 widergespiegelt,
bis das letzte Element erreicht wird, was den Prozess beendet, wie
durch Box 186 widergespiegelt. Sobald sämtliche dieser Zeichenvorratsinformation
im Puffer gesammelt ist, kann sie dann vom Drucker 20 zum
Hauptrechner 10 unter Verwendung des "Zeichenvorratsliste"-Befehls, der unten beschrieben ist,
gesandt werden.
-
Auf einem ausführlicheren Niveau eines Implementierens
von Aspekten der Erfindung, die oben erörtert sind, kann die Fernmenüschnittstelle 68 unter
Verwendung von Standard-NPA-Befehlen
und einigen Nicht-Standard-Befehlen (Erweiterungen) konstruiert
sein. Diese Nicht-Standard-Befehle und einige von den Standard-Befehlen
werden unten erörtert.
-
Die durch die RMI 68 verarbeiteten
Befehle können
verwendet werden, um Variablen im Speicher 38 zu setzen,
einschließlich
denen, die nicht im NVRAM 44 sind. Beispielsweise sind
Variablen, die nicht im NVRAM gespeichert sind, z. B. Zeilen-pro-Seite, auch durch
Befehle zugänglich,
die zuvor nur auf NVRAM-Variablen angewandt wurden. Weiter kann
der 'Setze-Variablen-mit-Überprüfung'-Befehl mehr tun,
als Werte zu ändern,
die im NVRAM 44 gespeichert sind; wenn geeignet, können andere
Variablen und Konfigurationen auch geändert werden. Z. B., wenn der
Befehl ausgegeben wird, um die x-Auflösung auf 600 zu setzen, dann kann
die y-Auflösung
im Drucker 20 automatisch auch auf 600 gesetzt werden.
Ein anderes Beispiel würde sein,
dass ein Befehl zur Änderung
des parallelen Protokolls von Standard zu Fastbytes die NVRAM-Variable nicht
nur aktualisieren würde,
sondern auch die notwendigen BIOS-Aufrufe zur unmittelbaren Änderung
des Protokolls machen würde.
-
Um die Variablen im Drucker 20 zu
lesen, sind die Erweiterungen zu den NPA-Befehlen, die in Tabelle 1
dargelegt sind, geeignet.
-
-
Tabellenbemerkung: Die Größe der Antwon
hängt von
der speziellen Variablen ab. Variablen variieren an Größe von 1
Byte bis zu33 Bytes. Ferner, da einige Variablen Emulatoren eigentümlich sind
(PS, PCL usw.), kann das Datenformat von diesen Variablen unterschiedlich
sein.
-
TABELLE 1: 'Lies Variablen'-Hauptrechnerbefehl
und -Druckerantwort
-
Um die Befehle zu implementieren,
muss eine eindeutige NPA-Identifizierung
für jede
Variable existieren, wie z. B. diejenigen, die in Tabelle 2 dargestellt
sind.
-
-
TABELLE 2: NPA-Identifizierungen
-
Um die Variablen zu setzen, wobei
andere automatische Konfigurationsänderungen nach Bedarf vorgenommen
werden, wie oben beschrieben, erwäge man die folgende Erweiterung
und Antwort, die in Tabelle 3 dargestellt sind:
-
-
Tabellenbemerkungen: – Der Befehl
wird rückgewiesen,
wenn die Option ID nicht gefunden wird.
– Eine Datenüberprüfung wird
ausgeführt,
die Setze-Operation wird nicht ausgeführt, wenn die Datenüberprüfung fehlschlägt.
– Wenn das
Setzen der Variablen als "verzögert' klassifiziert wurde,
dann wird die Variable nicht geändert,
bis der Drucker den Fern-Offline-Befehl empfängt und verarbeitet.
-
Tabelle 3: 'Setze Variablen mit Überprüfung'-Hauptrecherbefehl
und -Druckerantwort
-
Wie in Tabelle 3 dargestellt, enthält das Format
der Druckerantwort für
diesen Befehl ein Rückmeldungsbyte,
das anzeigt, ob das Schreiben erfolgreich war oder nicht. Wie durch
die zweitletzte Zeile in der obigen Tabelle widergespiegelt, zeigt
eine Rückmeldung
von "0" an, dass ein Fehler
auftrat. Ein Rückmeldung von "1" zeigt an, dass das Schreiben erfolgreich
war. Eine Rückmeldung
von "2" zeigt an, dass das
Schreiben nicht auftreten kann, bis der Benutzer den Drucker 20 offline
genommen hat, indem er einen "Fern-Online-Offline"-Befehl ausgibt.
Im Anschluss an diese Rückmeldung
erfolgt eine Feststellung der Option, die gesetzt wird. Wenn das
Setzen erfolgreich war, dann sollte dies dem Wert entsprechen, der
durch den Benutzer im "Setze"-Befehl gesandt wurde.
Sonst ist dieser Wert der alte oder ungeänderte Wert der Option.
-
Wie zuvor angemerkt, muss, um eine
nichtsichere Option zu ändern,
ein Befehl ausgegeben werden, um den Drucker ferngesteuert offline
zu nehmen, und wobei folglich der "Fern-Online-Offline"-Befehl veranlasst
wird. Wie zuvor erörtert,
kann ein "nichtsicherer" Befehl solche Dinge
umfassen, wie Setzen der Verbindungsprotokollsoptionen (Baudrate,
Fastbytes ein/aus) oder Befehle, die den BIOS beeinflussen, wie
z. B. Druckkontrast. Wenn der Benutzer versucht, eine von diesen "nichtsicheren" Optionen zu ändern, bevor
der Drucker ferngesteuert offline genommen wird, umfasst die Antwort
des Druckers auf den Setzebefehl eine Rückmeldung von "2", wobei angezeigt wird, dass die Option
nicht geändert
werden kann, bis der Benutzer den Drucker ferngesteuert offline
nimmt. Der NPA-Befehl zum Fern-Offline-Nehmen des Druckers kann
wie in Tabelle 4 dargestellt sein:
-
-
Tabellenbemerkung: Wenn die Anforderung
rückgewiesen
wird, dann hat schon ein anderer Hauptrechner angefordert, dass
der Drucker offline geht. Wenn ein angefordertes Offline akzeptiert
wird, dann geht der Drucker offline, so bald wie der Drucker keinerlei
Druckjobs mehr zu verarbeiten hat. Das maximale Warten auf den Hauptrechner
ist undefiniert. Sobald der Drucker offline gegangen ist, wird eine
Warnmeldung zu registrierten Hauptrechnern gesandt.
-
TABELLE 4: 'Fern-ONLINE-OFFLINE'-Hauptrechnerbefehl
und -Druckerantwort
-
Es wird erwartet, dass der Benutzer
am Rechner 10 den Drucker ferngesteuert zurück online
nimmt, nachdem unter Verwendung des oben beschriebenen "Fern-Online-Offline"-Befehls die gewünschten
Optionen gesetzt worden sind. Jedoch, um die Situation zu vermeiden,
wo der Drucker 20 durch einen Benutzer zum Hängenbleiben
gebracht sein könnte,
der den Drucker ferngesteuert offline nimmt und ihn nicht zurück online
bringt, ist der Druckerkontroller 34 des Druckers 20 so
programmiert, dass er nach einer speziellen Pausenperiode automatisch
zurück
online geht. Der Benutzer kann die Länge dieser Pausenperiode im
Pausenbyte spezifizieren, das Teil des Fern-Offline-Befehls ist. Der gültige Bereich
von Werten für
die Pausen ist vorzugsweise von einer Minute bis zu 60 Minuten.
Die Pause wird gesetzt, sobald der Drucker 20 tatsächlich offline
geht. Wenn die Fernmenüschnittstelle 68 verwendet
wird, um den Drucker 20 offline zu nehmen, können die
Tafelanzeigen 30 (1)
die Änderung
anzeigen. Eine andere Option, um den Drucker 20 zurück online zu
bringen, dient dazu, dass die geeignete Taste, z. B. Taste 32,
an diesem Punkt gepresst wird. Ähnlich
kann auch eine Fronttafelrücksetzung
verwendet werden, um ihn zurück
online zu bringen.
-
Ein Fern-Offline-Befehl wird nicht
durchgeführt,
bis der Drucker 20 in den Ruhezustand geht, und so kann
ein Offline-Befehl anhängig
sein. Wenn ein Fern-Offline-Befehl zum Drucker 20 gesandt
wird, aber eine andere Fern-Offline-Anforderung anhängig ist,
wird der zweite Befehl rückgewiesen.
Dies stellt sicher, dass nur ein am Drucker 20 angebrachter
Hauptrechner 10 zu jedem gegebenen Zeitpunkt Konfigurationsänderungen vornehmen
kann. Wenn eine Anforderung eines Hauptrechners, den Drucker ferngesteuert
offline zu nehmen, rückgewiesen
wird, dann wartet der Hauptrechner, bis der Drucker anzeigt, dass
er zurück
online ist (über
eine "Online-Offline-Warnmeldung"), bevor versucht
wird, die Anforderung nochmals zu senden.
-
Wenn der Hauptrechner 10 angefordert
hat, dass der Drucker 20 offline geht, muss der Drucker 20 zurück zum Rechner 10 eine
Mitteilung machen, wenn er erfolgreich offline gegangen ist, und
zu der geeigneten Zeit ist es auch notwendig, eine Mitteilung zu
machen, wenn er zurück
online gegangen ist. Die Fern-Online-Offline-Warnmeldung wird für diesen
Zweck verwendet; ein Beispiel für
diese Warnmeldung ist in Tabelle 5 dargestellt.
-
-
TABELLE 5: 'Fern-ONLINE-OFFLINE'-Warnmeldung
-
Dies erfordert, dass der Hauptrechner 10 zuerst
die Erweiterungswarnmeldungen registriert, wie unten beschrieben
wird.
-
Die Befehle, die verwendet werden
können,
um eine Ausführungsform
der vorliegenden Erfindung zu implementieren, die die Übertragung
von Zeichenvorräten
und Fonts vom Drucker 20 zum Hauptrechner 10 beinhaltet,
werden nun erörtert.
Ein Befehl, der dies erleichtert, ist der Zeichenvorratslistenbefehl.
Dieser Befehl führt
eine Liste von allen bekannten Zeichenvorräten zurück, die im Augenblick im Drucker 20 verfügbar sind.
Für jeden
Zeichenvorrat kann der Drucker eine Antwort liefern, wobei die Zeichenvorratsidentifizierung und
ein 8-Byte-Zeichenkomplement angegeben werden. Der Benutzer kann
dann dieses Zeichenvorrats-Zeichenkomplement nehmen und es mit dem
Zeichenkomplement von jeglichem Font logisch mit UND verknüpfen, d.
h. verwenden, was symbolisch als die Schlüssel 150–159 in 7 bezeichnet wurde, um eine
Fonttabelle oder einen Index von Fonts und Zeichenvorräten im Rechner 10 zu
konstruieren. Unter Verwendung von einem speziellen Logik-UND-Lösungsweg,
zeigt dies, wenn das UND-Verknüpfungsergebnis "0" ist, dann an, dass der Font den Zeichenvorrat
unterstützt.
Der NPA-Befehl zum Holen der Zeichenvorräte kann wie in Tabelle 6 dargestellt
sein.
-
-
TABELLE 6: 'Zeichenvorratsliste'-Hauptrechnerbefehl
und -Druckerantwort
-
Zusätzlich zur Zeichenvorratsinformation
wird die Fontinformation durch den Rechner 10 benötigt. Der 'Hole aktive Font-Information'-Befehl, der in der
Tabelle 7 unten dargestellt ist, führt vier Items von Information zurück, die
den aktiven Defaultfont eindeutig identifizieren: Fontquelle, Fontposition,
Zeichenvorratsidentifizierung und Punkt oder Teilung. Betreffend
diesen letzten Item von Information wird der Punktwert rückgeführt, wenn
ein Font eine Proportional-Raster-
oder Proportional-Vektorschrift ist, und der Teilungswert wird rückgeführt, wenn
der Font eine Fest-Raster- oder
Konstant-Vektorschrift ist.
-
-
TABELLE 7: 'Hole aktive Fontinformation'-Hauptrechnerbefehl
und -Druckerantwort
-
Es ist auch wünschenswert, den aktiven Defaultfont
unter Verwendung der Fontquelle, Fontposition, Zeichenvorratsidentifizierung
und Punkt oder Teilung setzen zu können, wie oben beschrieben.
Der Drucker 20 kann mit einer Rückmeldung antworten. Wenn irgendeiner
der vier Parameter zum eindeutigen Identifizieren des Font ungültig ist,
wenn er zum Drucker 20 gesandt wird, oder der gegebene
Zeichenvorrat durch den gegebenen Font nicht unterstützt wird,
dann zeigt die Rückmeldung
vom Drucker 20 zum Rechner 10 an, dass ein Problem
existiert, und es wird keine Änderung
an den Druckeroptionen vorgenommen. Die Antwort zurück zum Rechner 10 kann "ungültige Quelle
oder Position", "ungültiges SSID" oder "ungültiger Punkt
oder Teilung" einschließen. Eine
geeignete NPA-Erweiterung ist in Tabelle 8 dargestellt:
-
-
TABELLE 8: 'Setre aktive Fontinformation'-Hauptrechnerbefehl
und -Druckerantwort
-
Warnmeldungen können verwendet werden, um den
Hauptrechner 10 zu informieren, wenn der Drucker 20 ferngesteuert
offline oder online geht und wenn Fonts oder Zeichenvorräte zu dem
Speicher 38 hinzugefügt
oder aus ihm gelöscht
werden. Um diese Warnmeldungen zu verwenden, muss der Hauptrechner 10 zuerst
die Erweiterungswarnmeldungen registrieren, wie unten beschrieben.
Eine Technik, um dies zustande zu bringen, besteht darin, Bit 6 (Fern-Online-Offline-Warnmeldung)
und Bit 1 (Flash/Platten- oder Speicherwarnmeldung) des
Bitkodierten Byte dieses Befehlsvorrats zu verwenden. Bit 6 kann
dem Drucker 20 bekanntmachen, Warnmeldungen zu senden,
die anzeigen, wenn er beim Fern-Offline-Online-Nehmen des Druckers erfolgreich
war. Bit 1 kann dem Drucker 20 bekanntmachen,
Warnmeldungen immer dann zu senden, wenn sich der Zustand des Flash 46 und/oder
Platte 48 ändert.
Z. B. kann die Änderung
die Löschung
oder das Kopieren eines Font- oder Zeichenvorrats umfassen. In dieser
Hinsicht erwäge
man den folgenden Befehl, der in Tabelle 9 dargelegt ist:
-
-
Tabellenbemerkung: Ein Bitwert von
1 aktiviert eine Warnmeldung, ein Wert von 0 deaktiviert eine Warnmeldung
-
TABELLE 9: 'Registriere für Erweiterungswarnmeldungen'-Hauptrechnerbefehl
und -Druckerantwort
-
Wenn eine durch den Drucker 20 zum
Hauptrechner 10 gesandte Vorrichtungswarnmeldung anzeigt, dass
Fonts und/oder Zeichenvorräte
vom Speicher 38 gelöscht
worden sind oder zu ihm kopiert worden sind, dann antwortet der
Hauptrechner 10 durch Aktualisieren der dynamischen Fontinformationstabelle
mit der aktiven Drucker-Font/Zeichenvorratsinformation.
-
Eine Anwendung auf Grundlage des
Hauptrechners 10 kann einen Echtzeitzugriff auf eine verhältnismäßig große Menge
von Information erfordern, die den verfügbaren Fonts und Zeichenvorräten auf
dem Drucker 20 zugeordnet sind, um Listen anzuzeigen. Beispielsweise
kann für
eine gegebene Fontquelle die Hauptrechner-basierte Anwendung wünschen,
eine Liste von sämtlichen
verfügbaren
Fonts namenweise anzuzeigen, und für einen gegebenen Font kann
die Anwendung wünschen,
eine Liste von sämtlichen
rechtmäßigen Zeichenvorräten anzuzeigen.
Mit einer verhältnismäßig langsamen Übertragungsrate
von Druckerzu-Hauptrechner-Daten (über IEEE-1284-Nibble-Modus-Quittungsaustausch
oder dergleichen) könnte
die Übertragung eine
unakzeptable Menge an Zeit brauchen. Die Fernmenüschnittstelle 68 bietet
Befehle an, die effizient kollektive Font- und Zeichenvorratsinformation
liefern, die eine Hauptrechner-basierte Anwendung benötigen mag,
um solche Listen aufzubauen.
-
Die Übertragung von Fontinformation
beinhaltet typischerweise den Standard-NPA-Befehl: "Anforderungen von
Interpretierermerkmalen – Fonteinzelheiten". Dieser Befehl führt eine
Liste von sämtlichen
verfügbaren
permanenten Fonts, die dem gegebenen Interpretierer oder Emulator
zugeordnet sind, z. B. PCL, und eine gegebene Fontquelle zurück. Die
Liste umfasst sämtliche
Einzelheiten, die jedem Font zugeordnet sind, mit der Ausnahme der
gültigen
Zeichenvorräte
für jeden
Font. Als Nächstes
kann der Zeichenvorratslistenbefehl verwendet werden, um sämtliche
permanente Zeichenvorräte,
die im Augenblick im Drucker aktiv sind, rückzuführen. Die Zeichenvorratsliste
enthält
eine Zeichenkomplementdarstellung für jeden Zeichenvorrat, d. h.,
was symbolisch durch die Schlüssel 156,
158 und 159 in 7 dargestellt war. Sobald
die Hauptrechner-basierte Anwendung diese zwei Listen aufweist,
kann sie bestimmen, welche Zeichenvorräte für welche Fonts gültig sind,
indem die Zeichenkomplementdarstellung eines gegebenen Font, d.
h. die Schlüssel 150 bis 155 von 7, mit der Zeichenkomplementdarstellung
eines gegebenen Zeichenvorrats, d. h. die Schlüssel 156 bis 159 von 7, logisch mit UND verknüpft werden.
Z. B., wenn ein logisches mit UND Verknüpfen der zwei Zeichenkomplemente
zu Null führt,
dann ist der gegebene Zeichenvorrat für diesen Font gültig.
-
Weil Fonts und Zeichenvorräte jederzeit
zum Drucker 20 hinzugefügt
oder von ihm gelöscht
werden können,
muss der Drucker 20 den Hauptrechner 10 asynchron
informieren können,
dass eine solche Änderung stattfindet.
Dies ermöglicht,
dass die Hauptrechner-basierte Anwendung ihre eigenen dynamischen
Fontinformationstabellen auf eine effiziente Weise aufrechterhält, die
nur eine minimale Anzahl von Abfragen zum Drucker 20 erfordert,
um kollektive Font- und Zeichenvorratsdaten zu erhalten. Die Hauptrechner-basierte
Anwendung auf dem Rechner 10 kann die permanente Font-
oder Zeichenvorratsaktivität
im Speicher 38 des Druckers 20 überwachen.
Um diese Information zu überwachen,
kann die Hauptrechner-basierte Anwendung zuerst den Befehl zum Registrieren
von Erweiterungswarnmeldungen senden. Dieser Befehl ermöglicht,
dass der Drucker 20 Vorrichtungswarnmeldungen immer dann
sendet, wenn Fonts und/oder Zeichenvorräte zum Flash 46 oder
Platten 48 von Speicher 38 hinzugefügt oder
von ihnen gelöscht
werden. Als Nächstes,
wenn der Drucker 20 eine Vorrichtungswarnmeldung sendet,
sollte der Hauptrechner 10 bestimmen, wenn die Warnmeldung
eine Löschung
oder ein Kopieren eines Font- oder Zeichenvorrats bedeutet. Wenn
eines von beiden zutrifft, dann ist die Hauptrechner-basierte dynamische
Fontinformationstabelle nun überholt,
verglichen mit der Information, die im Drucker 20 resident
ist. Alternativ kann dies unter Verwendung von existierenden NPA-Befehlen
für den
RAM zustande gebracht werden, wie unmittelbar unten erörtert wird.
-
Um die permanente Font- oder Zeichenvorratsaktivität im RAM
zu überwachen,
kann die Hauptrechner-basierte Anwendung einen 'Drucker-Konfigurations-Steuer-Auswahl-Vorrichtungs-Zustands-Warnmeldungen'-Befehl senden, wobei
das Konfigurationsänderungsbit
gesetzt ist, um den Drucker 20 in den Stand zu setzen,
Vorrichtungszustandswarnmeldungen zu jedem Zeitpunkt zu senden,
in dem permanente Fonts oder Zeichenvorräte zum Druckerspeicher 38 heruntergeladen
oder von ihm entfernt werden. Wenn der Drucker 20 eine
Vorrichtungszustandswarnmeldung sendet, sollte der Hauptrechner 10 bestimmen,
wenn das Konfigurationsänderungsbit
in dem dritten Bit-kodierten Byte der Warnmeldung gesetzt ist. Wenn
dieses Bit gesetzt ist, sollte der Rechner 10 dann einen 'Anforderung-Vorrichtungs-Zustands-Konfigurations-Änderungs'-Befehl ausgegeben.
Der Drucker 20 kann auf diesen Befehl antworten, indem
er die Beschaffenheit der Konfigurationsänderung anzeigt.
-
Wenn eine Antwort durch den Drucker 20 anzeigt,
dass ein permanenter Font- oder Zeichenvorrat zum Druckerspeicher 38 heruntergeladen
oder von ihm entfernt worden ist, dann spiegelt die Hauptrechner-basierte
dynamische Fontinformationstabelle nicht länger die Fontinformation im
Drucker 20 wider. Deshalb kann es wünschenswert sein, die geeigneten
Tabellen zu aktualisieren, indem der "Fordere Interpretierermerkmale – Fonteinzelheiten
an"-Befehl für heruntergeladene
Fonts ausgegeben wird, sowie der "Zeichenvorratsliste"-Befehl.
-
Einzelne Fonteinzelheiten können durch
den 'Lies Variablen'-Befehl erhalten werden. Dieser Befehl
ermöglicht,
dass man die Fontvariableninformation, jeweils eine Variable auf
einmal, holt. Jedoch ist es, wenn man den aktiven Defaultfont holt,
vorzuziehen, sämtliche
wesentlichen Einzelheiten zu holen, die den Font zu einem Zeitpunkt
eindeutig identifizieren. Der "Hole
aktive Fontinformation"-Befehl
führt die
aktive Fontquelle, Fontposition, Zeichenvorrat und Punkt oder Teilung
zurück.
Die Hauptrechner-basierte Anwendung kann dann bestimmen, ob der
vierte Parameter Teilung oder Punkt ist, indem die Fontinformationstabelle
analysiert wird, die sie bewahrt. Wenn die rückgeführte Information keinen Font
in der Hauptrechner-basierten Fontinformationstabelle identifiziert,
dann muss die Hauptrechner-basierte Anwendung ihre Tabelle aktualisieren.
-
Einzelne Fonteinzelheiten können leicht
aktualisiert werden, indem der "Setze
Variablen mit Überprüfung"-Befehl verwendet
wird. Dieser Befehl ermöglicht,
dass die einzelnen Fonteinzelheiten gesetzt werden, jeweils eine
Variable auf einmal. Jedoch wird ein Aktualisieren oder Setzen des
aktiven Font im Drucker 20 vorzugsweise mit dem Befehl "Setze aktive Fontinformation" zustande gebracht,
der die angeforderte Fontquelle, Fontposition, Zeichenvorrat und
Teilung oder Punkt in einem Befehl erfordert. Wenn der Drucker 20 diesen
Befehl empfängt, überprüft er zuerst,
um zu sehen, wenn er eine gültige
Kombination der Fonteinzelheiten ist. Wenn er keine gültige Kombination
ist, ändert
der Drucker 20 den aktiven Font nicht, und führt als
Antwort einen Code zurück,
der anzeigt, warum diese Kombination nicht gültig ist. Wenn er gültig ist, ändert der
Drucker 20 die aktive Fontinformation und antwortet mit
einer "OK"-Rückmeldung.
-
Obwohl die vorliegende Erfindung
mit Bezug auf bevorzugte Ausführungsformen
in Einzelheit beschrieben worden ist, sollte es ersichtlich sein,
dass verschiedene Änderungen,
Substitutionen und Umänderungen
daran vorgenommen werden können,
ohne dass man vom Bereich der Erfindung, wie durch die folgenden
Ansprüche
definiert, abweicht.