Trong phạm vi của luận văn, tôi chủ yếu nghiên cứu về cách thức sử dụng phần mềm LabVIEW cơ bản như: cách tạo giao diện, xử lý ảnh, ứng dụng của LabVIEW trong điều khiển tự động.. Nghiên
Trang 1TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHỆ TP HCM
Mã số ngành: 60 52 02 02
TP HỒ CHÍ MINH, tháng 05 năm 2013
Trang 2Mã số ngành: 60 52 02 02
HƯỚNG DẪN KHOA HỌC: TS Võ Hoàng Duy
TP HỒ CHÍ MINH, tháng 03 năm 2013
Trang 3TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHỆ TP HCM
Cán bộ hướng dẫn khoa học :TS VÕ HOÀNG DUY
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Luận văn Thạc sĩ được bảo vệ tại Trường Đại học Kỹ thuật Công nghệ TP HCM ngày 10 tháng 05 năm 2013
Thành phần Hội đồng đánh giá Luận văn Thạc sĩ gồm:
(Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ Luận văn Thạc sĩ)
1.TS Ngô Cao Cường Chủ tịch hội đồng 2.TS Nguyễn Thanh Phương Phản biện 1
3.TS Nguyễn Hùng Phản biện 2
4 PGS.TS Trần Thu Hà Ủy viên
5.TS Đinh Hoàng Bách Ủy viên – thư ký
Trang 4TP HCM, ngày 29 tháng 12 năm 2012
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: ĐOÀN NGUYÊN MỸ Giới tính: Nam
Ngày, tháng, năm sinh: 27/05/1978 Nơi sinh: TP.Hồ Chí Minh
Chuyên ngành: Kỹ Thuật Điện MSHV: 1181031038
I- TÊN ĐỀ TÀI:
NGHIÊN CỨU THIẾT KẾ HỆ THỐNG NHẬN DẠNG CHAI BỊ LỖI TRONG DÂY CHUYỀN SẢN XUẤT BEER
II- NHIỆM VỤ VÀ NỘI DUNG:
- Nghiên cứu về hệ thống điều khiển dây chuyền sản xuất
- Nghiên cứu về lập trình LabVIEW xử lý ảnh cho dây chuyền sản xuất
- Xây dựng mô hình hệ thống nhận dạng chai bị lỗi trong dây chuyền sản xuất beer bằng
xử lý ảnh lập trình LabVIEW
III- NGÀY GIAO NHIỆM VỤ: 21/06/2012
IV- NGÀY HOÀN THÀNH NHIỆM VỤ: 27/03/2013
V- CÁN BỘ HƯỚNG DẪN: TS VÕ HOÀNG DUY
CÁN BỘ HƯỚNG DẪN KHOA QUẢN LÝ CHUYÊN NGÀNH
Võ Hoàng Duy
Trang 5LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi Các số liệu, kết quả nêu trong Luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác
Tôi xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện Luận văn này đã được cảm ơn và các thông tin trích dẫn trong Luận văn đã được chỉ rõ nguồn gốc
Học viên thực hiện Luận văn
Đoàn Nguyên Mỹ
Trang 6LỜI CÁM ƠN
Trong quá trình thực hiện luận văn, tuy gặp nhiều khó khăn, nhưng nhờ sự hướng dẫn tận tình của TS Võ Hoàng Duy, tôi đã hoàn thành luận văn đúng thời gian quy định Để hoàn thành cuốn luận văn này, tôi xin bày tỏa lòng biết ơn sâu sắc đối với
TS Võ Hoàng Duy, thầy là người tận tâm hết lòng vì học viên, hướng dẫn nhiệt tình
và cung cấp cho tôi những tài liệu vô cùng quý giá trong thời gian thực hiện luận văn Xin chân thành cám ơn tập thể thầy cô giáo trường đại học Kỹ Thuật Công Nghệ
TP Hồ Chí Minh, đã giảng dạy và truyền đạt kiến thức cho tôi, giúp tôi học tập và nghiện cứu trong quá trình học cao học tại trường
Xin chân thành cảm ơn Ban giám hiệu, Phòng quản lý khoa học - Đào tạo sau đại học trường đại học Kỹ Thuật Công Nghệ TP Hồ Chí Minh, đã giúp đỡ, tạo điều kiện thuận lợi cho tôi trong quá trình học tập và làm luận văn cao học tại trường
Xin chân thành cảm ơn các anh, chị đồng nghiệp đã hỗ trợ, giúp đỡ cho tôi trong quá trình thực hiện luận văn
Xin chân thành cảm ơn các anh, chị học viên cao học ngành “Kỹ thuật điện” đã đóng góp ý kiến cho tôi trong quá trình thực hiện luận văn này
TP Hồ Chí Minh, tháng 03 năm 2013
Người Thực hiện
Đoàn Nguyên Mỹ
Trang 7TÓM TẮT LUẬN VĂN
Môi trường LabVIEW mở tương thích với mọi phần cứng với các trợ giúp tương tác, tạo mã nguồn và khả năng kết nối tới hàng nghìn thiết bị giúp tập hợp dữ liệu dễ dàng Vì LabVIEW cung cấp tính kết nối tới hầu hết mọi thiết bị) Trong phạm vi của luận văn, tôi chủ yếu nghiên cứu về cách thức sử dụng phần mềm LabVIEW cơ bản như: cách tạo giao diện, xử lý ảnh, ứng dụng của LabVIEW trong điều khiển tự động Nghiên cứu xử lý ảnh từ đó kết hợp với phần mềm LabVIEW
để tạo ra một ứng dụng cụ thể trong điều khiển tự động ‘Nghiên cứu thiết kế hệ thống nhận dạng chai bị lỗi trong dây chuyền sản xuất beer’
Đối tượng nghiên cứu chung của luận văn là: phần mềm LabVIEW , card giao tiếp PC HDL USB 9090 và kết hợp phần xử lý ảnh Tôi tập trung nghiên cứu được một ứng dụng quen thuộc của LabVIEW và card giao tiếp PC HDL USB 9090 Đó là thu thập tín hiệu từ thiết bị bên ngoài (camera), xử lý ảnh, giao tiếp với PC thông qua card giao tiếp HDL USB 9090 từ đó mô phỏng và xử lý tín hiệu trong một quá trình sản xuất
Trong đó, giao diện màn hình điều khiển thiết bị từ máy tính được thiết kế với hình ảnh 3D theo thiết bị thực tế Do đó, làm cho người vận hành dễ giám sát và điều khiển thiết bị
Luận văn chủ yếu tập trung xây dựng mô hình hệ thống hệ thống nhận dạng chai bị lỗi trong dây chuyền sản xuất beer điều khiển bằng phần mềm LabVIEW được thu gọn lại với đầu đủ các chi tiết như là một hệ thống trong thực tế
Thông qua luận văn này, tôi cũng hy vọng sẽ cung cấp một mô hình và kiến thức hữu ích cho các kỹ sư, sinh viên v.v… đang học tập và nghiên cứu về xử lý ảnh điều khiển thiết bị bằng phần mềm LabVIEW
Trang 8ABSTRACT
Open LabVIEW environment is compatible with all hardwares with interactive assistance, making source code and the ability to connect to thousands of devices that make data collection easy Because LabVIEW provides connections to most devices In the scope of this thesis, my research mainly is on how to use the basic LabVIEW software such as: how to create the interface and process image, some applications of LabVIEW in automatic control Research the image processing then combine with LabVIEW software to create a specific application in
automatic control “Research and design the recognition system of faulty bottle in the beer production chain”
Study objects of the thesis are LabVIEW software, PC HDL USB 9090 contact card and a combination of image processing I focus on a familiar application of LabVIEW and PC HDL USB 9090 contact card That is collecting signals from external device (camera), image processing, communicating with the
PC HDL USB 9090 contact card, then simulating and processing signals in a manufacturing process
In the design, the device control display interface from computer is designed with 3D images to comply with the actual device Therefore, it is easier for the operator to monitor and control the equipment
The thesis mainly focused on developing a model of the recognition system
of faulty bottle in the beer production line controlled by LabVIEW software, which its whole elements are fully miniaturized like a system in practice
Through this thesis, I hope to provide a useful model and knowledge for engineers and students etc who are studying and doing research on image processing,
controlling device using LabVIEW software
Trang 9MỤC LỤC
Lời cam đoan i
Lời cảm ơn ii
Tóm tắt luận văn iii
Abstract iv
Mục lục v
Danh mục các từ viết tắt viii
Danh mục các bảng biểu ix
Danh mục các sơ đồ, hình ảnh x
Chương 1: Mở đầu 1
1.1 Đặt vấn đề 1
1.2 Tính cấp thiết của đề tài 1
1.3 Mục tiêu đề tài 2
1.4 Nội dung nghiên cứu 2
1.5 Phương pháp luận 2
1.6 Phương pháp nghiên cứu 3
1.7 Nội dung luận văn 3
Chương 2: Tổng quan LabVIEW 4
2.1 LabVIEW là gì? 4
2.2 Các ứng dụng của LabVIEW 5
2.3 Các phép toán trong LabVIEW 8
2.3.1 Phép cộng hai số x,y 8
2.3.2 Cấu trúc một bài LabVIEW 13
2.3.3 Các phép toán thông thường 14
2.4 Các loại Control và Indicator 15
2.4.1 Các Control thường dùng 15
2.4.2 Các dạng Indicator thường dùng 16
Trang 102.4.3 Kiểu dữ liệu trong LabVIEW 18
2.5 Vòng lặp while, vòng lặp for 19
2.5.1 Vòng lặp while 19
2.5.2 Vòng lặp for 21
2.5.3 Ứng dụng vòng lặp vẽ đồ thị 22
2.6 Cấu trúc Case 24
2.6.1 Cấu trúc trường hợp 24
2.6.2 Ứng dụng của cấu trúc Case 25
Chương 3: Các ứng dụng card HDL USB 9090 28
3.1 Giới thiệu HDL USB 9090 28
3.2 Cách kết nối thiết bị HDL USB 9090 vào máy tính 30
3.3 Các ứng dụng card HDL USB 9090 35
3.3.1 Đọc tín hiệu từ encoder 36
3.3.2 Phát xung PWM điều khiển động cơ 38
3.4 Lý thuyết điều khiển PID 41
3.4.1 Bản chất toán học thuật toán PID 43
3.4.2 Điều khiển PID cho động cơ DC 47
Chương 4: Xử lý ảnh trong LabVIEW 50
4.1 Điều khiển hình ảnh trong LabVIEW 50
4.1.1 Tổng quan về mô phỏng 50
4.1.2 Giới thiệu 3D trong LabVIEW 50
4.1.2.1 Công cụ cần thiết gồm 50
4.1.2.2 3D trong LabVIEW 50
4.1.2.3 Một số demo mẫu 51
4.1.3 Thao tác mô phỏng 3D trong LabVIEW 52
4.1.3.1 Tạo các khối hình học cơ bản 52
4.1.3.2 Tạo nhiều vật thể và gán buộc cho vật thể 60
4.1.3.3 Tạo chuyển động cho các vật 62
4.1.3.4 Tạo chuyển động cho vật 66
Trang 114.2 Xử lý ảnh LabVIEW 68
4.2.1 Tổng quan về xử lý ảnh 68
4.2.2 Xử lý ảnh LabVIEW 69
4.2.2.1 Thu nhận ảnh 72
4.2.2.2 Xử lý ảnh 76
4.2.2.3 Xuất tín hiệu 80
Chương 5: Xây dựng mô hình hệ thống nhận dạng chai bị lỗi 82
5.1 Thiết kế băng tải 82
5.1.1 Mô tả cơ khí 82
5.1.2 Sơ đồ mạch điện 83
5.1.3 Mô hình thực tế 84
5.2 Kết quả lập trình 88
5.3 Nhận xét 92
Chương 6: Kết luận và hướng nghiên cứu phát triển 93 Phụ lục
Trang 13DANH MỤC CÁC BẢNG BIỂU
Trang
Bảng 2.1 Các control thường dùng 15
Bảng 2.2 Các Indicator thường dùng 17
Bảng 2.3 Kiểu dữ liệu Trong LabVIEW……… 18
Bảng 3.1 Mô tả cụ thể các chân tín hiệu của card HDL 9001 29
Trang 14DANH MỤC CÁC LƯU ĐỒ, HÌNH ẢNH
Trang
Hình 3.8 Mô tả giá trị đặt, giá trị đo được và diện tích sai lệch 45
Trang 15Hình 3.12 Đáp ứng của vị trí động cơ DC 49
Hình 4.1 :Các khối hình học trong môi trường 3D Picture 51
Hình 4.2: Mô phỏng động học cánh tay robot 51
Hình 4.3: Mô phỏng động học cánh tay 2 bậc tự do 52
Hình 4.4: Lấy hàm 3D Picture trên của sổ Front Panel (FP) 52
Hình 4.5 : Hàm 3D Picture xuất hiện trên giao diện của chương trình 53
Hình 4.6 : Thư viện 3D Picture Control trong LabVIEW 53
Hình4.7 : Hàm Creat Object trong thư viện 3D Picture Control 54 Hình 4.8: Lấy hàm Create Object ra cửa sổ Block Diagram (BD) 54 Hình 4.9 : Lấy hàm Create Sphere để tạo khối cầu 55 Hình 4.10 : Thiết lập bán kính cho khối cầu là 1 đơn vị chiều dài 56 Hình 4.11 : Thiết lập màu sắc cho khối cầu 57 Hình 4.12 : Thiết lập Class cho hàm Invoke Node 58 Hình 4.13 : Thiết lập Method cho hàm Invoke Node 58
Hình 4.14 : Hàm Invoke Node sau khi thiết lập Class và Method 59 Hình 4.15 : Thực hiện nối dây 59 Hình 4.16 : Kết quả hiển thị khối cầu 60 Hình 4.17 : Chỉnh góc quan sát vật thể 60 Hình 4.18 : Tạo thêm vật thể màu đỏ và ràng buộc giữa 2 vật thể 61 Hình 4.19 : Di chuyển vật MASTER đi 1 đơn vị theo chiều “+” trục x 64 Hình 4.20 : Tạo chuyển động 1 đơn vị theo chiều “+” trục x cho vật Slave 65
Hình 4.21 : Quay MASTER 90 độ quanh trục z thuận chiều kim đồng hồ 67
Hình 4.22: Hệ thống nhận dạng chai bị lỗi 67 Hình 4.23: Sơ đồ quá trình xử lý ảnh 68 Hình 4.24 : Sơ đồ xử lý ảnh trong công nghiệp 68 Hình 4.25 : Giao diện công cụ xử lý ảnh NI Assitant trên LabVIEW 70 Hình 4.26 : Sơ đồ xử lý ảnh trên LabVIEW 71 Hình 4.27 : Sơ đồ nối dây trên LabVIEW 72 Hình 4 28 Cách lấy hàm Vision Acquisition trong LabVIEW 72
Hình4.29 : Mẫu nắp chai 77 Hinh 4.30 : Card giao tiếp HD 9090 và hàm giao tiếp IO hocdelam 9090 87
Trang 17Luận văn này, đi vào nghiên cứu xử lý ảnh trong LabVIEW và xây dựng mô hình hệ thống nhận dạng chai bị lỗi trong dây chuyền sản xuất beer điều khiển hệ thống bằng phần mềm LabVIEW Kết quả nghiên cứu sẽ đưa ra một cách nhìn tổng quát lý ảnh trong LabVIEW, về ứng dụng LabVIEW trong việc điều khiển và giám sát hệ thống nhận dạng chai bị lỗi trong dây chuyền sản xuất beer, có thể là công cụ hữu ích cho những sinh viên đang học tập và nghiên cứu về xử lý ảnh trong LabVIEW điều khiển hệ thống
1.2 Tính cấp thiết của đề tài
Xử lý ảnh là một lĩnh vực khoa học đã xuất hiện từ lâu và được ứng dụng nhiều trong y học, khoa học vũ trụ và dự báo thời tiết Ngày nay, sự phát triển của
kỹ thuật điện tử đã cho ra đời nhiều loại camera và cảm biến hình ảnh có độ phân giải cao và tốc độ lấy ảnh nhanh, với giá cả phù hợp tùy hãng sản xuất và tùy mức
độ thông minh của thiết bị, chất lượng hình ảnh, từ đó đã cho phép xử lý ảnh được ứng dụng nhiều hơn vào công nghiệp, nhất là trong lĩnh vực quản lý chất lượng, nhận dạng lỗi sản phẩm và phân loại sản phẩm dựa vào các đặc tính có thể nhận dạng được bằng mắt thường và những đặc điểm bề ngoài không thể nhận dạng bằng mắt thường Với những đặc tính không thể nhận dạng bằng mắt thường do đặc điểm cần nhận dạng quá nhỏ hoặc hình dạng quá phức tạp, hoặc yêu cầu nhận diện nhiều
vị trí ở cùng một thời điểm, xử lý ảnh là một công cụ vô cùng hiệu quả với độ chính xác và độ tin cậy cao
Trang 18Tuy nhiên, ở Việt Nam hiện nay, xử lý ảnh trong công nghiệp vẫn còn là một lĩnh vực khá mới mẻ và đang bắt đầu phát triển Vì vậy, việc nghiên cứu, khai thác các ứng dụng của xử lý ảnh sẽ mở ra nhiều cơ hội cho sinh viên
Vấn đề tự động hóa trong điều khiển và giám sát các thiết bị nói chung là một trong những giải pháp hàng đầu trong sự nghiệp công nghiệp hóa và hiện đại hóa ở Việt Nam hiện nay Do đó, luận văn này đưa ra một mô hình điều khiển hệ thống nhận dạng chai bị lỗi trong dây chuyền sản xuất beer bằng phần xử lý ảnh trong LabVIEW đáp ứng yêu cầu điều khiển thực tế nêu trên
1.3 Mục tiêu của đề tài
Trong phạm vi của luận văn, tôi chủ yếu nghiên cứu về cách thức sử dụng phần mềm LabVIEW cơ bản như: cách tạo giao diện, xử lý ảnh, ứng dụng của LabVIEW trong điều khiển tự động Nghiên cứu xử lý ảnh từ đó kết hợp với phần
mềm LabVIEW để tạo ra một ứng dụng cụ thể trong điều khiển tự động ‘Nghiên cứu thiết kế hệ thống nhận dạng chai bị lỗi trong dây chuyền sản xuất beer’
1.4 Nội dung nghiên cứu
- Nghiên cứu mô hình phần cứng hệ thống nhận dạng chai bị lỗi trong dây chuyền sản
xuất beer
- Nghiên cứu mô hình phần mềm labVIEW
- Card giao tiếp PC HDL USB 9090 và kết hợp phần xử lý ảnh, nghiên cứu được một
ứng dụng quen thuộc của LabVIEW và card giao tiếp PC HDL USB 9090 Đó là thu thập tín hiệu từ thiết bị bên ngoài (camera), xử lý ảnh , giao tiếp với PC thông qua card giao tiếp HDL USB 9090 từ đó mô phỏng và xử lý tín hiệu trong một quá trình sản xuất
- Đánh giá hiệu quả mô hình hệ thống nhận dạng chai bị lỗi trong dây chuyền sản
xuất beer điều khiển bằng LabVIEW
1.5 Phương pháp luận
- Luận văn là tài liệu tham khảo có giá trị cho những ai quan tâm, nghiên cứu đến hệ
thống điều khiển phần mềm LabVIEW
- Tìm hiểu xử lý ảnh trong LabVIEW
Trang 19- Tìm hiểu sử dụng phần mềm LabVIEW
- Luận văn này cung cấp một mô hình điều khiển hệ thống nhận dạng chai bị lỗi trong
dây chuyền sản xuất beer bằng phần mềm xử lý ảnh trong LabVIEW có thể ứng dụng trong thực tiễn
1.6 Phương pháp nghiên cứu
- Thu thập và đọc hiểu các tài liệu liên quan từ cán bộ hướng dẫn, sách, các bài báo
và internet.v.v…
- Nghiên cứu nguyên lý hoạt động hệ thống dây chuyền sản xuất
- Nghiên cứu phần mềm LabVIEW
- Xây dựng mô hình điều khiển hệ thống bằng phần mềm LabVIEW
- Lập trình phần mềm, kết nối phần cứng và chạy thử
- Đánh giá hiệu quả của việc điều khiển hệ thống
1.7 Nội dung luận văn
Nội dung luận văn gồm 6 chương:
Chương 1 : Mở đầu
Chương 2 : Tổng quan về LabVIEW
Chương 3 : Các ứng dụng với card HDL USB 9090
Chương 4 : Xử lý ảnh trong LabVIEW
Chương 5 : Xây dựng mô hình nhận dạng chai bị lỗi
Chương 6 : Kết luận và hướng nghiên cứu phát triển
1.8 Tài liệu tham khảo
Trang 20
Chương 2 TỔNG QUAN VỀ LabVIEW 2.1 LabVIEW là gì ?
LabVIEW (viết tắt của Laboratory Virtual Instrumentation Engineering Workbench) là môi trường ngôn ngữ đồ họa hiệu quả trong việc giao tiếp đa kênh giữ con người, thuật toán và các thiết bị
Gọi LabVIEW là ngôn ngữ đồ học hiệu quả vì về cách thức lập trình, LabVIEW khác với các ngôn ngữ C (hay Python, Basic, vv.) Thay vì sử dụng
các từ vựng (từ khóa) cố định, LabVIEW sử dụng các khối hình ảnh sinh động
và các dây nối để tạo ra các lệnh và các hàm như trong hình 2.1 Cũng chính vì
sự khác biệt này, LabVIEW đã giúp cho việc lập trình trở nên đơn giản hơn bao giờ hết Đặc biệt, LabVIEW rất phù hợp đối với kỹ sư, nhà khoa học, hay giảng viên Chính sự đơn giản, dễ học, dễ nhớ đã giúp cho LabVIEW trở thành một trong những công cụ phổ biến trong các ứng dụng thu thập dữ liệu từ các cảm
biến, phát triển các thuật toán, và điều khiển thiết bị tại các phòng thí nghiệm
trên thế giới
Về ý nghĩa kỹ thuật, LabVIEW cũng được dùng để lập trình ra các chương
trình (source code: mã nguồn) trên máy tính tương tự các ngôn ngữ lập trình dựa trên chữ (text – bassed language) như C, Python, Java, Basic, vv
Hình 2.1: Mã nguồn viết bằng LabVIEW
Trang 21
Đồng thời, LabVIEW hỗ trợ các kỹ sư, nhà khoa học và sinh viên, vv Xây dựng (thực thi) các thuật toán một cách nhanh, gọn, sáng tạo, và dễ hiểu nhờ các khối hình ảnh có tính gợi nhớ và cách thức hoạt động theo kiểu dòng dữ liệu (date flow) lần lượt từ trái qua phải Các thuật toán này được áp dụng lên các
mạch điện và cơ cấu chấp hành thực nhờ vào việc kết nối hệ thống thật với LabVIEW thông qua nhiều chuẩn giao tiếp như chuẩn giao tiếp RS232 (giao tiếp qua cổng COM), chuẩn USB, chuẩn giao tiếp mạng TCP/IP, UDP, chuẩn GBIB,
vv Vì vậy LabVIEW là một ngôn ngữ giao tiếp đa kênh
2.2 Các ứng dụng của LabVIEW
LabVIEW được sử dụng trong các lĩnh vực đo lường, tự động hóa, cơ điện
tử, robotics, vật lý, toán học, sinh học, vật lý, ôtô, vv Nhìn chung:
- LabVIEW giúp kỹ sư kết nối bất kỳ cảm biến và bất kỳ cơ cấu chấp hành nào với máy tính
- LabVIEW có thể được sử dụng để xử lý các kiểu dữ liệu như tín hiệu tương
tự (analog), tín hiệu số (digital) hình ảnh (vision), âm thanh (audio) Vv
- LabVIEW hỗ trợ các giao thức giao tiếp khác nhau như RS232, RS485, TCP/IP, PCI, PXI, và như vậy
- LabVIEW cũng có thể tạo ra các thực thi độc lập và các thư viện chia sẽ (ví dụ như viên liên kết động DLL), bởi vì LabVIEW là một trình biên dịch 32 – bít
Ứng dụng đo lường, là giao diện thu nhập dữ liệu các thông tin cần thiết của tàu vũ trụ cỡ nhỏ tại cơ quan hàng không và vũ trụ NASA, Hoa Kỳ
Ứng dụng hình này giới thiệu áp dụng của việc sử dụng LabVIEW và card Hocdelam USB 9001 hoặc NI USB 6008 để thực hiện đo tín hiệu, vẽ biểu đồ đặc
Trang 22
tuyến các cảm biến trong ô tô và thuật nghiệm thực toán chuyển đổi cảm biến nhằm
hạ giá thành sửa chữa xe ô tô Ứng dụng này được thực hiện tại Đại học Sư Phạm
Kỹ Thuật TP.HCM năm 2008
Điều khiển xe ô tô từ xa, là giao diện điều khiển ôtô bảy chỗ (xe Captival)
từ xa được thực hiện bởi thành viên Hocdelam Group tại phòng thí nghiệm Biorobotics, Hàn Quốc Giao diện này hoàn toàn được xây dựng trong môi trường
lập trình LabVIEW có khả năng hiển thị các thông số và tín hiệu thực như: vận tốc
xe, mực xăng, vị trí tay số của xe, video truyền từ xe qua mạng không dây, âm thanh từ động cơ có tỷ lệ thuận với vị trí bướm ga cũng được giả lập làm cho việc điều khiển xe từ xa giống với việc lái xe trực tiếp nhằm nâng cao chất lượng điều khiển xe
Mô phỏng 3D, mô tả ứng dụng mô phỏng một cánh tay robot đơn giản do Thạc sĩ Đỗ Trung Hiếu thực hiện
Trang 23
Điều khiển phương tiện không người lái, mô tả ứng dụng LabVIEW điều khiển robot không người lái nhằm dò tìm và khám phá dưới nước của tập đoàn Nexans
Thu thập hình ảnh và mô phỏng động lực học, trình bày ứng dụng mô phỏng hệ thống lài không trục lái trong ôtô Đồng thời, hình ảnh từ wedcam thông
thường gắn qua cổng USB) được thu thập và đưa lên giao diện người dùng (Graphical User Interface – GUI)
Thuật toán điều khiển tự động vị trí động cơ DC theo thuật toán PID và giao diện trực quan được Hocdelam Group viết dựa trên cơ sở phần mềm LabVIEW Với giao diện, người điều khiển sẽ dễ dàng quan sát giá trị vị trí mong
muốn, và vị trí thực tế của động cơ, đồng thời, so sánh và đánh giá được tốc độ đáp ứng, độ ổn định của động cơ DC trong quá trình vận hành
Trang 24
Đo lường, giám sát và điều khiển hệ thống công nghiệp (SCADA), trình
bày ứng dụng của LabVIEW trong hệ thống điều khiển và giám sát dụng trong công nghiệp
2.3 Các phép toán trong LabVIEW
2.3.1 Phép cộng hai số x, y
Để đơn giản hãy xem LabVIEW như phần mềm soạn thảo văn bản Microsoft Pffice Word Và việc soạn thảo văn bản trong Word cũng tương tự việc tạo ra Source Code trong LabVIEW Hãy cùng làm thực hiện chương đầu tiên – Phép cộng hai số x, y như sau:
Bình thường, để cộng hai số x, y bằng máy tính bỏ túi (pocket calculator)
như Ví dụ x=2,y=3, thì ta phải nhấn số 2, nhấn dấu +, và nhấn số 3, sau đó nhấn dấu =, và kết quả sẽ hiện thị ra một màn hình LCD Như vậy ta sẽ hai nút nhấn (2
và 3) để nhập giá trị, một LCD để hiển thị giá trị ra của phép cộng, và hàm cộng
(+)
Trong LabVIEW, các nút nhận được nhận là các Control, các LCD gọi là các Indicator Phép c ộng gọi là hàm (Function) Các control và indicator sẽ nằm ở
Trang 25
cửa sổ trước (Front panel), và hàm nằm ở cửa sổ sau (Block diagram), còn gọi là cửa sổ chứa các sơ đồ khối Xem trên hình 2.2
Bây giờ ta thực hiện trong LabEW Khởi động LabVIEW bằng cách vào:
>All Program> National instruments > LabVIEW 2009> LabVIEW Hộp thoại xuất hiện và bạn chọn và o
Cửa sổ giao diện LabVIEW xuất hiện như hình 2.3
Hàm Fuction Block didgram (cửa sổ sau)
Nút nhấn
Input
Control
Màn hình LCD Ouput
Indicator
Hình 2.2 : Phân tích tổng của x và y
Star
Trang 26
2.3 Cửa sổ giao diện LabVIEW khi mới khởi động
Tạo file mới: Tương tự tạo văn bản Microsoft Office Word, để tạo file mới
ta có 3 cách: chọn Blank VI (VI trắng) (Hoặc chọn: File> New hoặc phím tắt Ctrl +N), ta th ấy xuất hiện hai cửa sổ - màu xám (Front panel) và màu trắng (Block diagram) như hình 2.4 Nhấn Ctrl + T để canh đều hai cửa sổ Front panel (FP) và
block diagram (BD)
Trang 27
Hình 2.4 Front panel và Block digram
Tạo control để nhập số 2 và 3 như sau:
- Click chuột phải (Right click) lên front panel (FP) lấy khối Numeric Control bằng cách click chọn khối như hình 2.5
Hình 2.5 Lấy numeric control trên FP
- Rê chuột ra vùng trống của FP, và chọn vị trí cần đặt Control này
- Nhấn chuột trái (Left clik) chuột phải để thả Control xuống FP
Trang 28
- Tương tự ta tạo khối B để có hai khối A, B
Tạo indicator để hiển thị kết quả của tổng như sau:
- Right click lên FP, vào Num Inds (Numeric Indicator) lấy khối Numeric Indicator bằng cách click chọn khối như Hình 2.6
Hình 2.6 Lấy numeric indicator trên FP
Thả xuống vùng trống của FP
- Sửa tên khối này thành A + B Ta được
Lấy hàm cộng (+) để thực hiện phép cộng hai số 2 và 3 bằng cách:
- Right click lên Block Diagram (BD) Chọn vào dấu mũi hai mũi tên để
xổ cửa sổ xuống
- Chọn vào thư viện, chọn vào, chọn hàm cộng
Hoặc chọn Express > , chọn hàm cộng
- Đặt ra vùng trống trong BD (không thể đặt hàm tại FD) Ta được
- Di chuột ra các vị trí đầu (hình của các khối Control và Indicator), sẽ thấy hình cuộn chỉ hiện ra,
Trang 29
- Left Click khi cuộn chỉ hiện ra, sau đó rê chuột tối đầu nối của hàm cộng rồi nhất Left Click để kết nối
- Tương tự ta nối B vào hàm cộng Và nối đầu nhọn bên phải của tam giác
hình cộng vào Indicator A+B
Chạy chương trình
- Nhập giá trị 2 vào ô Control A, 3 vào ô Control B
- Nhấn nút Run có hình tam giác bên FP hoặc bên BD đều được chạy chương trình
- Indicator A+B xuất ra giá trị (trả về giá trị) 5
2.3.2 Cấu trúc một bài trình LabVIEW
Qua ví dụ trên ta thấy, một chương trình LabVIEW (dù đơn giản nhất hay
phức tạp nhất cũng được tạo nên một cách rất đơn giản từ 4 thành phần cơ bản sau: Các khối Control đóng vai trò Input (hay giá trị nhập vào), các Indicator đóng vai trò Ouput (giá trị hiển thị ra, kết quả), các hàm và các đường dây nối (wire) các
khối và hàm lại Nếu bạn đã thực hiện được chương trình phép cộng trên thì mọi
chương trình phức tạp sau này bạn cũng sẽ hoàn toàn thực hiện được khi theo dõi
kỹ các tập sách này
Các Control luôn nối vào các nút bên trái của hàm Các Indicator luôn nối vào các nút bên trái của hàm như hình 2.7 Đặc điểm này là một lưu ý vô cùng quan
trọng quan trọng khi sử dụng qui tắc vàng Change to sau này
Hình 2.7 : Các nút bên trái và bên phải của
hàm cộng
Trang 30
Ta cũng nhận thấy, các Control có các nút mũi tên lên – xuống để tăng giảm giá trị (hoặc nhập trực tiếp vào ô Control) Có Indicator không thể nhập giá trị vào Control thì có màu trắng, còn Indicator thì có màu xám
Một Control có thể đổi thành Indicator (hoặc Constant) bằng cách nhấp Right Click lên Control cần đổi, chọn Change to Indicator Hoặc ngược lại, một
Indicator có thể đổi thành Control bằng ghép Change to Control Constant chính
là một Control có giá trị không đổi suốt thời gian chạy (Run) chương trình
Các Control và Indicator đều có ảnh của chính mình bên BD, ảnh này tự động tạo ra khi ta lấy khi ta lấy các Control và Indicator bên FP
2.3.3 Các phép toán thông thường
Từ phép toán trên, ta có thể viết chương trình tích lũy và tổng hai số A,B
Để thực hiện, bạn chỉ cần lấy thêm hàm nhân (cùng vị trí với cộng trong BD), sau
đó đưa chuột lên dây nối từ A đến hàm cộng, Click chuột trái lên dây này, và nối
vào đầu vào của hàm nhân
Phần này hướng dẫn cách làm các phép toán thông thường trong LabVIEW
như phép chia lấy dư, phép tính căn bậc 2, hàm số mũ, trị tuyệt đối, nhân với -1, vv
Chuột phải trên BD, Ch ọn Programming, Chọn Numeric, ta lấy hàm căn
bậc hai và chia lấy dư Tạo các control và Indicator như hình.Ta sẽ tính được căn
của A là 1.41421 Và với phép chia B và C (10:3) ta được phần nguyên là 3, phần
dư là 1
Hình 2.8: Phép tính căn và chia lấy dư
Trang 31
Tương tự ta có phép trị tuyệt đối và nhân với -1 như trong hình 2.9
2.4 Các loại Control và Indicator
ra màn hình Tương tự đối với slide control và String control ta làm như trên
Ta có thể copy nhanh các Control bang cách nhấn Ctrl (Trên bàn phím) và kéo thả các Control bằng chuột trái
Bảng 2.1 Các control thường dùng
Numeric control: control dạng số
Fill slide: Control có dạng một thanh trượt
Pointer slide: Control dạng thanh trượt có nút kéo
Knod: Nút vặn
Hình 2.9 : Phép trị tuyệt đốivà nhân với - 1
Trang 32
Dial: Đĩa xoay
String control: là một dòng chữ hay còn gọi là text control Sử dụng Text control này để nhập các chữ hoặc chuổi ký tự, hoặc một câu văn, xem thêm bài 4- case structure
Thường các control được chia làm ba dạng: Boolean, Numeric và String
Ví dụ về sử dụng các loại control và Indicator khác nhau được trình bày
trong hình 2.10
2.4.2 Các dạng Indicator thường dùng
Tương tự các Control, ta cũng có các Indicator như: numeric, string, slide, vv… Giữa Control và Indicator có thể chuyển đổi qua lại nhờ vào thao tác Right Clicl> Change to Control hoặc Change to Indicator Như vậy, ta lại thấy quy tắc
vàng Right Click đã phát huy hiệu quả (việc chuyển đổi qua lại) trong trường hợp
này
Để lấy các Indicator, ta vào thư viện theo đường dẫn: FP> Express > Numeric Indicator> và chọn Control cần lấy Ví dụ lấy Numeric control: Right click trên cửa sổ FP, chọn Express, chọn Numeric Indicator, Chọn Bunmeric
Hình 2.10: Ví dụ về các control và Indicator
Trang 33
Indicator và đặt ra màn hình Tương tự đối với Slide control và String control ta làm như trên
Bảng 2.2 Các Indicator thường dùng
Numeric indicator: Indicator dạng số
Meter: Indicator có dạng đồng hồ vuông
Gauge: Indicator dạng đồng hồ vuông
Thermometer: Cột nhiệt độ
Graduated Bar: Thanh hiển thị quá trình
String là một dòng chữ hay còn gọi là text Control dùng để xuất các chữ hoặc chuỗi ký tự, hoặc một câu
văn, xem thêm hình 4 – Case Structure
Lấy String Indicator tại FP> Modern> String & Path> String Indicator
Chart là biểu đồ hiển thị các trục giá trị theo trục thời gian
Graph là đồ thị thường được dùng để hiển thị các tín
hiệu dạng sóng (eaveform)
XY Graph: Đồ thị hiển thị quan hệ giữa hai hiệu X
và Y hoặc dùng trong bài vẽ đồ thị hàm số y = f(x) – được trình bày trong bài 4
Trang 34
Hình 2.11: Cách lấy indicator
Ví dụ về sử dụng Chart trình bày như hình 2.11
2.4.3 Kiểu dữ liệu trong LabVIEW
Kiểu dữ liệu là công cụ dùng để gán (ép) một numeric hay indicator vào một dãy giá trị nào đó Ví dụ, ta muốn một Numeric Control có giá trị (vì chỉ nằm trong giá trị đó ngay cả khi người điều khiển nhập giá trị khác) là 0-255 thì ta sẽ gán Numeric Control đó vào kiểu dữ liệu Unsughed 8 bit (Viết tắt là U8) Muốn đổi
kiểu dữ liệu của một Control, ta chọn Right Click lên Control đó> Chọn Representation> Chọn kiểu càn gán Liệt kê các kiểu dữ liệu trong LabVIEW
Bảng 2.3 Kiểu dữ liệu Trong LabVIEW
Byte sighned integer 8 -128 tới 127 Word signed integer 16 -32,768 tới 32,768
Long signed integer 32 -2,147,483,648 tới
2,147,483,648 Quad signed integer 64 -1e19 tới 1e19 Byte unsighned integer 8 0 tới 255
Trang 35
Word unsigned integer 16 0 tới 65,535 Long unsigned integer 32 0 tới 4,294,967,295
Cách chuyển đổi kiểu dữ liệu: chuột phải lên đối tượng muốn chuyển đổi
chọn Represention rồi chọn kiểu dữ liệu mong muốn
Hình 2.12 Lấy while loop tại BD
While loop sẽ lặp lại chương trình được đặt trong vòng lặp lại này, tới khi nút Stop (conditional terminal) tại FP được nhấn ( lưu ý rằng nút Stop có
dạng dữ liệu là Boolean – true hoặc false)
Xét ví dụ trong hình 2.13 như sau: có hai phép tính cộng A là cộng Numeric
1 và numberic 2 hi ển thi kết quả ra Indicator cộng B là phép cộng Numberic 2 và numberle 3 hiển thị kết quả ra Indicator 2 Khác biệt duy nhất là phép cộng A đặt
U16
U32
Stop
Trang 36
ngoài vòng lặp còn phép cộng B đặt trong vòng lặp Bạn hãy chạy chương trình (nhấn phím tắt ctril + R), sau đó thay đổi giá trị của numeric 1, 2, 3, 4 Ta sẽ quan sát thấy phép cộng sẽ không có giá trị tại Indicator 1 Indicator 2 sẽ thay đổi giá trị khi bạn thay đổi giá trị nhâpf vào numeric 3 và 4 FB và BD của ví dụ này được
Ngoài ra còn sử dụng shift – register trong while loop Shift register là một thanh ghi hoạt động như một ổn nhớ Ta sử dụng thanh ghi này để truy cập lịch sử giá trị của một tín hiệu nào đó, ví dụ chương trình đang chạy ở thời gian là 10:30am, và ta muốn xem lại giá trị của tín hiệu đo được từ cảm biến nhiệt độ ở thời điểm 10:29am Ngoài ra, shift – register cũng có thể dùng để thực hiện các phép tính cộng dồn
Hình 2.13:Tính t ổng while loop
Trang 37
Nói cách khác, có thể dùng , shift – register để “chuyển” giá trị của đồi tượng hoặc tín hiệu nào đó ở vòng lặp này sang vòng lặp kế tiếp Để lập trình bộ điều khiển PID động cơ DC sử dụng card Hocdelam USB -9090
2.5.2 Vòng lặp for
Cũng như white loop, for loop là vòng lặp mà số lần lặp lại có thể định trước bới người lập trình Lấy for loop trong thư viện hàm như sau: BD> Express?
Execurion>For loop
Ví dụ ta muốn chạy chương trình tính tổng A + B trong 100 lần thì sau 100
lần lặp lại phép tính tổng thì chương trình sẽ tự thoát (tự dừng) Như trong hình ta
đã đặt số vòng lặp cần lặp lại là 100 (Đặt thông qua khối Numeric) Sauk hi chạy chương trình, Numeric 2 (đóng vai trò là Indicator chỉ ra số vòng đã lặp được) sẽ báo số 99 Lý do là LbVIEW điểm vòng lặp đầu tiên có giá trị (i)=0
Hình 2.14: Sử dụng shift register rereregister
Trang 38
2.5.3 Ứng dụng vòng lặp để vẽ đồ thị
Áp dụng AY Graph trong bài 3 và Xhite loop trong bài này để vẽ đồ thị hàm
số y = f(x) theo yêu cầu sau: Viết phương trình vẽ đồ thị: y = 2x Tập xác định (TXĐ): x = {x Є Z│-100 ≤ x ≤ 100}
Theo cách vẽ đồ thị thông thường được hướng dẫn bởi các thầy, cô dạy toán học phổ thông thì việc vẽ đồ thị được thực hiện như sau:
- Lập bảng biến thiên: Do y = 2x có dạng đường thẳng nên ta chỉ cần lấy tọa
độ x, y của 2 điểm mà đường thẳng đó đi qua, sau đó nối hai điểm đó lại sẽ cho ta
đồ thị của đường thẳng Bước sau cùng là xóa đồ thị nằm phía ngoài TXĐ và chỉ để
lại phần đồ thị nằm trong khoảng -100 ≤ x ≤ 100
Hình 2.15 : For loop
Trang 39
Hãy vẽ đồ thị này bằng LabVIEW sử dụng XY Graph như sau:
- Lấy White loop tại BD>Express>Exee Control>While loop như hình 2.16
- Lấy đồ thị XY Graph để vẽ đồ thị tại FP>Epress>Graph Indicator>XY Graph và tạo các Control, Indicator
Trang 40
Trong block diagram , ta cần tạo hai Boolean control tại hai chân:
Enable – cho phép vẽ đồ thị là True và Reset – xóa đồ thị là False Việc tạo hai Boolean Control có thể sử dụng quy Tắc Right click> Create constant hoặc ta
tạo Control và chọn Right click> Change to constant
2.6 Cấu trúc case
2.6.1 Cấu trúc trường hợp (Case structure)
Một cấu trúc Case bao gồm một số trường hợp khác nhau đó được chia ra thành các ô khác nhau (có 2 cửa sổ true hoặc false) Ứng với các ô đó là code LadVIEW cho từng trường hợp
Tại một thời điểm nào đó, chỉ có duy nhất trường hợp được kích hoạt Việc kích hoạt trường hợp náo sẽ phù thuộc vào giá trị được nối với Case slect (bộ chọn
trường hợp) Cụ thể như hình 2.17 cấu trúc case sẽ thực hiện các lệnh đặt trong hai cửa sổ true hoặc false tương ứng với giá trị true hoặc false được nối với case selector – đây là cấu trúc case dạng Boolean Control
Ngoài ra, trong kĩ thuật có nhiều nhóm trường hợp khác nhau như: cấu trúc
trường hợp là Numeric control, Boolean Control hoặc String control
Hình 2.17 Cấu trúc Case