20
100 Bài 8 LP TRÌNH CƠ BN VI LABVIEW MC TIÊU - Gii thiu kiến thc tng quan phn mm Labview. - Knăng lp trình các ng dng trên Labview. NI DUNG CHÍNH 8.1. Gii thiu LabVIEW (viết tt ca nhóm tLaboratory Virtual Instrumentation Engineering Workbench) là mt phn mm máy tính được phát trin bi công ty National Instruments, Hoa k. LabVIEW còn được biết đến như là mt ngôn nglp trình vi khái nim hoàn toàn khác so vi các ngôn nglp trình truyn thng như ngôn ngC, Pascal. Bng cách din đạt cú pháp thông qua các hình nh trc quan trong môi trường son tho, LabVIEW đã được gi vi tên khác là lp trình G (Graphical - đồ ha). LabVIEW được dùng nhiu trong các phòng thí nghim, lĩnh vc khoa hc kthut như tđộng hóa, điu khin, đin t, cơ đin t, hàng không, hóa sinh, đin ty sinh,... Hin ti ngoài phiên bn LabVIEW cho các hđiu hành Windows, Linux, Hãng NI đã phát trin các mô-đun LabVIEW cho máy htrcá nhân (PDA). Các chc năng chính ca LabVIEW có thtóm tt như sau: - Thu thp tín hiu tcác thiết bngoi vi như cm biến nhit độ, hình nh twebcam, vn tc ca động cơ, ... - Giao tiếp vi các thiết bngoi vi qua các chun giao tiếp: RS232, RS485, USB, PCI, Ethernet. - Mô phng và xlý các tín hiu thu nhn được để phc vcác mc đích nghiên cu hay mc đích ca hthng mà người lp trình mong mun. - Xây dng các giao din người dùng mt cách nhanh chóng và thm mhơn nhiu so vi các ngôn ngkhác như Visual Basic, Matlab,..

BAI 8

Embed Size (px)

Citation preview

Page 1: BAI 8

100

Bài 8

LẬP TRÌNH CƠ BẢN VỚI LABVIEW

MỤC TIÊU

− Giới thiệu kiến thức tổng quan phần mềm Labview.

− Kỹ năng lập trình các ứng dụng trên Labview.

NỘI DUNG CHÍNH

8.1. Giới thi ệu

LabVIEW (viết tắt của nhóm từ Laboratory Virtual Instrumentation

Engineering Workbench) là một phần mềm máy tính được phát triển bởi công ty

National Instruments, Hoa kỳ. 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 đã được gọi với tên khác là lập trình G

(Graphical - đồ họa).

LabVIEW được dùng nhiều trong các phòng thí nghiệm, lĩnh vực khoa học kỹ

thuật như tự động hóa, điều khiển, điện tử, cơ điện tử, hàng không, hóa sinh, điện tử y

sinh,... Hiện tại ngoài phiên bản LabVIEW cho các hệ điều hành Windows, Linux,

Hãng NI đã phát triển các mô-đun LabVIEW cho máy hỗ trợ cá nhân (PDA). Các chức

năng chính của LabVIEW có thể tóm tắt như sau:

− Thu thập tín hiệu từ các thiết bị ngoại vi như cảm biến nhiệt độ, hình ảnh từ

webcam, vận tốc của động cơ, ...

− Giao tiếp với các thiết bị ngoại vi qua các chuẩn giao tiếp: RS232, RS485,

USB, PCI, Ethernet.

− Mô phỏng và xử lý các tín hiệu thu nhận được để phục vụ các mục đích nghiên

cứu hay mục đích của hệ thống mà người lập trình mong muốn.

− Xây dựng các giao diện người dùng một cách nhanh chóng và thẩm mỹ hơn

nhiều so với các ngôn ngữ khác như Visual Basic, Matlab,..

Page 2: BAI 8

101

− Cho phép thực hiện các thuật toán điều khiển như PID, Logic mờ (Fuzzy

Logic), một cách nhanh chóng thông qua các chức năng tích hợp sẵn trong

LabVIEW.

− Cho phép kết hợp với nhiều ngôn ngữ lập trình truyền thống như C, C++, …

8.2. Khởi động chương trình LabVIEW

� Khi khởi động chương trình LabVIEW 8.6 , cửa sổ Labview sẽ hiện ra như sau:

Hình 8.1: Cửa sổ Labview sau khi khởi động chương trình

Trong đó:

1> Tạo một file mới.

2> Mở file LabVIEW đã lưu.

3> Tài liệu tham khảo.

1

2

3 1

Page 3: BAI 8

