TCVN7202:2002

Tiêu chuẩn Việt Nam TCVN 7202:2002 về Phân định và thu nhận dữ liệu tự động - Mã vạch 3.9 - Yêu cầu kỹ thuật TIÊU CHUẨN VIỆT NAM TCVN 7202 : 2002 PHÂN ĐỊNH VÀ THU NHẬN DỮ LIỆU TỰ ĐỘNG – MÃ VẠCH 3.9 - YÊU CẦU KỸ THUẬT Automatic identification and data capture – Bar code 3.9 - Specification 1 Phạm vi áp dụng 1.1 Tiêu chuẩn này qui định yêu cầu kỹ thuật, cấu trúc, phương thức mã hóa ký tự dữ liệu và các yêu cầu về kích thước đối với mã vạch 3.9. 1.2 Mã vạch 3.9 có thể sử dụng để thể hiện mã số, hoặc một mã gồm cả chữ lẫn số. Mã vạch 3.9 được sử dụng để phân định các đối tượng cần phân định tự động trong quản lý vật phẩm, con người hoặc quá trình. 1.3 Mã vạch 3.9 không dùng để thể hiện các loại mã số thương phẩm toàn cầu (Global Trade Item Number - GTIN) cũng như mã địa điểm toàn cầu (GLN). 2 Tiêu chuẩn viện dẫn TCVN 6382:1998 Mã số mã vạch vật phẩm - Mã vạch tiêu chuẩn 13 chữ số (EAN-VN 13) - Yêu cầu kỹ thuật TCVN 6383:1998 Mã số mã vạch vật phẩm - Mã vạch tiêu chuẩn 8 chữ số (EAN-VN 8) - Yêu cầu kỹ thuật TCVN 6513:1999 Mã số mã vạch vật phẩm - Mã vạch ITF - Yêu cầu kỹ thuật TCVN 6755:2000 Mã số mã vạch vật phẩm - Mã vạch EAN.UCC 128 - Qui định kỹ thuật. 3 Thuật ngữ và định nghĩa Tiêu chuẩn này sử dụng các thuật ngữ và định nghĩa có liên quan như đã qui định trong các tiêu chuẩn viện dẫn ở điều 2. 4 Yêu cầu kỹ thuật 4.1 Các đặc trưng của mã vạch 3.9 4.1.1 Mã vạch 3.9 là một hình chữ nhật cấu thành từ nhiều vạch tối và sáng đặt song song và vuông góc với một đường cơ sở tưởng tượng; ở bên phải và bên trái hình chữ nhật có hai vùng trống. 4.1.2 Mã vạch 3.9 có khả năng mã hóa tập hợp ký tự sau: 1) Các chữ cái và chữ số toàn bộ từ A đến Z và từ 0 đến 9 (bao gồm các ký tự ASCII từ 65 đến 90 và từ 48 đến 57, theo ISO 646 kể cả các giá trị biên); 2) Các ký tự đặc biệt: khoảng trống $ % + - . / (tương ứng với các ký tự ASCII 32, 36, 37, 43, 45, 46 và 47, theo ISO 646); 3) Ký tự bắt đầu, kết thúc 4.1.3 Mã vạch 3.9 có kiểu mã rời rạc. Mỗi ký tự mã hóa được cấu thành từ 9 vạch, bao gồm 3 vạch rộng và 6 vạch hẹp, trong đó có 5 vạch tối và 4 vạch sáng. Nguyên tắc mã hóa này áp dụng cả với các ký tự bắt đầu và ký tự kết thúc. 4.1.4 Mỗi ký tự của mã vạch được cấu thành từ 13 đến 16 đơn vị, bao gồm cả khoảng trống giữa các ký tự nhỏ nhất, tùy thuộc vào tỷ lệ rộng/hẹp. Có hai loại vạch (cho cả vạch tối và vạch sáng): loại vạch rộng có số môđun bằng hai đến ba vạch hẹp. 4.1.5 Mã vạch 3.9 được thiết kế để máy quét có khả năng giải mã theo hai hướng (từ trái sang phải hoặc ngược lại). 4.1.6 Mã vạch 3.9 có thể có một ký tự kiểm tra, tùy chọn (xem phụ lục A). 4.1.7 Mã vạch 3.9 không có chiều dài cố định, có thể thay đổi chiều dài tùy thuộc chuỗi dữ liệu có khả năng mã hóa. 4.1.8 Trước và sau mã vạch 3.9 có vùng trống để phân cách. Với một chiều dài dữ liệu nhất định, độ lớn (cỡ) của mã vạch thay đổi trong giới hạn của độ phóng đại để tương thích với nhiều mức chất lượng của quá trình in mã. 4.1.9 Vùng không chứa dữ liệu: tương đương với 2 ký tự mã. 4.2 Cấu trúc của ký tự mã Theo hình 1, các ký tự mã vạch 3.9 sẽ bao gồm: a) Vùng trống trước; b) Ký tự bắt đầu; c) Một hay nhiều ký tự mã thể hiện dữ liệu (bao gồm cả ký tự kiểm tra mã, nếu có); d) Ký tự kết thúc; e) Vùng trống sau. f) Khoảng trống giữa các ký tự: để phân tách các ký tự trong phạm vi ký tự mã. Hình 1 - Ký tự mã vạch 3.9 4.3 Mã hóa ký tự 4.3.1 Mã hóa ký tự mã Bảng 1 qui định tất cả các bộ mã ký tự của mã vạch 3.9 Bảng 1 - Bộ mã ký tự của mã vạch 3.9 Chú thích 1 - S/S biểu thị ký tự bắt đầu và kết thúc, ký tự bắt đầu và kết thúc cũng có thể được thể hiện bằng dấu* Chú thích 2 - Trong những cột có tiêu đề là B (vạch tối) và S (vạch sáng), 0 thể hiện vạch hẹp và 1 thể hiện vạch rộng. 4.3.2 Ký tự bắt đầu và kết thúc Ký tự bắt đầu và kết thúc của mã vạch 3.9 thường được thể hiện dưới dạng người có thể đọc được qua một dấu * (dấu sao). Ký tự này sẽ không tạo thành phần của dữ liệu được mã hóa trong mã vạch và không được bộ phận giải mã truyền đi. 4.3.3 Ký tự kiểm tra mã tùy chọn Phụ lục A.1 qui định vị trí và cách tính ký tự kiểm tra tùy chọn. 4.4 Các kích thước Ký tự mã hóa của mã vạch 3.9 sẽ sử dụng các kích thước danh định sau: a) Chiều rộng của vạch hẹp (X): kích thước X của các ký tự mã vạch 3.9 có thể được xác định theo qui định ứng dụng, phù hợp với nhu cầu ứng dụng được đề cập; b) Tỷ lệ rộng/hẹp (N): 2,0 : 1 đến 3,0 : 1; c) Chiều rộng của khoảng trống giữa các ký tự ( I ): 1) Nhỏ nhất: I = X; 2) Lớn nhất: - Đối với X < 0,287="" mm:=""> I = 5,3 X; - Đối với X ³ 0,287 mm: I = 1,52 mm hoặc I = 3 X, chọn số lớn hơn trong hai số; d) Chiều rộng nhỏ nhất của vùng trồng: I = 10 X; e) Chiều cao nhỏ nhất khuyến nghị của mã vạch đối với việc quét bằng tay: là 5,0 mm hoặc 15% chiều rộng của ký tự mã, chọn số lớn hơn trong hai số; Chú thích - Chiều rộng, W (tính bằng milimét), của ký tự mã vạch 3.9, kể cả các vùng trống, có thể được tính theo công thức sau: W = (C+2) (3N + 6)X + (C + 1)/ + 2Q trong đó: - C là số các ký tự dữ liệu (kể cả ký tự kiểm tra mã nếu dùng) - N là tỷ lệ rộng/hẹp; - X là chiều rộng của vạch hẹp, tính bằng milimet; - I là chiều rộng của khoảng trống giữa các ký tự, tính bằng milimet; - Q là chiều rộng của vùng trống, tính bằng milimet. 4.5 Phương thức giải mã Hệ thống đọc mã vạch được thiết kế để đọc mã vạch 3.9 như sau: a) Xác nhận sự có mặt của vùng trống trước; b) Đối với mỗi ký tự mã (bao gồm cả ký tự bắt đầu và kết thúc): 1) Đo chiều rộng tổng của 5 vạch tối và 4 vạch sáng: gọi chiều rộng tổng này là S. 2) Tính giá trị ngưỡng, T = S/8. 3) So sánh chiều rộng của mỗi vạch mã hóa cho ký tự đó với giá trị T. Nếu chiều rộng của vạch lớn hơn T thì vạch là rộng; nếu không, vạch là hẹp. 4) Xác định xem liệu mẫu của các vạch rộng và hẹp có khớp với ký tự hợp lệ từ tập hợp cho phép hay không c) Ký tự mã đầu tiên đọc được phải là ký tự bắt đầu/kết thúc, từ đó có thể suy ra hướng quét. d) Tiếp tục đọc ký tự cho đến khi chạm tới ký tự bắt đầu/kết thúc hợp lệ. e) Xác nhận sự có mặt của vùng trống sau. Phụ lục A (tham khảo) Các đặc trưng bổ sung đối với mã vạch 3.9 A.1 Ký tự kiểm tra A.1.1 Xác định ký tự kiểm tra mã Đối với các lĩnh vực ứng dụng có yêu cầu tính bảo mật cao của dữ liệu, phải dùng một ký tự kiểm tra mã, trong trường hợp đó ký tự kiểm tra phải được đặt ngay sau ký tự dữ liệu cuối cùng và trước ký tự kết thúc. Việc sử dụng ký tự kiểm tra mã phải tuân thủ theo thuật toán ký tự kiểm tra mã (gọi là môđun 43) dưới đây: a) Mỗi ký tự dữ liệu sẽ được gán cho một giá trị số thể hiện ở bảng A.1 dưới đây; b) Tính tổng các giá trị số đối với tất cả các ký tự dữ liệu của ký tự mã; c) Chia tổng này cho 43; d) Ký tự mà giá trị của nó (từ bảng A.1) bằng phần dư của phép chia nêu ở bước c) sẽ được dùng làm ký tự kiểm tra. Bảng A.1 - Các giá trị ký tự số để tính ký tự kiểm tra theo môđun 43 Ký tự Giá trị Ký tự Giá trị Ký tự Giá trị 0 0 F 15 U 30 1 1 G 16 V 31 2 2 H 17 W 32 3 3 I 18 X 33 4 4 J 19 Y 34 5 5 K 20 Z 35 6 6 L 21 - 36 7 7 M 22 . 37 8 8 N 23 SPACE 38 9 9 O 24 $ 39 A 10 P 25 / 40 B 11 Q 26 ‘ 41 C 12 R 27 % 42 D 13 S 28 E 14 T 29 A.1.2 Thể hiện ký tự kiểm tra trong mã vạch 3.9 Máy giải mã có thể truyền ký tự kiểm tra mã theo môđun 43. Ví dụ: Các bước tính và thể hiện ký tự kiểm tra đối với dữ liệu “CODE 39” gồm: Các ký tự dữ liệu C O D E Space 3 9 Các giá trị của ký tự 12 24 13 14 38 3 9 Tổng các giá trị 113 Chia cho 43 113 / 43 = 2 dư 27 27 tương ứng với ký tự R Dữ liệu với ký tự kiểm tra mã C O D E Space 3 9 R A.2 Sự thể hiện các ký tự dưới dạng người có thể đọc được Thông thường, phải in ký tự dữ liệu và ký tự kiểm tra mã dưới dạng người có thể đọc được cùng với mã vạch 3.9 được dùng để mã hóa chúng. Có thể in các ký tự bắt đầu/kết thúc. Không qui định kích cỡ và phông của ký tự, và có thể in các ký tự dữ liệu và ký tự kiểm tra dưới dạng người có thể đọc được ở bất kì vùng nào xung quanh mã vạch, dài chừng nào mà các vùng trống không bị xâm phạm.