Termotransferowa drukarka etykiet Zebra P4T

UWAGA, ruszył Humble Book Bundle na serię Cookbok wydawnictwa O'REILLY

zebraW ostatnim czasie pracowałem nad systemem dla dużej amerykańskiej firmy, który miał usprawnić zarządzanie zleceniami dla operatorów wózków widłowych w magazynie.
Importujemy dane pochodzące z zewnętrznego systemu ERP, pracownik korzystający ze stanowiska komputerowego na hali magazynowej rozdysponowuje poszczególne zadania, a operatorzy wózków na bieżąco mają podgląd aktualnych kursów do wykonania na przenośnym mini komputerze / czytniku kodów kreskowych Intermec. Po zakończeniu całego procesu dla jednego zlecenia osoba je kompletująca drukuje etykietę za pomocą drukarki Zebra P4T. Główna część systemu po stronie serwera została napisana w Javie i uruchomiona na Tomcacie. Panel dla operatora na magazynie korzysta z AngularaJS i komunikuje się z serwerem za pomocą socket.io, zresztą podobnie jak panele na urządzenia mobilne Intermec.

Dane techniczne

Kod produktu: P4T
Rodzaj druku: termotransfer
Rozdzielczość druku [dpi]: 203
Maks. prędkość druku [mm/s]: 038
Szerokość druku [mm]: 101.6
Maks. długość druku [mm]: 914
Min. szerokość etykiet [mm]: 50.8
Szerokość etykiety [mm]: 104
Wysokość etykiety [mm]: 914
Maks. średnica zewn. rolki etykiet [mm]: 66
Maks. długość taśmy barwiącej [m]: 30
Maks. szerokość taśmy barwiącej [mm]: 109.2
Procesor: 32-bit
Ilość pamięci FLASH: 008 MB
Ilość pamięci RAM: 016 MB
Dostępne interfejsy: USB, RS-232, Bluetooth
Zasilanie: akumulator 7,4 V
Języki programowania: CPCL, EPL, ZPL, EPL2, XML
Wymiary [mm]: 177,8 x 218,4 x 76,2
Temperatura pracy: od 0°C do 45°C
Temperatura składowania: od -30°C do 70°C
Dopuszczalna wilgotność otoczenia [%]: od 10% do 90 %
Gwarancja producenta [mc]: 12
Pojemność akumulatora [mAh]: 4200
Bezpieczny upadek na twardą pow. [m]: 1.5
Obsługiwane kody kreskowe: 1D, 2D, GS1 Databar, PDF

Komunikacja

Ponieważ oba wykorzystywane urządzenia połączone są z siecią przez wifi, postanowiłem wykonać centralne sterowanie zleceniami wydruków na serwerze aplikacji. Cały problem polegał na tym, że serwer pracujący w innej lokalizacji nie mógł łączyć się do wewnętrznej sieci wifi. W związku z tym został przygotowany jeszcze jeden program, który instalowany jest na stanowisku komputerowym na magazynie. Pełni on rolę pośrednika – wykrywa wszystkie drukarki Zebra pracujące w sieci, nasłuchuje żądania wydruków pochodzące z serwera i wysyła je do konkretnych drukarek. Tym sposobem osoba zlecająca wydruk etykiety na przenośnym urządzeniu wysyła żądanie do serwera, na którym uzupełniany jest szablon etykiety o odpowiednie dane, a on z kolei wysyłany jest do aplikacji uruchomionej na komputerze operatora na magazynie, która już bezpośrednio łączy się z drukarką i zleca wydruk.

Połączenie z drukarką wykonywane jest przez sockety (java.net.Socket(IP, PORT)) i proste zlecenie wysyłki komendy może wyglądać tak:

Gdzie w konstruktorze obiektu Socket przekazano adres IP drukarki i port.

Zebra API

Można jednak skorzystać z SDK udostępnionego przez Zebrę która zawiera API z bibliotekami dla platofrm: android, blackberry, iOS, windows mobile no i pc.

Wykrywanie podłączonych do sieci drukarek:

API wykorzystuje protokół SNMP do wykrywania urządzeń pracujących w sieci, a przykład kodu wyszukującego drukarki wygląda następująco:

Wysłanie komendy do drukarki:

ZPL – format danych konfiguracji wydruku