� Nếu muốn tạo một tập tin m

sổ chương trình hiển th

Hình 8.2: Cửa sổ

Trong đó:

1> Chạy chương tr

2> Chạy lặp

3> Dừng chương tr

4> Tạm dừng

5> Thiết lập màu s

6> Gióng đều đối tư

7> Hiển thị cửa sổ

Thanh công cụ

1> Xem dòng l

2> Xem thự

Cửa sổ Front Panel

102

p tin mới, tại vùng “1” ta chọn mục “Blank VI”. Lúc này c

n thị như sau:

ổ Front Panel và Block Diagram thực thi chươ

Hình 8.3: Cửa sổ Front Panel

ương trình

ương trình (nên dùng nút nhấn Stop tại Front Panel )

p màu sắc , định dạng , kích thước….

i tượng theo hàng dọc, hàng ngang.

ổ “text help”.

Hình 8.4: Cửa sổ Block Diagram

ụ giống như bên cửa sổ Front Panel, ngoài ra còn chú ý thêm:

Xem dòng lệch thực thi.

ực thi từng bước.

Front Panel Cửa sổ Block Diagram

1 2 3 4 5 6

1 2

c “Blank VI”. Lúc này cửa

c thi chương trình

i Front Panel )

Front Panel, ngoài ra còn chú ý thêm:

Block Diagram

7

Page 4: BAI 8

103

8.3. Lập trình trên LabVIEW

Như ta đã biết LabVIEW có hai cửa sổ thực hiện chương trình: cửa sổ “Front

Panel” và cửa sổ “Block Diagram”. Bây giờ ta sẽ tìm hiểu lập trình trên từng cửa sổ.

8.3.1. Cửa sổ Front Panel (FP): dùng để thiết kế giao diện người dùng.

Ví dụ trong ứng dụng điều khiển nhiệt độ, ta có thể lập trình tạo một giao diện

để hiển thị nhiệt độ đặt , nhiệt độ đo, sai số , vẽ đồ thị các tín hiệu và nhiều chức năng

khác như giao diện minh họa ở hình 8.5.

Hình 85.: Giao diện người dùng sử dụng trong điều khiển ổn định nhiệt độ

Để có thể thiết kế một giao diện hoàn chỉnh như hình 8.5 ta cần tìm hiểu thêm

một số cửa sổ thực thi chương trình khác như:

Page 5: BAI 8

104

a. Cửa sổ chứa lệnh (control palette): Chứa các khối lệnh dùng để thiết kế giao diện

đồ họa ở cửa sổ “Front Panel”.

Hình 8.6: Cửa sổ Control Palette chứa các khối lệnh lập trình tạo giao diện

b. Cửa sổ Tool Palatte: Dùng để viết chữ, nối dây, chọn màu sắc của khối lệnh …

Hình 8.7: Cửa sổ Tool Palette

c. Cửa sổ “context help”: Hiện thị đặc tính,chức năng, cách sử dụng khối lệnh

Hình 8.8: Cửa sổ context help

Cửa sổ Control Palette

Cửa sổ Tools Palette

Page 6: BAI 8

105

d. Các bước thiết kế giao diện người dùng

o Bước 1: Mở cửa sổ “Control Palette”, chọn các khối lệnh mà ta cần dùng.

Chẳng hạn: Trong ví dụ 1, để vẽ đồ thị ta chọn khối “Waveform Chart”:

Hình 8.9: Khối vẽ đồ thị Waveform Chart

o Bước 2: Kéo và thả đối tượng “khối lệnh” ra cửa sổ “Front Panel”. Cụ thể trong

ví dụ này ta Click vào đối tượng “waveform Chart” và kéo thả ra cửa sổ “Front

Panel”. Kết quả như sau:

Hình 8.10: Tạo giao diện vẽ đồ thị vối khối lệnh Waveform Chart

Click và kéo đối tượng vào cửa sổ “FP”

Page 7: BAI 8

106

o Bước 3: Sau khi ta chọn xong khối đối tượng ta có thể thay đổi tên , màu sắc và

mặc định một số thuộc tính cụ thể cho đối tượng, bằng cách click chuột phải

vào đối tượng và chọn Property.

o Bước 4: Sau khi chọn tất cả các đối tượng cần thiết, ta sắp xếp các đối tượng

một cách ngẫu nhiên theo thẩm mỹ của từng người. Xem hình minh họa 8.5.

Lúc này ta đã có một giao diện người dùng mà ta mong muốn. Nhưng giao diện

này vẫn chưa sử dụng được, để sử dụng nó ta cần phải lập trình được thực hiện

