Trang 1 BỘ GIÁO DỤC VÀ ĐÀO TẠOTRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI--- Nguyễn Văn QuangXÂY DỰNG HỆ THỐNG THÔNG TIN QUẢN LÝ HOẠT ĐỘNG CỦA CÁC MÁY SMT TRONG DÂY TRUYỀNLUẬN VĂN THẠC SĨ KHOA HỌCCH
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-
Nguyễn Văn Quang
QUẢN LÝ HOẠT ĐỘNG CỦA CÁC MÁY SMT
TRONG DÂY TRUYỀN
LUẬN VĂN THẠC SĨ KHOA HỌC CHUYÊN NGÀNH KỸ THUẬT ĐIỆN TỬ VIỄN THÔNG
Hà Nội - 201 1
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-
Nguyễn Văn Quang
QUẢN LÝ HOẠT ĐỘNG CỦA CÁC MÁY SMT
TRONG DÂY TRUYỀN
Chuyên ngành: Kỹ thuật Điện Tử Viễn Thông
LUẬN VĂN THẠC SĨ KHOA HỌC CHUYÊN NGÀNH KỸ THUẬT ĐIỆN TỬ VIỄN THÔNG
TS PHẠM VĂN TIẾN
Trang 3Lời Cam Đoan
Tôi xin cam đoan nội dung luận văn là công trình nghiên cứu của tôi và chưa từng được công bố trước đây Luận văn có sử dụng các tài liệu và thông tin tham
khảo được liệt kê trong danh mục phía cuối luận văn
Trang 4DANH MỤC CÁC KÝ HIỆU CHỮ ,
VIẾT TẮT
Viết tắt Tiếng Anh Tiếng Việt
AOI Automated Optical Inspection Máy kiểm tra quang học
DCS Distributed Control System Hệ thống điều khiển tập trungHTML HyperText Markup Language Ngôn ngữ đánh dấu siêu văn bản
IC Intergated Circuit Mạch tích hợp(Chip)
LAN Local Area Network Mạng nội bộ
ODBC Open Database Connectivity Kết nối cơ sở dữ liệu mở
PCB Printed Circuit Board Bản mạch in
PHP Personal Home Page Một ngôn ngữ lập trình Web PLC Programmable Logic Controller Bộ điều khiển Logic Lập trình được
SMD Surface Mounted Devices Linh kiện dán bề mặt
SMT Surface Mounted Technology Công nghệ dán bề mặt
SQL Structured Query Language Ngôn ngữ truy vấn mang tính cấu
trúc
Trang 5DANH MỤC CÁC BẢNG
Bảng 2 1: Bảng Cơ sở dữ liệu Chain_table- 39
Bảng 2 2: Bảng Cơ sở dữ liệu History- 40
Bảng 2 3: Bảng Cơ sở dữ liệu Status- 41
Bảng 2 4: Bảng Cơ sở dữ liệu Diagram- 42
Bảng 2 5: Bảng Cơ sở dữ liệu Threshold- 43
DANH MỤC CÁC HÌNH VẼ Hình 1-1: Hình ảnh so sánh lắp ráp PCB theo công nghệ xuyên lỗ và SMT 9
Hình 1-2: Rô bốt gắn chip 10
Hình 1-3: Mẫu mặt nạ kim loại 11
Hình 1-4: Thiết bị gắn chip SM421 của Samsung 12
Hình 1-5: Hình ảnh kiểm tra sản phẩm sau quá trình hàn nhiệt bằng X-ray 13
Hình 2-1: Hình ảnh file Log dạng csv 18
Hình 2-2: Hình ảnh file Log dạng txt 19
Hình 2-3: Kiến trúc cơ sở dữ liệu Oracle 23
Hình 2-4: Cơ sở dữ liệu Oracle 24
Hình 2-5: Tiến trình phục vụ cơ sở dữ liệu 25
Hình 2-6: Cây phân tích cơ sở dữ liệu 25
Hình 2-7: Thi hành các thông báo 26
Hình 2-8: Nhận lại các thông báo 26
Hình 2-9: Cấu trúc lưu trữ dữ liệu của Oracle 29
Hình 2-10: Thành phần khối dữ liệu 30
Hình 2-11: Thông tin và trạng thái của mỗi dây truyền sẽ được hiển thị trên giao diện WEB 36
Hình 2-12: Mô hình hệ thống 37
Hình 2-13: Lưu đồ thuật toán hàm tạo file ảnh 47
Hình 2-14: Lưu đồ thuật toán hàm copy file Log và cập nhật bảng Chain_table 50
Hình 2-15: Lưu đồ thuật toán cập nhật dữ liệu bảng History 52
Hình 2-16: Lưu đồ thuật toán tạo bảng Status 54
Hình 2-17: Lưu đồ thuật toán cập nhật dữ liệu bảng Diagram 57
Hình 2-18: Lưu đồ thuật toán tạo ảnh diagram mô tả trạng thái của dây truyền 59
Hình 2-19: Lưu đồ thuật toán hàm Drawing() 60
Hình 2-20: Lưu đồ thuật toán hàm main() 61
Hình 3-1: Hiển thị khoảng thời gian thực hiện từng đoạn chương trình 69
Trang 6MỤC LỤC
Lời Cam Đoan 1
DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT 2
DANH MỤC CÁC BẢNG 3
DANH MỤC CÁC HÌNH VẼ 3
MỤC LỤC 4
MỞ ĐẦU 6
NỘI DUNG 9
CHƯƠNG 1 CÔNG NGHỆ SMT VÀ VẤN ĐỀ QUẢN TRỊ DÂY TRUYỀN 9
1.1 Giới thiệu về công nghệ SMT 9
1.1.1 Khái niệm về công nghệ hàn linh kiện bề mặt SMT 9
1.1.2 Các kĩ thuật đáng chú ý trong công nghệ SMT 10
1.1.2.1 Kỹ thuật gắn chíp 10
1.1.2.2 Quét hợp kim hàn 11
1.1.2.3 Gia nhiệt – làm mát 12
1.1.2.4 Kiểm tra và sửa lỗi 12
1.2 Lợi điểm khi sử dụng công nghệ SMT 13
1.3 Vấn đề quản trị đối với một số dây truyền SMT 14
CHƯƠNG 2 XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝ HOẠT ĐỘNG CỦA CÁC MÁY SMT TRONG DÂY TRUYỀN 16
2.1 Cơ chế hoạt động của các máy SMT 16
2.1.1 Cơ chế hoạt động 16
2.1.2 Phân tích Log File của máy 16
2.2 Lựa chọn giải pháp các công cụ xây dựng chương trình 20
2.2.1 Ngôn ngữ lập trình Web PHP 20
2.2.1.1 Giới thiệu PHP 20
2.2.1.2 Tại sao sử dụng PHP 21
2.2.1.3 Những điểm mạnh của PHP 21
2.2.2 Cơ sở dữ liệu Oracle 22
2.2.2.1 Giới thiệu về Oracle 22
2.2.2.2 Kiến trúc cơ bản của Oracle 22
2.2.2.3 Việc lưu trữ dữ liệu của Oracle 28
Trang 72.2.2.5 EXTENT 31
2.2.2.6 SEMENT 32
2.2.2.7 TABLESPACE 32
2.3 Xây dựng cơ sở dữ liệu 33
2.3.1 Những tiêu chí chương trình cần đạt được 33
2.3.2 Mô hình hệ thống và xây dựng Cơ sở dữ liệu 36
2.3.2.1 Bảng Chain_table 38
2.3.2.2 Bảng History 39
2.3.2.3 Bảng Status: 40
2.3.2.4 Bảng Diagram: 41
2.3.2.5 Bảng Threshold: 43
2.4 Xây dựng thuật toán 46
2.4.1 Xây dựng bảng Chain-table 48
2.4.2 Xây dựng bảng History 51
2.4.3 Xây dựng bảng Status 53
2.4.4 Chương trình xây dựng bảng Diagram 55
2.4.5 Chương trình tạo Diagram 58
2.4.6 Chương trình hàm hiển thị ảnh main() 61
CHƯƠNG 3 ĐÁNH GIÁ KẾT QUẢ THU ĐƯỢC VÀ ĐỊNH HƯỚNG PHÁT TRIỂN 62 3.1 Đánh giá kết quả thu được của chương trình 62
3.2 Vấn đề đáp ứng thời gian của hệ thống 62
3.2.1 Các yêu cầu về đáp ứng thời gian 62
3.2.1.1 Các đặc điểm của một hệ thống thời gian thực: 63
3.2.1.2 Xử lý thời gian thực 64
3.2.1.3 Phương pháp lập lịch 66
3.2.2 Vấn đề thời gian thực của hệ thống quản lý hoạt động của các máy SMT trong dây truyền 68
3.3 Định hướng phát triển 69
3.3.1 Tối ưu cơ sở dữ liệu và giải thuật giảm thời gian đáp ứng của hệ thống 70 3.3.2 Phát triển công cụ xuất ra các báo cáo tùy chọn 71
3.3.3 Phát triển các ứng dụng điều khiển 71
KẾT LUẬN 73
TÀI LIỆU THAM KHẢO 74
Trang 8MỞ ĐẦU
Lý do chọn đề tài
Máy SMT (Surface Mount Ted echnology) hay còn gọi là pick-and-place machines là một loại máy Robot được sử dụng để cắm, hàn các thiết bị, linh kiện lên bề mặt mạch in PCB(printed circuit board) Chúng có thể thao tác với tốc độ và
độ chính xác cao như cắm các linh kiện điện tử như tụ điện, điện trở, IC… lên mạch in mà hầu hết chúng đều được sử dụng cho máy tính, thiết bị viễn thông, sản phẩm điện tử, công nghiệp điện tử, quân sự, vũ trụ…
Bên cạnh việc tự động thao tác trên các mạch in như đã được lập trình trước, mỗi máy SMT có các đèn báo hiệu vẫn cần một nhân viên vận hành để quan sát trạng thái hoạt động của máy, điều này đôi lúc dẫn đến lãng phí nguồn nhân lực Một thực tế khác là làm sao để có thế quan sát được trạng thái hoạt động của máy SMT dù đang làm việc ở một vị trí bất kì nào khác trong nhà máy
Trên cở sở các vấn đề nêu ra ở trên, tôi đã quyết định chọn đề tài “ Xây dựng
hệ thống thông tin quản lý hoạt động của các máy SMT trong dây truyền”
Lịch sử nghiên cứu
Ngành công nghiệp chế tạo điện tử đã trải qua các bước phát triển khác nhau
từ thấp đến cao theo trình độ phát triển của công nghệ đóng gói các linh kiện (Components) Khởi đầu từ công nghệ "through hole" nghĩa là "xuyên lỗ": các linh kiện được cắm tổ hợp lên bo mạch thông qua các lỗ xuyên trên mạch in hay PCB Tất cả các linh kiện ở tất cả các chủng loại đều phải có chân đủ dài để có thể cắm xuyên qua bo mạch và mối hàn sẽ được thực hiện ở mặt bên kia thông qua lò hàn sóng (wave soldering) hoặc hàn tay SMT là công nghệ mới nhất dùng để chế tạo các bo mạch trong ngành điện tử Các linh kiện sẽ được gắp lên (pick up) khỏi các
Trang 9SMT ngày nay bảo đảm cho việc gắp và cắm linh kiện được thực hiện với sai số cực nhỏ, do bởi các máy SMT là các máy cơ khí chính xác điều khiển bằng máy tính được trang bị những công nghệ hiện đại nhất như công nghệ xử lí ảnh v.v Ngày nay, một bo mạch tùy vào yêu cầu sử dụng được thiết kế mà có thể chế tạo - - theo công nghệ xuyên lỗ, hoặc theo công nghệ SMT, hoặc kết hợp cả hai Việc áp dụng công nghệ SMT mang lại một trình độ sản xuất tự động hóa cao độ và mang lại năng suất cũng như sự linh động cực cao trong việc thay đổi model sản xuất
Bên cạnh sử dụng các công nghệ chính xác hiện đại, các máy SMT cũng được tích hợp các phần mềm đễ đưa ra các báo cáo (report) hoặc nhật ký (log file) của hệ thống, góp phần quản lý máy và tình trạng sản xuất dễ dàng, hiệu quả hơn
Mục đích nghiên cứu của luận văn, đối tượng, phạm vi nghiên cứu
Mục đích nghiên cứu của luận văn là xây dựng một giao diện web hiển thị trạng thái hoạt động của các máy SMT trong dây truyền giúp người vận hành có thể
dễ dàng quản lý, dù họ đang trực tiếp vận hành hay ở bất kì đâu trong nhà máy, thậm chí ở bất kì chi nhánh nào của công ty, miễn là họ có máy tính nối với mạng sản xuất nội bộ
Do hạn chế về thời gian cũng như xem xét mức độ phù hợp với trình độ chuyên môn và nhu cầu thực tế, đề tài chỉ dừng lại ở việc quan sát trạng thái hệ thống, đưa ra các cảnh báo nhanh nhất để người vận hành kịp thời phát hiện và khắc phục, không đi sâu vào nghiên cứu tìm cách vận hành và điều khiển từ xa cho các máy SMT
Tóm tắt cô đọng các luận điểm cơ bản và đóng góp mới
Các máy SMT được nạp chương trình bằng một máy tính gọi là PC, trong quá trình hoạt động, máy SMT cũng sẽ tạo ra các Log và lưu trên máy PC này Trong Log file chứa thông tin về sản phẩm, tên sản phẩm, mã sản phẩm, thời gian
Trang 10đọc ra thông tin, ghi vào cơ sở dữ liệu, phân tích cơ sỏ dữ liêu để lập trình đưa ra phán đoán về tình trạng hoạt động của máy như máy đang dừng hay hoạt động, đã dừng hay đã hoạt động trong bao lâu Các kết quả đó sẽ được hiển thị trực quan trên giao diện web Đề tài nghiên cứu cũng cố gắng đưa ra các giải thuật để các kết quả đưa ra đáp ứng nhanh nhất có th ể và coi nó như là thời gian thực
Bố cục và tóm tắt nội dung các chương như sau:
Chương 1: Giới thiệu vế công nghệ SMT và đặt vấn đề
Chương 2: Xây dựng chương trình quản lý để giải quyết vần đề đã nêu
Chương 3: Đánh giá kết quản thu được và định hướng
Phương pháp nghiên cứu
Chương trình được xây dựng bắt đầu từ ý tưởng tận dụng các file nhật ký được tạo ra rải rác tại từng máy tính chuyên dụng của mỗi dây truyền SMT Dựa trên các tài liệu hướng dẫn về máy SMT để tìm ra cách đọc thông tin từ các file nhật
ký này Khi đã có các thông tin từ file nhật ký của dây truyền thì đưa ra các mô hình giải thuật hợp lý nhất để phân định các trạng thái của dây truyền từ những thông tin
đó Việc xây dựng cơ sở dữ liệu và viết mã chương trình cũng được thực hiện từng bước Sau mỗi kết quả mà chương trình có được, thực hiện việc so sánh các kết quả
đó và những quan sát thực nghiệm thực tế để đưa ra những hiệu chỉnh phù hợp cho chương trình
Trang 11NỘI DUNG
CHƯƠNG 1 CÔNG NGHỆ SMT VÀ VẤN ĐỀ
QUẢN TRỊ DÂY TRUYỀN
1.1 Giới thiệu về công nghệ SMT
1.1.1 Khái niệm về công nghệ hàn linh kiện bề mặt SMT
Công nghệ hàn linh kiện bề mặt là phương pháp gắn các linh kiện điện tử trực tiếp lên trên bề mặt của bo mạch (PCB) Các linh kiện điện tử dành riêng cho công nghệ này có tên viết tắt là SMD Trong công nghiệp điện tử, SMT đã thay thế phần lớn công nghệ đóng gói linh kiện trên tấm PCB xuyên lỗ theo đó linh kiện điện tử được cố định trên bề mặt PCB bằng phương pháp xuyên lỗ và hàn qua các
là người đi tiên phong trong việc ứng dụng công nghệ này Lúc đó linh kiện điện tử phải được gia công cơ khí để đính thêm một mẩu kim loại vào hai đầu sao cho có
Trang 12xuống khá nhiều và việc gắn linh kiện lên trên cả hai mặt của PCB làm cho công nghệ SMT trở lên thông dụng hơn là công nghệ gắn linh kiện bằng phương pháp xuyên lỗ, cho phép làm tăng mật độ linh kiện Thông thường, mỗi linh kiện được cố định trên bề mặt mạch in bằng một diện tích phủ chì rất nhỏ, và ở mặt kia của tấm PCB linh kiện cũng chỉ được cố định bằng một chấm kem hàn tương tự Vì lý do này, kích thước vật lý của linh kiện ngày càng giảm Công nghệ SMT có mức độ tự động hóa cao, không đòi hỏi nhiều nhân công, và đặc biệt làm tăng công suất sản xuất
1.1.2 Các kĩ thuật đáng chú ý trong công nghệ SMT
1.1.2.1 Kỹ thuật gắn chíp
Các linh kiện SMDs, kích thước nhỏ, thường được chuyển tải tới dây truyền trên băng chứa (bằng giấy hoặc nhựa) xoay quanh một trục nào đó Trong khi đó IC lại thường được chứa trong các khay đựng riêng Máy gắp chip được điều khiển số
sẽ gỡ các chip trên khay chứa và đặt chúng lên trên bề mặt PCB ở nơi được quét kem hàn Các linh kiện ở mặt dưới của bo mạch được gắn lên trước, và các chấm keo được sấy khô nhanh bằng nhiệt hoặc bằng bức xạ UV Sau đó bo mạch được lật lại và máy gắn linh kiện thực hiện nốt các phần còn lại trên bề mặt bo
Trang 131.1.2.2 Quét hợp kim hàn
Trên bề mặt mạch in không đục lỗ, ở những nơi linh kiện được gắn vào, người ta đã mạ sẵn các lớp vật liệu dẫn điện như thiếc chì, bạc hoặc vàng những - – chi tiết này được gọi là chân hàn (hay lớp đệm hàn) Sau đó, kem hàn, thường thấy dưới dạng bột nhão là hỗn hợp của hợp kim hàn (có thành phần khác nhau, tùy vào công nghệ và đối tượng hàn) và các hạt vật liệu hàn, được quét lên trên bề mặt của mạch in Để tránh kem hàn dính lên trên những nơi không mong muốn người ta phải sử dụng một dụng cụ đặc biệt gọi mà mặt nạ kim loại (metal mask hoặc – stencil) làm bằng màng mỏng thép không gỉ trên đó người ta gia công, đục thủng ở những vị trí tương ứng với nơi đặt chíp trên bo mạch bằng cách này, kem hàn sẽ -được quét vào các vị trí mong muốn Nếu cần phải gắn linh kiện lên mặt còn lại của
bo mạch, người ta phải sử dụng một thiết bị điều khiển số để đặt các chấm vật liệu
có tính bám dính cao vào các vị trí đặt linh kiện Sau khi kem hàn được phủ lên trên
bề mặt, bo mạch sẽ được chuyển sang máy đặt chíp (pick-and-place machine)
Trang 141.1.2.3 Gia nhiệt – làm mát
Sau khi quá trình gắp, gắn linh kiện hoàn tất, bo mạch được chuyển tới lò sấy Đầu tiên các bo tiến vào vùng sấy sơ bộ nơi mà ở đó nhiệt độ của bo và mọi linh kiện tương đối đồng đều và được nâng lên một cách từ từ Việc này làm giảm thiểu ứng suất nhiệt khi khi quá trình lắp ráp kết thúc sau khi hàn Bo mạch sau đó tiến vào vùng với nhiệt độ đủ lớn để có thể làm nóng chảy các hạt vật liệu hàn trong kem hàn, hàn các đầu linh kiện lên trên bo mạch Sức căng bề mặt của kem hàn nóng chảy giúp cho linh kiện không lệch vị trí, và nếu như bề mặt địa lý của chân hàn được chế tạo như thiết kế, sức căng bề mặt sẽ tự động điều chỉnh linh kiện về đúng vị trí của nó
Hình 1-4: Thiết bị gắn chip SM421 của Samsung1.1.2.4 Kiểm tra và sửa lỗi
Cuối cùng bo mạch được đưa sang bộ phận kiểm tra quang học để phát hiện lỗi bỏ sót linh kiện hoặc sửa các lỗivị trí của linh kện Trong trường hợp cần thiết, chúng ta có thể lắp đặt thêm một số trạm kiểm tra quang học cho dây truyền công nghệ sao cho có thể phát hiện lỗi sau từng mỗi công đoạn
Trang 15Ở công đoạn này chúng ta có thể sử dụng các máy AOI (automated Optical Inspection) quang học hoặc sử dụng X ray Các thiết bị này cho phép phát hiện các -lỗi vị trí, lỗi tiếp xúc của các linh kiện và kem hàn trên bề mặt của mạch in
Hình 1-5: Hình ảnh kiểm tra sản phẩm sau quá trình hàn nhiệt bằng X-ray
1.2 Lợi điểm khi sử dụng công nghệ SMT
• Linh kiện nhỏ hơn
• Cần phải tạo ra rất ít lỗ trong quá trình chế tạo PCB
• Quá trình lắp ráp đơn giản hơn
• Những lỗi nhỏ gặp phải trong quá trình đóng gói được hiệu chỉnh tự động (sức căng bề mặt của kem hàn nóng chảy làm lệch vị trí của linh kiện ra khỏi
vị trí của chân hàn trên bo mạch)
• Có thể gắn linh kiện lên trên hai mặt của bo mạch
• Làm giảm trở và kháng của lớp chì tiếp xúc (làm tăng hiệu năng của các linh kiện cao tần)
• Tinh năng chịu bền bỉ hơn trong điều kiện bị va đập và rung lắc
• Giá linh kiện cho công nghệ SMT thường rẻ hơn giá linh kiện cho công nghệ xuyên lỗ
Trang 16• Các hiệu ứng cao tần (RF) không mong muốn ít xảy ra hơn khi sử dụng công nghệ SMT so với các linh kiện cho dùng công nghệ hàn chì, tạo điều kiện thuận lợi cho việc dự đoán các đặc tuyến của linh kiện
Công nghệ SMT ra đời, thay thế dần dần công nghệ đóng gói xuyên lỗ, điều này không có nghĩa là SMT hoàn toàn lý tưởng Những điểm cần phải khắc phục ở công nghệ này là quá trình công nghệ chế tạo SMT công phu hơn nhiều so với việc
sử dụng công nghệ đóng gói xuyên lỗ, đầu tư ban đầu tương đối lớn và tốn thời gian trong việc lắp đặt hệ thống
Do kích thước linh kiện rất nhỏ, độ phân giải của các linh kiện trên bo là rất cao nên việc nghiên cứu, triển khai công nghệ này một cách thủ công sẽ làm cho tỷ
lệ sai hỏng tương đối lớn và tốn kém
Hiện nay các sản phẩm SMT tương đối đa dạng đáp ứng đủ các nhu cầu từ thủ công tới tự động hóa hoàn toàn Hầu như các hãng sản xuất thiết bị SMT hàng đầu thế giới đều tham gia triển lãm lần này như Samsung SMT, Speedline (Mỹ) hay -Juki (Nhật bản) Với sự xuất hiện của sản phẩm SMT, với xu hướng dịch chuyển đầu tư, Việt Nam chắc chắn sẽ trở thành những quốc gia có nền công nghiệp điện tử phát triển trong khu vực và trên thế giới trong tương lai không xa
1.3 V ấn đề quản trị đối với một số dây truyền SMT
Bên cạnh việc tự động thao tác trên các mạch in như đã được lập trình trước
và việc báo hiệu trạng thái bằng các đèn báo hiệu báo hiệu trang thái ngay trên dây truyền một số dòng máy SMT có vẫn cần một nhân viên vận hành để quan sát trạng , thái hoạt động của máy, điều này đôi lúc dẫn đến lãng phí nguồn nhân lực Một thực
tế khác là làm sao để có thế quan sát được trạng thái hoạt động của máy SMT dù ta đang làm việc ở một vị trí bất kì nào khác trong nhà máy
Các máy SMT khi hoạt động sẽ tạo ra các Log file (file dữ liệu ghi nhật ký của máy), chứa thông tin về quá trình sản xuất sản phẩm Tuy nhiên nội dung thông
Trang 17tích và tính toán một cách thích hợp thì ta có thể đưa ra các kết quả về hoạt động của máy và hiển thị chúng một cách trực quan Từ đó góp phần quản lý và vận hành dây truyền một cách dễ dàng hơn, kịp thời hơn và tiết kiệm nhân lực hơn
Trang 18CHƯƠNG 2 XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝ HOẠT ĐỘNG CỦA CÁC MÁY SMT
TRONG DÂY TRUYỀN
2.1.1 Cơ chế hoạt động
Máy SMT là Robot cắm các linh kiện lên các bản mạch điện tử, để có thể sản xuất ra nhiều loại bản mạch khác nhau thì máy SMT cần được nạp các chương trình tương ứng với mỗi loại bản mạch Các chương trình này được viết bởi kỹ thuật viên
và nạp vào máy SMT thông qua 1 máy tính PC (tên viết tắt PC sẽ được sử dụng đển cuối luận văn được kết nối qua cáp mạng LAN với máy SMT Nội dung của ) chương trình nạp sẽ chỉ ra cho máy SMT tọa độ cắm của các linh kiện trên bản mạch và vị trí mà các linh kiện được đưa vào máy và thứ tự cũng như thời điểm cắm các link kiện Các link kiện này được đặt trên cácFeeder(cánh tay hút gắp linh kiên) của máy
Ngoài việc nạp chương trình thì máy PC còn là nơi lưu lại các file Log của máy SMT Sau khi mỗi bản mạch chạy qua thì máy SMT thì sẽ tạo ra một log file
để ghi lại toàn bộ thông của về bản mạch và gửi cho máy PC
Trạng thái của máy được xác định là ON (đang sản xuất bình thường) khi khoảng thời gian giữa 2 lần sản xuất 2 bản mạch liên tiếp nhỏ hơn một khoảng thời gian ngưỡng nào đó Tùy vào từng Model của bản mạch (phân biệt bằng PCB Code)
mà thời gian ngưỡng có thể khác nhau
Ngược lại, trạng thái của máy được xác định là OFF(dừng sản xuất) khi máy
đó đang tắt hoặc đang bật nhưng khoảng thời gian giữa 2 lần sản xuất 2 bản mạch liên tiếp lớn hơn mức ngưỡng
2.1.2 Phân tích Log File của máy
Trong bất kỳ một hệ thống nào, log file đóng vai trò như một cuốn nhật ký,
Trang 19sinh ra liên tục cùng với toàn bộ hoạt động nên thường được lưu dưới dạng Text đơn giản, hoặc có thể được mã hóa Khi cần thiết các file này sẽ được lấy ra, phân tích , giải mã để tìm các thông tin cần thiết Dưới đây là ví dụ hình ảnh về log file của máy SMT
Trang 20Hình 2-1: Hình ảnh file Log dạng csv
Trang 21Hình 2-2: Hình ảnh file Log dạng txt
Trang 22Tên của file log mang thông tin về thời gian mà file log được tạo ra và Serial của bản mạch được sản xuất ra mà nội dung của file log đang nói tới Nội dung của file Log chứa nhiều thông tin, dưới đây là những thông tin được sử dụng cho chương
trình:
• Thời điểm bản mạch được hoàn thành với định dạng:
YYYYMMDDHHMMSS (Năm tháng ngày giờ phút giây)
• Tên model của máy SMT
• Mã của bản mạch (PCB Code : các bản mạch có Code giống nhau thì sẽ )giống nhau
là một dự án cá nhân của Lerdorf và đã trở thành một công nghệ web quan trọng Zeev Suraski và Andi Gutmans đã hoàn thiện việc phân tích cú pháp cho ngôn ngữ
để rồi tháng 6/1998, PHP3 đã ra đời (phiên bản này có phần mở rộng là *.php3) cho đến tận thời điểm đó, PHP chưa một lần được phát triển chính thức, một yêu cầu viết lại bộ đặc tả được đưa ra, ngay sau đó PHP4 ra đời (phiên bản này có phần
Trang 23mở rộng không phải là *.php4 mà là *.php) PHP4 nhanh hơn so với PHP3 rất nhiều PHP bây giờ được gọi là PHP Hypertext PreProcessor
2.2.1.2 Tại sao sử dụng PHP
Như chúng ta đã biết, có rất nhiều trang web được xây dựng bởi ngôn ngữ HTML (HyperText Markup Language) Đây chỉ là những trang web tĩnh, nghĩa là chúng chỉ chứa đựng một nội dung cụ thể với những dòng văn bản đơn thuần, hình ảnh, và có thể được hỗ trợ bởi ngôn ngữ JavaScript, hoặc Java Apple Những trang web như vậy người ta thường gọi là client side Tuy nhiên, Internet và Intranets đã -được sử dụng cho các ứng dụng cần tới cơ sở dữ liệu Các trang ứng dụng như vậy được gọi là trang web động, bởi vì nội dung của chúng luôn thay đổi tùy thuộc vào
dữ liệu và người sử dụng PHP là ngôn ngữ làm được những điều như vậy Bằng cách chạy chương trình PHP trên máy chủ Web server, chúng ta có thể tạo ra các ứng dụng có sự tương tác với cơ sở dữ liệu để tạo ra những trang web và đây được gọi là trang web động
2.2.1.3 Những điểm mạnh của PHP
PHP thực hiện tốc độ rất nhanh và hiệu quả Một server bình thường có thể đáp ứng được hàng triệu truy cập tới trong một ngày
PHP hỗ trợ nối tới rất nhiều hệ CSDL khác nhau:
PostgreSQL, mSQL, Oracle, dbm, filePro, Hyperware, InterBase, Sybase,… Ngoài ra còn hỗ trợ kết nối với ODBC thông qua đó có thể kết nối tới nhiều ngôn ngữ khác mà ODBC hỗ trợ
PHP cũng cung cấp một hệ thống thư viện phong phú: do PHP ngay từ đầu được thiết kế nhằm mục đích xây dựng và phát triển các ứng dụng trên web nên PHP cung cấp rât nhiều hàm xây dựng sẵn giúp thực hiện các công việc rất dễ dàng: gửi, nhận mail, làm việc với các cookie…
Trang 24PHP là một ngôn ngữ rất dễ dùng và đơn giản hơn so với một số ngôn ngữ khác như Perl, Java
PHP có thể sử dụng được trên nhiều hệ điều hành, chúng ta có thể viết chúng trên Linux, Unix và các phiên bản của Windows Và có thể đem mã PHP này chạy trên các hệ điều hành khác mà không phải sửa đổi lại mã
PHP là ngôn ngữ mã nguồn mở
2.2.2 Cơ sở dữ liệu Oracle
2.2.2.1 Giới thiệu về Oracle
ORACLE là một bộ phần mềm được cung cấp bởi công ty ORACLE, nó bao gồm một bộ xây dựng các ứng dụng và các sản phẩm cuối cùng cho user (end_user product)
Oracle cung cấp một hệ quản trị CSDL mềm dẻo nó bao gồm CSDL Oracle, môi trường cho việc thiết kế các cơ sở dữ liệu (Designer 2000) và các công cụ phát triển (Developer 2000)
Hệ quản trị CSDL có tính an toàn, bảo mật cao, tính nhất quán và toàn vẹn
dữ liệu cho phép các user truy nhập tới CSDL phân tán như một khối thống nhất ,
Vì vậy nó được đánh giá là ưu việt nhất hiện nay
2.2.2.2 Kiến trúc cơ bản của Oracle
Sơ đồ kiến trúc cơ bản ORACLE như sau:
Trang 25Parameter Files
Control Files
Offline Storage
RECO SMON
CKPT Database Buffer
Hình 2-3: Kiến trúc cơ sở dữ liệu OracleMột CSDL của ORACLE thì bao gồm các file điều khiển (Control files),các file dữ liệu (data files) và các file đăng nhập lại (Redo log files)
Trang 26
Data Files Redo Log Files Control Files
Hình 2-4: Cơ sở dữ liệu Oracle
• File dữ liệu (data files) :chứa đựng tất cả các dữ liệu của CSDL có cấu trúc logic như các table,index,và chúng được lưu giữ vật lý trong các file CSDL
• File đăng nhập lại (reedo log files ):dùng cho các xử lý đăng nhập lại.Nó ghi lại tất cả những thay đổi được tạo cho CSDL và chứa các thông tin cho việc khôi phục
• Các file điều khiển (control files ) : ghi lại cấu trúc vật lý của CSDL
• File biến (parameter ) :chứa các tham số cho việc thiết lạp môi trường làm việc , xác định các đặc tính của các thể hiện ,thường được định danh
là Init.Ora
Mỗi khi ORACLE bắt đầu SGA được định vị và các tiến trình nền được bắt đầu Sự kết hợp của một vùng nhớ đệm và một tiến trình nền được gọi là một thể hiện (Instance) của ORACLE
• Các tiến trình nền tương ứng với các công việc khác nhau phục vụ cho tất
Trang 27Hình 2-5: Tiến trình phục vụ cơ sở dữ liệuCác tiến trình phục vụ sau khi thi hành các yêu cầu của người sử dụngvà đưa trở lại kết quả cho user
Các thông báo của SQL sẽ được thi hành bởi các server process ,các tiến trình phục vụ sẽ đọc khối dữ liệu từ đĩa vào vùng nhớ dữ liệu được dùng chung của SGA (vùng Shared pool).Sau đó đưa ra kết quả từ các thông báo SQL.Các tiến trình phục vụ có ba giai đoạn:
• Giai đoạn phân tích:kiểm tra cú pháp,kiểm tra quyền truy nhập,đường dẫn tìm kiếm có hiệu quả nhất rồi xác định cây phân tíchCây phân tích sẽ được cất giữ trong vùng Shared SQL Area (Thuộc một phần của Shared pool trong SGA) vùng này chứa các thông tin cho việc thi hành các thông báo SQL
Hình 2-6: Cây phân tích cơ sở dữ liệu
• Giai đoạn thi hành các thông báo:
Gắn cây phân tích tới vùng đệm dữ liệu
User processes Server processes
User processes
Server processes
SGA
Trang 28
Hình 2-7: Thi hành các thông báo
• Giai đoạn nhận lại:nhận các dl từ các thông báo của server
Hình 2-8: Nhận lại các thông báo
Từ đó ta có thể kết luận về hai kiểu tiến trình (Background process và server processes):chúng đều là những tiến trình nhưng chúng khác nhau trong phạm vi tiến trình của mình.Các tiến trình phục vụ trao đổi các yêu cầu từ user,còn background processes thi hành những công việc của một instance
SGA Shared pool Database Buffer
Server proceses
SGA
Server processes User process
Trang 29Giới thiệu về SGA(System global area :Vùng bộ nhớ hệ thống): là một tập hợp các vùng bộ nhớ đệm dùng chung các tiến trình khác nhau có một vùng đệm riêng và SGA được định vị bởi ORACLE cho một instance
• Redo log buffer (Vùng đăng nhập lại) : Vùng này chứa các thông tin về những thay đổi tới CSDL ORACLE sẽ ghi lại những thay đổi tới CSDL trong vùng này tới các Redo log file.Kích cỡ của vùng này được xác định bởi biến Log-buffer
Các tiến trình nền (Backgound processes)
• DBWR: các khối dữ liệu đã được sửa đổi trong vùng Database buffer cache được viết trở lại đĩa bởi 1 tiến trình nền DBWR Tiến trình này quản lý vùng Database buffer.Cho nên các tiến trình của user luôn luôn
có thể tìm được vùng đệm rỗi
• Logwriter ( LGWR): ghi lại tất cả những thay đổi tới CSDL trong vùng Redo log buffer tới đĩa bởi một tiến trình nền có tên LGWR,một tiến trình nền khác là ARCH(Achiver) có thể được bắt đầu để lưu giữ các thông tin đăng nhập lại trên 1 thiết bị cất giữ đã định trước (tape,disk)dùng cho việc khôi phục bị thất bại
Trang 30+ khi user đưa ra chỉ thị commit+ vùng redo log buffer vượt quá 1/3 kích cỡ cho phép của vùng+ DBWR cần để xoá sạch các khối đệm cho 1 điểm kiểm tra hoặc quá thời gian xuất hiện
• Process Monitor (PMON): thi hành những tiến trình khôi phục khi 1 tiến trình của user bị thất bại
• System monitor (SMON): tự động thi hành việc khôi phục instance Tái tạo lại kiểu không gian bảng (table space)
• Recover process(RECO):giải quyết những thất bại liên quan tới 1 tiến trình được phân bố
• Checkpoint (CKPT): thay LGWR viết các thông tin dữ liệu từ vùng log buffer tới các header của các file dl và file điều khiển
• LCKn (Lock process): Xử lý tình trạng bế tắc giữa các instance trong hệ tiến trình song song
2.2.2.3 Việc lưu trữ dữ liệu của Oracle
Oracle định vị không gian cho dữ liệu trong CSDL theo : đon vị nhỏ nhất là các Block tiếp đến là Extent, Segment, Tablespace
Trang 3160KB
BLOCKS
Trang 32thì kích cỡ của nó không thể được thay đổi ngoài trừ việc tạo lại CSDL Kích cỡ thường 2 4 KB được xác định bởi biến DB_block_size-:-
- Row directory:bao gồm các thông tin về các hàng thực sự trong khối
- Free space:bao gồm tập các byte trong khối mà còn có sẵn cho việc update,insert,delete,việc điều khiển free space cho việc update,insert,delete trong CSDL bằng cách thay đổi giá trị của các biến: PCTfree,PCTused,Initrsns,Matrans
Biến PCTfree: xác định tỷ lệ % của khối để sử dụng việc update các hàng
đã tồn tại trong khối
Vd:PCT free=20 tức là 20% của khối dùng cho việc update khi tỷ lệ của khối còn rỗi >% của PCTfree thì việc chèn mới cho phép
Pctused: cho phép 1 khối được xem xét lại cho việc chèn các hàng mới,các hàng mới sẽ được chèn khi tỷ lệ % của khối đang được sử dụng nhỏ hơn giá trị Pctused,giá trị ngầm định = 40
Trang 33Vd: Pctused =40 thì sau khi không gian đã được sử dụng <40% thì hàng mới có thể được insert vào khối này
Để xác định các transaction đang hoạt động trên 1 khối bởi việc sử dụng 2 biến:
INITRANS:là số các transaction đưa vào lúc bắt đầu có thể xẩy ra đồng thời được định vị trong header của mỗi khối (ngầmđịnh=1,min=1,max=255)
Maxtrans: là số lớn nhất các tiến trình đồng thời của khối được cung cấp (mặc định là 255,min=1,max=255)
2.2.2.5 EXTENT
Là 1 tập các khối kề cận được định vị tới 1 segment.Khi 1 đối tượng của CSDL được hình thành thì không gian được định vị cho nó(các đối tượng có thể là:table,cluster,index,roll back segment,table space)
Mỗi segment cần có ít nhất là 1 extent, riêng đoạn khôi phục cần có ít nhất là
2 extent Các extent đầu tiên gọi là Initial extent Các extent tiếp theo gọi là incrmental extent
Một đối tượng sẽ được cấp 1 extent mới nếu tất cả các extent đã định vị hiện tại của nó đã được sử dụng
Các extent có thể được định vị cho đối tượng khác khi segment dùng nó bị huỷ bỏ hoặc nó thuộc phần cắt bớt đi của segment
Điều chỉnh extent tới các segment bởi các biến cất giữ sau:
• Initial:xác định kích cỡ của extent đầu tiên được định vị cho segment ngầm định là 5 data block
• Next:xác định kích cỡ của các extent tiếp theo ngầm định là 5 blocks
• Maxextents: tổng số lớn nhất các extent cấp cho segment ngầm định là 99
• Minextents:tổng số extent được cấp cho segment khi segment được tạo
Trang 34• PCTỉncease: tỷ lệ % mà mỗi extent tiếp theo được phát triển có thể vượt quá extent cuối cùng ngầm định là 50%
• Optimal: kích cỡ tối ưu cho 1 đoạn khôi phục mgầm định la null
• Free lits: số danh sách của các khối rỗi cho insert vào bảng ngầm định là
• đoạn dữ liệu (data segment):tập tất cả cá extent mà chúng cất giữ tất cả
dữ liệu cho một bảng hoặc 1 cluster
• Index segment:chứa tất cả các dữ liệu chỉ số cho việc tìm kiếm được tối ưu,nhanh chóng
• Temporary Segment:tập các exyent cất giữ các giữ liệu thuộc vào các bảng tạm thời được tạo trong suốt sự thi hành 1 sắp xếp
• Roll back segment:tập các extent mà chúng cất giữ các giữ liệu khôi phục cho việc khôi phục lại
• Boostrap segment:là 1 extent chứa các định nghĩa về từ điển cho các bảng
từ điển và được nạp vào khi CSDL được mở
2.2.2.7 TABLESPACE
Dữ liệu trong một cơ sở dữ liệu của Oracle dược cất giữ logic trên các tablespace và được cất giữ vật lý trong các file cơ sở dữ liệu.Một cơ sở dữ liệu của Oracle có thể bao gồm một hoặc nhiều Tablespace
Mỗi một tablespace có một chức năng riêng Tablespace hệ thống dành cho
Trang 35MỘT SỐ LỆNH SQL ĐỂ HIỂN THỊ THÔNG TIN VỀ VIỆC CẤT GIỮ
Liệt kê tất cả các cột trong tablespace của người dùng (ser_tablespace) :
SQL> Desc dba_tablespaces;
Liệt kê các thông tin về mỗi tablespace
SQL> Select * from Dba_tablespaces;
Hiện các Extent của không gian rỗi trong mỗi tablespace :
SQL> Select * from Dba_free_space;
Hiện các thông tin chung về các file dữ liệu thuộc về mỗi tablespace :
SQL>Select file_name, tablespace_name, bytes from Dba_data_files;
Hiện những thông tin chung về tất cả các segment trong CSDL :
SQL> Select owner,segment_name,extents,max_extents
from Dba_segments;
2.3 Xây dựng cơ sở dữ liệu
2.3.1 Những tiêu chí chương trình cần đạt được
Trạng thái của máy SMT được thể hiện qua 3 tín hiện đèn báo gắn trên thân máy:
• Màu xanh: máy đang sản xuất bình thường
• Màu vàng: máy đang được bảo dưỡng hoặc hiệu chỉnhhoặc tạm dừng
• Màu đỏ: máy đang có sự cố, không hoạt động
Các đèn báo được quan sát bởi các giám sát viên ngay tại máy SMT và mỗi máy sẽ cần 1 giám sát viên Khi có sự cố thì giám sát viên sẽ thông báo cho cấp trên tình hình Như vậy việc quản lý dây truyền sẽ tốn nhiều nguồn nhân lực, thời gian
và người quản lý khó bao quát cả hệ thống sản xuất của nhà máy
Trang 36Nhận thấy ngoài đèn báo trạng thái thì máy SMT sau khi hoàn thành sản phẩm sẽ đưa ra một file Log chứa thông tin về sản phẩm đã được phân tích ở mục 2.1 và file này được lưu vào một máy PC Nếu có thể nối được các máy PC này với nhau, thu thập các file Log, phân tích nội dung và hiển thị kết quả trên một giao diện máy tính thì người vận hành có thể dễ dàng quản lý tất cả các dây truyền một cách tập trung, dù họ đang trực tiếp vận hành hay ở bất kì đâu trong nhà máy, thậm chí ở bất kì chi nhánh nào của công ty, miễn là họ có máy tính nối với mạng sản xuất nội bộ Đây cũng chính là mục đích của chương trình mà luận văn đang xây dựng
Để thực hiện được yêu cầu trên thì cần có ít nhất 1 server làm nhiệm vụ thu thập thông tin từ các Log file, sắp sếp và lưu vào cơ sở dữ liệu một cách khoa học Còn về phía người kĩ thuật viên muốn quan sát trạng thái của các máy thì chắc chán phải sử dụng một máy tính trạm client có kết nối mang LAN với server trên Vấn đề
ở chổ từ client sẽ giao tiếp với server như thế nào?
Có hai giải pháp lựa chọn Một là viết phần mềm kiểu Client Server, gói chương trình trên client sẽ đồng bộ và lấy thông tin từ server và hiển thị những thông tin được yêu cầu Hai là sử dụng 1 server đóng vài trò như 1 web server lấy thông tin từ server Cơ sở dữ liệu và hiển thị các thông tin cần thiết trên một giao diện web Trường hợp thứ nhất sẽ không thực sự thuận tiện vì muốn quan sát hệ thống thì chúng ta phải cài đặt gói phần mềm client cho máy client mà người kĩ thuật viên đang sử dụng Trường hợp này sẽ là nên làm nếu chúng ta viết chương trình cho mục đích thương mại, khi đó giá trị của phần mềm sẽ tỉ lệ với số lượng máy trạm mà khách hàng muốn cài đặt sử dụng Tuy nhiên trong phạm vi chương trình phục vụ cho chính công việc của chúng ta thì sẽ không thuận lợi
Trường hợp thứ hai sẽ rất thuận tiện vì kĩ thuật viên có thể ngay lập tức truy cập và biết được tình trạng của hệ thống miễn là máy tính của họ đang có kết nối mạng với server
Trang 37Do những đặc điểm như trên nên chương tr nh mà luận văn trình bày sẽ thực ìhiện theo giải pháp thứ hai là sử dụng giao diện web Các thông tin mà giao diện web cần thể hiện được bao gồm:
• Hiện thị trạng thái của tất cả các dây truyền, mỗi dây truyền được hiển thị bằng các chữ nhật có kích thước giống nhau
• Hiển thị hiện tại, mỗi dây truyền sản xuất đang dừng OFF hay đang sản xuất bình thường ON
• Dây truyền sản xuất đang dừng hay đang sản xuất được bao lâu
• Nhật ký hoạt động của máy, tình hình ON hay OFF của máy trong những khoảng thời gian gần đây và có hiển thị thời gian tương đối cụ thể bằng Graph
• Trạng thái dùng hay sản xuất được hiện thị một cách trực quan để người giám sát có thể dễ dàng nhận ra trạng thái của máy một cách nhanh nhất Cụ thể:
• Dây truyền dừng Off: màu chủ đạo hiển thị là đỏ, chữ và số liệu màu vàng
• Dây truyền ON: màu chủ đạo là đen, chữ và số liệu màu xanh
• Có một trục thời gian ghi nhật ký hoạt động của máy bằng màu sắc, cho biết khoảng thời gian nào máy ON hay Off
• Ngoài ra đương nhiên cần hiển thị tên máy, tên dây truyền, số thứ tự dây truyền
Trang 38Hình 2-11: Thông tin và trạng thái của mỗi dây truyền sẽ được hiển thị trên giao
diện WEB
2.3.2 Mô hình hệ thống và xây dựng Cơ sở dữ liệu
Để tạo ra giao diện web với hình ảnh trực quan, chương trình sẽ bao gồm hai phần chính, chương trình chính và chương trình tạo ảnh
• Chương trình tạo ảnh: làm nhiệm vụ thu thập dữ liệu từ file log, chọn lọc, ghi vào cơ sỏ dữ liệu, phân tích, đưa ra kết quả trạng thái và tạo ảnh hiển thị cho từng dây truyền
• Chương trình main(): là vòng lặp liên tiếp hiện thị ảnh của các dây truyền mà chương trình tạo ảnh đã tạo ra
Tên dây truyền Trạng thái dây truyền
Khoảng thời gian của trạng thái dây truyền đang tồn tại
Hiển thị trục thời gian Hiển thị trạng thái của dây truyền tương ứng với trục
thời gian bằng các vạch màu