Tải bản đầy đủ (.doc) (79 trang)

XÂY DỰNG HỆ THỐNG QUẢN LÝ SẢN PHẨM CÔNG NGHIỆP BẰNG MÃ VẠCH

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.64 MB, 79 trang )

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

HOÀNG CÔNG THUẬN

XÂY DỰNG HỆ THỐNG QUẢN LÝ SẢN PHẨM
CÔNG NGHIỆP BẰNG MÃ VẠCH

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
CHUYÊN NGÀNH CÔNG NGHỆ ĐIỀU KHIỂN TỰ ĐỘNG

THÁI NGUYÊN, NĂM 2012

1


ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

ĐỒ ÁN

TỐT NGHIỆP ĐẠI HỌC
Chuyên ngành Công nghệ Điều khiển tự động
Đề tài:

XÂY DỰNG HỆ THỐNG QUẢN LÝ SẢN PHẨM CÔNG
NGHIỆP BẰNG MÃ VẠCH

Sinh viên thực hiện:

HOÀNG CÔNG THUẬN



Lớp ĐKTĐ-K6A

Hệ chính qui

Giáo viên hướng dẫn: TS. PHẠM ĐỨC LONG

Thái Nguyên, năm 2012

2


LỜI CẢM ƠN
Trước tiên tôi xin gửi lời cảm ơn chân thành nhất tới các thầy cô giáo
trong trường Đại học Công nghệ thông tin và truyền thông – Đại học Thái
Nguyên nói chung và các thầy cô giáo trong Khoa Công nghệ Tự động hóa nói
riêng đã tận tình giảng dạy, truyền đạt cho tôi những kiến thức, kinh nghiệm quý
báu trong suốt thời gian qua.
Đặc biệt tôi xin gửi lời cảm ơn tới thầy PHẠM ĐỨC LONG, thầy đã tận
tình giúp đỡ, trực tiếp chỉ bảo, hướng dẫn trong suốt quá trình làm đồ án tốt
nghiệp. Trong quá trình làm việc với thầy, tôi không ngừng tiếp thu thêm nhiều
kiến thức bổ ích mà còn học tập được tinh thần làm việc, thái độ nghiên cứu khoa
học nghiêm túc, hiệu quả, đây là những điều rất cần thiết cho tôi trong quá trình
học tập và làm việc sau này.
Sau cùng tôi xin gửi lời cảm ơn tới gia đình, bạn bè đã động viên, góp ý,
và giúp đỡ trong quá trình học tập, nghiên cứu và hoàn thành đồ án tốt nghiệp.
Do thời gian hoàn thành đồ án có giới hạn, chắc chắn rằng đồ án không
tránh khỏi những thiếu sót nên tôi rất mong được sự đóng góp ý kiến của quý
thầy cô và các bạn để đồ án tốt nghiệp của tôi được hoàn thiện hơn.
Thái Nguyên, tháng 6 năm 2012

Sinh viên thực hiện
Hoàng Công Thuận

3


LỜI CAM ĐOAN
Tôi – Hoàng Công Thuận - cam kết ĐỒ ÁN TỐT NGHIỆP là công trình
nghiên cứu của bản thân tôi dưới sự hướng dẫn của TS. Phạm Đức Long.
Các kết quả nêu trong ĐỒ ÁN TỐT NGHIỆP là trung thực, không phải là
sao chép toàn văn của bất kỳ công trình nào khác, nếu sai tôi xin chịu hoàn toàn
trách nhiệm và chịu mọi hình thức kỷ luật của nhà trường.
Thái Nguyên, tháng 6 năm 2012
Người cam đoan

Hoàng Công Thuận

4


MỤC LỤC
LỜI CẢM ƠN

1

LỜI CAM ĐOAN 2
MỤC LỤC 3
MỞ ĐẦU

5


CHƯƠNG 1: TỔNG QUAN VỀ MÃ VẠCH 6
1.1. Giới thiệu về mã vạch................................................................................6
1.1.1 Lịch sử ra đời...........................................................................................6
1.1.2 Ứng dụng.................................................................................................7
1.2 Mã vạch......................................................................................................8
1.2.1 Định nghĩa mã vạch.................................................................................8
1.2.2 Nhận diện mã vạch...................................................................................8
1.2.3 Quy chuẩn mã vạch..................................................................................9
1.2.4 Một số mã thông dụng...........................................................................12
1.2.5 Mã quốc gia...........................................................................................20
1.2.6 Chuẩn mã hàng hóa Việt Nam................................................................21
1.3 Máy quét mã vạch.....................................................................................23
1.3.1 Cấu tạo cơ bản của máy quét barcode quang học...................................23
1.3.2 Nguyên lý hoạt động của máy quét mã vạch quang học.........................23
1.3.3 Phân loại mã quét mã vạch quang học...................................................24
1.4 Máy in mã vạch.........................................................................................29
1.4.1 Nguyên lý hoạt động của máy in mã vạch..............................................29
1.4.2 Một số loại máy in mã vạch...................................................................29
CHƯƠNG 2: XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝ THÉP CUỘN
BẰNG MÃ VẠCH 32
2.1 Thiết kế mã vạch trên access 2007 và phần mềm ActiveBarcode 5.58
Bilingual.........................................................................................................32
2.2 Xây dựng chương trình quản lý thép cuộn bằng mã vạch........................37

5


2.2.1 Xây dựng cơ sở dữ liệu mã vạch trên SQL server..................................37
2.2.2 Xây dựng chương trình quản lý thép cuộn trên Visual C #....................38

2.2.3 Sử dụng chương trình............................................................................39
CHƯƠNG 3: XÂY DỰNG MẠCH ĐẾM THÉP THANH 41
3.1 Giới thiệu chung........................................................................................41
3.2 Giới thiệu các linh kiện có trong mạch......................................................42
3.2.1 Giới thiệu vi điều khiển AT89C52..........................................................42
3.2.2 Sơ đồ chân vi điều khiển 89C52................................................................42
3.2.3 Tổ chức bộ nhớ trong vi điều khiển 89C52............................................45
3.2.4 LED 7 đoạn............................................................................................47
3.2.5 IC ổn áp 7805.........................................................................................49
3.2.6 Cặp LED thu phát hồng ngoại................................................................51
3.2.7 Một số linh kiện khác.............................................................................51
3.3 Thiết kế phần cứng....................................................................................54
3.3.1 Sơ đồ khối tổng quát..............................................................................54
3.3.2 Phân tích từng khối................................................................................54
3.3.3 Sơ đồ nguyên lý.....................................................................................57
3.3.4 Sơ đồ mạch in........................................................................................58
3.4 Chương trình điều khiển...........................................................................59
3.4.1 Lưu đồ thuật toán mạch đếm thép thanh................................................59
3.4.2 Kết quả...................................................................................................60
KẾT LUẬN 61
TÀI LIỆU THAM KHẢO
PHỤ LỤC

62

63

Phụ lục 1: Code được sử dụng cho chương trình quản lý sản phẩm bằng mã
vạch................................................................................................................. 63
Phụ lục 2: Code được sử dụng cho mạch đếm thép thanh...............................72

Phụ lục 3: Danh mục hình vẽ..........................................................................75
Phụ lục 4: Danh mục bảng..............................................................................77
Phụ lục 5: Nội dung đĩa CD kèm theo.............................................................78

6


MỞ ĐẦU
Ngày nay với sự phát triển của khoa học công nghệ, các sản phẩm công
nghệ được ứng dụng vào sản xuất đã đem lại các hiệu quả không chỉ về số lượng,
chất lượng mà nó còn đem lại hiệu quả trong việc quản lý hàng hóa. Ứng dụng
mã vạch vào thực tiễn là một bước tiến lớn trong quản lý hàng hóa, nó đem lại
thông tin chính xác đến cho chúng ta. Thông tin trên một mã vạch cho ta biết
nguồn gốc xuất xứ của sản phẩm, thời gian sản xuất, hạn sử dụng, hàng hóa
thuộc chủng loại mặt hàng nào, thời gian sản xuất, nơi sản xuất, hạn sử dụng, tên
doanh nghiệp, kích thước sản phẩm, khối lượng sản phẩm, giá thành sản phẩm…
vv
Và ứng dụng của mã vạch trong nhà máy thép nói riêng và trong công
nghiệp nói chung mang lại những hiệu quả to lớn trong việc quản lý sản phẩm.
Nó giúp người dùng quản lý được các vấn đề như nhập hàng, xuất hàng, vận
chuyển , thanh toán… một cách đơn giản, linh hoạt, chính xác mà chi phí đầu tư
lại ít tốn kém. Chính vì thế mã vạch được sử dụng rộng rãi trong các ngành công
nhiệp và nhiều lĩnh vực của cuộc sống hiện đại ngày nay.
Xuất phát từ thực tiễn trên, tôi đã chọn đề tài “XÂY DỰNG HỆ THỐNG
QUẢN LÝ SẢN PHẨM CÔNG NGHIỆP BẰNG MÃ VẠCH” để làm đồ án
tốt nghiệp.
Nội dung của đồ án gồm phần mở đầu, 3 chương và kết luận.
Phần mở đầu: Giới thiệu để tài, xác định mục tiêu, nội dung và phạm vi thực hiện
của đồ án tốt nghiệp.
Chương 1 – Tổng quan về mã vạch: Giới thiệu về mã vạch, máy quét mã vạch,

máy in mã vạch.
Chương 2 – Xây dựng chương trình quản lý thép cuộn bằng mã vạch: Thiết kế 1
mã vạch, xây dựng cơ sở dữ liệu mã vạch, xây dựng chương trình quản lý thép
cuộn.
Chương 3 – Xây dựng mạch đếm thép thanh: Giới thiệu về mạch, các linh kiện
có trong mạch, thiết kế phần cứng và chương trình điều khiển cho mạch.
Kết luận.

7


CHƯƠNG 1: TỔNG QUAN VỀ MÃ VẠCH
1.1. Giới thiệu về mã vạch
1.1.1 Lịch sử ra đời
Ý tưởng về mã vạch được phát triển bởi Norman Joseph Woodland và
Bernard Silver. Năm 1948 khi đang là sinh viên ở trường đại học tổng hợp
Drexel, họ đã phát triển ý tưởng này sau khi biết mong ước của một vị chủ tịch
của một công ty buôn bán đồ ăn là làm sao để có thể tự động kiểm tra toàn bộ
quy trình. Một trong những ý tưởng đầu tiên của họ là sử dụng mã Morse để in
những vạch rộng hay hẹp thẳng đứng. Sau đó, họ chuyển sang sử dụng dạng
“điểm đen” của mã vạch với các vòng tròn đồng tâm. Họ đã gửi đến cơ quan
quản lý sáng chế Mỹ 2,612,994 ngày 21 thàng 10 năm 1949 công trình
Classifying Apparatus and Method ( thiết bị và phương pháp phân loại ) để lấy
bằng sáng chế. Bằng sáng chế đã được phát hành ngày 7 tháng 10 năm 1952.
Thiết bị đọc mã vạch đầu tiên được thiết kế và xây dựng bởi Woodland (khi đó
đang làm việc cho IBM) và Silver năm 1952. Nó bao gồm một đèn dây tóc 500W
và một ống chân không nhân quang tử được sản xuất bởi RCA cho các phim có
âm thanh (nó để in theo phương pháp quang học lên trên phim). Thiết bị này đã
không được áp dụng trong thực tế : để có dòng điện đo được bằng các nghiệm
dao động (oscilloscope) thì đèn công suất 500W gần như đã làm cháy giấy có

mẫu mã vạch đầu tiên của họ. Nó đã không được sản xuất đại trà. Năm 1962 , họ
bán sáng chế này cho công ty Philips, sau đó Philips lại bán cho RCA. Phát minh
ra tia laser năm 1960 đã làm cho các thiết bị đọc mã vạch trở nên rẻ tiền hơn và
sự phát triển của mạch bán dẫn (IC) làm cho việc giải mã các tín hiệu thu được từ
mã vạch có ý nghĩa thực tiễn. Đáng tiếc là Silver đã mất năm 1963 ở 38 tuổi
trước khi có bất kỳ những gì thực tiễn thu được từ sáng chế này.
Năm 1972, cửa hàng Kroger ở Cincinnati thử nghiệm việc sử dụng đầu đọc
mã vạch đen rất dễ nhòe khi in, và thử nghiệm đã không thu được thành công nào
đáng kể. Cùng thời gian đó, Woodland ở IBM đã phát triển mã vạch tuyến tính
được chấp nhận vào ngày 3 tháng 4 năm 1973 như là mã sản phẩm chung (tiếng
Anh : Universal Product Code, hay UPC). Vào ngày 26 tháng 6 năm 1974, sản

8


phẩm bán lẻ đầu tiên (gói 10 thanh kẹo cao su Juicy Fruit của Wrigley) đã được
bán bằng cách sử dụng đầu đọc mã vạch tại siêu thị Marsh ở Troy bang Ohio.
Năm 1992, Woodland đã được trao tặng huy chương công nghệ quốc gia
bởi Tổng thống George H.W.Bush.
Năm 2004, Nanosys Inc sản xuất mã vạch nano (nanobarcode) – sợi dây
kích thước nano (10-9m) chứa các phần khác nhau của Si và GexSi1-x.
1.1.2 Ứng dụng
Mã vạch được sử dụng ở những nơi mà các đồ vật cần phải đánh số với các
thông tin liên quan để các máy tính có thể xử lý. Thay vì việc phải đánh một
chuỗi dữ liệu vào phần nhập liệu của máy tính thì người thao tác chỉ cần quét mã
vạch cho thiết bị đọc mã vạch. Chúng cũng làm việc tốt trong điều kiện tự động
hóa hoàn toàn, chẳng hạn như trong luân chuyển hành lý ở các sân bay…
Các dữ liệu chứa trong mã vạch thay đổi tùy theo ứng dụng. Trong trường
hợp đơn giản nhất là một chuỗi số định danh được sử dụng như là chỉ mục trong
cơ sở dữ liệu trong đó toàn bộ các thông tin khác được lưu trữ. Các mã EAN-13

và UPC tìm thấy phổ biến trên hàng bán lẻ làm việc theo phương thức này.
Trong các trường hợp khác, mã vạch chứa toàn bộ thông tin về sản phẩm,
mà không cần cơ sở dữ liệu ngoài. Điều này dẫn tới việc phát triển mã vạch
tượng trưng mà có khả năng biểu diễn nhiều hơn là các chỉ số thập phân, có thể
là bổ sung thêm các ký tự hoa và thường của bảng chữ cái cho đến toàn bộ bảng
mã ký tự ASCII và nhiều hơn thế . Việc lưu trữ nhiều thông tin hơn đã dẫn đến
việc phát triển của các ma trận mã (một dạng của mã vạch 2D), trong đó không
chứa các vạch mà mà là một lưới các ô vuông. Các mã vạch cụm là trung gian
giữa mã vạch 2D thực thụ và mã vạch tuyến tính, và chúng được tạo ra bằng cách
đặt các mã vạch tuyến tính truyền thống trên các loại giấy hay các vật liệu có thể
in ấn mà cho phép có nhiều hàng.

9


1.2 Mã vạch
1.2.1 Định nghĩa mã vạch
Mã vạch (barcode) là phương pháp lưu trữ và truyền tải thông tin bằng
một loại ký hiệu đặc biệt gọi là ký mã vạch (barcode symbology).
Ký mã vạch gọi tắt cũng là mã vạch là một ký hiệu tổ hợp các khoảng
trắng và vạch thẳng để biểu diễn các mẫu tự, ký hiệu và các con số. Sự thay đổi
trong độ rộng của vạch thẳng và khoảng trắng biểu diễn thông tin số hay chữ số
dưới dạng mà máy có thể đọc được.
1.2.2 Nhận diện mã vạch
Trong các hệ thống sản xuất tự động, người ta có thể nhận dạng được các
chi tiết phần động cũng như trong các hệ thống phân loại và kiểm định hàng hóa
ngày nay thường sử dụng mã vạch (barcode).
Có nhiều loại mã vạch khác nhau, mỗi loại có những ưu điểm riêng nhưng
phổ biến nhất là mã sản phẩm thông dụng UPC (Universal Product Code) và
OCR (Optical Charater Recognition).

Hệ thống quét mã vạch bao gồm các thành phần chính sau đây :
- Mã vạch được in trên sản phẩm.
- Máy quét mã vạch hay bút quang dùng để chuyển thông tin mã vạch
sang tín hiệu ánh sáng.
- Bộ giải mã chuyển tín hiệu ánh sáng sang tín hiệu điện và biên dịch
thành mã ASCII.
- Bộ giao diện chuyển mã ASCII về máy tính PC để xử lý tiếp.
Mã vạch là những vạch đậm hoặc mảnh được dùng để mã hóa số hay chữ
cái. Mã vạch thường được in trực tiếp hoặc in riêng và dán lên sản phẩm.
-Hai loại mã thường gặp nhất là :
+ Vạch đen là 1, hoặc trắng là 0
+ Mã vạch n từ m phần tử : Vạch đen hay trắng rộng là 1, vạch đen hay
trắng hẹp là 0

10


Hình 1.1 Các loại mã vạch
1.2.3 Quy chuẩn mã vạch
Mã vạch UPC gồm 12 chữ số được ngăn cách bởi hai vạch mảnh ở giữa
(hình 1.2). Bên phải và bên trái cũng có hai vạch mảnh như thế để xác định giới
hạn của mã.

Hình 1.2 Mã vạch UPC
Số đầu tiên bên trái xác định loại mã, 5 chữ số tiếp theo là mã của người
sản xuất. Mã sản xuất được khai báo và lưu trữ tại UPC Distribution Data Bank ở
Washington. Năm chữ số tiếp theo là mã sản phẩm và chữ số cuối cùng để kiểm
tra lỗi.
Mỗi quốc gia có chuẩn mã riêng. Mỗi chữ số của mã được thể hiện bằng 7
vạch, mỗi vạch có thể trắng hoặc in đen tương ứng với 1 bit. Ký tự 7 bit được mã


11


hóa theo chuẩn ASCII cơ sở. Hiện nay, trong thương mại trên toàn thế giới chủ
yếu áp dụng hai hệ thống mã số hàng hóa sau:
- Hệ thống UPC (Universal Product Code) là hệ thống thuộc quyền quản lý
của Hội đồng mã thống nhất Mỹ UCC (Uniform Code Council, Inc) được sử
dụng từ năm 1970 và hiện vẫn đang sử dụng ở Mỹ và Canada.
- Hệ thống EAN (European Article Number) được thiết lập bởi các sáng lập
viên là 12 nước châu Âu với tên gọi ban đầu là Hội EAN (European Article
Numbering Association) được sử dụng từ năm 1974 ở Châu Âu và sau đó phát
triển nhanh chóng , được áp dụng ở hầu hết các nước trên thế giới. Chính vì lý do
này nên từ năm 1977. EAN trở thành một tổ chức quốc tế với tên gọi EAN quốc
tế (EAN International).
Trong hệ thống mã số EAN cho sản phẩm bán lẻ có hai loại, một loại sử
dụng có 13 con số (EAN-13) và loại kia sử dụng 8 con số (EAN-8)
Mã số EAN-13 gồm 13 con số có cấu tạo như sau : từ trái sang phải
+ Mã quốc gia : hai hoặc ba con số đầu
+ Mã doanh nghiệp : có thể gồm từ bốn, năm hoặc sáu con số
+ Mã mặt hàng : có thể là năm, bốn, hoặc ba con số tùy thuộc vào mã
doanh nghiệp
+ Số cuối cùng là số kiểm tra
Mã vạch thể hiện mã số EAN gọi là mã vạch EAN. Trong mã vạch EAN,
mỗi con số được thể hiện bằng hai vạch và hai khoảng trống theo ba phương án
khác nhau (set A, B, C). Mỗi mã vạch hay khoảng trống có chiều rộng từ 1 đến 4
môđun. Như vậy mã vạch EAN thuộc loại mã đa chiều rộng, mỗi môđun có
chiều rộng tiêu chuẩn là 0.33 mm.
Mã vạch EAN là loại mã vạch sử dụng riêng để thể hiện mã số EAN. Mã
vạch EAN có những tính chất sau :

+ Chỉ thể hiện các con số (từ 0 đến 9) với chiều dài cố định (13 đến 8 con
số).
+ Là mã đa chiều rộng, tức là mỗi vạch (hay khoảng trống) có thể có chiều
rộng từ 1 đến 4 môđun. Do vậy, mật độ mã hóa cao nhưng độ tin cậy tương đối
thấp, đòi hỏi có sự chú ý đặc biệt khi in mã.

12


+ Mã vạch EAN có cấu tạo như sau: Kể từ bên trái, khu vực để trống
không ghi ký hiệu nào cả, ký hiệu bắt đầu, ký hiệu dãy số bên trái, ký hiệu phân
cách, ký hiệu dãy số bên phải, số kiểm tra, ký hiệu kết thúc, sau đó là khoảng
trống bên phải. Toàn bộ khu vực mã vạch EAN-13 tiêu chuẩn có chiều dài là
37,29 mm và chiều cao là 25,93 mm.
+ Mã vạch EAN-8 có cấu tạo tương tự nhưng chỉ có chiều dài tiêu chuẩn
là 26,73mm và chiều cao là 21,31 mm.
Mã EAN tương thích với UPC, cả hai không phụ thuộc vào chiều quét.
Mã này gồm 1 (UPC) hoặc 2 (EAN) số prefix, 5 số ký hiệu của người sản xuất, 5
số ký hiệu sản phẩm và một số kiểm tra lỗi. Bên trái được đánh dấu bằng (101),
bên phải được đánh dấu (101), giữa phần phải và trái được ngăn bằng (01010).
Mã phía bên phải và bên trái được mã hóa khác nhau để máy quét nhận biết được
chiều quét.
Mã số bên phải có tổng các số 1 là chẵn và còn mã số bên trái có tổng các
số 1 là số lẻ. Ta có bảng liệt kê mã UPC và EAN.