ở cửa sổ “Block Diagram”.

8.3.2. Cửa sổ Block Diagram

Liên kết các đối tượng trong cửa sổ Block Diagram theo các yêu cầu lập trình

ứng dụng. Hình 8.11 minh họa lập trình bằng cách liên kết các đối tượng theo một ứng

dụng cụ thể là đọc bộ đếm của card NI 6008.

Hình 8.11: Ứng dụng lập trình ở cửa sổ Block Diagram

Chương tr ình

Hướng dẫn

Page 8: BAI 8

107

8.4. Thí nghiệm

8.4.1. Thí nghiệm 1

a. Yêu cầu

Thực hiện ứng dụng có nội dung như sau:

o Tạo một chương trình trên Labview để mô phỏng tín hiệu tương tự analog và vẽ

đồ thị tín hiệu đó trên “waveform graph”.

o Chương trình sẽ so sánh giá trị của tín hiệu analog với một giá trị giới hạn do

người dùng mô tả. Nếu trị analog lớn hơn giới hạn đó thì một đèn Led sẽ sáng

và ngược lại.

b. Hướng dẫn

o Bước 1: Khởi động Labview, tạo một file VI.

o Bước 2: Mở cửa sổ Control Palette ở cửa sổ Front Panel.

o Bước 3: Click chuột vào Express => Button and Switches => Stop, đặt Stop

vào cửa sổ Front Panel.

Hình 8.12: Thêm nút nhấn STOP vào cửa sổ Front Panel

o Bước 4: Click chuột vào Express => Graph indicators => Waveform graph

đặt vào cửa sổ FP.

Page 9: BAI 8

108

Hình 8.13: Thêm Graph vào cửa sổ Front Panel

o Bước 5: Click chuột vào Express => Numeric Control => Vertical Poiter

Slide đặt vào cửa sổ Front Panel

Hình 8.14: Thêm Pointer Slide vào cửa sổ Front Panel

o Bước 6: Click chuột vào Express => LEDS => Round LED đặt vào cửa sổ

Front Panel

Hình 8.15: Thêm Round LED vào cửa sổ Front Panel

Page 10: BAI 8

109

o Bước 7: Click chuột phải vào Vertical Poiter Slide và chọn Properties. Thay

đổi những thông số cần thiết. Cuối cùng chọn OK.

Hình 8.16: Thay đổi thuộc tính Vertical Poiter Slide

o Bước 8: Click chuột phải Round LED chọn Properties.Thay đổi thuộc tính

boolean thành Alarm . Sau đó di chuyển các đối tượng trong cửa sổ FP như

giao diện bên dưới:

Page 11: BAI 8

110

Hình 8.17: Giao diện người dùng

o Bước 9: Ở cửa sổ Block Diagram, mở Function Palette chọn Express =>

Input => Simulate Signal. Đặt Simulate signal vào cửa sổ Block Diagram.

Hình 8.18: Thêm Simualate Signal vào cửa sổ Block Diagram

Page 12: BAI 8

111

o Bước 10: Double-Click vào Simulate Signal , thay đổi biên độ tín hiệu là 10.

Sau đó Click vào nút nhấn Ok.

Hình 8.19: Thay đổi thuộc tính của Simualate Signal

o Bước 11: Trong Function palette chọn Express => Arithmetic & Comparison

=> Comparison và đặt Comparison vào Cửa sổ Block Diagram.

Page 13: BAI 8

112

Hình 8.20: Thêm Comparison vào cửa sổ Block Diagram

Khi bạn đặt Comparison vào cửa sổ Block diagam, một hộp thoại cho phép

bạn cấu hình các loại so sánh, thông số… sẽ xuất hiện. Thực hiện thay đổi như bên

dưới , sau đó click Ok.

Page 14: BAI 8

113

Hình 8.21: Thay đổi thuộc tính của Comparison

o Bước 12: Bạn có thể kết nối các Control (điều khiển), Function (hàm) và các

indicator (bộ hiển thị) trong cửa sổ Block Diagram bằng cách đưa con trỏ và

click vào đối tượng sau đó di chuyển con trỏ đến đối tượng cần kết nối.

Ví dụ : Kết nối đối tượng Limit control với đối tượng Alarm indicator ; Kết

nối đối tượng nút nhấn Stop với đối tượng Alarm indicator ta được kết quả

như hình bên dưới

Hình 8.22: Kết nối không thành công

Hình 8.23: Kết nối thành công

Page 15: BAI 8

114

o Bước 13: Tạo các kết nối trên Block Diagram theo các bước sau:

- Kết nối Limit control với ngỏ vào Operand 2 của hàm Comparison.

