Serijski protokol

Serijski protokol za štampač P2DS


Uvod

Podešavanje serijskog porta za komunikaciju sa računarom je standardizovano na „8,n,1,n“ (data bits - 8, parity - none, stop bitas – 1, flow control - none).Brzine koje stampač podržava su: 9600,1920,38400,57600,115200,230400 i 460800. Pre početka svake komunikacije DTR(Data Terminal Ready) mora biti aktivan.

Tipovi komande:

Svaka komanda ima standardizovanu formu i varijabilnu dužinu. Komande su sledećeg oblika:

Kratka komanda:

STX

LEN

DATA

CRC

STX: 0x02
LEN: dužina DATA dela
CRC: suma svih bajtova ne računajući STX i WAIT bajtove (LEN i DATA blok) smeštena u dva bajta. MSB,LSB

Duga komanda :

SOH

LEN1

LEN2

DATA

CRC

SOH: 0x03
LEN1 i LEN2 : dužina DATA dela ( DATA_LEN=LEN2<<8|LEN1 - LSB,MSB ) koja nije veca od 512.
CRC: suma svih bajtova ne računajući SOH i WAIT bajtove (LEN1, LEN2 i DATA blok) smeštena u dva bajta. MSB,LSB

STATUS: Na svaku komandu dobija se STATUS bajt prenesene komande koji može biti:

ACK (0x06): komanda je ispravno preneta do uređaja i prihvaćena od uređaja.
NACK(0x15): postoji greška u komandi tj. komanda nema isravan format(CRC nije dobar) U ovom slučaju se ponovo šalje ista komanda, najviše tri puta, da bi otklonili mogućnost smetnji u komunikaciji.

Odgovor od strane štampača je komanda identičnog oblika kao i komanda koju šalje PC aplikacija, na koju je takođe potrebno odgovoriti statusnim bajtom ACK/NACK u zavisnosti od preračunatog CRC-a.

Ciklus komunikacije:

Ciklus jedne komande je sledeci:
PC: Šalje komandu
Štampač: Odgovara sa ACK/NACK*
*Ako je ACK:
Štampač: Šalje ODGOVOR komandu pre koje može ići i WAIT poruka onoliko puta koliko je potrebno da se komanda izvrši, odnosno otkloni greška).
PC: Odgovara sa ACK/NACK - ukoliko PC detektuje neispravan CRC, slanjem NACK može se od štampača zahtevati da ponovo pošalje isti blok podataka najviše tri puta.
*Ako je NACK:
PC: U ovom slučaju, možete ponovo pokušati sa slanjem komande najviše tri puta, da bi otklonili mogućnost smetnji u komunikaciji.

ODGOVOR: Blok podataka koji ima isti oblik kao i komanda koju šalje PC aplikacija, odnosno, kratka ili duga komanda u zavisnosti od prvog bajta STX ili SOH . Komandni bajt je po pravilu ili identičan onom koga je poslao PC ili fiksno 0x7f iza koga sledi bajt sa tipom greške (videti kodnu tabelu grešaka na kraju dokumenta). Ukoliko je tip greške 0 to znači da je komanda uspešno izvršena (ovakav odgovor obično sledi ukoliko se šalju komande od koje nisu namenjene čitanju podataka, već izvršenju neke procedure - štampanja).

WAIT: Kod komandi posle primljenog ACK (0x06), PC čeka status od uređaja da li je komanda ispravno izvršena. U slučaju da je uređaj zauzet ili postoji prepreka trenutnog izvršenja komande (podignuta glava štampaca za neke komande), uređaj vraća WAIT byte 0x08 na svakih 300ms sve do trenutka izvršenja komande i slanja statusa izvršenosti. Ukoliko postoji greška na displeju, vraća se WAIT byte 0x09, a ukoliko postoji neka greška štampača ovog tipa, uređaj vraća WAIT byte 0x07 i jedan bajt sa opisom greške **.

** kod verzije 11.23 postoji poznat bug da štampač vraća pogrešan bajt sa opisom greške štampača posle WAIT bajta 0x07. Savetuje se da se ovo tretira kao univerzalna greška štampača.


Sintaksa

U daljem tekstu za prikazivanje određenih komandi koristi se i sledeća sintaksa:

<N> broj bojtova za dato polje.

[NAME] naziv polja

(N)* broj ponavaljanja narednog segmenta.

{} segment.

Primer:

[CMD <1>] (N)*{[KOD <4>][CENA <4>]}

Komanda se sastoji od polja CMD dužine 1 bajt, i N segmenta koji sadrži dva polja, polje KOD dužine 4 bajta i polje CENA dužine 4 bajta.


Komande za fiskalne izvestaje

Komande za fiskalne izveštaje:

Komanda za izdavanje dnevnog izveštaja 88 (0x58).

Računar šalje blok oblika:

[STX<1>][LEN<1>][CMD<1>][CRC<2>]

Primer:

Računar: 02 01 58 00 59

02 - STX
01 - LEN
58 - CMD
00 59 - CRC

Štampač: 06 08 08 08 08 08 08 08 08 08 08 08 02 02 7F 00 00 81

06 - ACK
08 - WAIT
02 - STX
02 - LEN
7F 00 - potvrda o uspešno obavljenoj komandi
00 81 - CRC (zbir svih bajtova. ne računajući STX, ACK i WAIT)

Komanda za izdavanje preseka stanja 89 (0x59).

Računar šalje blok oblika:

[STX<1>][LEN<1>][CMD<1>][CRC<2>]

Primer:

Računar: 02 01 59 00 5A

02 - STX
01 - LEN
59 - CMD
00 5A - CRC

Štampač: 06 08 08 08 08 08 08 08 08 08 08 08 08 02 02 7F 00 00 81

06 - ACK
08 - WAIT
02 - STX
02 - LEN
7F 00 - potvrda o uspešno obavljenoj komandi
00 81 - CRC

Komanda za izdavanje periodičnog izveštaja 90 (0x5A).

Računar šalje blok oblika:

[STX<1>][LEN<1>][CMD<1>][POČETNO VREME <8>][KRAJNJE VREME <8>][CRC<2>]

Vreme se šalje kao broj milisekundi od 1.1.2000.

Primer: periodični izveštaj od 07. marta 2012. do 5. aprila 2012.

Računar: 02 11 5A D3 1E 01 82 59 00 00 00 00 99 22 17 5A 00 00 00 03 64

02 - STX
11 - LEN
5A - CMD
D3 1E 01 82 59 00 00 00 - Početno vreme izraženo u ms (od 1.1.2000.) (LSB, MSB)
00 99 22 17 5A 00 00 00 - Krajnje vreme izraženo u ms (od 1.1.2000.) (LSB, MSB)
03 64 - CRC

Štampač: 06 08 08 08 08 08 08 08 08 08 08 08 02 02 7F 00 00 81

06 - ACK
08 - WAIT
02 - STX
02 - LEN
7F 00 - potvrda o uspešno obabljenoj komandi
00 81 - CRC


primer: Komande za periodicni izvestaj

Primer komande za periodični izveštaj:

Request: 7.3.2012 15:22:51.39964 (+0.0010 seconds)

 02 11 5A D3 1E 01 82 59 00 00 00 00 99 22 17 5A   ..ZÓ..‚Y....™".Z
 00 00 00 03 64                                    ....d

Answer: 7.3.2012 15:22:51.41464 (+0.0150 seconds)

 06 08 08 08 08 08 08 08 08 08 08 08 02 02 7F 00   ...............
 00 81                                             .

Request: 7.3.2012 15:22:55.85264 (+0.0000 seconds)

 06


primer: Komande za dnevni izvestaj

Primer komande za dnevni izveštaj:

Request: 7.3.2012 15:24:08.83564 (+0.0010 seconds)

 02 01 58 00 59                                    ..X.Y

Answer: 7.3.2012 15:24:08.85164 (+0.0160 seconds)

 06 08 08 08 08 08 08 08 08 08 08 08 02 02 7F 00   ...............
 00 81                                             .

Request: 7.3.2012 15:24:11.14764 (+0.0010 seconds)

 06


primer: Komande za presek stanja

Primer komande za presek stanja:

Request: 7.3.2012 15:24:58.62664 (+0.0000 seconds)

 02 01 59 00 5A                                    ..Y.Z

Answer: 7.3.2012 15:24:58.63264 (+0.0060 seconds)

 06 08 08 08 08 08 08 08 08 08 08 08 08 02 02 7F   ...............
 00 00 81                                          ..

Request: 7.3.2012 15:25:02.19864 (+0.0000 seconds)

 06


Komanda za test veze

Komanda za test veze je 101 (0x65).

[STX<1>][LEN<1>][CMD<1>][CRC<2>]

STX - početak komunikacije
LEN - dužina komande
CMD - komanda
CRC - kontrolna ček suma

Primer 1: Test veze.

Računar: 02 01 65 00 66

02 - STX ,početak komunikacije
01 - LEN dužina komande
65 - CMD komanda rezervisana za test veze
00 66 - CRC suma svih bajtova ne računajući STX smeštena (65+1=66)

Štampač: 06

06 - ACK odgovor štampača o uspešno izvršenoj komandi (testu veze)


primer: Komanda za test veze

Primer komande za test veze :

Request: 05/mm/2012 11:32:44.22364

 02 01 65 00 66                                    ..e.f

Answer: 05/mm/2012 11:32:44.22664 (+0.0030 seconds)

 06                                                .


Komande vezane za podešavanje

Komande za opšta podešavanja uređaja:

Komanda za slanje podešavanja je 110 (0x6E).

Računar šalje blok oblika:

[STX<1>][LEN<1>][CMD<1>][BRZINA PC PORT-a <4>][PRAZNO POLJE <4>][OSTALA PODEŠAVANJA <4>][CRC<2>]

STX - početak komunikacije
LEN - dužina komande
CMD - komanda
BRZINA PC PORT-a - Brzine mogu biti: 9600,1920,38400,57600,115200,230400 i 460800. Nakon promene brzine, uređaj se mora restartovati, da bi se primenilo novo podešavanje.
PRAZNO POLJE - Polje se šalje jer komanda ima univerzalan oblik kod svih uređaja. Kod fiskalnih kasa, ovo polje označava brzinu barkod čitača. Kod štampača se ne može programirati već je fiksno 9600, pa se može poslati bilo koja vrednost.
OSTALA PODEŠAVANJA - Polje kod kog je svaki bit oznaka za neku promenljivu u uređaju.
CRC - kontrolna ček suma

Detaljni opis polja OSTALA PODEŠAVANJA (u bitovima):

[INTENZITET ŠTAMPE <3>][BRZINA ŠTAMPE <3>][DUŽINA FUTERA <3>]
[PRAZNO POLJE <1>][EKSTERNI DISPLEJ <1>][KORISTI KASIRE <1>][PRAZNO POLJE <4>][BROJ REKLAME <4>][PRAZNO POLJE <4>][KORISTI REZAČ <1>][PRAZNO POLJE <7>]

ili u offset-ima:

INTENZITET ŠTAMPE - 0 (vrednost je indeksirana od 0 do 6)
BRZINA ŠTAMPE - 3 (vrednost je indeksirana od 0 do 6)
DUŽINA FUTERA - 6 (vrednost je indeksirana od 0 do 6)
EKSTERNI DISPLEJ - 10 (0 je isključeno a 1 uključeno)
KORISTI KASIRE - 11 (0 je isključeno a 1 uključeno)
BROJ REKLAME - 16 (0 je isključeno a 1 uključena reklamna poruka)
KORISTI REZAČ -24 (0 je uključeno a 1 isključeno)
PRAZNO POLJE - Prazna polja su podešavanja koja koriste drugi uređaji.

Komanda za čitanje podešavanja je 111 (0x6F).

Računar šalje blok oblika:

[STX<1>][LEN<1>][CMD<1>][CRC<2>]

STX - početak komunikacije
LEN - dužina komande
CMD - komanda
CRC - kontrolna ček suma

Štampač vraća blok oblika:

[STX<1>][LEN<1>][CMD<1>][BRZINA PC PORT-a <4>][BRZINA PORT-a ZA DISPLEJ<4>][OSTALA PODEŠAVANJA <4>][CRC<2>]

STX - početak komunikacije
LEN - dužina komande
CMD - komanda
BRZINA PC PORT-a - Brzine mogu biti: 9600,1920,38400,57600,115200,230400 i 460800
BRZINA PORT-a ZA DISPLEJ - Kod štampača je fiksno 9600.
OSTALA PODEŠAVANJA - Polje kod kog je svaki bit oznaka za neku promenljivu u uređaju.
CRC - kontrolna ček suma

Detaljni opis polja OSTALA PODEŠAVANJA (u bitovima):

[INTENZITET ŠTAMPE <3>][BRZINA ŠTAMPE <3>][DUŽINA FUTERA <3>]
[PRAZNO POLJE <1>][EKSTERNI DISPLEJ <1>][KORISTI KASIRE <1>][PRAZNO POLJE <4>][BROJ REKLAME <4>][PRAZNO POLJE <4>][KORISTI REZAČ <1>][PRAZNO POLJE <7>]

ili u offset-ima:

INTENZITET ŠTAMPE - 0 (vrednost je indeksirana od 0 do 6)
BRZINA ŠTAMPE - 3 (vrednost je indeksirana od 0 do 6)
DUŽINA FUTERA - 6 (vrednost je indeksirana od 0 do 6)
EKSTERNI DISPLEJ - 10 (0 je isključeno a 1 uključeno)
KORISTI KASIRE - 11 (0 je isključeno a 1 uključeno)
BROJ REKLAME - 16 (0 je isključeno a 1 uključena reklamna poruka)
KORISTI REZAČ -24 (0 je uključeno a 1 isključeno)
PRAZNO POLJE - Prazna polja su podešavanja koja koriste drugi uređaji.

Komanda za štampanje podešavanja je 112 (0x70).

[STX<1>][LEN<1>][CMD<1>][OPCIJA<1>][CRC<2>]

STX - početak komunikacije
LEN - dužina komande
CMD - komanda
OPCIJA - za štampanje opštih podešavanja se šalje 0, a za štampanje GPRS podešavanja se šalje 1
CRC - kontrolna ček suma

Primer iščitavanja podešavanja iz uređaja.

Računar: 02 02 70 00 00 72

02-STX
02-LEN
70 - CMD
00 - OPCIJA, vrednost je 0 jer su odštampana opšta podešavanja štampača
00 72 -CRC

Štampač: 06 02 02 7f 00 00 81

06 - ACK
02 - STX
02 - LEN
7f 00 - potvrda o uspešno izvršenoj komandi
00 81 - CRC


primer: Komanda za citanje podesavanja

Primer komande za čitanje opštih podešavanja:

Request: 06/mm/2012 13:11:46.22064 (+0.0010 seconds)

 02 01 6F 00 70                                    ..o.p

Answer: 06/mm/2012 13:11:46.22464 (+0.0040 seconds)

 06 02 0D 6F 00 C2 01 00 80 25 00 00 B2 0C 0F 09   ...o.Â..€%..²...   02 BA                                             .º

Request: 06/mm/2012 13:11:46.24264 (+0.0000 seconds)

 06


primer: Komanda za slanje podesavanja

Primer komande za slanje opštih podešavanja:

Request: 06/mm/2012 13:10:08.92364 (+0.0010 seconds)

 02 0D 6E 00 C2 01 00 FF FF FF FF B2 0C 0F 01 06   ..n.Â..ÿÿÿÿ²....   08                                                .

Answer: 06/mm/2012 13:10:08.92764 (+0.0040 seconds)

 06 02 02 7F 00 00 81                              .....

Request: 06/mm/2012 13:10:08.93064 (+0.0000 seconds)

 06


primer: Komanda za stampanje podesavanja

Primer komande za štampanje opštih podešavanja:

Request: 06/mm/2012 13:14:14.56164 (+0.0000 seconds)

 02 02 70 00 00 72                                 ..p..r

Answer: 06/mm/2012 13:14:14.56564 (+0.0040 seconds)

 06 02 02 7F 00 00 81                              .....

Request: 06/mm/2012 13:14:14.58764 (+0.0000 seconds)

 06                                                .


Komanda za programiranje artikla

Komande vezane za programiranje artikala:

Komanda za programiranje artikla je 12 (0x0C).

Računar šalje blok oblika:

[STX<1>][LEN<1>][CMD<1>] [KOD <4>][IME <1-32>][J.MERE+P.STOPA<1>][CENA<4>] [CRC<2>]

STX - početak komunikacije
LEN - dužina DATA dela
CMD - komanda
KOD - kod artikla koji predstavlja broj od 1 do 75000.
IME - tekstualni opis artikla, koji predstavlja niz bajtova dužine od 1 do 32. Karakteri iz teksta su kodirani po tabeli koja se nalazi na kraju uputstva.
J.MERE+P.STOPA -jedinica mere je broj zapisan u viša četiri bita, a poreska stopa niža četiri bita. Jedinica mere ima vrednost od 0 do 15 a poreska stopa od 0 do 8.
CENA - cena artikla koju predstavlja broj zapisan u 4 bajta u vrednosti cene pomnožene sa 100 (cena se obeležava sa dva decimalna mesta).
CRC - kontrolna ček suma (upisana u dva bajta)

Primer: programiranje artikla sa nazivom TEST_ARTICLE, vrednost za kod 1, jedinica mere kg, poreska stopa И, cena 2550,78.

Računar: 02 16 0C 01 00 00 00 54 45 53 54 5F 41 52 54 49 43 4C 45 16 66 E4 03 00 05 29

02 - STX
16 - LEN
0C - CMD
01 00 00 00 (bajtovi su upisani u LSB first formatu) - KOD
54 45 53 54 5F 41 52 54 49 43 4C 45 (bajtovi redom predstavljaju karaktere iz naziva artikla) - IME
16 (viša 4 bita predstavljaju jedinicu mere a niža 4 bita poresku stopu) - J.MERE+P.STOPA
66 E4 03 00 (bajtovi su upisani u LSB first formatu) - CENA ARTIKLA
05 29 (kontrolna ček suma smeštena u dva bajta, zapisana u formatu MSB first - zbir svih bajtova ne računajući STX) - CRC

Štampač: 06 02 02 7F 00 00 81

06 - ACK
02 - STX
02 - LEN (dužina DATA dela)
7F - CMD komanda. Komanda koja vraća poruku o statusu izvršenja komande.
00 - poruka o grešci (u ovom slučaju 00 znači da nema greške; za greške pogledati tabelu na kraju protokola)
00 81 - CRC (kontrolna ček suma - zbir svih bajtova osim STX i ACK)

Komanda za štampanje artikla je 21 (0x15).

Računar šalje blok oblika:

[STX<1>][LEN<1>][CMD<1>] [KOD <4>] [CRC<2>]

STX - početak komunikacije
LEN - dužina DATA dela
CMD - komanda
KOD: Kod artikla koji predstavlja broj od 1 do 75000.
CRC - kontrolna ček suma

Štampač vraća blok oblika:

[ACK<1>][STX<1>][LEN<1>][CMD<1>] [KOD <4>] [CRC<2>]

Primer: Štampanje artikla sa kodom 1

Računar: 02 05 15 01 00 00 00 00 1B
02 - STX
05 - LEN
15 - CMD
01 00 00 00 (bajtovi upisani u formatu LSB first) - KOD
00 1B (kontrolna ček suma zapisana u dva bajta, u redosledu MSB first) - CRC

Štampač: 06 02 05 15 32 00 00 00 00 1C

06 - ACK
02 - STX
05 - LEN (dužina DATA dela)
15 - CMD (komanda za štampanje artikala)
32 00 00 00 - KOD (kod sledećeg artikla koji se štampa, LSB, MSB)
00 1C - CRC (suma svih bajtova osim ACK i STX)

