06.11.2013 Aufrufe

HighPrint

HighPrint

HighPrint

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!