1. Trang chủ
  2. » Công Nghệ Thông Tin

Lập trình LabView cơ bản ppt

125 1,5K 37

Đ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 125
Dung lượng 4,99 MB

Nội dung

GV: Nguyễn Thanh Tần Lập trình LabVIEWTerminals trong Block Diagram Terminal là đối tượng tồn tại trong Block Diagram lẫn Front panel Luôn tồn tại các đường vào ra để truyền thông giữa F

Trang 1

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Học phần

LẬP TRÌNH labVIEW CƠ BẢN

Trang 2

LabVIEW

Trang 3

GV: Nguyễn Thanh Tần Lập trình LabVIEW

labVIEW

Trang 4

Lập trình

B1: Phương pháp phát triển phần mềm

B2: Xây dựng giải thuật

B3: Thiết kế giải thuật

B4: Thực thi

B5: Kiểm tra

B6: Bảo trì – Sữa chữa

Trang 5

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Nội dung

1 Thao tác trên labVIEW

2 Kỹ thuật gỡ rối (Debug) cho VI

3 Lập trình theo Modul

4 Lập trình trong VI

Trang 6

Phần 1

THAO TÁC TRÊN LABVIEW

Trang 7

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Khởi động LabVIEW

Trang 8

Giao diện labVIEW

Tham khảo Thanh menu

Tạo new VI (Blank VI)

Mở file đã lưu

Trang 9

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Tạo một VI mới

Trang 11

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Virtual Instruments (VIs)

Giao diện chính

• Controls = Inputs (Vào)

• Indicators = Outputs (Ra)

Biểu đồ khối

• Các khối chương trình của giao diện chính

• Các thành phần đi dây

Trang 12

Icon/Connector pane

Icon: biểu tượng của một VI hay một subVI

Connector pane: Bản đồ chỉ thị các input và output của một VI

Icon/Connector pane rất cần thiết cho một VI cũng như subVI

Trang 13

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Giao diện lập trình

Trang 14

Giao diện lập trình

Trang 15

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Thanh công cụ

Trang 16

Bảng công cụ

LabVIEW tự động chọn những công cụ cần thiết

Hiển thị trên Front panel và trên biểu đồ thiết lập

hệ thống

Sử dụng các công cụ để tạo và chỉnh sửa giao dịên chính và các đối tượng của biểu đồ khối

Hiển thị bảng công cụ (Tools Palette), chọn

View»Show Tools Palette

Trang 17

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Front panel

Lập trình:

1 Thực hiện tạo lệnh chương trình bằng cách nhấp chuột phải (lấy các control và indicator)

Trang 18

Front panel

Trang 19

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Front panel

-Tạo các lệnh trên FP

-Thay đổi nhãn, chỉnh text và định dạng

-Thay đổi đặc tính đối tượng

Trang 20

Block diagram

Functions (Hàm) nằm trong Block Diagram

Nhằm tạo chương trình hoàn chỉnh

Ví dụ: While loop, For Loop

Webcam

Trang 21

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Block diagram

Trang 22

Block diagram

1 Cực liên kết với FP

2 Đường lệnh: Truyền dữ liệu (Wires)

3 Các giao điểm trên mỗi đối tượng (Nodes)

4 Dạng dữ liệu của đối tượng

1

Trang 23

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Kiểu dữ liệu trên Block Diagram

Trang 24

Block diagram

Chức năng tự sắp xếp

Nhấn tổ hợp Ctrl+B để xóa các đường dây bị đứt

Trang 25

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Terminals trong Block Diagram

Terminal là đối tượng tồn tại trong Block Diagram lẫn Front panel

Luôn tồn tại các đường vào ra để truyền thông giữa Front panel và Block Diagram

Thay đổi kiểu hiển thị của các terminals bằng cách

nhấp phải chuột và chọn View as Icon

Trang 27

GV: Nguyễn Thanh Tần Lập trình LabVIEW

So sánh

Front panel

 Chứa các biểu tượng điều

khiển và hiển thị (giao diện

 Truy cập Function Palette (chuột phải)

 Bao gồm các terminals, VIs, subVIs, functions, constants, Structures, wires,….

Trang 28

Tìm kiếm và Help

Tìm Controls, Functions, Vis sử dụng nút Search

trên Controls và Functions palette

Chọn Help>>Show Context Help (Ctrl+H) hoặc

nhấp vào biểu tượng

Help: Search the labVIEW Help, NI Example Finder, hiển thị các thông tin cơ bản về đối tượng labVIEW

Trang 29

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Phần 2

KỸ THUẬT GỠ RỐI (DEBUG)

Trang 31

GV: Nguyễn Thanh Tần Lập trình LabVIEW

DEBUG

1 Execution Highlighting được sử dụng để xem

các luồng dữ liệu chạy trên Block Diagram

2 Single Stepping

 Single-step: chạy xuyên qua VI để xem kết quả

hoạt động của mỗi VI trên Block Diagram

 Tạm dừng thực thi một subVI để chỉnh sữa giá trị

các Control và Indicator

Trang 32

3 Probes để quan sát các giá trị và dữ liệu tức thì để

kiểm tra lỗi ngõ ra của VI và function

4 Giữ lại giá trị trong các dây để có thể quan sát dữ

liệu trên dây sau khi thực hiện xong

5 Breakpoint: VI sẽ tạm dừng và nút Pause sẽ xuất

hiện màu đỏ tại vị trí Breakpoint

Trang 33

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Phần 3

LẬP TRÌNH THEO MODUL

Trang 34

Một VI trong một VI khác gọi là subVI

Một subVI xem như một chương trình con trong

Trang 35

GV: Nguyễn Thanh Tần Lập trình LabVIEW

subVIs

Trang 36

sub VIs

Trang 37

GV: Nguyễn Thanh Tần Lập trình LabVIEW

subVIs

Trang 38

Icon của subVI

Ta có thể tạo và tùy chỉnh Icon bằng cách nhấp

chuột phải vào biểu tượng ở góc trên bên phải của

front panel hoặc block diagram và chọn Edit icon

Nhấp chuột phải vào biểu tượng ở góc trên bên

phải của front panel và chọn Show connector để

xác định các terminal vào/ra cho subVI

Trang 39

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Để sử dụng một VI giống như một subVI, ta tạo một Icon và Connector pane sau đó thiết kế Front panel

và Blockdiagram

Trang 40

Tạo Icon

Icon: biểu tượng miêu tả gợi nhớ của một VI

Click chuột phải lên Icon pane (Panel hoặc

Diagram) ở góc cửa sổ và chọn Edit icon

Trang 41

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Tạo Connector Pane

Connector pane : bản đồ chỉ thị các input và output của một VI

Nhấp chuột phải vào biểu tượng ở góc trên bên

phải của front panel và chọn Show connector để

xác định các terminal vào ra

Chọn điểm

Trang 42

Trợ giúp và phân loại đầu cuối

Phân loại đầu vào/ra:

Required — Lỗi nếu không kết nối

Recommended — Cảnh báo nếu không kết nối

Optional — Không có tác dụng nếu không kết nối

Trang 43

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Trợ giúp và phân loại đầu cuối

Trang 44

Sử dụng subVIs

Để đặt subVI trên block diagram:

Click chọn một VI trên Function palette

Di chuyển đến VI bạn muốn sử dụng như một subVI

Double click lên nó để đặt trong Block diagram

Để đặt một VI đang mở trên Block diagram của VI đang mở khác

Click vào biểu tượng của VI bạn muốn sử dụng như một subVI

Kéo biểu tượng (Icon) cho vào Block diagram của VI khác

Trang 45

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Tạo một subVIChọn phần nào muốn đưa vào subVI

Chọn Edit>> Create SubVI

Trang 46

Phần 4

LẬP TRÌNH TRONG VI

Trang 47

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Trang 49

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Các kiểu dữ liệu trong labVIEW

Terminals: thiết bị đầu cuối trực quan hiển thị các kiểu dữ liệu

Numeries: kiểu dữ liệu số học hiển thị các con số

hoặc biến số (chọn Representation thay đổi kiểu

dữ liệu numeric)

Trang 50

Các kiểu dữ liệu trong labVIEW

Boolean: kiểu True/False, 1/0, đúng/sai

Boolean: có thể là control (Knob, công tắc, ) hay hiển thị (led,…)

Trang 51

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Các kiểu dữ liệu trong labVIEW

String: một chuỗi các hiển thị hoặc không hiển thị các ký tự ASCII

Trang 52

Các kiểu dữ liệu trong labVIEW

Enum bao gồm một cặp giá trị, một chuỗi và một số, các Enum có thể là một danh sách được xác định bằng các giá trị

Enum liệt kê các control, constant hoặc indicator

Trang 53

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Các kiểu dữ liệu trong labVIEW

Dynamic: kiểu dữ liệu động để lưu trữ các thông tin được tạo ra hoặc thu thập bởi VI Express

Nếu sử dụng VI thích hợp thì labVIEW sẽ tự động chuyển đổi thành kiểu dữ liệu động

Trang 54

KỸ THUẬT LẬP TRÌNH

Trang 55

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Thư viện trong Block Diagram

Functions\Programming:

Structures: các cấu trúc vòng lặp (while, for, case,

sequence, formula, feedback,….)

Array: các kiểu trích lọc, biến đổi, tạo mảng,…

Cluster: cấu trúc gom nhóm (bundle, unbundle,…)

Numeric: số học (toán học, random numer, hằng số…) Boolean: dạng logic (cổng, biến đổi số boolean, ….)

String: text (string constant, biến đổi chuỗi,…)

Comparision: các hàm so sánh

Timing: hàm trễ thời gian

Dialog & user : button, thông báo, giao diện,….

File I/O: đọc, ghi file trong labVIEW.

Trang 56

Thư viện trong Block Diagram

Measurement I/O: DAQmx – Data Acquisiton (thu thập dữ liệu): DAQ Assistant

Instrument I/O: thu thập dữ liệu qua các giao tiếp nối tiếp,…

Mathematics: các hàm toán học, tín hiệu (sin,cos )Signal Processing: tín hiệu mô phỏng, dạng sóng, đồ thị, lọc, phổ,…

Express: Input (DAQ, scope, simulate sig), signal analysis, output, Merge signals, Arithmatic &

Trang 57

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Thư viện trong Front Panel

Modern:

Numeric: số control, indicator,

Boolean: logic (SW, button, led,…)

String & path: text control, text indicator, file path,

Array, matrix & cluster: mảng control, indicator, gom

nhóm,…

Graph: đồ thị (waveform chart, waveform graph, )

System / Classic: các dạng control, indicator khác: số học, boolean, text, button, SW,…

Express: numeric control, numeric indicator, tex

control, text indicator, button& Swithes, led, Graph,

Trang 58

While Loop

Trang 59

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Trang 61

GV: Nguyễn Thanh Tần Lập trình LabVIEW

While Loop - Tunnels

Tunnel – truyền dữ liệu vào ra cho vòng lặp

Dữ liệu vượt ra khỏi vòng lặp sau khi nó chấm dứtKhi một đường dữ liệu nối vào Tunnel của một vòng lặp, vòng lặp chỉ thực thi sau khi dữ liệu đến Tunnel hoặc dữ liệu xuất ra Tunnel sau khi kết thúc vòng

lặp

Trang 62

While Loop – Error Checking và Error

Handling

Dùng một error cluster trong while loop để dừng

vòng lặp while loop nếu xảy ra lỗi

Trang 63

GV: Nguyễn Thanh Tần Lập trình LabVIEW

For Loop

Trang 65

GV: Nguyễn Thanh Tần Lập trình LabVIEW

For Loops – Conditional Terminal

Conditional Terminal: điều kiện dừng, vòng lặp For Loop sẽ dừng lại khi nhận một Boolean Conditional hoặc một lỗi xảy ra

Trang 66

For Loops – Conditional Terminal

Một khối vuông màu đỏ được gắn vào giống như while loop

Điều kiện dừng nằm ở góc phải của vòng lặp

Trang 67

GV: Nguyễn Thanh Tần Lập trình LabVIEW

For Loops – Numeric Conversion

8 bytes 4 bytes

Trang 68

Ví dụ

Trang 69

GV: Nguyễn Thanh Tần Lập trình LabVIEW

So sánh For Loop/ While Loop

Trang 70

Định thời cho một VI (Timing)

Tại sao phải định thời?

Kiểm soát tần số mà tại đó vòng lặp thực hiện

Cung cấp tài nguyên cho bộ vi xử lý và thời gian để hoàn thành các nhiệm vụ khác, chẳng hạn như tác vụ xử lí

giao diện người dùng

Trang 71

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Timing – Wait Functions

Một Wait Function trong vòng lặp cho phép VI ở

trạng thái Sleep với thời gian được định trước

Cho phép bộ xử lý thực hiện các tác vụ khác trong quá trình chờ đợi

Sử dụng xung đồng hồ của hệ điều hành tính bằng

ms

Trang 72

Thanh ghi (Shift Registers)

Thực hiện việc truyền kết quả vào/ra vòng lặp hoặc

từ vòng lặp trước sang vòng lặp sau

Trang 73

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Trang 74

Shift Registers

Output=2 Output=4 Output=3 Output=5

Trang 75

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Stacked Shift Registers

Ngăn xếp thanh ghi lưu trữ nhiều giá trị từ các lần lặp trước và truyền giá trị này đến lần lặp kế tiếp

Click chuột phải vào thanh ghi dịch (Shift register)

bên trái và chọn Add Element

Trang 77

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Nút phản hồi

Đi dây từ đầu ra tới đầu

vào được tự động tạo ra

Trang 78

Cấu trúc Case

Thực hiện và hiển thị chỉ có một trường hợp hoặc một sơ đồ con trong một thời điểm

Ngõ vào sẽ xác định cho phép trường hợp nào hay

sơ đồ nào được thực thi

Cấu trúc Case cũng tương tự như cấu trúc

If then else trong các ngôn ngữ lập trình dạng text

Trang 79

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Cấu trúc Case

Case Selector Label: chứa tên của trường hiện tại

Trang 80

Cấu trúc Case

Đầu vào luôn có sẵn cho tất cả các trường hợp

Phải xác định mỗi đầu ra tunnel cho mỗi trường hợp

Trang 81

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Cấu trúc Case - Default

Nếu ngõ vào không rơi vào bất kì trường hợp nào thì cấu trúc Case sẽ thực hiện chương trình mặc định (default)

Nếu không có dây nào đưa vào thì các kiểu dữ liệu

sẽ được default theo bảng sau:

Trang 82

Cấu trúc Case - Boolean

Ngõ vào là Boolean chỉ tạo ra hai trường hợp: True hoặc False

Trang 83

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Cấu trúc Case - Integer

Ta có mỗi trường hợp (case) cho mỗi số nguyên

Nếu số nguyên mà không có một trường hợp được xác định thì tự động chọn trường hợp mặc định

Trang 84

Cấu trúc Case - String

Mỗi trường hợp tương ứng với một chuỗi nhất địnhChuỗi không xác định thì nó sẽ chọn trường hợp mặc định

Trang 85

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Cấu trúc Case - Enum

Cung cấp cho người dùng một danh sách các bảng ghi để chọn

Trang 86

Cấu trúc Case – Error Checking và

Error Handling

Sử dụng cấu trúc Case trong VI để thực thi chương trình khi không có lỗi, và bỏ qua chương trình khi có lỗi phát sinh

Trang 87

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Mảng (Arrays)

Một mảng (Array) đặc trưng bởi kích thước và phần

tử trong nó

Phần tử (Element): dữ liệu nằm trong mảng

Kích thước: chiều dài và chiều rộng, cột x hàng y

Mảng có thể có một hoặc nhiều chiều và có (2^31-1)

phần tử trên mỗi chiều

Mảng sử dụng một tập hợp cùng kiểu dữ liệu và các phép toán mang tính lặp lại nhiều lần

Trang 88

Tạo mảng

1 Đặt một mảng trắng (array shell) lên front panel

2 Kéo hoặc thả đối tượng hoặc phần tử vào array

shell

3 Ví dụ: mảng hằng

Trang 89

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Array – Auto Idexing

Khi chế độ Auto index được mở ở ngõ ra tunnel,

mảng ở ngõ ra nhận từng phần tử mới ở mỗi vòngMảng tạo ra luôn có kích thước (số phần tử) bằng với số lần thực thi của vòng lặp

Click chuột phải lên tunnel và chọn enable/disable

auto- indexing

Trang 91

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Tạo mảng 2D

Có thể tạo 2 vòng lặp For loop lồng vào nhau để tạo mảng 2D

Trang 92

Array

Trang 93

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Clusters – Kiểu gom nhóm

Clusters là tập hợp nhiều kiểu dữ liệu khác nhau

Dùng hàm Bundle hoặc Unbundle để tổ hợp hoặc phân giải một Cluster

Trang 94

Tạo một Cluster

Để tạo một Cluster control hoặc indicator trên front panel:

Đặt một cluster shell trên front panel

Kéo thả các đối tượng hoặc phần tử vào cluster shell

như: numeric, boolean, string, path, refnum, array,…

Trang 95

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Code: kiểu 32 bits Signed integer xác định mã lỗi

Source: kiểu string xác định nơi bị lỗi

Trang 96

Cluster chứa nhiều kiểu dữ liệu khác nhau; còn

array chỉ chứa một kiểu dữ liệu duy nhất

Trang 97

GV: Nguyễn Thanh Tần Lập trình LabVIEW

MỘT SỐ KỸ THUẬT

THÔNG DỤNG

Trang 98

Lập trình phân đoạn (Sequential

Trang 99

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Lập trình phân đoạn (Sequential

Programming)

Sử dụng error clusters để ưu tiên quá trình thực thi

Trang 100

Lập trình phân đoạn (Sequential

Trang 101

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Lập trình phân đoạn (Sequential

Programming)

Tránh sử dụng quá nhiều cấu trúc phân đoạn

Bạn không thể dừng thực thi một thành phần trong một đoạn

Trang 102

Lập trình phân đoạn (Sequential

Programming)

Cách tốt nhất để viết VI này là đính kèm các hộp

thoại trong cấu trúc Case, dây error cluster sẽ

được nối tới bộ chọn của cấu trúc case(case

selectors)

Trang 103

GV: Nguyễn Thanh Tần Lập trình LabVIEW

Trạng thái máy (State Machines)

Lập trình trạng thái(State Programming) là mẫu thiết

kế nhằm thực hiện một sơ đồ trạng thái hoặc một

lưu đồ

Khi nào sử dụng state machines?

− Thường được sử dụng để tạo các giao diện, đối với mỗi người dùng khác nhau thì sẽ có giao diện khác nhau

− Thường được sử dụng để thử nghiệm quá trình,

trong đó mỗi trạng thái đại diện mỗi phân đoạn của quá trình

Trang 104

Trạng thái máy (State Machines)

•Một state machine bao gồm nhiều trạng thái và một chức năng chuyển tiếp đến các trạng thái kế tiếp

Mỗi trạng thái có thể dẫn tới một hoặc trạng thái

hoặc kết thúc quá trình thực thi

Trang 105

GV: Nguyễn Thanh Tần Lập trình LabVIEW

File I/O

File I/O đọc và ghi vào một file

Một phương pháp điển hình để truy xuất file:

Trang 106

 LVM— LabVIEW measurement data file (.lvm) định

dạng của LabVIEW, chứa bản tính và văn bản

 TDMS—Một kiểu file Binary ñược tạo bởi các sản

Trang 107

GV: Nguyễn Thanh Tần Lập trình LabVIEW

− Truy xuất các tập tin từ các ứng dụng khác

− Không quan tâm đến bộ nhớ trống, và tốc độ I/O của file

− Không nên truy xuất dạng random read hoặc

write

Trang 108

High-level File I/O

High-level VIs

 Để truy xuất I/O file phải qua 3 bước chung

 Không hiệu quả cho việc cấu hình hoặc thiết kế cho các tính năng riêng của file

Low-level VIs

 VI riêng biệt cho mỗi bước

 Nếu ghi file trong một vòng lặp, sử dụng hàm low-level

Ngày đăng: 28/06/2014, 09:20

HÌNH ẢNH LIÊN QUAN

Bảng công cụ - Lập trình LabView cơ bản ppt
Bảng c ông cụ (Trang 16)
Sơ đồ nào được thực thi - Lập trình LabView cơ bản ppt
Sơ đồ n ào được thực thi (Trang 78)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w