Posle slanja ACK štampač šalje komandu istog oblika, gde je polje KOD ustvari kod sledećeg artikla. Ukoliko je KOD vrednost -1 odnosno 0xFFFFFFFF, štampač nema više artikala.

Komanda za brisanje svih artikala je 14 (0x0E).

Računar šalje blok oblika:

[STX<1>][LEN<1>][CMD<1>] [CRC<2>]

STX - početak komunikacije
LEN - dužina DATA dela
CMD - komanda
CRC - kontrolna ček suma

Primer: Brisanje svih artikala

Računar: 02 01 0E 00 0F

02 - STX
01 - LEN
0E - CMD
00 0F (bajtovi su upisani u formatu MSB first) - CRC

Štampač: 06 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08

06 - ACK
08 - WAIT

02 02 7F 00 00 81

02 - STX
02 - LEN (dužina DATA dela)
7F - CMD komanda. Komanda koja vraća poruku o statusu izvršenja komande.
00 - poruka o grešci (u ovom slučaju 00 znači da nema greške; za greške pogledati tabelu na kraju protokola)
00 81 - CRC (kontrolna ček suma - zbir svih bajtova osim STX i ACK)


primer: Komanda za programiranje artikla

Primer komande za programiranje artikala:

Request: 8.3.2012 14:21:16.19864 (+0.0010 seconds)

02 16 0C 01 00 00 00 54 45 53 54 5F 41 52 54 49   .......TEST_ARTI
43 4C 45 16 66 E4 03 00 05 29                     CLE.fä...)

Answer: 8.3.2012 14:21:16.21364 (+0.0150 seconds)

 06 02 02 7F 00 00 81                              .....

Request: 8.3.2012 14:21:16.21464 (+0.0010 seconds)

 06


primer: Komanda za stampanje artikla

Primer komande za štampanje artikala:

Request: 8.3.2012 14:22:14.42964 (+0.0000 seconds)

 02 05 15 01 00 00 00 00 1B                        .........

Answer: 8.3.2012 14:22:14.44564 (+0.0160 seconds)

 06 02 05 15 32 00 00 00 00 4C                     ....2....L

Request: 8.3.2012 14:22:14.44564 (+0.0000 seconds)

 06


primer: Komnda za brisanje svih artikla

Primer komande za brisanje svih artikala:

Request: 8.3.2012 14:25:38.94364 (+0.0010 seconds)

 02 01 0E 00 0F                                    .....

Answer: 8.3.2012 14:25:38.95964 (+0.0160 seconds)

 06 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08   ................   02 02 7F 00 00 81                                 ....

Request: 8.3.2012 14:25:48.81064 (+0.0000 seconds)

 06


Komande vezane za prodaju

NAPOMENA:
KOLIČINA se šalje kao ceo broj koji se dobija od stvarne vrednosti za količinu koja je pomnožena sa 1000.
CENA se šalje kao ceo broj koji se dobija od stvarne vrednosti za cenu koja je pomnožena sa 100 (u zavisnosti od broja cifara u decimalnom zapisu vrednosti).

NAPOMENA:
Račun se započinje automatski, slanjem prve stavke na računu (prodaja artikla). Plaćanje se započinje slanjem prve stavke za plaćanje. Ukoliko je plaćanje započeto, storniranje računa više nije moguće. Ukoliko količina nije deljiva sa 1000 (nije ceo broj), može se stornirati samo poslednja stavka na računu ili ceo račun.Račun se automatski zatvara, čim vrednost zbira svih stavki plaćanja premaši medjuzbir računa.

Komanda za prodaju artikla po kodu je 48 (0x30).

[STX<1>][LEN<1>][CMD<1>][KOD<4>][KOLIČINA<4>][CRC<2>]

STX - početak komunikacije
LEN - dužina komande
CMD - komanda
KOD - kod artikla. Ceo broj od 1 do 75000 spakovan u 4 bajta
KOLIČINA - Vrednost za količinu prodate stavke. Vrednost se šalje kao ceo broj koji se dobija od stvarne vrednosti za količinu koja je pomnožena sa 1000, što znači - 3 decimalna zapisa.
CRC - kontrolna ček suma

Primer:

Računar: 02 09 30 01 00 00 00 E8 03 00 00 01 25

02 - STX početak komunikacije
09 - LEN (dužina DATA dela)
30 - CMD komanda
01 00 00 00 - KOD artikla. U ovom slučaju 1. (LSB,MSB)
E8 03 00 00 - KOLIČINA stavke. U ovom slučaju je 1000, odnosno, prava vrednost stavke je 1,000 tj. 1 na tri decimale. (LSB,MSB)
01 25 - CRC (zbir svih bajtova osim STX, smešten u dva bajta MSB, LSB)

Štampač: 06 02 02 7F 00 00 81

06 - ACK odgovor o ispravno pročitanoj komandi - CRC je dobar.
02 - STX početak komunikacije.
02 - LEN (dužina DATA dela)
7F - CMD komanda. Komanda koja vraća poruku o statusu izvršenja komande.
00 - STATUS izvršenja komande. U ovom slučaju - uspešno izvršena komanda.
00 81 - CRC (zbir svih bajtova osim STX i ACK, smešten u 2 bajta MSB,LSB)

Računar: 06

06 - ACK odgovor o ispravno pročitanoj komandi - CRC je dobar.

Komanda za storniranje artikla po kodu je 50 (0x32).

[STX<1>][LEN<1>][CMD<1>][KOD<4>][KOLIČINA<4>][CRC<2>]

STX - početak komunikacije
LEN - dužina komande
CMD - komanda
KOD - kod artikla. Ceo broj od 1 do 75000 spakovan u 4 bajta
KOLIČINA - Vrednost za količinu stornirane stavke. Vrednost se šalje kao ceo broj koji se dobija od stvarne vrednosti za količinu koja je pomnožena sa 1000, što znači - 3 decimalna zapisa.
CRC - kontrolna ček suma

NAPOMENA:
U slučaju da je vrednost za kod 0, stortnira se poslednja stavka računa (vrednost za količinu se ne uzima u obzir).Ako je vrednost koda 0xFFFF (-1) stornira se ceo račun (vrednost za količinu se ne uzima u obzir).Ako je količina 0, storniraće se svaka stavka računa na kojoj je kod artikla definisan u delu komande KOD. Stavke koje su prodate sa količinom koja nije celobrojna, nije moguće stornirati parcijalno tj. ako je prodat artikal sa količinom 2,51 nije moguće uraditi storno te stavke sa vrednosću.

Primer 1: Storniranje po kodu i količini.

Računar: 02 09 32 01 00 00 00 E8 03 00 00 01 27

02 - STX početak komunikacije
09 - LEN (dužina DATA dela)
32 - CMD komanda
01 00 00 00 - KOD artikla. U ovom slučaju 1. (LSB,MSB)
E8 03 00 00 - KOLIČINA stavke. U ovom slučaju je 1000, odnosno, prava vrednost stavke je 1,000 tj. 1 na tri decimale. (LSB,MSB)
01 27 - CRC (zbir svih bajtova osim STX, smešten u dva bajta MSB, LSB)

Štampač: 06 02 02 7F 00 00 81

06 - ACKodgovor o ispravno pročitanoj komandi - CRC je dobar.
02 - STX početak komunikacije.
02 - LEN (dužina DATA dela)
7F - CMD komanda. Komanda koja vraća poruku o statusu izvršenja komande.
00 - STATUS izvršenja komande. U ovom slučaju - uspešno izvršena komanda.
00 81 - CRC (zbir svih bajtova osim STX i ACK, smešten u 2 bajta MSB,LSB)

Računar: 06

06 - ACK odgovor o ispravno pročitanoj komandi - CRC je dobar.

Primer 2: Storniranje po kodu sa količinom 0 - sve stavke za zadati kod.

Računar: 02 09 32 02 00 00 00 00 00 00 00 00 3D

02 - STX početak komunikacije
09 - LEN (dužina DATA dela)
32 - CMD komanda
02 00 00 00 - KOD artikla. U ovom slučaju 2. (LSB,MSB)
00 00 00 00 - KOLIČINA stavke. U ovom slučaju je 0, odnosno storniranje svih stavki sa datim kodom. (LSB,MSB)
00 3D - CRC (zbir svih bajtova osim STX, smešten u dva bajta MSB, LSB)

Štampač: 06 08 02 02 7F 00 00 81

06 - ACKodgovor o ispravno pročitanoj komandi - CRC je dobar.
08 - WAIT bajt. Pošto je potrebno određeno vreme da se sve stavke ponovo odštampaju, uređaj vraca poruku - sačekajte.
02 - STX početak komunikacije.
02 - LEN (dužina DATA dela)
7F - CMD komanda. Komanda koja vraća poruku o statusu izvršenja komande.
00 - STATUS izvršenja komande. U ovom slučaju - uspešno izvršena komanda.
00 81 - CRC (zbir svih bajtova osim STX i ACK, smešten u 2 bajta MSB,LSB)

Računar: 06

06 - ACK odgovor o ispravno pročitanoj komandi - CRC je dobar.

Primer 3: Storniranje poslednje stavke.

Računar: 02 09 32 00 00 00 00 00 00 00 00 00 3B

02 - STX početak komunikacije
09 - LEN (dužina DATA dela)
32 - CMD komanda
00 00 00 00 - KOD artikla. U ovom slučaju 0 što znači da se poslednja stavka stornira. (LSB,MSB)
00 00 00 00 - KOLIČINA stavke. U ovom slučaju je 0, odnosno, nema nikakav značaj. (LSB,MSB)
00 3B - CRC (zbir svih bajtova osim STX, smešten u dva bajta MSB, LSB)

Štampač: 06 02 02 7F 00 00 81

06 - ACKodgovor o ispravno pročitanoj komandi - CRC je dobar.
02 - STX početak komunikacije.
02 - LEN (dužina DATA dela)
7F - CMD komanda. Komanda koja vraća poruku o statusu izvršenja komande.
00 - STATUS izvršenja komande. U ovom slučaju - uspešno izvršena komanda.
00 81 - CRC (zbir svih bajtova osim STX i ACK, smešten u 2 bajta MSB,LSB)

Računar: 06

06 - ACK odgovor o ispravno pročitanoj komandi - CRC je dobar.

Primer 4: Storniranje celog računa.

Računar: 02 09 32 FF FF 00 00 00 00 00 00 02 39

02 - STX početak komunikacije
09 - LEN (dužina DATA dela)
32 - CMD komanda
FF FF 00 00 - KOD artikla. U ovom slučaju 0xFFFF što znači da se stornira ceo račun. (LSB,MSB)
00 00 00 00 - KOLIČINA stavke. U ovom slučaju je 0, odnosno, nema nikakav značaj. (LSB,MSB)
02 39 - CRC (zbir svih bajtova osim STX, smešten u dva bajta MSB, LSB)

Štampač: 06 08 08 02 02 7F 00 00 81

06 - ACKodgovor o ispravno pročitanoj komandi - CRC je dobar.
08 08 - WAIT bajt. Pošto je potrebno određeno vreme da se sve stavke ponovo odštampaju, uređaj vraca poruku - sačekajte.
02 - STX početak komunikacije.
02 - LEN (dužina DATA dela)
7F - CMD komanda. Komanda koja vraća poruku o statusu izvršenja komande.
00 - STATUS izvršenja komande. U ovom slučaju - uspešno izvršena komanda.
00 81 - CRC (zbir svih bajtova osim STX i ACK, smešten u 2 bajta MSB,LSB)

Računar: 06

06 - ACK odgovor o ispravno pročitanoj komandi - CRC je dobar.

Komanda za plaćanje je 51 (0x33).

[STX<1>][LEN<1>][CMD<1>][KOLIČINA<8>][TIP<1>][CRC<2>]

STX - početak komunikacije
LEN - dužina komande
CMD - komanda
KOLIČINA -Vrednost za količinu stornirane stavke. Vrednost se šalje kao ceo broj koji se dobija od stvarne vrednosti za količinu koja je pomnožena sa 100, što znači - 2 decimalna zapisa.
TIP - ceo broj koji označava način plaćanja. Može biti: 0 (gotovina), 1 (kartica) i 2 (ček).
CRC - kontrolna ček suma

NAPOMENA:
U slučaju da je vrednost za kod 0, račun će biti zavrsen sa celokupnom preostalom razlikom i načinom plaćanja koji je naveden u komandi.

Primer 1: Plaćanje sa zadatim tipom i količinom.

Računar: 02 0A 33 20 4E 00 00 00 00 00 00 01 00 AC

02 - STX početak komunikacije
0A - LEN (dužina DATA dela)
33 - CMD komanda
20 4E 00 00 00 00 00 00 - KOLIČINA stavke. U ovom slučaju je 200,00 to jest 20000 (0x4E20). (LSB,MSB)
01 - tip plaćanja. U ovom slučaju je 1 - karticom.
00 AC - CRC (zbir svih bajtova osim STX, smešten u dva bajta MSB, LSB)

Štampač: 06 08 02 02 7F 00 00 81

06 - ACKodgovor o ispravno pročitanoj komandi - CRC je dobar.
08 - WAIT bajt. Pošto je potrebno određeno vreme da se sve stavke ponovo odštampaju, uređaj vraca poruku - sačekajte.
02 - STX početak komunikacije.
02 - LEN (dužina DATA dela)
7F - CMD komanda. Komanda koja vraća poruku o statusu izvršenja komande.
00 - STATUS izvršenja komande. U ovom slučaju - uspešno izvršena komanda.
00 81 - CRC (zbir svih bajtova osim STX i ACK, smešten u 2 bajta MSB,LSB)

Računar: 06

06 - ACK odgovor o ispravno pročitanoj komandi - CRC je dobar.

Primer 2: Automatsko završavanje računa.

Računar: 02 0A 33 00 00 00 00 00 00 00 00 00 00 3D

02 - STX početak komunikacije
0A - LEN (dužina DATA dela)
33 - CMD komanda
00 00 00 00 00 00 00 00 - KOLIČINA stavke. U ovom slučaju je 0 to jest, račun se automatski završava gotovinom. (LSB,MSB)
00 - tip plaćanja. U ovom slučaju je 0 - gotovina.
00 3D - CRC (zbir svih bajtova osim STX, smešten u dva bajta MSB, LSB)

Štampač: 06 08 02 02 7F 00 00 81

06 - ACKodgovor o ispravno pročitanoj komandi - CRC je dobar.
08 - WAIT bajt. Pošto je potrebno određeno vreme da se sve stavke ponovo odštampaju, uređaj vraca poruku - sačekajte.
02 - STX početak komunikacije.
02 - LEN (dužina DATA dela)
7F - CMD komanda. Komanda koja vraća poruku o statusu izvršenja komande.
00 - STATUS izvršenja komande. U ovom slučaju - uspešno izvršena komanda.
00 81 - CRC (zbir svih bajtova osim STX i ACK, smešten u 2 bajta MSB,LSB)

Računar: 06

06 - ACK odgovor o ispravno pročitanoj komandi - CRC je dobar.

Komanda za čitanje stanja računa je 56 (0x38).

[STX<1>][LEN<1>][CMD<1>][CRC<2>]

STX - početak komunikacije
LEN - dužina komande
CMD - komanda
CRC - kontrolna ček suma

Štampač vraća blok oblika:

[STX<1>][LEN<1>][CMD<1>][MEĐUZBIR <8>][UKUPNO <8>][BROJ STAVKI <4>][PLAĆENO 0 <8>][PLAĆENO 1 <8>][PLAĆENO 2 <8>][BROJ RAČUNA0 <4>][KASIR <1>][CRC<2>]

STX - početak komunikacije
LEN - dužina komande
CMD - komanda
MEĐUZBIR - razlika ukupne vrednosti raćuna i dosadašnjeg plaćanja.Vrednost je ceo broj koji se dobija od stvarne vrednosti koja je pomnožena sa 100, što znači - 2 decimalna zapisa.
UKUPNO - ukupna vrednost računa. Vrednost je ceo broj koji se dobija od stvarne vrednosti koja je pomnožena sa 100, što znači - 2 decimalna zapisa.
BROJ STAVKI - ukupan broj stavki (PLU artikala) na računu
PLAĆENO 0 - zbir svih plaćanja gotovinom Vrednost je ceo broj koji se dobija od stvarne vrednosti koja je pomnožena sa 100, što znači - 2 decimalna zapisa.
PLAĆENO 1 - zbir svih plaćanja karticom Vrednost je ceo broj koji se dobija od stvarne vrednosti koja je pomnožena sa 100, što znači - 2 decimalna zapisa.
PLAĆENO 2 - zbir svih plaćanja čekom Vrednost je ceo broj koji se dobija od stvarne vrednosti koja je pomnožena sa 100, što znači - 2 decimalna zapisa.
BROJ RAČUNA - redni broj trenutnog računa.
KASIR - redni broj trenutno prijavljenog kasira. Ukoliko nije prijavljen kasir ili se opcija ne koristi, vrednost je 0xFF (-1).
CRC - kontrolna ček suma

Primer 1: Čitanje stanja računa.

Računar: 02 01 38 00 39

02 - STX početak komunikacije
01 - LEN (dužina DATA dela)
38 - CMD komanda
00 39 - CRC (zbir svih bajtova osim STX, smešten u dva bajta MSB, LSB)

Štampač:06 02 32 38 D0 07 00 00 00 00 00 00 88 13 00 00 00 00 00 00 02 00 00 00 D0 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 E8 03 00 00 00 00 00 00 0B 00 00 00 FF 04 AA

06 - ACKodgovor o ispravno pročitanoj komandi - CRC je dobar.
02 - STX početak komunikacije.
32 - LEN (dužina DATA dela). U ovom slučaju je 50 (0x32)
38 - CMD komanda.
D0 07 00 00 00 00 00 00 - MEĐUZBIR. U ovom slučaju je 20,00 tj. 2000 (0x7d0) .(LSB,MSB)
88 13 00 00 00 00 00 00 - UKUPNO. U ovom slučaju je 50,00 tj. 5000 (0x1388). (LSB,MSB)
02 00 00 00 - Broj stavki na računu. U ovom slučaju je 2.
D0 07 00 00 00 00 00 00 - plaćeno gotovinom. U ovom slučaju je 20,00 tj. 2000 (0x7d0) .(LSB,MSB)
00 00 00 00 00 00 00 00 - plaćeno karticom. U ovom slučaju je 0 .(LSB,MSB)
E8 03 00 00 00 00 00 00 - plaćeno čekom. U ovom slučaju je 10,00 tj. 1000 (0x3E8) .(LSB,MSB)
0B 00 00 00- trenutni broj računa. U ovom slučaju je 11 (0xB).
FF - KASIR. U ovom slučaju je odjavljen.
04 AA - CRC (zbir svih bajtova osim STX i ACK, smešten u 2 bajta MSB,LSB)

Računar: 06

06 - ACK odgovor o ispravno pročitanoj komandi - CRC je dobar.

Komanda za čitanje stavke na računu je 57 (0x39).

[STX<1>][LEN<1>][CMD<1>][BROJ STAVKE <4>][CRC<2>]

STX - početak komunikacije
LEN - dužina komande
CMD - komanda
BROJ STAVKE - redni broj stavke koja se čita. Indeksiranje je od 0.
CRC - kontrolna ček suma

Štampač vraća blok oblika:

[STX<1>][LEN<1>][CMD<1>][KOD<4>][KOLIČINA<4>][CRC<2>]

