ปกติการมีแต่ตัวแถบบาร์โค้ดเพียงอย่างเดียวจะไม่ก่อให้เกิดประโยชน์ใด ๆ กับกิจการของเราเลยหากเราไม่มีอุปกรณ์ที่สามารถอ่านแถบบาร์โค้ดและแปลความหมายออกมาได้
ที่สำคัญอุปกรณ์ต่าง ๆ ที่เกี่ยวข้องกับบาร์โค้ดจะต่อเข้ากับระบบคอมพิวเตอร์
ซึ่งมีซอฟต์แวร์เกี่ยวกับระบบงานที่กิจการนั้น ๆ ใช้อยู่ จึงจะเกิดประสิทธิภาพสูงสุด
เมื่อเรานำระบบบาร์โค้ดมาใช้ ( อุปกรณ์ที่ใช้อ่านแถบบาร์โค้ดไม่จำเป็นต้องใช้ระบบคอมพิวเตอร์เสมอไป
อุปกรณ์หรือเครื่องมือทางอิเล็กทรอนิกส์บางชนิดสามารถนำค่าที่ได้จากการอ่านบาร์โค้ดไปใช้งานได้
มักจะพบในโรงงานอุตสาหกรรมเป็นส่วนมาก )โดยปกติระบบบาร์โค้ดจะเป็นเพียงระบบการจัดอุปกรณ์และซอฟต์แวร์ที่เกี่ยวข้องกับบาร์โค้ดที่มาเสริมเข้ากับระบบงานคอมพิวเตอร์ที่เราใช้อยู่
โดยระบบบาร์โค้ดที่ดีนั้น เมื่อนำมาต่อเข้ากับระบบคอมพิวเตอร์ของเราจะต้องใช้งานได้ทันที
โดยไม่ต้องแก้ไขหรือปรับปรุงซอฟต์แวร์ของระบบงานที่เราใช้อยู่เดิม
ส่วนที่ทำหน้าที่ผลิตแถบบาร์โค้ดเป็นส่วนที่ทำหน้าที่ที่เกี่ยวกับการผลิตแถบบาร์โค้ด
อุปกรณ์ที่สำคัญในส่วนนี้ได้แก่เครื่องพิมพ์บาร์โค้ดโดยเฉพาะหรือเครื่องพิมพ์ที่ใช้กับเครื่องคอมพิวเตอร์ทั่วไป
( ซึ่งจะต้องมีโปรแกรมพิมพ์แถบบาร์โค้ดที่ใช้กับเครื่องพิมพ์ชนิดนั้น ๆ โดยเฉพาะ
เสริมขึ้นมาอีกชุดหนึ่ง เนื่องจากเครื่องพิมพ์ที่ใช้กับเครื่องคอมพิวเตอร์ทั่วไป
มักจะไม่มีรูปแบบ ( PATTERN ) ของบาร์โค้ดอยู่ในเครื่องพิมพ์ เหมือนกับเครื่องพิมพ์ที่ถูกออกแบบมาสำหรับพิมพ์บาร์โค้ดโดยเฉพาะ
) อุปกรณ์ที่ทำหน้าที่พิมพ์แถบบาร์โค้ดนี้ จะทำการพิมพแถบบาร์โค้ดตามรูปแบบที่เรากำหนดโดยจะถูกควบคุมจากซอฟต์แวร์สำหรับสั่งพิมพ์บาร์โค้ดอีกต่อหนึ่ง
สำหรับส่วนที่ทำหน้าที่ผลิตแถบบาร์โค้ดนี้ ในกิจการบางประเภทไม่จำเป็นต้องทำการผลิตแถบบาร์โค้ดเอง
สามารถจ้างคนอื่นจัดทำได้ หรือนำแถบบาร์โค้ดที่มากับตัวสินค้ามาใช้งานได้เลย
เช่นระบบควบคุมการขนถ่ายสินค้าของบริษัทหนึ่ง ซึ่งมีข้อมูลเพียงไม่กี่แบบที่ใช้อยู่ประจำ
เขาจะใช้วิธีสั่งทำแผ่นชาร์ตซึ่งประกอบแถบบาร์โค้ดมาตรฐานแทนข้อมูลที่จำเป็น
สำหรับงานของเขาแทนการผลิตแถบบาร์โค้ดเอง หรือในธุรกิจค้าปลีกก็สามารถนำแถบบาร์โค้ดที่มากับตัวสินค้ามาใช้งานได้ทันที
ตัวแถบบาร์โค้ดที่จะใช้บริการของเรา สิ่งที่สำคัญไม่แพ้ส่วนอื่น
ๆ ในระบบบาร์โค้อก็คือตัวแถบบาร์โค้ดที่จะนำมาใช้กับกิจการของเรานั่นเอง เนื่องจากบาร์โค้ดที่นิยมใช้ในปัจจุบันมีอยู่ด้วยกันมากมายหลายชนิด
แต่ละชนิดจะมีลักษณะและคุณสมบัติต่างกัน มีข้อดีข้อเสียที่แตกต่างกัน ดังนั้นจึงจำเป็นต้องเลือกชนิดของบาร์โค้ด
( BARCODE TYPE ) ให้เหมาะสมกับงานของเราให้มากที่สุด โดยยึดระบบงานคอมพิวเตอร์และฐานข้อมูลทั้งหมดที่เรากำลังใช้อยู่เป็นหลัก
โดยทั่วไปแล้วเราจะต้องเลือกชนิดของบาร์โค้ดที่มาใช้งานของเราได้ทันที โดยไม่ต้องมีการปรับปรุงข้อมูลหรือแก้ไขโปรแกรมของระบบงานคอมพิวเตอร์ที่เราใช้อยู่
ผมเองเคยมีประสบการณ์ในเรื่องของการเปลี่ยนชนิดของบาร์โค้ดให้เหมาะสมในบริษัทแห่งหนึ่งที่ผมเคยทำงานด้วนเมื่อหลายปีก่อน
โดยในช่วงนั้นทางบริษัทกำลังนำระบบบาร์โค้ดเข้ามาใช้ ทางทีมที่ปรึกษาของบริษัทเสนอให้ใช้บาร์โค้ดแบบ
EAN 13 แต่ในขณะที่รหัสสินค้าที่บริษัทใช้อยู่เป็นแบบตัวเลขขนาด 10 หลัก (
บาร์โค้ดแบบ EAN 13 จะใช้กับระบบงานที่มีรหัสสินค้าเป็นแบบตัวเลข 13 หลัก
และต้องมีการตรวจสอบความถูกต้องของรหัสแบบ ( Check digit ) EAN 13 ด้วย )
ดังนั้นในทันทีที่บริษัทเริ่มใช้ระบบบาร์โค้ด ปรากฏว่าใช้ไม่ได้เลยครับ ทางบริษัทจึงได้ปรึกษากับบริษัทที่จำหน่ายอุปกรณ์เกี่ยวกับบาร์โค้ด
( ซึ่งเป็นกลุ่มอาชีพที่รู้เรื่องของบาร์โค้ดดีที่สุดในปัจจุบัน ) ก็ได้รับคำแนะนำว่าควรจะใช้กับระบบบาร์โค้ดชนิดอื่น
ๆ ที่ไม่ใช่ EAN 13 แทน เพราะมีบาร์โค้ดอีกหลายชนิดที่สามารถใช้กับระบบที่มีรหัสสินค้าเป็นตัวเลข
10 หลักได้ทันที โดยไม่ต้องแก้ไขโปรแกรมหรือข้อมูลเดิมของบริษัทเลย เพียงแต่ไปปรับที่เครื่องพิมพ์บาร์โค้ดเพียงอย่างเดียว
( บริษัทที่จำหน่ายอุปกรณ์เขารับผิดชอบส่วนนี้ให้อยู่แล้ว ) ในที่สุดบริษัทนี้ก็เปลี่ยนมาใช้บาร์โค้แบบ
Interleaved 2 of 5 จนถึงทุกวันนี้
สำหรับหลักเกณฑ์ในการเลือกชนิดของบาร์โค้ดให้เหมาะสมกับกิจการของเราพอสรุปได้ดังนี้
1. ถ้าเรายังไม่มีระบบคอมพิวเตอร์ใช้ แต่กำลังจัดซื้อมาใช้งานซึ่งรวมระบบบาร์โค้ดด้วย
จะต้องตรวจสอบก่อนว่าในกลุ่มธุรกิจเดียวกับเราเขามีการกำหนดให้ใช้บาร์โค้ดแบบไหน
เช่น ในกลุ่มธุรกิจค้าปลีก จะมีการกำหนดให้ใช้บาร์โค้ดแบบ EAN 13 ซึ่งในปัจจุบันสินค้าส่วนใหญ่จะมีแถบบาร์โค้ดติดมาด้วยอยู่แล้ว
ถ้ากิจการของเราอยู่ในกลุ่มธุรกิจค้าปลีกนี้ เราก็นำบาร์โค้ดชนิดนี้มาใช้ได้ทันที
แต่ระบบคอมพิวเตอร์ที่เราจะจัดหามาต้องสามารถรับรหัสสินค้าแบบ 13 หลักที่ติดมากับตัวสินค้าได้ด้วย
2. ในกรณีที่เรามีระบบคอมพิวเตอร์อยู่แล้ว และในกลุ่มธุรกิจเดียวกับเราไม่มีการกำหนดชนิดของบาร์โค้ดไว้
เราต้องตรวจสอบระบบรหัสสินค้าที่เราใช้อยู่ว่าเป็นแบบใด เช่น เป็นตัวเลขล้วนหรือมีตัวอักษรปน
และมีจำนวนหลักเป็นกี่หลัก เช่น ถ้ารหัสสินค้า ( หรือรหัสอื่น ๆ ) เป็นตัวเลข
13 หลัก ก็อาจจะใช้บาร์โค้ดชนิด EAN 13 แต่ถ้ามีจำนวนหลักมากหรือน้อยกว่านี้
ก็อาจจะใช้บาร์โค้ดชนิด Interleaved 2 of 5 หรือบาร์โค้ดที่ใช้กับข้อมูลแบบตัวเลขและสามารถใช้กับรหัสสินค้าที่เรามีอยู่ได้
แต่ถ้ารหัสสินค้าของเรามีตัวอักษรอื่น ๆ ปน ก็อาจจะใช้บาร์โค้ดแบบ Code 3
of 9 ( Code 39 ) หรือบาร์โค้ดแบบอื่น ๆ ที่สามารถใช้กับรหัสที่มีตัวอักษรปนได้
แต่ไม่ว่าเราจะเลือกชนิดของบาร์โค้ดที่จะใช้งานเป็นชนิดใดมาใช้ก็ตาม จะต้องไม่มีผลกระทบกับฐานข้อมูลที่เรามีอยู่หรือโปรแกรมของระบบคอมพิวเตอร์ที่เราใช้อยู่
คือสามารถนำมาใช้งานได้ทันที
3. ส่วนที่ทำหน้าที่อ่านและแปล ความหมายของแถบบาร์โค้ด ในบรรดาส่วนประกอบของบาร์โค้ดที่สำคัญที่สุดเห็นจะได้แก่
ส่วนที่ทำหน้าที่อ่านและแปลความหมายของแถบบาร์โค้ด หรือที่เรียกว่าบาร์โค้ดรีดเดอร์
( BARCODE READER ) หรือเครื่องอ่านบาร์โค้ดนั่นเอง เครื่องอ่านบาร์โค้ดนี้มีอยู่ด้วยกันหลายแบบ
แต่เครื่องอ่านบาร์โค้ดทุกแบบจะใช้หลักการเดียวกันคือ ที่เครื่องอ่านบาร์โค้ดจะมีแหล่งกำเนิดแสง
ซึ่งอาจจะเป็นแสงธรรมดาหรือแสงเลเซอร์ก็ได้ แหล่งกำเนิดแสงนี้จะยิงลำแสงไปกระทบตัวบาร์โค้ด
และที่ตัวอ่านบาร์โค้ดก็จะมีอุปกรณ์สำหรับรับแสงที่สะท้อนจากตัวบาร์โค้ดอีกต่อหนึ่ง
อุปกรณ์รับสัญญาณแสงนี้ จะส่งสัญญาณที่ได้ไปยังอุปกรณ์ทางอิเล็กทรอนิกส์อีกชุดหนึ่ง
ที่เรียกว่า " ดีโค้ดเดอร์ ( DECODER ) " สมัยก่อนจะอยู่ในกล่องแยกจากตัวเครื่องอ่านบาร์โค้ด
แต่ปัจจุบันมักจะรวมอยู่ในตัวเครื่องอ่านบาร์โค้ดเลย อุปกรณ์ที่เรียกว่าดีโค้ดเดอร์นี้
จะทำการตรวจสอบสัญญาณที่ได้ว่าเป็นแถบบาร์โค้ดแบบไหน เช่น แถบบาร์โค้ดที่อยู่ในระบบที่ใช้แถบแคบกับแถบกว้างแทนค่า
0 หรือ 1 ในระบบเลขฐานสอง หรือในระบบที่ใช้แถบมืดกับแถบสว่าง แทนค่า 0 หรือ
1 ในระบบเลขฐานสอง
เมื่อตรวจสอบได้ว่าเป็นบาร์โค้ดในประเภทไหนแล้วตัวดีโค้ดเดอร์ก็จะแปลงสัญญาณที่ได้เป็นสัญญาณดิจิตอลหรือสัญญาณที่ใช้กับคอมพิวเตอร์
จากนั้นจึงจะทำการตรวจสอบว่าค้าที่ได้เป็นบาร์โค้ดชนิดใด เช่น UPC, EAN หรือ
2 of 5 เป็นต้น ซึ่งเมื่อได้ชนิดของบาร์โค้ดแล้วก็จะนำไปเปรียบเทียบกับตารางรูปแบบ
( PATTERN ) ของบาร์โค้ดชนิดนั้น เพื่อหาตัวอักษรหรือตัวเลขที่ได้จากการอ่านแถบบาร์โค้ด
แล้วส่งผลที่ได้ไปยังเครื่องคอมพิวเตอร์อีกต่อหนึ่ง ( เนื่องจากส่วนนี้เป็นการทำงานของอุปกรณ์ทางอิเล็กทรอนิกส์จึงทำให้ได้ผลออกมาเร็วมาก
)
สำหรับค่าที่ได้จากการอ่านแถบบาร์โค้ดของเครื่องอ่านบาร์โค้ด ปกติจะให้ค่าออกมาเป็นตัวอักษร
( CHARACTER ) แต่ทั้งนี้ก็ขึ้นอยู่กับฟิลด์ที่รับข้อมูลว่ารับข้อมูลแบบตัวอักษรหรือแบบตัวเลข
ที่ใช้คำนวณได้ ( NUMBERIC ) ซึ่งจุดนี้คอมพิวเตอร์จะปรับชนิดของข้อมูลให้เองโดยอัตโนมัติ
( เหมือนกับการรับค่าจากแป้นพิมพ์ ) และสำหรับกรณีบาร์โค้ดที่เราใช้มีระบบการตรวจสอบความถูกต้องของรหัสในตัวเอง
( Check digit ) เช่นบาร์โค้ดในกลุ่ม UPC/EAN ในฟิลด์ที่เราใช้รับข้อมูลในโปรแกรมของเรา
เราไม่จำเป็นต้องเขียนโมดูลที่ทำหน้าที่ตรวจสอบค่าเช็คดิจิตในโปรแกรมของเรา
เนื่องจากที่เครื่องอ่านบาร์โค้ดจะทำการตรวจสอบจุดนี้อยู่แล้ว
ส่วนประสิทธิภาพของการอ่านแบบบาร์โค้ดจะขึ้นอยู่กับองค์ประกอบใหญ่ ๆ 2 อย่าง
จุดแรกคือตัวบาร์โค้ดเอง ซึ่งมีหลายจุดที่มีอิทธิพลต่อการอ่านเครื่องอ่านบาร์โค้ด
เช่น ความเข้มของแถบบาร์โค้ด สีพื้น และลวดลายต่าง ๆ ที่อยู่ในตัวบาร์โค้ด
ซึ่งจะมีผลกระทบต่อการอ่านของเครื่องอ่านบาร์โค้ดทั้งสิ้น จุดหนึ่งที่ผู้เขียนพบบ่อยในเรื่องของตัวบาร์โค้ดก็คือ
เรื่องของช่องว่างหรือพื้นที่ว่าง ๆ ที่อยู่ด้านซ้ายและด้านขวาของแถบบาร์โค้ดในตัวป้ายบาร์โค้ดของเรา
ซึ่งจะต้องเว้นที่ว่างไว้ให้พอสมควร หากเว้นส่วนนี้ไว้น้อยเกินไป จะมีผลทำให้เครื่องอ่านบาร์โค้ดตีผลการอ่านออกมาช้ากว่าปกติ
เนื่องจากเครื่องอ่านบาร์โค้ดจะนำขอบของป้ายบาร์โค้ดไปรวมกับตัวบาร์โค้ดด้วย
ทำให้เครื่องอ่านบาร์โค้ดตีความหมายออกมาไม่ถูกหรือได้ช้ามาก ถ้าเครื่องอ่านบาร์โค้ดที่เราใช้ฉลาดพอสมควร
จุดที่สองก็คือ เนื่องจากบาร์โค้ดที่นิยมใช้กันทั่วไปมีอยู่ด้วยกันหลายชนิด
ดังนั้นเครื่องอ่านบาร์โค้ดส่วนใหญ่จึงเซตอัพให้สามารถอ่านบาร์โค้ดชนิดต่างๆ
ได้หลาย ๆ แบบ แต่การที่เราเซตอัพให้เครื่องอ่านบาร์โค้สามารถอ่านบาร์โค้ดได้หลายชนิดนี้เอง
จะทำให้เครื่องอ่านแปลความหมายที่ได้จากการอ่านแถบบาร์โค้ดออกมาได้ช้าลง ซึ่งในทางปฏิบัติเราจะเซตอัพให้สามารถอ่านบาร์โค้ดได้เพียงชนิดเดียวหรือเท่าที่จำเป็นที่เราต้องใช้เท่านั้น
ซึ่งจะทำให้การทำงานของเครื่องอ่านบาร์โค้ดทำงานได้เร็วขึ้น เนื่องจากระบบบาร์โค้ดถูกออกแบบมาเพื่อลดข้อผิดพลาดที่เกิดจากการบันทึกข้อมูลทางแป้นพิมพ์
ดังนั้นเครื่องอ่านบาร์โค้ดส่วนใหญ่จะมีซอฟต์แวร์จำลองตัวเองให้เป็นส่วนหนึ่งของแป้นพิมพ์
( อาจจะรวมอยู่ในตัวบาร์โค้ดเลย ซึ่งจะถูกเก็บอยู่ในรอมหรือเป็นซอฟต์แวร์แยกต่างหาก
ต้องมาโหลดลงเครื่องคอมพิวเตอร์ก่อน ก็ได้แล้วแต่จุดประสงค์ของผู้ผลิต ) ซึ่งสามารถใช้ร่วมกับแป้นพิมพ์และโปรแกรมประยุกต์ที่ใช้กับกิจการของเราได้ทันที
โดยไม่ต้องแก้ไขหรือปรับปรุงโปรแกรมระบบงานที่เราใช้อยู่
ถึงแม้ว่าอุปกรณ์ที่เกี่ยวข้องกับบาร์โค้ดส่วนใหญ่จะใช้กับระบบงานของเราได้ทันที
แต่ก็ยังมีบางจุดที่เราอาจจะต้องทำหรือแก้ไขโปรแกรมของเราบางส่วน จากที่ผมเคยทำงานเกี่ยวกับระบบบาร์โค้ด
พบว่ามี 2 เรื่อง คือเรื่องของการส่งข้อมูลไปพิมพ์แถบบาร์โค้ดที่เครื่องพิมพ์บาร์โค้ด
ในกรณีเราทำการพิมพ์แถบบาร์โค้ดเอง และกรณีที่เราใช้เครื่องอ่านบาร์โค้ดแบบมือถือ
( portable ) ในเรื่องของการพิมพ์แถบบาร์โค้ด ถ้าเราใช้เครื่องพิมพ์บาร์โค้ดโดยเฉพาะ
ปกติผู้ขายจะเตรียมซอฟต์แวร์สำหรับควบคุมการพิมพ์ไว้ให้แล้ว เพียงแต่ทำโปรแกรมเราส่งข้อมูลที่ต้องการพิมพ์ในแถบบาร์โค้ดไปยังโปรแกรมควบคุมการพิมพ์ที่ผู้ขายเครื่องพิมพ์จัดเตรียมไว้ให้เท่านั้น
แต่ถ้าเราใช้เครื่องพิมพ์ของคอมพิวเตอร์ทั่วไปในการพิมพ์แถบบาร์โค้ดเราอาจจะต้องเขียนโปรแกรมส่วนนี้เพิ่มทั้งหมด
แต่อย่างไรก็ดี ถ้าในระบบงานของเราไม่มีการพิมพ์แถบบาร์โค้ดเอง เช่น ในกลุ่มธุรกิจค้าปลีก
เราก็ไม่จำเป็นต้องทำอะไรเพิ่มในส่วนนี้ ส่วนในกรณีที่เราใช้เครื่องอ่านบาร์โค้ดแบบมือถือ
ซึ่งเรามักจะใช้เก็บข้อมูลบางอย่าง เช่นการตรวจนับสินค้า เป็นต้น ปกติเราจะเก็บข้อมูลทีละหลาย
ๆ รายการแล้วจึงมาดั้มลงเครื่องคอมพิวเตอร์ในรูปของ TEXT FILE สิ่งที่เราต้องทำเพิ่มในกรณีนี้ก็คือ
ต้องเขียนโปรแกรมอ่านค่าจาก TEXT FILE ที่ได้ขึ้นมาใช้กับโปรแกรมในระบบงานของเรา