13


Hình 1.3 Bộ mã UPC và EAN
Kiểm tra lỗi

Kiểm tra lỗi là con số thứ 12 cùng với 11 chữ số còn lại được cộng với
nhau để phát hiện lỗi. Ví dụ mã EAN là 9780340606582 thì kết quả kiểm tra phải
là một số chia hết cho 10

Hình 1.4 Kiểm tra lỗi
a.Mã vạch

b. Tính kiểm tra lỗi

1.2.4 Một số mã thông dụng
a. UPC-A hay EAN.UCC-12
Mã vạch UPC-A hay EAN-12 là loại mã vạch sử dụng phở biến ở Bắc Mỹ
(Mỹ và Canada) cho đến nay, mặc dù từ ngày 1 tháng 1 năm 2005 người ta bắt
đầu chuyển sang sử dụng EAN-13 để phù hợp với tiêu chuẩn quốc tế. Mã vạch
UPC-A có thể tìm thấy trên rất nhiều chủng loại hàng hóa tiêu dùng trong các
siêu thị hay cửa hàng cũng như trên sách, báo, tạp chí. Do vậy đôi khi người ta
gọi chúng là “mã vạch UPC”. Điều này thực ra không chính xác do các loại mã
vạch UPC khác cũng tồn tại (chẳng hạn UPC-E, UPC bổ sung 2 số, UPC bổ sung
5 số v.v). UPC-A mã hóa dữ liệu là một chuỗi 11 số (có giá trị từ 0 đến 9) và có
một số kiểm tra ở cuối tạo ra một chuỗi số mã vạch hoàn chỉnh là 13 số. Do vậy
mới có từ EAN.UCC-12.

14


Số hệ thống
0,7
1,6,8,9
2
3

4
5

Hình 1.5 UPC-A
Ý nghĩa
Mã vạch UPC-A thông thường
Dự trữ
Sử dụng cho các mặt hàng bán theo trọng lượng
Dược phẩm/Các mặt hàng y tế
Không hạn chế về định dạng, sử dụng nội bộ cho các mặt hàng
phi lương thực
Vé, phiếu
Bảng 1 Ý nghĩa các số trong mã vạch UPC-A

Đặc trưng
Một mã vạch UPC-A bao gồm các phần sau :
- Số hệ thống, nằm trong khoảng từ 0 đến 9. Ý nghĩa của các số này nằm trong
bảng 1.
- Mã nhà sản xuất: Gồm 5 số từ 00000 đến 99999. Việc cấp mã nhà sản xuất do
hội đồng UCC cấp cho các công ty hay nhà sản xuất có mặt hàng sử dụng loại mã
vạch UPC. Tuy nhiên, trên thực tế không phải công ty hay nhà sản xuất nào cũng
có tới 100.000 mặt hàng nên UCC đã quyết định sử dụng mã nhà sản xuất dài
hơn 5 số. Mã này tên gọi đầy đủ của nó là “mã nhà sản xuất độ dài biến đổi”
(tiếng Anh: variable-length manufacturer code). Điều này đồng nghĩa với mã sản
phẩm bị hạn chế hơn.
- Mã sản phẩm: Gồm 5 số từ 00000 đến 99999. Với việc áp dụng mã nhà sản
xuất dài hơn 5 số thì mã sản phẩm bị hạn chế. Tuy nhiên, nếu một nhà sản xuất
nào đó có hơn 100.000 mặt hàng khác nhau thì họ có thể xin UCC cấp thêm mã
nhà sản xuất khác.
- Số kiểm tra, được tính như EAN-13 với bổ sung thêm một số 0 vào trước chuỗi

số của mã vạch UPC-A.

15


Đặc trưng kỹ thuật
Như đã nói trên đây, thực tế UPC-A là một tập con của EAN-13 với số 0 dẫn
đầu. Ví dụ chuỗi số “123456789012” của UPC-A thực tế hoàn toàn đồng nhất với
chuỗi số “0123456789012” của EAN-13. Do vậy, mọi quy tắc trong mã hóa của
UPC-A là các quy tắc mã hóa của EAN-13 ( tính số kiểm tra, các giá trị bit của
các số được mã hóa cũng như của các vạch bảo vệ trái, phải, trung tâm ) được áp
dụng cho chuỗi : “0” + chuỗi UPC-A.
In ấn
Tuy nhiên, việc in ấn hay thể hiện bên ngoài thì hơi khác một chút. Người ta
không in số 0 dẫn đầu như trong EAN-13 mà ở vị trí đó người ta in số hệ thống.
Xem xét giá trị bit của các số được mã hóa theo EAN-13 ta thấy rằng mỗi số khi
mã hóa sẽ bao gồm 2 khoảng trắng và 2 vạch có độ rộng thay đổi ( nhưng tổng
độ rộng không đổi ) xen kẽ nhau (trắng-vạch-trắng-vạch - ở bên trái của các vạch
bảo vệ trung tâm hoặc vạch-trắng-vạch-trắng - ở bên phải của các vạch bảo vệ
trung tâm).
Trong khoảng giữa các vạch bảo vệ trái và bảo vệ trung tâm, người ta mã hóa
số hệ thống + 5 số mã nhà sản xuất, trong đó mã hóa của số hệ thống được in ra
có chiều cao như các vạch bảo vệ, các vạch của mã nhà sản xuất được in ngắn
hơn lấy chỗ cho việc in các số của mã này. Do vậy ở đầu của mã vạch UPC-A nói
chung nhìn thấy có 4 vạch dài hơn các vạch thông thường.
Trong khoảng giữa các vạch bảo vệ trung tâm và bảo vệ phải, người ta mã
hóa mã sản phẩm + số kiểm tra, trong đó mã hóa của số kiểm tra được in ra có
chiều cao như các vạch bảo vệ, các vạch của mã sản phẩm được in ngắn hơn lấy
chỗ cho việc in các số của mã này. Do vậy ở cuối của mã vạch UPC-A nói chung
nhìn thấy có 4 vạch dài hơn các vạch thông thường. Số kiểm tra được in bên