STX - početak komunikacije
LEN - dužina komande
CMD - komanda
KOD - kod artikla. Ceo broj od 1 do 75000 spakovan u 4 bajta
KOLIČINA - Vrednost za količinu stornirane stavke. Vrednost se šalje kao ceo broj koji se dobija od stvarne vrednosti za količinu koja je pomnožena sa 1000, što znači - 3 decimalna zapisa.
CRC - kontrolna ček suma

Primer 1: Čitanje stanvke računa.

Računar: 02 05 39 01 00 00 00 00 3F

02 - STX početak komunikacije
05 - LEN (dužina DATA dela)
39 - CMD komanda
01 00 00 00 - Redni broj stavke. U ovom slučaju je 1 tj. druga stavka.
00 3F - CRC (zbir svih bajtova osim STX, smešten u dva bajta MSB, LSB)

Štampač: 06 02 09 39 02 00 00 00 D0 07 00 00 01 1B

06 - ACKodgovor o ispravno pročitanoj komandi - CRC je dobar.
02 - STX početak komunikacije.
09 - LEN (dužina DATA dela).
39 - CMD komanda.
02 00 00 00 - KOD artikla. U ovom slučaju 2. (LSB,MSB)
D0 07 00 00- KOLIČINA stavke. U ovom slučaju je 20,00 tj. 2000 (0x7d0). (LSB,MSB)
01 1B - CRC (zbir svih bajtova osim STX i ACK, smešten u 2 bajta MSB,LSB)

Računar: 06

06 - ACK odgovor o ispravno pročitanoj komandi - CRC je dobar.

Komanda za čitanje stanja fiskalnog dana je 86 (0x56).

[STX<1>][LEN<1>][CMD<1>][CRC<2>]

STX - početak komunikacije
LEN - dužina komande
CMD - komanda
CRC - kontrolna ček suma

Štampač vraća blok oblika:

[STX<1>][LEN<1>][CMD<1>][BROJ DNEVNOG IZVEŠTAJA <4>] 9*{[PROMET PO PORESKOJ STOPI <8>]} [PLAĆENO 0 <8>][PLAĆENO 1 <8>][PLAĆENO 2 <8>][CRC<2>]

STX - početak komunikacije
LEN - dužina komande
CMD - komanda
BROJ DNEVNOG IZVEŠTAJA - redni broj trenutnog dnevnog izveštaja.
PROMET PO PORESKOJ STOPI - ukupan promet po datoj poreskoj stopi u toku fiskaalnog dana.Vrednost je ceo broj koji se dobija od stvarne vrednosti koja je pomnožena sa 100, što znači - 2 decimalna zapisa.
PLAĆENO 0 - zbir svih plaćanja gotovinomu toku fiskaalnog dana. Vrednost je ceo broj koji se dobija od stvarne vrednosti koja je pomnožena sa 100, što znači - 2 decimalna zapisa.
PLAĆENO 1 - zbir svih plaćanja karticomu toku fiskaalnog dana. Vrednost je ceo broj koji se dobija od stvarne vrednosti koja je pomnožena sa 100, što znači - 2 decimalna zapisa.
PLAĆENO 2 - zbir svih plaćanja čekomu toku fiskaalnog dana. Vrednost je ceo broj koji se dobija od stvarne vrednosti koja je pomnožena sa 100, što znači - 2 decimalna zapisa.
CRC - kontrolna ček suma

Primer 1: Čitanje stanja fiskalnog dana.

Računar: 02 01 56 00 57

02 - STX početak komunikacije
01 - LEN (dužina DATA dela)
56 - CMD komanda
00 57 - CRC (zbir svih bajtova osim STX, smešten u dva bajta MSB, LSB)

Štampač:06 02 65 56 01 00 00 00 B0 BB 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 56 22 00 00 00 00 00 00 28 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0E A1 00 00 00 00 00 00 20 4E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 F5

06 - ACKodgovor o ispravno pročitanoj komandi - CRC je dobar.
02 - STX početak komunikacije.
65 - LEN (dužina DATA dela). U ovom slučaju je 101 (0x65)
56 - CMD komanda.
01 00 00 00 - Broj dnevnog izveštaja. U ovom slučaju je 1.
B0 BB 00 00 00 00 00 00 - promet po poreskoj stopi A (index 0) U ovom slučaju je 480,48 tj. 48048 (0xBBB0).(LSB,MSB)
.......još osam puta za sve poreske stope.
0E A1 00 00 00 00 00 00 - plaćeno gotovinom. U ovom slučaju je 412,30 tj. 41230 (0xA10E) .(LSB,MSB)
20 4E 00 00 00 00 00 00 - plaćeno karticom. U ovom slučaju je 20000 tj. 200,00 (0x4E20).(LSB,MSB)
00 00 00 00 00 00 00 00 - plaćeno čekom. U ovom slučaju je 0 .(LSB,MSB)
03 F5 - CRC (zbir svih bajtova osim STX i ACK, smešten u 2 bajta MSB,LSB)

Računar: 06

06 - ACK odgovor o ispravno pročitanoj komandi - CRC je dobar.


primer : Komanda za prodaju artikla po kodu

Primer prodaje po kodu:

Request: 07/mm/2012 14:53:36.66464 (+0.0000 seconds)

 02 09 30 01 00 00 00 50 C3 00 00 01 4D            ..0....PÃ...M

Answer: 07/mm/2012 14:53:36.66864 (+0.0040 seconds)

 06 02 02 7F 00 00 81


primer: Komanda za storniranje artikla po kodu

Primer storniranja po kodu:

Request: 07/mm/2012 14:54:11.40464 (+0.0000 seconds)

 02 09 32 02 00 00 00 D0 07 00 00 01 14            ..2....Ð.....

Answer: 07/mm/2012 14:54:11.40864 (+0.0040 seconds)

 06 02 02 7F 00 00 81


primer: Komanda za placanje

Primer komande plaćanja:

Request: 07/mm/2012 14:54:46.95564 (+0.0000 seconds)

 02 0A 33 20 4E 00 00 00 00 00 00 00 00 AB         ..3 N........«

Answer: 07/mm/2012 14:54:46.95964 (+0.0040 seconds)

 06 02 02 7F 00 00 81


primer: Komande za stanje racuna

Primer čitanja stanja fiskalnog računa:

Request: 07/mm/2012 14:55:04.73464 (+4.3100 seconds)

 02 01 38 00 39                                    ..8.9

Answer: 07/mm/2012 14:55:04.73764 (+0.0030 seconds)

 06 02 32 38 00 7D 00 00 00 00 00 00 20 CB 00 00   ..28.}...... Ë..
 00 00 00 00 02 00 00 00 20 4E 00 00 00 00 00 00   ........ N......
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
 0C 00 00 00 FF 03 4D                              ....ÿ.M

Request: 07/mm/2012 14:55:04.74364 (+0.0000 seconds)

 06 02 05 39 00 00 00 00 00 3E                     ...9.....>

Answer: 07/mm/2012 14:55:04.74964 (+0.0060 seconds)

 06 02 09 39 01 00 00 00 50 C3 00 00 01 56         ...9....PÃ...V

Request: 07/mm/2012 14:55:04.75164 (+0.0000 seconds)

 06 02 05 39 01 00 00 00 00 3F                     ...9.....?

Answer: 07/mm/2012 14:55:04.75364 (+0.0020 seconds)

 06 02 09 39 02 00 00 00 E8 03 00 00 01 2F         ...9....è..../


primer: Komande za stanje fiskalnog racuna

Primer čitanja stanja fiskalnog dana:

Request: 07/mm/2012 14:55:04.75664 (+0.0000 seconds)

 02 01 56 00 57                                    ..V.W

Answer: 07/mm/2012 14:55:04.75964 (+0.0030 seconds)

 06 02 65 56 01 00 00 00 98 BF 00 00 00 00 00 00   ..eV....˜¿......
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
 56 22 00 00 00 00 00 00 C8 20 00 00 00 00 00 00   V"......È ......
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
 AE B0 00 00 00 00 00 00 20 4E 00 00 00 00 00 00   ®°...... N......
 E8 03 00 00 00 00 00 00 06 2A                     è........*

Request: 07/mm/2012 14:55:04.77264 (+0.0000 seconds)

 06


Komande vezane za programiranje poreskih stopa

NAPOMENA:
Vrednost poreske stope se šalje kao ceo broj koji se dobija od stvarne vrednosti za porez koja je pomnožena sa 100 (u zavisnosti od broja cifara u decimalnom zapisu vrednosti). Ukoliko se programira nepostojeća poreka stopa, šalje se vrednost -1 (0xFFFF). Promena vrednosti poreske stope se može izvršiti samo posle urađenog dnevnog izveštaja. Poreske stope se definišu od 0-8 (PS1 ,PS2...PS9).

Komanda za programiranje poreskih stopa je 31 (0x1F).

[STX<1>][LEN<1>][CMD<1>][PS1<2>][PS2<2>][PS3<2>][PS4<2>][PS5<2>][PS6<2>][PS7<2>][PS8<2>][PS9<2>][CRC<2>]

STX - početak komunikacije
LEN - dužina komande
CMD - komanda
PS1 - prva poreska stopa (A)
PS2 - druga poreska stopa (Г)
PS3 - treća poreska stopa (Д)
PS4 - četvrta poreska stopa (Ђ)
PS5 - peta poreska stopa (Е)
PS6 - šesta poreska stopa (Ж)
PS7 - sedma poreksa stopa (И)
PS8 - osma poreska stopa (Ј)
PS9 - deveta poreska stopa (K)
CRC - kontrolna ček suma

Primer 1: Programiranje poreskih stopa. Definisaćemo poresku stopu A = 0.00,Ђ =18.00 i E=8.00.

Računar: 02 13 1f 00 00 ff ff ff ff 08 07 20 03 ff ff ff ff ff ff ff ff 0c 58

02 - STX , početak komunikacije
13 - LEN , dužina komande (13hex=19dec)
1F - CMD, komanda rezervisana za definisanje poreskih stopa (1Fhex =31dec)
00 00 - PS1, prva poreska stopa (A) a definisana vrednost je 0.00
ff ff - PS2, druga poreska stopa (Г) a vrednost nije definisana
ff ff - PS3, treća poreska stopa (Д) a vrednost nije definisana
08 07 - PS4, četvrta poreska stopa (Ђ) ;(0708hex=1800dec) a definisana vrednost je 18.00
20 03 - PS5, peta poreska stopa (E) ;(0320hex = 800dec) a definisana vrednost je 8.00
ff ff - PS6, šestaporeska stopa (Ж) a vrednost nije definisana
ff ff - PS7, sedma poreska stopa (И) a vrednost nije definisana
ff ff - PS8, osma poreska stopa (Ј) a vrednost nije definisana
ff ff - PS9, deveta poreska stopa (K) a vrednost nije definisana
0c 58 - CRC, suma svih bajtova ne računajući STX (13+1f+00+00+ff+ff+ff+ff+08+07+20+03+ff+ff+ff+ff+ff+ff+ff+ff)hex

Štampač: 06 02 02 7f 00 00 81

06 - ACK, potvrda uspešno izvršene komande
02 - STX , početak komunikacije
02 - LEN , dužina komande
7f 00 - uspešno izvršena komanda
00 81 -CRC (7f+02)

Komanda za čitanje poreskih stopa je 32 (0x20).

Računar šalje blok oblika:

[STX<1>][LEN<1>][CMD<1>][CRC<2>]

STX - početak komunikacije
LEN - dužina komande
CMD - komanda
CRC - kontrolna ček suma

Štampač vraća blok oblika:

[STX<1>][LEN<1>][CMD<1>][PS1<2>][PS2<2>][PS3<2>][PS4<2>][PS5<2>][PS6<2>][PS7<2>][PS8<2>][PS9<2>][CRC<2>]

STX - početak komunikacije
LEN - dužina komande
CMD - komanda
CRC - kontrolna ček suma
PS1 - prva poreska stopa
PS2 - druga poreska stopa
PS3 - treća poreska stopa
PS4 - četvrta poreska stopa
PS5 - peta poreska stopa
PS6 - šesta poreska stopa
PS7 - sedma poreska stopa
PS8 - osam poreska stopa
CRC - vrednost kontrolne ček sume

Primer 2: Čitanje poreskih stopa.

Računar: 02 01 20 00 21

02 - STX , početak komunikacije
01- LEN , duzina komande
20 - CMD, komanda rezervisana za iščitavanje poreskih stopa iz uređaja
00 21 - CRC , kontolna ček suma (20+1=21)

Štampač: 06 02 13 20 00 00 ff ff ff ff 08 07 20 03 ff ff ff ff ff ff ff ff 0c 59

06- ACK potvrda uspešno izvršene komande
02- STX
13- LEN
20 -CMD
00 00 - PS1, vrednost za prvo poresku stopu A= 0,00
ff ff - PS2, vrednost za drugu poresku stopu nije definisana Г= *,**
ff ff - PS3, vrednost za treću poresku stopu nije definisana Д= *,**
08 07 - PS4, vrednost za četvrtu poresku stopu (0708hex =1800) Ђ= 18,00
20 03 - PS5, vrednost za petu poresku stopu (0320hex = 800) E = 8,00
ff ff - PS6, vrednost za šestu poresku stopu nije definisana Ж= *,**
ff ff - PS7, vrednost za sedmu poresku stopu nije definisana И= *,**
ff ff - PS8, vrednost za osmu poresku stopu nije definisana Ј= *,**
ff ff - PS9, vrednost za devetu poresku stopu nije definisana K= *,**
0c 59 - CRC, vrednost kontrolne ček sume (13+20+00+00+ff+ff+ff+ff+08+07+20+03+ff+ff+ff+ff+ff+ff+ff+ff ) hex


primer: Komanda za programiranje poreskih stopa

Primer komande za programiranje poreskih stopa:

Request: 07/mm/2012 15:04:25.21964 (+0.0010 seconds)

 02 13 1F 00 00 FF FF FF FF 08 07 20 03 FF FF FF   .....ÿÿÿÿ.. .ÿÿÿ
 FF FF FF FF FF 0C 58                              ÿÿÿÿÿ.X

Answer: 07/mm/2012 15:04:25.22264 (+0.0030 seconds)

 06 02 02 7F 00 00 81                              .....

Request: 07/mm/2012 15:04:25.23664 (+0.0000 seconds)

 06                                                .


primer: Komanda za citanje poreskih stopa

Primer komande za čitanje poreskih stopa:

Request: 07/mm/2012 15:05:20.06364 (+0.0000 seconds)

 02 01 20 00 21                                    .. .!

Answer: 07/mm/2012 15:05:20.06764 (+0.0040 seconds)

 06 02 13 20 00 00 FF FF FF FF 08 07 20 03 FF FF   ... ..ÿÿÿÿ.. .ÿÿ
 FF FF FF FF FF FF 0C 59                           ÿÿÿÿÿÿ.Y

Request: 07/mm/2012 15:05:20.07064 (+0.0000 seconds)

 06                                                .


Komande vezane za programiranje mernih jedinica

NAPOMENA:
Naziv merne jedinice se šalje kao niz 2 bajta, koji predstavljaju karaktere iz tabele karaktera. Postoji 15 mernih jedinica, indeksiranih od 0 do 14, gde je 0 oznaka za komadu. Prvih 10 mernih jedinica se ne mogu menjati. (0-9) , a 5 novih mogu da se prozvoljno definisati (10-14). Definisanje novih jedinica mere se može izvršiti samo posle urađenog dnevnog izveštaja.

Komanda za programiranje mernih jedinica je 62 (0x3E).

[STX<1>][LEN<1>][CMD<1>][JM10<2>][JM11<2>][JM12<2>][JM13<2>][JM14<2>][CRC<2>]

STX - početak komunikacije
LEN - dužina komande
CMD - komanda
JM10 - jedinica mere koja se moze proizvoljno definisati
JM11 - jedinica mere koja se moze proizvoljno definisati
JM12 - jedinica mere koja se moze proizvoljno definisati
JM13 - jedinica mere koja se moze proizvoljno definisati
JM14 - jedinica mere koja se moze proizvoljno definisati
CRC - kontrolna ček suma

Primer 1: Programiranje jedinica mere. Definisaćemo jedinicu mere JM10 sa vrednošću "kw".

Računar: 02 0b 3e 6b 77 20 20 20 20 20 20 20 20 02 2b

02 - STX , početak komunikacije
оb- LEN , duzina komande (ob)hex = 11dec
3e - CMD, komanda rezervisana za definisanje novih jedinica mere
6b 77 - JM10,jedinica mere koja se može proizvoljno definisati : (6b)hex = 107dec u tabeli sa karakterima koja se nalazi na dnu ovog uputstva možete videti da je to karakter "k" ;(77)hex=119dec a to je vrednost iz tabele za karakter "w"
20 20 - JM11 , jedinica mere koja se može proizvoljno definisati u ovom slučaju nije definisana
20 20 - JM12 , jedinica mere koja se može proizvoljno definisati u ovom slučaju nije definisana
20 20 - JM13 , jedinica mere koja se može proizvoljno definisati u ovom slučaju nije definisana
20 20 - JM14 , jedinica mere koja se može proizvoljno definisati u ovom slučaju nije definisana
02 2b - CRC ,kontolna ček suma (0b+3e+6b+77+20+20+20+20+20+20+20+20) hex

Štampač: 06

06 - ACK , odgovor štampača o uspešno izvršenoj komandi (testu veze)

Komanda za čitanje mernih jedinica je 61 (0x3D).

Računar šalje blok oblika:
[STX<1>][LEN<1>][CMD<1>][CRC<2>]

STX - početak komunikacije
LEN - dužina komande
CMD - komanda
CRC - kontrolna ček suma

Štampač vraća blok oblika:

[STX<1>][LEN<1>][CMD<1>][JM0 <2>][JM1 <2>][JM2 <2>][JM3 <2>][JM4 <2>][JM5 <2>][JM6 <2>][JM7 <2>][JM8 <2>][JM9 <2>][JM10 <2>][JM11 <2>][JM12 <2>][JM13 <2>][JM14 <2>][JM15 <2>][CRC<2>]

STX -početak komunikacije
LEN - dužina komande
CMD - komanda
JM0 -prva jedinica mere koja je definisana u uređaju i ne može se menjati
JM1 -druga jedinica mere koja je definisana u uređaju i ne može se menjati
JM2 -treće jedinica mere koja je definisana u uređaju i ne može se menjati
JM3 -četvrta jedinica mere koja je definisana u uređaju i ne može se menjati
JM4 -peta jedinica mere koja je definisana u uređaju i ne može se menjati
JM5 -šesta jedinica mere koja je definisana u uređaju i ne može se menjati
JM6 -sedma jedinica mere koja je definisana u uređaju i ne može se menjati
JM7 -osma jedinica mere koja je definisana u uređaju i ne može se menjati
JM8 -deveta jedinica mere koja je definisana u uređaju i ne može se menjati
JM9 -deseta jedinica mere koja je definisana u uređaju i ne može se menjati
JM10 -jedanaesta jedinica mere koja je definisana u uređaju i može se menjati
JM11 -dvanaesta jedinica mere koja je definisana u uređaju i može se menjati
JM12 -trinaesta jedinica mere koja je definisana u uređaju i može se menjati
JM13 -četrnaesta jedinica mere koja je definisana u uređaju i može se menjati
JM14 -petnaesta jedinica mere koja je definisana u uređaju i može se menjati
JM15 - ff ff *
CRC - kontrolna ček suma

Primer 2: Čitanje jedinica mere.

Računar: 06 02 01 3d 00 3e

06 - ACK, potvrda uspešno izvršene komande
02 - STX , početak komunikacije
01- LEN , dužina komande
3d - CMD, komanda rezervisana za iščitavanje jedinica mere iz uređaja
00 3e - CRC , kontolna ček suma (01+3d)hex