Układ etykiety w drukarkach Zebra definiuje się w specjalnym formacie ZPL (Zebra programming language). Nie będę Was zanudzał samym opisem składni, bo świetnie jest to udokumentowane w tych dwóch plikach:

Przydatnym narzędziem jest Online ZPL Viewer za pomocą którego możemy edytować etykiety i zobaczyć efekty bezpośrednio w przeglądarce.

Poniżej kilka przykładów etykiet z napisem NotatnikProgramisty.pl:

Wynik:

np_zpl

Dodajmy kod kreskowy (Code 128):

np_zpl2

Real foto:

WP_20160109_001

Podsumowanie

Urządzenie drukuje etykiety błyskawicznie, posiada również możliwość komunikacji przez USB, kabel ethernetowy oraz z wykorzytsaniem bluetooth, a SDK udostępnione przez Zebrę zawiera wiele przykładów. Co ciekawe bardzo szybko odpisali mi na pytanie zadane na facebooku. Wadą jest z pewnością cena tej drukarki (3-4 tys. zł) oraz dosyć szybkie zużywanie się taśmy do termotransferu. Na pewno domyślacie się jak łatwo można będzie połączyć taką drukarkę z RaspberryPI czy nawet Arduino 🙂

UWAGA, ruszył Humble Book Bundle na serię Cookbok wydawnictwa O'REILLY

To również może Cię zainteresować:

  • Programowanie funkcyjne w Javie.Programowanie funkcyjne w Javie. Co nieco o programowaniu funkcyjnym. Czy możliwe jest całkowite usunięcie ze swojego kodu wyrażeń typu if / else, for, while, do while? Wydaje się to niemożliwe, bo wielu programistów […]
  • HTML, CSS 2.1 i dokumenty PDFHTML, CSS 2.1 i dokumenty PDF W ostatnim czasie realizowałem projekt w którym należało zaprojektować ok. sto dokumentów PDF w postaci różnego rodzaju wniosków, w różnym układzie. Ten, kto kiedykolwiek generował […]
  • Bielsko-Biała JUG #4, Jarosław Pałka – JIT me baby one more time.Bielsko-Biała JUG #4, Jarosław Pałka – JIT me baby one more time. Wczoraj odbyło się czwarte spotkanie Bielsko-Bialskiej grupy miłośników Javy i programowania (Bielsko-Biała JUG). Tym razem prelekcję przygotował dla nas Jaroslaw Palka - od ponad 15 lat w […]
  • Fundamenty języka JavaFundamenty języka Java Niecały miesiąc temu zostałem poproszony przez Strefę Kursów o ocenę ich nowo wydanego materiału dla osób chcących zacząć naukę programowania w Javie: "Fundamenty języka Java". Przerobiłem […]
  • Java Spring, recenzja kursu wideo z Videopoint.plJava Spring, recenzja kursu wideo z Videopoint.pl Każdy, kto zawodowo programuje w obojętnie jakim języku wie, że bez wsparcia frameworków nasze życie byłoby znacznie trudniejsze. Tak jak Python ma swojego Django, PHP - Symfony, czy Ruby […]
  • Permutacje, cz. 2 – algorytmyPermutacje, cz. 2 – algorytmy W poprzednim wpisie programistyczne rozwiązanie zagadki polegało na wygenerowaniu wszystkich permutacji zbioru i sprawdzeniu każdej z nich pod względem spełnienia warunku […]

2 thoughts on “Termotransferowa drukarka etykiet Zebra P4T

  1. Hej,

    Wiesz coś może o problemie pomijania etykiet przez drukarki zebra? Korzystamy z modelu który niestety nie posiada możliwości pracy w sieci. Zdarza się że podczas wymiany rolki nie wydrukuje nawet kilku etykiet jeśli w trakcie zabraknie papieru. Czasem nawet potrafi wydrukować różną ilość etykiet z tego samego pliku. Próbowaliśmy rozwiązać ten problem poprzez zapisanie każdej etykiety do osobnego pliku, niestety drukarka nie zwraca żadnej informacji o statusie wydruku więc jeśli aplikacja np. co sekundę zleci nowy wydruk a skończy się papier to kolejne polecenia są przyjmowane bez żadnej informacji zwrotnej mimo że faktycznie nic nie jest drukowane i na koniec nie wiadomo co tak naprawdę zostało wydrukowane a co należy ponownie przesłać na drukarkę.

Dodaj komentarz