Popis řídicí sekvence pro tisk čárového kódu na tiskárnách EPSON ================================================================ řídicí sekvence: ESC ( B n1 n2 k m s v1 v2 c data n1,n2 - údaj o počtu znaků čárového kódu - hodnota n = počet_znaků + 6 - hodnota n = (n1 + (256 x n2)) - pro code39 je min. hodnota n1=0Eh (max. ověřená hodnota n1=28h, n2=0) k - určuje typ čárového kódu: k=0 EAN-13 k=1 EAN-8 k=2 Interleaved 2/5 k=3 UPC-A k=4 UPC-E k=5 Code 39 k=6 Code 128 k=7 POSTNET m - šířka modulu (udává počet bodů modulu čárového kódu v rozsahu 2 až 5) - hodnota souvisí s hustotou bodů podle druhu tiskárny (9-jehličková - řada FX, 24-jehličková - řada LQ): FX - 120 dpi, LQ - 180 dpi. s - velikost mezery mezi čarami v jednotkách: FX - 1/240 ", LQ - 1/360 ". - přípustné hodnoty od -3 do +3 (FDh až 03h) v1,v2 - délka čáry čárového kódu (výška celého pruhu) v jednotkách: FX - 1/72 ", LQ - 1/180 ". - hodnota v = (v1 + (256 x v2)) - při volbě kódu POSTNET se tento údaj ignoruje c - bit 0: povoluje nebo potlačuje tisk kontrolního znaku do čarového kódu i do případného datového řetězce. ("0" tisk potlačuje, "1" tisk povoluje.) - bit 1: povoluje nebo potlačuje tisk datového řetězce v čitelných znacích ("0" tisk povoluje, "1" tisk potlačuje). - bit 2: umístění orientačního znaku u kódů EAN-13 a UPC-A): "0" vlevo vedle čárového kódu, "1" vlevo vedle alfanumerického řetězce. - bity 3 až 7 se nepoužívají data - datový řetězec splňující ostatní podmínky uvedené v textu Poznámky: - u kódu Code 128 určuje první byte datového řetězce znakovou sadu (set A, set B nebo set C hodnotou 41h, 42h nebo 43h). - u kódů Code 128 Set C nebo Interleaved 2/5 musí mít datový řetězec sudý počet údajů. Při lichém počtu údajů se do řetězce automaticky doplňuje 0. - Kromě kódů označených jako Code39 a Code128 lze jako vstupní data použít pouze numerické hodnoty od 0 do 9. U Code39 je možno použít i velké alfabetické znaky A až Z a speciální znaky < >, <$>, <%>, <+>, <->, <.> a (hexadecimální hodnoty 20h, 24h, 25h, 2B, 2D, 2E a 2F). Příklad 1 - Tisk čarového kódu EAN13 s 13-znakovým numerickým --------- řetězcem "1234567890123" na 24-jehličkové tiskárně: n = počet znaků + 6 = 13 + 6 = 19 (dekadicky) = 0013 (hexadec.), hodnoty n1 = 13h, n2 = 0; typ čárového kódu je EAN13, z toho plyne hodnota k = 0; hodnota m = 3 (zvolená druhá nejmenší hodnota); hodnota s = 0 (std. hodnota, nepočítaná); požadovaná výška pruhu čárového kódu (délka kratších čar) je 10mm = 0,39", pro 24-jehličkovou tiskárnu s hustotou tisku 1/180 " je hodnota v = 0,39 x 180 = 70 (dek.) = 46 (hexadec.); hodnoty v1 = 46, v2 = 0; hodnota c: potlačení tisku kontrolního znaku - bit 0 = 0 povolení tisku alfanumerických znaků - bit 1 = 0 umístění orientačního znaku vedle alfanumerického řetězce - bit 2 = 1 bity 3 až 7 se nepoužívají výsledná hodnota c = 4; celý řetězec je: 1B 28 42 13 00 00 03 00 46 00 04 a data jsou: 31 32 33 34 35 36 37 38 39 30 31 32 33 Příklad 2 - Tisk čarového kódu Code39 s 10-znakovým numerickým --------- řetězcem "ABCDE12345" na 9-jehličkové tiskárně: n = počet znaků + 6 = 10 + 6 = 16 (dekadicky) = 0010 (hexadec.), hodnoty n1 = 10h, n2 = 0; typ čárového kódu je Code39, z toho plyne hodnota k = 5; hodnota m = 2 (zvolená nejmenší možná hodnota); hodnota s = 0 (std. hodnota, nepočítaná); požadovaná výška pruhu čárového kódu je 16mm = 0,63", pro 9-jehličkovou tiskárnu s hustotou tisku 1/72 " je hodnota v = 0,63 x 72 = 45 (dek.) = 2D (hexadec.); hodnoty v1 = 2D, v2 = 0; hodnota c: povolení tisku kontrolního znaku - bit 0 = 1 povolení tisku alfanumerických znaků - bit 1 = 0 dělicí znak se nepoužívá - bit 2 = 0 bity 3 až 7 se nepoužívají výsledná hodnota c = 1; celý řetězec je: 1B 28 42 10 00 05 03 00 2D 00 01 a data jsou: 41 42 43 44 45 31 32 33 34 35 (V tomto případě bude výsledný čárový kód včetně kontrolního znaku obsahovat celkem 11 znaků.)