Štampač: 06 02 21 3d 20 20 6b 67 67 20 74 20 6c 20 64 6c 6d 20 6d 32 6d 33 68 20 6b 77 20 20 20 20 20 20 20 20 ff ff 0a 1b

06 - ACK, potvrda uspešno izvršene komande
02 - STX , početak komunikacije
21 - LEN, dužina komande
3d - CMD, komanda rezervisana za iščitavanje jedinica mere iz uređajaja
20 20 - JM0, prva jedninica mere koja je definisana difoltno u uređaju tj kom
6b 67 - JM1 , druga jedninica mere koja je definisana difoltno u uređaju tj kg
67 20 - JM2 , treća jedninica mere koja je definisana difoltno u uređaju tj g
74 20 - JM3 , četvrta jedninica mere koja je definisana difoltno u uređaju tj t
6c 20 - JM4 , peta jedninica mere koja je definisana difoltno u uređaju tj l
64 6c - JM5, šesta jedninica mere koja je definisana difoltno u uređaju tj dl
6d 20 - JM6, sedma jedninica mere koja je definisana difoltno u ure đaju tj m
6d 32 - JM7, osma jedninica mere koja je definisana difoltno u uređaju tj m2
6d 33 - JM8, deveta jedninica mere koja je definisana difoltno u uređaju tj m3
68 20 - JM9, deseta jedinica mere koja je definisana difoltno u uređaju tj h
6b 77 - JM10, jedanaesta jedinica mere koja je proizvoljno definisana tj kw
20 20 - JM11, dvanaesta jedinica mere koja može da se proizvoljno definiše-nije definisana
20 20 - JM13, trinaesta jedinica mere koja može da se proizvoljno definiše-nije definisana
20 20 - JM14, dvanaesta jedinica mere koja može da se proizvoljno definiše-nije definisana
ff ff -*
0a 1b - CRC, kontorlna ček suma

* kod verzije 11.23 postoji poznat bug . Kod čitanja jedninica mere vraća dva dodatna bajta tj dužina komande je veća za 2 bajta. Preporuka je da se zanemare ova dva bajta.


primer: Komande vezane za programiranje mernih jedinica

Primer komande za programiranje mernih jedinica:

Request: 07/mm/2012 15:06:13.91864 (+0.0000 seconds)

 02 0B 3E 6D 6C 63 63 6B 63 63 20 6D 6D 04 13      ..>mlcckcc mm..

Answer: 07/mm/2012 15:06:13.92264 (+0.0040 seconds)

 06 02 02 7F 00 00 81                              .....

Request: 07/mm/2012 15:06:13.92664 (+0.0000 seconds)

 06                                                .


primer: Komande vezane za citanje mernih jedinica

Primer komande za čitanje mernih jedinica:

Answer: 07/mm/2012 15:06:26.33264 (+0.0030 seconds)

 06 02 21 3D 20 20 6B 67 67 20 74 20 6C 20 64 6C   ..!=  kgg t l dl
 6D 20 6D 32 6D 33 68 20 6D 6C 63 63 6B 63 63 20   m m2m3h mlcckcc
 6D 6D FF FF 0C 03                                 mmÿÿ..

Request: 07/mm/2012 15:06:26.33664 (+0.0000 seconds)

 06                                                .


Komande vezane za programiranje kasira

NAPOMENA:
Štampač može imati podatke o 16 kasira koji imaju šifru i tri nivoa pristupa. Najniža šifra koja se može definisati je 100 (tri cifre), a najviša može da sadrži 9 cifara. Najniži nivo ima samo mogućnost prodaje, promene cene i unos novog artikla. Srednji ima i mogućnost štampanja izveštaja, dok najviši nivo pristupa otvara sve funkcije na kasi. Opcija korišćenja kasira kao i pamćenje prodaje po kasirima mora se definisati u podešavanjima. U štampaču se ne može se izvršiti zaključavanje kasira. Uređaj mora imati makar jednog kasira sa najvišim nivoom pristupa.
Kasiri se definišu od 0 - 15.

Komanda za programiranje kasira je 40 (0x28).

[STX<1>][LEN<1>][CMD<1>][BROJ KASIRA<1>][NIVO<1>][IME KASIRA <22>][KOD<8>][CRC<2>]

STX -početak komunikacije
LEN - dužina komande
CMD - komanda
BROJ KASIRA- jedinstveni redni broj kasira od 0 do 15
NIVO - nivo pristupa (low -00, medium-01 or high-02)
IME KASIRA - ime definisanog kasira , Karakteri iz teksta su kodirani po tabeli koja se nalazi na kraju uputstva.
KOD - jedinstvena šifra kasira
CRC - kontrolna ček suma

Primer 1: Programiranje kasira.

Definisaćemo kasire sa imenom "Kasir ", kodom "1111" , nivo pristupa "hi" i drugog kasira sa imenom "Kasir 1", kodom "100" i nivoom pristupa "medium".Kada se defiše više kasira svaki kasir se zasebno

programira.

Računar: 02 21 28 00 02 4b 61 73 69 72 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 04 00 00 00 00 00 00 04 c0

02 - STX

21-LEN

28-CMD

00 - BROJ KASIRA, definiše se prvi kasir

02- NIVO , nivo pristupa kasira 02- hi tj najviši pristup

4b 61 73 69 72 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -IME KASIRA , ima kasira (4b)hex=75dec u tabeli karaktera je to "K"; 61hex = 97dec tj karakter "a"; 73hex=115dec "s"; 69hex=105dec "i";72hex =114dec "r", ostali su 20 što označava prazna mesta tj nedefinisana slobodna polja. Naziv kasira može biti najviše 22 karaktera.

57 04 00 00 00 00 00 00 - KOD, jedinstvena šifra kasira. 00 00 00 00 00 00 04 57 tj 457hex = 1111dec

04 c0 - CRC, kontrolna ček suma

Štampač: 06 02 02 7f 00 00 81

06 - ACK

02 - STX

02 - LEN

7f 00 - uspešno izvršena komanda

00 81 - CRC

Računar: 06 02 21 28 01 01 4b 61 73 69 72 20 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 00 00 00 00 00 00 00 04 db

06-ACK

02 - STX

21 - LEN

28 - CMD

01 - BROJ KASIRA, definiše se drugi kasir

01- NIVO , nivo pristupa kasira 01- medium

4b 61 73 69 72 20 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -IME KASIRA , ima kasira (4b)hex=75dec u tabeli karaktera je to "K"; 61hex = 97dec tj karakter "a"; 73hex=115dec "s"; 69hex=105dec "i";72hex =114dec "r", 20 prazno mesto; 32hex = 50 tj "2"ostali su 20 što označava prazna mesta tj nedefinisana slobodna polja. Naziv kasira može biti najviše 22 karaktera.

64 00 00 00 00 00 00 00 - KOD, jedinstvena šifra kasira. 00 00 00 00 00 00 00 64 tj 457hex = 100dec

04 db - CRC, kontrolna ček suma

Štampač: 06 02 02 7f 00 00 81

06 - ACK

02 - STX

02 - LEN

7f 00 - uspešno izvršena komanda

00 81 - CRC

Komanda za čitanje kasira je 38 (0x26).

Računar šalje blok oblika:

[STX<1>][LEN<1>][CMD<1>][BROJ KASIRA<1>][CRC<2>]

STX - početak komunikacije

LEN - dužina komande

CMD - komanda

BROJ KASIRA - jedinstveni redni broj kasira koji je definisan od 0 do 15

CRC - kontrolna ček suma

Štampač vraća blok oblika:

[STX<1>][LEN<1>][CMD<1>][BROJ KASIRA<1>][NIVO<1>][IME KASIRA<1>][KOD<8>][PRODAJA PO KASIRU<8>][CRC<2>]

STX -početak komunikacije

LEN - dužina komande

CMD - komanda

BROJ KASIRA- jedinstveni redni broj kasira od 0 do 15

NIVO - nivo pristupa (low -00, medium-01 or high-02)

IME KASIRA - ime definisanog kasira , Karakteri iz teksta su kodirani po tabeli koja se nalazi na kraju uputstva.

KOD - jedinstvena šifra kasira

PRODAJA PO KASIRU - celokupan promet koji kasir ostvari za vreme kada je aktivan pomnožena sa 100

CRC - kontrolna ček suma

Primer 2: Čitanje kasira.

Računar: 02 02 26 00 00 28

02 - STX

02 - LEN

26 - CMD, komanda rezervisana za iščitavanje kasira iz štampača

00 - BROJ KASIRA,redni broj kasira , nulti tj prvi

00 28 - CRC, kontrolna ček suma

Štampač: 06 02 29 26 00 02 4b 61 73 69 72 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 04 00 00 00 00 00 00 86 83 a1 c2 00 00 00 00 07 32

06 - ACK

02 - STX

29 - LEN

26 - CMD

00- BROJ KASIRA , u ovom slučaju je prvi kasir

02 - NIVO , nivo pristupa kasija je 02-hi, najviši pristup

4b 61 73 69 72 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 - IME KASIRA , pogledati objašnjenje kada se definiše kasir

57 04 00 00 00 00 00 00 - KOD, jedinstvena šifra kasira. (04 57)hex = 1111dec

86 83 a1 c2 00 00 00 00 - PRODAJA PO KASIRU ,( c2 a1 83 86)hex = 3265364870 /100 = 32653648,70

04 c6 - CRC

Računar: 06 02 02 26 01 00 29

06 - ACK

02 - STX

02 - LEN

26 - CMD, komanda rezervisana za iščitavanje kasira iz štampača

01 - BROJ KASIRA,redni broj kasira , drugi kasir

00 29 - CRC, kontrolna ček suma

Štampač: 06 02 29 26 01 01 4b 61 73 69 72 20 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 00 00 00 00 00 00 00 e8 13 14 6f 00 00 00 00 06 5f

06 - ACK

02 - STX

29 - LEN

26 - CMD

01- BROJ KASIRA , u ovom slučaju je drugi kasir

01 - NIVO , nivo pristupa kasija je 01- medium

4b 61 73 69 72 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 - IME KLASIRA , pogledati objašnjenje kada se definiše kasir

64 00 00 00 00 00 00 00 - KOD, jedinstvena šifra kasira. (64)hex = 100dec

e8 13 14 6f 00 00 00 00 - PRODAJA PO KASIRU ,( 6f 14 13 e8)hex = 1863586792 /100 = 18635867,92

06 5f - CRC, kontrolna ček suma

Računar: 06 02 02 26 02 00 2a

06 - ACK

02 - STX

02 - LEN

26 - CMD, komanda rezervisana za iščitavanje kasira iz štampača

02 - BROJ KASIRA,redni broj kasira , treći kasir

00 2a - CRC, kontrolna ček suma

Štampač: 06 02 29 26 02 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 16 3b

06 - ACK

02 - STX

29 - LEN

26 - CMD

02- BROJ KASIRA , u ovom slučaju je treći kasir

00 - NIVO , nivo pristupa kasija je 00-low, najniži nivo

ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff - IME KASIRA, nedefinisan kasir

00 00 00 00 00 00 00 00 - KOD, jedinstvena šifra kasira -nedefinisana

00 00 00 00 00 00 00 00 - PRODAJA PO KASIRU -nedefinisana

16 3b - CRC, kontrolna ček suma

Računar: 06 02 02 26 03 00 2b

06 - ACK

02 - STX

02 - LEN

26 - CMD, komanda rezervisana za iščitavanje kasira iz štampača

03 - BROJ KASIRA,redni broj kasira , četvrti kasir

00 2b - CRC, kontrolna ček suma

Štampač: 06 02 29 26 03 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 16 3c

Računar: 06 02 02 26 04 00 2c

Štampač: 06 02 29 26 04 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 16 3d

Računar: 06 02 02 26 05 00 2d

Štampač: 06 02 29 26 05 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 16 3e

Računar: 06 02 02 26 06 00 2e

Štampač: 06 02 29 26 06 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 16 3f

Računar: 06 02 02 26 07 00 2f

Štampač: 06 02 29 26 07 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 16 40

Računar: 06 02 02 26 08 00 30

Štampač: 06 02 29 26 08 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 16 41

Računar: 06 02 02 26 09 00 31

Štampač: 06 02 29 26 09 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 16 42

Računar: 06 02 02 26 0a 00 32

Štampač: 06 02 29 26 0a 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 16 43

Računar: 06 02 02 26 0b 00 33

Štampač: 06 02 29 26 0b 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 16 44

Računar: 06 02 02 26 0c 00 34

Štampač: 06 02 29 26 0c 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 16 45

Računar: 06 02 02 26 0d 00 35

Štampač: 06 02 29 26 0d 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 16 46

Računar: 06 02 02 26 0e 00 36

Štampač: 06 02 29 26 0e 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 16 47

Računar: 06 02 02 26 0f 00 37

Štampač: 06 02 29 26 0f 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 16 48

Komanda za prijavu kasira je 42 (0x2A).

[STX<1>][LEN<1>][CMD<1>][ŠIFRA <4>][CRC<2>]

STX -početak komunikacije
LEN - dužina komande
CMD - komanda
ŠIFRA - definisana šifra kasira , šifra sa kojom se loguje
CRC - kontrolna ček suma

Primer 3: Prijava kasira.

Računar: 02 05 2a 57 04 00 00 00 8a

02 - STX

05 - LEN

2a - CMD

57 04 00 00 -ŠIFRA , (04 57) hex = 1111dec

00 8a - CRC

Štampač: 06 02 02 7f 00 00 81

06 - ACK, potvrda uspešno izvršene komande
02 - STX , početak komunikacije
02 - LEN , dužina komande
7f 00 - uspešno izvršena komanda
00 81 -CRC (7f+02)


primer: Komande za programiranje kasira

Primer komande za programiranje kasira:

Request: 07/mm/2012 15:10:44.00664 (+0.0000 seconds)

 06 02 21 28 01 00 4B 41 53 49 52 20 31 20 20 20   ..!(..KASIR 1
 20 20 20 20 20 20 20 20 20 20 20 20 F3 E0 01 00               óà..
 00 00 00 00 05 C9                                 .....É

Answer: 07/mm/2012 15:10:44.01364 (+0.0040 seconds)

 06 02 02 7F 00 00 81                              .....


primer: Komande za citanje kasira

Primer komande za čitanje kasira:

Request: 07/mm/2012 15:11:09.23264 (+0.0000 seconds)

 06 02 02 26 01 00 29                              ...&..)

Answer: 07/mm/2012 15:11:09.23564 (+0.0030 seconds)

 06 02 29 26 01 00 4B 41 53 49 52 20 31 20 20 20   ..)&..KASIR 1
 20 20 20 20 20 20 20 20 20 20 20 20 F3 E0 01 00               óà..
 00 00 00 00 00 00 00 00 00 00 00 00 05 CF         .............Ï


primer: Komande za prijavu kasira

Primer komande za prijavu kasira:

Request: 07/mm/2012 15:11:33.03464 (+3.2580 seconds)

 02 05 2A F3 E0 01 00 02 03                        ..*óà....

Answer: 07/mm/2012 15:11:33.03864 (+0.0040 seconds)

 06 02 02 7F 00 00 81                              .....

Request: 07/mm/2012 15:11:33.04064 (+0.0000 seconds)

 06                                                .


Root

Komande vezane za fiskalizaciju:

NAPOMENA
Reset i podešavanje vremena, kao i tehnički pregled zahtevaju prisustvo JUMPER-a. Kod reseta, JUMPER mora biti prisutan pri startovanju štampača, dok je za podešavanje vremena i tehnički pregled dovoljno da se postavi pre slanja komande. Ukoliko je štampač jednom startovan sa JUMPER-om, reset se mora izvršiti. Promenu vremena sa zimskog na letnje računanje, štampač obavlja automatski.

Komanda za podešavanje vremena 1 (0x01).

Računar šalje blok oblika:

[STX<1>][LEN<1>][CMD<1>][VREME U MILISEKUNDAMA<8>][CRC<2>]

STX - početak komunikacije
LEN - dužina DATA dela
CMD - komanda
VREME U MILISEKUNDAMA - Vreme se šalje kao broj milisekundi od 1.1.2000 GMT.
CRC - kontrolna ček suma (zbir svih bajtova osim STX)

Primer 1: podešavanje vremena

Računar: 02 09 01 C8 CF 3C 7D 59 00 00 00 02 B3

02 - STX
09 - LEN (dužina DATA dela)
01 - CMD (komanda)
C8 CF 3C 7D 59 00 00 00- VREME U MILISEKUNDAMA (LSB,MSB)
02 B3 - CRC (zbir svih bajtova osim STX, smešten u 2 bajta MSB,LSB)

Štampač: 06 02 02 7F 00 00 81

06 - ACK
02 - STX
02 - LEN (dužina DATA dela)
7F 00 - uspešno izvršena komanda
00 81 - CRC (zbir svih bajtova osim STX i ACK, smešten u 2 bajta MSB,LSB)

Komanda za čitanje vremena 2 (0x02).

[STX<1>][LEN<1>][CMD<1>][CRC<2>]

STX - početak komunikacije
LEN - dužina DATA dela
CMD - komanda
CRC - kontrolna ček suma (zbir svih bajtova osim STX)

Posle slanja ACK štampač vraća blok oblika:

[ACK<1>][STX<1>][LEN<1>][CMD<1>][VREME U MILISEKUNDAMA<8>][CRC<2>]

VREME U MILISEKUNDAMA - Vreme se šalje kao broj milisekundi od 1.1.2000 GMT.

Primer 2: čitanje vremena

Računar: 02 01 02 00 03

02 - STX
01 - LEN (dužina DATA dela)
02 - CMD
00 03 - CRC (zbir svih bajtova osim STX, smešten u dva bajta MSB, LSB)

Štampač: 06 02 09 02 8E 09 42 7D 59 00 00 00 01 BA

06 - ACK
02- STX
09 - LEN
02 - CMD
8E 09 42 7D 59 00 00 00 - VREME U MILISEKUNDAMA (LSB, MSB)
01 BA - CRC (zbir svih bajtova osim STX i ACK, smešten u dva bajta MSB, LSB)

Komanda za slanje PIB-a 7 (0x07)

Računar šalje blok oblika:

[STX<1>][LEN<1>][CMD<1>][PIB<9>][CRC<2>]

STX - početak komunikacije
LEN - dužina DATA dela
CMD - komanda
PIB - pib broj uređaja
CRC - kontrolna ček suma (zbir svih bajtova osim STX)

PIB se šalje kao niz bajtova koji oznacavaju cifre iz tabele karaktera (ASCII cifre).
Zatim sledi slanje komande za fiskalizaciju: CMD=4 (0x04). U toku fiskalizacije, štampač trenutno prekida serijsku komunikaciju.

Primer 3: slanje PIB-a

Računar: 02 0A 07 31 32 33 34 35 36 37 38 39 01 EE

02 - STX
0A - LEN
07 - CMD (prvo se šalje komanda za PIB)
31 32 33 34 35 36 37 38 39 - PIB (pogledati tabelu karaktera na kraju uputstva)
01 EE - CRC (zbir svih bajtova osim STX, smešten u dva bajta u formatu MSB, LSB)

Štampač: 06 08 08 08 08 08 08 08 08 08 08 08 08 02 02 7F 00 00 81

06 - ACK
08 - WAIT
02 - STX
02 - LEN
7F 00 - uspešno izvršena komanda
00 81 - CRC (zbir svih bajtova osim STX i ACK, smešten u dva bajta MSB, LSB)

Komanda za fiskalizaciju 4 (0x04).

