[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Oct 2003
    Beiträge
    16

    Zebra drucker versteht mich nicht

    Hallo,

    nachdem ich nun unseren Zebra TLP 2844 als Remoteoutq definiert habe, versuche ich ihm über ein DDS-Printerfile aus RPG mit EPL2 Befehlen zu versorgen. Leider versteht mich der Drucker nicht. Muss ich das DDS File irgendwie besonders definieren ? Vielleicht hat ja sogar jemand ein kleines Beispiel.

    Danke im vorraus ...

    Björn

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Da ich die Befehle nicht kenne aber davon ausgehe, dass diese ggf. mit einem Hexwert ESC (1B) eingeleitet werden, müssen die Befehle ggf. direkt als ASCII-Code in die PRTF gestellt werden.
    Dazu ist in dem Feld, dass die Befehle aufnimmt TRNSPY (transparente) definiert werden. Dadurch erfolgt KEINE Umsetzung durch die AS/400 sondern die Codes werden direkt durchgeschleust.

    Eine Aufteilung der Felder in z.B. den ESC-Code und dahinter dann die Daten funktioniert nicht unbedingt, da ggf. durch Hosttransform jedes Feld einzeln übertragen wird und somit die Felder nicht zusammenhängend am Drucker ankommen.

    Vielleicht postest du mal ein Beispiel der Steuersequenz.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Oct 2003
    Beiträge
    16
    Hallo,

    so sieht der Zeit mein Versuch aus:

    PRTF:
    A R ZEILE
    A DATEN 80 1TRNSPY

    RPG:

    ...

    DCrLf S 2

    ...

    C EPL Begsr
    *
    C Eval CrLf=X'0D'+X'0A'
    *
    C Open ICH21PRT
    *
    C Eval Daten=CrLf
    C Write Zeile
    C Eval Daten='N'+CrLf
    C Write Zeile
    C Eval Daten='A50,0,0,1,1,1,N,"Test"'+CrLf
    C Write Zeile
    C Eval Daten='P1'+CrLf
    C Write Zeile
    *
    C Close ICH21PRT
    *
    C Endsr

    Gruß

    Björn

  4. #4
    Registriert seit
    Oct 2003
    Beiträge
    16
    ach ja,

    beim Drucker ankommen soll

    "

    N
    A50,0,0,1,1,1,N,"Test"
    P1
    "

    (ohne das ersten und letzte ")

    Gruß

    Björn

  5. #5
    Registriert seit
    Jul 2002
    Beiträge
    15
    Hallo Björn,
    wir haben das Thema so gelöst:

    Verzicht auf ein Printerfile.

    Plattform: COBOL (kann leider kein RPG)
    TWINAX mit Konverter
    (muß aber ACF-Funktion haben wegen ASCII)

    Eine Teildatei erstellen mit den Befehlen wie


    N
    A50,0,0,1,1,1,N,"Trallala"
    P1

    etc.

    COBOL liest lediglich die Sätze ein und gibt sie einfach aus.

    Vielleicht hilft das weiter.

    Viel Spaß
    Husky

  6. #6
    Registriert seit
    Apr 2003
    Beiträge
    24
    Hallo,

    wie wird der Drucker denn angesteuert? Unsere Thermotransferdrucker (keine Zebra-Drucker) werden über ASCII-Codes gesteuert (keine ESC-Sequenzen). Wir nutzen die Host-Druckerdatenstromumsetzung für die EBCDIC->ASCII-Konvertierung. Dabei hatten wir anfangs das Problem, dass Steuerzeichen erzeugt wurden, die der Drucker nicht verstand.

    Wir haben dann einfach ein fast leeres Datenstationsanpassungsobjekt erstellt. Dadurch haben wir es erreicht, dass keine Initialisierungsbefehle mehr zum Drucker geschickt werden. Seitdem funktioniert es bei uns problemlos.

    Vielleicht kommt man mit diesem Verfahren ja auch bei den Zebra-Druckern weiter.

    Was das angegebene Programmfragment angeht, so verstehe ich eines nicht: Wie wird aus z.B. 'A50' (EBCDIC) 'A50' (ASCII)? Oder wird die Host-Druckerdatenstromumsetzung bereits eingesetzt? In dem Fall verstehe ich den Sinn der hart codierten CRLFs nicht.

    Martin

  7. #7
    Registriert seit
    Jun 2001
    Beiträge
    194

    Zebra

    hi bjoern,

    zebra ist bei uns als 5256 über twinax angeschlossen.

    bei interesse schicke ich dir gerne prtf, rpg-programm als muster für etikettendruck.

    ob allerdings bei der installation, bei der ein "zebra"-spezie anwesend war, druckerseitig etwas geändert wurde kann ich dir nicht sagen.

    trotzdem kopf hoch, bald ist weihnachten.......
    und da darf man sich ja was wünschen.


    LoL und gruss,

    brownie

  8. #8
    Registriert seit
    Jul 2002
    Beiträge
    15

    Mir fällt da noch was ein

    kann es sein, daß die Befehlsfolgen unvollständig sind?

    Beil. ein Stringmuster für ein 55x30 mm Etikett:

    N (Puffer löschen WICHTIG!
    I7,2 (Zeichensatz optional
    O (Optionen löschen OC= Cutter
    (Trick: Falls Du bei jedem Etikett
    (schneiden willst, mach am
    ( Anfang OC + laß O wech.
    (Willst erst nach dem
    (Druckauftrag schneiden,
    (stelle am Anfang O rein
    (und nach dem "P" ein OC
    ZT (Druckrichtung kannste machen
    q440 (Etikettenbreite 440Dot=55mm
    Q240,20 (Länge 240Dot=30mm+2,5mm
    ( Abstand zwischen Etikett
    A8,32,0,3,1,1,N,"HURRA! die Gemse"
    D15 (Hitze der Druckplatte je nach
    (Qualität des Materials
    S3 (Geschwindigkeit
    (s.o.

    Das klappt bei mehreren Eltron/Zebras immer, voraus-
    gesetzt, daß der Drucker X"0A" als Zeilenabschluß empfängt.


    (P.S. Wir wollen, daß Du Weihnachten zu Hause unterm
    Christbaum verbringst)


    Husky

  9. #9
    Registriert seit
    Jun 2001
    Beiträge
    727
    Zur Anbindung über remote outq steht alles hier :
    http://www-912.ibm.com/s_dir/slkbase...7?OpenDocument

    Wichtig ist das der Drucker neben CRLF und FF keine weiteren Steuerzeichen, neben deinen Etiketten-Nutzdaten, bekommt.

    Ob du dein Etikettendaten per O-Karten oder DDS-Printerfile ausgibst ist egal.
    Auf jeden Fall ein Satzformat mit einem Feld z.B. 80 lang erstellen.
    Hier schiebst du die Zeichen rein und gibst sie Zeile für Zeile per WRITE/EXCEPT aus.
    (Wie die Bsp. weiter oben schon beschreiben)

    Die Umsetzung EBCDIC/ASCCII übernimmt Host Print Transform mit der *WSCST QWPDEFAULT. Diese *WSCST enthält nur die o.a. Steuerzeichen. (siehe Link oben)
    Schlüsselwort TRANSPY kannst du dir schenken. Außerdem kannst du die SPLF dann auch mit WRKSPLF ansehen.

    Zum Ausprobieren würde ich ein Etikett mal auf einem PC mit einem Texteditor erstellen und zum lokal am PC angeschlossenen Zebra-Drucker wie folgt senden :

    Copy Etikett.txt > PRN (oder LPT1 oder wenn seriell COM1)


    Viel Glück

  10. #10
    Registriert seit
    Apr 2003
    Beiträge
    24
    Hallo Sven,

    diese Information hilft mir auch weiter. Jetzt können wir QWPDEFAULT statt unserer eigenen WSCST verwenden.

    Vielen Dank

    Martin

  11. #11
    Registriert seit
    Oct 2003
    Beiträge
    16
    Hallo,

    das war der Fehler ... jetzt funktionierts:

    ich habe die RMTOUTQ jetzt auch mit WSCST und QWPDEFAULT definiert. Und aus dem RPG das Feld CrLf entfernt.

    Danke.

    Gruß

    Björn

Similar Threads

  1. Status nach Druck nich SAV, sonder Drucker auf END
    By zannaleer in forum NEWSboard Drucker
    Antworten: 6
    Letzter Beitrag: 13-09-06, 10:35
  2. 6400 Drucker PQT3667 Barcode
    By TARASIK in forum NEWSboard Drucker
    Antworten: 0
    Letzter Beitrag: 27-07-06, 15:45
  3. Antworten: 1
    Letzter Beitrag: 07-03-06, 19:45
  4. Drucker GFC/Timesys 6225 zu verschenken
    By Bill Gates in forum NEWSboard Server & Hardware Markt
    Antworten: 0
    Letzter Beitrag: 14-02-06, 21:59
  5. Zebra drucker anschliessen
    By rlspen in forum NEWSboard Drucker
    Antworten: 0
    Letzter Beitrag: 07-04-05, 05:14

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •