1. Trang chủ
  2. » Thể loại khác

www.tinhgiac.com huong dan lap trinh labview

49 99 0
Tài liệu được quét OCR, nội dung có thể không chính xác

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 49
Dung lượng 11,91 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

www.tinhgiac.com huong dan lap trinh labview tài liệu, giáo án, bài giảng , luận văn, luận án, đồ án, bài tập lớn về tất...

Trang 1

LOI NOI DAU Trong thời đại ngày nay, khoa học kỹ thuật rất là phát triển Các công cụ

hỗ trợ người làm khoa học rất nhiều đặc biệt là công cụ máy tính Việc sử dụng công cụ máy tính số sẽ giảm thiểu được những công việc nặng nhọc không cần thiết đối với người kỹ sư đồng thời công cụ máy tính số cũng giảm thiểu những sai số của tín hiệu Đồng thời công cụ máy tính số cũng giúp cho người sử dụng

có thể thuận tiện trong việc quan sát tín hiệu của các thiết bị

Hiện nay, để ghép nối máy tính với thiết bị bên ngoài có thể dùng rất

nhiều chuẩn quốc tế như GPIB, VXI Tuy nhiên các chuân đó mặc dù rất mạnh

nhưng lại có nhược điểm là giá thành rất lớn Chuẩn ghép nối RS 232 là một

chuẩn ghép nối tuy không hiện đại nhưng lại có giá thành rẻ Hơn nữa nó là một chuẩn dễ sử dụng và có sẵn trong thực tế Hầu như thiết bị nào cũng được hỗ trợ chuẩn RS 232

Ngôn ngữ lập trình LabVIEW là một ngôn ngữ hỗ trợ mạnh trong lĩnh vực thu thập và xử lý tín hiệu Thông qua ngôn ngữ lập trình LabVIEW người làm việc có thể tránh được những công việc không cần thiết như tổ chức hệ thống Qua đó người dùng có thể nâng cao được hiệu quả công việc

Được sự động viên hướng dẫn của các thầy giáo trong khoa kỹ thuật điều khiển và đặc biệt là sự hướng dẫn, giúp đỡ tận tình của thây giáo-tiến sỹ khoa

học Nguyễn Công Định chúng em mạnh dạn nhận đề tài này VỚI mong muốn

góp một phần công sức nhỏ bé của mình vào việc khai thác và từng bước làm chủ ngôn ngữ lập trình đồ hoạ LabVIEW trong lĩnh vực đo lường-điều khiến

Đề tài giải quyết các vấn đề sau:

- _ Chương 1: Kỹ thuật lập trình trên LabVIEW

- Chương 2: Thiết bị đo thông minh HP 34970A

- _ Chương 3: Xây dựng các bài thí nghiệm trên bệ thí nghiệm máy điện

Do hạn chê về thời gian và khả năng nên đê tài còn nhiêu vân đề cân bô xung Em rât mong được sự chỉ bảo của các thây giáo và các bạn học viên đê đê tài được hoàn chỉnh hơn

Xin chân thành cảm ơn

Các tác giả

Trang 2

VNArmy

Chuong 1

GIOI THIEU VE NGON NGU LAP TRINH LABVIEW

§1.1 KY THUAT LAP TRINH CO BAN TREN LABVIEW

I LabVIEW la gi?

LabVIEW (Laboratory Virtual Instrument Engineering Workbench) la một môi trường phát triển chương trình, rất giỗng môi trường phát triển của C hay Basic và National Instrument Lab Windows/CVI LabVIEW khác với các ứng dụng đó ở một điểm rất quan trọng Hệ thống lập trình khác sử dụng ngôn ngữ text-based để tạo các dòng mã lệnh, trong khi LabVIEW sử đụng ngôn ngữ lập trình đồ hoạ,G, để tạo các chương trình dưới dạng sơ đồ khối

II Thé manh cia LabVIEW

LabVIEW, giéng như C hay Basic, là một hệ thống lập trình đa dụng với các thư viện lớn chứa các hàm cho bất kỳ nhiệm vụ lập trình nào LabVIEW cũng chứa các công cụ phát triển chương trình thông thường nên bạn có thể đặt điểm gãy (break point), lam sông động quá trình thực hiện (highlight excution)

để xem dữ liệu truyền trong chương trình như thế nào vả thực hiện từng bước chương trình để tiến hành gỡ rôi và phát triển chương trình dễ dàng hơn

LabVIEW cung cấp khả năng xây dựng những chương trình cho các hệ thống khoa học và kĩ thuật LabVIEW cung cấp cho bạn một ngôn ngữ lập trình linh hoạt và có tính khả thi

LabVIEW cung cấp cách nhanh hơn để lập trình với các thiết bị và các hệ thống thu thập dữ liệu Với việc dùng LabVIEW, bạn có giảm bớt thời gian phát triển hệ thống và tăng hiệu suất làm việc LabVIEW cung cấp những công cụ mạnh cho việc ghép nối với các các thiết bị vật lý bên ngoài mà không phải qua phân thiết kế hệ thông một cách phức tạp như trong các ngôn ngữ khác

LabVIEW là ngôn ngữ lập trình đồ hoạ nên rất trực quan và dễ sử dụng LabVIEW chứa các thư viện cho việc thu nhận dữ liệu, điều khiến thiết bị GPIB

và Serial, phân tích dữ liệu, biểu diễn dữ liệu và cất giữ dữ liệu Với một thư

viện phong phú cho các hệ thống điều khiển, LabVIEW có thể ứng dụng mạnh

trong việc lập trình điều khiển hệ thống

Ill Các thanh phan cia LabVIEW

LabVIEW 1a mot hé thống lập trình đa dụng nhưng nó còn chứa các thư viện của các hàm và các công cụ phát triển được thiết kế đặc biệt cho việc thu

nhận dữ liệu và điều khiến thiết bị Chương trình LabVIEW được gọi là các thiết