[STX<1>][LEN<1>][CMD<1>][CRC<2>]

Primer 4: slanje komande za fiskalizaciju.

Računar: 06 02 01 04 00 05

06 - ACK
02 - STX
01 - LEN
04 - CMD (komanda za fiskalizaciju)
00 05 - CRC (zbir svih bajtova osim STX i ACK, smešten u dva bajta MSB, LSB)

Štampač: 06 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08

06 - ACK
08 - WAIT

Komanda za reset 5 (0x05).

Računar šalje blok oblika:

[STX<1>][LEN<1>][CMD<1>][TIP<1>][CRC<2>]

STX - početak komunikacije
LEN - dužina DATA dela
CMD - komanda
TIP - tip reseta
CRC - kontrolna ček suma (zbir svih bajtova osim STX)

TIP reseta je:

  • 1 za tip P
  • 3 za tip C

Reset P briše samo RAM memoriju, dok C briše RAM i FLASH memoriju sa artiklima.
Pošto štampač neke artikle trenutno pamti u RAM memoriji, moguće je da se i resetom P izgube pojedini artikli iz uređaja

Primer 5: Reset P

Računar: 02 02 05 01 00 08

02 - STX
02 - LEN
05 - CMD
01 - TIP reseta (za reset P, TIP = 1)
00 08 - CRC kontrolna ček suma (zbir svih bajtova osim STX)

Štampač: 06 08 08 08 08 08 08 08 08 08 08 02 02 7F 00 00 81

06 - ACK
08 - WAIT
02 - STX
02 - LEN
7F 00 - uspešno izvršena komanda
00 81 - CRC (zbir svih bajtova osim STX i ACK, smešten u dva bajta MSB, LSB)

Primer 6: Reset C

Računar: 02 02 05 03 00 0A

02 - STX
02 - LEN
05 - CMD
03 - TIP reseta (za reset P, TIP = 3)
00 0A- CRC kontrolna ček suma (zbir svih bajtova osim STX)

Štampač: 06 08 08 08 08 08 08 08 08 08 08 08 02 02 7F 00 00 81

06 - ACK
08 - WAIT
02 - STX
02 - LEN
7F 00 - uspešno izvršena komanda
00 81 - CRC (zbir svih bajtova osim STX i ACK, smešten u dva bajta MSB, LSB)

Komanda za čitanje podataka o fiskalizaciji 3 (0x03).

Računar šalje blok oblika:

[STX<1>][LEN<1>][CMD<1>][CRC<2>]

STX - početak komunikacije
LEN - dužina DATA dela
CMD - komanda
CRC - kontrolna ček suma (zbir svih bajtova osim STX)

Štampač vraća blok oblika:

[ACK<1>][STX<1>][LEN<1>][CMD<1>][VREME FISKALIZACIJE <8>][IBFM<8>][PIB<9>][BROJ DNEVNIH IZVEŠTAJA <4>]
[BROJ RESETA <4>][BROJ PROMENA PORESKIH STOPA <4>][BROJ TEHNIČKIH PREGLEDA <4>][CRC<2>]

VREME FISKALIZACIJE: Vreme fiskalizacije kao broj milisekundi od 1.1.2000 GMT.
IBFM: IBFM broj kase kao niz bajtova koji označavaju karaktere iz tabele karaktera.
PIB: PIB korisnika kao niz bajtova koji označavaju karaktere iz tabele karaktera (ASCII).
BROJ DNEVNIH IZVEŠTAJA: ukupan broj dnevnih izveštaja (LSB, MSB)
BROJ RESETA: ukupan broj reseta (LSB, MSB)
BROJ PROMENA PORESKIH STOPA: ukupan broj promena poreskih stopa (LSB, MSB)
BROJ TEHNIČKIH PREGLEDA: ukupan broj tehničkih pregleda (LSB, MSB)

Primer 7: čitanje podataka o fiskalizaciji

Fisalizacija uređaja sa sledećim fiskalnim podacima - IBFM: XX123456, PIB: 123456789

Računar: 02 01 03 00 04

02 - STX
01 - LEN
03 - CMD
00 04 - CRC (zbir svih bajtova osim STX, smešten u dva bajta MSB, LSB)

Štampač: 06 02 2A 03 10 52 51 E8 35 01 00 00 58 58 31 32
33 34 35 36 31 32 33 34 35 36 37 38 39 00 00 00
00 02 00 00 00 00 00 00 00 01 00 00 00 05 C3

06 - ACK
02 - STX
2A - LEN
03 - CMD
10 52 51 E8 35 01 00 00 - VREME FISKALIZACIJE (LSB, MSB)
58 58 31 32 33 34 35 36 - IBFM (redom karakter po karakte IBFM-ar na osnovu tabele date na kraju uputstva)
31 32 33 34 35 36 37 38 39 - PIB (redom karakter po karakte IBFM-ar na osnovu tabele date na kraju uputstva)
00 00 00 00 - broj dnevnih izveštaja (LSB, MSB)
02 00 00 00 - broj reseta (LSB, MSB)
00 00 00 00 - broj promena poreskih stopa (LSB, MSB)
01 00 00 00 - broj tehničkih pregleda (LSB, MSB)
05 C3 - CRC (zbir svih bajtova osim STX i ACK, smešten u dva bajta MSB, LSB)

Komanda za izvršavanje tehničkog pregleda 67 (0x43).

Računar šalje blok oblika:

[STX<1>][LEN<1>][CMD<1>][CRC<2>]

STX - početak komunikacije
LEN - dužina DATA dela
CMD - komanda
CRC - kontrolna ček suma (zbir svih bajtova osim STX, smešten u dva bajta MSB, LSB)

Primer 8: izvršavanje tehničkog pregleda

Računar: 06 02 01 43 00 44

06 - ACK
02 - STX
01 - LEN
43 - CMD
00 44 - CRC (zbir svih bajtova osim STX i ACK, smešten u dva bajta MSB, LSB)

Štampač: 06 02 02 7F 00 00 81

06 - ACK
02 - STX
02 - LEN
7F 00 - uspešno izvršena komanda
00 81 - CRC (zbir svih bajtova osim STX i ATX, smešten u dva bajta MSB, LSB)

Komanda za štampanje svih tehničkih pregleda 66 (0x42).

Računar šalje blok oblika:

[STX<1>][LEN<1>][CMD<1>][CRC<2>]

STX - početak komunikacije
LEN - dužina DATA dela
CMD - komanda
CRC - kontrolna ček suma (zbir svih bajtova osim STX i ATX, smešten u dva bajta MSB, LSB)

Primer 9: štampanje svih tehničkih pregleda

Računar: 02 01 42 00 43

02 - STX
01 - LEN
42- CMD
00 43 - CRC (zbir svih bajtova osim STX i ACK, smešten u dva bajta MSB, LSB)

Štampač: 06 02 02 7F 00 00 81

06 - ACK
02 - STX
02 - LEN
7F 00 - uspešno izvršena komanda
00 81 - CRC (zbir svih bajtova osim STX i ATX, smešten u dva bajta MSB, LSB)


primer: Komande vezane za podesavanje vremena

Primer komande za podešavanje vremena:

  Request: 6.3.2012 13:47:44.05664 (+0.0010 seconds)

02 09 01 C8 CF 3C 7D 59 00 00 00 02 B3            ...ÈÏ<}Y....³

Answer: 6.3.2012 13:47:44.07664 (+0.0200 seconds)

06 02 02 7F 00 00 81                              .....

Request: 6.3.2012 13:47:44.11964 (+0.0010 seconds)

06


primer: Komande vezane za slanje PIB-a

Primer komande za slanje PIB-a i fiskalizaciju:

Request: 6.3.2012 14:02:43.82764 (+0.0010 seconds)
02 0A 07 31 32 33 34 35 36 37 38 39 01 EE         ...123456789.î

Answer: 6.3.2012 14:02:43.83764 (+0.0100 seconds)

06 08 08 08 08 08 08 08 08 08 08 08 08 02 02 7F   ...............
00 00 81
                                       ..
Request: 6.3.2012 14:02:47.49264 (+0.0000 seconds)

06 02 01 04 00 05                                 ......

Answer: 6.3.2012 14:02:47.50364 (+0.0100 seconds)

06 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08   ................
08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08   ................
08 08                                             ..

Port closed

Port opened by process "javaw.exe" (PID: 3748)

Request: 6.3.2012 14:03:07.15764 (+5.4073 seconds)

02 01 65 00 66 02 01 65 00 66                     ..e.f..e.f

Port closed


primer: Komande vezane za citanje podataka o fiskalizaciji

Primer komande za čitanje podataka o fiskalizaciji:

 Request: 6.3.2012 14:43:52.53164 (+0.0000 seconds)

 02 01 03 00 04                                    .....
Answer: 6.3.2012 14:43:52.55564 (+0.0240 seconds)
 06 02 2A 03 10 52 51 E8 35 01 00 00 58 58 31 32   ..*..RQè5...XX12
 33 34 35 36 31 32 33 34 35 36 37 38 39 00 00 00   3456123456789...
 00 02 00 00 00 00 00 00 00 01 00 00 00 05 C3      ..............Ã
Request: 6.3.2012 14:43:52.55564 (+0.0000 seconds)
 06


primer: Komande vezane za tehnicki pregled

Primer komande za tehnički pregled:

Request: 6.3.2012 14:38:09.53864 (+0.0010 seconds)
 06 02 01 43 00 44                                 ...C.D
Answer: 6.3.2012 14:38:14.01764 (+0.0100 seconds)
 06 02 02 7F 00 00 81                              .....
Request: 6.3.2012 14:38:14.03864 (+0.0010 seconds)
06


primer: Komande vezane za citanje vremena

Primer komande za čitanje vremena:

Request: 6.3.2012 13:53:27.06364 (+0.0000 seconds)

02 01 02 00 03                                    .....

Answer: 6.3.2012 13:53:27.08364 (+0.0200 seconds)

06 02 09 02 8E 09 42 7D 59 00 00 00 01 BA         ....Ž.B}Y....º

Request: 6.3.2012 13:53:27.08464 (+0.0010 seconds)

06


primer: Komande vezane za reset P

Primer komande za reset P:

Request: 6.3.2012 14:15:25.71464 (+0.0010 seconds)

02 02 05 01 00 08                                 ......

Answer: 6.3.2012 14:15:25.72864 (+0.0140 seconds)

 06 08 08 08 08 08 08 08 08 08 08 02 02 7F 00 00 81    ...............                                                  

Request: 6.3.2012 14:15:28.78364 (+0.0020 seconds)

06 02 01 65 00 66                                 ...e.f

Answer: 6.3.2012 14:15:28.79464 (+0.0100 seconds)

06


primer: Komande vezane za reset C

Primer komande za reset C:

Request: 6.3.2012 14:19:42.63964 (+0.0010 seconds)
 02 02 05 03 00 0A                                 ......
Answer: 6.3.2012 14:19:42.66164 (+0.0220 seconds)
 06 08 08 08 08 08 08 08 08 08 08 08 02 02 7F 00 00 81 ...............                                                .
Request: 6.3.2012 14:19:51.58164 (+0.0010 seconds)
 06 02 01 65 00 66                                 ...e.f
Answer: 6.3.2012 14:19:51.60264 (+0.0200 seconds)
 06


primer: Komande vezane za stampanje svih tehnickih pregleda

Primer komande za štampanje svih tehničkih pregleda:

Request: 6.3.2012 14:40:27.32864 (+0.0010 seconds)

 02 01 42 00 43                                    ..B.C

Answer: 6.3.2012 14:40:27.34164 (+0.0130 seconds)

 06 02 02 7F 00 00 81                              .....

Request: 6.3.2012 14:40:27.35264 (+0.0010 seconds)

 06


Komande vezane za kontrolu uredjaja

Komande vezane za kontrolu uređaja:

Komanda za štampanje na eksternom displeju je 33 (0x21).

Računar šalje blok oblika:

[SOH<1>][LEN1<1>][LEN2<1>][CMD<1>][GORNJI RED <20>][DONJI RED <20>][CRC<2>]

SOH- početak komunikacije (duga komanda)
LEN1 - niži bajt LEN
LEN2 - viši bajt LEN
CMD - komanda
GORNJI RED - niz karaktera koji se ispisuju u gornjem redu
DONJI RED - niz karaktera koji se ispisuju u donjem redu
CRC - kontrolna ček suma (zbir svih bajtova osim SOH)

Primer: Ispisivanje teksta TEST DISPLEJA

Računar: 03 29 00 21 54 45 53 54 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 49 53 50 4C 45 4A 41 20 20 20 20 20 20 20 20 20 20 20 20 07 56

03 - SOH
29 - LEN1
00 - LEN2
21 - CMD
54 45 53 54 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 - GORNJI RED (''TEST'')
44 49 53 50 4C 45 4A 41 20 20 20 20 20 20 20 20 20 20 20 20 - DONJI RED (''DISPLEJA'')
07 56 - CRC kontrolna ček suma (zbir svih bajtova osim SOH)

Štampač: 06 02 02 7F 00 00 81

06 - ACK
02 - STX
02 - LEN
7F 00 - potvrda uspešno obavljene komande
00 81 - CRC

Komanda za otvaranje fioke je 36 (0x24).

Računar šalje blok oblika:

[STX<1>][LEN<1>][CMD<1>][CRC<2>]

STX- početak komunikacije
LEN - dužina DATA bloka
CMD - komanda
CRC - kontrolna ček suma (zbir svih bajtova osim STX)

Primer:

Računar: 02 01 24 00 25

02 - STX
01 - LEN
24 - CMD
00 25 - CRC kontrolna ček suma (zbir svih bajtova osim STX)

Štampač: 06 08 02 02 7F 00 00 81

06 - ACK
08 - WAIT
02 - STX
02 - LEN
7F 00 - potvrda uspešno obavljene komande
00 81 - CRC

Komanda za zvučni signal je 34 (0x22).

Računar šalje blok oblika:

[STX<1>][LEN<1>][CMD<1>][CRC<2>]

STX- početak komunikacije
LEN - dužina DATA bloka
CMD - komanda
CRC - kontrolna ček suma (zbir svih bajtova osim STX)

Primer:

Računar: 02 01 22 00 23

02 - STX
01 - LEN
22 - CMD
00 23 - CRC

Štampač: 06 02 02 7F 00 00 81

06 - ACK
02 - STX
02 - LEN
7F 00 - potvrda o uspešno obavljenoj komandi
00 81 - CRC

Komanda za sečenje papira je 27 (0x1B).

Računar šalje blok oblika:

[STX<1>][LEN<1>][CMD<1>][CRC<2>]

STX- početak komunikacije
LEN - dužina DATA bloka
CMD - komanda
CRC - kontrolna ček suma (zbir svih bajtova osim STX)

Primer:

Računar: 02 01 1B 00 1C

02 - STX
01 - LEN
1B - CMD
00 1C - CRC

Štampač: 06 08 08 02 02 7F 00 00 81

06 - ACK
08 - WAIT
02 - STX
02 - LEN
7F 00 - potvrda o uspešno obavljenoj komandi
00 81 - CRC

Komanda za okretanje glave štampača je 28 (0x1C).

Računar šalje blok oblika:

[STX<1>][LEN<1>][CMD<1>][CRC<2>]

STX- početak komunikacije
LEN - dužina DATA bloka
CMD - komanda
CRC - kontrolna ček suma (zbir svih bajtova osim STX)

Primer:

Računar: 02 01 1C 00 1D

02 - STX
01 - LEN
1B - CMD
00 1C - CRC

Štampač: 06 02 02 7F 00 00 81

06 - ACK
02 - STX
02 - LEN
7F 00 - potvrda o uspešno obavljenoj komandi
00 81 - CRC

Komanda za prikaz međuzbira je 29 (0x1D).

Računar šalje blok oblika:

[STX<1>][LEN<1>][CMD<1>][CRC<2>]

STX- početak komunikacije
LEN - dužina DATA bloka
CMD - komanda
CRC - kontrolna ček suma (zbir svih bajtova osim STX)

Primer:

Računar: 02 01 1D 00 1E

02 - STX
01 - LEN
1D - CMD
00 1E - CRC

Štampač: 06 02 01 1D 00 1E

06 - ACK
02 - STX
02 - LEN
1D - vraća kod naredbe koju je izvršio*
00 1E- CRC

*Napomena: U verzji softvera 11.23, jedino kod komande za prikaz međuzbira, štampač vraća kod naredbe za prikaz međuzbira 1D, umesto 7F 00 za potvrdu uspešno obavljene komande.


primer: Komande za prikaz medjuzbira

Primer komande za prikaz međuzbira:

Request: 8.3.2012 12:35:16.98364 (+0.0000 seconds)

 02 01 1D 00 1E                                    .....

Answer: 8.3.2012 12:35:16.99964 (+0.0160 seconds)

 06 02 01 1D 00 1E                                 ......

Request: 8.3.2012 12:35:16.00064 (+0.0010 seconds)

 06


primer: Komande za okretanje glave stampaca

Primer komande za okretanje glave štampača:

Request: 8.3.2012 12:36:50.99164 (+0.0020 seconds)

 02 01 1C 00 1D                                    .....

Answer: 8.3.2012 12:36:50.00664 (+0.0150 seconds)

 06 02 02 7F 00 00 81                              .....

Request: 8.3.2012 12:36:51.26264 (+0.0010 seconds)

 06


primer: Komande za secenje papira

Primer komande za sečenje papira:

Request: 8.3.2012 13:45:11.17864 (+0.0000 seconds)

 02 01 1B 00 1C                                    .....

Answer: 8.3.2012 13:45:11.19464 (+0.0160 seconds)

 06 08 08 02 02 7F 00 00 81                        .......

Request: 8.3.2012 13:45:12.02664 (+0.0000 seconds)

 06


primer: KOmande za zvucni signal

Primer komande za zvučni signal:

Request: 8.3.2012 12:39:28.90864 (+0.0010 seconds)

 02 01 22 00 23                                    ..".#

Answer: 8.3.2012 12:39:28.92364 (+0.0150 seconds)

 06 02 02 7F 00 00 81                              .....

Request: 8.3.2012 12:39:28.06864 (+0.0010 seconds)

 06


primer: Komande za otvaranje fioke

Primer komande za otvaranje fioke:

Request: 8.3.2012 12:41:01.09964 (+0.0000 seconds)

 02 01 24 00 25                                    ..$.%

Answer: 8.3.2012 12:41:01.11564 (+0.0160 seconds)

 06 08 02 02 7F 00 00 81                           ......

Request: 8.3.2012 12:41:02.42464 (+0.0000 seconds)

 06


primer: Komande za stampanje na displeju

Primer komande za štampanje na displeju:

Request: 7.3.2012 13:36:11.40064 (+0.0000 seconds)

 03 29 00 21 54 45 53 54 20 20 20 20 20 20 20 20   .).!TEST 20 20 20 20 20 20 20 20 44 49 53 50 4C 45 4A 41
 DISPLEJA   20 20 20 20 20 20 20 20 20 20 20 20 07 56                     .V

Answer: 7.3.2012 13:36:11.41164 (+0.0110 seconds)

 06 02 02 7F 00 00 81                              .....

Request: 7.3.2012 13:36:11.43264 (+0.0010 seconds)

 06


Duge Komande

Za određene operacije sa uređajem, uglavnom kod programiranja velikog broja podataka, neohodno je poslati veći blok podataka odjednom da bi se dobilo na vremenu kod komunikacije. U tu svrhu se koriste duge komande. Najčešće su korišćene kod programiranja artikala.

Svaka komanda ima standardizovanu formu i varijabilnu duzinu. Komande su sledećeg oblika:

SOH

LEN1

LEN2

DATA

CRC

SOH: 0x03
LEN1 i LEN2 : dužina DATA dela ( DATA_LEN=LEN2<<8|LEN1 - LSB,MSB ) koja nije veca od 512.
CRC: suma svih bajtova ne računajući SOH i WAIT bajtove (LEN1, LEN2 i DATA blok) smeštena u dva bajta. MSB,LSB

STATUS: Na svaku komandu dobija se STATUS bajt prenesene komande koji može biti:

ACK (0x06): komanda je ispravno preneta do uređaja i prihvaćena od uređaja.
NACK(0x15): postoji greška u komandi tj. komanda nema isravan format(CRC nije dobar) U ovom slučaju se ponovo šalje ista komanda, najviše tri puta, da bi otklonili mogućnost smetnji u komunikaciji.

Odgovor od strane štampača je komanda identičnog oblika kao i komanda koju šalje PC aplikacija, na koju je takođe potrebno odgovoriti statusnim bajtom ACK/NACK u zavisnosti od preračunatog CRC-a.

Ciklus komunikacije:

Ciklus jedne komande je sledeci:
PC: Šalje komandu
Štampač: Odgovara sa ACK/NACK*
*Ako je ACK:
Štampač: Šalje ODGOVOR komandu pre koje može ići i WAIT poruka onoliko puta koliko je potrebno da se komanda izvrši, odnosno otkloni greška).
PC: Odgovara sa ACK/NACK - ukoliko PC detektuje neispravan CRC, slanjem NACK može se od štampača zahtevati da ponovo pošalje isti blok podataka najviše tri puta.
*Ako je NACK:
PC: U ovom slučaju, možete ponovo pokušati sa slanjem komande najviše tri puta, da bi otklonili mogućnost smetnji u komunikaciji.

ODGOVOR: Blok podataka koji ima isti oblik kao i komanda koju šalje PC aplikacija, odnosno, kratka ili duga komanda u zavisnosti od prvog bajta STX ili SOH . Komandni bajt je po pravilu ili identičan onom koga je poslao PC ili fiksno 0x7f iza koga sledi bajt sa tipom greške (videti kodnu tabelu grešaka na kraju dokumenta). Ukoliko je tip greške 0 to znači da je komanda uspešno izvršena (ovakav odgovor obično sledi ukoliko se šalju komande od koje nisu namenjene čitanju podataka, već izvršenju neke procedure - štampanja).

WAIT: Kod komandi posle primljenog ACK (0x06), PC čeka status od uređaja da li je komanda ispravno izvršena. U slučaju da je uređaj zauzet ili postoji prepreka trenutnog izvršenja komande (podignuta glava štampaca za neke komande), uređaj vraća WAIT byte 0x08 na svakih 300ms sve do trenutka izvršenja komande i slanja statusa izvršenosti. Ukoliko postoji greška na displeju, vraća se WAIT byte 0x09, a ukoliko postoji neka greška štampača ovog tipa, uređaj vraća WAIT byte 0x07 i jedan bajt sa opisom greške **.

** kod verzije 11.23 postoji poznat bug da štampač vraća pogrešan bajt sa opisom greške štampača posle WAIT bajta 0x07. Savetuje se da se ovo tretira kao univerzalna greška štampača.


Komande za programiranje zaglavlja i reklama

Komande za programiranje zaglavlja i reklame:

NAPOMENA:
Zaglavlje kao i reklamna poruka se sastoji od 11 redova od po najviše 32 karaktera (odnosno, kolika je širina trake u broju karaktera). Za programiranje se koristi duga komanda. Promena zaglavlja je moguće samo posle urađenog dnevnog izveštaja.

NAPOMENA:
DATA blok se sastoji od 11 blokova koji sadrže kontrolini byte i niza od 42 byte-a koji predstavljaju niz karaktera za jedan red. Za programiranje reklame na kraju ide još jedan byte NO koji predstavlja broj reklame (za štampač je uvek 0). Kontrolni byte TIP može imati sledeće vrednosti: 0xFF – red je prazan; 0x7F – red postoji; 0x3F – red postoji i podebljan je.

NAPOMENA:
Ukoliko se šalje samo komanda bez DATA bloka, štampač vraća trenutno zaglavlje - reklamu.

Komanda za programiranje zaglavlja 20 (0x14).

[SOX<1>][LEN<2>][CMD<1>] (11)*{ [TIP <1>][TEKST <42>]} [CRC<2>]

SOX - početak komunikacije
LEN - dužina komande
CMD - komanda
TIP - kontrolni bajt koji određuje tip reda
TEXT - tekst datog reda koji se šalje kao niz bajtova, od kojih je svako po jedan karakter. Text je kodiran po kodnoj tabeli na kraju dokumenta.
CRC - kontrolna ček suma

Komanda za čitanje zaglavlja 20 (0x14).

[SOX<1>][LEN<2>][CMD<1>][CRC<2>]

SOX - početak komunikacije
LEN - dužina komande
CMD - komanda
CRC - kontrolna ček suma

Štampač vraća blok oblika:

[SOX<1>][LEN<2>][CMD<1>] (11)*{ [TIP <1>][TEKST <42>]} [CRC<2>]

SOX - početak komunikacije
LEN - dužina komande
CMD - komanda
TIP - kontrolni bajt koji određuje tip reda
TEXT - tekst datog reda koji se šalje kao niz bajtova, od kojih je svako po jedan karakter. Text je kodiran po kodnoj tabeli na kraju dokumenta.
CRC - kontrolna ček suma

Komanda za programiranje reklame 22 (0x16).

[SOX<1>][LEN<2>][CMD<1>](11)*{[TIP <1>][TEKST <42>]} ][ NO <1> ] [CRC<2>]

SOX - početak komunikacije
LEN - dužina komande
CMD - komanda
TIP - kontrolni bajt koji određuje tip reda
TEXT - tekst datog reda koji se šalje kao niz bajtova, od kojih je svako po jedan karakter. Text je kodiran po kodnoj tabeli na kraju dokumenta.
NO - redni broj reklamne poruke. U ovom slučaju je fiksno 0, jer je u pitanju štampač.
CRC - kontrolna ček suma

Primer: programiraje reklamne poruke sa sledećim podacima:

Reklamna poruka
TESTIRANJE

Računar:
03 DB 01 16 7F 52 65 6B 6C 61 6D 6E 61 20 70 6F 72 75 6B 61 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7F 54 45 53 54 49 52 41 4E 4A 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 FF 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 FF 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 FF 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 FF 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 FF 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 FF 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 FF 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 FF 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 FF 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 00 4A 5D

03 - SOH
DB 01 - LEN dužina podataka. U ovom slučaju je 475 (0x1DB)
16 - CMD
7F - kontrolni bajt koji označava red koji se štampa
52 65 6B 6C 61 6D 6E 61 20 70 6F 72 75 6B 61 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 - Tekst prvog reda reklame. Dužina bloka je fiksno 42 karaktera iako se štampa samo prvih 32 karaktera
7F - kontrolni bajt koji označava red koji se štampa
54 45 53 54 49 52 41 4E 4A 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20- Tekst drugog reda reklame. Dužina bloka je fiksno 42 karaktera iako se štampa samo prvih 32 karaktera.
FF - kontrolni bajt koji označava red koji se ne štampa
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20- Prazan blok. Dužina bloka je fiksno 42 karaktera iako se ne štampa.

.........još 8 dodatnih redova koji se ne štampaju a imaju isti oblik kao i predhodni blok.
4A 5D - CRC

Štampač: 06 02 02 7F 00 00 81

06 - ACK odgovor o ispravno pročitanoj komandi - CRC je dobar.
02 - STX početak komunikacije.
02 - LEN (dužina DATA dela)
7F - CMD komanda. Komanda koja vraća poruku o statusu izvršenja komande.
00 - STATUS izvršenja komande. U ovom slučaju - uspešno izvršena komanda.
00 81 - CRC (zbir svih bajtova osim STX i ACK, smešten u 2 bajta MSB,LSB)

Računar: 06

06 - ACK odgovor o ispravno pročitanoj komandi - CRC je dobar.

Komanda za čitanje reklame 22 (0x16).

[SOX<1>][LEN<2>][CMD<1>][CRC<2>]

STX - početak komunikacije
LEN - dužina komande
CMD - komanda
CRC - kontrolna ček suma

Štampač vraća blok oblika:

[SOX<1>][LEN<2>][CMD<1>] (11)*{ [TIP <1>][TEKST <42>]} [CRC<2>]

SOX - početak komunikacije
LEN - dužina komande
CMD - komanda
TIP - kontrolni bajt koji određuje tip reda
TEXT - tekst datog reda koji se šalje kao niz bajtova, od kojih je svako po jedan karakter. Text je kodiran po kodnoj tabeli na kraju dokumenta.
CRC - kontrolna ček suma

Komanda za štampanje zaglavlja 24 (0x18).

[STX<1>][LEN<1>][CMD<1>][CRC<2>]

STX - početak komunikacije
LEN - dužina komande
CMD - komanda
CRC - kontrolna ček suma

Komanda za štampanje reklama 25 (0x19).

[STX<1>][LEN<1>][CMD<1>][CRC<2>]

STX - početak komunikacije
LEN - dužina komande
CMD - komanda
CRC - kontrolna ček suma


primer: Komande za programiranje zaglavlja

Primer komande za programiranje zaglavlja:

Request: 08/mm/2012 13:29:53.76164 (+0.0400 seconds)

 03 DA 01 14 3F 20 20 20 20 20 20 20 20 20 20 20   .Ú..?
 48 43 50 20 64 2E 6F 2E 6F 2E 20 20 20 20 20 20   HCP d.o.o.
 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7F                  
 20 20 20 20 20 20 20 20 66 69 73 6B 61 6C 6E 69           fiskalni
 20 75 72 65 5C 61 6A 69 20 20 20 20 20 20 20 20    ure\aji
 20 20 20 20 20 20 20 20 20 20 7F 20 20 20 20 20             
 20 4D 69 72 6B 61 20 54 6F 6D 69 5B 61 20 2D 20    Mirka Tomi[a -
 70 61 73 61 7B 20 20 20 20 20 20 20 20 20 20 20   pasa{
 20 20 20 20 20 7F 20 20 20 20 20 20 20 20 20 33                 3
 37 30 30 30 20 4B 72 75 7D 65 76 61 63 20 20 20   7000 Kru}evac
 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
 7F 20 20 20 20 20 20 20 20 20 20 30 33 37 2D 34             037-4
 34 38 2D 33 35 30 20 20 20 20 20 20 20 20 20 20   48-350
 20 20 20 20 20 20 20 20 20 20 20 7F 20 20 20 20              
 20 20 20 20 20 20 30 33 37 2D 34 34 38 2D 33 35         037-448-35
 31 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   1
 20 20 20 20 20 20 FF 20 20 20 20 20 20 20 20 20         ÿ
 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
 20 FF 20 20 20 20 20 20 20 20 20 20 20 20 20 20    ÿ
 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
 20 20 20 20 20 20 20 20 20 20 20 20 FF 20 20 20               ÿ
 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
 20 20 20 20 20 20 20 FF 20 20 20 20 20 20 20 20          ÿ
 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
 20 20 FF 20 20 20 20 20 20 20 20 20 20 20 20 20     ÿ
 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
 20 20 20 20 20 20 20 20 20 20 20 20 20 50 EF                   Pï

Answer: 08/mm/2012 13:29:53.76764 (+0.0060 seconds)

 06 02 02 7F 00 00 81                              .....

Request: 08/mm/2012 13:29:53.77164 (+0.0000 seconds)

 06                                                .


primer: Komande za programiranje reklame

Primer komande za programiranje reklame:

Request: 08/mm/2012 13:31:22.98864 (+0.0400 seconds)

 03 DB 01 16 7F 52 65 6B 6C 61 6D 6E 61 20 70 6F   .Û..Reklamna po
 72 75 6B 61 20 20 20 20 20 20 20 20 20 20 20 20   ruka
 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7F                  
 54 45 53 54 49 52 41 4E 4A 45 20 20 20 20 20 20   TESTIRANJE
 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
 20 20 20 20 20 20 20 20 20 20 FF 20 20 20 20 20             ÿ
 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
 20 20 20 20 20 FF 20 20 20 20 20 20 20 20 20 20        ÿ
 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
 FF 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ÿ
 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
 20 20 20 20 20 20 20 20 20 20 20 FF 20 20 20 20              ÿ
 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
 20 20 20 20 20 20 FF 20 20 20 20 20 20 20 20 20         ÿ
 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
 20 FF 20 20 20 20 20 20 20 20 20 20 20 20 20 20    ÿ
 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
 20 20 20 20 20 20 20 20 20 20 20 20 FF 20 20 20               ÿ
 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
 20 20 20 20 20 20 20 FF 20 20 20 20 20 20 20 20          ÿ
 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
 20 20 FF 20 20 20 20 20 20 20 20 20 20 20 20 20     ÿ
 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
 20 20 20 20 20 20 20 20 20 20 20 20 20 00 4A 5D                .J]

Answer: 08/mm/2012 13:31:22.99464 (+0.0060 seconds)

 06 02 02 7F 00 00 81                              .....

Request: 08/mm/2012 13:31:22.99564 (+0.0000 seconds)

 06                                                .


Komande vezane za GPRS podesavanje

Komande vezane za GPRS:

NAPOMENA:
Za programiranje se koristi duga komanda koja može da sadrži najviše 512 byte-ova. Za promenu parametara, mora biti prisutan i JUMPER na uređaju.

Komanda za programiranje podataka za FTP server Poreske Uprave 103 (0x67). Obavezno je prisustvo džampera u ovom slučaju.

[SOH<1>][LEN<2>][CMD<1>][TIP<1>][IP<4>][USERNAME LENGTH<2>][USERNAME<22>][PASSWORD LENGTH<2>][PASSWORD<22>][UPLOAD ADDRESS LENGTH<2>][UPLOAD ADDRESS <46>][DOWNLOAD ADDRESS LENGTH<2>][DOWNLOAD ADDRESS <46>][CRC<2>]

SOH - početak komunikacije
LEN - dužina komande
CMD - komanda
TIP - FTP podešavanja: TIP=1 kod štampača
IP - Adresa FTP-a
USERNAME LENGTH - dužina korisničkog imena
USERNAME - korisničko ime za server
PASSWORD LENGTH - dužina lozinke imena
PASSWORD -lozinka za server
UPLOAD ADDRESS LENGTH - dužina komande
UPLOAD ADDRESS - mesto na FTP serveru PU gde se postavljaju podaci iz uređaja
DOWNLOAD ADDRESS LENGTH - dužina komande
DOWNLOAD ADDRESS - mesto na FTP serveru PU odakle se skidaju komande
CRC - kontrolna ček suma

Primer programiranja podataka na FTP server.

Računar: 03 96 00 67 01 a2 24 d8 59 05 00 67 75 65 73 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 00 67 75 65 73 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 00 72 65 73 75 6c 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 00 63 6f 6d 6d 61 6e 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0c da

03- SOH
96 00 -LEN
67 - CMD , 67hex= 103dec
01 -TIP
a2 24 d8 59 -IP , IP adresa , u ovom primeru smo definisali IP 89.216.36.162, tj 59hex= 89 ;d8hex= 216; 24hex = 36; a2hex = 162
05 00 -USERNAME LENGTH
67 75 65 73 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - USERNAME, korisničko ime server u ovom primeru je "guest" tj 67hex = 103dec (g);75hex 117dec(u);65hex=101dec(e);73hex=115dec(s);74hex=116dec(t)
05 00 - PASSWORD LENGTH
67 75 65 73 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -PASSWORD ,lozinka za server u ovom primeru je "guest" tj 67hex = 103dec (g);75hex 117dec(u);65hex=101dec(e);73hex=115dec(s);74hex=116dec(t)
06 00 - UPLOAD ADDRESS LENGTH
72 65 73 75 6c 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - UPLOAD ADDRESS, definisanje adrese na koju se na server poreske uprave postavljaju podaci , u ovom primeru smo definisali upload adresu sa "result"72hex =114dec(r)...
07 00 - DOWNLOAD ADDRESS LENGTH
63 6f 6d 6d 61 6e 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - DOWNLOAD ADDRESS, definiše se adresa na serveru poreske uprave sa koje se skidaju komande, u ovom primeru smo definisali adresu sa "command" , 63hex=99dec(c)...
0c da -CRC,kontrolna ček suma

Štampač: 06 02 02 7f 00 00 81

06 - ACK
02 - STX
02 - LEN
7f 00 - uspešno izvršena komanda
00 81 - CRC

Primer programiranja podataka na FTP server.

Komanda za programiranje podataka za APN GPRS provajdera 103 (0x67). Obavezno je prisustvo džampera u ovom slučaju.

[SOH<1>][LEN<2>][CMD<1>][TIP<1>][APN LENGTH<2>][APN <22>][USERNAME LENGTH<2>][USERNAME <22>][PASSWORD LENGTH<2>][PASSWORD <22>][CRC<2>]

SOH - početak komunikacije
LEN - dužina komande
CMD - komanda
TIP -APN podešavanja: TIP=4 kod štampača;
APN LENGTH -dužina komande
APN - adresa APN-a
USERNAME LENGTH -dužina komande
USERNAME - korisničko ime
PASSWORD LENGTH -dužina komande
PASSWORD -lozinka
CRC - kontrolna ček suma

Računar : 06 03 4a 00 67 04 08 00 69 6e 74 65 72 6e 65 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 00 74 65 6c 65 6e 6f 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 67 70 72 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 e6

06 - ACK
03- SOH
4a 00 -LEN
67 - CMD
04-TIP
08 00 - APN LENGTH
69 6e 74 65 72 6e 65 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - APN , u ovom primeru je APN - "internet"
07 00 - USERNAME LENGTH
74 65 6c 65 6e 6f 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - USERNAME , u ovom primeru je "telenor"
04 00 - PASSWORD LENGTH
67 70 72 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - PASSWORD, u ovom primeru je "gprs"
08 e6 -CRC, kontorlna ček suma

Štampač: 06 02 02 7f 00 00 81

06 - ACK
02 - STX
02 - LEN
7f 00 - uspešno izvršena komanda
00 81 - CRC

Komanda za čitanje GPRS podataka iz uređaja 104 (0x68).

Računar šalje blok oblika :
[SOH<1>][LEN<2>][CMD<1>][TIP<1>][CRC<2>]

SOH - početak komunikacije
LEN - dužina komande
CMD - komanda
TIP - FTP podešavanja: TIP=1 kod štampača;
CRC - kontrolna ček suma

Štamač vraća odgovor oblika:
[SOH<1>][LEN<2>][CMD<1>][TIP<1>][IP<4>][USERNAME LENGTH<2>][USERNAME<22>][PASSWORD LENGTH<2>][PASSWORD<22>][UPLOAD ADDRESS LENGTH<2>][UPLOAD ADDRESS <46>][DOWNLOAD ADDRESS LENGTH<2>][DOWNLOAD ADDRESS <46>][CRC<2>]

SOH - početak komunikacije
LEN - dužina komande
CMD - komanda
TIP - FTP podešavanja: TIP=1 kod štampača;
IP - Adresa FTP-a
USERNAME LENGTH - dužina korisničkog imena
USERNAME - korisničko ime za server
PASSWORD LENGTH - dužina lozinke imena
PASSWORD -lozinka za server
UPLOAD ADDRESS LENGTH - dužina komande
UPLOAD ADDRESS - mesto na FTP serveru PU gde se postavljaju podaci iz uređaja
DOWNLOAD ADDRESS LENGTH - dužina komande
DOWNLOAD ADDRESS - mesto na FTP serveru PU odakle se skidaju komande
CRC - kontrolna ček suma

