-
ALLGEMEINER STAND DER
TECHNIK
-
Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft ein Informationsverarbeitungsgerät zur Verarbeitung
von Informationen entsprechend einem vorbestimmten Steuerungsprogramm.
-
Zum Stand
der Technik
-
Bei
einem Drucker, der zum allgemein bekannten Gerät dieser Art gehört, ist
ein vorbestimmtes Steuerprogramm bzw. Steuerungsprogramm beispielsweise
in einem internen ROM zur Steuerung des Druckers gespeichert.
-
Ebenso
ist in einem herkömmlichen
zweiten Drucker eine Befehlsanalyseroutine vom gespeicherten Programm
getrennt und in auswechselbaren Programmspeicherträger gespeichert,
und eine Vielzahl von Befehlsanalyseroutinen werden in selektiver Weise
von der Hauptroutine eines Steuerprogramms aufgerufen, das im Grundgerät des Druckers
untergebracht ist, wodurch ein Gerät das Drucken entsprechend
der Vielzahl von Befehlssystemen ausführen kann.
-
Ebenso
ist in einem herkömmlichen
dritten Drucker ein Steuerprogramm, das unabhängig von einem im Drucker vorgesehenen
Steuerprogramm ausführbar
ist, in einer auswechselbaren Programmkassette gespeichert, und
bei der Startphase wählt das
Gerät entweder
das auf der Programmkassette gespeicherte Programm oder das inkorporierte
Programm zur Ausführung
aus.
-
Die
Programmkassette ist von gleicher Gestalt wie die Schriftartkassette,
die Zeichen und Punktmuster speichert, und derartige Kassetten haben
eine Identifikationsinformation, die entweder "Programm" oder "Schriftartinformation" anzeigt. Das eingebaute
Steuerprogramm verschiebt die Steuerung zum Programm der Kassette
nur dann, wenn es die Identifikationsinformation für "Programm" trägt.
-
Das
zuvor erwähnte
erste herkömmliche
Beispiel kann jedoch nur ein vorbestimmtes Steuerprogramm ausführen und
ist nicht in der Lage, einen Druckvorgang nach einem anderen Befehlssystem auszuführen.
-
Das
zweite herkömmliche
Beispiel kann sich an andere Mehrbefehlsysteme anpassen, ist jedoch nicht
in der Lage, etwas anderes als Befehlsanalyse zu verarbeiten (Änderungen
bei der Steuerung des Gerätes,
wie eine Änderung
des Quittungsbetriebs mit der Datenquelle, wie mit einem Hauptrechner oder
eine Änderung
oder eine Einfügung
in das Blatt, das vom Druckmechanismus bei einem Stauvorgang gehandhabt
wird), weil die Hauptroutine des Steuerprogramms im Gerät enthalten
ist. Aus diesem Grund ist es unumgänglich, eine Beschränkung bei
der Verwendung verschiedener Druckfunktionen des Gerätes vorzusehen.
-
Wenn
im dritten herkömmlichen
Beispiel die Ausführung
des Steuerprogramms einmal begonnen hat, ist auch die Umschaltung
des Programms schwierig, weil das andere Steuerprogramm so ausgelegt
ist, daß es
unabhängig
von dem in Ausführung befindlichen
funktioniert.
-
Daneben
können
gemäß dem dritten
Beispiel die Steuerungsprogramme auf der Programmkassette, die in
einem bestimmten Gerät
richtig funktionieren, in einem anderen Gerät auf Grund des Unterschieds
in der Hardware nicht richtig funktionieren. Folglich besteht eine
Gefahr, dass ein Programm, das nicht richtig funktioniert, ausgeführt werden kann,
da keine Einrichtung zur Identifizierung, ob das Programm richtig
bzw. geeignet ist oder nicht, bereitgestellt ist.
-
Ebenso
ist in einem Fall, dass es keine bestimmten Unterschiede in der
Steuerung zwischen mehreren Druckern gibt, keine Einrichtung zur
Identifizierung der richtig funktionierenden Programme unter einer
Vielzahl von Kassetten, die für
jedes Gerät bereitgestellt
sind, bereitgestellt, so dass ein ungeeignetes Steuerungsprogramm
bei einem bestimmten Gerät
ausgeführt
werden kann.
-
In
dem US-Patent 4,742,483 ist ein Laserdrucker des Typs beschrieben,
der externe ROM aufnehmen kann, die unterschiedliche Schriftarten
tragen. Der beschriebene Laserdrucker ist ebenso in der Lage, ein
Steuerungsprogramm, das auf einem externen ROM gespeichert ist,
in Reaktion auf ein Identifikationsbyte mit einem spezifizierten
Wert auszuführen,
der die auf dem ROM gespeicherten Daten als ein Steuerungsprogramm
identifiziert.
-
In
der französischen
Patentanmeldung Nr. 2,627,303 ist ein Drucker des Typs beschrieben,
der externe ROM aufnehmen kann, die unterschiedliche Schriftarten
tragen. Der Drucker ist ebenso in der Lage, ein Steuerungsprogramm
auszuführen,
das auf einem externen ROM gespeichert ist, wenn ein Benutzerschalter
in einer Aus-Position ist und wenn ein Identifikationsabschnitt
der Daten, die in dem externen ROM gespeichert sind, anzeigt, dass
ein Steuerungsprogramm in dem externen ROM gespeichert ist.
-
In
der UK-Patentanmeldung Nr. GB 2,211,971A ist ein Punktmatrixdrucker
beschrieben, in den externe ROM eingebaut werden können, wobei
jedes externe ROM einen Schriftartbereich und einen Steuerungsprogrammbereich
umfasst. Der Drucker umfasst eine Erfassungseinheit zur Erfassung,
ob ein externes ROM eingebaut worden ist und ob ein Schalterbefehl
zur Verwendung des externen ROM von einer externen Vorrichtung empfangen worden
ist. Wenn beide dieser Bedingungen erfüllt sind, werden das in dem
Steuerungsprogrammbereich gespeicherte Steuerungsprogramm und die
in dem Schriftartbereich gespeicherten Schriftartdaten des externen
ROM zur Steuerung des Druckers verwendet.
-
Gemäß einer
ersten Ausgestaltung der vorliegenden Erfindung ist ein Ausgabegerät wie in
Patentanspruch 1 angegeben bereitgestellt.
-
Gemäß einer
zweiten Ausgestaltung der vorliegenden Erfindung ist ein Verfahren
zum Erzeugen und Ausgeben von Ausgabeinformationen wie in Patentanspruch
8 angegeben bereitgestellt.
-
Ein
Ausführungsbeispiel
der vorliegenden Erfindung stellt ein Informationsverarbeitungsgerät bereit,
das in der Lage ist, ein geeignetes Programm konstant auszuführen.
-
Ein
Ausführungsbeispiel
der vorliegenden Erfindung stellt ein Informationsverarbeitungsgerät bereit,
das zu einer bidirektionalen Programmumschaltung zwischen einem
eingebauten Steuerungsprogramm und einem von einem abnehmbaren Speicherträger zugeführten Steuerungsprogramm
in der Lage ist.
-
Ein
Ausführungsbeispiel
der vorliegenden Erfindung stellt ein Informationsverarbeitungsgerät bereit,
das in Reaktion auf eine Anforderung zur Programmumschaltung in
der Lage ist zu überprüfen, ob das
Programm umschaltbar ist.
-
Ein
Ausführungsbeispiel
der vorliegenden Erfindung stellt ein Informationsverarbeitungsgerät bereit,
das in der Lage ist, einen Dateneintrag im Laufe einer Programmumschaltung
zu verhindern.
-
Ein
Ausführungsbeispiel
der vorliegenden Erfindung stellt ein Informationsverarbeitungsgerät bereit,
das in Reaktion auf eine Anforderung für eine Programmumschaltung
in der Lage ist zu überprüfen, ob
das umzuschaltende Zielprogramm geeignet ist.
-
Gemäß einem
Ausführungsbeispiel
umfasst das Ausgabegerät
ferner eine Bestimmungseinrichtung zur Bestimmung eines Umschaltens
des Steuerungsprogramms in einem Zustand, bei dem eines der Steuerungsprogramme
ausgewählt
ist, und eine Einrichtung zum indirekten Erhalten der Startadresse des
bestimmten Steuerungsprogramms, indem auf die festgelegte Adresse
der Speichereinrichtung, die das angeforderte Steuerungsprogramm
speichert, Bezug genommen wird, um das Steuerungsprogramm in Reaktion
auf die Anforderung umzuschalten.
-
Weitere
Aufgaben und Vorteile neben denjenigen, die vorstehend diskutiert
sind, werden für
einen Fachmann aus der nachfolgend angegebenen Beschreibung eines
bevorzugten Ausführungsbeispiels
der Erfindung ersichtlich. In der Beschreibung wird auf die beigefügte Zeichnung
Bezug genommen, die einen Teil hiervon bildet und die ein Beispiel der
Erfindung veranschaulicht. Ein derartiges Beispiel ist jedoch nicht
erschöpfend
für die
verschiedenen Ausführungsbeispiele
der Erfindung, und folglich wird auf die Patentansprüche, die
der Beschreibung nachfolgen, zur Bestimmung des Bereichs der Erfindung
Bezug genommen.
-
KURZE BESCHREIBUNG DER
ZEICHNUNG
-
1 ist
ein Blockschaltbild einer Steuereinheit in einem Ausführungsbeispiel
nach der vorliegenden Erfindung;
-
2 ist
eine Ansicht, die ein Speicherformat eines Steuerprogramms in einem
ROM zeigt;
-
3 ist
eine Ansicht eines in 2 gezeigten Kassettenidentifikationsbereiches;
-
4 ist
eine Ansicht eines Produktzugehörigkeitskennzeichens
gemäß 2;
-
5 ist
eine Ansicht, die den Aufbau von RAM-Daten zeigt;
-
6 ist
eine Ansicht, die ein in 5 dargestellten Speicherbereich
zeigt;
-
7 ist
eine Ansicht, die den Aufbau von NVRAM-Daten zeigt;
-
8 ist
eine Ansicht eines Adressenraumes einer CPU;
-
9 ist
eine Aufsicht einer Bedienfeld;
-
10, 11 und 12 sind
Arbeitsablaufpläne
eines Programms des Grundgerätes;
-
13 und 14 sind
Arbeitsablaufpläne eines
Kassettenprogramms; und
-
15 ist
eine Außenansicht
eines Laserstrahldruckers, der die vorliegende Erfindung verkörpert.
-
BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE
-
Nun
wird die vorliegende Erfindung detailliert durch einen in der anliegenden
Zeichnung dargestellten Drucker erläutert, der ein Ausführungsbeispiel nach
der Erfindung ist.
-
Ausführungsbeispiel 1
-
1 ist
ein Blockschaltbild einer Steuereinheit 100 in einem Laserstrahldrucker,
der ein Ausführungsbeispiel
der vorliegenden Erfindung bildet. In 1 ist ein
Hauptrechner 102 dargestellt, der als Datenquelle dient;
eine CPU 101, die das gesamte Gerät steuert; und eine Eingabeschnittstellenschaltung 103 zur
Dateneingabe aus dem Hauptrechner 102 durch eine Eingangssignalleitung
S1. Die Schaltung 103 schaltet gemäß einem Befehl aus der CPU 101 auch
eine Belichtsignalleitung S2 ein/aus, wodurch der Hauptrechner über den
Datenübertragungs-Sperr-/Aktivierungszustand
informiert wird.
-
Ein
ROM 104 ist zur Speicherung eines Steuerprogramms und von
Zeichenmustern des Laserstrahldruckers vorgesehen. Das Speicherformat des
ROM ist in 2 gezeigt, und dessen Ablauf
der Steuersequenz ist in 10, 11A, 11B und 12 gezeigt.
-
Ein
RAM 105 ist zur Verwendung im Steuerprogramm vorgesehen,
das später
zu erläutern
ist (10 bis 14A, 14B), und die Einzelheiten dieses RAM werden später in Verbindung
mit 5 erläutert.
-
Ein
nichtflüchtiger
RAM 106 (nachstehend als NVRAM bezeichnet), aufgebaut aus
einem gewöhnlichen
EEPROM (elektrisch löschbarer,
programmierbarer ROM), ist zur Speicherung von Informationen vorgesehen,
die nach dem Abschalten der Stromversorgung zu sichern sind. Die
Einzelheiten dieses RAM werden später in Verbindung mit 7 erläutert.
-
Eine
RAM-Erweiterungskarte 107 wird zur Erweiterung der Kapazität des RAM 105 verwendet.
-
Eine
Kassettenschnittstellenschaltung 108 bildet eine Hardware-Schnittstelle
unter einer ersten Programmkassette 109, einer zweiten
Programmkassette 110 und der CPU 101, und steuert
den Zugriff zu den ROM der Kassetten von der CPU 101. Jede
dieser Programmkassetten 109, 110 ist mit einer
ROM-Platine versehen, die eine Vielzahl von ROM bildet und zugehörige Einrichtungen.
Die ROM auf der Programmkassette speichern ein Steuerprogramm, das
sich von demjenigen des ROM 104 unterscheidet, sowie Zeichenmuster.
Deren Speicherformat ist in 2 dargestellt,
und der Ablauf des Steuersequenz wird später in Verbindung mit den 13, 14A und 14B erläutert. Die
Programmkassetten 109, 110 sind auswechselbar,
wie in 15 gezeigt, und auf zwei Kassettensteckverbindern 1501, 1502 befestigt,
die auf dem Grundgerät des
Laserstrahldruckers vorgesehen sind. Es wird im vorliegenden Ausführungsbeispiel
angenommen, daß die
erste Programmkassette 109 links in den Kassettensteckverbinder 1501 gesteckt
ist, und daß die
zweite Programmkassette 110 rechts in den Steckverbinder 1502 gesteckt
ist.
-
Eine
Bedienfeldschnittstellenschaltung 111 dient der Ein/Ausgabe
der Signale eines Bedienfelds 112 zu oder von der CPU 101,
die lichtemitierende Dioden auf dem Bedienfeld einschaltet und den
Zustand von Schaltern von dieser Schaltung aufnimmt.
-
Ein
Bedienfeld 112 ist auf dem vorliegenden Laserstrahldrucker
vorgesehen, und dessen Aufbau wird später in Verbindung mit 9 erläutert.
-
Ein
Bildsignalgenerator 113 ist zur Umsetzung von Bilddaten
einer Seite in Bildsignale vorgesehen, entwickelt aus einem Seitenpuffer 517,
der später
zu erläutern
ist (5), und zum Senden dieser Signale synchron mit
dessen Synchronisationssignalen zu einer Druckmechanismuseinheit 115.
-
Eine
Ausgabe-Schnittstellenschaltung 114 ist zur Ein/Ausgabe
von Signalen zwischen der Steuereinheit 100 und der Druckmechanismuseinheit 115 vorgesehen.
-
Eine
Druckmechanismuseinheit 115 des vorliegenden Laserstrahldruckers
ist ausgelegt, einen Druckvorgang zu bewirken, der die Blattzuführung, Erzeugung
eines Laserstrahles, Übertragung
und Fixierung eines Bildes auf dem Blatt abhängig von Bildsignalen ausführt.
-
Aufgrund
der zuvor erläuterten
Struktur ist der vorliegende Drucker in der Lage, in selektiver Weise
eines von drei verschiedenen Steuerprogrammen auszuwählen, nämlich das
Steuerprogramm vom ROM 104, dasjenige der Programmkassette 109 und
dasjenige der zweiten Programmkassette 110.
-
2 zeigt
das Speicherformat im ROM 104 oder im ROM auf der Programmkassette 109, 110.
-
Hiernach
wird das Steuerprogramm, das auf dem Grundgerät des Druckers vorgesehen ist,
das Grundgerätprogramm
genannt, und das Steuerprogramm in auswechselbaren Programmkassetten 109, 110 wird
nachstehend als Kassettenprogramm bezeichnet. Des weiteren wird
das Steuerprogramm, das in der ersten Programmkassette gespeichert
ist, das Kassettenprogramm 0 genannt, während dasjenige in der zweiten
Kassette das Kassettenprogramm 1 genannt wird.
-
In
einem Speicherformat 200 des in 2 gezeigten
Grundgerätprogramms
bedeutet 201 einen Unterbrechungsvektor der CPU 101,
der Zugriffe in Aufeinanderfolge der Adressen von 0 tätigt, um eine
Stapelzeiger-Initialisierungsadresse a0,
eine Programmstartadresse a1, verschiedene
Unterbrechungsstartadressen a2 bis an. Die Adressen a2 bis
an werden aufeinanderfolgend in einem Initialisierungsbereich 501 des
in 5 gezeigten RAM 105 bestimmt.
-
Ein
Identifikationsname 202 des Grundgerätprogramms besteht aus einer
zweiziffrigen Zahl, die für
jedes Steuerprogramm spezifisch ist und "Programm-ID" genannt wird.
-
Ein
Bereich 203 zur Speicherung einer Grundgerät-Programm-Neustartadresse speichert einen
Sprungbefehl (bei einer Neustartadresse b1) bei
der Umschaltung von einem Kassettenprogramm auf das Grundgerätprogramm.
Der Bereich ist festgelegt mit einer Adresse b0.
-
Eine
Tabelle 204 ist für
Unterbreckungsvektoren für
das Grundgerätprogramm
vorgesehen. Das Grundgerätprogramm
ist mit Unterbrechungsroutinen bezüglich des Startens von c2, c3, ..., cn für
verschiedene Unterbrechungsvorgänge
vorgesehen, und Sprungbefehle dieser Unterbrechungsroutinen sind
für die
Unterbrechungsvektortabelle 204 vorgesehen.
-
Eine
externe Routineaufruf-Tabelle 205 ist vorgesehen zum Aufrufen
von Programmen (Unterroutinen), die im ROM 104 aus dem
Kassettenprogramm vorgesehen sind. Im vorliegenden Ausführungsbeispiel
sind Unterroutinen zu Einschreiben und zum Auslesen des NVRAM 106 vorgesehen.
-
In
der Tabelle 205 speichert ein Bereich 206 eine
Sprungadresse e1 in den NVRAM-Schreibroutine 212 und
wird bei einer Adresse d1 fest benannt. Ein
Bereich 207 speichert eine Sprungadresse e2 in die
NVRAM-Leseroutine 213 und ist unter einer Adresse d2 festgelegt. Ein Bereich 208 ist
vorgesehen zur Benennung des Einschreibens und Auslesens von Adressen
des NVRAM in der NVRAM-Schreibroutine 212 oder in der NVRAM-Leseroutine 213 und
speichert eine Adresse e3 in den RAM 104,
der eine Adresse 507 zum Einschreiben in oder zum Lesen
aus dem/den NVRAM anzeigt. Gleichermaßen ist ein Bereich 209 vorgesehen
zur Bestimmung eines Bereichs zur Vergabe eines in der NVRAM-Schreibrvutine 212 einzuschreibendes
Wertes oder zum Empfang eines aus der NVRAM-Leseroutine 213 empfangenen
Wertes durch eine Adresse e4 des in diesem
Bereich 209 im RAM 104 gespeicherten Wertes oder
nämlich
ein eingestellter NVRAM Wert 508. Ein Bereich 210 zeigt
die Gesamtkapazität
(K Bytes) des RAM-Bereichs 506,
der in der NVRAM-Schreibroutine 212 oder in der NVRAM-Leseroutine 213 verwendet
wird.
-
Ein
Bereich 506 von K Bytes ist im RAM vorbereitet, der von
einem NVRAM-Adressenbestimmungsbereich 507 zum Lesen und
Schreiben des NVRAM beginnt, und dieser Bereich 506 wird
getrennt von dem RAM-Bereich verwendet, der für das Grundgerätprogramm
und das Kassettenprogramm benutzt wird.
-
Ein
Bereich 211 wird zur Speicherung des in den 10 bis 12 gezeigten
Grundgerätprogramms
verwendet.
-
Ein
Bereich 212 wird zur Speicherung der NVRAM-Schreibroutine verwendet,
und ein Bereich 213 wird zur Speicherung der NVRAM-Leseroutine verwendet.
Ein Schriftzeichenbereich 214 speichert Zeichenpunktmuster
entsprechend den Zeichencodes, die von dem Hauptrechner 102 eingegegben werden,
und enthält
einen Schriftart-Identifikationsbereich 215,
einen Bereich 216, der eine Schriftartkapazität m speichert,
die die Gesamtkapazität
des Schriftartenbereichs 214 anzeigt, und einen Zeichenmusterbereich 217,
der die Zeichenpunktmuster selbst speichert.
-
Bei
dem oben erläuterten
Speicherformat 200 sind die Bereiche 201 bis 205 für feststehende Adressen
bestimmt, die mit der Adresse 0 des ROM 104 beginnen, und
das Kassettenprogramm bezieht sich indirekt auf das Grundgerätgrogramm 211 oder die
externen Bezugsroutinen 212, 2l3 durch die Inhalte
dieser festen Adressen. Selbst wenn die Adressen des ROM 104 aufgrund
von Änderungen
des Bereichs 211 variiert werden oder Sicherungsbereiche zum
Beispiel durch eine Abwandlung des Programms, kann folglich der
Inhalt des Kassettenprogramms unverändert durch Korrigieren der
Inhalte der Bereiche 201 bis 205 gemäß einer
solchen Variation beibehalten werden.
-
250 zeigt
das Speicherformat des Kassettenprogramms an, in dem ein Kassettenidentifikationsbereich 251 vorgesehen
ist, dessen Struktur in 3 gezeigt ist. Der Bereich setzt
sich aus vier Bytes zusammen, wobei ein Kassettentypbereich 301 'P' oder 'P' enthält. 'P' zeigt an, daß der Sicherungsbereich das
Kassettenprogramm enthält,
während 'F' anzeigt, daß der Sicherungsbereich einen
Zeichensatz enthält
(Zeichenmuster).
-
Ein
Unterart-Kassettenbereich 302 in 3 enthält 'L', 'R' oder 'B', und ein Kassettentypsbereich 301 enthält 'P'. 'L' zeigt ein Kassettenprogramm
ausschließlich
für die
erste Programmkassette 109 an, während 'R' ein
Kassettenprogramm ausschließlich für die zweite
Programmkassette 110 anzeigt, und 'B' zeigt
ein Kassettenprogramm an, das gemeinsam für die erste und zweite Programmkassette
benutzbar ist.
-
Da
die erste und zweite Programmkassette unterschiedliche Adressenbereiche
haben, wie später
anhand 8 gezeigt wird, ist das Kassettenprogramm für jeden
Adressenbereich durch den Unterart-Kassettenbereich 302 identifiziert.
Der Code 'B' ist anwendbar beispielsweise
auf ein Kassettenprogramm, unabhängig
von dem Adressenbereich, durch Festlegen aller ROM-Bereiche durch
relative Adressen.
-
Wenn
der Kassettentypbereich 301 'F' enthält, wird
der Unterart-Kassetttenbereich 302 als Diskriminator zur
Unterklassifizierung des Zeichensatzes verwendet. Im vorliegenden
Ausführungsbeispiel ist 'A' festgelegt als Diskriminator, der den
Zeichensatz ausschließlich
für das
Hauptgerätprogramm
enthält,
während 'B', 'C', 'D', ... als Diskriminatoren für die Schriftarten
ausschließlich
für verschiedene
Kassettenprogramme festgelegt sind.
-
Die
Kassettenart 301 und die Kassetten-Unterart 302 werden
gemeinsam Kassetten-ID-Code 303 genannt. Eine Kassetten-ID-Nummer 304 bestehend
aus einer zweistelligen Zahl, ist ein Diskriminator (Identifizierer),
der jedem Kassettenprogramm zugeordnet ist.
-
Ein
Kassettenkapazitätsbereich 252 speichert
die Gesamtkapazität
n0 von einem Kassettenprogramm, das sich
auf Bereich 257 bezieht.
-
Ein
Bereich 253 speichert Informationen, die Produktzugehörigkeitskennzeichen
genannt werden. Dieses Kennzeichen zeigt die Kompatibelät des Programms
gegenüber
Produkten in einer Serien von Druckern an, und setzt sich zusammen
aus 16 unabhängigen
Kennzeichen jeweils von einem Bit, wie in 4 gezeigt,
wobei jedes Bit ein Produkt in der Produktserie darstellt (einschließlich zukünftiger
Produkte), und '1' und '0' repräsentieren jeweils kompatibel und
nichtkompatibel.
-
Die
Kompatibelität
oder Inkompatibelität
wird festgelegt bei der Vorbereitung des Kassettenprogramms in Hinsicht
auf die Hardwarestruktur der Steuereinheit 100 eines jeden
Produktes, wobei das Grundgerätprogramm
und der Auslieferstatus der extern bezogenen Routine 205 darin
enthalten ist. Ein Kassettenprogramm-Startadressenbereich 254 speicherte
einen Sprungbefehl (auf eine Startadresse α1) bei
der Umschaltung vom Grundgerätprogramm
auf ein Kassettenprogramm. Dieser Bereich wird als feste Adresse α0 bezeichnet.
-
Eine
Unterbrechungsvektortabelle 255 für das Kassettenprogramm hat
eine ähnliche
Struktur zu derjenigen der Unterbrechungsvektortabelle 204 für das Grundgerätprogramm.
Auf dem Kassettenprogramm sind Unterbrechungsroutinen vorgesehen, die
jeweils von β2, β3, ..., βn für
verschiedene Unterbrechungsvorgänge
beginnen, und Sprungbefehle zu diesen Unterbrechungsroutinen sind
in der Unterbrechungsvektortabelle 255 vorgesehen.
-
Ein
Kassettenprogrammbereich 256 speichert ein in den 13, 14A und 14B gezeigten
Programm.
-
Ein
Zeichensatzbereich 258 gleichen Formats wie der zuvor genannte
Zeichensatzbereich 214 speichert die Zeichenmuster für das Kassettenprogramm.
Ein Kassettenidentifikationsbereich 259 für den Schriftsatzbereich
hat das gleiche Format wie der zuvor genannte Kasettenidentifikationsbereich 251.
Der Zeichensatz für
das Kassettenprogramm wird durch 'FB' im
Kassetten-ID-Code 303 identifiziert.
-
Ein
Kassettenkapazitätsbereich 260 speichert
die Gesamtkapazität
n1 des Zeichensatzbereichs 258.
Ein Zeichenmusterbereich 261 speichert die Zeichenpunktmuster
selbst, die in dem Kassettenprogramm verwendet werden.
-
Ein
Zeichensatzbereich 262, gleiches Format wie der zuvor erwähnte Zeichensatzbereich 258, speichert
Zeichenmuster für
zusätzliche
Zeichen für das
Grundgerätprogramm.
Ein Kassetttenidentifikationsbereich 263 speichert dafür ein Kassetten-ID-Code 303,
wobei 'FA' einen Zeichensatz
für das
Grundgerätprogramm
bedeutet. Ein Bereich 264 speichert die Gesattkapazität n2 des Zeichensatzbereichs 262, und
ein Bereich 265 speichert Zeichenmuster.
-
5 zeigt
die Datenstruktur des RAM 105 (1). Eine
Unterbrechungs-Sprungtabelle 501, der feststehende Adressen
a2 bis an im RAM
zugeordnet sind, wird aus der Unterbrechungsvektortabelle 204 des
ROM 104 vom Grundgerät
kopiert, beim Start oder erneuten Start des Grundgerätprogramms oder
aus der Unterbrechungsvektortabelle auf der Programmkassette beim
Start des Kassettenprogramms. Die CPU-Unterbrechungsvektoren 201 sind gerichtet
auf die Adressen a2, a3,
..., an des RAM 105, so daß die Unterbrechungsroutinen
jedes Steuerprogramms durch erneutes Schreiben des Bereichs 501 beim
Start (oder beim erneuten Start) des Steuerprogramms nutzbar gehalten
werden.
-
Ein
Bereich 502 wird zur Speicherung erforderlicher Informationen
bei der Umschaltung des Steuerprogramms auf ein anderes verwendet
und besteht aus einem Grundgerät-Speicherbereich 503, einem
Kassette-0-Speicherbereich 504 und einem Kassette-1-Speicherbereich 504 für jeweilige
Steuerprogramme. Diese Bereiche sind feststehend, sie beginnen jeweils
mit den Adressen f1, f2,
f3 des RAM 105.
-
Ein
externer Bezugs-RAM-Bereich 506 wird durch die NVRAM-Einschreibroutine
und die NVRAM-Ausleseroutine benutzt, die als externe Bezugsroutinen
definiert sind. Ein Oberabschnitt des Bereichs wird für die Datenübertragung
zwischen den externen Bezugsroutinen und dem rufenden Steuerprogramm
verwendet und besteht aus einem NVRAM-Adressenbenennungsbereich 507 zur
Benennung der Lese/Schreib-Adresse des NVRAM, und ein NVRAM-eingerichteter Wertebereich 508, der
zur Festlegung des Wertes zu verwenden ist, der in den NVRAM einzuschreiben
ist, oder zur Übertragung
des aus dem NVRAM gelesenen Wertes. Die Adressen e3,
e4 des NVRAM-Adressenbenennungsbereichs 507 und
des NVRAM-eingerichteten
Wertebereich 508 werden indirekt durch die externe Bezugsroutine-Ruftabelle 205 zugegriffen,
wie schon zuvor erläutert.
Ein RAM-Arbeitsbereich 509 wird für Kennzeichenvariable intern
durch die NVRAM-Einschreib oder Ausleseroutine benutzt.
-
Ein
RAM Bereich 510, freier Bereich genannt, wird zur Programmausführung durch
das Steuerprogramm verwendet, das die Steuerung rechts auf der Steuereinheit 100 hat,
und Bereiche 511 bis 517, in 5 gezeigt,
veranschaulichen ein Beispiel der RAM-Struktur. Eine Betriebsarttabelle 511 speichert
die Betriebsart des Druckers, die durch Befehlsdaten aus dem Hauptrechner 102 angewiesen
werden. In dem veranschaulichten Beispiel gibt es einen ausgewählten Schriftsatzbereich 512,
der die Schrift der die zuverwendende Schriftart für die Zeichenerzeugung
anzeigt, die von einer Vielzahl von Schriftartbereichen ausgewählt werden,
die im RAM 105 und den Programmkassetten 109, 110 vorgesehen
sind, und ein Kopienzahlbereich 513, der die Anzahl von
auszuführenden
Kopien von einem Bild einer Seite anzeigt, vorbereitet im Seitenpuffer 517,
der später
zu erläutern
ist. Die ausgewählte Schriftart
wird angezeigt durch die Identifizierungscodes 215, 259, 263 beim
Start des Schriftartbereichs.
-
Ein
Arbeitsbereich 514 für
das Steuerprogramm wird zur Speicherung von Variablen und von Kennzeichen
verwendet. Ein Datenkennzeichen 515, eingestellt im Arbeitsbereich 514,
zeigt an, ob ungedruckte Daten im Seitenpuffer 517 verbleiben,
der später
zu erläutern
ist.
-
Ein
Empfangspuffer 516 wird zur zeitweiligen Speicherung von
Daten verwendet, die von einem Hauptrechner 102 durch die
Eingabe-Schnittstellenschaltung 103 durch einen Empfangsunterbrechungsvorgang
des Steuerprogramms eingegeben werden.
-
Ein
Seitenpuffer 517 wird zur Speicherung von Bilddaten einer
Seite benutzt, der als Abbildung auf der Grundlage der vom Hauptrechner
eingegebenen Daten gebildet wird.
-
6 zeigt
die Struktur des Speicherbereichs 502 in 5 und
dessen Beziehung zum freien Bereich. Der als Beispiel des Speicherbereichs gezeigte
Kassetten-0-Speicherbereich 504 enthält folgende Bereiche. Ein Bereich 601 wird
zur Einstellung einer Speicher-ID-Zahl verwendet, die das Steuerprogramm
anzeigt, das im Speicherbereich benutzt wird, unter den Programmen
der Vielzahl austauschbarer erster Kassetten. Die Kassetten-ID-Nummer 304 wird
als Speicher-ID-Nummer verwendet. Ein Betriebsartspeicherbereich 602 speichert
den Inhalt der Betriebstabelle 511 im freien Bereich. Ein
Empfangspuffersgeicherbereich 605 speichert den Inhalt des
Empfangspuffers 516 im freien Bereich.
-
7 zeigt
die Datenstruktur des NVRAM 106 mit einer Kapazität von 16
Wörtern
von jeweils 16 Bit, wobei die Wörter
mit 0, 1, ..., 15 adressiert werden. Ein Programmartbereich 701 in
der Adresse 1 speichert, ob das aktuelle Steuerprogramm oder unmittelbar
davor das Ausschalten der Stromversorgung des vorliegenden Laserstrahldruckers
entweder das Grundgerätprogramm
ist oder ein erstes Kassettenprogramm 0 oder ein zweites Kassettenprogramm
1.
-
Im
Programmbetrieb sind das Grundgerätprogramm, das erste Kassettenprogramm
1 und zweite Kassettenprogramm 0 jeweils mit 'M', 'L' und 'R' bezeichnet.
Das 15-te Bit des Programmartbereichs 701 bildet einen
ungradzahligen Paritätsbereich 702,
der eine ungradzahlige Parität
des Programmartbereichs 701 speichert und zur Fehlerfeststellung
beim NVRAM-Einschreiben-und-Auslesen verwendet wird.
-
8 zeigt
einen Adressenraum der CPU 100. Ein Grundgerät-Programmbereich 801 ist
mit einer Adresse 0hex, bezeichnet, physisch
entsprechend dem ROM 104, und speichert die Information
des Grundgerätprogramms
mit dem Speicherformat 200.
-
Ein
Kassette-0-Bereich 802 wird von einer Adresse 200000hex, physisch entsprechend dem ROM der ersten
Programmkassette 109 bestimmt und speichert die Information
des ersten Kassettenprogramms 0 mit dem Speicherformat 250.
-
Ein
Kassette-1-Bereich 803 ist durch eine Adresse 400000hex benannt, der physisch dem ROM auf der
zweiten Programmkassette 110 entspricht, und speichert
die Information des zweiten Kassettenprogramms 1 mit dem Speicherformat 250.
-
Ein
RAM-Bereich 804 wird von der Adresse 800000hex benannt,
der physisch dem RAM 105 entspricht, und hat die in 5 gezeigte
Datenstruktur.
-
Ein
RAM-Erweiterungsbereich 805 wird von einer Adresse A00000hex angegeben, der physisch der RAM-Erweiterungskarte 107 entspricht.
-
Ein
I/O-Adressenbereich 806 ist für I/O Bausteine angegeben,
um von der CPU zum Signalaustausch mit verschiedenen Schaltungen
der Steuereinheit 100 verwendet zu werden, wie beispielsweise die
Eingabeschnittstellenschaltung 103, die Bedienfeld-Schnittstellenschaltung 111 und
der NVRAM 106.
-
9 veranschaulicht
die Anordnung der Anzeige und Schalter auf dem Bedienfeld 112.
Ein Statusanzeiger 901, bestehend aus zwei Ziffern üblicher
7-Segment-LED-Anzeigen wird zur Anzeige der Art des Steuerprogramms
verwendet, das gegenwärtig
ausgeführt
wird, oder den Fehlerstatus gemäß vom Steuerprogramm
gegebenen Anweisungen.
-
Schalter 902, 903, 904 werden
zur Umschaltung der Programmbetriebsarten verwendet. Ein MAIN-Schalter 902,
ein L-Schalter 903 und
R-Schalter 904 sind jeweils vorgesehen zur Anforderung
des Umschaltens auf das Grundgerätprogrammm,
das Kassettenprogramm 0 und das Kassettenprogramm 1. Die Betätigungen
dieser Schalter wird von der CPU 101 im Verlauf der Ausführung des
Steuerprogramms abgetastet, und entsprechende Operationen werden
ausgeführt.
-
10, 11a, 11b und 12 sind Arbeitsablaufpläne des Grundgerätprogramms
des oben erläuterten
Laserstrahldruckers, dessen Funktion mit dem Grundgerätprogramm
nachstehend erläutert
wird.
-
10 ist
ein Arbeitsablaufplan einer Startprozedur 1000 des Grundgerätprogramms.
Abhängig vom
Beginn der Stromversorgung springt die CPU 101 auf das
Grundgerätprogramm 211,
das mit einer Adresse a1 beginnt, durch
Bezug auf die Programmstartadresse a1 des
CPU-Unterbrechungsvektors 201.
-
In
einem ersten Schritt 1001 wird ein Eigentest der Steuereinheit 100 ausgeführt, und
die Schritte 1002 bzw. 1003 initialisieren den
Speicherbereich 502 und den externen Bezugs-RAM-Bereich 506.
-
Dann
liest ein Schritt 1004 die Programmart aus dem Programmartspeicher 701 des
NVRAM 106 unter Verwendung der NVRAM-Ausleseroutine 212, und ein
Schritt 1005 identifiziert ein zu startendes Steuerprogramm.
Wenn der Schritt 1005 'M' identifiziert, zeigt
dies die Ausführung
des Grundgerätprogramms
an und die Sequenz schreitet zu Schritt 1006 zur Fortsetzung
der Ausführung
des Grundgerätprogramms.
-
Zuerst
kopiert der Schritt 1006 die Grundgerät-Unterbrechungsvektortabelle 204 zur
Unterbrechungssprungtabelle 501 im RAM 105. Dann
initialisiert ein Schritt 1007 einen freien Bereich 510 für das Grundgerätprogramm,
dann schaltet Schritt 1008 das Belegtsignal S1 aus, um
den Hauptrechner darüber
zu informieren, daß die
Datenübertragung
aktiviert ist, und ein Schritt 1009 veranlaßt die Statusanzeige 901 zur
Anzeige des Programms ID 202, wodurch gezeigt wird, daß das Grundgerätprogramm aktuell
in Ausübung
ist.
-
Dann
springt in einem Schritt 1010 die Sequenz zur Hauptroutine
des Grundgerätprogramms, dargestellt
in den 11a und 11b.
-
Wenn
andererseits der Schritt 1005 eine Programmart 'L' identifiziert, was eine Anforderung
zur Ausführung
des Kassettenprogramms 0 anzeigt, schreitet die Sequenz zu einem
Schritt 1011 zur Überprüfung des
Kassetten-ID-Codes 303 des Kassettenidentifikationsbereichs 251 der
ersten Programmkassette 109.
-
Ein
Kassetten-ID-Code 303 'PL' zeigt an, daß die Programmkassette 109 ein
Steuerprogramm für
das Kasettenprogramm 0 besitzt, während ein Code 'PB' anzeigt, daß die Kassette 109 ein
Steuerprogramm besitzt, das für
das Kassettenprogramm 0 und 1 verwendbar ist. Wenn der Code ein
anderer ist als 'PL' oder 'PB', ist die Umschaltung
auf das Kassettenprogramm 0 ungeeignet. In diesem Falle schreitet
die Verarbeitung zu Schritt 1006 zur Fortsetzung der Ausführung des
Grundgerätprogramms.
-
Wenn
der Schritt 1011 zeigt, daß der Kassetten-ID-Code 303 gleich 'PL' oder 'PB' ist, was anzeigt,
daß das
Programm auf der aktuell geladenen Programmkassette 109 verwendbar
ist, schreitet die Sequenz zu einem Schritt 1012 zur Überprüfung des Produktnormgerechtheitskennzeichen 253.
-
In
diesem Schritt wird herausgefunden, ob ein dem Modell des gegenwärtigen Laserstrahldruckers
zugehöriges
Kennzeichenbit im Normgerechtheitskennzeichen 253 eingestellt
ist, und wenn eingestellt, was anzeigt, daß das Programm auf der aktuell
geladenen Kassette 109 für den vorliegenden Laserstrahldrucker
geeignet ist, schreitet die Sequenz zu einem Schritt 1013 zum
Sprung zu einer Adresse 200000 + α0 auf dem Kassette-0-Bereich 802,
nämlich
dem Kassettenprogramm-Startadressenbereich 254, und schreitet
weiterhin zu einer Startprozedur 1300 des in 13 gezeigten
Kassettenprogramms gemäß einem
Sprungbefehl zur Adresse α1 in diesem Bereich.
-
Wenn
andererseits der Schritt 1012 zeigt, daß das zugehörige Kennzeichenbit nicht in
der Produktnormgerechtheitskennzeichen 253 eingestellt ist,
was anzeigt, daß das
Kassettenprogramm 0 für den
Laserstrahldrucker nicht geeignet ist, dann wird die Umschaltung
auf das Kassettenprogramm 0 unterbrochen, und die Sequenz schreitet
zu Schritt 1006 zur Fortführung des Grundgerätprogramms.
-
Wenn
der Schritt 1005 eine Programmart 'R' angibt,
wodurch die Ausführung
des Kassettenprogramms 1 angezeigt wird, überprüft ein Schritt 1014 den
Kassetten-ID-Code 303 für
die Programmkassette 1, dann überprüft ein Schritt 3015 das
Produktnormgerechtheitskennzeichen 253, und ein Schritt 1016 führt einen
Sprung zur Adresse 400000 + α0 auf dem Kassette-1-Bereich 803 in ähnlicher
Weise wie in den Schritten 1011 bis 1013 für das Kassettenprogramm
0 aus, wodurch die Steuerung der CPU 101 auf das Kassettenprogramm
1 übertragen
wird.
-
11a und 11b sind
Arbeitsablaufpläne
einer Hauptroutine 1100 des Grundgerätprogramms, zu der die in 10 gezeigte
Sequenz von der Grundgerät-Programmstartprozedur 1000 springt,
oder aus einer in 12 gezeigten Grundgerät-Programmneustartprozedur 1200.
-
Zuerst
findet ein Schritt 1101 heraus, ob irgendeiner der Programmartschalter 902, 903, 904 betätigt worden
ist, und falls nicht, werden die Schritte 1101 bis 1108 wiederholt
ausgeführt.
-
Zuerst
findet ein Schritt 1102 heraus, ob Daten im Empfangspuffer
vorhanden sind, und die Sequenz erwartet die Einstellung der Eingabedaten
aus dem Hauptrechner in den Empfangspuffer, wobei die Schalterüberprüfung im
Schritt 1101 wiederholt wird.
-
Wenn
Daten im Empfangspuffer vorhanden sind, holt ein Schritt 1103 die
Daten aus dem Puffer und analysiert, ob es sich bei den Daten um
einen Befehl oder um einen Zeichencode handelt. Wenn es sich um
einen Schriftart-Auswahlbefehl handelt, wird der benannte Wert in
dem ausgewählten
Schriftartbereich 512 gespeichert, und falls es sich um
einen Kopienzahl-Benennungsbefehl
handelt, wird der benannte Wert im Kopienzahlbereich 513 gespeichert.
-
Wenn
es sich bei den Daten um einen Zeichencode handelt, wählt ein
schritt 1104 einen zugehörigen Schriftartbereich 214 oder 265 auf
der Grundlage des Identifikationscodes im ausgewählten Schriftartbereich 512 aus,
entwickelt dann ein zugehöriges
Zeichenpunktmuster auf dem Seitenspeicher 517 und schaltet
gleichzeitig das Datenkennzeichen 515 ein, wodurch die
Anwesenheit von Druckdaten im Seitenpuffer 517 angezeigt
wird. Dann schreitet die Sequenz zu einem Schritt 1105,
und die Schritte 1101 bis 1105 werden wiederholt,
bis die Analyse der Daten einer Seite abgeschlossen ist.
-
Nach
Abschluß der
Datenanalyse einer Seite sendet ein Schritt 1106 die Bilddaten
des Seitenpuffers 517 zum Bildsignalgenerator 113 wodurch
die Druckmechanismuseinheit 115 veranlaßt wird, die Druckoperation
auszuführen.
Dann veranlaßt
ein Schritt 1107 den Schritt 1106 sooft wiederholt
zu werden, wie die Kopien vom Kopienzahlbereich 513 angezeigten
sind.
-
Nach
den Druckoperationen gemäß der Kopienzahl
schaltet ein Schritt 1108 das Datenkennzeichen 515 aus,
wodurch die Abwesenheit von Druckdaten im Seitenpuffer 517 angezeigt
wird, und die Sequenz kehrt zu Schritt 1101 zurück.
-
Beim
Schritt 1101 wird identifiziert, daß irgendeiner der Programmartschalter 902, 903 und 904 betätigt wurde,
die Sequenz schreitet zu einer Programmumschaltprozedur, die mit
Schritt 1109 beginnt.
-
Der
Schritt 1109 schaltet das Belegtsignal S2 ein, wodurch
der Hauptrechner 102 angefordert wird, die Datenübertragung
abzuschließen.
-
Dann überprüft ein Schritt 1110 das
Datenkennzeichen 525. Wenn das Kennzeichen ein ist, wodurch
die Anwesenheit von Druckdaten im Seitenpuffer 517 angezeigt
ist, ist die Umschaltung des Programms nicht akzeptabel, so daß der Schritt 1120 eine
Fehlermitteilung auf der Statusanzeigeeinheit 901 anzeigt.
Dann setzt ein Schritt 1121 das Belegtsignal S2 zurück, und
die Sequenz kehrt zu Schritt 1101 zurück.
-
Wenn
andererseits das Datenkennzeichen 515 aus ist, findet ein
Schritt 1111 heraus, welcher Programmartschalter betätigt worden
ist.
-
Im
Falle der Betätigung
des MAIN-Schalters 902, wird diese Betätigung als unwirksam angesehen,
weil das Grundgerätprogramm
bereits in Ausführung
ist. Nach der Fehlermitteilungsanzeige in Schritt 1120 und
der Rücksetzung
des Belegtsignals S2 in Schritt 1121 kehrt somit die Sequenz
zu Schritt 1101 zurück.
-
Im
Falle der Betätigung
des L-Schalters 903 schreitet die Sequenz zu einem Schritt 1112 zum
Eintritt in eine Prozedur des Umschaltens des Kassettenprogramms
0. Schritte 1112 und 1113 Überprüfen den Kassetten-ID-Code 303 und
das Produktnormgerechtheitskennzeichen 253 in gleicher
Weise wie in den zuvor beschriebenen Schritten 1011, 1012, und
wenn die Ergebnisse dieser Überprüfungen akzeptabel
sind, kopiert ein Schritt 1114 die Inhalte der Betriebsarttabelle 511 und
des Empfangspuffers 516 in den Grundgerät-Speicherbereich 503.
Dann überträgt ein Schritt 1115 die
Steuerung der CPU 101 auf das Kassettenprogramm 0, das
mit der Adresse 200000 + α0 beginnt.
-
Wenn
das Ergenis der Überprüfung in
Schritt 1112 oder 1113 nicht akzeptabel is, zeigt
der Schritt 1120 die Fehlermitteilung auf der Statusanzeigeeinheit 901 an,
dann setzt Schritt 1121 das Belegtsignal S2 zurück, und
die Sequenz kehrt zu dem Schritt 1101 zurück.
-
Wenn
der Schritt 1111 herausfindet, daß der R-Schalter 904 betätigt worden
ist, wird eine Prozedur zur Umschaltung des Kassettenprogramms 1
initialisiert, beginnend mit einem Schritt 1116. Die Prozedur
wird geleitet von der zweiten Programmkassette 110 in gleicher
Weise wie in den Schritten 1112 bis 1115 für das Kassettenprogramm
0. Ausgeführt
wird ein Schritt 1116 zur Überprüfung des Kassetten-ID-Codes 303,
ein Schritt 1117 zur Überprüfung des
Normgerechtheitskennzeichens 253, ein Schritt 1118 zum
Kopieren der Betriebsarttabelle 511 und des Empfangspuffers 516 im
Grundgerät-Speicherbereich,
und ein Schritt 1119 zur Übertragung der Steuerung der
CPU 101 zum Kassettenprogramm 1, das durch eine Adresse
400000 + α0 beginnt.
-
12 ist
ein Arbeitsablaufplan einer Hauptprogramm-Neustartprozedur 1200 zur Übertragung der
Steuerung der CPU 101 aus dem Kassetttenprogramm zum Grundgerätprogramm.
-
Die
Neustartprozedur wird initialisiert durch einen Sprung vom Kassettenprogramm
auf eine Adresse b0 des Grundgerätprogramms.
Ein erster Schritt 1201 bezieht sich auf einen Bereich
der Adresse b0, nämlich den Grundgerät-Progammneustart-Adressenbereich 203,
und führt
einen Sprung zur aktuellen Adresse b1 der
Neustartproezdur aus, womit die Neustartprozedur von einem Schritt 1202 neu
startet. Der Schritt 1202 kopiert erneut die Grundgerät-Unterbrechungsvektortabelle 204 in
die Unterbrechungsprungtabelle 501, die in der Unterbrechungsvektortabelle 255 für das Kassettenprogramm
gespeichert ist.
-
Dann
initialisiert ein Schritt 1203 erneuet den freien Bereich 510 für das Grudngerätprogramm,
der für
das Kassettenprogramm verwendet worden ist, und ein Schritt 1204 kopiert
die Information, die im Grundgerät-Speicherbereich 503 in
den Schritten 1114 und 1118 bei der vorherigen
Umschaltung aus dem Grundgerätprogramm
zum Kassettenprogramm gespeichert wurde, in einen vorbestimmten
Bereich des freien Bereichs 510.
-
Dann
schaltet ein Schritt 1205 das Belegtsignal S2 aus, wodurch
der Hauptrechner 102 darüber informiert wird, daß die Datenübertragung
aktiviert ist, und ein Schritt 1206 zeigt den Programm-ID 202 auf
der Statusanzeigeeinheit 501 an, wodurch angezeigt wird,
daß das
Grundgerätprogramm
erneut in Ausführung
ist. Dann speichert ein Schritt 1207 eine Programmart 'M' (Ausführung des Grundgerätprogramms)
in den Programmartbereich 701 des NVRAM 106 mittels
der NVRAM-Einschreibroutine, und die Sequenz schreitet in einen
Schritt 1208 zur Hauptroutine 1100 des Grundgerätprogramms
fort.
-
13, 14A und 14B sind
Arbeitsablaufpläne,
die ein Beispiel des Kassettenprogramms auf der Programmkassette
zeigen.
-
13 ist
ein Arbeitsablaufplan der Startprozedur 1300 des Kassettenprogramms.
Nach Springen vom Grundgerätprogramm
oder dem anderen Kassettenprogramm auf eine relative Adresse α0 vom Kopf
des Kassettenbereichs 802 oder 803 (Schritte 1115, 1119 oder 1411)
bezieht sich ein Schritt 1301 auf den Kassettenstart-Adressenbereich 254 bei
der Adresse α0 und führt
einen Sprung auf eine reele Adresse α1 für die Startprozedur
aus, die bei Schritt 1302 beginnt.
-
Der
Schritt 1302 überprüft die Programm-ID 202 des
Grundgerätes,
und wenn eine vorbestimmte Programm-ID, die anzeigt, daß ein vorhandenes Kassettenprogramm
zum Grundgerätprogramm paßt, überprüft ein Schritt 1303 die
Speicherkapazität.
Ein besonderes Kassettenprogramm, das die RAM-Erweiterungskarte 107 erfordert,
wird in diesem Schritt überprüft.
-
Wenn
die Speicherkapazität
akzeptabel ist, kopiert ein Schritt 1304 die Unterbrechungsvektortabelle 253 für das Kassettenprogramm
in die Unterbrechungssprungtabelle 501 im RAM 105.
-
Dann
initialisiert ein Schritt 1305 den freien Bereich 510 für das Kassettenprogramm.
-
Dann überprüft ein Schritt 1306 die
ID 601, die im Kassettenspeicherbereich gespeichert ist (Kassette-0- Speicherbereich 504 im
Falle des Kassettenprogramms 0, oder Kassette-1-Speicherbereich 505 im
Falle des Kassettenprogramms 1), und wenn die Speicher-ID 601 leer
ist (wie initialisiert), springt die Sequenz zu einem Schritt 1310.
-
Wenn
der Schritt 1306 herausfindet, daß die Speicher-ID 601 mit
der Kassetten-ID-Nummer 304 des Kassettenprogramms übereinstimmt,
das gerade ausgeführt
wird, repräsentiert
der Inhalt des Speicherbereichs die Information des Kassettenprogramms,
das unmittelbar vor der vorherigen Umschaltung aus dem Kassettenprogramm
zum Grundgerätprogramm
gespeichert war, so daß die
Sequenz zu einem Schritt 1307 voranschreitet, um den Inhalt des
Kassettenspeicherbereichs 504 oder 505 auf eine
bestimmte Stelle des freien Bereichs 510 zurückzugeben.
-
Wenn
in Schritt 1306 andererseits herausgefunden wird, daß die Speicher-ID 601 nicht
mit der Kassetten-ID-Nummer 304 übereinstimmt, was anzeigt,
daß das
aktuell ausgeführte
Kassettenprogramm geändert
und unterschiedlich ist von der Programmkassette, die im vorangehenden
Informationsspeicher im Kassettenspeicherbereich 504 oder 505 verwendet
wurde, zeigt ein Schritt 1308 eine Fehlermitteilung auf
der Statusanzeigeeinheit 901 an, dann erwartet ein Schritt 1309 die
Betätigung
eines der Schalter 902, 903, 904 auf
dem Bedienfeld 112, und die Sequenz springt dann zu einem
Schritt 1310.
-
Der
Schritt 1310 schaltet das Belegtsignal S2 aus, um den Hauptrechner 102 darüber zu informieren,
daß die
Datenübertragung
aktiviert ist, dann zeigt ein Schritt 1311 die Kassetten-ID-Nummer 304 auf
der Statusanzeigeeinheit an, ein Schritt 1312 speichert
die Programmart 'L' (oder 'R') im Programmartbereich 703 des
NVRAM 106 mittels der NVRAM-Einschreibroutine, und die Sequenz schreitet von
einem Schritt 1313 zur Hauptroutine 1400 des Kassettenprogramms.
-
Wenn
das Ergebnis der Überprüfung im Schritt 1302 oder 1303 nicht
akzeptabel ist, zeigt ein Schritt 1314 eine Fehlermitteilung
auf der Statusanzeigeeinheit 901 an, dann erwartet ein
Schritt 1315 die Betätigung
eines der Schalter 902, 903, 904 auf dem
Bedienfeld 112, und ein Schritt 1316 führt einen Sprung
zur Startadresse a1 des Grundgerätprogramms
aus.
-
14A und 14B zeigen
ein Beispiel der Hauptroutine des Kassettenprogramms. Zum Zwecke
der Übersichtlichkeit
ist die Hauptroutine 1400 auf dem Kassettenprogramm 0 gezeigt.
-
Ein
erster Schritt 1401 findet heraus, ob irgendeiner der Programmartschalter 902, 903, 904 betätigt worden
ist, und falls nicht, werden die Schritte 1401 bis 1406 wiederholt
ausgeführt.
-
Ein
Schritt 1402 findet heraus, ob Daten im Empfangspuffer
vorhanden sind, und wenn nicht, erwartet die Sequenz die Einstellung
der Eingabedaten aus dem Hauptrechner in den Empfangspuffer, wobei die
Schalterüberprüfung des
Schrittes 1401 wiederholt ausgeführt wird.
-
Wenn
Daten in dem Empfangspuffer vorhanden sind, holt ein Schritt 1403 die
Daten aus dem Empfangspuffer und analysiert die Daten auf der Grundlage
eines Befehlssystem, das sich von demjenigen des Grundgerätprogramms
unterscheidet, wodurch herausgefunden wird, ob die Daten einen Befehl
oder ein Zeichencode sind. Im Falle eines Schriftart-Auswahlbefehls
wird ein benannter Wert in dem ausgewählten Schriftartbereich 512 gespeichert,
und wenn es sich um einen Kopienzahl-Benennungsbefehl handelt, wird ein benannter
Wert im Kopienzahlbereich 513 gespeichert.
-
Im
Falle des Zeichencodes basierend auf dem Identifikationscode des
ausgewählten
Schriftartbereichs 512, wird ein zugehöriger Schriftartbereich 258 ausgewählt, und
ein zugehöriges
Zeichenpunktmuster wird im Seitenpuffer 517 entwickelt.
Somit werden die Schritt 1401 bis 1404 wiederholt,
bis der Abschluß der
Datenanalyse einer Seite in einem Schritt 1404 festgestellt
ist.
-
Nach
Abschluß der
Datenanalyse einer Seite sendet ein Schritt 1405 die Bilddaten
des Seitenpuffers 517 zum Bildsignalgenerator 113,
wodurch die Druckmechanismuseinheit 115 veranlaßt wird,
den Druck auszuführen.
Dann veranlaßt
ein Schritt 1406, den Schritt 1405 sooft zu wiederholen,
wie es die Anzahl der Kopien durch den Kopienanzahlbereich 513 angibt.
Nach Abschluß des
Druckens der Kopien in der gewünschten
Anzahl kehrt die Sequenz zu Schritt 1401 zurück.
-
Im
Schritt 1401 wird herausgefunden, daß einer der Programmartschalter 902, 903, 904 betätigt worden
ist, die Sequenz schreitet zur Programmumschaltprozedur, die mit
einem Schritt 1407 beginnt.
-
Der
Schritt 1407 findet heraus, welcher Programmartschalter
betätigt
worden ist, und wenn der 'L'-Schalter 903 betätigt wurde,
wird diese Betätigung als
unwirksam angesehen, weil das angeforderte Kassettenprogramm 0 bereits
in Ausführung
ist, und die Sequenz kehrt zu Schritt 1401 zurück.
-
Wenn
der 'R'-Schalter 904 betätigt wurde, schreitet
die Sequenz zu einem Schritt 1408 zum Eintritt in eine
Prozedur der Umschaltung auf das Kassettenprogramm 1. Wie in Schritt 1101 des
Grundgerätprogramms, überprüft ein Schritt 1408 den
Kassetten-ID-Code 303,
wodurch herausgefunden wird, ob das wirksame Kassettenprogramm am
Kassettensteckverbinder 1502 vorhanden ist. Wenn vorhanden,
zeichnet ein Schritt 1409 die Kassetten-ID-Nummer 304 des
gegenwärtig
ausgeführten
Kassettenprogramms 0 in den Speicher-ID-Bereich 601 des Kassette-0-Speicherbereichs 504 auf,
und ein Schritt 1410 kopiert die Inhalte der Betriebsarttabelle 511 im freien
Bereich 510 und den Empfangspuffer 516 in den
Kassette-0-Speicherbereich 504.
-
Dann überträgt ein Schritt 1411 die
Steuerung der CPU 101 auf das Kassettenprogramm 1, das
durch eine Adresse 400000 + α0 beginnt. Wenn der Schritt 1408 die
Anwesenheit des wirksamen Kassettenprogramms nicht herausfinden
kann, kehrt die Sequenz zu Schritt 1401 zurück.
-
Im
Falle des Schrittes 1407 wird herausgefunden, daß der MAIN-Schalter 902 betätigt worden ist,
Schritte 1412, 1413 kopieren die Kassetten-ID-Nummer 304 und
die erforderliche Information des freien Bereichs 510 in
den Kassette-0-Speicherbereich 504 in
gleicher Weise wie in den zuvor beschriebenen Schritten 1409, 1410,
und ein Schritt 1414 führt einen
Sprung zur Grundgerätprogramm-Neustartprozedur 1200 aus,
die durch die Adresse b0 beginnt.
-
Wie
vorstehend erläutert,
wird in dem vorliegenden Ausführungsbeispiel
das laufend unter dem Grundgerätprogramm
und den Speicherprogrammen 0, 1 ausgeführte Programm eine Anforderung
zur Programmumschaltung durch Überprüfen des
Zustands von Anforderungschaltern festgestellt, und die Programmumschaltung
wird erzielt durch Übertragen der
Steuerung der CPU auf eine Startadresse (Neustartadresse) des angeforderten
Programms aus einer Speicheradresse, die für das Programm feststeht.
-
Auch
wird in dem Ausführungsbeispiel
das Datenkennzeichen 515 gesetzt, wenn Bilddaten in den
Seitenpuffer 517 geschrieben werden, und das Kennzeichen
wird zurückgesetzt,
wenn die Abgabe der Bilddaten aus dem Seitenpuffer 517 abgeschlossen
ist, so daß das
Datenkennzeichen 515 eingeschaltet ist, während der
Seitenpuffer zu druckende Daten enthält oder sich beim Drucken befindet.
-
Wenn
eine Anforderung zur Programmumschaltung durch die Schalter 902, 903, 904 erzeugt wird,
wird der Zustand des Datenkennzeichens 515 festgestellt,
und wenn zu druckende Daten noch im Seitenpuffer verbleiben, wird
die Umschaltung des Steuerprogramms aufgehoben, um den Verlust der restlichen
zu druckenden Daten zu vermeiden. Auch in einem derartigen Falle
wird eine Alarmmitteilung auf der Anzeigeeinheit 901 angezeigt,
um die Bedienperson über
die Absetzung der angeforderten Programmumschaltung zu informieren,
wodurch eine alternative Maßnahme
angefordert wird.
-
Ebenfalls
wird in dem Ausführungsbeispiel nach
Feststellung einer Programmumschaltung durch die Anforderungsschalter
das Belegtsignal S2 zum Hauptrechner eingeschaltet, wodurch der Hauptrechner
aufgefordert wird, die Datenübertragung
zu unterbrechen. Es wird folglich möglich gehalten, den Verlust von
Daten zu vermeiden, die aus dem Hauptrechner im Verlauf der Startprozedur
eines neuerlich eingeschalteten Steuerprogramms auftreten.
-
Auch
enthält
in diesem Ausführungsbeispiel die
auswechselbare Programmkassette ein Produktnormgerechtheitszeichen 253,
dessen Bit jeweils Kennzeichen sind, die die Paßfähigkeit des Programms der Kassette
zu unterschiedlichen Produktmodellen anzeigen. Wenn die Programmkassette
in das Grundgerät
des Druckers eingesetzt ist, kann das Grundgerätprogramm somit herausfinden,
ob das Programm für
den Drucker geeignet ist, indem das Kennzeichenbit im Produktnormgerechtheitskennzeichen 253 der
Kassette gemäß dem Modell des
Druckers überprüft wird.
-
Da
das Produktnormgerechtheitskennzeichen 253 aus einer Vielzahl
unabhängiger
Kennzeichenbits besteht, kann die Programmkassette für eine Vielzahl
von Produktmodelen verwendet werden, indem Kennzeichen der zugehörigen vielzahligen
Bits eingestellt werden.
-
Andererseits
ist ein Programm-ID 202 als Diskriminator des Grundgerätes des
Druckers vorgesehen, wodurch jedes Produktmodell einzeln benannt
wird. Somit kann das Programm der Kassette durch Überprüfen der
Programm-ID 202 herausfinden, ob die Kassette zum Grundgerät des Druckers paßt, in den
die Kassette eingesetzt ist. Diese Struktur ist insbesondere effektiv
beispielsweise zur Vermeidung fehlerhafter Benutzung einer Vielzweck-Programmkassette
auf einem Drucker begrenzter Zwecke, die identisch sind im Hardwareaufbau
mit dem Vielzweckdrucker aber unterschiedlich im Hauptgerätprogramm.
Des weiteren wird in dem vorliegenden Ausführungsbeispiel eine Alarmmitteilung
auf der Statusanzeigeeinheit angezeigt, wenn die Programmkassette
nicht zum Grundgerät
paßt.
-
Ausführungsbeispiel 2
-
In
dem vorstehenden Ausführungsbeispiel ist
das Ziel des Sprungs bei der Umschaltung vom Grundgerätprogramm
zum Kassettenprogramm auf die relative Adresse ao fixiert. Jedoch
ist es auch möglich,
die Startadresse des Kassettenprogramms in einem Bereich zu speichern,
dessen relative Position vom Kassettenidentifikationsbereich feststeht.
-
Diese
Struktur gestattet auch, eine Vielzahl von Steuerprogrammen auf
einem Programmspeicherträger
zu speichern, und jedes der vielen Programme durch Suchen des Kassettenidentifikationscodes
im Kassenidentifikationsbereich auszuwählen.
-
In
dem ersten Ausführungsbeispiel
wird die Anforderung zur Programmumschaltung auch durch Schalter
vom Bedienfeld gegeben, aber dies kann auch durch einen Befehl vom
Hauptrechner erfolgen. Auch die Anforderung ist auf die Umschaltung
des Grundgerätprogramms
oder der Programmkassette 0 oder 1 beschränkt, aber sie kann durch einen
einzigen Namen unter Verwendung der Programm-ID oder des Kassetten-ID-Codes
erfolgen.
-
In
dem ersten Ausführungsbeispiel
wird eine Außenanforderung
zur Umschaltung durch Anforderungsschalter festgestellt, aber es
können
interne Anforderungen zur Programmumschaltung benutzt werden, wie
die Umschaltung der Steuermittel im Falle einer festgestellten Anomalität in irgendeiner
Einheit des Gerätes
durch Anomalitäts-Feststellmittel.
-
Des
weiteren besteht in dem ersten Ausführungsbeispiel das Steuerungsmittel
aus einem Steuerprogramm, das Steuerinformationen an die CPU abgibt,
aber es kann auch eine elektrische Steuerschaltung verwendet werden.
In diesem Falle wird die Umschaltung durch elektrische Signale ausgeführt, anstelle
des Steuerablaufes des Programms.
-
Ausführungsbeispiel 3
-
In
dem ersten Ausführungsbeispiel
wird die An- oder Abwesenheit von verbleibenden Daten im Seitenpuffer
als Bedingung genommen, die die Programmumschaltung ermöglicht,
und zu diesem Zwecke sind die Feststellmittel für derartige Daten vorgesehen.
Die vorliegende Erfindung ist jedoch nicht auf ein derartiges Ausführungsbeispiel
begrenzt, und die An- oder
Abwesenheit von Daten im Empfangspuffer kann beispielsweise auch
als Bedingung zur Programmumschaltung genommen werden.
-
Ein
derartiger Aufbau gestattet die Vermeidung des Zusammenbruchs kontinuierlich übertragener
Daten einer Vielzahl von Seiten durch Umschaltung des Steuerprogramms.
-
Des
weiteren ist die Bedingung zur Programmumschaltung nicht auf die
An- oder Abwesenheit verbleibender Daten beschränkt, sondern der Blatttransportzustand
des Druckmechanismus kann zu diesem Zwecke verwendet werden, und
die Programmumschaltung kann aktiviert werden, nachdem das Druckblatt
vollständig
entladen ist. Selbst wenn das neu eingeschaltete Steuerprogramm
zeitweilig die Funktionen des Druckmechanismus zur Initialisierung
anhält,
wird somit das unmittelbar zuvor gedruckte Blatt nicht beschädigt.
-
Ausführungsbeispiel 4
-
In
dem ersten Ausführungsbeispiel
besteht das Mittel zur Information der Datenquelle der Programmumschaltung
aus einem Belegt-Protokollsignal, nämlich einem Signal, das den
Abschluß der
Datenübertragung
anfordert. Jedoch ist die vorliegende Erfindung nicht auf ein derartiges
Ausführungsbeispiel
beschränkt,
und es kann ein unabhängiges, ausschließliches
Informationssignal zwischen der Datenquelle und Gerät bereit
stehen, wodurch die Datenquelle über
die Verwendung des Umschaltmittels informiert wird.
-
In
diesem Falle kann die Datenquelle allein die Umschaltung des Steuerprogramms
feststellen, so daß die
Datenquelle die Bedienperson anweisen kann, die Datenablage oder
den Druckertreiber abhängig
vom Steuerprogramm auszutauschen. Wenn insbesondere das Informationssignal
so ausgelegt ist, daß es
eine Codeinformation enthält,
kann der Drucker das umgeschaltete Programm durch dessen eigenen
Identifikationsnamen informieren, wodurch der automatische Austausch
des Druckertreibers oder der Datei in der Datenquelle ermöglicht wird.
-
Des
weiteren kann ein Mittel zur Erwiderung der Information der Programmumschaltung
vom Druckgerät
vorgesehen sein. Im Falle der Umschaltung des Steuerprogramms wird
somit die Datenquelle informiert, es kann herausgefunden werden, ob
eine Datengruppe gesendet wird; und wenn solche Sendung ausgeführt wird,
kann eine Erwiderung zur Zurückweisung
einer solchen Programmausführung
zum Drucker gesendet werden, wodurch die Unterbrechung einer Seriendruckoperation
vermieden wird.
-
Ausführungsbeispiel 5
-
In
dem ersten Ausführungsbeispiel
wird die Programmkassette gemeinsam für verschiedene Produktmodelle
benutzbar gehalten, die sich in ihrem Grundgerätprogramm unterscheiden, aber
die gleichen Hardwarestruktur und externen Bezugsroutinen des Grundgerätprogramms
haben, in dem all die zugehörigen
Bits des Produktsnormgerechtheitskennzeichens eingestellt werden.
Selbst wenn sich die Produktmodelle im Hardwareaufbau oder in externen Bezugsroutinen
unterscheiden, kann das Programm auf der Programmkassette des weiteren
so ausgelegt sein, daß das
Steuerprogramm in eine Vielzahl von Steuerflüsse gemäß dem Hardwareaufbau und der
verfügbaren
externen Bezugsroutinen eines jeden Modells verzweigt, indem der
Diskriminator überprüft wird,
wie die Programm-ID des Grundgerätes. Auf
diese Weise kann die Programmkassette in einem weiten Bereich der
Produktmodelle angewandt werden.
-
Wie
im vorstehenden erläutert,
stellt die vorliegende Erfindung die folgenden Vorteile bereit:
- (1) Umschaltung unter einer Vielzahl von Steuerprogrammen
wird ermöglicht
durch Benutzung einer Vielzahl von auswechselbaren Programmspeicherträgern. Diese
werden innerhalb eines einzigen Gerätes realisiert, passend zu
unterschiedlichen Befehlssystemen, unterschiedlichen zusätzlichen
Funktionen und verschiedener Quittungsbetriebsunterstützungen
mit dem Hauptrechner.
Auch im Falle eines Fehlers, der im enthaltenen Steuerprogramm
gefunden wurde, kann die Korrektur leicht durch Bereitstellen eines
korrigierten Programms mit einem austauschbaren Träger, wie
einer Steuerkassette, ausgeführt
werden.
Des weiteren stellt die Anwesenheit von Mitteln zum
Akzeptieren einer unabhängigen
Steuerung die Kompatibilität
unter vielen Steuerprogrammen sicher.
- (2) Bei der Umschaltung des Steuerprogramms wird festgestellt,
ob das Gerät
in einem Zustand ist, der eine solche Programmumschaltung ermöglicht,
und eine derartige Programmumschaltung wird bei Abwesenheit eines
ungeeigneten Faktors aufgehoben, so daß der Verlust von Daten oder
Störungen
im Gerät
vermieden wird.
- (3) Die Umschaltung des Steuerprogramms wird der Datenquelle
unmittelbar vor der Umschaltung mitgeteilt, so daß die Beschädigung der
Daten von der Datenquelle vermieden wird.
- (4) Das laufende Operationssteuerprogramm überprüft das Identifikationssignal
des Programms, das in dem neuerlich eingesetzten austauschbaren
Speicherträger
gespeichert ist, wodurch nur das Anpaßsteuerprogramm arbeiten kann.
-
Insbesondere
ist dem Programm des austauschbaren Speicherträgers eine Vielzahl unabhängiger Identifikationssignale
zur Beurteilung der Anpassung mit verschiedenen Modellen des Gerätes gegeben,
so daß die
Anpassung der gegenwärtigen und
zukünftigen
Modelle beurteilt werden kann, und das Steuerprogramm kann gemeinsam
mit der Vielzahl der Modelle ohne irgendeine Gefahr benutzt werden.