- Kết nối khối Simulate signals và Waveform Graph với ngỏ vào Operand

1 của hàm Comparison.

- Kết nối ngỏ ra Result của hàm Comparison với bộ chỉ thị Alarm

indicator .

Hình 8.24: Sau khi kết nối các khối đối tượng trên Block Diagram

o Bước 14: Mở cửa sổ Function palette, chọn Programing => Structures =>

While Loop.

Hình 8.25: Thêm chức năng While Loop vào chương trình

Page 16: BAI 8

115

Đặt khối While Loop vào cửa sổ Block Diagam, kết nối nút nhấn Stop với

điều kiện dừng hoạt động của while Loop. Thông số i của While Loop chính là số

lần lặp lại của chương trình.

Hình 8.26: Sau khi kết nối While Loop vào chương trình

o Bước 15: Mở Function palette, chọn Programing => Timing => Wait Until

Next ms Multiple. Đặt nó vào Block Diagram và chọn thời gian T = 100ms.

Hình 8.27: Thiết kế chương trình trên cửa sổ Block Diagram

Page 17: BAI 8

116

o Bước 16: Kết nối hoàn chỉnh các khối trên cửa sổ Block Diagram như sau:

Hình 8.28: Thiết kế chương trình hoàn chỉnh trên cửa sổ Block Diagram

c. Chạy chương trình và báo cáo kết quả thí nghiệm

o Chạy chương trình bằng cách nhấn nút Run, trong khi chương trình đang chạy

bạn có thể thay đổi giá trị Limit. Báo cáo và nhận xét kết quả thu được.

o Tìm hiểu chức năng của vòng lặp While.

o Chạy chương trình khi không có While Loop. So sánh kết quả khi không có và

khi có While Loop.

o Tìm hiểu chức năng của khối Wait Until Next ms Multiple.

o Viết lại chương trình trên Block Diagram để thực hiện dừng chương trình khi

số lần thực hiện vòng lặp i = 100.

o Chú ý: Kết quả thí nghiệm nên lưu lại dưới dạng hình ảnh sau đó đưa vào

Microsoft Word để báo cáo.

Page 18: BAI 8

117

1. Thí nghiệm 2

d. Yêu cầu

Viết chương trình thực hiện phép toán tính tổng , tích hai số thực:

Y = a + b

Z = a*b

X = (Y - Z)*i

Trong đó:

- a , b là hai số thực bất kỳ

- i là số vòng lặp của chương trình, chu kỳ vòng lặp T = 200ms.

e. Hướng dẫn

o Các phép toán +, -, * , / ,… được tạo ra như sau: Trong cửa sổ Block Diagram,

mở Function Palette chọn Mathematics => Numeric

o Trong cửa sổ Front Panel, mở Control Palette chọn Modern => Decoration.

Chức năng Decoration được dùng để trang trí giao diện.

Page 19: BAI 8

118

o Chương trình mẫu hoàn chỉnh như sau:

f. Thực hiện thí Nghiệm và báo cáo kết quả

o Sinh viên thực hiện thí nghiệm theo giao diện trên, chú ý sinh viên nên tạo

chương trình giống với chương trình mẫu. Thay đổi các giá trị a, b bất kỳ.

o Báo cáo kết quả thu được gồm:

- Giao diện chương trình.

- Báo cáo kết quả khi a = 2, b = 8,...Thực hiện 5 thí nghiệm khác nhau.

2. Thí nghiệm 3

Page 20: BAI 8

119

g. Yêu cầu

Sử dụng ngôn ngữ lập trình Labview xây dựng một chương trình VI để giải phương

trình bậc hai có dạng ��� + �� + � = 0 (1).

h. Hướng dẫn: Lưu đồ giải thuật để thực hiện giải phương trình bậc hai như sau:

i. Thực hiện thí Nghiệm và báo cáo kết quả

o Thực hiện chương trình và báo cáo kết quả.

o Kiểm tra kết quả giải phương trình bậc 2 với các thông số a, b, c thay đổi.

I. BÁO CÁO

Báo cáo chương trình điều khiển.

Báo cáo các số liệu , hình vẽ thu được. Đưa ra các nhận xét, đánh giá về kết quả

thí nghiệm.

True

False

True

False

False

True

Start Số vòng lặp

a ≠0

Delta = b2 – 4ac

Delta >= 0

x1 = x2 = -b/2a x1 = (-b – sqrt(delta))/(2a) x2 = (-b + sqrt(delta))/(2a)

Pt vô nghiệm

b ≠0

x1 = -c/b

Stop