Primer čitanja podata GPRS iz uređaja.

Računar: 03 02 00 68 01 00 6b
Štampač: 06 03 96 00 68 01 a2 24 d8 59 05 00 67 75 65 73 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 00 67 75 65 73 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 00 72 65 73 75 6c 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 00 63 6f 6d 6d 61 6e 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0c db

Komanda za čitanje podataka za APN GPRS provajdera iz uređaja 104 (0x68).

Računar šalje blok oblika :
[SOH<1>][LEN<2>][CMD<1>][TIP<1>][CRC<2>]

SOH - početak komunikacije
LEN - dužina komande
CMD - komanda
TIP - APN podešavanja: TIP=4 kod štampača
CRC - kontrolna ček suma

Štamač vraća odgovor oblika:
[SOH<1>][LEN<2>][CMD<1>][TIP<1>][APN LENGTH<2>][APN <22>][USERNAME LENGTH<2>][USERNAME <22>][PASSWORD LENGTH<2>][PASSWORD <22>][CRC<2>]

SOH - početak komunikacije
LEN - dužina komande
CMD - komanda
TIP -APN podešavanja: TIP=4 kod štampača;
APN LENGTH -dužina komande
APN - adresa APN-a
USERNAME LENGTH -dužina komande
USERNAME - korisničko ime
PASSWORD LENGTH -dužina komande
PASSWORD -lozinka
CRC - kontrolna ček suma

Primer čitanja podataka za APN GPRS provajdera iz uređaja.

Računar: 06 03 02 00 68 04 00 6e
Štampač: 06 03 4a 00 68 04 08 00 69 6e 74 65 72 6e 65 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 00 74 65 6c 65 6e 6f 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 67 70 72 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 e7

Komanda za resetovanje komande 64 (0x40).Obavezno je prisustvo džampera u ovom slučaju.

[SOH<1>][LEN<2>][CMD<1>][TIP<1>][CRC<2>]

SOH - početak komunikacije
LEN - dužina komande
CMD - komanda
TIP - TIP=0 kod štampača
CRC - kontrolna ček suma

Komanda za čitanje podataka sa GPRS terminala 96 (0x60).

Računar šalje blok oblika:

[STX<1>][LEN<1>][CMD<1>][CRC<2>]

STX -početak komunikacije
LEN - dužina komande
CMD - komanda
CRC - kontrolna ček suma

Uređaj vraća blok oblika:

[STX<1>][LEN<1>][CMD<1>][ SIGNAL LEVEL <1>][SEND TIME <4>][NEXT SEND <4>][SIM NUMBER <24>][CRC<2>]

STX -početak komunikacije
LEN - dužina komande
CMD - komanda
SIGNAL LEVEL- nivo signala u trenutku kada se očitaju podaci
SEND TIME - vreme slanja
NEXT SEND - zakazano vreme kada će se narednos slanje izvršiti
SIM NUMBER - ICCID kartice
CRC - kontrolna ček suma

Računar : 02 01 60 00 61

STX -početak komunikacije
LEN - dužina komande
CMD -60hex=96dec
CRC - kontrolna ček suma

Štampač : 06 02 22 60 0f de 50 eb 16 5e a2 ec 16 06 38 39 33 38 31 30 31 31 31 30 34 30 38 35 32 35 34 34 38 30 06 06 06 06 08 b0

06 - ACK
02 - STX ,početak komunikacije
22 - LEN, dužina komande
60 - CMD , komanda 60hex=96dec
0f - SIGNAL LEVEL,nivo signala u trenutku kada se očitaju podaci, po specifikaciji je od 0-31, u ovom primeru je 0fhex=15dec
de 50 eb 16 - SEND TIME, vreme slanja u sekundama,Vremena predstavljaju broj sekundi od 1.1.2000. (LSB-MSB)
5e a2 ec 16 - NEXT SEND,zakazano vreme kada će se narednos slanje izvršiti ,Vremena predstavljaju broj sekundi od 1.1.2000. (LSB-MSB)
06 38 39 33 38 31 30 31 31 31 30 34 30 38 35 32 35 34 34 30 06 06 06 06 - SIM NUMBER, Validan SIM BROJ mora da počinje sa 0X06, što predstavlja kontrolni bajt.
08 b0 - CRC ,kontrolna ček suma


primer: Komande za programiranje FTP-a

Primer komande za brzo GPRS podešavanja:

Request: 08/mm/2012 13:57:12.37764 (+3.7870 seconds)

 03 96 00 67 01 80 DE DE 80 04 00 74 65 73 74 00   .–.g.€ÞÞ€..test.
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
00 04 00 74 65 73 74 00 00 00 00 00 00 00 00 00   ...test.........
00 00 00 00 00 00 00 00 00 06 00 72 65 73 75 6C   ...........resul
74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   t...............
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
00 00 00 00 00 00 00 00 00 07 00 63 6F 6D 6D 61   ...........comma
6E 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00   nd..............
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
00 00 00 00 00 00 00 00 00 0C CD                  ..........Í

Answer: 08/mm/2012 13:57:12.38264 (+0.0050 seconds)

 06 02 02 7F 00 00 81                              .....

Request: 08/mm/2012 13:57:12.38564 (+0.0000 seconds)

 06 03 4A 00 67 04 08 00 69 6E 74 65 72 6E 65 74   ..J.g...internet
00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 00   ................
74 65 6C 65 6E 6F 72 00 00 00 00 00 00 00 00 00   telenor.........
00 00 00 00 00 00 04 00 67 70 72 73 00 00 00 00   ........gprs....
00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 E6   ...............æ

Answer: 08/mm/2012 13:57:12.39664 (+0.0060 seconds)

 06 02 02 7F 00 00 81                              .....

Request: 08/mm/2012 13:57:12.39864 (+0.0000 seconds)

 06                                                .


Brzo programiranje artikala

NAPOMENA: Za programiranje se koristi duga komanda koja može da sadrži najviše 512 byte-ova.

Komanda za brzo programiranje artikala je 12 (0x0C).

[SOH <1>][LEN1<1>][LEN2<1>][CMD <1>] (N)*{[LEN <1>][KOD<4>][IME<1-32>][J.MERE+P.STOPA<1>][CENA<4>]}[CRC <2>]

(N)* broj ponavaljanja narednog segmenta. Onoliko puta koliko artikala može da stane da komanda nema dužinu koja je veća od maksimalne - 512.

SOH - početak komunikacije
LEN1 - niži bajt dužine DATA bloka
LEN2 - viši bajt dužine DATA bloka
CMD - komanda
LEN - dužina bloka
KOD: Kod artikla koji predstavlja broj od 1 do 75000.
IME: Tekstualni opis artikla, koji predstavlja niz bajtova dužine od 1 do 32. Karakteri iz teksta su kodirani po tabeli koja se nalazi na kraju uputstva.
J.MERE+P.STOPA: Jedinica mere je broj zapisan u viša četiri bita, a poreska stopa niža četiri bita. Jedinica mere ima vrednost od 0 do 14 a poreska stopa od 0 do 8.
CENA: Cena artikla koju predstavlja broj zapisan u 4 bajta u vrednosti cene pomnožene sa 100 (cena se obeležava sa dva decimalna mesta).
CRC - kontrolna ček suma

Primer: programiraje tri artikla sa sledećim podacima:

Naziv: Article 1; Kod: 1; Cena: 1000,00; P.Stopa: A; J.Mere: kom
Naziv: Article 2; Kod: 2; Cena: 2000,00; P.Stopa: Г; J.Mere: kg
Naziv: Article 3; Kod: 1; Cena: 3000,00; P.Stopa: Д; J.Mere: g

Računar: 03 3A 00 0C 12 01 00 00 00 41 72 74 69 63 6C 65 20 31 00 A0 86 01 00 12 02 00 00 00 41 72 74 69 63 6C 65 20 32 11 40 0D 03 00 12 03 00 00 00 41 72 74 69 63 6C 65 20 33 22 E0 93 04 00 0C E5

03 - SOH
3A - LEN1
00 - LEN2
0C - CMD

12 - LEN (dužina bloka koji se šalje - za prvi artikal)
01 00 00 00 - KOD prvog artikla (LSB, MSB)
41 72 74 69 63 6C 65 20 31 - IME (karakteri su ispisani redom sa vrednostima po kodnoj tabeli datoj na kraju uputstva) ARTICLE 1
00 - J.Mere+P.Stopa (A i kom u ovom slučaju)
A0 86 01 00 - Cena (LSB, MSB)

12 - LEN (dužina sledećeg bloka - drugi artikal)
02 00 00 00 - KOD drugog artikla
41 72 74 69 63 6C 65 20 32 - IME (karakteri su ispisani redom sa vrednostima po kodnoj tabeli datoj na kraju uputstva) ARTICLE 2
11 - J.Mere+P.Stopa (Г i kg)
40 0D 03 00- Cena (LSB, MSB)

12 - LEN (dužina sledećeg bloka - treći artikal)
03 00 00 00 - KOD trećeg artikla (LSB, MSB)
41 72 74 69 63 6C 65 20 33 - IME (karakteri su ispisani redom sa vrednostima po kodnoj tabeli datoj na kraju uputstva) ARTICLE 3
22 - J.Mere+P.Stopa (Д i g)
E0 93 04 00 - Cena (LSB, MSB)

0C E5 - CRC

Štampač: 06 02 02 7F 00 00 81

06 - ACK
02 - STX
02 - LEN
7F 00 - Potvrda o uspešno izvršenoj komandi
00 81 - CRC


primer: Komande za brzo programiranje artikala

Primer komande za brzo programiranje artikala:

Request: 8.3.2012 14:31:32.31664 (+0.0010 seconds)

03 3A 00 0C 12 01 00 00 00 41 52 54 49 43 4C 45   .:.......ARTICLE
20 31 00 A0 86 01 00 12 02 00 00 00 41 52 54 49    1. †.......ARTI
43 4C 45 20 32 11 40 0D 03 00 12 03 00 00 00 41   CLE 2.@........A
52 54 49 43 4C 45 20 33 22 E0 93 04 00 0A A5      RTICLE 3"à“...¥

Answer: 8.3.2012 14:31:32.33064 (+0.0140 seconds)

 06 02 02 7F 00 00 81                              .....

Request: 8.3.2012 14:31:32.33164 (+0.0010 seconds)

 06


Brzo citanje artikala

Brzo čitanje artikla:

NAPOMENA:
Za čitanje se koristi duga komanda koja može da sadrži najviše 512 byte-ova. Upit se šalje za prvi sledeći artikal. Štampač vraća odgovor sa artiklima, redom po kodu, od traženog koda.

Komanda za brzo čitanje artikala je 19 (0x13).

Računar šalje blok oblika:

[SOH<1>][LEN<2>][CMD<1>][KOD<4>][CRC<2>]

SOH - početak komunikacije
LEN - dužina komande
CMD - komanda
KOD - Kod prvog artikla koji predstavlja broj od 1 do 75000.
CRC - kontrolna ček suma

Štampač vraća blok oblika:

[SOH<1>][LEN<2>][CMD<1>][N*{[LEN<1>][KOD<4>][IME<32>][JM+PORESKA STOPA <1>][CENA <4>]}[CRC<2>]

(N)* broj ponavaljanja narednog segmenta. Onoliko puta koliko artikala može da stane da komanda nema dužinu koja je veća od maksimalne - 512.

SOH - početak komunikacije
LEN - dužina komande
CMD -komanda
LEN - dužina narednog koda
KOD -kod
IME- naziv artikla
JM+PORESKA STOPA -Jedinica mere je broj zapisan u niža četiri bita, a poreska stopa viša četiri bita. Jedinica mere ima vrednost od 0 do 15 a poreska stopa od 0 do 8.
CENA - Cena artikla koju predstavlja broj zapisan u 4 bajta u vrednosti cene pomnožene sa 100 (cena se obeležava sa dva decimalna mesta).
CRC - kontrolna ček suma

Primer 1: čitanje artikla:

Računar:: 06 03 05 00 13 01 00 00 00 00 19

06-ACK
03 - SOH
05 00 - LEN
13 - CMD
01 00 00 00 - KOD , kod od kog se počinje čitanje artikla
00 19 - CRC, kontrolna ček suma (05 + 13+ 01)hex

Štampač: 06 08 08 08 08 08 08 03 60 00 13 12 01 00 00 00 41 72 74 69 63 6c 65 20 31 b0 54 2c 00 00 12 02 00 00 00 41 72 74 69 63 6c 65 20 32 03 04 ae 00 00 12 03 00 00 00 41 72 74 69 63 6c 65 20 33 63 f2 bd 0000 12 04 00 00 00 41 72 74 69 63 6c 65 20 34 85 a5 fe 00 00 12 05 00 00 00 41 72 74 69 63 6c 65 20 35 07 e9 65 01 00 17 c4

06 - ACK
08 - WAIT
03 -SOH
60 00 - LEN
13 - CMD
12 - LEN, dužina narednog koda je 12hex=18dec
01 00 00 00 - KOD
41 72 74 69 63 6c 65 20 31- IME, 41hex = 65dec(A); 72hex = 114dec(r), 74hex = 116dec(t); 69hex = 105dec(i); 63hex = 99dec(c); 6chex = 108dec(l); 65hex = 101 dec(e); 20hex = 32dec(); 31hex = 49dec(1)-vrednosti pogledati na dnu uputstva u tabeli karaktera
b0 - JM+PORESKA STOPA, bhex =11dec i to je jedinica mere definisana JM11, a 0 je poreska stopa PS1 (A)
54 2C 00 00 -CENA, 2C54hex = 11348/100 je 113.48 cena artikla
12 - LEN, dužina narednog koda je 12hex=18dec
02 00 00 00 - KOD
41 72 74 69 63 6c 65 20 32- IME
03 - JM+PORESKA STOPA, jedinica mere definisana JM0, a 3 je poreska stopa PS4 (Ђ)
04 ае 00 00 -CENA, ае04hex = 44548/100 je 445.48 cena artikla
12 - LEN, dužina narednog koda je 12hex=18dec
03 00 00 00 - KOD
41 72 74 69 63 6c 65 20 33- IME
63 - JM+PORESKA STOPA, 6 jedinica mere definisana JM6, 3 je poreska stopa PS4 (Ђ)
f2 bd 00 00 -CENA, (bd f2)hex = 48626 /100=486,26
12 - LEN, dužina narednog koda je 12hex=18dec
04 00 00 00 - KOD
41 72 74 69 63 6c 65 20 34- IME
85 - JM+PORESKA STOPA, 8 jedinica mere definisana JM8, 5 je poreska stopa PS5 (Ж)
а5 fe 00 00 -CENA,( fea5)hex = 65189/100=651,89
12 - LEN, dužina narednog koda je 12hex=18dec
05 00 00 00 - KOD
41 72 74 69 63 6c 65 20 35- IME
07 - JM+PORESKA STOPA, 0 jedinica mere definisana JM0, 7 je poreska stopa PS7 (J)
e9 65 01 00 -CENA,( 0165e9)hex = 91625/100=916,25
17 c4 -CRC

Nakon ove komande Računar šalje komandu

Računar: 06 03 05 00 13 06 00 00 00 00 1e

06-ACK
03-SOH
05 00 -LEN
13-CMD
06 00 00 00- KOD , šalje kod narednog koda čije je mesto slobodno za definisanje(ovaj kod nije definisan tj isprogramiran i zato je uređaj vratio grešku 12- Zadata cena artikla nije validna , što znači da ovaj artikal ne postoji u uređaju )

Štampač: 06 08 08 08 08 08 02 02 7f 12 00 93

06-ACK
08-WAIT
02 -STX
02 -LEN
7f 12 - 7f - FLAG koji ukazuje na grešku čiji je broj zapisan u sledećem bajtu ; 12 -Zadata cena artikla nije validna
00 93 -CRC


primer: Komande za brzo citanje artikala

Primer komande za brzo čitanje artikala:

Request: 08/mm/2012 13:52:17.93764 (+0.0000 seconds)

 06 03 05 00 13 01 00 00 00 00 19                  ...........

Answer: 08/mm/2012 13:52:17.94164 (+0.0040 seconds)

06 03 C7 01 13 11 01 00 00 00 41 72 74 69 6B 61   ..Ç.......Artika
6C 31 00 A0 86 01 00 1E 02 00 00 00 41 72 74 69   l1. †.......Arti
6B 61 6C 32 20 4C 44 48 47 44 4A 41 4E 4B 42 41   kal2 LDHGDJANKBA
47 B6 40 0D 03 00 1B 03 00 00 00 41 72 74 69 6B   G¶@........Artik
61 6C 33 20 47 49 4A 42 45 45 4F 41 49 95 E0 93   al3 GIJBEEOAI•à“
04 00 19 04 00 00 00 41 72 74 69 6B 61 6C 34 20   .......Artikal4
4A 43 48 45 48 45 48 63 80 1A 06 00 1F 05 00 00   JCHEHEHc€.......
00 41 72 74 69 6B 61 6C 35 20 42 48 48 47 46 44   .Artikal5 BHHGFD
46 59 48 4A 44 48 48 C7 20 A1 07 00 11 06 00 00   FYHJDHHÇ ¡......
00 41 72 74 69 6B 61 6C 36 00 B4 17 0C 00 11 07   .Artikal6.´.....
00 00 00 41 72 74 69 6B 61 6C 37 00 90 7A 09 00   ...Artikal7.z..
13 08 00 00 00 41 72 74 69 6B 61 6C 38 20 46 10   .....Artikal8 F.
D8 86 05 00 14 09 00 00 00 41 72 74 69 6B 61 6C   Ø†.......Artikal
39 20 48 48 21 8C E0 06 00 1D 0A 00 00 00 41 72   9 HH!Œà.......Ar
74 69 6B 61 6C 31 30 20 47 4C 45 45 49 41 45 48   tikal10 GLEEIAEH
44 47 95 E4 16 0F 00 1B 0B 00 00 00 41 72 74 69   DG•ä........Arti
6B 61 6C 31 31 20 47 56 44 45 41 48 48 4A 84 C0   kal11 GVDEAHHJ„À
86 0E 00 17 0C 00 00 00 41 72 74 69 6B 61 6C 31   †.......Artikal1
32 20 44 43 42 42 42 9C E0 00 00 1C 0D 00 00 00   2 DCBBBœà.......
41 72 74 69 6B 61 6C 31 33 20 54 44 4A 44 44 4D   Artikal13 TDJDDM
46 42 43 85 B4 D3 0E 00 16 0E 00 00 00 41 72 74   FBC…´Ó.......Art
69 6B 61 6C 31 34 20 49 44 4A 31 98 F2 0B 00 16   ikal14 IDJ1˜ò...
0F 00 00 00 41 72 74 69 6B 61 6C 31 35 20 43 4A   ....Artikal15 CJ
47 31 58 3D 0B 00 21 10 00 00 00 41 72 74 69 6B   G1X=..!....Artik
61 6C 31 36 20 47 47 4F 43 41 41 43 45 49 47 46   al16 GGOCAACEIGF
4A 4A 4A D7 DC 40 0B 00 1C 11 00 00 00 41 72 74   JJJ×Ü@.......Art
69 6B 61 6C 31 37 20 4A 44 4A 43 46 44 42 41 42   ikal17 JDJCFDBAB
85 F4 91 01 00 15 12 00 00 00 41 72 74 69 6B 61   …ô‘.......Artika
6C 31 38 20 4A 4B 21 B0 91 0E 00 74 FF            l18 JK!°‘..tÿ

Request: 08/mm/2012 13:52:17.99264 (+0.0010 seconds)

 06 03 05 00 13 13 00 00 00 00 2B                  ..........+

Answer: 08/mm/2012 13:52:17.99564 (+0.0030 seconds)

06 08 08 08 08 08 08 02 39 13 16 13 00 00 00 41   ........9......A
72 74 69 6B 61 6C 31 39 20 48 41 41 31 40 B1 09   rtikal19 HAA1@±.
00 20 14 00 00 00 41 72 74 69 6B 61 6C 32 30 20   . ....Artikal20
44 48 47 53 49 45 44 45 47 44 45 44 42 C7 98 C7   DHGSIEDEGDEDBÇ˜Ç
0E 00 0F 01                                       ....

Request: 08/mm/2012 13:52:19.85364 (+0.0000 seconds)

 06 03 05 00 13 15 00 00 00 00 2D                  ..........-

Answer: 08/mm/2012 13:52:19.85864 (+0.0050 seconds)

 06 08 08 08 08 08 08 02 02 7F 12 00 93            ...........“

Request: 08/mm/2012 13:52:21.68564 (+0.0000 seconds)

 06                                                .


Brzo brisanje artikala

NAPOMENA:
Za brisanje se koristi duga komanda koja može da sadrži najviše 512 byte-ova. U štampaču mora biti isprogramiran najmanje jedan artikal. Mogućnost brisanja više artikala u jednoj komandi. Komanda za brzo brisanje artikala je 13 (0x0D).

Računar šalje blok oblika:

[SOX<1>][LEN<2>][CMD<1>][(N)*[KOD <4>]][CRC<2>]

(N)* broj ponavaljanja narednog segmenta. Onoliko puta koliko artikala može da stane da komanda nema dužinu koja je veća od maksimalne - 512.

SOH - početak komunikacije
LEN - dužina komande
CMD - komanda
KOD - Kod prvog artikla koji predstavlja broj od 1 do 75000
CRC - kontrolna ček suma

Primer 1: komanda za brzo brisanje artikala.

Računar: 03 0d 00 0d 01 00 00 00 02 00 00 00 03 00 00 00 00 20

03 - SOH, početak komunikacije
0d 00- LEN
0d - CMD, komanda 0dhex =13dec
01 00 00 00 - KOD, prvi kod koji je obrisan
02 00 00 00 - KOD,drugi kod koji je obrisan
03 00 00 00 -KOD, treći kod koji je obrisan
00 20 - CRC, kontrolna ček suma (0d+0d+01+02+03)hex

Štampač: 06 02 02 7f 00 00 81

06 - ACK
02 - STX
02 - LEN
7f 00 - uspešno izvršena komanda
00 81 - CRC


primer: Komande za brzo brisanje artikala

Primer komande za brzo brisanje artikala:

Request: 08/mm/2012 13:50:39.53464 (+0.0070 seconds)

03 51 00 0D 51 00 00 00 52 00 00 00 53 00 00 00   .Q..Q...R...S...
54 00 00 00 55 00 00 00 56 00 00 00 57 00 00 00   T...U...V...W...
58 00 00 00 59 00 00 00 5A 00 00 00 5B 00 00 00   X...Y...Z...[...
5C 00 00 00 5D 00 00 00 5E 00 00 00 5F 00 00 00   \...]...^..._...
60 00 00 00 61 00 00 00 62 00 00 00 63 00 00 00   `...a...b...c...
64 00 00 00 07 70                                 d....p

Answer: 08/mm/2012 13:50:39.53864 (+0.0040 seconds)

 06 02 02 7F 00 00 81                              .....

Request: 08/mm/2012 13:50:39.54664 (+0.0000 seconds)

 06                                                .


Promena cene artikla

NAPOMENA:
Za programiranje se koristi duga komanda koja može da sadrži najviše 512 byte-ova. Cena mora biti veća od nule. Istovremeno se može izvršiti promena cena više artikala.

Komanda za promenu cene artikala je 11 (0x0B).

[SOH<1>][LEN<2>][CMD<1>][(N)*{[KOD <4>][CENA<4>]}][CRC<2>]

(N)* broj ponavaljanja narednog segmenta. Onoliko puta koliko artikala može da stane da komanda nema dužinu koja je veća od maksimalne - 512.

SOH - početak komunikacije
LEN - dužina komande
CMD - komanda
KOD - Kod prvog artikla koji predstavlja broj od 1 do 75000.
CENA - Cena artikla koju predstavlja broj zapisan u 4 bajta u vrednosti cene pomnožene sa 100 (cena se obeležava sa dva decimalna mesta).
CRC - kontrolna ček suma

Primer komande za promenu cene artikla.

Računar: 03 09 00 0b 04 00 00 00 88 13 00 00 00 b3

03 - SOH
09 00 - LEN
0b - CMD, 0bhex = 11dec
04 00 00 00 - KOD , kod artikla kome menjamo cenu
88 13 00 00 - CENA, nova vrednost za artikal , 1388hex = 5000/100 =50,00
00 b3 - CRC, kontrolna ček suma

Štampač: 06 02 02 7f 00 00 81

06 - ACK
02 - STX
02 - LEN
7f 00 - uspešno izvršena komanda
00 81 - CRC


primer: Komande za promenu cene artikla

Primer komande za brzu promenu cene artikala:

Request: 08/mm/2012 13:42:55.14564 (+0.0130 seconds)

03 A1 00 0B 01 00 00 00 A0 86 01 00 02 00 00 00   .¡...... †......
40 0D 03 00 03 00 00 00 E0 93 04 00 04 00 00 00   @.......à“......
80 1A 06 00 05 00 00 00 20 A1 07 00 06 00 00 00   €....... ¡......
B4 17 0C 00 07 00 00 00 90 7A 09 00 08 00 00 00   ´.......z......
D8 86 05 00 09 00 00 00 8C E0 06 00 0A 00 00 00   Ø†......Œà......
E4 16 0F 00 0B 00 00 00 C0 86 0E 00 0C 00 00 00   ä.......À†......
9C E0 00 00 0D 00 00 00 B4 D3 0E 00 0E 00 00 00   œà......´Ó......
98 F2 0B 00 0F 00 00 00 58 3D 0B 00 10 00 00 00   ˜ò......X=......
DC 40 0B 00 11 00 00 00 F4 91 01 00 12 00 00 00   Ü@......ô‘......
B0 91 0E 00 13 00 00 00 40 B1 09 00 14 00 00 00   °‘......@±......
98 C7 0E 00 18 99                                 ˜Ç...™

Answer: 08/mm/2012 13:42:55.15064 (+0.0050 seconds)

 06 02 02 7F 00 00 81                              .....

Request: 08/mm/2012 13:42:55.15664 (+0.0000 seconds)

 06                                                .


Stampanje nefiskalnog teksta

Štampanje nefiskalnog teksta:

NAPOMENA:
Za programiranje se koristi duga komanda koja može da sadrži najviše 512 byte-ova. Tekst se štampa latiničnim slovima i ne sme imati rezervisane reči za fiskalna dokumenta (DNEVNI IZVEŠTAJ...).

Komanda za štampanje nefiskalnog teksta je 26 (0x1A).

[SOH<1>][LEN<2>][CMD<1>][FUTER <1>][(N)*{ [TIP <1>][ TEXT <32>]}][CRC<2>]

SOH - početak komunikacije
LEN - dužina komande
CMD - komanda
FUTER - Označava da li se posle primljenog bloka štampa futer - odnosno seče papir (0 – ne,1 - da).
TIP - Označava tip štampanja:(font) Može imati dve vrednosti u zavisnosti od načina štampanja:

  • regularna slova tj font 0xFF
  • boldirana slova 0xFF&~0x10 tj 0xEF

TEXT - Označava niz karaktera u jednom redu štampača
CRC - kontrolna ček suma

Primer 1: štampanje nefiskalnog teksta.

Računar: 03 44 00 1a 01 ff 4f 76 6f 20 6a 65 20 6e 65 66 69 73 6b 61 6c 6e 69 20 74 65 6b 73 74 20 6b 6f 6a 69 20 73 6c 75 ff 7b 69 20 7a 61 20 74 65 73 74 69 72 61 6e 6a 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 16 88

03- SOH
44 00 -LEN
1a - CMD, 1ahex = 26dec
01 -FUTER, u navedenom primeru je vrednost futera 01 tj nakon štampe nefiskalnog teksta se papir seče na uređaju
ff - TIP , tip štampanja je ff tj mala slova su u nefiskalnom tekstu
4f 76 6f 20 6a 65 20 6e 65 66 69 73 6b 61 6c 6e 69 20 74 65 6b 73 74 20 6b 6f 6a 69 20 73 6c 75 - TEXT, vrednosti pogledati u tabeli sa karakterima 4fhex=79dec(O);76hex=118dec(v);6fhex =111 dec(o)....
ff -TIP
7b 69 20 7a 61 20 74 65 73 74 69 72 61 6e 6a 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 - TEXT
16 88 - CRC , kontrolna ček suma

Štampač: 06 02 02 7f 00 00 81

06 - ACK
02 - STX
02 - LEN
7f 00 - uspešno izvršena komanda
00 81 - CRC


primer: Komande za stampanje nefiskalnog teksta

Primer komande za štampanje nefiskalnog teksta:

Request: 08/mm/2012 13:41:58.69864 (+0.0050 seconds)

03 44 00 1A 01 FF 4B 41 53 41 20 31 3A 20 20 20   .D...ÿKASA 1:
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 FF 4B 61 73 69 72 3A 20 50 65         ÿKasir: Pe
74 61 72 20 50 65 74 72 6F 76 69 63 20 20 20 20   tar Petrovic
20 20 20 20 20 20 20 10 44                               .D

Answer: 08/mm/2012 13:41:58.70264 (+0.0040 seconds)

 06 02 02 7F 00 00 81                              .....

Request: 08/mm/2012 13:41:58.71064 (+0.0000 seconds)

 06                                                .


Komande za direktno citanje memorije

Komande za direktno čitanje memorije:

NAPOMENA:
Za čitanje se koristi duga komanda koja može da sadrži najviše 512 byte-ova. Upit se šalje za početnu memorijsku adresu. Štampač vraća odgovor sa podacima iz memorije od adrese do kraja komande.

Komanda za čitanje RAM memorije je 9 (0x09).

[SOH<1>][LEN<2>][CMD<1>][MEMORIJSKA ADRESA <4>][CRC<2>]

SOH - početak komunikacije
LEN - dužina komande
CMD - komanda
MEMORIJSKA ADRESA, adresa od koje počinje da čita RAM memoriju
CRC - kontrolna ček suma

Komanda za čitanje fiskalne memorije je 8 (0x08).

SOH - početak komunikacije
LEN - dužina komande
CMD - komanda
MEMORIJSKA ADRESA, adresa od koje počinje da čita fiskalnu memoriju
CRC - kontrolna ček suma

Komanda za čitanje FLASH memorije je 76 (0x4C).

SOH - početak komunikacije
LEN - dužina komande
CMD - komanda
MEMORIJSKA ADRESA, adresa od koje počinje da čita FLASH memoriju
CRC - kontrolna ček suma

Primer komande za čitanje flesh memorije.(0-800bytes) .


primer: Komande za direktno citanje memorije

Primer komande za čitanje fiskalne memorije:

Request: 08/mm/2012 13:38:20.97964 (+0.0000 seconds)

 03 05 00 08 00 00 00 00 00 0D                     ..........

Answer: 08/mm/2012 13:38:20.98364 (+0.0040 seconds)

06 03 C5 01 08 00 00 00 00 FF FF FF FF 1E 4A E7   ..Å......ÿÿÿÿ.Jç
16 54 87 30 30 30 30 38 30 46 53 36 39 43 46 41   .T‡000080FS69CFA
35 FF FF FF FF FF FF FF FF 33 32 31 33 32 31 33   5ÿÿÿÿÿÿÿÿ3213213
32 31 FF FF FF FF FF FF FF EA 20 FF FF FF FF FF   21ÿÿÿÿÿÿÿê ÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF 55 55 AA AA FF FF FF FF FF FF FF FF FF FF FF   ÿUUªªÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF A6 6A                  ÿÿÿÿÿÿÿÿÿ¦j

Request: 08/mm/2012 13:38:20.03364 (+0.0000 seconds)

 06 03 05 00 08 C0 01 00 00 00 CE                  .....À....Î

Answer: 08/mm/2012 13:38:20.03764 (+0.0040 seconds)

06 03 C5 01 08 C0 01 00 00 FF FF FF FF FF FF FF   ..Å..À...ÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF BF CF                  ÿÿÿÿÿÿÿÿÿ¿Ï

Request: 08/mm/2012 13:38:20.08864 (+0.0000 seconds)

 06 03 05 00 08 80 03 00 00 00 90                  .....€....

Answer: 08/mm/2012 13:38:20.09464 (+0.0040 seconds)

06 03 C5 01 08 80 03 00 00 FF FF FF FF FF FF FF   ..Å..€...ÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF BF 91                  ÿÿÿÿÿÿÿÿÿ¿‘

Request: 08/mm/2012 13:38:20.14464 (+0.0000 seconds)

 06                                                .


ASCII komande

NAPOMENA:
Komande služe za očitavanja podataka iz fiskalne memorije u ASCII formatu, koji je predviđen za slanje podataka na server poreske uprave.

Komanda za čitanje podataka o dnevnom izveštaju u ASCII obliku 91 (0x05b).

Računar šalje blok oblika:

[STX<1>][LEN1<1>][CMD<1>][DAILY NUM <2>][CRC<2>]

STX -početak kumunikacije
LEN - dužina komande
CMD - komanda
DAILY NUM - broj dnevnog izveštaja za koji se traži ascii vrednost
CRC - kontrolna ček suma

Štampač vraća blok oblika:

[STX<1>][LEN1<1>][CMD<1>][ASCII STRING DAILY <35>][CRC<2>]

STX -početak kumunikacije
LEN - dužina komande
CMD - komanda
ASCII STRING DAILY - vraća vrednost za željeni dnevni izveštaj u obliku predviđenom za slanje na server
CRC - kontrolna ček suma

Komanda za čitanje podataka o resetima u ASCII obliku 92 (0x05c).

Računar šalje blok oblika:

[STX<1>][LEN1<1>][CMD<1>][RESET NUM <2>][CRC<2>]

STX -početak kumunikacije
LEN - dužina komande
CMD - komanda
RESET NUM - broj reseta za koji se traži ascii vrednost
CRC - kontrolna ček suma

Štampač vraća blok oblika:

[STX<1>][LEN1<1>][CMD<1>][ASCII STRING RESET <15>][CRC<2>]

STX -početak kumunikacije
LEN - dužina komande
CMD - komanda
ASCII STRING RESET- vraća vrednost za željeni reset u obliku predviđenom za slanje na server
CRC - kontrolna ček suma

Komanda za čitanje podataka o poreskim stopama u ASCII obliku 93 (0x05d).

Računar šalje blok oblika:

[STX<1>][LEN1<1>][CMD<1>][VAT NUM <2>][CRC<2>]

STX -početak kumunikacije
LEN - dužina komande
CMD - komanda
VAT NUM- broj poreske stope za koji se traži ascii vrednost, poreske stope se indeksiraju od (0-8)
CRC - kontrolna ček suma

Štampač vraća blok oblika:

[STX<1>][LEN1<1>][CMD<1>][ASCII STRING VATS <33>][CRC<2>]

STX -početak kumunikacije
LEN - dužina komande
CMD - komanda
ASCII STRING VATS - vraća vrednost za željenu poresku stopu u obliku predviđenom za slanje na server
CRC - kontrolna ček suma


Primer komande za DI iz fiskalne memorije za GPRS:

Request: 09/mm/2012 14:15:46.87964 (+0.0000 seconds)

 06 02 03 5B 01 00 00 5F                           ...[..._

Answer: 09/mm/2012 14:15:46.88364 (+0.0030 seconds)

 06 02 24 5B 31 20 30 20 30 35 30 33 31 32 20 30   ..$[1 0 050312 0
 39 35 35 20 30 20 30 20 30 20 30 20 30 20 30 20   955 0 0 0 0 0 0
 30 20 30 20 30 0D 0A 06 25                        0 0 0...%


Tabela gresaka

TIP GREŠKE | NUMERIČKI KOD
Artikal sa zadatim kodom i barkodom već postoji. | 10
Zadati kod artikla nije validan. | 11
Zadata cena artikla nije validna. | 12
Zadato odeljenje nije validno. (ne postoji kod štampača) | 13
Zadata poreska stopa nije validna. | 14
Zadata jedinica mere nije validna. | 15
Kod ili barkod artikla nije validan.(ne postoji kod štampača) | 16
Barkod artikla nije validan.(ne postoji kod štampača) | 17
Nepostojeći artikal. | 18
Baza artikala je puna. | 19
Opis (naziv artikla) je prazan | 20
Neadekvatna vrednost. (univerzalna poruka za poslate vrednosti) | 21
Nedefinisana vrednost. (univerzalna poruka za čitanje vrednosti) | 22
Vrednost je ista. (univerzalna poruka za programiranje vrednosti) | 23
Vrednost je obrisana. (univerzalna poruka kod čitanja vrednosti) | 24
Test je uspešan. | 25
Vrednost je predhodno već definisana. (univerzalna poruka za poslate vrednosti) | 26
Šifra postoji. | 27
Vrednost se ne može promeniti. (univerzalna poruka za poslate vrednosti) | 28
Započet fiskalni račun. | 31
Započet fiskalni dan. | 32
Neadekvatna količina kod prodaje artikla. | 33
Mora se zatvoriti fiskalni račun. | 34
Poreska stopa nije definisana. Artikal ima nedefinisanu poresku stopu. | 35
Fiskalna vrednost je premala. Obračunati porez na zadatu cenu i količinu je nula. | 36
Fiskalna vrednost je prevelika. Obrčunata vrednost za cenu i količinu izlazi iz opsega. | 37
Nije započet račun. | 38
Mora se uraditi dnevni izveštaj. | 39
Slika je već definisana.(ne postoji kod štampača) | 42
Baza je prazna. | 43
Uređaj je zauzet. Morate pokušati kasnije. | 44
Podignuta glava štampača kontrolne trake. | 65
Mali broj preostalih reseta. | 66
Mali broj preostalih promena poreskih stopa. | 67
Mali broj preostalih dnevnih izvestaja. | 68
Vreme je da se odradi sledeći tehnički pregled. | 69
Jumper nije prisutan. | 75
Vreme se ne može podesiti. | 76
Pogrešno vreme. | 77
Jumper je prisutan. | 78
Šifra već postoji. | 79
Morate se ulogovati. | 80
Nemate obobrenje. | 81
Ne postoji podkomanda. | 82
Uređaj ne podržava trženu opciju. | 83
Greška kod evidencije protoka novca. | 97
Storniranje nije završeno. | 99
Kasa je zauzeta. | 100
Dužina komande nije adekvatna. | 101
Nepostojeća komanda. | 102
Komanda se ne može izvršiti. | 103
Poslednji artikal u bazi. | 104
Glava štampača je pregrejana. | 217
Štampač nema više papira. | 218
Podignuta glava glavnog štampača. | 219
Greška u memoriji. | 220
Fiskalna memorija je puna. | 221
Greška u fiskalnoj memoriji. | 222
Fiskalna memorija je fiskalizovana. | 223
PIB fiskalne memorije nije validan. | 224
Greška u displeju. | 225
Greška u tastaturi. | 226
Greška u modemu. | 227
Modem nije prisutan. | 228
Modem je zauzet | 229
Modem je u radnom režimu. | 230
Mora se izvršiti reset. | 235