bị ảo (Virtual Instrument-V]) bởi vì sự hiển thị và vận hành có thể làm giả các

thiết bị thực Tuy nhiên, các VI tương tự như các hàm của các ngôn ngữ lập

trình thông thường

Một VI bao gồm một giao diện với người sử dụng, một đồ hình truyền dữ liệu mả phục vụ như là mã nguôn và biểu tượng kết nỗi ( icon conection) dé cho phép có thể gọi được từ các VI cấp cao Chi tiết hơn các VI có cầu trúc như sau:

Trang 3

e Giao diện với người dùng của một VI được goi 1a Front Panel boi vi no

mô phỏng panel của một thiết bị vật lý Front Panel có thể bao gồm các nút

bắm, nút xoay, đồ thị và các bộ điều khiến (control) và chỉ thi (Indicator)

e VỊ nhận các lệnh từ Block Diagram mà bạn tạo nên từ ngôn ngữ G Block Diagram là sự giải quyết bằng hình ảnh cho một vấn đề lập trình Block Diagram cũng là mã nguồn cho VI của ban

e VI có tính phân cấp vả modul Bạn có thể dùng chúng như là những VI cấp cao hay như những chương trình con cùng với những chương trình khác Một VI được gan với một VỊ khác được gọi là subVI lcon và conector của một VI làm việc như một danh sách các tham số đồ hoạ để

các VI khác có thể gửi dữ liệu đến subVI

Với những đặc điểm trên, LabVIEW khuyến khích và gắn với khái niệm

lập trình modul Bạn chia một ứng dụng thành một loạt các nhiệm vụ con đơn

giản Xây dựng VI để hoàn thảnh mỗi nhiệm vụ con và sau đó tổ hợp những VI

đó trên Block Diagram khác để hoàn thành nhiệm vụ lớn Cuối cùng, VI mức

cao nhất bao gồm một sự tập hợp lại các sub VI mả biểu diễn hàm ứng dụng

Vì bạn có thê thực hiện mỗi subVI bởi chính nó, riêng rẽ với phần còn lại

của ứng dụng, nên việc gỡ roi có thể trở nên đễ dàng hơn Hơn nữa, nhiễu subVI cấp thập thường thực thi những nhiệm vụ mà chung cho nhiều ứng dụng nên bạn

có thể phát triển một tập đặc biệt của các subVI cho ứng dụng mà bạn xây dựng Phần sau đây sẽ giải thích rõ hơn về Front Panel, Block Diagram, icon, conector

và các đặc điểm liên quan khác

1 Front Panel

Hinh 1-1 minh hoa mot Front Panel trong LabVIEW Giao diện sử dụng của một subVI thường giống giao diện sử dụng của các thiết bị vật lí Nó được goi la Front Panel

i> Temp % Vol.vi

File Edit Operate Project YWindows Help

[hey #4 Il | |13gt Application Font a ma =| Te ri“ «|

Indicator mô phỏng các thiết bị đầu ra của máy để hiển thị các dữ liệu thu được

hay được phát ra tr Block Diagram cua VI

Cé thé dat cdc control hay indicator 1én Front Panel thong qua bang động Control

Trang 4

VNArmy

2 Block Diagram

Ban co thé chuyén tir Front Panel sang Block Diagram bang cach chon Windows>>Show diagram từ bảng thực đơn Cửa sô Diagram năm giữ Block Diagram của VI là mã nguồn đồ hoạ cho VI Xây dung Block Diagram bang cách nỗi với nhau các đối tượng gửi hay nhận dữ liệu, thực hiện các hàm cụ thể, điều khiển quá trình truyền Phần Diagram thể hiện những đối tượng chính của chương trình - các node, các terminal, các dây nỗi Hình 1-2 minh hoạ một Block Diagram

l‡> Temp $ Vol.vi Diagiam mm

File Edit Operate Project ! Window's Help - =

Lê] <3: [§] bo|#|o2 | [r4 Application Fort “#|[§m >Ï[5E ~]J[#®-+]

e Node (Nut)

Node là các phân tử thực hiện chương trình Chúng tương tự như các câu lệnh, các toán tử, các hàm và các thủ tục trong các ngôn ngữ thông thường G có một thư viện lớn của các hàm toán học so sánh, chuyền đỗi, Vào ra V.V

Có sáu kiểu node chính là hàm, subVI, cấu trúc, Code Interface Node

(CIN) , node công thức và Attibute Node

© Wire ( Déy noi)

Wire là đường dẫn dữ liệu giữa các terminal nguồn va terminal dich Ban không thể nối một terminal nguồn với một terminal nguồn cũng như

không được nỗi một terminal đích với một terminal đích khác Tuy nhiên

một terminal nguồn có thể nỗi với một vài terminal đích Mỗi đường dẫn

có một kiểu và màu riêng, phụ thuộc vào giá trị mà truyền qua dây nối

e Data flow ( Luông đữ liệu)

Data flow là nguyên lý mà điều khiển sự thực hiện chương trình của G

Một node thực hiện khi tất cả các đầu vào đữ liệu đã đến; node đó lại cung

cấp dữ liệu tất cả các đàu ra của nó khi nó kết thúc việc thực hiện; dữ liệu

Trang 5

được gửi ngay lập tức từ nguồn tới đích Data flow trái ngược với phương

thức truyền trong các ngôn ngữ truyền thông Trong các ngôn ngữ đó, các

lẹnh được thực hiện tuần tự theo thứ tự mà chúng được viết

3 Icon va connector

Khi m6t icon cua mot VI dugc dat lén diagram cua mét VỊ khác, nó trở

thanh mot subVI Cac control va indicator cua mot subVI nhan dt liéu va tra

lại dữ liệu cho diagram cua VI go1

Connector la m6t tap hgp cac terminal ma tương ứng với các control và indicator cua subVI Icon hoac là 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ó

Mỗi VI đều có một icon mặc định ở góc phải phía trên cửa số Front Panel

va Block Diagram Hinh sau minh hoa mot icon mac dinh

fem et ee eT eet

File Edit Operate Project Windows Help

oY [es 5 II | [w] lenlff]:-z] | Spt Application Fort | Fol |:na_*| [és =]

Hinh 1-3 Icon mac dinh

Tất cả các VI đều có connector mà có thể được truy nhập vào bằng cách chon Show connector từ menu pop-up ở ô Icon trên Front Panel Khi bạn gọi

connector lần đầu tiên, bạn sẽ thấy một mẫu connector Bạn có thể chon mẫu

connector khác nếu bạn muốn Thông thường thì connector có một terminal cho mỗi control và indicator trên Front Panel nhưng bạn có thê gán lên đến 28 terminal

4 Cac bang dong trong LabVIEW

* Bang Control g Fein s xi| |

Hình 1-4 Bang Controls

Bang Control 14 bang d6ng chi co d6i véi Front Panel Dé dat cdc control

va indicator lén Front Panel cé thé ding bang Control Nếu bảng không hiện có thé chon Windows>>Show Control palette hoặc là kích chuột phải lên một vùng trồng trên Front Panel Hình 1-4 minh hoạ bảng động Control

Bang Control gém cac control va indicator sau:

- Kiểu số học (hình 1-5) bao gồm các control và indicator kiểu số, kiểu slide,

kiểu rotate, kiểu ring

Trang 6

Hinh 1-5 Numeric Hinh 1-6 Boolean

- Kiéu chudi (hinh 1-7) chita cdc control, indicator va constant kiéu chudi

- List va ring (hinh 1-8)

- Mang va cluster (hình 1-9) chứa các vỏ kiểu mang va cluster, cdc indicator

Hinh 1-7 String Hinh 1-8 List Hinh 1-9 Array Hinh 1-10 Graph

& Ring & Cluster & Chart

- Path va refnum (hinh 1-11)

Trang 7

Hinh 1-13 Bang Functions

Để đặt các hàm và các node của ngôn ngữ lập trình G lên Block Diagram bạn có thể chọn chúng từ bảng Functions Để cho hiện bảng Functions chọn Windows>>Show Functfion palette Một cách khác để chọn phần tử của bảng Functions là bắm chuột phải lên vùng trống ở trên Block Diagram Hình 1-13 minh hoa bang Functions trong LabVIEW

Bang Functions chira cac ham va cac node sau:

- Numeric (hinh 1-14) chtra cdc ham 1am viéc trén cdc phan tt kiéu numeric Ngoài ra nó còn chứa các hăng số như pi, e

- Boolean (hinh 1-15) chtta céc ham làm việc trên các phần tử kiểu boolean

như and, or, xor, not

- _ Các hảm quan hệ hình (1-16) như lớn hơn, nhỏ hơn, băng, khác

[x) Jv Je {> Coal pea ||| E> > [E> E>

Hinh 1-15 Ham logi in - Liam 1OĐIC D> GE b> p> pone

Hinh 1-16 Ham quan hé

- Structure (hinh 1-17) chwa cac phan tir diéu khién luéng dé liéu nhu vòng

for, while, cau tric case, sequence va formula node

Trang 8

VNArmy

Ngoài ra bảng Funcflons còn chứa các hàm làm việc trên dữ liệu như các ham xt ly mang (Functions>>Array), xu ly cluster (Functions>>Cluster), xu

lý chuỗi (Funetions>>String), vào ra với tệp (Functions>>UO File) và các thư

viện xử lý đa dạng như thư viện xử lý tin hiéu (Functions>>Signal Processing), toán học (Functions>>Mathematies), vào ra với thiết bị (Functions>> Instrument I/O)

Hinh 1-18 Bang Tools

Mỗi công cụ trong bảng là một trạng thái hoạt động đặc biệt của con trỏ chuột Các công cụ này được dùng để xác định hoạt động xảy ra khi kích chuột trên Front Panel hay Block Diagram Để lẫy một công cụ, kích chuột vảo công

cụ đó ở trên bảng công cụ Tools Palette Bảng công cụ có cho cả Front Panel và Block Diagram Nếu nó đang ân thì có thể cho hiện bằng cách chọn Windows>>Show Tools Palette Các công cụ trong bảng bao gồm:

Operating tool - thay déi gid tri cua control va chon phan van ban gan

vai control

Positioning tool - chon vi tri, thay đôi kích thước và chọn đối tượng

Labeling tool - soạn thảo phan van ban va tao cac label tu do

Wiring tool - néi các đối tượng với nhau trên Block Diagram

Obiect Pop-up Menu tool - mở thực đơn pop-up của một đỗi tượng Scroll tool - cuộn cửa sô mà không cân thanh cuôn

Breakpoint tool - dat diém gay trên các VI, hàm, vòng lặp, câu trúc

Trang 9

5 Các bước soạn thảo m6t VI trong LabVIEW

l1)Tạo giao điện sử dụng

Có thể tạo giao diện sử dụng đồ hoạ trên Front Panel băng cách lấy các control va indicator từ bang Control

a) Tạo một VI mới băng cách chọn New VI từ hộp hội thoại LabVIEW hoặc từ File>>New

b) Dat cdc control va indicator lén Front Panel dé tao giao diện sử dung cho chương trình

2) Tạo mã nguôn và chạy chương trình

Có thể tạo mã nguồn cho chương trình bằng cách xây dựng Block Diagram cho VI Để tạo các phần tử của Block Diagram có thé dùng bảng Functions

a) Chuyén ti Front Panel sang Block Diagram bằng cách chọn trong Windows>> Show Diagram

b) Lấy các đối tượng cần thiết từ trong bảng Functions dé đặt lên Block Diagram

c) Sử dụng công cụ Wiring tool để nối các phần tử trên Block Diagram với nhau Việc này sẽ xác định data flow của chương trình

d) Quay trở lại Front Panel và kích chuột vào nút Run trên thanh công cụ Việc dừng chương trình có thể lập trình hoặc kích vào nút Abort Excution trên thanh công cụ

3) Lưu chương trình vao đïa

Lưu chương trình vào đĩa bằng cách vào mục Save hoặc Save as trong thực đơn File

Vị dụ soạn thao mét VI don gidn trong LabVIEW

Bước 1: Thiết kế giao diện sử dụng

a) Mở một VI mới bằng cách chọn New VI từ hộp hội thoại hoặc chọn File>> New VI

b) Đặt các control va indicator lén Front Panel

- Chon Tank tt Control>>Numeric va dat lén Front Panel

- Danh Volume vao hép label text va kich chudt vao bat kì dau trén Front Panel

- _ Thay đổi thang đo của Tank từ 0 đến 1000 băng cách:

+ Sử dụng công cụ label kích vào 70.00 ở trên Tank để làm nỗi nó

+ Đánh 1000 vào kích ở vị trí bất kì trên Front Panel Thang đo sẽ tự động thay đổi mức tăng trung gian

- Dat Thermometer cing tr Control >>Numeric lên Front Panel Đặt tên

no 7emp và thay đôi thang đo từ 0 đến 100

Trang 10

FO0.0-

200.0- 0.0-

Hình 1-19 Giao diện sử dụng chương trình

Bước 2: Tạo mã nguôn cho chương trình

a) Đặt các đôi tượng sau lên Block Diagram

Fray Random Number (lay ti Functions>>Numeric) tao ra các số ngẫu

[=> Ham nhan (lay từ Functions>> Numeric) thực hiện nhân hai số và trả lại

kết quả Chương trình này sử dụng 2 hàm nhân Có thể tạo ra 2 hàm này bằng cách lẫy 2 lần từ bảng hoặc sao chép từ một hàm va dan dé tao ra Hằng số (lấy từ Functions>>Numerie): tạo ra 2 cái Sử dụng công cụ label

để thay đối giá trị của nó thành 70.00

b) Sử dụng công cụ Wiring để nối các đối tượng theo như sơ đồ khối hình 1-20 c) An vao nit Run trên thanh công cụ để thực hiện chương trình Quay vé Front Panel dé xem két qua Va 4n vao nut Abort Excution dé dimg chuong trinh

Bước3: Vào thực đơn File>>Save as để lưu chương trình với tên Temp & Vol.vi

Trang 11

6 Chuong trinh con trong LabVIEW

a) Thiét ké phan cap

Các chương trình con trong LabVIEW cũng giống như các chương trình con trong các ngôn ngữ lập trình khác Nó là một VI được dùng trong Block Diagram của một VI khác được gọi là subVI

Khi bạn tạo một subVI là bạn đang ở VI mức cao nhất và định nghĩa các đầu vào và đầu ra cho ứng dụng Sau đó, cầu trúc các subVI để thực hiện các hoạt động cần thiết trên dữ liệu khi nó chảy trong Block Diagram Nếu một Block Diagram có một số lượng lớn các biểu tượng, tập hợp chúng vào một VI cấp thấp để Block Diagram đơn giản hơn Sự tiếp cận theo module khiến các ứng dụng để dàng gỡ rồi, hiểu và bảo dưỡng

b) Tao subVI tu VI

Dé gọi một VI từ một Block Diagram của một VỊ khác, trước hết cần phải

tạo biểu tượng và đầu nói cho nó

* Tạo biểu tượng của VI

Mở VI mà sẽ tạo thành subVI cho VI khác

Để tạo biểu tượng của VỊ cần cho hiện cửa sô Ieon Editor Có thể gol cua

sô này băng cách kích đúp chuột vào ô biểu tượng ở góc bên phải hoặc kích chuột phải và chọn mục Edit Ieon Khi đó cửa số sẽ hiện lên như hình 1-21

Hình 1-21 Cửa số Edit Icon

Sử dụng các công cụ ở bên trái biểu tượng để tạo biểu tượng theo y muốn Có thé chon OK để lưu biểu tượng vả quay về Front Panel hay Cancel dé quay vé Front Panel mà không lưu bat ctr thay déi nao

* Chon mau dau noi

Trang 12

VNArmy

Để có thể nhận hay truyền đữ liệu bạn cần phải có các conector LabVIEW có rất nhiều mẫu conector mà có thể chọn bằng cách pop- up trên conector và chọn Paterns từ thực đơn pop-up sẽ được một bảng các mâu của conector như hình 1-22

Nếu muốn thêm một terminal vào mẫu, đưa con trỏ đến chỗ muốn thêm, pop-up va chon Add Terminal Nếu muốn bỏ một terminal, pop-up trên terminal muén bd va chon Remove Terminal Néu muén thay đổi sự sắp xếp không gian thì có thể chọn một trong các lệnh sau: Flip Horizontal, Flip Vertical hoac Rotage 90 degrees

* Gan cac terminal cho cac control va indicator

Bước 1: Kích chuột vào một terminal cla conector Céng cụ tự động chuyển thành công cụ Wire Terminal chuyển thành màu đen

Bước 2: Kích chuột vào control hay indicator trén Front Panel tuong tng voi terminal đã chọn ở bước trước Một đường nét đứt chuyển động bao quanh control hay indicator (như hình 1-23) để báo răng nó đang được chọn

Bước 3: Kích chuột vào một vùng trồng trên Front Panel Terminal được chọn

chuyên thành màu theo kiểu đữ liệu của control hay Indicator được nối thông báo răng terminal đã được gán, nếu terminal là màu trắng tức là đã nỗi sal

Bước 4: Lặp lại bước 1 va 2 voi cdc control va indicator ban muén ndi

