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 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHỆ TP HCM
Mã số ngành: 60 52 02 02
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHỆ TP HCM
Mã 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 3TP HỒ CHÍ MINH, tháng 05 năm 2013
CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI
TRƯỜ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 HCMngà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ý
Xác nhận của Chủ tịch Hội đồng đánh giá Luận sau khi Luận văn đã được sửa chữa (nếu có)
Chủ tịch Hội đồng đánh giá LV
Trang 4TS Ngô Cao Cường
TRƯỜNG ĐH KỸ THUẬT CÔNG NGHỆ TP HCM
PHÒNG QLKH - ĐTSĐH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc
TP 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
Trang 5Võ Hoàng Duy
LỜ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ố trongbấ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ờigian 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âusắ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ệttì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ệnluậ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ôngNghệ TP Hồ Chí Minh, đã giảng dạy và truyền đạt kiến thức cho tôi, giúp tôi họctậ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ạosau đạ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ạitrường
Xin chân thành cảm ơn các anh, chị đồng nghiệp đã hỗ trợ, giúp đỡ cho tôitrong 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 trungnghiê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ậndạng chai bị lỗi trong dây chuyền sản xuất beer điều khiển bằng phần mềmLabVIEW đượ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à
Trang 8kiế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
ABSTRACT
Open LabVIEW environment is compatible with all hardwares withinteractive assistance, making source code and the ability to connect tothousands of devices that make data collection easy Because LabVIEWprovides connections to most devices In the scope of this thesis, my researchmainly is on how to use the basic LabVIEW software such as: how to createthe interface and process image, some applications of LabVIEW in automaticcontrol 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 9090contact card and a combination of image processing I focus on a familiarapplication of LabVIEW and PC HDL USB 9090 contact card That iscollecting signals from external device (camera), image processing,communicating with the PC HDL USB 9090 contact card, then simulating andprocessing signals in a manufacturing process
In the design, the device control display interface from computer isdesigned with 3D images to comply with the actual device Therefore, it iseasier for the operator to monitor and control the equipment
The thesis mainly focused on developing a model of the recognitionsystem of faulty bottle in the beer production line controlled by LabVIEWsoftware, which its whole elements are fully miniaturized like a system inpractice
Trang 9Through 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
MỤ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
Trang 102.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
2.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
Trang 114.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
4.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 14DANH MỤC CÁC LƯU ĐỒ, HÌNH ẢNH
Trang
Hình 2.3 Cửa sổ giao diện LabVIEW khi mới khởi động 10
Hình 2.7 : Các nút bên trái và bên phải của hàm cộng 12
Hình 2.10: Ví dụ về các control và Indicator 16
Hình 2.16: Đồ thị hàm số y=2x vẽ bằng LabVIEW hàm while loop 23
Hình 3.4 Cách nối dây giữa Card HDL 9090 và moto driver 38 Hình 3.5 Sơ đồ điều khiển động cơ DC theo thuật toán PID 41
Hình 3.8 Mô tả giá trị đặt, giá trị đo được và diện tích sai lệch 45 Hình 3.9 Sơ đồ kết nối phần cứng điều khiển PID động cơ DC 47 Hình 3.10 Kết quả lập trình P control cho động cơ DC 48 Hình 3.11 Giao diện người dùng điều khiển P cho độ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.12 : Thiết lập Class cho hàm Invoke Node 58
Trang 15Hình 4.13 : Thiết lập Method cho hàm Invoke Node 58Hình 4.14 : Hàm Invoke Node sau khi thiết lập Class và Method 59
Hình 4.18 : Tạo thêm vật thể màu đỏ và ràng buộc giữa 2 vật thể 61Hình 4.19 : Di chuyển vật MASTER đi 1 đơn vị theo chiều “+” trục x 64Hình 4.20 : Tạo chuyển động 1 đơn vị theo chiều “+” trục x cho vật Slave 65Hình 4.21 : Quay MASTER 90 độ quanh trục z thuận chiều kim đồng hồ 67
Hình 4.25 :Giao diện công cụ xử lý ảnh NI Assitant trên LabVIEW 70
Hình 4 28 Cách lấy hàm Vision Acquisition trong LabVIEW 72
Môi trường LabVIEW mở tương thích với mọi phần cứng đo 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ị , nên có thể dễ dàng kết hợp những ứng dụng LabVIEW vào các
hệ thống hiện tại
Luậ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
Trang 161.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ụngnhiề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ểncủ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ựcquả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àocá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ìnhdạ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
Tuy 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êncứ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 beerbằng phần xử lý ảnh trong LabVIEW đáp ứng yêu cầu điều khiển thực tế nêutrê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, ứngdụ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’.
Trang 171.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 , giaotiế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.
- 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
Trang 181.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
Chương 2 TỔNG QUAN VỀ LabVIEW
2.1 LabVIEW là gì ?
LabVIEW (viết tắt của Laboratory Virtual Instrumentation EngineeringWorkbench) là môi trường ngôn ngữ đồ họa hiệu quả trong việc giao tiếp đa kênhgiữ 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 baogiờ hết Đặc biệt, LabVIEW rất phù hợp đối với kỹ sư, nhà khoa học, hay giảngviê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
Hình 2.1: Mã nguồn viết bằng LabVIEW
Trang 19Về ý 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
Đồng thời, LabVIEW hỗ trợ các kỹ sư, nhà khoa học và sinh viên, vv Xâydự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áckhố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ácmạ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ớiLabVIEW thông qua nhiều chuẩn giao tiếp như chuẩn giao tiếp RS232 (giao tiếpqua 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
- 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ỳ
Trang 20Ứng dụng hình này giới thiệu áp dụng của việc sử dụng LabVIEW và cardHocdelam USB 9001 hoặc NI USB 6008 để thực hiện đo tín hiệu, vẽ biểu đồ đặctuyế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ệmBiorobotics, Hàn Quốc Giao diện này hoàn toàn được xây dựng trong môi trườnglậ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ềukhiể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ểnxe
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 21Điều khiển phương tiện không người lái, mô tả ứng dụng LabVIEW điềukhiể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ànNexans.
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ôngthườ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í mongmuố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 22Đ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ôngnghiệp
2.3 Các phép toán trong LabVIEW
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 ở 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
HàmFuctionBlock didgram (cửa sổ sau)
Trang 23Bâ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
Star
LabVIEW
Trang 242.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 25Hì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
- Tương tự ta tạo khối B để có hai khối A, B
Trang 26 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 FPThả 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ấyhình cuộn chỉ hiện ra,
- 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
Trang 27- 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ươngtrì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 hayphứ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àocá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.
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ảmgiá 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
Hình 2.7 : Các nút bên trái và bên phải của hàm
cộng
Trang 28có 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ự độngtạ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 LabVIEWnhư 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
Tương tự ta có phép trị tuyệt đối và nhân với -1 như trong hình 2.9
Hình 2.8: Phép tính căn và chia lấy dư
Hình 2.9 : Phép trị tuyệt đốivà nhân với -1
Trang 292.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
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ácchữ hoặc chuổi ký tự, hoặc một câu văn, xem thêmbà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 tronghình 2.10
Hình 2.10: Ví dụ về các control và Indicator
Trang 302.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
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âuvăn, xem thêm hình 4 – Case Structure
Trang 31XY 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
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ộtdãy giá trị nào đó Ví dụ, ta muốn một Numeric Control có giá trị (vì chỉ nằm tronggiá 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
Trang 32Byte 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,648Quad signed integer 64 -1e19 tới 1e19
Byte unsighned integer 8 0 tới 255
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 đổichọn Represention rồi chọn kiểu dữ liệu mong muốn
Trang 33Hì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útStop (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
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átthấy phép cộng sẽ không có giá trị tại Indicator 1 Indicator 2 sẽ thay đổi giá trị khibạn thay đổi giá trị nhâpf vào numeric 3 và 4 FB và BD của ví dụ này được trìnhbày trong hình 2.13
Stop
Hình 2.13:Tính tổng while loop
Trang 34Ngoài ra trong while còn có chân iteration(i) có kí hiệu là bộ đếm số lần hiệntại (current loop iteration count) (lần thực hiện đầu tiên i=0) Giá trị lớn nhất của (i)
là 2,147,483,647 và giữ mãi mãi sau đó nếu cần Nếu cần giá trị lớn hơn2,147,483,647, dùng shift register có miền giá trị integer lớn hơn, hoặc sử dụng mộtvòng lặp for loop trong trường hợp này
Ngoài ra còn sử dụng shift – register trong while loop Shift register là mộtthanh 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ểm10:29am Ngoài ra, shift – register cũng có thể dùng để thực hiện các phép tính cộngdồn
Nói cách khác, có thể dùng , shift – register để “chuyển” giá trị của đồi tượnghoặ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ểnPID độ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.
Hình 2.14: Sử dụng shift register rereregister
Trang 35Ví dụ ta muốn chạy chương trình tính tổng A + B trong 100 lần thì sau 100lầ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ạychươ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
Trang 362.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ạiphần đồ thị nằm trong khoảng -100 ≤ x ≤ 100
Hình 2.15 : For loop
Y
X
B 2
1 0
Đồ Thị hàm số y = 2x
Trang 37Hã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>XYGraph và tạo các Control, Indicator
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ạohai Boolean Control có thể sử dụng quy Tắc Right click> Create constant hoặc ta tạoControl 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)
Hình 2.16: Đồ thị hàm số y=2x vẽ bằng LabVIEW hàm while loop
Trang 38Một cấu trúc Case bao gồm một số trường hợp khác nhau đó được chia rathành các ô khác nhau (có 2 cửa sổ true hoặc false) Ứng với các ô đó là codeLadVIEW 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ệckí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ọntrườ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 haicử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úctrường hợp là Numeric control, Boolean Control hoặc String control
Hình 2.17 Cấu trúc Case
2.6.2 Ứng dụng của cấu trúc case.
Cấu trúc trường hợp như sau: Tắt đèn bằng cách đưa công tắc (switch) về vịtrí OFF và bậc đèn bằng cách đưa công tắc về vị trí ON Như vậy dựa vào vị trí côngtắc mà hệ thống điện sẽ đóng ngắt điện tới bóng đèn
Ứng dụng viết chương trình tắt bậc một số bóng đèn theo yêu cầu sau, có 3bóng đèn tùy vào vị trí công tắc ON hay OFF thì cả 3 bóng tắt hay bậc
Thực hiện trong LabVIEW như sau:
Trang 39-Lấy case structure bằng cách vào BD>Epress>Execution>case structure
như hình vẽ 2.17
-Lấy nút nhấn (công tắc) bằng cách vào FP>Epress>Botton>chọn kiểm
công tắc gặt lên xuống
-Nối nhấn nút vào case selector
-Quan sát thấy 2 cửa sổ True/False của case Tùy vào vị trí công tắc đang ONhay OFF thì cấu trúc sẽ thực thi những hàm đặt trong cửa sổ True hay False tươngứng
-Thêm vòng lặp vào chương trình để có được chương trình như hình 2.18Hình ảnh FP và BD của chương trình bậc/tắt 3 bóng đèn như hình 2.18 Trong
ví dụ case – blooean 1.vi, tùy vào giá trị của nút nhất đang gạt lên hay xuống thì
chương trình trong cửa sổ True hay False sẽ được thực hiện
Tham khảo thêm ví dụ Case – Boolean 2.vi về dạng cấu trúc case trên kiểuBlooean này Trong ví dụ Case
Hình 2.18 : FP và BD của cấu trúc case
Ví dụ 2 của Case dạng boolean square
Trang 40Ví dụ 2: Cấu trúc trường hợp dựa trên Numberic Control
Viết chương trình hiển thị các lời chào khác nhau thùy thuộc vào giá trị nhậpvào khác nhau Đây là cấu trúc trường hợp dựa trên Numeric number (số) Giátrịnhập vào đó chính là Case selector Số này là cơ sỡ (giá trị đầu vào) để cấu trúc
case biết cần thực thi cửa sổ lệnh nào? Thực hiện một ví dụ về case dựa trên numeric
control trong LabVIEW như sau:
- Save as ví dụ trên thành ví dụ mới
- chọn lên số 10 vàhàm so sánh lớn hơn,nhấn delêt để xóa đi các đối tượngnày
- Nhấn Ctrl + B để xóa đi các đường nối bị vỡ
- Nối x vào case selector và quan sát thấy hai giá trị True/False sẽ được tựđộng chuyển thành hai giá trị 0 và 1 Đây chính là các Case selector dạng numeric.Bây giờ tùy thuộc vào giá trị của x là 0 hoặc 1 thì trong cửa sô 0 hơặc sửa 1 đượcthực hiện
Khác với Case dạng Boolean thì case dạng số cho phép người dùng tạo ranhiều trường hợp Ta hãy tạo ra một trượng hợp x=2 nữa như sau:
- Chọn RClên khung của cấu trúc Case (được tô xanh)
- chon Add Case After
- Tự động có một case mang số 2 được tạo ra
- Tạo string constant “Chào anh Bac và anh Nam” trong case số 2 vừa tạo
- Nhập String vào
- Như vậy, giờ chạy chương trình,indicator sẽ hiện các lời chào khác nhau tùyvào các giá trị x=0,1 hoặc 2 khác nhau
Cấu trúc trường hợp dựa trên String Control
Cấu trúc này dựa trên một String Control.Từ String Control này mà các cửa
sổ case được thực thi Thực hiện ví dụ như sau:
- Lưu chế độ Save as file ở trên thành Case – String.vi
- Xóa numeric control X
- Tạo một String control bằng cách vào FP>Express>Text Control>StringControl>Lấy string Control ra