ngoài các vạch bảo vệ phải như trong hình minh họa.
Quy tắc tính
Trước khi có sự ra đời của EAN-13 thì quy tắc tính số kiểm tra của UPCA như sau:
 Lấy tổng của các số ở vị trí lẻ (1, 3, 5, 7, 9, 11). Các số này nhân
với 3 được một số A.

16


 Lấy tổng của các số ở vị trí chẵn (2, 4, 6, 8,10) được một số B.
 Lấy tổng (A + B) và xét tính chia hết cho 10. Nếu chia hết thì số
kiểm tra bằng 0. Nếu không chia hết (số dư khác 0) thì lấy phần bù
(10- số dư) làm số kiểm tra.
Quy tắc này phù hợp với quy tắc tính số kiểm tra của EAN-13 do sau khi
thêm số 0 vào đầu chuỗi UPC-A thì các vị trí chẵn của UPC-A đổi thành vị trí lẻ
của EAN-13 và ngược lại.
b. EAN-13 hay EAN.UCC-13
EAN-13 hay EAN.UCC-13 hoặc DUN-13 là một loại mã vạch trước đây
thuộc quyền quản lý của Hệ thống đánh số sản phẩm châu Âu (The European
Article Numbering system, viết tắt: EAN), ngày nay thuộc quyền quản lý của
EAN-UCC. Trước đây ở Mỹ người ta sử dụng một hệ thống đánh số sản phẩm
cùng nguyên lý như EAN nhưng chỉ có 12 hoặc 8 số, gọi là Mã sản phẩm chung
(tiếng Anh:Universal Product Code, viết tắt: UPC). Nhưng kể từ tháng 1 năm
2005, người Mỹ đã chuyển sang sử dụng EAN.
Hệ thống đánh số sản phẩm Nhật Bản (The Japanese Article Numbering,
viết tắt: JAN) là một phiên bản của EAN-13, điểm khác duy nhất là nó bắt đầu
với cụm số 49.
Gọi là EAN-13 vì trong chuỗi mã hóa của nó có đúng 13 số, trong đó số
cuối cùng là số kiểm tra. Cũng giống như UPC (EAN.UCC-8 hay EAN.UCC12), nó là loại mã vạch liên tục sử dụng 4 loại kích thước các vạch.


Hình 1.6 EAN-13
 EAN-13 sử dụng 2 (hoặc 3) ký tự đầu tiên làm mã quốc gia hay mã loại
hình sản phẩm (tồn kho, báo chí ). Các số này không thay đổi theo từng
quốc gia và do tổ chức EAN quốc tế quy định. Các loại mã vạch thuộc

17


UPC trên thực tế là một tập con của EAN-13. Các máy quét đọc được các
mã vạch EAN có thể đọc rất tốt các mã vạch UPC. Tuy nhiên, các máy
quét UPC không nhất thiết phải đọc được các mã vạch EAN.
 Năm (nếu có 2 số chỉ mã quốc gia) hoặc bốn (nếu có 3 số chỉ mã quốc gia)
chữ số tiếp theo chỉ mã của nhà sản xuất. Các số này do tổ chức EAN tại
quốc gia mà mã EAN được in cấp cho nhà sản xuất với một lệ phí nhỏ.
 Năm số tiếp theo đó là mã sản phẩm của nhà sản xuất, do nhà sản xuất tự
điều chỉnh. Thông thường để dễ quản lý, người ta hay đánh mã sản phẩm
từ 00000 đến 99999. Như vậy có thể có tới 100.000 chủng loại sản phẩm
khác nhau đối với một nhà sản xuất.
 Số cuối cùng là số kiểm tra, phụ thuộc vào 12 số trước nó.
Quy tắc tính số kiểm tra
Số kiểm tra là số thứ 13 của EAN-13. Nó không phải là một số tùy ý mà phụ
thuộc vào 12 số đứng trước đó và được tính theo quy tắc sau:
 Lấy tổng tất cả các số ở vị trí lẻ (1,3,5,7,9,11) được một số A.
 Lấy tổng tất cả các số ở vị trí chẵn (2,4,6,8,10,12). Tổng này nhân với 3
được một số (B).
 Lấy tổng của A và B được số A+B.
 Lấy phần dư trong phép chia của A+B cho 10, gọi là số x. Nếu số dư này
bằng 0 thì số kiểm tra bằng 0, nếu nó khác 0 thì số kiểm tra là phần bù
(10-x) của số dư đó.
Số kiểm tra được thêm vào cuối chuỗi số có 12 chữ số ban đầu tạo ra chuỗi số

EAN-13 có 13 chữ số. Tuy nhiên, trong thực tế sản xuất mã vạch, số này đã được
thêm vào cuối chuỗi, nhưng các phần mềm in ấn mã vạch nên có phần kiểm tra lại số
này trước khi in, nhằm tránh các sai lầm do sai sót dữ liệu.
Cấu trúc mã vạch
Quy ước: Các bit có giá trị 1 được in bằng mực đen thành một đường thẳng
đứng, các bit có giá trị 0 không được in (hoặc được in bằng mực trắng) thành một
đường thẳng đứng có cùng độ rộng với bit có giá trị 1.
Cấu trúc