c) Tao cdc subVI tir mét phan cua VI

Có thé chuyển đổi một phần của một VI thành một SubVI để gọi từ VI

khác Chọn một phan cua VI va chon Edit>>Creat SubVI Cac control va

indicator duoc tu dong tao cho SubVI mdi, SubVI duoc ty dong nội với các dây nối đang có và một biểu tượng thay thế cho phần được chọn của Block Diagram của VI gốc Tạo một Sub VI từ một phần của VI giống như việc bỏ một phần của SubVI va thay thé bang một Sub VI ngoại trừ các hoạt động sau:

- Không một terminal của Front Panel nào mà được chứa trong phần đó bị

bỏ đi khỏi VI gọi Thay vào đó, các terminal đó được giữ lại và được nỗi với SubVI

- Tất cả các thuộc tính trong phần chọn giữ lại trong VI gọi và được nối với SubVI Những thuộc tính được chọn bị thay thế bởi các terminal của Front Panel trong SubVI ma biéu diễn như các kênh cho việc truyền gia tri của một thudc tinh, bén trong hoadc ngoai cua SubVI

- Khi phân chọn chứa một biến địa phương,nó được thay thế bởi terminal của Front Panel trong SubVI Biến địa phương được giữ lại trên VI gọi và

Trang 13

được nỗi với SubVI Khi có nhiều hơn một trường hợp của các biến địa phương giống nhau, trường hợp đầu trở thành terminal của Front Panel vả phân còn lại trở thành biến địa phương trong SubVI Chỉ có một trường hợp của biến địa phương được giữ lại trên VI gọi còn phan con lai bi bo di va dugc chuyén dén SubVI

- Bởi các biến địa phương có thể cả đọc và ghi từ một terminal của Front Panel, khi các trường hợp của các biến địa phương cả đọc và ghi được chọn, hai đối tượng của Front Panel được tạo - một gửi gia tri cua biến địa phương vào SubVI, một gửi giá trị của biến địa phương ra khỏi SubVI Các terminal của Front Panel được tạo dé biểu diễn biến địa phương đọc (ghi) sẽ có hậu tô read (wrIte) thêm vào tên của nó

7 Thực hiện gỡ rối trong LabVIEW

Một VI không thể biên dịch hoặc chạy nếu nó bị gãy Bình thường, VI bị

gãy trong khi đang tạo hoặc soạn nó cho tới khi nối tất cả các biểu tượng trong Block Diagram Nếu nó bị gãy khi đã hoàn thàn, thử chọn Remove Bad Wires

từ thực đơn Edit Thông thường việc nay sữa chữa một VI gãy

Khi VI không thể thực hiện được, một mỗi tên gãy hiện lên thay cho nút Run Để liệt kê các lỗi, kích chuột vào nút Run gãy Kích vào một trong các lỗi được liệt kê và sau đó kích vào Find để hiện đối tượng hoặc terminal mà đã thông báo lỗi

_#fEli€ln]iS]is4s

Khi VI thực hiện thanh công cụ sẽ như hình trên Với mục đích gỡ Tôi, bạn có thể muốn thực hiện Block Diagram từng node một Việc nảy gọi là single-stepping Dé cho kha năng chạy từng bước, kích vào nút StepInfo hay StepOver Nếu node là một cấu trúc hoặc VI thì có thể chọn StepOver để thực hiện node nhưng không thực hiện từng bước qua node Để thực hiện từng bước qua node là cầu trúc hay Sub VI chọn nút StepInfo

Việc thực hiện từng bước thường đi với việc sử dụng Highlight Excution

dé quan sat su chay cua di liéu trong Block Diagram Si dung Highlight Excution bang cach kich chudt vao nut Highlight Excution St dung Highlight Excution khiến cho VI trông sông động hơn

Một cách nữa để xem dữ liệu trong Block Diagram là sử dụng điểm dò (Probe) Co thé dat diém dò ở dây nối đầu ra của một node nhờ công cụ Probe trong bảng công cụ Tools hoặc kích chuột phải trên dây nối tại điểm muốn đặt điểm dò và chọn Probe từ thực đơn pop-up

IV Cac cau tric trong LabVIEW

Cấu trúc là các 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 GŒ có nắm cấu tric: While loop, For loop, Case,

Sequence va Formula Node

1 Vong While

Vòng While là một cấu trúc mà lặp lại một phần của mã cho tới khi một

điều kiện được gặp Nó có thể tương đương như vòng Do-While hoặc Repeat Until trong các ngôn ngữ lập trình truyền thông Vòng While là một hộp có kích

thước thay đối được Nó thực hiện đoạn mã ở trong nó cho tới khi giá trị kiểu

Boolean được gửi đến terminal điều kiện (một terminal đầu vào) là False VI

Trang 14

VNArmy

kiểm tra điều kiện ở cuỗi mỗi lần lặp, do đó vòng While luôn thực hiện it nhất một lần Terminal lần lặp là một terminal đầu ra, nó gửi ra số lần vòng lặp đã thực Tuy nhiên vòng lặp luôn được đếm từ 0 nên nếu vòng lặp chỉ thực hiện một lần, đầu terminal lặp lại sẽ xuất ra giá trị 0

Để dit vong While lén Block Diagram vao Function>>Structures Vong While không đặt lên Block Diagram ngay mà thay vào đó ta có thé dat vi tri va

thay đôi kích thước của nó Đề thực hiện, kích chuột vào khu vực phía trên bên

trái của những terminal mà ta muốn đặt trong vòng Sau đó kéo chuột để nó bao các terminal đó và thả ra Nếu muốn đặt một đối tượng vào trong vòng While thì

phải kéo đối tượng vào vòng While chứ không được kéo vòng While đè lên đối

tượng Đây cũng là nguyên tắc chung đối với các structure trong LabVIEW

* Thanh ghi dich

Thanh ghi dịch (có sẵn đối với vòng While và For) chuyến các giá trị từ một lần lặp đến lần lặp kế tiếp Có thể tạo thanh ghi dịch bằng cách pop-up trên viền trái hoặc phải của vòng lặp và chọn Add Shift Register

Thanh ghi dịch bao gôm một cặp terminal đối diện nhau ở trên mặt đứng của viên vòng lặp Terminal bên phải lưu trữ giư liệu khi hoàn thành một lần lặp

Dữ liệu dịch chuyên đến cuối mỗi lần lặp và chuyển sang terminal trái ở đầu của

lần lặp kế tiếp Mỗi thanh ghi dịch có thể lưu trữ bất kì kiêu đữ liệu nào Thanh ghi dịch tự động thích ứng với kiểu dữ liệu của đối tượng đầu tiên nôi vào thanh

ghi dịch Hình 2-25 mình hoạ cách dùng thanh ghi dịch trong vòng lặp

Trang 15

Đê thêm thanh ghi dịch, kích chuột phải vào terminal ở bên phải hoặc trái và

- Giá trị trước Giá trị mới

Numerical Output

LiƑ—>

Hình 1-26 Vòng lặp For Vòng For cũng thực hiện lặp một đoạn mã như vòng While nhưng số lần lặp lại được xác định trước Vòng For cũng giống như vòng For trong các ngôn ngữ lập trình truyền thống Nó tương đương với đoạn giả mã sau:

For i=1 to N-1

Excute Diagram inside The Loop

Theo đó thì vòng For gém 2 terminal nhu minh hoa ở hình 1-26 Trong

đó

BÏỈ Count terminal là một terminal vào xác định số lần lặp

Li] Iteration terminal la terminal ra, đếm số lần phép lặp đã thực hiện

Để đặt vòng For lên Block Diagram cũng thực hiện như vòng While

3 Case & Sequence Structure

Cấu tric Case va Sequence co thể có hai hoặc nhiều đồ hình con (subdiagram) mà chỉ một trong sô chúng thực hiện khi cầu trúc thực hiện Tại đỉnh của viền mỗi cầu trúc có một cửa số biểu diễn subdiagram Cửa số nảy gồm một mục nhận dạng đồ hình (diagram identifier) ở giữa và các nút tăng giảm ở

mỗi cạnh Đối với cầu trúc Case, phân điagram identifier là một danh sách các

Trang 16

VNArmy , giá tri dé chon subdiagram, con voi Sequence là sô khung theo trình tự (0 đên n-1) Hinh 1-27 minh hoa cau tric Case va Sequence

một cầu tric Case

Với câu trúc Case bạn có thê thực hiện:

- Chỉ định danh sách hoặc dãy của các giá trị selector tương ứng với mỗi case

- Su dụng một s6 nguyên, một số Boolean, một chuỗi hay một kiểu định nghĩa như một selector

-_ Chỉ định một case mặc định (hoặc hoạt động)

-_ Sắp các case theo giá trị selector đầu tiên

Đề tham khảo về cấu trúc Case có thê tham khảo Online help cua nó b) Cấu trúc Sequence

Cầu trúc Sequence trông giỗng một khung phim thực hiện các subdiagram hay các khung (frame) bên trong nó một cách tuân tự Trong các ngôn ngữ lập trình truyền thống, các lệnh được thực hiện theo thứ tự được viết ra nhưng trong LabVIEW chương trình được thực hiện theo nguyên tắc dataflow tức là các node sẽ thực hiện khi tất cả các đầu vào của nó đã sẵn sàng Tuy nhiên thỉnh

thoảng, vẫn cần phải thực hiện một node trước một node khác Để điều khiển

việc nảy G sử dụng cấu trúc Sequence như một phương thức để thực hiện các node theo thứ tự Trong cấu trúc này G sẽ thực hiện các node trong sơ đồ của frame 0 rồi đến frame1, cứ thế cho tới frame cuối cùng thì đữ liệu mới được gửi

Ta ngoài

Trang 17

Dé thém frame vao cau tric, kich chudt phai vao viền của frame va chon Add Frame After hoặc Add Frame Before Hình 1-29 minh hoạ cấu trúc Sequence

4 Formula node

Hình 1-30 minh hoạ một node công thức trong LabVIEW Với node công thức, ta có thể nhập vào một hay nhiều công thức đơn giản hay phức tạp thay vì tạo những sơ đồ con công kènh Đề nhập công thức vào sử dụng Label tool Cần chú ý rằng cuối mỗi công thức phải có dấu chấm phảy (;) Để tạo các đầu vào hay đầu ra cho node công thức, kích chuột phải vào biên của node vả chọn Add

Input hoặc Add Ouput và đánh tên biến vào Các biến phân biệt chữ thường

với chữ hoa

Hình 1-30 Formula Node

Trang 18

Hình 1-31 minh hoa Front Panel va Block Diagram cua mot chuong trinh

su dung các phan tu diéu khién luong trong LabVIEW

IV Mang

1 Khai niém chung

Mảng là tập hợp của các phần tử dữ liệu có cùng kiểu Mảng có kích

thước có thể thay đôi Máng có thể có một hoặc nhiều chiều và lên đến 2”'-1

phan tử mỗi chiều Có thể truy cập vảo mỗi phân tử qua chỉ số của nó Chỉ số

của các phần tử trong mảng từ 0 đến n-1 với n là số phần tử của mảng Phần tử

đầu tiên của máng có chỉ số 0, phần tử thứ 2 có chỉ số 1

Trang 19

2 Tao cac mang

Co thé tao mang ctia cdc control hay indicator trén Front Panel bang cach lây vo mang tir Control >>Array & Cluster dat 1én Front Panel Sau d6 chon đôi tượng cần tạo mảng (chang han kiểu Boolean) dat vao trong vo mang Khi

đó sẽ tạo ra mảng của các đối tượng kiểu Boolean Tương tự nếu ta chọn vỏ mảng trong Funetions >> Array rồi đặt đối tượng vào ta cũng có thể tạo ra mang các hằng số theo kiểu vừa chọn ở trên Block Diagram

3 Tự động ghỉ chí mục

Các vòng lặp For và While có thể ghi chỉ mục và tích luỹ các mảng ở biên của nó một cách tự động Khả năng tích luỹ này được gọi là auío-indexing Khi cho phép khả năng này và nỗi một mảng hoặc một chiều bất kì của mảng vào đường hằm đầu vào ở biên vòng lặp thì các thành phần của mảng đó nạp vào vòng lặp mỗi lần một thành phân, bắt đầu từ thành phần đầu tiên Vòng lặp đặt chỉ mục cho cdc phan tử vô hướng từ mảng một chiều và mảng một chiêu từ mang hai chiều Tương tự như đối với đường hầm đầu ra, vòng lặp sẽ tích luỹ các phần tử vào mảng một chiều và mảng một chiều vào mảng hai chiều

có cùng n chiều vả các phần tử element phải có n-1 chiêu

b) Initialize Array

element ==> El]— initislized

dimension size a HH n-dimension array

f eT STI civ Ï vedas

wit TÊN CiờN Size att HH =!

"I1: RI§ hit

làirgth ¬ HH " ||

Trang 20

VNArmy

Ham Array Subset được dùng để trích ra một phần của mảng hoặc ma tran Ham nay sẽ trả lại một phân của mảng bát đâu tt vi tri index va bao gdm length phân tử Chú ý răng chỉ mục của mảng bắt đầu từ 0

Dé cat mảng thực hiện theo các bước sau:

- Kéo hàm Index Array để nó chứa thêm các đầu vào index Số các đầu vào này bằng với số chiều của mảng đầu vào

- Số các chiều của phần lấy ra bằng với số các đầu vào index ở chế độ Disable Indexing Muốn chọn Disable Indexing thì kích chuột phải vào đầu vao index va chọn Disable Indexing từ thực đơn pop-up Ví dụ, muốn lẫy ra phân tử vô hướng thì không chọn cho đầu vào index nào, muốn lấy ra mang một chiều thì cho một đầu vào index ở chế độ Disable Indexing, muốn lấy ra mang hai chiều thì cho hai đầu vào index ở chế độ Disable Indexing

-_ Các đầu vào index còn lại được nối với giá trị sẽ xác định giá trỊ của chiều can lay ra Ví dụ đôi với máng 2 chiều nếu nối đầu vào này với 2 thì sẽ lẫy ra được mảng 1 chiều là cột hoặc hàng tuỳ vào đầu vào ở chế độ Disable Indexing là thứ nhất hay thứ hai

Để tham khảo thêm về các hàm xử lý mảng xem thêm trong Online Help

|2IU0I25210/01/5,L8 Ms + 1i) ÏÊg

File Edit Operate Project VVindows Help Eñ

call

~ lạu|ff|o#] [LSet hppicaton Font — +] am x|[£® ~|

Trang 21

Hình 1-32 minh hoạ về việc sử dụng mang và các hàm xử lý mang trong LabVIEW Ham Build Array x4y dựng một mảng 3 chiều từ 3 mảng 2 chiều Ham Index Array lay mang 2 chiéu ra từ mảng 3 chiều

V Cluster

1.Khái niệm chung

Cluster là một kiểu đữ liệu mà có thể bao gồm các phần tử có kiểu đữ liệu

khác nhau Khi dùng cluster, subVI yêu cầu số đầu nỗi ít hơn Kiểu dữ liệu cluster có thể so sánh như kiểu bản ghi trong Pascal và kiểu cấu trúc trong C Khác với mảng, cluster có kích thước không đôi Cũng giống như mảng, cluster cũng có thể là control hay indicator nhưng cluster không thể chứa cả control và indicator Hai cluster chi có thể nối với nhau khi các phần tử tương ứng có cùng kiểu Hai phần tử tương ứng là hai phần tử có cùng thir ty trong cluster

2 Tao cluster

Dé tao cluster vao Control>>Array & Cluster va dat v6 cluster lén Front

Panel Sau đó đặt các phần tử vào cluster như đối với mảng Thứ tự đặt phần tử

vao cluster sé qui định thứ tự của phần tử trong cluster Nêu muốn thay đổi thứ

tự của cluster, kích chuột phải vào cluster và chọn Cluster Order trong thuc

đơn pop-up của nó

3 Các hàm xử lý đối với Cluster

Dé lắp ráp cluster có 3 hàm là:Bundle vả Bundle By Name để lắp ráp cluster từ những phần tử riêng biệt còn Array To Cluster chuyển mảng thanh cluster Tương ứng với các hàm này là 3 hàm tháo rỡ cluster la: Unbundle va Unbundle By Name để tháo cluster thành các phần tử riêng biệt còn Cluster To Array để chuyển cluster của các phần tử cùng kiểu thành mảng Có thể truy cập vào các hàm nay tir Functions >> Cluster Co thé tham khảo thêm về các hàm cua cluster trong Online Help cua no

VI Graph va Chart

1 Khai niém chung

Graph là một thể hiện hai chiều của một hay nhiều đồ thị Graph nhận dữ

liệu theo khối Chart cũng thể hiện các đồ thị nhưng chart nhận và cập nhật dữ

liệu từ điểm tới điểm hay mảng tới máng, giữ lại một chút các điểm trước trong vùng đệm với mục đích biéu dién Co 3 loại graph va 2 loai chart 6 trong Controls >> Graph 1a: Waveform Graph, XY Graph, Intensity Graph và Waveform Chart, Intensity Chart

2 Waveform Graph va XY Graph

