Tải bản đầy đủ (.pdf) (42 trang)

labview for everyone tiengviet 20110326 2

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (722.71 KB, 42 trang )



Mục lục
I. Những khái niệm cơ bản: ................................................................... 2
1.
Giới thiệu chung: ........................................................................... 2
2.
Thiết bị ảo (VI- Vitual Instrument): .............................................. 2
3.
Front Panel:.................................................................................... 2
4.
Block Diagram: .............................................................................. 3
5.
Icon & Connector........................................................................... 5
II. Kỹ thuật lập trình trên LabView: ................................................. 5
1.
Các công cụ hỗ trợ lập trình:.......................................................... 5
2.
Dữ liệu:........................................................................................... 9
3.
Các cấu trúc điều khiển luồng chương trình: ............................... 16
4.
SubVI và cách xây dựng SubVI: .................................................. 20
5.
Xây dựng ứng dụng:..................................................................... 24
6.
Gỡ rối và sửa chương trình xây dựng trên LabView:................... 26
III. Kỹ thuật lập trình nâng cao trong LabView: ............................. 27
1.
Liên kết thiết bị ảo với thiết bị phần cứng: .................................. 27
2.


Xử lý tín hiệu và lọc nhiễu:.......................................................... 39

free4vn.org -ebooks software film game direct link
dientuvietnam.net

1




Lập trình điều khiển trong môi trường labview
I.

Những khái niệm cơ bản:

1.

Giới thiệu chung:
Labview (Virtual Instrument Engineering Workbench) là một môi

trường phát triển dựa trên ngôn ngữ lập trình đồ hoạ, thường được sử dụng
cho mục đích :đo lường, kiểm tra, đánh giá, xử lý và điều khiển các tham
số của thiết bị
Labview là một ngôn ngữ lập trình đa năng, giống như các ngôn ngữ
lập trình hiện đại khác. Labview gồm có các thư viên thu nhận dữ liệu,
một loạt các thiết bị điều khiển, phân tích dữ liệu, biểu diễn và lưu trữ dữ
liệu. Nó còn có các công cụ phát triển được thiết kế riêng cho việc nối
ghép và điều khiển thiết bị.
Labview khác với các ngôn ngữ lập trình thông thường ở điểm cơ bản
là: các ngôn ngữ lập trình khác thường dùng trên cơ chế dòng lệnh, trong

khi đó Labview dùng ngôn ngữ lập trình Graphical để trạo ra các chương
trình ở dạng sơ đồ khối
2. Thiết bị ảo (VI- Vitual Instrument):
Lập trình Labview trên cơ sở các thiết bị ảo. Các đối tượng trong các
thiết bị ảo được sử dụng để mô phỏng các thiết bị thực, nhưng chúng
được thêm vào bởi phần mềm. Các VI (thit b o) tương tự như các
hàm trong các ngôn ngữ lập trình khác.
3. Front Panel:
Một chương trình chung trong LabView gồm 3 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 cung cấp mã nguồn (Block Diagram) và biểu tượng kết nối
(Icon/Connector). Front Panel là một panel tương tư như panel của thiết bị
free4vn.org -ebooks software film game direct link
dientuvietnam.net

2



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ộ chỉ 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.
- Indicator 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.
Front Panel của 1 VI được minh hoạ như hình I.1:


Hình I.1

4. Block Diagram:
Block Diagram của 1 VI là một sơ đồ được xây dựng trên 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 lệnh để chương trình thực hiện. Block Diagram là một mã
free4vn.org -ebooks software film game direct link
dientuvietnam.net

3



nguồn đồ hoạ của 1 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
Block Diagram của 1 VI đơn giản được thể hiện ở hình I.2:

Hình I.2
Cấu trúc của một Block Diagram gồm các thiết bị đâu cuối
(Terminal), Nút (Node) và các dây nối (wire)
- Terminal: là các cổng mà dữ liệu truyền qua giữa Block Diagram
và Front panel, và giữa các Node trong Block Diagram. Các Terminal
nằm ở dưới dạng các Icon của các Function
- Nodes: là các phần tử thực hiện 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
free4vn.org -ebooks software film game direct link

dientuvietnam.net

4



- Wises: là các dây nối dữ liệu giữa các node
5. Icon & Connector
+ Icon (biểu tượng)

: là biểu tượng của VI, được sử dụng khi từ 1

VI muốn sử dụng chức năng của 1 VI khac. Khi đó VI đó được gọi là
SubVI, nó tương đương như một chương trình con trong các ngôn ngữ
khác
+ Connector (bộ nối)

:là một phần tử của Terminal dùng để nối

các đầu vào và đầu ra của các VI với nhau khi sử dụng
Mỗi VI có 1 Icon mặc định hiển thị trong bảng Icon ở góc trên bên
phải cửa sổ Front Panel và Block Diagram như hình I.3

Hình I.3
Ta có thể thay đổi được Icon và connector
Khi các Vi được phân cấp và modul hoá thì ta có thể dùng chúng như
các chương trình con. Do đó để xây dựng 1 VI ta có thể chia thành
nhiều VI thực hiện các chức năng đơn giản và cuối cùng kết hợp
chúng lại với nhau.
II.


Kỹ thuật lập trình trên LabView:

1.

Các công cụ hỗ trợ lập trình:
Việc lập trình trên LabView cần sử dụng các bảng: Tools Palette,

Controls Panelette, Functions Palette, các bảng đó cung cấp các chức năng
để người sử dụng có thể tạo và thay đổi trên Front Panel và Block Diagram
free4vn.org -ebooks software film game direct link
dientuvietnam.net

5



a.

Tool Panel:
Tool Panel xuất hiện trên cả Front Panel và Block Diagram. Bảng này

cho phép người sử dụng có thể xác lập các chế độ làm việc đặc biệt của con
trỏ chuột. Khi lựa chọn một công cụ, biểu tượng của con trỏ sẽ được thay đổi
theo biểu tượng của công cụ đó
Nếu thiết lập chế độ tự động lựa chọn công cụ và người sử dụng di
chuyển con trỏ qua các đối tượng trên Front Panel hoặc Block Diagram,
Labview sẽ tự động lựa chọn công cụ phù hợp trên bảng Tools Palette
Để truy cập vào Tools palette ta chọn Menu: WindowShow Tools
palette. Các công cụ trong Tools palette gồm có:


Operating tool.
Positioning tool.
Labeling tool.
Wiring tool.
Object Pop-up Menu tool.
Scroll tool.

Hình I.4: Tools Palette

Breakpoint tool.
Probe tool.
Color copy tool.
Color tool.

b.

Controls Palette(bảng điều khiển):

free4vn.org -ebooks software film game direct link
dientuvietnam.net

6



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 khiển được minh hoạ như I.5:
Bảng điều khiển được sử dụng để người sử thiết kế cấu trúc mặt hiển

thị gồm các thiết bị vd: các công tắc, các loại đèn, các loại màn hình hiển
thịVới bảng điều khiển này, người sử dung có thể chọn các bộ thiết bị
chuẩn do hãng sản xuất cung cấp vd công tắc những cũng có thể chọn các
thiết bị do người sử dụng tự xây dựng.
Bảng điều khiển dung để cung cấp dữ liệu đầu vào và hiển thị kết quả
đầu ra
Một số bộ điều khiển và hiển thị trên
controls palette:
Numeric Controls/Indicators:
Bộ công cụ này được sử dụng để hiển thị
và điều khiển dữ liệu dạng số trong chương
trình

Hình I.6

Boolean Controls/Indicators:
Bộ công cụ này cung cấp 2 giá trị là True và False. Khi thực hiện
chương trình người sử dụng sử dụng chuột để
điều khiển giá trị của thiết bị. Việc thay đổi
giá trị của các thiết bị chỉ có tác dụng khi các
thiết bị đó được xác lập ở chế độ là các
Control. Còn nếu ở chế độ là các Indicator thì
free4vn.org -ebooks software film game direct link
dientuvietnam.net

7



giá trị không thay đổi vì chúng chỉ là các thiết bị hiển thị


Hình I.7

String Controls/Indicators:
Các điều khiển này dùng để nhập và
hiển thị các ký tự, nó cũng có thể được xác
lập ở chế độ đầu vào hay đầu ra

c.

Functions Palette:

Hình I.8

Bảng Funtions palette chỉ xuất hiện trên Block Diagram. Bảng này
chứa các Vis 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 đồ. Bảng Function palette được minh học như trong hình I.9:
Với bảng Function Palette, người
lập trình thực hiện các cú pháp vd phép
lặp, phé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, chức
năng mà người sử dụng tự xây dựng.
Các hàm toán học đựoc minh hoạ thông

free4vn.org -ebooks software film game direct link
dientuvietnam.net

Hình I.9: Functions Palette


8



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.
2.

Dữ liệu:
Ngôn ngữ lập trình LabView hỗ trợ cho tất cả các dạng dữ liệu. Các

kiểu dữ liệu dạng Boolean, bytes, string, array, file, text, cluster và dạng số
có thể được chuyển đổi một cách dễ dàng sang các dạng cấu trúc. Sau đây
chúng ta xem xét một vài dạng dữ liệu:
a. Variables (biến):
Trong qua trình lập trình cần thiết phải xử dụng tới các biến. Thông
qua các biến, người lập trình có thể thực hiện được việc xử lý và thay đổi
dữ liệu một cách thuận lợi. Trong labview, các biến được sử dụng dưới 2
dạng là biến toàn cục (global variables) và các biến cục bộ (local
variables).
- Global varialbles (biến toàn cục):Biến toàn cục được sử dụng để
thực hiện công việc truyền và lưu trữ dữ liệu giữa một vài Vis.
Biến toàn cục được coi là một đối tượng trong Labview. Khi ta
tạo ra một biến toàn cục Labview sẽ tạo ra một VI toàn cục
đặc biệt. Để tạo ra các biến toàn cục, ta lựa chọn chúng trên
menu Structs and Constants function sau đó đặt chúng lên
Diagram. Tiếp tục cần xác định cho chúng kiểu dữ liệu thông
qua các kiểu dữ liệu đã sử dụng thông qua các Controls hoặc

các Indicators. Chúng ta cần chú ý là đối với mỗi biến toàn cục
chúng ta cần phải tạo ra 1 VI với một tên riêng duy nhất.Đối với
các biến toàn cục chúng ta cũng cần xác định chế độ chỉ cho
phép ghi hoặc chỉ cho phép đọc. Đối với việc truy xuất vào các
biến toàn cục sẽ được thực hiện rất nhanh chóng đối với các
free4vn.org -ebooks software film game direct link
dientuvietnam.net

9



kiểu dữ liệu đơn giản vd: numerics và Boolean. Tuy nhiên, khi
ta sử dụng biến toàn cục để lưu trữ và xử lý các dữ liệu dưới
dạng mảng (arrays), Clusters hay các sâu(string) lớn thì thời
gian cũng như bộ nhớ cần thiết để xử lý chúng lại sẽ tương đối
lớn. Vì nó đòi hỏi một vài dịch vụ quản lý bộ nhớ mỗi khi các
biến đó được gọi tới. Khi sử dụng các biến toàn cục cũng như
các biến cục bộ thì một vấn đề có thể gặp phải là sự tranh chấp
dữ liệu. Biến sử dụng trong Labview không hoàn toàn giống
như trong các ngôn ngữ lập trình dòng lệnh. Việc tranh châp
dữ liệu xảy ra khi hai hoặc nhiều hơn các đoạn mã lệnh cùng
được thực hiện song song cùng thay đổi giá trị của một biến.
Đầu ra của VI phụ thuộc vào thứ tự được thực thi của các dòng
lệnh. Bởi vì nếu không có sự phụ thuộc dữ liệu giữa các biểu
thức khác nhau thì sẽ không xác định được cái nào chạy trước.
Nếu sử dụng các biến toàn cục trong Vis mà được thực hiện
song song, thì ta có thể sử dụng một biến toàn cục thêm vào để
xác định khi nào dữ liệu được phép thay đổi và được đọc giá trị
mới

- Local variable: Cho phép người sử dụng đọc hoặc viết thông tin
lên 1 trong những thiết bị điều khiển hoặc thiết bị hiển thị trên
Front Panel. Để tạo một biến cục bộ, chọn Local Variable từ
bảng Structs & Constants. Khi sử dụng biến cục bộ cần chú ý
một số thông tin sau:
ơ Các biến cục bộ chỉ có tác dụng duy nhất trên các thiết bị
điều khiển hoặc thiết bị hiển thị mà cùng ở trên một lược đồ.
Ta không thể sử dụng biến cục bộ để truy cập tới 1 điều
khiển mà không cùng trên một lược đồ.
free4vn.org -ebooks software film game direct link
dientuvietnam.net

10



ơ Ta có thể có rất nhiều các biến cục bộ cho mỗi thiết bị điều
khiển hoặc thiết bị hiển thị.Tuy nhiên điều đó có thể gây ra
sự phức tạp: cho rằng điều khiển của bạn thay đổi trạng thái
một cách khó hiểu bởi vì bạn ngẫu nhiên lựa chọn sai các
phần tử trong một hoặc nhiều biến cục bộ
ơ Giống như biến toàn cục, bạn có thể sử dụng biến cục bộ
không có một dòng dữ liệu hợp lệ khác sử dụng
b. String:
Kiểu string (chuỗi) là một tậơ hợp các ký tự. Ta có thể sử dụng chuỗi
tham gia tính toán xử lý. Để lựa chọn các ô text lưu trữ dữ liệu kiểu
string ta chọn từ ô String & path từ control palette có hình như sau
(hình I.10):

Hình I.10: string

LabView cung cấp cho người sử dụng các công cụ để thao tác trên
LabView như việc tìm kiếm, xác định độ dài của chuỗi ký tự, chuyển
dẫy ký tự thành dạng viết hoa và ngược lại, so sánh chuỗi, thay một số
ký tự trong chỗi sang một số chỗi khác. các hàm được cung cấp trong
menu string trên Function Pallete có hình sau (I.11):

free4vn.org -ebooks software film game direct link
dientuvietnam.net

11




Hình I.11:Function>> string
Không chỉ vậy có thể thực hiện việc chuyển đổi từ dạng string sang
các dạng khác như dạng số, dạng mảng (array). Trong labView, đôi
khi người sử dụng có thể cần phải tạo ra hoặc hiển thị một số ký tự
trong bảng mã ASCII mà không thể hiển thị được vd: Esc,tab. Để
giải quyết vấn đề đó, labview đã cung cấp một số từ đại diện cho các
từ đó, khi cần thể hiện các ký tự đo ta chỉ cần gõ vào những từ đại diện
cho chúng trên Front Panel. Sau đây là một số từ thay thế (Escape
Code)
Escape code

Từ được thay (Interpreted As)

\00-\FF

Giá trị dạng Hex của ký tự 8 bít


\b

Backspace

\f

Formfeed

\n

Newline

\r

Return

free4vn.org -ebooks software film game direct link
dientuvietnam.net

12



\t

Tab

\s


Space

\\

BackSlash (dấu chéo ngược)

c. Array:
Trong việc lập trình đôi khi chúng ta cần xử lý một số các dãy số
mà mỗi phần tử trong đó có thể được xử lý như từng thành phần riêng
biệt, vì vậy mà ta cần tới mảng. Các mảng ở đây có thể là mảng 1
chiều (một cột hoặc 1 véc tơ), mảng 2 chiều, mảng 3 chiều. Labview
hỗ trợ cho người lập trình có thể tạo ra các mảng của các mà trong đó
chứa dữ liệu kiểu numberic, string, boolean và rất nhiều các dạng dữ
liệu khác. Các mảng thường được tạo ra bởi các vòng lặp. Việc sử
dụng vòng lặp la tốt cho các ứng dụng bởi vì nó xác định một vùng bộ
nhớ xác định từ khi nó bắt đầu. Nếu không dùng các vòng lặp thì thì
Labview không có cách nào biết được khi nào vòng lặp lại được lặp
lại, việc quản lý bộ nhớ có thể sẽ được gọi lại nhiều lần và làm chậm
việc xử lý.
Người sử dụng có thể sử dụng chức năng xây dựng mảng. Nó còn
cho phép ràng buộc mảng gốc vào các mảng khác
Khởi tạo mảng:
Để khởi tạo một mảng khi chương trình bắt đầu, ta thực hiện theo
một số phương pháp sau:
- Nếu như tất cả các giá trị là như nhau, thì sử dụng một vòng lặp
For với một hằng số bên trong. Điểm bất lợi là: nó chắc chắn
cần một thời gian lớn để tạo mảng.
- Sử dụng chức năng khởi tạo mảng với kích cỡ các các chiều đầu
vào được kết nối tới một hằng số được đặt là giá trị của các phần
free4vn.org -ebooks software film game direct link

dientuvietnam.net

13



tử. Nó tương đương với phương pháp trước nhưng thuân tiên
hơn.
- Một cách tương tự, nếu như các giá trị có thể được tính toán
trong một số cách không phức tạp, thì đặt công thức tính toán
vào một vòng lặp và tạo ra mảng theo cách đó.
- Tạo ra trên Front panel một đối tượng mảng và kiểu dữ liệu của
giá trị được điều khiển bằng tay
Một trường hợp đặc biệt trong việc khởi tạo mảng là tạo ra một
mảng rỗng.Nó là một mảng mà các phần tử trong mảng được đặt về
giá trị 0, false, sâu rỗng Thường thì việc sử dụng một mảng rỗng
để sử dụng để khởi tạo một bộ ghi dịch mà sử dụng để lưu giữ các
giá trị trong mảng. sau đây là các cách để tạo ra một mảng trống:
- Tạo trên front panel một điều khiển mảng. Chọn Emty Array,
và sau đó Make Current value Default từ menu Control
- Tạo một vòng lặp với số lần lặp N, vòng lặp được nối tới một
giá trị 0
- Sử dụng chức năng Initialize Array.
Bộ nhớ của mảng để sử dụng và thi hành:
Khi một mảng được tạo ra, Labview sẽ sử dụng một không gian bộ
nhớ hợp lý nhất. Labview phải phân chia bộ nhớ thành những phần kế
tiếp nhau để lưu trữ mảng. Nếu người sử dụng thực hiện các phép tính
đơn giản như phép nhân một dãy trong một mảng, thì sẽ không cần
yêu cầu một vùng nhớ lớn.
Một số hàm sử dụng thao tác trên mảng:

Việc sử dụng các hàm trên bảng Function >> Array để tạo và điều
khiển các mảng

free4vn.org -ebooks software film game direct link
dientuvietnam.net

14




H×nh I.12: Array
Trªn ®ã bao gåm c¸c hµm sau
Array Constant

Interleave 1D Arrays

Array Max & Min

Interpolate 1D Array

Array Size

Replace Array Subset

Array Subset

Reshape Array

Array To Cluster


Reverse 1D Array

Build Array

Rotate 1D Array

Cluster To Array

Search 1D Array

Decimate 1D Array

Sort 1D Array

Delete From Array

Split 1D Array

Index Array

Threshold 1D Array

Initialize Array

Transpose 2D Array

Insert Into Array
ϖ Array Constant


:

free4vn.org -ebooks –software –film –game direct link
dientuvietnam.net

15



Sử dụng hàm này sẽ tạo ra một mảng với các phần tử là các
hằng số. Để định nghĩa dạng dữ liệu của mảng hằng số ta lựa
chọn bất kỳ hằng số vô hướng nào từ bảng Function Palette
và đặt nó vào bên trong mảng hằng số. Tất các thành phần
của mảng sẽ có dạng này. Sử dụng Operating Tool để nhập
giá trị cho từng thành phần của mảng. Ta không thể thay đổi
được giá trị của mảng trong khi VI chạy.
Array Max & Min

Hàm này có chức năng tìm kiếm số lớn nhất và số nhỏ nhất
của các số trong mảng. hàm này thường trả về kết quả để
hiển thị.
Mảng có thể là mảng n chiều của bất kỳ loại dữ liệu nào
Giá trị lớn nhất (max value) là cùng dạng dữ liệu như là các
thành phần trong mảng các số.
Chỉ số lớn nhất (max index) là chỉ số của phần tử lớn nhất
Giá trị nhỏ nhất (min value) là của cùng dạng dữ liệu như là
các thành phần trong mảng.
chỉ số nhỏ nhất (min index) là chỉ số của giá trị nhỏ nhất

3.


Các cấu trúc điều khiển luồng chương trình:
Trong bất cứ ngôn ngữ lập trình nào, ta cũng hay thường gặp và làm

việc với các phần tử điều khiển luồng chương trình, đó là các cấu trúc
free4vn.org -ebooks software film game direct link
dientuvietnam.net

16



(Structures). Các cấu trúc điều khiên luồng chương trình trong một VI có
năm cấu trúc là: For Loop, While Loop, Case Structure, Sequence Structure
và Fomula Node.
Các cấu trúc đó thực hiện tự động khi dữ liệu đầu vào của chúng có
sẵn và thực hiện các công việc theo ý muốn cho tới khi hoàn thành thì mới
cung cấp dữ liệu tới các dây nối dữ liệu đầu ra. Tuy nhiên, mỗi cấu trúc thực
hiện theo các quy tắc riêng (Sub Diagram) của nó
SubDiagram là tập hợp của các Node, Wire và Terminal bên trong
đường viền của Structure. Mỗi cấu trúc For Loop và While Loop có một
SubDiagram.
Cấu trúc Case và Sequence có thể có nhiều SubDiagram, nhưng chỉ có
một SubDiagram có thể được thực hiện tại một thời điểm. Cách xây dựng các
SubDiagram cũng giống như việc xây dựng các Block diagram mức đầu.
Việc truyền dữ liệu vào và ra các Structure thông qua các Terminal mà
được tự động tạo ra ở nơi dây nối đi qua đường viền của cấu trúc, các
Terminal này được gọi là các đường ống (Tunel).
Các cấu trúc điều khiển chương trình trong LabVIEW nằm ở
Functions Structures Palette.

For Loop.
For Loop là một Loop Count
Numerical Input
cấu trúc lặp thực hiện
sơ đồ bên trong nó một

Numerical
Output

số lần định trước. Để
truy cập For Loop ta

Hình I.13: For Loop

chọn Menu: Functions Structures For Loop.
Biểu tượng của For Loop được minh hoạ ở hình 13:
For Loop có hai Terminal đó là:
free4vn.org -ebooks software film game direct link
dientuvietnam.net

17



Count Terminal (Terminal đầu vào): Chỉ ra số lần vòng lặp phải
thực hiện.
Iteration Terminal (Terminal đầu ra): Chứa số lần vòng lặp đã thực
hiện. Giá trị của i thay đổi từ 0 tới n-1.
While Loop.
While Loop là một cấu trúc lặp thực hiện sơ đồ bên trong nó cho đến

khi giá trị Boolean đưa tới Conditional Terminal (một Terminal đầu vào) là là
trùng với điều kiện được thiết lập để thực hiện vòng lặp . Để truy cập While
Loop ta chọn Menu: Functions Structures While Loop.
Biêu tượng của While Loop được minh hoạ ở hình I.14.

Iteration
Terminal

Conditional
Terminal

Hình I.14: While Loop

VI kiểm tra Conditional Terminal tại cuối mỗi vòng lặp, do đó While
Loop luôn thục hiện ít nhấy một lần. Iteration Terminal là một Terminal đầu
ra mà đưa ra số lần vòng lặp thực hiện được. Việc tính sự lặp luôn được bắt
đầu từ 0. Vì vậy, nếu vòng lặp chạy một lần thì Iteration Terminal đưa ra kết
quả 0.Việc thực hiện vòng lặp có thể được xác định thông qua Conditional
Terminal. Tại Conditional Terminal, ta có thể chọn các điều kiện:
free4vn.org -ebooks software film game direct link
dientuvietnam.net

18



+ Stop if true.
+ Continue if true.
Việc xác định điều khiện để thực hiện vòng lặp tại Conditional
Terminal, rất quan trọng vì nếu không xác định đúng thì vòng lặp có thể rơi

vào vòng lặp vô hạn.
- Case & Sequence Structures.
Case Structure và Sequence Structure là các cấu trúc thực hiện một
SubDiagram bên trong nó. Case Structure thực hiện SubDiagram dựa trên
một giá trị đầu vào mà được bộ chọn gọi. Sequence Structure thực hiện các
SubDiagram một cách tuần tự theo thứ tự mà chúng xuất hiện.
Cả Case Structure và Sequence Structure có thể có nhiều SubDiagram,
nhưng chỉ có một SubDiagram được nhin thấy tại một thời điểm. Tại đường
viền bên trên của mỗi cấu trúc là một cửa sổ hiển thị SubDiagram mà gồm có
sơ đồ định danh (Diagram Identifer) ở giữa và nút tăng (Increment), nút giảm
(Decrement) ở hai bên. Diagram identifier chỉ ra SubDiagram hiện thời được
hiển thị. Đối với Case Structure thì diagram identifer là một danh sách các
giá trị để lựa chọn SubDiagram. Đối với Sequence Structure thì diagram
identifier là khung (Frame) trong Sequence (từ 0 tới n-1). Case Structure và
Sequence Structure đượcminh họa ở hình I.15.
Increment/Decrement
Buttons

Diagram
Identifier
Case Structure

Sequence Structure

Hình I.15:Case & Sequence Structure

free4vn.org -ebooks software film game direct link
dientuvietnam.net

19




