Để đo lường và điều khiển hệ thống thì ngoài các thiết bị ghép nối với máy tính, còn có Smột chương trình nạp vào máy tính để xử lý và điều khiển quá trình hoạt động của hệ thống.. Ví dụ
Trang 1ĐẠI HỌC CÔNG NGHIỆP TP.HCM
KHOA ĐIỆN
KHÓA LUẬN TỐT NGHIỆP
ĐIỀU KHIỂN BÁM ĐUỔI MỨC KÉT DỰA TRÊN GIẢI THUẬT ĐIỀU KHIỂN THÔNG MINH (FUZZY, NEURAL NETWORK)
GIÁO VIÊN HƯỚNG DẪN :
SINH VIÊN THỰC HIỆN :
LỚP :
TS.NGÔ THANH QUYỀN NGUYỄN MINH HIẾU – 14032661 DHDKTD10A
Trang 2PHIẾU GIAO ĐỀ TÀI KHÓA LUẬN TỐT NGHIỆP
1 Họ và tên sinh viên/ nhóm sinh viên đƣợc giao đề tài
NGUYỄN MINH HIẾU MSSV: 14032661
2 Tên đề tài
ĐIỀU KHIỂN BÁM ĐUỔI MỨC KÉT DỰA TRÊN GIẢI THUẬT ĐIỀU KHIỂN THÔNG MINH (FUZZY, NEURAL NETWORK)
3 Nội dung
- Xây dựng mô hình toán học của hệ thống
- Nghiên cứu phương pháp điều khiển Fuzzy và CMAC
- Thiết kế bộ điều khiển Fuzzy và CMAC cho hệ thống điều khiển két nước
- Nhúng bộ điều khiển vào Card NI MyDAQ và chạy thực nghiệm để kiểm tra phương pháp điều khiển đề xuất
Trang 3NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Tp Hồ Chí Minh, tháng 06 năm 2018
Giảng viên hướng dẫn
Trang 4NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Tp Hồ Chí Minh, tháng 06 năm 2018
Trang 5Mục lục
LỜI MỞ ĐẦU 1
CHƯƠNG 1 MỞ ĐẦU 2
1.1 Đặt vấn đề 2
1.2 Mục tiêu nghiên cứu 3
1.3 Bước thực hiện 3
CHƯƠNG 2 TỔNG QUAN VỀ MÔ HÌNH 4
2.1 Giới thiệu mô hình hệ thống 4
2.2 Phần cứng hệ thống 5
2.2.1 Máy bơm 5
2.2.2 Cảm biến siêu âm 7
2.2.3 Bộ giới hạn dòng 8
2.2.4 Bồn chứa 9
2.2.5 Mạch Relay 10
2.3 Mô hình hóa hệ bồn đơn 11
CHƯƠNG 3 TỔNG QUAN VỀ LABVIEW VÀ CARD NI MyDAQ 13
3.1 Phần mềm LabView 13
3.1.1 Tổng quan về LabVIEW 13
3.1.2 Các ứng dụng của LabVIEW 14
3.1.3 Các thành phần LabVIEW 14
3.1.5 Công cụ lập trình LabVIEW 18
3.1.6 Cấu trúc trong LabVIEW 21
3.1.7 Một số Module và Toolkit trong LabVIEW 24
3.2 Card giao tiếp NI myDAQ 30
3.2.1 Giới thiệu Card giao tiếp NI myDAQ 30
3.2.2 Đặc điểm kỹ thuật 31
Trang 64.1 Lý thuyết điều khiển hệ thống điều khiển tự động 34
4.1.1 Cấu trúc hệ thống, điều khiển tự động hóa 34
4.1.2 Các chỉ tiêu đánh giá chất lượng hệ thống điều khiển 34
4.2 Mô tả hệ thống các hệ thống điều khiển 36
4.2.1 Bộ điều khiển mờ (Fuzzy) 36
4.2.2 Bộ điều khiển liên kết mô hình tiểu não (CMAC) 48
CHƯƠNG 5 THIẾT KẾ BỘ ĐIỀU KHIỂN 52
5.1 Kết nối Card NI myDAQ với mô hình 52
5.2 Sơ đồ kết nối 54
5.3 Lưu đồ giải thuật 55
5.4 Thiết kế bộ điều khiển trên LabVIEW 56
5.4.1 Yêu cầu thiết kế 56
5.4.2 Thiết kế bộ điều khiển mờ (Fuzzy) 56
5.4.3 Thiết kế bộ điều khiển mô hình tiểu não (CMAC) 59
5.4.4 Xây dựng Scale và Warning 64
5.4.5 Chế độ AutoSetPoint/Manual 65
5.4.6 Xây dựng SCADA 67
CHƯƠNG 6 KẾT LUẬN, ĐÁNH GIÁ KẾT QUẢ 75
TÀI LIỆU THAM KHẢO 78
LỜI CẢM ƠN 79
Trang 7DANH MỤC BẢNG
Bảng 3 1 Thông số card NI MyDAQ ……… 31Bảng 3 2 Các trạng thái điều khiển của card NI MyDAQ ……… 32
Bảng 3 3 Các trạng thái điều khiển của quá trình điều khiển mức nước ………….33
Bảng 5 1 Các trạng thái điều khiển của mạch rơ le.……….54Bảng 5 2 Luật hợp thành bộ điều khiển Fuzzy ………58
Bảng 6 1 Bảng so sánh bộ điều khiển Fuzzy và CMAC với setpoint 100mm …….77Bảng 6 2 Ưu, nhược điểm của bộ điều khiển Fuzzy và CMAC ……… 77
Trang 8DANH MỤC HÌNH
Hình 2 1 Mô hình MPS® PA Compact Workstation 4
Hình 2 2 Sơ đồ khối mô hình MPSPA dùng hệ thống điều khiển mức 5
Hình 2 3 Bơm DC P101 6
Hình 2 4 Cấu tạo bơm DC P101 6
Hình 2 5 Cảm biến siêu âm 7
Hình 2 6 Sơ đồ kích thước của cảm biến B101 7
Hình 2 7 Bộ giới hạn dòng 8
Hình 2 8 Sơ đồ kết nối động cơ với bộ giới hạn dòng 8
Hình 2 9 Tank 101 9
Hình 2 10 Mạch nguồn và mạch relay 10
Hình 2 11 Sơ đồ điều khiển mạch rơ le 11
Hình 2 12 Hệ thống két đơn 12
Hình 3 1Mô hình tính toán và các mô hình lập trình trong LabVIEW 13
Hình 3 2 Giao diện Front Panel 15
Hình 3 3 Control trên Front Panel 15
Hình 3 4 Indicator trên Front Panel 16
Hình 3 5 Cấu trúc cơ bản của Block Diagram 17
Hình 3 6 Bảng Control Palette 18
Hình 3 7 Bảng Function Palellte 19
Hình 3 8 Xây dựng sơ đồ khối trên VI 20
Hình 3 9 Cửa sổ Icon Editor 20
Hình 3 10 Menu Pattern 21
Hình 3 11 Kết nối terminal 21
Hình 3 12 While Loop trong LabVIEW 22
Hình 3 13 For Loop trong LabVIEW 23
Hình 3 14 Case Structures trong LabVIEW 23
Hình 3 15 LabVIEW MathScript Interactive Window 25
Hình 3 16 LabVIEW MathScript node 25
Hình 3 17 Giao diện công cụ Fuzzy System Designer 26
Trang 9Hình 3 18 Thẻ Variables trong giao diện Fuzzy System Designer 26
Hình 3 19 Các dạng hàm liên thuộc 27
Hình 3 20 Rule trong trong giao diện Fuzzy System Designer 28
Hình 3 21 Thẻ Test System trong giao diện Fuzzy System Designer 28
Hình 3 22 Các hàm Fuzzy trong LabView 29
Hình 3 23 I/O của hàm Fuzzy 29
Hình 3 24 Card NI MyDAQ 30
Hình 4 1 Cấu trúc hệ thống điều khiển tự động 34
Hình 4 2 Sai số xác lập 35
Hình 4 3 Độ vọt lố 35
Hình 4 4 Thời gian quá độ và thời gian lên 36
Hình 4 5 Sơ đồ khối bộ điều khiển mờ 37
Hình 4 6 Đặc điểm hàm liên thuộc 38
Hình 4 7 Hàm liên thuộc dạng tam giác 39
Hình 4 8 Hàm liên thuộc dạng hình thang 39
Hình 4 9 Hàm liên thuộc dạng gauss 40
Hình 4 10 Mô tả giá trị ngôn ngữ tập mờ 40
Hình 4 11 Phép hợp trong tập mờ 41
Hình 4 12 phép giao trong tập mờ 43
Hình 4 13 Phép bù trong tập mờ 44
Hình 4 14 Phương pháp cực đại 46
Hình 4 15 Nguyên lý trung bình 47
Hình 4 16 Nguyên lý cận trái 47
Hình 4 17 Nguyên lý cận phải 47
Hình 4 18 Phương pháp điểm trọng tâm 48
Hình 4 19 Cấu trúc bộ điều khiển liên kết mô hình tiểu não 49
Hình 4 20 Sơ đồ khối của CMAC 49
Hình 5 1 DAQ Assistant trong LabVIEW……… 52
Trang 10Hình 5 4 Sơ đồ kết nối hệ thống điều khiển mức……….54
Hình 5 5 Lưu đồ giải thuật……… 55
Hình 5 6 Hàm liên thuộc của Error……… 56
Hình 5 7 Hàm liên thuộc Derror……… 57
Hình 5 8 Hàm liên thuộc của Udk……… 57
Hình 5 9 Xây dựng luật hợp thành trong bộ điều khiển mờ……… 58
Hình 5 10 Chương trình bộ điều khiển Fuzzy……… 59
Hình 5 11 Vùng Liên kết không gian nhớ LabVIEW……… 59
Hình 5 12 Vùng tiếp nhận không gian trong LabVIEW……… 60
Hình 5 13 Vùng không gian trọng số trong LabVIEW……… 61
Hình 5 14 Vùng không gian ngõ ra trong LabVIEW……… 62
Hình 5 15 Giới hạn điện áp ……… 62
Hình 5 16 subVI CMAC ……… 63
Hình 5 17 Sơ đồ kết nối với CMAC ………63
Hình 5 18 subVI và sơ đồ kết nối của SCALE ………64
Hình 5 19 Sơ đồ kết nối SCALE với DAQ Assistant ……….64
Hình 5 20 subVI WARNING và sơ đồ kết nối của WARNING ………65
Hình 5 21 Chế độ AutoSetpoints ……….66
Hình 5 22 Manual Setpoint ……….67
Hình 5 23 Tạo Project trong LabVIEW ……… 68
Hình 5 24 Scale Slide ……….68
Hình 5 25 Tank2 trong Image Navigator ……….69
Hình 5 26 Giao diện Customize Mode ………69
Hình 5 27 Copy to Clipboard Tank2 vào Slide ………70
Hình 5 28 Import Picture from Clipboar Tank2 vào Slide ……….70
Hình 5 29 Chế độ Edit Mode ……… 71
Hình 5 30 Centrifugal pump 2 trong Image Navigator ……… 72
Hình 5 31 Copy to Clipboard pump 2 vào Boolean off ……… 72
Hình 5 32 Import Picture from Clipboard pump 2 vào Boolean off ……… 73
Hình 5 33 Import Picture from Clipboard pump 2 red vào Bloolean On …………73
Hình 5 34 Giao diện SCADA hệ thống điều khiển mức nước ………74
Trang 11Hình 6 1 Setpoint & Process Variable CMAC ………75
Hình 6 2 Volt CMAC ……… 75
Hình 6 3 Error CMAC ………75
Hình 6 4 Setpoint & Process Variable Fuzzy ……… 76
Hình 6 5 Volt Fuzzy ………76
Hình 6 6 Error Fuzzy………76
Trang 12LỜI MỞ ĐẦU
Trong quá trình công nhgiệp hóa- hiện đại hóa đất nước Tự động hóa là yếu tố không thể thiếu trong một nền công nghiệp hiện đại Nói đến tự động hóa thì máy tính là một công cụ hỗ trợ đắc lực nhất và không thể thiếu được trong rất nhiều lĩnh vực, đặc biệt trong đo lường và điều khiển
Việc ứng dụng máy tính vào kỹ thuật đo lường và điều khiển đã đem lại nhiều kết quả đầy tính ưu việt Các thiết bị, hệ thống đo lường và điều khiển ghép nối với máy tính
có độ chính xác cao, thời gian thu thập dữ liệu ngắn Nhưng điều đáng quan tâm nhất là mức độ tự động hóa trong việc thu thập và xử lý kết quả đo, kể cả việc lập bảng thống kê,
đồ họa, cũng như in ra kết quả Để đo lường và điều khiển hệ thống thì ngoài các thiết bị ghép nối với máy tính, còn có Smột chương trình nạp vào máy tính để xử lý và điều khiển quá trình hoạt động của hệ thống
Việc ứng dụng máy tính vào trong các hệ thống truyền động điều khiển tốc độ, vị trí ngày càng phổ biến Ví dụ như trong các dây truyền lắp ráp các sản phẩm kỹ thuật cao, trong việc gia công sản phẩm có hình dạng, kích thước được vẽ trước trên máy tính, trong
cơ cấu truyền động cho tay máy, người máy, cơ cấu ăn dao máy cắt gọt kim loại quay anten, kính viễn vọng, trong các hệ thống bám, tùy động,…
LabVIEW là một ngôn ngữ lập trình chuyên nghiệp trong lĩnh vực tự động hóa, là một môi trường lập trình cho phép tạo ra các chương trình sử dụng kí hiệu đồ họa giúp tạo lên những giao diện chương trình chuyên nghiệp Nó chứa đựng rất nhiều khả năng, sức mạnh khi phát triển và thực thi các ứng dụng tự động hóa: đo lường, thu thập, phân tích,
xử lí dữ liệu Thế giới thiết bị ảo của labVIEW rất gần gũi và liên kết chặt chẽ với thế giới điều khiển tự động thực
Trang 13CHƯƠNG 1 MỞ ĐẦU
1.1 Đặt vấn đề
Hiện nay sự nghiệp công nghiệp hóa, hiện đại hóa ngày càng phát triển mạnh mẽ,
sự tiến bộ của khoa học kỹ thuật, trong đó kỹ thuật điều khiển tự động cũng góp phần rất lớn tạo điều kiện để nâng cao hiệu quả trong quá trình sản xuất Hiện nay, tự động hóa quá trình công nghệ đã thực sự phát triển và ứng dụng mạnh mẽ trong công nghiệp, cụ thể như công nghiệp hóa lọc dầu, công nghiệp hóa chất, sản xuất giấy, sản xuất xi măng công, nghiệp xử lý nước, … Nói chung, để nâng cao hiệu quả sản xuất, đảm bảo an toàn cho người, máy móc và môi trường trong công nghiệp chế biến, khai thác và năng lượng thì vấn đề điều khiển quá trình công nghệ là rất quan trọng
Trong điều khiển quá trình, bài toán đặt ra là điều chỉnh quá trình công nghệ có yêu cầu rất cao về độ tin cậy và tính sẵn sàng Các đại lượng cần điều khiển như lưu lượng, áp suất, nhiệt độ…cần phải điều chỉnh để đáp ứng yêu cầu đặt ra Đặc thù của quá trình công nghệ là diễn biến tương đối chậm, mô hình phức tạp khó xác định, khả năng điều khiển hạn chế,khó thay đổi thiết kế về công nghệ Nên trong điều khiển quá trình công nghệ ta phải thiết lập một hệ thống phù hợp với đặt thù của quá trình công nghệ
Đối với công nghiệp hóa lọc dầu, công nghiệp hóa chất, công nghiệp xử lý nước, sản xuất giấy, sản xuất điện năng…Vấn đề điều khiển mức, lưu lượng dòng chảy cần đáp ứng với độ chính xác cao để phục vụ quá trình sản xuất đạt hiệu quả tốt hơn Chính vì vậy, vấn đề dặt ra trong đề tài là điều khiển lưu lượng dòng chảy để ổn định mức chất lỏng với độ chính xác cao Với yêu cầu ứng dụng thực tế như vậy, đề tài nghiên cứu đối tượng chính ở đây là hệ bồn nước đơn Hệ bồn nước đơn được hình thành với hệ thống bơm và xả chất lỏng nhưng luôn giữ ổn định theo giá trị mức đặt trước, cột chất lỏng của bồn được duy trì ổn định Để làm được điều này thì đòi hỏi phải điều khiển lưu lượng chất lỏng từ máy bơm bơm vào hệ thống bồn nước đơn, làm mức nước trong bồn luôn luôn giữ một giá trị đặt trước là không đổi
Trang 14khiển Fuzzy và CMAC để điều khiển Công việc điều khiển được thực hiện trên phần mềm Labview
1.2 Mục tiêu nghiên cứu
Xây dựng mô hình toán học của hệ thống
Nghiên cứu phương pháp điều khiển Fuzzy và CMAC
Thiết kế bộ điều khiển Fuzzy và CMAC cho hệ thống điều khiển két nước
Nhúng bộ điều khiển vào Card NI MyDAQ và chạy thực nghiệm để kiểm tra phương pháp điều khiển đề xuất
1.3 Bước thực hiện
Bước 1: Tìm hiểu lý thuyết của bộ điều khiển Fuzzy và CMAC
Bước 2: Thiết kế bộ điều khiển Fuzzy và CMAC trên phần mềm LabVIEW
Bước 3: Thiết kết giao diện trên phần mềm LabVIEW
Bước 4: Nhúng bộ điều khiển vào Card NI MyDAQ, chạy thực nghiệm
Trang 15CHƯƠNG 2 TỔNG QUAN VỀ MÔ HÌNH
2.1 Giới thiệu mô hình hệ thống
MPS® PA Compact Workstation là mô hình của công ty Festo, mô hình được tích hợp:
Hệ thống kiểm soát mức
Hệ thống kiểm soát tốc độ dòng chảy
Hệ thống kiểm soát áp suất
Hệ thống kiểm soát nhiệt độ
Hình 2 1 Mô hình MPS® PA Compact Workstation
Mô hình MPS® PA Compact Workstation ban đầu được điều khiển bằng PLC S7 bằng phần mềm Step7 Sau này mô hình được điều khiển bằng Card NI myDAQ dùng phần mềm LabVIEW
Trang 16Hình 2 2 Sơ đồ khối mô hình MPSPA dùng hệ thống điều khiển mức
2.2 Phần cứng hệ thống
Các thành phần cơ bản của MPS® PA Compact Workstation bao gồm: cảm biến siêu âm, cảm biến lưu lượng, cảm biến áp suất, đồng hồ đo áp suất, cảm biến nhiệt độ, công tắc phao, máy bơm, bộ điều khiển động cơ, van điều khiển điện, hệ thống sưởi, bảng điều khiển, bồn nước, van tay, mạch relay…
Trong đồ án này, em tập trung vào điều khiển mức chất lỏng thông qua cảm biến siêu âm để đáp ứng setpoint cho hệ thống
2.2.1 Máy bơm
Bơm sử dụng động cơ DC hoạt động với dòng điện một chiều Động cơ điện DC ứng dụng rộng rãi trong đời sống cũng như công nghiệp bởi lý do dễ điều khiển, hiệu suất cao, momen lớn Trong công nghiệp, động cơ DC được sử dụng ở những nơi yêu cầu momen mở máy lớn hoặc yêu cầu thay đổi tốc độ trong phạm vi rộng
Trang 17Hình 2 3 Bơm DC P101
Cấu tạo của máy bơm:
Chiều dài cáp tối đa là 44 m cho: một phần của cáp 1.0 mm2 điện áp hoạt động là
24 V
Hình 2 4 Cấu tạo bơm DC P101
1 Thân máy bơm, ∅ 20
Trang 182.2.2 Cảm biến siêu âm
Hình 2 5 Cảm biến siêu âm
Cảm biến siêu âm dùng để đo khoảng cách đến vật chất bằng sóng siêu âm Khoảng cách được xác định bằng cách đo khoảng thời gian mà sóng siêu âm được phát ra
từ module truyền đến vật chắn rồi phản hồi về Trong mô hình hệ thống điều khiển mức nước, cảm biến siêu âm B101 dùng để đo mức nước ở bồn 102
Các tham số chính của cảm biến:
Điện áp ngõ ra: 0 -10V
Khoảng cách đo: 50 – 300mm
Hình 2 6 Sơ đồ kích thước của cảm biến B101
Trang 192.2.3 Bộ giới hạn dòng
Hình 2 7 Bộ giới hạn dòng
Bộ giới hạn dòng gồm một relay và bộ giới hạn dòng bằng điện đã được tích hợp trong mạch điện
Hình 2 8 Sơ đồ kết nối động cơ với bộ giới hạn dòng
Bộ giới hạn dòng có thể giới hạn tối đa 2A khi bật lên, và có thể hoạt động tương
tự như một relay
Trang 212.2.5 Mạch Relay
Hình 2 10 Mạch nguồn và mạch relay
Mạch nguồn dùng điên áp 5v dc để cấp điện cho cuộn dây rơ le
Do các I/O của card NI MyDAQ không đủ cấp cho toàn bộ hệ thống nên ta sử
dụng mạch role để chuyển kênh và cấp điện 24V cho hệ thống
Mạch rơ le sẽ chuyển đổi giữa các kênh điều khiển:
Điều khiển mức nước
Điều khiển áp suất
Điều khiển lưu lượng
Điều khiển nhiệt độ
Trang 222.3 Mô hình hóa hệ bồn đơn
Giới thiệu hệ thống két đơn:
q Hình 2 11 Sơ đồ điều khiển mạch rơ le
Trang 23Hình 2 12 Hệ thống két đơn
Mô hình biểu thị mối quan hệ giữa lưu lượng nước qi vào bồn với lưu lượng nước
qo qua khỏi bồn qua van
A là diện tích mặt cát ngang của bồn nước
H là chiều cao của mức chất lỏng trong bồn
Nếu giả sử Van như khe hở nhỏ thì dòng chảy qua van sẽ liên quan mức nước H có trong bồn:
Kp là hệ số của máy bơm
U(t) là điện áp cấp của bơm
Vậy ta có phươn trình toán học là:
(t)(t) 2 (t)
Trang 24CHƯƠNG 3 TỔNG QUAN VỀ LABVIEW VÀ
LabVIEW còn được biết đến như là một ngôn ngữ lập trình với khái niệm hoàn toàn khác so với các ngôn ngữ lập trình truyền thống như ngôn ngữ C, Pascal Bằng cách diễn đạt cú pháp thông qua các hình ảnh trực quan trong môi trường soạn thảo
LabVIEW là một công cụ phần mềm hàng đầu công nghiệp trong việc phát triển các hệ thống thiết kế, điều khiển và khiểm tra Kể từ khi ra đời năm 1986, các kĩ sư và nhà khoa học trên toàn thế giới tin cậy vào NI LabVIEW nhờ chất lượng ngày càng cao, hiệu quả sản xuất lớn hơn
Hình 3 1Mô hình tính toán và các mô hình lập trình trong LabVIEW
Trang 25Ngoài ra, LabVIEW có thể được mở rộng cho nhiều nền tảng phẩn cứng và hệ điều hành khác nhau Trong thực tế, nền tảng LabVIEW có khả năng tích hợp với hàng nghìn thiết bị phần cứng và cung cấp hàng trăm thư viện được xây dựng sẵn để phân tích nâng cao và hiển thị dữ liệu giúp bạn tạo ra các thiết bị ảo có thể tùy chỉnh theo nhu cầu của mình
3.1.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 liệu, ô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),…
LabVIEW hỗ trợ các giao thức giao tiếp khác nhau như RS232, RS485, TCP / IP, PCI, PXI,…
Có thể tạo ra các thực thi độc lập và các thư viện chia sẻ (ví dụ thư viện liên kết động DLL), bởi vì LabVIEW là một trình biên dịch 32-bit
3.1.3 Các thành phần LabVIEW
Một chương trình trong LabView gồm hai phần chính: một là giao diện với người
sử dụng (Front Panel), hai là giao diện dạng sơ đồ khối (Block Diagram) cung cấp mã nguồn và các biểu tượng kết nối (Icon/Connector)
Trang 26Bảng giao diện (The Front Panel)
Hình 3 2 Giao diện Front Panel
Front panel là một panel tương tự như panel của thiết bị thực tế Ví dụ các nút bấm, nút bật, các đồ thị và các bộ điều khiển Từ Front Panel người dùng chạy và quan sát kết quả có thể dùng chuột, bàn phím để đưa dữ liệu vào sau đó cho chương trình chạy và quan sát
Front Panel thường gồm các bộ điều khiển (Control) và các bộ hiển thị (Indicator) Control là các đối tượng được đặt trên Front Panel để cung cấp dữ liệu cho chương trình Nó tương tự như đầu vào cung cấp dữ liệu
Hình 3 3 Control trên Front Panel
Trang 27Indicator là đối tượng được đặt trên Front Panel dùng để hiện thị kết quả, nó tương
tự như bộ phận đầu ra của chương trình
Hình 3 4 Indicator trên Front Panel
3.1.3.1 Sơ đồ khối (Block diagram)
Block diagram của một VI là một sơ đồ được xây dựng trong môi trường LabVIEW, nó có thể gồm nhiều đối tượng và các hàm khác nhau để tạo các cấu trúc lệnh
để chương trình thực hiện Block Diagram là một mã nguồn đồ họa của một VI Các đối tượng trên Front Panel được thể hiện bằng các thiết bị đầu cuối trên Block Diagram, không thể loại bỏ các thiết bị đầu cuối trên Block Diagram Các thiết bị đầu cuối chỉ mất đi sau khi loại bỏ đối tượng tương ứng trên Front Panel
Các đối tượng trong block diagram như các terminal, các subVI, các hàm, các hằng
số, các cấu trúc, và các dây nối, chuyển dữ liệu giữa các đối tượng trong block diagram
Trang 28Hình 3 5 Cấu trúc cơ bản của Block Diagram
(1).(4) Terminal của hiển thị/điều khiển (indicator)/(control): là một cổng
mà dữ liệu truyền qua giữa Block diagram và Front Panel, và giữa các nút trong Block diagram Các Terminal nằm ở dưới dạng các Icon của các Function
(2) Dây nối (wire): là dây nối dữ liệu giữa các Node
(3) Nút (node): là phần tử thực thi chương trình, chúng tương tự như các mệnh đề, toán tử, hàm và các chương trình con trong các ngôn ngữ lập trình thông thường
3.1.3.2 Icon và Connector
Khi một icon của một VI được đặt tên lên diagram của một VI khác, nó trở thành một subVI Các control và indicator của một subVI nhận dữ liệu và trả lại dữ liệu cho dỉagram của VI gọi
Connector là một tập hợp các terminal mà tương ứng với các control và indicator của subVI Icon hoặc biểu diễn bằng hình ảnh mục đích của VI hoặc là sự mô tả văn bản của VI hay các terminal của nó
Trang 29Hình 3 6 Bảng Control Palette
3.1.5.2 Bảng điều khiển (Controls Palette)
Bảng điều khiển chỉ duy nhất xuất hiện trên Front Panel Bảng điều khiển chứa các
bộ điều khiển (control) và các bộ hiển thị (indicator) Bảng điều kiển được sử dụng để thiết kế cấu trúc mặt hiển thị gồm các thiết bị: các công tắc, các loại đèn, các loại màn hình hiển thị,…
Trang 303.1.5.3 Bảng các hàm chức năng (Function Palellte)
Bảng Function Palellte chỉ xuất hiện trên Block Diagram Bảng này chứa các VI và các hàm mà người sử dụng xây dựng để xây dựng nên các khối lưu đồ
Hình 3 7 Bảng Function Palellte
Với bảng Function Palellte, người lập trình thực hiện các cú pháp như: phép lặp, lựa chọn thông qua các nhóm hàm, chức năng đã được cung cấp bên cạnh đó, từ bảng này, người sử dụng có thể tạo ra và sử dụng lại các hàm Các hàm toán học được minh họa qua các biểu tượng, Khi muốn lựa chọn thực hiện một hàm nào đó thì người sử dụng chọn biểu tượng thể hiện cho hàm đó và có thể kéo thả ở bất kì vị trí nào trên Block Diagram, sau đó xác định những đầu vào và đầu ra cần thiết
3.1.5.4 Chương trình con trong LabVIEW (subVI)
SubVI là VI mà bạn tạo ra để sử dụng bên trong một VI khác hoặc có thể truy cập trên Functions Pallete (bảng hàm) Sau khi xây dựng một chương trình ta tạo cho nó một icon riêng, sau đó nối các ngõ vào, ra của chương trình từ Front Panel đến Conector Panel
Trang 31Tạo subVI từ VI:
Tạo một VI mới và xây dựng sơ đồ khối, và chọn sơ đồ khối muốn chuyển
Hình 3 8 Xây dựng sơ đồ khối trên VI
Tạo biểu tượng của subVI: Để tạo biểu tượng cho một subVI ta chọn Edit » Create subVI Một icon mới được tạo, đổi icon double click vào icon để tùy chỉnh
Hình 3 9 Cửa sổ Icon Editor
Sử dụng các công cụ ở bên trái biểu tượng để tạo các Icon theo ý muốn Sau đó chọn OK để lưu biểu tượng và quay về Font Panel hay Cancel để quay về Font Panel mà không lưu bất cứ thay đổi nào
Chọn mẫu đầu nối: Để tạo conector ta chọn Right Click » Patterns
Trang 323.1.6 Cấu trúc trong LabVIEW
Cấu trúc là phần tử điều khiển chương trình Các cấu trúc điều khiển dòng dữ liệu của một VI Một số cấu trúc thường gặp: While loop, For loop, Case Structures
Trang 33Hình 3 12 While Loop trong LabVIEW
Khi ta lấy một vòng lặp while thì có một nút stop được đính kèm để dừng vòng lặp khi điều kiện vào là đúng Click phải vào đường biên của vòng lặp để chọn điều kiện là: stop if true hoặc continue if true từ menu đổ xuống Iteration Terminal biểu thị số lần lặp lại đã thực hiện xong Khi thực hiện vòng lặp lần thứ nhất, Iteration Terminal trả lại giá trị
là 0
3.1.6.2 For loop
Cũng như while 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: Functions » programming » Structures » For Loop
Trang 34Hình 3 13 For Loop trong LabVIEW
Iteration Terminal biểu thị số lần lặp lại đã thực hiện xong Khi thực hiện vòng lặp lần thứ nhất, Iteration Terminal trả lại giá trị là 0
3.1.6.3 Case Structures
Cấu trúc case dùng để chọn chương trình thực hiện nằm trong case, nếu case nào được chọn chương trình sẽ thực hiện đoạn code trong case đó
Để truy cập Case Structures ta chọn Menu: Functions » Case Structures Tùy thuộc
vào selector terminal
Hình 3 14 Case Structures trong LabVIEW
Trang 35Nếu là numeric hay string sẽ có 231 – 1 trường hợp cho cấu trúc Case, nếu là Boolean thì có 2 trường hợp True và False
3.1.7 Một số Module và Toolkit trong LabVIEW
3.1.7.1 LabVIEW MathScript
LabVIEW MathScript là một module trong phần mềm LabView, MathScript là
một ngôn ngữ lập trình dựa trên văn bản cao cấp MathScript bao gồm hơn 800 hàm dựng sẵn và cú pháp tương tự như MATLAB Bạn cũng có thể tạo custom-m-file như bạn làm trong MATLAB
Với LabVIEW MathScript RT Module ta có thể:
Triển khai các tệp m tùy chỉnh đến phần cứng real-time NI
Tái sử dụng nhiều tập lệnh bằng phần mềm MathWorks, Inc MATLAB và các phần mềm khác
Phát triển các tệp m với giao diện dòng lệnh tương tác
Nhúng các tập lệnh các ứng dụng LabVIEW của bạn bằng cách sử dụng MathScript Node
Ta có thể làm việc với LabVIEW MathScript bằng hai giao diện: “LabVIEW MathScript Interactive Window” hoặc “MathScript Node”
Đối với giao diện tương tác LabVIEW MathScript Interactive Window, ta có thể tải các tập lệnh m và thao tác tương tự như lập trình trong phần mềm Matlab Để truy cập vào giao diện LabVIEW MathScript Interactive Window ta chọn: Tool » MathScript Window…
Trang 36Hình 3 15 LabVIEW MathScript Interactive Window
Đối với LabVIEW MathScript node: cung cấp một phương tiện trực quan kết hợp
mã đồ họa và văn bản trong LabVIEW Ta có thể nhập trực tiếp văn bản tập lệnh m hoặc nhập nó từ một tệp văn bản, nhúng các tập lệnh trên LabVIEW Để truy cập vào MathScript node, ta chọn: Programming » Structures » MathScript Node
Hình 3 16 LabVIEW MathScript node
(1), (2) Giá trị đầu vào:
(3) Giá trị sai số đầu vào
(4) Giá trị đầu ra
(5) Giá trị sai số đầu ra
Trang 37Ta có thể tự định nghĩa đầu vào để định nghĩa dư liệu truyền giữa môi trường đồ họa LabVIEW và MatScript, có thể tải các tập lệnh m và thao tác tương tự như lập trình trong phần mềm Matlab
3.1.7.2 LabVIEW Fuzzy Logic
LabView cung cấp bộ công cụ Fuzzy System Designer chuyên dùng để thiết kế các
thông số của bộ điều khiển mờ
Để truy cập vào công cụ Fuzzy System Designer chọn: Tools » Control Design and Simulation » Fuzzy System Designer
Hình 3 17 Giao diện công cụ Fuzzy System Designer
Trong giao diện Fuzzy System Designer có 3 thẻ:
Thẻ Variables dùng để xây dựng hàm liên thuộc cho ngõ và và ngõ ra cho bộ điều khiển mờ Để tạo hàm liên thuộc, lick vào nút Add Input Variable Xuất hiện một giao diện
Trang 38Hình 3 18 Giao diện công cụ Fuzzy System Designer
Ta có thể đặt tên cho các hàm liên thuộc, tùy chỉnh giới hạn và chọn hàm liên
thuộc, màu sắc vv Có nhiều hàm liên thuộc như: tam giác,hình thang, gaussian,
Hình 3 19 Các dạng hàm liên thuộc
Thẻ Rule dùng để xây dựng luật hợp thành, phương pháp giải mờ cho bộ điều
khiển mờ Để thêm luật mờ, click vào nút Add Antecedent chọn giá trị đầu vào và giá trị
đầu ra Chọn phương pháp giải mờ để giải mờ cho bộ điều khiển, có nhiều phương pháp
giải mờ nhưng ở đây chọn phương pháp giải mờ bằng phương pháp trọng tâm
Trang 39Hình 3 20 Rule trong trong giao diện Fuzzy System Designer
Thẻ Test System dùng để kiểm tra hoạt động của bộ điều khiển mờ sau khi đã xây dựng Ta có thể kiểm tra mức độ đạt của luật hợp thành bằng đồ thị 3D, có thể kiểm tra điện áp và sai số của hệ thống
Trang 40Để truy cập Fuzzy Logic chọn Programming » Control & Simulation » Fuzzy
Logic
Hình 3 22 Các hàm Fuzzy trong LabView
Để sử dụng Fuzzy System ta chọn thiết bị a FL Fuzzy Controller.vi
Fuzzy system in - quy định cụ thể các thông tin đầy đủ cho một hệ thống
mờ
Input values - xác định các giá trị của các ngõ vào trong các hệ thống mờ
Bộ điều khiển mờ xác định giá trị ngõ ra (s) theo các giá trị ngõ vào và các luật của hệ thống mờ
Error in- mô tả các điều kiện lỗi xảy ra trước khi khối này chạy
Rule-invoked value? Hiển thị luật mờ mà bộ điều khiển mờ đang sử dụng để đạt được giá trị ngõ ra Giá trị ngõ ra là 0 nếu bộ điều khiển mờ không gọi bất kỳ luật nào để xác định giá trị ngõ ra
Fuzzy system out- trả về thông tin đầy đủ cho một hệ thống mờ
Hình 3 23 I/O của hàm Fuzzy