Waveform Graph để biểu diễn các giá trị được lấy mẫu như nhau XY Graph co thé biểu diễn bất kì tập các điểm nào dù nó có được lấy mẫu như nhau không Waveform Graph chỉ vẽ được các hàm đơn trị với các điểm được phân

bố như nhau dọc theo trục x XY Graph có thể vẽ được các hàm đa trị Đề vẽ

được đồ thị thì bạn phải có kiểu dữ liệu riêng cho mỗi đồ thị

a) Vẽ đồ thị đơn

* Các kiéu dit liéu cho Waveform Graph

Trang 22

VNArmy

Có 2 kiểu dữ liệu cho Waveform Graph 1a:

1) Dữ liệu kiểu mảng của các giá trị Graph sẽ đối xử như các điểm và tăng lên 1 bắt đầu từ x=0

2) Dữ liệu là một cluster gồm một giá trị khởi tạo xạ, giá trị Ax và một

mảng đữ liệu y

* Các kiểu dữ liệu cho XY Graph

Cé 2 kiéu dit ligu cho XY Graph 1a:

1) Dữ liệu là một cluster chứa một mảng dữ liệu x và một mảng dữ liệu y 2) Dữ liệu là một mảng các điểm mà mỗi điểm là một cluster của x va y

b) Vẽ nhiều đồ thị

* Các kiểu dữ liệu cho Waveform Graph

Có 5 kiểu đữ liệu cho Waveform Graph là:

1) Kiểu dữ liệu là một mảng hai chiều mà mỗi hàng là một đồ thị như trong trường hợp vẽ đơn đồ thị Để chuyển thành mỗi cột biểu diễn

một đồ thị có thể chọn Transpose Array trong thực đơn pop-up của graph

2) Dữ liệu là một cluster của một giá trị khởi tạo x, một giả trị Ax và một

mảng 2 chiều y

3) Kiểu dữ liệu thứ 3 là một mảng của các cluster Các cluster này chứa một mảng dữ liệu y Mảng bên trong mô tả các điểm trong một đồ thị còn mảng bên ngoài chứa mỗi phân tử ứng với một đồ thị Kiểu đữ liệu này rất hữu dụng khi số lượng các phần tử trong mỗi đồ thị là khác nhau

4) Kiểu dữ liệu thứ 4 là một cluster của một gia tri x, mot gia tri Ax va

một mảng cluster của mảng dữ liệu y

5) Kiểu dữ liệu thứ 5 là một mảng của các cluster Mỗi cluster gồm có một gia tri x, mot giá trị Ax và một mảng dữ liệu y

* Kiéu dit liéu cho XY Graph

Cé 2 kiéu dit ligu cho XY Graph 1a:

1) Mảng các cluster chứa các đồ thị mà mỗi đồ thị là mảng của các điểm Mỗi điểm là 1 cluster chứa một giá trị x và một giá trị y

2) Màng các cluster chứa các đồ thị mà mỗi đồ thị là một cluster của một mảng x và một mảng y

3 Waveform Chart

Chart khác với graph ở chỗ nó giữ lại các giá trị cũ, lên đến một giá trị mà

ta có thể xác định Giá trị mới được gan thêm vào với giá trị cũ để bạn có thể thấy được giá trị mới trong mạch với giá trị trước đó

* Kiêu đữ liệu cua Waveform Chart

Có thể gửi cho chart một giá trị hay nhiều giá trị cùng lúc Chart sẽ quản

lý mỗi giá trị như một phần của dạng sóng cách đều, với mỗi điểm cách điểm trước đó một điểm theo trục x

Có thể gửi một giá trị vô hướng hay một mảng cho đồ thị đơn Chart sẽ

đối xử với chúng như giá trị mới cho đô thị đơn

Trang 23

Có nhiều cách để gửi đữ liệu cho đa đồ thị Có thể gửi qua một hay một

mảng cluster của các số vô hướng mà mỗi số biểu diễn một điểm trên đồ thị Cũng có thể gửi một mảng 2 chiều cho chart trong đó mỗi hàng sẽ cập nhật cho một đồ thị Có thể cho mỗi cột sẽ cập nhật cho một đồ thị bằng cách chọn Transpose Array từ thực đơn pop-up của chart

4 Intensity Chart và Intensity Graph

LabVIEW có hai cách để biểu diễn các mảng dữ liệu 3 chiều: Intensity Graph va Intensity Chart Ca hai đồ thị này cũng chấp nhận mảng 2 chiều của các sô mà môi sô được gan Với một màu

Vỉ dụ về sử dụng graph và char!

lf Temperature Analysis vi * | (ot x!

Fle Edit Operate Project Windows Hep

iB! Temperature Analysis vi Diagram ~ | | OE x!

File Edit Operate Project Windows Help

Trang 24

VNArmy

Chuỗi là một tập các kí tự ASCII Chuỗi có ứng dụng rất rộng rãi Trong điều khiến thiết bị, co thé gửi dữ liệu đi như một chuỗi kí tự và sau đó lại chuyển các chuỗi nhận về thành các số Khi lưu trữ giữ liệu trước tiên phải chuyển đữ liệu thành các chuỗi sau đó lưu vào tệp ASCII

2 Tạo các control và indicator kiểu chuỗi

Có thể tạo các control và indicator kiểu chuỗi từ Control >> String & Table Để nhập hay thay đỗi văn bản bên trong control kiểu chuỗi băng Operating Tool hay Label Tool Để tiết kiệm không gian, ta có thể cho chuỗi hiện thanh scrollbar bằng cách chọn Show >> Serollbar trong thực đơn pop-up của nó Bình thường mục này bị mờ Dé cho nó hiện lên có thể sử dụng Positioning Tool kéo đủ đài control hay indicator ra

b) Ham String Length

input string EJEL-+£ Pemsining string

error in (no error | woe! 4 eee error out

Ngày đăng: 02/12/2017, 20:34

TỪ KHÓA LIÊN QUAN

w