HighPrint
HighPrint
HighPrint
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<strong>HighPrint</strong><br />
<strong>HighPrint</strong> 4915xe<br />
Programmierhandbuch
Fragen und Anregungen<br />
Sie haben ...<br />
... Fragen und Anregungen zu diesem<br />
Handbuch?<br />
Wenden Sie sich bitte unter Angabe der<br />
Bestellnummer dieses Handbuches an:<br />
Anschrift:<br />
Wincor Nixdorf International GmbH<br />
Handbuchredaktion BD P34<br />
D - 33094 Paderborn<br />
Fax: +49 (0) 52 51 693-62 09<br />
E-mail:<br />
manuals.hardware@wincor-nixdorf.com<br />
<strong>HighPrint</strong> 4915xe - Programmierhandbuch<br />
01750087429 B
<strong>HighPrint</strong> 4915xe<br />
Programmierhandbuch<br />
Ausgabe Juli 2005
Copyright © und Handelsmarken<br />
© Wincor Nixdorf International GmbH 2005<br />
Alle Rechte vorbehalten, insbesondere<br />
(auch auszugsweise) die der<br />
Übersetzung, des Nachdrucks, der<br />
Wiedergabe durch Kopieren oder<br />
ähnliche Verfahren.<br />
Zuwiderhandlungen verpflichten zu<br />
Schadensersatz.<br />
Alle Rechte vorbehalten, insbesondere<br />
für den Fall der Patenterteilung oder<br />
GM-Eintragung. Liefermöglichkeiten<br />
und technische Änderungen<br />
vorbehalten.<br />
Alle in diesem Handbuch verwendeten<br />
Hard- und Softwarenamen sind<br />
Handelsnamen und / oder Namen der<br />
jeweiligen Hersteller.<br />
Dieses Handbuch wurde<br />
auf chlorfrei gebleichtem<br />
Papier gedruckt.<br />
<strong>HighPrint</strong> 4915xe - Programmierhandbuch<br />
01750087429 B
Inhaltsverzeichnis<br />
Einleitung................................................................................................. 1<br />
Darstellungsmittel ..................................................................................... 1<br />
Abkürzungen............................................................................................. 2<br />
Gebrauch des Handbuches ...................................................................... 4<br />
Inhalt des Handbuches ............................................................................. 4<br />
Kurzbeschreibung Buch- und Belegdrucker........................................ 7<br />
Belegdruckstelle........................................................................................ 7<br />
Optionen ................................................................................................... 8<br />
Magnetstreifenleser (MSR) ................................................................. 8<br />
Feeder................................................................................................. 8<br />
Erweiterter Speicher ........................................................................... 8<br />
Systemschnittstelle ................................................................................... 9<br />
Physikalische Schnittstellen................................................................ 9<br />
Logisches Protokoll............................................................................. 9<br />
Anwendungsgebiete ............................................................................... 11<br />
Programmierschnittstelle..................................................................... 13<br />
Verschlüsselungen/Codes ...................................................................... 13<br />
ASCII-Code....................................................................................... 14<br />
Aktivieren der Funktionen des Buch- und Belegdruckers ................. 16<br />
Druckeffekte............................................................................................ 17<br />
Druckqualität ..................................................................................... 17<br />
Schriftarten........................................................................................ 18<br />
Schriftgröße / Zeichendichte ............................................................. 19<br />
Hervorheben von Textstellen ............................................................ 21<br />
Seitenlayout ...................................................................................... 23<br />
Zeichentabellen....................................................................................... 25<br />
Nationale Zeichensätze .................................................................... 26<br />
Benutzerdefinierte Zeichen in Zeichentabellen................................. 26<br />
Grafiken ............................................................................................ 27<br />
Spezifika des Buch- und Belegdruckers ................................................. 28<br />
Belegdruck ........................................................................................ 29<br />
Magnetstreifenbearbeitung ............................................................... 30<br />
Besonderheiten bei der Belegverarbeitung....................................... 31<br />
Standardkommandos ........................................................................... 33<br />
Hinweise zur Kommandobeschreibung................................................... 33<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch
Inhaltsverzeichnis<br />
Beschreibungskomponenten............................................................. 33<br />
Codierung dezimaler Kommandoparameter ..................................... 34<br />
Druckerkonfiguration steuern .................................................................. 41<br />
Drucker initialisieren.......................................................................... 42<br />
Unidirektionaldruck für eine Zeile wählen ......................................... 44<br />
Unidirektionaldruck-Modus EIN / AUS .............................................. 44<br />
MSB auf 1 setzen.............................................................................. 46<br />
MSB auf 0 setzen.............................................................................. 47<br />
MSB-Vorgabe löschen ..................................................................... 48<br />
Drucker offline ................................................................................... 49<br />
Drucker online ................................................................................... 49<br />
Automatische Einzelblattzuführung ein/aus ...................................... 50<br />
Spezielle Zeichencodes .......................................................................... 51<br />
Wagenrücklauf .................................................................................. 51<br />
Rückschritt um ein Zeichen............................................................... 53<br />
Zeichen löschen ................................................................................ 54<br />
Zeile löschen ..................................................................................... 54<br />
Zeilenvorschubkommandos .................................................................... 55<br />
Zeilenvorschub.................................................................................. 56<br />
n/180 Zoll Zeilenvorschub ausführen ................................................ 57<br />
1/8 Zoll Zeilenabstand wählen .......................................................... 58<br />
1/6 Zoll Zeilenabstand wählen .......................................................... 59<br />
n/180 Zoll Zeilenabstand wählen ...................................................... 60<br />
n/60 Zoll Zeilenabstand wählen ........................................................ 61<br />
n/360 Zoll Zeilenabstand wählen ...................................................... 63<br />
Blattauswurfkommando........................................................................... 64<br />
Blattauswurf ...................................................................................... 64<br />
Vertikale Druckersteuerung..................................................................... 65<br />
Unteren Rand festlegen .................................................................... 66<br />
Unteren Rand löschen ...................................................................... 68<br />
Vertikaltabulatoren festlegen/löschen (Kanal 0) ............................... 68<br />
Vertikaltabulatoren für beliebigen Kanal setzen/löschen .................. 69<br />
Vertikaltabulator-Kanal auswählen.................................................... 70<br />
Vertikal-Tabulation ............................................................................ 70<br />
Papiersteuerung ............................................................................... 71<br />
Beleglänge auf n Zeilen festlegen..................................................... 72<br />
Beleglänge auf n Zoll festlegen......................................................... 73<br />
Horizontale Druckersteuerung................................................................. 74<br />
Linken Rand festlegen ...................................................................... 76<br />
<strong>HighPrint</strong> 4915xe - Programmierhandbuch<br />
01750087429 B
Inhaltsverzeichnis<br />
Rechten Rand festlegen ................................................................... 79<br />
Textausrichtung festlegen................................................................. 81<br />
Horizontal-Tabulatoren festlegen / löschen ...................................... 83<br />
Tabulieren (horizontal) ...................................................................... 84<br />
Horizontale Positionierung (absolut) ................................................. 85<br />
Horizontale Positionierung (relativ) ................................................... 87<br />
Zeichenzwischenraum festlegen....................................................... 89<br />
Druckqualität und Zeichengröße............................................................. 91<br />
Umschalten Druckqualität (Draft/LQ) ................................................ 93<br />
LQ-Schriftart wählen ......................................................................... 95<br />
Proportionaldruck ein-/ausschalten................................................... 96<br />
10 cpi-Zeichengröße (Pica) wählen .................................................. 97<br />
12 cpi-Zeichengröße (Elite) auswählen ............................................ 98<br />
15 cpi-Zeichengröße wählen............................................................. 99<br />
Druckarten ............................................................................................ 100<br />
Schmaldruck einschalten ................................................................ 101<br />
Schmaldruck einschalten ................................................................ 102<br />
Schmaldruck ausschalten ............................................................... 103<br />
Breitdruck für eine Zeile einschalten............................................... 104<br />
Breitdruck für eine Zeile einschalten............................................... 105<br />
Breitdruck ausschalten.................................................................... 106<br />
Breitdruck ein-/ausschalten............................................................. 107<br />
Doppelte Zeichenhöhe aktivieren/deaktivieren ............................... 108<br />
Fettdruck einschalten...................................................................... 109<br />
Fettdruck ausschalten..................................................................... 110<br />
Doppeldruck einschalten................................................................. 111<br />
Doppeldruck ausschalten................................................................ 112<br />
Unterstreichen ein-/ausschalten ..................................................... 113<br />
Hoch-/Tiefstellen einschalten.......................................................... 114<br />
Hoch-/Tiefstellen AUS..................................................................... 115<br />
Kombinierte Druckart-Auswahl ....................................................... 116<br />
Nicht ausführbare Kommandos ............................................................ 119<br />
Signalton ......................................................................................... 119<br />
Halbe Druckgeschwindigkeit ein/ausschalten................................. 120<br />
Druckfarbe auswählen .................................................................... 120<br />
Zeichensatzkommandos .................................................................... 121<br />
Zeichensatzauswahl ............................................................................. 122<br />
Zeichendefinition................................................................................... 131<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch
Inhaltsverzeichnis<br />
Verwendung benutzerdefinierter Zeichen ............................................. 144<br />
Syntax der Zeichensatzkommandos ..................................................... 146<br />
Kursivdruck einschalten .................................................................. 146<br />
Kursivdruck ausschalten ................................................................. 147<br />
Zeichensatz wählen ........................................................................ 148<br />
Nationalen Zeichensatz auswählen ................................................ 149<br />
Benutzerdefinierter Zeichensatz ein-/ausschalten .......................... 150<br />
Zeichensatzerweiterung einschalten............................................... 151<br />
Zeichensatzerweiterung ausschalten.............................................. 152<br />
Zeichensatz in den RAM-Speicher kopieren................................... 153<br />
Zeichendefinition übertragen........................................................... 154<br />
Grafikkommandos............................................................................... 155<br />
Grafikmodi............................................................................................. 157<br />
Wirkungsweise der Grafikkommandos.................................................. 158<br />
Syntax der Grafikkommandos............................................................... 161<br />
Grafikmodus wählen ....................................................................... 161<br />
Grafikmodus ’einfache Dichte’ einschalten ..................................... 166<br />
Grafikmodus ’doppelte Dichte’ einschalten ..................................... 167<br />
Grafikmodus ’doppelte Dichte und doppelte Geschwindigkeit’ ....... 168<br />
Grafikmodus ’vierfache Dichte’ einschalten .................................... 169<br />
Grafikkommando neu zuordnen...................................................... 170<br />
Zusatzkommandos (Drucker)............................................................. 171<br />
Aufbau der Zusatzkommandos ............................................................. 172<br />
Allgemeines..................................................................................... 172<br />
Nutzdatenübergabe......................................................................... 174<br />
Reaktion bei falschen Parametern .................................................. 174<br />
Rückmeldungen .............................................................................. 174<br />
Hinweise zur Kommando-Beschreibung ......................................... 176<br />
Wichtige Hinweise zur Belegverarbeitung............................................. 177<br />
Zeichenbox...................................................................................... 178<br />
Horizontale Positionierung .............................................................. 180<br />
Vertikale Positionierung .................................................................. 183<br />
Basiskommandos zur Formularverarbeitung......................................... 187<br />
Papierzuführung des Beleges ......................................................... 188<br />
Auswahl von Schriftarten/Zeichensätzen ........................................ 189<br />
Absolute Vertikalpositionierung....................................................... 192<br />
Relative Vertikalpositionierung rückwärts ....................................... 194<br />
Belegbreite anfordern...................................................................... 195<br />
<strong>HighPrint</strong> 4915xe - Programmierhandbuch<br />
01750087429 B
Inhaltsverzeichnis<br />
Belegkantenerkennung ................................................................... 196<br />
Sparbuchverwaltung aktivieren....................................................... 197<br />
Vorgabe der horizontalen Bezugskante.......................................... 198<br />
Mode-Umschaltung für Papierende-Behandlung............................ 200<br />
Doppelplatzsteuerung ..................................................................... 203<br />
Multi Part ein-/ausschalten.............................................................. 204<br />
Steuerung der MSR-Funktionen ........................................................... 204<br />
Lage und Abmessungen für MSR-Magnetstreifen.......................... 205<br />
Parameterblock MSR...................................................................... 207<br />
Lesen einer MSR-Spur ................................................................... 209<br />
Schreiben einer MSR-Spur ............................................................. 212<br />
Löschen einer MSR-Spur................................................................ 213<br />
Status und Fehlermeldungen................................................................ 214<br />
Hinweise zum Druckerstatus .......................................................... 215<br />
Setzen Kontrollpunkte/Kontrollzyklus auslösen .............................. 217<br />
Setzen Kontrollpunkt II.................................................................... 219<br />
Globaler Druckerstatus ................................................................... 221<br />
Spezielle Druckermeldungen .......................................................... 222<br />
Druckwerksparameter..................................................................... 224<br />
Elektronische Journalfunktionen ........................................................... 227<br />
Wechsel zwischen Beleg- und Journaldruck .................................. 227<br />
Anwendungsbeispiele ........................................................................ 229<br />
Bearbeitung eines Blankoformulars ...................................................... 230<br />
Satzspiegel ..................................................................................... 231<br />
Druckeffekte.................................................................................... 233<br />
Programmschritte (kommentiert) .................................................... 235<br />
Programm (Pseudocode)................................................................ 242<br />
Belegverarbeitung................................................................................. 246<br />
Belegaufbau.................................................................................... 247<br />
Druckpositionen .............................................................................. 248<br />
Programmschritte (kommentiert) .................................................... 250<br />
Programm (Pseudocode)................................................................ 254<br />
Sparbuchverarbeitung mit MSR............................................................ 257<br />
Sparbuchdaten................................................................................ 258<br />
Programmierschritte (kommentiert) ................................................ 259<br />
Programm (Pseudocode)................................................................ 262<br />
Ladbare Firmware/Zeichengeneratoren............................................ 265<br />
Allgemeines .......................................................................................... 265<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch
Inhaltsverzeichnis<br />
Start des Laders.............................................................................. 266<br />
Automatische Schnittstellenerkennung im Lader ............................ 267<br />
Verlassen des Laders ..................................................................... 268<br />
Ablauf eines Ladevorgangs............................................................. 269<br />
Modulkennung................................................................................. 270<br />
Laderkommandos.................................................................................. 272<br />
Umschaltung in die Ladefunktion .................................................... 272<br />
Verlassen der Ladefunktion ............................................................ 273<br />
Modulkennung / Datenkennung anfordern...................................... 274<br />
Zeichengeneratoren Laden ................................................................... 276<br />
Bereitschaft zum Laden des Zeichengenerators melden................ 276<br />
Zeichengenerator-Datei laden......................................................... 277<br />
Firmware laden...................................................................................... 278<br />
Bereitschaft zum Laden der Firmware melden ............................... 278<br />
Firmware-Datei laden...................................................................... 279<br />
Datei-Kennsätze.................................................................................... 280<br />
Ansteuerung asiatischer Zeichensätze............................................. 283<br />
Voreinstellung Zeichensatz ................................................................... 286<br />
Betriebssystem-spezifische Abhängigkeiten................................... 287<br />
Windows Treiber ................................................................................... 287<br />
Anhang................................................................................................. 289<br />
Emulationen .......................................................................................... 289<br />
<strong>HighPrint</strong> 4915 Emulation ............................................................... 289<br />
Befehlstabelle für die <strong>HighPrint</strong> 4915 Emulation......................... 289<br />
Definition für das Drucken von Barcodes mit dem Buch- und<br />
Belegdrucker............................................................................... 293<br />
IBM Emulationen............................................................................. 295<br />
IBM 4722 Emulation.................................................................... 295<br />
IBM Proprinter XL24 Emulation................................................... 298<br />
Befehlsumfang Proprinter XL24 und 4722 ................................. 299<br />
Olivetti PRxx Emulation................................................................... 303<br />
Allgemein .................................................................................... 303<br />
Emulation .................................................................................... 303<br />
Initialisierungsparameter............................................................. 303<br />
Befehlsumfang OLIVETTI PR50 ................................................. 303<br />
Zeichensätze für die Olivetti Emulation ...................................... 306<br />
UNISYS EFP95 Emulation.............................................................. 308<br />
<strong>HighPrint</strong> 4915xe - Programmierhandbuch<br />
01750087429 B
Inhaltsverzeichnis<br />
Allgemein .................................................................................... 308<br />
Zeichensätze .............................................................................. 308<br />
Control Codes und ESC Sequenzen .......................................... 310<br />
Fehlerbehandlung....................................................................... 323<br />
OKI Emulation................................................................................. 324<br />
Allgemein .................................................................................... 324<br />
Zeichendefinition und Fontdateien.............................................. 324<br />
Befehlsumfang OKI..................................................................... 325<br />
Zeichensätze......................................................................................... 333<br />
Code Page 437 ............................................................................... 335<br />
ISO 8859-2 Latin No. 2 ................................................................... 336<br />
ISO 8859-5 Kyrillisch ...................................................................... 337<br />
ISO 8859-7 Griechisch.................................................................... 338<br />
ISO 8859-8 Hebräisch .................................................................... 339<br />
ISO 8859-9 Latin No. 5 ................................................................... 340<br />
ISO 8859-15.................................................................................... 341<br />
OCR-A ............................................................................................ 342<br />
OCR-B ............................................................................................ 343<br />
Code Page ISO 2............................................................................ 344<br />
Code Page 775 Latin / Baltic .......................................................... 345<br />
Code Page 850 Latin 1 ................................................................... 346<br />
Code Page 852 Latin 2 ................................................................... 347<br />
Code Page 855 ............................................................................... 348<br />
Code Page 857 Latin 5 ................................................................... 349<br />
PC Code Page 858 ......................................................................... 350<br />
Code Page 860 (Portugal) .............................................................. 351<br />
Code Page 866 Latin/Cyrillic........................................................... 352<br />
Code Page 869 Latin/Greek ........................................................... 353<br />
Thailändischer Zeichensatz (kundenspezifisch) ............................. 354<br />
1250 Windows Latin 2..................................................................... 355<br />
1251 Windows Cyrillic..................................................................... 356<br />
1252 Windows Latin 1..................................................................... 357<br />
1253 Windows Greek...................................................................... 358<br />
1254 Windows Latin 5..................................................................... 359<br />
1255 Windows Hebrew ................................................................... 360<br />
1256 Windows Arabic ..................................................................... 361<br />
1257 Windows Baltic Rim ............................................................... 362<br />
Chinesische Zeichen............................................................................. 363<br />
Ein Byte Modus............................................................................... 363<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch
Inhaltsverzeichnis<br />
Zwei Byte Modus............................................................................. 364<br />
GB 2312-80 / GB 5007 / GB 5199 .................................................. 370<br />
Fontnummer.................................................................................... 370<br />
Verfügbare Zeichengeneratoren ..................................................... 371<br />
Laderbefehle ......................................................................................... 373<br />
Papierspezifikation ................................................................................ 374<br />
Bezugslinien.................................................................................... 374<br />
Fehlermeldungen .................................................................................. 376<br />
Zustandsmeldungen........................................................................ 376<br />
Zustandsmeldungen (Urlader aktiviert) .......................................... 377<br />
Störungen ....................................................................................... 378<br />
Beschreibung der physikalischen Schnittstellen ................................... 383<br />
RS232 Schnittstelle......................................................................... 383<br />
Allgemeines................................................................................. 383<br />
Handshaking Protokolle .............................................................. 383<br />
Schnittstellendaten...................................................................... 385<br />
Centronics Schnittstelle................................................................... 390<br />
Centronics Modi .......................................................................... 390<br />
Steckertyp ................................................................................... 390<br />
Empfangspuffer........................................................................... 391<br />
Steckerbelegung ......................................................................... 391<br />
Signalbelegung druckerseitig im kompatiblen- und ECP-Modus 392<br />
Signalbeschreibung..................................................................... 394<br />
USB Schnittstelle ............................................................................ 397<br />
Allgemein .................................................................................... 397<br />
USB-Klasse................................................................................. 398<br />
Deskriptoren................................................................................ 399<br />
Standard Device Requests ......................................................... 406<br />
Verhalten der USB-Schnittstelle beim Gerätestart...................... 407<br />
Die USB Seriennummer.............................................................. 407<br />
Glossar................................................................................................. 409<br />
Stichwortverzeichnis .......................................................................... 411<br />
<strong>HighPrint</strong> 4915xe - Programmierhandbuch<br />
01750087429 B
Einleitung<br />
Das vorliegende Programmierhandbuch beschreibt im wesentlichen den Befehlssatz<br />
des multifunktionalen Buch- und Belegdruckers. Der Buch- und Belegdrucker<br />
ist ein Arbeitsplatzdrucker mit einer Druckstelle und dient der<br />
Verarbeitung von Belegen und Sparbüchern. Optional kann der Drucker mit einem<br />
Magnetstreifenleser (MSR) ausgerüstet werden.<br />
Zielgruppe für dieses Handbuch sind alle Anwender, die eigene Programme z.B.<br />
für die Beleg- oder Sparbuchverarbeitung erstellen wollen. Ausführliche technische<br />
Daten, Hinweise zum laufenden Betrieb (z. B. Drucker anschließen, Papier<br />
einlegen u. ä.) und Wartungshinweise sind in einer separaten Bedienungsanleitung<br />
zusammengefasst. Hinweise zur Fehlerbehebung bei Störungen befinden<br />
sich im Anhang dieses Handbuches.<br />
Darstellungsmittel<br />
In diesem Handbuch werden folgende Darstellungsmittel verwendet:<br />
Schreibmaschinenschriften,<br />
Hinweise, Dateiauszüge<br />
Systemausgaben wie Fehlermeldungen, Nachrich-<br />
fette Schreibmaschinenschrift<br />
Benutzereingaben in Beispielen<br />
– Texte, die dieser Markierung folgen, sind Aufzählungen.<br />
• Texte, die dieser Markierung folgen, beschreiben Tätigkeiten,<br />
die Sie in der vorgegebenen Reihenfolge<br />
ausführen sollen.<br />
„“ Texte in Anführungszeichen sind Verweise auf andere<br />
Kapitel oder Abschnitte.<br />
☺<br />
Kennzeichnet die zu bevorzugenden Funktionen. Alle<br />
nicht mit diesem Zeichen gekennzeichneten Funktionen<br />
sollten nur in Ausnahmefällen benutzt werden,<br />
sie dienen in erster Linie der Kompatibilität.<br />
Zusätzliche Informationen, Hinweise und Tipps.<br />
i<br />
Warnhinweise, die unbedingt beachtet werden müssen<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 1
Abkürzungen<br />
Einleitung<br />
Abkürzungen<br />
ANK<br />
APA graphics<br />
APR<br />
CPI<br />
CPL<br />
CS<br />
CR<br />
CSI<br />
DQ<br />
Draft<br />
Hex.<br />
HD<br />
HQD<br />
HS<br />
IF<br />
KANJI<br />
LSB<br />
LF<br />
LQ<br />
MSR<br />
MICR<br />
MSB<br />
OCR<br />
PPR<br />
Alphabet, Numerals und Katakana<br />
All Points Addressable graphics<br />
Automatic Passbook Reader<br />
Characters per Inch (Zeichen pro Zoll)<br />
Characters per Line (Zeichen pro Linie)<br />
Character Set (Zeichensatz)<br />
Carriage Return (Wagenrücklauf)<br />
Control Sequence Introducer<br />
Draft Qualitiy<br />
Dasselbe wie DQ. EFP95: Druckqualität, bei der Zeichen<br />
in einer 12 Punkt breiten Matrix angelegt sind<br />
und zwei aufeinander folgende Anschläge ausgeschlossen<br />
sind.<br />
Hexadezimal<br />
High Density (Hohe Auflösung)<br />
High Qualitiy Draft. Nur EFP95: Druckqualität, bei<br />
der Zeichen in einer 12 Punkt breiten Matrix angelegt<br />
sind und zwei aufeinanderfolgende Anschläge zulässig<br />
sind.<br />
High Speed (Hohe Geschwindigkeit)<br />
Interface (Schnittstelle)<br />
Japanese name for ideographic characters of Chinese<br />
origin<br />
Least Significant Bit (niederwertigstes Bit)<br />
Line Feed (Zeilenvorschub)<br />
Letter Quality (Schönschrift)<br />
Magnetic Stripe Reader<br />
Magnetic Ink Character Recognition<br />
Most Significant Bit (höchstwertiges Bit)<br />
Optical Character Recognition printer fonts<br />
(OCR-Schriftarten)<br />
Pro Printer<br />
2 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Einleitung<br />
Abkürzungen<br />
SHIFT JIS<br />
USB<br />
TOF<br />
Japan Industry Standard multi-byte encoding. The<br />
codes are numerically shifted from the codes used<br />
the JIS standard X0208.<br />
Universal Serial Bus<br />
Top of Form<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 3
Gebrauch des Handbuches<br />
Einleitung<br />
Gebrauch des Handbuches<br />
Diese Beschreibung ermöglicht die Programmierung des Druckers in den verschiedenen<br />
Anwendungsgebieten zur Belegbearbeitung.<br />
Alle Programmbeispiele in diesem Handbuch sind Programmiersprachenneutral<br />
(Pseudocode). Besonderheiten bei der Umsetzung von Pseudocode-Anweisungen<br />
in eine Programmiersprache (spezielle BASIC-Dialekte, COBOL, C usw.)<br />
werden hier nicht behandelt. Ebenfalls bleiben Besonderheiten beim Kommunikationsprotokoll<br />
zwischen dem Buch- und Belegdrucker und dem jeweils angeschlossenen<br />
Rechner unberücksichtigt.<br />
Inhalt des Handbuches<br />
Kapitel „Kurzbeschreibung Buch- und Belegdrucker“<br />
In diesem Kapitel werden in kurzer Form die Hardware-Komponenten des Buchund<br />
Belegdruckers aufgelistet und die Anwendungsgebiete des Druckers skizziert.<br />
Kapitel „Programmierschnittstelle (Allgemeines)“<br />
Hier wird zunächst das grundsätzliche Prinzip der logischen Kommunikation<br />
zwischen einer Anwendung und dem Drucker über ESC-Sequenzen skizziert. In<br />
separaten Abschnitten wird dann anhand von Beispielen die Funktionalität des<br />
multifunktionalen Buch- und Belegdruckers in einem Überblick vorgestellt.<br />
Kapitel „Standardkommandos“<br />
Hier werden alle Epson-kompatiblen Steuerkommandos des Buch- und Belegdruckers<br />
beschrieben. Ausgenommen davon sind Zeichensatz- und Grafikkommandos,<br />
die in den folgenden Kapiteln erläutert werden.<br />
Im einzelnen werden hier die Befehle für folgende Anwendungsgebiete beschrieben:<br />
– Steuerung der Druckerkonfiguration<br />
– Einstellen von Seiten- und Zeilenkonstanten<br />
– Vertikale und horizontale Tabulation<br />
– Einstellungen zur Druckqualität und Zeichengröße<br />
– Hervorheben von Textstellen durch Einstellen einer entsprechenden Druckart<br />
(z. B. Fettdruck, Unterstreichung, Hoch-/Tiefstellung usw.).<br />
4 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Einleitung<br />
Inhalt des Handbuches<br />
Kapitel „Zeichensatzkommandos“<br />
Einen Schwerpunkt dieses Kapitels bildet die Einstellung von benutzerdefinierten<br />
Zeichen mit der Beschreibung der dafür relevanten Kommandos. Darüber hinaus<br />
werden die Befehle für das Umschalten zwischen Zeichensätzen<br />
beschrieben (z. B. Standard-Zeichensatz, Grafik-Zeichensatz, länderspezifische<br />
Zeichensätze).<br />
Kapitel „Grafikkommandos“<br />
In diesem Kapitel werden Kommandos beschrieben, mit denen Zeichnungen,<br />
Diagramme oder Bilder als Punktgrafiken gedruckt werden können. Grundprinzip<br />
ist dabei, die einzelnen Bildpunkte als Zahlenfolge zu verschlüsseln und zum<br />
Drucker zu übertragen.<br />
Kapitel „Zusatzkommandos“<br />
In diesem Kapitel werden spezielle Steuerbefehle für die Belegverarbeitung<br />
bzw. für die Bearbeitung von MSR-Daten erläutert. Ein wichtiges Anwendungsgebiet<br />
für die hier beschriebenen Kommandos ist die Bearbeitung von Sparbüchern.<br />
Insbesondere enthält das Kapitel „Zusatzkommandos“ auch wichtige Hinweise<br />
zur Bearbeitung von Belegen bei horizontalen und vertikalen Druckpositionierungen.<br />
Kapitel „Anwendungsbeispiele“<br />
Zu den Kommandobeschreibungen in den Kapiteln „Standardkommandos“,<br />
„Zeichensatzkommandos“, usw. gehört in der Regel ein kleines Programmbeispiel<br />
zur Vertiefung der erläuterten Funktionalität eines Kommandos. In dem Kapitel<br />
„Anwendungsbeispiele“ wird anhand von komplexeren Aufgabenstellungen<br />
die Nutzung spezifischer Kommandos im Zusammenhang gezeigt:<br />
– Textverarbeitung mit dem Buch- und Belegdrucker<br />
– Sparbuchverarbeitung mit MSR<br />
Einzelne Programmschritte werden ausführlich kommentiert und die Programmstruktur<br />
in Form eines Pseudocodes dargestellt.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 5
Inhalt des Handbuches<br />
Einleitung<br />
Kapitel „Ladbare Firmware/Zeichengeneratoren“<br />
Firmware und Zeichengeneratoren des Buch- und Belegdruckers sind in einem<br />
programmierbaren Speicher in FLASH Technologie abgelegt. Das Kapitel „Ladbare<br />
Firmware/Zeichengeneratoren“ beschreibt den Ablauf von Ladevorgängen<br />
und die ESC-Sequenzen des Urladers.<br />
Kapitel „Ansteuerung asiatischer Zeichensätze“<br />
Im Rahmen des Einsatzes des Buch- und Belegdruckers im asiatischen Raum<br />
müssen asiatische Zeichen für die genannten Drucker verfügbar gemacht werden.<br />
In diesem Kapitel wird die Ansteuerung der asiatischen Zeichensätze beschrieben.<br />
Kapitel „Betriebssystem-spezifische Abhängigkeiten“<br />
In diesem Kapitel werden Betriebssystem-spezifische Einstellungen beschrieben.<br />
Kapitel „Glossar“<br />
Hier werden Fachbegriffe erklärt.<br />
Anhang<br />
Der Anhang dieses Produkthandbuches enthält folgende Informationen:<br />
– Übersicht über alle Befehle des Buch- und Belegdruckers<br />
– Zeichensatztabellen<br />
– Bedruckbare Beleg- und Papiervarianten/ Papierspezifikation<br />
– Tabelle mit Fehlermeldungen<br />
– Beschreibung der physikalischen Schnittstelle<br />
Kapitel „Index“<br />
Das Stichwortverzeichnis erleichtert die Suche nach ausgewählten Themen.<br />
6 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Kurzbeschreibung Buch- und Belegdrucker<br />
Der Buch- und Belegdrucker hat eine Belegdruckstelle, mit der Einfachbelege,<br />
Mehrfachbelege (Formularsätze) und Sparbücher verarbeitet werden können.<br />
Optional kann der Drucker noch mit einem Magnetstreifenleser (MSR) oder einem<br />
Einzelblatteinzug ausgerüstet sein.<br />
Belegdruckstelle<br />
Unter dem Begriff ’Beleg’ werden alle Einzeldokumente zusammengefasst.<br />
Dazu gehören z. B. Schecks, unbedruckte DIN A4-Vorlagen (Blankobelege),<br />
Formulare unterschiedlicher Größe oder Sparbücher.<br />
Alle Belege werden beim Buch- und Belegdrucker über ein Flachbett nach dem<br />
Prinzip der Einblatt-Verarbeitung eingezogen, verarbeitet und wieder ausgeworfen.<br />
Eine Belegverarbeitung wird durch Vorlegen des jeweiligen Einzelbeleges<br />
eingeleitet.<br />
Die Zuführung der Belege ist wahlfrei. Die Belegvorlage wird durch eine automatische<br />
Belegausrichtung unterstützt. Die Positionierung der Druckzeichen ist relativ<br />
zu allen Belegkanten möglich.<br />
Im folgenden finden Sie eine zusammenfassende Aufstellung der Kenndaten<br />
zur Belegdruckstelle:<br />
– 90 Druckstellen bei 10 Zeichen/Zoll<br />
– Automatische Belegausrichtung<br />
– Automatische Belegkantenerkennung<br />
– Automatische Druckkopfnachführung<br />
– Druckkopf mit 24 Nadeln<br />
– 2 Druckmodi (LQ, Draft)<br />
– ’24-Bit’- und ’8-Bit’-Grafik<br />
– Die Druckgeschwindigkeit ist von der horizontalen Auflösung des jeweils selektierten<br />
Zeichenfonts abhängig. Zunächst ergeben sich zwei unterschiedliche<br />
Druckgeschwindigkeiten bei den Druckmodi LQ (Letter Quality) und<br />
Draft. Der Drucker kann auch Schriftarten, Schriftqualitäten oder mehrpha-<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 7
Optionen<br />
Kurzbeschreibung Buch- und Belegdrucker<br />
sige Zeichen verarbeiten, die sich von der Pixeldatenstruktur der Standardzeichensätze<br />
unterscheiden. Daraus können abhängig vom jeweiligen<br />
Zeichenfont mehr als zwei Druckgeschwindigkeiten resultieren.<br />
Optionen<br />
Magnetstreifenleser (MSR)<br />
Optional kann der Buch- und Belegdrucker mit einem Magnetstreifenleser<br />
(MSR-Gerät) für Sparbücher geliefert werden. Dies ermöglicht das Lesen und<br />
Aktualisieren von Magnetstreifen auf Sparbüchern in Abhängigkeit von bestimmten<br />
Aufzeichnungsverfahren (DIN / IBM). Zwischen den verschiedenen<br />
Aufzeichnungsverfahren kann per Programm gewechselt werden.<br />
Feeder<br />
Einzelblattfeeder für 500 Blatt DIN A4.<br />
Erweiterter Speicher<br />
Der erweiterte Speicher wird für asiatische Fonts benötigt.<br />
8 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Kurzbeschreibung Buch- und Belegdrucker<br />
Systemschnittstelle<br />
Systemschnittstelle<br />
Über die Systemschnittstelle wird ein Datenstrom übertragen, der die Funktionen<br />
des Druckers aktiviert. Sie ist durch folgende Eigenschaften gekennzeichnet:<br />
– der physikalische Anschluss<br />
– das logische Protokoll (Steuersequenzen)<br />
Die Auswahl dieser Eigenschaften erfolgt über das Bedienfeld.<br />
Physikalische Schnittstellen<br />
Es stehen vier Schnittstellen zur Verfügung:<br />
– 2 x RS232 Schnittstelle (V.24)<br />
– Centronics Schnittstelle<br />
– USB Schnittstelle<br />
Logisches Protokoll<br />
Es sind mehrere Protokolle (Emulationen) verfügbar:<br />
– <strong>HighPrint</strong> 4915<br />
– IBM 4722<br />
– IBM Proprinter XL24<br />
– Olivetti<br />
– UNISYS EFP95<br />
– OKI<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 9
Systemschnittstelle<br />
Kurzbeschreibung Buch- und Belegdrucker<br />
<strong>HighPrint</strong> 4915<br />
Diese Emulation ist detailliert in diesem Dokument beschrieben. Da mit ihr Funktionen<br />
des Druckwerks optimal unterstützt werden, sollte sie zur Realisierung<br />
neuer Applikationen benutzt werden. Gleichzeitig ist diese Emulation zur Ablösung<br />
nachfolgender Druckwerke geeignet:<br />
– EPSON ESC P<br />
– ND 90<br />
– <strong>HighPrint</strong> 4904<br />
– <strong>HighPrint</strong> 4905<br />
IBM 4722, IBM Proprinter XL 24, Olivetti, UNISYS EFP95, OKI<br />
Diese Emulationen bilden (teilweise mit Einschränkungen) entsprechende<br />
Druckwerke anderer Hersteller nach. Die Beschreibung in diesem Dokument beschränkt<br />
sich auf eine Befehlstabelle, Besonderheiten, Parametereinstellungen<br />
und eventuelle Inkompatibilitäten.<br />
10 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Kurzbeschreibung Buch- und Belegdrucker<br />
Anwendungsgebiete<br />
Anwendungsgebiete<br />
Die Verarbeitung von Einzel-/Mehrfachbelegen sowie Sparbüchern lässt den<br />
Einsatz des Buch- und Belegdruckers in folgenden Branchen zu:<br />
Industrie und Handel:<br />
– Lieferscheine<br />
– Fracht- und Zollpapiere<br />
– Rechnungen<br />
– Kuverts<br />
Öffentliche Verwaltungen:<br />
– Antragsformulare<br />
– Karteikarten<br />
– Lohnsteuerkarten<br />
– Kfz-Unterlagen<br />
– Führerscheine<br />
Geldinstitute, Versicherungen und Dienstleistungsunternehmen:<br />
– Sparbücher<br />
– Schecks<br />
– Überweisungen<br />
– Krankenscheine<br />
– Antragsformulare<br />
Für den Betrieb in Geldinstituten steht optional eine Magnetstreifen-Schreib/Leseeinrichtung<br />
zur Verfügung.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 11
Anwendungsgebiete<br />
Kurzbeschreibung Buch- und Belegdrucker<br />
12 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Programmierschnittstelle<br />
(Allgemeines)<br />
In diesem Kapitel finden Sie allgemeine Hinweise, wie die Funktionen des Buchund<br />
Belegdruckers von einem Anwenderprogramm aktiviert werden können,<br />
also der Drucker programmiert werden kann. Ebenfalls in diesem Kapitel werden<br />
die per Programm aktivierbaren Funktionen in einem kurzen, zusammenfassenden<br />
Überblick vorgestellt.<br />
Verschlüsselungen/Codes<br />
Die Druckfunktionen des Buch- und Belegdruckers werden aus einem Programm<br />
angestoßen, in dem eindeutige numerische Verschlüsselungen (Codes),<br />
die Zeichen und Befehle darstellen, vom Rechner an den Drucker gesendet werden.<br />
Die einzelnen Codes stehen für druckbare Zeichen (Buchstaben, Zahlen,<br />
Interpunktionszeichen, mathematische Symbole) oder Steuercodes, die bestimmte<br />
Aktionen bewirken (z. B. Belegauswurf, Zeichen löschen, Wagenrücklauf).<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 13
Verschlüsselungen/Codes<br />
Programmierschnittstelle<br />
ASCII-Code<br />
In einer Codetabelle wird festgelegt, wie die druckbaren Zeichen und Steueranweisungen<br />
zum Beispiel für Belegauswurf und Wagenrücklauf im Rechner oder<br />
Drucker binär verschlüsselt werden. Die Verschlüsselung wird durch eine hexadezimale<br />
Zahl bzw. der hexadezimal entsprechenden dezimalen Zahl ausgedrückt.<br />
In hexadezimaler Notation bzw. dezimaler Darstellung liegt dann ein<br />
bestimmtes Zeichen zum Beispiel im Bereich Hex. 00 bis Hex. FF bzw. Dezimal<br />
0 bis Dezimal 255 (8-Bit-Verschlüsselung).<br />
Beispiele:<br />
Zeichen Bedeutung Dezimal Hex.<br />
A<br />
a<br />
4<br />
LF<br />
ESC<br />
Buchstabe groß A<br />
Buchstabe klein a<br />
Ziffer 4<br />
Zeilenvorschub<br />
Escape<br />
65<br />
97<br />
52<br />
10<br />
27<br />
41<br />
61<br />
34<br />
0A<br />
1B<br />
Basis der Verschlüsselungen ist beim Buch- und Belegdrucker und bei den<br />
meisten Rechnern das Codesystem ASCII (American Standard Code for Information<br />
Interchange), das sich nur für spezielle Fremdsprachen bei bestimmten<br />
Zeichen unterscheidet (länderspezifische ASCII-Tabelle). Der ASCII-Code wird<br />
über 7 Bits verschlüsselt, wodurch 128 verschiedene Bedeutungen möglich<br />
sind.<br />
Escape-Sequenzen / CSI-Sequenzen<br />
Da über die ASCII-Tabelle weniger Steuercodes als Druckfunktionen zur Verfügung<br />
stehen, sind die Befehle für den Drucker in der Regel aus einer Folge von<br />
zwei oder mehr ASCII-Zeichen zusammengesetzt.<br />
Eine solche Codefolge wird immer mit der Verschlüsselung des Steuerbefehles<br />
ESC (Escape) eingeleitet (ASCII-Code 27 (dezimal) bzw. 1B (hexadezimal). Dadurch<br />
wird dem Drucker signalisiert, das die nach ESC folgenden Verschlüsselungen<br />
als Befehl für den Drucker zu interpretieren sind.<br />
14 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Programmierschnittstelle<br />
Verschlüsselungen/Codes<br />
Für den Buch- und Belegdrucker werden zwei Arten von Codefolgen unterschieden:<br />
– ESC ...<br />
Mit ESC bzw. der zugehörigen Verschlüsselung beginnende Codefolge werden<br />
als ESC-Sequenz bezeichnet.<br />
– CSI ... = ESC [ ...<br />
Die durch CSI (Control Sequence Introducer) eingeleiteten Codefolgen<br />
werden als CSI-Sequenzen bezeichnet. CSI-Sequenzen werden durch Verschlüsselungen<br />
der Zeichenfolge „ESC [“ eingeleitet und durch die Verschlüsselung<br />
von zwei befehlsabhängigen Zeichen I (= Intermediate<br />
Character) und F (= Final Character) abgeschlossen. Die CSI-Sequenzen<br />
dienen zur Steuerung von speziellen Druckerfunktionen für die Beleg- und<br />
MSR-Bearbeitung (siehe dazu auch Abschnitt „Spezifika des Buch- und Belegdruckers“<br />
in diesem Kapitel bzw. Kapitel „Zusatzkommandos“).<br />
Beispiele (ESC-Sequenzen):<br />
ESC-Sequenz Bedeutung ASCII-Verschlüsselung<br />
ESC 4<br />
ESC 5<br />
ESC 0<br />
ESC C 60<br />
Kursivdruck ein<br />
Kursivdruck aus<br />
Unteren Rand löschen<br />
Beleglänge auf 60 Zeilen<br />
festlegen<br />
dezimal<br />
hexadezimal<br />
dezimal<br />
hexadezimal<br />
dezimal<br />
hexadezimal<br />
dezimal<br />
hexadezimal<br />
: 27 52<br />
: 1B 34<br />
: 27 53<br />
: 1B 35<br />
: 27 79<br />
: 1B 4F<br />
: 27 67 60<br />
: 1B 43 3C<br />
Beispiele (CSI-Sequenzen, hier ohne Verschlüsselungen):<br />
CSI Parameter I F Bedeutung<br />
ESC [<br />
ESC [<br />
n<br />
%<br />
$<br />
r<br />
t<br />
Löschen MSR-Spur<br />
(keine Parameter)<br />
Sparbuchverarbeitung aktivieren<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 15
Verschlüsselungen/Codes<br />
Programmierschnittstelle<br />
Aktivieren der Funktionen des Buch- und Belegdruckers<br />
Die Steuercodes oder ESC- bzw. CSI-Sequenzen müssen durch entsprechende<br />
Programmbefehle direkt und eindeutig an den Drucker adressiert werden. Abhängig<br />
von der jeweiligen Programmiersprache erfolgt dieses z. B. über PRINToder<br />
WRITE-Anweisungen.<br />
Beispiel:<br />
Es sollen drei Zeilen gedruckt werden. Die Zeilen 1 und 3 werden in Normalschrift,<br />
die Zeile 2 in Kursivschrift ausgegeben.<br />
Pseudocode:<br />
BEGINN<br />
DRUCKEZV(" 1. Textzeile")<br />
DRUCKE(ESC 4)<br />
DRUCKEZV(" 2. Textzeile")<br />
DRUCKE(ESC 5)<br />
DRUCKEZV(" 3. Textzeile")<br />
ENDE<br />
Umsetzung in BASIC:<br />
10 LPRINT "1. Textzeile"<br />
20 LPRINT CHR$(27);" 4";<br />
30 LPRINT "2. Textzeile"<br />
40 LPRINT CHR$(27);" 5";<br />
50 LPRINT "3. Textzeile"<br />
Ergebnis:<br />
i<br />
In diesem Handbuch werden Programmbeispiele ausschließlich in<br />
Form eines Pseudocodes dargestellt und die Steuercodes bzw. Codefolgen<br />
in dezimaler ASCII-Verschlüsselung oder direkt als Zeichen angegeben.<br />
Die entsprechenden Vorgaben müssen dann in die jeweilige Zielsprache<br />
übertragen werden.<br />
16 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Programmierschnittstelle<br />
Druckeffekte<br />
Druckeffekte<br />
Die Gestaltung eines Druck-Erzeugnisses ist abhängig von der Druckqualität,<br />
Schriftart, Schriftgröße bzw. Zeichenbreite und der Hervorhebung von Textstellen<br />
zum Beispiel durch Unterstreichungen oder Fettdruck.<br />
Druckqualität<br />
Die Druckqualität ist gekennzeichnet durch die Auflösung der Druckzeichen und<br />
durch die Druckgeschwindigkeit. Beim Buch- und Belegdrucker werden zwei<br />
Druckqualitäten unterschieden:<br />
– LQ-Modus (Letter Quality)<br />
Der LQ-Modus (Schönschrift) zeichnet sich durch die höchste Druckqualität<br />
und niedrige Druckgeschwindigkeit aus.<br />
– DQ-Modus (Draft Quality)<br />
Der DQ-Modus (Entwurfsschrift) zeichnet sich gegenüber dem LQ-Modus<br />
durch niedrigere Druckqualität, aber höhere Druckgeschwindigkeit aus.<br />
Beispiel:<br />
Die Auswahl der Druckqualität kann über entsprechende ESC-Sequenzen per<br />
Programm oder über das Menü erfolgen.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 17
Druckeffekte<br />
Programmierschnittstelle<br />
Schriftarten<br />
Neben dem DQ-Font für Entwurfsschrift stehen für Schönschrift (LQ-Modus)<br />
standardmäßig die Schrifttypen Roman, Sans Serif, OCR-A (OCR-A1 Eurobanking)<br />
und OCR-B (OCR-B1 Eurobanking) sowie der Zeichensatz ISO 8859 mit<br />
den folgenden Ländervarianten zur Verfügung:<br />
– Osteuropa<br />
– Kyrillisch<br />
– Griechenland<br />
– Hebräisch<br />
– Türkei<br />
Die Auswahl der Fonts DQ, Roman und Sans Serif erfolgt über entsprechende<br />
ESC-Sequenzen per Programm.<br />
Die Fonts OCR-A und OCR-B, ISO 8859 sowie alle speziellen, nicht Epsonkompatiblen<br />
Fonts werden ausschließlich über CSI-Sequenzen selektiert. Die<br />
so selektierten Zeichenfonts werden wie normale LQ-Schrifttypen behandelt,<br />
das heißt, dass alle Standardkommandos (Druckqualität, Zeichengröße, Druckarten)<br />
auch für diese Fonts wirken.<br />
Beispiel (Schrifttypen in Schönschrift, Letter Quality):<br />
18 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Programmierschnittstelle<br />
Druckeffekte<br />
Schriftgröße / Zeichendichte<br />
Die Breite eines gedruckten Zeichens wird in ’Zeichen pro Zoll’ (CPI = characters<br />
per inch) ausgedrückt und oft auch mit Zeichendichte bezeichnet, zum Beispiel<br />
10 Zeichen pro Zoll = 10 CPI<br />
Der Buch- und Belegdrucker kann in den Zeichendichten 10, 12 und 15 cpi<br />
drucken. Jedes beliebige Zeichen ist dann gleich breit.<br />
Beispiel:<br />
Zusätzlich kann die Schriftgröße durch Proportional-, Breit- oder Schmaldruck<br />
beeinflusst werden.<br />
Proportionalschrift<br />
Proportionalschrift zeichnet sich dadurch aus, dass jedes Zeichen entsprechend<br />
seiner Größe unterschiedlich viel Raum einnimmt (z. B. ’I’ nimmt weniger Raum<br />
ein als ’B’ oder ’t’ weniger als ’g’). Texte in Proportionalschrift sind in der Regel<br />
kürzer als beim Normaldruck.<br />
Beispiel:<br />
Breitdruck<br />
Durch Breitdruck wird jedes Zeichen in doppelter Breite dargestellt. Dadurch ist<br />
es z. B. möglich, Kopfzeilen in einem Text hervorzuheben.<br />
Beispiel:<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 19
Druckeffekte<br />
Programmierschnittstelle<br />
Schmaldruck<br />
Wird in einer Zeichendichte von 10 bzw. 12 cpi gedruckt, kann zusätzlich durch<br />
Schmaldruck jedes Zeichen auf 60 % seiner Breite gegenüber dem Normaldruck<br />
verkleinert werden.<br />
Beispiel:<br />
20 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Programmierschnittstelle<br />
Druckeffekte<br />
Hervorheben von Textstellen<br />
Folgende Druck-Funktionen des Buch- und Belegdruckers können über entsprechende<br />
ESC-Sequenzen beeinflusst werden:<br />
– Doppeldruck/Fettdruck<br />
– Unterstreichung<br />
– Hoch-/Tiefstellung<br />
– Doppelt Hoch<br />
Doppeldruck/Fettdruck<br />
Beim Doppeldruck (= vertikaler Fettdruck) geht der Druckkopf zweimal über jede<br />
Zeile. Das Papier wird nach dem ersten Druck um 1/180 Zoll weiter transportiert<br />
und anschließend vertikal leicht versetzt die gleichen Zeichen erneut gedruckt.<br />
Beim Fettdruck (auch horizontaler Fettdruck genannt) wird jeder Punkt eines<br />
Zeichens zweimal gedruckt, wobei der zweite Punkt leicht nach rechts gegenüber<br />
dem ersten gedruckten Punkt versetzt ist.<br />
Durch den Doppeldruck wird der Raum zwischen den Punkten aufgefüllt, durch<br />
den (horizontalen) Fettdruck die Linien eines Zeichens verstärkt. Fett- und Doppeldruck<br />
können kombiniert werden, so dass besonders fettgedruckte Zeichen<br />
entstehen.<br />
Beispiel:<br />
Unterstreichungen<br />
Beliebige Textteile können durch Ein- und Ausschalten des Unterstreichungsmodus<br />
hervorgehoben werden.<br />
Beispiel:<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 21
Druckeffekte<br />
Programmierschnittstelle<br />
Hoch- und Tiefstellung<br />
Fußnoten, Formeln oder besondere Textgestaltungen sind durch Ein- und Ausschalten<br />
von Hoch- bzw. Tiefstellungen möglich.<br />
Beispiel:<br />
22 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Programmierschnittstelle<br />
Druckeffekte<br />
Seitenlayout<br />
Durch entsprechende ESC-Sequenzen kann die Seitengestaltung beeinflusst<br />
oder die Textausgabe auf Basis von vorgedruckten Formularen gesteuert werden.<br />
Dazu gehören zum Beispiel<br />
– das Setzen und Löschen von horizontalen und vertikalen Tabulatoren<br />
– das Einstellen der Breite einer Druckseite<br />
– das Einstellen des Zeilenabstandes<br />
– die linksbündige, rechtsbündige, zentrierte oder als Blocksatz ausgerichtete<br />
Darstellung eines Textes.<br />
Beispiel (Einstellung von Seitenkonstanten):<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 23
Druckeffekte<br />
Programmierschnittstelle<br />
Beispiel (Textausrichtung):<br />
Beispiel (Zeilenabstände):<br />
24 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Programmierschnittstelle<br />
Zeichentabellen<br />
Zeichentabellen<br />
Bei den druckbaren Zeichen in einer Codetabelle werden zwei Bereiche unterschieden:<br />
– Bereich mit Grundzeichenvorrat der jeweiligen Schrift (Draft-Standardschrift,<br />
Roman und Sans Serif). Dieser Bereich wird auch als ’Grundzeichentafel’<br />
bezeichnet.<br />
Die Zeichen der Grundzeichentafel werden in ASCII durch die Codes Hex.<br />
20 bis Hex. 7F verschlüsselt (dezimal 32 bis 127).<br />
– Bereich mit Kursivzeichen, Sonderzeichen, Grafikzeichen oder vom Benutzer<br />
definierten Zeichen. Dieser Bereich wird auch ’obere Zeichentafel’ genannt.<br />
Die Zeichen in der oberen Zeichentafel werden in ASCII durch die Codes<br />
Hex. 80 bis Hex. FF verschlüsselt (dezimal 128 bis 255).<br />
Der Kursivzeichensatz beinhaltet eine Grundzeichentafel (Hex. 20 bis Hex. 7F)<br />
und eine Kursivzeichentafel (Hex. A0 bis Hex.FF). Der Bereich Hex. 80 bis Hex.<br />
9F ist nicht belegt. Beim Grafikzeichensatz enthält die obere Zeichentafel im Bereich<br />
Hex. A0 bis Hex. FF spezielle Grafikzeichen. Beim erweiterten Grafiksatz<br />
enthält die obere Zeichentafel zusätzlich Zeichen im Bereich Hex. 80 bis Hex.<br />
9F.<br />
i<br />
Per Programm kann durch entsprechende ESC-Sequenzen bzw. CSI-<br />
Sequenzen jederzeit auf unterschiedliche Zeichensätze umgeschaltet<br />
werden. Eine Auflistung ladbarer Code Pages findet sich im Anhang.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 25
Zeichentabellen<br />
Programmierschnittstelle<br />
Nationale Zeichensätze<br />
Durch die Wahl eines nationalen Zeichensatzes stehen dem Benutzer zusätzliche,<br />
in anderen Sprachen gebräuchliche Zeichen zur Verfügung. Die Selektion<br />
der nationalen Zeichensätze erfolgt über eine ESC-Sequenz oder über das Bedienfeld<br />
des Druckers. Diese Zeichen ersetzen jeweils das entsprechend verschlüsselte<br />
Zeichen in der Grundzeichentafel.<br />
Beispiele:<br />
Code<br />
5B<br />
60<br />
7C<br />
Grundzeichen<br />
Ä<br />
,<br />
:<br />
Italien Japan Norwegen<br />
.<br />
ù<br />
ò<br />
[<br />
`<br />
|<br />
Æ<br />
é<br />
o<br />
Benutzerdefinierte Zeichen in Zeichentabellen<br />
In Zeichentafeln gespeicherte Symbole werden auf Basis des jeweiligen Zeichencodes<br />
und des zugeordneten Punktmusters ausgedruckt.<br />
Beispiel:<br />
Durch bestimmte ESC-Sequenzen können beliebige Punktmuster neu definiert<br />
und einem Code der Grundzeichentafel zugeordnet werden. Dadurch können z.<br />
B. ein neues Alphabet, fachspezifische Symbole oder individuelle Grafikzeichen<br />
erstellt und anstelle des jeweiligen Standardzeichens gedruckt werden.<br />
Die Definition solcher benutzerspezifischen Zeichen wird in einem separaten<br />
Abschnitt behandelt. Im Prinzip ist die Erstellung eines neuen Zeichens oder<br />
Symbols die Erstellung eines grafischen Musters, bei dem der Drucker genaue<br />
Angaben benötigt, an welcher Stelle ein Punkt gedruckt werden soll.<br />
26 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Programmierschnittstelle<br />
Zeichentabellen<br />
Benutzerdefinierte Zeichen werden durch ESC-Sequenzen in den Speicher des<br />
Buch- und Belegdruckers kopiert. Zwischen Benutzer- und normalem Zeichensatz<br />
kann dann beliebig umgeschaltet werden.<br />
Grafiken<br />
Über den Buch- und Belegdrucker können zunächst einfache Bilder und/oder Diagramme<br />
auf Basis von Standard- bzw. Grafikzeichen oder benutzerdefinierten<br />
Symbolen auf der einen Seite und den Formatierungsmöglichkeiten (z. B.<br />
Zeilenabstände, Tabulatoren, Hervorhebungen) auf der anderen Seite dargestellt<br />
werden. Der Aufbau solcher Semigrafiken kann durch Programme mit entsprechenden<br />
ESC-Sequenzen gesteuert werden. Die Erstellung von<br />
Semigrafiken auf Basis von Zeichensätzen ist im Prinzip die Verbindung von einzelnen<br />
Zeichen über mehrere Zeilen.<br />
Beispiel:<br />
Durch Umschalten in einen Grafikmodus stehen spezielle Grafik-Befehle zur<br />
Verfügung, durch die Zeichnungen, Diagramme oder Bilder als Punktgrafiken<br />
gedruckt werden. Dabei wird jeder Bildpunkt als Zahlenfolge verschlüsselt und<br />
an den Drucker übertragen. Das Aussehen von Punktgrafiken kann durch Einstellen<br />
der Punktdichte beeinflusst werden, wobei eine maximale Auflösung von<br />
180 x 360 Punkten pro Zoll möglich ist. Der Buch- und Belegdrucker arbeitet in<br />
verschiedenen Grafikmodi. Ein Grafikmodus ist gekennzeichnet durch die Anzahl<br />
der Nadeln, die beim Druck angesprochen werden (8 oder 24) und dem<br />
horizontalen Punktabstand (60 bis 360 Punkte pro Zoll).<br />
Die Erstellung von Punktgrafiken ist im Prinzip die Verbindung von Punktdaten<br />
über mehrere Zeilen. Der Zeilenabstand kann so eingestellt werden, dass keine<br />
Zeilenzwischenräume in einem Bild entstehen.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 27
Spezifika des Buch- und Belegdruckers<br />
Programmierschnittstelle<br />
Spezifika des Buch- und Belegdruckers<br />
Geschäftsvorfälle bzw. Transaktionen in einem Geldinstitut beinhalten eine Reihe<br />
von Handgriffen und Programmaktivitäten. Dazu gehört zum Beispiel auf Seite<br />
des Schalterangestellten das Einlegen bzw. die Entnahme von Belegen und<br />
Sparbüchern oder die Eingabe von Ein- und Auszahlungsbeträgen, Bankleitzahl<br />
und Kontonummer. Diese Vorgänge werden durch spezielle Bankenperipherie<br />
und die entsprechenden Programme unterstützt. Zur Drucker-Verarbeitung gehört<br />
zum Beispiel der Quittungsdruck auf Belegen und Sparbüchern.<br />
Der Buch- und Belegdrucker enthält standardmäßig oder optional Vorrichtungen,<br />
mit denen<br />
– Belege oder Sparbücher verarbeitet werden können<br />
– Magnetstreifen gelesen und beschrieben werden können<br />
Für die Programmierung stehen zusätzlich spezielle Befehle zur Verfügung:<br />
– Positionier-Kommandos<br />
– Kontrollmeldungen<br />
– Steuerung der MSR-Funktionen<br />
– Sonderfunktionen<br />
Relevant ist hier auch die Auswertung von Rückmeldungen des Buch- und Belegdruckers,<br />
die Auskunft über den momentanen Zustand des Druckers geben<br />
oder Daten an das Programm enthalten:<br />
– Zustand des Druckers nach Auftreten von Ausnahmebedingungen wie Fehler,<br />
Betriebsunterbrechungen oder Bedienfeldeingaben (Statusmeldungen des<br />
Druckers, auf die im Programm entsprechend reagiert werden kann)<br />
– Empfangen von angeforderten Daten.<br />
28 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Programmierschnittstelle<br />
Spezifika des Buch- und Belegdruckers<br />
Belegdruck<br />
Bei Belegen (DIN A4-Seiten, Vordrucken) bzw. Sparbüchern muss der logische<br />
Aufbau des Beleges berücksichtigt werden.<br />
Beispiel (Sparbuch-Konstanten):<br />
1 Kopfzeilen-Bereich (wird bei einer Sparbuch-Transaktion nicht bedruckt)<br />
2 Bereich mit Zeilen für die Protokollierung von Ein- und Auszahlungen<br />
3 Letzte bedruckbare Zeile<br />
4 Fußzeilenbereich (wird bei einer Sparbuch-Transaktion nicht bedruckt).<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 29
Spezifika des Buch- und Belegdruckers<br />
Programmierschnittstelle<br />
Magnetstreifenbearbeitung<br />
Das als MSR bezeichnete Gerät dient zur Bearbeitung von Magnetstreifen auf<br />
Sparbüchern. Die MSR-Einrichtung erlaubt ein automatisches Lesen und Aktualisieren<br />
von Daten in verschlüsselter Form.<br />
In welcher Form die entsprechenden Daten auf einen MSR-Magnetstreifen verschlüsselt<br />
werden, ist abhängig von dem jeweiligen Aufzeichnungsverfahren<br />
(DIN/IBM).<br />
Beispiel (Magnetstreifen auf Sparbuchrücken):<br />
1 Sparbuch-Innenteil<br />
2 Sparbuch-Rückseite<br />
3 Magnetstreifen<br />
Hier könnte der Magnetstreifen folgende Informationen enthalten:<br />
– Nächste oder letzte zu bedruckende Zeile im Sparbuch<br />
– Kontonummer des Kunden<br />
– Saldobetrag (Guthaben) des Kunden.<br />
Durch das Lesen des Magnetstreifens erübrigt sich das Eingeben dieser Daten.<br />
Vor dem Druck der Sparbuchzeile werden die Werte für Zeilennummer und Saldo<br />
auf dem Magnetstreifen aktualisiert.<br />
30 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Programmierschnittstelle<br />
Spezifika des Buch- und Belegdruckers<br />
Besonderheiten bei der Belegverarbeitung<br />
Bei der Bearbeitung von Belegen sind im Gegensatz zur normalen Einzelblattoder<br />
Endlospapier-Verarbeitung besonders die unterschiedliche Größe von Belegen<br />
bzw. die Art der Belegzuführung zu berücksichtigen.<br />
Einzug und Auswurf von Belegen<br />
Es gibt prinzipiell zwei Möglichkeiten, den Einzug und Auswurf von Belegen zu<br />
steuern.<br />
Eine Möglichkeit ist, dass der Drucker automatisch einen Einzug auf eine ggf.<br />
durch entsprechende Kommandos eingestellte Warteposition auslöst, wenn ein<br />
Beleg vom Anwender vorgesteckt wird. Wenn der erste Druck oder Positionierbefehl<br />
für diesen Beleg erkannt wird, wird dieser eingezogen und auf die korrekte<br />
Bearbeitungsposition weitertransportiert. Empfängt der Buch- und<br />
Belegdrucker Druckanweisungen und ist kein Beleg vorhanden, so wird der Bediener<br />
über eine blinkende LED-Anzeige und Textausgabe der LCD-Anzeige<br />
zum Vorlegen eines Beleges aufgefordert.<br />
Der Auswurf eines Beleges kann durch ein Belegauswurf-Kommando ausgelöst<br />
werden.<br />
Mit einem speziellen CSI-Befehl können Belege aber auch explizit auf die<br />
Grundlinie der ersten Druckzeile eingezogen bzw. bearbeitete oder nur vorgesteckte<br />
Belege ausgeworfen werden. Dadurch können Einzugs- und Auswurfvorgänge<br />
über getrennte Kontrollzyklen im Programm abgesichert werden.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 31
Spezifika des Buch- und Belegdruckers<br />
Programmierschnittstelle<br />
32 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
In diesem Kapitel werden alle Epson-kompatiblen Kommandos (ESC-Sequenzen)<br />
beschrieben. Ausgenommen davon sind Kommandos zum Wechseln von<br />
Zeichensätzen (siehe Kapitel „Zeichensatzkommandos“) und Kommandos, mit<br />
denen Grafiken erstellt werden können (siehe Kapitel „Grafikkommandos“).<br />
Spezielle Kommandos (CSI-Sequenzen) für die Belegverarbeitung bzw. für die<br />
Bearbeitung von OCR- und MSR-Daten werden im Kapitel „Zusatzkommandos“<br />
beschrieben.<br />
Hinweise zur Kommandobeschreibung<br />
Im folgenden wird zunächst erläutert, wie die jeweilige ESC-Sequenz für ein<br />
Kommando beschrieben wird und aus welchen Bestandteilen diese Beschreibung<br />
besteht. Anschließend wird erläutert, wie die Pseudocode-Anweisungen in<br />
den Programmierbeispielen zu interpretieren sind. Abschließend wird ein Hinweis<br />
gegeben, wie sich die Kommandos in der Regel bei der Übertragung falscher<br />
Kommando-Parameter verhalten.<br />
Alle in diesem Abschnitt gegebenen Hinweise gelten auch für die Kapitel „Zeichensatzkommandos“<br />
bzw. „Grafikkommandos“ und mit Varianten auch für das<br />
Kapitel „Zusatzkommandos“.<br />
Beschreibungskomponenten<br />
Die Beschreibung der Standardkommandos gliedert sich in folgende Komponenten:<br />
– Kommandoname mit ASCII-Codierung in dezimaler und hexadezimaler Verschlüsselung<br />
– Funktionsbeschreibung und Anwendung<br />
– Zusätzliche Hinweise auf Voraussetzungen, Randbedingungen und Abhängigkeiten<br />
zu anderen Befehlen<br />
– In der Regel wird jede Kommando-Beschreibung mit einem kleinen Beispiel<br />
abgeschlossen, durch das die Anwendung und Auswirkung des Kommandos<br />
demonstriert werden soll.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 33
Hinweise zur Kommandobeschreibung<br />
Standardkommandos<br />
Beispiel einer formalen Kommando-Beschreibung (Kommando-Syntax):<br />
ESC<br />
27<br />
1B<br />
A<br />
65<br />
41<br />
(n)<br />
n<br />
n<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
<br />
<br />
<br />
<br />
<br />
<br />
Kommandoname/ESC-Sequenz<br />
Dezimale Verschlüsselung laut ASCII-Tabelle<br />
Hexadezimale Verschlüsselung laut ASCII-Tabelle<br />
Codierung dezimaler Kommandoparameter<br />
Alle Kommando-Parameter (n) oder (n1), (n2) usw. in den ESC-Sequenzen der<br />
Epson-kompatiblen Kommandos müssen an den Drucker in binär codierter<br />
Form und nicht als ASCII-Zeichen übergeben werden. Mehrere Parameter werden<br />
dabei einfach hintereinander ohne Trennzeichen (z. B. Leerzeichen oder<br />
Komma) übergeben. Die binäre Codierung eines Parameters muss durch eine<br />
entsprechende ASCII-Codierung in hexadezimaler bzw. dezimaler Verschlüsselung<br />
im Anwenderprogramm realisiert werden. In der Kommando-Syntax werden<br />
binär zu codierende Parameter geklammert (zum Beispiel (n) oder (n1) (n2)<br />
(n3)...). In den folgenden Zeilen mit den hexadezimalen bzw. dezimalen Verschlüsselungen<br />
des Kommandos werden die Parameterbezeichnungen n, m<br />
usw. ohne Klammerung als Platzhalter für konkrete Werte wiederholt. Welche<br />
Werte ein Parameter annehmen kann, wird in der nachfolgenden Funktionsbeschreibung<br />
angegeben.<br />
34 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Hinweise zur Kommandobeschreibung<br />
Beispiel:<br />
Beleglänge auf n Zoll festlegen<br />
ESC<br />
27<br />
1B<br />
A<br />
65<br />
41<br />
<br />
(n)<br />
n<br />
n<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
ESC C NUL(n) setzt die Zeilenlänge auf n Zoll (absolute Beleglänge unabhängig<br />
vom Zeilenabstand). Der Wert n muss zwischen 1 (Zoll) und 22 (Zoll)<br />
einschließlich liegen.<br />
<br />
<br />
<br />
Parameterwert von n muss binär verschlüsselt werden<br />
Hinweis, welchen Wert der Parameter n annehmen kann<br />
i<br />
Bei den Drucker-spezifischen Zusatzkommandos (CSI-Sequenzen)<br />
werden im Gegensatz zu den ESC-Sequenzen der Standard-, Zeichensatz-<br />
und Grafikkommandos die Kommando-Parameter (n), (n1) usw.<br />
als ASCII-Wert codiert. Zum Beispiel werden bei dem dreistelligen Parameterwert<br />
n=123 drei Byte übertragen (siehe dazu Kapitel „Zusatzkommandos“).<br />
Programmbeispiele<br />
Alle Anweisungen in den Programmbeispielen zur Demonstration der Standard-<br />
Steuerkommandos werden unabhängig von einer bestimmten Programmiersprache<br />
dargestellt. Dies geschieht durch Formulierung der Programmzeilen<br />
in einem umgangssprachlichen Pseudocode. In der Praxis muss dieser<br />
Pseudocode abhängig von der jeweils eingesetzten Programmiersprache in entsprechende<br />
Programmanweisungen umgesetzt werden.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 35
Hinweise zur Kommandobeschreibung<br />
Standardkommandos<br />
Beispiel:<br />
BEGINN<br />
DRUCKEZV("Druckseite mit unterem Rand")<br />
RUFE AUF ZEILENDRUCK<br />
DRUCKE( Zeichen(27),"O")<br />
DRUCKEZV("Druckseite ohne unteren Rand")<br />
RUFE AUF ZEILENDRUCK<br />
ENDE<br />
BEGINN ZEILENDRUCK<br />
SETZE N = 0<br />
WIEDERHOLE<br />
SETZE N = N + 1<br />
DRUCKEZV(N,". Zeile nach Überschrift")<br />
BIS N = 6<br />
ENDE ZEILENDRUCK<br />
Erläuterung der Pseudocode-Anweisungen:<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
Funktion<br />
Anweisungsblock<br />
Schleife<br />
Alternative<br />
Initialisierung<br />
Variablenwert ändern<br />
Unterprogrammaufruf<br />
Drucken o. Zeilenvorschub<br />
Drucken m. Zeilenvorschub<br />
Steuerzeichen<br />
Auswertung der<br />
Druckerrückmeldung<br />
(Lesedaten)<br />
Codierung<br />
BEGINN/ENDE<br />
WIEDERHOLE/BIS Abbruchkriterium<br />
WENN...DANN...SONST ...<br />
SETZE Variable = Wert<br />
SETZE Variable = Variable +/- Wert<br />
RUFE AUF Unterprogramm-Name<br />
DRUCKE (Argumente)<br />
DRUCKEZV (Argumente)<br />
Zeichen (x) bzw. Zeichen(a,...,n)<br />
LESE (Argumente)<br />
(weitere Erläuterungen zu 1, 2, ..., 8 siehe folgende Seiten)<br />
36 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Hinweise zur Kommandobeschreibung<br />
1 Bei der Definition von Unterprogrammen wird nach BEGINN und ENDE<br />
noch der Unterprogramm-Name angegeben (zum Beispiel BEGINN ZEI-<br />
LENDRUCK ... ENDE ZEILENDRUCK).<br />
2 Die Anweisungen innerhalb WIEDERHOLE ... BIS (Schleifenrumpf) werden<br />
solange ausgeführt, bis das nach BIS angegebene Abbruchkriterium<br />
erfüllt ist (zum Beispiel WIEDERHOLE ... BIS N=6). Diese Pseudocodeanweisung<br />
ist hier so definiert, dass der Schleifenrumpf k einmal ausgeführt<br />
wird, wenn das Abbruchkriterium bereits vor dem ersten Schleifendurchlauf<br />
erfüllt ist.<br />
3 (zum Beispiel WENN N=50 DANN BEGINN ... ENDE oder WENN<br />
N=50 DANN RUFE AUF SEITENWECHSEL SONST N=N+1)<br />
4 (zum Beispiel setze N=0)<br />
5 (zum Beispiel setze N=N+1)<br />
6 (zum Beispiel RUFE AUF ZEILENDRUCK)<br />
7 Über die Prozeduren DRUCKE bzw. DRUCKEZV soll die Datenübertragung<br />
vom Programm zum Drucker symbolisiert werden. In Abhängigkeit<br />
von den Argumenten sind dies Steuerkommandos (Zeichen(...)) oder alphanumerische<br />
bzw. numerische Nutzdaten.<br />
Durch die Prozedur DRUCKE wird kein Wagenrücklauf (CR= Carriage Return)<br />
durchgeführt. Durch die Prozedur DRUCKEZV wird sowohl eine Zeilenschaltung<br />
(LF= Line Feed) als auch ein Wagenrücklauf (CR= Carriage<br />
Return) definiert. Abhängig davon, ob der Druckerparameter ’AUTO-CR +<br />
LF’ (= CR-HANDLING im Drucker-Menü) aktiviert ist oder nicht, muss die<br />
reale Umsetzung der Prozedur DRUCKEZV entsprechend programmiert<br />
werden.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 37
Hinweise zur Kommandobeschreibung<br />
Standardkommandos<br />
Als Argumente von DRUCKE bzw. DRUCKEZV treten folgende Werte auf:<br />
Argument<br />
"x"<br />
Zeichen (x)<br />
Zeichen (a, b,..., n)<br />
"Text"<br />
A, B, C,..., N<br />
bzw. Zähler, Seite,<br />
Durchlauf usw.<br />
Bedeutung<br />
Code eines druckbaren Zeichens x aus der Sequenz<br />
ESC ... x ...<br />
x := Dezimalverschlüsselung eines ASCII-Wertes oder<br />
x := Wert eines Parameters n, m usw., der binär<br />
verschlüsselt werden soll<br />
Zeichen( a), Zeichen( b), ..., Zeichen( n)<br />
Textstring / Zeichenkette<br />
Numerische oder alphanumerische Variablen in Form<br />
von Großbuchstaben oder sprechenden Namen wie<br />
’Zähler’, ’Seite’ usw.<br />
Zu ’x’:<br />
Zum Beispiel kann C als druckbares Zeichen in der Sequenz ESC C NUL (n)<br />
direkt durch ’C’ angegeben werden oder durch Zeichen(67), wobei 67 die dezimale<br />
ASCII-Verschlüsselung von C ist.<br />
Beispiele zu Zeichen (x):<br />
– Zeichen(27) mit 27 = Dezimalverschlüsselung von ESC<br />
– Zeichen(4) mit 4 = Wert von n<br />
zum Beispiel aus der Sequenz ESC C NUL (n)<br />
8 Die Prozedur LESE( Argumente) soll die Datenübertragung vom<br />
Drucker zum Programm symbolisieren. Diese Prozedur ist nur relevant<br />
für die Beschreibung bestimmter CSI-Sequenzen im Kapitel<br />
„Zusatzkommandos“, bei denen Rückmeldungen vom Drucker<br />
ausgewertet werden können.<br />
Beispiele:<br />
Das Kommando für Zeilenvorschub ist LF (Line Feed) und wird dezimal laut AS-<br />
CII-Codierung durch 10 verschlüsselt. Gleichwertig sind dazu die Pseudocode-<br />
38 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Hinweise zur Kommandobeschreibung<br />
Anweisungen:<br />
DRUCKE("Dies ist eine Zeile",Zeichen(10))<br />
DRUCKEZV("Dies ist eine Zeile")<br />
Beleglänge einstellen (z. B. 6 Zoll = ESC C NULL 6):<br />
DRUCKE(Zeichen(27,67,06))<br />
oder<br />
DRUCKE(Zeichen(27),"C",Zeichen(0),Zeichen(6))<br />
Druckerinitialisierung nach Druck mit Zeilenvorschub:<br />
DRUCKE("Text",Zeichen(10),Zeichen(27),"@")<br />
oder<br />
DRUCKE("Text")<br />
DRUCKE(ZEICHEN(10))<br />
DRUCKE(ZEICHEN(27),"@")<br />
oder<br />
DRUCKEZV("Text")<br />
DRUCKE(Zeichen(27),"@")<br />
Variablen-Wert drucken:<br />
SETZE Zähler = 0<br />
WIEDERHOLE<br />
SETZE Zähler = Zähler + 1<br />
DRUCKEZV("Dies ist die ",Zähler,". Zeile")<br />
BIS Zähler = 10<br />
Zeilenabstand sukzessive vergrößern (n/180 Zoll durch ESC 3 (n)):<br />
SETZE N = 0<br />
WIEDERHOLE<br />
SETZE N = N + 1<br />
DRUCKE(Zeichen(27),"3",Zeichen(N))<br />
DRUCKE(N,"/180 Zoll Zeilenabstand")<br />
BIS N = 20<br />
Leerzeile drucken:<br />
DRUCKEZV()<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 39
Hinweise zur Kommandobeschreibung<br />
Standardkommandos<br />
Reaktion bei falschen Parametern oder falscher Syntax<br />
In der Regel werden falsche Parameter n, n1 usw. automatisch durch den jeweiligen<br />
Default-Wert ersetzt (zum Beispiel bei Überschreitung des angegebenen<br />
Wertebereiches). Kommandos mit Parametern, die innerhalb des angegebenen<br />
Wertebereiches liegen, aber die eingestellten Randbedingungen verletzten,<br />
werden ignoriert (zum Beispiel bei einer versuchten, horizontalen Absolutpositionierung<br />
außerhalb des möglichen Druckbereiches).<br />
Ausnahmen von diesen Regeln werden ggf. gesondert bei der entsprechenden<br />
Kommandobeschreibung angegeben.<br />
i<br />
Eine genaue Beschreibung der bedruckbaren Bereiche und die Definition<br />
von horizontalen und vertikalen Positionen enthält der Abschnitt<br />
„Hinweise zur Formularverarbeitung“ im Kapitel „Zusatzkommandos“.<br />
40 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Druckerkonfiguration steuern<br />
Druckerkonfiguration steuern<br />
Durch folgende Steuerkommandos kann, unabhängig von den zu druckenden<br />
Daten, der Zustand des Druckers vom Programm aus beeinflusst werden:<br />
Kommando Funktion<br />
ESC @ Drucker initialisieren ☺<br />
ESC <<br />
Unidirektionalen Druck für eine Zeile auswählen<br />
ESC U (n) Unidirektionalen Druckmodus ein-/ausschalten ☺<br />
ESC > 8. Bit ankommender Daten setzen (MSB = 1)<br />
ESC = 8. Bit ankommender Daten löschen (MSB = 0)<br />
ESC #<br />
Steuerung 8. Bit beenden (= MSB-Vorgabe löschen)<br />
DC3<br />
Drucker logisch abschalten (Offline)<br />
DC1<br />
Drucker logisch einschalten (Online)<br />
ESC EM (n) Einzelblattzuführungs-Modus ein-/ausschalten<br />
i<br />
Bei manchen Rechnern ist der MSB-Wert (Most Significant Bit; höchstwertiges<br />
Bit) stets gleich 1. Das würde in der Praxis bedeuten, dass in<br />
der Zeichentabelle nur Zeichen aus dem Bereich von 80h bis FFh angesprochen<br />
und dann ausschließlich kursive oder grafische oder benutzerdefinierte<br />
Zeichen gedruckt werden könnten.<br />
Durch das Kommando ESC = kann das 8. Bit gelöscht werden. Somit<br />
können auch Zeichen aus der Grundzeichentabelle (Bereich von 20h<br />
bis 7Fh) gedruckt werden.<br />
Auf der anderen Seite kann für Rechner, die nur 7-Bit-Daten übertragen<br />
können (MSB-Wert stets gleich 0), durch ESC > das 8. Bit auf 1 gesetzt<br />
werden. Dann ist es möglich, auch kursive, grafische oder benutzerdefinierte<br />
Zeichen anzusprechen.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 41
Druckerkonfiguration steuern<br />
Standardkommandos<br />
Drucker initialisieren<br />
ESC<br />
27<br />
1B<br />
@<br />
64<br />
40<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Durch ESC @ kann der Drucker per Programm auf bestimmte Betriebszustände<br />
zurückgesetzt werden (Software-Initialisierung). ESC @ setzt den Drucker auf<br />
die Vorgabewerte zurück und löscht alle vor dem Kommando übermittelten<br />
Druckdaten der aktuellen Zeile aus dem Druckpuffer.<br />
Folgende Aktionen werden ausgeführt:<br />
– Zeileneinteilung auf 6 Zeilen pro Zoll setzen<br />
– Belegformat sowie rechten und unteren Rand auf Default-Werte setzen (die<br />
aktuelle Vertikalposition wird als neue Zeile 1 definiert)<br />
– linken Rand auf Vorgabewert aus Emulationsmenü setzen (einstellbar über<br />
das Bedienfeld)<br />
– Zeichenteilung auf Vorgabewert aus Emulationsmenü setzen (einstellbar<br />
über das Bedienfeld)<br />
– Schriftqualität bzw. Schrifttyp auf Vorgabewert aus Emulationsmenü setzen<br />
(einstellbar über das Bedienfeld)<br />
– Vertikale Tabulatoren löschen und Kanal 0 auswählen<br />
– Breit-, Fett-, Doppel- und Kursivschrift ausschalten<br />
– MSB-Vorgabe löschen<br />
– Zusätzlichen Zeichenabstand auf 0 setzen<br />
– Hoch- bzw. Tiefstellen löschen<br />
– Unterstreichung ausschalten<br />
– Druck linksbündig ausrichten<br />
42 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Druckerkonfiguration steuern<br />
i<br />
Bei der Initialisierung oder Definition von Druckerparametern für bestimmte<br />
Anwendungen sind folgende Fälle zu unterscheiden:<br />
– Parameter, die durch ihren Default-Wert vorgegeben sind<br />
– Parameter, die durch entsprechende ESC-Sequenzen eingestellt<br />
werden (Schriftart, Zeichenbreite usw.)<br />
– Parameter, die durch das Kommando ESC @ auf ihren Default-<br />
Wert zurückgesetzt werden.<br />
Alle Default-Werte des Buch- und Belegdruckers sind im Anhang dieses Handbuches<br />
aufgelistet. Wird der Drucker durch ESC @ auf beliebiger Vertikalposition<br />
eines Beleges angewendet, kann es bei nachfolgenden Aktionen zu<br />
unerwünschten Ergebnissen kommen (aktuelle Vertikalposition ist neue<br />
Zeile 1). Aus diesem Grund ist ESC @ zur Initialisierung von Parametern innerhalb<br />
eines Beleges nicht zu empfehlen.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 43
Druckerkonfiguration steuern<br />
Standardkommandos<br />
Unidirektionaldruck für eine Zeile wählen<br />
ESC<br />
27<br />
1B<br />
<<br />
60<br />
3C<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Durch ESC < wird die nächste Druckzeile von rechts nach links gedruckt. Dieses<br />
Kommando wird automatisch durch einen Wagenrücklauf (CR) aufgehoben.<br />
Unidirektionaldruck-Modus EIN / AUS<br />
ESC<br />
27<br />
1B<br />
U<br />
85<br />
55<br />
(n)<br />
n<br />
n<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Normalerweise wird bidirektional gedruckt (druckwegoptimiert). Ein Unidirektionaldruck<br />
(Drucken in einer Richtung) ist z.B. sinnvoll, um beim Ausdruck von<br />
Text oder Grafik eine präzisere Positionierung der Zeichen zu erreichen, also ein<br />
sauberes Druckbild zu erzeugen.<br />
ESC U (n) aktiviert oder deaktiviert den Unidirektionaldruck, wobei (n) als Ein-/<br />
Ausschalter dient:<br />
n = 1 aktiviert den Modus (Unidirektional ein),<br />
n = 0 deaktiviert den Modus (Unidirektional aus).<br />
Beispiel:<br />
Nach drei Druckzeilen soll ein Wechsel zwischen bidirektionalem und unidirektionalem<br />
Druck erfolgen. Gestartet wird mit bidirektionalem Druck<br />
44 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Druckerkonfiguration steuern<br />
BEGINN<br />
DRUCKE(Zeichen(27),"U",Zeichen(0)<br />
DRUCKEZV("Bidirektional gedruckte Zeile")<br />
DRUCKEZV("Bidirektional gedruckte Zeile")<br />
DRUCKEZV("Bidirektional gedruckte Zeile")<br />
DRUCKE(Zeichen(27),"U",Zeichen(1)<br />
DRUCKEZV()<br />
DRUCKEZV("Unidirektional gedruckte Zeile")<br />
DRUCKEZV("Unidirektional gedruckte Zeile")<br />
DRUCKEZV("Unidirektional gedruckte Zeile")<br />
ENDE<br />
Druckerkonfiguration steuern<br />
Standardkommandos<br />
MSB auf 1 setzen<br />
ESC<br />
27<br />
1B<br />
><br />
62<br />
3E<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
ESC > setzt das höchstwertige (MSB-) Bit aller eingehenden Daten gleich 1. Dadurch<br />
ist es möglich, auch für Programme auf Rechnern, die nur 7-Bit-Daten<br />
übertragen, kursive, grafische oder benutzerdefinierte Zeichen zu drucken (Zugriff<br />
auf Zeichentabellenbereich von Hex. 80 bis Hex. FF).<br />
i<br />
Die MSB-Vorgabe durch ESC > wird durch folgende ESC-Sequenzen<br />
gelöscht:<br />
– ESC @ (Drucker initialisieren)<br />
– ESC = (Höchstwertiges Bit löschen)<br />
– ESC # (MSB-Vorgabe löschen).<br />
46 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Druckerkonfiguration steuern<br />
MSB auf 0 setzen<br />
ESC<br />
27<br />
1B<br />
=<br />
61<br />
3D<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
ESC = setzt bei allen eingehenden Daten das höchstwertige (MSB-) Bit gleich 0<br />
(Null). Dadurch ist es möglich, auch für Programme auf Rechnern, die nur 7-Bit-Daten<br />
übertragen, Zeichen der Standardcodetabelle zu drucken.<br />
i<br />
Die MSB-Vorgabe durch ESC = wird durch folgende ESC-Sequenzen<br />
gelöscht:<br />
– ESC @ (Drucker initialisieren)<br />
– ESC > (Höchstwertiges Bit setzen)<br />
– ESC # (MSB-Vorgabe löschen).<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 47
Druckerkonfiguration steuern<br />
Standardkommandos<br />
MSB-Vorgabe löschen<br />
ESC<br />
27<br />
1B<br />
#<br />
35<br />
23<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
ESC # hebt die mit ESC = oder ESC > erfolgte MSB-Vorgabe (höchstwertiges<br />
Bit löschen bzw. setzen) auf.<br />
i<br />
Eine durch ESC = oder ESC > erfolgte MSB-Vorgabe wird ebenfalls<br />
aufgehoben, wenn der Drucker per Software initialisiert wird (siehe<br />
ESC @).<br />
48 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Druckerkonfiguration steuern<br />
Drucker offline<br />
DC3<br />
19<br />
13<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
DC3 (Gerätesteuerung 3) schaltet den Drucker solange offline (Drucker inaktiv),<br />
bis wieder ein DC1-Code (Drucker online) empfangen wird.<br />
Der Drucker kann auf keinen Fall über die STOP-Taste wieder aktiviert werden.<br />
Drucker online<br />
DC1<br />
17<br />
11<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
DC1 (Gerätesteuerung 1) schaltet den zuvor durch einen DC3-Code auf offline geschalteten<br />
Drucker wieder online.<br />
Wurde der Drucker über die STOP-Taste ausgeschaltet, kann er mit diesem Befehl<br />
nicht wieder online geschaltet werden.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 49
Druckerkonfiguration steuern<br />
Standardkommandos<br />
Automatische Einzelblattzuführung ein/aus<br />
ASCII Dezimal Hexadezimal Funktion<br />
0 48 30 Einzelblatt-Zuführung ausschalten<br />
1 49 31 Wählt Zufuhrschacht 1<br />
(nur bei 2 Zufuhrschächten)<br />
2 50 32 Wählt Zufuhrschacht 2<br />
(nur bei 2 Zufuhrschächten)<br />
4 52 34 Einzelblatt-Zuführung einschalten<br />
R 82 52 Gibt ein Blatt Papier aus, ohne ein<br />
neues Blatt einzuziehen<br />
Da für den Buch- und Belegdrucker keine automatische Einzelblattzuführung<br />
vorhanden ist, werden bis auf einen Parameter (n = R) alle anderen Werte ignoriert.<br />
i<br />
Statt ESC EM R (= Blattauswurf) sollte das Kommando FF (Form Feed,<br />
Belegauswurf) verwendet und damit in einer Anwendung ganz auf das<br />
ESC EM-Kommando verzichtet werden.<br />
50 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Spezielle Zeichencodes<br />
Spezielle Zeichencodes<br />
In diesem Kapitel werden folgende Kommandos beschrieben:<br />
Kommando Funktion<br />
CR Wagenrücklauf (Carriage Return) ☺<br />
BS Rückschritt um ein Zeichen (Backspace) ☺<br />
DEL<br />
Zeichen löschen (Delete)<br />
CAN<br />
Zeile löschen (Cancel)<br />
Wagenrücklauf<br />
CR<br />
13<br />
0D<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Nach CR (Carriage Return) werden die im Puffer befindlichen Daten gedruckt<br />
und der Druckkopf logisch auf den linken Rand zurückgesetzt.<br />
Wenn CR laut Einstellung z. B. am Bedienfeld nur als CR interpretiert wird, so<br />
wird der Druckkopf in derselben Zeile zurückgesetzt. Ggf. muss dann durch ein<br />
anschließendes LF (Line feed, siehe Abschnitt „Zeilenvorschubkommandos“ in<br />
diesem Kapitel) ein zusätzlicher Zeilenvorschub angestoßen werden.<br />
Wenn CR laut Voreinstellung als CR + LF interpretiert wird, wird nach Ausführung<br />
des Wagenrücklaufs ein Zeilenvorschub ergänzt.<br />
Beispiel:<br />
Es wird die Auswirkung des CR-Kommandos in Abhängigkeit von voreingestellten<br />
Druckerparametern demonstriert.<br />
BEGINN<br />
DRUCKE("Testzeile",Zeichen(13))<br />
DRUCKE("Testzeile",Zeichen(13))<br />
DRUCKE("Testzeile",Zeichen(13))<br />
ENDE<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 51
Spezielle Zeichencodes<br />
Standardkommandos<br />
Ergebnis:<br />
– CR ohne Zeilenvorschub<br />
– CR mit Zeilenvorschub<br />
52 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Spezielle Zeichencodes<br />
Rückschritt um ein Zeichen<br />
BS<br />
8<br />
08<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Nach jedem BS-Zeichen (Backspace) wird die aktuelle horizontale Druckposition<br />
logisch um ein Zeichen nach links bewegt. Dadurch können Zeichen<br />
übereinander gedruckt werden.<br />
Wird dieses Kommando unmittelbar im Anschluss an einen Grafikdruck empfangen,<br />
geht der Druckkopf an die Position zurück, an der er sich vor Beginn des<br />
Grafikdruckes befunden hat.<br />
In folgenden Fällen wird das BS-Kommando ignoriert:<br />
– Der Druckkopf befindet sich am linken Rand.<br />
– Das vorhergehende Zeichen ist ein HT-Zeichen (Horizontal-Tabulator als<br />
Spaltengrenze).<br />
– Vorher wurde ein Kommando für eine absolute oder relative Punktpositionierung<br />
des Druckkopfes empfangen (ESC $ (n1) (n2) bzw.<br />
ESC \ (n1) (n2)).<br />
– Durch ESC a (n) ist eine andere Textausrichtung als linksbündig (also zentriert,<br />
rechtsbündig oder Blocksatz) gewählt worden.<br />
Beispiel:<br />
Durch BS sollen die mathematischen Zeichen für ’entspricht’ und ’ungleich’ erzeugt<br />
werden.<br />
BEGINN<br />
DRUCKEZV("Entspricht: ","=",Zeichen(8),"^")<br />
DRUCKEZV("Ungleich : ","=",Zeichen(8),"/")<br />
ENDE<br />
Ergebnis:<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 53
Spezielle Zeichencodes<br />
Standardkommandos<br />
Zeichen löschen<br />
DEL<br />
127<br />
7F<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
DEL (Delete) löscht das vorherige Textzeichen im Puffer, sofern es noch nicht<br />
ausgedruckt worden ist. Die Steuercodes bleiben unverändert.<br />
Zeile löschen<br />
CAN<br />
24<br />
18<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
CAN (Cancel) löscht den gesamten, diesem Code voranstehenden Text einer<br />
Druckzeile im Druckpuffer, nicht aber die Steuercodes.<br />
54 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Zeilenvorschubkommandos<br />
Zeilenvorschubkommandos<br />
Die standardmäßige Zeilendichte beträgt sechs Zeilen pro Zoll, d. h., der Zeilenabstand<br />
beträgt 1/6 Zoll.<br />
Der Zeilenabstand kann durch folgende Kommandos verändert werden, wobei<br />
die kleinste Einheit 1/180 Zoll für den Zeilenabstand beträgt. Abhängig von dem<br />
eingestellten Zeilenabstand wird ein entsprechender Zeilenvorschub ausgeführt.<br />
Kommando<br />
Funktion<br />
LF Zeilenvorschub ☺<br />
ESC J (n) n/180"-Zeilenvorschub ausführen ☺<br />
ESC 0 1/8"-Zeilenabstand wählen ☺<br />
ESC 2 1/6"-Zeilenabstand wählen ☺<br />
ESC 3 (n) n/180"-Zeilenabstand wählen ☺<br />
ESC A (n) n/60"-Zeilenabstand wählen ☺<br />
ESC + (n) n/360"-Zeilenabstand wählen<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 55
Zeilenvorschubkommandos<br />
Standardkommandos<br />
Zeilenvorschub<br />
LF<br />
10<br />
0A<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Bei Empfang des Kommandos LF (Line Feed) werden die im Druckpuffer befindlichen<br />
Daten ausgedruckt, und die aktuelle vertikale Druckposition wird entsprechend<br />
dem aktuellen Zeilenabstand eine Zeile weitertransportiert.<br />
i<br />
– Wird nach LF die logische Blattunterkante (abhängig vom eingelegten<br />
Formularformat) überschritten, so wird der Beleg ausgeworfen.<br />
– Wird ein mit ESC N (n) eingestellter unterer Rand überschritten, so<br />
wird der Beleg ebenfalls ausgeworfen.<br />
– Die Horizontalposition wird auf den linken Rand zurückgestellt<br />
(CR).<br />
56 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Zeilenvorschubkommandos<br />
n/180 Zoll Zeilenvorschub ausführen<br />
ESC<br />
27<br />
1B<br />
J<br />
74<br />
4A<br />
(n)<br />
n<br />
n<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
ESC J (n) setzt die logische vertikale Position um n/180 Zoll weiter. Für n muss<br />
ein Wert zwischen 0 und 255 angegeben werden. Dieser Befehl bewirkt zwar einen<br />
sofortigen Zeilenvorschub, veranlasst aber keinen Wagenrücklauf (kein CR<br />
mit Positionierung des Druckkopfes auf den Zeilenanfang).<br />
ESC J (n) hat keinen Einfluss auf den aktuell gültigen Zeilenabstand, der zum<br />
Beispiel durch LF (Line Feed) zur Wirkung kommt.<br />
Beispiel:<br />
Es wird der Unterschied zwischen einem normalen Zeilenvorschub und einem<br />
n/180 Zoll"-Vorschub demonstriert.<br />
BEGINN<br />
DRUCKEZV("Dies ist die erste Zeile")<br />
DRUCKE("Zweite Zeile")<br />
DRUCKE(Zeichen(27),"J",Zeichen(5))<br />
DRUCKEZV(" mit Rest um 5/180 Zoll verschoben")<br />
DRUCKEZV("Jetzt geht es normal weiter")<br />
ENDE<br />
Ergebnis:<br />
Zeilenvorschubkommandos<br />
Standardkommandos<br />
1/8 Zoll Zeilenabstand wählen<br />
ESC<br />
27<br />
1B<br />
0<br />
48<br />
30<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
ESC 0 legt für nachfolgende Zeilenvorschubbefehle (LF) den Zeilenabstand auf<br />
1/8 Zoll fest. Bei der 0 handelt es sich um das ASCII-Zeichen für die Ziffer Null,<br />
nicht um den ASCII-Code 0 (Zeichen NUL).<br />
i<br />
Der über ESC 0 eingestellte Zeilenabstand wird aufgehoben, wenn<br />
– Der Drucker neu initialisiert wird (ESC @).<br />
– ein anderer Zeichenabstand per ESC 2, ESC 3 (n) oder ESCA(n)<br />
eingestellt wird.<br />
Beispiel:<br />
Es wird der Unterschied zwischen dem Standardzeilenvorschub (1/6 Zoll) und<br />
dem 1/8“-Zeilenabstand demonstriert. Der Druck beginnt mit dem Standardzeilenvorschub.<br />
BEGINN<br />
DRUCKEZV("Dies ist die erste Druckzeile")<br />
DRUCKEZV("Dies ist die zweite Druckzeile")<br />
DRUCKEZV()<br />
DRUCKE(Zeichen(27),"0")<br />
DRUCKEZV("Dies ist die erste Druckzeile")<br />
DRUCKEZV("Dies ist die zweite Druckzeile")<br />
ENDE<br />
Standardkommandos<br />
Zeilenvorschubkommandos<br />
1/6 Zoll Zeilenabstand wählen<br />
ESC<br />
27<br />
1B<br />
2<br />
50<br />
32<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
ESC 2 setzt für nachfolgende Zeilenvorschubbefehle den Zeilenabstand auf 1/6<br />
Zoll fest. Dieser Wert ist der beim Einschalten des Druckers wirksame Vorgabewert.<br />
Bei der 2 handelt es sich um das ASCII-Zeichen für die Ziffer Zwei, nicht um den<br />
ASCII-Code 2.<br />
Beispiel:<br />
siehe ESC 0.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 59
Zeilenvorschubkommandos<br />
Standardkommandos<br />
n/180 Zoll Zeilenabstand wählen<br />
ESC<br />
27<br />
1B<br />
3<br />
51<br />
33<br />
(n)<br />
n<br />
n<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
ESC 3 (n) setzt für nachfolgende Zeilenvorschubbefehle den Zeilenabstand auf<br />
n/180 Zoll. Für n muss ein Wert zwischen 0 und 255 einschließlich angegeben<br />
werden.<br />
Bei der 3 handelt es sich um das ASCII-Zeichen für die Ziffer Drei, nicht um den<br />
ASCII-Code 3.<br />
Beispiel:<br />
Für n = 1 bis 20 wird die Druckausgabe bei einer Maßeinheit von n/180 Zoll Zeilenabstand<br />
demonstriert.<br />
BEGINN<br />
SETZE N = 0<br />
WIEDERHOLE<br />
SETZE N = N + 1<br />
DRUCKE(Zeichen(27),"3",Zeichen(N))<br />
DRUCKEZV(N,"/180 Zoll Zeilenabstand")<br />
BIS N = 20<br />
ENDE<br />
Ergebnis:<br />
60 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Zeilenvorschubkommandos<br />
n/60 Zoll Zeilenabstand wählen<br />
ESC<br />
27<br />
1B<br />
A<br />
65<br />
41<br />
(n)<br />
n<br />
n<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
ESCA(n) setzt für folgende Zeilenvorschubbefehle den Zeilenabstand auf n/60<br />
Zoll. Für n muss ein Wert zwischen 0 und 127 einschließlich angegeben werden<br />
(0 = kein Vorschub).<br />
Beispiel:<br />
Anhand von vier n-Werten (0, 3, 5, 18) wird die Druckausgabe bei einer Maßeinheit<br />
von n/60 Zoll Zeilenvorschub demonstriert. Für jedes n werden 6 Zeilen gedruckt.<br />
BEGINN<br />
SETZE Schleife = 0<br />
WIEDERHOLE<br />
SETZE Schleife = Schleife + 1<br />
SETZE N = 0<br />
N = 3<br />
N = 5<br />
N = 18<br />
ABHAENGIG VON Schleife<br />
DRUCKE(Zeichen(27),"A",Zeichen(N))
Zeilenvorschubkommandos<br />
Standardkommandos<br />
Ergebnis:<br />
62 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Zeilenvorschubkommandos<br />
n/360 Zoll Zeilenabstand wählen<br />
ESC<br />
27<br />
1B<br />
+<br />
43<br />
2B<br />
(n)<br />
n<br />
n<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
ESC + (n) setzt für nachfolgende Zeilenvorschubbefehle (LF) den Zeilenabstand<br />
auf n/360 Zoll. Für n muss ein Wert zwischen 0 und 255 einschließlich angegeben<br />
werden.<br />
i<br />
Da der Buch- und Belegdrucker nur Zeilenvorschübe im Raster von minimal<br />
1/180 Zoll ausführen kann, führt ein ungerader Wert für n<br />
(1, 3, 5, ...) zu einem Rundungsfehler von 1/360 Zoll.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 63
Blattauswurfkommando<br />
Standardkommandos<br />
Blattauswurfkommando<br />
Mit folgendem Kommando kann der Beleg ausgeworfen werden:<br />
Kommando<br />
FF<br />
Funktion<br />
Blattauswurf<br />
Blattauswurf<br />
FF<br />
12<br />
0C<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Nach FF werden alle noch im Druckpuffer befindlichen Daten gedruckt und anschließend<br />
der aktuelle Beleg ausgeworfen.<br />
Nach dem Auswurf ist die aktuelle logische Position der Druckzeile (Abstand<br />
Blattoberkante zur Grundlinie der Druckzeile) identisch mit der über das Bedienfeld<br />
eingestellten Einzugsposition (Wert zwischen 10/60 Zoll und 80/60 Zoll),<br />
falls Druckdaten ohne vorherigen Einzugsbefehl übergeben werden. Ein Beleg<br />
wird aber erst dann angefordert, wenn auch Druckaufträge vorliegen!<br />
Die Einzugsposition kann im Menü des Buch- und Belegdruckers durch Auswahl<br />
des Menüpunktes TOF-POS eingestellt werden (siehe Bedienungsanleitung).<br />
Der Default-Wert beträgt 3/6 Zoll.<br />
i<br />
Folgt nach einem FF sofort ein weiteres FF bzw. sofort eine Folge von<br />
FF’s, so werden diese nicht ausgeführt.<br />
64 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Vertikale Druckersteuerung<br />
Vertikale Druckersteuerung<br />
In diesem Abschnitt werden die Kommandos für die Einstellung von Beleglängen<br />
und vertikal angeordneten Belegpositionen beschrieben (vertikale Tabulatoren).<br />
Dadurch sind ein automatischer Belegauswurf und Vorschübe auf<br />
bestimmte Zeilen ohne entsprechenden Leerzeilendruck möglich.<br />
Die Daten von vertikalen Tabulatoren werden Kanälen zugeordnet, die von 0 bis<br />
7 durchnummeriert sind.<br />
Kommando<br />
ESC N (n)<br />
ESC O<br />
ESC B ... NUL<br />
ESC b (c) ... NUL<br />
ESC / (c)<br />
VT<br />
ESC EM n<br />
ESC C (n)<br />
ESC C NUL (n)<br />
Funktion<br />
Unteren Rand setzen<br />
Unteren Rand löschen<br />
Vertikal-Tabulatoren festlegen/löschen<br />
Vertikal-Tabulatoren in Kanälen festlegen/löschen<br />
Kanal für Vertikal-Tabulatoren auswählen<br />
Tabulieren vertikal<br />
Papiersteuerung<br />
Beleglänge in Zeilen festlegen<br />
Beleglänge in Zoll festlegen<br />
i<br />
Mit ESC C (n) bzw. ESCCNUL(n) wird die Beleglänge abhängig von<br />
der zu bearbeitenden Beleggröße eingestellt.<br />
Auf Basis der so eingestellten Beleglänge kann dann der untere Rand<br />
(siehe ESC N (n)) gesetzt und dadurch der tatsächlich zu bedruckende<br />
Bereich auf einem Beleg festgelegt werden.<br />
i<br />
Es ist zwischen den vertikalen Bezugskanten ’obere Belegkante’ und<br />
’untere Belegkante’ zu unterscheiden. Im Kapitel „Zusatzkommandos“<br />
werden die vertikalen Bezugskanten definiert.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 65
Vertikale Druckersteuerung<br />
Standardkommandos<br />
Das Setzen von vertikalen Tabulatoren ist auf zwei Arten möglich:<br />
– bis zu 16 feste Tabulatoren (ESC B)<br />
– bis zu 8 Tabulatorgruppen (Kanäle 0 bis 7) mit jeweils bis zu 16 Tabulatoren<br />
(ESC b). In diesem Fall kann abhängig von der Anwendung vor dem Druck<br />
eines Beleges auf eine bestimmte Tabulatorgruppe umgeschaltet (ESC /)<br />
und dadurch der Aufbau von unterschiedlichen Belegtypen flexibel gesteuert<br />
werden.<br />
Sollen bereits gesetzte Tabulatoren neu bestimmt werden, müssen vorher die<br />
alten Tabulatorwerte für den entsprechenden Kanal gelöscht werden. Beim Setzen<br />
von vertikalen Tabulatoren wird die entsprechende absolute Zeilenposition<br />
auf Basis das aktuell eingestellten Zeilenabstandes berechnet. Auch wenn zwischendurch<br />
der Zeilenabstand geändert wird, bleibt die Zeilenposition eines Tabulators<br />
unverändert. Gegebenenfalls müssen dann beim Wechsel des<br />
Zeilenabstandes die alten Tabulatorwerte gelöscht und neu gesetzt werden.<br />
Sind keine Vertikal-Tabulatoren definiert, so wird ein Tabulationsbefehl in vertikaler<br />
Richtung als Zeilenvorschub ausgeführt.<br />
Unteren Rand festlegen<br />
ESC<br />
27<br />
1B<br />
N<br />
78<br />
4E<br />
(n)<br />
n<br />
n<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
ESC N (n) setzt einen unteren Rand von n Zeilen im aktuell gültigen Zeilenabstand.<br />
Ausgegangen wird dabei von der Standard-Beleglänge (Druckervoreinstellung)<br />
oder von der durch ESC C (Beleglänge in Zeilen) bzw. durch<br />
ESC C NUL (Beleglänge in Zoll) eingestellten Beleglänge.<br />
Für n kann ein Wert zwischen 0 und 127 gewählt werden. Der daraus resultierende<br />
Rand muss kleiner als die Beleglänge sein.<br />
66 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Vertikale Druckersteuerung<br />
Bei Erreichen des unteren Randes wird automatisch ein Blattauswurf ausgeführt.<br />
i<br />
– Nachfolgende Änderungen des Zeilenabstandes haben keinen Einfluss<br />
auf den eingestellten Randbereich. Ggf. muss nach einem<br />
Wechsel des Zeilenabstandes die untere Randeinstellung gelöscht<br />
(ESC O) und dann durch ESC N neu festgelegt werden.<br />
– Ein eingestellter unterer Rand wird automatisch aufgehoben, wenn die<br />
Beleglänge durch ESC C bzw. ESC C NUL geändert wird.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 67
Vertikale Druckersteuerung<br />
Standardkommandos<br />
Unteren Rand löschen<br />
ESC<br />
27<br />
1B<br />
O<br />
79<br />
4F<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Durch ESC O wird ein durch ESC N oder durch Druckereinstellung festgelegter<br />
unterer Rand gelöscht.<br />
Vertikaltabulatoren festlegen/löschen (Kanal 0)<br />
ESC<br />
27<br />
1B<br />
B<br />
66<br />
42<br />
(n1)<br />
n1<br />
n1<br />
(n2)<br />
n2<br />
n2<br />
...<br />
...<br />
...<br />
NUL<br />
0<br />
00<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
– Tabulatoren setzen<br />
Mit ESC B ... NUL können bis zu 16 vertikale Tabulatoren im jeweils wirksamen<br />
Zeilenabstand festgelegt werden, ohne dass sich nachfolgende Änderungen<br />
des Zeilenabstandes darauf auswirken.<br />
Die Tabulatorwerte werden als n1, n2 (Anzahl Zeilen) usw. zwischen 1...255<br />
einschließlich in aufsteigender Reihenfolge eingegeben. Das Zeichen NUL<br />
markiert das Ende des Befehls.<br />
– Tabulatoren löschen<br />
Durch ESC B NUL werden gesetzte Tabulatoren gelöscht (NUL-Zeichen direkt<br />
hinter ESC B).<br />
i<br />
– Durch ESC B ... NUL werden die Tabulatoren in Kanal 0 gesetzt.<br />
– Soll mehr als ein Tabulatorsatz definiert werden, muss dies über<br />
ESC b (klein b) erfolgen.<br />
– Ein vertikaler Tabulatorsprung erfolgt über das Kommando VT (für<br />
ASCII dezimal 11, Hex. 0Bh).<br />
68 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Vertikale Druckersteuerung<br />
Vertikaltabulatoren für beliebigen Kanal setzen/löschen<br />
ESC<br />
27<br />
1B<br />
b<br />
98<br />
62<br />
(c)<br />
c<br />
c<br />
(n1)<br />
n1<br />
n1<br />
...<br />
...<br />
...<br />
NUL<br />
0<br />
00<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
– Tabulatoren setzen<br />
ESC b (c) ... NUL Befehl hat im Prinzip die gleiche Funktion wie<br />
ESC B ... NUL. Durch die Variable c (Zahl zwischen 0 und 7) kann hier zusätzlich<br />
ein Kanal für die Vertikaltabulatoren gewählt werden. Dadurch ist es<br />
möglich, acht verschiedene Tabulatorgruppen mit jeweils bis zu 16 Vertikal-<br />
Tabulatoren zu definieren.<br />
Der Wechsel zwischen den Kanälen erfolgt über den Befehl ESC / (c) , wobei<br />
c die entsprechende Kanalnummer kennzeichnet.<br />
– Tabulatoren für einen Kanal löschen<br />
Durch ESC b (c) NUL werden gesetzte Tabulatoren im Kanal c (0 bis 7)<br />
gelöscht (NUL-Zeichen direkt hinter ESC b (c)).<br />
i<br />
– Wurden durch ESC B ... NUL Vertikal-Tabulatoren gesetzt, so ist<br />
Kanal 0 belegt.<br />
– Bevor Tabulatorwerte für einen Kanal geändert werden können,<br />
müssen diese Werte in dem entsprechenden Kanal vorher gelöscht<br />
werden (z. B. ’Tabulatoren im Kanal 0 löschen’ durch<br />
ESC b 0 NUL oder ESC B NUL).<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 69
Vertikale Druckersteuerung<br />
Standardkommandos<br />
Vertikaltabulator-Kanal auswählen<br />
ESC<br />
27<br />
1B<br />
/<br />
47<br />
2F<br />
(c)<br />
c<br />
c<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Durch ESC / (c) kann ein Vertikaltabulator-Kanal c ausgewählt werden. Für c<br />
sind die Werte 0 bis 7 (= Kanal 0 bis Kanal 7) zugelassen.<br />
Für alle nachfolgend eingegebenen VT-Kommandos (Vertikal-Tabulation) wird<br />
dann der Papiervorschub nach den im aktuellen Kanal gültigen Tabulatoren gesteuert.<br />
Vertikal-Tabulation<br />
VT<br />
11<br />
0B<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Nach VT werden alle im Puffer befindlichen Daten gedruckt und das<br />
Papier zum nächsten Tabulator in dem aktuellen Kanal transportiert.<br />
i<br />
– Ein Kanal kann durch ESC / (Kanalnummer) ausgewählt werden.<br />
– Ist kein Kanal gewählt worden, so werden die Vertikal-Tabulatoren<br />
in Kanal 0 angenommen.<br />
– Sind keine Vertikal-Tabulatoren im Standard-Kanal 0 oder in einem<br />
gewählten Kanal 1 bis 7 gesetzt, wird das Papier nach VT nur um<br />
eine Zeile weitertransportiert (Zeilenvorschub = Line-Feed).<br />
70 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Vertikale Druckersteuerung<br />
Papiersteuerung<br />
ESC<br />
27<br />
1B<br />
EM<br />
25<br />
19<br />
n<br />
n<br />
n<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Parameter:<br />
n=0 Deaktivierung des Modus<br />
n=1 Auswahl des Feeder Fachs 1<br />
n=2 Auswahl des Feeder Fachs 1<br />
n=4 Auswahl des Feeder Fachs 1<br />
n=R Auswurf<br />
i<br />
Dieser Befehl darf nur bei installierter Einzelblattzuführung verwendet<br />
werden. Bei aktiviertem Feeder wird ein Beleg automatisch bei Eingabe<br />
von Druck-oder Vorschubbefehlen aus dem Papiervorrat zugeführt,<br />
wenn zu diesem Zeitpunkt noch kein Beleg durch den Bediener vorgelegt<br />
wurde.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 71
Vertikale Druckersteuerung<br />
Standardkommandos<br />
Beleglänge auf n Zeilen festlegen<br />
ESC<br />
27<br />
1B<br />
C<br />
67<br />
43<br />
(n)<br />
n<br />
n<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
ESC C (n) setzt die Beleglänge auf n Zeilen im gewählten Zeilenabstand. Für n<br />
muss ein Wert zwischen 1 und 127 angegeben werden. Die tatsächliche physikalische<br />
Beleglänge wird dann durch den jeweils aktuellen Zeilenabstand bestimmt.<br />
Es sollte beachtet werden, dass die jeweilige Beleglänge (n Zeilen * Zeilenabstand)<br />
die Länge des Beleges nicht überschreitet.<br />
Als Beleganfangsposition wird die aktuelle Zeile festgelegt, in der sich der<br />
Druckkopf beim Empfang des Kommandos befindet. Ein durch ESC N (n) festgelegter<br />
unterer Rand wird gelöscht (siehe dazu entsprechende Kommando-Beschreibung<br />
im Abschnitt „Vertikale Drucksteuerung“).<br />
i<br />
Wenn über den Papierrand (zum Beispiel bei einer Beleglänge von 12<br />
Zoll) hinaus positioniert wird, erfolgt eine Fehlermeldung des Druckers<br />
(PAPIER LÄNGE). Ist durch ESC N (n) auf dem Papier logisch ein unterer<br />
Rand gesetzt (zum Beispiel bei 9 Zoll) und wird dieser Rand überschritten,<br />
so wird ein Belegauswurf (FF) ausgeführt.<br />
72 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Vertikale Druckersteuerung<br />
Beleglänge auf n Zoll festlegen<br />
ESC<br />
27<br />
1B<br />
C<br />
67<br />
43<br />
NUL<br />
0<br />
00<br />
(n)<br />
n<br />
n<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
ESC C NUL (n) setzt die Beleglänge auf n Zoll (absolute Beleglänge unabhängig<br />
vom Zeilenabstand). Der Wert n muss zwischen 1 (Zoll) und 50 (Zoll) einschließlich<br />
liegen.<br />
Der Wert n (Zoll) muss so gewählt werden, dass die Länge des Papierformates<br />
nicht überschritten wird. Wird das Format durch ein entsprechendes n überschrieben,<br />
stellt der Drucker automatisch die maximal zulässige Formathöhe als<br />
aktuelle Beleglänge ein.<br />
Als Beleganfangsposition wird die aktuelle Zeile festgelegt, in der sich der<br />
Druckkopf beim Empfang des Kommandos befindet. Der ggf. durch ESC N (n)<br />
festgelegte untere Rand wird durch ESC C NUL (n) gelöscht.<br />
i<br />
Wenn über den Papierrand (zum Beispiel bei einer Beleglänge von 12<br />
Zoll) hinaus positioniert wird, erfolgt eine Fehlermeldung des Druckers<br />
(PAPIER LÄNGE). Ist durch ESC N (n) auf dem Papier logisch ein unterer<br />
Rand gesetzt (zum Beispiel bei 9 Zoll) und wird dieser Rand überschritten,<br />
so wird ein Belegauswurf (FF) ausgeführt.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 73
Horizontale Druckersteuerung<br />
Standardkommandos<br />
Horizontale Druckersteuerung<br />
In diesem Abschnitt werden die Kommandos für die Einstellung von horizontal<br />
angeordneten Belegpositionen beschrieben (linker bzw. rechter Rand und horizontale<br />
Tabulatoren). Dadurch sind folgende Funktionen möglich:<br />
– Automatisches Zeilenende, das heißt automatischer Wagenrücklauf mit Zeilenvorschub<br />
bei Erreichen einer bestimmten Spaltenposition<br />
– Vorschübe auf bestimmte Spaltenpositionen ohne entsprechenden Leerzeichendruck<br />
– Vorschübe auf beliebige (Punkt-)Positionen einer Zeile.<br />
Kommando<br />
Funktion<br />
ESC l (n) Linken Rand festlegen ☺<br />
ESC Q (n) Rechten Rand festlegen ☺<br />
ESC a (n)<br />
Textausrichtung festlegen<br />
ESC D (n1) (n2) ... NUL Horizontaltabulatoren festlegen/löschen<br />
HT<br />
Tabulieren (horizontal)<br />
ESC $ (n1) (n2) Horizontale Positionierung (absolut) ☺<br />
ESC \ (n1) (n2) Horizontale Positionierung (relativ) ☺<br />
ESC SP (n) Zeichenzwischenraum festlegen ☺<br />
Es muss bei der horizontalen Positionierung des Druckkopfes zwischen der horizontalen<br />
Bezugskante links und der horizontalen Bezugskante rechts unterschieden<br />
werden. Zum Beispiel kann bei einer horizontalen Bezugskante links<br />
die Druckposition 0 gleich der linken Belegkante oder nach ESC l (n) die Druckposition<br />
0 um den Wert n nach rechts verschoben sein. Im Kapitel „Zusatzkommandos“<br />
werden die Abhängigkeiten bei der horizontalen Druckpositionierung<br />
genauer beschrieben.<br />
Beim Setzen des linken und rechten Randes bzw. der horizontalen Tabulatoren<br />
wird die entsprechende absolute Spaltenposition auf Basis der aktuell eingestellten<br />
Zeichengröße (10, 12, 15 cpi, Breit- oder Schmaldruck) berechnet. Auch<br />
wenn zwischendurch die Zeichengröße geändert wird, bleibt die absolute Spaltenposition<br />
unverändert. Ggf. müssen beim Wechsel der Zeichengröße die alten<br />
Rand- bzw. Tabulatorwerte gelöscht und neu gesetzt werden.<br />
Die Zeilenlänge ergibt sich aus dem Abstand zwischen linkem (ESC l) und rech-<br />
74 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Horizontale Druckersteuerung<br />
tem (ESC Q) Rand. Die Ausrichtung des Textes kann linksbündig, rechtsbündig,<br />
zentriert oder im Blocksatz gewählt werden (ESC a).<br />
Der Vorschub auf eine bestimmte Position in einer Zeile wird in Punkten angegeben<br />
und entweder ausgehend vom linken Rand (ESC $, 1 Punkt = 1/60<br />
Zoll) oder ausgehend von der aktuellen Druckposition (ESC \ , 1 Punkt = 1/180<br />
Zoll bzw. 1/120 Zoll) berechnet.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 75
Horizontale Druckersteuerung<br />
Standardkommandos<br />
Linken Rand festlegen<br />
ESC<br />
27<br />
1B<br />
I<br />
108<br />
6C<br />
(n)<br />
n<br />
n<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Durch ESC l (n) kann die horizontale ’Druckposition 0’ beeinflusst, das heißt ein<br />
linker Rand festgelegt werden. Der linke Rand (absoluter Abstand von der linken<br />
Formularkante) wird durch den Wert n und der aktuell gültigen Zeichenbreite bestimmt.<br />
Für n kann ein Wert von 0 bis 160 gewählt werden. Der daraus resultierende<br />
Rand darf nicht größer als 8 Zoll sein, sonst wird das Kommando ignoriert.<br />
n = 0: Druckposition 0 = linke Belegkante<br />
n > 0: Druckposition 0 = linke Belegkante + n<br />
76 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Horizontale Druckersteuerung<br />
i<br />
– Die absolute Randposition ist abhängig von der eingestellten Zeichengröße<br />
(10, 12, oder 15 cpi) und dem Druckmodus (schmal,<br />
breit, normal). Bei Proportionalschrift wird der linke Rand gemäß<br />
der Zeichengröße von 10 cpi festgelegt. Nachfolgende Änderungen<br />
der Zeichengröße haben keinen Einfluss auf den eingestellten<br />
Rand.<br />
– Der Abstand zwischen dem linken und rechten Rand muss mindestens<br />
zwei Pica-Zeichen (10 cpi) betragen.<br />
– ESC l (n) sollte zu Beginn einer Zeile eingegeben werden, da<br />
ESC l (n) alle in der gleichen Druckzeile vorher eingegeben Zeichen<br />
und Tabulatoren löscht.<br />
Beispiel:<br />
Zuerst wird mit ESC l (n) der linke Rand für mehrere Werte von n gesetzt. Anschließend<br />
wird die Auswirkung der aktuellen Zeichengröße auf den linken Rand<br />
demonstriert.<br />
BEGINN<br />
SETZE N = 6<br />
WIEDERHOLE<br />
SETZE N = N + 1<br />
DRUCKE(Zeichen(27),"l",Zeichen(N))
Horizontale Druckersteuerung<br />
Standardkommandos<br />
Ergebnis (verkleinert):<br />
Ergebnis (Originalgröße):<br />
78 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Horizontale Druckersteuerung<br />
Rechten Rand festlegen<br />
ESC<br />
27<br />
1B<br />
Q<br />
81<br />
51<br />
(n)<br />
n<br />
n<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Durch ESC Q (n) kann die letzte horizontale Druckposition beeinflusst, das<br />
heißt ein rechter Rand festgelegt werden. Der rechte Rand wird durch den Wert<br />
n und die gültige Zeichenbreite bestimmt. Für n kann ein Wert von 0 bis 255 gewählt<br />
werden.<br />
Die n. Spalte wird dann nicht mehr bedruckt.<br />
Überschreitet eine Textzeile den rechten Rand, wird automatisch ein Wagenrücklauf<br />
mit Zeilenvorschub ausgeführt (auch innerhalb eines Wortes). Es werden<br />
also so viele Zeichen in eine Zeile gedruckt, bis der Platz zwischen rechtem<br />
und linkem Rand verbraucht ist. Dann wird der Druck in einer neuen Druckzeile<br />
fortgesetzt.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 79
Horizontale Druckersteuerung<br />
Standardkommandos<br />
i<br />
– Die absolute Randposition ist abhängig von der eingestellten Zeichengröße<br />
(10, 12, oder 15 cpi) und dem Druckmodus (schmal,<br />
breit, normal). Bei Proportionalschrift wird der rechte Rand gemäß<br />
der Zeichengröße von 10 cpi festgelegt. Nachfolgende Änderungen<br />
der Zeichengröße haben keinen Einfluss auf den eingestellten<br />
Rand.<br />
– Der Abstand zwischen dem linken und rechten Rand muss mindestens<br />
2/10" (zwei Zeichen mit 10 cpi) betragen.<br />
– ESC Q (n) sollte zu Beginn einer Druckzeile eingegeben werden,<br />
da ESC Q (n) alle in derselben Druckzeile vorher eingegebenen<br />
Zeichen und Tabulatoren löscht.<br />
Beispiel:<br />
Es wird demonstriert, welche Auswirkung ein rechter Rand auf Wagenrücklauf<br />
und Zeilenvorschub hat. (Zum Einfluss der aktuellen Zeichengröße auf den<br />
rechten Rand vgl. Steuerkommando ’Linken Rand festlegen’.)<br />
BEGINN<br />
SETZE N = 30<br />
WIEDERHOLE<br />
SETZE N = N + 4<br />
DRUCKE(Zeichen(27),"Q",Zeichen(N))
Standardkommandos<br />
Horizontale Druckersteuerung<br />
Textausrichtung festlegen<br />
ESC<br />
27<br />
1B<br />
a<br />
97<br />
61<br />
(n)<br />
n<br />
n<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
ESC a (n) legt abhängig von n (0 ... 3) folgende Ausrichtungsarten eines Textes<br />
fest:<br />
– linksbündig: n = 0 (Standardwert)<br />
– zentriert: n = 1<br />
– rechtsbündig: n = 2<br />
– Blocksatz : n = 3<br />
Die Ausrichtung erfolgt nach Ausgabe folgender Steuerkommandos:<br />
– CR (Wagenrücklauf, wird implizit z. B. durch den Druckbefehl DRUCKEZV<br />
ausgegeben)<br />
– LF (Zeilenvorschub, wird implizit z. B. durch den Druckbefehl DRUCKEZV<br />
ausgegeben)<br />
– VT (Tabulieren vertikal)<br />
– FF (Belegauswurf)<br />
– Nach einem Zusatzkommando (ESC [ ...)<br />
Im Blocksatz wird der Text links- und rechtsbündig ausgerichtet. Dabei werden<br />
ggf. der Wortzwischenraum und der Zeichenzwischenraum vergrößert. Die Aufteilung<br />
eines Textes in Druckzeilen erfolgt automatisch. Deshalb dürfen LF-bzw.<br />
CR-Kommandos innerhalb des Blocksatz-Textes nur benutzt werden, um einen<br />
Textabsatz zu setzen.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 81
Horizontale Druckersteuerung<br />
Standardkommandos<br />
i<br />
– Nach Einschalten bzw. Initialisieren des Druckers (ESC @) erfolgt<br />
die Textausrichtung linksbündig (n = 0).<br />
– In den meisten Programmiersprachen gibt es Druckbefehle, die<br />
nach Ausgabe des Drucktextes automatisch das CR- bzw. LF-<br />
Kommando ausgeben (z. B. DRUCKEZV).<br />
– Die Steuerkommandos HT (Tabulieren horizontal) und BS (Rückschritt)<br />
sind bei zentrierter und rechtsbündiger Textausrichtung<br />
bzw. im Blocksatz wirkungslos.<br />
– ESC a (n) sollte zu Beginn einer Druckzeile eingegeben werden,<br />
da ESC a (n) alle in derselben Druckzeile vorher eingegebenen<br />
Zeichen löscht.<br />
82 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Horizontale Druckersteuerung<br />
Horizontal-Tabulatoren festlegen / löschen<br />
ESC<br />
27<br />
1B<br />
D<br />
68<br />
44<br />
(n1)<br />
n1<br />
n1<br />
(n2)<br />
n2<br />
n2<br />
...<br />
...<br />
...<br />
NUL<br />
0<br />
00<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
– Tabulatoren setzen<br />
Mit ESC D ... NUL können bis zu 32 Spaltenpositionen in der jeweils eingestellten<br />
Zeichenbreite als Horizontal-Tabulatoren festgelegt werden.<br />
Tabulatorwerte werden als n1, n2 usw. zwischen 1 und 137 einschließlich<br />
angegeben. Tabulatorpositionen, die den rechten Rand überschreiten, werden<br />
ignoriert. Das Zeichen NUL markiert das Ende des Befehls.<br />
– Durch ESC D NUL werden die gesetzten Tabulatoren gelöscht (NUL-Zeichen<br />
direkt hinter ESC D).<br />
i<br />
– Ein horizontaler Tabulatorsprung erfolgt über das Kommando HT<br />
(für ASCII 9-dezimal und Hex. 09).<br />
– Die absolute Tabulatorposition ist abhängig von der eingestellten<br />
Zeichengröße (10, 12, oder 15 cpi) und dem Druckmodus (schmal,<br />
breit, normal). Bei Proportionaldruck werden die Tabulatorpositionen<br />
gemäß der Zeichengröße 10 cpi gesetzt. Nachfolgende Änderungen<br />
der Zeichengröße wirken sich nicht auf die absoluten<br />
Tabulatorpositionen aus.<br />
– Bei Schmaldruck beträgt der Abstand der Tabulatoren 60% der<br />
Zeichenbreite, bei Breitdruck das Doppelte des normalen Zeichenabstandes.<br />
– Nach Einschalten des Druckers bzw. nach einer Initialisierung<br />
(ESC @) sind die Tabulatoren im Abstand von acht 10-cpi-Zeichen<br />
gesetzt.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 83
Horizontale Druckersteuerung<br />
Standardkommandos<br />
Tabulieren (horizontal)<br />
HT<br />
9<br />
09<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Mit HT wird der Druckkopf auf die nächste Tabulatorposition gesetzt.<br />
Nach Positionierung auf die letzte (rechte) Tabulatorposition bleibt das HT-Kommando<br />
unwirksam. Dies gilt insbesondere, wenn alle Tabulatorpositionen mit<br />
ESC D NUL gelöscht wurden.<br />
i<br />
– Nach Einschalten des Druckers bzw. nach einer Initialisierung<br />
(ESC @) sind die Tabulatoren im Abstand von acht Zeichen 10-cpi-<br />
Zeichen gesetzt.<br />
– Die Tabulatorpositionen werden mit dem Kommando ESC D gesetzt<br />
bzw. mit ESC D NUL gelöscht.<br />
– Bei zentrierter und rechtsbündiger Textausrichtung oder im Blocksatz<br />
(ESC a (n)) wird das HT-Kommando ignoriert.<br />
– Verschiedene Programme und Rechner wandeln das HT-Kommando<br />
in entsprechende Leerzeichen um, statt das Kommando direkt<br />
an den Buch- und Belegdrucker weiterzugeben.<br />
84 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Horizontale Druckersteuerung<br />
Horizontale Positionierung (absolut)<br />
ESC<br />
27<br />
1B<br />
$<br />
36<br />
24<br />
(n)<br />
n<br />
n<br />
(m)<br />
m<br />
m<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Durch ESC $ (n) (m) wird der Druckkopf horizontal auf eine Position bewegt, die<br />
sich unabhängig von der aktuellen Zeichengröße aus den Werten n und m relativ<br />
zum vorher gesetzten ’logischen linken’ Rand berechnet (linker Blattrand, der<br />
durch ESC l (n) gesetzt ist). Der Abstand des Druckkopfes vom linken Blattrand<br />
ergibt sich aus folgender Formel:<br />
(m ∗ 256 + n) / 60 Zoll<br />
Für n kann ein Wert zwischen 0 und 255 und für m ein Wert zwischen 0 und 3<br />
gewählt werden. (m ∗ 256 + n) darf maximal 816 ergeben.<br />
i<br />
ESC $ (n) (m) wird ignoriert, wenn die angegebene Position über den<br />
mit ESC Q (n) gesetzten rechten (logischen) Rand hinausgeht.<br />
Beispiel:<br />
Der Abstand des Textes vom linken Blattrand wird schrittweise vergrößert.<br />
BEGINN<br />
SETZE N = 60<br />
WIEDERHOLE<br />
SETZE N = N + 30<br />
DRUCKE(Zeichen(27),"$",Zeichen(N,0))<br />
DRUCKE("Abstand vom linken Blattrand ")<br />
DRUCKEZV(N/60," Zoll")<br />
BIS N = 180<br />
ENDE<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 85
Horizontale Druckersteuerung<br />
Standardkommandos<br />
Ergebnis (verkleinert):<br />
Ergebnis (Originalgröße):<br />
86 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Horizontale Druckersteuerung<br />
Horizontale Positionierung (relativ)<br />
ESC<br />
27<br />
1B<br />
\<br />
92<br />
5C<br />
(n)<br />
n<br />
n<br />
(m)<br />
m<br />
m<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Durch ESC \ (n) (m) wird der Druckkopf horizontal auf eine Position relativ zur<br />
aktuellen Druckposition verschoben. Die Position berechnet sich abhängig von<br />
der gewählten Druckqualität (Draft bzw. LQ) aus den Werten n1 und n2 nach folgenden<br />
Formeln:<br />
(m * 256 + n) / 120 Zoll (Draft)<br />
(m * 256 + n) / 180 Zoll (LQ)<br />
i<br />
ESC \ (n) (m) wird ignoriert, wenn die angegebene Position über den<br />
ESC Q (n) gesetzten rechten Rand hinausgeht.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 87
Horizontale Druckersteuerung<br />
Standardkommandos<br />
Beispiel:<br />
Zu Beginn sei die Druckqualität Draft eingestellt.<br />
BEGINN<br />
DRUCKE("Verschiebung")<br />
DRUCKE(Zeichen(27),"\",Zeichen(180,0))<br />
DRUCKEZV(" um 1.5 Zoll")<br />
DRUCKE(Zeichen(27),"x",Zeichen(1))<br />
DRUCKE("Verschiebung")<br />
DRUCKE(Zeichen(27),"\",Zeichen(180,0))<br />
DRUCKEZV(" um 1 Zoll")<br />
ENDE<br />
Standardkommandos<br />
Horizontale Druckersteuerung<br />
Zeichenzwischenraum festlegen<br />
ESC<br />
27<br />
1B<br />
SP<br />
32<br />
20<br />
(n)<br />
n<br />
n<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Mit ESC SP (n) kann der normale Abstand zwischen zwei Druckzeichen vergrößert<br />
werden. Der zusätzliche Zeichenabstand berechnet sich abhängig von<br />
der gewählten Druckqualität (Draft bzw. LQ) aus dem Wert von n nach folgenden<br />
Formeln:<br />
n/120 Zoll (Draft)<br />
n/180 Zoll (LQ)<br />
n kann Werte von 0 bis 127 annehmen.<br />
i<br />
Nach Einschalten bzw. Initialisieren des Druckers (ESC @) hat n den<br />
Wert 0.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 89
Horizontale Druckersteuerung<br />
Standardkommandos<br />
Beispiel:<br />
Der Zeichenzwischenraum wird schrittweise vergrößert.<br />
BEGINN<br />
SETZE N = 1<br />
WIEDERHOLE<br />
SETZE N = N + 2<br />
DRUCKE(Zeichen(27)," ",Zeichen(N))<br />
DRUCKEZV("Zwischenraum für n gleich ",N)<br />
BIS N = 9<br />
ENDE<br />
Ergebnis:<br />
90 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Druckqualität und Zeichengröße<br />
Druckqualität und Zeichengröße<br />
In diesem Kapitel werden die Kommandos für die Einstellung der Druckqualität<br />
und der Zeichengröße beschrieben.<br />
Kommando Funktion<br />
ESC x (n) Druckqualität wählen Draft/LQ ☺<br />
ESC k (n) LQ-Schriftart wählen ☺<br />
ESC p (n) Proportionaldruck EIN / AUS ☺<br />
ESC P 10 cpi Zeichengröße wählen ☺<br />
ESC M 12 cpi Zeichengröße wählen ☺<br />
ESC g 15 cpi Zeichengröße wählen (Mikrodruck) ☺<br />
i<br />
Hinweis zur Druckqualität:<br />
Je nach Anwendungsfall kann eine der beiden folgenden Druckqualitäts-Einstellungen<br />
gewählt werden:<br />
– Draft-Druckqualität<br />
Diese Druckqualität eignet sich insbesondere für den schnellen<br />
Entwurfsdruck. Die Zeichen werden mit einer (horizontalen) Auflösung<br />
von 60 Druckpunkten pro Zoll gedruckt.<br />
– LQ-Druckqualität (Letter Quality, Schönschrift)<br />
Die LQ- oder Schönschrift-Druckqualität eignet sich zum Druck der<br />
(korrigierten) Endfassung eines Dokumentes. Die Zeichen werden<br />
mit einer (horizontalen) Auflösung von 180 Druckpunkten pro Zoll<br />
gedruckt. Im Vergleich zur Draft-Druckqualität setzen sich die Zeichen<br />
somit aus mehr Druckpunkten zusammen. Hieraus resultiert<br />
einerseits ein schöneres Schriftbild, andererseits eine niedrigere<br />
Druckgeschwindigkeit gegenüber dem Draft-Druck.<br />
Zur optischen Gliederung eines Dokumentes stehen in LQ-Druckqualität<br />
standardmäßig die Schrifttypen ’Roman’ und ’Sans Serif’ zur Verfügung.<br />
Weitere Schrifttypen können benutzt werden, wenn der<br />
entsprechende Font geladen ist.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 91
Druckqualität und Zeichengröße<br />
Standardkommandos<br />
i<br />
Hinweis zur Zeichengröße:<br />
– Nach dem Einschalten bzw. Initialisieren des Druckers werden die<br />
Zeichen mit dem Vorgabewert aus dem Emulationsmenü gedruckt.<br />
Im Normaldruck haben alle Zeichen einer Zeichengröße den gleichen<br />
Abstand (z.B. 1/10 Zoll bei 10 cpi).<br />
Zeichenbreite und Zeichenhöhe der Schriftgrößen (Beispiel Zeichen ’H’)<br />
Schriftart<br />
10 cpi<br />
Breite/Höhe<br />
12 cpi<br />
Breite/Höhe<br />
15 cpi<br />
Breite/Höhe<br />
Proportional<br />
Breite/Höhe<br />
LQ-Sans Serif 2,0/2,6 mm 1,7/2,6 mm 1,4/1,9 mm 1,9/2,6 mm<br />
LQ-Roman 2,3/2,5 mm 2,0/2,5 mm 1,5/1,8 mm 2,1/2,5 mm<br />
DQ 1,8/2,5 mm 1,6/2,5 mm 1,4/1,9 mm<br />
Im Proportionaldruck wird die unterschiedliche Breite der einzelnen Zeichen berücksichtigt.<br />
Zum Beispiel ist das Zeichen ’i’ schmaler als das Zeichen ’w’, das<br />
heißt, die Druckbreite des Zeichens ’i’ ist im Proportionaldruck kleiner als die des<br />
Zeichens ’w’. Unregelmäßige Abstände zwischen den einzelnen Zeichen eines<br />
Wortes werden so aufgehoben. Die Zeichenbreite im Proportionaldruck variiert<br />
zwischen 1,0 und 2,6 mm. Die Größe der Zeichen ist 10 cpi. Die Druckqualität<br />
wird auf LQ umgeschaltet.<br />
92 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Druckqualität und Zeichengröße<br />
Umschalten Druckqualität (Draft/LQ)<br />
ESC<br />
27<br />
1B<br />
x<br />
120<br />
78<br />
(n)<br />
n<br />
n<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
– Umschalten auf Draft-Druckqualität<br />
ESC x (0) schaltet von LQ- auf Draft-Druckqualität um. Daraus resultiert<br />
eine höhere Druckgeschwindigkeit und eine niedrigere Druckauflösung (60<br />
Druckpunkte pro Zoll in horizontaler Richtung).<br />
– Umschalten auf LQ-Druckqualität<br />
ESC x (1) schaltet von Draft- auf LQ-Druckqualität um. Daraus resultiert<br />
eine niedrigere Druckgeschwindigkeit und eine höhere Druckauflösung (180<br />
Druckpunkte pro Zoll in horizontaler Richtung).<br />
i<br />
– Das Umschalten von Draft auf LQ ist auch innerhalb einer Druckzeile<br />
möglich.<br />
– Nach Umschalten auf LQ-Druckqualität wird in dem zuletzt mit<br />
ESC k (n) selektierten Schrifttyp gedruckt.<br />
– Nach Einschalten bzw. Initialisieren (ESC @) des Druckers wird in<br />
der Druckqualität gedruckt, die im Emulationsmenü eingestellt wurde.<br />
– Durch Einschalten des Proportionaldrucks wird die Druckqualität<br />
automatisch auf LQ gesetzt.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 93
Druckqualität und Zeichengröße<br />
Standardkommandos<br />
Beispiel:<br />
Der Zeichenzwischenraum wird schrittweise vergrößert.<br />
BEGINN<br />
DRUCKE(Zeichen(27),"x",Zeichen(0))<br />
DRUCKEZV("Druckqualität Draft")<br />
DRUCKE(Zeichen(27),"x",Zeichen(1))<br />
DRUCKEZV("Druckqualität LQ")<br />
ENDE<br />
Ergebnis:<br />
94 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Druckqualität und Zeichengröße<br />
LQ-Schriftart wählen<br />
ESC<br />
27<br />
1B<br />
k<br />
107<br />
6B<br />
(n)<br />
n<br />
n<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Mit ESC k (n) können folgende Schrifttypen in LQ-Druckqualität ausgewählt<br />
werden:<br />
n = 0 LQ-Schrifttyp Roman<br />
n = 1 LQ-Schrifttyp Sans Serif<br />
Die Auswahl der Schrifttypen kann im Draft- oder im LQ-Modus erfolgen. Gedruckt<br />
wird in der gewählten Schriftart nur in LQ-Druckqualität (Umschalten mit<br />
ESC x (1)).<br />
Die Anwahl weiterer Fonts, die nicht der Belegung des IBM2-Zeichensatzes entsprechen,<br />
erfolgt über einen gesonderten Befehl (siehe Auswahl von Schriftarten<br />
und Zeichensätzen“ im Kapitel „Zusatzkommandos“).<br />
i<br />
Die Zeichen der LQ-Schrifttypen Roman und Sans Serif sind in den<br />
Schriftarten/ Zeichengrößen 10, 12 und 15 cpi und Proportional vorhanden.<br />
Beispiel:<br />
BEGINN<br />
DRUCKEZV(Zeichen(27),"x",Zeichen(1)
Druckqualität und Zeichengröße<br />
Standardkommandos<br />
Proportionaldruck ein-/ausschalten<br />
ESC<br />
27<br />
1B<br />
p<br />
112<br />
70<br />
(n)<br />
n<br />
n<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
– Proportionaldruck einschalten<br />
ESC p (1) schaltet den Proportionaldruck ein. Im Proportionaldruck basiert<br />
das Zeichenlayout auf der Zeichengröße 10 cpi. Die Zeichenbreite der einzelnen<br />
Zeichen ist jedoch unterschiedlich, z. B. ist die Breite des Zeichens<br />
’i’ kleiner als die des Zeichens ’w’. Im Normaldruck haben alle Zeichen die<br />
gleiche Breite, wodurch unregelmäßige Abstände zwischen den einzelnen<br />
Zeichen eines Wortes entstehen.<br />
– Proportionaldruck ausschalten<br />
ESC p (0) schaltet den Proportionaldruck aus.<br />
i<br />
Beispiel:<br />
– Nach Einschalten bzw. Initialisieren (ESC @) des Druckers kann im<br />
Proportionaldruck gedruckt werden, wenn es im Emulationsmenü<br />
eingestellt wurde.<br />
– ESC p (1) schaltet automatisch auf LQ-Druckqualität um.<br />
BEGINN<br />
DRUCKE("Diese Zeile ist nicht proportional ")<br />
DRUCKEZV("gedruckt")<br />
DRUCKE(Zeichen(27),"p",Zeichen(1))<br />
DRUCKEZV("Diese Zeile ist proportional gedruckt")<br />
ENDE<br />
Ergebnis (verkleinert):<br />
96 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Druckqualität und Zeichengröße<br />
10 cpi-Zeichengröße (Pica) wählen<br />
ESC<br />
27<br />
1B<br />
P<br />
80<br />
50<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
ESC P setzt die Zeichengröße auf 10 cpi (10 Zeichen pro Zoll). Diese Zeichengröße<br />
ist auch nach dem Einschalten bzw. Initialisieren des Druckers eingestellt,<br />
wenn es im Emulationsmenü ausgewählt wurde.<br />
i<br />
– Die Zeichengröße 10 cpi kann mit Schmal- und Breitdruck kombiniert<br />
werden.<br />
– Der Befehl ESC P wird in der Regel benutzt, um 12 cpi- bzw. 15 cpi-<br />
Schriftgröße zu deaktivieren.<br />
Beispiel:<br />
BEGINN<br />
DRUCKE(Zeichen(27),"P")<br />
DRUCKEZV("Zeichengröße 10 cpi")<br />
DRUCKE(Zeichen(27),"M")<br />
DRUCKEZV("Zeichengröße 12 cpi")<br />
DRUCKE(Zeichen(27),"g")<br />
DRUCKEZV("Zeichengröße 15 cpi")<br />
ENDE<br />
Ergebnis:<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 97
Druckqualität und Zeichengröße<br />
Standardkommandos<br />
12 cpi-Zeichengröße (Elite) auswählen<br />
ESC<br />
27<br />
1B<br />
M<br />
77<br />
4D<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
ESC M setzt die Zeichengröße auf 12 cpi (12 Zeichen pro Zoll). Eingestellte<br />
Zeichengrößen in 10 cpi bzw. 15 cpi werden aufgehoben.<br />
i<br />
– Nach dem Einschalten bzw. Initialisieren des Druckers ist die Zeichengröße<br />
auf den über das Emulationsmenü eingestellten Wert gesetzt.<br />
– Die Zeichengröße 12 cpi kann mit Schmal- und Breitdruck kombiniert<br />
werden.<br />
– Im Proportionaldruck wird die Zeichengröße auf 10 cpi gesetzt.<br />
Beispiel:<br />
BEGINN<br />
DRUCKE(Zeichen(27),"P")<br />
DRUCKEZV("Zeichengröße 10 cpi")<br />
DRUCKE(Zeichen(27),"M")<br />
DRUCKEZV("Zeichengröße 12 cpi")<br />
DRUCKE(Zeichen(27),"g")<br />
DRUCKEZV("Zeichengröße 15 cpi")<br />
ENDE<br />
Ergebnis:<br />
98 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Druckqualität und Zeichengröße<br />
15 cpi-Zeichengröße wählen<br />
ESC<br />
27<br />
1B<br />
g<br />
103<br />
67<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
ESC g setzt die Zeichengröße auf 15 cpi (15 Zeichen pro Zoll). Eingestellte Zeichengrößen<br />
in 10 cpi bzw. 12 cpi werden aufgehoben.<br />
i<br />
– Nach dem Einschalten bzw. Initialisieren des Druckers ist die Zeichengröße<br />
auf auf den über das Emulationsmenü eingestellten<br />
Wert gesetzt.<br />
– Die Zeichengröße 15 cpi kann nicht mit Schmaldruck, jedoch mit<br />
Breitdruck kombiniert werden.<br />
– Im Proportionaldruck wird die Zeichengröße auf 10 cpi gesetzt.<br />
Beispiel:<br />
BEGINN<br />
DRUCKE(Zeichen(27),"P")<br />
DRUCKEZV("Zeichengröße 10 cpi")<br />
DRUCKE(Zeichen(27),"M")<br />
DRUCKEZV("Zeichengröße 12 cpi")<br />
DRUCKE(Zeichen(27),"g")<br />
DRUCKEZV("Zeichengröße 15 cpi")<br />
ENDE<br />
Ergebnis:<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 99
Druckarten<br />
Standardkommandos<br />
Druckarten<br />
Die Verwendung verschiedener Druckarten, z.B. Fettdruck, Breitdruck, Unterstreichen,<br />
erlaubt eine ansprechende optische Dokument-Gestaltung. In diesem<br />
Abschnitt werden die Kommandos zur Auswahl der Druckarten beschrieben.<br />
Kommando Funktion<br />
SI Schmaldruck EIN ☺<br />
ESC SI Schmaldruck EIN ☺<br />
DC2 Schmaldruck AUS ☺<br />
SO<br />
Breitdruck für eine Zeile EIN<br />
ESC SO Breitdruck für eine Zeile EIN<br />
DC4<br />
Breitdruck für eine Zeile AUS<br />
ESC W (n) Breitdruck EIN / AUS ☺<br />
ESC w (n) Doppelte Zeichenhöhe aktivieren/deaktivieren ☺<br />
ESC E Fettdruck EIN ☺<br />
ESC F Fettdruck AUS ☺<br />
ESC G Doppeldruck EIN ☺<br />
ESC H Doppeldruck AUS ☺<br />
ESC - (n) Unterstreichen EIN / AUS ☺<br />
ESC S (n) Hoch-/Tiefstellen EIN ☺<br />
ESC T Hoch-/Tiefstellen AUS ☺<br />
ESC ! (n) Druckarten kombinieren ☺<br />
i<br />
– Durch Auswahl des Schmal- oder Breitdruckes wird die Breite der<br />
Zeichen verändert (schmal = 60 % der normalen Zeichenbreite,<br />
breit = 200 % der normalen Zeichenbreite).<br />
– Nicht alle Druckarten und Zeichengrößen können kombiniert werden.<br />
Auf ungültige Kombinationen wird bei der Beschreibung der<br />
einzelnen Kommandos hingewiesen.<br />
– Mit ESC ! (n) ist es möglich, alle Druckarten (mit Ausnahme des<br />
Hoch-/Tiefstellens), die Zeichengrößen 10 cpi und 12 cpi sowie<br />
Proportional- und Kursivdruck durch ein einziges Steuerkommando<br />
ein- bzw. auszuschalten.<br />
100 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Druckarten<br />
Schmaldruck einschalten<br />
SI<br />
15<br />
0F<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
SI schaltet den Schmaldruck ein. Die Zeichenbreite ist im Schmaldruck etwa<br />
40 % kleiner als im Normaldruck.<br />
i<br />
– Das Kommando SI hat die gleiche Wirkung wie das Kommando<br />
ESC SI.<br />
– Der Schmaldruck wird mit DC2 wieder ausgeschaltet.<br />
– Schmal- und Breitdruck können kombiniert werden.<br />
– 10 cpi- und 12 cpi-Zeichen können schmal gedruckt werden. 15 cpi-<br />
Zeichen können nicht schmal gedruckt werden.<br />
– Der Schmaldruck kann im Emulationsmenü eingestellt werden.<br />
Beispiel:<br />
BEGINN<br />
DRUCKEZV("Normaldruck")<br />
DRUCKE(Zeichen(15))<br />
DRUCKEZV("Schmaldruck")<br />
DRUCKE(Zeichen(18))<br />
DRUCKEZV("Normaldruck")<br />
ENDE<br />
Druckarten<br />
Standardkommandos<br />
Schmaldruck einschalten<br />
ESC<br />
27<br />
1B<br />
SI<br />
15<br />
0F<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
ESC SI hat die gleiche Wirkung wie das Kommando SI.<br />
102 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Druckarten<br />
Schmaldruck ausschalten<br />
DC2<br />
18<br />
12<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
DC2 schaltet den mit SI, ESC SI oder ESC ! (n) gesetzten oder über das Emulationsmenü<br />
voreingestellten Schmaldruck aus.<br />
Beispiel:<br />
BEGINN<br />
DRUCKE("normal",Zeichen(15)," schmal")<br />
DRUCKEZV(Zeichen(18)," normal")<br />
ENDE<br />
Ergebnis:<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 103
Druckarten<br />
Standardkommandos<br />
Breitdruck für eine Zeile einschalten<br />
SO<br />
14<br />
0E<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
SO schaltet den Breitdruck für die aktuelle Druckzeile ein. Vor Beginn der<br />
nächsten Zeile wird der Breitdruck wieder ausgeschaltet. Im Breitdruck wird die<br />
Breite der Zeichen verdoppelt.<br />
i<br />
– Das Kommando SO hat die gleiche Wirkung wie das Kommando<br />
ESC SO.<br />
– Der Breitdruck wird mit DC4 wieder ausgeschaltet.<br />
– Breitdruck kann mit Schmaldruck und allen Zeichengrößen (10, 12,<br />
15 cpi) kombiniert werden.<br />
104 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Druckarten<br />
Breitdruck für eine Zeile einschalten<br />
ESC<br />
27<br />
1B<br />
SO<br />
14<br />
0E<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
ESC SO hat die gleiche Wirkung wie das Kommando SO.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 105
Druckarten<br />
Standardkommandos<br />
Breitdruck ausschalten<br />
DC4<br />
20<br />
14<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Dieser Befehl schaltet den mit SO bzw. ESC SO aktivierten Breitdruck (innerhalb<br />
der aktuellen Druckzeile) aus.<br />
i<br />
Der mit ESC W (n) bzw. ESC ! (n) eingeschaltete Breitdruck wird durch<br />
DC4 nicht ausgeschaltet.<br />
106 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Druckarten<br />
Breitdruck ein-/ausschalten<br />
ESC<br />
27<br />
1B<br />
W<br />
87<br />
57<br />
(n)<br />
n<br />
n<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
– Breitdruck einschalten<br />
ESC W (1) schaltet den Breitdruck ein. Im Breitdruck wird die Breite der Zeichens<br />
verdoppelt.<br />
– Breitdruck ausschalten<br />
ESC W (0) schaltet den Breitdruck aus.<br />
i<br />
Breitdruck kann mit Schmaldruck und allen Zeichengrößen (10, 12, 15<br />
cpi) kombiniert werden.<br />
Beispiel:<br />
BEGINN<br />
DRUCKEZV("Normaldruck")<br />
DRUCKE(Zeichen(27),"W",Zeichen(1))<br />
DRUCKEZV("Breitdruck")<br />
DRUCKE(Zeichen(27),"W",Zeichen(0))<br />
DRUCKEZV("Normaldruck")<br />
ENDE<br />
Druckarten<br />
Standardkommandos<br />
Doppelte Zeichenhöhe aktivieren/deaktivieren<br />
ESC<br />
27<br />
1B<br />
w<br />
119<br />
77<br />
(n)<br />
n<br />
n<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Alle auf diesen Befehl folgenden Zeichen werden doppelt so hoch wie normal<br />
ausgedruckt.<br />
Parameter:<br />
n = 0 deaktiviert den Modus<br />
n = 1 aktiviert den Modus<br />
108 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Druckarten<br />
Fettdruck einschalten<br />
ESC<br />
27<br />
1B<br />
E<br />
69<br />
45<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
ESC E schaltet den Fettdruck ein. Beim Fettdruck wird jeder Punkt eines Druckzeichens<br />
zweimal gedruckt. Der zweite Punkt wird geringfügig nach rechts versetzt<br />
gedruckt.<br />
i<br />
Beispiel:<br />
– Der Fettdruck wird mit ESC F oder ESC ! (n) wieder ausgeschaltet.<br />
– Fett- und Doppeldruck können kombiniert werden.<br />
– Fettdruck kann bei Draft- und LQ-Druckqualität benutzt werden.<br />
– Die Druckgeschwindigkeit ist bei Fettdruck geringer als bei Normaldruck.<br />
BEGINN<br />
DRUCKEZV("Normaldruck")<br />
DRUCKE(Zeichen(27),"E")<br />
DRUCKEZV("Fettdruck")<br />
DRUCKE(Zeichen(27),"x",Zeichen(1))<br />
DRUCKEZV("Fettdruck in LQ-Druckqualität")<br />
Ergebnis (verkleinert):<br />
Druckarten<br />
Standardkommandos<br />
Fettdruck ausschalten<br />
ESC<br />
27<br />
1B<br />
F<br />
70<br />
46<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
ESC F schaltet den mit ESC E oder ESC ! (n) gesetzten Fettdruck aus.<br />
Beispiel:<br />
BEGINN<br />
DRUCKE("normal",Zeichen(27),"E"," fett")<br />
DRUCKEZV(Zeichen(27),"F"," normal")<br />
ENDE<br />
Ergebnis:<br />
110 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Druckarten<br />
Doppeldruck einschalten<br />
ESC<br />
27<br />
1B<br />
G<br />
71<br />
47<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
ESC G schaltet den Doppeldruck ein. Beim Doppeldruck wird jede Zeile zweimal,<br />
beim zweiten Mal geringfügig horizontal versetzt, gedruckt.<br />
i<br />
– Der Doppeldruck wird mit ESC H oder ESC ! (n) wieder ausgeschaltet.<br />
– Doppel- und Fettdruck können kombiniert werden.<br />
– Doppeldruck kann bei Draft- und LQ-Druckqualität benutzt werden.<br />
Beispiel:<br />
BEGINN<br />
DRUCKEZV("Normaldruck")<br />
DRUCKE(Zeichen(27),"G")<br />
DRUCKEZV("Doppeldruck")<br />
DRUCKE(Zeichen(27),"x",Zeichen(1))<br />
DRUCKEZV("Doppeldruck in LQ-Druckqualität")<br />
Druckarten<br />
Standardkommandos<br />
Doppeldruck ausschalten<br />
ESC<br />
27<br />
1B<br />
H<br />
72<br />
48<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
ESC H schaltet den mit ESC G oder ESC ! (n) gesetzten Doppeldruck aus.<br />
Beispiel:<br />
BEGINN<br />
DRUCKE("normal",Zeichen(27),"G"," doppelt")<br />
DRUCKEZV(Zeichen(27),"H"," normal")<br />
ENDE<br />
Ergebnis:<br />
112 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Druckarten<br />
Unterstreichen ein-/ausschalten<br />
ESC<br />
27<br />
1B<br />
-<br />
45<br />
2D<br />
(n)<br />
n<br />
n<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
– Unterstreichen einschalten<br />
Nach Angabe von ESC - (1) werden alle folgenden Druckzeichen (auch die<br />
Leerzeichen) durchgehend unterstrichen.<br />
– Unterstreichen ausschalten<br />
ESC - (0) schaltet das Unterstreichen der Druckzeichen aus.<br />
Beispiel:<br />
BEGINN<br />
DRUCKE("Hervorhebung",Zeichen(27),"-",Zeichen(1))<br />
DRUCKE(" durch Unterstreichen")<br />
DRUCKE(Zeichen(27),"-",Zeichen(0))<br />
DRUCKEZV(" ist möglich.")<br />
ENDE<br />
Ergebnis:<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 113
Druckarten<br />
Standardkommandos<br />
Hoch-/Tiefstellen einschalten<br />
ESC<br />
27<br />
1B<br />
S<br />
83<br />
53<br />
(n)<br />
n<br />
n<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
– Hochstellen einschalten<br />
Nach Angabe von ESC S (0) werden alle folgenden Druckzeichen um die<br />
Hälfte verkleinert und nach oben versetzt gedruckt (zum Beispiel in mathematischen<br />
oder chemischen Formeln).<br />
– Tiefstellen einschalten<br />
Nach Angabe von ESC S (1) werden alle folgenden Druckzeichen um die<br />
Hälfte verkleinert und nach unten versetzt gedruckt (zum Beispiel in mathematischen<br />
oder chemischen Formeln).<br />
i<br />
Beispiel:<br />
– Mit ESC T wird das Hoch- bzw. Tiefstellen der Druckzeichen wieder<br />
ausgeschaltet.<br />
– Werden hoch- oder tiefgestellte Zeichen unterstrichen, erscheint<br />
der Unterstrich an der normalen Position. Das Unterstreichen muss<br />
ggf. vorher ausgeschaltet werden (ESC - (n)).<br />
BEGINN<br />
DRUCKE("Wasser: H")<br />
*** Tiefstellen ein (S)/aus (T) ***<br />
DRUCKE(Zeichen(27),"S",Zeichen(1),"2")<br />
DRUCKEZV(Zeichen(27),"T","O")<br />
DRUCKE("Einstein: E = mc")<br />
*** Hochstellen ein (S)/aus (T) ***<br />
DRUCKE(Zeichen(27),"S",Zeichen(0),"2")<br />
DRUCKEZV(Zeichen(27),"T")<br />
ENDE<br />
Ergebnis:<br />
114 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Druckarten<br />
Hoch-/Tiefstellen AUS<br />
ESC<br />
27<br />
1B<br />
T<br />
84<br />
54<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
ESC T schaltet das Hoch- bzw. Tiefstellen der Druckzeichen aus.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 115
Druckarten<br />
Standardkommandos<br />
Kombinierte Druckart-Auswahl<br />
ESC<br />
27<br />
1B<br />
!<br />
33<br />
21<br />
(n)<br />
n<br />
n<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Mit ESC ! (n) können folgende Zeichengrößen und Druckarten in beliebiger (gültiger)<br />
Kombination eingeschaltet bzw. ausgeschaltet werden (durch Angabe eines<br />
Wertes n zwischen 0 und 255):<br />
– 10 cpi-Zeichengröße (Pica)<br />
– 12 cpi-Zeichengröße (Elite)<br />
– Proportionaldruck<br />
– Schmal- und Breitdruck<br />
– Fett- und Doppeldruck<br />
– Kursivdruck<br />
– Unterstreichen<br />
– Einschalten mehrerer Druckarten bzw. Zeichengrößen<br />
Folgende Tabelle zeigt, welche Werte für n angegeben werden müssen, um<br />
bestimmte Zeichengrößen bzw. Druckarten einzuschalten:<br />
Druckart/Zeichengröße<br />
Wert von n<br />
10 cpi (Standard) 0<br />
12 cpi 1<br />
Proportionaldruck (10 cpi) 2<br />
Schmaldruck 4<br />
Fettdruck 8<br />
Doppeldruck 16<br />
Breitdruck 32<br />
Kursivdruck 64<br />
Unterstreichen 128<br />
116 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Druckarten<br />
– Kombination mehrerer Druckarten bzw. Zeichengrößen<br />
Um mehrere Druckarten bzw. Zeichengrößen zu kombinieren, müssen die<br />
in der Tabelle (oben) angegebenen Werte addiert werden.<br />
Berechnungsbeispiele:<br />
Proportionaldruck, Fettdruck, Unterstreichen:<br />
n = 2 + 8 + 128 = 138<br />
12 cpi, Schmaldruck, Doppeldruck:<br />
n = 1 + 4 + 16 = 21<br />
i<br />
– ESC ! (0) schaltet alle Druckart-Kombinationen aus und setzt die<br />
Zeichengröße auf 10 cpi.<br />
– ESC ! (n) kann in Kombination mit den Kommandos zum Ein-/Ausschalten<br />
der einzelnen Druckarten bzw. Zeichengrößen verwendet<br />
werden.<br />
– Durch Einschalten des Proportionaldruckes wird die Zeichengröße<br />
auf 10 cpi (Pica) gesetzt und LQ-Druckqualität eingeschaltet.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 117
Druckarten<br />
Standardkommandos<br />
Beispiel:<br />
BEGINN<br />
DRUCKE(Zeichen(27),"!",Zeichen(0)<br />
DRUCKEZV("10 cpi normal")<br />
DRUCKE(Zeichen(27),"!",Zeichen(1)<br />
DRUCKEZV("12 cpi normal")<br />
DRUCKE(Zeichen(27),"!",Zeichen(2),"proportional")<br />
DRUCKE(Zeichen(27),"!",Zeichen(130)<br />
DRUCKEZV(" und unterstrichen")<br />
DRUCKE(Zeichen(27),"!",Zeichen(0),"normal")<br />
DRUCKE(Zeichen(27),"!",Zeichen(64)," kursiv")<br />
DRUCKE(Zeichen(27),"!",Zeichen(72)," kursiv fett")<br />
DRUCKE(Zeichen(27),"!",Zeichen(192)<br />
DRUCKEZV(" kursiv unterstrichen")<br />
ENDE<br />
Ergebnis (verkleinert):<br />
118 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Standardkommandos<br />
Nicht ausführbare Kommandos<br />
Nicht ausführbare Kommandos<br />
In der folgenden Tabelle sind die Kommandos aufgeführt, die vom Buch- und<br />
Belegdrucker aufgrund der spezifischen Voraussetzungen nicht ausgeführt werden<br />
können. Ein entsprechendes Kommando wird ignoriert, erzeugt also keinen<br />
Fehler.<br />
Kommando<br />
BEL<br />
ESC s (n)<br />
ESC r (n)<br />
Funktion<br />
Signalton<br />
Halbe Druckgeschwindigkeit ein/aus<br />
Druckfarbe auswählen<br />
Signalton<br />
BEL<br />
7<br />
07<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
BEL aktiviert normalerweise das akustische Signal eines Druckers. Beim Buch- und<br />
Belegdrucker fehlt die Hupe.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 119
Nicht ausführbare Kommandos<br />
Standardkommandos<br />
Halbe Druckgeschwindigkeit ein/ausschalten<br />
ESC<br />
27<br />
1B<br />
s<br />
115<br />
73<br />
(n)<br />
n<br />
n<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
ESC s (1) schaltet normalerweise auf halbe Druckgeschwindigkeit um,<br />
ESC s (0) hebt diesen Modus wieder auf. Für den Buch- und Belegdrucker ist<br />
dieses Kommando nicht relevant.<br />
Druckfarbe auswählen<br />
ESC<br />
27<br />
1B<br />
r<br />
114<br />
72<br />
(n)<br />
n<br />
n<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Durch ESC r (n) kann bei geeignetem Drucker abhängig vom n-Wert eine<br />
Druckfarbe ausgewählt werden (zum Beispiel 0 = schwarz, 1 = rot, 2 = blau).<br />
Beim Buch- und Belegdrucker ist ’Schwarz’ grundsätzlich die Standardfarbe.<br />
120 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zeichensatzkommandos<br />
Mit Hilfe der folgenden Steuerkommandos kann zwischen den verschiedenen<br />
Zeichensätzen des Druckers gewechselt werden. Weiterhin können eigene Zeichen<br />
als Punktmuster definiert und im Speicher des Druckers abgelegt werden.<br />
Kommando<br />
Funktion<br />
ESC % (n)<br />
Benutzerdefinierten Zeichensatz ein-/<br />
ausschalten<br />
ESC & (n) (n) (m) Zeichendefinition übertragen<br />
ESC 4 Kursivdruck einschalten ☺<br />
ESC 5 Kursivdruck ausschalten ☺<br />
ESC 6 Zeichensatzerweiterung einschalten ☺<br />
ESC 7<br />
Zeichensatzerweiterung ausschalten<br />
ESC : NUL (n) NUL Zeichensatz in den RAM-Speicher kopieren<br />
ESC R (n)<br />
Nationalen Zeichensatz anwählen<br />
ESC t (n)<br />
Zeichensatz wählen<br />
i<br />
Durch entsprechende CSI-Sequenzen können weitere Zeichensätze<br />
mit speziell definierten Schriftqualitäten selektiert werden (siehe Zusatzkommando<br />
CSI n # q, Kapitel „Zusatzkommandos“). Diese so selektierten<br />
Zeichenfonts werden wie normale LQ-Schriftarten behandelt,<br />
das heißt, dass alle Standardkommandos (Druckqualität, Zeichengröße,<br />
Druckarten) auch auf diese Zeichensätze in der im Kapitel „Standardkommandos“<br />
beschriebenen Weise wirken.<br />
Allgemeine Hinweise zur Kommandobeschreibung finden Sie im Kapitel<br />
„Standardkommandos“, Abschnitte „Beschreibungskomponenten“,<br />
„Codierung dezimaler Kommandoparameter“ und „Programmbeispiele“.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 121
Zeichensatzauswahl<br />
Zeichensatzkommandos<br />
Zeichensatzauswahl<br />
Der Buch- und Belegdrucker druckt Zeichen als Punktmuster aus. Die Daten für die<br />
Punktmuster der Zeichen sind im ROM-Speicher (Read Only Memory) des Druckers<br />
gespeichert. Empfängt der Drucker vom Rechner einen Zeichencode, druckt er das<br />
zugehörige Zeichen anhand des gespeicherten Musters aus.<br />
Bei den druckbaren Zeichencodes werden zwei Bereiche unterschieden:<br />
– Bereich mit Grundzeichen oder Kursivzeichen<br />
– Bereich mit Kursivzeichen oder Grafik- und Sonderzeichen<br />
Zur Unterscheidung der Zeichencode-Bereiche werden in diesem Kapitel folgende<br />
Bezeichnungen benutzt:<br />
– ’Untere Steuercodetafel’ für den Code-Bereich von Hex. 00 bis Hex. 1F (dezimal<br />
0 bis 31)<br />
– ’Untere Zeichentafel’ für den Code-Bereich von Hex. 20 bis Hex. 7F (dezimal 32<br />
bis 127)<br />
– ’Obere Steuercodetafel’ für den Code-Bereich von Hex. 80 bis Hex. 9F (dezimal<br />
128 bis 159)<br />
– ’Obere Zeichentafel’ für den Code-Bereich von Hex. A0 bis Hex. FF (dezimal<br />
160 bis 255)<br />
– ’Gesamte obere Zeichentafel’ für den Code-Bereich von Hex. 80 bis Hex. FF<br />
(dezimal 128 bis 255).<br />
Daraus ergeben sich folgende Zeichensatzdefinitionen:<br />
– Der ’Kursivzeichensatz’ beinhaltet Grundzeichen in der unteren Zeichentafel<br />
und Kursivzeichen in der oberen Zeichentafel<br />
– Der ’Grafikzeichensatz’ beinhaltet Grundzeichen in der unteren Zeichentafel<br />
und Grafikzeichen in der oberen Zeichentafel<br />
– Der ’Erweiterte Grafiksatz’ beinhaltet einen Grundzeichensatz in der unteren<br />
Zeichentafel und Grafikzeichen in der gesamten oberen Zeichentafel.<br />
i<br />
Nach Einschalten des Buch- und Belegdruckers sind folgende Zeichensätze<br />
eingestellt:<br />
– Erweiterter Grafikzeichensatz. Dies entspricht der Einstellung, bei<br />
der auf die maximale Anzahl Zeichen zugegriffen werden kann.<br />
– Ländervariante (einstellbar über das Emulationsmenü).<br />
122 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zeichensatzkommandos<br />
Zeichensatzauswahl<br />
Bereich mit Grundzeichen oder Kursivzeichen<br />
Dieser Bereich liegt in der unteren Zeichentafel (Hex. 20 bis Hex. 7F bzw. dezimal<br />
32 bis 127). Er enthält Groß- und Kleinbuchstaben, Ziffern sowie Interpunktions- und<br />
Sonderzeichen in der jeweils gewählten Druckqualität (Draft oder LQ) bzw. LQ-<br />
Schrift (Roman, Sans Serif ). Die Zeichen in der unteren Zeichentafel können durch<br />
Angabe des Zeichencodes gemäß folgender Tafel gedruckt werden.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 123
Zeichensatzauswahl<br />
Zeichensatzkommandos<br />
Grundzeichentabelle:<br />
Nach Eingabe des Steuerkommandos ESC 4 (’Kursivdruck einschalten’) bzw.<br />
ESC ! (64) (’Kombinierte Druckart-Auswahl’) werden alle Grundzeichensymbole<br />
der aktuell gewählten Druckqualität bzw. LQ-Schrift kursiv gedruckt.<br />
i<br />
Die untere Steuercodetafel ist mit Steuercodes belegt (00h bis 1Fh<br />
bzw. dezimal 0 bis 31). Sie enthält keine druckbaren Zeichen. Eine<br />
Ausnahme ist das Zeichen ’§’ (15h, dezimal 21), um das die untere<br />
Steuercodetafel erweitert ist.<br />
124 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zeichensatzkommandos<br />
Zeichensatzauswahl<br />
Ländervarianten (Nationale Zeichensätze)<br />
Insgesamt zwölf Zeichencodes des Grundzeichensatzes (Hex. 23– 24, 40, 5B–<br />
60 und 7B– 7E) können mit dem Kommando ESC R (n) mit nationalen Sonderzeichen<br />
belegt werden. Es stehen dreizehn Ländervarianten zur Verfügung:<br />
i<br />
Die Ländervarianten gelten auch für Kursivzeichen in der oberen Zeichentafel.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 125
Zeichensatzauswahl<br />
Zeichensatzkommandos<br />
Bereich mit Kursivzeichen oder Grafik- und Sonderzeichen<br />
Der Kursivzeichenbereich liegt beim Kursivzeichensatz in der oberen Zeichentafel.<br />
Er enthält sämtliche Grundzeichen der aktuell gewählten Druckqualität<br />
bzw. LQ-Schrift in Kursivschrift.<br />
Beim Grafikzeichensatz stehen Grafikzeichen in der oberen Zeichentafel, beim<br />
erweiterten Grafikzeichensatz stehen Sonderzeichen und Grafikzeichen in der<br />
gesamten oberen Zeichentafel (Sonderzeichen im Bereich der oberen Steuercodetafel;<br />
Hex. 80 bis 9F).<br />
Alle Zeichen in der oberen bzw. gesamten oberen Zeichentafel können durch<br />
Angabe des Zeichencodes gemäß den folgenden Tafelbelegungen gedruckt<br />
werden.<br />
i<br />
Diese Funktion sollte nicht mehr genutzt werden. Heute werden üblicherweise<br />
die Zeichensatzkommandos ESC 4 (kursiv ein) und ESC 5<br />
(kursiv aus) zur Auswahl des Kursivdrucks genutzt.<br />
126 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zeichensatzkommandos<br />
Zeichensatzauswahl<br />
Grafikzeichentafel<br />
Hier ist die obere Steuercodetafel (80h bis 9Fh) mit nicht druckbaren Zeichen<br />
belegt.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 127
Zeichensatzauswahl<br />
Zeichensatzkommandos<br />
Erweiterte Grafikzeichentafel:<br />
Die obere Steuercodetafel ist mit druckbaren Sonderzeichen belegt. Nach Eingabe<br />
des Steuerkommandos ESC t (1) kann der erweiterte Grafikzeichensatz in<br />
der gesamten oberen Zeichentafel angesprochen werden.<br />
128 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zeichensatzkommandos<br />
Zeichensatzauswahl<br />
Benutzerdefinierte Zeichen<br />
Die Punktmuster der Grundzeichen in den verfügbaren Druckqualitäten und<br />
Schriften sowie die Grafikzeichen sind im residenten Speicherbereich des<br />
Druckers enthalten. Dieser Speicherbereich bleibt auch nach Ausschalten des<br />
Druckers erhalten.<br />
Der Benutzer kann zusätzlich eigene Zeichen definieren. Hierzu muss ein entsprechendes<br />
Punktmuster entwickelt, durch eine Folge von Zahlen verschlüsselt<br />
und über das Steuerkommando ESC & in den Speicher des Druckers<br />
übertragen werden. Einem benutzerdefinierten Zeichen wird ein Zeichencode<br />
zwischen 00h und 7Fh (dezimal 0 bis 127) zugeordnet.<br />
Nach Umschalten mit ESC % vom Zeichensatz im residenten Speicherbereich<br />
auf den eigendefinierten Zeichensatz können die benutzerdefinierten Zeichen<br />
über die zugeordneten Zeichencodes angesprochen werden.<br />
Beispiel:<br />
Dem ASCII-Code 65 (Großbuchstabe A des Grundzeichensatzes) sei ein<br />
benutzerdefiniertes Zeichen zugeordnet. Die Zeichenfolge "AAA" wird vor und<br />
nach Umschalten auf den benutzerdefinierten Zeichensatz gedruckt:<br />
BEGINN<br />
DRUCKEZV("AAA")<br />
DRUCKE(Zeichen(27),"%",Zeichen(1));<br />
DRUCKEZV("AAA")<br />
ENDE<br />
Ergebnis:<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 129
Zeichensatzauswahl<br />
Zeichensatzkommandos<br />
Folgende Abbildung zeigt die Auswahl der verschiedenen Zeichensätze im Zusammenhang:<br />
i<br />
– Der benutzerdefinierte Zeichensatz kann mit ESC % (1) in der unteren<br />
Zeichentafel oder mit ESC t (2) in der oberen Zeichentafel<br />
eingeschaltet werden.<br />
– Nach Eingabe des Steuerkommandos ESC 6 kann die gesamte<br />
obere Zeichentafel für benutzerdefinierte Zeichen genutzt werden.<br />
– Bei der Definition werden den benutzerdefinierten Zeichen Codes<br />
von 0 bis 127 zugeordnet. Ist der benutzerdefinierte Zeichensatz<br />
in der oberen Zeichentafel eingeschaltet, muss zu den Codes 128<br />
hinzuaddiert werden, um das jeweilige Zeichen zu drucken. Zum<br />
Beispiel druckt DRUCKE(Zeichen(128 + 60)) das unter dem<br />
Code 60 definierte Zeichen. Grundzeichen und benutzerdefinierte<br />
Zeichen können so gleichzeitig ohne Zeichensatzumschaltung<br />
benutzt werden.<br />
– Mit ESC 4 können die benutzerdefinierten Zeichen in der unteren<br />
Zeichentafel kursiv gedruckt werden.<br />
130 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zeichensatzkommandos<br />
Zeichendefinition<br />
Zeichendefinition<br />
Zur Definition eines neuen Zeichens sind folgende Schritte notwendig:<br />
1. Entwurf des Zeichens<br />
2. Übertragen des Entwurfes auf ein Punktraster<br />
3. Verschlüsseln des Punktmusters in eine Zahlenfolge<br />
4. Übertragen der Zahlenfolge mit dem Steuerkommando ESC & an den Drukker.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 131
Zeichendefinition<br />
Zeichensatzkommandos<br />
Entwurf eines Zeichens<br />
Ein Zeichen wird durch folgende Punkte charakterisiert:<br />
– Schriftbild, das heißt ’Form des Zeichens’<br />
– Relative Höhe und Breite des Zeichens im Vergleich zu anderen Zeichen<br />
des Zeichensatzes<br />
– Position des Zeichens relativ zur Grundlinie (Schriftlinie)<br />
– Unter- bzw. Oberlänge<br />
– Linker bzw. rechter Freiraum.<br />
Folgende Abbildungen zeigen den Entwurf eines Großbuchstabens und eines<br />
Kleinbuchstabens mit Unterlänge:<br />
132 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zeichensatzkommandos<br />
Zeichendefinition<br />
Übertragen des Entwurfes auf ein Punktraster<br />
Der Buch- und Belegdrucker druckt Zeichen als Punktmuster aus. Ein Zeichen<br />
setzt sich in vertikaler Richtung aus maximal 24 Punkten zusammen (Abstand<br />
1/180 Zoll). In horizontaler Richtung sind die Punktzahl und die Auflösung von<br />
der Druckqualität abhängig:<br />
– 9 Punkte (Abstand 1/120 Zoll) in Draft-Druckqualität (Entwurfsschrift)<br />
– 29 Punkte (Abstand 1/360 Zoll) in LQ-Druckqualität (Schönschrift)<br />
– 37 Punkte (Abstand 1/360 Zoll) beim Proportionaldruck.<br />
Um das Punktmuster zu ermitteln, wird der Zeichenentwurf auf ein der gewünschten<br />
Druckqualität entsprechendes Punktraster übertragen.<br />
Folgende Abbildungen zeigen das Punktmuster des Zeichens ’I’ auf verschiedenen<br />
Punktrastern.<br />
Punktraster für Draft-Druckqualität:<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 133
Zeichendefinition<br />
Zeichensatzkommandos<br />
Punktraster für LQ-Druckqualität:<br />
134 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zeichensatzkommandos<br />
Zeichendefinition<br />
Punktraster für hoch- bzw. tiefgestellte Zeichen in Draft-Druckqualität:<br />
Die Ausdehnung des Punktrasters ist durch die Druckqualität und den Druck-<br />
Modus bestimmt.<br />
Folgende Tabelle enthält die Anzahl der Punkte (Spalten) in horizontaler und<br />
vertikaler Richtung für die verschiedenen Zeichentypen:<br />
Druckqualität/<br />
-Modus<br />
Gesamt-breite<br />
linker und<br />
rechter<br />
Freiraum<br />
Zeichenbreite<br />
Gesamtbreite<br />
des<br />
Zeichens<br />
Zeichenhöhe<br />
mit<br />
Unter- und<br />
Oberlänge<br />
Draft-Druckqualität<br />
LQ-Druckqualität<br />
Proportionaldruck<br />
Hoch-/Tiefstellung<br />
(Draft)<br />
9<br />
29<br />
1-37<br />
9<br />
3<br />
7<br />
0-5<br />
3<br />
12<br />
36<br />
1-42<br />
12<br />
24<br />
24<br />
24<br />
16<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 135
Zeichendefinition<br />
Zeichensatzkommandos<br />
i<br />
– Im Punktraster dürfen Punkte nicht direkt horizontal nebeneinander<br />
gesetzt werden. Rechts und links von jedem zu druckenden Punkt<br />
muss eine Punktposition frei bleiben.<br />
– Im Normaldruck liegt die Gesamtbreite eines Zeichens (einschließlich<br />
linker und rechter Freiraum) fest. Jedes Zeichen belegt 12<br />
(Draft) bzw. 36 (LQ) horizontale Punktpositionen. Im Proportionaldruck<br />
wird nur die Anzahl horizontaler Punkte gedruckt, die bei der<br />
Zeichendefinition angegeben wird (siehe Abschnitt „Verschlüsseln<br />
eines Punktmusters“). Die maximale Gesamtbreite eines Proportionalzeichens<br />
beträgt 42 Punkte.<br />
– Die Gesamtbreite des Freiraums, das heißt, der Abstand zum<br />
nächsten bzw. vorhergehenden Zeichen, kann beliebig auf den linken<br />
und/oder rechten Freiraum aufgeteilt werden, z. B. linker Freiraum<br />
= 0, rechter Freiraum = 3 oder linker Freiraum = 2, rechter<br />
Freiraum = 1 bei einer Gesamtbreite des Freiraums von 3 Punkten<br />
(Draft).<br />
– Für hoch- und tiefgestellte Zeichen können abhängig von Druckqualität<br />
und Druckmodus die gleichen Punktraster benutzt werden.<br />
Sie sind 16 Punkte hoch und 12 Punkte (Draft), 36 Punkte (LQ)<br />
bzw. maximal 42 Punkte (proportional) breit. Bei hochgestellten<br />
Zeichen werden die oberen 16 Nadeln des Druckkopfes, bei tiefgestellten<br />
Zeichen die unteren 16 Nadeln angesprochen.<br />
136 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zeichensatzkommandos<br />
Zeichendefinition<br />
Verschlüsseln des Punktmusters in eine Zahlenfolge<br />
Um das Punktmuster eines neu definierten Zeichens an den Drucker zu übertragen,<br />
muss es in eine Folge von Datenbytes, das heißt in Zahlen zwischen 0 und<br />
255, verschlüsselt werden.<br />
Hierzu wird das Raster in Spalten zu jeweils acht untereinander liegenden<br />
Punktpositionen (Kästchen) eingeteilt. Die Verschlüsselung einer solchen<br />
Punktspalte erfolgt nach folgendem Schema.<br />
Jedem Kästchen der Punktspalte wird von oben nach unten in absteigender Folge<br />
der Wert einer Zweierpotenz zugewiesen:<br />
Die Verschlüsselung der Punktspalte ist die Summe aus Zweierpotenzen aller<br />
Kästchen, die einen Punkt enthalten, zum Beispiel:<br />
Die Summe einer Spalte, die keinen Punkt enthält, beträgt 0; die Summe einer<br />
Spalte, in der alle Punkte gesetzt sind, beträgt 255.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 137
Zeichendefinition<br />
Zeichensatzkommandos<br />
Die Anzahl der zu berechnenden Summen (Datenbytes) ist von der Größe des<br />
Punktrasters abhängig. Zum Beispiel müssen bei einem 24 * 29 Punktraster pro<br />
Spalte drei Datenbytes, also insgesamt 3 * 29 = 87 Datenbytes berechnet werden.<br />
Beispiel:<br />
138 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zeichensatzkommandos<br />
Zeichendefinition<br />
Übertragen der Zahlenfolge an den Drucker<br />
Ist das gesamte Punktmuster eines Zeichens in eine Zahlenfolge verschlüsselt,<br />
wird diese Zahlenfolge mit dem Steuerkommando ESC & an den Drucker (RAM-<br />
Speicher) übertragen. Anschließend kann das Zeichen als benutzerdefiniertes<br />
Zeichen gedruckt werden.<br />
Sollen mehrere Zeichen neu definiert werden, muss in der Regel jede Zeichendefinition<br />
einzeln mit ESC & übertragen werden. Nur Zeichen eines zusammenhängenden<br />
Alphabet-Bereiches - z. B. A - E oder J - U, nicht aber C, J und N -<br />
können mit einem ESC &-Kommando neu definiert werden.<br />
i<br />
Bevor die Verschlüsselung (Zahlenfolge) eines benutzerdefinierten<br />
Zeichens mit ESC & übertragen wird, müssen die der Zeichendefinition<br />
entsprechende Druckqualität (LQ oder Draft) bzw. der entsprechende<br />
Druckmodus (Proportionaldruck oder Hoch-/Tiefstellung) am Drucker<br />
eingestellt werden. Wenn zum Beispiel ein LQ-Zeichen definiert wird,<br />
muss vorher mit ESC x (1) die Druckqualität auf LQ gesetzt werden. Ist<br />
bei der Übertragung ein anderer Modus aktiviert, können die Zeichen<br />
nicht benutzt werden.<br />
Wird mehr als ein Zeichen definiert, werden sämtliche Zahlenfolgen (Folgen von<br />
Datenbytes) nacheinander angefügt. Die Anzahl der Datenbytes hängt von der<br />
Breite (Parameter d1) und der Höhe (24 oder 16 Punkte) des verwendeten<br />
Punktrasters ab:<br />
Anzahl der zu übertragenden Datenbytes pro Zeichen:<br />
– bei normaler Zeichenhöhe (24 Punkte = 3 Bytes)<br />
Anzahl Bytes = d1* 3<br />
– bei hoch/-tiefgestellten Zeichen (16 Punkte = 2 Bytes)<br />
Anzahl Bytes = d1 * 2<br />
Die Anzahl der zu übertragenden Datenbytes muss gemäß dieser Formel genau<br />
eingehalten werden. Werden mit ESC & zuwenig Daten übertragen, werden<br />
ggf. folgende Steuerkommandos bzw. Zeichencodes noch als<br />
Zeichendaten interpretiert. Ebenso werden zuviel angegebene Daten als Steuerkommandos<br />
oder Zeichencodes angesehen.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 139
Zeichendefinition<br />
Zeichensatzkommandos<br />
Mit dem Steuerkommando ESC & können die Datenbytes eines oder mehrerer<br />
benutzerdefinierter Zeichen übertragen werden:<br />
ESC & (n1) (n2) (n3) (d0) (d1) (d2) (Daten 1) (d0) (d1) (d2) (Daten 2) ...<br />
Die Bedeutung der einzelnen Parameter wird in der Kommandobeschreibung<br />
von ESC & ... erläutert (siehe „Zeichendefinition übertragen“ in diesem Kapitel).<br />
Bedeutung der Parameter d0, d1, d2:<br />
140 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zeichensatzkommandos<br />
Zeichendefinition<br />
Beispiel zur Definition eines Draft-Zeichens<br />
Das Beispiel zeigt die Schritte:<br />
– Definition eines Draft-Zeichens unter dem Zeichencode des Buchstabens A<br />
(linker Freiraum zwei Punktspalten, Zeichenbreite neun Punktspalten, rechter<br />
Freiraum eine Punktspalte)<br />
– Druck des neu definierten Zeichens im Normal-, Breit- und Kursivdruck.<br />
BEGINN<br />
Neudefinition<br />
DRUCKE(Zeichen(27),"&",Zeichen(0),"AA")
Zeichendefinition<br />
Zeichensatzkommandos<br />
Beispiel zur Definition von LQ-Zeichen<br />
Das Beispiel zeigt die Schritte:<br />
– Definition von zwei proportionalen LQ-Zeichen unter den Zeichencodes der<br />
Buchstaben A und B; die Zeichenbreite des ersten Zeichens beträgt zehn<br />
Punktspalten, die des zweiten Zeichens achtzehn Punktspalten.<br />
– Druck der neu definierten Zeichen im Normal- und Breitdruck.<br />
BEGINN<br />
DRUCKE(Zeichen(27),"p",Zeichen(1)) Neudefinition A<br />
DRUCKE(Zeichen(27),"&",Zeichen(1),"AB")
Zeichensatzkommandos<br />
Zeichendefinition<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 143
Verwendung benutzerdefinierter Zeichen<br />
Zeichensatzkommandos<br />
Verwendung benutzerdefinierter Zeichen<br />
Dieser Abschnitt enthält einige allgemeine Hinweise zur Verwendung benutzerdefinierter<br />
Zeichen.<br />
Speicherung benutzerdefinierter Zeichen<br />
Die benutzerdefinierten Zeichen werden im nicht residenten Speicherbereich<br />
des Druckers gespeichert. Es kann nur ein Zeichensatz in einer Zeichenteilung<br />
und in einer Schriftqualität geladen werden. Beim Ausschalten des Druckers<br />
wird der jeweils geladene, benutzerspezifische Zeichensatz gelöscht. Deshalb<br />
muss es zu jeder Zeit möglich sein, die entsprechenden Zeichen durch Programme<br />
nachzuladen.<br />
Das Steuerkommando ESC @ löscht den benutzerdefinierten Zeichensatz<br />
nicht.<br />
Benutzerdefinierte Zeichen unterschiedlicher Druckqualität<br />
Mit dem Steuerkommando ESC % wird der benutzerdefinierte Zeichensatz ausgewählt.<br />
Um die Zeichen zu drucken, muss zusätzlich die der Zeichendefinition<br />
entsprechende Druckqualität (Draft oder LQ) bzw. der zugehörige Druckmodus<br />
(Proportionaldruck oder Hoch-/Tiefstellung) aktiviert werden.<br />
Wenn z. B. Draft-Zeichen definiert wurden (das heißt, vor der Zeichendefinition<br />
mit ESC & wurde die Druckqualität Draft aktiviert), muss die Druckqualität Draft<br />
eingeschaltet werden.<br />
Beim Wechsel zu einer anderen Druckqualität bzw. zu einem anderen Druckmodus<br />
(Zeichenteilung) sind die vorhandenen benutzerdefinierten Zeichen nicht<br />
ansprechbar.<br />
144 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zeichensatzkommandos<br />
Verwendung benutzerdefinierter Zeichen<br />
Druckeffekte benutzerdefinierter Zeichen<br />
Für benutzerdefinierte Zeichen stehen die gleichen Druckeffekte zur Verfügung<br />
wie für normale Zeichen:<br />
– Fettdruck, Doppeldruck<br />
– Schmaldruck, Breitdruck<br />
– Kursivdruck<br />
– Unterstreichung.<br />
– Zeichengröße 10, 12, 15 cpi<br />
Übernahme des residenten Zeichensatzes (Download)<br />
Sollen nur einige Zeichen innerhalb eines residenten Zeichensatzes (zum Beispiel<br />
LQ-Schrift oder Standardschrift in Draft-Qualität) neu definiert werden,<br />
kann vor der Zeichendefinition der gewünschte residente Zeichensatz mit dem<br />
Kommando ESC : in den Speicherbereich kopiert werden. Der Zeichensatz gilt<br />
dann als benutzerdefiniert und kann anschließend zeichenweise über ESC &<br />
modifiziert werden (vgl. Beschreibung des Steuerkommandos ESC : im folgenden<br />
Abschnitt).<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 145
Syntax der Zeichensatzkommandos<br />
Zeichensatzkommandos<br />
Syntax der Zeichensatzkommandos<br />
In diesem Abschnitt wird zusammenfassend die Syntax der Steuerkommandos<br />
zur Zeichensatzauswahl und zur Zeichendefinition beschrieben. Genauere Hinweise<br />
sowie Programmbeispiele enthalten die vorangehenden Abschnitte.<br />
Kursivdruck einschalten<br />
ESC<br />
27<br />
1B<br />
4<br />
52<br />
34<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Mit ESC 4 wird der Kursivdruck eingeschaltet. Die Zeichen des jeweils aktuellen<br />
Zeichensatzes, also Draft-Standardschrift, LQ-Schrift oder benutzerdefinierte<br />
Zeichen, werden anschließend kursiv gedruckt.<br />
i<br />
– Die kursiven Zeichen sind nach Eingabe von ESC 4 in der unteren<br />
Zeichentafel ansprechbar.<br />
– Mit ESC 5 wird der Kursivdruck wieder ausgeschaltet. In der oberen<br />
Zeichentafel können weiterhin Kursivzeichen angesprochen<br />
werden (vgl. ESC t (n)).<br />
– ESC 4 kann auch dann benutzt werden, wenn der Grafikzeichensatz<br />
mit ESC t (1) aktiviert wurde. Die Grafikzeichen werden jedoch<br />
nicht kursiv gedruckt.<br />
Beispiel:<br />
BEGINN<br />
DRUCKEZV("Draft-Normal")<br />
DRUCKE(Zeichen(27),"4")<br />
DRUCKEZV("Draft-kursiv")<br />
DRUCKE(Zeichen(27),"x",Zeichen(1))<br />
DRUCKEZV("LQ-kursiv")<br />
ENDE<br />
146 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zeichensatzkommandos<br />
Syntax der Zeichensatzkommandos<br />
Ergebnis:<br />
Kursivdruck ausschalten<br />
ESC<br />
27<br />
1B<br />
5<br />
53<br />
35<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Mit ESC 5 wird der mit ESC 4 aktivierte Kursivdruck wieder ausgeschaltet.<br />
i<br />
In der oberen Zeichentafel können auch nach Eingabe von ESC 5<br />
Kursivzeichen angesprochen werden (vgl. ESC t (n)).<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 147
Syntax der Zeichensatzkommandos<br />
Zeichensatzkommandos<br />
Zeichensatz wählen<br />
ESC<br />
27<br />
1B<br />
t<br />
116<br />
74<br />
(n)<br />
n<br />
n<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Mit ESC t (n) wird einer der folgenden Zeichensätze der gesamten oberen Zeichentafel<br />
ausgewählt:<br />
– Kursivzeichensatz (n=0)<br />
Die obere Zeichentafel enthält die Kursivzeichen des aktuellen Zeichensatzes<br />
(Draft, LQ oder benutzerdefiniert). Die obere Steuercodetafel enthält<br />
Steuercodes (identisch mit denen der unteren Steuercodetafel).<br />
– Grafikzeichensatz (n=1)<br />
Die gesamte obere Zeichentafel enthält grafische Zeichen und internationale<br />
Sonderzeichen.<br />
– Benutzerdefinierter Zeichensatz (n=2)<br />
Die obere Zeichentafel enthält die benutzerdefinierten Zeichen. Diese Zeichen<br />
können ohne Zeichensatzumschaltung gleichzeitig mit den Standardzeichen<br />
(ROM) benutzt werden. Hierzu muss jeweils 128 zu den Codes<br />
addiert werden, die bei der Zeichendefinition mit ESC & angegeben wurden.<br />
i<br />
– Die Zeichentafeln der einzelnen Zeichensätze enthält der einleitende<br />
Abschnitt „Zeichensatzauswahl“ in diesem Kapitel.<br />
– Wird ESC t (2) benutzt, ohne dass zuvor Zeichen definiert wurden,<br />
sind die obere und die untere Zeichentafel identisch.<br />
148 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zeichensatzkommandos<br />
Syntax der Zeichensatzkommandos<br />
Nationalen Zeichensatz auswählen<br />
ESC<br />
27<br />
1B<br />
R<br />
82<br />
52<br />
(n)<br />
n<br />
n<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Insgesamt zwölf Zeichencodes des Grundzeichensatzes (Hex. 23-24, 40, 5B-60<br />
und 7B-7E) können mit dem Kommando ESC R (n) mit nationalen Sonderzeichen<br />
belegt werden. Durch einen Wert zwischen 0 und 12 für n wird eine der<br />
dreizehn möglichen Ländervarianten gemäß folgender Aufstellung ausgewählt:<br />
n = 0 : USA<br />
n = 1 : Frankreich<br />
n = 2 : Deutschland<br />
n = 3 : Großbritannien<br />
n = 4 : Dänemark<br />
n = 5 : Schweden<br />
n = 6 : Italien<br />
n = 7 : Spanien<br />
n = 8 : Japan<br />
n = 9 : Norwegen<br />
n = 10 : Dänemark 2<br />
n = 11 : Spanien 2<br />
n = 12 : Lateinamerika<br />
i<br />
– Eine Übersicht über die länderspezifischen Zeichen und ihre Verschlüsselung<br />
(hexadezimal, dezimal) enthält der einleitende Abschnitt<br />
„Zeichensatzauswahl“ in diesem Kapitel.<br />
– Auch die Ländervarianten des ISO 8859-Zeichensatzes werden mit<br />
dem Kommando ESCR(n) ausgewählt (siehe „Auswahl von<br />
Schriftarten/Zeichensätzen“ im Kapitel „Zusatzkommandos“).<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 149
Syntax der Zeichensatzkommandos<br />
Zeichensatzkommandos<br />
Benutzerdefinierter Zeichensatz ein-/ausschalten<br />
ESC<br />
27<br />
1B<br />
%<br />
37<br />
25<br />
(n)<br />
n<br />
n<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Mit ESC % (n) wird der benutzerdefinierte Zeichensatz ein- bzw. ausgeschaltet.<br />
Benutzerdefinierte Zeichen werden nur dann gedruckt, wenn die aktuell<br />
eingestellte Druckqualität (Draft, LQ) und der Druckmodus (Proportional,<br />
Hoch-/Tiefstellung) mit der Zeichendefinition übereinstimmen.<br />
n = 0: benutzerdefinierter Zeichensatz aus<br />
n = 1: benutzerdefinierter Zeichensatz ein<br />
i<br />
Die Abschnitte „Zeichensatzauswahl“ und „Zeichendefinition“ enthalten<br />
weitere Hinweise und Programmbeispiele zum Kommando ESC % (n).<br />
150 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zeichensatzkommandos<br />
Syntax der Zeichensatzkommandos<br />
Zeichensatzerweiterung einschalten<br />
ESC<br />
27<br />
1B<br />
6<br />
54<br />
36<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Das Kommando ESC 6 beeinflusst die gesamte obere Zeichentafel. Die Wirkung<br />
ist abhängig davon, welcher Zeichensatz mit ESC t (n) aktiviert wurde.<br />
– Der obere Zeichensatz enthält benutzerdefinierte Zeichen. In diesem Fall<br />
kann nach Eingabe des Kommandos ESC 6 auch die obere Steuercodetafel<br />
für benutzerdefinierte Zeichen genutzt werden. Bei der Zeichendefinition<br />
müssen diesen Zeichen die Codes von Hex. 00 bis Hex. 1F zugeordnet werden.<br />
– Die obere Zeichentafel enthält Grafikzeichen. Die obere Steuercodetafel ist<br />
dann mit weiteren Sonderzeichen belegt.<br />
– Die obere Zeichentafel enthält die Kursivzeichen. In diesem Fall wird das<br />
Kommando ESC 6 ignoriert.<br />
i<br />
Der einleitende Abschnitt „Zeichensatzauswahl“ in diesem Kapitel<br />
enthält weitere Hinweise zum Kommando ESC 6. Dieser Abschnitt<br />
enthält auch die Zeichen der oberen Steuercodetafel beim erweiterten<br />
Grafikzeichensatz.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 151
Syntax der Zeichensatzkommandos<br />
Zeichensatzkommandos<br />
Zeichensatzerweiterung ausschalten<br />
ESC<br />
27<br />
1B<br />
7<br />
55<br />
37<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Dieses Kommando ESC 7 beeinflusst die gesamte obere Zeichentafel. Die Wirkung<br />
ist abhängig davon, welcher Zeichensatz mit ESC t (n) aktiviert wurde.<br />
– Die obere Zeichentafel enthält benutzerdefinierte Zeichen. Mit ESC 7 wird<br />
die Wirkung des Kommandos ESC 6 wieder aufgehoben. Die obere und untere<br />
Steuercodetafel sind identisch.<br />
– Die obere Zeichentafel enthält Grafikzeichen. Nach Eingabe von ESC 7 sind<br />
die obere und untere Steuercodetafel identisch.<br />
– Die obere Zeichentafel enthält Kursivzeichen. In diesem Fall wird das Kommando<br />
ESC 7 ignoriert.<br />
i<br />
Der einleitende Abschnitt „Zeichensatzauswahl“ in diesem Kapitel enthält<br />
weitere Hinweise zum Kommando ESC 7.<br />
152 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zeichensatzkommandos<br />
Syntax der Zeichensatzkommandos<br />
Zeichensatz in den RAM-Speicher kopieren<br />
ESC<br />
27<br />
1B<br />
:<br />
58<br />
3A<br />
NUL<br />
NUL<br />
NUL<br />
(n)<br />
n<br />
n<br />
NUL<br />
NUL<br />
NUL<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Die Verwendung dieses Kommandos ist dann sinnvoll, wenn nur einzelne Zeichen<br />
eines residenten-Zeichensatzes modifiziert werden sollen.<br />
Vor der Definition neuer Zeichen (mit ESC &) kann mit ESC : ein beliebiger residenter<br />
Zeichensatz, zum Beispiel der Draft-Standardzeichensatz in den RAM-<br />
Speicher des Druckers kopiert werden.<br />
Der gewünschte residente Zeichensatz, zum Beispiel der Draft Standard Zeichensatz<br />
oder ein LQ-Schrifttyp, wird hierzu mit den entsprechenden Kommandos<br />
aktiviert, z.B. mit ESC x (1) (LQ-Zeichensatz) oder ESC S (n) /(Hoch-/<br />
Tiefstellung). Anschließend wird mit ESC : NUL (n) NUL der aktuelle Zeichensatz<br />
in den RAM-Speicher kopiert. n ist die Nummer des LQ-Schrifttyps, die zum<br />
Beispiel beim Steuerkommando ESC k (n) angegeben wurde (siehe Kapitel<br />
„Standardkommandos“, Abschnitt „LQ-Schrifttyp auswählen (ESC k (n))“).<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 153
Syntax der Zeichensatzkommandos<br />
Zeichensatzkommandos<br />
Zeichendefinition übertragen<br />
ESC<br />
27<br />
1B<br />
&<br />
38<br />
26<br />
(s)<br />
s<br />
s<br />
(n)<br />
n<br />
n<br />
(m)<br />
m<br />
m<br />
Daten<br />
Daten<br />
Daten<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Mit dem Steuerkommando ESC & kann die Verschlüsselung (Zahlenfolge) eines<br />
oder mehrerer benutzerdefinierter Zeichen übertragen werden.<br />
ESC & (s) (n) (m) (d0) (d1) (d2) (Daten 1) (d0) (d1) (Daten 2) ...<br />
Die Parameter haben die folgende Bedeutung:<br />
– s ist die Nummer der gewünschten LQ-Schriftart (vgl. Steuerkommando<br />
ESC k (n)). Soll ein Zeichen in Draft-Druckqualität definiert werden, muss 0<br />
angegeben werden.<br />
– n ist der Zeichencode des ersten zu definierenden Zeichens.<br />
– m ist der Zeichencode des letzten zu definierenden Zeichens. Wird nur ein<br />
Zeichen definiert, sind n und m identisch.<br />
– d0 gibt die Anzahl vertikaler Punktspalten für den linken Freiraum eines Zeichens<br />
an.<br />
– d1 gibt die Anzahl vertikaler Punktspalten für die Breite eines Zeichens an<br />
(Draft: 9 Spalten, LQ: 29 Spalten, Proportional: 1-37 Spalten, vgl. vorangehende<br />
Abschnitte).<br />
– d2 gibt die Anzahl vertikaler Punktspalten für den rechten Freiraum eines<br />
Zeichens an.<br />
– Im Anschluss an die Parameter d0 bis d2 werden die Datenbytes der Zeichendefinition<br />
(Zahlenfolge) angegeben.<br />
Bei der Definition mehrerer Zeichen werden für jedes Zeichen die Parameter d0<br />
bis d2 und die Datenbytes der Zeichendefinition in alphabetischer Reihenfolge<br />
angegeben.<br />
i<br />
Der einleitende Abschnitt „Zeichensatzauswahl“ in diesem Kapitel enthält<br />
weitere Hinweise und Anwendungsbeispiele zum Kommando<br />
ESC &.<br />
154 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Grafikkommandos<br />
Der Befehlssatz des Buch- und Belegdruckers enthält Kommandos, mit denen<br />
Grafiken, zum Beispiel Zeichnungen, Diagramme oder Bilder, gedruckt werden<br />
können.<br />
Es gibt zwei unterschiedliche Vorgehensweisen, um eine Grafik auszudrucken:<br />
– Grafikdruck im Textmodus<br />
Die Grafik wird aus einzelnen Grafikzeichen (obere Zeichentafel) zusammengesetzt<br />
(vgl. Kapitel „Zeichensatzkommandos“).<br />
– Grafikdruck im Grafikmodus (Punktgrafik)<br />
Die Grafik wird als Punktgrafik gedruckt. Das heißt, die einzelnen Bildpunkte,<br />
aus denen sich die Grafik zusammensetzt, werden als Zahlenfolge<br />
verschlüsselt an den Drucker übertragen. Mit einer maximalen Auflösung<br />
von 180 * 360 Punkten pro Zoll ist auch der Druck komplizierter Bilder möglich.<br />
In diesem Kapitel werden die Kommandos für den Druck im Grafikmodus beschrieben:<br />
Kommando<br />
Funktion<br />
ESC * (s) (n) (m) Daten Grafikmodus wählen ☺<br />
ESC K (n) (m) Daten Grafikmodus ’einfache Dichte’<br />
einschalten<br />
ESC L (n) (m) Daten<br />
Grafikmodus ’doppelte Dichte’<br />
einschalten<br />
ESC Y (n) (m) Daten Grafikmodus ’doppelte Dichte, doppelte<br />
Geschwindigkeit’ einschalten<br />
ESC Z (n) (m) Daten<br />
Grafikmodus ’vierfache Dichte’<br />
einschalten<br />
ESC ? (m) (s)<br />
Grafikkommando neu zuordnen<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 155
Grafikkommandos<br />
i<br />
– Allgemeine Hinweise zur Kommandobeschreibung finden Sie im<br />
Kapitel „Standardkommandos“, Abschnitte „Beschreibungskomponenten“,<br />
„Codierung dezimaler Kommandoparameter“ und „Programmbeispiele“.<br />
– Der Buch- und Belegdrucker arbeitet in verschiedenen Grafikmodi.<br />
Ein Grafikmodus ist gekennzeichnet durch die Anzahl der Druckkopf-Nadeln,<br />
die beim Druck angesprochen werden (8 Nadeln oder<br />
24 Nadeln) und durch den horizontalen Punktabstand (60-360 Zeichen/Zoll).<br />
– Mit den Grafikkommandos wird einer der Grafikmodi eingeschaltet<br />
(Ausnahme: ESC ?). Eine bestimmte Anzahl der anschließend<br />
übertragenen Daten wird als Punktmuster interpretiert, analog zur<br />
Definition eigener Zeichen. Die genaue Anzahl ist abhängig vom<br />
gewählten Grafikmodus und den im Kommando angegebenen Parametern.<br />
– In vielen Fällen können Grafiken auch mit einem handelsüblichen<br />
Programm auf dem Bildschirm des Rechners dargestellt und dann<br />
als so genannter ’Screen Dump’ (Bildschirmausdruck) ausgedruckt<br />
werden. Solange das Programm die passenden Grafikkommandos<br />
benutzt, stimmen Bildschirmanzeige und Ausdruck überein.<br />
– Mit dem Kommando ESC * können alle Grafikmodi des Buch- und<br />
Belegdruckers eingeschaltet werden.<br />
156 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Grafikkommandos<br />
Grafikmodi<br />
Grafikmodi<br />
Die Grafikmodi des Buch- und Belegdruckers sind gekennzeichnet durch die Anzahl<br />
vertikal angeordneter Punkte, die der Druckkopf in einer Grafikzeile druckt,<br />
das heißt durch die Anzahl der Druckkopf-Nadeln, die beim Druckvorgang<br />
angesprochen werden:<br />
– 8-Punkt-Modus<br />
In einer Grafikzeile können vertikal 8 Punkte im Abstand von 1/60 Zoll gedruckt<br />
werden. In diesem Modus stehen sechs verschiedene horizontale<br />
Punktabstände zur Verfügung.<br />
– 24-Punkt-Modus<br />
In diesem Modus können vertikal 24 Punkte im Abstand von 1/180 Zoll gedruckt<br />
werden. Es stehen fünf verschiedene horizontale Punktabstände zur<br />
Verfügung.<br />
Sämtliche Grafikmodi können mit dem Kommando ESC*(m)(n1)(n2) durch<br />
Wahl des Parameters s eingeschaltet werden. Folgende Tabelle zeigt die Punktdichten<br />
(in Punkt pro Zoll) der verschiedenen Grafikmodi und den zugehörigen<br />
Parameter s:<br />
s Grafikmodus Benutzte<br />
Nadeln<br />
0<br />
1<br />
2<br />
3<br />
4<br />
6<br />
32<br />
33<br />
38<br />
39<br />
40<br />
einfache Dichte<br />
doppelte Dichte<br />
doppelte Geschw.<br />
doppelte Dichte<br />
vierfache Dichte<br />
Bidschirmgrafiken<br />
Bildschirmgrafiken 2<br />
einfache Dichte<br />
doppelte Dichte<br />
Bildschirmgrafiken 2<br />
dreifache Dichte<br />
sechsfache Dichte<br />
8<br />
8<br />
8<br />
8<br />
8<br />
8<br />
24<br />
24<br />
24<br />
24<br />
24<br />
horizontale<br />
Punktdichte<br />
60<br />
120<br />
120<br />
240<br />
80<br />
90<br />
60<br />
120<br />
90<br />
180<br />
360<br />
vertikale<br />
Punktdichte<br />
60<br />
60<br />
60<br />
60<br />
60<br />
60<br />
180<br />
180<br />
180<br />
180<br />
180<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 157
Wirkungsweise der Grafikkommandos<br />
Grafikkommandos<br />
Wirkungsweise der Grafikkommandos<br />
In diesem Abschnitt wird die Wirkungsweise der Grafikkommandos beschrieben.<br />
Die Grafikkommandos sind wie folgt aufgebaut:<br />
ESC Kommandokennung (n) (m) Daten ...<br />
Kommandokennungen sind die Buchstaben K, L, Y, Z oder * (s). Durch Angabe<br />
der Kennung, bei ESC * durch Angabe des Parameters s, wird einer der Grafikmodi<br />
des Buch- und Belegdruckers eingeschaltet. Die Anzahl der Punkte, die vertikal<br />
in einer Punktspalte gedruckt werden, liegen nun fest (8-oder 24-Punkt-<br />
Modus).<br />
Die Parameter n und m bestimmen die Anzahl Punktspalten, die gedruckt werden<br />
soll:<br />
Anzahl Punktspalten = m * 256 + n.<br />
Die folgenden Daten enthalten verschlüsselt in Zahlen zwischen 0 und 255 (Bytes)<br />
die Information über die Punkte, aus denen sich die Grafik zusammensetzt.<br />
Die Verschlüsselung erfolgt wie im Abschnitt „Zeichendefinition“ des Kapitels<br />
„Zeichensatzkommandos“ beschrieben.<br />
Die Gesamtzahl der Datenbytes ergibt sich aus den Parametern m und n:<br />
Anzahl Datenbytes = m * 256 + n (8-Punkt-Modus)<br />
Anzahl Datenbytes = 3 * (m * 256 + n)<br />
(24-Punkt-Modus)<br />
158 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Grafikkommandos<br />
Wirkungsweise der Grafikkommandos<br />
Beispiel:<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 159
Wirkungsweise der Grafikkommandos<br />
Grafikkommandos<br />
Die Gesamtzahl der Datenbytes muss genau eingehalten werden. Gegebenenfalls<br />
zuviel eingegebene Datenbytes werden als Zeichencodes interpretiert. Bei<br />
zuwenig eingegebenen Daten werden ggf. nachfolgende Steuer- oder Zeichencodes<br />
als Grafikdaten interpretiert.<br />
i<br />
– Bei den 8-Punkt-Grafikmodi, ’doppelte Geschwindigkeit, doppelte<br />
Dichte’ und ’vierfache Dichte’ können horizontal aneinander grenzende<br />
Punkte nicht gedruckt werden. Dies gilt ebenso für den 24-<br />
Punkt-Grafikmodus ’sechsfache Dichte’.<br />
– Für umfangreiche Grafiken müssen in der Regel die Punktdaten<br />
mehrerer Zeilen miteinander verbunden werden. Beim normalen<br />
Zeilenabstand von 1/6 Zoll wird das Bild durch Leerzeilen unterbrochen.<br />
Um Grafiken ohne Zeilenzwischenraum zu drucken, muss<br />
der Zeilenabstand mit ESC 3 auf 24/180 Zoll (entspricht der Höhe<br />
einer Grafikzeile) gesetzt werden.<br />
– Nur bei dem 8-Punkt-Grafikmodus ’einfache Dichte’ und dem 24-<br />
Punkt-Modus ’dreifache Dichte’ sind die horizontale und die vertikale<br />
Punktdichte gleich. Die unterschiedlichen Punktdichten der<br />
anderen Grafikmodi müssen beim Entwurf einer Grafik berücksichtigt<br />
werden. Sie führen sonst zu einer Verzerrung der ausgedruckten<br />
Bilder.<br />
160 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Grafikkommandos<br />
Syntax der Grafikkommandos<br />
Syntax der Grafikkommandos<br />
Grafikmodus wählen<br />
ESC<br />
27<br />
1B<br />
*<br />
42<br />
2A<br />
(s)<br />
s<br />
s<br />
(n)<br />
n<br />
n<br />
(m)<br />
m<br />
m<br />
Daten...<br />
Daten...<br />
Daten...<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Mit ESC * (s) (n) (m) wird entsprechend dem Wert (s) einer der Grafikmodi laut<br />
folgender Tabelle aktiviert:<br />
s Grafikmodus Benutzte<br />
Nadeln<br />
horiz.<br />
Punktdichte<br />
vert.<br />
Punktdichte<br />
horizontal<br />
angrenzende<br />
Punkte<br />
0 einfache Dichte 8 60 60 möglich<br />
1 doppelte Dichte 8 120 60 möglich<br />
2 doppelte Dichte, 8 120 60 nicht möglich<br />
doppelte Geschw.<br />
3 vierfache Dichte 8 240 60 nicht möglich<br />
4 Bildschirmgrafik 8 80 60 möglich<br />
6 Bildschirmgrafik 2 8 90 60 möglich<br />
32 einfache Dichte 24 60 180 möglich<br />
33 doppelte Dichte 24 120 180 möglich<br />
38 Bildschirmgrafik 2 24 90 180 möglich<br />
39 dreifache Dichte 24 180 180 möglich<br />
40 sechsfache Dichte 24 360 180 nicht möglich<br />
Die Parameter n und m bestimmen die Anzahl der Punktspalten, die gedruckt<br />
werden sollen:<br />
Anzahl Punktspalten = m * 256 + n<br />
In einem 8-Punkt-Grafikmodus muss pro Punktspalte ein Datenbyte angegeben<br />
werden, in einem 24-Punkt-Grafikmodus werden pro Punktspalte drei Datenby-<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 161
Syntax der Grafikkommandos<br />
Grafikkommandos<br />
tes angegeben.<br />
i<br />
Der Abschnitt „Wirkungsweise der Grafikkommandos“ enthält weitere<br />
Hinweise zum Kommando ESC * (s) (n) (m).<br />
162 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Grafikkommandos<br />
Syntax der Grafikkommandos<br />
Beispiel:<br />
Anhand einer Schraffur werden die unterschiedlichen Punktdichten der Grafikmodi<br />
verdeutlicht. Im Hauptprogramm wird der Parameter s für das Kommando<br />
ESC * gesetzt. In den Unterprogrammen ACHTPUNKT und<br />
VIERUNDZWANZIG werden das Kommando ESC *, die Anzahl der Punktspalten<br />
(jeweils 100) sowie die Datenbytes (Verschlüsselung) der Schraffur (dezimal<br />
170 erfolgt von dezimal 85) ausgegeben.<br />
BEGINN<br />
DRUCKEZV("8 Punkt-Grafikmodi")<br />
SETZE m=0<br />
RUFE AUF ACHTPUNKT<br />
SETZE m=1<br />
RUFE AUF ACHTPUNKT<br />
SETZE m=2<br />
RUFE AUF ACHTPUNKT<br />
SETZE m=3<br />
RUFE AUF ACHTPUNKT<br />
SETZE m=4<br />
RUFE AUF ACHTPUNKT<br />
SETZE m=6<br />
RUFE AUF ACHTPUNKT<br />
DRUCKEZV<br />
DRUCKEZV("24 Punkt-Grafikmodi")<br />
SETZE m=32<br />
RUFE AUF VIERUNDZWANZIG<br />
SETZE m=33<br />
RUFE AUF VIERUNDZWANZIG<br />
SETZE m=38<br />
RUFE AUF VIERUNDZWANZIG<br />
SETZE m=39<br />
RUFE AUF VIERUNDZWANZIG<br />
SETZE m=40<br />
RUFE AUF VIERUNDZWANZIG<br />
ENDE<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 163
Syntax der Grafikkommandos<br />
Grafikkommandos<br />
BEGINN ACHTPUNKT<br />
DRUCKEZV("Parameter S=",S)<br />
DRUCKE(Zeichen(27), "*", Zeichen(S))<br />
DRUCKE(Zeichen(100,0))<br />
SETZE N=0<br />
WIEDERHOLE<br />
SETZE N=N+1<br />
DRUCKE(Zeichen(170), Zeichen(85))<br />
BIS N=50<br />
DRUCKEZV( )<br />
ENDE ACHTPUNKT<br />
BEGINN VIERUNDZWANZIG<br />
DRUCKEZV("Parameter S=",S)<br />
DRUCKE(Zeichen(27), "*", Zeichen(S))<br />
DRUCKE(Zeichen(100,0))<br />
SETZE N=0 WIEDERHOLE<br />
SETZE N=N+1<br />
DRUCKE(Zeichen(170), Zeichen(85))<br />
BIS N=150<br />
DRUCKEZV<br />
ENDE VIERUNDZWANZIG<br />
164 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Grafikkommandos<br />
Syntax der Grafikkommandos<br />
Ergebnis:<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 165
Syntax der Grafikkommandos<br />
Grafikkommandos<br />
Grafikmodus ’einfache Dichte’ einschalten<br />
ESC<br />
27<br />
1B<br />
K<br />
75<br />
4B<br />
(n)<br />
n<br />
n<br />
(m)<br />
m<br />
m<br />
Daten...<br />
Daten...<br />
Daten...<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Mit ESCK(n)(m) wird der 8-Punkt-Grafikmodus ’einfache Dichte’ eingeschaltet.<br />
Die Parameter n und m bestimmen die Anzahl der Punktspalten, die gedruckt<br />
werden sollen:<br />
Anzahl Punktspalten = m * 256 + n<br />
Pro Punktspalte muss ein Datenbyte angegeben werden.<br />
i<br />
– Der Abschnitt „Wirkungsweise der Grafikkommandos“ enthält weitere<br />
Hinweise zum Kommando ESC K (n) (m).<br />
– Mit ESC ? kann dem Kommando ESC K ein beliebiger Grafikmodus<br />
des Buch- und Belegdruckers zugeordnet werden.<br />
166 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Grafikkommandos<br />
Syntax der Grafikkommandos<br />
Grafikmodus ’doppelte Dichte’ einschalten<br />
ESC<br />
27<br />
1B<br />
L<br />
76<br />
4C<br />
(n)<br />
n<br />
n<br />
(m)<br />
m<br />
m<br />
Daten...<br />
Daten...<br />
Daten...<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Mit ESC L (n) (m) wird der 8-Punkt-Grafikmodus ’doppelte Dichte’ eingeschaltet.<br />
Die Parameter n und m bestimmen die Anzahl Punktspalten, die gedruckt werden<br />
sollen.<br />
Anzahl Punktspalten = m * 256 + n<br />
Pro Punktspalte muss ein Datenbyte angegeben werden.<br />
i<br />
– Der Abschnitt „Wirkungsweise der Grafikkommandos“ enthält weitere<br />
Hinweise zum Kommando ESC L (n) (m).<br />
– Mit ESC ? kann dem Kommando ESC L ein beliebiger Grafikmodus<br />
des Buch- und Belegdruckers zugeordnet werden.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 167
Syntax der Grafikkommandos<br />
Grafikkommandos<br />
Grafikmodus ’doppelte Dichte und doppelte Geschwindigkeit’<br />
ESC<br />
27<br />
1B<br />
Y<br />
89<br />
59<br />
(n)<br />
n<br />
n<br />
(m)<br />
m<br />
m<br />
Daten...<br />
Daten...<br />
Daten...<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Mit ESC Y (n) (m) wird der 8-Punkt-Grafikmodus ’einfache Dichte’ und ’doppelte<br />
Geschwindigkeit’ eingeschaltet.<br />
Die Parameter n und m bestimmen die Anzahl Punktspalten, die gedruckt werden<br />
sollen.<br />
Anzahl Punktspalten = m * 256 + n<br />
Pro Druckspalte muss ein Datenbyte angegeben werden.<br />
i<br />
– Der Abschnitt „Wirkungsweise der Grafikkommandos“ enthält weitere<br />
Hinweise zum Kommando ESC Y (n) (m).<br />
– Mit ESC ? kann dem Kommando ESC Y ein beliebiger Grafikmodus<br />
des Buch- und Belegdruckers zugeordnet werden.<br />
168 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Grafikkommandos<br />
Syntax der Grafikkommandos<br />
Grafikmodus ’vierfache Dichte’ einschalten<br />
ESC<br />
27<br />
1B<br />
Z<br />
90<br />
5A<br />
(n)<br />
n<br />
n<br />
(m)<br />
m<br />
m<br />
Daten...<br />
Daten...<br />
Daten...<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Mit ESC Z (n) (m) wird der 8-Punkt-Grafikmodus ’vierfache Dichte’ eingeschaltet.<br />
Die Parameter n und m bestimmen die Anzahl Punktspalten, die gedruckt werden<br />
sollen.<br />
Anzahl Punktspalten = m * 256 + n<br />
Pro Druckspalte muss ein Datenbyte angegeben werden.<br />
i<br />
– Der Abschnitt „Wirkungsweise der Grafikkommandos“ enthält weitere<br />
Hinweise zum Kommando ESC Z (n) (m).<br />
– Mit ESC ? kann dem Kommando ESC Z ein beliebiger Grafikmodus<br />
des Buch- und Belegdruckers zugeordnet werden.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 169
Syntax der Grafikkommandos<br />
Grafikkommandos<br />
Grafikkommando neu zuordnen<br />
ESC<br />
27<br />
1B<br />
?<br />
63<br />
3F<br />
m<br />
m<br />
m<br />
(s)<br />
s<br />
s<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Mit ESC ? m (s) kann den Grafikkommandos ESCK, ESCL, ESCY und ESC Z<br />
einer der Grafikmodi des Buch- und Belegdruckers zugeordnet werden.<br />
Für m muss die Kennung des Grafikkommandos als Zeichencode angegeben<br />
werden (K, L, Y oder Z). Der Parameter s kennzeichnet den Grafikmodus wie im<br />
Kommando ESC *.<br />
Beispiel:<br />
Das Beispiel demonstriert die Zuordnung des 24 Punkt-Grafikmodus ’doppelte<br />
Dichte’ (Kennung = 33) zum Kommando ESC K.<br />
BEGINN<br />
DRUCKE(Zeichen (27), “?K“, Zeichen (33))<br />
ENDE<br />
170 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zusatzkommandos (Drucker)<br />
Der Buch- und Belegdrucker kann Einfachbelege, Mehrfachbelege (Formularsätze)<br />
und Sparbücher verarbeiten.<br />
In diesem Kapitel werden spezielle Steuerkommandos (= Zusatzkommandos)<br />
für die Belegverarbeitung bzw. für die Bearbeitung der MSR-Daten erläutert, die<br />
nicht Bestandteil des Epson Befehlsumfanges sind.<br />
Die Beschreibung ist in folgende Hauptabschnitte unterteilt:<br />
– Hinweise zur Syntax der Zusatzkommandos<br />
– Allgemeine Hinweise zur Belegverarbeitung<br />
– Basiskommandos für die Belegverarbeitung<br />
– MSR-spezifische Kommandos<br />
Bestimmte Zusatzkommandos erlauben den Austausch von internen<br />
Statusinformationen, Fehlermeldungen oder Nutzdaten zwischen dem Druckwerk<br />
und dem Rechner. Die Datenübergabe vom Buch- und Belegdrucker zum<br />
Rechner erfolgt in Form von Rückmeldungen, die den gleichen Aufbau wie die<br />
Zusatzkommandos haben (CSI-Sequenzen).<br />
i<br />
Beispiele für die Programmierung der Zusatzkommandos in Abhängigkeit<br />
von der jeweiligen Aufgabenstellung befinden sich im Kapitel<br />
„Anwendungsbeispiele“.<br />
Beim Bedrucken von Belegen bestehen bestimmte Einschränkungen<br />
(zum Beispiel nicht bedruckbare Bereiche von Sparbüchern aufgrund<br />
der Sparbuchfalzung oder aufgrund von Sicherheitsabständen zu den<br />
horizontalen oder vertikalen Bezugskanten eines Beleges). Eine Nichtbeachtung<br />
dieser Einschränkung kann zu schlechter Druckqualität oder<br />
zu Zerstörung von Belegen führen. Die Einschränkungen beim Belegdruck<br />
müssen alle vom Anwender überwacht werden. Der Anhang „Papierspezifikation“<br />
enthält alle Angaben, welche Bereiche in Abhängigkeit<br />
von der jeweiligen Belegart bedruckt werden können bzw. nicht bedruckt<br />
werden dürfen. Die entsprechenden Millimeter-Angaben müssen<br />
bei der Parametrisierung der jeweiligen Zusatzkommandos berücksichtigt<br />
werden.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 171
Aufbau der Zusatzkommandos<br />
Zusatzkommandos (Drucker)<br />
Aufbau der Zusatzkommandos<br />
Im folgenden wird zunächst erläutert, aus welchen Bestandteilen sich Zusatzkommandos<br />
bzw. Rückmeldungen vom Buch- und Belegdrucker zusammensetzen.<br />
Allgemeines<br />
Zusatzkommandos zur Steuerung der Formularbearbeitung und Rückmeldungen<br />
haben generell folgenden syntaktischen Aufbau:<br />
CSI P1 ; ...; Pn I F<br />
Beschreibung:<br />
Bedeutung<br />
Wert/Wertebereich<br />
(Hex.)<br />
Bemerkung<br />
CSI<br />
(ESC [)<br />
Kommando<br />
Startzeichen<br />
1B 5B<br />
(ASCII)<br />
Startwert<br />
Pi<br />
Parameter<br />
30-39<br />
(ASCII)<br />
Optional<br />
;<br />
I<br />
Parametertrennzeichen<br />
Kommando<br />
Zwischenzeichen<br />
3B<br />
20-2F<br />
(ASCII)<br />
(ASCII)<br />
Wenn Anzahl<br />
Parameter > 1,<br />
dann zwingend<br />
F<br />
Kommando<br />
Endezeichen<br />
70-7E<br />
(ASCII)<br />
Endewert<br />
172 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zusatzkommandos (Drucker)<br />
Aufbau der Zusatzkommandos<br />
– CSI startet die Steuersequenz eines Zusatzkommandos bzw. die Sequenz<br />
von Rückmeldungen und steht für die Folge ESC [.<br />
– Die Parameter Pi sind bzgl. Anzahl und Anwendung abhängig vom jeweiligen<br />
Steuerbefehl. Numerische Parameterwerte werden als ASCII-Zeichen<br />
angegeben (im Gegensatz zu den ESC-Sequenzen der Standard-, Zeichensatz-<br />
und Grafikkommandos, bei denen numerische Werte in binär codierter<br />
Form an den Buch- und Belegdrucker gesendet werden). Führende Nullen<br />
brauchen nicht übertragen werden.<br />
– Mehrere Parameter werden untereinander durch ; (Semikolon) getrennt. Die<br />
Zuordnung eines Wertes zu einem Parameter ergibt sich dabei allein aus<br />
der Position innerhalb der Parameterfolge (Stellungsparameter).<br />
– Sind Parameter-Positionen nicht besetzt, so werden implizit die entsprechenden<br />
Default-Werte bzw. der Wert 0 gesetzt.<br />
– Auch wenn Parameterpositionen in einem CSI-Kommando nicht besetzt<br />
werden sollen, muss zwingend das Trennzeichen; auf der jeweiligen Parameterposition<br />
gesetzt werden.<br />
Beispiel:<br />
CSI P1;P2;P3 I F = vollständiges Kommando<br />
CSI ;P2; I F = P1, P3 sind Default-Werte<br />
CSI P1;;P3 I F = P2 ist Default-Wert<br />
– Intermediate- (I) und Final- (F) Character beenden die Steuersequenz oder<br />
eine Rückmeldung.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 173
Aufbau der Zusatzkommandos<br />
Zusatzkommandos (Drucker)<br />
Nutzdatenübergabe<br />
Die Übertragung der MSR-Daten erfolgt durch Anhängen einer STX....ETX-Folge<br />
an den jeweiligen CSI-Befehl:<br />
CSI ... I F STX...ETX<br />
STX<br />
ETX<br />
Bedeutung Wert Bemerkung<br />
Start of Text<br />
End of Text<br />
02 (ASCII)<br />
03 (ASCII)<br />
z. B. Start Daten vom OCR-<br />
Leser<br />
z. B. Ende einer Meldung<br />
vom Drucker<br />
Reaktion bei falschen Parametern<br />
In der Regel wird bei der Übertragung nichtdezimaler Parameter oder Parameter,<br />
die den angegebenen Wertebereich überschreiten, das entsprechende<br />
Zusatzkommando ignoriert. Das gleiche gilt, wenn durch Vertikalpositionierungen<br />
die eingestellten Formathöhen verletzt werden. Ausnahmen zu diesen Regeln<br />
werden ggf. bei der Beschreibung des entsprechenden Kommandos<br />
aufgeführt.<br />
Rückmeldungen<br />
Die Rückmeldungen des Buch- und Belegdruckers lassen sich in verschiedene<br />
Gruppen zusammenfassen:<br />
– Angeforderte Datenrückmeldung<br />
– Globaler Druckerstatus (GDS)<br />
– Spezielle Druckermessage (SDM).<br />
174 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zusatzkommandos (Drucker)<br />
Aufbau der Zusatzkommandos<br />
Angeforderte Datenrückmeldungen<br />
Angeforderte Datenrückmeldungen sind grundsätzlich dadurch gekennzeichnet,<br />
dass für jede Rückmeldung ein anfordernder Steuerbefehl von der Drukkersteuerung<br />
erkannt wurde (z. B. Anforderung = MSR-Spur lesen, Rückmeldung<br />
= MSR-Daten oder Fehlerkennungen). Die Bearbeitung dieser Steuerbefehle erfolgt<br />
seriell mit den übrigen Drucksteuerbefehlen.<br />
Der Zeitpunkt der Rückmeldung kann daher nicht genau spezifiziert werden. Er<br />
ist abhängig von internen Laufzeiten und den mechanischen Ausführungszeiten<br />
des Druckers.<br />
Globaler Druckerstatus / Spezielle Druckermeldungen<br />
Die Daten zum ’globalen Druckerstatus’ (GDS) beschreiben einen Zustandswechsel<br />
innerhalb der Druckersteuerung, die durch eine Ausnahmebedingung<br />
hervorgerufen wurde. Diese Ausnahmebedingungen können Fehler, Betriebsunterbrechungen<br />
oder Bedienfeldeingaben sein.<br />
Mit Hilfe der ’speziellen Druckermessage’ (SDM) werden diese Zustandswechsel<br />
näher spezifiziert.<br />
Nach einem ’Break’ auf der Druckerschnittstelle wird zusätzlich zum globalen<br />
Druckerstatus auch eine Rückmeldung ’Druckwerksparameter’ erzeugt, die Informationen<br />
zur Druckerkonfiguration enthält (zum Beispiel ’maximale Formularbreite’<br />
oder ’MSR-Funktion vorhanden/ nicht vorhanden’).<br />
Daten zum globalen Druckerstatus, spezielle Druckermeldungen oder Angaben<br />
zu den Druckwerksparametern treten spontan auf und werden in der Drucker-<br />
Schnittstelle solange auf einem Stapel abgelegt, bis sie vom System abgeholt<br />
werden.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 175
Aufbau der Zusatzkommandos<br />
Zusatzkommandos (Drucker)<br />
Hinweise zur Kommando-Beschreibung<br />
In der Einzelbeschreibung der CSI-Kommandos werden die Pi-Parameter wie<br />
folgt dargestellt:<br />
n<br />
: ein Parameter<br />
n1; n2;n3 : drei oder entsprechend viele Parameter<br />
n1; ... ; n5<br />
(0 - 9) : Wertebereich eines Parameters von 0-9 oder 0-99 oder<br />
0-999 usw.<br />
176 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zusatzkommandos (Drucker)<br />
Wichtige Hinweise zur Belegverarbeitung<br />
Wichtige Hinweise zur Belegverarbeitung<br />
Der Buch- und Belegdrucker kann Einfachbelege, Mehrfachbelege und Sparbücher<br />
verarbeiten. Optional kann die Belegdruckstelle noch mit einem Magnetstreifenleser<br />
(MSR) ausgerüstet sein.<br />
Die manuelle Belegvorlage wird durch eine automatische Belegausrichtung<br />
rechtsseitig unterstützt.<br />
Die Positionierung der Druckzeichen kann je nach Programmierung zu allen horizontalen<br />
und vertikalen Belegkanten erfolgen. Bei der Belegpositionierung ist<br />
der kleinste Grundschritt 1/180 Zoll. Die maximale Papiergeschwindigkeit beträgt<br />
ca. 70 Zeilen je Sekunde für Belege und Sparbücher.<br />
Der Drucker löst automatisch einen Belegeinzug aus, wenn ein Beleg vorgesteckt<br />
wird. Wenn der erste Druck- oder Positionierbefehl für einen Beleg erkannt<br />
wird, wird dieser auf die korrekte Bearbeitungsposition weitertransportiert.<br />
Empfängt der Drucker Daten, ohne dass in der Belegstation ein Blatt vorhanden<br />
ist, so wird der Bediener über die blinkende ’PAPER-LED’ am Bedienfeld zum<br />
Vorstecken eines Blattes aufgefordert.<br />
Für die Anwendungsprogrammierung ist die Wahl der horizontalen Bezugskante<br />
grundsätzlich beliebig. Der Unterschied besteht darin, dass für die horizontale<br />
Positionierung auf dem Beleg bzw. Sparbuch bei einer horizontalen Bezugskante<br />
links keine führenden Leerzeichen, bei einer horizontalen Bezugskante rechts<br />
führende Leerzeichen entsprechend der physikalischen Breite des Druckwerkes<br />
und des Beleges berücksichtigt werden müssen. Alternativ zur Verwendung von<br />
führenden Leerzeichen kann entsprechend der linke Rand gesetzt werden<br />
(ESC l (n)).<br />
Wo hohe Positionierungsgenauigkeit gefordert wird, sollte mit möglichst wenigen<br />
Kommandos die gewünschte Druckposition angefahren werden.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 177
Wichtige Hinweise zur Belegverarbeitung<br />
Zusatzkommandos (Drucker)<br />
Zeichenbox<br />
Die druckbaren Bereiche auf Belegen beziehen sich einerseits auf die äußeren<br />
Beleg- bzw. Sparbuchkanten sowie Schuppungskanten und Falze, andererseits<br />
auf die Zeichenbox der Druckzeichen (siehe auch Anhang „Papierspezifikation“).<br />
Definition ’Zeichenbox’<br />
Die Zeichenbox stellt ein Rechteck dar, dessen Breite durch die gewählte<br />
Zeichenteilung vorgegeben ist:<br />
10 Zeichen/Zoll : Breite = 1/10 Zoll = 2,54 mm<br />
12 Zeichen/Zoll : Breite = 1/12 Zoll = 2,12 mm<br />
15 Zeichen/Zoll : Breite = 1/15 Zoll = 1,69 mm<br />
Breite der Zeichenbox bei Proportionalschrift von 1,27 mm bis 2,96 mm<br />
Die Höhe der Zeichenbox ist durch den vertikalen Abstand der obersten und untersten<br />
Nadel definiert (beim Buch- und Belegdrucker 3,5 mm). Innerhalb dieser<br />
Zeichenbox kann jeder Punkt durch eine Nadel bedruckt (geschwärzt) werden<br />
.<br />
178 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zusatzkommandos (Drucker)<br />
Wichtige Hinweise zur Belegverarbeitung<br />
i<br />
Bei der Definition der bedruckbaren Bereiche in diesem Abschnitt wird<br />
immer auf die hier definierte Zeichenbox Bezug genommen. Der in den<br />
entsprechenden Abbildungen der druckbaren Bereiche verwendete<br />
Großbuchstabe ’H’ dient lediglich als Platzhalter für alle Druckzeichen.<br />
Beim Buch- und Belegdrucker ist die Lage von Druckzeichen innerhalb der Zeichenbox<br />
horizontal und vertikal nicht generell festgelegt (EPSON-Kompatibilität).<br />
Es ist daher sinnvoll, sich für horizontale Sicherheitsabstände auf die<br />
vertikalen Kanten der Zeichenbox (linke bzw. rechte Zeichenboxbegrenzung) zu<br />
beziehen. Bei vertikalen Sicherheitsabständen empfiehlt es sich, als Bezugslinie<br />
die Grundlinie der Druckzeichen zu wählen. Grundlinie ist die Linie, die bei<br />
Großbuchstaben durch Drucken der untersten verwendeten Nadel gezogen<br />
wird. Beim Buch- und Belegdrucker ist dies für Standardzeichenfonts bei den<br />
Zeichenteilungen 10 und 12 Zeichen/Zoll in der Regel die Nadel 20 (Nadel 1 erscheint<br />
oben, Nadel 24 erscheint unten im Druckbild).<br />
Bezugslinien der Zeichenbox<br />
Definition 1:<br />
Die Bezugslinie für horizontale Positionierungen beim Buch- und Belegdrucker<br />
ist die linke Zeichenboxbegrenzung. Die im folgenden angegebenen Abstände<br />
zu Bezugslinien, die links vom Druckzeichen liegen, nehmen ebenfalls Bezug<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 179
Wichtige Hinweise zur Belegverarbeitung<br />
Zusatzkommandos (Drucker)<br />
auf die linke Zeichenboxbegrenzung. Die im folgenden angegebenen Abstände<br />
zu Bezugslinien, die rechts vom Druckzeichen liegen, nehmen Bezug auf die<br />
rechte Zeichenboxbegrenzung.<br />
Definition 2:<br />
Die Bezugslinie für vertikale Positionierungen beim Buch- und Belegdrucker ist<br />
die Grundlinie (Nadel 20). Die in dieser Dokumentation angegebenen Abstandsangaben<br />
zwischen Druckzeichen und Bezugslinien oberhalb und unterhalb der<br />
Druckzeichen nehmen immer Bezug auf diese Grundlinie.<br />
Für Messungen der linken und rechten Zeichenboxbegrenzung werden Druckzeichen<br />
empfohlen, die sich vom linken bis zum rechten Rand der Zeichenbox<br />
erstrecken (zum Beispiel durchgehender waagerechter Strich (Hex. 2Dh) oder<br />
Blockgrafikzeichen). Für Messungen der Grundlinie werden die Großbuchstaben<br />
empfohlen.<br />
Horizontale Positionierung<br />
Bei der horizontalen Positionierung des Druckkopfes muss logisch zwischen der<br />
horizontalen Bezugskante links und der horizontalen Bezugskante rechts unterschieden<br />
werden.<br />
Für die Anwendungsprogrammierung besteht der Unterschied darin, dass für<br />
die horizontale Positionierung auf dem Beleg bzw. auf dem Sparbuch bei der horizontalen<br />
Bezugskante rechts die Druckpositionen des jeweiligen Dokumentes<br />
auf die Druckpositionen des Druckwerkes umgerechnet, also die physikalische<br />
Breite des Druckwerkes und des Beleges berücksichtigt werden müssen. Falls<br />
führende Leerzeichen in einer Druckzeile notwendig sind, kann der linke Rand<br />
entsprechend ersetzt werden (ESC l (n)).<br />
180 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zusatzkommandos (Drucker)<br />
Wichtige Hinweise zur Belegverarbeitung<br />
Horizontale Druckposition 0<br />
Bei einer horizontalen Bezugskante links ist die linke Belegkante bei allen Zeichenteilungen<br />
identisch mit der Druckposition 0, falls nicht mit dem Standardkommando<br />
ESC l (n) ein linker Rand gesetzt wurde (siehe dazu nächsten<br />
Unterabschnitt „Position 0 nach ESC l (n)“). Wurde kein linker Rand gesetzt,<br />
liegt die linke Zeichenboxbegrenzung des ersten möglichen Druckzeichens auf<br />
der linken Belegkante:<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 181
Wichtige Hinweise zur Belegverarbeitung<br />
Zusatzkommandos (Drucker)<br />
Bei einer horizontalen Bezugskante rechts liegt die rechte Zeichenboxbegrenzung<br />
des 90. Zeichens (bei einer Zeichenteilung von 10/Zoll) auf der rechten Belegkante.<br />
Das heißt, dass die Druckposition 89 des 90. Zeichens 1/10 Zoll links<br />
von der rechten Belegkante liegt (Zählweise: Druckposition 0 für das 1. Zeichen,<br />
Druckposition 1 für das 2. Zeichen usw.). Bei einer Zeichenteilung von 12 Zeichen/Zoll<br />
liegt die Druckposition 107 für das 108. Zeichen entsprechend 1/12<br />
Zoll links von der rechten Belegkante:<br />
Ausgehend von diesen Angaben lässt sich die Druckposition 0 durch Rückwärtsrechnung<br />
ermitteln, wobei immer von der Druckwerksbreite von 90/10 Zoll<br />
ausgegangen werden muss.<br />
182 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zusatzkommandos (Drucker)<br />
Wichtige Hinweise zur Belegverarbeitung<br />
Position 0 nach ESC l (n)<br />
Die horizontale Druckposition 0 verändert sich, wenn durch das Standard kommando<br />
ESC l (n) ein linker Rand gesetzt wurde. In diesem Fall verschiebt sich<br />
der linke Rand (= Horizontale Druckposition 0) um den Wert n nach rechts. Entsprechend<br />
muss dies bei der Ermittlung der tatsächlichen Druckposition 0 nach<br />
folgender Tabelle berücksichtigt werden (Druckwerksbreite 90/10 Zoll):<br />
Logische<br />
Bezugskante<br />
Links<br />
Links<br />
Rechts<br />
Rechts<br />
Linker<br />
Rand<br />
gesetzt<br />
n = 0<br />
n > 0<br />
n = 0<br />
n > 0<br />
Position 0<br />
Linke Belegkante<br />
Linke Belegkante + n<br />
Rechte Belegkante -Druckwerksbreite<br />
Rechte Belegkante -Druckwerksbreite + n<br />
Vertikale Positionierung<br />
Die vertikale Druckposition ist der Abstand von der oberen oder unteren Belegkante<br />
zu Grundlinie eines Zeichens.<br />
Positionierung der 1. Druckzeile<br />
Über das Bedienfeld ist die vertikale Druckanfangsposition in einem Bereich von<br />
10/60 Zoll (Zeile 1) bis 80/60 Zoll (Zeile 8) einstellbar. Default-Einstellung ist 30/<br />
60 Zoll (Zeile 3) bei einem Zeilenbezug von 10/60 Zoll. Diese Position ist nach<br />
einem Belegauswurf (FF) gültig, kann aber jederzeit durch Positionierbefehle<br />
überschrieben werden.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 183
Wichtige Hinweise zur Belegverarbeitung<br />
Zusatzkommandos (Drucker)<br />
Vertikale Druckposition 0<br />
Bei der absoluten vertikalen Positionierung des Druckkopfes ist zu unterscheiden<br />
zwischen den Bezugskanten ’obere Belegkante’ (Kopfbezug) und ’untere<br />
Belegkante’ (Fußbezug). Dafür stehen zwei Zusatz kommandos CSI n ! p (absolute<br />
Vertikalpositionierung von oberer Formularkante) und CSI n " p (absolute<br />
Vertikalpositionierung von unterer Formularkante) zur Verfügung. Durch den<br />
Parameter n erfolgt eine entsprechende vertikale Positionierung um n/180 Zoll.<br />
Bei beiden Positionierungsarten liegt die Grundlinie bei der vertikalen Druckposition<br />
0 auf der entsprechenden Belegkante.<br />
Absolute Vertikalpositionierung (Kopfbezug):<br />
1 Zulässig ist n ≥ 1; n=0 ergibt eine Fehlemeldung<br />
184 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zusatzkommandos (Drucker)<br />
Wichtige Hinweise zur Belegverarbeitung<br />
Absolute Vertikalpositionierung (Fußbezug):<br />
1 Zulässig ist n ≥ 1; n = 0 ergibt eine Fehlermeldung.<br />
Wahl der vertikalen Bezugskante<br />
Bei Verarbeitung von Formularen und Belegen, deren Zeilen sich auf den Belegkopf<br />
beziehen (Kopfbezug), sollte aus Performancegründen darauf geachtet<br />
werden, dass die Textzeilen von oben nach unten abgearbeitet werden. Bei<br />
Kopfbezug ist die Vorzugsrichtung des Druckers die Vorwärtsbewegung (Einzugsrichtung).<br />
Bei fußbezogen aufgebauten Formularen ist die Vorzugsrichtung<br />
die Rückwärtsbewegung (Auswurfrichtung), so dass hier von unten nach oben<br />
gearbeitet werden sollte.<br />
Es steht dem Anwender frei, innerhalb des Formulars eine Umschaltung von<br />
Fußbezug auf Kopfbezug vorzunehmen.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 185
Wichtige Hinweise zur Belegverarbeitung<br />
Zusatzkommandos (Drucker)<br />
Gemischte Verwendung von Zeichenfonts<br />
Sollen in der gleichen Textzeile unterschiedliche Zeichenfonts benutzt werden,<br />
ist darauf zu achten, dass die jeweiligen Fonts die gleiche Matrixauflösung aufweisen,<br />
um Performanceverluste zu verhindern.<br />
Bedruckbare Belegbereiche<br />
Beim Bedrucken von Belegen darf nicht auf die Belegkanten bzw. andere Unebenheiten<br />
eines Beleges (z. B. Falz oder Schuppung) gedruckt werden, um Beschädigungen<br />
des Beleges oder des Druckkopfes zu vermeiden. Bei der<br />
Sparbuchverarbeitung muss zusätzlich die physikalische Lage der Abtastrolle<br />
am Druckkopf berücksichtigt werden. Zusätzlich ist zu beachten, dass Papierwölbungen<br />
und hochstehende Belegecken zu Störungen führen können.<br />
Im Anhang „Papierspezifikation“ werden die Einschränkungen der bedruckbaren<br />
Belegbereiche für Einzelbelege und Sparbücher bzw. Mehrfachbelege beschrieben.<br />
Alle Einschränkungen müssen beim Belegdruck vom Anwender überwacht werden.<br />
Wenn die angegebenen Sicherheitsabstände zu den horizontalen und vertikalen<br />
Bezugskanten eingehalten werden, können eventuelle Toleranzen (Belegkantenerkennung,<br />
Schiefzug) abgefangen werden.<br />
186 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zusatzkommandos (Drucker)<br />
Basiskommandos zur Formularverarbeitung<br />
Basiskommandos zur Formularverarbeitung<br />
Durch folgende Steuerkommandos kann die Belegverarbeitung gesteuert werden:<br />
Kommando<br />
ESC [ n $ p<br />
ESC [ n # q<br />
ESC [ n ! p<br />
ESC [ n “ p<br />
ESC [ n # p<br />
ESC [ “ t<br />
ESC [ # t<br />
ESC [ n $ t<br />
ESC [ n % t<br />
ESC [ n ( t<br />
ESC [ n * t<br />
ESC [ n , t<br />
Funktion<br />
Papierzuführung des Beleges<br />
Auswahl von Schriftarten/Zeichensätzen<br />
Absolute Vertikalpositionierung von oberer Formularkante<br />
Absolute Vertikalpositionierung von unterer Formularkante<br />
Relative Vertikalpositionierung rückwärts<br />
Belegbreite anfordern<br />
Belegkantenerkennung<br />
Sparbuchverarbeitung aktivieren<br />
Vorgabe der horizontalen Bezugskante<br />
Mode-Umschaltung für Papierende-Behandlung<br />
Doppelplatzsteuerung<br />
Multi Part<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 187
Basiskommandos zur Formularverarbeitung<br />
Zusatzkommandos (Drucker)<br />
Papierzuführung des Beleges<br />
CSI<br />
n<br />
$<br />
p<br />
Name<br />
ESC<br />
27<br />
1B<br />
[<br />
91<br />
5B<br />
n<br />
n<br />
n<br />
$<br />
36<br />
24<br />
p<br />
112<br />
70<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Parameter:<br />
n = 0 :<br />
n = 1 :<br />
Auswurf eines Beleges<br />
Einzug eines Beleges auf die Grundlinie der logisch ersten Zeile, die<br />
über das Menü des Buch- und Belegdruckers (Top of Form)<br />
einstellbar ist.<br />
Funktion:<br />
Mit diesem Befehl wird direkt eine entsprechende mechanische Aktion eingeleitet.<br />
Der Auswurfvorgang bezieht sich auch auf Belege, die nur vorgesteckt waren,<br />
und auf denen noch kein Einzug bzw. Druckvorgang ausgeführt wurde.<br />
Wird dieses Kommando zum Auswerfen von Belegen benutzt (n = 0), ist zu beachten,<br />
dass nach dem Auswurf die aktuelle logische Position außerhalb des<br />
Formulars steht. Deshalb muss hier vor Übergabe neuer Druckzeichen eine<br />
neue Druckanfangsposition eingestellt werden, zum Beispiel durch Verwendung<br />
der Kommandos FF (Belegauswurf) oder durch Papierzuführung des Beleges<br />
(Positionierung auf Grundlinie der logisch ersten Zeile, siehe Definition zur Default-Positionierung<br />
bei Einzug) oder mit dem Kommando ’Absolute Vertikalpositionierung’.<br />
i<br />
Dieser Steuerbefehl ist druckauslösend für Zeichen, die noch im Druckpuffer<br />
vorhanden sind. Er führt unmittelbar zu einer mechanische Vertikalbewegung,<br />
die über einen Kontrollzyklus abgesichert werden kann.<br />
Weil durch den Einzugsbefehl eine mechanische Bewegungsoptimierung<br />
umgangen wird, sollte dieser Steuerbefehl nur benutzt werden,<br />
wenn der Einzugsvorgang getrennt über Kontrollzyklen abgesichert<br />
werden muss.<br />
188 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zusatzkommandos (Drucker)<br />
Basiskommandos zur Formularverarbeitung<br />
Auswahl von Schriftarten/Zeichensätzen<br />
CSI<br />
n<br />
#<br />
q<br />
Name<br />
ESC<br />
27<br />
1B<br />
[<br />
91<br />
5B<br />
n<br />
n<br />
n<br />
#<br />
35<br />
23<br />
q<br />
113<br />
71<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Parameter:<br />
n = Schriftarten- bzw. Zeichensatz- bzw. Fontnummer (n = 0 bis 9999)<br />
Die Fontnummer wird bei der Entwicklung eines spezifischen Zeichensatzes fest<br />
vergeben.<br />
Funktion:<br />
Über diesen Befehl können über eine Schriftarten- oder Zeichensatznummer n<br />
spezielle Zeichensätze (Fonts) ausgewählt werden, die nicht zu den Standard-<br />
Zeichensätzen des Epson-Protokolls gehören.<br />
Auf diese Weise lassen sich Erweiterungen realisieren, ohne in Konflikt mit heutigen<br />
und zukünftigen Definitionen des Standard-Epson-Protokolls zu kommen.<br />
i<br />
– Sollte ein Zeichensatz unter der angegebenen Nummer nicht Bestandteil<br />
des Zeichensatzumfangs im Druckwerk sein, wird automatisch<br />
auf die Standard-Zeichensätze umgeschaltet. Das gleiche gilt,<br />
wenn der Zeichensatz unter der angegebenen Nummer nicht die vorher<br />
eingestellte Zeichendichte enthält.<br />
– Die über CSI n # q ausgewählten Zeichensätze bieten nicht die Möglichkeit,<br />
benutzerdefinierte Zeichen zu erstellen.<br />
– Nach Initialisierung des Druckers wird ebenfalls auf die Standard Epson-Zeichensätze<br />
umgeschaltet.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 189
Basiskommandos zur Formularverarbeitung<br />
Zusatzkommandos (Drucker)<br />
– Die Standardbestückung der Zeichenfonts für den Buch- und Belegdrucker<br />
beinhaltet folgende Bereiche:<br />
DQ-Bereich =<br />
LQ-Bereich =<br />
DQ<br />
1. Roman<br />
2. Sans-Serif<br />
3. OCR-A (OCR-A1 Eurobanking)<br />
4. OCR-B (OCR-B1 Eurobanking)<br />
– Die Fonts DQ, Roman und Sans Serif können mit den Standardkommandos<br />
’Umschalten Druckqualität’ (ESC x (n)) und ’LQ-Schrifttyp auswählen’<br />
(ESC k (n)) angewählt werden. Die Fonts OCR-A, OCR-B und ISO 8859<br />
sind dagegen nur über das Zusatzkommando ’Auswahl von Schriftarten/Zeichensätzen’<br />
(CSI n # q) anwählbar. Die folgende Tabelle enthält die notwendigen<br />
Zeichensatz- bzw. Fontnummern:<br />
Font<br />
Fontnummer<br />
OCR-A n = 900<br />
OCR-B n = 901<br />
Roman ISO 8859 n = 600 (nur im Font CP15_437)<br />
Sans-Serif ISO 8859 n = 601 (nur im Font CP15_437)<br />
DQ ISO 8859<br />
n = 602 (nur im Font CP15_437)<br />
Die Anwahl der Ländervarianten für den ISO 8859-Zeichensatz erfolgt mit dem<br />
Kommando ’Nationalen Zeichensatz auswählen’ (ESC R (n)):<br />
Font<br />
Ländervarianten<br />
ISO 8859-2 Osteuropa n = 0<br />
ISO 8859-5 Kyrillisch n = 1<br />
ISO 8859-7 Griechenland n = 2<br />
ISO 8859-8 Hebräisch n = 3<br />
ISO 8859-9 Türkei n = 4<br />
ISO 8859-15 Euro n = 5<br />
Die Zeichensätze für OCR-A, OCR-B und ISO 8859 sind im Anhang „Zeichensatztabellen“<br />
aufgeführt.<br />
190 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zusatzkommandos (Drucker)<br />
Basiskommandos zur Formularverarbeitung<br />
– Vor der Anwendung des Kommandos CSI n # q muss der Drucker in jedem<br />
Fall auf ’LQ-Druckqualität’ geschaltet sein (ESC x (n)). Im übrigen werden<br />
die über dieses Kommando ausgewählten Zeichenfonts wie normale LQ-<br />
Schrifttypen behandelt, das heißt, dass alle Standardkommandos (Druckqualität<br />
und Zeichengröße, Druckarten) auch auf diese Fonts in der im Kapitel<br />
„Standardkommandos“ beschriebenen Weise wirken. Es findet also<br />
keine Sonderbehandlung statt.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 191
Basiskommandos zur Formularverarbeitung<br />
Zusatzkommandos (Drucker)<br />
Absolute Vertikalpositionierung<br />
Bezugskante = oberer Formular-Rand<br />
CSI<br />
n<br />
!<br />
p<br />
Name<br />
ESC<br />
27<br />
1B<br />
[<br />
91<br />
5B<br />
n<br />
n<br />
n<br />
!<br />
33<br />
21<br />
p<br />
112<br />
70<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Bezugskante = unterer Formular-Rand<br />
CSI<br />
n<br />
"<br />
p<br />
Name<br />
ESC<br />
27<br />
1B<br />
[<br />
91<br />
5B<br />
n<br />
n<br />
n<br />
"<br />
34<br />
22<br />
p<br />
112<br />
70<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Parameter:<br />
n = Positionierung in vertikaler Richtung um n/180 Zoll (n = 1 bis 9999)<br />
Die zulässige Obergrenze des Parameterwertes ist durch die eingestellte Beleghöhe<br />
vorgegeben.<br />
192 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zusatzkommandos (Drucker)<br />
Basiskommandos zur Formularverarbeitung<br />
Funktion:<br />
Für die Belegverarbeitung stehen zwei Befehle zur absoluten vertikalen Positionierung<br />
(y-Koordinate) des Schreibkopfes auf einem Formular zur Verfügung.<br />
Generell gilt für beide Befehle, dass sie nach Übertragung zum Drucker die Ausgabe<br />
der noch im Druckpuffer befindlichen Zeichen bewirken. Die angeforderte<br />
Vertikalbewegung wird erst dann mechanisch ausgeführt, wenn anschließend<br />
neue Schreibaufträge auf der Belegstation durchgeführt werden.<br />
Für die beiden Kommandos zur absoluten vertikalen Positionierung sind folgende<br />
Unterschiede sind zu beachten:<br />
– Bei der absoluten Vertikalpositionierung bezogen auf den oberen Formular-<br />
Rand (CSI n ! p) wird durch n/180 Zoll der Abstand vom oberen Formular-<br />
Rand bis zur Grundlinie einer Zeile angegeben.<br />
– Bei der absoluten Vertikalpositionierung bezogen auf den unteren Formular-<br />
Rand (CSI n " p) wird durch n/180 Zoll der Abstand vom unteren Formular-<br />
Rand zur Grundlinie einer Zeile ausgegeben.<br />
Für diese Befehle ist das Druckwerk des Buch- und Belegdruckers mit einer Einrichtung<br />
zur Erkennung der Formularkanten ausgestattet.<br />
i<br />
Die ’Grundlinie einer Zeile’ wird im Abschnitt „Wichtige Hinweise zur<br />
Belegverarbeitung“ definiert.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 193
Basiskommandos zur Formularverarbeitung<br />
Zusatzkommandos (Drucker)<br />
Relative Vertikalpositionierung rückwärts<br />
CSI<br />
n<br />
#<br />
p<br />
Name<br />
ESC<br />
27<br />
1B<br />
[<br />
91<br />
5B<br />
n<br />
n<br />
n<br />
#<br />
35<br />
23<br />
p<br />
112<br />
70<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Parameter:<br />
n = Rückwärtspositionierung in vertikaler Richtung um n/180 Zoll (n = 0 bis 9999)<br />
Die zulässige Obergrenze des Parmeterwertes ist durch die eingestellte Beleghöhe<br />
und die aktuelle Zeilenposition vorgegeben.<br />
Funktion:<br />
Durch den Befehl CSI n # p wird relativ zur Grundlinie der aktuellen Zeile eine<br />
Positionierung um n/180 Zoll rückwärts vorgenommen.<br />
Nach Übertragung des Befehls werden zunächst alle Zeichen ausgegeben, die<br />
sich noch im Druckpuffer befinden.<br />
194 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zusatzkommandos (Drucker)<br />
Basiskommandos zur Formularverarbeitung<br />
Belegbreite anfordern<br />
Kommando:<br />
CSI<br />
"<br />
t<br />
Name<br />
ESC<br />
27<br />
1B<br />
[<br />
91<br />
5B<br />
"<br />
34<br />
22<br />
t<br />
116<br />
74<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Rückmeldung:<br />
CSI<br />
n<br />
"<br />
t<br />
Name<br />
ESC<br />
27<br />
1B<br />
[<br />
91<br />
5B<br />
n<br />
n<br />
n<br />
"<br />
34<br />
22<br />
t<br />
116<br />
74<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
n = Belegbreite des aktuellen Formates in n/180 Zoll<br />
Funktion:<br />
Durch den Steuerbefehl CSI " t wird die Druckersteuerung veranlasst, dem Programm<br />
Informationen über die Breite des momentan in der Bearbeitung befindlichen<br />
Beleges zu übermitteln.<br />
Ist der Druckersteuerung die Breite des Beleges zu diesem Zeitpunkt noch nicht<br />
bekannt, wird ein Messvorgang zur Ermittlung der Belegbreite durchgeführt.<br />
Die Rückmeldung CSI n " t hat den gleichen Aufbau wie der anfordernde Befehl<br />
ergänzt um den Parameter n, der die ermittelte Belegbreite des Formulars mit<br />
dem Maß ’n/180 Zoll’ kennzeichnet. ’n’ kann im Bereich von 0 bis 9999 liegen.<br />
i<br />
Der durch CSI " t übermittelte Parameter n kann im Programm z. B. als<br />
Schalter zum Aufruf der entsprechenden Formatierungs- und Druckausgabe-Routinen<br />
abhängig von der Formularart genutzt werden.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 195
Basiskommandos zur Formularverarbeitung<br />
Zusatzkommandos (Drucker)<br />
Belegkantenerkennung<br />
CSI<br />
#<br />
t<br />
Name<br />
ESC<br />
27<br />
1B<br />
[<br />
91<br />
5B<br />
#<br />
35<br />
23<br />
t<br />
116<br />
74<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
wird im Buch- und Belegdrucker ignoriert.<br />
196 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zusatzkommandos (Drucker)<br />
Basiskommandos zur Formularverarbeitung<br />
Sparbuchverwaltung aktivieren<br />
CSI<br />
n<br />
$<br />
t<br />
Name<br />
ESC<br />
27<br />
1B<br />
[<br />
91<br />
5B<br />
n<br />
n<br />
n<br />
$<br />
36<br />
24<br />
t<br />
116<br />
74<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
wird im Buch- und Belegdrucker ignoriert.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 197
Basiskommandos zur Formularverarbeitung<br />
Zusatzkommandos (Drucker)<br />
Vorgabe der horizontalen Bezugskante<br />
CSI<br />
n<br />
%<br />
t<br />
Name<br />
ESC<br />
27<br />
1B<br />
[<br />
91<br />
5B<br />
n<br />
n<br />
n<br />
%<br />
37<br />
25<br />
t<br />
116<br />
74<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Parameter:<br />
n = Schalter für horizontale Bezugskante<br />
n = 0 : Linksbündig; Default-Wert<br />
n = 1 : Rechtsbündig<br />
Funktion:<br />
Durch CSI n % t wird der Druckersteuerung mitgeteilt, auf welche horizontale<br />
Kante sich die folgenden Druckaufträge beziehen sollen (siehe dazu Abschnitt<br />
„Wichtige Hinweise zur Belegverarbeitung“, Unterabschnitt „Horizontale Positionierung“<br />
in diesem Kapitel).<br />
i<br />
– Nach Empfang des Kommandos CSI n % t werden zunächst alle Zeichen<br />
gedruckt, die noch im Druckpuffer vorhanden sind.<br />
– Wird die horizontale Bezugskante rechts ausgewählt (n = 1), so<br />
muss der linke Rand logisch in Abhängigkeit von der physikalischen<br />
Belegbreite und der Druckwerkbreite (90 Zeichen à 1/10<br />
Zoll) festgesetzt werden (z. B. durch ESC l (n)) oder eine entsprechende<br />
Anzahl von führenden Leerzeichen berücksichtigt werden<br />
(z. B. durch entsprechende Aufbereitung der Druckdaten oder<br />
durch entsprechende Punktpositionierung).<br />
198 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zusatzkommandos (Drucker)<br />
Basiskommandos zur Formularverarbeitung<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 199
Basiskommandos zur Formularverarbeitung<br />
Zusatzkommandos (Drucker)<br />
Mode-Umschaltung für Papierende-Behandlung<br />
CSI<br />
n<br />
(<br />
t<br />
Name<br />
ESC<br />
27<br />
1B<br />
[<br />
91<br />
5B<br />
n<br />
n<br />
n<br />
(<br />
40<br />
28<br />
t<br />
116<br />
74<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
n = Schalter für Art der Mode-Umschaltung<br />
n = 0 : Manuell; Default-Wert<br />
n = 1 : Automatisch<br />
Funktion:<br />
Durch CSI n ( t kann in Abhängigkeit des Parameters n das Verhalten des<br />
Druckwerkes bei folgenden Fehlern (Fatal Errors) beeinflusst werden:<br />
PAPIER LÄNGE<br />
FEHLER<br />
PAPIERBREITE<br />
Papierende innerhalb eines Formulars:<br />
Obere oder untere Belegkante wurde überfahren<br />
wegen falschem Belegformat oder fehlerhafter<br />
Programmierung.<br />
Druckauftrag überschreitet die rechte Belegkante.<br />
200 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zusatzkommandos (Drucker)<br />
Basiskommandos zur Formularverarbeitung<br />
n = 0 :<br />
n = 1 :<br />
Manuelle Fehlerbehandlung<br />
Nach einem Fehler muss der Bediener am Bedienfeld des Druckers<br />
den Fehler löschen und den Drucker wieder in den ONLINE-Status<br />
bringen (siehe Bedienungsanleitung).<br />
Automatische Fehlerbehandlung<br />
Nach einem Fehler werden folgende Aktionen vom Druckwerk<br />
ausgeführt:<br />
– Sperren der Druckerschnittstelle für weitere Daten;<br />
– Rückmeldung ’Globaler Druckerstatus’ in der Codierung CSI n ! z<br />
mit n = 2 (ERROR);<br />
– Rückmeldung ’Spezielle Druckermeldung’ in der Codierung<br />
CSI n; m " z mit n = 2 (KEIN PAPIER);<br />
– Papierauswurf, Löschen aller Druckpuffer, Einstellung von Standardparametern;<br />
– Rückmeldung ’Globaler Druckerstatus’ in der Codierung CSI n ! z<br />
mit n = 0 (ONLINE);<br />
– Freigabe der Schnittstelle zur Übertragung neuer Daten.<br />
Der Bediener braucht den Fehlerzustand nicht mehr am Druckwerk<br />
zu beheben. Für den Systemtreiber ist das Druckwerk allerdings<br />
nach einer kurzen Pause (Auswurf des Beleges) wieder im<br />
ONLINE-Status und damit ansprechbar.<br />
i<br />
Der Default-Wert n= 0 (Manuelle Fehlerbehandlung) wird nach dem<br />
Einschalten des Druckers gültig. Andere Steuerkommandos, Initialisierungen<br />
oder Fehlerzustände verändern diesen Parameter nicht.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 201
Basiskommandos zur Formularverarbeitung<br />
Zusatzkommandos (Drucker)<br />
Anwendung:<br />
Steuerung beim Druck von Listen auf Belegen mit unbekannten Beleglängen.<br />
Das Programm generiert zu jeder Druckzeile einen Kontrollpunkt mit einem eindeutig<br />
gekennzeichneten Parameter (zum Beispiel Zeilennummer). Im Fehlerfall<br />
werden die noch nicht ausgedruckten Zeilen im Drucker und im Systemtreiber<br />
gelöscht. Das Programm kann nun anhand der zurückgemeldeten Kontrollpunkte<br />
den Aufsetzpunkt nach einem Papierende ermitteln. Damit können die Daten<br />
für den nächsten Beleg formatiert und zum Drucker übertragen werden.<br />
Da das Druckwerk automatisch wieder in den ONLINE-Status zurückkehrt, kann<br />
der Operator durch Vorstecken eines neuen Beleges die Arbeit fortsetzen.<br />
Die Fehlermeldung über das Bedienfeld des Druckers und das Drücken der<br />
STOP-Taste durch den Bediener entfällt.<br />
202 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zusatzkommandos (Drucker)<br />
Basiskommandos zur Formularverarbeitung<br />
Doppelplatzsteuerung<br />
CSI<br />
n<br />
*<br />
t<br />
Name<br />
ESC<br />
27<br />
1B<br />
[<br />
91<br />
5B<br />
n<br />
n<br />
n<br />
*<br />
42<br />
2A<br />
t<br />
116<br />
74<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Parameter:<br />
Doppelplatzsteuerung USER1-LED USER2-LED<br />
n = 0 : deaktiviert; Default-Wert<br />
n = 1 : aktiviert aus aus<br />
n = 2 : aktiviert an aus<br />
n = 3 : aktiviert aus an<br />
n = 4 : aktiviert an an<br />
Funktion:<br />
Mit diesem Befehl kann die ’Doppelplatzsteuerung’ für den Buch- und Belegdrucker<br />
aktiviert werden. Auf diese Weise kann die Steuerung von Arbeitsplätzen,<br />
die einen gemeinsamen Drucker nutzen, synchronisiert werden.<br />
Im Anwendungsprogramm können mit Hilfe des Befehls CSI n ∗ t die LEDs<br />
USER1 und USER2 geschaltet werden, zum Beispiel um zu signalisieren, welcher<br />
Auftrag bearbeitet wird oder welcher Bediener ein Formular einlegen soll.<br />
Um Rückmeldung vom jeweiligen Bediener zu erhalten, kann über die ’Speziellen<br />
Druckermeldungen’ die Betätigung der Taste USER 1 bzw. USER 2 abgefragt<br />
werden (Anforderung über CSI " z, siehe Abschnitt „Status- und<br />
Fehlermeldungen“ in diesem Kapitel).<br />
i<br />
– Um eine ’Spezielle Druckermeldung’ über den Zustand der Taste<br />
USER 1 bzw. USER 2 zu erhalten, muss die ’Doppelplatzsteuerung’<br />
mit CSI n ∗ t (n ≥ 1) aktiviert sein.<br />
– Nach Initialisierung des Druckers ist die ’Doppelplatzsteuerung’ deaktiviert.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 203
Steuerung der MSR-Funktionen<br />
Zusatzkommandos (Drucker)<br />
Multi Part ein-/ausschalten<br />
CSI<br />
n<br />
,<br />
t<br />
Name<br />
ESC<br />
27<br />
1B<br />
[<br />
91<br />
5B<br />
n<br />
n<br />
n<br />
,<br />
44<br />
2C<br />
t<br />
116<br />
74<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
i<br />
Dieser Befehl kann an den Buch- und Belegdrucker gesendet werden.<br />
Der Befehl wird jedoch vom <strong>HighPrint</strong> 4915xe nicht mehr unterstützt<br />
und ignoriert.<br />
Steuerung der MSR-Funktionen<br />
Der Magnetstreifenleser (MSR für Magnetic Strip Reader) ist ein Gerät, das optional<br />
in der Belegdruckstelle des Buch- und Belegdruckers integriert sein kann.<br />
Eine MSR-Verarbeitung kommt bei der Sparbuchverarbeitung zur Anwendung,<br />
wobei auf dem Magnetstreifen relevante Daten verschlüsselt sind.<br />
Kommando<br />
ESC [ n1;...; n5 ! r<br />
ESC [ " r<br />
ESC [ # r STX... ETX<br />
ESC [ % r<br />
Funktion<br />
Parameterauftrag MSR aktivieren<br />
Leseauftrag MSR<br />
Schreiben einer MSR Spur<br />
Löschen einer Spur<br />
Die Ausführung von MSR-Funktionen ist ohne Einfluss auf die aktuelle logische<br />
Druckposition. Die notwendigen Vertikalbewegungen zur MSR-gerechten Positionierung<br />
des Sparbuches werden intern vom Buch- und Belegdrucker gesteuert.<br />
Nach Ausgabe eines MSR-Kommandos werden zunächst alle Daten gedruckt,<br />
die sich noch im Druckpuffer befinden.<br />
i<br />
Das MSR-Gerät unterstützt die Aufzeichnungsverfahren nach DIN, IBM<br />
und ISO 7811.<br />
Sollten Sie Interesse an weiteren Aufzeichnungsverfahren haben, setzen<br />
Sie sich bitte mit Ihrer Wincor Nixdorf-Geschäftsstelle in Verbindung.<br />
204 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zusatzkommandos (Drucker)<br />
Steuerung der MSR-Funktionen<br />
Lage und Abmessungen für MSR-Magnetstreifen<br />
Die Druckbereiche bei Sparbüchern mit MSR-Verarbeitung entsprechen den<br />
Angaben im Anhang „Papierspezifikation“. Die Lage eines MSR-Magnetstreifens<br />
auf einem Sparbuch sowie die Abmessungen des Magnetstreifens sind<br />
nach DIN 32744 festgelegt. Die folgenden Maßangaben sind Millimeter-Angaben.<br />
Längsfalzbuch (Magnetstreifen für DIN / IBM-Format):<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 205
Steuerung der MSR-Funktionen<br />
Zusatzkommandos (Drucker)<br />
Querfalzbuch:<br />
206 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zusatzkommandos (Drucker)<br />
Steuerung der MSR-Funktionen<br />
Parameterblock MSR<br />
CSI<br />
n1;...;n5<br />
!<br />
r<br />
Name<br />
ESC<br />
27<br />
1B<br />
[<br />
91<br />
5B<br />
n1;...;n5<br />
n1;...;n5<br />
n1;...;n5<br />
!<br />
33<br />
21<br />
r<br />
114<br />
72<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Parameter:<br />
n1 = Anzahl Schreibwiederholungen (0 bis 2)<br />
n2 = Anzahl Lesewiederholungen (0 bis 2)<br />
n3 = Kennung für Schreib-/Leseformat (Nummer des<br />
Aufzeichnungsformats)<br />
n4 = Vertikaler Abstand von Formularkante (0 bis 9999 in der Einheit<br />
1/180 Zoll, also n4/180 Zoll)<br />
n5 = Bezugskante für vertikalen Abstand (0 = oben, 1 = unten)<br />
Funktion:<br />
Durch CSI n1;...; n5 ! r wird festgelegt, unter welchen Bedingungen nachfolgende<br />
MSR-Transaktionen wie Lesen oder Schreiben des Magnetstreifens durch<br />
die MSR-Einheit gesteuert werden sollen.<br />
– Wiederholungen<br />
Die Parameter n1 und n2 werden für den Fall gesetzt, dass Schreib- oder<br />
Leseversuche nicht beim ersten Mal fehlerfrei durchgeführt werden können.<br />
Diese Aktionen werden dann automatisch n1- bzw. n2- mal wiederholt. Sollten<br />
sie auch nach Wiederholung kein korrektes Ergebnis liefern, so wird der<br />
jeweilige Vorgang abgebrochen. Werden beim Lesen bzw. Kontrolllesen<br />
keine Daten auf dem Magnetstreifen gefunden, erfolgt keine Wiederholung<br />
des Lese- bzw. Schreibvorganges.<br />
– Schreib-/Leseformat; Magnetstreifenposition<br />
Der Parameter n3 spezifiziert das Format der Daten auf dem Magnetstreifen.<br />
Die Position des Magnetstreifens auf dem Sparbuch wird durch die beiden<br />
Parameter n4 und n5 festgelegt, wobei n4 den Abstand des Streifens in<br />
1/180 Zoll-Schritten von der durch n5 definierten Kante (0 = obere Bezugskante,<br />
1 = untere Bezugskante) festlegt.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 207
Steuerung der MSR-Funktionen<br />
Zusatzkommandos (Drucker)<br />
– Tabelle für Aufzeichnungsformate<br />
Abhängig vom jeweiligen Aufzeichnungsformat muss der Anwender folgende<br />
Werte durch CSI ...! r übergeben, um folgende Aufzeichnungsformate<br />
bearbeiten zu können:<br />
Format n3 n4 n5<br />
DIN 0 14 mm (99/180") 1<br />
IBM 1 1 11 mm (78/180") 1<br />
IBM 2 2 11 mm (78/180") 1<br />
105 Zeichen 5 14 mm (99/180") 1<br />
ISO 7811 6 14 mm (99/180") 1<br />
– Default-Werte:<br />
Sind keine Parameter gesetzt, so werden auf Basis folgender Default-Werte die<br />
jeweiligen MSR-Transaktionen durchgeführt:<br />
n1 = 0<br />
n2 = 0<br />
n3 = 0<br />
n4 = 99<br />
n5 = 1<br />
(Erfolglose Schreibversuche werden nicht wiederholt)<br />
(Erfolglose Leseversuche werden nicht wiederholt)<br />
(Beschriftung Magnetstreifen im DIN-Format,<br />
Lesen Magnetstreifen im DIN-Format)<br />
99/180 Zoll vertikaler Abstand von Bezugskante<br />
(Untere Bezugskante)<br />
– Falsche Parameter:<br />
Bei der Verwendung falscher Parameter werden diese mit Ausnahme von n3 auf<br />
ihre Default-Werte zurückgeführt. Die Verwendung eines falschen Parameters<br />
n3 (Format) führt zur Fehlermeldung des Druckers.<br />
208 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zusatzkommandos (Drucker)<br />
Steuerung der MSR-Funktionen<br />
Lesen einer MSR-Spur<br />
Kommando:<br />
CSI<br />
"<br />
r<br />
Name<br />
ESC<br />
27<br />
1B<br />
[<br />
91<br />
5B<br />
"<br />
34<br />
22<br />
r<br />
114<br />
72<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Rückmeldung:<br />
CSI<br />
n1;...;n4<br />
"<br />
r<br />
STX...ETX<br />
Name<br />
ESC<br />
27<br />
1B<br />
[<br />
91<br />
5B<br />
n1;...;n4<br />
n1;...;n4<br />
n1;...;n4<br />
"<br />
34<br />
22<br />
r<br />
114<br />
72<br />
STX...ETX<br />
2...3<br />
02..03<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
n1 = Anzahl benötigter Leseversuche<br />
n2 = Leseschwelle (immer = 2)<br />
n3 = Leseblocknummer horizontal<br />
n4 = Lesefehler (0 = Fehlerfrei; > 0 = Fehler)<br />
STX (02h) = Start des Lesedatenbereiches<br />
Lesedaten = Im Bereich von 30h-3Fh (ASCII)<br />
ETX (03h) = Ende des Lesedatenbereiches<br />
Aufschlüsselung zu Parameter n4 = Lesefehler<br />
0 = Kein Fehler<br />
1 = LRC-Fehler<br />
2 = Parity-Fehler<br />
3 = Keine Daten gefunden<br />
4 = Kein Startzeichen gefunden<br />
5 = Falscher Flußwechselabstand<br />
6 = Kein Endezeichen gefunden<br />
7 = Magnetspurunterbrechung<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 209
Steuerung der MSR-Funktionen<br />
Zusatzkommandos (Drucker)<br />
Funktion:<br />
Die MSR-Spur wird mit dem Kommando CSI " r gelesen. Die gewünschten<br />
Randbedingungen werden ggf. zuvor über das Kommando ’MSR-Parameterblock’<br />
(CSI ... ! r) eingestellt (Anzahl Leseversuche, Aufzeichnungsformat, Position<br />
des Magnetstreifens usw.). Unabhängig davon, ob der Leseversuch<br />
erfolgreich abgeschlossen werden konnte, werden auf jeden Fall Daten für das<br />
Programm bereitgestellt, die neben den eigentlichen Nutzdaten (Inhalt Magnetstreifen)<br />
auch statistische Angaben (z. B. Anzahl Leseversuche) und Fehlermeldungen<br />
beinhalten können.<br />
i<br />
– Der Befehl CSI " r bewirkt die Ausgabe von Zeichen auf der Belegdruckstelle,<br />
die noch im Druckpuffer stehen.<br />
– Der Lesedatenblock enthält alle Nutzzeichen, einschließlich der<br />
Start- und Endezeichen für das jeweilige Aufzeichnungsformat.<br />
Das LRC-Zeichen (Prüfzeichen für Blocksicherung) wird intern erzeugt<br />
und geprüft und ist daher kein Bestandteil des Lesedatenblockes.<br />
– Bei einem fehlerhaften Leseversuch werden die bis zum ersten<br />
fehlerhaften Zeichen richtig erkannten Daten übertragen.<br />
– Abhängig vom jeweiligen Aufzeichnungsformat sind die Start- und Endezeichen<br />
wie folgt hexadezimal verschlüsselt:<br />
Format n3 Startzeichen Endezeichen<br />
DIN 0 3D 3F<br />
IBM 1 1 3B 3C<br />
IBM 2 2 3B 3F<br />
105 Zeichen 5 3D 3F<br />
ISO 7811 6 3B 3F<br />
210 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zusatzkommandos (Drucker)<br />
Steuerung der MSR-Funktionen<br />
– Abhängig vom jeweiligen Aufzeichnungsformat können folgende Nutzdaten<br />
gelesen werden:<br />
Format n3 max. Anzahl<br />
Nutzzeichen<br />
Nutzzeichenbereich<br />
(hex)<br />
DIN 0 45 30 bis 39,<br />
+ 3E<br />
IBM 1 1 36 30 bis 39<br />
+ 3A, 3D, 3E<br />
IBM 2 2 36 30 bis 39<br />
+ 3A, 3D, 3E<br />
105 Zeichen 5 105 30 bis 39,<br />
+ 3E<br />
ISO 7811 6 35 30 bis 39<br />
+ 3A 3E<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 211
Steuerung der MSR-Funktionen<br />
Zusatzkommandos (Drucker)<br />
Schreiben einer MSR-Spur<br />
CSI<br />
#<br />
r<br />
STX...ETX<br />
Name<br />
ESC<br />
27<br />
1B<br />
[<br />
91<br />
5B<br />
#<br />
35<br />
23<br />
r<br />
114<br />
72<br />
STX...ETX<br />
2...3<br />
02...03<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Rückmeldung (Quittung des Schreibbefehls):<br />
CSI<br />
n1;n2<br />
#<br />
r<br />
Name<br />
ESC<br />
27<br />
1B<br />
[<br />
91<br />
5B<br />
n1;n2<br />
n1;n2<br />
n1;n2<br />
#<br />
35<br />
23<br />
r<br />
114<br />
72<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
n1 =<br />
n2 =<br />
Anzahl benötigter Schreibversuche<br />
Fehler beim Kontrolllesen (0 = fehlerfrei, 1 = Fehler)<br />
Funktion:<br />
Der bei CSI # r zwischen STX und ETX angegebene Block von Zeichen wird unter<br />
den mit dem Kommando ’MSR-Parameterblock’ (CSI ... ! r) eingestellten Bedingungen<br />
auf dem Magnetstreifen aufgezeichnet. Die Zeichenkette muss Startund<br />
Endezeichen entsprechend dem gewählten Aufzeichnungsformat enthalten:<br />
Format n3 Startzeichen Endezeichen<br />
DIN 0 3D 3F<br />
IBM 1 1 3B 3C<br />
IBM 2 2 3B 3F<br />
105 Zeichen 5 3D 3F<br />
ISO 7811 6 3B 3F<br />
212 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zusatzkommandos (Drucker)<br />
Steuerung der MSR-Funktionen<br />
Nach Durchführung des Befehles wird eine Quittung CSIn1;n2#r erzeugt, die<br />
im Programm ausgewertet werden kann. Die Quittung enthält die Anzahl benötigter<br />
Schreibversuche sowie eine Meldung, falls beim Kontrolllesen ein Fehler<br />
aufgetreten ist.<br />
i<br />
– In der MSR-Einheit des Buch- und Belegdruckers sind die Zeichen<br />
auf den Bereich von 30h–3Fh beschränkt. Zeichen außerhalb dieses<br />
Bereiches führen zu einem Fehler in der Druckersteuerung.<br />
– Der Befehl bewirkt die Ausgabe von Zeichen auf der Belegdruckstelle,<br />
die noch im Druckpuffer vorhanden sind.<br />
Löschen einer MSR-Spur<br />
CSI<br />
%<br />
r<br />
Name<br />
ESC<br />
27<br />
1B<br />
[<br />
91<br />
5B<br />
%<br />
37<br />
25<br />
r<br />
114<br />
72<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Die bei der Übergabe der MSR-Parameter (CSI ... ! r) festgelegte Vertikalposition<br />
auf dem Magnetstreifen wird mit ’NULL’-Zeichen überschrieben (d.h. die<br />
MSR-Spur wird gelöscht).<br />
i<br />
Der Befehl bewirkt die Ausgabe von Zeichen auf der Belegdruckstelle,<br />
die noch im Druckpuffer vorhanden sind.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 213
Status und Fehlermeldungen<br />
Zusatzkommandos (Drucker)<br />
Status und Fehlermeldungen<br />
Die im folgenden beschriebenen CSI-Sequenzen werden entweder vom Programm<br />
abgesetzt und mit entsprechenden Rückmeldungen quittiert oder abhängig<br />
von der Bearbeitungssituation automatisch vom Buch- und Belegdrucker<br />
generiert und an den Rechner gesendet:<br />
Kommando Funktion Auslöser<br />
ESC [ n ! t Kontrollzyklus auslösen Programm<br />
ESC [ n ) t Setzen Kontrollpunkt II Programm<br />
ESC [ n ! z Globaler Druckerstatus Buch- und<br />
Belegdrucker<br />
ESC [ “ z<br />
Spezielle Druckermeldungen Programm<br />
anfordern<br />
ESC [ n;m “ z Spezielle Druckermeldungen Buch- und<br />
Belegdrucker<br />
ESC [ n # z Druckwerksparameter anfordern Programm<br />
ESC [ n1;...;n8 # z Druckwerksparameter Buch- und<br />
Belegdrucker<br />
i<br />
Der interne Meldepuffer des Buch- und Belegdruckers ist auf circa 30<br />
Statusmeldungen begrenzt. Wenn dieser Puffer voll ist, werden anschließend<br />
erzeugte Meldungen nicht mehr berücksichtigt (gelöscht).<br />
Aus diesem Grund muss im Anwendungsprogramm dafür gesorgt werden,<br />
dass die Meldungen in gewissen Abständen und rechtzeitig eingelesen<br />
und ausgewertet werden.<br />
214 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zusatzkommandos (Drucker)<br />
Status und Fehlermeldungen<br />
Hinweise zum Druckerstatus<br />
ONLINE<br />
Dieser Zustand stellt sich nach einem fehlerfreien Initialisierungsvorgang ein. In<br />
diesem Zustand ist der Empfangskanal geöffnet. Der Drucker ist bereit, Aufträge<br />
entgegenzunehmen und auszuführen. Es werden nur angeforderte Daten oder<br />
spezielle Druckermeldungen, die keinen Einfluss auf die laufende Bearbeitung<br />
der Druckdaten haben, zurückgemeldet.<br />
STOPP<br />
Dieser Zustand signalisiert eine Betriebsunterbrechung. Folgende Gründe führen<br />
zu dieser Betriebsunterbrechung:<br />
– Drücken der STOP-Taste im Zustand ONLINE<br />
– Öffnen des Druckwerks im Zustand ONLINE<br />
– Beleganforderung, d. h. ein Auftrag, der den Einzug eines neuen Formulars<br />
erfordert, wobei zu diesem Zeitpunkt kein Blatt vorgelegt ist (das Vorlegen<br />
eines Blattes bewirkt den erneuten Übergang in den Zustand ONLINE).<br />
In den ersten beiden Fällen wird der Rechner nur durch einen globalen Druckerstatus<br />
(GDS) über die Zustandsänderung informiert. Bei der Beleganforderung<br />
wird der Grund für den Zustandsübergang durch eine spezielle Druckermeldung<br />
(SDM) genauer gekennzeichnet.<br />
In jedem Fall kann der Zustand STOPP nur durch einen manuellen Eingriff am<br />
Drucker wieder verlassen werden. In keinem Fall gehen durch diese Betriebsunterbrechung<br />
Daten verloren.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 215
Status und Fehlermeldungen<br />
Zusatzkommandos (Drucker)<br />
ERROR<br />
Dieser Zustand signalisiert einen Betriebsabbruch. Er kann nur durch einen manuellen<br />
Eingriff am Drucker wieder behoben werden. Alle bis zum Abbruch noch<br />
nicht ausgeführten Aufträge werden gelöscht. Es können zwei ERROR-Ursachen<br />
unterschieden werden:<br />
– Hardware-Fehler<br />
In der Regel ist die Ursache des ERROR-Zustandes ein Hardware-Fehler.<br />
Ist dieser Fehler nur auf eine Teilfunktion des Druckers (z. B. MSR) beschränkt,<br />
so kann er durch Drücken der STOP-Taste ignoriert werden. Das<br />
Druckwerk ist dann solange arbeitsfähig, bis wieder versucht wird, auf diese<br />
defekte Teilfunktion zuzugreifen.<br />
– Anwender-Fehler<br />
Ursache eines Anwenderfehlers ist z.B., wenn in Folge der Vorlage eines<br />
fehlerhaften oder unpassenden Beleges versucht wird, außerhalb der physikalischen<br />
Beleggrenzen zu drucken.<br />
Die Ursache aller Fehler wird auf dem LCD-Display des Buch- und<br />
Belegdruckers angezeigt (siehe dazu „Liste der Fehlermeldungen“ im Anhang<br />
dieses Handbuches).<br />
’Break’-Funktionalität<br />
Der Buch- und Belegdrucker reagiert auf ein ’Break’ der Druckerschnittstelle mit<br />
der Übertragung des globalen Druckerstatus und der Rückmeldung ’Druckwerksparameter’,<br />
mit deren Hilfe sich die wesentlichen Informationen zur Drukkerkonfiguration<br />
erkennen lassen (siehe dazu Beschreibung CSI n1;...; n8 # z).<br />
Ist der globale Druckerstatus gleich ONLINE, wird außerdem der Empfangspuffer<br />
gelöscht und die Standardparameter der Emulation eingestellt.<br />
Durch die ’Break’-Funktionalität kann geprüft werden, ob der an der Schnittstelle<br />
angeschlossene Drucker eingeschaltet ist und in welchem Status er sich zur Zeit<br />
befindet.<br />
i<br />
Der ’Break’ sollte nicht dazu verwendet werden, im laufenden Betrieb<br />
den Status abzufragen. Statusänderungen werden vom Buch- und Belegdrucker<br />
automatisch zurückgemeldet.<br />
216 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zusatzkommandos (Drucker)<br />
Status und Fehlermeldungen<br />
Setzen Kontrollpunkte/Kontrollzyklus auslösen<br />
Kommando:<br />
CSI<br />
n<br />
!<br />
t<br />
Name<br />
ESC<br />
27<br />
1B<br />
[<br />
91<br />
5B<br />
n<br />
n<br />
n<br />
!<br />
33<br />
21<br />
t<br />
116<br />
74<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Rückmeldung (Kontrollpunkt):<br />
CSI<br />
n<br />
!<br />
t<br />
Name<br />
ESC<br />
27<br />
1B<br />
[<br />
91<br />
5B<br />
n<br />
n<br />
n<br />
!<br />
33<br />
21<br />
t<br />
116<br />
74<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Parameter:<br />
n =<br />
Von der Anwendung frei definierbarer Wert aus dem Bereich 0 bis<br />
9999.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 217
Status und Fehlermeldungen<br />
Zusatzkommandos (Drucker)<br />
Funktion:<br />
Der Befehl CSI n ! t bewirkt die Auslösung eines Quittungssignals zur Rechnerschnittstelle,<br />
wenn alle bis zu diesem Befehl übertragenen Aufträge abgearbeitet<br />
sind.<br />
Zur eindeutigen Zuordnung der Quittungssignale (ebenfalls CSI n ! t) zu den<br />
übertragenen Anforderungen enthält die Quittungsmeldung den gleichen Parameterwert<br />
n, den die Anwendung in der Anforderung übergeben hat.<br />
i<br />
– Nach Möglichkeit sollte der Befehl CSI n ! t innerhalb einer Transaktion<br />
vermieden werden, da die Verwendung dieses Befehls die<br />
Performance von Anwendungen negativ beeinflussen kann. Bei<br />
Nutzung von CSI n ! t sind die folgenden Hinweise von Bedeutung.<br />
– Die Anforderung von Quittungen über CSI n ! t sollte nur am Zeilenende<br />
oder bei einer Funktionsumschaltung (z. B. vom Drucken<br />
zum Lesen) erfolgen. Dies entspricht dem Ablaufrythmus des Drukkers<br />
und beeinträchtigt nicht unnötig die Performance des Buchund<br />
Belegdruckers.<br />
– Eine Druckwegoptimierung (bidirektionaler Druck) wird durch diesen<br />
Befehl unterbrochen.<br />
– Die Reihenfolge der Quittungsmeldungen vom Buch- und Belegdrucker<br />
ist die gleiche, wie die Reihenfolge der Quittungsanforderungen.<br />
– Wenn eine Anwendung mit diesem Quittungszyklen arbeitet, sollte<br />
sie nicht auf das jeweilige Quittungssignal warten, sondern weitere<br />
Druckdaten unverzüglich senden. Anschließend kann die Rückmeldung<br />
ausgewertet werden.<br />
218 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zusatzkommandos (Drucker)<br />
Status und Fehlermeldungen<br />
Setzen Kontrollpunkt II<br />
Kommando:<br />
CSI<br />
n<br />
)<br />
t<br />
Name<br />
ESC<br />
27<br />
1B<br />
[<br />
91<br />
5B<br />
n<br />
n<br />
n<br />
)<br />
41<br />
29<br />
t<br />
116<br />
74<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Rückmeldung (Kontrollpunkt):<br />
CSI<br />
n<br />
)<br />
t<br />
Name<br />
ESC<br />
27<br />
1B<br />
[<br />
91<br />
5B<br />
n<br />
n<br />
n<br />
)<br />
41<br />
29<br />
t<br />
116<br />
74<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Parameter:<br />
n = Von der Anwendung frei definierbarer Wert aus dem Bereich 0 bis 9999.<br />
Funktion:<br />
Der Befehl CSI n ) t bewirkt die Auslösung eines Quittungssignales zur Rechnerschnittstelle,<br />
wenn der letzte mechanische Vorgang im Druckwerk gestartet<br />
wurde und zu diesem Zeitpunkt kein Fehler aufgetreten ist.<br />
Zur eindeutigen Zuordnung der Quittungssignale (ebenfalls CSI n ) t) zu den<br />
übertragenen Anforderungen enthält die Quittungsmeldung den gleichen Parameterwert<br />
n, den die Anwendung in der Anforderung übergeben hat.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 219
Status und Fehlermeldungen<br />
Zusatzkommandos (Drucker)<br />
i<br />
Der Befehl CSI n ) t sollte immer dann angewendet werden, wenn dem<br />
Druckwerk nur eine Druckzeile zur Verfügung gestellt werden kann und<br />
es aus diesem Grund zu Performanceproblemen kommt.<br />
Der Kontrollpunkt wird quittiert, wenn der letzte mechanische Auftrag<br />
gestartet wurde.<br />
Zum Beispiel wird ein Druckauftrag quittiert, wenn alle Voraussetzungen<br />
für eine korrekte Ausführung der Druckzeile vorliegen, das heißt:<br />
– Daten sind übertragen;<br />
– Belegkanten sind vermessen;<br />
– Vorschübe sind ausgeführt;<br />
– Papier ist vorhanden;<br />
– Deckel ist geschlossen;<br />
– Druckvorgang ist gestartet.<br />
Durch die vorzeitige Auslösung des Quittungssignales ist es dem Arbeitsplatz<br />
möglich, einen neuen Auftrag früher vom System anzufordern<br />
und dem Drucker innerhalb einer Zeit zu übertragen, in der die<br />
letzte mechanische Bewegung noch nicht beendet ist.<br />
220 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zusatzkommandos (Drucker)<br />
Status und Fehlermeldungen<br />
Globaler Druckerstatus<br />
CSI<br />
n<br />
!<br />
z<br />
Name<br />
ESC<br />
27<br />
1B<br />
[<br />
91<br />
5B<br />
n<br />
n<br />
n<br />
!<br />
33<br />
21<br />
z<br />
122<br />
7A<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Parameter:<br />
n = 0 ONLINE<br />
n = 1 STOP<br />
n = 2 ERROR<br />
Funktion:<br />
Diese Rückmeldung in der Codierung CSI n ! z wird nach der Drucker-Initialisierung,<br />
nach jedem Zustandswechsel (ONLINE, STOP, ERROR) und nach einem<br />
’Break’ auf der Druckerschnittstelle spontan erzeugt.<br />
Der globale Druckerstatus kann nicht explizit angefordert werden (siehe „Hinweise<br />
zum Druckerstatus“ in diesem Kapitel).<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 221
Status und Fehlermeldungen<br />
Zusatzkommandos (Drucker)<br />
Spezielle Druckermeldungen<br />
Kommando (Spezielle Druckermeldungen anfordern):<br />
CSI<br />
"<br />
z<br />
Name<br />
ESC<br />
27<br />
1B<br />
[<br />
91<br />
5B<br />
"<br />
34<br />
22<br />
z<br />
122<br />
7A<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Rückmeldung (Spezielle Druckermeldungen anfordern):<br />
CSI<br />
n;m<br />
"<br />
z<br />
Name<br />
ESC<br />
27<br />
1B<br />
[<br />
91<br />
5B<br />
n;m<br />
n;m<br />
n;m<br />
"<br />
34<br />
22<br />
z<br />
122<br />
7A<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Parameter:<br />
n =<br />
m =<br />
’Global Code’ (0 bis 999)<br />
’Special Code’ (0 bis 999)<br />
222 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zusatzkommandos (Drucker)<br />
Status und Fehlermeldungen<br />
Funktion:<br />
Die speziellen Druckermeldungen dienen dazu, in bestimmten Fällen Zustandswechsel<br />
(STOP) näher zu spezifizieren oder die Betätigung der Taste USER 2<br />
bzw. USER 1 durch den Bediener anzuzeigen.<br />
Spezielle Druckermeldungen werden in folgenden Fällen erzeugt und<br />
zum System übertragen:<br />
– beim Wechsel der entsprechenden Zustände,<br />
– bei einer Betätigung der Taste USER 2 bzw. USER 1 durch den Bediener<br />
(nur wenn die Funktion ’Doppelplatzsteuerung’ mit Hilfe des Kommandos<br />
CSI n ∗ t aktiviert wurde).<br />
Darüber hinaus kann der momentane Zustand mit Hilfe des Kommandos CSI " z<br />
angefordert werden.<br />
Es sind folgende n/m-Kombinationen für die Verschlüsselung einer speziellen<br />
Druckermeldung möglich:<br />
PAPER n = 1 / m = 4<br />
Der Papiersensor auf der Belegdruckstelle ist wieder mit<br />
Papier bedeckt.<br />
NO PAPER n = 2 / m = 4<br />
Der Papiersensor auf der Belegdruckstelle ist nicht mehr mit<br />
Papier bedeckt.<br />
Taste<br />
USER 1<br />
Taste<br />
USER 2<br />
n = 20 / m 1<br />
Die Taste USER 1 auf dem Bedienfeld wurde betätigt. Diese<br />
Druckermeldung kann nur auftreten, wenn die Funktion<br />
’Doppelplatzsteuerung’ mit Hilfe des Kommandos CSI n ∗ t<br />
aktiviert wurde.<br />
n = 20 / m = 2<br />
Die Taste USER 2 auf dem Bedienfeld wurde betätigt. Diese<br />
Druckermeldung kann nur auftreten, wenn die Funktion<br />
’Doppelplatzsteuerung’ mit Hilfe des Kommandos CSI n ∗ t<br />
aktiviert wurde.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 223
Status und Fehlermeldungen<br />
Zusatzkommandos (Drucker)<br />
Druckwerksparameter<br />
Kommando (Druckwerkparameter anfordern):<br />
CSI<br />
n<br />
#<br />
z<br />
Name<br />
ESC<br />
27<br />
1B<br />
[<br />
91<br />
5B<br />
n<br />
n<br />
n<br />
#<br />
35<br />
23<br />
z<br />
122<br />
7A<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
n = 0<br />
n = 1<br />
n = 4915<br />
Rückmeldung ohne Parameter n8 (Druckertyp)<br />
Rückmeldung mit Parameter n8 (Druckertyp)<br />
Rückmeldung mit Parameter n8=4915 (Druckertyp)<br />
Rückmeldung (Druckerwerksparameter):<br />
CSI<br />
n1;...;n9<br />
#<br />
z<br />
Name<br />
ESC<br />
27<br />
1B<br />
[<br />
91<br />
5B<br />
n1;...;n9<br />
n1;...;n9<br />
n1;...;n9<br />
#<br />
35<br />
23<br />
z<br />
122<br />
7A<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Parameter (bei Kommando n=0):<br />
n1 =<br />
n2 =<br />
n3 =<br />
n4 =<br />
n5 =<br />
n6 =<br />
n7 =<br />
Druckerstationsnummer<br />
0: Belegstation<br />
1: Journalstation<br />
3: Journal<br />
4: Beleg<br />
Maximale Formularbreite in 1/10 Zoll<br />
Anzahl Einzugskanäle<br />
2: Feeder Option<br />
Anzahl Auswurfkanäle<br />
OCR-Leser Option nicht verfügbar<br />
MSR-Option<br />
0: Option nicht verfügbar<br />
1: Option verfügbar<br />
224 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zusatzkommandos (Drucker)<br />
Status und Fehlermeldungen<br />
Parameter (bei Kommando n=1):<br />
n1 =<br />
n2 =<br />
n3 =<br />
n4 =<br />
n5 =<br />
n6 =<br />
n7 =<br />
n8 =<br />
Druckerstationsnummer<br />
0: Belegstation<br />
1: Journalstation<br />
3: Journal<br />
4: Beleg<br />
Maximale Formularbreite in 1/10 Zoll<br />
Anzahl Einzugskanäle<br />
2: Feeder Option<br />
Anzahl Auswurfkanäle<br />
OCR-Leser Option nicht verfügbar<br />
MSR-Option<br />
0: Option nicht verfügbar<br />
1: Option verfügbar<br />
4905 (Druckertyp)<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 225
Status und Fehlermeldungen<br />
Zusatzkommandos (Drucker)<br />
Parameter (bei Kommando n=4915):<br />
n1 =<br />
n2 =<br />
n3 =<br />
n4 =<br />
n5 =<br />
n6 =<br />
n7 =<br />
n8 =<br />
n9 =<br />
Druckerstationsnummer<br />
0: Belegstation<br />
1: Journalstation<br />
3: Journal<br />
4: Beleg<br />
Maximale Formularbreite in 1/10 Zoll<br />
Anzahl Einzugskanäle<br />
2: Feeder Option<br />
Anzahl Auswurfkanäle<br />
MICR-Option<br />
0: Option nicht verfügbar<br />
MSR-Option<br />
0: Option nicht verfügbar<br />
1: Option verfügbar<br />
4915 (Druckertyp)<br />
Memory Extension<br />
0: No Memory Extension<br />
1: El. Journal<br />
2: 2. ZG<br />
3: Asien GB 2312<br />
4: Asien GB 5007<br />
5: Asien GB 5199<br />
6: Asien GB BIG 5<br />
Funktion:<br />
Die Rückmeldung der Druckwerksparameter wird in folgenden Fällen vom<br />
Druckwerk zum System übertragen:<br />
– Nach dem Einschalten des Druckwerkes;<br />
– Als Antwort auf ein ’Break’ auf der Druckerschnittstelle;<br />
– Als Antwort auf das Kommando ’Druckwerksparameter anfordern’.<br />
226 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Zusatzkommandos (Drucker)<br />
Elektronische Journalfunktionen<br />
Elektronische Journalfunktionen<br />
Wechsel zwischen Beleg- und Journaldruck<br />
CSI<br />
n<br />
!<br />
q<br />
Name<br />
ESC<br />
27<br />
1B<br />
[<br />
91<br />
5B<br />
n<br />
n<br />
n<br />
!<br />
33<br />
21<br />
q<br />
113<br />
98<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Parameter:<br />
n = 0<br />
n = 1<br />
Belegdruckstelle (Voreinstellung)<br />
Elektronischer Journalspeicher<br />
Mit dem Parameter ’Journalspeicher’ werden alle nachfolgenden Druckzeichen<br />
in einen residenten Speicher umgeleitet. Steuersequenzen werden, mit Ausnahme<br />
der Zeilenschaltungen, ignoriert. Der Befehl ist druckauslösend für Zeichen<br />
die sich noch im internen Druckpuffer befinden. Steuersequenzen die in den<br />
Journalspeicher geschrieben werden, haben keine Auswirkungen auf den Ausdruck<br />
der Belegstation:<br />
Im Servicemenü muss die Anwahl: Speichererweiterung -> EL-Journal aktiviert<br />
sein, andernfalls wird der Befehl ignoriert.<br />
i<br />
Bei aktiviertem elektronischen Journalspeicher werden nur Nettodaten<br />
(druckbare) Zeichen gespeichert. Alle Attribute, Tabulationen, Zeichensatzbefehle<br />
werden aus dem Datenstrom herausgefiltert. Grafik wird<br />
nicht unterstützt.<br />
Die Rückmeldungen sind in diesem Mode erweitert.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 227
Elektronische Journalfunktionen<br />
Zusatzkommandos (Drucker)<br />
Journalausdruck<br />
Die Daten des Journalspeichers können im Menü ’JOURNAL’ über die Druckstation<br />
ausgegeben werden (Einzelblatt oder Feeder).<br />
– Der Ausdruck erfolgt grundsätzlich auf DIN-A4 Papier<br />
– Schriftattribut DQ 15 cpi, 8 lpi<br />
– Schriftattribute werden ignoriert<br />
An jeder Seite wird ein Rand von 2 cm für eine Heftlochung freigelassen. Am unteren<br />
Seitenrand erfolgt eine Kennzeichnung der Seitenzahlen und ein Hinweis<br />
auf Folgeseiten (z. B. Seite 5 von 17).<br />
Fehlersituationen Ausnahmebehandlung<br />
Wird der Drucker während des Ausdruckes der Journaldaten ausgeschaltet<br />
oder tritt ein Druckfehler auf, so gehen die Daten nicht verloren. Der Ausdruck<br />
muss allerdings komplett wiederholt werden.<br />
Bei einem Füllgrad des Speichers von ca. 95% wird die Statusmeldung ’Papierende<br />
Journal’ generiert.<br />
Bei einem komplett gefüllten Speicher wird die Fehlermeldung ’Papierende<br />
Journal’ generiert. Jeder weitere Versuch Daten auf dem Journal auszudrucken<br />
wird mit der gleichen Fehlermeldung zurückgewiesen. Druckaufträge zur Belegstation<br />
sind weiter möglich.<br />
Kapazität<br />
Da die Journaldateien komprimiert abgelegt werden, ist eine genaue Angabe<br />
des Speicherverhaltens nicht möglich. In typischen Anwendungsfällen wurde<br />
eine Kapazität von 3000 bis 6000 Druckzeilen erreicht.<br />
Daten zur Speichertechnologie<br />
– 128 kByte nutzbares Speichervolumen<br />
– 20 Jahre garantierter Datenerhalt ohne Stromversorgung<br />
– 1 Million Lösch-/Programmierzyklen garantiert<br />
– Partielles Löschen der Daten nicht möglich<br />
228 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anwendungsbeispiele<br />
In diesem Kapitel wird anhand ausführlicher Beispiele demonstriert, wie der<br />
Buch- und Belegdrucker für häufige Anwendungsfälle in Abhängigkeit von bestimmten<br />
Randbedingungen programmiert werden sollte.<br />
Im einzelnen werden in separaten Abschnitten folgende Anwendungsfälle erläutert:<br />
– Textverarbeitung (Druck auf einem Blankoformular unter Anwendung verschiedener<br />
Druckattribute)<br />
– Belegverarbeitung (Druck eines Musterschecks)<br />
– Sparbuchverarbeitung mit MSR (mit Lesen und Modifizieren eines MSR-Streifens<br />
und Sparbuchdruck)<br />
Jedes Beispiel besteht in der Regel aus folgenden Komponenten:<br />
– Aufgabenbeschreibung/Ziel<br />
– Belegbeschreibung (Beleggröße, Textbereich)<br />
– Angenommene Voraussetzungen (z. B. voreingestellte Parameter)<br />
– Verbale Beschreibung der Programmschritte<br />
– Umsetzung der Programmschritte in Pseudocode<br />
– Programmergebnis.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 229
Bearbeitung eines Blankoformulars<br />
Anwendungsbeispiele<br />
Bearbeitung eines Blankoformulars<br />
In dem folgenden Beispiel wird ein DIN A4-Beleg mit einem bestimmten Text bedruckt.<br />
Zur Gestaltung des Layouts und zur Hervorhebung von wichtigen Textstellen<br />
kommen Standardkommandos für Druckattribute, Horizontal- und<br />
Vertikal-Tabulation zur Anwendung. Alle Druckdaten beziehen sich logisch auf<br />
die linke Bezugskante, so dass eine Umrechnung der Druckpositionen des Dokumentes<br />
auf Druckpositionen des Druckwerkes nicht beachtet werden müssen.<br />
Für dieses Beispiel wird von folgenden Voraussetzungen ausgegangen:<br />
– Alle Parameter sind auf ihre Default-Werte eingestellt.<br />
– Durch Default-Einstellung ist Schriftart ’Roman’ eingestellt.<br />
230 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anwendungsbeispiele<br />
Bearbeitung eines Blankoformulars<br />
Satzspiegel<br />
Anhand des folgenden Briefes wird eine Auswahl von Standard-Druckfunktionen<br />
demonstriert. Alle Druckfunktionen können auch auf der Journalstation angewendet<br />
werden.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 231
Bearbeitung eines Blankoformulars<br />
Anwendungsbeispiele<br />
1 : Beleglänge = 72 Zeilen bei 1/ 6 Zoll Zeilenabstand<br />
2 : Erste Druckposition = linker Rand (logisch) = Position 12 (10 cpi)<br />
3 : Letzte Druckposition = rechter Rand (logisch)= Position 72 (10 cpi)<br />
4 : Position Bearbeiterkürzel = 35 (Horizontal-Tabulator)<br />
5 : Position Datum = 40 (Horizontal-Tabulator)<br />
6 : Erste Druckzeile = 8 (Vertikal-Tabulator)<br />
7 : Betreffzeile = 16 (Vertikal-Tabulator)<br />
8 : Textbeginn = 20 (Vertikal-Tabulator)<br />
9 : Grußzeile = 42 (Vertikal-Tabulator)<br />
10: Absender-Name = 46 (Vertikal-Tabulator)<br />
232 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anwendungsbeispiele<br />
Bearbeitung eines Blankoformulars<br />
Druckeffekte<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 233
Bearbeitung eines Blankoformulars<br />
Anwendungsbeispiele<br />
Allgemeines<br />
– Zeichengröße = 10 cpi<br />
– Schrifttyp = Roman<br />
Besonderheiten<br />
1 : Betreffzeile kursiv und zusätzlicher Zeichenabstand von 12/ 180 Zoll<br />
2 : Textstelle ’Steckertyp’ durch Fettdruck hervorheben<br />
3 : Schriftart für Skizze = Sans Serif, Text zentriert<br />
4 : Für die Abbildung der Pins (klein ’o’) gelten folgende Voraussetzungen:<br />
– Keine Proportionalschrift<br />
– Zeichengröße 15 cpi<br />
– Zusätzlicher Zeichenabstand zwischen klein ’o’ = 24/ 180 Zoll<br />
234 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anwendungsbeispiele<br />
Bearbeitung eines Blankoformulars<br />
Programmschritte (kommentiert)<br />
1. LQ-Modus einschalten<br />
Befehl:<br />
Parameter:<br />
ESC x (n)<br />
n = 1 (LQ-Modus)<br />
2. Proportionalschrift einschalten<br />
Befehl:<br />
ESC p (n)<br />
Parameter:<br />
n = 1 (Proportionalschrift ein)<br />
Bemerkung:<br />
Im Proportionaldruck kann die Einstellung der<br />
Zeichenbreite entfallen.<br />
3. Zeilenabstand einstellen<br />
Befehl:<br />
Bemerkung:<br />
ESC 2 (1/ 6 Zoll)<br />
Dieser Befehl ist für das Beispiel eigentlich<br />
nicht notwendig, da 1/6 Zoll Zeilenabstand<br />
der Default-Einstellung entspricht.<br />
4. Beleglänge festlegen<br />
Befehl:<br />
Parameter:<br />
Bemerkung:<br />
ESC C (n)<br />
n = 72 (Anzahl Zeilen)<br />
Bei der angenommenen Zeilenteilung von<br />
1/6 Zoll und 72 Zeilen ergibt sich eine Beleglänge<br />
von 12 Zoll. Dies entspricht dem Default-Wert<br />
des Buch- und Belegdruckers.<br />
Deshalb könnte dieser Programmschritt<br />
ebenfalls entfallen.<br />
5. Linken Rand festlegen<br />
Befehl:<br />
ESC l (n)<br />
Parameter: n = 12 (Position 12 bei 10 cpi, Default = 0)<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 235
Bearbeitung eines Blankoformulars<br />
Anwendungsbeispiele<br />
6. Rechten Rand festlegen<br />
Befehl:<br />
Parameter:<br />
Bemerkung:<br />
ESC Q (n)<br />
n = 72 (Position 72 bei 10 cpi)<br />
Der Default-Wert beträgt 90. Bei einer Einstellung<br />
’rechter Rand = Position 72’ kann bis Position<br />
71 gedruckt werden.<br />
7. Vertikal-Tabulatoren festlegen<br />
Befehl:<br />
ESC B (n1,n2,n3,n4, n5) NUL<br />
Parameter:<br />
n1 = 8 (erste Druckzeile)<br />
n2 = 16 (Betreffzeile)<br />
n3 = 20 (Textbeginn)<br />
n4 = 42 (Grußzeile)<br />
n5 = 46 (Absender-Name)<br />
Bemerkung:<br />
Hier werden die Vertikal-Tabulatoren im Zeilenabstand<br />
von 1/ 6 Zoll automatisch im Kanal<br />
0 festgelegt. Für Kanal 1 bis Kanal 7 müsste<br />
der Befehl ESC c (n1,...) NUL verwendet werden<br />
(c = Kanalnummer).<br />
8. Default-Werte für Horizontal-Tabulatoren löschen<br />
Befehl:<br />
ESC D NUL<br />
Bemerkung:<br />
Nach Einschalten oder Initialisierung des Druckers<br />
(ESC @) sind Tabulatoren im Abstand<br />
von acht (8) Zeichen gesetzt.<br />
9. Horizontal-Tabulatoren setzen<br />
Befehl:<br />
ESC D (n1,n2) NUL<br />
Parameter:<br />
n1 = 35 (Position Bearbeiterkürzel)<br />
n2 = 40 (Position Datum)<br />
Bemerkung:<br />
Im Proportionaldruck sind die Zeichen im<br />
Pica-Abstand gesetzt (10 cpi).<br />
236 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anwendungsbeispiele<br />
Bearbeitung eines Blankoformulars<br />
10. Vertikal-Tabulation auf erste Adresszeile<br />
Befehl:<br />
VT<br />
11. Adresse drucken<br />
Bemerkung:<br />
Letzte Adresszeile (Ort) ohne Zeilenvorschub<br />
12. Horizontal-Tabulation auf Bearbeiterkürzel<br />
Befehl:<br />
HT<br />
13. Bearbeiterkürzel drucken<br />
Bemerkung:<br />
Druck ohne Zeilenvorschub<br />
14. Horizontal-Tabulation auf Datum<br />
Befehl:<br />
HT<br />
15. Datum drucken<br />
16. Vertikal-Tabulation auf erste Betreffzeile<br />
Befehl:<br />
VT<br />
17. Kursivdruck einstellen<br />
Befehl: ESC 4<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 237
Bearbeitung eines Blankoformulars<br />
Anwendungsbeispiele<br />
18. Zusätzlichen Abstand zwischen Zeichen festlegen<br />
Befehl:<br />
ESC SP (n)<br />
Parameter: n = 12<br />
Bemerkung:<br />
SP = Space (Blank) steht für das Leerzeichen<br />
(ASCII = Hex. 20 bzw. dezimal 32 und EBC-<br />
DIC = Hex. 40 bzw. dezimal 64). Durch n = 12<br />
wird im LQ-Modus ein zusätzlicher Zeichenabstand<br />
von 12/180 Zoll festgelegt. Im Draftmodus<br />
würde dies 12/120 Zoll ergeben.<br />
19. Betreffzeile drucken<br />
20. Zusätzlichen Abstand zwischen den Zeichen wieder aufheben<br />
Befehl:<br />
ESC SP (n)<br />
Parameter:<br />
n = 0 (Default-Wert)<br />
21. Kursivdruck wieder ausschalten<br />
Befehl: ESC 5<br />
22. Vertikal-Tabulation auf Textanfang<br />
Befehl:<br />
VT<br />
23. Text von ’Sehr geehrter Herr ...’ bis ’... zum Thema’ drucken<br />
24. Fettdruck einschalten<br />
Befehl:<br />
ESC E<br />
25. Text ’Steckertyp’ drucken<br />
238 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anwendungsbeispiele<br />
Bearbeitung eines Blankoformulars<br />
26. Fettdruck ausschalten<br />
Befehl:<br />
ESC F<br />
27. Text bis ’... 9-poligen Cannonstecker’ plus Leerzeilen bis Skizze drucken<br />
28. Andere LQ-Schrift auswählen<br />
Befehl:<br />
ESC k (n)<br />
Parameter:<br />
n = 1 (Sans Serif)<br />
29. Zentrierte Druckbildausrichtung einstellen<br />
Befehl:<br />
ESC a (n)<br />
Parameter: n = 1<br />
30. ’05 ... 01’ drucken<br />
31. Proportionalschrift ausschalten<br />
Befehl:<br />
ESC p (n)<br />
Parameter:<br />
n = 0 (Default-Wert)<br />
32. Zeichengröße auf 15 cpi einstellen<br />
Befehl:<br />
ESC g<br />
33. Zusätzlichen Abstand zwischen Zeichen festlegen<br />
Befehl:<br />
ESC SP (n)<br />
Parameter: n = 24<br />
Bemerkung:<br />
Zusätzlicher Zeichenabstand = 24/180 Zoll,<br />
siehe auch Schritt 18.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 239
Bearbeitung eines Blankoformulars<br />
Anwendungsbeispiele<br />
34. Zeilen mit ’oo ... oo’ (5 mal) bzw. ’oo ... oo’ (4 mal) drucken<br />
35. Zusätzlichen Abstand zwischen Zeichen wieder aufheben<br />
Befehl:<br />
ESC SP (n)<br />
Parameter: n = 0<br />
36. Schriftgröße wieder auf 10 cpi einstellen<br />
Befehl:<br />
ESC P<br />
37. Proportionalschrift wieder einschalten<br />
Befehl:<br />
ESC p (n)<br />
Parameter: n = 1<br />
38. Von ’09 ... 06’ bis ’Pin-Nummerierung (Draufsicht)’ drucken<br />
39. Druckbildausrichtung wieder auf linksbündig setzen<br />
Befehl:<br />
ESC a (n)<br />
Parameter:<br />
n = 0 (Default-Wert)<br />
40. Schrifttyp wechseln<br />
Befehl:<br />
Parameter:<br />
ESC k (n)<br />
n = 0 (Roman)<br />
41. Vertikal-Tabulation auf Grußzeile<br />
Befehl:<br />
VT<br />
42. Grußzeile drucken<br />
240 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anwendungsbeispiele<br />
Bearbeitung eines Blankoformulars<br />
43. Vertikal-Tabulation auf Absender-Name<br />
Befehl:<br />
VT<br />
44. Absender-Name drucken<br />
45. Belegauswurf<br />
Befehl:<br />
FF<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 241
Bearbeitung eines Blankoformulars<br />
Anwendungsbeispiele<br />
Programm (Pseudocode)<br />
Auf die kommentierten Programmschritte im vorhergehenden Abschnitt wird<br />
durch die entsprechende Nummerierung verwiesen.<br />
BEGINN<br />
RUFE AUF VORLAUF<br />
RUFE AUF BRIEFKOPF<br />
RUFE AUF BETREFF<br />
RUFE AUF EINLEITUNG<br />
RUFE AUF SKIZZE<br />
RUFE AUF ABSENDER<br />
DRUCKE(Zeichen(12))<br />
ENDE<br />
BEGINN VORLAUF<br />
DRUCKE(Zeichen(27),"x",Zeichen(1))<br />
DRUCKE(Zeichen(27),"p",Zeichen(1))<br />
DRUCKE(Zeichen(27),"2")<br />
DRUCKE(Zeichen(27),"C",<br />
Zeichen(72))<br />
DRUCKE(Zeichen(27),"l",<br />
Zeichen(12))<br />
DRUCKE(Zeichen(27),"Q",<br />
Zeichen(72))<br />
DRUCKE(Zeichen(27),"B")<br />
DRUCKE(Zeichen(8,16,20,42,46),<br />
Zeichen(0))<br />
DRUCKE(Zeichen(27),"D",Zeichen(0))<br />
DRUCKE(Zeichen(27),"D")<br />
DRUCKE(Zeichen(35,40),Zeichen(0))<br />
ENDE VORLAUF<br />
45: FF<br />
1: ESC x (n)<br />
2: ESC p (n)<br />
3: ESC 2<br />
4: ESC C (n)<br />
5: ESC I (n)<br />
6: ESC Q (n)<br />
7: ESC B (n1...) NUL<br />
8: ESC D NUL<br />
9: ESC D (n1...) NUL<br />
242 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anwendungsbeispiele<br />
Bearbeitung eines Blankoformulars<br />
BEGINN BRIEFKOPF<br />
DRUCKE(Zeichen( 11))<br />
DRUCKEZV("Herr Mustermann")<br />
DRUCKEZV("Heinz Nixdorf Ring")<br />
DRUCKEZV( )<br />
DRUCKE("33094 Paderborn")<br />
DRUCKE(Zeichen(9))<br />
DRUCKE("am")<br />
DRUCKE(Zeichen(9))<br />
DRUCKEZV("14.06.99")<br />
ENDE BRIEFKOPF<br />
BEGINN BETREFF<br />
DRUCKE(Zeichen(11))<br />
DRUCKE(Zeichen(27),"4")<br />
DRUCKE(Zeichen(27)," ",<br />
Zeichen(12))<br />
DRUCKE("RS-232-Schnittstelle")<br />
DRUCKE(Zeichen(27)," ",Zeichen(0))<br />
DRUCKE(Zeichen(27),"5")<br />
ENDE BETREFF<br />
10: VT (Zeile 8)<br />
11:<br />
12: HT (Position 35)<br />
13:<br />
14: HT (Position 40)<br />
15:<br />
16: VT (Zeile 16)<br />
17: ESC 4<br />
18: ESC SP (n)<br />
19:<br />
20: ESC SP (n)<br />
21: ESC 5<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 243
Bearbeitung eines Blankoformulars<br />
Anwendungsbeispiele<br />
BEGINN EINLEITUNG<br />
DRUCKE(Zeichen(11))<br />
DRUCKE("Sehr geehrter<br />
Herr Mustermann,")<br />
DRUCKEZV( )<br />
DRUCKE(" Hiermit möchten wir Ihre<br />
Anfrage zum Thema")<br />
DRUCKE(Zeichen(27)," E")<br />
DRUCKE("Steckertyp")<br />
DRUCKE(Zeichen(27)," F")<br />
DRUCKEZV("für die")<br />
DRUCKEZV("RS-232-Schnittstelle des<br />
Druckers beantworten.")<br />
DRUCKEZV( )<br />
DRUCKEZV("Der Drucker hat für das<br />
RS-232-Interface einen<br />
9-poligen Cannonstecker:")<br />
DRUCKEZV( )<br />
ENDE EINLEITUNG<br />
22: VT (Zeile 20)<br />
23:<br />
24: ESC E<br />
25:<br />
26: ESC F<br />
27:<br />
244 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anwendungsbeispiele<br />
Bearbeitung eines Blankoformulars<br />
BEGINN SKIZZE<br />
DRUCKE(Zeichen(27),"k",Zeichen(1))<br />
DRUCKE(Zeichen(27),"a",Zeichen(1))<br />
DRUCKEZV("05 ... 01")<br />
DRUCKE(Zeichen(27),"p",Zeichen(0))<br />
DRUCKE(Zeichen(27),"g")<br />
DRUCKE(Zeichen(27)," ",<br />
Zeichen(24))<br />
DRUCKEZV(" ooooo")<br />
DRUCKEZV(" oooo")<br />
DRUCKE(Zeichen(27)," ",Zeichen(0))<br />
DRUCKE(Zeichen(27),"P")<br />
DRUCKE(Zeichen(27),"p",Zeichen(1))<br />
DRUCKEZV("09 ... 06")<br />
DRUCKEZV( )<br />
DRUCKEZV("Pin-Nummerierung<br />
(Draufsicht)")<br />
DRUCKE(Zeichen(27),"a",Zeichen(0))<br />
DRUCKE(Zeichen(27),"k",Zeichen(0))<br />
ENDE SKIZZE<br />
BEGINN ABSENDER<br />
DRUCKE(Zeichen(11))<br />
DRUCKEZV("Mit freundlichen<br />
Grüßen")<br />
DRUCKEZV(Zeichen(11))<br />
DRUCKEZV("(Alfons Meier)")<br />
ENDE ABSENDER<br />
28: ESC k (n)<br />
29: ESC a (n)<br />
30:<br />
31: ESC p (n)<br />
32: ESC g<br />
33: ESC SP (n)<br />
34:<br />
35: ESC SP (n)<br />
36: ESC P<br />
37: ESC p (n)<br />
38:<br />
39: ESC a (n)<br />
40: ESC k (n)<br />
41: VT (Zeile 42)<br />
42:<br />
43: (Zeile 46)<br />
44:<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 245
Belegverarbeitung<br />
Anwendungsbeispiele<br />
Belegverarbeitung<br />
Dieses Beispiel soll eine Belegverarbeitung mit folgenden Merkmalen verdeutlichen:<br />
– Codieren der Codierzeile<br />
– Druck eines Textes auf dem Beleg.<br />
Als Beleg dient ein Musterscheck. Die Codierzeile auf dem Scheck soll fußbezogen,<br />
der Text auf dem Scheck kopfbezogen verarbeitet werden.<br />
Es wird von folgenden Voraussetzungen ausgegangen:<br />
– Belegstation ist aktiviert<br />
– Sparbuchverarbeitung ist deaktiviert<br />
– Zeichensatz OCR-A ist gesetzt<br />
– Vorgabe der horizontalen Bezugskante links (Default)<br />
i<br />
– In diesem Beispiel wird explizit eine Belegbreitenerkennung angefordert.<br />
Dabei müssen die Einschränkungen bei der Belegbreitenerkennung<br />
in Bezug auf die aktuelle vertikale Position beachtet<br />
werden.<br />
– In diesem Beispiel werden keine horizontale Tabulatoren gesetzt, sondern<br />
die jeweilige Druckposition durch eine absolute Punktposition<br />
in horizontaler Richtung festgelegt (ESC $ (n) (m)).<br />
246 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anwendungsbeispiele<br />
Belegverarbeitung<br />
Belegaufbau<br />
1 : Abstand Unterkante Beleg/Unterkante Codierzeile = 8,47 mm<br />
= 60/180 Zoll (DIN 66008)<br />
2 : Abstand linke Kante Beleg/ linke Kante des ersten OCR-A-Zeichens<br />
= 3/10 Zoll (DIN 66008) ≡ Druckposition 3 (bei 1/10 Zoll/Zeichen)<br />
3 : Abstand Oberkante Beleg/ Unterkante oberste Textzeile = 24 mm<br />
= 170/180 Zoll<br />
4 : Abstand der Textzeilen = 7,5 mm = 53/180 Zoll<br />
5 : Abstand linke Kante Beleg/ linke Kante des ersten Druckzeichens<br />
= 10/10 Zoll ≡ Druckposition 10 (bei 1/10 Zoll/ Zeichen)<br />
6 : Belegbreite = 59/10 Zoll<br />
Die Zeichendichte in einer Textzeile soll 10 Zeichen/Zoll betragen (Default-<br />
Wert).<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 247
Belegverarbeitung<br />
Anwendungsbeispiele<br />
Druckpositionen<br />
Die folgende Abbildung zeigt die verschiedenen Druckpositionen für den Text- und<br />
OCR-Druck:<br />
Eine absolute Punktposition auf der jeweils aktuellen Vertikalposition wird durch<br />
den Befehl ESC $ (n) (m) angefahren. Die Position wird nach der Formel<br />
x=m∗ 256 + n berechnet und dadurch die Position x/60 Zoll (= Abstand von linker<br />
Bezugskante) ermittelt. Die Druckposition 0 ist identisch mit der linken Belegkante.<br />
1 : OCR-Druck in Codierzeile für Scheck-Betrag<br />
Vertikalposition von unterer Kante = 60/180 Zoll<br />
Absolute Punktposition = x/60 Zoll mit x = 0 ∗ 256 + 180<br />
(Erstes Druckzeichen auf Druckposition 30)<br />
OCR-Zeichenfolge = "00000045000 "<br />
2 : Betragstext<br />
Vertikalposition von oberer Kante = 170/180 Zoll<br />
Absolute Punktposition = x/60 Zoll mit x = 0 ∗ 256 + 60<br />
(Erstes Druckzeichen auf Druckposition 10)<br />
Text= "VIERHUNDERTFUENFZIG------------"<br />
248 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anwendungsbeispiele<br />
Belegverarbeitung<br />
3 : Währungskürzel und Betrag<br />
Vertikalposition von oberer Kante = 170/180 Zoll<br />
Absolute Punktposition = x/60 Zoll mit x = 1 ∗ 256 + 2<br />
(Erstes Druckzeichen auf Druckposition 43)<br />
4 : Name<br />
Vertikalposition von oberer Kante durch Zeilenvorschub<br />
um 53/180 Zoll<br />
Absolute Punktposition wie 2<br />
Text "F. MUSTERMANN"<br />
5 : Ort/ Datum<br />
Vertikalposition von oberer Kante wie 4 bzw. erneutem Zeilenvorschub<br />
Absolute Punktposition wie 3<br />
Text "PADERBORN" bzw. "31.12. 1998"<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 249
Belegverarbeitung<br />
Anwendungsbeispiele<br />
Programmschritte (kommentiert)<br />
1. Absolute Vertikalposition bezogen auf den unteren Belegrand einstellen<br />
Befehl:<br />
CSI n " p<br />
Parameter: n = 90<br />
Bemerkung:<br />
Der Abstand Unterkante Beleg/ Unterkante<br />
OCR-Zeile = 90/ 180 Zoll = 12, 7 mm wurde<br />
gewählt, um genügend Abstand zu einem<br />
eventuell vorhandenen schwarzen Balken<br />
zu haben. Wenn es solche schwarzen<br />
Balken nicht gibt, kann direkt mit Schritt 2b<br />
begonnen werden (siehe auch<br />
Kommandobeschreibung CSI " t,<br />
’Belegbreite anfordern’, im Kapitel<br />
„Zusatzkommandos“).<br />
2a. Belegbreite anfordern (optional)<br />
Befehl:<br />
CSI " t<br />
Bemerkung:<br />
Die Belegbreite kann als<br />
Differenzierungsmerkmal zur Verzweigung in<br />
unterschiedliche, belegabhängige<br />
Anwenderprogramme verwendet werden.<br />
CSI " t löst eine Beleganforderung aus, wenn<br />
der Beleg noch nicht vorliegt oder<br />
eingezogen war. Die Beleganforderung wird<br />
durch Blinken der ’DOCUMENT’-LED am<br />
Bedienfeld angezeigt.<br />
2b. Positionierung auf Codierzeile, wenn Belegbreitenmessung benutzt<br />
wurde (optional).<br />
Befehl:<br />
CSI n " p<br />
Parameter: n = 60<br />
Bemerkung:<br />
Abstand Unterkante Beleg/Unterkante OCR-<br />
Zeile = 60/180 Zoll = 8,47 mm<br />
250 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anwendungsbeispiele<br />
Belegverarbeitung<br />
3. Rückmeldung zur Belegbreite auswerten<br />
Befehl:<br />
CSI (n) " t<br />
Parameter: n = 1062<br />
Bemerkung:<br />
Belegbreite = 1062/ 180 Zoll = 150 mm<br />
(vergleiche Beschreibung des<br />
Belegaufbaus)<br />
4. Horizontale Druckposition für OCR-Druck anfahren<br />
Befehl:<br />
ESC $ (n) (m) = absolute Punktposition<br />
Parameter: n = 180, m = 0<br />
Bemerkung: Erstes Druckzeichen auf Position 30 = 180/ 60<br />
Zoll<br />
5. OCR-Druck im Betragsfeld<br />
Druckdaten: z. B. "00000045000“<br />
6. Absolute Vertikalposition bezogen auf den oberen Belegrand einstellen<br />
Befehl:<br />
CSI n ! p<br />
Parameter: n = 170<br />
Bemerkung:<br />
Abstand Oberkante Beleg/Unterkante<br />
Zeile = 170/180 Zoll = 24 mm<br />
7. Horizontale Druckposition für Betragstext anfahren<br />
Befehl:<br />
ESC $ (n) (m) = absolute Punktposition<br />
Parameter: n = 60, m = 0<br />
Bemerkung: Erstes Druckzeichen auf Position 10 = 60/<br />
60 Zoll<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 251
Belegverarbeitung<br />
Anwendungsbeispiele<br />
8a. LQ-Schrifttyp auswählen<br />
Befehl:<br />
Parameter:<br />
ESC k (n)<br />
n = 0 (Schrifttyp Roman)<br />
8b. Drucken Betragstext<br />
Druckdaten:<br />
"VIERHUNDERFUENFZIG------------"<br />
9. Horizontale Druckposition für Währungskürzel/Betrag anfahren<br />
Befehl:<br />
ESC $ (n) (m)<br />
Parameter: n = 2, m = 1<br />
Bemerkung: Erstes Druckzeichen auf Position 43 = 258/<br />
60 Zoll<br />
10. Drucken Währungskürzel/Betrag<br />
Druckdaten: "EUR ---- 450,00"<br />
11. Zeilenvorschub<br />
Befehl:<br />
ESC J (n)<br />
Parameter: n = 53<br />
Bemerkung: ESC J (n) führt einen Zeilenvorschub um n/<br />
180 Zoll aus, hier also 53/ 180 Zoll = 7, 5<br />
mm.<br />
12. Horizontale Druckposition für Empfänger-Name anfahren<br />
Befehl:<br />
ESC $ (n) (m)<br />
Parameter: n = 60, m = 0 (siehe auch Schritt 9)<br />
252 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anwendungsbeispiele<br />
Belegverarbeitung<br />
13. Empfänger-Name drucken<br />
Druckdaten:<br />
z. B. "F. MUSTERMANN"<br />
14. Horizontale Druckposition für Ortsname anfahren<br />
Befehl:<br />
ESC $ (n) (m)<br />
Parameter: n = 2, m = 1 (siehe auch Schritt 11)<br />
15. Ortsname drucken<br />
Druckdaten:<br />
z. B. "PADERBORN"<br />
16. Zeilenvorschub<br />
Befehl:<br />
ESC J (n)<br />
Parameter: n = 53 (siehe auch Schritt 13)<br />
17. Horizontale Druckposition für Datum anfahren<br />
Befehl:<br />
ESC $ (n) (m)<br />
Parameter: n = 2, m = 1 (siehe auch Schritt 16)<br />
18. Datum drucken<br />
Druckdaten: z. B. "31.12.1998"<br />
19. Blattvorschub = Belegauswurf<br />
Befehl:<br />
FF (Form-Feed)<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 253
Belegverarbeitung<br />
Anwendungsbeispiele<br />
Programm (Pseudocode)<br />
Auf die kommentierten Programmschritte im vorhergehenden Abschnitt wird<br />
durch die entsprechende Nummerierung verwiesen.<br />
254 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anwendungsbeispiele<br />
Belegverarbeitung<br />
Ergebnis:<br />
BEGINN<br />
DRUCKE(Zeichen(27),"[90"p")<br />
DRUCKE(Zeichen(27),"["t")<br />
DRUCKE(Zeichen(27),"[60"p")<br />
LESE(Zeichen(27),"[",Zeichen(n),""t")<br />
.<br />
.<br />
Ggf. Parameter n (Belegbreite in<br />
n/180 Zoll) auswerten<br />
.<br />
.<br />
RUFE AUF OCR-ZEILE<br />
RUFE AUF TEXT-DRUCK<br />
DRUCKE(Zeichen(12))<br />
ENDE<br />
BEGINN OCR-ZEILE<br />
DRUCKE(Zeichen(27),"$",Zeichen(180,0))<br />
DRUCKE("00000045000 ")<br />
ENDE OCR-ZEILE<br />
BEGINN TEXT-DRUCK<br />
DRUCKE(Zeichen(27),"[170!p")<br />
DRUCKE(Zeichen(27),"$",Zeichen(60,0))<br />
DRUCKE(Zeichen(27),"k",Zeichen(0))<br />
DRUCKE("VIERHUNDERTFUENFZIG<br />
------------")<br />
DRUCKE(Zeichen(27),"$",Zeichen(2,1))<br />
DRUCKE("EUR ---- 450,00")<br />
DRUCKE(Zeichen(27),"J",Zeichen(53))<br />
DRUCKE(Zeichen(27),"$",Zeichen(60,0))<br />
DRUCKE("F. MUSTERMANN")<br />
DRUCKE(Zeichen(27),"$",Zeichen(2,1))<br />
DRUCKE("PADERBORN")<br />
DRUCKE(Zeichen(27),"J",Zeichen(53))<br />
DRUCKE(Zeichen(27),"$",Zeichen(2,1))<br />
DRUCKE("31.12.1998")<br />
ENDE TEXT-DRUCK<br />
1: CSI n"p<br />
2a: CSI"t<br />
2b: CSI n"p<br />
3: CSI (n)"t<br />
19: FF<br />
4: ESC $ (n) (m)<br />
7:<br />
6: CSI n ! p<br />
7: ESC $ (n) (m)<br />
8a: ESC k (n)<br />
8b:<br />
9: ESC $ (n) (m)<br />
10:<br />
11: ESC J (n)<br />
12: ESC $ (n) (m)<br />
13:<br />
14: ESC $ (n) (m)<br />
15:<br />
16: ESC J (n)<br />
17: ESC $ (n) (m)<br />
18:<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 255
Belegverarbeitung<br />
Anwendungsbeispiele<br />
1 : Ergebnis aus OCR-ZEILE<br />
2 : Ergebnis aus TEXT-DRUCK<br />
256 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anwendungsbeispiele<br />
Sparbuchverarbeitung mit MSR<br />
Sparbuchverarbeitung mit MSR<br />
In diesem Beispiel soll die Programmierung einer Sparbuchverarbeitung mit<br />
MSR vorgestellt werden. Das Sparbuch soll fußbezogen auf den Magnetstreifen<br />
positioniert werden. Danach wird der Magnetstreifen von der MSR-Einheit gelesen<br />
und die Daten (hier Zeile, Konto, Saldo) dem Rechner übermittelt. Nach<br />
Auswertung der Lesedaten soll der Magnetstreifen mit den neuen MSR-Daten<br />
beschrieben und das Sparbuch auf die nächste freie Buchungszeile positioniert<br />
werden. Nach Auswertung des Ergebnisses ’Schreiben MSR’ wird die Buchungszeile<br />
aufbereitet und gedruckt.<br />
Es wird von folgenden Voraussetzungen ausgegangen:<br />
– Zeichenfonts mit LQ-Qualität ist eingestellt<br />
– Vorgabe der horizontalen Bezugskante rechts<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 257
Sparbuchverarbeitung mit MSR<br />
Anwendungsbeispiele<br />
Sparbuchdaten<br />
1 : Sparbuchbreite 209 mm<br />
2 : Abstand Unterkante Buchungszeile 1/Oberkante Sparbuch =<br />
34 mm = 241/180 Zoll<br />
3 : Zeilenteilung zwischen den Buchungszeilen = 1/5 Zoll<br />
4 : Anzahl Buchungszeilen = 20<br />
5 : Fünf Buchungszeilen vorhanden<br />
6 : Bedruckbarer Bereich in einer Buchungszeile = Position 25 bis 86<br />
(Druckpositionen des Druckwerkes bei 10 cpi);<br />
die Druckposition 90 ist identisch mit der rechten Sparbuchkante.<br />
Die MSR-Verarbeitung erfolgt nach DIN.<br />
258 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anwendungsbeispiele<br />
Sparbuchverarbeitung mit MSR<br />
Programmierschritte (kommentiert)<br />
1. MSR-Parameter einstellen<br />
Befehl:<br />
CSI n1; n2; n3; n4; n5 ! r<br />
Parameter: n1 = 0 (keine Schreibwiederholungen =<br />
Default-Wert)<br />
n2 = 0 (keine Lesewiederholungen =<br />
Default-Wert)<br />
n3 = 0 (Schreib-/ Leseformat = DIN)<br />
n4 = 99 (vertikaler Abstand von Bezugskante<br />
= 99/ 180 Zoll = 14 mm)<br />
n5 = 1 (Untere Bezugskante)<br />
Bemerkung:<br />
Diese Parameterkombination entspricht der<br />
Default-Einstellung des Druckers für die<br />
MSR-Bearbeitung. Deshalb könnte dieser<br />
Programmschritt entfallen, falls nicht vorher<br />
eine andere Parametereinstellung gewählt<br />
wurde.<br />
2. Horizontale Bezugskante (logisch) vorgeben<br />
Befehl:<br />
Parameter:<br />
Bemerkung:<br />
CSI n % t<br />
n = 1 (Rechtsanschlag)<br />
Dieser Programmschritt ist nur dann<br />
relevant, wenn der Modus ’Bezugskante<br />
links’ als Default eingestellt ist.<br />
3. Magnetstreifen (MSR-Daten) lesen<br />
Befehl:<br />
Bemerkung:<br />
CSI " r<br />
Dieser Befehl löst, sofern das Sparbuch<br />
noch nicht vorgelegt und eingezogen war,<br />
eine Beleganforderung aus (READY-LED<br />
am Bedienfeld blinkt).<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 259
Sparbuchverarbeitung mit MSR<br />
Anwendungsbeispiele<br />
4. Warten auf Rückmeldung ’MSR lesen’ und Auswertung der MSR-Daten<br />
Rückmeldung:<br />
Parameter:<br />
Bemerkung:<br />
Hinweis:<br />
CSI n1; n2; n3; n4 " r<br />
STX Lesedaten ETX<br />
n1 = Anzahl Leseversuche<br />
n2 = Leseschwelle<br />
n3 = Leseblocknummer<br />
n4 = Lesefehler (0 = fehlerfrei)<br />
Die Lesedaten enthalten bei fehlerfreier<br />
Ausführung des Befehls CSI " r den Wert für<br />
die nächste freie Buchungszeile (= 6, siehe<br />
Schritt 7).<br />
Die Begrenzungszeichen STX (Hex. 02) und<br />
ETX (Hex. 03) werden mit übertragen.<br />
5. Aktualisieren Magnetstreifen (MSR-Daten)<br />
Befehl:<br />
CSI # r STX Schreibdaten ETX<br />
Parameter: Neue freie Buchungszeile = 7,<br />
Kontonummer (unverändert) und neuer<br />
Sparbuchbestand (Saldo) in Abhängigkeit<br />
vom Ein- oder Auszahlungsbetrag.<br />
Die Schreibdaten werden zwischen STX<br />
(Hex. 02) und ETX (Hex. 03) eingeschlossen.<br />
Bemerkung:<br />
Dieser MSR-Schreibbefehl erzeugt eine<br />
Quittung in der Form CSI n1; n2 # r, der in<br />
diesem Programmbeispiel nicht ausgewertet<br />
wird (n1 = Anzahl benötigter<br />
Schreibversuche; n2 = Fehlerkennung für<br />
Kontrolllesen).<br />
260 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anwendungsbeispiele<br />
Sparbuchverarbeitung mit MSR<br />
6. Absolute Vertikalposition bezogen auf den oberen Sparbuchrand<br />
einstellen (in Abhängigkeit von der nächsten freien Buchungszeile)<br />
Befehl:<br />
Parameter:<br />
CSI n ! p<br />
n = 421 (siehe Bemerkung)<br />
Bemerkung: – Nächste freie Buchungszeile = 6<br />
– Zeilenteilung = 1/ 5 Zoll = 36/ 180 Zoll<br />
– Abstand Unterkante Buchungszeile 1/<br />
Oberkante Sparbuch = 241/ 180 Zoll<br />
→ n = 241 + 36 ∗ (6 - 1) = 241 + 180 = 421<br />
→ Absolute Vertikalposition = 421/ 180 Zoll<br />
von oberer Sparbuchkante<br />
7. Horizontale Druckposition für Anfang der Buchungszeile anfahren 180 Zoll<br />
Befehl:<br />
ESC $ (n) (m)<br />
Parameter: n = 150, m = 0<br />
Bemerkung:<br />
Die Position der rechten Sparbuchkante<br />
entspricht Position 90 des Druckwerkes (bei<br />
10 Zeichen/ Zoll).<br />
→ Position 25 = 25 Druckstellen à 6/ 60 Zoll<br />
→ n = 25 ∗ 6 = 150<br />
8. – Ausführung transaktionsrelevanter Programmschritte<br />
(z. B. Modifizierung Sparbuch-Datei)<br />
– Aufbereitung der Druckdaten<br />
9. Buchungszeile drucken<br />
Druckdaten: z. B. "12.07. 99 EINZAHLUNG 026 "<br />
" ∗ 200,00 ∗∗∗ 1.550,00"<br />
10. Belegvorschub = Sparbuch auswerfen<br />
Befehl:<br />
FF (Form-Feed)<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 261
Sparbuchverarbeitung mit MSR<br />
Anwendungsbeispiele<br />
Programm (Pseudocode)<br />
Auf die kommentierten Programmschritte im vorhergehenden Abschnitt wird<br />
durch entsprechende Nummerierung verwiesen.<br />
BEGINN<br />
RUFE AUF VORLAUF<br />
RUFE AUF MSR<br />
RUFE AUF BUCHUNG<br />
DRUCKE (ZEICHEN (12))<br />
ENDE<br />
BEGINN VORLAUF<br />
DRUCKE(Zeichen(27),"[")<br />
DRUCKE("0;0;0;99;1!r")<br />
DRUCKE(Zeichen(27),"[1%t")<br />
ENDE VORLAUF<br />
BEGINN MSR<br />
DRUCKE(Zeichen(27),"["r")<br />
LESE(Zeichen(27),"[")<br />
LESE(Zeichen(n1,59,n2,59,n3,59,n4)<br />
LESE(""r")<br />
LESE(Zeichen(2)"... MSR-<br />
Daten...",Zeichen(3))<br />
.<br />
.<br />
MSR-Daten aktualisieren/<br />
verarbeiten<br />
.<br />
.<br />
DRUCKE(Zeichen(27),"[#r")<br />
DRUCKE(Zeichen(2),"...Neue MSR-<br />
Daten...",Zeichen(3))<br />
ENDE MSR<br />
11: FF<br />
1: CSI n1;...; n5 ! r<br />
1:<br />
2: CSI n % t<br />
3: CSI " r<br />
4: CSI(...)"r<br />
STX...ETX<br />
4:<br />
4:<br />
4:<br />
5: CSI # r STX... ETX<br />
5:<br />
262 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anwendungsbeispiele<br />
Sparbuchverarbeitung mit MSR<br />
BEGINN BUCHUNG<br />
DRUCKE(Zeichen(27),"[421!p")<br />
DRUCKE(Zeichen(27),"$",<br />
Zeichen(150,0))<br />
.<br />
.<br />
Interne Verarbeitung und<br />
Aufbereitung der Druckdaten<br />
.<br />
.<br />
DRUCKE ("...Daten in Buchungszeile...")<br />
ENDE BUCHUNG<br />
6: CSI n ! p<br />
7: ESC $ (n) (m)<br />
8:<br />
9:<br />
Ergebnis:<br />
1 : Neuer Sparbucheintrag<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 263
Sparbuchverarbeitung mit MSR<br />
Anwendungsbeispiele<br />
264 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Ladbare Firmware/Zeichengeneratoren<br />
Firmware und Zeichengeneratoren des Buch- und Belegdruckers sind in einem<br />
programmierbaren Speicher in FLASH Technologie abgelegt. Die Funktion zum<br />
Laden dieses Speichers ist durch ein residentes Programm (Lader) realisiert.<br />
Allgemeines<br />
Der Buch- und Belegdrucker kann über die Schnittstelle mit Firmware und Zeichengeneratoren<br />
geladen werden.<br />
Gründe für eine Übertragung können sein:<br />
– Erstinbetriebnahme (Produktion)<br />
– Installation einer neuen Elektronik (z. B. Servicefall)<br />
– Laden eines Firmware-Updates<br />
– Laden eines länderspezifischen Zeichengenerators<br />
Im Lademode stehen folgende Funktionen zur Verfügung:<br />
– Modulkennungen anfordern<br />
– Zeichengenerator I laden<br />
– Zeichengenerator II laden<br />
– Firmware laden<br />
– Drucker aktivieren<br />
Im Lademode ist kein Betrieb des Druckers möglich.<br />
– Die Menüeinstellungen stehen nicht zur Verfügung.<br />
– Die Funktion der Schnittstelle beschränkt sich auf die Steuersequenzen für<br />
den Urlader.<br />
– Die LCD-Texte stehen nur in Englischer Sprache zur Verfügung.<br />
Die Ladefunktionalität ist auf allen Schnittstellen verfügbar.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 265
Allgemeines<br />
Ladbare Firmware/Zeichengeneratoren<br />
Start des Laders<br />
Es gibt folgende Möglichkeiten den Lader zu starten:<br />
1. Laderstart aus der Firmware über das Kommando ESC BEL L n<br />
Die Aktivierung der Ladefunktion erfolgt über die Druckeremulation. Mit Hilfe einer<br />
speziellen Steuersequenz wird der Drucker in den Lademode umgeschaltet.<br />
Diese Steuersequenz ist in allen Emulationen gleich.<br />
i<br />
Dieser Befehl existiert bei der UNISYS Emulation nicht.<br />
Das aktive Interface bleibt weiter aktiv. Ausnahmen: Wenn der Interface-Mode<br />
auf Dual automatisch oder Dual manuell gestellt ist, wird die RS232/1 im Lader<br />
aktiviert. Bei Centronics muss eine neue ECP-Verhandlung durchgeführt werden,<br />
bei USB eine neue Enumeration.<br />
2. Druckerstart über Einschalten mit gedrückter EJECT Taste<br />
Aktivierung der RS232/1 mit festen Parametern (9600 Baud, 8 Datenbits, 1<br />
Stoppbit, Even Parity, Hardware-Handshake).<br />
3. Laderstart über Einschalten mit gedrückter STOP und USER2 Taste<br />
Interface wird automatisch selektiert (Priorität: 1. USB, 2. CEN, 3. RS232/1,<br />
4. RS232/2).<br />
4. Automatischer Laderstart, wenn keine Firmware/Font gefunden wird<br />
Interface wird automatisch selektiert (Priorität: 1. USB, 2. CEN, 3. RS232/1,<br />
4. RS232/2).<br />
266 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Ladbare Firmware/Zeichengeneratoren<br />
Allgemeines<br />
Automatische Schnittstellenerkennung im Lader<br />
Wenn der Lader über die Tastenkombination STOP und USER2 gestartet wird,<br />
oder wenn keine Firmware oder kein Font geladen sind, führt der Lader eine automatische<br />
Schnittstellenerkennung durch.<br />
Der Lader empfängt beim Start parallel auf allen 4 Schnittstellen. Wird ein Ladekommando<br />
erkannt, wird die Schnittstelle selektiert, die anderen geschlossen<br />
und das Laden gestartet. Bei Centronics muss eine neue ECP-Verhandlung, bei<br />
USB eine neue Enumeration durchgeführt werden.<br />
Wird das Ladekommando unvollständig empfangen, so wird 200 ms auf den<br />
Rest der Nachricht gewartet. Danach wird der erste Teil verworfen und die gesamte<br />
Nachricht muss wiederholt werden.<br />
Der Ablauf der Schnittstellenerkennung wird im folgenden näher beschrieben.<br />
RS232 Schnittstelle<br />
Stellen Sie die RS232 Schnittstelle wie folgt ein:<br />
– 9600 Baud<br />
– 8 Datenbits<br />
– 1 Stoppbit<br />
– Even Parity<br />
– Hardware-Handshake<br />
Senden Sie das Ladekommando ESC BEL L n.<br />
Der Parameter n gibt die zu verwendende Baudrate an:<br />
n = 0 Datenübertragungsrate unverändert<br />
n = 1 Baudrate 2400<br />
n = 2 Baudrate 4800<br />
n = 3 Baudrate 9600<br />
n = 4 Baudrate 19200<br />
n = 5 Baudrate 38400<br />
n = 6 Baudrate 57600<br />
n = 7 Baudrate 115200<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 267
Allgemeines<br />
Ladbare Firmware/Zeichengeneratoren<br />
Wenn bei der automatischen Schnittstellensuche ein ’ESC BEL L n’ auf einer der<br />
RS232 Schnittstellen empfangen wird, so wird der Baudratenparameter n auf<br />
Gültigkeit überprüft (0-7). Wurde eine ’0’ (0x30) empfangen, so wird die aktuelle<br />
Baudrate beibehalten. Liegt die empfangene Zahl zwischen ’1’ und ’7’, so wird<br />
die neue Baudrate aktiviert und der Befehl in der neuen Baudrate quittiert. Wird<br />
ein ungültiger Wert n erkannt, so wird die jeweilige Schnittstelle mit den aktuell<br />
gültigen Parametern (9600 Baud) aktiviert und der Befehl quittiert.<br />
Centronics Schnittstelle<br />
Führen Sie eine ECP Verhandlung zum Übergang in den ECP Modus durch.<br />
Senden Sie das Ladekommando ESC BEL L n.<br />
Der Parameter n hat keine Bedeutung. Er muss jedoch bei dem Befehlsaufruf<br />
mit angegeben werden.<br />
USB Schnittstelle<br />
Führen Sie eine Enumeration durch.<br />
Senden Sie das Ladekommando ESC BEL L n.<br />
Der Parameter n gibt die zu verwendende USB-Gerätenummer vor.<br />
Verlassen des Laders<br />
Das Ladeprogramm wird verlassen durch:<br />
– Ausschalten des Druckers,<br />
– Durch die Steuersequenz ESC BEL E nach erfolgreichem Laden von Firmware<br />
und Zeichengenerator.<br />
268 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Ladbare Firmware/Zeichengeneratoren<br />
Allgemeines<br />
Ablauf eines Ladevorgangs<br />
In der folgenden Abbildung ist der Ablauf eines Ladevorgangs dargestellt. Die<br />
Reihenfolge muss eingehalten werden.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 269
Allgemeines<br />
Ladbare Firmware/Zeichengeneratoren<br />
Der Ladevorgang läuft bei allen zu ladenden Daten gleich ab. Ein Vorgang beginnt<br />
mit der Anforderung der Datenkennung über die Escape-Sequenz<br />
ESC I D. Daraus ist ersichtlich, ob Module geladen sind und um welche Version<br />
es sich handelt.<br />
Ist das entsprechende Modul nicht geladen oder stimmen die Versionen nicht<br />
überein, wird im zweiten Schritt der entsprechende Vorbefehl übertragen.<br />
Anschließend kann das entsprechende Modul übertragen werden.<br />
Nach dem Ladevorgang wird als Quittung die komplette Dateikennung übertragen.<br />
Daraus ist ersichtlich, ob das neue Modul ordnungsgemäß übertragen wurde.<br />
Modulkennung<br />
Jedes ladbare Datenfile ist durch eine Kennung identifizierbar. Die Kennung hat<br />
folgenden Aufbau:<br />
Länge Inhalt Bedeutung<br />
5 $xxx$ Kennung $MOD$<br />
1 blank Trennzeichen<br />
6 yymmdd Freigabedatum im Format YYMMDD (941101 für<br />
1.11.94)<br />
1 blank Trennzeichen<br />
4 xxxx Versionskennung der Freigabe (0105 für V01.05)<br />
1 blank Trennzeichen<br />
8 a..a Modulname (z.B. "PRFWASTD", "CP15_437")<br />
1 . Trennzeichen (Punkt)<br />
3 a.a Extension (MOD, FRM, FNT, TBF)<br />
1 : oder ; Trennzeichen ":" oder Endezeichen ";"<br />
270 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Ladbare Firmware/Zeichengeneratoren<br />
Allgemeines<br />
Versionskennung:<br />
Extension<br />
Der Buch- und Belegdrucker enthält unterschiedliche Datenmodule. Der Typ<br />
des jeweiligen Datenmoduls ist durch die Dateiextension gekennzeichnet.<br />
Nachfolgend sind die Extensions mit ihrer Bedeutung beschrieben:<br />
Extension<br />
*.FNT<br />
*.MOD<br />
*.FRM<br />
*.TBF<br />
Bedeutung<br />
Font<br />
Firmware<br />
Urlader (resident, nicht ladbar)<br />
Two Byte Font (China)<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 271
Laderkommandos<br />
Ladbare Firmware/Zeichengeneratoren<br />
Laderkommandos<br />
Umschaltung in die Ladefunktion<br />
i<br />
Dieser Befehl existiert bei der UNISYS Emulation nicht.<br />
ESC<br />
27<br />
1B<br />
BEL<br />
7<br />
07<br />
L<br />
76<br />
4C<br />
n<br />
48-55<br />
30-37<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Mit diesem Befehl wird die aktuelle Emulationssoftware beendet. Alle Daten in<br />
den Eingangspuffern werden gelöscht. Die mechanischen Funktionen werden<br />
unmittelbar gestoppt.<br />
Die Ladesoftware wird gestartet und erzeugt bei aktiver RS232 Schnittstelle zur<br />
Synchronisierung nach minimal 500 ms die Quittung ESC BEL L in der neuen<br />
Baudrate.<br />
RS232 Schnittstelle<br />
Die Datenübertragungsgeschwindigkeit auf dem RS 232 Interface ist normalerweise<br />
auf 9600 Baud eingestellt. Im Druckbetrieb liegt das Maximum bei<br />
19200 Baud. Im Ladebetrieb kann über den Parameter n die Datenübertragungsrate<br />
temporär erhöht werden, um die Ladezeiten zu reduzieren.<br />
n = 0 Datenübertragungsrate unverändert<br />
n = 1 Baudrate 2400<br />
n = 2 Baudrate 4800<br />
n = 3 Baudrate 9600<br />
n = 4 Baudrate 19200<br />
n = 5 Baudrate 38400<br />
n = 6 Baudrate 57600<br />
n = 7 Baudrate 115200<br />
272 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Ladbare Firmware/Zeichengeneratoren<br />
Laderkommandos<br />
Centronics-Schnittstelle<br />
Bei der Centronics Schnittstelle hat der Parameter n keine Bedeutung. Er muss<br />
jedoch bei dem Befehlsaufruf mit angegeben werden.<br />
Bei aktiver Centronics Schnittstelle muss nach dem Start des Laders eine erneute<br />
ECP-Verhandlung durchgeführt werden. Eine Quittung wird erst danach,<br />
nach wiederholtem Senden des Befehls gesendet.<br />
USB Schnittstelle<br />
Bei Einsatz der USB Schnittstelle gibt der Parameter n die USB-Gerätenummer<br />
an.<br />
n = 0 .. 9 (0x30 .. 0x39) USB-Gerätenummer<br />
n = O (0x4F) keine USB-Gerätenummer verwenden<br />
Bei aktiver USB Schnittstelle muss nach dem Start des Laders eine erneute<br />
Enumeration durchgeführt werden. Eine Quittung wird erst danach, nach wiederholtem<br />
Senden des Befehls gesendet.<br />
Verlassen der Ladefunktion<br />
ESC<br />
27<br />
1B<br />
BEL<br />
7<br />
07<br />
E<br />
69<br />
45<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Mit diesem Befehl wird der Urlader beendet und die geladene Firmware gestartet.<br />
Anmerkung:<br />
Der Urlader wird nur verlassen, wenn eine gültige Firmware und ein gültiger Zeichengenerator<br />
geladen ist. Die Firmware arbeitet wieder mit den im Bedienfeld<br />
eingestellten Interfaceparametern.<br />
Wenn keine gültige Firmware oder kein gültiger Zeichengenerator geladen sind,<br />
wird die ESC I D Rückmeldung gesendet (siehe Abschnitt „Modulkennung / Datenkennung<br />
anfordern“).<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 273
Laderkommandos<br />
Ladbare Firmware/Zeichengeneratoren<br />
Modulkennung / Datenkennung anfordern<br />
ESC<br />
27<br />
1B<br />
I<br />
73<br />
49<br />
D<br />
68<br />
44<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Mit diesem Befehl wird die Datenkennung ($MOD$) angefordert. Der Lader meldet<br />
alle Kennungen durch Doppelpunkt getrennt und mit Semikolon abgeschlossen.<br />
Aufbau der Datenkennung<br />
Die Rückmeldung beginnt immer mit ESC I D:<br />
Länge Inhalt Bedeutung<br />
1 ESC ESCAPE<br />
1 I Information<br />
1 D Datenkennung<br />
Anschließend folgen die Datenkennungen der geladenen Module. Jeder Eintrag<br />
hat eine feste Länge und endet, bis auf den letzten Eintrag, mit einem Doppelpunkt.<br />
Der letzte Eintrag endet mit einem Semikolon. Im folgenden ist die Struktur<br />
eines Eintrags beispielhaft dargestellt:<br />
Länge Inhalt Bedeutung<br />
5 $xxx$ Kennung $MOD$<br />
1 blank Trennzeichen<br />
6 yymmdd Freigabedatum im Format YYMMDD (941101 für<br />
1.11.94)<br />
1 blank Trennzeichen<br />
4 rrvv Versionskennung der Freigabe (0105 für V01.05)<br />
1 blank Trennzeichen<br />
8 a..a Modulname (z.B. "PRFWASTD", "CP15_437")<br />
1 . Trennzeichen (Punkt)<br />
3 a.a Extension (MOD, FRM, FNT, TBF)<br />
1 : oder ; Trennzeichen ":" oder Endezeichen ";"<br />
274 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Ladbare Firmware/Zeichengeneratoren<br />
Laderkommandos<br />
Anmerkung:<br />
’yymmdd’ wird durch das Freigabedatum des Moduls, ’rrvv’ durch die Versionskennung<br />
des Moduls ersetzt.<br />
Beispiele:<br />
Rückmeldung, wenn nur der Urlader vorhanden ist<br />
ESC ID<br />
$MOD$ yymmdd rrvv BOOTALDR.FRM;<br />
Urlader<br />
Rückmeldung, wenn der Urlader und der Zeichengenerator geladen ist<br />
ESC ID<br />
$MOD$ yymmdd rrvv BOOTALDR.FRM:<br />
$MOD$ yymmdd rrvv CP15_437.FNT;<br />
Urlader<br />
Font PC-Tafel 437<br />
Rückmeldung, wenn alle Daten geladen sind<br />
ESC ID<br />
$MOD$ yymmdd rrvv BOOTALDR.FRM:<br />
$MOD$ yymmdd rrvv CP15_437.FNT:<br />
$MOD$ yymmdd rrvv PRFWASTD.MOD;<br />
Urlader<br />
Font PC-Tafel 437<br />
Firmware Standard<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 275
Zeichengeneratoren Laden<br />
Ladbare Firmware/Zeichengeneratoren<br />
Zeichengeneratoren Laden<br />
Bereitschaft zum Laden des Zeichengenerators melden<br />
ESC<br />
27<br />
1B<br />
F<br />
70<br />
46<br />
N<br />
78<br />
4E<br />
T<br />
84<br />
54<br />
(n1)<br />
n1<br />
n1<br />
(n2)<br />
n2<br />
n2<br />
(n3)<br />
n3<br />
n3<br />
(d)<br />
(00/01)<br />
(00/01)<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Mit diesem Befehl wird dem Drucker mitgeteilt, dass ein neuer Zeichengenerator<br />
geladen werden soll. Die Anzahl zu ladender Bytes wird mitübertragen und errechnet<br />
sich wie folgt:<br />
Anzahl = n1+256*n2+65536*n3.<br />
Parameter ’d’ Ziel<br />
Der Buch- und Belegdrucker mit Speichererweiterung kann in den Zusatzspeicher<br />
weitere Zeichengeneratoren aufnehmen. Es ist so möglich entweder eine<br />
zweite PC Tafel, oder auch Fonts für den asiatischen Raum bis zu einer maximalen<br />
Größe von 2 MByte zu laden.<br />
d = 00<br />
d = 01<br />
Primärer Zeichengeneratorplatz (max. 256 kByte)<br />
Sekundärer (Optionaler) Zeichengeneratorplatz (max. 2 MByte)<br />
Der Lader löscht die alten Zeichengenerator-Daten. Anschließend zeigt er die<br />
Bereitschaft zum Laden des Zeichengenerators an, indem die Sequenz<br />
ESCFNT an den Host gesendet wird.<br />
276 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Ladbare Firmware/Zeichengeneratoren<br />
Zeichengeneratoren Laden<br />
Zeichengenerator-Datei laden<br />
Funktion:<br />
Der Host kann nun die Zeichengenerator-Datei senden. Es dürfen nur Dateien<br />
mit der Fileextension ’.FNT’ oder ’.TBF’ geladen werden. Am Ende der Datei<br />
steht eine Ergänzungssumme. Nach dem Ladevorgang kann anhand dieser<br />
Summe geprüft werden, ob der Ladevorgang fehlerfrei war.<br />
Nach erfolgreicher Datenübertragung und erfolgreichem Ladevorgang meldet<br />
der Lader die entsprechende Datenkennung in der ESC I D Quittung.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 277
Firmware laden<br />
Ladbare Firmware/Zeichengeneratoren<br />
Firmware laden<br />
Bereitschaft zum Laden der Firmware melden<br />
Aktueller Befehl (mod)<br />
ESC<br />
27<br />
1B<br />
m<br />
109<br />
6D<br />
o<br />
111<br />
6F<br />
d<br />
100<br />
64<br />
(n1)<br />
n1<br />
n1<br />
(n2)<br />
n2<br />
n2<br />
(n3)<br />
n3<br />
n3<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Funktion:<br />
Mit diesem Befehl wird dem Urlader mitgeteilt, dass eine neue Firmware geladen<br />
werden soll. Die Anzahl zu ladender Bytes wird mitübertragen und errechnet<br />
sich wie folgt:<br />
Anzahl = n1+256*n2+65536*n3.<br />
Es werden alle Aktivitäten im Drucker gestoppt und alte Firmware-Daten gelöscht.<br />
Abschließend zeigt der Lader die Bereitschaft zum Laden der Firmware<br />
an, indem die Sequenz ESC m o d an den Host gesendet wird.<br />
Alter Befehl (MOD)<br />
i<br />
Dieser Befehl wird mit dem neuen Lader nicht mehr unterstützt, damit<br />
nicht die alte Firmware in den neuen Drucker geladen werden kann, bzw.<br />
damit nicht der Flash-Inhalt gelöscht wird.<br />
ESC<br />
27<br />
1B<br />
M<br />
77<br />
4D<br />
O<br />
79<br />
4F<br />
D<br />
68<br />
44<br />
(n1)<br />
n1<br />
n1<br />
(n2)<br />
n2<br />
n2<br />
(n3)<br />
n3<br />
n3<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
278 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Ladbare Firmware/Zeichengeneratoren<br />
Firmware laden<br />
Firmware-Datei laden<br />
Funktion:<br />
Der Host kann nun die Firmware-Datei senden. Es dürfen nur Dateien mit der<br />
Endung ’*.MOD’ geladen werden. Am Ende der Datei steht eine Ergänzungssumme.<br />
Nach dem Ladevorgang kann anhand dieser Summe geprüft werden,<br />
ob der Ladevorgang fehlerfrei war.<br />
Nach erfolgreicher Datenübertragung und erfolgreichem Ladevorgang meldet<br />
der Lader die entsprechende Datenkennung in der ESC I D Quittung.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 279
Datei-Kennsätze<br />
Ladbare Firmware/Zeichengeneratoren<br />
Datei-Kennsätze<br />
Da der Urlader binäre Daten empfängt, kann ihm nicht über ein Endezeichen<br />
mitgeteilt werden, wann das Ende der Übertragung erreicht ist. Deshalb wird mit<br />
dem Aufruf des Urladers die Länge übertragen.<br />
Firmware Datei-Kennsatz<br />
Am Anfang einer Firmware-Datei steht ein 64-Byte langer Kennsatz mit folgendem<br />
Aufbau:<br />
Offset Länge Inhalt Bedeutung<br />
0 4 BXXXX Einsprung in das FIRMWARE Programm<br />
4 5 $MOD$ Kennung<br />
9 1 blank Trennzeichen<br />
10 6 yymmdd Freigabedatum im Format YYMMDD<br />
(041020 für 20.10.2004)<br />
16 1 blank Trennzeichen<br />
17 4 rrvv Release und Version der Freigabe<br />
(1005 für V1.0/05)<br />
21 1 blank Trennzeichen<br />
22 8 a..a Modulname (’PRFWASTD’)<br />
30 1 . Trennzeichen (Punkt)<br />
31 3 aaa Extension (MOD)<br />
34 2 0x00 String-Ende-Terminator<br />
36 4 0xXXXX START Adresse<br />
XXXX<br />
40 4 0xXXXX END Adresse<br />
XXXX<br />
44 4 0xXXXX 32 Bit Checksumme<br />
XXXX<br />
48 16 0x00 reserviert<br />
63 ENDE<br />
280 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Ladbare Firmware/Zeichengeneratoren<br />
Datei-Kennsätze<br />
Zeichengenerator Datei-Kennsatz<br />
Am Anfang einer Zeichengenerator-Datei steht ein 48-Byte langer Kennsatz mit<br />
folgendem Aufbau:<br />
Offset Länge Inhalt Bedeutung<br />
0 5 $MOD$ Kennung<br />
5 1 blank Trennzeichen<br />
6 6 yymmdd Freigabedatum im Format YYMMDD<br />
(020301 für 1.03.02)<br />
12 1 blank Trennzeichen<br />
13 4 rrvv Release und Version der Freigabe<br />
(1005 für V1.0/05)<br />
17 1 blank Trennzeichen<br />
18 8 a..a Modulname (z.B. ’CP15_437’)<br />
26 1 . Trennzeichen (Punkt)<br />
27 3 aaa Extension (FNT, TBF)<br />
30 1 00 String-Ende-Terminator<br />
31 1 n1 Längenbyte 1<br />
32 1 n2 Längenbyte 2<br />
33 1 n3 Längenbyte 3<br />
Länge = n1+(256*n2)+(65536*n3)<br />
34 14 0x00 reserviert<br />
48 ENDE<br />
Aus dem Kennsatz kann die gesamte Anzahl zu ladender Bytes, inklusive<br />
Kennsatz entnommen werden.<br />
Eine gültige Datei kann anhand des Datei-Kennsatzes und der Prüfsumme erkannt<br />
werden:<br />
Prüfsummenberechnung:<br />
Summe aller 16 bit Wörter + optionalem Prüfsummenoffset = 0<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 281
Datei-Kennsätze<br />
Ladbare Firmware/Zeichengeneratoren<br />
Quittung bei erfolgreichem Laden:<br />
Wenn der Ladevorgang erfolgreich abgeschlossen wurde, erfolgt nach einer<br />
maximal Zeit von 60 sek. (typisch 15 sek.) die Rückmeldung der Datenkennung:<br />
ESC ID<br />
$MOD$ yymmdd rrvv BOOTALDR.FRM:<br />
$MOD$ yymmdd rrvv CP15_437.FNT:<br />
$MOD$ yymmdd rrvv PRFWASTD.MOD;<br />
Probleme beim Ladevorgang:<br />
Werden die geladen Daten als nicht gültig erkannt, fehlt in der Quittung der entsprechende<br />
Dateikennsatz.<br />
Wird die Datenübertragung während des Ladens für min. 60 Sekunden unterbrochen,<br />
erfolgt die Rückmeldung der Datenkennung. Der Urlader geht in seinen<br />
Grundzustand. Die schon übertragenen Daten sind ungültig. Der<br />
Ladevorgang muss erneut gestartet werden.<br />
Die Centronics Schnittstelle muss vor Ausführung von Ladebefehlen vom System<br />
in den ECP Mode (bidirektional) geschaltet werden. Im kompatiblen Mode<br />
werden keine Daten bearbeitet.<br />
282 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Ansteuerung asiatischer Zeichensätze<br />
Im Buch- und Belegdrucker werden die asiatischen Zeichensätze über die Systemschnittstelle<br />
geladen. Diese Funktion ist nur in Geräten mit Speichererweiterung<br />
verfügbar.<br />
Zusätzlich muss am Druckerbedienfeld im Servicemenü die Anwahl-Speichererweiterung<br />
eingestellt werden. Treffen diese Bedingungen nicht zu, sind keine<br />
asiatischen Zeichen verfügbar.<br />
Einstellungen am Druckerbedienfeld<br />
Memory<br />
extension<br />
Memory extension off<br />
Memory extension E.Journal<br />
Memory extension 2.CG<br />
Memory extension GB2312<br />
Memory extension GB5007<br />
Memory extension GB5199<br />
Memory extension BIG5<br />
Festlegung der Funktion der<br />
Speichererweiterung<br />
Asiatische Codierungen<br />
Die Ansteuerung der asiatischen Zeichen erfolgt aufgrund ihrer Anzahl über eine<br />
2-Byte Codierung.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 283
Ansteuerung asiatischer Zeichensätze<br />
Folgende Codierungen sind zur Zeit implementiert:<br />
GB 2312-80 VR China Zeichenbelegung siehe Anhang,<br />
Abschnitt „Chinesische Zeichen im Buchund<br />
Belegdrucker“.<br />
GB 5007 VR China Zeichenbelegung siehe Anhang,<br />
Abschnitt „Chinesische Zeichen im Buchund<br />
Belegdrucker“.<br />
GB 5199 VR China Zeichenbelegung siehe Anhang,<br />
Abschnitt „Chinesische Zeichen im Buchund<br />
Belegdrucker“.<br />
BIG5<br />
Traditional<br />
Chinese<br />
(Hongkong und<br />
Taiwan)<br />
Zeichenbelegung siehe Anhang,<br />
Abschnitt „Chinesische Zeichen im Buchund<br />
Belegdrucker“.<br />
Ist ein 2-Byte-Zeichengenerator vorhanden, wird nach dem Einschalten automatisch<br />
der 2-Byte-Zeichengenerator aktiviert.<br />
Ist im Zeichengenerator eine Default-Fontnummer spezifiziert, wird der entsprechende<br />
Zeichensatz eingestellt.<br />
Ist im Zeichengenerator keine Default-Fontnummer spezifiziert, wird der im Bedienfeldmenü<br />
ausgewählte Zeichensatz eingestellt.<br />
Steuersequenzen unter 20h bzw. ESC-Sequenzen werden, soweit möglich,<br />
ausgeführt.<br />
Werden Zeichencodes aus dem Bereich der 1 Byte Zeichen übertragen, wird die<br />
aktuell eingestellte LQ-Schriftart und der entsprechende Zeichensatz gedruckt.<br />
284 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Ansteuerung asiatischer Zeichensätze<br />
Beispiel:<br />
Umschaltung zwischen 1-Byte-Zeichen und 2-Byte-Zeichen:<br />
ESC [1$q Umschaltung in 2 Byte Modus, Zeichensatz GB2312-80<br />
/h B1 A2 31 32 33 B1 B2 B2 31 0D<br />
Zeichen 1 1 Byte Zeichen<br />
aus EPSON<br />
Zeichensatz<br />
Zeichen 2 Da ein Zeichen B2/<br />
31 in GB2312 nicht<br />
existiert, wird das<br />
Zeichen B2 ignoriert.<br />
Das Zeichen 31 wird<br />
als Zeichen aus dem<br />
EPSON Zeichensatz<br />
erkannt.<br />
Druckauslösung<br />
Attribute<br />
Die Attribute Fett, Breitdruck und Schmaldruck sowie Unterstreichen können auf<br />
die chinesischen Zeichen angewendet werden. Die Attribute Hoch-/Tiefstellen<br />
sind nicht möglich und erzeugen undefinierte Druckergebnisse.<br />
Die Textverarbeitungsfunktionen Blocksatz, Zentrierung und rechtsbündiger<br />
Ausdruck können nicht in Verbindung mit 2 Byte Zeichen benutzt werden.<br />
Zeichenabstand (HMI)<br />
<strong>HighPrint</strong> 4915 Emulation<br />
Werden Zeichencodes aus dem Bereich der 1 Byte Zeichen übertragen, wird die<br />
aktuell eingestellte Zeichenteilung (10, 12 oder 15 cpi) benutzt. Korrespondierend<br />
hierzu wird bei den chinesischen Zeichen der Zeichenabstand verdoppelt<br />
(5, 6 oder 7,5 cpi). Bei Anwendung der Attribute Breitdruck und Schmaldruck<br />
wird der Zeichenabstand mit dem Faktor 0,5 bzw. 2 multipliziert.<br />
Nach dem Einschalten ist der über die Bedienfeldanwahl aktivierte Zeichensatz<br />
aktiv. Diese Voreinstellung kann über nachfolgend dargestellten Steuerbefehl<br />
überschrieben werden.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 285
Voreinstellung Zeichensatz<br />
Ansteuerung asiatischer Zeichensätze<br />
Voreinstellung Zeichensatz<br />
CSI<br />
n<br />
$<br />
q<br />
Name<br />
ESC<br />
27<br />
1B<br />
[<br />
91<br />
5B<br />
n<br />
n<br />
n<br />
$<br />
36<br />
24<br />
q<br />
113<br />
71<br />
ASCII-Zeichen<br />
Dezimal<br />
Hexadezimal<br />
Parameter n:<br />
Wert Schriftart Codierung<br />
n = 0 Epson Schriftarten 1 Byte Mode EPSON ESC P<br />
n = 1 GB 2312-80 2 Byte Mode GB2312<br />
n = 2 GB 5007 2 Byte Mode GB5007<br />
n = 3 GB 5199 2 Byte Mode GB5199<br />
n = 4 .. 9 GB xxxx 2 Byte Mode GB (reserviert für<br />
weitere Symboltafeln)<br />
n = 10 FANG SONG GB2312- 2 Byte Mode simplyfied chinese<br />
80, GB5007, GB5199<br />
und GB xxxx<br />
n = 11 .. 100 Schriftarten GB......... 2 Byte Mode simplyfied chinese<br />
(reserviert für weitere Schriftarten)<br />
n = 101 BIG 5 2 Byte Mode BIG5<br />
n = 102 .. 200 BIG 5 2 Byte Mode BIG5 Schriftart (z.Zt.<br />
reserviert für Schriftarten)<br />
286 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Betriebssystem-spezifische Abhängigkeiten<br />
Windows Treiber<br />
Der Drucker wird mit einem Wincor Nixdorf-Druckertreiber für die Betriebssysteme<br />
Windows 2000 und Windows XP ausgeliefert.<br />
Nähere Informationen finden Sie in der Treiberdokumentation.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 287
Windows Treiber<br />
Betriebssystem-spezifische Abhängigkeiten<br />
288 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Emulationen<br />
Anhang<br />
Emulationen<br />
<strong>HighPrint</strong> 4915 Emulation<br />
Befehlstabelle für die <strong>HighPrint</strong> 4915 Emulation<br />
Kommando ASCII hex Funktion<br />
BEL (1*) 07 Signalton<br />
BS 08 Rückschritt um ein Zeichen<br />
HT 09 Horizontal-Tabulation<br />
LF 0A Zeilenvorschub<br />
VT 0B Vertikal-Tabulation<br />
FF 0C Blattauswurf<br />
CR 0D Wagenrücklauf<br />
SO 0E Breitdruck für eine Zeile einschalten<br />
SI 0F Schmaldruck einschalten<br />
DC 1 11 Drucker online<br />
DC 2 12 Schmaldruck ausschalten<br />
DC 3 13 Drucker offline<br />
DC 4 14 Breitdruck ausschalten<br />
CAN 18 Zeichen löschen<br />
DEL 7F Zeile löschen<br />
ESC SO 1B 0E Breitdruck für eine Zeile einschalten<br />
ESC SI 1B 0F Schmaldruck einschalten<br />
ESC EM (n) 1B 19 n Papiersteuerung<br />
ESC SP (n) 1B 20 n Zeichenzwischenraum festlegen<br />
ESC ! (n) 1B 21 n Kombinierte Druckart-Auswahl<br />
ESC # 1B 23 MSB-Vorgabe löschen<br />
ESC $ (n) (m) 1B 24 n m Horizontale Positionierung (absolut)<br />
ESC % (n) 1B 25 n Benutzerdefinierten Zeichensatz ein-/<br />
ausschalten<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 289
Emulationen<br />
Anhang<br />
Kommando ASCII hex Funktion<br />
ESC & (s) (n) (m) 1B 26 s n m Zeichendefinition übertragen<br />
ESC * (s) (n) (m) 1B 2A s n m Grafikmodus auswählen<br />
ESC + (n) 1B 2B n n/360 Zoll Zeilenabstand auswählen<br />
ESC - (n) 1B 2D n Unterstreichen ein-/ausschalten<br />
ESC / (c) 1B 2F c Vertikaltabulator-Kanal auswählen<br />
ESC 0 1B 30 1/8 Zoll Zeilenabstand auswählen<br />
ESC 2 1B 32 1/6 Zoll Zeilenabstand auswählen<br />
ESC 3 (n) 1B 33 n n/180 Zoll Zeilenabstand auswählen<br />
ESC 4 1B 34 Kursivdruck einschalten<br />
ESC 5 1B 35 Kursivdruck ausschalten<br />
ESC 6 1B 36 Zeichensatzerweiterung einschalten<br />
ESC 7 1B 37 Zeichensatzerweiterung ausschalten<br />
ESC : NUL (n)<br />
NUL<br />
1B 3A 00 n 00 Zeichensatz in den RAM-Speicher<br />
kopieren<br />
ESC < 1B 3C Unidirektionaldruck für eine Zeile<br />
wählen<br />
ESC = 1B 3D MSB auf 0 setzen<br />
ESC > 1B 3E MSB auf 1 setzen<br />
ESC ? (m) (s) 1B 3F m s Grafikkommandos neu zuordnen<br />
ESC @ 1B 40 Drucker initialisieren<br />
ESC A (n) 1B 41 n n/60 Zoll Zeilenabstand auswählen<br />
ESC B ... NUL 1B 42 ... 00 Vertikal-Tabulatoren festlegen/löschen<br />
(Kanal 0)<br />
ESC C (n) 1B 43 n Beleglänge auf n Zeilen festlegen<br />
ESC C NUL (n) 1B 43 00 n Beleglänge auf n Zoll festlegen<br />
ESC D ... NUL 1B 44 ...00 Horizontal-Tabulatoren festlegen/<br />
löschen<br />
ESC E 1B 45 Fettdruck einschalten<br />
ESC F 1B 46 Fettdruck ausschalten<br />
ESC G 1B 47 Doppeldruck einschalten<br />
ESC H 1B 48 Doppeldruck ausschalten<br />
ESC J (n) 1B 4A n n/180 Zoll Zeilenvorschub ausführen<br />
ESC K (n) (m) 1B 4B n m Grafikmodus ’einfache Dichte’<br />
einschalten<br />
290 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Emulationen<br />
Kommando ASCII hex Funktion<br />
ESC L (n) (m) 1B 4C n m Grafikmodus ’doppelte Dichte’<br />
einschalten<br />
ESC M 1B 4D 12 cpi-Zeichengröße (Elite) auswählen<br />
ESC N (n) 1B 4E n Unteren Rand festlegen<br />
ESC O 1B 4F Unteren Rand löschen<br />
ESC P 1B 50 10 cpi-Zeichengröße (Pica) auswählen<br />
ESC Q (n) 1B 51 n Rechten Rand festlegen<br />
ESC R (n) 1B 52 n Nationalen Zeichensatz auswählen<br />
ESC S (n) 1B 53 n Hoch-/Tiefstellen einschalten<br />
ESC T 1B 54 Hoch-/Tiefstellen ausschalten<br />
ESC U (n) 1B 55 n Unidirektionaldruck-Modus ein/aus<br />
ESC W (n) 1B 57 n Breitdruck ein-/ausschalten<br />
ESC Y (n) (m) 1B 59 n m Grafikmodus ’doppelte Dichte’ u.<br />
’doppelte Geschwindigkeit’ einschalten<br />
ESC Z (n) (m) 1B 5A n m Grafikmodus ’vierfache Dichte’<br />
einschalten<br />
ESC [ n ! p 1B 5B n 21 70 Absolute Vertikalpositionierung (von<br />
oben)<br />
ESC [ n ! q 1B 5B n 21 71 Wechsel zwischen Beleg- und<br />
Journaldruck<br />
ESC [ n # p 1B 5B n 23 70 Relative Vertikalpositionierung<br />
rückwärts<br />
ESC [ n " p 1B 5B n 22 70 Absolute Vertikalpositionierung (von<br />
unten)<br />
ESC [ n # q 1B 5B n 23 71 Auswahl von Schriftarten/<br />
Zeichensätzen<br />
ESC [ n $ p 1B 5B n 24 70 Papierzuführung des Beleges<br />
ESC [ n1 .. n5 ! r 1B 5B n1 .. n5 21 Parameterblock MSR<br />
72<br />
ESC [ " r 1B 5B 22 72 Lesen einer MSR-Spur<br />
ESC [ # r STX .. 1B 5B 23 72 02 Schreiben einer MSR-Spur<br />
ETX<br />
...03<br />
ESC [ % r 1B 5B 25 72 Löschen einer MSR-Spur<br />
ESC [ n ! t 1B 5B n 21 74 Setzen Kontrollpunkte/Kontrollzyklus<br />
auslösen<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 291
Emulationen<br />
Anhang<br />
Kommando ASCII hex Funktion<br />
ESC [ " t 1B 5B 22 74 Belegbreite anfordern<br />
ESC [ # t 1B 5B 23 74 Belegkantenerkennung<br />
ESC [ n $ t 1B 5B n 24 74 Sparbuchverarbeitung aktivieren<br />
ESC [ n % t 1B 5B n 25 74 Vorgabe der horizontalen Bezugskante<br />
ESC [ n ( t 1B 5B n 28 74 Mode-Umschaltung für Papierende-<br />
Behandlung<br />
ESC [ n ) t 1B 5B n 29 74 Setzen Kontrollpunkt II<br />
ESC [ n * t 1B 5B n 2A 74 Doppelplatzsteuerung<br />
ESC [ n ! z 1B 5B n 21 7A Globaler Druckerstatus<br />
ESC [ " z 1B 5B 22 7A Spezielle Druckermeldungen anfordern<br />
ESC [ n ; m " z 1B 5B n m 22 7A Spezielle Druckermeldungen<br />
ESC [ n # z 1B 5B n 23 7A Druckwerksparameter anfordern<br />
ESC [ n1 ; ... ; n8 # 1B 5B n1 .. n8 23 Druckwerksparameter<br />
z<br />
7A<br />
ESC \ (n) (m) 1B 5C n m Horizontale Positionierung (relativ)<br />
ESC a (n) 1B 61 n Textausrichtung festlegen<br />
ESC b (c) .. NUL 1B 62 c .. 00 Vertikal-Tabulatoren für beliebigen<br />
Kanal setzen/löschen<br />
ESC g 1B 67 15 cpi-Zeichengröße auswählen<br />
ESC k (n) 1B 6B n LQ-Schrifttyp auswählen<br />
ESC l (n) 1B 6C n Linken Rand festlegen<br />
ESC p (n) 1B 70 n Proportionaldruck ein-/ausschalten<br />
ESC r (n) (1*) 1B 72 n Druckfarbe auswählen<br />
ESC s (n) (1*) 1B 73 n Halbe Druckgeschwindigkeit ein-/<br />
ausschalten<br />
ESC t (n) 1B 74 n Zeichensatz wählen<br />
ESC x (n) 1B 78 n Umschalten Druckqualität (Draft/LQ)<br />
(1*) = Nicht ausführbare Kommandos<br />
Hardware spezifische Befehle werden ignoriert, wenn sie konfigurationsbedingt<br />
nicht ausführbar sind.<br />
292 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Emulationen<br />
Definition für das Drucken von Barcodes mit dem Buch- und Belegdrucker<br />
Escape-Sequenz<br />
Die Definition für das Drucken von Barcodes lautet:<br />
ESC [ m ; h ; z ; n * r STX (data) ETX<br />
1B 5B 3X 3B 3X 3X 3B 3X 3X 3B 3X 2A 72 02 (data) 03<br />
Der Barcode wird entsprechend den Merkmalen gedruckt, die durch die folgenden<br />
Parameter festgelegt sind. Das Semikolon ’;’ trennt die Parameter voneinander.<br />
Der Code (’*’ ’r’) steht am Ende des Parameterteils. Die Barcode-Daten<br />
werden von STX (Textbeginn) und ETX (Textende) eingeschlossen.<br />
Die Werte des Parameterteils sind nachstehend aufgeführt. Nur die aufgeführten<br />
Werte sind gültig! Jeder Parameter hat 1 bis 4 Stellen. Die Ziffer 5 kann<br />
zum Beispiel als 5, 05, 005 oder 0005 gesendet werden, wobei sie immer denselben<br />
Wert hat.<br />
Barcode-Typ<br />
Der Parameter ’m’ definiert die folgenden Barcode-Typen:<br />
m Barcode-Typ<br />
5 CODE39 (die Barcode-Daten in kleinen Buchstaben ’a’..’z’<br />
werden automatisch auf Großbuchstaben ’A’..’Z’ umgestellt.)<br />
7 2/5 INTERLEAVED (eine ungerade Zahl von Barcode-Daten<br />
wird automatisch durch eine einleitende Null ergänzt).<br />
Wird eine Angabe in den Barcode-Daten als falsch erkannt, wird nichts gedruckt<br />
und auf dem Drucker-Display erscheint ’wrong order’.<br />
Barcode-Höhe<br />
Der Parameter ’h’ definiert die Höhe des Barcodes:<br />
h Barcode-Höhe<br />
00 DEFAULT (mindestens 5 mm oder 15 % der Barcode-Länge<br />
[**]).<br />
01 - 10 Höhe als Anzahl h der Barcode-Linien [*]<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 293
Emulationen<br />
Anhang<br />
Skalierungskoeffizient des Barcodes<br />
Der Parameter ’z’ drückt den horizontalen Skalierungskoeffizienten in Dezimalform<br />
aus. Die folgenden Werte sind zulässig:<br />
z Werte<br />
00-09 Unzulässige Werte<br />
10-34 Zulässige Werte (10 = Standardbreite. 15 ist das 1,5fache der<br />
Standardbreite, 20 ist die doppelte Breite, usw.)<br />
Klartext<br />
Der ein Byte umfassende Parameter ’n’ aktiviert oder deaktiviert das Drucken<br />
der Barcode-Information im Klartext im unteren Teil:<br />
n Klartext<br />
0 Deaktiviert<br />
1 Aktiviert<br />
Klartextzeichen werden in der Schriftart OCR-A ohne Skalierungsfaktor gedruckt.<br />
Druckposition<br />
horizontal: Die horizontale Position ist der Anfang des weißen Bereichs.<br />
Dieser Bereich ist mindestens 10 mal so breit wie der schmale Bar<br />
code-Strich [**] und ist abhängig vom Skalierungsfaktor.<br />
vertikal: Die vertikale Position entspricht der Basislinie des Textes<br />
(Nadel 20)<br />
[*] Eine Linie = 8/60" beim 24-Nadeldrucker<br />
[**] Spezifikation EN 800 (Code 39) / 801 (Interleaved 2 of 5)<br />
294 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Emulationen<br />
IBM Emulationen<br />
IBM 4722 Emulation<br />
Der Buch- und Belegdrucker emuliert die Drucker IBM 4722 Modell 1, 2, und 3.<br />
Die Funktionen des Modell 3 Druckers sind nur in Verbindung mit einem speziellen<br />
Protokoll auf der RS232 ansteuerbar. Die übrigen Modelle können auch<br />
ohne Protokoll betrieben werden.<br />
Die Steuersequenzen für den Drucker IBM 4712 werden ignoriert.<br />
Allgemein<br />
Die Anwahl der Emulation Modell 3 erfolgt durch Einstellung des Emulationstypes<br />
’IBM 4722’ und IBM 4722 Subemulation auf ’4722’.<br />
Mit dieser Einstellung wird automatisch das Interface RS232/1 mit 4722 Protokoll<br />
aktiviert.<br />
Übersicht über die IBM 4722 Modelle<br />
Modell 1 Drucker für Beleg- u. Sparbuchverarbeitung mit Centronics Schnittstelle<br />
Modell 2 Drucker für Belegverarbeitung<br />
Modell 3 Drucker für Beleg- u. Sparbuchverarbeitung mit MSR und RS232<br />
Schnittstelle<br />
Interface 4722 Protokoll<br />
Es wird kein CRC Check und kein Check der Transmit und Status Sequence Bits<br />
durchgeführt (Message Type Byte).<br />
Die RS232-Parameter werden nicht fest eingestellt.<br />
Die Einstellung SW 7 mit / ohne Rückmeldungshandshake erfolgt über das Menü:<br />
IBM 4722 Protokoll = mit CTS Wechsel / ohne CTS Wechsel.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 295
Emulationen<br />
Anhang<br />
Emulation<br />
Die Quittierung der Druckaufträge erfolgt n Zeilen vor Ausführung um eine höhere<br />
Systemperformance zu erreichen. Der Datenstrom in Verbindung mit gängigen<br />
Fehlermeldungen EJECTED bzw. NO_PAPER wird allerdings korrekt<br />
quittiert.<br />
Der Befehl MSG Parameter ’load Patches’ wird ignoriert.<br />
Es werden nur die Anzeigen ’Programmable Indicator 1 und 2’ unterstützt.<br />
Die Funktion der ladbaren Zeichen wird aufgrund der unterschiedlichen Druckkopfauflösungen<br />
nicht unterstützt.<br />
Das Druckattribut ’Überstreichen’ wird nicht unterstützt.<br />
Die letzte möglich Druckzeile bei Listendruck (unformatiert) unterscheidet sich<br />
abhängig von unterschiedlichen Druckwerken.<br />
Druckertyp<br />
<strong>HighPrint</strong> 4915xe /<br />
4722<br />
IBM 4722<br />
IBM 9068 / 4722<br />
Letzte Druckzeile vor Blattunterkante<br />
ca. 1 mm<br />
ca. 6,5 mm<br />
ca. 5 mm<br />
Bedienung<br />
Bei aktiver 4722 Emulation haben die Tasten STOP und EJECT die Funktion der<br />
’STOP’ Taste des 4722 Druckers. Ausnahme: Im Fehlerfall muss der Drucker<br />
nicht ausgeschaltet werden (siehe IBM 4722). Mit Hilfe der STOP Taste wird<br />
eine Normierung angestoßen, die automatisch in den ONLINE Zustand führt.<br />
Ist die Taste USER 2 beim Einschalten betätigt, wird bis zum nächsten Einschalten<br />
die 4722 Emulation durch die im Menüpunkt ’KONFIGURATION -> Emulationstyp<br />
2 ’ eingestellte Emulation ersetzt.<br />
Der Zustand ’BITTE PAPIER VORLEGEN’ tritt nicht auf.<br />
296 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Emulationen<br />
Variable Initialisierungsparameter 4722 Emulation:<br />
IBM4722 Switch - Electronic Board<br />
<strong>HighPrint</strong> 4915xe Einstellung<br />
IBM4722 Switch 1 Audiable Alarm Wird nicht unterstützt<br />
IBM4722 Switch 2 Zero Slash Wird nicht unterstützt<br />
IBM4722 Switch 3 Automatic Line Feed IBM 4722 Menü (CR = CR + LF)<br />
IBM4722 Switch 4 Reserved<br />
IBM4722 Switch 5 Character Set Es ist immer der erweiterte Zeichensatz<br />
aktiv (entspricht Charact. Set 2)<br />
IBM4722 Switch 6 Automatic CR IBM 4722 Menü (LF = LF + CR)<br />
IBM4722 Switch 7 Reserved<br />
IBM4722 Switch Interfacekarte<br />
SW 1..3 Baudrate<br />
SW 7 Reserved<br />
Interfacemenü<br />
9600,4800,2400,1200<br />
Interfacemenü Protocol<br />
i<br />
Die Einstellung der IBM 4722 Emulationsparameter erfolgt über das<br />
Menü IBM 4722.<br />
Feste Initialisierungsparameter 4722 Emulation:<br />
Parameter<br />
Top of form Position<br />
Char.width<br />
Country<br />
Left Edge<br />
Ref. Edge<br />
Einstellung in der 4722 Emulation<br />
Zeile 2 (6 LPI)<br />
Normal<br />
USA<br />
Spalte 1 (10 CPI)<br />
Left<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 297
Emulationen<br />
Anhang<br />
IBM Proprinter XL24 Emulation<br />
Allgemein<br />
Die Anwahl der Emulation erfolgt durch Einstellung des Emulationstypes<br />
’Proprinter XL24’.<br />
Diese Emulation kann in Verbindung mit allen Schnittstellen betrieben werden.<br />
Emulation<br />
Die Funktion der ladbaren Zeichen wird aufgrund der unterschiedlichen Druckkopfauflösungen<br />
nicht unterstützt.<br />
Das Druckattribut ’Überstreichen’ wird nicht unterstützt.<br />
Bedienung<br />
Die Bedienung ist identisch zu der in der <strong>HighPrint</strong> 4915 Emulation. Die Einstellung<br />
der Emulationsparameter erfolgt über das Menü ’Proprinter XL24’.<br />
Initialisierungsparameter<br />
Alle im entsprechenden Emulationsmenü einstellbaren Parameter werden bei<br />
der Initialisierung berücksichtigt.<br />
298 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Emulationen<br />
Befehlsumfang Proprinter XL24 und 4722<br />
ASCII Dezimal Hex Funktion 4722 XL24 Default Anmerkung<br />
NULL 0 0 keine X X wird<br />
ignoriert<br />
BEL 7 7 Signalton X X wird<br />
ignoriert<br />
BS 8 8 Rückschritt (Backspace) X X<br />
HAT 9 9 Tabulieren horizontal X X<br />
LF 10 0A Zeilenvorschub X X um 1/6"<br />
(mit CR<br />
einstellbar)<br />
VT 11 0B Tabulieren vertikal X X<br />
FF 12 0C Blattauswurf/Seitenvorschub X X 2/6" von<br />
Blattoberkante"<br />
bei XL24<br />
einstellbar<br />
CR 13 0D Wagenrücklauf (Carriage<br />
Return)<br />
X X CR<br />
(mit LF<br />
einstellbar)<br />
SO 14 0E Breitdruck für eine Zeile X X Ausgeschaltet<br />
einschalten<br />
SI 15 0F Schmaldruck einschalten X X Ausgeschaltet<br />
DC1 17 11 Drucker logisch einschalten<br />
(Online)<br />
X<br />
DC2 18 12 Schmaldruck ausschalten X X<br />
DC3 19 13 Drucker logisch abschalten<br />
(Offline)<br />
wird<br />
ignoriert<br />
X X wird<br />
ignoriert<br />
DC4 20 14 Breitdruck ausschalten X X aus<br />
CAN 24 18 Zeile löschen (Cancel) X X<br />
DEL 127 7F Zeichen löschen X wird<br />
ignoriert<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 299
Emulationen<br />
Anhang<br />
ASCII Dezimal Hex Funktion 4722 XL24 Default<br />
ESC 0 27 48 1B 30 1/8"-Zeilenabstand<br />
wählen<br />
ESC 1 27 49 1B 31 7/72"-Zeilenabstand<br />
wählen<br />
ESC 2 27 50 1B 32 1/6"-variablen<br />
Zeilenabstand wählen<br />
ESC A<br />
ESC 3 (n) 27 51 n 1B 33 n n/216”(n/180”)-<br />
Zeilenabstand wählen<br />
ESC 4 27 52 1B 34 Oberen Formularrand<br />
setzen (EJECT)<br />
ESC 5 (n) 27 53 1B 35 CR mit automatischem<br />
LF ein/aus<br />
ESC 6 27 54 1B 36 Character Set 2<br />
(Erweitert)<br />
ESC 7 27 55 1B 37 Character Set 1<br />
(Standard)<br />
X X<br />
X X<br />
X X<br />
X X<br />
X<br />
X<br />
X X Bedienfeld<br />
X X Ein<br />
X X Aus<br />
ESC : 27 58 1B 3A 12 CPI X X<br />
ESC A (n) 27 65 n 1B 41 n n/72"-Zeilenabstand X X<br />
festlegen<br />
ESC B ... NUL 27 66 ... 0 1B 42 ... 00 Vertikal-Tabulatoren X X Keine<br />
festlegen/löschen<br />
ESC C NUL (n) 27 67 0 n 1B 43 00 n Seitenlänge in Zoll<br />
bestimmen (Beleg/<br />
Journal)<br />
X X 11;3"/12" (*1)<br />
ESC C (n) 27 67 n 1B 43 n Seitenlänge in Zeilen<br />
bestimmen (Beleg/<br />
Journal)<br />
ESC D ... NUL 27 68 ... 0 1B 44 ... 00 Horizontal-Tabulatoren<br />
festlegen/löschen<br />
X X 11;3"/12" (*1)<br />
X X Alle 8<br />
Zeichen<br />
ESC E 27 69 1B 45 Fettdruck einschalten X X Aus<br />
ESC F 27 70 1B 46 Fettdruck ausschalten X X<br />
ESC G 27 71 1B 47 Druckqualität NLQ ein X X Aus<br />
ESC H 27 72 1B 48 Druckqualität NLQ aus X X<br />
ESC I (n) 27 73 n 1B 49 n Fontanwahl :Text ; X X<br />
Near Letter; Download<br />
ESC J (n) 27 74 n 1B 4A n n/216"-Zeilenvorschub" X X<br />
ESC K (n) (m) 27 75 n m 1B 4B n m Grafikmodus einfache X X<br />
Dichte einschalten<br />
ESC L (n) (m) 27 76 n m 1B 4C n m Grafikmodus doppelte<br />
Dichte einschalten<br />
X X<br />
300 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Emulationen<br />
ASCII Dezimal Hex Funktion 4722 XL24 Default<br />
ESC N (n) 27 78 n 1B 4E n Unteren Rand setzen<br />
ignorieren<br />
ESC O 27 79 1B 4F Unteren Rand löschen<br />
ignorieren<br />
X<br />
X X<br />
Kein<br />
Rand<br />
ESC P n 27 80 1B 50 Proportional ein/aus X Aus<br />
ESC Q (n) 27 81 n 1B 51 n Drucker deselektieren X (*2)<br />
ESC R 27 82 n 1B 52 n Alle Tabulatoren löschen<br />
X X<br />
(vert. und hor.)<br />
ESC S (n) 27 83 n 1B 53 n Hoch-/Tiefstellen X X Aus<br />
einschalten<br />
ESC T 27 84 1B 54 Hoch-/Tiefstellen<br />
ausschalten<br />
X X<br />
ESC U (n) 27 85 1B 55 Unidirektionalen<br />
Druckmodus ein-/<br />
ausschalten<br />
ESC W (n) 27 87 n 1B 57 n Breitdruck ein-/<br />
ausschalten<br />
ESC X (n) (m)<br />
Linken und rechten<br />
Rand setzen<br />
ESC Y (n) (m) 27 89 n m 1B 59 n m Grafikmodus doppelte<br />
Dichte und doppelte<br />
Geschw. Ein 1/72 vert.<br />
ESC Z (n) (m) 27 90 n m 1B 5A n m Grafikmodus vierfache<br />
Dichte einschalten 1/72<br />
vert.<br />
X X Bidirektional<br />
X X Aus<br />
X X (*1)<br />
ESC ] 2793 1B 5D Zeilenvorschub X X<br />
rückwärts<br />
ESC ^ n 27 94 1B 5E ’n’ als Grafikzeichen X X (*1)<br />
drucken<br />
ESC _ n 27 95 1B 5F Überstreichen an/aus X X (*2)<br />
ESC [ F 27 91 70 1b 5b 46 Einzelblattzuführung X (*2)<br />
ESC [ F c1 c2<br />
nn..nn<br />
ESC [ J c1 c2 n ...<br />
n<br />
27 91 70 1b 5b 46 Druckstation und Eigenschaften<br />
festlegen<br />
27 91 74 1b 5b 4A Zeilendichte setzen X<br />
ESC [ c c1 c2 27 91 1b 5b 63 MSG-Befehl X<br />
ESC [ \ n1 n2 27 91 92 1b 5b 5C Setzen graphischer<br />
X<br />
Zeilenabstand<br />
ESC [ @ n1 n2 27 91 64 1b 5b 40 Doppelte Höhe/Breite X (*2)<br />
ESC [ g n1 n2 m 27 91 95 1b 5b 67 Grafik X<br />
ESC d (n) (m) 27 100 n m 1B 64 n m Horizontale<br />
Positionierung (relativ)<br />
X<br />
X<br />
X<br />
X<br />
X<br />
X<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 301
Emulationen<br />
Anhang<br />
ASCII Dezimal Hex Funktion 4722 XL24 Default<br />
ESC f n 27 1b 66 Rechenzentrale<br />
Bayerische<br />
Genossenschafsbanken<br />
Sonderbefehl<br />
OCR A ein aus<br />
ESC SO 27 14 1B 0E Breitdruck für eine<br />
Zeile einschalten<br />
ESC SI 27 15 1B 0F Schmaldruck<br />
einschalten<br />
ESC - (n) 27 45 n 1B 2D n Unterstreichen ein-/<br />
ausschalten<br />
ESC * (s)(n)(m) 27 42 s n m 1B 2A s n m Grafikmodus<br />
auswählen<br />
X X Kein IBM<br />
Code<br />
X<br />
X<br />
X<br />
Ausgeschaltet<br />
Ausgeschaltet<br />
Ausgeschaltet<br />
ESC = Download X X (*2)<br />
ESC \ c1 c2 n..n 27 92 n n 1B 5C n n Nachfolgende Codes<br />
’n..n’ als Grafikzeichen<br />
drucken<br />
X X (*2)<br />
ESC BEL L n 27 07 76 1b 07 4c Umschalten in die<br />
Ladefunktion<br />
X<br />
(*3)<br />
(*3)<br />
(*1) Dieser Steuercode wird vom Drucker mit Emulation IBM 4722 nicht unterstützt.<br />
(*2) Wird ignoriert<br />
(*3) Steuercode für spezielle Funktionserweiterungen wird von Originaldruckwerken nicht unterstützt.<br />
302 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Emulationen<br />
Olivetti PRxx Emulation<br />
Allgemein<br />
Die Anwahl der Emulation erfolgt durch Einstellung des Emulationstypes<br />
’Olivetti’. Eine weitere Typdifferenzierung erfolgt über das Menü ’OLIVETTI -><br />
Sub-Emulation’.<br />
Diese Emulation kann in Verbindung mit allen Schnittstellen betrieben werden.<br />
Der Name der Olivetti Zeichengenerator-Datei ist ’CP_437OL.FNT’.<br />
Emulation<br />
Die Funktion der ladbaren Zeichen wird aufgrund der unterschiedlichen Druckkopfauflösungen<br />
nicht unterstützt. Das Druckattribut Überstreichen wird nicht<br />
unterstützt.<br />
Die Einstellung der Emulationsparameter erfolgt über das Menü ’OLIVETTI’.<br />
Initialisierungsparameter<br />
Alle im entsprechenden Emulationsmenü einstellbaren Parameter werden bei<br />
der Initialisierung berücksichtigt.<br />
Befehlsumfang OLIVETTI PR50<br />
ASCII Hex Funktion Anmerkung<br />
LF 0A Zeilenvorschub vorwärts<br />
FF 0C Seitenvorschub / Blattauswurf<br />
CR 0D Wagenrücklauf (Carriage return)<br />
ESC LF 1B 0A Zeilenvorschub im B.I.M.<br />
ESC CR 1B 0D Wagenrücklauf im B.I.M.<br />
ESC # n 1B 23 .. Referenz für ESC L nnn zuweisen<br />
ESC & nn 1B 26 .. Vertikalvorschubweite festlegen<br />
ESC ´ n 1B 27 .. Dokumenttyp festlegen<br />
ESC ( 1B 28 Fettdruck ein<br />
ESC ) 1B 29 Fettdruck aus<br />
ESC * n 1B 1A Unterstreichung ein<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 303
Emulationen<br />
Anhang<br />
ASCII Hex Funktion Anmerkung<br />
ESC ! G n 1B 21 47 n Auswahl 9- oder 24-Pin Grafik Default:<br />
9-Pin Grafik<br />
ESC + 1B 2B Unterstreichung aus<br />
ESC - 1B 2D Dokumentlänge ausmessen<br />
ESC . 1B 2E ’Automatic Operator Booking Mode’<br />
ein<br />
ESC / .. 1B 2F .. Absolute Vertikalposition in<br />
Elementarschritten festlegen<br />
ESC 0 1B 30 Globale Druckerinitialisierung<br />
ESC 1 p .. 1B 31 70 .. B.I.M. starten<br />
ESC 2 1B 32 B.I.M. beenden<br />
ESC 3 1B 33 Doppelte Zeichenbreite ein<br />
ESC 4 1B 34 Doppelte Zeichenbreite aus<br />
ESC 7 1B 37 Zeilenvorschub rückwärts im B.I.M<br />
ESC < 1B 3C 10 cpi Zeichengröße wählen<br />
ESC = 1B 3D 12 cpi Zeichengröße wählen<br />
ESC > 1B 3E 16,6 cpi Zeichengröße wählen<br />
ESC ? 1B 3F Proportionaldruck ein<br />
ESC H .. 1B 48 .. Absolute Horizontalposition setzen<br />
ESC I .. 1B 49 .. Relative Vertikalposition setzen<br />
ESC J .. 1B 4A .. Linken Rand setzen<br />
ESC L .. 1B 4C .. Absolute Vertikalposition setzen<br />
ESC M .. 1B 4D .. Unteren Formularrand (BOF) setzen<br />
ESC O 1B 4F Dokument auswerfen<br />
ESC Q .. 1B 51 .. Dokumentlänge festlegen<br />
ESC R .. 1B 52 .. Grafikzeichensatz selektieren<br />
ESC S 5 1B 53 35 Drucker selektieren<br />
ESC S .. 1B 53 .. Druckerantwort auf den Befehl<br />
Dokumentlänge / Dokumentbreite<br />
vermessen<br />
ESC T .. 1B 54 .. Oberen Formularrand (TOF) festlegen<br />
ESC U .. 1B 55 .. ’Book Operator’<br />
304 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Emulationen<br />
ASCII Hex Funktion Anmerkung<br />
ESC W 0 1B 57 30 Doppelte Zeichenhöhe aus<br />
ESC W 1 1B 57 31 Doppelte Zeichenhöhe ein<br />
ESC X .. 1B 58 .. Relative Horizontalposition setzen<br />
ESC Y E .. 1B 59 45 .. Horizontalparameter MSR setzen<br />
ESC Z 1B 5A Primärkennung anfordern<br />
ESC [ .. 1B 5B .. Zeichensatz selektieren<br />
ESC \ 1B 5C Magnetstreifen beschreiben und<br />
prüfen<br />
ESC ] 1B 5D Magnetstreifen lesen<br />
ESC ^ 0 1B 5E 30 Emulation wechseln<br />
ESC _ 1B 5F ’Manual Operator Booking Mode’ ein<br />
ESC ` .. 1B 60 .. Zeichen hoch-/tiefstellen ein<br />
ESC d 1B 64 Doppelte Zeichenhöhe und -breite ein<br />
ESC e 1B 65 Doppelte Zeichenhöhe und -breite<br />
aus<br />
ESC i 1B 69 Basiskonfiguration anfordern<br />
ESC j 1B 6A Statusanfrage<br />
ESC l 1B 6C Fehler löschen<br />
ESC m .. 1B 6D .. Zeichengenerator selektieren<br />
ESC n 1B 6E Olivetti gesteuerte Auswahl Kommando<br />
wird ignoriert<br />
ESC p .. 1B 70 .. Druckerkonfiguration Druckermeldung<br />
ESC r x 1B 72 .. Antwort auf ’Book Operator’<br />
Kommando<br />
ESC r x 1B 72 .. Synchroner Druckerstatus Druckermeldung<br />
ESC t .. 1B 74 .. Magnetstreifen Schreibdaten<br />
ESC { 1B 7B Zeichen hoch-/tiefstellen aus<br />
ESC | A .. 1B 7C 41<br />
..<br />
Linken Rand in Elementarschritten<br />
festlegen<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 305
Emulationen<br />
Anhang<br />
ASCII Hex Funktion Anmerkung<br />
ESC | B .. 1B 7C 42<br />
..<br />
Dokumentbreite in Elementarschritten<br />
festlegen<br />
Zeichensätze für die Olivetti Emulation<br />
Kommando<br />
wird ignoriert<br />
ESC } - 1B 7D 2D Dokumentbreite ausmessen<br />
DEL 7F Druckspeicher löschen<br />
FS & 1C 26 China Modus ein Kommando<br />
wird ignoriert<br />
FS . 1C 2E China Modus aus Kommando<br />
wird ignoriert<br />
FS g 1C 67 Spezial ASCII Code aus Kommando<br />
wird ignoriert<br />
FS k 1C 6B Spezial ASCII Code ein Kommando<br />
wird ignoriert<br />
i<br />
Die für die Olivetti Emulation erforderlichen Zeichengeneratoren werden<br />
mit der Endung ’OL’ gekennzeichnet (z. B. ’CP1250OL.FNT’ oder<br />
’CP_437OL.FNT’).<br />
Die Zeichengeneratoren für die Olivetti Emulation enthalten sowohl die Zeichentafeln<br />
für die <strong>HighPrint</strong> 4915 Emulation als auch die nachfolgend beschriebenen<br />
Zeichentabellen wie sie für die Olivetti Emulation erforderlich sind. Bei Einsatz<br />
der ’normalen’ Zeichengeneratoren werden die Bedienfeldeinstellungen und die<br />
Steuersequenzen zur Anwahl der Zeichentabellen ignoriert.<br />
306 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Emulationen<br />
Zeichentabellen Olivetti Emulation (Bedienfeldparameter und Steuersequenz<br />
ESC [nnn])<br />
nnn Ländervariante nnn Ländervariante<br />
000 International 410 STD31 – Olivetti TCV370<br />
010 International 500 Kanada<br />
020 Deutschland 510 SDC<br />
030 Portugal 520 Türkei<br />
040 Spanien 1 711 PC Dänemark/Norwegen<br />
050 Dänemark/Norwegen 712 PC Dänemark OPE<br />
060 Frankreich 771 PC – 210 Griechenland<br />
070 Italien 701 PC – 220 Spanien 2<br />
080 Schweden/Finnland 700 PC – 437 International<br />
090 Schweiz 740 PC – 850 Lateinisch 1<br />
100 Grossbritannien 720 PC – 860 Portugal<br />
110 USA ASCII 781 PC – 862 Israel<br />
140 Griechenland 680 OLIVETTI – UNIX<br />
150 Israel 600 Code Page 1252<br />
(ISO 8859/1 Lateinisch 1)<br />
170 Spanien 2 * PC – 852 Lateinisch 2<br />
200 Jugoslawien<br />
* nur am Bedienfeld einstellbar<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 307
Emulationen<br />
Anhang<br />
UNISYS EFP95 Emulation<br />
Allgemein<br />
Dieser Abschnitt beschreibt die UNISYS EFP95 (erweiterte EF4565) Emulation.<br />
Die Anwahl der Emulation erfolgt über den Menüpunkt<br />
’Konfiguration -> Emul. Typ 1= Unisys’.<br />
Diese Emulation kann in Verbindung mit einer oder zwei seriellen Schnittstellen<br />
betrieben werden.<br />
Die Einstellung der Emulationsparameter erfolgt über das Menü ’UNISYS’.<br />
Ist der Emulationstyp 1 auf ’Unisys’ gesetzt, wird, unabhängig von der tatsächlichen<br />
Einstellung, der Emulationstyp 2 automatisch auch auf ’Unisys’ und der<br />
Schnittstellentyp auf ’Dual manuell’ gesetzt. Die Schnittstellenparameter sind für<br />
beide RS232 Schnittstellen gültig.<br />
Zeichensätze<br />
Der Name der UNISYS Zeichengenerator-Datei ist CP15UNIS.FNT.<br />
Der Adressbereich hexadezimal 80-FF beinhaltet entweder den erweiterten Zeichensatz<br />
oder die Liniengrafik. Liniengrafik wird nur in den Schriftarten Draft und<br />
LQ unterstützt.<br />
Land<br />
Draft Grafik<br />
(1024)<br />
Draft<br />
erweitert<br />
(2304)<br />
HQD<br />
erweitert<br />
(1280)<br />
USA (2) 1 81 83<br />
UK (3) 16 84 86<br />
France / Belgium (6) 16 99 101<br />
Italy (8) 16 108 110<br />
Spain / Latin America / (14) 34 105 107<br />
Turkey (28) 49 123 125<br />
PC USA ( 54) - 2358 1334<br />
PC Multi-Latin I (56) - 2360 1336<br />
PC Slavic Latin II (58) - 2362 1338<br />
PC Portugal (60) - 2364 1340<br />
308 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Emulationen<br />
Land<br />
Draft Grafik<br />
(1024)<br />
Draft<br />
erweitert<br />
(2304)<br />
HQD<br />
erweitert<br />
(1280)<br />
PC Canadian French - 2366 1342<br />
PC Nordic - 2368 1344<br />
USA Grafik (2) 3 - -<br />
USA Erweitert (3) 15 1539 1795<br />
UK Grafik (4) 18 1540 1796<br />
France / Belgium Grafik (6) 18 - -<br />
France / Belgium Erweitert (7) 21 1543 1799<br />
Italy Grafik (8) 18 1544 1800<br />
Spain / Latin America Grafik (14) 36 - -<br />
Spain / Latin America Erweitert 39 1551 1807<br />
(15)<br />
Turkey Grafik (28) 51 1564 1820<br />
PC USA (54) 822 - -<br />
PC Multi-Latin (56) 824 - -<br />
PC Slavic Latin II (58) 826 - -<br />
PC Portugal (60) 828 - -<br />
PC Candian French (62) 830 - -<br />
PC Nordic (64) 832 - -<br />
OCR-Zeichen können nur in der Schriftgröße 10 cpi gedruckt werden.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 309
Emulationen<br />
Anhang<br />
Control Codes und ESC Sequenzen<br />
Druckersteuerung<br />
ASCII Hex Funktion Anmerkung<br />
SUB 1A Feldende (Druck der gesendeten<br />
Daten anstoßen nachdem alle<br />
Formatierungsbefehle gesendet<br />
wurden)<br />
ESC & 1B 26 Dokumentenlänge anfordern.<br />
Druckerrückmeldung: ESC & n $<br />
n = Dokumentenlänge in 1 /144“<br />
ESC : 1B 3A Dokumentenbreite anfordern.<br />
Druckerrückmeldung: ESC : n $<br />
n = Dokumentenbreite in 1 /100“<br />
ESC > G 1B 3E<br />
47<br />
Drucker-ID.<br />
Druckerrückmeldung:<br />
ESC > G type-option-level $<br />
type = Druckertyp<br />
option = verwendete Optionen<br />
level = Firmware-Stand<br />
ESC ? 1B 3F Status abfragen.<br />
Druckerrückmeldung:<br />
ESC ? HH<br />
HH = Druckerstatus als hex. Wert<br />
(00-FF),<br />
codiert in 2 ASCII Zeichen<br />
Ist der Druckerkanal nicht ausgewählt,<br />
so wird er gewählt. Bei<br />
mehr als einer Statusmeldung<br />
werden alle Statusmeldungen zurückgesandt.<br />
Spontane Statusmeldungen<br />
werden nur gesandt, wenn<br />
der Druckerkanal ausge-wählt ist<br />
(Zustand Online 1 bzw. 2).<br />
Vom<br />
<strong>HighPrint</strong> 4915xe<br />
zurückgesandter<br />
type-option-level:<br />
EFP950-20-v1.0<br />
HPR<br />
310 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Emulationen<br />
ASCII Hex Funktion Anmerkung<br />
ESC W n $ 1B 57 n<br />
24<br />
ESC ; n $<br />
1B 3B n<br />
24<br />
n Steuercodes (00h-FFh) drucken<br />
und nicht ausführen, (20h) für<br />
nichtdruckbare Zeichen<br />
Drucker reservieren oder<br />
freigeben.<br />
n=0 gibt den Drucker frei<br />
(Druckerzustand ONLINE).<br />
1
Emulationen<br />
Anhang<br />
ASCII Hex Funktion Anmerkung<br />
ESC # n $<br />
1B 23 n<br />
24<br />
Fehlerbehandlung auswählen:<br />
n=0: Fehler bearbeiten<br />
n=1: Fehler bearbeiten<br />
n=2: Fehler ignorieren<br />
n=3: Fehler ignorieren<br />
Defaulteinstellung<br />
ist n=1.<br />
ESC a n $<br />
1B 61 n<br />
24<br />
Reset Modus auswählen:<br />
n=0: Soft Reset<br />
n=1: Hard Reset<br />
Defaulteinstellung<br />
ist n=1.<br />
i<br />
Alle anderen ESC-Sequenzen werden ignoriert.<br />
312 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Emulationen<br />
Zeichensätze für die UNISYS Emulation<br />
ASCII Hex Funktion Anmerkung<br />
GS<br />
oder<br />
ESC q<br />
RS<br />
oder<br />
ESC r<br />
US<br />
oder<br />
ESC s<br />
ESC R n $<br />
1D<br />
oder<br />
1B 71<br />
1E<br />
oder<br />
1B 72<br />
1F<br />
oder<br />
1B 73<br />
1B 52 n<br />
24<br />
Stellt 10 cpi ein<br />
Stellt 12 cpi ein<br />
Stellt 16 cpi ein<br />
Zeichensatz wählen<br />
(n = Ziffer des Zeichensatzes aus<br />
der Zeichensatztabelle)<br />
ESC SI 1B 0F Unteren Zeichensatz wählen<br />
ESC S0 1B 0E Oberen Zeichensatz wählen<br />
(Zeichencodes 20h-7Fh werden in<br />
den Bereich A0h-FFh übersetzt)<br />
ESC > N n<br />
$<br />
1B 3E<br />
4E n 24<br />
Zeichenabstand wählen<br />
(n=0: 10 cpi, n=1: 12 cpi, n=2: 15<br />
cpi, n=3: 16 cpi, n=4: 17 cpi)<br />
HQD Zeichensätze<br />
werden durch DQ<br />
Zeichensätze<br />
dargestellt<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 313
Emulationen<br />
Anhang<br />
Dokumentenlänge und -ränder<br />
ASCII Hex Funktion Anmerkung<br />
ESC L n1,<br />
n2 $<br />
ESC J n1,<br />
n2 $<br />
1B 4C<br />
n1 2C<br />
n2 24<br />
1B 4A<br />
n1 2C<br />
n2 24<br />
Dokumentenlänge n1 und unteren<br />
Rand n2 in der definierten<br />
vertikalen Einheit<br />
(1/48", 1/144", 1/180") einstellen.<br />
Linken Rand n1 und rechten Rand<br />
n2 in der definierten horizontalen<br />
Einheit<br />
(1/100", 1/120") einstellen.<br />
Befehl wird<br />
akzeptiert, wenn<br />
der Drucker sich<br />
’außerhalb einer<br />
Seite’ befindet.<br />
Das bedeutet,<br />
dass keine<br />
’Druckdaten’ oder<br />
’Drucksteuerbefehl<br />
e’, die einen<br />
’Papierladezustan<br />
d’ (Auto FF)<br />
auslösen, an den<br />
Drucker gesendet<br />
wurden. Der<br />
Befehl wird<br />
ebenfalls direkt im<br />
Anschluss an<br />
einen Dokument-<br />
Auswurf Befehl<br />
akzeptiert.<br />
314 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Emulationen<br />
ASCII Hex Funktion Anmerkung<br />
ESC @ n1<br />
, n2 , n3 $<br />
ESC K n1 ,<br />
n2 $<br />
1B 40 n1<br />
2C n2<br />
2C n3<br />
24<br />
1B 4B<br />
n1 2C<br />
n2 24<br />
Oberen Rand n1, unteren Rand n2<br />
und Dokumentenlänge n3 in der<br />
definierten vertikalen Einheit (1/<br />
48", 1/144", 1/180") einstellen.<br />
Oberen Rand n1 und unteren<br />
Rand n2 in der definierten<br />
vertikalen Einheit (1/48", 1/144", 1/<br />
180") einstellen.<br />
Befehl wird<br />
akzeptiert, wenn<br />
der Drucker sich<br />
’außerhalb einer<br />
Seite’ befindet.<br />
Das bedeutet,<br />
dass keine<br />
’Druckdaten’ oder<br />
’Drucksteuerbefehl<br />
e’, die einen<br />
’Papierladezustan<br />
d’ (Auto FF)<br />
auslösen, an den<br />
Drucker gesendet<br />
wurden. Der<br />
Befehl wird<br />
ebenfalls direkt im<br />
Anschluss an<br />
einen Dokument-<br />
Auswurf Befehl<br />
akzeptiert.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 315
Emulationen<br />
Anhang<br />
Druckattribute<br />
ASCII Hex Funktion Anmerkung<br />
ESC > B n<br />
$<br />
1B 3E<br />
42 n 24<br />
Doppelte Höhe einschalten (n=1)<br />
oder ausschalten (n=0). Nicht<br />
verfügbar für OCR<br />
ESC d 1B 64 Doppelten Anschlag einschalten<br />
ESC e 1B 65 Doppelten Anschlag ausschalten<br />
ESC t n $<br />
1B 74 n<br />
24<br />
Doppelte Breite einschalten (n=1)<br />
oder ausschalten (n=0).<br />
Nicht verfügbar für OCR-Zeichen.<br />
SOH 01 Druckmodus doppelte Breite.<br />
Nicht verfügbar für OCR-Zeichen.<br />
ESC b 1B 62 Hervorgehobenes Zeichen<br />
einschalten. Nicht verfügbar für<br />
OCR-Zeichen.<br />
ESC c 1B 63 Hervorgehobenes Zeichen<br />
ausschalten. Nicht verfügbar für<br />
OCR-Zeichen.<br />
ESC > A n<br />
$<br />
1B 3E<br />
41 n 24<br />
Kursivdruck einschalten (n=1)<br />
oder ausschalten (n=0)<br />
Nicht verfügbar für OCR-Zeichen.<br />
STX 02 ’Normaler’ Druckmodus, alle<br />
Druckattribute ausschalten.<br />
ESC z n $<br />
ESC > C n<br />
$<br />
ESC f n $<br />
i<br />
1B 7A n<br />
24<br />
1B 3E<br />
43 n 24<br />
1B 66 n<br />
24<br />
’Reserved’ Druckmodus<br />
einschalten (n=1) oder<br />
ausschalten (n=0).<br />
Nicht verfügbar für OCR-Zeichen.<br />
Modus Tieferstellen (n=1),<br />
Hochstellen (n=2) einschalten<br />
oder beide ausschalten (n=0) .<br />
Nicht verfügbar für OCR-Zeichen.<br />
Unterstreichen einschalten (n = 1)<br />
oder ausschalten (n = 0).<br />
Nicht verfügbar für OCR-Zeichen.<br />
Alle anderen ESC-Sequenzen werden ignoriert.<br />
Simuliert durch<br />
Druckmodus<br />
doppelte Breite<br />
316 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Emulationen<br />
Horizontale Druckposition<br />
ASCII Hex Funktion Anmerkung<br />
ESC N n $<br />
1B 4E n<br />
24<br />
Absolute Zeichenpositionierung<br />
n = Spaltennummer (Anzahl der<br />
Zeichen vom linken Rand im<br />
aktuellen Zeichenabstand),<br />
Position = (0,1") bis<br />
(Dokumentenbreite-Zeichenbreite)<br />
ESC G n $<br />
1B 47 n<br />
24<br />
Absolute Horizontalpositionierung<br />
n = Anzahl gezählt in horizontalen<br />
Einheiten vom linken Rand, (0,1")<br />
bis (Dokumentenbreite-<br />
Zeichenbreite)<br />
BS 08 Backspace (1 Zeichenbreite)<br />
CR 0D Carriage return<br />
HT 09 Horizontale Tabulation zum<br />
nächsten horizontalen Tabulator.<br />
ESC F n1 ,<br />
.. n28 $<br />
1B 46 n1<br />
2C ..<br />
n28 24<br />
Setze bis zu 28 horizontale<br />
Tabulatoren in der definierten<br />
horizontalen Einheit: (0,1" bis<br />
Dokumentenbreite)<br />
n =0: löscht alle horizontalen<br />
Tabulatoren<br />
Wenn kein oder<br />
kein geeigneter<br />
horizontaler<br />
Tabulator definiert<br />
ist (horizontaler<br />
Tabulator kleiner<br />
als die aktuelle<br />
Position oder<br />
größer als die<br />
aktuelle<br />
Dokumentenbreite<br />
minus der<br />
Zeichenbreite),<br />
wird der HT<br />
ignoriert.<br />
(0,1" bis<br />
Dokumentenbreite<br />
-0,1")<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 317
Emulationen<br />
Anhang<br />
ASCII Hex Funktion Anmerkung<br />
ESC > F n<br />
$<br />
1B 3E<br />
46 n 24<br />
Setze horizontale Einheit:<br />
n=0: 1/100" (EF4565 kompatibel),<br />
standard!<br />
n=1: 1/120" (geeignet für<br />
Druckermechanik)<br />
ESC P n $<br />
1B 50 n<br />
24<br />
Zeichenzwischenraum setzen<br />
n=0 bis 15.<br />
Einheit von n = 1 /<br />
(Zeichenabstand *<br />
10)"<br />
i<br />
Alle anderen ESC-Sequenzen werden ignoriert.<br />
318 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Emulationen<br />
Vertikale Druckposition<br />
ASCII Hex Funktion Anmerkung<br />
ESC M n $ 1B 4D n<br />
24<br />
Absolute Zeilenpositionierung von<br />
der Papieroberkante (n =<br />
Zeilennummer)<br />
ESC H n $<br />
1B 48 n<br />
24<br />
Absolute Vertikalpositionierung<br />
von der Papieroberkante (n = Pos.<br />
in der definierten vertikalen<br />
Einheit)<br />
LF 0A Zeilenvorschub um<br />
Vertikalvorschub - 1<br />
ESC j n $<br />
ESC > E n<br />
$<br />
ESC B n $<br />
ESC C n $<br />
ESC D n $<br />
ESC E n1,<br />
.. n8 $<br />
DC2<br />
oder<br />
ESC m<br />
1B 6A n<br />
24<br />
1B 3E<br />
45 n 24<br />
1B 42 n<br />
24<br />
1B 43 n<br />
24<br />
1B 44 n<br />
24<br />
1B 46 n1<br />
2C .. n8<br />
24<br />
12<br />
oder<br />
1B 6D<br />
Setze vertikale Einheit:<br />
n=0: 1/48“,<br />
n=1: 1/144“<br />
Setze vertikale Einheit (Erweitert)<br />
n=0: 1/48“ (default),<br />
n=1: 1/144“<br />
n=2: 1/180“<br />
Setze ’Vertikalvorschub -1’ für den<br />
Befehl ’Vertikalvorschub -1 ohne<br />
CR’<br />
Setze ’Vertikalvorschub -2’ für den<br />
Befehl ’Vertikalvorschub -2 mit<br />
oder ohne CR’<br />
Setze ’Vertikalvorschub -3’ für den<br />
Befehl ’Vertikalvorschub -3 ohne<br />
CR’<br />
Setze bis zu 8 vertikale<br />
Tabulatoren in der definierten<br />
vertikalen Einheit<br />
(0,1" bis Dokumentenlänge)<br />
n=0: löscht alle vertikalen<br />
Tabulatoren<br />
Vertikalvorschub ohne CR um<br />
’Vertikalvorschub-1’<br />
SO 0E Vertikalvorschub mit CR um<br />
’Vertikalvorschub-2’<br />
negativen Werten<br />
wird ein ’-’ (2Dh)<br />
vorangestellt<br />
negativen Werten<br />
wird ein ’-’ (2Dh)<br />
vorangestellt<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 319
Emulationen<br />
Anhang<br />
ASCII Hex Funktion Anmerkung<br />
DC4<br />
oder<br />
ESC o<br />
EM<br />
oder<br />
ESC p<br />
14<br />
oder<br />
1B 6F<br />
19<br />
oder<br />
1B 70<br />
Vertikalvorschub ohne CR um<br />
’Vertikalvorschub-2’<br />
Vertikalvorschub ohne CR um<br />
’Vertikalvorschub-3’<br />
VT 0B Vertikale Tabulation zum nächsten<br />
vertikalen Tabulator.<br />
Keine vertikalen Tabulatoren:<br />
Befehl wird ignoriert<br />
i<br />
Alle anderen ESC-Sequenzen werden ignoriert.<br />
320 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Emulationen<br />
Dokumentenbehandlung<br />
ASCII Hex Funktion Anmerkung<br />
ESC _ 1B 5F Vorbereitung zur Papiervorlage<br />
Druckerrückmeldung wenn Papier<br />
vorgelegt wird:<br />
ESC ! 3C (Benutzer 1 Taste<br />
gedrückt) oder<br />
ESC ! 3D (Benutzer 2 Taste<br />
gedrückt)<br />
ESC [ 1B 5B Aufforderung zur Papiervorlage<br />
Druckerrückmeldung wenn Papier<br />
vorgelegt wird:<br />
ESC ! 3C (Benutzer 1 Taste<br />
gedrückt) oder<br />
ESC ! 3D (Benutzer 2 Taste<br />
gedrückt)<br />
ESC ] 1B 5D Papierauswurf<br />
FF 0C Papierauswurf mit anschließender<br />
Aufforderung zur Papiervorlage<br />
i<br />
Alle anderen ESC-Sequenzen werden ignoriert.<br />
7-Nadel APA Grafik<br />
i<br />
Es werden alle ESC-Sequenzen ignoriert.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 321
Emulationen<br />
Anhang<br />
Hochauflösende Grafik<br />
ASCII Hex Funktion Anmerkung<br />
ESC > L n1<br />
n2 dd<br />
gdata<br />
1B 3E<br />
4C n1<br />
n2 dd<br />
gdata<br />
Ladbare Zeichensätze<br />
Hochauflösende Grafik:<br />
24 Punkte (3 Bytes je<br />
Grafikspalte)<br />
n1+(n2x256)=Anzahl der<br />
folgenden Bytes<br />
dd=00: Einfache Auflösung<br />
(60hx180v)<br />
dd=01: Doppelte Auflösung<br />
(120hx180v)<br />
dd=02: Dreifache Auflösung<br />
(180hx180v)<br />
dd=03: Hexadezimale Auflösung<br />
(360hx180v)<br />
gdata: Grafische Daten Bytes<br />
(bit0 = oberster Punkt)<br />
Grafiken und Text können in einer<br />
Zeile vermischt werden.<br />
i<br />
Es werden alle ESC-Sequenzen ignoriert.<br />
322 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Emulationen<br />
Fehlerbehandlung<br />
Fehlerbehandlung EFP96 Anmerkung<br />
Fehler / Statusmeldung Im Druckerzustand ONLINE 1<br />
oder ONLINE 2:<br />
Fehler-/Statusmeldung mit dem<br />
Format ESC ! hh<br />
hh = Status- / Fehlercode<br />
Fehlerbehebung Sende Kommando ’Get status’<br />
zum Drucker oder<br />
drücke die STOP- oder EJECT-<br />
Taste<br />
Status / Fehlercodes (hh)<br />
Anzeige<br />
23 Ungültiger Befehl UNGÜLTIGER BEFEHL<br />
24 Befehl nicht erlaubt BEFEHL NICHT ERLAUBT<br />
25 Ungültiger Parameter UNGÜLTIGER PARAMETER<br />
26 Zu viele Parameter ZU VIELE PARAMETER<br />
27 Syntax Fehler SYNTAX FEHLER<br />
29 Ungültiger Zeichensatz UNGÜLTIGER ZEICHENSATZ<br />
2A Horizontaler Parameterfehler HOR. PARAM. FEHLER<br />
2B Vertikaler Parameterfehler VERT. PARAM. FEHLER<br />
34 Cover closed -<br />
35 Stoptaste gedrückt STOP TASTE GEDRÜCKT<br />
38 Abdeckung geöffnet COVER OPEN<br />
3C USER 1 Taste gedrückt ONLINE 1<br />
3D USER 2 Taste gedrückt ONLINE 2<br />
3E Manuelle Deselektion<br />
ONLINE<br />
(Druckerfreigabe)<br />
i<br />
Alle anderen Meldungen werden nicht unterstützt.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 323
Emulationen<br />
Anhang<br />
OKI Emulation<br />
Allgemein<br />
Die Anwahl der Emulation erfolgt durch Einstellung des Emulationstyps 1 auf<br />
'Oki'. Diese Emulation kann in Verbindung mit allen Schnittstellen betrieben werden.<br />
Die Einstellung der Emulationsparameter erfolgt über das Menü 'OKI'.<br />
Zeichendefinition und Fontdateien<br />
Der Name der OKI Fontdatei ist ’CP15OLOK.FNT’.<br />
Die OKI Emulation unterstützt neben dem primären Zeichenfont (1-Byte Font)<br />
auch den chinesischen Zeichensatz (2-Byte Font, z.B. CP15ASIA.TBF). Dieser<br />
benötigt zusätzlichen Speicher (Druckervariante), in den er geladen werden<br />
muss.<br />
Chinesische Zeichen (KANJI und SHIFT JIS) werden im <strong>HighPrint</strong> 4915xe immer<br />
im LQ Modus (Sans Serif) gedruckt.<br />
SHIFT JIS Modus<br />
Die Zeichen (Bytes) im SHIFT JIS Modus werden wie folgt interpretiert:<br />
8. Bit = 1: Zeichen aus dem 2-Byte Font<br />
8. Bit = 0: Zeichen aus dem 1-Byte Font<br />
KANJI Modus<br />
Im KANJI Modus unterscheidet man zwischen ’half-size’ und ’full-size’ Zeichen:<br />
full-size: Zeichen aus dem 2-Byte Font<br />
half-size: Zeichen aus dem 1-Byte Font<br />
324 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Emulationen<br />
Befehlsumfang OKI<br />
Druckersteuerung<br />
ASCII Hex Funktion Anmerkung<br />
DC 1 11 Drucker in den ONLINE Modus<br />
setzen<br />
DC 3 13 Drucker in den OFFLINE (STOPP)<br />
Modus setzen<br />
Befehl wird<br />
ignoriert.<br />
Befehl wird<br />
ignoriert.<br />
CAN 18 Druckpuffer löschen Befehl wird<br />
ignoriert.<br />
ESC k 1B 6B SHIFT JIS Modus ein<br />
ESC I 1B 6C SHIFT JIS Modus aus<br />
DLE B 10 42 Druckerinitialisierung OKI 5530SC<br />
Befehl<br />
Vertikale Drucksteuerung<br />
ASCII Hex Funktion Anmerkung<br />
LF 0A Zeilenvorschub vorwärts<br />
ESC 6 1B 36 1/6 Zoll Zeilenabstand auswählen<br />
ESC 8 1B 38 1/8 Zoll Zeilenabstand auswählen<br />
ESC % 9<br />
n1 n2<br />
ESC VT n1<br />
n2<br />
1B 25 39<br />
n1 n2<br />
1B 0B<br />
n1 n2<br />
ESC % 5 n 1B 25 35<br />
n<br />
ESC F n1<br />
n2<br />
1B 46 n1<br />
n2<br />
n2/120 Zoll Zeilenabstand<br />
auswählen<br />
Vertikalposition um n Zeilen<br />
weitersetzen<br />
Relative Vertikalpositionierung um<br />
n/120 Zoll<br />
Papierlänge auf n Zeilen (aktuell<br />
eingestellter Zeilenabstand)<br />
setzen<br />
ESC 5 1B 35 Aktuelle Position als oberen<br />
Formularrand (TOF) festlegen<br />
FF 0C Seitenvorschub / Blattauswurf<br />
n1 wird nicht<br />
ausgewertet<br />
(n1=0)<br />
n = n1*10 + n2<br />
0
Emulationen<br />
Anhang<br />
Horizontale Drucksteuerung<br />
ASCII Hex Funktion Anmerkung<br />
CR 0D Wagenrücklauf (Carriage return)<br />
ESC % 4 1B 24 34 Rückwärtspositionierung um n/180 n=n1*256+n2<br />
n1 n2 n1 n2 Zoll<br />
BS 08 Rückwärtsschritt (Backspace) um<br />
eine Zeichenbreite<br />
ESC % 6<br />
n1 n2<br />
ESC % 3<br />
n1 n2<br />
ESC ( n1<br />
n2<br />
ESC ) n1<br />
n2<br />
ESC L<br />
n 1 .. n 30<br />
NULL<br />
NULL<br />
1B 25 36<br />
n1 n2<br />
1B 25 33<br />
n1 n2<br />
1B 28 n1<br />
n2<br />
1B 29 n1<br />
n2<br />
1B 4C<br />
n 1 .. n 30<br />
00<br />
00<br />
Absolute Horizontalposition auf n/ n=n1*256+n2<br />
180 Zoll setzen<br />
Vorwärtspositionierung um n/180 n=n1*256+n2<br />
Zoll<br />
Linken Rand auf n/180 Zoll setzen n=n1*256+n2<br />
Rechten Rand am Anfang einer<br />
Zeile relativ zum linken Rand auf<br />
n/180 Zoll setzen.<br />
Horizontale Tabulatoren (max. 30)<br />
in n/180 Zoll setzen. Die<br />
Tabulatoren müssen aufsteigend<br />
angegeben werden. Ist ein<br />
Tabulator kleiner als der<br />
vorhergehende, wird er verworfen.<br />
HT 09 Horizontale Tabulation zum<br />
nächsten horizontalen Tabulator<br />
n=n1*256+n2<br />
270
Anhang<br />
Emulationen<br />
Zeichenspezifikation<br />
ASCII Hex Funktion Anmerkung<br />
ESC N 1B 4E HS ANK Zeichenmodus 10 cpi DQ Font, 10 cpi<br />
Zeichengröße, DQ wählen<br />
ESC H 1B 48 HD ANK Zeichenmodus 10 cpi<br />
Zeichengröße, LQ wählen<br />
ESC B 1B 42 HS ANK Zeichenmodus 12 cpi<br />
Zeichengröße, DQ wählen<br />
ESC E 1B 45 HD ANK Zeichenmodus 12 cpi<br />
Zeichengröße, LQ wählen<br />
ESC % 1<br />
n1 n2<br />
ESC % 2<br />
n1 n2<br />
1B 25 31<br />
n1 n2<br />
1B 25 32<br />
n1 n2<br />
Übertragung von Grafikdaten,<br />
Anzahl Grafikbytes ist<br />
3*(n1*256+n2)<br />
Übertragung von horizontal<br />
doppelt vergrößerten Grafikdaten,<br />
Anzahl Grafikbytes ist<br />
3*(n1*256+n2)<br />
Sans Serif Font,<br />
10 cpi<br />
DQ Font, 12 cpi<br />
Sans Serif Font,<br />
12 cpi<br />
Druckmodus<br />
ASCII Hex Funktion Anmerkung<br />
ESC D 1B 44 HS Druckmodus aktivieren für HS<br />
ANK Zeichen<br />
ESC I 1B 49 HD Druckmodus aktivieren für HD<br />
ANK Zeichen, Grafiken und KANJI<br />
Zeichen<br />
ESC O 1B 4F Geräuscharmen Druckmodus<br />
aktivieren.<br />
ESC X 1B 58 Unterstreichung ein<br />
ESC Y 1B 59 Unterstreichung aus<br />
ESC U 1B 55 Doppelte Zeichenbreite ein für<br />
ANK Zeichen<br />
ESC R 1B 52 Doppelte Zeichenbreite aus<br />
DQ-Font.<br />
Gilt nicht für<br />
Grafiken und<br />
KANJI Zeichen.<br />
Sans Serif LQ-<br />
Font.<br />
Default-Modus<br />
Nachbildung über<br />
die Funktion ESC I<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 327
Emulationen<br />
Anhang<br />
ASCII Hex Funktion Anmerkung<br />
CEX p 1C 70 Doppelte Zeichenbreite ein für<br />
KANJI und SHIFT JIS Zeichen<br />
CEX q 1C 71 Doppelte Zeichenbreite aus für<br />
KANJI und SHIFT JIS Zeichen<br />
ESC < 1B 3C Schmaldruck (halbe Zeichenbreite)<br />
ein<br />
ESC > 1B 3E Schmaldruck (halbe Zeichenbreite)<br />
aus<br />
ESC [ 1B 5B Doppelte Zeichenhöhe ein<br />
ESC ] 1B 5D Doppelte Zeichenhöhe aus<br />
ESC i 1B 69 Fettdruck ein<br />
ESC j 1B 6A Fettdruck aus<br />
ESC % U 1B 25 55 Unidirektionaler Druck ein<br />
ESC % B 1B 25 42 Unidirektionaler Druck aus<br />
ESC m 1B 6D Doppeldruck ein<br />
ESC n 1B 6E Doppeldruck aus<br />
Entspricht<br />
’ESC U’ für 2-Byte<br />
Zeichen.<br />
Befehl wird für<br />
1-Byte Zeichen<br />
ignoriert.<br />
328 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Emulationen<br />
KANJI / SHIFT JIS Zeichendefinition<br />
ASCII Hex Funktion Anmerkung<br />
ESC $ @ 1B 24 40 KANJI Modus ein<br />
ESC ( H 1B 28 48 KANJI Modus aus<br />
CEX N 1C 4E Zeichen-Hochstellung ein Die Hochstellung<br />
im<br />
<strong>HighPrint</strong> 4915xe<br />
unterscheidet sich<br />
geringfügig vom<br />
OKI Originaldrucker<br />
(Zeichen<br />
sind größer).<br />
Nur im SHIFT JIS<br />
Modus.<br />
CEX O 1C 4F Zeichen-Hochstellung aus<br />
CEX P 1C 50 Zeichen-Tiefstellung ein Die Tiefstellung im<br />
<strong>HighPrint</strong> 4915xe<br />
unterscheidet sich<br />
geringfügig vom<br />
OKI Originaldrucker<br />
(Zeichen<br />
sind größer).<br />
Nur im SHIFT JIS<br />
Modus.<br />
CEX Q 1C 51 Zeichen-Tiefstellung aus<br />
CEX r 1C 72 ’Half-size’ Modus ein<br />
(1-Byte Zeichen)<br />
CEX s 1C 73 ’Half-size’ Modus aus<br />
(2-Byte Zeichen)<br />
CEX $ n 1C 24 n Zeichenabstand in Punkten<br />
(n/180") setzen<br />
Nur im KANJI<br />
Modus.<br />
12
Emulationen<br />
Anhang<br />
Umschaltung zwischen den Emulationen<br />
ASCII Hex Funktion Anmerkung<br />
ESC ^ 0<br />
ESC ^ 1<br />
1B 5E<br />
30<br />
1B 5E<br />
31<br />
In die IBM Emulation wechseln *)<br />
In die Olivetti Emulation wechseln *)<br />
*) Die Olivetti- und IBM-Emulation wurden um die folgenden Kommandos erweitert,<br />
um von dort in die OKI Emulation zu wechseln:<br />
IBM Emulation: ESC BEL E HT (0x1b 0x07 0x45 0x09)<br />
Olivetti Emulation: ESC ^ 1 (0x1b 0x5e 0x31)<br />
Umschaltung in den Lader<br />
ASCII Hex Funktion Anmerkung<br />
ESC BEL L<br />
n<br />
1B 07<br />
4C n<br />
Umschaltung in den Lader<br />
Kompatibel zu den<br />
anderen<br />
Emulationen.<br />
330 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Emulationen<br />
Sonstige Zusatzkommandos<br />
ASCII Hex Funktion Anmerkung<br />
CEX < n 1C 3C n Zeichenkomprimierung in Prozent<br />
aktivieren.<br />
n = 100% : keine Komprimierung<br />
45 < n < 100<br />
’CEX < 50’ ist<br />
identisch zum<br />
Befehl ESC 1C 3E Zeichenkomprimierung<br />
deaktivieren<br />
ESC EM E 1B 19 45 Endlosdruck ein Der<br />
<strong>HighPrint</strong> 4915xe<br />
kann im Gegensatz<br />
zum OKI<br />
Drucker Endlospapier<br />
nicht automatisch<br />
erkennen.<br />
Der Endlosdruck<br />
muss deshalb über<br />
dieses Kommando<br />
aktiviert werden.<br />
ESC EM 0 1B 19 30 Endlosdruck aus<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 331
Emulationen<br />
Anhang<br />
332 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Zeichensätze<br />
Zeichensätze<br />
Font Zeichentabelle Schriftarten Schriftgrössen<br />
Ländervarianten<br />
CP15_437.FNT Code Page 437<br />
DQ, LQ-Roman,<br />
LQ-Sans Serif<br />
10, 12, 15 cpi<br />
proportional<br />
X<br />
enthält zusätzliche Fonts<br />
ISO 8859 - 2/-5/-7/-8/-9<br />
(kompatibel zu HPR4905)<br />
DQ, LQ-Roman,<br />
LQ-Sans Serif<br />
10, 12, 15 cpi<br />
Eurobanking (eingeschränkt)<br />
OCR-A / -B<br />
10 cpi<br />
CP15C437.FNT<br />
Code Page C437<br />
für den asiatischen Markt (das<br />
Dollarzeichen wurde durch das<br />
chinesische Währungszeichen<br />
ersetzt)<br />
enthält zusätzliche Fonts<br />
ISO 8859 - 2/-5/-7/-8/-9<br />
(kompatibel zu HPR4905)<br />
DQ, LQ-Roman,<br />
LQ-Sans Serif<br />
DQ, LQ-Roman,<br />
LQ-Sans Serif<br />
OCR-A / -B<br />
10, 12, 15 cpi<br />
proportional<br />
10, 12, 15 cpi<br />
10 cpi<br />
X<br />
Eurobanking (eingeschränkt)<br />
CP15_775.FNT Code Page 775<br />
Enthält PC Code Page 775 mit<br />
baltischen Zeichen<br />
DQ, LQ-Roman,<br />
LQ-Sans Serif<br />
10, 12, 15 cpi<br />
-----<br />
Eurobanking (eingeschränkt)<br />
OCR-A / -B<br />
10 cpi<br />
CP15_850.FNT Code Page 850 Latin 1<br />
Enthält PC Code Page 850<br />
Latin 1 West-/ Nordeuropa<br />
Eurobanking (eingeschränkt)<br />
DQ, LQ-Roman,<br />
LQ-Sans Serif<br />
OCR-A / -B<br />
10, 12, 15 cpi<br />
10 cpi<br />
-----<br />
CP15_852.FNT Code Page 852 Latin 2<br />
Enthält PC Code Page 852<br />
Latin 2 Osteuropa<br />
Eurobanking (eingeschränkt)<br />
DQ, LQ-Roman,<br />
LQ-Sans Serif<br />
OCR-A / -B<br />
10, 12, 15 cpi<br />
10 cpi<br />
-----<br />
CP15_855.FNT Code Page 855<br />
Enthält PC Code Page 855<br />
Macedonien<br />
Eurobanking (eingeschränkt)<br />
DQ, LQ-Roman,<br />
LQ-Sans Serif<br />
OCR-A / -B<br />
10, 12, 15 cpi<br />
10 cpi<br />
-----<br />
CP15_857.FNT Code Page 857 Latin 5<br />
Enthält PC Code Page 857<br />
Latin 5 Türkei<br />
Eurobanking (eingeschränkt)<br />
DQ, LQ-Roman,<br />
LQ-Sans Serif<br />
OCR-A / -B<br />
10, 12, 15 cpi<br />
10 cpi<br />
-----<br />
CP15_858.FNT PC Code Page 858<br />
Code Page 858 (CP 850 mit<br />
Euro-Zeichen auf D5)<br />
Eurobanking (eingeschränkt)<br />
DQ, LQ-Roman,<br />
LQ-Sans Serif<br />
OCR-A / -B<br />
10, 12, 15 cpi<br />
10 cpi<br />
-----<br />
CP15_860.FNT<br />
Code Page 860 Portugal<br />
DQ, LQ-Roman,<br />
LQ-Sans Serif<br />
10, 12, 15 cpi<br />
-----<br />
Eurobanking (eingeschränkt)<br />
OCR-A / -B<br />
10 cpi<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 333
Zeichensätze<br />
Anhang<br />
Font Zeichentabelle Schriftarten Schriftgrössen<br />
Ländervarianten<br />
CP15_866.FNT<br />
Code Page 866 Latin / Cyrillic<br />
DQ, LQ-Roman,<br />
LQ-Sans Serif<br />
10, 12, 15 cpi<br />
-----<br />
Eurobanking (eingeschränkt)<br />
OCR-A / -B<br />
10 cpi<br />
CP15_869.FNT<br />
Code Page 869 Latin / Greek<br />
DQ, LQ-Roman,<br />
LQ-Sans Serif<br />
10, 12, 15 cpi<br />
-----<br />
Eurobanking (eingeschränkt)<br />
OCR-A / -B<br />
10 cpi<br />
4915THAI.FNT<br />
thailändischer Zeichensatz<br />
mit kunden-/ länderspez.<br />
Belegung<br />
DQ, LQ-Roman,<br />
LQ-Sans Serif,<br />
Script<br />
10, 12, 15 cpi<br />
-----<br />
Eurobanking (eingeschränkt)<br />
10, 12 cpi<br />
49151250.FNT Windows Code Page 1250<br />
Latin 2<br />
DQ, LQ-Roman,<br />
LQ-Sans Serif<br />
10, 12, 15 cpi<br />
-----<br />
Eurobanking (eingeschränkt)<br />
OCR-A / -B<br />
10 cpi<br />
49151251.FNT Windows Code Page 1251<br />
Cyrillic<br />
DQ, LQ-Roman,<br />
LQ-Sans Serif<br />
10, 12, 15 cpi<br />
-----<br />
Eurobanking (eingeschränkt)<br />
OCR-A / -B<br />
10 cpi<br />
49151252.FNT Windows Code Page 1252<br />
Latin 1<br />
DQ, LQ-Roman,<br />
LQ-Sans Serif<br />
10, 12, 15 cpi<br />
-----<br />
Eurobanking (eingeschränkt)<br />
OCR-A / -B<br />
10 cpi<br />
49151253.FNT Windows Code Page 1253<br />
Greek<br />
DQ, LQ-Roman,<br />
LQ-Sans Serif<br />
10, 12, 15 cpi<br />
-----<br />
Eurobanking (eingeschränkt)<br />
OCR-A / -B<br />
10 cpi<br />
49151254.FNT Windows Code Page 1254<br />
Latin 5<br />
DQ, LQ-Roman,<br />
LQ-Sans Serif<br />
10, 12, 15 cpi<br />
-----<br />
Eurobanking (eingeschränkt)<br />
OCR-A / -B<br />
10 cpi<br />
49151255.FNT Windows Code Page 1255<br />
Hebrew<br />
DQ, LQ-Roman,<br />
LQ-Sans Serif<br />
10, 12, 15 cpi<br />
-----<br />
Eurobanking (eingeschränkt)<br />
OCR-A / -B<br />
10 cpi<br />
49151256.FNT Windows Code Page 1256<br />
Arabic<br />
DQ, LQ-Roman,<br />
LQ-Sans Serif<br />
10, 12, 15 cpi<br />
-----<br />
Eurobanking (eingeschränkt)<br />
OCR-A / -B<br />
10 cpi<br />
49151257.FNT Windows Code Page 1257<br />
Baltic Rim<br />
DQ, LQ-Roman,<br />
LQ-Sans Serif<br />
10, 12, 15 cpi<br />
-----<br />
Eurobanking (eingeschränkt)<br />
OCR-A / -B<br />
10 cpi<br />
4915ISO2.FNT<br />
ISO 8859-2 Osteuropa<br />
DQ, LQ-Roman,<br />
LQ-Sans Serif<br />
10, 12, 15 cpi<br />
-----<br />
Eurobanking (eingeschränkt)<br />
OCR-A / -B<br />
10 cpi<br />
334 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Zeichensätze<br />
Code Page 437<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 335
Zeichensätze<br />
Anhang<br />
ISO 8859-2 Latin No. 2<br />
336 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Zeichensätze<br />
ISO 8859-5 Kyrillisch<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 337
Zeichensätze<br />
Anhang<br />
ISO 8859-7 Griechisch<br />
338 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Zeichensätze<br />
ISO 8859-8 Hebräisch<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 339
Zeichensätze<br />
Anhang<br />
ISO 8859-9 Latin No. 5<br />
340 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Zeichensätze<br />
ISO 8859-15<br />
Zeichensatz ISO 8859-15, enthält Euro-Zeichen<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 341
Zeichensätze<br />
Anhang<br />
OCR-A<br />
Der OCR-A-Zeichensatz ist nur in der Zeichenteilung von 10 cpi verfügbar und<br />
beinhaltet keine Ländervariante. Die Hexadezimal-Codierung 7E ist mit dem<br />
Linefinding-Zeichen belegt.<br />
342 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Zeichensätze<br />
OCR-B<br />
Der OCR-B-Zeichensatz ist nur in der Zeichenteilung von 10 cpi verfügbar und<br />
beinhaltet keine Ländervariante. Die Hexadezimal-Codierung 7E ist mit dem<br />
Linefinding-Zeichen belegt.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 343
Zeichensätze<br />
Anhang<br />
Code Page ISO 2<br />
344 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Zeichensätze<br />
Code Page 775 Latin / Baltic<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 345
Zeichensätze<br />
Anhang<br />
Code Page 850 Latin 1<br />
346 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Zeichensätze<br />
Code Page 852 Latin 2<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 347
Zeichensätze<br />
Anhang<br />
Code Page 855<br />
348 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Zeichensätze<br />
Code Page 857 Latin 5<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 349
Zeichensätze<br />
Anhang<br />
PC Code Page 858<br />
350 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Zeichensätze<br />
Code Page 860 (Portugal)<br />
Adressen 00 h bis 7F h siehe Code Page 437<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 351
Zeichensätze<br />
Anhang<br />
Code Page 866 Latin/Cyrillic<br />
352 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Zeichensätze<br />
Code Page 869 Latin/Greek<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 353
Zeichensätze<br />
Anhang<br />
Thailändischer Zeichensatz (kundenspezifisch)<br />
# 550 ThaiRoman<br />
# 553 ThaiDQ<br />
# 560 ThaiScript<br />
Der kundenspezifische thailändische Zeichensatz ist nur mit der Font-Nr. und<br />
der entsprechenden ESC-Sequenz ansteuerbar (siehe Abschnitt „Auswahl von<br />
Schriftarten/Zeichensätzen” im Kapitel „Zusatzkommandos” ).<br />
354 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Zeichensätze<br />
1250 Windows Latin 2<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 355
Zeichensätze<br />
Anhang<br />
1251 Windows Cyrillic<br />
356 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Zeichensätze<br />
1252 Windows Latin 1<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 357
Zeichensätze<br />
Anhang<br />
1253 Windows Greek<br />
358 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Zeichensätze<br />
1254 Windows Latin 5<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 359
Zeichensätze<br />
Anhang<br />
1255 Windows Hebrew<br />
360 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Zeichensätze<br />
1256 Windows Arabic<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 361
Zeichensätze<br />
Anhang<br />
1257 Windows Baltic Rim<br />
362 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Chinesische Zeichen<br />
Chinesische Zeichen<br />
Ein Byte Modus<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 363
Chinesische Zeichen<br />
Anhang<br />
Zwei Byte Modus<br />
GB xxxx Codierung<br />
364 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Chinesische Zeichen<br />
BIG 5 Codierung<br />
A140-A24E<br />
A24F-A258<br />
A259-A261<br />
A262-A2AE<br />
A2AF-A2B8<br />
A2B9-A2C2<br />
A2C3-A2CE<br />
A2CF-A2E8<br />
A2E9-A343<br />
A344-A35B<br />
Symbole<br />
verschiedene Sonderzeichen<br />
chinesische Zeichen<br />
Grafikzeichen<br />
arabische Ziffern<br />
römische Ziffern<br />
Hangzhou Ziffern<br />
lateinische Großbuchstaben<br />
lateinische Kleinbuchstaben<br />
griechische Großbuchstaben<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 365
Chinesische Zeichen<br />
Anhang<br />
A35C-A373<br />
A374-A3BA<br />
A3BB-A3BF<br />
A440-C67E<br />
C6A1-C8D4<br />
C940-F9D5<br />
griechische Kleinbuchstaben<br />
Zhuyin Zeichen<br />
Zhuyin diakritische Zeichen<br />
Hanzi (5401 Zeichen - häufig genutzt)<br />
eingekreiste und eingeklammerte Ziffern, Hiragana,<br />
Katakana, kyrillische Zeichen, Symbole, Sonderzeichen<br />
Hanzi (7652 Zeichen - nicht so häufig genutzt)<br />
Zeichengeneratoraufbau<br />
Das asiatische Fontfile ist folgendermaßen aufgebaut:<br />
Fileheader<br />
Fontheader 1<br />
...<br />
Fontheader n<br />
Zeichenpool<br />
366 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Chinesische Zeichen<br />
Dateikopf (Fileheader)<br />
Bytes (Hex.) Inhalt Name<br />
0000 - 0004<br />
0005<br />
0006 - 000B<br />
000C<br />
000D - 0010<br />
0011<br />
0012 - 0019<br />
001A<br />
001B - 001D<br />
001E<br />
001F - 0021<br />
$MOD$<br />
blank<br />
yymmdd<br />
blank<br />
rrvv<br />
blank<br />
a....a<br />
.<br />
TBF<br />
0x00<br />
xxxxxx<br />
Kennung<br />
Trennzeichen<br />
Datum<br />
Trennzeichen<br />
Release u. Version<br />
Trennzeichen<br />
Filename<br />
Trennzeichen<br />
Extension<br />
Trennzeichen<br />
Länge<br />
Leerzeichen<br />
z.B. 960229 (ASCII)<br />
Leerzeichen<br />
z.B. 1000 (ASCII)<br />
Leerzeichen<br />
z.B. CP15ASIA<br />
Punkt<br />
TBF -> Two Byte Font<br />
0x000020 = 2 MByte<br />
0022 - 0023<br />
0024 - 002F<br />
xxxx<br />
blank<br />
Default<br />
Fontnummer<br />
frei<br />
Fontnummer 0x0000<br />
wird eingesetzt, wenn<br />
eine Einstellung vom<br />
Bedienfeld vorgenommen<br />
werden soll<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 367
Chinesische Zeichen<br />
Anhang<br />
Zeichensatzkopf (Fontheader)<br />
Bytes (Hex.) Datentyp Name<br />
Verwaltungs-/<br />
Emulationsparameter<br />
0000 - 000F<br />
0010 - 0011<br />
0012 - 0015<br />
ASCII<br />
short<br />
long<br />
Fontname<br />
Fontnummer (1*)<br />
Startadresse<br />
1. Zeichen<br />
z. B. 49152312.BIN<br />
z. B. 6B2312 = 0x0001<br />
0016 - 0017<br />
0018 - 0019<br />
001A - 001F<br />
byte[2]<br />
byte[2]<br />
Zeichencode<br />
1. Zeichen<br />
Zeichencode<br />
letztes Zeichen<br />
Reserviert<br />
z. B. 0xA1A1<br />
z. B. 0xAFFE<br />
Parameter d.<br />
Druckersteuerung<br />
0020 - 0021<br />
0022 - 0023<br />
short<br />
short<br />
boxh<br />
boxw<br />
Anzahl vertikaler<br />
Pixel/Zeichenbox<br />
Anzahl horizontaler<br />
Pixel/Zeichenbox<br />
0024 - 0025<br />
0026 - 0027<br />
0028 - 0029<br />
002A - 002B<br />
short<br />
short<br />
short<br />
short<br />
vert_res<br />
hor_res<br />
baseline<br />
bit_map_type<br />
Vertikalaufl. (Pixel/Zoll)<br />
Horizontalaufl. (Pixel/Zoll)<br />
Abstand Zeichenboxunterkante<br />
zur<br />
Zeichengrundlinie in Pixel<br />
Bitmaptyp: 0=1/360 Zoll,<br />
1=1/180 Zoll Raster<br />
002C - 003F<br />
(1*) siehe Abschnitt "Fontnummer"<br />
reserviert<br />
368 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Chinesische Zeichen<br />
Zeichengeneratorstruktur<br />
Im Fontfile sind die Informationen der einzelnen Zeichen sequentiell hintereinander<br />
abgelegt.<br />
Zur Darstellung eines Zeichens stehen 72 Bytes zur Verfügung.<br />
x x<br />
x x x x x x x x x x<br />
x x x x x x x x x x x x x x x x x x<br />
x x x x x x x x<br />
x x x x x x x<br />
x x x x x x x<br />
x x x x x x x x x<br />
x x x x x x x x x x x x<br />
x x x x x x x x x<br />
x x x x x x x x x<br />
x x x x x x x x x x<br />
x x x x x x x x x<br />
x x x x x x x x x<br />
x x x x x x x x x x x x x<br />
x x x x x x x x x x<br />
x x x x x x x x x x<br />
x x x x x x<br />
x x<br />
x x<br />
x x<br />
x x<br />
x x<br />
x x x x x x<br />
x x<br />
x x x<br />
x x<br />
x<br />
x<br />
Beispiel: GBxxxx FANGSONG Zeichen B0/A1 hex<br />
Spalteninformation (hexadezimal):<br />
00 00 00, 00 00 00, 3f ff e0, 10 02 00, 10 02 00, 3f ff 80, 10 00 00, 00 00 00, 7f<br />
ff ff, 3f ff fe, 20 c0 80, 3f 31 c0, 78 1f 80, 20 00 00, 11 ff 80, 10 82 00, 10 82 08,<br />
11 ff 08, 10 80 0c, 10 00 0e, 1f ff fc, 3f ff f8, 00 00 00, 00 00 00<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 369
Chinesische Zeichen<br />
Anhang<br />
GB 2312-80 / GB 5007 / GB 5199<br />
Der Zeichensatz Guo Biao (GB) 2312-80 ist ein statischer 2-Byte-Code für die<br />
Volksrepublik China. Er enthält insgesamt 6763 Zeichen und stellt den Basissatz<br />
für das Simplified Chinese dar. Er enthält zusätzlich zu den chinesischen Zeichen<br />
das lateinische, griechische und russische Alphabet, japanische und koreanische<br />
Zeichen, sowie Symbole und Linienelemente.<br />
Im GB 5007 und GB 5199 sind im Adressbereich A1/A1 hex bis A9/FE hex teilweise<br />
andere Zeichen als im GB2312-80 eingesetzt. Der Zeichenvorrat und die<br />
Adressierung der chinesischen Zeichen sind übereinstimmend.<br />
A1A1 - A9FE lateinische, griechische, russische, japanische und<br />
koreanische Zeichen, Symbole, Grafik<br />
AAA1 - AFFE leer<br />
B0A1 - F7FE chinesische Zeichen<br />
F8A1 - FEFE leer<br />
Schriftart<br />
Zur Darstellung der chinesischen Zeichen im Adressbereich B0/A1 hex bis FE/<br />
FE hex wird die Schriftart FANG SONG eingesetzt.<br />
Fontnummer<br />
Für die Fonts der Zeichenadressierung A1A1 hex bis FEFE hex (GB-XXXX) sind<br />
die Fontnummern im Bereich von 0 - 100 vorgesehen.<br />
Für Zeichensätze mit umfangreicher und ggf. auch nicht sequentiell hintereinander<br />
folgender Adressierung (BIG5) sollen Fontnummern von 101-200 eingesetzt<br />
werden.<br />
Font<br />
Font Nr.<br />
GB2312 Symbole 1<br />
GB5007 Symbole 2<br />
GB5199 Symbole 3<br />
GB.... Simplified Chinese FANGSONG 10<br />
BIG5 Traditional Chinese 101<br />
370 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Chinesische Zeichen<br />
Verfügbare Zeichengeneratoren<br />
Bezeichnung<br />
CP4915ASIA.TBF<br />
Rev. / Datum 1001/28.06.00<br />
Default Font<br />
einstellbar über Bedienfeld<br />
Inhalt .<br />
Font<br />
Font Nr.<br />
GB2312 Symbole 1<br />
GB5007 Symbole 2<br />
GB5199 Symbole 3<br />
GB.... Simplyfied Chinese FANGSONG 10<br />
BIG5 Traditional Chinese 101<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 371
Chinesische Zeichen<br />
Anhang<br />
372 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Laderbefehle<br />
Laderbefehle<br />
Kommando ASCII hex Funktion<br />
ESC BEL L n 1B 07 4C n Umschaltung in die Ladefunktion<br />
ESC BEL E 1B 07 45 Verlassen der Ladefunktion und<br />
starten der Firmware<br />
ESC I D 1B 49 44 Datenkennungen anfordern<br />
ESC F N T (n1) 1B 46 4E 54 n1 Laden des Zeichengenerators starten<br />
(n2) (n3) (d) n2 n3 d<br />
(Font-Ladedaten) ... Zeichengenerator übertragen<br />
ESC m o d (n1)<br />
(n2) (n3)<br />
(Firmware-<br />
Ladedaten)<br />
1B 6D 6F 64 n1 Laden der Firmware starten<br />
n2 n3<br />
... Firmware übertragen<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 373
Papierspezifikation<br />
Anhang<br />
Papierspezifikation<br />
Der Drucker hat eine Belegdruckstelle mit der Einfachbelege, Mehrfachbelege<br />
(Belegsätze) und Sparbücher verarbeitet werden können. Optional kann die Belegdruckstelle<br />
noch mit einem Magnetstreifenleser (MSR) ausgerüstet sein.<br />
Zum Bedrucken von Sparbüchern und Belegen wird der Drucker mit einer automatischen<br />
Druckkopfnachführung betrieben.<br />
Die rechtwinklige Ausrichtung der Belege und Sparbücher zur Druckmechanik<br />
erfolgt rechts an der Belegschachtanlage und stirnseitig am Beleganschlag. An<br />
diesen Stellen sind Durchlichtschranken zur Erkennung vorhanden. Außerdem<br />
befindet sich noch eine Durchlichtschranke im Belegeinzug, die auch eine Verarbeitung<br />
mit Fußpunkterkennung ermöglicht.<br />
Bezugslinien<br />
Die in diesem Dokument beschriebenen Sicherheitsabstände haben als Bezugslinien<br />
die äußeren Beleg- bzw. Sparbuchkanten sowie Schuppungskanten<br />
und Falze. Die Bezugslinien für die Druckzeichen werden durch die dargestellte<br />
Zeichenbox definiert.<br />
Die Zeichenbox stellt ein Rechteck dar, dessen Breite durch die gewählte Zeichenteilung<br />
vorgegeben ist (z. B. 1/10 Zoll bei 10 Zeichen/Zoll). Die Höhe der<br />
Zeichenbox ist durch den vertikalen Abstand der obersten und untersten Nadel<br />
definiert (3,5 mm bei diesem Drucker). Innerhalb dieser Zeichenbox kann jeder<br />
Punkt durch eine Nadel bedruckt (geschwärzt) werden.<br />
374 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Papierspezifikation<br />
b = Breite der Zeichenteilung (z. B. 1/10" bei 10 CPI)<br />
Alle Maße in den Abbildungen sind in Millimeter angegeben.<br />
Detaillierte Informationen sind den „Papierspezifikationen“ auf der CD-ROM zu<br />
entnehmen.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 375
Fehlermeldungen<br />
Anhang<br />
Fehlermeldungen<br />
Zustandsmeldungen<br />
Status<br />
FUNKTION<br />
NICHT VERFÜGBAR<br />
BITTE<br />
WARTEN...<br />
OK<br />
ONLINE<br />
KEIN PAPIER<br />
ONLINE<br />
PAPIER<br />
DATEN<br />
KEIN PAPIER<br />
DATEN<br />
PAPIER<br />
STOPP<br />
KEIN PAPIER<br />
STOPP<br />
PAPIER<br />
BITTE PAPIER<br />
VORLEGEN<br />
SELFTEST<br />
Beschreibung / Behebung<br />
Menüfunktion nicht möglich<br />
Warten auf Ende<br />
Quittungstext<br />
ONLINE-Zustand, kein Papier vorgelegt<br />
ONLINE-Zustand, Papier eingezogen<br />
STOPP-Zustand, Daten im Eingangspuffer aber kein<br />
Papier vorgelegt<br />
STOPP-Zustand, Daten im Eingangspuffer, Papier<br />
vorgelegt<br />
STOPP-Zustand, Eingangspuffer leer, kein Papier<br />
vorgelegt<br />
STOPP-Zustand, Eingangspuffer leer, Papier<br />
vorgelegt<br />
Papieranforderung durch Daten im Druckpuffer<br />
Anzeige beim Einschalten: Selbstest Elektronik<br />
376 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Fehlermeldungen<br />
Zustandsmeldungen (Urlader aktiviert)<br />
Status<br />
LOAD<br />
NO PROGRAM<br />
NO FONT<br />
PROGRAMMING<br />
Firmware<br />
PROGRAMMING<br />
Fonts<br />
PROGRAMMING<br />
TIMEOUT<br />
PROGRAMMING<br />
ERROR<br />
TRANSMISSION<br />
ERROR<br />
FLASH<br />
ERROR<br />
DATA LENGTH<br />
ERROR<br />
FIRMWARE<br />
ERROR<br />
Beschreibung<br />
Urlader aktiviert<br />
Urlader aktiviert, Firmware fehlt<br />
Urlader aktiviert; Zeichengenerator fehlt<br />
Firmware wird geladen<br />
Font wird geladen<br />
Fehler / Zeitüberschreitung beim Laden der<br />
Datensegmente<br />
Programmierfehler beim Laden der<br />
Speicherbausteine<br />
Datenübertragungsfehler beim Laden der<br />
Datensegmente<br />
Falscher oder defekter Flashbaustein<br />
Angegebene Datenlänge zum Laden ist fehlerhaft.<br />
Interner Fehler im Lader<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 377
Fehlermeldungen<br />
Anhang<br />
Störungen<br />
i<br />
Einige Störungsmeldungen enthalten zusätzlich zahlenkodierte<br />
Informationen zur Fehlerursache. Diese Zusatzinformationen sind nur für<br />
Servicepersonal bestimmt und können durch Drücken der VALID-Taste<br />
abgerufen werden. Nach einer kurzen Zeit verschwindet die<br />
Serviceinformation wieder.<br />
Fehler Beschreibung / Behebung Serviceinformation:<br />
Nr. / Bedeutung<br />
PAPIER<br />
LÄNGE<br />
Beleg zu klein<br />
PAPIER<br />
STAU<br />
FEHLER<br />
PAPIERBREITE<br />
PARITÄTS<br />
FEHLER<br />
OVERRUN<br />
FEHLER<br />
Papierstau, Papier blockiert, Papier<br />
kann nicht ausgeworfen werden<br />
Papiertransportweg überprüfen, Papierreste<br />
entfernen<br />
Druck über den rechten Papierrand<br />
Breiteres Papier benutzen<br />
Serielle Schnittstelle Paritiy Fehler<br />
Einstellungen Drucker oder System<br />
überprüfen<br />
Serielle Schnittstelle, Serielle<br />
Schnittstelle Overrun Fehler<br />
00...10<br />
FRAMING<br />
FEHLER<br />
BREAK<br />
Einstellungen Handshake Protokoll<br />
Drucker oder System überprüfen,<br />
Kabel überprüfen<br />
Serielle Schnittstelle Framing Fehler<br />
Einstellungen Drucker oder System<br />
überprüfen<br />
Serielle Schnittstelle, Ein/Ausschalten<br />
des Systems, Schnittstellenkabel<br />
stecken/ziehen, Erzeugung<br />
durch den Systemtreiber<br />
378 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Fehlermeldungen<br />
Fehler Beschreibung / Behebung Serviceinformation:<br />
Nr. / Bedeutung<br />
FALSCHER<br />
BEFEHL<br />
JOURNAL SPEI-<br />
CHER VOLL<br />
DECKEL<br />
OFFEN<br />
FIRMWARE<br />
FEHLER<br />
ELEKTRONIK<br />
FEHLER<br />
Falsche Befehlssyntax auf der<br />
Systemschnittstelle<br />
Treiber auf der Systemseite<br />
überprüfen, andere Emulationsfirmware<br />
in den Drucker<br />
laden<br />
Elektronisches Journal voll<br />
Journalausdruck starten und<br />
Journalspeicher löschen<br />
Druckergehäuse geöffnet<br />
Druckergehäuse schließen<br />
Interner Firmwarefehler<br />
Firmware Release überprüfen,<br />
ggf. neu aufspielen<br />
Hardwarefehler in der Elektronik<br />
/ Elektronik tauschen<br />
Der Drucker hat eine<br />
Emulation A geladen,<br />
die empfangenen Daten<br />
sind jedoch für eine<br />
Emulation B<br />
16<br />
IMT Syntaxfehler<br />
32<br />
Interner ET Syntaxfehler<br />
33<br />
ET AEQ MSG Syntaxfehler<br />
34<br />
ET Timeout Mechanik<br />
35<br />
ET Timeout Interface<br />
36<br />
ET Timeout CPPT<br />
64<br />
CPPT Syntaxfehler<br />
80<br />
ECT Syntaxfehler<br />
96<br />
HMPT Syntaxfehler<br />
112 VMT Syntaxfehler<br />
00<br />
EE-PROM<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 379
Fehlermeldungen<br />
Anhang<br />
Fehler Beschreibung / Behebung Serviceinformation:<br />
Nr. / Bedeutung<br />
CARRIER<br />
FEHLER<br />
FEHLER PAPIER-<br />
ERKENNUNG<br />
DRUCKKOPF<br />
HEISS<br />
Druckkopfantrieb Hardwarefehler<br />
Bereich um den Druckbalken<br />
auf Fremdkörper untersuchen,<br />
Lichtleiste verschmutzt (säubern),<br />
Carrierantrieb, Antriebsriemen,<br />
Motor, Steckverbinder,<br />
Carriermotor, Druckkopf nicht<br />
gesteckt, Sensor in Druckkopf<br />
defekt (Druckkopf tauschen),<br />
Druckkopfkabel nicht gesteckt,<br />
defekt, Elektronik defekt<br />
Carrier Error bei Papierkanten<br />
Vermessung<br />
Druckkopf ist überhitzt<br />
Pausen zwischen den Druckzeilen<br />
Ist der Druckkopf kalt,<br />
Druckkopf oder -kabel defekt<br />
01<br />
Falsche Nadelfrequenz<br />
02<br />
Druckauftrag ohne<br />
Druckblöcke<br />
03<br />
Überlauf der Verfahrprofiltabelle<br />
04<br />
Druck außerhalb<br />
Druckbereich<br />
05<br />
Fehler beim Suchlauf<br />
Grundstellung<br />
06<br />
Fehler bei ‘Fahre auf<br />
Ziel‘ Grundstellung<br />
07<br />
Erwarteter Lichtschrankeninterrupt<br />
nicht gekommen<br />
08<br />
Motorfehler bei Messfahrt<br />
über Lichtleiste<br />
09<br />
Messfehler Lichtleiste<br />
über 5mm<br />
10<br />
Motorfehler bei ‘Suche<br />
linke Papierkante‘<br />
380 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Fehlermeldungen<br />
Fehler Beschreibung / Behebung Serviceinformation:<br />
Nr. / Bedeutung<br />
NETZTEIL<br />
HEISS<br />
FEHLER BELEG-<br />
TRANSPORT<br />
Netzteil ist überhitzt<br />
Pausen zwischen den Druckzeilen<br />
Belegtransport Hardware Fehler<br />
00<br />
Motor Steuerung<br />
FEEDER<br />
FEHLER<br />
MSR FALSCHER<br />
BEFEHL<br />
Steurungsmotor blockiert<br />
(Druckbalken, Anschlaghaken,<br />
MSR Andruck), Steuerungsmotor<br />
nicht gesteckt, Elektronik<br />
defekt<br />
Feeder Hardware Fehler<br />
Magnetstreifenleser falsche<br />
Ansteuerung<br />
01<br />
Motor Transport<br />
01<br />
Fehlerhafte Reihenfolge<br />
02<br />
Fehlerhafte Parameter<br />
03<br />
Fehlerhafte Zeichen<br />
04<br />
Fehlerhafte Zeichenlänge<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 381
Fehlermeldungen<br />
Anhang<br />
Fehler Beschreibung / Behebung Serviceinformation:<br />
Nr. / Bedeutung<br />
MSR<br />
FEHLER<br />
Magnetstreifenleser Hardwarefehler<br />
Einheit tauschen<br />
01<br />
Allgemeiner Hardwarefehler<br />
02<br />
Kopfposition MSR Reinigungsfunktion<br />
10<br />
Zu viele Schreibwiederholungen<br />
11<br />
Kontroll-Lesefehler<br />
12<br />
Zu viele Lesewiederholungen<br />
13 Leseblock 1<br />
14 LRC-Fehler<br />
15 Parity-Fehler<br />
16<br />
Keine Daten gefunden<br />
17<br />
Kein Startzeichen gefunden<br />
18<br />
Falscher Flusswechselabstand<br />
19<br />
Kein Endezeichen gefunden<br />
20<br />
Magnetspurunterbrechung<br />
382 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Beschreibung der physikalischen Schnittstellen<br />
Beschreibung der physikalischen Schnittstellen<br />
Der Drucker ist mit folgenden Schnittstellen ausgestattet:<br />
– 2 RS232 Schnittstellen (V.24)<br />
– Centronics Schnittstelle<br />
– USB Schnittstelle<br />
In den folgenden Abschnitten werden die Leistungsmerkmale der Schnittstellen<br />
aufgelistet.<br />
RS232 Schnittstelle<br />
Allgemeines<br />
Die Datenübertragung kann mit dem Protokoll XON/XOFF, XON/XOFF2 und<br />
dem HardwareHandshaking DTR gesteuert werden.<br />
Über ein Menü werden die Parameter für die aktive Schnittstelle genauer definiert.<br />
Handshaking Protokolle<br />
Mit dem jeweiligen Handshake Protokoll wird die Datenübertragung zwischen<br />
dem Host und dem Drucker gesteuert.<br />
Hardware Handshake über DTR/Busy Signal<br />
Beim DTR/Busy Protokoll signalisiert der Drucker dem angeschlossenen Gerät<br />
über die aktivierten Signale DTR und RTS seine Bereitschaft, Daten zu empfangen.<br />
Die Signale DTR und RTS werden aktiv:<br />
1. Nach dem Einschalten des Druckers (Power on).<br />
2. Bei einem Wechsel vom STOPP- in den ONLINE-Zustand.<br />
3. Wenn der Eingangspufferbereich des Druckers wieder Daten aufnehmen<br />
kann (mindestens 1 kByte freier Eingangsdatenpuffer), nachdem er gesperrt<br />
war (weniger als 512 Byte freier Eingangs-puffer).<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 383
Beschreibung der physikalischen Schnittstellen<br />
Anhang<br />
Die Signale DTR und RTS werden inaktiv:<br />
1. Bei einem Wechsel vom ONLINE- in den STOPP-Zustand (STOP Taste<br />
gedrückt oder Druckerfehler aufgetreten).<br />
2. Wenn der freie Eingangspufferbereich kleiner als 512 Byte wird.<br />
Über das aktivierte Signal CTS signalisiert das angeschlossene Gerät dem<br />
Drucker, dass er Daten übertragen kann.<br />
Software Handshake über XON/XOFF Protokoll<br />
Beim XON/XOFF Protokoll signalisiert der Drucker dem angeschlossenen Gerät<br />
durch Senden von XON, dass er bereit ist, Daten zu empfangen. XOFF signalisiert,<br />
dass er nicht empfangsbereit ist.<br />
Zusätzlich werden die Signale DTR und RTS wie beim Hardware Handshake<br />
gesetzt.<br />
XON wird gesendet:<br />
1. Nach dem Einschalten des Druckers (Power on).<br />
2. Bei einem Wechsel vom STOPP- in den ONLINE-Zustand.<br />
3. Wenn der Eingangspufferbereich des Druckers wieder Daten aufnehmen<br />
kann (mindestens 1kB freier Eingangsdatenpuffer), nachdem er gesperrt<br />
war (weniger als 512 Byte freier Eingangs-puffer).<br />
XOFF wird gesendet:<br />
1. Bei einem Wechsel vom ONLINE- in den STOPP-Zustand (STOP Taste<br />
gedrückt oder Druckerfehler aufgetreten).<br />
2. Wenn der freie Eingangspufferbereich kleiner als 512 Byte wird.<br />
Über das aktivierte Signal CTS signalisiert das angeschlossene Gerät dem<br />
Drucker, dass er Daten übertragen kann.<br />
Software Handshake über XON/XOFF 2 Protokoll<br />
Das Protokoll XON/XOFF 2 unterscheidet sich vom Protokoll XON/XOFF, dass<br />
der Drucker ohne CTS-Prüfung Daten an das angeschlossene Gerät überträgt.<br />
384 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Beschreibung der physikalischen Schnittstellen<br />
Schnittstellendaten<br />
Signalpegel<br />
RS232<br />
Datenformat<br />
Baud Rate 2400, 4800, 9600, 19200<br />
Datenwortlänge 7 / 8 Bit<br />
Stopbits 1 / 2<br />
Parity<br />
gerade / ungerade / aus<br />
Die Auswahl der jeweils gültigen Parameter wird über das Bedienfeld vorgenommen.<br />
Steckertyp<br />
Die Schnittstelle des Buch- und Belegdruckers ist mit einem 9-poligen D-SUB Stecker<br />
ausgerüstet:<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 385
Beschreibung der physikalischen Schnittstellen<br />
Anhang<br />
Puffersteuerung RS232<br />
Der Buch- und Belegdrucker verfügt über einen 8192 Byte großen Druckpuffer,<br />
dessen Größe nicht verändert werden kann. Sind im Druckpuffer weniger als<br />
512 Bytes frei, werden keine weiteren Daten angenommen und die Schnittstelle<br />
gesperrt. Erst wenn wieder min. 1024 Bytes freier Speicher zur Verfügung stehen,<br />
ist der Drucker wieder empfangsbereit. Entsprechend der Schnittstelle erfolgt<br />
die Steuerung durch das Hardware-Handshaking DTR/CTS oder durch das<br />
Software-Protokoll XON/XOFF und XON/XOFF2.<br />
Fehlerbehandlung<br />
Fehler beim Datenempfang:<br />
Fehler / Statusmeldung<br />
BREAK<br />
FRAMING FEHLER<br />
PARITÄTS FEHLER<br />
OVERRUN FEHLER<br />
Reaktion<br />
Warnung<br />
Warnung<br />
Warnung<br />
Fehler<br />
386 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Beschreibung der physikalischen Schnittstellen<br />
Signalbeschreibung und Steckerbelegung RS232-Schnittstelle<br />
Pin 05<br />
SG – Signal Ground<br />
Datenleitungen<br />
Pin 03 TD Transmitted Data<br />
Serieller Datenausgang Drucker --> Host<br />
Pin 02<br />
RD Received Data<br />
Serieller Dateneingang Drucker
Beschreibung der physikalischen Schnittstellen<br />
Anhang<br />
Pin 07<br />
RTS – Request to Send<br />
Ausgang<br />
Im DTR/Busy-Protokoll signalisiert der ’EIN’- Zustand dem<br />
angeschlossenen Gerät (Signalempfänger=Host) die Bereitschaft,<br />
Daten zu empfangen.<br />
Im XON/XOFF-Protokoll spiegelt DTR und RTS die<br />
Betriebsbereitschaft des Druckers wider:<br />
– DTR/RTS aktiv: Online<br />
– DTR/RTS inaktiv: STOPP (STOP-Taste und Betriebsunterbrechung)<br />
oder ERROR<br />
Pin 01<br />
Drucker eingeschaltet<br />
Ausgang<br />
Der ’Ein’-Zustand signalisiert dem Host-System, dass der Drucker<br />
eingeschaltet ist. Die elektrischen Eigenschaften dieses Signals<br />
entsprechen nicht der Norm. Die Signallage kann von der Empfänger<br />
Physik im Host abhängig sein. Das Signal ist aus<br />
Kompatibilitätsgründen zum Vorgänger implementiert, und darf in<br />
neuen Applikationen nicht mehr benutzt werden.<br />
EIN Zustand 5,6 kOhm an +12 V<br />
AUS Zustand 5,6 kOhm an SG<br />
388 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Beschreibung der physikalischen Schnittstellen<br />
Kabelverbindung Buch- und Belegdrucker - PC<br />
Pin-<br />
Nr.<br />
Drucker<br />
9-poliger Stecker<br />
Kabel<br />
Pin-<br />
Nr.<br />
PC<br />
9-poliger Stecker<br />
1 Drucker eingeschaltet<br />
(+12 V)<br />
2 RD Received Data<br />
Serieller Dateneingang<br />
Drucker<br />
3 TD Transmitted Data<br />
Serieller Datenausgang<br />
Drucker<br />
4 DTR Data Terminal Ready<br />
Ausgang<br />
Im DTR/Busy-Protokoll<br />
signalisiert der ’EIN’-Zustand<br />
dem angeschlossenen Gerät<br />
(Signalempfänger) die<br />
Bereitschaft, Daten zu<br />
empfangen<br />
⇒ 1 DCD Data Carrier<br />
Detect<br />
⇐ 3 TD Transmitted<br />
Data<br />
⇒ 2 RD Received Data<br />
⇒ 6 DSR Data Set<br />
Ready<br />
5 SG-Signal Ground ⇔ 5 SG-Signal Ground<br />
6 DSR Data Set Ready<br />
(wird nicht ausgewertet)<br />
7 RTS Request to Send<br />
Im DTR/Busy-Protokoll<br />
signalisiert der ’EIN’-Zustand<br />
dem angeschlossenen Gerät<br />
(Signalempfänger) die<br />
Bereitschaft, Daten zu<br />
empfangen<br />
⇐ 4 DTR Data Terminal<br />
Ready<br />
⇒ 8 CTS Clear to Send<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 389
Beschreibung der physikalischen Schnittstellen<br />
Anhang<br />
Pin-<br />
Nr.<br />
Drucker<br />
9-poliger Stecker<br />
Kabel<br />
Pin-<br />
Nr.<br />
PC<br />
9-poliger Stecker<br />
8 CTS Clear to Send Eingang<br />
Der ’EIN’-Zustand signalisiert<br />
dem angeschlossenen Gerät<br />
(Signalempfänger) die<br />
Bereitschaft, Daten zu<br />
empfangen (Wird vom Drucker<br />
nicht ausgewertet, wenn als<br />
Interfaceprotokoll XON/XOFF2<br />
ausgewählt ist)<br />
9 9<br />
⇐ 7 RTS Request to<br />
Send<br />
Centronics Schnittstelle<br />
Im Bedienfeld kann im Schnittstellenmenü unter ’Einstellungen->Centronics-><br />
Protokoll’ eingestellt werden, ob die Centronics Schnittstelle in den ECP Modus<br />
umschaltbar ist (Protokoll=ECP) oder nicht (Protokoll=Drucker).<br />
Steht der Parameter ’Protokoll’ auf ’Drucker’, kann die Centronics Schnittstelle<br />
nur im kompatiblen Modus betrieben werden.<br />
Der Parameter ’Protokoll’ steuert auch, wie das Signal ’PError’ vom Drucker gesetzt<br />
wird (siehe Abschnitt „Steckerbelegung“ und „Signalbelegung druckerseitig<br />
(Centronics-Stecker) im kompatiblen- und ECP-Modus“ der Centronics<br />
Schnittstelle).<br />
Centronics Modi<br />
Kompatibler Modus und ECP Modus entsprechend der Norm IEEE P1284 D2.<br />
Steckertyp<br />
Die Schnittstelle des Buch- und Belegdruckers ist auf der Hostseite mit einem 25-<br />
poligen D-SUB-Stecker und auf der Peripherieseite (Druckerseite) mit einem 36-poligen<br />
Centronics-Stecker ausgerüstet.<br />
390 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Beschreibung der physikalischen Schnittstellen<br />
Empfangspuffer<br />
Der Empfangspuffer ist 8 kByte groß.<br />
Steckerbelegung<br />
Pin-Nr. Host<br />
(1284-A)<br />
25-poliger<br />
D-SUB Stecker<br />
Pin-Nr. Drucker<br />
(1284-B)<br />
36-poliger<br />
Centronics Stecker<br />
Signalbeschreibung<br />
1 1 nStrobe<br />
2 2 Data 1<br />
3 3 Data 2<br />
4 4 Data 3<br />
5 5 Data 4<br />
6 6 Data 5<br />
7 7 Data 6<br />
8 8 Data 7<br />
9 9 Data 8<br />
10 10 nAck<br />
11 11 Busy<br />
12 12 PError<br />
13 13 Select<br />
14 14 nAutoFd<br />
15 32 nFault<br />
16 31 nInit<br />
17 36 nSelectIn<br />
18 19 Signal Ground (nStrobe)<br />
19 20, 21 Signal Ground (Data 1, Data 2)<br />
20 22, 23 Signal Ground (Data 3, Data 4)<br />
21 24, 25 Signal Ground (Data 5, Data 6)<br />
22 26, 27 Signal Ground (Data 7, Data 8)<br />
23 29 Signal Ground (Busy, nFault)<br />
24 28 Signal Ground (PError, Select, nAck)<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 391
Beschreibung der physikalischen Schnittstellen<br />
Anhang<br />
Pin-Nr. Host<br />
(1284-A)<br />
25-poliger<br />
D-SUB Stecker<br />
Pin-Nr. Drucker<br />
(1284-B)<br />
36-poliger<br />
Centronics Stecker<br />
Signalbeschreibung<br />
25 30 Signal Ground (nAutoFd, nSelectIn,<br />
nInit)<br />
16 Logic Ground<br />
17 Chassis Ground<br />
18 Peripheral Logic High (+5V)<br />
15, 33-35 Nicht definiert<br />
Signalbelegung druckerseitig im kompatiblen- und ECP-Modus<br />
Pin-Nr. Quelle ECP-Modus Kompatibler Modus<br />
1 Host HostClk nStrobe<br />
2 Bidirektional Data 1 (LSB) Data 1 (LSB)<br />
3 Bidirektional Data 2 Data 2<br />
4 Bidirektional Data 3 Data 3<br />
5 Bidirektional Data 4 Data 4<br />
6 Bidirektional Data 5 Data 5<br />
7 Bidirektional Data 6 Data 6<br />
8 Bidirektional Data 7 Data 7<br />
9 Bidirektional Data 8 (MSB) Data 8 (MSB)<br />
10 Drucker PeriphClk nAck<br />
11 Drucker PeriphAck Busy<br />
12 Drucker nAckReverse PError<br />
13 Drucker Xflag Select<br />
14 Host HostAck nAutoFd<br />
15 Nicht definiert Nicht definiert<br />
16 Logic Grd Logic Grd<br />
17 Chassis Grd Chassis Grd<br />
18 Drucker Peripheral Logic High Peripheral Logic High<br />
392 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Beschreibung der physikalischen Schnittstellen<br />
Pin-Nr. Quelle ECP-Modus Kompatibler Modus<br />
19 Signal Ground<br />
(nStobe)<br />
20 Signal Ground<br />
(Data 1)<br />
21 Signal Ground<br />
(Data 2)<br />
22 Signal Ground<br />
(Data 3)<br />
23 Signal Ground<br />
(Data 4)<br />
24 Signal Ground<br />
(Data 5)<br />
25 Signal Ground<br />
(Data 6)<br />
26 Signal Ground<br />
(Data 7)<br />
27 Signal Ground<br />
(Data 8)<br />
28 Signal Ground (PError,<br />
Select, nAck)<br />
29 Signal Ground (Busy,<br />
nFault)<br />
30 Signal Ground<br />
(nAutoFd, nSelectIn,<br />
nInit)<br />
Signal Ground<br />
(nStobe)<br />
Signal Ground<br />
(Data 1)<br />
Signal Ground<br />
(Data 2)<br />
Signal Ground<br />
(Data 3)<br />
Signal Ground<br />
(Data 4)<br />
Signal Ground<br />
(Data 5)<br />
Signal Ground<br />
(Data 6)<br />
Signal Ground<br />
(Data 7)<br />
Signal Ground<br />
(Data 8)<br />
Signal Ground (PError,<br />
Select, nAck)<br />
Signal Ground (Busy,<br />
nFault)<br />
Signal Ground<br />
(nAutoFd, nSelectIn,<br />
nInit)<br />
31 Host nReverseRequest nInit<br />
32 Drucker nPeriphRequest nFault<br />
33 Nicht definiert Nicht definiert<br />
34 Nicht definiert Nicht definiert<br />
35 Nicht definiert Nicht definiert<br />
36 Host 1284 Active nSelectIn<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 393
Beschreibung der physikalischen Schnittstellen<br />
Anhang<br />
Signalbeschreibung<br />
HostClk/nStrobe<br />
Kompatibler Modus:<br />
ECP-Modus:<br />
(vom Host getrieben)<br />
Wird aktiv ’Low’ gesetzt, um Daten in den Drucker<br />
zu übernehmen. Die Daten sind während des ’Low’-<br />
Impulses des nStrobe-Signals gültig.<br />
Wird im Handshake mit PeriphAck genutzt um<br />
Daten bzw. Adressen vom Host zum Drucker zu<br />
übertragen.<br />
Data 1 ... Data 8<br />
Kompatibler Modus:<br />
ECP-Modus:<br />
PeriphClk/nAck<br />
Kompatibler Modus:<br />
ECP-Modus:<br />
<strong>HighPrint</strong> 4915xe:<br />
Datenkanal vom Host zum Drucker.<br />
Daten- oder Adressenkanal vom Host zum<br />
Drucker bzw. vom Drucker zum Host.<br />
(vom Drucker getrieben)<br />
Ein ’Low’-Impuls bestätigt den Abschluss eines<br />
Datentransfers vom Host zum Drucker.<br />
Wird im Handshake mit HostAck genutzt, um<br />
Daten bzw. Adressen vom Drucker zum Host zu<br />
übertragen.<br />
Das Signal nAck dient zum Quittieren eines<br />
Datenbyte vom Host. Zusätzlich wird nAck beim<br />
Übergang in den Zustand ONLINE kurzzeitig auf<br />
Null gesetzt.<br />
394 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Beschreibung der physikalischen Schnittstellen<br />
PeriphAck/Busy<br />
Kompatibler Modus:<br />
ECP-Modus:<br />
<strong>HighPrint</strong> 4915xe:<br />
(vom Drucker getrieben)<br />
Wird vom Drucker auf ’High’ gesetzt, um<br />
anzuzeigen, dass keine Daten empfangen<br />
werden können.<br />
Der Drucker nutzt dieses Signal, um in<br />
Vorwärtsrichtung den Ablauf zu steuern.<br />
PeriphAck wird auch als 9. Datenbit genutzt, um<br />
in Rückwärtsrichtung anzuzeigen, ob eine<br />
Adresse oder ein Datenwort auf dem Datenbus<br />
anliegt.<br />
Busy = 0: Zustand STOPP und Drucker bereit<br />
Busy = 1: Zustand STOPP, Error oder Drucker<br />
nicht bereit<br />
nAckReverse/PError<br />
Kompatibler Modus:<br />
ECP-Modus:<br />
<strong>HighPrint</strong> 4915xe:<br />
Centronics = ECP<br />
Centronics = printer<br />
(vom Drucker getrieben)<br />
Wird auf ’High’ gesetzt, um einen Fehler in der<br />
Papierbahn anzuzeigen.<br />
Der Drucker setzt dieses Signal auf ’Low’, um<br />
nReverseRequest zu bestätigen. Der Host nutzt<br />
dieses Signal auch, um zu erkennen, wann er<br />
den Datenbus wieder treiben darf.<br />
Das Signal nFault wird bei PError nicht aktiv,<br />
sondern nur im globalen Druckerstatus<br />
’ERROR’.<br />
PError wird als Status gesetzt d. h. PError wird<br />
immer aktiviert, wenn die spezielle<br />
Druckermeldung KEIN PAPIER an das System<br />
gesendet wird<br />
PError wird als Fehler gesetzt, d. h. PError wird<br />
erst aktiviert, wenn Daten an den Drucker<br />
gesendet wurden, ohne dass sich Papier im<br />
Drucker befindet.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 395
Beschreibung der physikalischen Schnittstellen<br />
Anhang<br />
XFlag/Select<br />
Kompatibler Modus:<br />
ECP-Modus:<br />
(vom Drucker getrieben)<br />
Wird ’High’ gesetzt, wenn der Drucker Online ist.<br />
Wird in der Verhandlungsphase genutzt, um vom<br />
Drucker anzuzeigen, dass es die Umschaltung in<br />
den angefragten bidirektionalen Mode<br />
unterstützt.<br />
HostAck/nAutoFd<br />
Kompatibler Modus:<br />
ECP-Modus:<br />
(vom Host getrieben)<br />
Die Interpretation dieses Signals ist von Drucker<br />
zu Drucker unterschiedlich. Einige Drucker<br />
werden von dem Signal in den Auto-Line Feed-<br />
Mode geschaltet.<br />
Der Host nutzt dieses Signal, um in<br />
Rückwärtsrichtung den Ablauf zu steuern.<br />
HostAck ist das Handshake-Signal zum<br />
PeriphClk.<br />
Das Signal wird auch als 9. Datenbit genutzt, um<br />
in Vorwärtsrichtung anzuzeigen, ob eine<br />
Adresse oder ein Datenwort auf dem Datenbus<br />
liegt.<br />
Peripheral Logic High<br />
(vom Drucker getrieben)<br />
Wird auf ’High’ gesetzt, um anzuzeigen, dass die<br />
anderen vom Drucker getriebenen Signale gültig<br />
sind.<br />
nReverseRequest/nInit<br />
Kompatibler Modus:<br />
ECP-Modus:<br />
(vom Host getrieben)<br />
Ein ’Low’-Impuls fordert ein Initialisieren/<br />
Rücksetzen der Schnittstelle an.<br />
Dieses Signal wird auf ’Low’ gesetzt, um im<br />
Datenkanal den Datentransfer vom Drucker zum<br />
Host in die umgekehrte Richtung zu schalten.<br />
396 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Beschreibung der physikalischen Schnittstellen<br />
nPeriphRequest/nFault<br />
Kompatibler Modus:<br />
ECP-Modus:<br />
<strong>HighPrint</strong> 4915xe:<br />
(vom Drucker getrieben)<br />
Wird auf ’Low’ gesetzt, wenn im Drucker ein<br />
Fehler aufgetreten ist.<br />
Der Drucker setzt dieses Signal auf ’Low’, um<br />
dem Host anzuzeigen, dass Daten an den Host<br />
übertragen werden sollen. Der Host hat einzig<br />
die Kontrolle über die Richtung des<br />
Datentransfers.<br />
nFault = 0: Zustand ERROR<br />
nFault = 1: Zustand ONLINE und STOPP<br />
1284 Active / nSelectIn (vom Host getrieben)<br />
Kompatibler Modus: Ein ’Low’ auf dem Signal selektiert den Drucker.<br />
ECP-Modus:<br />
Im ECP-Mode wird das Signal vom Host auf<br />
’High’ gelegt.<br />
Wird auf ’Low’ gesetzt, um den ECP-Mode zu<br />
beenden und zum kompatiblen Mode<br />
zurückzukehren.<br />
USB Schnittstelle<br />
Allgemein<br />
Der Buch- und Belegdrucker besitzt eine USB-Schnittstelle entsprechend USB<br />
Standard 2.0 - Full Speed. Im Folgenden werden die für einen Host-PC relevanten<br />
Daten der USB Schnittstelle des Druckers definiert.<br />
Drucker und PC müssen über ein Standard USB Kabel A-B miteinander verbunden<br />
werden. Die maximale Länge des Kabels beträgt 5 m.<br />
Der druckerseitige USB-Empfangspuffer ist 8 kByte groß.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 397
Beschreibung der physikalischen Schnittstellen<br />
Anhang<br />
USB-Klasse<br />
Der Buch- und Belegdrucker ist ein Gerät der Printer-Device-Class. Als solches<br />
besitzt er einen Standard-Endpoint (EP0), einen Bulk-IN Endpoint (EP1) und einen<br />
Bulk-OUT Endpoint (EP2) (siehe folgendes Bild).<br />
Topologie der USB-Schnittstelle<br />
Entsprechend der Spezifikation für die Printer-Device-Class wird im Interface-<br />
Deskriptor (siehe Abschnitt "Deskriptoren") für die Variable bInterfaceClass der<br />
Wert 07hex eingetragen (Class-Code für Printer-Device-Class). Die Variable<br />
bInterfaceSubClass bekommt den Wert 01hex zugewiesen (SubClass-Code für<br />
Drucker) und bInterfaceProtokol wird mit 02hex beschrieben (bidirektionales Interface).<br />
Der Drucker unterstützt die drei klassenspezifischen (der Printer-Device-Class)<br />
Requests ’GetDeviceID’, ’GetPortStatus’ und ’SoftReset’.<br />
398 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Beschreibung der physikalischen Schnittstellen<br />
Der Drucker sendet auf den Request ’GetDeviceID’ eine Geräte-ID in Form einer<br />
Zeichenkette, deren Aufbau zu der Device-ID der Spezifikation der IEEE-1284<br />
kompatibel ist.<br />
Für den <strong>HighPrint</strong> 4915xe lautet diese: MFG:Wincor Nixdorf;MDL:<strong>HighPrint</strong><br />
4915xe;CMD:ESC/P;<br />
Auf den Request ’GetPortStatus’ sendet der Drucker ein Status-Byte, dessen<br />
Aufbau dem des Status-Registers der parallelen Centronics-Schnittstelle entspricht.<br />
Die bei der Centronics-Schnittstelle vorhandenen Busy- und ACK-Status-Informationen<br />
werden beim USB-Transfer durch die NAK- und ACK-Handshake-<br />
Phase ersetzt. Die folgende Tabelle zeigt die Belegung des Status-Bytes.<br />
Aufbau des Status-Byte<br />
Bitposition Feldname Beschreibung<br />
7..6 n.d. Reserviert für zukünftige Nutzung,<br />
Bits werden auf Null gesetzt<br />
5 Paper Empty Zeigt den Status des Papierfachs an:<br />
1 = Papierfach leer<br />
0 = Papierfach nicht leer<br />
4 Select Wird High gesetzt, wenn der Drucker Online ist:<br />
1 = Selected<br />
0 = not Selected<br />
3 Not Error Zeigt den Fehlerstatus an:<br />
1 = kein Fehler aufgetreten<br />
0 = Fehler aufgetreten<br />
2..0 n.d. Reserviert für zukünftige Nutzung,<br />
Bits werden auf Null gesetzt<br />
Deskriptoren<br />
Deskriptoren dienen der Beschreibung der physikalischen und logischen Eigenschaften<br />
des Gerätes. Diese Deskriptoren werden während der Enumeration<br />
durch den Standard-Request ’Get Descriptor’ abgefragt.<br />
Anmerkung: In der Spalte ’Wert (Hex.)’ sind 2-Byte-Werte im sogenannten Little-<br />
Endian-Format dargestellt, wie es auch bei den USB-Deskriptoren verwendet<br />
wird. Dabei wird zuerst das niederwertige und dann das höherwertige Byte geschrieben.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 399
Beschreibung der physikalischen Schnittstellen<br />
Anhang<br />
Device-Descriptor<br />
Offset<br />
Feldbezeichnung<br />
Länge<br />
in Byte<br />
Beschreibung<br />
Wert (Hex.)<br />
0 bLength 1 Größe des Deskriptors in 0x12<br />
Byte (18)<br />
1 bDescriptorType 1 Deskriptortyp (Device- 0x01<br />
Descriptor = 01h)<br />
2 bcdUSB 2 Version der USB-Spec. (2.0) 0x00, 0x02<br />
4 bDeviceClass 1 Klassen-Code 0x00<br />
5 bDeviceSubClas 1 Subklassen-Code 0x00<br />
s<br />
6 bDeviceProtokoll 1 Protokoll-Code 0x00<br />
7 bMaxPacketSize 1 Tiefe der EP0-FIFO in Byte 0x08<br />
(8 Byte)<br />
8 idVendor 2 Vendor-ID (Wincor-Nixdorf 0xA7, 0x0A<br />
0AA7h)<br />
10 idProduct 2 Produkt-ID (4300h) 0x00, 0x43<br />
12 bcdDevice 2 Release-Nr. des Produktes 0xE8, 0x03<br />
(03E8hex = 1000)<br />
14 iManufacturer 1 String-Index für Hersteller 0x01<br />
15 iProduct 1 String-Index für Produkt 0x02<br />
16 iSerialNumber 1 String-Index für<br />
Seriennummer<br />
17 bNumConfigurations<br />
1 Zahl möglicher<br />
Konfigurationen (1)<br />
0x03<br />
(0x00)*<br />
0x01<br />
* Wenn die Verwendung der ’USB-Gerätenummer’ deaktiviert wurde, beträgt<br />
der Wert dieser Zelle 0x00 ansonsten 0x03 (siehe auch Abschnitt „Die USB<br />
Seriennummer“).<br />
400 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Beschreibung der physikalischen Schnittstellen<br />
Configuration-Descriptor<br />
Offset<br />
Feldbezeichnung<br />
Länge<br />
in Byte<br />
Beschreibung<br />
Wert (Hex.)<br />
0 bLength 1 Größe des Deskriptors in<br />
Byte (9)<br />
1 bDescriptorType 1 Deskriptortyp (Configuration-<br />
Descriptor = 02h)<br />
2 wTotalLength 2 Länge aller zu dieser Konfiguration<br />
gehörenden Deskriptoren<br />
(32 Byte)<br />
(Configuration- + Interface- +<br />
Endpoint Out- + Endpoint In-<br />
Descriptor)<br />
3 bNumInterfaces 1 Anzahl der zu dieser<br />
Konfiguration gehörenden<br />
Interfaces<br />
5 bConfigurationV<br />
alue<br />
1 Nummer dieser Konfiguration<br />
(Nr.: 1)<br />
0x09<br />
0x02<br />
0x20<br />
0x01<br />
0x01<br />
6 iConfiguration 1 String-Index für Konfiguration 0x00<br />
7 bmAttributes 1 Attribute dieser Konfiguration 0xC0<br />
(Self-Powered, kein Remote-<br />
Wakeup)<br />
8 MaxPower 1 max. Stromaufnahme (0, da<br />
Self-powered Device)<br />
0x00<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 401
Beschreibung der physikalischen Schnittstellen<br />
Anhang<br />
Interface-Descriptor<br />
Offset<br />
Feldbezeichnung<br />
Länge<br />
in Byte<br />
Beschreibung<br />
Wert (Hex.)<br />
0 bLength 1 Größe des Deskriptors in 0x09<br />
Byte (9)<br />
1 bDescriptorType 1 Deskriptortyp (Interface- 0x04<br />
Descriptor = 04h)<br />
2 bInterfaceNumber 1 Interface-Nummer (Nr.: 0) 0x00<br />
3 bAlternateSetting 1 Alternate Settings für 0x00<br />
dieses Interface (keine)<br />
4 bNumEndpoints 1 Anzahl der zu diesem 0x02<br />
Interface gehörenden<br />
Endpoints ohne EP0 (Bulk<br />
OUT und Bulk IN<br />
entsprechend Printer-<br />
Device-Class)<br />
5 bInterfaceClass 1 Klassencode (07h für 0x07<br />
Printer Device Class)<br />
6 bInterfaceSubClass 1 Subklassencode<br />
0x01<br />
(01h für Printer)<br />
7 bInterfaceProtocol 1 Protokollcode (02h für 0x02<br />
Bidirektionales Interface)<br />
8 iInterface 1 String-Index für Interface 0x00<br />
402 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Beschreibung der physikalischen Schnittstellen<br />
Endpoint-Descriptor (EP1, IN (vom Gerät zum PC), Bulk)<br />
Offset<br />
Feldbezeichnung<br />
Länge<br />
in Byte<br />
Beschreibung<br />
Wert (Hex.)<br />
0 bLength 1 Größe des Deskriptors in 0x07<br />
Byte (7)<br />
1 bDescriptorType 1 Deskriptortyp<br />
0x05<br />
(Device-Descriptor = 05h)<br />
2 bEndpointAddress 1 Endpoint-Adresse<br />
0x81<br />
(EP1, IN (Bit 7 = 1))<br />
3 bmAttributes 1 Transferart (Bulk) 0x02<br />
4 wMaxPacketSize 2 FIFO-Größe des Endpoints 0x40, 0x00<br />
(64 Byte)<br />
6 bIntervall 1 Polling-Intervall (bei Bulk-<br />
Endpoints nicht relevant,<br />
auf 0 setzen)<br />
0x00<br />
Endpoint-Descriptor (EP2, OUT (vom PC zum Gerät), Bulk)<br />
Offset<br />
Feldbezeichnung<br />
Länge<br />
in Byte<br />
Beschreibung<br />
Wert (Hex.)<br />
0 bLength 1 Größe des Deskriptors in 0x07<br />
Byte (7)<br />
1 bDescriptorType 1 Deskriptortyp<br />
0x05<br />
(Device-Descriptor = 05h)<br />
2 bEndpointAddress 1 Endpoint-Adresse<br />
0x81<br />
(EP1, OUT (Bit 7 = 0))<br />
3 bmAttributes 1 Transferart (Bulk) 0x02<br />
4 wMaxPacketSize 2 FIFO-Größe des Endpoints 0x40, 0x00<br />
(64 Byte)<br />
6 bIntervall 1 Polling-Intervall (bei Bulk-<br />
Endpoints nicht relevant,<br />
auf 0 setzen)<br />
0x00<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 403
Beschreibung der physikalischen Schnittstellen<br />
Anhang<br />
String-Descriptor (String-Index 0 (Language-Descriptor))<br />
Offset<br />
Feldbezeichnung<br />
Länge<br />
in Byte<br />
Beschreibung<br />
Wert (Hex.)<br />
0 bLength 1 Größe des Deskriptors 0x04<br />
in Byte (4)<br />
1 bDescriptorType 1 Deskriptortyp (String- 0x03<br />
Descriptor = 03h)<br />
2 wUnicode 1 Language (Englisch) 0x09<br />
3 wUnicode 1 Language (Englisch) 0x04<br />
String-Descriptor (String-Index 1 (Hersteller)(’Wincor Nixdorf’))<br />
Offset<br />
Feldbezeichnung<br />
Länge<br />
in Byte<br />
Beschreibung<br />
Wert (Hex.)<br />
0 bLength 1 Größe des Deskriptors 0x1E<br />
in Byte (30)<br />
1 bDescriptorType 1 Deskriptortyp (String- 0x03<br />
Descriptor = 03h)<br />
2 wUnicode 2 1. Zeichen: ’W’ 0x57, 0x00<br />
4 wUnicode 2 2. Zeichen: ’I’ 0x69, 0x00<br />
6 wUnicode 2 3. Zeichen: ’n’ 0x6E, 0x00<br />
8 wUnicode 2 4. Zeichen: ’c’ 0x63, 0x00<br />
10 wUnicode 2 5. Zeichen: ’o’ 0x6F, 0x00<br />
12 wUnicode 2 6. Zeichen: ’r’ 0x72, 0x00<br />
14 wUnicode 2 7. Zeichen: ’ ’ 0x20, 0x00<br />
16 wUnicode 2 8. Zeichen: ’N’ 0x4E, 0x00<br />
18 wUnicode 2 9. Zeichen: ’i’ 0x69, 0x00<br />
20 wUnicode 2 10. Zeichen: ’x’ 0x78, 0x00<br />
22 wUnicode 2 11. Zeichen: ’d’ 0x64, 0x00<br />
24 wUnicode 2 12. Zeichen: ’o’ 0x6F, 0x00<br />
26 wUnicode 2 13. Zeichen: ’r’ 0x72, 0x00<br />
28 wUnicode 2 14. Zeichen: ’f’ 0x66, 0x00<br />
404 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Beschreibung der physikalischen Schnittstellen<br />
String-Descriptor (String-Index 2 (Produkt)(’WN <strong>HighPrint</strong> 4915xe’))<br />
Offset<br />
Feldbezeichnung<br />
Länge<br />
in Byte<br />
Beschreibung<br />
Wert (Hex.)<br />
0 bLength 1 Größe des Deskriptors 0x28<br />
in Byte (40)<br />
1 bDescriptorType 1 Deskriptortyp (String- 0x03<br />
Descriptor = 03h)<br />
2 wUnicode 2 1. Zeichen: ’W’ 0x57, 0x00<br />
4 wUnicode 2 2. Zeichen: ’N’ 0x4E, 0x00<br />
6 wUnicode 2 3. Zeichen: ’ ’ 0x20, 0x00<br />
8 wUnicode 2 4. Zeichen: ’H’ 0x48, 0x00<br />
10 wUnicode 2 5. Zeichen: ’i’ 0x69, 0x00<br />
12 wUnicode 2 6. Zeichen: ’g’ 0x67, 0x00<br />
14 wUnicode 2 7. Zeichen: ’h’ 0x68, 0x00<br />
16 wUnicode 2 8. Zeichen: ’P’ 0x50, 0x00<br />
18 wUnicode 2 9. Zeichen: ’r’ 0x72, 0x00<br />
20 wUnicode 2 10. Zeichen: ’i’ 0x69, 0x00<br />
22 wUnicode 2 11. Zeichen: ’n’ 0x6E, 0x00<br />
24 wUnicode 2 12. Zeichen: ’t’ 0x72, 0x00<br />
26 wUnicode 2 13. Zeichen: ’ ’ 0x20, 0x00<br />
28 wUnicode 2 14. Zeichen: ’4’ 0x34, 0x00<br />
29 wUnicode 2 14. Zeichen: ’9’ 0x39, 0x00<br />
30 wUnicode 2 14. Zeichen: ’1’ 0x31, 0x00<br />
31 wUnicode 2 14. Zeichen: ’5’ 0x35, 0x00<br />
32 wUnicode 2 14. Zeichen: ’x’ 0x78, 0x00<br />
33 wUnicode 2 14. Zeichen: ’e’ 0x65, 0x00<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 405
Beschreibung der physikalischen Schnittstellen<br />
Anhang<br />
String-Descriptor (String-Index 3 (Seriennummer))<br />
Offset<br />
Feldbezeichnung<br />
Länge<br />
in Byte<br />
Beschreibung<br />
Wert (Hex.)<br />
0 bLength 1 Größe des Deskriptors 0x04<br />
in Byte (4)<br />
1 bDescriptorType 1 Deskriptortyp (String- 0x03<br />
Descriptor = 03h)<br />
2 wUnicode 2 1. Zeichen: 0-9 ASCII 0x??, 0x00<br />
Siehe dazu auch Abschnitt "Die USB Seriennummer".<br />
Standard Device Requests<br />
Die Standard-Device-Requests stellen eine Untermenge der USB-Device-Requests<br />
dar. Alle USB-Geräte müssen auf USB-Device-Requests antworten. Diese<br />
werden mittels SETUP-Token über den bidirektionalen Control-Endpoint 0<br />
abgewickelt.<br />
Folgende Requests werden unterstützt:<br />
– GetStatus<br />
– SetFeature<br />
– ClearFeature<br />
– SetAddress<br />
– GetDescriptor<br />
– GetConfiguration<br />
– SetConfiguration<br />
– GetInterface<br />
– SetInterface<br />
Die optionalen Requests SetDescriptor und SynchFrame werden nicht unterstützt,<br />
da sie für das Gerät nicht relevant sind. Für den Fall, dass sie trotzdem<br />
zum Gerät gesendet werden, antwortet dieses mit einem Request-Error<br />
(STALL).<br />
406 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Anhang<br />
Beschreibung der physikalischen Schnittstellen<br />
Verhalten der USB-Schnittstelle beim Gerätestart<br />
Normalerweise wird von USB-Geräten ein Plug & Play-Verhalten erwartet, d.h.<br />
der Benutzer schließt das Gerät an den PC an und dieser erkennt das Gerät automatisch.<br />
Der Buch- und Belegdrucker zeigt dieses Verhalten nur, wenn die USB-Schnittstelle<br />
über das Bedienfeld bzw. durch das Laden einer Konfigurationsdatei aktiviert<br />
wurde. Standardmäßig ist USB deaktiviert.<br />
Die USB Seriennummer<br />
Wozu eine Seriennummer?<br />
Die USB Seriennummer erlaubt dem PC-Betriebssystem die eindeutige Zuordnung<br />
Gerät ÅÆ Treiber. Wird ein (korrekt installierter) USB-Drucker dessen<br />
Firmware keine Abfrage einer USB Seriennummer erlaubt, mit einem anderen<br />
USB-Port des Host-PC's verbunden, so erkennt das Betriebssystem ein neues<br />
USB-Gerät und will demzufolge einen neuen Treiber installieren. Derselbe Drucker<br />
muss also unter Umständen mehrfach eingerichtet werden und taucht dann<br />
auch mehrfach in der Systemsteuerung auf. Die nicht verbundenen Ports werden<br />
als ’Offline’ angezeigt. Trotzdem kann der Anwender diese ’Offline-Drucker’<br />
in den Druckerdialogen der Programme auswählen.<br />
Eine Implementierung der Seriennummer in die Firmware des Druckers verhindert<br />
dieses Problem. Der Treiber wird einmal installiert und das Betriebssystem<br />
erkennt automatisch, wenn der Drucker mit einem anderen USB-Port des PC's<br />
verbunden wird (z.B. nach einer Umrüstung, etc.).<br />
Ein zweiter Vorteil der USB Seriennummer wird sichtbar, wenn man zwei oder<br />
mehr identische Geräte mit einem PC verbindet. Ohne Serienummer kann der<br />
PC nicht zwischen diesen unterscheiden. Werden die USB-Verbindungen vertauscht,<br />
so wird der PC dies nicht erkennen. Eine Datenausgabe über den Treiber<br />
für Drucker 1 führt also unter Umständen zu einem Druck auf Drucker 2.<br />
Auch hier schafft die USB Seriennummer Abhilfe.<br />
Die spezielle Lösung beim <strong>HighPrint</strong> 4915xe<br />
Aus logistischen Gründen besitzt der <strong>HighPrint</strong> 4915xe keine durch den Controller<br />
auslesbare Seriennummer. Um trotzdem nicht auf die Vorteile einer USB Seriennummer<br />
zu verzichten, kann der Nutzer am Gerät eine frei wählbare<br />
’Pseudo-Seriennummer’ (Gerätenummer) zwischen 0 und 9 einstellen. Das<br />
heißt ein PC könnte theoretisch bis zu 10 verschiedene <strong>HighPrint</strong> 4915xe erkennen<br />
und korrekt ansteuern, falls bei jedem der Geräte eine andere Nummer ein-<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 407
Beschreibung der physikalischen Schnittstellen<br />
Anhang<br />
gestellt wurde.<br />
Muss ein Gerät bzw. eine Elektronik getauscht werden, so geschieht dies für<br />
den Host-PC transparent, wenn altes und neues Gerät dieselbe Gerätenummer<br />
benutzen (der PC will keinen neuen Treiber installieren).<br />
Ab Werk ist die Null als Gerätenummer eingestellt. Die Gerätenummer kann<br />
auch über das Drucker-Bedienfeld komplett deaktiviert werden.<br />
Besonderheiten beim Laden von Firmware<br />
Soll ein Update der Firmware des <strong>HighPrint</strong> 4915xe durchgeführt werden, so<br />
wird im Drucker ein spezielles Programm - der so genannte Lader - gestartet.<br />
Der Lader kann die im Normalbetrieb eingestellte Gerätenummer nicht auslesen.<br />
Aus diesem Grund kann dem Lader über das Kommando ESC BEL L n die<br />
Gerätenummer mitgegeben werden. Für n können Werte von '0' (0x30) bis '9'<br />
(0x39) und 'O' (für Off, 0x4F) angegeben werden.<br />
Falls das Gerät im Normalbetrieb eine USB-Gerätenummer ungleich 0 benutzt,<br />
sollte diese USB-Gerätenummer übergeben werden. Ansonsten wird der PC ein<br />
neues USB-Gerät melden und versuchen einen neuen Treiber zu installieren,<br />
sobald der Lader des Druckers gestartet wurde.<br />
408 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Glossar<br />
ANSI<br />
(American National Standards Institute)<br />
Normenausschuss in den USA, ähnlich wie der DIN-Ausschuss in der Bundesrepublik.<br />
Antiquaschriften<br />
Schriftsätze mit Serifen, zum Beispiel Bookman, Garamond, Times. Diese<br />
Schriften sind überall dort gut geeignet, wenn große Textmengen leicht lesbar bleiben<br />
sollen.<br />
ASCII<br />
(American Standard Code for Information Interchange (amerikanischer Standardcode<br />
für den Datenaustausch))<br />
Dieser Code ist international genormt und in Deutschland auch unter ISO-7-Bit-<br />
Code bekannt. Er definiert einen Zeichensatz-Code, der zum Datenaustausch<br />
zwischen Datenverarbeitungs-Geräten verwendet wird. Mit den 7 Bits des<br />
ASCII-Codes können 128 Zeichen beschrieben werden (Alphabet in Groß- und<br />
Kleinschreibung, Zahlen, Sonder- und Steuerzeichen).<br />
Baud<br />
Maßeinheit zur Angabe der Übertragungsgeschwindigkeit von Daten, ausgedrückt<br />
in Bits pro Sekunde (zum Beispiel 300 Baud = 300 Bits pro Sekunde).<br />
Beleg<br />
Formular, auf dem Daten in manueller oder maschineller Form erstmalig aufgezeichnet<br />
sind. Als Belege bezeichnet man auch Datenträger, die für die maschinelle<br />
Datenverarbeitung verwendet werden (Maschinenbeleg), wie zum Beispiel<br />
Klartextbelege, Markierungsbelege, Etiketten usw.<br />
Belegverarbeitung<br />
Bezeichnung für die Verarbeitung von Einzelbelegen.<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 409
Glossar<br />
Schriftart<br />
Im allgemeinen als Stil einer Schrift bezeichnet.<br />
Serielle Schnittstelle<br />
Bei der seriellen Datenübertragung wird jedes Bit einzeln nacheinander übertragen.<br />
Die serielle Schnittstelle ist auch unter den Bezeichnungen V.24 oder RS-<br />
232-C bekannt. Vorteile: Überprüfbarkeit der korrekten Datenübertragung durch<br />
Paritätsprüfung des empfangenen Datenwortes; außerdem ist ein wesentlich<br />
längeres Datenkabel als bei der parallelen Schnittstelle verwendbar.<br />
Serife<br />
In Antiquaschriften kleiner Querstrich am Kopf und Fuß mancher Buchstaben.<br />
Bei der Schriftklassifikation unterscheidet man serifenbetonte und serifenlose<br />
Schrift. Beispiele serifenbetonter Schriften: Bookman, Palatino, Times. Beispiele<br />
serifenloser Schriften: Helvetica, Univers.<br />
Steuerzeichen<br />
Ein nicht darstellbares ASCII- Zeichen zur Steuerung von Druckerfunktionen<br />
(control code). Als Steuerzeichen oder Steuerbyte werden auch Zeichen bezeichnet,<br />
die von der Zentraleinheit an ein peripheres Gerät übertragen werden,<br />
um dort bestimmte Funktionen auslösen zu können.<br />
Syntax<br />
Allgemein: die Lehre vom Satzbau (in der Sprache). Die Syntax einer (Programmier-)<br />
Sprache beschreibt die durch die Regeln einer ’Grammatik’ bestimmte<br />
Struktur der Sprache, ohne auf die Bedeutung (Semantik) bzw. den Sinn Rücksicht<br />
zu nehmen.<br />
Typografie<br />
Bezeichnung für die Gestaltung einer Drucksache, einschließlich Wahl der<br />
Schriftart, Schriftgröße und Raumaufteilung.<br />
410 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Stichwortverzeichnis<br />
Numerics<br />
1/6“-Zeilenabstand wählen 59<br />
1/8“-Zeilenabstand wählen 58<br />
10 CPI Zeichendichte wählen 97<br />
12 CPI Zeichendichte wählen 98<br />
15 CPI Zeichendichte wählen 99<br />
24-Punkt-Modus 157<br />
8-Punkt-Modus 157<br />
B<br />
Backspace 53<br />
Bedruckbare Bereiche 179<br />
BEL 119<br />
Benutzerdefinierte Zeichen 26, 129,<br />
144, 150<br />
Binäre Codierung 34<br />
Blattauswurfkommando 64<br />
Breitdruck 19<br />
Breitdruck AUS 106<br />
Breitdruck EIN / AUS 107, 108<br />
Breitdruck für eine Zeile EIN 104, 105<br />
BS 53<br />
C<br />
CAN 54<br />
Cancel 54<br />
CPI 19<br />
CR 51<br />
CSI-Sequenzen 35, 171<br />
D<br />
DC2 103<br />
DC4 106<br />
Definition eines Draft-Zeichens 141<br />
Definition von LQ-Zeichen 142<br />
DEL 54<br />
Doppeldruck AUS 112<br />
Doppeldruck EIN 111<br />
DQ-Modus 17<br />
Draft Quality 17<br />
Druckarten 100<br />
Druckarten kombinieren 116, 120<br />
Druckeffekte 17<br />
Drucker initialisieren 42<br />
Druckqualität 17, 91<br />
Druckqualität wählen 93<br />
E<br />
Entwurf Zeichens 132<br />
Entwurfsschrift 17<br />
Erweiterte Grafikzeichentafel 128<br />
ESC 44<br />
ESC - (n) 113<br />
ESC ! (n) 116, 120<br />
ESC (n1) (n2) 87<br />
ESC # 48<br />
ESC $ (n1) (n2) 85<br />
ESC % (n) 150, 151<br />
ESC * (m) (n1) (n2) 161<br />
ESC + (n) 63<br />
ESC / (n) 70<br />
ESC = 47<br />
ESC > 46<br />
ESC ? (n1) (m) 170<br />
ESC @ 42<br />
ESC 0 58<br />
ESC 2 59<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 411
Stichwortverzeichnis<br />
ESC 3 (n) 60<br />
ESC 4 146<br />
ESC 5 147<br />
ESC 6 151<br />
ESC A (n) 61<br />
ESC a (n) 81<br />
ESC b (n) (n1) (n2) .. NUL 69<br />
ESC B ... NUL 68<br />
ESC D (n1) (n2) ... NUL 83<br />
ESC E 109<br />
ESC F 110<br />
ESC G 111<br />
ESC g 99<br />
ESC H 112<br />
ESC J (n) 57<br />
ESC k (n) 95<br />
ESC l (n) 76<br />
ESC L (n1) (n2) 167<br />
ESC M 98<br />
ESC P 97<br />
ESC p (n) 96<br />
ESC Q (n) 79<br />
ESC r (n) 119<br />
ESC S (n) 114<br />
ESC s (n) 119<br />
ESC SI 102<br />
ESC SO 105<br />
ESC SP (n) 89<br />
ESC T 115<br />
ESC U (n) 44<br />
ESC W (n) 107, 108<br />
ESC x (n) 93<br />
ESC Z (n1) (n2) 169<br />
ESC_K_(n1)_(n2) 166<br />
ESC_Y_(n1)_(n2) 168<br />
F<br />
Fehlermeldungen 214<br />
Fettdruck AUS 110<br />
412 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Stichwortverzeichnis<br />
Fettdruck EIN 109<br />
FF 64<br />
Formularverarbeitung 177, 187<br />
G<br />
Grafiken 27<br />
Grafikkommando neu zuordnen 170<br />
Grafikmodi 157<br />
Grafikmodus „doppelte Dichte 167<br />
Grafikmodus „einfache Dichte 166<br />
Grafikmodus „vierfache Dichte 169<br />
Grafikmodus wählen 161<br />
Grafikzeichen 25<br />
Grundzeichen 123<br />
Grundzeichentabelle 124<br />
Grundzeichentafel 25<br />
Grundzeichenvorrat 25<br />
H<br />
Hoch-/Tiefstellen AUS 115<br />
Hoch-/Tiefstellen EIN 114<br />
Hochstellung 22<br />
Horizontale Druckersteuerung 74<br />
Horizontale Positionierung (absolut) 85<br />
Horizontale Positionierung (relativ) 87<br />
Horizontaltabulatoren festlegen/löschen 83<br />
HT 84<br />
K<br />
Kursivdruck 146<br />
Kursivdruck AUS 147<br />
Kursivzeichen 25, 126<br />
L<br />
Ländervarianten 125<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 413
Stichwortverzeichnis<br />
Letter Quality 17<br />
LF 56<br />
Line Feed 56<br />
Linken Rand festlegen 76<br />
LQ-Druckqualität 91<br />
LQ-Modus 17<br />
LQ-Schriftart wählen 95<br />
M<br />
Mikrodruck 99<br />
MSB auf 0 setzen 47<br />
MSB auf 1 setzen 46<br />
MSB-Vorgabe löschen 48<br />
N<br />
n/180“-Zeilenabstand wählen 60<br />
n/180“-Zeilenvorschub ausführen 57<br />
n/360“-Zeilenabstand wählen 63<br />
n/60“-Zeilenabstand wählen 61<br />
Nationale Zeichensätze 26<br />
Nationaler Zeichensatz 125<br />
Nicht ausführbare Kommandos 119<br />
P<br />
Proportionaldruck 92<br />
Proportionaldruck EIN / AUS 96<br />
Proportionalschrift 19<br />
Pseudocode 35<br />
R<br />
Rechten Rand festlegen 79<br />
Residenter Zeichensatz 153<br />
Rückmeldungen 174<br />
Rückschritt 53<br />
414 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Stichwortverzeichnis<br />
S<br />
Schmaldruck 20<br />
Schmaldruck AUS 103<br />
Schmaldruck EIN 101, 102<br />
Schönschrift 17<br />
Schriftarten 18<br />
SI 101<br />
SO 104<br />
Spezielle Zeichencodes 51<br />
Syntax der Zeichensatzkommandos 146<br />
T<br />
Tabulieren (horizontal) 84<br />
Textausrichtung festlegen 81<br />
Tiefstellung 22<br />
U<br />
Unidirektionaldruck 44<br />
Unterstreichen EIN / AUS 113<br />
Unterstreichung 21<br />
V<br />
Vertikale Druckersteuerung 65<br />
Vertikaltabulatoren festlegen/löschen 68<br />
Vertikaltabulatoren in Kanälen festlegen/löschen 69<br />
Vertikaltabulator-Kanal wählen 70<br />
W<br />
Wagenrücklauf 51<br />
Z<br />
Zeichen löschen 54<br />
Zeichenbox 178<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch 415
Stichwortverzeichnis<br />
Zeichendefinition 131<br />
Zeichendichte 19, 91<br />
Zeichensatzauswahl 122<br />
Zeichensatzerweiterung 151, 152<br />
Zeichensatzkommandos 121<br />
Zeichenzwischenraum festlegen 89<br />
Zeile löschen 54<br />
Zeilenvorschub 56<br />
Zeilenvorschubkommandos 55<br />
Zusatzkommando 171<br />
416 <strong>HighPrint</strong> 4915xe - Programmierhandbuch 01750087429 B
Notizen<br />
01750087429 B <strong>HighPrint</strong> 4915xe - Programmierhandbuch
Herausgegeben von / Published by<br />
Wincor Nixdorf International GmbH<br />
D-33094 Paderborn<br />
Printed in Germany<br />
Bestell-Nr. / Order No. 01750087429 B 1