Khi nhấn vào nút tăng (bên phải) hoặc nút giảm (bên trái) sẽ làm hiển
thị SubDiagram kế tiếp hoặc trước đó tương ứng. Nhấn nút tăng khi ở
SubDiagram cuối cùng làm hiển thị SubDiagram đầu tiên còn nhấn nút giảm
khi ở SubDiagram đầu tiên làm hiển thị SubDiagram cuối cùng.
Để truy cập Case Structure và Sequence Structure ta chọn Menu:
Functions Structures Case
Hoặc Functions Structures Sequence.
-Formula Node.
Formula Node là cấu
trúc dùng để thực hiện các
dãy công thức toán học bên
trong nó. Khi dùng Formula
Node ta có thể vào các công
thức trực tiếp trong một

Hình I.16: Formula Node

Block diagram nhờ chuột ở chế độ Labeling Tool. Để tạo các đầu vào và các
đầu ra, bấm vào đường viền của Formula Node và chọn Add Input (Add
Output), đánh vào tên biến vào bên trong hộp. Các công thức được đánh vào
bên trong đường viền của Formula Node, mỗi công thức trình bày phải kết
thúc bằng dấu chấm phẩy (;). Ví dụ minh họa Formula Node có dạng như
hình I.16.
Để truy cập Formula Node ta chọn:
Functions StructuresFormula Node
Các toán tử và hàm có thể dùng bên trong Formula Node được liệt kê
trong cửa sổ Help của Formula Node.

4.

SubVI và cách xây dựng SubVI:
a. Khái niệm SubVI:

free4vn.org -ebooks software film game direct link
dientuvietnam.net

20



Khi thiết kế chương trình trong LabView, ta thường chú ý thiết kế các
VI và xác định đầu vào và đầu ra cho chúng. Khi đó mỗi VI thực hiện
một chức năng xác định. Trong việc lập trình, các VI đó có thể được
sử dụng trong các Block Diagram của 1 VI khác ở mức độ cao hơn.
Khi đó VI cao hơn đó được gọi là một SubVI. Như vậy, một SubVI ta
có thể coi như một chương trình con trong các ngôn ngữ lập trình khác
vd C++Trong một chương trình labview, không bị hạn chế số SubVI
và mỗi SubVI không bị hạn chế việc gọi đến các SubVI. Với tiện ích
này, một chương trình trên Labview sẽ trở nên dễ hiểu, gọn gàng và dễ
gỡ rối hơn
b. Xây dựng SubVI:
Có hai cách đơn giản nhất để xây dựng một SubVI: tạo một SubVI từ
một VI và tạo một SubVI từ một phần của VI:
+ Tạo một SubVI từ một VI:
Các SubVI được sử dụng thông qua Icon và Connector của nó. Icon
của một VI là một biểu tượng đồ hoạ. Connector của một VI gán các
Control và Indicator cho các Terminal đầu vào và đầu ra. Muốn gọi
một VI từ Block Diagram của một VI khác, thì trước tiên ta phải tạo ra

Icon và Connector cho VI đó.
Để tạo Icon, ta bấm đúp chuột trái vào biểu tượng Icon ở góc bên
trái phía trên của Front Panel hoặc bấm chuột phải vào biểu tượng
Icon và chọn Edit Icon Sau khi chọn Edit Icon ta dụng các công
cụ ở bên trái cửa sổ để tạo ra kiểu Icon trong vùng soạn thảo điểm lớn.
Hình ảnh mặc định của Icon xuất hiện trong vùng soạn thảo. Phụ
thuộc vào dạng màn hình đang sử dụng, ta có thể thiết kế kiểu Icon ở
dạng đơn sắc, 16 màu hoặc 256 màu. Màu mặc định của Icon là Đen
Trắng (Black-White), nhưng có thể bấm vào mục chọn màu để chuyển
free4vn.org -ebooks software film game direct link
dientuvietnam.net

21



sang 16 màu hoặc 256 màu. Ta có thể copy một Icon màu thành một
Icon đen trắng, và ngược lại.

Hình I.17: Icon mặc định và Icon sau khi được tạo.
Xác định kiểu Connector Terminal: SubVI nhận dữ liệu tới và gửi
dữ liệu thông qua các Terminal ở trong ô vuông Connector của nó. Ta
có thể xác định các mối liên hệ bằng cách chọn số Terminal cần thiết
cho VI và gán một Front Panel Control hoặc Indicator cho mỗi
Terminal. Nếu Connector của VI chưa xuất hiện ở góc trái của Front
Panel thì ta chọn Show Connector từ menu của Icon. Connector thay
thế Icon ở góc bên phải phía trên của Front Panel. Kiểu Terminal ban
đầu được chọn cho VI có số các Terminal bên phải của Connector
bằng số Indicator trên Front Panel và số Terminal bên trái Connector
bằng số Control trên Front Panel. Nếu điều này không thể có được thì