18


Các vạch bảo vệ trái - 6 số kể từ số thứ hai đến số thứ bảy - các vạch bảo vệ
trung tâm - 5 số tiếp theo (8-12)- số kiểm tra - các vạch bảo vệ phải
Phía trước các vạch bảo vệ trái và phía sau các vạch bảo vệ phải luôn luôn có
các khoảng lặng trắng để tránh cho máy quét không bị đọc sai.
Các vạch bảo vệ trái và phải có giá trị bit là 101. Các vạch bảo vệ trung
tâm có giá trị bit là 01010.

Cách in
Khi in ấn, các vạch bảo vệ này được in dài hơn so với các vạch của dữ liệu
về phía dưới. Số đầu tiên được in bên ngoài và phía dưới của vạch bảo vệ trái.
Sáu số tiếp theo được in phía dưới các vạch của chúng trong khoảng các vạch
bảo vệ trái và các vạch bảo vệ trung tâm. Sáu số cuối được in phía dưới các vạch
của chúng trong khoảng các vạch bảo vệ trung tâm và các vạch bảo vệ phải.
Chiều rộng của mã vạch quyết định mật độ in ấn cũng như khả năng đọc chuẩn
xác cao hay thấp của máy quét. Chiều cao của các vạch không ảnh hưởng đến
việc này nhiều lắm. Tuy nhiên, thông thường chiều cao của mã vạch được in với
độ rộng khoảng 1 đến 2,5 cm là chủ yếu.
Công nghệ in ấn sử dụng hai phương pháp như sau:

- Sử dụng các true type font chữ đặc biệt tạo sẵn. Các font chữ này thực
chất là tổ hợp các vectơ của các hình chữ nhật - được các nhà tạo font chữ bán
với giá khoảng 300 đến 500 USD một bộ. Các font chữ này được lưu trữ dưới
dạng vectơ nên ít bị ảnh hưởng khi hiển thị trên màn hình máy tính cũng như khi
in ra.
- Sử dụng các lệnh đồ họa trong các ngôn ngữ lập trình để vẽ các đường
thẳng. Cách này đơn giản hơn nhưng khi hiển thị trên các thiết bị màn hình có độ
phân giải thấp bị ảnh hưởng nhiều (do các đường được vẽ theo đơn vị pixel - là
khá lớn so với độ rộng của các vạch). Tuy nhiên khi gửi lệnh in trực tiếp đến máy
in thì không bị ảnh hưởng nhiều do được in theo từng điểm in (dot).

d. Một số loại mã khác

19


 Maxicode

 GS1-128 (UCC/EAN-128)

 Code 39P

 PDF417

 EAN-8

Hình 1.7 Các loại mã vạch khác

20



1.2.5 Mã quốc gia
Dưới đây là một phần mã quốc gia. Cụ thể hơn xem trong trang chủ của tổ
chức EAN quốc tế.Lưu ý rằng nó chỉ thị quốc gia ở đó người ta phát hành mã này
chứ nó không nhất thiết phải là xuất xứ của sản phẩm.

Hình 1.8 Mã quốc gia

21


1.2.6 Chuẩn mã hàng hóa Việt Nam

Hình 1.9 Mẫu mã vạch theo tiêu chuẩn Việt Nam
- Để tạo thuận lợi và nâng cao năng suất, hiệu quả trong bán hàng và quản
lý kho người ta thường in trên hàng hoá một loại mã hiệu đặc biệt gọi là mã số
mã vạch của hàng hoá. Mã số mã vạch của hàng hoá bao gồm hai phần: mã số
của hàng hoá và mã vạch là phần thể hiện mã số bằng vạch để cho máy đọc.Mã
số của hàng hoá là một dãy con số dùng để phân định hàng hoá, áp dụng trong
quá trình luân chuyển hàng hoá từ người sản xuất, qua bán buôn, lưu kho, phân
phối, bán lẻ tới người tiêu dùng. Nếu thẻ căn cước giúp ta phân biệt người này
với người khác thì mã số hàng hoá là “thẻ căn cước” của hàng hoá, giúp ta phân
biệt được nhanh chóng và chính xác các loại hàng hoá khác nhau.
Mã số của hàng hoá có các tính chất sau:
- Nó là con số duy nhất đặc trưng cho hàng hoá. Mỗi loại hàng hoá được
nhận diện bởi một dãy số và mỗi dãy số chỉ tương ứng với một loại hàng hoá.

22



- Bản thân mã số chỉ là một dãy số đại diện cho hàng hoá, không liên quan
đến đặc điểm của hàng hoá. Nó không phải là số phân loại hay chất lượng của
hàng hoá, trên mã số cũng không có giá cả của hàng hoá.
Để đảm bảo tính thống nhất và tính đơn nhất của mã số, mã quốc gia phải
do tổ chức mã số vật phẩm quốc tế cấp cho các quốc gia là thành viên của tổ
chức này. Mã số quốc gia của Việt Nam là 893. Mã doanh nghiệp do tổ chức mã
số vật phẩm quốc gia cấp cho các nhà sản xuất là thành viên của họ. ở Việt Nam,
mã doanh nghiệp do EAN-VN cấp cho các doanh nghiệp thành viên của mình.
Mã mặt hàng do nhà sản xuất quy định cho hàng hoá của mình. Nhà sản xuất
phải đảm bảo mỗi mặt hàng chỉ có một mã số, không được có bất kỳ sự nhầm lẫn
nào. Số kiểm tra C là một con số được tính dựa vào 12 con số trước đó, dùng để
kiểm tra việc ghi đúng những con số nói trên.

