View Full Version : ZEBRA LP2844 an AS/400
takeoff/400
17-04-08, 14:50
Daß du den ZPL (LP2844Z) bzw. EPL (LP2844) Datenstrom selbst programmieren musst, wenn du keine profess. Software einsetzt, ist dir schon klar.
Die QWPDEFAULT (*WSCSTNONE) enthält nur (fast) keine Steuerzeichen für die Umsetzung, ausser (Source):
das funkt noch immer net.
ja, das ist mir schon klar, deshalb hätte ich ja gerne gewusst, welche steuerzeichen ich in dem *WSCST object createn mus, damit der LP Datenstrom umgesetzt wird!?!? Oder welche zeichen ich in dem printfile mitsenden soll, je nach dem was besser funktioniert..
danke!
Eine Möglickeit besteht darin, dass die BarTender-Software von Seagull geholt wird:
Seagull Scientific Windows-Software zum Drucken von Strichcode-Etiketten und zum Erstellen von Strichcode-Etiketten und -Software. (http://www.seagullscientific.com/aspx/products__DE.aspx)
Die Software ist in einer Testversion vorhanden, die 30 Tage gültig. Dann installierst Du den Drucker auf Deinem PC mit einem Treiber von Seagull, auch in Internet downloadbar.
Jetzt kannst Du mit BarTender die Etikette entwerfen und mit dem Drucker drucken, wobei Du eine Datei erstellen lässt. Darin sind nun die nötigen ZPL/EPL-Befehle ersichtlich, beispielsweise mit dem üblichen Windows-Editor. Mit einem RPG-Programm kannst Du nun diese Befehle, allenfalls etwas angepasst mit variablen Daten, in einem Printerfile Typ *userascii schreiben. Wenn Du das daraus entstehenden Spoolfile in den RemoteOutqueue stellst, der zum ZEBRA-Drucker gehört, wird die Etikette gedruckt.
Viel Glück!
Mit besten Grüssen
jgv
Sven Schneider
17-04-08, 20:41
An den *WSCST-Objekten machst du gar nichts.
Du schreibst dir ein RPG-PGM und gibst die u.a. Bsp.e direkt in eine Spooldatei aus.
Hier findest du einige Bsp.e:
http://www.quad.de/ftp/data/zebra/_eltrbsp.zip
Ein einfaches Basic-Programm bzw. eine BAT-Datei ist auch dabei.
Die zu erstellenden Etiketten sind die *.ejf Dateien.
Die EPL2-Referenz findest du z.B. hier :
http://www.novitus.pl/pl/cok/download/drukarkikodowkreskowych/EPL2
Hier noch ein Link im Forum :
http://www.newsolutions.de/forum-systemi-as400-i5-iseries/newsboard-drucker/4411-zebra-drucker-400-terminal.html
takeoff/400
22-04-08, 15:56
vielen dank für diese info, ich werd das mal so versuchen. zumindest hab ich jetzt verstanden, wie der zebra angesteuert werden muss, bzw. dass im prtf schon die infos mitkommen müssen.
Ein *userascii prtf muss aber meiner erfahrung nach ein intern beschriebener
printer file sein..
danke.
Sven Schneider
22-04-08, 16:59
Du brauchst kein *USERASCII-Printerfile, weil die Umsetzung (SCS/EBCDIC --> ASCII) macht ja HPT mit dem WSCST-Objekt für dich.
Also ein SCS-PRTF erzeugen mit einem Satz und einem Feld z.B. 80 Zeichen lang und dann Zeile für Zeile (EPL-Steuerzeichen + Nutzdaten) in das Feld stellen und mit WRITE ausgeben.
Du kannst auch mit O-Karten arbeiten.
*USERASCII ist absolut unnötig.
Als WSCST nimmst du den *WSCSTCONT132.
Da ist zumindest EBCDIC->ASCII enthalten, mehr brauchst du nicht.
In der Printerfile definierst du ganz einfach das Zebralayout incl. Variablen Daten:
R SCKLBL SKIPB(01)
1'^XA'
+ 0'^LL1212'
+ 0'^FS'
+ 0'^MD0'
**** + 0'^MNM'
+ 0'^LH0,0'
+ 0'^CF0,60'
+ 0'^FS'
SPACEA(1)
* ADRRESSZEILE 1
1'^FO20,50'
+ 0'^FD'
PTADR1 30 + 0
+ 0'^FS'
SPACEA(1)
* ADRRESSZEILE 2
1'^FO20,130'
+ 0'^FD'
PTADR2 30 + 0
+ 0'^FS'
SPACEA(1)
* ADRRESSZEILE 3
1'^FO20,210'
+ 0'^FD'
PTADR3 30 + 0
+ 0'^FS'
SPACEA(1)
* ADRRESSZEILE 4
1'^FO20,290'
+ 0'^FD'
PTADR4 30 + 0
+ 0'^FS'
SPACEA(1)
* ADRRESSZEILE 5
1'^FO20,370'
+ 0'^FD'
PTADR5 30 + 0
+ 0'^FS'
SPACEA(1)
* ADRRESSZEILE 6
1'^FO20,450'
+ 0'^FD'
PTADR6 30 + 0
+ 0'^FS'
SPACEA(1)
* ADRRESSZEILE 7
1'^FO20,530'
+ 0'^FD'
PTADR7 30 + 0
+ 0'^FS'
SPACEA(1)
* ADRRESSZEILE 8
1'^FO20,610'
+ 0'^FD'
PTADR8 30 + 0
+ 0'^FS'
SPACEA(1)
* BARCODE PZ-NR + PAL-NR
1'^FO20,700'
+ 0'^BY3'
+ 0'^B3N,N,100,N,N'
+ 0'^FD'
PTPZPN 11 + 0
+ 0'^FS'
SPACEA(1)
* PZ-NR
1'^FO20,810'
+ 0'^FD'
PTPZNR 7S 0 + 0EDTCDE(Z)
+ 0'/'
PTPALN 4S 0 + 0EDTCDE(Z)
+ 0'^FS'
SPACEA(1)
1'^XZ'
SPACEA(1)
Die Space/Skip-Anweisungen werden vom Drucker ignoriert, aber der Spool ist schön lesbar.
takeoff/400
24-04-08, 12:55
:) :)
Nachdem ich soviel Unterstützung bekam, hat es letztendlich gefunkt:
Habe mit der mitgelieferten SW ZebraControl ein ELP Testskript erstellt und dieses mit einem intern beschriebenen Printerfile (*SCS) 1:1 in die 400er übernommen. Plötzlich druckt der Zebra einwandfrei. Der versteht aber nur die ELP aber nicht ZLP, das ist bei diesem Model ganz entscheidend..
Vielen dank für die zahlreiche Anteilnahme:cool:
Wie gesagt, es klappt auch mit externen PRTF's (was einfacher wartbar ist).
Sven Schneider
24-04-08, 20:05
:) :)
Nachdem ich soviel Unterstützung bekam, hat es letztendlich gefunkt:
Habe mit der mitgelieferten SW ZebraControl ein ELP Testskript erstellt und dieses mit einem intern beschriebenen Printerfile (*SCS) 1:1 in die 400er übernommen. Plötzlich druckt der Zebra einwandfrei. Der versteht aber nur die ELP aber nicht ZLP, das ist bei diesem Model ganz entscheidend..
Vielen dank für die zahlreiche Anteilnahme:cool:
Deshalb gibt es auch zwei Modelle :
ZPL (LP2844Z) bzw. EPL/2 (LP2844)
Aber auch die ZPL-Sprache ist ähnlich aufgebaut d.h. du kommst auf gleichem Weg zum Ziel.
Das Problem sind hier lediglich die '^' am Anfang jedes ZPL-Befehls. Diese müssen halt korrekt ankommmen.
Siehe auch Post von Fürchau.
Auch ich empfehle dir das Etikett auszulagern, entweder so wie Fürchau in ein PRTF oder noch besser in eine STMF im IFS, dann kannst du es einfach mit NOTEPAD bearbeiten.
Bei einer STMF im IFS musst da dann allerdings zum Lesen mit STMF-API's arbeiten bzw. das Etiketten-Template temp. in eine PF kopieren.
Die entsprechenden Variablen im Etikett musst du dann im Druckprogramm geeignet ersetzen und alles mit einer programmbeschriebenen PRTF ausgeben.
Aber auch die ZPL-Sprache ist ähnlich aufgebaut d.h. du kommst auf gleichem Weg zum Ziel.
Das Problem sind hier lediglich die '^' am Anfang jedes ZPL-Befehls. Diese müssen halt korrekt ankommmen.
und wenn ich die '^' an einem EPL Programm anhänge, was passiert dann?
z.B ^XA