phần mềm sẽ chọn kiểu Terminal phù hợp gần nhất. Mỗi hình chữ
nhật trong Connector sẽ tương ứng với một đầu vào hoặc đầu ra từ VI.
free4vn.org -ebooks software film game direct link
dientuvietnam.net

22



Ta có thể chọn một kiểu Terminal khác trong menu Pattern. Ta có thể
thêm hoặc loại bỏ bớt Terminal bằng cách chọn Add Terminal hoặc
chọn Remove Terminal.
Sau khi đã chọn được Connector Terminal Pattern ta phải gán các
Front Panel Control và Indicator cho các Terminal theo các bước sau:
Bấm vào một Terminal của Connector, sau đó bấm vào một
Front Panel Control hoặc Front Panel Indicator muốn gán cho Terminal đã
chọn. Một khung bảo xung quanh Front Panel của Control hoặc Indicator
được chọn xuất hiện và nhấp nháy.
Bấm vào một vùng mở củ Front Panel và bấm chuột, khung
nhấp nháy biến mất. Terminal và Front Panel Control hoặc Indicator đã chọn
được gắn với nhau.

Hình I.18: Cách thức tạo Connecter của một VI.
+ Tạo một SubVI từ một phần của VI:

free4vn.org -ebooks software film game direct link
dientuvietnam.net

23




Để biến đổi một phần của VI thành một SubVI được gọi từ VI khác,
chọn một phần trong Block Diagram của VI, sau đó chọn Edit\Create
SubVI. Phần đó sẽ tự động thành một SubVI. Các Control và Indicator
được tự động khai báo cho SubVI mới. SubVI mới tự động nối dây với
các đầu dây hiện có và một Icon của SubVI sẽ thay thế phần được
chọn trong Block Diagram của VI gốc. Đối với SubVI này ta có thể
điều chỉnh được Icon & connector tương tự như trên
5.

Xây dựng ứng dụng:

* Ví dụ minh hoạ xây dựng một VI cụ thể trên LabVIEW.
Ta xây dựng một VI dùng để mô phỏng việc đo nhiệt độ
(Temperature) và dung tích (Volume) của một bình nước (Tank) trong môi
trường LabVIEW.
Xây dựng Front Panel.
1. Mở một Front Panel mới bằng cách chọn File New. Nếu đã đóng
tất cả các Vis thì chọn New VI từ hộp thoại của LabVIEW.
2. Chọn một cái bình (Tank) từ Controls Numeric Palette và đặt nó
lên Front Panel.
3. Đánh Volume vào trong hộp nhãn của nó.
4. Dùng chuột ở chế độ Labeling Tool đặt thang chỉ thị của Tank để
hiển thị dung tích của Tank từ 0 đến 1000.
5. Đặt một nhiệt kế (Thermometer) từ ControlsNumeric palette lên
Front Panel. Đánh nhãn của nó là Temp và đặt thang chỉ thị của nó từ 0 đến
100.

free4vn.org -ebooks software film game direct link

dientuvietnam.net

24



6. Front panel của VI sẽ giống như minh hoạ dưới đây.

Hình I.19: Front Panel và Block Diagram của một VI
Xây dựng Block Diagram.
7. Mở Block diagram bằng cách chọn Windows Show Diagram
8. Đặt các đối tượng được chọn dưới đây từ Functions palette lên cửa
sổ Block Diagram.
Process Monitor (Functions Select a VI từ LabVIEW\ Activity
Directory)- Mô phỏng việc đọc một giá trị nhiệt độ và dung tích từ một
Sensor hoặc từ một bộ biến đổi.
Random Number Generator (Functions Numeric)- tạo ra một số
ngâu nhiên giữa 0 và 1.
Multiply Function (FunctionsNumeric)- thực hiện phép nhân
hai số. Trong ví dụ này chúng ta cần 2 bộ nhân.
Numeric Constant (FunctionsNumeric)- là hằng số. Dùng chuột
ở chế độ Labeling Tool đặt giá trị của nó. Trong ví dụ này ta cần hai hằng số.
free4vn.org -ebooks software film game direct link
dientuvietnam.net

25


×