23


1.3 Máy quét mã vạch
1.3.1 Cấu tạo cơ bản của máy quét barcode quang học
Một máy quét barcode quang học cơ bản và đầy đủ gồm 3 thành phần:
 Bộ phận quét mã vạch: phát ra 1 chùm tia sáng vào ký hiệu mã vạch để
lấy thông tin.
 Bộ phận truyền tín hiệu: phát ra các xung điện tượng trưng cho các vạch
và các khoảng trống thu được từ bộ phận quét. Thường bộ phận quét và bộ
phận truyền được tích hợp trên cùng 1 board mạch.
 Bộ phận giải mã: nhận tín hiệu xung điện từ bộ phận truyền và giải mã
theo dạng thức của loại mã vạch được lập trình sẵn trong bộ nhớ. Nếu giải
mã thành công, 1 tiếng kêu “bíp” sẽ phát ra và tín hiệu được giải mã sẽ
xuất hiện trên màn hình của phần mềm đang sử dụng.
1.3.2 Nguyên lý hoạt động của máy quét mã vạch quang học
Các máy quét barcode bắn ra 1 chùm tia sáng, thường là màu đỏ. Nếu nó

rơi vào 1 vùng sáng, thì 1 con số 0 sẽ được đọc. Còn nếu nó rơi vào 1 vùng tối,
thì máy sẽ nhận dạng là con số 1. Như vậy, việc quét mã vạch sẽ phát ra 1 chuỗi
gồm những con số 0 và 1. Chuỗi này sẽ tượng trưng cho các ký tự hoặc ký số đã
được mã hoá và được truyền vào bộ giải mã. Bộ giải mã có thể là phần cứng (bộ
phận giải mã) có firmware, hoặc cũng có thể là phần mềm được cài vào máy tính.
Khi chuỗi 0 và 1 đưa vào bộ giải mã được nhận dạng là 1 loại mã vạch nào đó,
thì nó sẽ được biên dịch thành mã số ban đầu và 1 tiếng “bíp” sẽ báo hiệu. Còn
bằng ngược lại thì máy sẽ không báo hiệu gì cả và không có mã số nào được hiển
thị vì tín hiệu thu được không nằm trong các loại mã vạch được lập trình sẵn
trong firmware của phần cứng hoặc trong software của phần mềm.
Thông thường hầu hết các loại barcode scanner có mặt trên thị trường đều
có sẵn bộ giải mã bên trong và ta không cần phải lập trình để giải mã mã vạch.
Đặc điểm của scanner quang học là các vạch càng cao thì góc quét càng
lớn và khả năng đọc mã vạch càng cao. Vạch càng thấp thì chùm tia sáng đập vào
nó càng ít (tức góc quét càng thấp) và khả năng đọc mã vạch càng thấp.

24


1.3.3 Phân loại mã quét mã vạch quang học
a. Phân loại theo công nghệ
 CCD Scanner:Các máy quét theo công nghệ CCD nói chung đáng tin cậy
và rất bền. Khuyết điểm chủ yếu của nó là chỉ quét được mã vạch trên bề
mặt phẳng với cự ly gần, không quét được mã vạch theo chiều cong như
các loại mã vạch dán trên chai, nhưng bù lại giá thành của CCD scanner rẻ
hơn nhiều so với loại laser scanner.
 Laser Scanner:
Các máy quét mã vạch dùng tia sáng laser cho ra tia sáng rất mạnh cắt
ngang bề mặt mã vạch. Ưu điểm của các máy quét dùng tia laser là quét rất nhạy,
chính xác, có thể quét mã vạch trên bề mặt cong và có khả năng quét tầm xa.

Nhược điểm: không bền bằng máy quét CCD vì máy quét laser dùng mắt đọc tia
laser. Sau 1 thời gian đọc có giới hạn, mắt đọc có thể bị yếu đi sinh ra hiện tượng
“kén mã vạch” giống như hiện tượng kén đĩa của đầu đĩa hình và có thể bị hư
hẳn.
b. Phân loại theo công dụng
 Linear Barcode Scanner (Máy quét barcode tuyến tính hay 1-D):
Quét được các loại barcode 1-D thông dụng và 1 số không thông dụng.
Thường đây là loại barcode cầm tay (handheld scanner) phát ra tia sáng thẳng
nằm ngang. Linear Scanner quét được bao nhiêu loại barcode 1-D cần phải tra
cứu ở sách hướng dẫn sử dụng, điều này có nghĩa là có 1 số loại ký hiệu barcode
1-D mà máy không quét được.
 2-D Barcode Scanner (máy quét barcode 2-D):
Còn gọi là Barcode Imager là loại máy quét hay máy đọc mã vạch 2-D
như PDF-417, Data Matrix, MaxiCode, v.v... và lẽ dĩ nhiên cũng có thể đọc được
các loại mã vạch 1 chiều. Barcode Imager có thể là loại cầm tay hoặc để bàn như
trong siêu thị thường dùng.
Máy quét mã vạch 2-D dùng tia laser sau đó phản xạ bằng 1 hệ thống lăng
kính để tạo thành 1 chùm sáng phủ trên mọi góc độ của ký hiệu mã vạch. Chính
vì vậy, khi quét loại mã vạch 1-D bằng máy quét mã vạch 2D, ta có thể quét theo
bất cứ chiều nào cũng được, trong khi đó nếu dùng máy quét 1- D, ta phải bắn tia

25


×